MoveIt 集成
本教程将展示如何在 IsaacSim 中使用 MoveIt 控制捷勃特机器人。

概述
本案例演示了如何使用 MoveIt 控制 IsaacSim 中带有夹爪的捷勃特机器人。夹爪使用 Robotiq 开源 URDF。
原理
topic_based_ros2_control 将 MoveIt 的规划结果通过指定 topic 发送,并接收指定 topic 的反馈,从而实现对机器人动作的控制。
前置条件
- 已完成 Isaac Sim 环境配置
- 已安装 ROS 2 Humble
- 已安装 MoveIt 2
- 已配置 Python 3.11 版本的 ROS 2
ROS 2 Python 3.11 配置
由于 ros2-humble 安装的是 Python 3.10 版本,而 IsaacSim 使用 Python 3.11 版本,因此需要配置 Python 3.11 版本的 ROS 2。
参考配置指南:https://github.com/camopel/isaacsim-ros2-python3.11
安装依赖
bash
sudo apt install ros-humble-topic-based-ros2-control快速使用指南
步骤 1:将项目添加到 ROS 2 工作空间
bash
# 终端 1
source /opt/ros/humble/setup.bash # python3.10 的 ros2
cp -r isaacsim_moveit {你的工作空间}/src
cd {你的工作空间}/
colcon build
source install/setup.bash步骤 2:启动 MoveIt 2
bash
ros2 launch gbt_gripper_moveit_config demo.launch.py步骤 3:启动 IsaacSim
bash
# 终端 2
source /opt/ros/humble_ws/install/setup.bash # python3.11 的 ros2
cd ~/isaacsim
./isaac-sim.sh步骤 4:在 IsaacSim 中加载场景
- 点击
File -> Open - 选择工作空间中的
isaacsim_moveit文件夹 - 打开
./gbt_c7a_moveit.usd - 点击
Play按钮启动模拟
步骤 5:控制机器人
完成上述步骤后,即可通过 RViz 中的 MoveIt 控制 IsaacSim 中的捷勃特机器人。
MoveIt 功能
| 功能 | 描述 |
|---|---|
| 运动规划 | 规划从起点到目标点的轨迹 |
| 碰撞检测 | 检测机器人与环境中的障碍物碰撞 |
配置参数
MoveIt 参数
| 参数 | 说明 | 默认值 |
|---|---|---|
planning_time | 规划时间限制 | 5.0 s |
num_planning_attempts | 规划尝试次数 | 10 |
planning_pipeline | 规划管道 | ompl |