Lime

TurtleBot3 Limeをご紹介いたします。これは、TurtleBot3 Friendsとして正式登録された、TurtleBot3の派生モデルであり、Waffleをベースとしています。これに、

  • Raspberry PiからJetson Orin Nanoへの置換
  • 6軸アーム追加
  • 車輪径の拡大
  • RealSense D435i追加

等を行ったもので、ROBOTIS Japanからキットとして販売されています(当初は日本限定)(ROBOTISページ)。

〇 Lime開発の狙い

Limeは、“ROSロボットの次世代標準”を目指しています。momoi.orgは、その企画に当初から参加するとともに、アプリケーションプログラムの開発を行っております。そこでは、深層学習技術の導入をより容易にする基盤ソフトの開発を行うとともに、NVIDIA社のOmniverse/Isaac ROSの活用も試みています。

深層学習技術の爆発的な発展は、ロボット技術にも大きな影響を与えています。たとえば、画像処理では不可欠の要素になっていますし、LLMによるロボット制御も話題になっています。ROS技術も、そのような傾向に配慮する必要に迫られていると言っても過言ではありません。

Limeは、そのような背景から、エッジGPU、深度カメラの導入を試みたものです。また、深層学習技術を中心とした、いわゆるロボットAI技術を用いた高度技術の試行が行いやすいように、6軸アームを付加してあります。

これによって、家庭や工場など実際的な環境を想定したロボットAIの開発にも活用できるようになりました。現場で用いられるロボットを試行の最初から用いるのは、コストや安全性の観点から望ましくありませんので、Limeを用いた研究・開発をまず行ってみるのが全体としてみると最適な手順である可能性があります。

また、OmniverseによるDigital Twin環境でのシミュレーションも準備中です。新しい技術、新しい対象、新しい環境で、ROS技術をより一層飛躍させる契機となることを願っています。

〇 Lime利用の実際

Limeは、Waffleをベースにしているので、既存のTB3とほぼ同一の利用法であり、ROBOTISのe-manualが用意される予定です。Humbleが使用されています。実機、Gazeboによるシミュレーションともに可能です。

これらのベースに加えて、momoi.orgにおいて、サンプルアプリケーションを用意しました。閉領域のどこかに置かれたコーラ缶に対して、Limeが、

  • コーラ缶を探索
  • 発見したコーラ缶に接近
  • ピッキング
  • 搬送とプレース

等を行う要素を含んでいます。これらをまとめた動作例のコードをGitHub LimeDemoLimeSimulDemoに公開しました。

このデモの趣旨は、複数のアルゴリズムを含む複雑な制御系をROS上に構築する、一つの方法を示すことにあります。

これを可能にするために、Behavior Treeを用いるだけでなく、ros_actorとよばれる新しい機構を開発して使用しています。Behavior Treeは、すでにROSの制御に広く用いられていますが、基本的に定期的なポーリングにしたがって状態が遷移してゆくので、より細かな、フィードバック制御等は実現できない問題がありました。そこで、Behavior Treeの下位で用いることを想定した、リアルタイムの動作単位であるactor機構を実現しているのが、ros_actorライブラリです。

ros_actorは、スレッドの割り当て機構を含み、フィードバック制御等の動作単位を簡単な方法で呼び出せるようにしたスケジューリング、ラッピング機構です。また、actor単位で個別に呼び出して実行させることができるので、開発ツールとしても有効であることが判明しました。

別ページにおいて、以下の詳細を説明いたします。