コンテンツにスキップ

章1: Open-RMFとは ── 概要と用語

← 前章: 環境構築 | 目次 | 次章: RMFの全体像を掴む →

狙い

  • Open-RMFが何のためのものかを掴む(次章からの三層モデルの前提知識)
  • 以降の章に何度も出てくるRMF固有の用語を、先にまとめて押さえる

手を動かす前に、言葉と全体像だけ揃える短い章。読み飛ばして詰まったら戻ってくればよい。

Open-RMFとは

複数台・複数メーカーの移動ロボットと施設設備(ドア・エレベータ・搬送機)を、同じ空間で協調させるためのオープンソース基盤がOpen-RMF(Robotics Middleware Framework)。ROS 2の上で動く。

一言でいうと「フリート(ロボットの群れ)の交通整理とタスク配分をする管制塔」。個々のロボットの走り方(自己位置推定・経路追従)は各社の実装(このチュートリアルではNav2)に任せる。RMFが担当するのは、その上に乗るフリート全体の意思決定だ:

  • どのロボットにどの仕事をさせるか(タスク割当 → 章5入札)
  • 同じ通路を使う複数台をどうさばくか(交通調停 → 章6)
  • いつ充電に帰すか(バッテリ管理 → 章7)

なぜ必要か

倉庫や病院では、別々のメーカーのロボットが同じ廊下を共有することがある。各社バラバラに動くと衝突や渋滞が起きる。RMFはメーカー非依存の共通の交通・タスク基盤を提供する。各ロボットは「フリートアダプタ」という薄い通訳を書くだけで、この基盤に参加できる。

toioはどう位置づくか

toioは手のひらサイズのキューブ型ロボット(参考価格: コア キューブ単体の希望小売価格7,128円・税込、toio公式サイト、2026年8月時点)。このチュートリアルではtoioを2台の小さなフリートに見立て、RMFのフリート処理(入札・交通調停・充電)を卓上で・シミュレーションから実機まで学べるようにした。倉庫の数十m級ロボットと同じRMFの仕組みが、数cmのマットの上で動く。

RMF固有の用語(先に押さえる)

以降の章で頻出する用語。今すべて理解する必要はなく、出てきたら戻る索引として使う。

用語 意味 主に扱う章
フリート(fleet) 同種ロボットの群れ。本パッケージのフリート名は toio(toio1 / toio2) 章2
フリートアダプタ(fleet adapter) RMFと個々のロボットの通訳。抽象タスクを各ロボットの走行指令へ翻訳し、位置・バッテリを報告 章2
EasyFullControl フリートアダプタを書くためのRMFのAPI。toioは走行をNav2に委譲する実装 章2
RMFコア(RMF core) 機種に依存しない中枢。ディスパッチャ・交通スケジュール・建物図サーバ等 章2
ディスパッチャ(dispatcher) 投入されたタスクをフリートに配り、入札結果で割当を決める 章5
タスク(task) ロボットにやらせる仕事の単位。patrol / delivery / ChargeBatteryなど。フェーズ(移動・荷役・充電)の列でできている 章3〜
入札(bidding) 誰にタスクをやらせるかを決めるオークション。BidNotice(依頼)→ BidResponse(見積)→ 落札(award) 章5
交通スケジュール(traffic schedule) 各ロボットの走行経路を時空間で予約し、かち合いを調整する大域の仕組み(rmf_traffic_schedule) 章6
交渉(negotiation) 予約がかち合ったときに経路を譲り合う調停 章6
peer costmap Nav2側の局所回避。相手ロボットの現在位置をコストマップに障害物として描き込む 章6
mutex group navグラフ上の排他区間。同時に1台しか入れず、2台目はロックが空くまで待つ(A4の ring) 章13
参加者(participant) 交通スケジュール上の1エージェント(≒1ロボット)。RViz可視化のマーカー名にも出る 章10
footprint / vicinity スケジュール上の占有域と、他機への「近づくな」領域。RVizでは既定で非表示 章10
navグラフ(nav graph) ロボットが走れる頂点(waypoint)とレーン(lane)の地図。自由空間ではなくこの上を動く 章4
waypoint(頂点) navグラフの停留点。タスクで指定する patrol_A などがこれ 章4
lane(レーン) 頂点間の通行可能な辺。双方向/一方通行がある 章4 / 章6
建物図(building map) フロア図・navグラフ・設備をまとめたRMFの地図(building_map_server が配る) 章2
ワークセル(workcell) 荷役を担う設備。払い出し機dispenserと受け入れ機ingestor 章8
フリートアクション(perform_action) 標準タスクにない独自動作。toioではLED・効果音の演出 章9
finishing_request タスク完了後の片付けポリシー(toioは charge=チャージャーへ帰す) 章4 / 章7
ChargeBattery 残量が閾値を下回る見込みのときRMFが自動で計画する充電タスク 章7
Dock チャージャー到着の最終区間で使う精密停止(実機のキューブ内蔵走行)。A4のみ 章14
Position ID toioマットに印刷された位置コード。実機のキューブはこれを読んで自分の位置を出す 章12
door / lift supervisor ドア・エレベータの調停役。toioの遊び場には不要なので本パッケージでは省略 ──

全体像(次章への橋渡し)

RMFの環境は役割の違う3層でできている。上が「何をするか」(RMFコア)、真ん中が「このロボットで実現する」(フリートアダプタ)、下が「どう走るか」(Nav2 + Gazebo/実機)。この章の用語がRMFコアとフリートアダプタの境界に集中しているのは、入札・交通調停・充電というフリート処理の核心がそこにあるからで、次章でこの三層を実際のノード一覧で確かめる。

確認課題

  1. 「フリート」「フリートアダプタ」「RMFコア」を、自分の言葉で1文ずつ説明できるか。
  2. RMFが担当すること(タスク割当・交通調停・充電)と、Nav2が担当すること(自己位置推定・経路追従)の境界を言えるか。詳しくは次章で確かめる。

← 前章: 環境構築 | 目次 | 次章: RMFの全体像を掴む →