Humanoid robotics - typical onboard computation architecture

Scope: common patterns used in modern humanoid / legged robots to enable perception (navigation), whole-body motion (balance + manipulation), and communication. This is a practical, vendor-neutral summary.

Table of contents

Related: 3-wheeled mobile manipulator (18-DoF arm) - onboard computation architecture

Executive summary

1) Why humanoids are typically distributed (not monolithic)

Humanoids combine several workloads that have conflicting requirements:

A single computer can run all of this for small robots, but as DoF counts rise, designers typically split the system into layers so that real-time control cannot be disrupted by perception/planning load spikes or OS scheduling noise.

2) Typical layered architecture (primary node + multiple secondary nodes)

A common arrangement is:

                     +--------------------------------+
                     | High-level compute ("Robot PC")|
                     | - ROS 2 graph (nodes)          |
Sensors --> drivers->| - perception, SLAM, planning   |--> Wi-Fi/5G/Ethernet -> operator/cloud
(cams/lidar/imu)     | - behavior, autonomy, logging  |
                     +-----------------+--------------+
                                       |
                                       | deterministic control link
                                       | (often 1GbE physical layer)
                                       v
                     +--------------------------------+
                     | Real-time motion controller     |
                     | - runs 0.5-5 kHz control cycle  |
                     | - publishes joint commands      |
                     | - reads encoders/torque/IMU     |
                     | - may be part of Robot PC, or   |
                     |   a separate CPU/SoC            |
                     +-----------------+--------------+
                                       |
                                       | Fieldbus: EtherCAT (common)
                                       | or CAN/CAN-FD (common in smaller systems)
                                       v
   +------------------+   +------------------+   +------------------+
   | Joint module #1  |   | Joint module #2  |   | Joint module #N  |
   | - drive+MCU      |   | - drive+MCU      |   | - drive+MCU      |
   | - local loops    |   | - local loops    |   | - local loops    |
   +------------------+   +------------------+   +------------------+

           +--------------------------------------------+
           | Independent safety chain (recommended)      |
           | - E-stop, STO (Safe Torque Off), contactors |
           | - safety MCU / safety PLC / safety IO       |
           +--------------------------------------------+

2.1 High-level compute ("primary node")

Role: world perception and state estimation, mapping/localization, whole-body planning, task logic, UI/teleop, logging, and system orchestration.

Typical hardware:

Typical software:

2.2 Real-time motion control (sometimes separate)

Role: run the “servo cycle” that must be deterministic (read joint sensors, compute commands, write commands) and synchronize many axes.

2.3 Joint-level embedded controllers ("secondary nodes")

Role: close the fastest loops near actuators (current/torque/velocity), manage encoders, local sensing, thermal protection, and sometimes impedance control.

2.4 Safety subsystem (independent path)

Safety is typically designed to remain functional even if the main computer crashes. Common elements:

3) Communication inside the robot

Network / bus Where used Why Notes
EtherCAT Robot controller -> drives/joints/IO Deterministic cyclic data, tight multi-axis sync Very common in high-DOF systems; supports distributed clocks and large process data.
CAN / CANopen / CAN-FD Smaller actuator networks, peripherals, internal modules Robust, simpler wiring, good ecosystem CAN-FD increases payload and bandwidth; still not Ethernet-level throughput.
Ethernet (TCP/UDP) Sensors (LiDAR/cameras), compute-to-compute High bandwidth, standard protocols Often separate NIC/VLAN from the motion fieldbus.
USB / MIPI CSI Cameras, IMUs, depth sensors Convenience, bandwidth USB can be jittery; for critical sensing, designers prefer time-stamped pipelines.

4) Typical onboard computer configuration (practical examples/patterns)

4.1 Reference patterns you can copy

Pattern When it fits Compute layout Pros Cons
A - Single box (monolithic) Small humanoids, prototypes 1 SBC/PC runs perception + control; simple CAN/CAN-FD Lower BOM, simpler integration Harder to guarantee control timing under load; failures are more catastrophic
B - Two-tier (typical) Most full-size humanoids Robot PC (perception/planning) + RT motion controller (may be same machine with RT partitioning) + joint drives Good determinism, scalable DoF, clear interfaces More integration effort; fieldbus engineering required
C - Three-tier + safety controller Production systems, higher safety targets Perception PC + dedicated RT controller + independent safety controller + smart joints Best fault containment; safety can remain active if main compute fails Higher BOM; more verification/validation work

