Dropbear OS

Dropbear OS is the core runtime that powers every Dropbear robot. Built entirely on ROS 2 Humble, it provides a modular, real-time operating layer for whole-body control, sensor fusion, and high-level task planning.

Architecture Overview

Dropbear OS is organized as a collection of ROS 2 packages, each handling a distinct responsibility. The system follows a layered architecture:

Hardware Abstraction Layer

Direct interface to actuators, IMUs, force sensors, and cameras. Provides standardized ROS 2 topics and services for all hardware. Supports MyActuator RMD series over CAN bus and custom servo drivers.

Control Layer β€” Corgi

Co-ordinated Robotic Gait and Intelligence. Real-time whole-body controller handling inverse dynamics, balance, and trajectory tracking at a 2ms control loop. This is the brain of locomotion.

Behavior Layer

High-level behavior trees and state machines. Coordinates complex tasks like walking, grasping, and navigation by composing primitives from the control layer.

Intelligence Layer

LLM-based task planning, reinforcement learning policies, and computer vision pipelines. Connects to on-edge inference (Jetson Orin) or cloud endpoints.

Core Packages

The ROS 2 workspace includes the following packages:

PackageDescriptionLanguage
dropbear_controlWhole-body controller (Corgi), trajectory generation, balancePython / C++
dropbear_hardwareHardware interfaces for actuators, IMU, force sensorsC++
dropbear_behaviorsBehavior trees, state machines, task coordinationPython
dropbear_teleopTeleoperation interfaces β€” web, gamepad, VRPython
dropbear_simulationGazebo and MuJoCo simulation environmentsPython / URDF / MJCF
dropbear_msgsCustom ROS 2 message and service definitionsIDL
dropbear_safetySafety monitors, emergency stop, joint limit enforcementC++

Installation

Dropbear OS runs on Ubuntu 22.04 with ROS 2 Humble. For simulation-only development, any x86_64 Linux machine will work. For on-robot deployment, you'll need an NVIDIA Jetson Orin or compatible ARM64 board.

# Install ROS 2 Humble (if not already installed)
sudo apt install ros-humble-desktop

# Clone and build
git clone https://github.com/Hyperspawn/Dropbear.git
cd Dropbear
./scripts/install_deps.sh
colcon build --symlink-install

# Source the workspace
source install/setup.bash

Running the Stack

Launch files are provided for common configurations:

# Full simulation with Gazebo
ros2 launch dropbear_simulation simulation.launch.py

# Hardware bringup (on the physical robot)
ros2 launch dropbear_hardware bringup.launch.py

# Teleop control
ros2 launch dropbear_teleop web_teleop.launch.py

Configuration

All tunable parameters β€” PID gains, joint limits, sensor calibrations, and safety thresholds β€” live in YAML config files under the config/ directory. The system uses ROS 2 parameter server, so values can be adjusted at runtime without restarting nodes.

🚧 Active Development

Dropbear OS is under active development. Some packages are more mature than others. Check the GitHub repos for the latest status.