Humanoid robot detailed design document
[!NOTE] For the latest implementation status, please refer to Functional Implementation Status (Remaining Functionality).
This document summarizes the design outline of an autonomous bipedal humanoid robot in the EvoSpikeNet project. Describe the sensor and actuator configuration, control architecture, integration method with distributed brain, functions of each part, etc.
0. Distributed brain overall configuration
Structure of a large-scale distributed brain system involving robots. Showing major cortical areas and interconnections.
0.1 RANK and node type
Each process has a numerical value called RANK that indicates its position in the brain, and a node_type that specifies its functional category. The table below shows examples of major ranges and corresponding types.
| RANK range | node_type | functional area | description |
|---|---|---|---|
| 0 | executive / pfc | prefrontal cortex | decision making/executive control |
| 1–9 | vision | visual cortex | image processing/pattern recognition |
| 5–15 | auditory | auditory cortex | speech/sound processing |
| 10–12,16–17 | motor / spatial | motor cortex/parietal lobe | motor planning/spatial processing |
| 18–19 | speech | language generation | Broca/Wernicke domain |
| 20–21 | memory | memory | hippocampus/context retention |
| 22–23 | decision | additional executive | higher-order reasoning |
| Other | general | General purpose | No specific area |
The above corresponds to NODE_TYPE_DEFINITIONS defined in evospikenet/node_types.py.
0.2 Rank number list and explanation
More detailed correspondence for each rank number is shown below. Node types may overlap.
| RANK | biological name | node_type | description |
|---|---|---|---|
| 0 | Prefrontal cortex (PFC) | executive/pfc | decision making, planning |
| 1 | V1 | vision | early visual processing |
| 2 | V2 | vision | lower-order visual processing |
| 3 | V4 | vision | Color/shape processing |
| 4 | IT / language | vision / language | Higher vision/language |
| 5 | A1 | auditory | Basic audio processing |
| 6 | A2 | auditory | secondary hearing |
| 7 | Dorsal1 | vision | visual-spatial processing |
| 8 | Dorsal2 | vision | visual-spatial processing |
| 9 | Dorsal3 | vision | visual-spatial processing |
| 10 | M1 | motor | Main motor execution |
| 11 | Premotor | motor | Motor planning support |
| 12 | Cerebellum | motor | Cooperation and learning |
| 13 | STG1 | auditory | Higher order hearing |
| 14 | STG2 | auditory | Higher order hearing |
| 15 | STG3 | auditory | Higher order hearing |
| 16 | Parietal1 | spatial | spatial cognition |
| 17 | Parietal2 | spatial | Spatial cognition │ |
| 18 | Broca | speech | language generation |
| 19 | Wernicke | speech | language understanding |
| 20 | memory | memory | context storage |
| 21 | memory | memory | long-term memory |
| 22 | decision | decision | additional executive |
| 23 | decision | decision | additional executive |
0.3 Inter-node correlation table
Shows communication and dependencies between major node types.
| Sender node_type | Receiver node_type | Purpose/Example |
|---|---|---|
| vision | motor | Motor planning based on visual input |
| auditory | motor | Exercise by voice command |
| executive | motor | Control by higher-order decisions |
| motor | vision | Visual feedback of motor prediction |
| motor | auditory | Voice adjustment during motor movements that involve speech |
| memory | executive | providing context |
0.4 Humanoid-specific node mapping
A list of nodes actually activated for humanoid robots and their corresponding RANK/name/number are shown.
| Rank | Node name (internal ID) | node_type | Description |
|---|---|---|---|
| 0 | node_pfc_main | executive | central decision-making public node |
| 1 | node_v1_frontcam | vision | Front camera V1 processing |
| 2 | node_v2_frontcam | vision | Front camera V2 processing |
| 3 | node_v4_rearcam | vision | Rear camera V4 processing |
| 4 | node_it_objdet | vision | Object recognition integration (IT) |
| 5 | node_a1_mic | auditory | Microphone input A1 |
| 6 | node_a2_mic | auditory | Microphone input A2 |
| 7 | node_dorsal_leg | vision | Leg visual-spatial (Dorsal1) |
| 8 | node_dorsal_arm | vision | Arm visual-spatial (Dorsal2) |
| 9 | node_dorsal_env | vision | Environment visual-spatial (Dorsal3) |
| 10 | node_m1_leg_left | motor | Left leg main movement execution |
| 11 | node_premotor_leg | motor | Leg movement planning support |
| 12 | node_cerebellum | motor | cooperation/learning |
| 13 | node_stg1_audio | auditory | High-order audio processing |
| 14 | node_stg2_audio | auditory | High-order audio processing |
| 15 | node_stg3_audio | auditory | High-order audio processing |
| 16 | node_parietal_nav | spatial | spatial navigation |
| 17 | node_parietal_balance | spatial | Balance spatial processing |
| 18 | node_broca_speech | speech | speech generation |
| 19 | node_wernicke_lang | speech | language understanding |
| 20 | node_memory_short | memory | short-term memory storage |
| 21 | node_memory_long | memory | long-term memory |
| 22 | node_decision_aux1 | decision | additional executive 1 |
| 23 | node_decision_aux2 | decision | additional executive 2 |
The above mapping can be changed in the configuration file config/node_assignments.yaml.
flowchart TB
subgraph PFC[Prefrontal cortex - Rank 0]
end
subgraph VIS[Visual Cortex - Ranks 1-9]
V1[V1 (Rank1)]
V2[V2 (Rank2)]
V4[V4 (Rank3)]
IT[IT (Rank4)]
end
subgraph AUD[Auditory Cortex - Ranks 5-15]
A1[A1 (Rank5)]
A2[A2 (Rank6)]
STG1[STG1 (Rank13)]
STG2[STG2 (Rank14)]
STG3[STG3 (Rank15)]
end
subgraph SOM[Somatic sensation/parietal - Ranks 16-17]
PAR1[Parietal1 (Rank16)]
PAR2[Parietal2 (Rank17)]
end
subgraph MOTOR[Motor cortex/cerebellum - Ranks 10-12]
M1[M1 (Rank10)]
PRE[Premotor (Rank11)]
CBL[Cerebellum (Rank12)]
end
PFC --> VIS
PFC --> AUD
PFC --> MOTOR
VIS --> MOTOR
AUD --> MOTOR
SOM --> MOTOR
MOTOR --> VIS
MOTOR --> AUD
MOTOR --> PFC
1. Purpose and scope
- Construction of a bipedal robot with autonomous walking ability, capable of environmental awareness, self-retention, and ability to recover from falls.
- Assumes cooperation with distributed brain systems (motor cortex/sensory cortex nodes).
- Provide design guidelines for mechanical structures, sensors, motors, communications, and software.
1.1 Product overview diagram
An overview of the hardware and software elements that make up the entire robot.
flowchart LR
HW[hardware frame]
SW[embedded software]
B[distributed brain network]
HW --> SW
SW --> B
B --> SW
1.2 Functional block diagram
Indicates functional areas such as "sensation", "cognition", "motor", "communication", and "power".
Motor cortex hub and node responsivity
The motor cortex is divided into multiple hubs for each body part, and each hub manages related nodes and performs cooperative control. Nodes exchange state frequently and are directly connected via Zenoh topics to minimize latency.
flowchart TB
subgraph Motor Cortex
HubLeg[leg hub]
HubArm[arm hub]
HubTrunk[fuselage hub]
end
HubLeg --> NodeLL[left leg node]
HubLeg --> NodeRL[right leg node]
HubArm --> NodeLA[left arm node]
HubArm --> NodeRA[right arm node]
HubTrunk --> NodeWaist[fuselage node]
NodeLL <--> NodeRL
NodeLA <--> NodeRA
flowchart TB
subgraph センサー群
IMU[IMU]
CAM[Camera/LiDAR]
MIC[microphone]
ENV[environmental sensor]
end
subgraph 認知処理
VIS[visual cortex]
AUD[auditory cortex]
ENVNODE[environment node]
MOTOR[motor cortex]
end
subgraph 制御系
HUB[exercise hub]
NODE[exercise node]
ACT[actuator driver]
end
IMU --> VIS
CAM --> VIS
MIC --> AUD
ENV --> ENVNODE
VIS --> MOTOR
AUD --> MOTOR
ENVNODE --> MOTOR
MOTOR --> HUB
HUB --> NODE
NODE --> ACT
2. Mechanical structure
2.1 Degrees of Freedom (DoF)
| Part | Degree of freedom | Number of motors | Notes |
|---|---|---|---|
| Hip joints (left and right) | 3 axes (flexion/extension, internal/external rotation, rotation) | 6 | Requires high speed and high torque |
| Knee joint (left and right) | 1 axis (flexion and extension) | 2 | Simple link structure |
| Ankle (left and right) | 2 axes (forward and backward tilt, left and right tilt) | 4 | For balance correction |
| Waist/torso | 1 axis (rotation) | 1 | Torsion control of upper body |
| Arms/upper limbs (left and right) | 2–6 axes x 2 | 4–12 | For grasping and balance assistance |
The goal is to have a total of 13-25 actuators with scalability.
2.2 Frame/Material
Based on lightweight aluminum alloy/carbon fiber, achieving both rigidity and impact resistance.
Adopts leg and torso sections that can be modularized for each generation.
3. Sensor configuration
3.1 Posture/Balance
- 6-axis/9-axis IMU (each leg base/body)
- Plantar pressure sensor (all around the foot pad)
- Angular acceleration sensor/gyro
3.2 Joint information
- Built-in encoder (relative/absolute) on each motor
- Gear with torque sensor if required
3.3 Environmental awareness
- Front stereo camera (obstacle detection/distance estimation)
- Upper wide-angle camera (ceiling/distant view confirmation)
- LiDAR or depth camera
- Microphone array (sound source localization/command reception)
3.4 Internal state
- Temperature and humidity sensor (battery temperature, indoor environment)
- Current/voltage monitor (each motor driver)
4. Motor/actuator specifications
- Brushless DC motor + high resolution encoder
- With torque gear (reduction ratio 10–100:1)
- Communication protocol: CAN/CANopen or EtherCAT
- Control period: Run position/torque loops at minimum 1kHz, ideally 2–4kHz
5. Control architecture
5.0 Node Driver Device Configuration
Clarify the software layer that connects the distributed brain and physical devices.
flowchart LR
subgraph DistributedBrain
VNode[visual cortex node]
ANode[auditory cortex node]
MNode[motor cortex node]
end
subgraph RobotSW
Hub[MotionHub]
MotionNode[MotionNode]
MotorDriver[MotorDriver]
SensorDriver[SensorDriver]
end
subgraph Hardware
Cameras[Camera/LiDAR]
IMUs[IMU]
Mics[microphone]
Motors[motor]
GPIOs[GPIO/Switch]
end
VNode -->|image data| Hub
ANode -->|audio| Hub
MNode -->|exercise command| Hub
Hub --> MotionNode
MotionNode --> MotorDriver
SensorDriver --> Cameras
SensorDriver --> IMUs
SensorDriver --> Mics
MotorDriver --> Motors
SensorDriver --> GPIOs
5.1 Hierarchy
- Exercise hub (top level): Exercise planning and synchronized time stamping.
- Motor node: Separate and local control for each leg/torso.
- Motor node: Low layer library that manages each actuator.
MotionHub
├─ MotionNode_LegLeft
│ ├─ Motor_HipPitch
│ ├─ Motor_HipRoll
│ └─ …
├─ MotionNode_LegRight
│ ├─ Motor_HipPitch
│ └─ …
└─ MotionNode_Waist
└─ Motor_WaistYaw
5.2 Sensor Fusion
- Posture estimation by combining IMU + plantar pressure + camera
- Extended Kalman Filter (EKF) or sliding window
5.3 Fall detection and recovery
- Detects sudden acceleration/angular velocity changes.
- Cuts the motor torque and releases the landing buffer (spring mechanism).
- Calculate reset attitude and execute restart sequence.
6. Cooperation with distributed brain
- [Sensory field] Sends camera images, audio, and IMU data to nodes.
- [Motor cortex] performs trajectory generation and ZMP calculations, and returns commands to the motor hub.
- Uses Zenoh topics and PTP clock synchronization.
6.1 Data flow example
- Camera image → visual cortex node → object detection/terrain analysis
- Visual output → motor cortex (gait plan) → motor hub
- Motion hub → each motion node → motor control command
- Return state/sensor back from each node to sensory cortex via hub
6.2 Control Flow
Below is the order of high-level control in the main loop.
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: センサフィードバック
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. Software/Communication
- ROS 2 compatible layer or lightweight custom protocol (Zenoh)
- Main processes are assumed to be containerized (Docker/Kubernetes)
- Motor driver runs on real-time OS (FreeRTOS/NuttX)
8. Safety and failsafe
- Hardware interlock (emergency stop button)
- Software overcurrent and overheat protection
- Immediate shutdown and emergency landing behavior in case of fall
9. Extensibility and modularity
- Legs/arms designed as hot-swappable modules
- Contains connectors for easy sensor and battery replacement
10. Reference diagram
flowchart TB
subgraph 感覚野
V[visual node]
A[auditory node]
E[environment node]
end
subgraph 運動野
M[Higher order generation]
end
subgraph ハブ
H[exercise hub]
end
subgraph ノード群
N1[Motor node: left leg]
N2[Motor node: right leg]
N3[Motor node: waist]
end
V --> M
A --> M
E --> M
M --> H
H --> N1
H --> N2
H --> N3
This design document serves as the standard for the project, so it should be updated every time there are new sensors or changes to the aircraft.