Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Agents

---
title: "Agents"
---
LLM agents run as native DimOS modules. They subscribe to camera, LiDAR, odometry, and spatial memory streams and they control the robot through skills.

## Architecture
Expand Down
4 changes: 3 additions & 1 deletion docs/capabilities/manipulation/a750.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# A-750 Robotic Arm
---
title: "A-750 Robotic Arm"
---

Support for the A-750 robotic arm includes visualization, an adapter to talk to real hardware, and keyboard teleop blueprint.

Expand Down
5 changes: 3 additions & 2 deletions docs/capabilities/manipulation/adding_a_custom_arm.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# How to Integrate a New Manipulator Arm

---
title: "How to Integrate a New Manipulator Arm"
---
This guide walks through integrating a new robot arm with DimOS, from writing the hardware adapter to creating blueprints for planning and control.

## Architecture Overview
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Manipulation

---
title: "Manipulation"
---
Motion planning and teleoperation for robotic manipulators. Uses Drake for physics simulation and optional Meshcat or Viser planning visualization.

## Quick Start
Expand Down
5 changes: 3 additions & 2 deletions docs/capabilities/manipulation/openarm_integration.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# OpenArm Integration

---
title: "OpenArm Integration"
---
Guide for running the **OpenArm** — an open-source bimanual 7-DOF research arm built from Damiao DM-J quasi-direct-drive motors — under the dimos manipulation + control stack.

**If you're standing in front of the hardware and just want to run it, skip to [Quick start](#quick-start).**
Expand Down
5 changes: 3 additions & 2 deletions docs/capabilities/navigation/cmu_nav.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Cmu Nav Stack

---
title: "CMU Nav Stack"
---
A modular navigation stack for autonomous robot navigation: terrain classification, obstacle avoidance, global path planning, local trajectory selection, and loop-closure-corrected mapping — composed as Blueprint modules.

Good fit when you have a lidar-equipped robot and need end-to-end autonomy: feed it a registered point cloud and odometry, and it produces velocity commands. No ROS — modules communicate over DimOS streams (LCM/SHM).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Navigation

---
title: "Navigation"
---
Note: in the future these will be merged into one system.

## Cmu Nav Stack
Expand Down
5 changes: 3 additions & 2 deletions docs/capabilities/navigation/native/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Go2 Non-ROS Navigation

---
title: "Go2 Non-ROS Navigation"
---
![output](assets/noros_nav.gif)

The Go2 navigation stack runs entirely without ROS. It uses a **column-carving voxel map** strategy: each new LiDAR frame replaces the corresponding region of the global map entirely, ensuring the map always reflects the latest observations.
Expand Down
5 changes: 5 additions & 0 deletions docs/capabilities/perception/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: "Perception"
---

## Detections
3 changes: 0 additions & 3 deletions docs/capabilities/perception/readme.md

This file was deleted.

4 changes: 3 additions & 1 deletion docs/capabilities/teleoperation/hosted.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Hosted Teleop
---
title: "Hosted Teleop"
---

Operate a DimOS robot remotely from any browser or Quest headset over WebRTC.
The robot dials out to a hosted Cloudflare Realtime SFU broker
Expand Down
4 changes: 3 additions & 1 deletion docs/coding-agents/code-quality-rules.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Code Quality Rules
---
title: "Code Quality Rules"
---

Rules dimos code is expected to follow. They address recurring issues found in code review. The automated scan/fix prompts in `misc/auto-fixes/` are built from this file, but it's meant to be reused by any prompt that needs the project's code-quality criteria.

Expand Down
4 changes: 3 additions & 1 deletion docs/coding-agents/docs/codeblocks.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Executable Code Blocks
---
title: "Executable Code Blocks"
---

