Host packages used in ROS-I ROS2 Manipulation Workshops
From the workspace directory, just above the src folder.
git clone git@github.com:ROS-I-Training/moveit2_workshop.git src
sudo apt install python3-vcstool
vcs import src --skip-existing --input src/moveit2_workshop/dependencies_rolling.repos
vcs import src --skip-existing --input src/ur5e_cell/dependencies_rolling.repos
source /opt/ros/rolling/setup.bash
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install
source install/local_setup,bash- moveit2_workshop: Metapackage to bind together dependent packages
- moveit2_workshop_app: Contains the demo application
- moveit2_workshop_bringup: Contains launch and configurations to bringup the demo
To start only the perception pipeline and test if Aruco markers work correctly:
ros2 launch moveit2_workshop_bringup marker_detection.launch.pyTo start demos of the applications on Panda rviz only (no real robot)
Simple app:
ros2 launch moveit2_workshop_bringup dummy_app_simple.launch.pyMarker app (has static TFs for the markers in the launch):
ros2 launch moveit2_workshop_bringup dummy_app_marker.launch.pyStart the cell in one terminal first. This brings up the modified UR5e robot driver and its moveit pipeline.
ros2 launch ur5e_cell_bringup ur5e_cell_bringup.launch.py
Remember to start the External Control program on the UR5e teach pendant.
Then start one of the applications in another terminal.
Simple app:
ros2 launch moveit2_workshop_bringup ur5e_cell_app_simple.launch.pyMarker app (also launches marker detection pipeline):
ros2 launch moveit2_workshop_bringup ur5e_cell_app_marker.launch.pymoveit2_workshop_app/src/app_simple.cpp
A very simple application that moves to two parametrised poses in cartesian space. These pose values are read from a parameter file, see below.
moveit2_workshop_app/src/app_marker.cpp
Reads poses of two aruco markers from the TF tree and moves above each in a sequence. The aruco pose detection needs to be running for this to work.
Following configs are placed in the moveit2_workshop_bringup/config/marker_detection folder:
- aruco_node_params.yaml: Params used by
aruco_ros2node, including camera topics, marker size and TF frame name. - camera_node_params.yaml: Params used by
usb_camnode, including camera source, image properties and link to calibration. - camera_info.yaml: Camera calibration data, published in the
camera_infotopics by theusb_camnode. - camera_tf.yaml: Contains positional calibration of the camera mount. Update if camera is moved.
For the Panda demo, configs are placed in moveit2_workshop_bringup/config/app/panda.
For the UR5e Cell, configs are placed in moveit2_workshop_bringup/config/app/ur5e_cell.
- app_simple.yaml: Params to set the planning group, and "pick" and "place" pose values for the
app_simplenode. The poses are defined w.r.t the planning group's base_link frame. - app_marker.yaml: Params to set the planning group, and names of the aruco marker frames for the
app_markernode.