Moveit_setup_assistant环境配置#

moveit_setup_assistant配置过程#

以下内容将通过moveit_setup_assistant来配置自定义机器人moveit2_config的配置包。

第一步:

安装上一章节所说的,对功能包进行编译:

1colcon build --packages-select duco_msg
2colcon build --packages-select duco_support
3colcon build --packages-select duco_arms
4colcon build --packages-select duco_ros_driver
5colcon build

创建工作空间以及功能包:

1mkdir -p test_duco_ws/src
2cd test_duco_ws/src
3mkdir duco_test_robot_moveit_config
4cd ..
5cd ..

编译功能包后进行source:

1colcon build
2source install/setup.bash

来到test_duco_ws,启动moveit_setup_assistant对机器人进行配置

1cd test_duco_ws
2ros2 launch moveit_setup_assistant setup_assistant.launch.py

第二步:进行配置

当启动配置界面后,在配置界面中点击“Create New Moveit Configuration Package”来创建新Moveit配置功能包。

../../_images/image11.jpg

然后点击Browse,从之前导入的目录src/duco_support/urdf中,选中所需要机械臂gcr的.urdf描述文件。选好后点击Load Files进行加载。(可以在界面右侧看到加载出来的机械臂)

../../_images/image2.jpg

在左侧选中Self-Collisions界面,点击Generate Collision Matrix既可。点击后将自动生成关节碰撞矩阵,避免计算两接触连杆和接触不到的连杆间的碰撞。

../../_images/image3.jpg

接下来设置虚拟关节Virtual Joints,这是用于机器人安装在移动平台时的虚拟轴配置。 当机器人需要随移动平台协同运动时,需配置虚拟关节参数,包括名称和关节类型等。 通过虚拟关节的同步运动,可实现机器人本体随移动平台的联动。 在本演示中,机器人被直接放置在全局坐标系world下,虚拟关节命名为virtual_joint。

../../_images/image4.jpg

规划组(Planning Groups)用于将机器人系统中需要协同进行运动学计算的关节划分为逻辑单元。每个规划组内的关节将作为一个整体进行正或逆运动学计算。 本演示仅配置机器人本体的关节规划组(arm组),具体步骤如下:

  1. 点击Add Groups

  2. 填写Group name(支持arm_1作为名字)

  3. 选择运动学求解器kinetic Solver为:kdl_kinematics_plugin/KDLKinematicsPlugin

  4. 设置默认规划器Group Default Planner为:TRRT

  5. 通过Add Joints功能添加相关关节

../../_images/image5.jpg

选中所有关节,通过">"进行添加后点击save保存。

../../_images/image6.jpg

定义好后,会如下图所示:

../../_images/image7.jpg

进入左侧Robot Poses界面后,我们可以通过为机械臂的每个规划组定义写预设位姿,姿态没有限制,可以随需求调整。

首先点击Add Pose, 然后在Pose Name中输入名字(在此以initial作为名字),最后点击save保存。

../../_images/image8.jpg

接下来配置ros2_control URDF Modifications。我们这次为 command Interfaces 和 State Interfaces 勾上 position。 然后点击Add Interfaces添加配置。

../../_images/image9.jpg

ROS 2 Controllers的核心功能是自动生成ros2_controllers.yaml配置文件。该文件包含控制器类型选择等关键参数配置。

为每个规划组Planning Group指定对应的控制器

我们通过点击"Auto Add JointTrajectoryController Controllers For Each Planning Group"功能自动生成轨迹控制器配置即可。

../../_images/image10.jpg

MoveIt Controllers 的核心功能是生成 moveit_controllers 配置文件,该文件主要定义以下关键参数:

控制器命名(controller name)

控制器类型(controller type)

重要配置注意事项:

命名一致性要求:moveit_controllers 中配置的控制器名称必须与 ros2_controllers 中的控制器名称完全一致,这是系统正常运行的必要条件。

自动类型映射机制:当名称匹配时,系统会自动建立控制器类型映射关系。

../../_images/image111.jpg

进入到Launch Files界面中,我们使用默认配置即可。

../../_images/image12.jpg

对于作者信息来说,我们照常填写即可(注意需要填写有效邮箱)。

../../_images/image13.jpg

最后来到了 Configuration Files的界面,我们点击Browse进行生成位置的选择。在这次演示中选择了前面我们创建的duco_test_robot_moveit_config文件夹来存放配置文件。

../../_images/image14.jpg

我们配置完后可以对我们的新功能包进行编译,用我们自己定义的moveit2配置包进行替换,增强兼容性。

运行过程#

首先,我们来到test_duco_ws目录下的终端,输入以下指令: .. code-block:

:linenos:

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

然后,回到上一层的目录,运行source:

1cd ..
2source install/setup.bash

然后,再回到我们刚刚的目录,运行launch文件,即可打开配置好的RVIZ。

1cd test_duco_ws
2ros2 launch duco_test_robot_moveit_config demo.launch.py
../../_images/image15.jpg