Skip to content

Commit 5661ef2

Browse files
claudepezy
authored andcommitted
docs: add Dimensional OS architecture design analysis
Add comprehensive documentation analyzing Dimensional OS (DimOS): - Core design philosophy (agent-native, no ROS, hardware abstraction) - System architecture diagram - Core components (Module, Stream, Blueprint, Transport) - Agent system (VLM, Ollama, MCP integration) - Key capabilities (navigation, perception, spatial memory) - Execution modes (real-time, simulation, replay) - Comparison with traditional ROS Dimensional OS is an agentive operating system for physical space, designed for generalist robotics with natural language control. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 4e58c16 commit 5661ef2

1 file changed

Lines changed: 268 additions & 0 deletions

File tree

Lines changed: 268 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,268 @@
1+
---
2+
tags: robotics, operating-system, agent-native, blueprint, physical-ai, dimos
3+
---
4+
5+
# Dimensional OS (DimOS) 架构设计分析
6+
7+
> **Related topics**: [[layered-motion-system]], [[emotion-system-design]]
8+
9+
## 概述
10+
11+
Dimensional OS (DimOS) 是一个面向物理空间的 Agent 原生操作系统,旨在为通用机器人设置下一代 SDK 标准。它无需 ROS,完全用 Python 构建,可运行在任何人形机器人、四足机器人或无人机上。
12+
13+
**项目地址**: https://github.com/dimensionalOS/dimos
14+
15+
---
16+
17+
## 1. 核心设计理念
18+
19+
### 1.1 Agent 原生 (Agent Native)
20+
21+
- **vibecode**: 用自然语言"氛围编程"机器人
22+
- **本地 & 托管多 Agent 系统**: 无缝对接硬件
23+
- **原生模块**: Agent 作为原生模块运行,订阅任何嵌入式流
24+
25+
### 1.2 无需 ROS
26+
27+
- 纯 Python 实现
28+
- 简单的安装,无需 ROS 依赖
29+
- 跨平台支持 (Linux, NixOS, macOS)
30+
31+
### 1.3 硬件抽象
32+
33+
支持多种机器人类型:
34+
- **四足机器人**: Unitree Go2, Unitree B1
35+
- **人形机器人**: Unitree G1
36+
- **机械臂**: Xarm, AgileX Piper
37+
- **无人机**: MAVLink, DJI Mavic
38+
39+
---
40+
41+
## 2. 系统架构
42+
43+
```
44+
+-------------------------------------------------------------------------------------+
45+
| Dimensional OS |
46+
+-------------------------------------------------------------------------------------+
47+
| |
48+
| +------------------+ +------------------+ +------------------+ |
49+
| | CLI / MCP | | Blueprints | | Modules | |
50+
| | (入口) | | (组合) | | (组件) | |
51+
| +--------+---------+ +--------+---------+ +--------+---------+ |
52+
| | | | |
53+
| +-----------------------+-----------------------+ |
54+
| | |
55+
| v |
56+
| +----------------------------------------------------------------------+ |
57+
| | Core Layer | |
58+
| | | |
59+
| | +------------------+ +------------------+ +------------------+ | |
60+
| | | Stream (In/Out) | | Transport | | Blueprint | | |
61+
| | | 数据流 | | LCM/SHM/DDS | | 自动连接 | | |
62+
| | +------------------+ +------------------+ +------------------+ | |
63+
| +----------------------------------------------------------------------+ |
64+
| | |
65+
| +---------------------------+---------------------------+ |
66+
| | | | |
67+
| v v v |
68+
| +------------------+ +------------------+ +------------------+ |
69+
| | Navigation | | Perception | | Agents | |
70+
| | SLAM/路径规划 | | 检测/VLM/音频 | | MCP/LLM/VLM | |
71+
| +------------------+ +------------------+ +------------------+ |
72+
| | | | |
73+
| v v v |
74+
| +------------------+ +------------------+ +------------------+ |
75+
| | Control | | Memory | | Skills | |
76+
| | 运动控制 | | 空间记忆/RAG | | 工具能力 | |
77+
| +------------------+ +------------------+ +------------------+ |
78+
| |
79+
+-------------------------------------------------------------------------------------+
80+
| Hardware Layer |
81+
+-------------------------------------------------------------------------------------+
82+
| +-------------+ +-------------+ +-------------+ +-------------+ |
83+
| | Unitree Go2 | | Unitree G1 | | Xarm | | Drone | |
84+
| | (四足) | | (人形) | | (机械臂) | | (无人机) | |
85+
| +-------------+ +-------------+ +-------------+ +-------------+ |
86+
+-------------------------------------------------------------------------------------+
87+
```
88+
89+
---
90+
91+
## 3. 核心组件
92+
93+
### 3.1 Module (模块)
94+
95+
Module 是机器人的子系统,使用标准化消息与其他模块通信:
96+
97+
```python
98+
from dimos.core.module import Module
99+
from dimos.core.stream import In, Out
100+
from dimos.msgs.geometry_msgs import Twist
101+
from dimos.msgs.sensor_msgs import Image
102+
103+
class RobotConnection(Module):
104+
cmd_vel: Out[Twist] # 输出流
105+
color_image: In[Image] # 输入流
106+
107+
@rpc
108+
def start(self):
109+
# 启动逻辑
110+
pass
111+
```
112+
113+
### 3.2 Stream (数据流)
114+
115+
- **In[T]**: 输入流订阅
116+
- **Out[T]**: 输出流发布
117+
- 支持类型安全的流通信
118+
119+
### 3.3 Blueprint (蓝图)
120+
121+
Blueprint 定义如何构建和连接模块:
122+
123+
```python
124+
from dimos.core.blueprints import autoconnect
125+
126+
# 自动连接:按 (name, type) 连接流
127+
blueprint = autoconnect(
128+
robot_connection(),
129+
agent(),
130+
).build()
131+
132+
# 运行
133+
blueprint.loop()
134+
```
135+
136+
### 3.4 Transport (传输层)
137+
138+
支持多种传输协议:
139+
- **LCM**: 轻量级通信模块
140+
- **SHM**: 共享内存
141+
- **DDS**: 数据分发服务
142+
- **ROS 2**: 兼容 ROS 2
143+
144+
---
145+
146+
## 4. Agent 系统
147+
148+
### 4.1 Agent 类型
149+
150+
| 类型 | 说明 |
151+
|------|------|
152+
| **VLM Agent** | 视觉语言模型 Agent |
153+
| **Ollama Agent** | 本地 LLM Agent |
154+
| **Test Agent** | 测试 Agent |
155+
156+
### 4.2 MCP 集成
157+
158+
DimOS 支持 Model Context Protocol (MCP),可通过自然语言控制机器人:
159+
160+
```bash
161+
dimos agent-send "explore the room" # 发送指令
162+
dimos mcp list-tools # 列出可用工具
163+
dimos mcp call relative_move --arg forward=0.5
164+
```
165+
166+
### 4.3 Skills (技能)
167+
168+
Skills 是 Agent 可用的工具能力:
169+
- 导航技能
170+
- 移动技能
171+
- 感知技能
172+
173+
---
174+
175+
## 5. 关键能力
176+
177+
### 5.1 导航与定位
178+
179+
- **SLAM**: 即时定位与地图构建
180+
- **动态障碍物回避**
181+
- **路径规划**: A* 算法
182+
- **自主探索**
183+
184+
### 5.2 感知
185+
186+
- **目标检测**
187+
- **3D 投影**
188+
- **VLM**: 视觉语言模型
189+
- **音频处理**
190+
191+
### 5.3 空间记忆
192+
193+
- **时空 RAG**: 结合时间和空间的检索增强
194+
- **动态记忆**
195+
- **物体定位与持久性**
196+
197+
### 5.4 操控
198+
199+
- **机械臂控制**
200+
- **灵巧操作**
201+
202+
---
203+
204+
## 6. 执行模式
205+
206+
### 6.1 实时控制
207+
208+
```bash
209+
export ROBOT_IP=<YOUR_ROBOT_IP>
210+
dimos run unitree-go2
211+
```
212+
213+
### 6.2 模拟
214+
215+
```bash
216+
dimos --simulation run unitree-go2
217+
```
218+
219+
### 6.3 回放
220+
221+
```bash
222+
dimos --replay run unitree-go2
223+
```
224+
225+
---
226+
227+
## 7. 技术栈
228+
229+
| 组件 | 技术 |
230+
|------|------|
231+
| 核心语言 | Python 3.12+ |
232+
| 包管理 | uv |
233+
| 消息格式 | LCM |
234+
| 传输层 | LCM, SHM, DDS, ROS 2 |
235+
| 模拟器 | MuJoCo |
236+
| CLI | Rich, Pydantic |
237+
| 多语言支持 | C++, Lua, TypeScript |
238+
239+
---
240+
241+
## 8. 与传统机器人框架的对比
242+
243+
| 特性 | ROS/ROS 2 | DimOS |
244+
|------|------------|-------|
245+
| 语言 | C++/Python | Python 优先 |
246+
| 学习曲线 |||
247+
| Agent 集成 | 需额外工作 | 原生支持 |
248+
| 依赖 | 大量系统依赖 | 轻量 |
249+
| 硬件支持 | 通用 | 专注集成 |
250+
251+
---
252+
253+
## 9. 关键洞察
254+
255+
1. **Agent 是未来**: 机器人需要 AI Agent 能力来实现自然语言控制
256+
2. **简化复杂度**: 无需 ROS,降低入门门槛
257+
3. **Python-first**: 用 Python 胶水语言快速原型开发
258+
4. **硬件抽象**: 统一的接口支持多种机器人
259+
5. **可组合性**: Blueprint 机制支持模块灵活组合
260+
261+
---
262+
263+
## 参考资料
264+
265+
- [Dimensional OS GitHub](https://github.com/dimensionalOS/dimos)
266+
- [官方文档](docs/)
267+
- [Blueprints 文档](docs/usage/blueprints.md)
268+
- [CLI 参考](docs/usage/cli.md)

0 commit comments

Comments
 (0)