お疲れ様です。秋並です。
昨今、フィジカルAIの台頭により、一層注目が集まっているロボティクス分野ですが、本シリーズではUnity+ROS2を使ったロボット制御の方法について解説していきたいと思います。
本記事を通して、ロボティクスに関する知識が深まるきっかけとなれば幸いです。
目次
随時、関連記事を追記します。
- ROSとUnityを連携するための、初期環境セットアップ
- 様々なセンサーを使ってみる
- 移動ロボットをcmd_velで制御する
- 移動ロボットをnavigation2で制御する
- ロボットアームをコントローラーで制御する
- ロボットアームをmoveit2で制御する
- ロボットアームでフィジカルAIを試す
他にも、随時追加予定
コラム:Unityを選んだ理由
フィジカルAIといえば、
- NVIDIAのisaac-sim
が最も有名だと思います。しかし、isaac-simは、PCの要求スペックが非常に高いため、高価なPCを用意する必要があります。
そこで、isaac-sim以外で候補となりそうなシミュレータを検討した結果、勉強用として一番バランスがよさそうなUnityを採用することとしました。
- Unityを使うメリット
- Unityが公式でROS連携パッケージ(ROS-TCP-Connector, ROS-TCP-endpoint)を用意してくれているので、一定の安心感がある。
- アセットストアがあるため、拡張性は圧倒的に高い。やろうと思えばなんでもできる。
- Unityを使うデメリット
- 本来はゲーム用なので、(設定にもよるが)精度はそこまで高くない。本格的にロボットのシミュレーションをしたいなら、isaac-simなどの専用シミュレータの方が良い。