动手学Moveit2|使用配置助手创建自己机械臂的功能包

大家好,我是小鱼,moveit2出来有一阵子了,之前一直在忙导航,没有时间测试moveit2,今天我们拿一个机械臂来配置下moveit2的功能包,并简单跑跑运动规划试试,顺便写一下小教程给大家。

小鱼所用的平台:

  • 系统:Ubuntu22.04 ROS2 HUMBLE
  • Moveit2版本:2.5.3-1jammy.20220909.052507
  • 机械臂:https://github.com/fishros/elite_robot_ros2

1.安装Moveit2和配置助手

直接二进制安装即可,如果想源码安装,可以参考小鱼之前的教程

sudo apt install  ros-humble-moveit ros-humble-moveit-setup-assistant -y

下载机械臂功能包

git clone https://github.com/fishros/elite_robot_ros2

2.运行配置助手

运行配置助手前,记得先编译并source功能包,source过功能包,urdf里对机械臂描述中使用的package://elite_description才能被找到。

colcon build
source install/setup.bash

之后再运行配置助手

 ros2 run moveit_setup_assistant moveit_setup_assistant


3.配置过程

3.1 加载机械臂

配置助手上有两个按钮,一个是创建新的配置包,另外一个是编辑一个已经配置好的包,这里我们选择创建新的。

这里需要提供URDF文件,如果你的机械臂是xacro格式,可以安装xacro之后将其转为urdf使用。
接着我们点击Browse,选择ec66_description.urdf文件。

点击Open

接着点击LoadFile,加载文件,不出错你将看到下面的界面,如果崩溃了一般是urdf有问题,先确定urdf能正常显示。

3.2 设置自我碰撞

从左边选择Self Collisions,接着点击右边的Generate Collision Matrix,这一步是用于生成关节之间的自我碰撞姿态,可以再规划时快速检测自我碰撞。

3.3 虚拟关节

这里可以直接跳过,如果你想把机械臂接在某个link(比如世界坐标系或者某个小车link上)上可以加一个。

3.4 规划组(重点)

点击右边的Planing Groups,规划组的概念是Moveit中非常重要的概念,后续的控制都是基于规划组进行的,这里只是一个六轴的机械臂,只添加一个规划组就可以,这个规划组一般包含一个规划链即可,规划链指的是机械臂的base_linkend_link
点击右下角Add Group
定义规划组界面

输入规划组的名称,运动学求解器可以选择KDL,规划器选择RRTConnect

接着点击Add Kin.Chain添加规划,接着展开规划链,在下输入base_link和tip_link对应的link名称。

接着点击保存。

3.5 机器人位姿

点击右边Robot Poses切换

点击Add Pose

输入名称,这里我们定义一个home,并把关节的坐标做一下修改。

点击保存

3.6 配置ros_control URDF Modiificatoins

接着在右边选择ros_control URDF 修改,末端执行器和被动关节可以跳过。
接着我们来说说ros2_control的配置,Moveit2里机械臂要动起来是全部通过ros2_control来进行的。
机械臂是一个硬件,其每一个关节可以通过位置、速度和力来控制,同时关节的反馈也是这三者,基于这些接口我们可以定义相应的控制器,在moveit2中我们主要用到了两个控制器。

  • 第一个是关节状态反馈控制器,很明显这是一个输出的控制器,没错,这个控制器会根据机
    械臂的状态发布/joint_states话题。
  • 第二个是关节轨迹控制器,用于控制关节的位置。

我们继续配置,在这个界面我们只需要点一个Add interface即可,左边选位置控制器,右边的反馈位置和速度就够了。

3.7 ROS 2 COntrollers

点击Auto Add关节轨迹控制器即可,这里就是小鱼上面的关节轨迹控制器,用于接受moveit2规划的结果并执行的。

3.8 Moveit 控制器

上面的Ros2 Controller是用于控制机械臂的控制器的服务器端,这里Moveit控制器相当于是客户端,点击Auto Add 即可。

3.9 配置作者信息

后面两个Perception和Launch File采用默认的即可,这里要给个好评(生成的launch文件可以根据需求增删了,不像moveit1里一大堆),直接选择作者信息,填写一下。

3.10 生成功能包

接着我们选择生成配置文件页面,点击Brows选择一个空的文件夹,等下生成的文件都会放在这个文件夹里。
之后点击Generate Package(中间会跳一个窗口,直接确认即可)

4.总结

今天没时间了,先生成功能包,下一步还需要装一些依赖才能运行,明天再补充下面的内容。

  • 10
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值