5) What runs where (navigation vs movement vs comms)

5.1 Navigation (localization, mapping, obstacle avoidance)

5.2 Movement (whole-body control, balance, contact handling)

5.3 Communication (teleop, fleet mgmt, cloud)

6) Notes for implementers (if you are designing your own)

7) Prototype bill of materials (BOM) - lightweight full-sized humanoid

Constraints + reality check (important)

7.1 Degrees of freedom and actuator counts

SubsystemDoFQty (actuators)Notes
Neck22Yaw + pitch
Shoulders3 each6Roll + pitch + yaw
Elbows2 each4Flex + forearm roll (or equivalent)
Wrists3 each6Typically needs higher torque than “toy” servos
Hands4 each8Prototype-friendly path is underactuated / tendon driven
Waist33Yaw + roll + pitch
Hips3 each6High torque density required
Knees2 each4High torque density required
Ankles3 each6High torque density required
Total4545

7.2 Compute (onboard)

QtyPartRoleAvailability / pricing sourcesApprox weight
1 NVIDIA Jetson (Orin NX or Orin Nano class) Primary perception + inference + ROS 2 NVIDIA - buy Jetson 0.3-0.8 kg (0.7-1.8 lb)
1 AMD Ryzen-based x86 mini PC / SBC (optional but common) Real-time motion control partition, logging, “robot PC” duties if you want to keep Jetson focused on vision/AI Common sources: industrial PC vendors, Intel NUC-class devices, fanless mini PCs 0.5-1.5 kg (1.1-3.3 lb)
1 NVMe SSD (>= 512 GB recommended) Dataset + bag logs Any major electronics retailer ~10 g (~0.35 oz)
varies (e.g., 4) Raspberry Pi subcontrollers / SoCs (Pi 5 / Compute Module class) Limb/segment controllers: bridge Ethernet to local CAN/CAN-FD, handle sensors, and provide local watchdog behavior Raspberry Pi channels; major electronics distributors ~50 g (~1.8 oz) each (board only)
varies (e.g., 2-6) Arduino-class microcontrollers (AVR/SAMD/ESP32 boards) Low-level I/O: simple sensors, indicators, safety interlocks, bring-up/test tooling Major electronics distributors ~25 g (~0.9 oz) each (board only)

7.3 Binocular vision

QtyPartInterfaceAvailability / pricing sources
1 Intel RealSense D455 (stereo depth) USB 3 Intel RealSense store
1 (alt) Stereolabs ZED 2i (stereo depth) USB 3 Stereolabs store

7.4 IMU / gyro + accelerometer modules (6x)

QtyPartInterfaceAvailability / pricing sources
6 BNO085 / BNO086 IMU breakout (9-axis, onboard fusion; ~2 g (~0.07 oz) each, board only) I2C / UART (board-dependent) Adafruit BNO085 breakout (product 4754), Adafruit BNO085 guide

7.5 Pressure / tactile sensors (15x)

QtyPartNotesAvailability / pricing sources
15 FSR (Force Sensitive Resistor) - Interlink FSR 402 class Simple, light, easy to mount; requires calibration and has drift/hysteresis Interlink Electronics
4 ADS1115 16-bit ADC breakout (4 channels each) 16 analog channels total for 15 sensors (spare 1 channel) Adafruit ADS1115 breakout (product 1085)

7.5.1 Ultrasonic sensors (short-range collision detection/avoidance) (6x)

QtyPartInterfaceApprox weightAvailability / pricing sources
6 Ultrasonic rangefinder module (HC-SR04 class) GPIO (trigger/echo) or via a small local MCU ~9 g (~0.32 oz) each; ~54 g (~1.9 oz) total Major electronics distributors

7.6 Internal network (hub-and-spoke CAT6)

