Skip to content

Operation Guide — ROS 2

Teleoperation

After accessing the Open Manipulator Docker container, use the following command:

bash
ros2 launch open_manipulator_bringup omx_ai.launch.py

This command will sequentially execute the following procedures:

  1. Move to Follower's initial position.
  2. Start Leader launch file.
  3. Synchronize Leader and Follower.

After these steps, the Leader-Follower system will be operational.

AI Teleoperation

Real-time synchronized motion between Leader and Follower

INFO

Teleoperation mode does not support MoveIt 2, GUI, and Keyboard Teleop.
Please follow the next steps to use these features.

Launch Bringup

The OMX controller has been restructured to utilize the ros2_control framework and MoveIt 2 for enhanced flexibility, modularity, and usability. This updated controller allows for seamless integration with ROS 2-based systems, offering advanced features such as trajectory planning, real-time control, and state feedback.

To use the MoveIt 2, GUI, and Keyboard Teleop features, open a new Docker container and launch the OMX packages.

bash
 ros2 launch open_manipulator_bringup omx_f.launch.py

MoveIt 2

MoveIt 2 is a set of packages for your robot to manipulate for Motion Planning, Manipulation, Inverse Kinematics, Control, 3D Perception and Collision Checking.

Launching MoveIt 2

Enable MoveIt 2 functionality for advanced motion planning in RViz. For more information about MoveIt 2, check out the official documentation.

bash
 ros2 launch open_manipulator_moveit_config omx_f_moveit.launch.py

Move interactive markers to position the robotic arm, then click Plan & Execute.

Simple Instructions for Using MoveIt 2:

  1. You can move the robot to your desired pose using the Interactive Marker visible in RViz.
  2. Use the Plan option in the Commands column to simulate the motion of the robotic arm.
  3. Click Execute to move the robot according to the simulated motion.
  4. Set the Planning Group to arm and use the Goal State options init or home to move the robot to predefined poses.
  5. Change the Planning Group to gripper and use Goal State options such as close or open to open and close the gripper.

GUI

Launch the OpenMANIPULATOR GUI

After running bringup and MoveIt 2, launch the GUI.

bash
ros2 launch open_manipulator_gui omx_f_gui.launch.py

Explore GUI Features

Basic Controls

  • Start Timer: Activates the system.
  • Robot Status: Displays current manipulator state.
  • Init Pose: Moves the manipulator to a vertical position.
  • Home Pose: Moves the manipulator to a compact, safe position.
  • Gripper Open/Close: Opens or closes the gripper.

Task Execution

  • Joint Space Tab: Adjust individual joint angles.
  • Task Space Tab: Control the end-effector position.
  • Task Constructor Tab
    • Read Task: View saved poses.
    • Save Pose: Save current state.
    • Rap: Set task repetition (1–999).
    • Play: Execute saved tasks.
    • Stop: Halt operations.
    • Reset Task: Clear saved tasks.

Explore GUI Features

  1. Click the Timer Start button.

  2. Check the status of OMX.

  3. To manipulate OMX in the joint space, enter the joint angles and total time for the trajectory. Then click the Send button to start the motion.

  4. To manipulate OMX in the task space, enter the kinematics pose of the OMX end-effector(tool) in the task space. Then click the Send button to start the motion.

  5. Create a task constructor with OMX.

  • Click the Read task button to prepare for saving tasks.
    • You can create or modify the pre-saved joint values in the robot_joint_log.csv file.
    • The file's load path can be checked in the terminal when the GUI node is launched.
  • Adjust the manipulator's posture and save it by clicking Save pose.
  • Save multiple postures to complete the preparation.
  1. Press the Play button to make the manipulator move sequentially according to the saved tasks. Completed tasks will have their status changed to Done.

OMX GUI Demo

Keyboard Teleop

Control the manipulator (simulation or hardware) using your keyboard.

Run the Keyboard Teleop

After launching the real robot or Gazebo bringup, enter the following command in the new Docker container:

bash
ros2 run open_manipulator_teleop omx_f_teleop

Joint Control

  • 1 / q - Joint 1
  • 2 / w - Joint 2
  • 3 / e - Joint 3
  • 4 / r - Joint 4
  • 5 / t - Joint 5

Gripper Control

  • o - Open gripper
  • p - Close gripper

Keyboard Teleop Demo

AI Worker and AI Manipulator released under the Apache-2.0 license.