ROS学习(四)MoveIt!
为了实现机械臂的运动学求解,需要使用MoveIt!配置功能包。其配置过程如下流程图所示。
MoveIt!配置流程图
如上图所示,配置流程主要有:
1. 加载URDF文件,打开MoveIt! Setup Assistant后。点击Create New MoveIt Configuration Package来创建新的配置包,选择生成的urdf,然后点击Load Files 载入机器人描述文件。
2. 创建碰撞免检矩阵(ACM),生成的 ACM可以使得机械臂进行轨迹规划时,略过不会发生碰撞的肢体的检测,以提高检测效率。
3. 创建虚拟关节 (Virtual Joints),即创建一个连接机器人和世界的关节,关节类型有Fixed,Planar,Floating三种。Fixed表示与外界连接是固定的。Planar指的是平面移动底座,用于移动机器人。Floating, 指的是浮动基座。本次设计机械臂固定于小车上,故虚拟关节类型为Fixed。
4. 创建规划群 (Planning Groups),创建了两个规划群组,arm群组和hand群组。Arm群组由除末端执行器之外其他各个手臂结构组成,采用KDL(The Kinematics and Dynamics Library)运动学求解工具。Hand群组则由末端执行器组成,此处创建该群组专门用于规划机械爪动作。
5. 创建机器人预设位姿态(Robot Poses),此处创建机器人上电后初始位姿,各个关节处于中间位置。
6. 配置终端控制器(End Effectors),选取机械爪作为终端控制器,方便后面直接对其进行操作。
7. 生成配置文件(Configuration Files),配置好机械臂后,点击相应选项生成机械臂的配置文件。
生成的配置文件主要由config和launch两个文件夹组成,config文件夹中有虚拟控制器配置文件fake_controllers.yaml[12],以及用于配置OMPL各种算法的各种参数的ompl_planning.yaml文件等文件。本课题需要驱动实体机械臂,故需单独建立控制器配置文件。launch文件夹中包含有demo.launch文件,move_group.launch文件,其中demo.launch用于启动机器人相关节点,运行仿真,move_group.launch包含运动规划的相关参数,包括规划组,以及运动规划库的使用。
通过roslaunch指令加载demo.launch文件,启动RViz,在RViz界面点击进入Planning选项,然后选择规划目标为随机点后,点击Update更新规划目标状态,然后点击Plan按钮。运行结果如下图所示。
Rviz运动规划测试仿真
暂时如此,下次更新如何通过程序控制实现正逆运动学求解。