ROS 2コンポーネントによるAMRとAGV統合の簡素化

著者 Kenton Williston氏

DigiKeyの北米担当編集者の提供

自律移動ロボット(AMR)や無人搬送車(AGV)には、センサ、モータ、ナビゲーション、人工知能(AI)に基づく意思決定など、複数のサブシステムにまたがる緊密な連携が求められます。これらすべてのサブシステムを統合することは、開発者にとって困難です。

ロボットオペレーティングシステム(ROS)は、この複雑さを克服するソリューションを提供します。ROSは、標準化された通信フレームワークと再利用可能なパッケージの大規模なエコシステムを提供するオープンソースのロボティクスミドルウェアです。ROSをネイティブにサポートするコンポーネントを選択することで、設計者は、ソフトウェアでアドレス指定可能な機能を備えた、あらかじめ構築されたハードウェアモジュールを使用することができ、起動時間を短縮し、相互運用性を向上させることができます。

この記事では、AMRとAGVの設計者が直面する課題と、ROSがどのように役立つかについて簡単に説明します。続いて、モータコントローラ、慣性計測ユニット(IMU)、飛行時間(ToF)センサなど、Analog Devices(ADI)のROS対応ハードウェアを取り上げ、これらのコンポーネントがROSソフトウェアスタックとどのように統合され、製品開発が加速されるかをご紹介します。

AMRとAGV統合の課題

AMRやAGVの設計では、統合作業が初期のスケジュールの大部分を占めることがあります。ハードウェア層では、チームはコンポーネントを選択し、インターフェースを設計し、シグナルインテグリティとタイミングを検証しなければなりません。ソフトウェア層では、ドライバをロードし、データフローを定義し、システムが実世界の状況で予測可能な動作をすることを保証しなければなりません。

優秀なチームであれば、社内の設計でこうした目標を達成できますが、そうすることは、多くの場合、既製の機能の再構築を意味します。 特に、従来のアプローチでは、チームが独自のインターフェースに制限される可能性があるため、このような取り組みを正当化するのは困難な場合があります。要件が進化した場合、コンポーネントを置き換えると、ソフトウェアスタックのかなりの部分を作り直さなければならなくなる可能性があります。

ROSは統合の課題にどう対処するか

ROSはこうした問題に対処するために開発されました。その名前にもかかわらず、ROSは古典的な意味でのオペレーティングシステムではありません。これは、ツール、ライブラリ、規約の幅広いセットを提供するオープンソースのフレームワークです。

ROSの重要なコンセプトは、複雑なロボティクスアプリケーションをモジュラーノードに構造化することです(図1)。これらの小規模なプロセスは、センサデータの読み取りやモータ速度の制御など、特定のタスクを実行します。

図:パッケージ、ノード、メッセージ、サービスを含むROSの基本的な構成要素図1:ROSの基本的な構成要素には、パッケージ、ノード、メッセージ、サービスが含まれます。(画像提供:Analog Devices、Kenton Willistonにより変更)

ノードは主に2つのメカニズムで通信します。

  • トピック:センサフィードのような連続的なデータストリーミングに適したパブリッシャー/サブスクライバーモデル
  • サービス:デバイスの設定や初期化など、頻度の低いアクションに最適なリクエスト/レスポンスモデル

複数のノードとその依存関係(関連するトピックやサービスを含む)をパッケージにまとめることで、より包括的な機能を提供できます。たとえば、Analog Devicesは、AGVやAMR用に設計されたセンサやアクチュエータモジュール用のROSドライバパッケージを作成しました。これらのパッケージは、ハードウェアをROSベースのシステムに統合するために必要なノード、メッセージ定義、設定ファイルをカプセル化しています。

ROSがAMRとAGVの設計をいかに効率化するか

このモジュラーアーキテクチャは相互運用性を可能にし、開発を加速させます。ハードウェア層では、ROSはカメラやモータコントローラなどのコンポーネントに標準化されたインターフェースを提供します。これにより、設計者はベンダーのロックインやライセンス料から解放され、統合がスピードアップします。

ソフトウェア層では、ROSはツールやミドルウェアを提供し、設計者が複雑なロボットを開発、テスト、デプロイ、保守できるようにします。フレームワークの現行バージョンであるROS 2は、AMRやAGVに特に有用な機能を提供しています。これには次のようなものが含まれます。

  • ビヘイビアツリー、キープアウトゾーン、制限速度などをサポートするNav2ナビゲーションスタック
  • AMRとAGVが環境を理解できるようにする、マッピングとローカリゼーションツールなどの高度な測位アルゴリズム
  • 開発と診断の両方を支援するシミュレーション、可視化、ロギングツールとの統合

