【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包

本文详细指导如何在Ubuntu22.04上安装并使用moveit2_setup_assistant来配置自己的机械臂功能包,包括设置环境、导入描述文件、自定义规划组等步骤。
摘要由CSDN通过智能技术生成

【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包

环境信息:

  • ubuntu 22.04
  • ros2 humble
  • moveit2

1.确保你已经安装了moveit2环境

如果没有配置moveit2环境的,可以参考这篇博客:Ubuntu22.04 + ROS2 Humble配置Moveit2环境

可以使用以下的命令来再次安装,确保自己的环境是正确的

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

2.配置机械臂功能包

首先,我们可以新建一个功能空间命名为arms_ws,创建一个panda_robot作为功能包

mkdir -p arms_ws/src
cd arms_ws/src
mkdir panda_robot
cd ..
cd ..

如果你安装过moveit2_tutorials,你可以在你的功能包中找到这个文件夹.../your_workspace/src/moveit_resources/panda_description ,拷贝这个文件夹panda_descriptionarms_ws/src/panda_robot中。如果你没有使用过moveit2_tutorials,你可以在这里找到这个文件夹:https://github.com/ros-planning/moveit_resources/tree/ros2/panda_description,下载这个文件夹然后放置在arms_ws/src/panda_robot中。放置完毕后记得进行构建,然后source

colcon build
source install/setup.bash

这里一定要记得source,不然后面会导致找不到.urdf文件。

然后我们就可以启动moveit_setup_assistant来进行配置了,这里有两种启动方式,任选一种即可:

ros2 launch moveit_setup_assistant setup_assistant.launch.py
ros2 run moveit_setup_assistant moveit_setup_assistant

启动后的界面如下:

Image

选择Create New Moveit Configuration Package,创建一个新的moveit配置功能包。

然后选中机械臂的描述文件,这里应该选择panda_description/urdf/panda.urdf这个文件,然后选择Load Files,就可以看到右边加载出来了机械臂的模型。

Image

然后我们配置Self-Collisions,这个是配置机械臂关节碰撞矩阵的,我们点击Generate Collision Matrix既可自动生成。

Image

然后我们配置Virtual Joints,这是用于配置虚拟的关节,用于指定我们将机械臂放置在哪里,我们这里直接将机械臂放置在world坐标系中,取名为virtual_joints

Image

然后我们需要添加机械臂的Planning Groups,规划组是用来规划机械臂运动的,这里我们主要分为两个组,一个是我们的机械臂的各个关节部分panda_arm,另一个是我们的夹具部分hand,首先添加panda_arm组,动力学求解器Kinematic Solver选择kdl_kinematics_plugin/KDLKinematicsPlugin,然后默认的规划器Group Default Planner随便选就行。然后点击Add Joints为这个规划组添加关节。

Image

panda_arm的关节: 按住shift可以进行多选,然后点击>进行添加

Image

再添加另一个hand规划组,hand规划组不需要选择动力学求解器和默认规划器,直接选择Add Joints即可

Image

hand规划组:

Image

定义好的规划组如下所示:

Image

然后我们定义Robot Poses,为每个规划组定义一些预设的姿态,首先我们为panda_arm定义一个home位姿态,这个姿态可以随意选择,我的设置如下:

Image

然后我们定义hand规划组的预设位姿,首先需要选中已经给panda_arm预设好的位姿,然后点击Add Pose

Image

然后按照类似的方式,我们给hand规划组设定两个位姿,分别为openclose,如下所示:

Image
Image

最终我们预设了三个位姿,如下所示:

Image

然后我们定义我们的End Effectors,末端执行机构,如果没有末端执行机构这一步可以跳过,末端执行机构的规划组为hand,然后默认连接的parent_linkpanda_link8

Image

然后配置ros2_control URDF Modifications,这里使用默认,然后直接Add interfaces即可。

Image

然后我们配置ROS 2 Controllers,为每个规划组配置控制器,我们点击Auto Add JointTrajectoryController Controllers For Each Planning Group即可,然后修改hand组的控制器如下:

Image

同理,配置Moveit Controllers

Image

然后配置Launch Files,这个使用默认配置即可

Image

然后配置一下作者的信息

Image

最后我们就可以生成package了,我们需要选择一个生成的位置,建议在src/panda_robot文件路径下放置一个文件夹panda_configure用于存放我们的配置文件,然后选择生成

Image

生成完毕后的文件目录应该为:

.
├── build
├── install
├── log
└── src
    └── panda_robot
        ├── panda_configure
        │   ├── CMakeLists.txt
        │   ├── config
        │   │   ├── initial_positions.yaml
        │   │   ├── joint_limits.yaml
        │   │   ├── kinematics.yaml
        │   │   ├── moveit_controllers.yaml
        │   │   ├── moveit.rviz
        │   │   ├── panda.ros2_control.xacro
        │   │   ├── panda.srdf
        │   │   ├── panda.urdf.xacro
        │   │   ├── pilz_cartesian_limits.yaml
        │   │   ├── ros2_controllers.yaml
        │   │   └── sensors_3d.yaml
        │   ├── launch
        │   │   ├── demo.launch.py
        │   │   ├── move_group.launch.py
        │   │   ├── moveit_rviz.launch.py
        │   │   ├── rsp.launch.py
        │   │   ├── setup_assistant.launch.py
        │   │   ├── spawn_controllers.launch.py
        │   │   ├── static_virtual_joint_tfs.launch.py
        │   │   └── warehouse_db.launch.py
        │   └── package.xml
        └── panda_description

97 directories, 291 files

其中其他文件夹的内容就省略了。然后我们就能对这个功能包进行构建

colcon build --packages-select panda_configure
source install/setup.bash

然后直接运行我们刚才配置好的包

ros2 launch panda_configure demo.launch.py 

可以实现一些运到到预设位姿的功能

Image
Image

Reference

[1]MoveIt Setup Assistant
[2]动手学Moveit2|使用配置助手创建自己机械臂的功能包
[3]【学习笔记】ROS2纯小白 - MoveIt! (humble) 引入新的机器人模型

  • 27
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值