コンテンツにスキップ

ヒューマノイドロボット詳細設計書

[!NOTE] 最新の実装状況は 機能実装ステータス (Remaining Functionality) を参照してください。

このドキュメントは、EvoSpikeNetプロジェクトにおける自立二足歩行ヒューマノイドロボットの設計概要をまとめたものである。センサーとアクチュエータ構成、制御アーキテクチャ、分散脳との統合方式、各部位の機能などを記述する。

0. 分散脳全体構成

ロボットが参加する大規模分散脳システムの構造。主要な皮質領域と相互接続を示す。

0.1 ランク (RANK) とノードタイプ

各プロセスは RANK という数値で脳内ポジションを示し、node_type によって機能カテゴリを指定する。下表は主要な範囲と対応タイプの例である。

RANK 範囲 node_type 機能領域 説明
0 executive / pfc 前頭前野 意思決定・実行制御
1–9 vision 視覚野 画像処理・パターン認識
5–15 auditory 聴覚野 音声/音響処理
10–12,16–17 motor / spatial 運動野・頭頂葉 運動計画・空間処理
18–19 speech 言語生成 ブローカ/ウェルニッケ領域
20–21 memory 記憶 海馬・コンテキスト保持
22–23 decision 追加のエグゼクティブ 高次推論
その他 general 汎用 特定領域なし

上記は evospikenet/node_types.py に定義される NODE_TYPE_DEFINITIONS に対応する。

0.2 ランク番号一覧と説明

より細かいランク番号ごとの対応を以下に示す。ノードタイプは重複する場合がある。

RANK biological 名称 node_type 説明
0 前頭前野 (PFC) executive/pfc 意思決定、計画
1 V1 vision 初期視覚処理
2 V2 vision 低次視覚処理
3 V4 vision 色・形状処理
4 IT / language vision / language 高次視覚・言語
5 A1 auditory 音声基礎処理
6 A2 auditory 二次聴覚
7 Dorsal1 vision 視覚-空間処理
8 Dorsal2 vision 視覚-空間処理
9 Dorsal3 vision 視覚-空間処理
10 M1 motor 主要運動実行
11 Premotor motor 運動計画支援
12 Cerebellum motor 協調・学習
13 STG1 auditory 高次聴覚
14 STG2 auditory 高次聴覚
15 STG3 auditory 高次聴覚
16 Parietal1 spatial 空間認知
17 Parietal2 spatial 空間認知 │
18 Broca speech 言語生成
19 Wernicke speech 言語理解
20 memory memory コンテキストストレージ
21 memory memory 長期記憶
22 decision decision 追加エグゼクティブ
23 decision decision 追加エグゼクティブ

0.3 ノード間相関表

主要なノードタイプ同士の通信・依存関係を示す。

送信元 node_type 受信先 node_type 目的・例
vision motor 視覚入力に基づく運動計画
auditory motor 音声コマンドによる運動
executive motor 高次決定による制御
motor vision 運動予測を視覚にフィードバック
motor auditory 発話を伴う運動での音声調整
memory executive コンテキスト提供

0.4 ヒューマノイド固有ノードマッピング

実際にヒューマノイドロボット用に起動されるノードの一覧と、対応するRANK/名前/番号を示す。

ランク ノード名 (内部ID) node_type 説明
0 node_pfc_main executive 中央意思決定パブリックノード
1 node_v1_frontcam vision 前方カメラV1処理
2 node_v2_frontcam vision 前方カメラV2処理
3 node_v4_rearcam vision 後方カメラV4処理
4 node_it_objdet vision 物体認識統合 (IT)
5 node_a1_mic auditory マイク入力A1
6 node_a2_mic auditory マイク入力A2
7 node_dorsal_leg vision 脚部視覚-空間 (Dorsal1)
8 node_dorsal_arm vision 腕部視覚-空間 (Dorsal2)
9 node_dorsal_env vision 環境視覚-空間 (Dorsal3)
10 node_m1_leg_left motor 左脚主要運動実行
11 node_premotor_leg motor 脚運動計画支援
12 node_cerebellum motor 協調・学習
13 node_stg1_audio auditory 高次音声処理
14 node_stg2_audio auditory 高次音声処理
15 node_stg3_audio auditory 高次音声処理
16 node_parietal_nav spatial 空間航法
17 node_parietal_balance spatial バランス空間処理
18 node_broca_speech speech 発話生成
19 node_wernicke_lang speech 言語理解
20 node_memory_short memory 短期記憶ストレージ
21 node_memory_long memory 長期記憶
22 node_decision_aux1 decision 追加エグゼクティブ1
23 node_decision_aux2 decision 追加エグゼクティブ2

上記マッピングは設定ファイル config/node_assignments.yaml で変更できる。

