[机器人软件架构]使用分层的方法设计机器人软件 目录 1
用户接口层 机器人软件架构是典型的控制回路的层次集, 包含了高端计算平台上的高级任务规划、运动控制回路以及最终的现场可编程门阵列(FPGA)
在这中间,还有循环控制路径规划、机器人轨迹、障碍避让和许多其他任务
这些控制回路可在不同的计算节点(包括台式机、实时操作系统以及没有操作系统的自定制处理器)上以不同的速率运行
在某些时候,系统中的各个部分必须一同运行
通常情况下,这需要在软件和平台间预定义一个非常简单的界面—就如控制和监测方向与速度般简单
共享软件栈的不同层次的传感器数据是一个不错的想法,但会给集成带来相当大的麻烦
每个参与机器人设计的工程师或科学家的理念都有所不同,举例来说,同一个架构对于计算机科学家来说运作良好,而在机械工程师那里可能就无法正常工作
如图1 所示,拟议的移动机器人软件架构由下列图形所表示的三至四层系统构成
软件中的每一层只取决于特定的系统、硬件平台或机器人的终极目标,与其上下层的内容完全不相关
典型的机器人软件包括驱动程序、平台和算法层组件,而具备用户交互形式的应用包含了用户界面层(该层可能不需要完全自主实现)
机器人参考架构 该范例中的架构为带有机械手臂的自主移动机器人,它能够执行路径规划、障碍避让和地图绘制等任务
这类机器人的应用范围在真实世界十分广泛,包括农业、物流或搜索和救援
板载传感器包括编码器、惯性测量单元(IMU)、摄像头和多个声纳及红外(IR)传感器
传感器聚变可以用来整合针对本地化的编码 器和 IMU 数据 ,并定义机器人环境地图
摄像头则用于识别载板机械手臂握住的物体,而机械手臂的位置由平台层上执行的运动学算法所控制,声纳和红外传感器可以避开障碍物
最后,转向算法被用来控制机器人的移动,