论文部分内容阅读
可重构模块化机器人可以灵活构建机器人的运动学构型,以更好地完成现场任务。模块化机器人机电系统开发逐步完善,而对应的软件开发则仍然面临着不少挑战,这些挑战有:1)灵活性:对应于机器人本体运动学构型的多变性,系统软件应当具备灵活应对多种构型的能力,而非只是针对少数可能的情况,这需要自动建模技术实现;2)易用性:可重构模块化机器人广泛应用现场作业的前提;3)开放性:易于传感集成,二次开发;4)标准化:降低开发周期,提高系统可维护性。面对上述挑战,本文在可重构模块化机器人平台上,开发基于ROS(Robot Operating System)的软件框架,并试图回答这样一个问题:如何利用ROS的开放框架实现针对模块化机器人的控制,同时系统不特定针对某一个或某一些模块化机器人运动学构型,而是对于所有可能的情况都同样适用。具体而言,本文主要研究了以下三方面内容:1.利用ROS中描述机器人的方法URDF/Xacro建立各模块类型的模型描述,可重构模块化机器人将可以用其组成模块以及模块间的连接关系来表达,通过指定模块化机器人的运动学结构,则可以自动生成对应机器人的文件系统;2.利用外部相机识别每个模块上的标志,然后根据模块连接的几何约束判断模块间的连接关系,从而识别整个机器人的运动学结构,最后利用模块的描述文件自动生成机器人模型并通过RViz显示;3.利用ros_canopen程序包实现ROS与机器人的CANopen协议通信,在此基础上以模块化操作臂为例测试了机器人的关节空间控制、末端笛卡尔空间控制、离线数据复现。采用了基于数值方法的通用运动学求解器TRACK-IK求解机器人运动学,使得程序适用于其它构型的模块化机器人。本文利用ROS的机制实现一种运动学构型无关的控制框架,而构型相关的信息则通过模板自动生成,从而把模块化机器人丰富的构型变化封装起来,降低模块化机器人应用的难度,促使模块化机器人最终走向广泛应用。