Edit on GitHub

Manipulation

NOTE:

  • This instructions were tested on Ubuntu 18.04 and ROS 2 Dashing Diademata.
  • More information on OpenMANIPULATOR-X is availabe at OpenMANIPULATOR e-Manual.

TurtleBot3 with OpenMANIPULATOR

The OpenMANIPULATOR by ROBOTIS is one of the manipulators that support ROS, and has the advantage of being able to easily manufacture at a low cost by using Dynamixel actuators with 3D printed parts. The OpenMANIPULATOR has the advantage of being compatible with TurtleBot3 Waffle and Waffle Pi. Through fdsfsdthis compatibility can compensate for the lack of freedom and can have greater completeness as a service robot with the the SLAM and Navigation capabilities that the TurtleBot3 has. TurtleBot3 and OpenMANIPULATOR can be used as a mobile manipulator and can do things like the following videos. fds

The contents in e-Manual may differ from contents of a provided video in e-Manaul as e-Manual is updated on a regular basis.

Software Setup

NOTE: Be sure to install turtlebot3 and open_manipulator packages, before installation of open_manipulator_with_tb3 packages.

[TurtleBot3]

  1. Open a terminal on TurtleBot3.
  2. Install dependent packages using the following commands.
      $ cd ~/turtlebot3_ws/src/
      $ git clone -b ros2 https://github.com/ROBOTIS-GIT/open_manipulator_with_tb3.git
      $ cd ~/turtlebot3_ws && colcon build --symlink-install
    

[Remote PC]

  1. Open a terminal on Remote PC.
  2. Install dependent packages using the following commands.
      $ cd ~/robotis_ws/src/
      $ git clone -b ros2 https://github.com/ROBOTIS-GIT/open_manipulator_with_tb3.git
      $ cd ~/robotis_ws && colcon build --symlink-install
    
    • If colcon build command is complete without any errors, go to the step 3.
  3. Load TurtleBot3 Waffle (or Waffle Pi) with OpenMANIPULATOR on RViz.
    • Open a terminal on Remote PC.
    • Execute RViz using the following command.
      $ ros2 launch turtlebot3_manipulation_description turtlebot3_manipulation_rviz.launch.py
      

Hardware Setup

CAD files (TurtleBot3 Waffle Pi + OpenMANIPULATOR)

Bringup

Be sure to read Bringup manual before use of the following instruction.

[TurtleBot3]

  1. Open a terminal on TurtleBot3.
  2. Launch turtlebot3_manipulation_controller using the following command.
      $ ros2 launch turtlebot3_manipulation_controller turtlebot3_manipulation_controller.launch.py
    

    /docs/en/platform/turtlebot3/ros2_manipulation/

SLAM

Be sure to read SLAM manual before use of the following instruction.

Run SLAM Nodes

[Remote PC]

  1. Open a terminal on Remote PC.
  2. Launch slam node using the following command.
    $ ros2 launch turtlebot3_cartographer cartographer.launch.py
    

Run Teleoperation Nodes

[Remote PC]

  1. Open a terminal on Remote PC.
  2. Launch teleop node using the following command.
    $ ros2 run turtlebot3_manipulation_teleop turtlebot3_manipulation_teleop_keyboard
    
  3. Manipulate OpenMANIPULATOR-X on TurtleBot3 using the virtual controller. Simply type the keys without using an Enter key.

     ---------------------------
     Control TurtleBot3 + OpenManipulatorX
     ---------------------------
     8 : increase linear velocity
     2 : decrease linear velocity
     4 : increase angular velocity
     6 : decrease angular velocity
     5 : base stop
    
     w : increase x axis in task space
     s : decrease x axis in task space
     a : increase y axis in task space
     d : decrease y axis in task space
     z : increase z axis in task space
     x : decrease z axis in task space
    
     y : increase joint 1 angle
     h : decrease joint 1 angle
     u : increase joint 2 angle
     j : decrease joint 2 angle
     i : increase joint 3 angle
     k : decrease joint 3 angle
     o : increase joint 4 angle
     l : decrease joint 4 angle
    
     g : gripper open
     f : gripper close
               
     0 : init pose
     1 : home pose
               
     q to quit
     ---------------------------
     Present Linear Velocity: 0.000, Angular Velocity: 0.000
     Present Joint Angle J1: 0.000 J2: 0.000 J3: 0.000 J4: 0.000
     Present Kinematics Position X: 0.000 Y: 0.000 Z: 0.000
     ---------------------------
    

Save the Map

[Remote PC]

  1. Open a terminal on Remote PC.
  2. Launch map_saver node using the following command.
    $ ros2 run nav2_map_server map_saver -f ~/map
    

Be sure to read Navigation manual before use of the following instruction.

  1. Open a terminal on Remote PC.
  2. Launch the navigation file using the following command.
    $ ros2 launch turtlebot3_navigation2 navigation2.launch.py map:=$HOME/map.yaml
    

Simulation

It will be released soon !

Pick and Place

It will be released soon !