https://github.com/shuushoku5/scout-mulmochat
🧠 MulmoChat × Robotics UI
― 対話の中にUIが溶け込むロボット操作思想 ―
そのままブログに載せられる形で書きます。
MulmoChat × Robotics UI
対話の中にUIが溶け込むロボット操作という考え方
ロボットの操作インタフェースは、これまで主に次のような形で設計されてきました。
- 専用GUIアプリ
- Webダッシュボード
- ボタン主体の操作パネル
- コマンドライン
- テレオペ用UI
一方で近年は、LLMを用いた「チャット型操作」が登場し始めています。
しかし、多くの事例では依然として次のような構造です。
テキストチャット
+
別ウィンドウのステータス画面
ここに私は違和感を持ちました。
問題意識
ロボットの操作は、本来「状況認識」と「行動選択」が密接に結びついています。
しかしUIが分断されると、
- 状態はダッシュボードを見る
- 指示はチャットに入力する
- エラーはログを見る
というように、認知が分断されます。
MulmoChatの思想
MulmoChatが目指しているのは、
対話の中に、画像・状態・選択肢がインラインで出現する世界
つまり:
ユーザー発話
↓
LLM応答
↓
UIパネル(画像・表・フォーム)
↓
次の発話
すべてが「対話の流れの中」に統合されます。
Robotics UIへの応用
ロボットに適用すると、こうなります。
例:状態確認
ユーザー:
状態を見せて
アシスタント:
- カメラ画像
- オドメトリ情報
- 移動状態
- ナビゲーション状態
を1つのGUIパネルとして提示。
これにより、
状況把握が対話内で完結する
例:行動実行
ユーザー:
少し前に進んで
アシスタント:
- Before画像
- After画像
- 成功/失敗表示
が対話中に出る。
これは単なるログではなく、
行動の因果が視覚的に提示される構造
です。
なぜこれは重要か?
ロボット操作は本質的に「逐次意思決定」です。
MulmoChat型では:
- 状態 → 判断 → 行動 → フィードバック
が1本の時系列として残ります。
これは将来的に:
- Explainable Robot Operation
- 人間との協調制御
- 記録ベースの改善
にもつながります。
Function Callとの相性
MulmoChat型UIは、LLMの tool_use / function call と非常に相性が良いです。
LLMは:
- どの機能を呼ぶか判断
- 結果をUIデータとして返す
- テキストとGUIを分離
できる。
つまり:
LLM = 意思決定層
Function = 実行層
GUI = 可視化層
という三層構造になります。
既存研究との違い
従来のロボットUIは:
- ダッシュボード中心
- ボタン中心
- 状態表示中心
MulmoChat型は:
- 対話中心
- 意図解釈中心
- 状態と行動の統合提示
という違いがあります。
今回のSCOUT実装
今回SCOUTに実装したものは:
- Flaskベースの軽量UI
- tool_useループ
- GUIパネルのJSON構造化
- モックモード
これにより、
「ロボット操作を対話プロトコル化する」
基盤ができました。
今後の展望
- 音声入力統合
- 巡回経路の選択UI強化
- Teach & Repeatのfunction化
- VPR停滞検出の可視化
- マルチロボット対応
まとめ
MulmoChat × Robotics UI は、
単なるチャットロボットではありません。
それは、
ロボット操作を“対話プロトコル”に変換する試み
です。
GUIは消えません。
しかしGUIは「別画面」ではなく、「対話の中」に入っていきます。


コメント