We use [md-babel-py](https://github.com/leshy/md-babel-py/) to execute code blocks in markdown and insert results.

Expand Down
5 changes: 3 additions & 2 deletions docs/coding-agents/docs/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@

# Code Blocks
---
title: "Code Blocks"
---

**All code blocks must be executable.**
Never write illustrative/pseudo code blocks.
Expand Down
4 changes: 3 additions & 1 deletion docs/coding-agents/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# For Agents
---
title: "For Agents"
---

├── worktrees.md (creating provisioned worktrees with `bin/worktree`)
├── style.md (code style guidelines for dimos)
Expand Down
4 changes: 3 additions & 1 deletion docs/coding-agents/style.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Code Style Guidelines
---
title: "Code Style Guidelines"
---

Rules for writing code in dimos. These address recurring issues found in code review.

Expand Down
4 changes: 3 additions & 1 deletion docs/coding-agents/testing.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Testing Guidelines
---
title: "Testing Guidelines"
---

Rules for writing tests in dimos. These address recurring issues found in code review.

Expand Down
4 changes: 3 additions & 1 deletion docs/development/docker.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Docker Images
---
title: "Docker Images"
---

Dimos uses parallel Docker image hierarchies for ROS and non-ROS builds, allowing you to choose the environment that fits your use case.

Expand Down
4 changes: 3 additions & 1 deletion docs/development/grid_testing.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Grid Testing Strategy
---
title: "Grid Testing Strategy"
---

Grid tests run the same test logic across multiple implementations or configurations using pytest's parametrize feature.

Expand Down
4 changes: 3 additions & 1 deletion docs/development/large_file_management.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Data Loading
---
title: "Data Loading"
---

The [`get_data`](/dimos/utils/data.py) function provides access to test data and model files, handling Git LFS downloads automatically.

Expand Down
4 changes: 3 additions & 1 deletion docs/development/profiling_dimos.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Profiling dimos
---
title: "Profiling dimos"
---

You can use py-spy to profile a particular blueprint:

Expand Down
4 changes: 3 additions & 1 deletion docs/development/testing.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Testing
---
title: "Testing"
---

`uv run` syncs the project deps + `tests` group on demand, so the default test suite needs no upfront install — just `uv run pytest --numprocesses=auto dimos` (xdist parallelizes across cores).

Expand Down
4 changes: 3 additions & 1 deletion docs/development/writing_docs.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Writing Docs
---
title: "Writing Docs"
---

1. Where to put your docs:
- If it only matters to people who contribute to dimos (like this doc), put them in `docs/development`
Expand Down
42 changes: 34 additions & 8 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
{
"group": "Usage",
"pages": [
"usage/index",
"usage/modules",
"usage/blueprints",
"usage/configuration",
Expand All @@ -49,6 +50,7 @@
{
"group": "Data streams",
"pages": [
"usage/data_streams/index",
"usage/data_streams/advanced_streams",
"usage/data_streams/quality_filter",
"usage/data_streams/reactivex",
Expand All @@ -59,6 +61,7 @@
{
"group": "Sensor streams",
"pages": [
"usage/sensor_streams/index",
"usage/sensor_streams/advanced_streams",
"usage/sensor_streams/quality_filter",
"usage/sensor_streams/reactivex",
Expand All @@ -78,28 +81,43 @@
{
"group": "Agents",
"pages": [
"agents/index",
"agents/style",
"agents/code-quality-rules",
"agents/testing",
"coding-agents/index",
"coding-agents/style",
"coding-agents/code-quality-rules",
"coding-agents/testing",
"coding-agents/worktrees",
{
"group": "Authoring agent docs",
"pages": [
"agents/docs/index",
"agents/docs/codeblocks",
"agents/docs/doclinks"
"coding-agents/docs/index",
"coding-agents/docs/codeblocks",
"coding-agents/docs/doclinks"
]
}
]
},
{
"group": "Capabilities",
"pages": [
{
"group": "Agents",
"pages": [
"capabilities/agents/index"
]
},
{
"group": "Manipulation",
"pages": [
"capabilities/manipulation/index",
"capabilities/manipulation/adding_a_custom_arm",
"capabilities/manipulation/openarm_integration"
"capabilities/manipulation/openarm_integration",
"capabilities/manipulation/a750"
]
},
{
"group": "Mapping",
"pages": [
"capabilities/mapping/relocalization"
]
},
{
Expand All @@ -113,6 +131,7 @@
{
"group": "Navigation",
"pages": [
"capabilities/navigation/index",
"capabilities/navigation/cmu_nav",
{
"group": "Native",
Expand All @@ -122,6 +141,12 @@
}
]
},
{
"group": "Perception",
"pages": [
"capabilities/perception/index"
]
},
{
"group": "Teleoperation",
"pages": [
Expand Down Expand Up @@ -156,6 +181,7 @@
"development/grid_testing",
"development/large_file_management",
"development/profiling_dimos",
"development/releasing",
"development/writing_docs"
]
}
Expand Down
4 changes: 3 additions & 1 deletion docs/platforms/humanoid/g1/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Unitree G1
---
title: "Unitree G1"
---

## Requirements

Expand Down
4 changes: 3 additions & 1 deletion docs/platforms/quadruped/go2/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Unitree Go2 — Getting Started
---
title: "Unitree Go2"
---

The Unitree Go2 is DimOS's primary reference platform. Full autonomous navigation, mapping, and agentic control — no ROS required.

Expand Down
4 changes: 3 additions & 1 deletion docs/requirements.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# System Requirements
---
title: "System Requirements"
---

## Hardware

Expand Down
4 changes: 3 additions & 1 deletion docs/usage/camera_calibration.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Camera calibration
---
title: "Camera calibration"
---

Operator workflow for chessboard targets and `dimos cameracalibrate` (ROS-style CameraInfo YAML). The square size you pass to the CLI must match the board you actually print and measure.

Expand Down
4 changes: 3 additions & 1 deletion docs/usage/cli.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# CLI Reference
---
title: "CLI Reference"
---

The `dimos` CLI manages the full lifecycle of a DimOS robot stack — start, stop, inspect, and interact.

Expand Down
4 changes: 3 additions & 1 deletion docs/usage/configuration.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Configuration
---
title: "Configuration"
---

Dimos provides a `Configurable` base class. See [`service/spec.py`](/dimos/protocol/service/spec.py#L22).

Expand Down
4 changes: 3 additions & 1 deletion docs/usage/data_streams/advanced_streams.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Advanced Stream Handling
---
title: "Advanced Stream Handling"
---

> **Prerequisite:** Read [ReactiveX Fundamentals](/docs/usage/data_streams/reactivex.md) first for Observable basics.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Sensor Streams
---
title: "Data Streams"
---

Dimos uses reactive streams (RxPY) to handle sensor data. This approach naturally fits robotics where multiple sensors emit data asynchronously at different rates, and downstream processors may be slower than the data sources.

Expand Down
4 changes: 3 additions & 1 deletion docs/usage/data_streams/quality_filter.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Quality-Based Stream Filtering
---
title: "Quality-Based Stream Filtering"
---

When processing sensor streams, you often want to reduce frequency while keeping the best quality data. For discrete data like images that can't be averaged or merged, instead of blindly dropping frames, `quality_barrier` selects the highest quality item within each time window.

Expand Down
4 changes: 3 additions & 1 deletion docs/usage/data_streams/reactivex.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# ReactiveX (RxPY) Quick Reference
---
title: "ReactiveX (RxPY) Quick Reference"
---

RxPY provides composable asynchronous data streams. This is a practical guide focused on common patterns in this codebase.

Expand Down
4 changes: 3 additions & 1 deletion docs/usage/data_streams/storage_replay.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Sensor Storage and Replay
---
title: "Sensor Storage and Replay"
---

Record sensor streams to disk and replay them with original timing. Useful for testing, debugging, and creating reproducible datasets.

Expand Down
4 changes: 3 additions & 1 deletion docs/usage/data_streams/temporal_alignment.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Temporal Message Alignment
---
title: "Temporal Message Alignment"
---

Robots have multiple sensors emitting data at different rates and latencies. A camera might run at 30fps, while lidar scans at 10Hz, and each has different processing delays. For perception tasks like projecting 2D detections into 3D pointclouds, we need to match data from these streams by timestamp.

Expand Down
Loading
Loading