[[Tutorial using ROS for ver.3]]

* Grasping with TurtleBot3 automatically [#e93a5390]

This sample is a simple sample that automatically grips an object.

TurtleBot3 has OpenManipulator.

Please refer to [[here>http://emanual.robotis.com/docs/en/platform/turtlebot3/manipulation/#manipulation]] for the specifications of Open Manipulator. ~
Please refer to [[here>http://emanual.robotis.com/docs/en/platform/turtlebot3/appendix_realsense/]] for camera specifications.

Object recognition by darknet_ros (YOLO) and Point Cloud data are used. ~
In addition, CUDA must be installed in the Ubuntu environment in order to perform YOLO object recognition. ~
Although it is possible to operate using the CPU without installing CUDA, the object recognition speed is very slow.

The outline of the operation is as follows.

+ Move the TurtleBot3 to the front of the object by key operation.
+ Move the TurtleBot3 so that the gripping target appears as close to the center of the color image as possible.
+ Specify the object to be gripped by key operation.

When the above operation is performed, an attempt is made to grip the object in the following flow.

+ darknet_ros (YOLO) performs object recognition using the color image output by TurtleBot3.
+ Estimate the 3D coordinates of an object using the position of the object in the color image and Point Cloud information.
+ Grasp the calculated 3D coordinate position.


Please refer to [[here>http://emanual.robotis.com/docs/en/platform/turtlebot3/manipulation/#manipulation]] for the specifications of Open Manipulator. ~
Please refer to [[here>http://emanual.robotis.com/docs/en/platform/turtlebot3/appendix_realsense/]] for camera specifications. ~
Also, since it was more convenient for the camera to have the shortest distance from the depth sensor, use RealSense SR300 instead of RealSense R200.


** Build Ubuntu environment [#c709f1fe]

In this sample, darknet_ros (YOLO) needs to be installed in Ubuntu environment. ~
It is recommended to check the operation of [[normal darknet> https://github.com/pjreddie/darknet]] without using ros. ~
''The following darknet_ros has been confirmed to work with version 1.1.4. ''

The procedure is as follows
+ Download and install CUDA from [[here] https://developer.nvidia.com/cuda-downloads]]. (As mentioned above, it is possible to run using the CPU without installing CUDA) ~
(For details, please adjust according to your PC and NVIDIA Driver environment.)
+ Git clone darknet_ros. ([[Reference> https://github.com/leggedrobotics/darknet_ros]]) ~
However, please check out the committed commit and download additional data.
 $ cd ~/catkin_ws/src
 $ git clone --recursive https://github.com/leggedrobotics/darknet_ros.git
 $ git checkout ac666ab8e8e3dd23a8a95d891fb90874e63c8cb5
 $ cd ~/catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights/
 $ wget http://pjreddie.com/media/files/yolo.weights
+darknet_rosをインストールする。([[参考>https://github.com/leggedrobotics/darknet_ros]])
 $ cd ~/catkin_ws
 $ catkin_make -DCMAKE_BUILD_TYPE=Release


** Startup Procedure [#bc27b1e9]

First, start Ubuntu. Then start Windows.

*** Ubuntu side startup procedure [#l39593fd]

Open a new terminal and run the following command:
 $ roslaunch sigverse_turtlebot3_open_manipulator grasping_auto.launch

*** Windows startup procedure [#df821e14]

Start the [Assets/SIGVerse/SampleScenes/Turtlebot3/OpenManipulatorSR300(.unity)] scene with reference to [[here>Tutorial using ROS for ver.3#open_scene]].


** Run [#sd88b953]

You can operate TurtleBot3 by key operation on the terminal named grasping_auto on Ubuntu side.

~* Check the terminal for details of the operation.

If you want to finish, stop the Unity side and then the ROS side.


Ubuntu side
#ref(TurtleBot3GraspAutoUbuntu.png)

Windows side
#ref(TurtleBot3GraspAutoWindows.png)

Windows side (grasped "clock")
#ref(TurtleBot3GraspAutoWindowsGrasping.png)

Front page   New List of pages Search Recent changes   Help   RSS of recent changes