MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件

一.安装MoveIt assistant

sudo apt-get install ros-kinetic-moveit

如果报错说找不到软件包,可能是没有更新源,只要去roswiki上找安装教程,把源重新加入就可以了。

二.打开配置助手

roslaunch moveit_setup_assistant setup_assistant.launch

这个没什么好说的,就一行命令的事

三.开始配置

1.首先你需要有一个没有问题的URDF文件。

至于怎么检查有没有问题:
不用担心,ROS有工具可以使用。

sudo apt-get install liburdfdom-tools

安装完成后只需要用下面这行命令就可以检查特定URDF文件。[your urdf file namw]替换为你的文件名

check_urdf [your urdf file name].urdf

如果没有问题就会看到类似下面这样的信息
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第1张图片

2.有了URDF文件后,那么启动配置助手,加载URDF文件

MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第2张图片
有两个按键,一个是创建新的MoveIt配置文件,另一个是编辑已有的MoveIt配置文件
这里我们选择创建新的配置文件。
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第3张图片
选择Browse浏览文件目录,选择你想要的URDF文件,点击load files确定就行了。
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第4张图片
笔者在这里曾经踩了一次坑,当时无论我用什么URDF文件,load之后在右边的预览框内都无法出现模型的预览。
我找遍了百度,Google都无法找到解决方法,最后还是看terminal的报错信息才意识到可能是因为我没有把URDF文件放在我的工作空间内
所以导致配置助手找不到URDF文件,在我把URDF文件夹放在工作空间的src目录下以后,就成功看到上面这幅图了。
不仅如此,如果单单只有一个URDF文件的话也是不行的,具体原因你要去看terminal的报错信息,这很有用,学会看报错信息很重要。看完就会发现错误提示可能会是说找不到xxx的描述文件,其实就是说找不到你这个模型的stl文件。

3.自碰撞检测配置

MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第5张图片
点击左边栏,跳转到第二步。
第二步是自碰撞检测的配置。很容易理解,机器人在规划运动轨迹的时候可能会出现自身结构相互碰撞的情况,所以我们就需要自碰撞检测
一般来说这一步按照默认值就行了,10000个采样点可以满足一般需求了。
所以只需要点击Generate Collision Matrix 生成碰撞矩阵
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第6张图片
直观上看碰撞矩阵就像上图这样

4.设置虚拟关节

在这里什么叫做虚拟关节呢?虚拟关节就是定义一个关节将机器人与世界链接起来,举个例子,比如现在给机械臂安装上一个AGV小车底盘,那么这个小车底盘就算机械臂的虚拟关节,这个关节类型是planar(在平面上运动)的;如果把机械臂固定在地面上,那么与地面的连接就算一个虚拟关节,这个关节类型是fixed(固定)的;再比如是一个人形机器人,那么脚底和世界的连接也算一个虚拟关节,而这个关节类型就是float(浮动)的。
child_link指你想要连接到世界的关节。
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第7张图片

5.创建planning group

创建planning group是使用MoveIt非常核心的一步。
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第8张图片

规划组的名称:

这里写图片描述

运动学逆解工具选择:

这里选择比较常用的KDL
这里写图片描述

运动规划参数配置:

这里写图片描述
1. Kin. Search Resolution: 关节空间的采样密度
2. Kin. Search TImeout: 求解时间
3. Kin. Solver Attempts: 求解失败尝试次数

这三项参数一般保持默认值就行了。

OMPL算法选择(不一定有这个东西):

这里写图片描述
可能是版本原因,有些MoveIt配置助手并没有这个选项,我能找到的同类教程也鲜有出现这个东西,这个选项其实就是让用户自己选择OMPL的算法,在这里我们选择RRT。关于算法优劣的对比,在这里就不讲了,才疏学浅不好乱讲。
在MoveIt配置助手里,创建规划组有四种方法Add Joints, Add Links, Add Kin. Chain, Add Subgroups,这里我选用Add Kin. Chain。
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第9张图片
这就完成了一个规划组的配置了。
到此,我们创建了手臂部分的规划组,但是还不够,别忘了,我们还有夹持器呢。
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第10张图片
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第11张图片
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第12张图片

这样就创建了两个规划组。

6.设置robot poses

这一步是用来预先设置好一些固定的位置,就像宏定义一样,自定义一个位置常量,这样我们在写代码的时候就可以直接调用这个位置量了。可以用来设置初始位置什么的。
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第13张图片
可以手动调节也可以输入数值来调节,调节的单位是弧度。
设置完点击保存就行了。如果没问题的话就会看到下图这样的界面
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第14张图片

7.配置末端执行器

在大多数情况下,我们会给机械臂安装末端执行器,可以是夹持器,可以是真空吸盘,甚至可以是3d打印机的挤出头。如果恰好安装的是夹持器这种末端执行器,那么刚刚我们多设置的一个规划组就有用了。
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第15张图片
MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第16张图片

8.设置被动关节

什么叫被动关节?顾名思义就是无法主动运动的关节,也可以理解为从动关节。比如双驱小车上的从动万向轮。码垛机械臂上的从动连杆。如果在这一步设置为被动关节,那么这个关节就不会参与运动规划。
在这里没有被动关节,所以这一步可以跳过。

9.填写作者信息

MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第17张图片

10.最后一步————生成配置文件

MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件_第18张图片
都是傻瓜操作,就不多说了。

你可能感兴趣的:(ROS,MoveIt,MoveIt配置助手)