3.3 Move_group节点设计
上一节中完成了机器人URDF文件的编译,但是仍然无法控制码垛机器人仿真平台进行期望的轨迹运动。当我们使用自己的双臂与双手时,很容易就能够到达接触到的物体,即使附近存在障碍物的限制。但是,去编程控制机器人执行类似的动作,是一个比较复杂的数学问题。ROS为了便于开发者的使用,提供了MoveIt!工具,以便于实现多关节的机械臂或者机器人完成复杂的接触及夹持物品的运动。连接到机器人的端部的夹持器或者机械手一般称为末端执行器,实现它在笛卡尔空间或者关节空间的运动轨迹,甚至避开障碍物运动轨迹,这类问题称之为机器人的轨迹规划。
在ROS中,MoveIt!是机器人轨迹规划的功能强大的工具,它几乎可以完成所有方面的移动操作,包括运动规划、轨迹规划、运动学算法、干涉碰撞检查、物品的抓取与放置等oMoveIt!是由Willow Garage开发,目前由SRI International进行相关功能维护,它目前仍在积极的开发当中,而且一些功能还没有完全支持。它为工业,商业,研发等领域在开发先进的机器人应用,评估新型机器人设计与开发提供了一个易于使用的平台。目前,MoveIt!是ROS中广泛使用的开源软件,并己超过65机器人上使用。
本文借助于MoveIt!功能包完成码垛机器人的正运动学、逆运动学运动规划、障碍运动规划等内容。
MoveIt!提供了用于运动控制方面Python和C++的API,本文中的API是基于Python语言的移动组接口。移动组是对机器人的某一运动部分的描述,代表了一个运动链,既由关节连接的一系列杆件,例如末端操作手部分。