• Home
  • /
  • 記事を探す
  • /
  • NVIDIA×Frankaで始めるロボット開発!環境を認識して動かす仕組み

NVIDIA×Frankaで始めるロボット開発!環境を認識して動かす仕組み

........

  • 更新日
  • 公開日
  • 2025.07.02

 「ロボットはまったくの初めてで、何もわからない状態からのスタートでした。それでも、何とか動かすことができたんです」そう語るのは、今回ロボットによる障害物回避デモの構築にゼロから挑戦した、菱洋エレクトロの高橋さん。

 本記事では、高橋さんが初めてロボット開発に挑戦した過程をたどりながら、NVIDIA Issac ROSとFrancaロボットを使った障害物回避デモの構築についてご紹介します。ロボット開発に興味がある方や、NVIDIAの技術に触れてみたい方は、ぜひ最後までご覧ください。

1. 実践!FrankaとNVIDIAで障害物回避デモを構築

 まずは、今回構築した障害物回避デモの様子をご覧ください。

 デモ動画では、Franka Research 3(以下、FR3)がスタート地点からゴールへ向かう途中に置かれた黒い箱を障害物として認識し、最適な回避軌道に沿ってスムーズに回避しています。リアルタイムで環境を認識し、最適な軌道を計算して動作するという、まさに考えるロボットのような動きをしています。

 この滑らかな動きを実現するために、どんなハードウェア、ソフトウェアを使用しているのか、実際に構築したデモ環境をご紹介します。

▲構成図
構成要素 仕様
ハードウェア
  • Franka FR3:1台
  • NVIDIA Jetson AGX Orin:1台
  • RealSense Depth Camera D455 or D435i:1~2台
  • LANケーブル:3本
  • USB3.2対応ケーブル(3m以内):1~2本(カメラの数により異なる)
  • 三脚
  • パソコン(Franka Desk用)
ソフトウェア
  • Jetson OS : Ubuntu 22.04
  • Jetson-Linux : r36.4.3
  • Jetpack : 6.2
  • ROS(Robot Operating System) : ROS2 humble
  • NVIDIA Isaac ROS : 3.2
  • Depth Camera FW ver : 5.16.0.1
  • RealSense firmware : 2.55.1
ワークステーション
  • 型番:SuperMicro AS -5014A-TT

 これらが連携することで、FR3は周囲の環境を理解し、リアルタイムでの障害物回避といった高度な動作が可能になります。特に重要な役割を果たすのが、ワークステーション上で動作するNVIDIA Isaac ROSです。

 NVIDIA Isaac ROSは、オープンソースのROS2(Robot Operating System 2)をベースとした、NVIDIA製のソフトウェアパッケージコレクションです。JetsonプラットフォームやディスクリートGPU(高性能グラフィックボード)の計算能力を最大限に活かして、ロボット制御におけるCPU負荷の高い処理(コンピュータービジョン、モーションプランニング、SLAMなど)を効率化しています。

2. なぜFranka Research 3を選んだのか?

 高橋さんは、今回の開発をこう振り返ります。

 実際にやってみると、ロボットを動かすだけでもROSの理解が必要で、環境構築には想像以上の時間がかかりました。「なんでこれが動かないんだ?」の連続で、チュートリアルの通りに進めているつもりでも、設定やファイルの修正が足りていないことに後から気づくことも多々ありました。ロボット制御における「当たり前」の知識があればすぐに解決できたであろう部分で、多くの時間を費やしてしまったのが正直なところです。
 そんな中でも、NVIDIA Isaac ROSという強力なソフトウェアプラットフォームを活かすことで、開発を前に進めることができました。
そのためには、Isaac ROSと高い親和性を持つロボットを選ぶことが重要です。今回、数ある選択肢の中から「FR3」を選んだ理由は、大きく2つあります。

理由1. 充実したサポートと活発なコミュニティ

 まず1つ目の理由は、開発を支えるサポート体制と情報共有のしやすさです。

【公式franka_ros2パッケージ】

 Franka Roboticsは、GitHub上でFR3をROS 2で制御するための公式パッケージ(franka_ros2)を公開しています。
 メーカ自身がROS 2を積極的にサポートしており、ロボットの基本操作や、センサ情報の取得、外部からの制御コマンドの受信など、必要な機能がひととおり揃っています。


【豊富なドキュメントとチュートリアル】

 公式パッケージには、詳細なドキュメントやチュートリアルが整備されており、ROS 2環境に不慣れな開発者でもセットアップや基本的な使い方をスムーズに学べます。

