This example is a simple example that automatically grasps an object.
TurtleBot3 has OpenManipulator.
Object recognition by darknet_ros (YOLO) and Point Cloud data are used.
So CUDA must be installed in the Ubuntu in order to recognize objects using YOLO.
Although it is possible to check this example scene using CPU without installing CUDA, the object recognition speed is very slow.
The outline of the operation is as follows.
When the above operation is performed, TurtleBot3 tries to grasp the object as follows:
Please refer to here for the specifications of Open Manipulator.
Please refer to here for camera specifications.
Because it is convenient to shorten the minimum distance of the depth sensor, RealSense SR300 is used instead of RealSense R200.
In this example, darknet_ros (YOLO) needs to be installed in Ubuntu environment.
It is recommended to check the operation of normal darknet without using ros.
The procedure is as follows:
$ cd ~/catkin_ws/src $ git clone --recursive -b melodic https://github.com/leggedrobotics/darknet_ros.git $ cd darknet_ros $ git checkout b9d9a7dd
$ cd ~/catkin_ws $ catkin_make -DCMAKE_BUILD_TYPE=Release
* Depending on the combination of GPU and CUDA, you may get an error like "Unsupported gpu architecture 'compute_30'" during catkin_make.
In that case, you can comment out the line related to compute_30 in CMakeLists.txt of darknet_ros to avoid the error.
Start the Ubuntu side and then the Windows side.
Open a new terminal and run the following command:
$ roslaunch sigverse_turtlebot3_open_manipulator grasping_auto.launch
Start the [Assets/SIGVerse/ExampleScenes/Turtlebot3/OpenManipulatorSR300(.unity)] scene with reference to here.
You can control TurtleBot3 by keyboard operation on the grasping_auto terminal.
* Check the terminal for details of the operation.
* Because of the high image processing load, the robot's camera image transmission interval is set to 1000 [ms].
(If you want to shorten the sending interval, please reduce the Sending Interval of the TurtleBot3PubSR300RGBController attached to turtlebot3_with_open_manipulator_SR300/RosBridgeScripts)
If you want to finish, stop the Unity side and then the ROS side.
Ubuntu side (The details may differ from the latest version)
#ref(): File not found: "TurtleBot3GraspAutoUbuntu.png" at page "Melodic_(TurtleBot3)Grasp Automatically"
Windows side (The details may differ from the latest version)
#ref(): File not found: "TurtleBot3GraspAutoWindows.png" at page "Melodic_(TurtleBot3)Grasp Automatically"
Windows side (grasped "clock") (The details may differ from the latest version)
#ref(): File not found: "TurtleBot3GraspAutoWindowsGrasping.png" at page "Melodic_(TurtleBot3)Grasp Automatically"
Reference Video (Image recognition is slow because no GPU is used.)