ロボットソフトウェアの組込みデバイス向け軽量実行環境

ROS(Robot Operating System)は,ロボットシステムの開発を加速する世界標準のプラットフォームです.主要な側面のひとつに出版購読型モデルに基づく通信ミドルウェアがあり,分散システムの構築およびOSS資産の流用を促進します.

mROS 2は,新世代版のROS 2で採用されているRTPS(Real-Time Publish-Subscribe)プロトコルによる出版購読通信を軽量に実現する実行環境です.主にリアルタイムOSおよび組込み向けの軽量な通信プロトコルスタックから構成されており,GitHubにてオープンソースで公開しています.

mROS 2の最大の利点は,ROS 2ノードと通信可能なロボットソフトウェアを小規模な組込みデバイス上で実行できることです.通常のROS 2では必須であるLinuxカーネルの稼働は不要であり,また,ホストデバイス上で動作しているROS 2ノードとの通信経路の確立が自律的に行えわれるところにも特徴があります.分散システムのエッジデバイスにおけるリアルタイム性の向上や消費電力の削減への貢献が期待できます.

mros2通信ライブラリのGitHubリポジトリ

mROS 2の動作例(STMボードからJoystickモジュールの入力値を出版し,ホスト上のturtlesim(ROS 2の公式tutorialにも登場するデモプログラム)で購読してその動作を制御)