Skip to content

MoveIt 集成

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

MoveIt 集成演示

概述

本案例演示了如何使用 MoveIt 控制 IsaacSim 中带有夹爪的捷勃特机器人。夹爪使用 Robotiq 开源 URDF。

原理

topic_based_ros2_control 将 MoveIt 的规划结果通过指定 topic 发送,并接收指定 topic 的反馈,从而实现对机器人动作的控制。

前置条件

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 中加载场景

  1. 点击 File -> Open
  2. 选择工作空间中的 isaacsim_moveit 文件夹
  3. 打开 ./gbt_c7a_moveit.usd
  4. 点击 Play 按钮启动模拟

步骤 5:控制机器人

完成上述步骤后,即可通过 RViz 中的 MoveIt 控制 IsaacSim 中的捷勃特机器人。

MoveIt 功能

功能描述
运动规划规划从起点到目标点的轨迹
碰撞检测检测机器人与环境中的障碍物碰撞

配置参数

MoveIt 参数

参数说明默认值
planning_time规划时间限制5.0 s
num_planning_attempts规划尝试次数10
planning_pipeline规划管道ompl

相关资源

下一步