QtyPartRoleAvailability / pricing sources
1 8-port Gigabit Ethernet switch (unmanaged) Hub-and-spoke for compute + limb nodes + sensors Example class: TP-Link TL-SG108 (consumer) or industrial rugged switches if you need vibration rated hardware
1 (alt) Industrial M12 Ethernet switch (if you want rugged connectors) Rugged internal Ethernet backbone Example vendors: Phoenix Contact, Antaira, Linovision, Leonton (check current stock/pricing)
1 CAT6 bulk cable + RJ45 ends + strain relief Data cabling Any networking supplier

7.7 Interface nodes (Ethernet spoke nodes to local buses)

A practical way to preserve hub-and-spoke Ethernet while keeping motor wiring sane is to place a small controller in each limb/segment, and run local CAN/CAN-FD from that controller to a chain of smart actuators.

QtyPartRoleAvailability / pricing sources
5 Ethernet-capable MCU dev board (STM32H7 class) Limb/segment controller: aggregates sensors, bridges Ethernet to local buses ST Nucleo / compatible dev boards; major distributors
10 CAN-FD transceiver (MCP2562FD class) 2 CAN-FD ports per limb node (example) Microchip MCP2562FD, DigiKey, Mouser

7.8 Motor network interfaces (to talk to smart actuators)

QtyPartRoleAvailability / pricing sources
1-2 USB-to-CAN-FD adapter (for commissioning / bench testing) Connect the main computer (or laptop) to CAN/CAN-FD actuator networks PEAK PCAN-USB FD (example)
1 USB adapter for DYNAMIXEL (TTL/RS-485) Configure and control DYNAMIXEL chains (hands, small joints) ROBOTIS U2D2 (example)

7.9 Actuation (motors + controllers)

Prototype-friendly option - integrated actuator modules (recommended for early prototypes): these combine motor + gearbox + encoder + drive/controller, typically with CAN/UART.

QtyPartWhere usedAvailability / pricing sources
19 High-torque integrated actuators (e.g., CubeMars AK80-9 class) Waist (3) + hips (6) + knees (4) + ankles (6) = 19 CubeMars AK80-9 V3.0 KV100 (example)
18 Mid-torque integrated actuators (e.g., CubeMars AK60-6 class) Neck (2) + shoulders (6) + elbows (4) + wrists (6) = 18 CubeMars AK60-6 V3.0 KV80 (example)
8 Lightweight smart servos for hands (e.g., Robotis DYNAMIXEL XL330 class) Hands (8) ROBOTIS XL330 (example)

Alternative - separate servo drives + motors: higher engineering effort but potentially better mass optimization if you move to frameless motors and custom geartrains later.

QtyPartRoleAvailability / pricing sources
varies EtherCAT servo drives (e.g., Ingenia Capitan NET / similar) Single-axis motor control over EtherCAT Ingenia EtherCAT drives
varies EtherCAT motor network fanout (junctions) EtherCAT “star” branching without normal Ethernet switches Beckhoff EK1122 (example)

7.10 Battery pack (20 6550 cells) + power distribution

QtyPartRoleAvailability / pricing sourcesApprox weight
20 Rechargeable lithium cells (your chosen 6550-class cells) Energy storage; configure as NsNp to match your required bus voltage and capacity (confirm chemistry and max charge voltage). Example: 20S1P is ~74 V nominal (~84 V full) or 10S2P is ~37 V nominal (~42 V full). Major battery suppliers; ensure authentic cells cells only: ~1.40 kg (3.1 lb) (assuming 70 g (2.5 oz) per cell)
1 BMS matched to your series count (e.g., 20S BMS) Cell balancing + protections (OV/UV/OCP) DALY BMS ~0.10-0.30 kg (0.22-0.66 lb)
1 Main contactor + precharge + fuse + E-stop Safe power switching and fault isolation Automation/electrical suppliers varies (~0.2-1.0 kg (~0.4-2.2 lb) typical)
1 DC-DC converter(s) from battery bus to logic rails (24 V / 12 V / 5 V) Stable rails for compute and sensors Example: Mean Well DDR-120 series (datasheet: DDR-120-SPEC.PDF) varies (~0.2-0.8 kg (~0.4-1.8 lb) typical)

7.11 Misc non-structural parts (often forgotten)

