[[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)