文章目录
- 1. SW2URDF
- 2.Moveit下载及初始化
- 3.自碰撞矩阵 Self-Collisions
- 4.虚拟关节 Virtual Joints(不配置)
- 5.规划组 Planning Groups
- 添加机械臂规划组
- 添加夹爪规划组
- 6.机器人姿态 Robot Pose
- 7.末端执行器 End Effectors
- 8.作者信息 Author Information
- 9.配置文件Configuration Files
- 10.运行
MoveIt! 一个机器人(mobile manipulation)相关的工具集软件,集成了各种 SOTA 库,包括:
- 运动规划(Motion Planning)
- 操作(Manipulation)
- 3D 感知(Perception)
- 运动学(Kinematics)
- 碰撞检测(Collision Checking)
- 控制(Control)
- 导航(Navigation)
下面介绍下Moveit的使用步骤
1. SW2URDF
使用Solidworks建立一个机械臂模型,然后划分各个部分的Link/Joint,建立参考轴和参考坐标系,具体可根据机器人运动学分为标准DH建系(SDH)和改进DH 建系(MDH)。
- SDH: 杆i坐标系建立在关节i+1上,即连杆i的坐标系固定在连杆的远端
- MDH: 杆i坐标系建立在关节i上,即连杆i的坐标系固定在连杆的近端
见习步骤主要如下:
- 先确定Z轴,为关节轴线的方向
- 再确定X轴,为前一个关节的Z轴与本关节的Z轴的公垂线,即Xi = Zi-1 X Zi, 方向指向下一个关节处,如果两轴线相交则X轴垂直Z轴相交平面
- 再确定原点,为Z轴与X轴相交处,或两Z轴相交处
- 最后确定Y轴,根据右手笛卡尔坐标系确定
具体可参考这篇文章 浅谈标准DH(SDH)和改进DH(MDH)
最后使用SW2URDF插件,将SW模型转化为URDF文件,具体可参考我前面的文章Solidworks小车模型转urdf文件
然后将此生成的功能包文件,复制到自己的工作空间src目录下,然后catkin_make
编译
可以运行:
source ./devel/setup.bash
roslaunch ros_robot_arm display.launch
旁边的GUI界面可以拖动控制关节运动。
2.Moveit下载及初始化
下载:
sudo apt-get install ros-noetic-moveit #noetic 是所安装的ros对应版本名称
source /opt/ros/noetic/setup.bash
然后,在你所导入的模型URDF功能包所在的功能空间下,运行下面命令
source ./devel/setup.bash
roslaunch moveit_setup_assistant setup_assistant.launch
创建新的Moveit配置功能包,导入刚才的urdf文件,Load Files
3.自碰撞矩阵 Self-Collisions
选择适合冲突检查数量,单击Generate Collision Matrix
生成碰撞矩阵
4.虚拟关节 Virtual Joints(不配置)
5.规划组 Planning Groups
单击Add Group
添加机械臂规划组
- Group Name: arm_group
- Kinematic Solver(运动学求解器):kdl_kinematics_plugin/KDLKinematicsPlugin
- OMPL Planning(OMPL规划器):RRT
- 其他默认
然后单击Add Joints
添加关节
选择除base_link和夹爪部分的机械臂Link,然后Save
添加夹爪规划组
只更改Group name
为hand_group
,其他为默认,然后添加Joints,单击Save
6.机器人姿态 Robot Pose
定义Pose Name,选择相应的规划组,然后移动关节确定姿态,然后单击Save
Pose可以根据自己需要自定义
7.末端执行器 End Effectors
单击Add End Effector
- End Effector Name: hand_ee
- End Effector Group: hand_group
- Parent Link: Link6(与夹爪连接的arm link部分)
- Parent Group:None或arm_group
最后单击Save
保存
8.作者信息 Author Information
Passive Joints / Controllers / Simulation / 3D Perception此部分内容可以不用配置,有需要的读者可搜索资料研究下
名字和邮箱名称可自取
9.配置文件Configuration Files
在自己功能包/src目录下新建文件夹moveit_ros_robot_arm
然后生成功能包Generate Package
最后推出Exit Setup Assistant
10.运行
工作空间下catkin_make
编译
source ./devel/setup.bash
roslaunch moveit_ros_robot_arm demo.launch
出现如上界面,即配置成功