こんにちは 自律移動ロボットとrosと格闘しているhutonです.
この記事ではNvidiaが提供するGPUやjetson向けのROSである
NVIDIA Isaac™ Robot Operating System (ROS)
issac ROSについて勉強を兼ねてまとめます.
※あまり詳しくない筆者が変なことを言っている可能性があるのでご指摘あればお願いします.
NVIDIA Isaac™ Robot Operating System (ROS) コレクションは、ハードウェア アクセラレーションされたパッケージを使用して、高性能なソリューションをより速く、簡単に構築する方法を提供します。これには複数のオープンソースのオプションが含まれており、ROS 開発者に NVIDIA® Jetson™ などの NVIDIA ハードウェア上で構築する新しい手法を提供するよう設計されています。
ハードウェアアクセラセーションされているため,jetsonの力をフルで利用できるROS
頭の良いソフトウェア見たいです.
何個かおもしろそうなパッケージがあるのでピックアップして,その後,実際に動かしてみます.
Isaac_ros_common
isaac_rosの動作に 避けては通れない パッケージです.
中にはDockerfileが含まれていて,基本的にこの中でビルドや実行をしていきます.
jetpack5.x系列はubuntu 20.04がベースのため,ROS2 humbleを動かせる(無理矢理)のは便利です.
Isaac_ros_nitros
謎の半導体企業nvidiaにより,ゼロコピーでノードごとのデータのやり取りが可能らしい
(一体何を言っているんだ)
isaac_ros_image_pipeline
起動するだけでバカ食いする画像にまつわる歪み補正やサイズ変更などなどの機能をもつ
image_pipelineを上記のnitrosを使ってcpuベースからGPUベースに
置き換えるパッケージらしいです.
↓こんな苦労が強調されてる
確実に置き換えるために多大な努力が払われました。
Isaac_ros_pointcloud_utils
実質GPUが使えるpointcloud_to_lazerscan
Isaac_ros_dnn_inference
ROS2上でNVIDIA Triton/TensorRTを使うための便利パッケージ
モデルの最適化をするTensorRTの恩恵をフルに受けれれるようです.
これを利用したyolov5などなどがあります
紹介はこれくらいにして,実際にjetsonで動作させて見ましょう.
- はじめにこのドキュメントに従って開発の環境を構築します.
- 次にnitorosやその他諸々をworkspacesにclone,docker内でbuildします
buildできない!!!!!!!!!!??????
nitorosとimage_pipelineで無限に怒られる......
とほほ...
今回は修論の締切がまずいのでここまで