【活発なコミュニティと情報入手の容易さ】

 オンラインフォーラムや開発者コミュニティも活発で、似た課題に直面したユーザの情報が見つかる点も大きな魅力です。質問しやすい環境が整っていることで、開発のハードルが大きく下がります。


 このように、公式サポートが充実しており、必要な情報にもアクセスしやすいことから、ROS 2をベースとした開発をスムーズに始められるのがFR3の大きな強みです。

理由2. NVIDIA Isaac Manipulatorとの高い親和性と実績

 もう1つの理由は、NVIDIA Isaacプラットフォームとの高い親和性です。
 Isaac ROSには、豊富なチュートリアルやサンプルが用意されており、ROSの知識が十分でない方でも、環境構築から動作制御までを段階的に進めることができます。

 中でも注目すべきは、ロボット向けの機能群「Isaac Manipulator」です。
 これは、カメラを使った物体検出や姿勢推定、そして今回のデモでも活用した衝突回避モーションプランニング機能「cuMotion」などを含む重要なコンポーネントです。

 FR3は、このIsaac ManipulatorにおいてNVIDIAが公式にテストとリファレンス提供を行っている数少ないロボットのひとつであり、安心して開発に取り組める環境が整っています。

【補足】ロボットを賢く動かすIsaac Manipulatorの仕組み

 Isaac Manipulatorは、大まかに次のような流れで処理を行います。

  1. 入力(Input):ロボットの「目」となるカメラから、周囲の環境情報を取り込み
  2. 環境認識(Environment Perception):取り込んだ情報から、3次元空間を再構築し、障害物を認識する
  3. 動作計画(Motion Planning):認識した障害物を避けて、目的地に到達する最適なアーム動作を計算する
  4. 出力(Output):計算された軌道情報をロボットコントローラーへ送信し、実際にアームを動かす
▲Isaac Manipulatorのセットアップ画面

 この一連の流れで特に重要な役割を果たすのが、環境認識を担う「NVblox」と動作計画を担う「cuMotion」です。

【NVbloxとは】

カメラで捉えた周囲の状況から、リアルタイムに3Dの地図(作業環境のモデル)を構築する技術です。深度カメラ(奥行きがわかるカメラ)からの情報を基に、障害物や壁の位置・形状を立体的なデータとして瞬時に把握します。

【cuMotionとは】

NVbloxが作成した3D地図とロボット自身の情報(どこにいて、どんな形をしているか)、そして「どこへ行きたいか」という目標情報を基に、障害物にぶつからない最も効率的な動きを高速に計算します。

 これらの理由から、今回の「NVIDIA Isaac ROSを使った障害物回避デモ」の実現には、FR3が最適なパートナーであると判断しました。次章では、実際に開発を進めるうえで重要なポイント、「cuMotion」でFR3を動かすための設定についてご紹介します。

3. 開発のポイント|cuMotionで滑らかなロボットアームを動かす

 今回のデモの中心となるのが、cuMotionによる軌道計画です。
 ただし、cuMotionの性能を最大限に発揮するためには、ロボット自身の情報や周囲の環境情報を正確に伝える必要があります。

 まずは、cuMotionがどのようなものかを簡単におさらいしておきましょう。

最適な動作を高速に計算するcuMotion

 cuMotionは、NVIDIA Isaac ROSの「Isaac Manipulator」に含まれる主要コンポーネントのひとつです。NVIDIA CUDA(GPUアクセラレーション)を活用し、複雑な動作計画を高速に実行できるモーションプランニングライブラリです。

 カメラから取得した障害物の位置や形状、ロボットアームの構造や関節の可動範囲などの情報を基に、衝突しない最適な動作経路を瞬時に計算します。

カメラの位置調整が成功のカギ

 cuMotionの精度を高めるには、ロボットの「目」となるカメラからの正確な環境情報が重要です。障害物を正しく認識できなければ、どんなに優れたプランナーでも適切な回避行動はできません。

 今回のデモでは、Intel RealSense D435i深度カメラを2台使用しました。1台でも動作は可能ですが、2台にすることで死角を減らし、より広範囲かつ高精度な認識を目指しました。

 カメラの設置位置や角度は、認識精度に大きく影響します。例えば、次のような問題が発生するケースがあります。

  • ロボットアームの動きによってカメラの視界が遮られてしまう
  • 作業対象物や障害物がカメラの死角に入ってしまう
  • 照明条件によって障害物の認識が不安定になる

 実際の開発では、FR3を動かしながら試行錯誤を重ね、最適なカメラの位置や向き、照明条件などを調整していきました。これらの作業は、cuMotionの性能を引き出すための重要なポイントです。