flowchart TB
    subgraph PFC[前頭前野 - Rank 0]
    end
    subgraph VIS[視覚野 - Ranks 1-9]
      V1[V1 (Rank1)]
      V2[V2 (Rank2)]
      V4[V4 (Rank3)]
      IT[IT (Rank4)]
    end
    subgraph AUD[聴覚野 - Ranks 5-15]
      A1[A1 (Rank5)]
      A2[A2 (Rank6)]
      STG1[STG1 (Rank13)]
      STG2[STG2 (Rank14)]
      STG3[STG3 (Rank15)]
    end
    subgraph SOM[体性感覚/頭頂 - Ranks 16-17]
      PAR1[Parietal1 (Rank16)]
      PAR2[Parietal2 (Rank17)]
    end
    subgraph MOTOR[運動野/小脳 - Ranks 10-12]
      M1[M1 (Rank10)]
      PRE[Premotor (Rank11)]
      CBL[小脳 (Rank12)]
    end
    PFC --> VIS
    PFC --> AUD
    PFC --> MOTOR
    VIS --> MOTOR
    AUD --> MOTOR
    SOM --> MOTOR
    MOTOR --> VIS
    MOTOR --> AUD
    MOTOR --> PFC

1. 目的と範囲

  • 自律歩行能力を持ち、環境認識・自己保持・転倒復帰が可能な二足歩行ロボットの構築。
  • 分散脳システム(運動野・感覚野ノード)との連携を前提とする。
  • 機械構造、センサー、モータ、通信、ソフトウェアの設計指針を示す。

1.1 プロダクト概要図

ロボット全体を構成するハード/ソフト要素を俯瞰した図。

flowchart LR
    HW[ハードウェアフレーム]
    SW[組み込みソフトウェア]
    B[分散脳ネットワーク]
    HW --> SW
    SW --> B
    B --> SW

1.2 機能ブロック図

「感覚」「認知」「運動」「通信」「電源」などの機能領域を示す。

運動野ハブとノード呼応性

運動野は身体部位ごとに複数のハブに分割され、それぞれが関連ノードを管理して協調制御を行う。ノード同士は高頻度で状態を交換し、遅延を最小化するためにZenohトピックで直接接続される。

flowchart TB
  subgraph Motor Cortex
    HubLeg[脚ハブ]
    HubArm[腕ハブ]
    HubTrunk[胴体ハブ]
  end
  HubLeg --> NodeLL[左脚ノード]
  HubLeg --> NodeRL[右脚ノード]
  HubArm --> NodeLA[左腕ノード]
  HubArm --> NodeRA[右腕ノード]
  HubTrunk --> NodeWaist[胴体ノード]
  NodeLL <--> NodeRL
  NodeLA <--> NodeRA
flowchart TB
    subgraph センサー群
      IMU[IMU]
      CAM[カメラ/LiDAR]
      MIC[マイク]
      ENV[環境センサ]
    end
    subgraph 認知処理
      VIS[視覚野]
      AUD[聴覚野]
      ENVNODE[環境ノード]
      MOTOR[運動野]
    end
    subgraph 制御系
      HUB[運動ハブ]
      NODE[運動ノード]
      ACT[アクチュエータドライバ]
    end
    IMU --> VIS
    CAM --> VIS
    MIC --> AUD
    ENV --> ENVNODE
    VIS --> MOTOR
    AUD --> MOTOR
    ENVNODE --> MOTOR
    MOTOR --> HUB
    HUB --> NODE
    NODE --> ACT

2. 機械構造

2.1 自由度(DoF)

部位 自由度 モータ数 備考
股関節(左右) 3軸(屈伸・内外転・回旋) 6 高速・高トルクが必要
膝関節(左右) 1軸(屈伸) 2 シンプルなリンク構造
足首(左右) 2軸(前後傾・左右傾) 4 バランス補正用
腰/胴体 1軸(回転) 1 上半身のねじれ制御
腕/上肢(左右) 2–6軸×2 4–12 把持やバランス補助用

合計で 13~25 台 のアクチュエータを目標とし、拡張性を持たせる。

2.2 フレーム・素材

  • 軽量アルミ合金/炭素繊維を基本とし、剛性と耐衝撃性を両立。
  • 世代ごとにモジュール化可能な脚部・胴体セクションを採用。

3. センサー構成

3.1 姿勢・バランス

  • 6軸/9軸IMU(各脚ベース・胴体)
  • 足底圧力センサ(フットパッド全周)
  • 角加速度センサ/ジャイロ

3.2 関節情報

  • 各モータに内蔵エンコーダ(相対/絶対)
  • 必要に応じてトルクセンサ付きギア

3.3 環境認識

  • 前方ステレオカメラ(障害物検知・距離推定)
  • 上部広角カメラ(天井/遠景確認)
  • LiDARまたは深度カメラ
  • マイクロフォンアレイ(音源定位・コマンド受付)

3.4 内部状態

  • 温湿度センサ(バッテリ温度、室内環境)
  • 電流・電圧モニタ(各モータドライバ)

