论文部分内容阅读
机器人技术近年来得到了广泛的关注和迅速的发展,被应用于工业制造、医疗服务、国防军事等各个方面。随着应用领域的不断拓展,单体机器人在一些场景中无法很好地满足用户的需求。群体机器人系统与单机器人相比,具有更好的鲁棒性、适应性和可扩展性,因此受到了越来越多的关注和研究。但是,目前针对群体机器人系统的编程开发比较困难,主要有两点原因:缺乏专用的软件开发工具;没有好的软件生态。开源机器人操作系统ROS是目前单机器人和多机器人系统软件开发的事实标准,拥有良好的软件生态。因此,研究群体一致的数据共享、群体编程模型、群体智能算法等关键问题,并在此基础上实现一个面向群体机器人系统的、能够兼容ROS生态的软件开发框架,具有重要的理论和实践意义。首先,本文根据群体机器人系统通信的特点,结合对ROS通信架构的研究分析,设计提出了基于两层计算图的群体机器人系统分布式软件架构。具体的,在每个机器人个体上,是一个完整的、独立的ROS计算图;机器人个体之间通过邻域通信连接成一个更大规模的、拓扑结构动态变化的群体计算图。两层计算图架构不仅能够兼容ROS,而且是一种去中心化的结构,具有更好的鲁棒性和可扩展性。本文对群体机器人系统共识机制展开研究,设计提出了一种高效的群体共识机制SCDS(Swarm Consistent Data Sharing)。具体的,通过对虚拟信息素读写操作的分析,分别提出了重复写判别算法和冷热数据区分算法;针对周期性写,则结合gossip协议提出了降冗余方法。最终设计实现了一种高效的、具有一致性保证的分布式元组空间。本文提出了一种适用于群体机器人系统的分布式粒子群算法SCDS-based PSO,并且提出了自顶向下的群体智能优化原语。具体的,将SCDS共识机制和经典的PSO算法结合起来,并提出“值优先”更新策略,解决全局最优值的更新问题。然后基于该算法实现了群体智能优化编程原语,给开发者提供自顶向下的编程接口。本文基于上述分布式架构、群体共识机制、群体编程模型等研究内容,设计实现了开源的群体机器人系统软件开发框架GSDF(Generic Software Development Framework)。并且基于GSDF框架进行了实验测试与性能对比分析:在Stage和Gazebo模拟器中设计实现了队形形成、队形分割、自组织群集三种经典的群体行为;基于Beebot群体无人机实验系统设计实现了微型四旋翼无人机的自组织群集行为。实验与分析表明,GSDF是一种兼容ROS生态的、高效可扩展的、可用于实际系统的群体机器人软件开发框架。