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:
| Package | Description | Language |
|---|---|---|
| dropbear_control | Whole-body controller (Corgi), trajectory generation, balance | Python / C++ |
| dropbear_hardware | Hardware interfaces for actuators, IMU, force sensors | C++ |
| dropbear_behaviors | Behavior trees, state machines, task coordination | Python |
| dropbear_teleop | Teleoperation interfaces β web, gamepad, VR | Python |
| dropbear_simulation | Gazebo and MuJoCo simulation environments | Python / URDF / MJCF |
| dropbear_msgs | Custom ROS 2 message and service definitions | IDL |
| dropbear_safety | Safety monitors, emergency stop, joint limit enforcement | C++ |
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.bashRunning 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.pyConfiguration
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.