ROS 2は通常Linuxベースのコンピュータ上で動作しますが、他のOSもサポートされています。ROS 2は、ZephyrやFreeRTOSなどのリアルタイムオペレーティングシステム(RTOS)を搭載したマイクロコントローラユニット(MCU)上でネイティブに動作するmicro-ROSもサポートしています。

ROS 2統合によるモータ制御

ROS 2の可能性を説明するために、複雑な駆動制御を考えてみましょう。ほとんどのAMRとAGVはディファレンシャルドライブ構成を採用しており、2セットの独立制御された車輪が前進と旋回の両方を可能にします。このアーキテクチャでは、ナビゲーションシステムからの協調コマンドを受け入れながら、両輪を同時に駆動できるモータコントローラが必要となります。

ADIのTMCM-2611-AGV(図2)は、このニーズに直接対応します。Trinamic Motor Controller Module(TMCM)ファミリの一部であるこのボードは、AGVおよびAMRトラクションアプリケーション向けに設計された、3相ブラシレスDC(BLDC)モータ用の2軸サーボドライブプラットフォームです。各軸は、インクリメンタル直交エンコーダまたはデジタルホール効果センサを介した位置フィードバックにより、48ボルトで最大14アンペア(A)RMSのモータを駆動できます。

画像:Analog Devices TMCM-2611-AGV 2軸コントローラ/ドライバ図2:TMCM-2611-AGVは、3相BLDCモータ用の2軸コントローラ/ドライバです。(画像提供:Analog Devices)

adi_tmcl ROS 2ドライバは、主にトピックを通じて、このハードウェアをROS 2エコシステムに接続します(図3)。たとえば、ナビゲーションスタックは、/cmd_vel_Xトピックを通じて、各車輪セットに速度コマンドをパブリッシュすることができます。adi_tmclドライバは、これらのトピックをサブスクライブし、コマンドをTrinamic Motion Control Language(TMCL)フレームに変換し、LinuxネイティブのSocketCANインターフェースを介してCANバス上に送信します。

図:Analog Devices TMCL ROS2ドライバパッケージ(クリックして拡大)図3:TMCL ROS2ドライバパッケージには、堅牢なインターフェースセットが組み込まれています。(画像提供:Analog Devices)

もう一方の方向では、adi_tmclドライバは/tmc_info_Xトピックにモータフィードバックをパブリッシュし、速度、位置、トルク、およびステータス情報を提供します。他のノードは、オドメトリ計算、診断、またはアプリケーションレベルでの閉ループ制御のために、このデータをサブスクライブすることができます。

この双方向のフローは、ROS 2がどのようにモジュラーシステム設計を可能にするかを示しています。ナビゲーションアルゴリズムは、TMCLやCANバスについて何も知る必要はありません。単に標準的な速度メッセージをパブリッシュし、フィードバックを受け取るだけです。

adi_tmclドライバは、初期化やパラメータアクセスなどのタスクにもサービスを使用します。たとえば、/tmcl_gap_allはすべての軸パラメータ値を取得し、/tmcl_ggp_allはコントローラボードのすべてのグローバルパラメータ値を取得します。

位置追跡のための慣性計測

車輪エンコーダにより、システムは車輪の移動量に基づいて位置を推定できますが、正確な位置追跡を行うには、車輪のオドメトリだけでは不十分な場合が多くあります。車輪のスリップや路面の凹凸は、時間の経過とともに大きな誤差をもたらす可能性があります。これは、GPS信号が不安定で継続的な補正が得られない多くの屋内環境において、特に懸念される事項です。

IMUは、AMRやAGVが推測航法精度を向上させるために使用できる、独立した動作基準を提供します。その代表例がADIS16500/05/07ファミリで、3軸ジャイロスコープと3軸加速度センサによる6自由度の高精度慣性センシングを、15 x 15 x 5ミリメートル(mm)のBGAパッケージで提供します。工場較正では、各センサの感度、バイアス、アライメント、温度補償を特性化し、システム設計者の統合作業の負担を軽減します。

代表的な例として、ADIS16500AMLZが挙げられます(図4)。この部品は、±2000°/秒(˚/s)のジャイロスコープレンジ、8.1°/時(˚/hr)のジャイロスコープ動作中バイアス安定度、および0.29°/√hrの角度ランダムウォークを有します。これらの仕様は、経時的なドリフトを低減し、外部補正間の推測航法性能を向上させるのに役立ちます。

