Obedience — Bipedal Robot

A software architecture for autonomous bipedal delivery, applying capture-point control theory from the literature

Obedience is an autonomous bipedal robot designed to deliver medications to patient bedsides on a schedule. The project’s core contribution is its software architecture: a “constellation” of ROS 2 nodes that applies capture-point control theory, published in the humanoid push-recovery literature, to a concrete, fault-tolerant delivery task.

Architecture

Rather than a single monolithic controller, the system is decomposed into independent, communicating nodes — mission planning, navigation, battery management, and locomotion each own a narrow responsibility, coordinated over ROS 2 topics/services:

┌─────────────────────────────────────────────────────────────┐
│                   OBEDIENCE CONSTELLATION                     │
├─────────────────────────────────────────────────────────────┤
│                                                                 │
│   ┌─────────────┐    ┌─────────────┐    ┌─────────────┐       │
│   │   Mission   │    │  Navigation │    │   Battery   │       │
│   │   Planner   │────│  Controller │────│   Monitor   │       │
│   └─────────────┘    └─────────────┘    └─────────────┘       │
│          │                  │                  │              │
│          └──────────────────┼──────────────────┘              │
│                             │                                  │
│                    ┌────────┴────────┐                        │
│                    │     Walking     │                        │
│                    │   Controller    │                        │
│                    │ (Capture Point) │                        │
│                    └─────────────────┘                        │
│                             │                                  │
│                    ┌────────┴────────┐                        │
│                    │      Robot      │                        │
│                    │    Hardware     │                        │
│                    └─────────────────┘                        │
└─────────────────────────────────────────────────────────────┘

Methodology — applying the literature

The walking controller implements the Capture Point method: the theory that a biped can be modeled as a linear inverted pendulum, and that there exists a “capture point” on the ground where, if the foot is placed, the robot can come to a stop without taking another step. This gives dynamically stable walking without solving a full trajectory-optimization problem online — a good fit for a low-cost, real-time delivery robot. The controller computes optimal foot placement from inverted-pendulum dynamics (capture_point.py, with kinematics via jacobian.py), following Pratt et al., “Capture Point: A Step toward Humanoid Push Recovery.”

The rest of the constellation applies that same stability guarantee at the system level: the Battery Monitor verifies charge before a trip and predicts reach from discharge rate, the Mission Planner schedules deliveries around it, and if the walking controller ever can’t guarantee a safe capture point (e.g., low battery mid-route), the robot falls back to a safe sit-down posture instead of failing ungracefully.

Stack

Python · ROS 2 (Humble+) · MuJoCo (simulation) · Pinocchio (kinematics) · URDF

Code: github.com/angor-root/Obedience-Biped-a-Thinking-Autonomous-System