首页 理论教育 总体架构与模块化编程概述

总体架构与模块化编程概述

时间:2023-06-24 理论教育 版权反馈
【摘要】:根据软件平台的总体需求分析和模块划分,情感机器人的各部件运行关联由信息来建立,而不是通过功能来建立,因此应用软件总线技术进行具体的编程,系统功能可以保持彼此相对的独立性。情感机器人交互软件平台总线式编程结构如图7-22所示。情感机器人交互平台集成了多种功能,并且随着传感器、网络技术的发展以及人们对于智能机器人要求的提高,情感机器人平台会集成越来越多的功能。

总体架构与模块化编程概述

1.软件平台总线式架构

软件总线技术是一种新的信息集成化技术。软件总线起到类似于计算机系统硬件总线的作用,只要将应用模块按总线规范做成软插件,通过规范的接口函数插入总线即可实现集成运行。

根据软件平台的总体需求分析和模块划分,情感机器人的各部件运行关联由信息来建立,而不是通过功能来建立,因此应用软件总线技术进行具体的编程,系统功能可以保持彼此相对的独立性。情感机器人交互软件平台总线式编程结构如图7-22所示。

978-7-111-39577-5-Chapter07-27.jpg

图7-22 情感机器人交互软件平台总线式编程结构

软件平台监控总线程是整个系统的核心,它就像一部自动程控交换机,系统的各个功能就像一部部程控电话机,而集成于平台的各具体功能模块则用来建立各功能与系统、功能与功能之间的信息关联。

使用这种技术编程的优势在于系统的存在不依赖于任何功能组件,所有功能组件也不依赖于其他功能的存在,只是通过通用接口与总线程形成关联,最大程度上实现了各功能模块之间的独立。软件平台提供这样的通用接口,它集成了与各个主流数据库的接口,以及各功能模块,回调函数,网络服务的接口。不同的组件实现不同的功能,其功能实现只依赖于数据,而不依赖于其他功能,组件可以单独开发然后嵌入软件集成平台。

2.软件平台模块化编程实现

伴随计算机技术和机器人技术的飞速发展,越来越多的软件技术和硬件交互设备应用于机器人交互平台中,交互效果更好的模块替代老的功能模块的现象也层出不穷,这就要求软件交互平台有方便的可扩展性和可替换性。因此软件平台模块化编程的重要性也与日俱增。情感机器人交互平台集成了多种功能,并且随着传感器、网络技术的发展以及人们对于智能机器人要求的提高,情感机器人平台会集成越来越多的功能。为了便于在平台中集成新的功能并替换旧的功能,我们在设计软件平台的时候,按照功能把平台进行模块化划分,各个功能模块分别设计出与平台间的消息交互接口,主控制平台负责监视各个模块的消息交互接口是否有交互信息提交。如图7-23所示。

当软件平台需要加入新功能时,我们只需把新的功能处理程序做成动态链接库,按照规定留出该动态库与主控制平台的消息交互接口,平台只需在处理规则库中加入对该功能模块交互消息的处理规则,替换老的模块时操作与此相似。因此只需修改少量的平台代码,即可在平台中加入新的功能。大大提高了程序的扩展性和替换性。(www.xing528.com)

平台集成的各个功能模块(Module Name)与平台主线程进行交互的接口采用规范化的设计,不同的模块具体的接口会有所不同,但主要的交互功能都可以用下面这四个接口来完成:

初始化该模块,包括申请内存,调用系统资源,初始化设备等。

对该模块进行逆初始化操作,包括释放内存,释放系统资源,关闭设备等操作。

功能模块通过接口从平台中获得所要的数据信息,不同的模块所获得的信息会有所不同。

接口为模块向平台传送数据,一般为交互信息数据。

3.人机交互界面的实现

图7-24所示为北京科技大学设计的软件集成平台界面,主要包括登录选项,串口设置,语音设置,图像设置,动作表演,注册人脸,退出等菜单。其中登录选项主要是确定用户是否为管理员身份;串口设置主要是用来设置串口的ID号,波特率,停止位以及奇偶校验位;语音设置主要是用来设置语音声音信息的大小;动作表演主要用于情感机器人动作表演的调试使用;注册人脸主要实现将用户的人脸信息写入数据库,以保证能够识别用户;退出主要是用于用户退出系统,以上是对交互界面主要功能的介绍。

978-7-111-39577-5-Chapter07-28.jpg

图7-23 软件交互平台模块化结构

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