Scope: a practical, vendor-neutral onboard compute + control architecture for a 3-wheeled base with a single 18-DoF manipulator arm. Sensor suite similar to legged/humanoid stacks (RGB-D + LiDAR + IMU), but with reduced actuator and controller counts. Target all-up mass: 30 lb (13.6 kg).
Related: Humanoid robotics - typical onboard computation architecture
+-----------------------------------+
| High-level compute ("Robot PC") |
Sensors -> drivers ->| - ROS 2 graph (perception/nav/man) |--> Wi-Fi/Ethernet
(RGB-D/LiDAR/IMU) | - SLAM, Nav2, MoveIt 2 | (teleop/cloud)
| - UI, logging, orchestration |
+------------------+----------------+
|
| command + state (non-hard-RT)
v
+-----------------------------------+
| Low-level control + safety MCU |
| - base motor control (50-400 Hz) |
| - watchdogs, E-stop, power OK |
| - timestamps/filters for sensors |
+------------------+----------------+
|
| motor/servo buses
+----------------------+------------------------+
| |
v v
+---------------------+ +---------------------+
| Base drive modules | | Arm joint modules |
| (2-3 motors + enc) | | (18 smart servos or |
| - drive internal | | drives) |
+---------------------+ +---------------------+
Note: if the arm uses smart servos (DYNAMIXEL-class) you may skip the separate low-level arm controller - the main computer can talk directly to the servo bus - but you still want an independent safety/power chain for a real robot.
| Subsystem | Qty | Notes |
|---|---|---|
| Arm joints | 18 | 18 DoF (including wrist/hand). These are the primary servo nodes. |
| Base drive motors | 2-3 | Common: 2 driven wheels + 1 passive caster (2 motors). If truly 3-wheel drive (omni/kiwi), then 3 motors. |
| Optional gripper/hand extras | 0-? (already included) | If the 18 DoF includes the hand, nothing extra; otherwise add a small actuator budget. |
For a wheeled mobile manipulator, you typically keep the same sensor classes as larger robots, but use fewer instances:
| Sensor | Qty (typical) | Purpose | Notes |
|---|---|---|---|
| RGB-D camera (front) | 1 | obstacle detection, manipulation perception, mapping support | Mount high enough for near-ground occlusions. |
| 2D LiDAR (or 3D LiDAR) | 1 | navigation + mapping | 2D is often sufficient indoors; 3D helps with clutter and manipulation scenes. |
| IMU | 1 | state estimation / dead-reckoning support | Mount rigidly on the base; avoid vibration. |
| Wheel encoders | 2-3 | odometry | Usually integrated in motor/drive. |
| Arm joint position sensors | 18 | manipulator state | Usually integrated in each smart servo/drive. |
| Force/torque sensing | 0-1 | compliance, contact detection, grasp robustness | Optional but very valuable for real manipulation. |
| Bump sensors / contact switches | 2-6 | safety + docking | Simple, cheap safety improvement. |
These are commonly used building blocks for wheeled mobile manipulators. Verify realtime/safety needs and controller limits before running on hardware.
| Component | Open-source options |
|---|---|
| Robot middleware / messaging | |
| Base navigation stack (planning + recovery) |
|
| SLAM / mapping / localization |
|
| Base control (velocity -> wheels/odometry) |
|
| Arm control + trajectory execution |
|
| Manipulation motion planning | |
| Trajectory generation / time-parameterization | |
| 3D perception primitives (point clouds, voxel maps) | |
| Motor control firmware (common in small robots) |
|
| Power management (battery/BMS) | |
| Logging + visualization + debugging |
|
| Simulation |
| Use | Open-weights options |
|---|---|
| Object detection |
|
| Text-prompted / open-vocabulary detection |
|
| Segmentation | |
| Depth / pose / scene understanding |
|
| Speech-to-text |
|
| Language / VLM for task planning / tool use (note: licenses vary) |
Order-of-magnitude placeholders to sanity-check feasibility early. Replace with your actual parts.
| Subsystem | Target mass | Notes |
|---|---|---|
| Base chassis + wheels + drive train | 10-12 lb (4.5-5.5 kg) | Frame, wheels/caster, gearboxes, mounting plates. |
| Arm structure + cabling | 4-6 lb (1.8-2.7 kg) | Links, brackets, harnessing. |
| Arm actuators (18) | 6-10 lb (2.7-4.5 kg) | Depends heavily on servo class. |
| Battery + BMS + enclosure | 3-6 lb (1.4-2.7 kg) | Capacity vs runtime trade-off. |
| Compute + networking | 1.5-3 lb (0.7-1.4 kg) | Jetson/x86 + SSD + cooling. |
| Sensors | 1-2.5 lb (0.5-1.1 kg) | RGB-D + LiDAR + IMU + mounts. |
| Power distribution + wiring + safety | 1-2.5 lb (0.5-1.1 kg) | DC-DCs, fuses, E-stop, connectors. |
| Margin | 2-4 lb (0.9-1.8 kg) | Fasteners, covers, rework allowance. |
| Subsystem | Typical (W) | Peak (W) | Notes |
|---|---|---|---|
| Main compute | 15-60 | 80-120 | Depends on Jetson power mode / x86 load. |
| Sensors | 10-30 | 40 | LiDAR + RGB-D + networking. |
| Base drive | 30-150 | 300-600 | Floor, payload, acceleration. |
| Arm servos (18) | 30-200 | 400-1000 | Biggest spikes during fast motion or stalls. |
Reality check: even a 30 lb robot can hit large electrical peaks. Size wiring/fuses/contactors for worst-case, not average.
File generated for: /home/marc/documents/Robot-Project/