4. モータ/アクチュエータ仕様

  • ブラシレスDCモータ+高分解能エンコーダ
  • トルクギア付き(減速比10–100:1)
  • 通信プロトコル:CAN/CANopen または EtherCAT
  • 制御周期:最低1 kHz、理想的には2–4 kHzで位置/トルクループを実行

5. 制御アーキテクチャ

5.0 ノード・ドライバ・デバイス構成

分散脳と物理機器を結ぶソフトウェア層を明示する。

flowchart LR
    subgraph DistributedBrain
      VNode[視覚野ノード]
      ANode[聴覚野ノード]
      MNode[運動野ノード]
    end
    subgraph RobotSW
      Hub[MotionHub]
      MotionNode[MotionNode]
      MotorDriver[MotorDriver]
      SensorDriver[SensorDriver]
    end
    subgraph Hardware
      Cameras[カメラ/LiDAR]
      IMUs[IMU]
      Mics[マイク]
      Motors[モータ]
      GPIOs[GPIO/スイッチ]
    end
    VNode -->|画像データ| Hub
    ANode -->|音声| Hub
    MNode -->|運動命令| Hub
    Hub --> MotionNode
    MotionNode --> MotorDriver
    SensorDriver --> Cameras
    SensorDriver --> IMUs
    SensorDriver --> Mics
    MotorDriver --> Motors
    SensorDriver --> GPIOs

5.1 階層構造

  • 運動ハブ(最上位):運動計画と同期タイムスタンプ発行。
  • 運動ノード:脚ごと/胴体ごとに分離してローカル制御。
  • モータノード:各アクチュエータを管理する低レイヤライブラリ。
MotionHub
 ├─ MotionNode_LegLeft
 │    ├─ Motor_HipPitch
 │    ├─ Motor_HipRoll
 │    └─ …
 ├─ MotionNode_LegRight
 │    ├─ Motor_HipPitch
 │    └─ …
 └─ MotionNode_Waist
      └─ Motor_WaistYaw

5.2 センサーフュージョン

  • IMU + 足底圧力 + カメラを組み合わせて姿勢推定
  • エクステンドカルマンフィルタ(EKF)またはスライディングウィンドウ

5.3 転倒検知と復帰

  1. 急激な加速度/角速度変化を検出。
  2. モータトルクをカットし、着地用バッファ(バネ機構)を解放。
  3. リセット姿勢を計算し、再起動シーケンスを実行。

6. 分散脳との連携

  • 【感覚野】ノード群にカメラ画像、音声、IMUデータを送信。
  • 【運動野】は軌道生成とZMP計算を行い、運動ハブへ指令を返す。
  • ZenohトピックおよびPTPクロック同期を使用。

6.1 データフロー例

  1. カメラ画像 → 視覚野ノード → 物体検出/地形解析
  2. 視覚出力 → 運動野 (歩行プラン) → 運動ハブ
  3. 運動ハブ → 各運動ノード → モータ制御コマンド
  4. 各ノードから状態/センサーバックをハブ経由で感覚野へ還流

6.2 制御フロー

以下はメインループにおける高レベル制御の順序。

sequenceDiagram
    participant Brain as Distributed Brain
    participant Hub as MotionHub
    participant Node as MotionNode
    participant Motor as MotorDriver
    participant Sensor as SensorDriver

    Brain->>Hub: 歩行目標 / 時刻同期
    Hub->>Node: 指令パケット
    Node->>Motor: PWM/トルクコマンド
    Node-->>Hub: 状態報告(位置、トルク)
    Sensor->>Hub: IMU/カメラ/その他センサデータ
    Hub->>Brain: センサフィードバック

7. ソフトウェア/通信

  • ROS 2互換レイヤまたは軽量カスタムプロトコル(Zenoh)
  • 主要プロセスはコンテナ化(Docker/Kubernetes)を想定
  • モータドライバはリアルタイムOS(FreeRTOS/NuttX)上で走る

8. 安全とフェイルセーフ

  • ハードウェア・インターロック(緊急停止ボタン)
  • ソフトウェア側で過電流・過熱保護
  • 転倒時の即時シャットダウンと緊急着地動作

9. 拡張性とモジュール性

  • 脚部/腕部をホットスワップ可能なモジュールとして設計
  • センサやバッテリを容易に交換できるコネクタを配置

10. 参考図

flowchart TB
    subgraph 感覚野
      V[視覚ノード]
      A[聴覚ノード]
      E[環境ノード]
    end
    subgraph 運動野
      M[高次生成]
    end
    subgraph ハブ
      H[運動ハブ]
    end
    subgraph ノード群
      N1[運動ノード: 左脚]
      N2[運動ノード: 右脚]
      N3[運動ノード: 腰]
    end

    V --> M
    A --> M
    E --> M
    M --> H
    H --> N1
    H --> N2
    H --> N3

本設計書はプロジェクトの基準となるため、新しいセンサーや機体変更があるたびに更新すること。