This repository provides a environment for trying cumotion movit plugin with ur5e simulation. Although a docker image 'wuisky/isaac_ros_dev-x86_64:latest' is prepared for this tutorial, you can build by your self with origin build script like follows if you are using x86_64 cpu:
./build_image_layers.sh --image_key x86_64.ros2_humble.user --image_name isaac_ros_dev-x86_64
- OS: Ubuntu 22.04 recommend(Jammy Jellyfish)
- GPU and Memory: Ampere or higher NVIDIA GPU Architecture with 4 GB RAM or higher
- NVIDIA driver
- Docker and docker compose
- nvidia-container-toolkit
- vcstool
After cloning this repository, enter the directory of this repository and execute the following command:
mkdir -p isaac_ros-dev/src;vcs import --recursive isaac_ros-dev/src < .rosinstall
docker compose up -d
- Enter the container with
docker exec -it isaac_ros_dev-x86_64-container bash
, then runcolcon build
andsource install/setup.bash
Run the following commands in three terminals inside the container environment:
xacro -o ur5e.urdf /opt/ros/humble/share/ur_description/urdf/ur.urdf.xacro ur_type:=ur5e name:=ur5e;ros2 run isaac_ros_cumotion cumotion_planner_node --ros-args -p robot:=ur5e_preset_tool0_sphere.xrdf -p urdf_path:=$PWD/ur5e.urdf -p publish_robot_as_spheres:=true
this will cost for a while.After it shows "cuMotion is ready for planning queries!" you can proceed to next steps:
ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur5e robot_ip:=yyy.yyy.yyy.yyy initial_joint_controller:=joint_trajectory_controller use_fake_hardware:=true launch_rviz:=false
ros2 launch isaac_ros_cumotion_examples ur.launch.py ur_type:=ur5e use_fake_hardware:=true
you will see rviz is launched.
- In MotionPlainng GUI, select
Scene Objects
tab and pressImport
button, navigate toworkspaces/tutorial_scene.scene
and open it. - Check
hand
underCurrent Scene Objects
and attach it totool0
- Add MarkerArray visualization and set topics to
/curobo/robot/spheres
. This will display collision model used in curobo motion planner later. - Drag the interaction marker to the target pose and press
Plan & Execute
button. Then clickYes
to publish planning scene. - You will see the collison model displayed in spheres and the robot is moving if the target pose is feasible.
In this tutorial, wu use a custom isaac_ros_cumotion branch, which is differ from upstream repository in follow aspects:
- Take account for the attached object when executing path planning. This feature is reported in this PR
- Add a ros param
publish_robot_as_spheres
for toggling publishing the robot sphere model as MarkerArray which is used in cumotion planner. - Add
ur5e_preset_tool0_sphere.xrdf
model file. 100 spheres are preseted in tool0 of ur5e model in this file for presenting attached object in cumotion planner.
The hand model is downloaded from Thingiverse, and is licensed under the Creative Commons - Attribution - Non-Commercial - Share Alike license.
Although this tutorial is done by gui, you can achieve same operation by move group api which is more practical when developing your robot system. This tutorial just provides a "glimpse" for using cumotion moveit path planning plugin.