このサンプルは、物体の自動把持を行うシンプルなサンプルです。
darknet_ros(YOLO)による物体認識や、Point Cloudデータを使用しています。
またYOLOによる物体認識を行うため、Ubuntu環境にCUDAをインストールする必要があります。
CUDAをインストールしなくともCPUを使用して動かすことは可能ですが、物体認識の速度が非常に遅くなります。
操作の概略は以下の通りです。
上記の操作を行うと、以下のような流れで物体の把持を試みます。
Open Manipulatorの仕様は、こちらをご参照ください。
カメラの仕様は、こちらをご参照ください。
またカメラは深度センサの最短距離が短い方が都合が良かったため、RealSense R200ではなく、RealSense SR300を使用します。
本サンプルでは darknet_ros(YOLO)をUbuntu環境にインストールする必要があります。
まずはrosを使用しない通常のdarknetの動作確認を行うことをお勧めします。
以下のdarknet_rosはバージョン1.1.4で動作確認済みです。
手順は以下の通り
$ 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
$ cd ~/catkin_ws $ catkin_make -DCMAKE_BUILD_TYPE=Release
まずUbuntu側を起動します。その後 Windows側を起動してください。
新しいターミナルを開き、以下のコマンドを実行します。
$ roslaunch sigverse_turtlebot3_open_manipulator grasping_auto.launch
こちらを参考に[Assets/SIGVerse/SampleScenes/Turtlebot3/OpenManipulatorSR300(.unity)]シーンを開始します。
Ubuntu側の grasping_auto という名前のターミナル上でキー操作を行うとTurtleBot3を操作できます。
※操作方法の詳細はターミナルの表示を確認してください。
終了する際は、Unity側を停止させてからROS側を終了してください。
Ubuntu
Windows
Windows ("clock"を把持した)