Atharva Bhorpe · Writing

Set up MoveIt 2 on SO-ARM100/101 in Isaac Sim

Create a ROS 2 Humble workspace, generate a MoveIt configuration, and test it before connecting the simulated arm.

The steps below were transcribed from the original tutorial video.

1. Download the URDF

Use the SO-ARM ROS 2 URDF repository.

2. Create a ROS workspace

mkdir -p ~/so-arm_moveit_isaacsim_ws/src
cd ~/so-arm_moveit_isaacsim_ws

Install the ROS 2 Jazzy MoveIt and control dependencies used in the walkthrough:

sudo apt update
sudo apt install \
  ros-jazzy-moveit \
  ros-jazzy-ros2-control \
  ros-jazzy-ros2-controllers \
  ros-jazzy-gripper-controllers \
  ros-jazzy-topic-based-ros2-control

Create the configuration and robot-description folders:

cd ~/so-arm_moveit_isaacsim_ws/src
mkdir -p so_arm_moveit_config
mkdir -p so_arm_description

Copy the URDF files into so_arm_description. The trailing . clones the repository contents into the current directory rather than creating another nested folder:

cd ~/so-arm_moveit_isaacsim_ws/src/so_arm_description
git clone https://github.com/MuammerBay/SO-ARM_ROS2_URDF.git .

Build the workspace:

cd ~/so-arm_moveit_isaacsim_ws
colcon build

3. Generate the MoveIt configuration

Source the workspace so the Setup Assistant can find the robot-description package. (The original notes say this step is not needed for a Pixi ROS 2 setup.)

source ~/so-arm_moveit_isaacsim_ws/install/setup.bash
ros2 launch moveit_setup_assistant setup_assistant.launch.py

Use the MoveIt Setup Assistant to create the configuration. Then rebuild:

cd ~/so-arm_moveit_isaacsim_ws
colcon build

4. Test MoveIt before Isaac Sim

Source the installed workspace and launch the demo:

source install/setup.bash
ros2 launch so_arm_moveit_config demo.launch.py

5. Apply the configuration fixes from the walkthrough

  • In joint_limits.yaml, replace integer values with floating-point values where shown in the video.
  • In moveit_controllers.yaml, add these keys to arm_controller:
action_ns: follow_joint_trajectory
default: true

Rebuild the workspace and test MoveIt again before connecting Isaac Sim:

colcon build
ros2 launch so_arm_moveit_config demo.launch.py
← Back to SO-ARM100/101 + LeRobot + Isaac Sim