4. 仮想空間で検証!NVIDIA Isaac Simが支えるロボット開発の新常識

 ロボット開発では、プログラムをいきなり実機でテストすることは、機材の破損や予期せぬ事故のリスクが伴います。そこで重要になるのが、現実に近いシミュレーション環境の活用です。

 NVIDIAは、Omniverseプラットフォームを基盤とした、物理ベースの高精度ロボットシミュレータ「NVIDIA Isaac Sim」を提供しています。

Isaac Simとは?

 Isaac Simは、ロボットアプリケーションの開発、テスト、トレーニングのための強力なシミュレーションツールです。

 物理的なロボットアームや作業環境(障害物、作業対象物など)を、フォトリアルなグラフィックスで仮想空間内に構築できます。カメラやLiDAR、深度センサといった各種センサもシミュレート可能です。これにより、センサデータに基づいたリアルな環境認識とモーションプランニングのテストが実施できます。

 Isaac Sim単独でも、ロボットの動作検証やアルゴリズム開発において非常に魅力的な環境を提供しています。しかし、その真価はさらに先の「実機との連携」です。今回のデモでは、この実機連携を実演しました。

仮想と現実がシンクロ

 今回のデモでは、障害物回避の環境をベースにIsaac Simを動作させる専用ワークステーションを追加し、実機とリアルタイムの連携を実現しました。

 基本的な仕組みは次のとおりです。

  1. 実機のFR3は、制御用ワークステーション上のIsaac ROS(cuMotion)によって障害物回避の軌道を計画・実行
  2. 実機の状態情報(各関節の角度や動作)が、ネットワーク経由でリアルタイムにIsaac Simへ送信される

  3. Isaac Sim上の仮想FR3が、受信した状態情報をもとに実機と同じ動きをリアルタイムに再現する

 モニター上では、Isaac Simのリアルな3D空間内で動く仮想FR3と、現実世界で同じ動きをする実機FR3を並べて観察でき、仮想と現実の動作が同期している様子が確認できます。

▲専用のワークステーションIsaac Simを追加
追加された構成要素 仕様
Isaac Sim用ワークステーション
  • OS:Ubuntu 22.04 LTS
  • 主要ソフトウェア:NVIDIA Isaac Sim
  • GPU:NVIDIA RTX 5000 × 2
  • 型番:HP Z8

 今回のデモでは「実機からIsaac Sim」の一方向のデータフローでしたが、逆方向の「Isaac Simから実機」といった連携も可能です。これにより、仮想空間で最適化した動作プログラムを、スムーズに実機に適用できます。

 Isaac Simは、ロボットの開発サイクルの短縮、バグの早期発見、そして何よりも安全な開発環境の構築に大きく貢献しています。

5. まとめ

 今回は、Franka FR3とNVIDIA Isaac ROS、そしてIsaac Simを連携させた障害物回避デモをご紹介しました。現代のロボット開発がどれほど進化しているか、その一端を感じていただけたのではないでしょうか。

 最後に、デモ構築を実施した菱洋エレクトロの高橋さんに、今後のロボット開発について伺いました。

 ロボット開発は、AIやシミュレーション技術の進化によって急速に進んでいます。かつては研究段階であった技術が今では実用レベルで現場に導入されつつあります。中でもIsaac Simのような高精度シミュレータは、現実に近い環境を仮想空間で再現でき、開発やテストの効率を大きく向上させました。これにより、従来は現場でしか解決できなかった課題も、デスク上で対応可能になっています。

 さらに、強化学習や模倣学習といったAI技術の導入により、ロボットは環境に適応し、柔軟な動作が可能になってきました。人と安全で自然に協働できる未来が、確実に近づいていると感じています。

 NVIDIAが提唱する“フィジカルAI”という世界観も、まさに現実のものとなりつつあります。ロボット技術は、製造業だけでなく、設計、スマートファクトリー、インフラ、メタバースなど幅広い分野に応用されており、今後の展開から目が離せません。

 この記事が、ロボット開発に挑戦したい方や、NVIDIA Isaacプラットフォームに興味を持っている方にとって、少しでも具体的なイメージを描くきっかけになれば幸いです。

編集者:安田朋史

こんな記事もおすすめ

その他お役立ち情報を探す

記事一覧にもどる

関連イベント