论文部分内容阅读
地面自主机器人是以环境感知、模式识别、智能决策和规划技术为核心的地面自主系统。计算支撑系统则是支持地面自主机器人进行分布式计算的软件框架。计算支撑系统的设计影响着整个地面自主机器人的实时处理能力和分布式计算水平,从而影响着地面自主机器人的智能水平。所以地面自主机器人计算支撑系统的设计与实现具有重要意义。 计算支撑系统最重要的作用在于实现多计算节点之间的分布式计算。计算支撑系统由控制器端软件和客户端软件组成。控制器端软件在Linux内核环境下实现,由协议设计模块、缓冲管理模块和消息处理模块组成。协议设计模块实现应用于计算支撑系统的消息传输、解析协议;缓冲管理模块实现对数据缓冲区的互斥管理;消息处理模块实现消息的处理和订阅发布机制。控制器端通过订阅发布机制实现客户端之间的数据传递。首先,控制器端通过订阅发布表管理所有客户端的订阅请求。其次,控制器端从客户端接收数据并写入缓冲区中。最后,当订阅请求到期时控制器端从缓冲区中读取数据并发布给订阅数据的客户端。 客户端软件在用户环境下实现,也是由协议设计模块、缓冲管理模块和消息处理模块组成。这三个模块的实现逻辑与控制器端的相同。客户端包含接收代理和传感器代理,传感器代理一方面向控制器端订阅其它传感器代理产生的数据,另一方面将自身产生的数据发送给控制器端;而接收代理从控制器端接收数据。 本文设计一个综合实验对计算支撑系统的性能进行检测。通过实验,我们得出计算支撑系统具有处理高效、CPU使用率低和内存占用少等优点,从而进一步论证计算支撑系统设计的合理性。 通过对地面自主机器人计算支撑系统的研究可知,在成熟的Linux内核之上设计软件栈实现分布式的计算支撑系统是可行的。