画像:Analog Devices ADIS16500AMLZ高精度MEMS IMU図4:ADIS16500AMLZはコンパクトなBGAパッケージの高精度MEMS IMUです。(画像提供:Analog Devices)

ROS 2統合のために、ADIS16500/05/07ファミリはimu_ros2ドライバでサポートされています。ドライバは、LibIIOを介してLinuxの産業用I/Oサブシステムを活用します。その出力は、IMUとオドメトリデータを組み合わせるために拡張カルマンフィルタを実装するrobot_localizationなど、一般的なROS 2センサフュージョンパッケージに対応しています。

IMUの利用に関心のある設計者は、ADIS16500/PCBZ評価ボード(図5)から始めることができます。このボードは、標準的な2mmピッチのリボンケーブルに対応した16ピンヘッダを介して、IMUのSPIインターフェースを提供しています。

画像:Analog Devices ADIS16500/PCBZ評価ボード図5:ADIS16500/PCBZ評価ボードは、16ピンヘッダを介してSPIインターフェースを提供しています。(画像提供:Analog Devices)

障害物検出のための深度センシング

障害物検出もAMR/AGVの標準機能です。LiDARはより長い距離で障害物を検出することに優れていますが、多くのアプリケーションでは、低い位置にある障害物、床の不連続面、またはLiDARのスキャン平面の外側にある物体を検出するために近接場センシングも必要です。ToF深度カメラは、広い視野にわたって高密度の深度画像を提供することによって、このギャップに対処します。

ADTF3175BMLZ ToFモジュール(図6)は、このような要件に最適です。CMOS深度センサと照明光学系を組み合わせたこのモジュールは、75° x 75°の視野で、深度と最大解像度1024 x 1024のアクティブ輝度(AB)フレームをキャプチャします。この解像度とカバレッジの組み合わせにより、障害物がさまざまな高さに現れる可能性のある倉庫や製造環境における安全ゾーンの監視やフロア検出に好適です。

画像:Analog Devices ADTF3175BMLZ ToFモジュール図6:ADTF3175BMLZ ToFモジュールは、CMOS深度センサと照明光学系を統合しています。(画像提供:Analog Devices)

adi_3dtof_adtf31xxドライバは、標準のROS 2メッセージフォーマットを使用して深度とABフレームをパブリッシュすることにより、カメラデータへのアクセスを容易にします。これらの出力は、点群生成、フロア検出、安全領域の監視などのタスク向けに、一般的な認識パッケージと直接統合されます。ドライバはファイル再生モードもサポートしており、物理的なハードウェア接続なしにアルゴリズムの開発やテストを行うことができます。

開発およびプロトタイピングのために、EVAL-ADTF3175D-NXZキット(図7)は完全なセンサプラットフォームを提供します。キットの最大の特徴は、Linuxを実行するArm®ベースのボードで、ROS 2ノードを直接ホストすることができます。あるいは、センサは深度データをEthernet経由で別のROS 2ホストにストリーミングすることができ、異なるシステムアーキテクチャに柔軟性を提供します。

画像:Analog Devices EVAL-ADTF3175D-NXZ評価キット図7:EVAL-ADTF3175D-NXZ評価キットには、ArmベースのLinuxホストが含まれています。(画像提供:Analog Devices)

Analog Devices Autonomous Mobot(ADAM)リファレンスプラットフォームは、これらのROS対応コンポーネントが、バッテリ管理、電力変換、通信の追加ソリューションとどのように統合され、完全なAMRシステムを形成するかを実証しています。

まとめ

AMRおよびAGVの設計・開発の複雑さは、ROS対応コンポーネントを選択することで大幅に軽減できます。幅広いセンサやアクチュエータ向けのROS 2ドライバを提供し、信頼できるパートナーとなり得るADIのような実績あるコンポーネントサプライヤを活用することが有効です。

DigiKey logo

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

著者について

Image of Kenton Williston

Kenton Williston氏

Kenton Williston氏は2000年に電気工学の学士号を取得し、プロセッサベンチマークアナリストとしてキャリアをスタートさせました。その後、EE Timesグループの編集者として、エレクトロニクス業界を対象とした複数の出版物やカンファレンスの立ち上げや指導に携わりました。

出版者について

DigiKeyの北米担当編集者