QtyPartNotes
1Emergency stop button (latching) + wiringPut on accessible exterior
1Kill switch / key switchOptional but recommended
variesInline fuses / fuse blockOne per power branch (compute, limbs, etc.)
variesConnectors (power: XT30/XT60, signal: JST, MicroFit, etc.)Standardize early to reduce mistakes
variesShielded twisted pair for CAN/CAN-FD, plus termination resistorsEven if you use Ethernet for backbone, local buses need proper wiring
variesThermal monitoring (NTCs) and cooling (fans/heatsinks)Actuators and DC-DC stages get hot fast

7.12 Rough weight + power budget (actuators, battery, compute)

Order-of-magnitude estimates for early feasibility checks. Use this to sanity-check whether your battery and thermal design are even in the right ballpark.

Target total mass budget: 50 lb (22.7 kg).

7.12.1 Actuators (nameplate - rated power; peak power will be higher)

Actuator class Qty Rated power (W) - per unit Rated power (W) - total Weight (metric + imperial) - per unit Weight (metric + imperial) - total Notes
CubeMars AK80-9 V3.0 KV100 19 368 6992 490 g (1.08 lb) 9310 g (20.5 lb) Used for waist + legs in this draft joint list
CubeMars AK60-6 V3.0 KV80 18 74 1332 380 g (0.84 lb) 6840 g (15.1 lb) Used for neck + arms in this draft joint list
Robotis DYNAMIXEL XL330 class (hand servos) 8 (depends on duty cycle/load) (depends on duty cycle/load) 18 g (0.63 oz) 144 g (5.1 oz) Small servos; check real duty cycle and 5-8 V rail sizing
Actuators - subtotal 45 8324 16294 g (35.9 lb) 16.29 kg (35.9 lb) (just actuators)

Reality check: you will not run at “sum of rated power” continuously, but this highlights how quickly actuator peak demand can outrun a small battery pack and small DC bus wiring.

7.12.2 Battery pack (20 6550 cells - plug in your cell spec)

7.12.3 Compute (very rough - depends on your exact modules and cooling)

Compute itemQtyTypical power (W)Typical massNotes
Jetson Orin (NX/Nano class) with carrier + heatsink/fan115-30 W0.3-0.8 kg (0.7-1.8 lb)Vision/inference + ROS 2
AMD Ryzen-based x86 mini PC (optional)120-60 W0.5-1.5 kg (1.1-3.3 lb)Logging + "robot PC" + non-RT workloads (or RT partition)
NVMe SSD12-8 W~10 g (~0.35 oz)High write bursts during logging

8) Open-source software and open-weights model options

These are commonly used building blocks for humanoid/legged robots. Verify license and safety constraints (STO, E-stop chain, contactors, etc.) before deployment on real hardware.

Software components (3+ options per major component)

ComponentOpen-source options
Robot middleware / messaging
Navigation + SLAM (if humanoid is mobile in buildings)
State estimation / sensor fusion
Whole-body / balance / contact-aware control (MPC/WBC/DDP)
  • Drake (optimization + multibody + control)
  • OCS2 (optimal control / MPC; legged robotics ecosystem)
  • Crocoddyl (DDP-style optimal control)
  • TSID / Stack-of-Tasks (hierarchical whole-body control)
Kinematics/dynamics + collision
  • Pinocchio (rigid body dynamics)
  • KDL (Kinematics and Dynamics Library)
  • FCL (collision checking; often via wrappers)
Manipulation motion planning
Hardware abstraction / joint control
  • ros2_control (hardware interfaces + controllers)
  • Orocos (RTT / components; used in some RT stacks)
  • LinuxCNC (for certain servo/fieldbus motion control use cases)
Motor network / fieldbus stacks (Linux)
Real-time execution (host + MCU)
Power management (battery/BMS)
Logging + visualization + debugging
Simulation

Open-weights models (examples)

UseOpen-weights options (typically run via PyTorch/ONNX/etc.)
Object detection
Open-vocabulary / text-prompted detection
  • GroundingDINO (open-set detection; weights available)
  • OWL-ViT (open-vocabulary detection; weights available)
  • GLIP-style models (weights available in some repos)
Segmentation
Depth estimation
Speech-to-text
Language / VLM for command grounding (note: licenses vary)

9) References (starting points)

9.1 Project sites (humanoid / open-hardware)


File generated for: /home/marc/documents/Robot-Project/