Manipulation
NOTE:
- This instructions were tested on
Ubuntu 18.04
andROS 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.
- Install dependent packages for the OpenMANIPULATOR with TurtleBot3.
[TurtleBot3]
- Open a terminal on TurtleBot3.
- 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]
- Open a terminal on Remote PC.
- 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.
- If
- 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)
- Detach lidar sensor and shift it front of TurtleBot3 (Red circle represents position of bolts).
- Attach OpenMANIPULATOR on the TurtleBot3 (Yellow circle represents position of bolts).
- Connect OpenMANIPULATOR-X to Raspberry Pi 3 using a U2D2 and to OpenCR for power.
Bringup
Be sure to read Bringup manual before use of the following instruction.
[TurtleBot3]
- Open a terminal on TurtleBot3.
- 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]
- Open a terminal on Remote PC.
- Launch slam node using the following command.
$ ros2 launch turtlebot3_cartographer cartographer.launch.py
Run Teleoperation Nodes
[Remote PC]
- Open a terminal on Remote PC.
- Launch teleop node using the following command.
$ ros2 run turtlebot3_manipulation_teleop turtlebot3_manipulation_teleop_keyboard
-
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]
- Open a terminal on Remote PC.
- Launch map_saver node using the following command.
$ ros2 run nav2_map_server map_saver -f ~/map
Navigation
Be sure to read Navigation manual before use of the following instruction.
- Open a terminal on Remote PC.
- 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 !