From 58ccacb70b94f97a796a9005c3573ce28b1fed0b Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Fri, 3 Jul 2026 19:41:09 +0000 Subject: [PATCH] docs: add SEO descriptions and refine titles across changed docs --- docs/capabilities/agents/index.md | 3 ++- docs/capabilities/manipulation/a750.md | 3 ++- docs/capabilities/manipulation/adding_a_custom_arm.md | 3 ++- docs/capabilities/manipulation/index.md | 3 ++- docs/capabilities/manipulation/openarm_integration.md | 3 ++- docs/capabilities/navigation/deep_dive.md | 3 ++- docs/capabilities/navigation/index.md | 3 ++- docs/capabilities/perception/index.md | 3 ++- docs/capabilities/teleoperation/hosted.md | 3 ++- docs/coding-agents/code-quality-rules.md | 3 ++- docs/coding-agents/docs/codeblocks.md | 3 ++- docs/coding-agents/docs/index.md | 3 ++- docs/coding-agents/index.md | 3 ++- docs/coding-agents/style.md | 3 ++- docs/coding-agents/testing.md | 3 ++- docs/development/docker.md | 3 ++- docs/development/grid_testing.md | 3 ++- docs/development/large_file_management.md | 3 ++- docs/development/profiling_dimos.md | 3 ++- docs/development/testing.md | 3 ++- docs/development/writing_docs.md | 3 ++- docs/platforms/humanoid/g1/index.md | 3 ++- docs/platforms/quadruped/go2/index.md | 3 ++- docs/requirements.md | 3 ++- docs/usage/camera_calibration.md | 3 ++- docs/usage/cli.md | 3 ++- docs/usage/configuration.md | 3 ++- docs/usage/data_streams/advanced_streams.md | 3 ++- docs/usage/data_streams/index.md | 3 ++- docs/usage/data_streams/quality_filter.md | 3 ++- docs/usage/data_streams/reactivex.md | 3 ++- docs/usage/data_streams/storage_replay.md | 3 ++- docs/usage/data_streams/temporal_alignment.md | 3 ++- docs/usage/index.md | 3 ++- docs/usage/lcm.md | 3 ++- docs/usage/modules.md | 3 ++- docs/usage/native_modules.md | 3 ++- docs/usage/python-api.md | 3 ++- docs/usage/sensor_streams/advanced_streams.md | 3 ++- docs/usage/sensor_streams/index.md | 3 ++- docs/usage/sensor_streams/quality_filter.md | 3 ++- docs/usage/sensor_streams/reactivex.md | 3 ++- docs/usage/sensor_streams/storage_replay.md | 3 ++- docs/usage/sensor_streams/temporal_alignment.md | 3 ++- docs/usage/tool_streams.md | 3 ++- docs/usage/transforms.md | 3 ++- docs/usage/transports/dds.md | 3 ++- docs/usage/transports/index.md | 3 ++- docs/usage/visualization.md | 3 ++- 49 files changed, 98 insertions(+), 49 deletions(-) diff --git a/docs/capabilities/agents/index.md b/docs/capabilities/agents/index.md index ba85efb91a..f290175b7e 100644 --- a/docs/capabilities/agents/index.md +++ b/docs/capabilities/agents/index.md @@ -1,5 +1,6 @@ --- -title: "Agents" +title: "LLM agents in DimOS" +description: "How LLM agents run as native DimOS modules, subscribe to camera, LiDAR, odometry, and spatial memory streams, and control the robot through skills." --- LLM agents run as native DimOS modules. They subscribe to camera, LiDAR, odometry, and spatial memory streams and they control the robot through skills. diff --git a/docs/capabilities/manipulation/a750.md b/docs/capabilities/manipulation/a750.md index 7fedf869c3..dc23b9987c 100644 --- a/docs/capabilities/manipulation/a750.md +++ b/docs/capabilities/manipulation/a750.md @@ -1,5 +1,6 @@ --- -title: "A-750 Robotic Arm" +title: "A-750 robotic arm setup and teleop" +description: "Run the A-750 robotic arm in DimOS with visualization, the hardware adapter, and the keyboard teleop blueprint in mock or real hardware mode." --- Support for the A-750 robotic arm includes visualization, an adapter to talk to real hardware, and keyboard teleop blueprint. diff --git a/docs/capabilities/manipulation/adding_a_custom_arm.md b/docs/capabilities/manipulation/adding_a_custom_arm.md index 39a39032dd..b6521595fa 100644 --- a/docs/capabilities/manipulation/adding_a_custom_arm.md +++ b/docs/capabilities/manipulation/adding_a_custom_arm.md @@ -1,5 +1,6 @@ --- -title: "How to Integrate a New Manipulator Arm" +title: "Integrate a new manipulator arm with DimOS" +description: "Walk through integrating a new robot arm with DimOS: write the hardware adapter, wrap the vendor SDK, and create blueprints for planning and control." --- This guide walks through integrating a new robot arm with DimOS, from writing the hardware adapter to creating blueprints for planning and control. diff --git a/docs/capabilities/manipulation/index.md b/docs/capabilities/manipulation/index.md index 9851c0e8fe..bf321fb925 100644 --- a/docs/capabilities/manipulation/index.md +++ b/docs/capabilities/manipulation/index.md @@ -1,5 +1,6 @@ --- -title: "Manipulation" +title: "Manipulation: planning, teleop, and visualization" +description: "Motion planning and teleoperation for robotic manipulators in DimOS with Drake or RoboPlan planning backends and Meshcat or Viser visualization." --- Motion planning and teleoperation for robotic manipulators. Drake remains the default diff --git a/docs/capabilities/manipulation/openarm_integration.md b/docs/capabilities/manipulation/openarm_integration.md index bb6c403659..6ac11ddc62 100644 --- a/docs/capabilities/manipulation/openarm_integration.md +++ b/docs/capabilities/manipulation/openarm_integration.md @@ -1,5 +1,6 @@ --- -title: "OpenArm Integration" +title: "OpenArm bimanual 7-DOF arm integration" +description: "Run the OpenArm open-source bimanual 7-DOF research arm built from Damiao DM-J quasi-direct-drive motors under the DimOS manipulation stack." --- 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. diff --git a/docs/capabilities/navigation/deep_dive.md b/docs/capabilities/navigation/deep_dive.md index edd71a716d..68b10e1890 100644 --- a/docs/capabilities/navigation/deep_dive.md +++ b/docs/capabilities/navigation/deep_dive.md @@ -1,5 +1,6 @@ --- -title: "Go2 Non-ROS Navigation" +title: "Go2 non-ROS navigation deep dive" +description: "Deep dive into the Go2 non-ROS navigation stack: column-carving voxel mapping, LiDAR frame updates, and the full data flow pipeline." --- ![output](assets/noros_nav.gif) diff --git a/docs/capabilities/navigation/index.md b/docs/capabilities/navigation/index.md index 4e31ddf675..3afa900b23 100644 --- a/docs/capabilities/navigation/index.md +++ b/docs/capabilities/navigation/index.md @@ -1,5 +1,6 @@ --- -title: "Navigation" +title: "Go2 navigation, mapping, and relocalization" +description: "Overview of the Go2 navigation stack with column-carving voxel mapping and relocalization on previously stored and reconstructed maps." --- ![output](assets/noros_nav.gif) diff --git a/docs/capabilities/perception/index.md b/docs/capabilities/perception/index.md index f528f118c9..5fb453edca 100644 --- a/docs/capabilities/perception/index.md +++ b/docs/capabilities/perception/index.md @@ -1,5 +1,6 @@ --- -title: "Perception" +title: "Perception: detections and vision pipelines" +description: "How DimOS handles perception, including 2D and 3D detections, vision model integration, and streaming detection results to downstream modules." --- ## Detections diff --git a/docs/capabilities/teleoperation/hosted.md b/docs/capabilities/teleoperation/hosted.md index 102a1b3a2f..d814f82276 100644 --- a/docs/capabilities/teleoperation/hosted.md +++ b/docs/capabilities/teleoperation/hosted.md @@ -1,5 +1,6 @@ --- -title: "Hosted Teleop" +title: "Hosted teleop over WebRTC from browser or Quest" +description: "Operate a DimOS robot remotely from any browser or Quest headset over WebRTC using the hosted Cloudflare Realtime SFU broker, with no inbound ports." --- Operate a DimOS robot remotely from any browser or Quest headset over WebRTC. diff --git a/docs/coding-agents/code-quality-rules.md b/docs/coding-agents/code-quality-rules.md index 01eb8f07bb..1f4d0d6645 100644 --- a/docs/coding-agents/code-quality-rules.md +++ b/docs/coding-agents/code-quality-rules.md @@ -1,5 +1,6 @@ --- -title: "Code Quality Rules" +title: "Code quality rules for DimOS contributors" +description: "Code-quality rules for DimOS covering architecture, separation of concerns, ownership of lifecycle, and patterns to avoid in code review." --- 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. diff --git a/docs/coding-agents/docs/codeblocks.md b/docs/coding-agents/docs/codeblocks.md index eb698eba2b..b499a1231c 100644 --- a/docs/coding-agents/docs/codeblocks.md +++ b/docs/coding-agents/docs/codeblocks.md @@ -1,5 +1,6 @@ --- -title: "Executable Code Blocks" +title: "Executable code blocks with md-babel-py" +description: "Write executable Markdown code blocks in DimOS docs using md-babel-py to run examples in-place and keep documentation correct as code evolves." --- We use [md-babel-py](https://github.com/leshy/md-babel-py/) to execute code blocks in markdown and insert results. diff --git a/docs/coding-agents/docs/index.md b/docs/coding-agents/docs/index.md index ffe92bad9b..f4c8946cb9 100644 --- a/docs/coding-agents/docs/index.md +++ b/docs/coding-agents/docs/index.md @@ -1,5 +1,6 @@ --- -title: "Code Blocks" +title: "Writing docs: code blocks and doc links" +description: "How to write DimOS documentation with executable code blocks and correct doc and code links so examples run and references stay valid." --- **All code blocks must be executable.** diff --git a/docs/coding-agents/index.md b/docs/coding-agents/index.md index f66717d99d..b9395f73a4 100644 --- a/docs/coding-agents/index.md +++ b/docs/coding-agents/index.md @@ -1,5 +1,6 @@ --- -title: "For Agents" +title: "Guide for coding agents working on DimOS" +description: "Index of guides for coding agents contributing to DimOS: worktrees, code style, code-quality rules, testing, and documentation authoring." --- ├── worktrees.md (creating provisioned worktrees with `bin/worktree`) diff --git a/docs/coding-agents/style.md b/docs/coding-agents/style.md index 6581fa60db..122bd2ec4c 100644 --- a/docs/coding-agents/style.md +++ b/docs/coding-agents/style.md @@ -1,5 +1,6 @@ --- -title: "Code Style Guidelines" +title: "Code style guidelines for DimOS" +description: "Style rules for writing Python code in DimOS, addressing recurring code-review issues like comment banners, imports, and formatting conventions." --- Rules for writing code in dimos. These address recurring issues found in code review. diff --git a/docs/coding-agents/testing.md b/docs/coding-agents/testing.md index 4969838585..8fec8b46fb 100644 --- a/docs/coding-agents/testing.md +++ b/docs/coding-agents/testing.md @@ -1,5 +1,6 @@ --- -title: "Testing Guidelines" +title: "Testing guidelines for DimOS contributors" +description: "Guidelines for writing tests in DimOS: import placement, structure, and common review issues, with pointers to grid testing across backends." --- Rules for writing tests in dimos. These address recurring issues found in code review. diff --git a/docs/development/docker.md b/docs/development/docker.md index a566312155..cc6fb4283d 100644 --- a/docs/development/docker.md +++ b/docs/development/docker.md @@ -1,5 +1,6 @@ --- -title: "Docker Images" +title: "DimOS Docker images for ROS and non-ROS builds" +description: "How DimOS uses parallel Docker image hierarchies for ROS and non-ROS builds so you can pick the container that fits your development environment." --- Dimos uses parallel Docker image hierarchies for ROS and non-ROS builds, allowing you to choose the environment that fits your use case. diff --git a/docs/development/grid_testing.md b/docs/development/grid_testing.md index 35f99d07ab..2176c1fbaa 100644 --- a/docs/development/grid_testing.md +++ b/docs/development/grid_testing.md @@ -1,5 +1,6 @@ --- -title: "Grid Testing Strategy" +title: "Grid testing across implementations with pytest" +description: "Grid testing pattern in DimOS: run the same test logic across multiple implementations or configurations using pytest parametrize and Case dataclasses." --- Grid tests run the same test logic across multiple implementations or configurations using pytest's parametrize feature. diff --git a/docs/development/large_file_management.md b/docs/development/large_file_management.md index f9b5063926..ba7c530b59 100644 --- a/docs/development/large_file_management.md +++ b/docs/development/large_file_management.md @@ -1,5 +1,6 @@ --- -title: "Data Loading" +title: "Data loading and Git LFS with get_data" +description: "Use the get_data helper in DimOS to access test data and model files from Python, with automatic Git LFS downloads for large binary assets." --- The [`get_data`](/dimos/utils/data.py) function provides access to test data and model files, handling Git LFS downloads automatically. diff --git a/docs/development/profiling_dimos.md b/docs/development/profiling_dimos.md index e8a0fa6a02..bfe9257c5a 100644 --- a/docs/development/profiling_dimos.md +++ b/docs/development/profiling_dimos.md @@ -1,5 +1,6 @@ --- -title: "Profiling dimos" +title: "Profiling DimOS blueprints with py-spy" +description: "Profile a DimOS blueprint with py-spy and speedscope, capture a flamegraph across subprocesses, and visualize hotspots on speedscope.app." --- You can use py-spy to profile a particular blueprint: diff --git a/docs/development/testing.md b/docs/development/testing.md index cff46ec420..6af6208d71 100644 --- a/docs/development/testing.md +++ b/docs/development/testing.md @@ -1,5 +1,6 @@ --- -title: "Testing" +title: "Running the DimOS test suite with uv and pytest" +description: "Run the DimOS test suite with uv and pytest, sync optional groups for self-hosted tests, and parallelize tests across cores with xdist." --- `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). diff --git a/docs/development/writing_docs.md b/docs/development/writing_docs.md index a039d129ae..0ad6633973 100644 --- a/docs/development/writing_docs.md +++ b/docs/development/writing_docs.md @@ -1,5 +1,6 @@ --- -title: "Writing Docs" +title: "Writing DimOS docs, diagrams, and examples" +description: "Where to place DimOS docs, how to generate mermaid and pikchr diagrams with bin/gen-diagrams, and how to keep code examples runnable via md-babel-py." --- 1. Where to put your docs: diff --git a/docs/platforms/humanoid/g1/index.md b/docs/platforms/humanoid/g1/index.md index 5e2c259ff9..07f7efd7b3 100644 --- a/docs/platforms/humanoid/g1/index.md +++ b/docs/platforms/humanoid/g1/index.md @@ -1,5 +1,6 @@ --- -title: "Unitree G1" +title: "Unitree G1 humanoid setup and SSH access" +description: "Set up the Unitree G1 EDU humanoid with DimOS: hardware requirements, Ethernet configuration, SSH access, and preparing your development laptop." --- ## Requirements diff --git a/docs/platforms/quadruped/go2/index.md b/docs/platforms/quadruped/go2/index.md index 10be5d4cce..d0aa81fbac 100644 --- a/docs/platforms/quadruped/go2/index.md +++ b/docs/platforms/quadruped/go2/index.md @@ -1,5 +1,6 @@ --- -title: "Unitree Go2" +title: "Unitree Go2 quadruped setup and blueprints" +description: "Set up the Unitree Go2 quadruped with DimOS, run navigation and agentic blueprints, and try simulation without hardware using replay or MuJoCo." --- - [Setup your Dog](/docs/platforms/quadruped/go2/setup.md) — requirements, install, connecting to your Go2, and agentic control diff --git a/docs/requirements.md b/docs/requirements.md index ac6bed3988..09dcf522f9 100644 --- a/docs/requirements.md +++ b/docs/requirements.md @@ -1,5 +1,6 @@ --- -title: "System Requirements" +title: "DimOS system requirements: GPU, CPU, and OS" +description: "Minimum and recommended DimOS hardware and OS requirements, including NVIDIA GPU, CPU, RAM, disk, and Ubuntu or macOS support for perception and VLMs." --- ## Hardware diff --git a/docs/usage/camera_calibration.md b/docs/usage/camera_calibration.md index 0724704e11..36a33e3d9a 100644 --- a/docs/usage/camera_calibration.md +++ b/docs/usage/camera_calibration.md @@ -1,5 +1,6 @@ --- -title: "Camera calibration" +title: "Camera calibration with dimos cameracalibrate" +description: "Calibrate cameras in DimOS using chessboard targets and the dimos cameracalibrate CLI, producing ROS-style CameraInfo YAML for reuse." --- 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. diff --git a/docs/usage/cli.md b/docs/usage/cli.md index b854879c7b..30550d6ac5 100644 --- a/docs/usage/cli.md +++ b/docs/usage/cli.md @@ -1,5 +1,6 @@ --- -title: "CLI Reference" +title: "dimos CLI reference: commands and global options" +description: "Reference for the dimos CLI: manage the DimOS robot stack lifecycle, use global config flags, and inspect or interact with running blueprints." --- The `dimos` CLI manages the full lifecycle of a DimOS robot stack — start, stop, inspect, and interact. diff --git a/docs/usage/configuration.md b/docs/usage/configuration.md index ecbd3b6aea..d6eafc93b2 100644 --- a/docs/usage/configuration.md +++ b/docs/usage/configuration.md @@ -1,5 +1,6 @@ --- -title: "Configuration" +title: "Configuring DimOS modules with Configurable and Pydantic" +description: "Configure DimOS modules with the Configurable base class and Pydantic models, defining default values and validating structure per module." --- Dimos provides a `Configurable` base class. See [`service/spec.py`](/dimos/protocol/service/spec.py#L22). diff --git a/docs/usage/data_streams/advanced_streams.md b/docs/usage/data_streams/advanced_streams.md index 2aaa4ea69f..157de89e08 100644 --- a/docs/usage/data_streams/advanced_streams.md +++ b/docs/usage/data_streams/advanced_streams.md @@ -1,5 +1,6 @@ --- -title: "Advanced Stream Handling" +title: "Advanced data stream handling in DimOS" +description: "Handle backpressure, parallel subscribers to hardware, and synchronous getters when working with reactive data streams in DimOS pipelines." --- > **Prerequisite:** Read [ReactiveX Fundamentals](/docs/usage/data_streams/reactivex.md) first for Observable basics. diff --git a/docs/usage/data_streams/index.md b/docs/usage/data_streams/index.md index fcff250dee..2a9d1e90ba 100644 --- a/docs/usage/data_streams/index.md +++ b/docs/usage/data_streams/index.md @@ -1,5 +1,6 @@ --- -title: "Data Streams" +title: "Data streams with RxPY reactive pipelines" +description: "How DimOS uses RxPY reactive streams to handle asynchronous data from multiple sources at different rates, with links to advanced stream guides." --- 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. diff --git a/docs/usage/data_streams/quality_filter.md b/docs/usage/data_streams/quality_filter.md index e6542fda97..f0e95c1223 100644 --- a/docs/usage/data_streams/quality_filter.md +++ b/docs/usage/data_streams/quality_filter.md @@ -1,5 +1,6 @@ --- -title: "Quality-Based Stream Filtering" +title: "Quality-based data stream filtering with quality_barrier" +description: "Use quality_barrier in DimOS data streams to downsample discrete items like images by picking the highest-quality frame within each time window." --- 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. diff --git a/docs/usage/data_streams/reactivex.md b/docs/usage/data_streams/reactivex.md index e4b01442fb..3ba3de48e4 100644 --- a/docs/usage/data_streams/reactivex.md +++ b/docs/usage/data_streams/reactivex.md @@ -1,5 +1,6 @@ --- -title: "ReactiveX (RxPY) Quick Reference" +title: "ReactiveX RxPY quick reference for data streams" +description: "Practical RxPY quick reference for composing asynchronous data streams in DimOS, with common Observable, subscription, and operator patterns." --- RxPY provides composable asynchronous data streams. This is a practical guide focused on common patterns in this codebase. diff --git a/docs/usage/data_streams/storage_replay.md b/docs/usage/data_streams/storage_replay.md index 0892090a27..4820607827 100644 --- a/docs/usage/data_streams/storage_replay.md +++ b/docs/usage/data_streams/storage_replay.md @@ -1,5 +1,6 @@ --- -title: "Sensor Storage and Replay" +title: "Data stream storage and replay with TimedSensorStorage" +description: "Record DimOS data streams to disk and replay them with original timing using TimedSensorStorage for testing, debugging, and reproducible datasets." --- Record sensor streams to disk and replay them with original timing. Useful for testing, debugging, and creating reproducible datasets. diff --git a/docs/usage/data_streams/temporal_alignment.md b/docs/usage/data_streams/temporal_alignment.md index 5cee2c8602..8775cd49fb 100644 --- a/docs/usage/data_streams/temporal_alignment.md +++ b/docs/usage/data_streams/temporal_alignment.md @@ -1,5 +1,6 @@ --- -title: "Temporal Message Alignment" +title: "Temporal message alignment across data streams" +description: "Use align_timestamped in DimOS to match messages from multiple data streams by timestamp within a tolerance, e.g. camera and lidar for 3D perception." --- 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. diff --git a/docs/usage/index.md b/docs/usage/index.md index 6930faf96a..3ba605f278 100644 --- a/docs/usage/index.md +++ b/docs/usage/index.md @@ -1,5 +1,6 @@ --- -title: "Concepts" +title: "DimOS concepts: modules, streams, blueprints, and skills" +description: "Overview of DimOS core concepts: modules as deployment units, streams for pub/sub, blueprints for wiring modules, and RPC skills used by agents." --- This page explains general concepts. diff --git a/docs/usage/lcm.md b/docs/usage/lcm.md index 87097ee990..7dfd2fb483 100644 --- a/docs/usage/lcm.md +++ b/docs/usage/lcm.md @@ -1,5 +1,6 @@ --- -title: "LCM Messages" +title: "LCM messages for DimOS inter-process communication" +description: "How DimOS uses LCM for local inter-process pubsub, with UDP multicast, cross-language code generation, and ROS-compatible message definitions." --- DimOS uses [LCM (Lightweight Communications and Marshalling)](https://github.com/lcm-proj/lcm) for inter-process communication on a local machine (similar to how ROS uses DDS). LCM is a simple [UDP multicast](https://lcm-proj.github.io/lcm/content/udp-multicast-protocol.html#lcm-udp-multicast-protocol-description) pubsub protocol with a straightforward [message definition language](https://lcm-proj.github.io/lcm/content/lcm-type-ref.html#lcm-type-specification-language). diff --git a/docs/usage/modules.md b/docs/usage/modules.md index 3b7a32a809..e0935bedb1 100644 --- a/docs/usage/modules.md +++ b/docs/usage/modules.md @@ -1,5 +1,6 @@ --- -title: "DimOS Modules" +title: "DimOS modules: autonomous robot subsystems" +description: "How DimOS modules work as autonomous robot subsystems that communicate through standardized messages, with examples for cameras, navigation, and detection." --- Modules are subsystems on a robot that operate autonomously and communicate with other subsystems using standardized messages. diff --git a/docs/usage/native_modules.md b/docs/usage/native_modules.md index 806d6d7d72..2fb3cd8d5d 100644 --- a/docs/usage/native_modules.md +++ b/docs/usage/native_modules.md @@ -1,5 +1,6 @@ --- -title: "Native Modules" +title: "Native modules: wrap any executable as a DimOS module" +description: "Wrap any native executable as a first-class DimOS module by speaking LCM, letting Python handle blueprint wiring, lifecycle, and logging." --- Prerequisite for this is to understand dimos [Modules](/docs/usage/modules.md) and [Blueprints](/docs/usage/blueprints.md). diff --git a/docs/usage/python-api.md b/docs/usage/python-api.md index be04f278b1..4dc2b32228 100644 --- a/docs/usage/python-api.md +++ b/docs/usage/python-api.md @@ -1,5 +1,6 @@ --- -title: "Python API" +title: "DimOS Python API: local and remote usage" +description: "Use the DimOS Python API in local mode to create and run modules in-process, or in remote mode to connect to an already-running DimOS instance." --- The `Dimos` class is the main entry point for using DimOS from Python. There are two modes: diff --git a/docs/usage/sensor_streams/advanced_streams.md b/docs/usage/sensor_streams/advanced_streams.md index 1f1acc21f2..8c9550952a 100644 --- a/docs/usage/sensor_streams/advanced_streams.md +++ b/docs/usage/sensor_streams/advanced_streams.md @@ -1,5 +1,6 @@ --- -title: "Advanced Stream Handling" +title: "Advanced sensor stream handling in DimOS" +description: "Manage backpressure and parallel subscribers on hardware sensor streams in DimOS, and pull latest frames with synchronous getters for slow consumers." --- > **Prerequisite:** Read [ReactiveX Fundamentals](/docs/usage/sensor_streams/reactivex.md) first for Observable basics. diff --git a/docs/usage/sensor_streams/index.md b/docs/usage/sensor_streams/index.md index 6ac30783d9..de9c4e90fb 100644 --- a/docs/usage/sensor_streams/index.md +++ b/docs/usage/sensor_streams/index.md @@ -1,5 +1,6 @@ --- -title: "Sensor Streams" +title: "Sensor streams with RxPY in DimOS" +description: "How DimOS uses RxPY reactive streams to publish sensor data from cameras, lidar, and other sources to modules running at different rates." --- 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. diff --git a/docs/usage/sensor_streams/quality_filter.md b/docs/usage/sensor_streams/quality_filter.md index e6542fda97..77a0ccab54 100644 --- a/docs/usage/sensor_streams/quality_filter.md +++ b/docs/usage/sensor_streams/quality_filter.md @@ -1,5 +1,6 @@ --- -title: "Quality-Based Stream Filtering" +title: "Quality-based sensor stream filtering with quality_barrier" +description: "Reduce sensor stream frequency in DimOS while keeping the sharpest frames by using quality_barrier to pick the best item within each time window." --- 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. diff --git a/docs/usage/sensor_streams/reactivex.md b/docs/usage/sensor_streams/reactivex.md index 874e9e7aca..724e85919d 100644 --- a/docs/usage/sensor_streams/reactivex.md +++ b/docs/usage/sensor_streams/reactivex.md @@ -1,5 +1,6 @@ --- -title: "ReactiveX (RxPY) Quick Reference" +title: "ReactiveX RxPY quick reference for sensor streams" +description: "Quick reference for using RxPY with DimOS sensor streams, covering Observable creation, subscriptions, disposables, and common operator pipelines." --- RxPY provides composable asynchronous data streams. This is a practical guide focused on common patterns in this codebase. diff --git a/docs/usage/sensor_streams/storage_replay.md b/docs/usage/sensor_streams/storage_replay.md index 0892090a27..f69ac31bc9 100644 --- a/docs/usage/sensor_streams/storage_replay.md +++ b/docs/usage/sensor_streams/storage_replay.md @@ -1,5 +1,6 @@ --- -title: "Sensor Storage and Replay" +title: "Sensor storage and replay with TimedSensorStorage" +description: "Record DimOS sensor streams to disk and replay them with the original timing using TimedSensorStorage for testing, debugging, and dataset creation." --- Record sensor streams to disk and replay them with original timing. Useful for testing, debugging, and creating reproducible datasets. diff --git a/docs/usage/sensor_streams/temporal_alignment.md b/docs/usage/sensor_streams/temporal_alignment.md index 41020b7af7..5c6a9e3ddc 100644 --- a/docs/usage/sensor_streams/temporal_alignment.md +++ b/docs/usage/sensor_streams/temporal_alignment.md @@ -1,5 +1,6 @@ --- -title: "Temporal Message Alignment" +title: "Temporal message alignment across sensor streams" +description: "Match messages from multiple DimOS sensor streams by timestamp using align_timestamped, e.g. fusing 30fps camera frames with 10Hz lidar scans." --- 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. diff --git a/docs/usage/tool_streams.md b/docs/usage/tool_streams.md index 4523a1c436..910927289b 100644 --- a/docs/usage/tool_streams.md +++ b/docs/usage/tool_streams.md @@ -1,5 +1,6 @@ --- -title: "Tool Streams" +title: "Tool streams for background MCP tool updates" +description: "Route background progress updates from long-running DimOS tools to the calling MCP client using tool streams and MCP notifications/progress frames." --- Some tools return quickly but keep doing work in the background. For example, diff --git a/docs/usage/transforms.md b/docs/usage/transforms.md index 879e744631..19b831acb3 100644 --- a/docs/usage/transforms.md +++ b/docs/usage/transforms.md @@ -1,5 +1,6 @@ --- -title: "Transforms" +title: "Coordinate frame transforms for robot sensors and arms" +description: "How DimOS uses coordinate frame transforms to convert camera pixels, depth, and sensor readings into arm and world coordinates for manipulation." --- ## The Problem: Everything Measures from Its Own Perspective diff --git a/docs/usage/transports/dds.md b/docs/usage/transports/dds.md index 71259407bd..321b8f30d8 100644 --- a/docs/usage/transports/dds.md +++ b/docs/usage/transports/dds.md @@ -1,5 +1,6 @@ --- -title: "Installing DDS Transport Libs on Ubuntu" +title: "Install DDS transport libs on Ubuntu with CycloneDDS" +description: "Install the CycloneDDS C library and the DimOS dds extra on Ubuntu, either via Nix or from source, so Python builds link against the right runtime." --- The `dds` extra provides DDS (Data Distribution Service) transport support via [Eclipse Cyclone DDS](https://cyclonedds.io/docs/cyclonedds-python/latest/). The Python package builds C extensions against the CycloneDDS C library, so the C library must be installed before the Python package. diff --git a/docs/usage/transports/index.md b/docs/usage/transports/index.md index f1acd6e384..cc5d013593 100644 --- a/docs/usage/transports/index.md +++ b/docs/usage/transports/index.md @@ -1,5 +1,6 @@ --- -title: "Transports" +title: "Transports: connecting DimOS module streams across processes" +description: "How DimOS transports connect module streams across process boundaries and networks, with modules, topics, messages, and per-edge protocol choice." --- Transports connect **module streams** across **process boundaries** and/or **networks**. diff --git a/docs/usage/visualization.md b/docs/usage/visualization.md index d3a147df21..4fca4079ad 100644 --- a/docs/usage/visualization.md +++ b/docs/usage/visualization.md @@ -1,5 +1,6 @@ --- -title: "Viewer Backends" +title: "Viewer backends: Rerun visualization for DimOS blueprints" +description: "Configure DimOS visualization with Rerun as the default viewer, disable it via the CLI, and render typed robot streams from blueprints with vis_module." --- Dimos uses Rerun for visualizations. It can be disabled by using