友情提示:380元/半年,儿童学编程,就上码丁实验室。
ROS机器人Diego制作17-配置moveit,生成配置包
说明:
- 介绍如何生成moveit配置包
安装moveit
apt-get install ros-kinetic-moveit
配置moveit
- 打开moveit设置助手
roslaunch moveit_setup_assistant setup_assistant.launch
-
图示:
-
创建新的moveit配置包,点击create new moveit configuration package按钮
-
载入urdf文件,点击browse按钮选择urdf文件,这里我们就选择上篇博文中创建的diego.urdf
-
点击load files载入urdf文件
-
载入后,就可以在右侧看到我们创建的机器人模型,而且在右侧显示栏中可以用鼠标进行拖动操作,放大缩小,旋转,和Rviz中的操作方式是一样的
-
创建碰撞检测, 点击self-collisions按钮
-
可以调整sampling density,数值越高计算的时间越长,调整完后点击Regenerate Default Collision Matrix按钮即开始计算
-
计算完成后的界面
-
创建虚拟关节, 点击左侧的Virtual Joints
-
点击右下角的 Add Virtual Joint按钮
-
参数配置如下:
- Virtual Joint Name: world_joint
- Child Link: base_link
- Parent Frame Name: world_frame机器人与世界坐标系相连接
- Joint Type: Planar是移动式的机器人人,所以这里选Planar
-
配置完后点击save按钮即可
-
创建planning Groups, 点击左侧的Planning Groups
-
点击add Group创建,这里我们分别为左臂,和右臂创建两个planning Groups
-
增加左臂
-
-
点击Add Kin Chain添加关节
-
base_link选择 left_shoulder_stevo
-
Tip_link选择left_hand_run_stevo,指规划组的最后一个关节
-
增加右臂
-
点击Add Kin Chain添加关节
-
点击save保存
-
配置机器臂的预设姿势,点击左侧Robot Poses
-
点击Add Pose,我们为左臂和右臂添加default pose,在打开的界面中可以通过滑动条来调整关节的位置,每个关节对应urdf中revolute类型的joint,如:
<joint name="right_shoulder_stevo_lift_to_axis" type="continuous">
<axis xyz="0 0 1"/>
<parent link="right_shoulder_stevo_lift"/>
<child link="right_shoulder_stevo_lift_axis"/>
<origin rpy="1.57075 -0.7 0" xyz="0.0135 0.0 0.0"/>
<limit effort="100" velocity="100"/>
<joint_properties damping="0.0" friction="0.0"/>
</joint>
-
左臂默认位姿
-
右臂默认位姿
-
点击Save保存预设姿势
-
配置终端控制器,手部关节, 点击end effectors
-
点击Add end Effector,添加左右手的终端控制器
-
左手终端控制器
-
右手终端控制器
-
这里需要注意的是选择parent link一般选择arm的最后一个关节,点击save保存
-
添加作者信息,这里是必须填写的,不填写后面生成会报错
-
生成moveit配置包
-
点击Generate Package即可生成配置包,这是打开输出路径就可以看到相应的配置文件