OpenMind/OM1
Modular AI HAL (Hardware Abstraction Layer) for Robots
OpenMind OM1 – 用于机器人的模块化 AI 运行时
它是什么
- OM1 是一个 运行时(您运行的软件),让您可以构建 多模态 AI 代理——即能看、听、说并采取行动的程序——并将其连接到机器人或虚拟环境中。
- 核心使用 Go 编写,旨在边缘设备(Jetson、Raspberry Pi 等)上实现低延迟、低内存占用的运行。旧版的 Python 版本仍然存在但已弃用。
主要功能
| 功能 | 运作方式 |
|---|---|
| 模块化架构 | 用于新传感器、动作和硬件适配器的插件系统。 |
| 输入处理 | 网络摄像头、麦克风、LIDAR、网络馈送、社交媒体流等。 |
| 硬件适配器 | 插件通过 ROS 2、Zenoh、CycloneDDS、USB/串口或 websockets 进行通信。 |
| LLM/VLM 集成 | 针对 OpenAI、Anthropic、Gemini、Ollama、DeepSeek、Meta、NearAI 和视觉语言模型的预配置端点。 |
| 可观测性 | 捆绑的 Prometheus + Grafana 堆栈可监控管线延迟(LLM、ASR 等)。 |
| 机器人功能 | 通过可选的 BrainPack,您可以获得 SLAM、自主导航、自动充电和人脸去标识化功能。 |
典型工作流程
- 安装依赖项 – portaudio & ffmpeg(音频/视频)以及 Go 工具链。
- 获取二进制文件(或从源代码构建)并设置您的 OpenMind API 密钥。
- 运行配置 – 例如
config/conversation.json5会启动一个“对话”代理,使用网络摄像头/麦克风,将数据发送到 LLM,并通过 TTS 回复。 - 查看日志 – 终端机会显示状态更新;可选的 Grafana 仪表板可可视化延迟指标。
- 扩展 – 通过将 Go 文件放入
plugins/并在 JSON5 配置中引用它们,来新增inputs(传感器插件)或actions(机器人动作、自定义指令)。
支持的机器人与模拟器
- 实体:Unitree Go2、G1、Deep Robotics M20 Pro、LimX Tron,以及任何公开高阶 SDK(ROS 2、Zenoh 等)的机器人。
- 模拟器:Gazebo(用于快速原型设计)和 NVIDIA Isaac Sim(GPU 加速物理模拟)。
为什么选择 Go?
- 更快的推理管线、高效的并发处理、单一二进制文件部署,以及适合边缘计算的极小内存占用。
快速入门
# macOS example
brew install portaudio ffmpeg
curl -L -o om1.tar.gz <release-url>
tar xf om1.tar.gz
chmod +x om1
export OM_API_KEY=YOUR_KEY
./om1 -config ./config/conversation.json5
您应该会看到代理启动、处理网络摄像头/音频、调用所选的 LLM 并说出响应。
扩展性
- 动作插件位于
plugins/actions/下。示例:unitree/go2/autonomy/move.go将高阶 move 指令通过 Zenoh 转换为 ROS 2cmd_vel消息。 - 输入插件可以通过实现预期的接口并在配置中注册,来为新传感器(例如 ZED 深度相机)新增支持。
文档与社区
- 完整文档:https://docs.openmind.com/
- 技术论文:arXiv 2412.18588
- X (前 Twitter) 账号:@openmind_agi
授权
- MIT – 您可以自由使用、修改和发布基于 OM1 的代理。
总结:OM1 是一个真正的生产级框架,用于构建 AI 驱动的机器人和模拟器,专注于多模态感知、LLM/VLM 推理和实时驱动,并封装为高性能的 Go 运行时。
相关
- 项目
- 项目
- 项目
- 项目