- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
[[Tutorial using ROS for ver.3]]
* TurtleBot3による把持(自動把持)の実行 [#e93a5390]
このサンプルは、物体の自動把持を行うシンプルなサンプルです。
TurtleBot3にはOpenManipulatorが付いています。
darknet_ros(YOLO)による物体認識や、Point Cloudデータを使用しています。~
またYOLOによる物体認識を行うため、Ubuntu環境にCUDAをインストールする必要があります。~
CUDAをインストールしなくともCPUを使用して動かすことは可能ですが、物体認識の速度が非常に遅くなります。
操作の概略は以下の通りです。
+ キー操作でTurtleBot3を物体の手前まで移動する。
+ なるべくカラー画像の中心付近に把持対象が映るようにTurtleBot3を動かす。
+ キー操作で把持する物体を指定する。
上記の操作を行うと、TurtleBot3は以下のような流れで物体の把持を試みます。
+ darknet_ros(YOLO)が、カラー画像を使用して物体認識を行う。
+ カラー画像とPoint Cloud情報を使用して、物体の3次元座標を推測する。
+ 算出した3次元座標の位置を把持する。
Open Manipulatorの仕様は、[[こちら>http://emanual.robotis.com/docs/en/platform/turtlebot3/manipulation/#manipulation]]をご参照ください。~
カメラの仕様は、[[こちら>http://emanual.robotis.com/docs/en/platform/turtlebot3/appendix_realsense/]]をご参照ください。~
またカメラに関しては深度センサの最短距離が短い方が都合が良かったため、RealSense R200ではなく、RealSense SR300を使用します。
** Ubuntu環境の構築 [#c709f1fe]
本サンプルでは darknet_ros(YOLO)をUbuntu環境にインストールする必要があります。~
まずはrosを使用しない[[通常のdarknet>https://github.com/pjreddie/darknet]]の動作確認を行うことをお勧めします。~
''darknet_rosはバージョン1.1.4で動作確認済みです。''
手順は以下の通り
+ CUDAを[[こちら>https://developer.nvidia.com/cuda-downloads]]からダウンロードしてインストールする。(前述のとおりCUDAをインストールしなくともCPUを使用して動かすことは可能です)~
(詳細は各自のPCやNVIDIA Driverの環境に合わせて行ってください)
+darknet_rosを git cloneする。([[参考>https://github.com/leggedrobotics/darknet_ros]])~
但し、動作確認済みのコミットをチェックアウトし、追加データもダウンロードしてください。
$ cd ~/catkin_ws/src
$ git clone --recursive https://github.com/leggedrobotics/darknet_ros.git
$ cd darknet_ros
$ 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
** 起動手順 [#bc27b1e9]
まずUbuntu側を起動します。その後 Windows側を起動してください。
*** Ubuntu側の起動手順 [#l39593fd]
新しいターミナルを開き、以下のコマンドを実行します。
$ roslaunch sigverse_turtlebot3_open_manipulator grasping_auto.launch
*** Windows側の起動手順 [#df821e14]
[[こちら>Tutorial using ROS for ver.3#open_scene]]を参考に[Assets/SIGVerse/ExampleScenes/Turtlebot3/OpenManipulatorSR300(.unity)]シーンを開始します。
** 実行 [#sd88b953]
Ubuntu側の grasping_auto という名前のターミナル上でキー操作を行うとTurtleBot3を操作できます。
※操作方法の詳細はターミナルの表示を確認してください。
終了する際は、Unity側を停止させてからROS側を終了してください。
Ubuntu側
#ref(TurtleBot3GraspAutoUbuntu.png)
Windows側
#ref(TurtleBot3GraspAutoWindows.png)
Windows側 ("clock"を把持した)
#ref(TurtleBot3GraspAutoWindowsGrasping.png)
----
''Reference Video'' ~
(GPUを使用していないので物体認識速度は遅いです)
#youtube(eZgu1bO7KMM)