ROS ノード軽量実行環境 mROS のTOPPERS/ASP3 カーネルへの対応
今西 洋偉 ∗

高瀬 英希 ∗

高木 一義 ∗

高木 直史 ∗概 要
我々が開発している mROS とは，ロボットソフトウェア開発支援フレームワークおよび通信ミドルウェアである ROS を，Linuxを搭載できない中規模の組込みマイコンで動作可能とする軽量実行環境である．本研究では，mROS で採用するリアルタイム OSを TOPPERS/ASP3 カーネルに対応させることに取り組む．これによって，現状の実装よりも mROS 内の ROS ノード処理の省電力化および高精度な制御が可能になること，また mROS の汎用性向上につながることが期待できる．本稿では本研究によって得られる貢献を示し，現在の取り組みについて述べる．より詳細が気になる方は是非ポスターセッションにお越しください．

1

はじめにを期待できる．

近年，社会生活を支援することを目的としたモバイルロボットの需要が高まっている．これらのロボットは内部

2mROS電源のエネルギーによって動作する．加えて，要求されるサービスは高い精度が必要なものであることが多い．こmROS[2][3] は，我々が 2018 年から開発している，組のためロボットが提供するサービスの品質向上には，精込みマイコン向け ROS ノード軽量実行環境である．ホス
トデバイスと組込みマイコンからなる分散ロボットシス度向上および省電力化が不可欠である．
ロボットシステムの開発を支援する様々なソフトウェアテムを想定し，従来，Linux を搭載できない組込みマイコフレームワークが注目を集めている．中でも特に注目をン上でも，タスクとして ROS ノードを実行させ，ひいてはロボットシステムの省電力化，およびリアルタイム性集めているものとして ROS（Robot Operating System）の保証の容易化を目的としている．

[1] が挙げられる．ROS では，機能を実現するプログラムをノードという一つの単位として表現し，複数のノード

mROS を搭載したマイコンは ROS 通信層と通信するを目的に応じて組み合わせてロボットシステムを実現すために組込みシステム向け TCP/IP スタックを採用する必要がある．また，組込みマイコンからホストデバイスる．ノード間の通信は，トピック名でデータの種類を識との通信処理，組込みマイコン上で動作するプログラム

別し，出版されるメッセージを購読する出版購読通信方資源を管理する機能を獲得する必要がある．これらの要式で行われる件について前者に対してはオープンソースとして広く用ROS1 は Linux/Ubuntu 上での動作を想定した実装のいられている lwIP を，後者に対してはリアルタイム OSみが提供されている．そのため Linux が動作する高機能かである TOPPERS/ASP カーネルを採用した．mROS のつ消費電力の大きいデバイスを採用する必要があった．そ概要を図 1 に示す

こで我々は，組込みマイコン向け ROS ノード軽量実行環境である mROS[2] の研究開発に取り組んでいる．mROS
は組込みマイコン上で ROS ノードの実行を可能にする通信ライブラリを提供する．
本研究では，mROS を TOPPERS/ASP3 カーネルに対

3

mROS の ASP3 カーネルへの対応

3.1

ASP3 カーネルの利点応させることに取り組む．ASP3 カーネルは現在 mROSに採用している ASP カーネルの次世代版であり，対応さ現在 mROS に採用している TOPPERS/ASP カーネルせることで mROS の汎用性を向上させるとともに mROS

[4] は国産リアルタイム OS である µ ITRON4.0 仕様のス上で動作する ROS ノード管理の時間精度向上と省電力化

タンダードプロファイルをベースに拡張，改良を加えたリアルタイムカーネルである．ASP3 カーネルは ASP カー∗ 京都大学情報学研究科

1

3.3

現在の取り組み

京都マイクロコンピュータ社が開発した SOLID[5] を使用して ASP3 カーネル対応の mROS を開発している．

SOLID はリアルタイム OS と clang コンパイラが一体化した開発プラットフォームである．使用している SOLID
評価ボードは GR-PEACH と同じく RZ/A1H マイコンを搭載しているが，FlashROM は GR-PEACH の半分の4MByte である．リアルタイム OS として ASP3 カーネルを，また TCP/IP プロトコルスタックに lwIP を使用しているため，mROS の ASP3 カーネル対応に適している．

図 1: mROS を用いた分散ロボットシステム
ネルに様々な機能を加えたものである．主な特徴として以下が挙げられる．

4

1. ティックレスカーネル

まとめ
本研究では，ROS ノード軽量実行環境 mROS を TOP-PERS/ASP3 カーネルに対応させることに取り組んでい2. マイクロ秒単位の高分解能時間管理機能

る．ASP3 カーネル対応を実現させることで，組込みマイ1 について，ASP カーネルでは，定期的なタイマー割コン上で動作する ROS ノードをより省電力かつ高精度に込み処理によってティックを増加させシステム時刻を更新制御できることが期待できる．また mROS の他レイヤとしていた．しかしこの場合，CPU が，たとえ実行プロセのインターフェースを整理することで汎用性を向上させスが無いアイドル状態であったとしてもタイマー割込みられると考える．

処理が行われ一定の電力を消費する．ティックレス仕様になることで，必要な時限イベントにのみ割込みを入れ

mROS を ASP3 カーネルに対応させた応用例として，省電力の面では内部電源で駆動するモバイルロボットやるオンデマンド型のタイマー割込みになり，よりアイドIoT 機器，高精度な制御ができる面では自動車などのモール状態における省電力化が期待できる．また 2 について，ター制御で有用になると考えられる．

システム時刻は，ASP カーネルではミリ秒単位だったが，ASP3 カーネルでマイクロ秒単位に改変された．これによ

参考文献

り，ユーザーはこれまで以上に高精度な制御を実現でき
る．mROS に ASP3 カーネルを対応させこれらのメリッ[1] Quigley, Morgan, et al. ”ROS: an open-source Robot

トを享受することで，組込みマイコンを含んだ分散 ROS

Operating System.” ICRA workshop on open source

ロボットシステムの省電力化と精度向上につながると考

software. Vol. 3. No. 3.2. 2009.

えている．

[2] Takase, Hideki, et al. ”Work-in-Progress: Design

3.2

Concept of a Lightweight Runtime Environment formROS の汎用性向上

Robot Software Components Onto Embedded De-

現在 mROS は，ボードには GR-PEACH，リアルタイム

vices.” 2018 International Conference on Embedded

OS には TOPPERS/ASP カーネル，TCP/IP スタックに

Software (EMSOFT). IEEE, 2018.

は lwIP を含んだ mbed ライブラリを採用している．将来[3] 森智也, 高瀬英希, 高木一義, 高木直史.(2017). mROS:

的に mROS を様々なボード，リアルタイム OS，TCP/IP

組込みデバイス向け ROS ノード軽量実行環境 電子情スタックに対応させていくため，依存関係や他レイヤとの報通信学会技術研究報告 117(274), 221-226.

インターフェースを整理する必要がある．現在の具体的な構想として，様々なリアルタイム OS の mROS に必要[4] TOPPERSproject:TOPPERS/ASP kernel,な概念や関連する API を整理し，mROS ユーザーが簡単

https://www.toppers.jp/asp-kernel.html

な設定でリアルタイム OS を選択できるような構成を目指[5] 京都マイクロコンピュータ社 SOLIDしている．ASP3 カーネルに対応させることで mROS の

https://solid.kmckk.com/SOLID/

汎用性を向上させる足がかりになることも期待している．

2