自律航行は、ロボットシステムにとって不可欠なステップです。自律移動ロボット(AMR)の航行において不可欠な要素の一つが、「ビジュアルSLAM」、すなわち視覚的同時位置推定・地図作成(Visual SLAM)です。ビジュアルSLAMとは、カメラで撮影した画像を用いて、環境の地図作成とロボットの位置推定を同時に行う技術です。火星探査に使用されたフェニックス着陸機、オポチュニティ探査車、インジェニュイティヘリコプターは、自律航行や着陸のためにビジュアルSLAMアルゴリズムを活用しています。 その他の応用例としては、掃除機、内視鏡、および無人航空機、無人地上ロボット、無人水中ロボットなどが挙げられ、これらでは機械がタスクの自動化を行っています。
ビジュアルSLAMでは、カメラで取得した画像から姿勢を推定し、マップを生成するために、膨大な計算能力が必要です。ビジュアルSLAM(VSLAM)アルゴリズムの大部分はCPUの処理能力に依存しているため、リアルタイムでの姿勢推定やマップ作成には制限があります。 Isaac ROS(Robot Operating System)、VSLAM、およびNvbloxは、自律移動ロボット(AMR)のナビゲーションのために、姿勢推定と周囲環境のマップ作成をリアルタイムで行うのを支援する、GPUアクセラレーション対応のROS2パッケージです。AMRの自律航行において、Isaac ROS VSLAMとNvbloxがRealSenseカメラとどの程度連携して機能するかを確認するための実験が行われています。
図1は、NVIDIA ISAAC ROS Visual SLAMとNvbloxパイプラインの動作と統合を示しています。ここでは、VSLAMが姿勢を推定し、Nvbloxが周囲環境のマップを再構築することで、ロボットの自律航行を実現しています。
NVIDIA Isaac ROS VSLAMは、ステレオ視覚による位置推定とマッピングを同時に行うROS2パッケージです。これは、時刻同期されたステレオ画像ペアを用いてステレオ視覚慣性オドメトリを計算し、Isaac ElbrusのGPUアクセラレーションライブラリを利用します。視覚慣性オドメトリ、最適化、およびマッピングは、Isaac ROS VSLAMを構成する3つの要素です。 視覚オドメトリ(VO)は、カメラの開始点に対する相対位置を推定する技術です。図1に示すVOポーズは、VOによって推定されます。視覚同時位置推定・マッピング(VSLAM)手法は、このVOポーズを基盤として構築されており、ループ閉鎖の検出や、以前に認識された環境の領域を用いてSLAMポーズを推定することで、VOポーズの精度向上を目指しています。 Elbrusは、視覚データに加え、慣性計測装置(IMU)からの計測値も利用できます。照明が不十分だったり、カメラの正面に特徴のない長い面があったりするなど、VOで姿勢を推定できない場合、IMUに切り替わります。図1は、V-SLAMによって推定されたSLAM姿勢を示しています。
NVIDIA Isaac ROS Nvbloxは、カメラ画像から AMR の周囲環境をリアルタイムで 3D 再構築するために使用される ROS2 パッケージです。この再構築結果は、安全なナビゲーション経路を生成するための経路計画アルゴリズムで使用されることを目的としています。 Nvbloxは、この処理を高速化し、リアルタイム動作を可能にするためにNVIDIA CUDAを活用しています。このリポジトリには、NvbloxコアライブラリのROS2統合が含まれています。Nvbloxアルゴリズムは、切り捨て符号付き距離関数(TSDF)、メッシュ、およびユークリッド符号付き距離関数(ESDF)という3つの主要なコンポーネントで構成されています。 Nvbloxは、RGB画像、深度画像、およびSLAMポーズを入力として受け取り、可視化用のメッシュと経路計画用の距離スライスマップを出力します。Nvbloxは、RGB画像と深度画像のストリーム、および深度画像に対応するポーズから、2D距離マップスライスと3Dメッシュを生成します。可視化のために周囲環境の3D再構築に色付けを行うために使用されるRGB画像ストリームは、オプションです。 2D距離マップスライスは、各点と最も近い再構築された障害物との距離、およびRVIZ可視化用の3Dメッシュを表示します。可視化のための周囲環境の3D再構築はオプションです。2D距離マップスライスは、各点と最も近い再構築された障害物との距離に加え、RVIZ可視化用の3Dメッシュを表示します。
Isaac ROS V-SLAM、Nvblox、およびNav2スタックを使用したAMR自律航行のパイプライン全体を図2に示す。このパイプラインは、Realsenseカメラノード、Isaac ROS V-SLAMノード、Isaac ROS Nvbloxノード、Nav2ノード、およびRvizノードの5つのノードで構成されている。次の段落では、各ブロックについて説明する。
図3は、AMRと、その上に搭載されたRealSenseカメラが捉えた映像、およびその結果として生成された3D点群マップをメッシュとして示したものである。図4は、生成されたマップに、目標状態と計画経路を表示し、AMRが計画経路に沿って安全に目標状態へ到達する様子を示している。
図3:左側の画像は実験室環境におけるAMRを示し、中央の画像はAMRが捉えた映像を示し、右側の画像はメッシュとして生成された3Dマップを示しています。
図4:左側の図は、指定された目標地点を含む生成されたマップを示しており、2番目の図は計画された経路を表し、右側の3番目の図はAMRが目標地点に到達したことを示している。
実験室内でAMRを自律走行させるため、Intel RealSenseカメラがIsaac ROS VSLAM、Isaac ROS Nvblox、およびNav2の各スタックに統合されました。AMRは、マッピングとナビゲーションを目的として実験室内を移動しました。 Isaac ROS VSLAMは、AMRのオドメトリを正確に推定すると同時に、AMR周辺の環境マップを作成することに成功しました。GPUアクセラレーションにより、NVIDIA Isaac ROS VSLAMおよびNvbloxパイプラインはリアルタイム性能を実現しています。同時に、VSLAMアルゴリズムはマップ上の位置を特定し、安全なナビゲーションのためのマップを作成しました。 本実験の成果が、ロボットエンジニアによる様々な商用ロボット製品の開発に役立つことを願っています。詳細については、著者までお問い合わせください。
サガル・ダトラク氏は2011年に電子工学の修士号を取得し、2021年に単眼視覚SLAMに関する博士論文を提出しました。現在はEinfochips(Arrow傘下の企業)でVSLAMの専門家として勤務し、視覚SLAMを用いた自律移動ロボットの自律航法に関する研究に従事しています。彼は約6年間にわたり、組み込みシステムやロボティクス関連のプロジェクトに携わってきました。
ナイティック・ナクラニ氏は現在、アーロウ・グループ傘下のEinfochips(アーメダバード拠点)にてソリューションエンジニアとして勤務しています。 博士号を取得しており、ロボティクス、SLAM、ナビゲーション、制御システム設計、AI/ML、信号処理、コンピュータビジョンなどの分野で9年以上の研究開発(R&D)の実績を有しています。現在は、AMRシステムの設計・開発における課題を解決するため、ROS/ROS2ベースのアルゴリズムを用いた様々なPoC(概念実証)に取り組んでいます。また、様々な組み込みプラットフォーム、距離センサー、ビジョンセンサー、およびシステムのプロファイリングやベンチマークに関する実務経験も持っています。
当社の自動車ソリューションの専門家による30分間の相談を予約する
当社のバッテリー管理ソリューションの専門家による30分間の相談を予約する
当社の産業・エネルギーソリューションの専門家による30分間の相談会をご予約ください
当社の専門家による30分間の相談を予約する