【Moveit2】使用moveit

您所在的位置:网站首页 开机setup和resume选哪个 【Moveit2】使用moveit

【Moveit2】使用moveit

2024-07-12 11:19| 来源: 网络整理| 查看: 265

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

文章目录 【Moveit2】使用moveit_setup_assistant配置自己的机械臂功能包1.确保你已经安装了moveit2环境2.配置机械臂功能包Reference

环境信息:

ubuntu 22.04ros2 humblemoveit2 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_description到arms_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规划组设定两个位姿,分别为open和close,如下所示:

Image Image

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

Image

然后我们定义我们的End Effectors,末端执行机构,如果没有末端执行机构这一步可以跳过,末端执行机构的规划组为hand,然后默认连接的parent_link是panda_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) 引入新的机器人模型



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3