mechArm 270をPrefab × Namespace設計で複数台管理する。Unityで実現する1対多フリート実装記録
LOG35R2R2R2026/1/13

mechArm 270をPrefab × Namespace設計で複数台管理する。Unityで実現する1対多フリート実装記録

これまでのロボットシミュレーションでは「1台をどう動かすか」という実験でしたが、今日から「複数のロボットをどう管理するか」というシステム設計のフェーズへ突入しました。

※本プロジェクトの目的:実機「mechArm 270 M5」の制御を通じて、AIの判断をいかに物理的な動きへ変換するか。そのロボット制御の仕組みを理解するプロセスを記録・検証するものです。

物理の呪縛から「論理の自由」へ

これまでの設計では、ロボットは単一の存在(firefighter)でしたが、これを「設計図(Prefab)」へと昇華させました。

  • Prefab化による量産: 同じ物理的特性を持つロボットを瞬時に2台生成。

  • Namespace(名前空間)の導入: 物理的な位置ではなく、/robot1 /robot2 という「論理的な住所」で個体を識別する設計を行いました。

試行錯誤のログ:わかっていなかったことと、その解決

プロセスには、いくつかの重要な「学び」がありました。

課題(失敗・疑問)

解決策と学び

オブジェクトの迷子

Hierarchyを展開し、JointStateSubscriber が子要素にあることを発見。構造の理解が深まりました。

2台が重なってしまう

Sceneビューで「赤い矢印(X軸)」を操作し、物理的な間隔を空けることで視認性を確保しました。

HUDが紐付かない

スクリプトの「型の不一致」を経験。UIオブジェクトに HudManager をアタッチして初めて、データのパイプラインが繋がることを学びました。

HRI視点での「迷わないUI」の実装

Unity画面-Rect Transform

「一人で操る」ための認知的負荷を下げる工夫をUIに盛り込みました。

  • 情報の対称配置: 1号機の情報を左上、2号機を右上に配置し、オペレーターの周辺視野を活用。

  • 色による直感化: 文字を読まずとも「緑=左の機体」「青=右の機体」と反射的に判断できる色分けを導入。

  • 動的なターゲット切り替え: Python側のTabキー操作により、一人の人間が認知的断絶なく操作対象を遷移できる仕組みを構築しました。

到達点:論理的に統治する体験

最終的に、「Tabキーでトピックを切り替え、それに応じてUnity上の異なるロボットとHUDが反応する」という一連のループが完成しました。 これは、将来的にAIが自律動作し、人間が「確信度」を見守りながら適宜介入する「信頼のインターフェース」の強固な土台となります。