以下内容由 AI 翻译,如有问题请 点此提交 issue 反馈
RosClaw
Important
本项目正在进行重大架构重构,并迁移至独立代码库。 请稍后查看更新,或通过 X @irvinxyz 关注进展。
通过消息应用实现 ROS2 机器人的自然语言控制,由 AI 智能体提供支持。
RosClaw 通过智能插件层将 OpenClaw 与 ROS2(机器人操作系统)相连。在 Telegram、WhatsApp、Discord 或 Slack 上发送消息,机器人即可执行动作。您可以连接自己的机器人,或“租用”全球门户中注册的任何机器人。每台机器人都注册了包含自身能力的专属配置文件。
无论是可爱的桌面机器人还是人形机器人,您只需安装我们的 OpenClaw 扩展并运行 ROS2 软件包即可。
工作原理
User (WhatsApp/Telegram/Discord/Slack)
|
v
OpenClaw Gateway (AI Agent + Tools + Memory)
|
v RosClaw Plugin
rosbridge_server (WebSocket)
|
v ROS2 DDS
Robots: Nav2, MoveIt2, cameras, sensors
- 用户通过任意消息应用发送自然语言消息
- OpenClaw 的 AI 代理接收消息,并使用由 RosClaw 插件注册的 ROS2 工具
- 代理将意图转化为 ROS2 操作(话题发布、服务调用、动作目标)
- 机器人执行动作,代理将反馈流式传输回聊天界面
项目结构
rosclaw/
├── packages/
│ └── rosbridge-client/ # @rosclaw/rosbridge-client — TypeScript rosbridge WebSocket client
├── extensions/
│ ├── openclaw-plugin/ # @rosclaw/openclaw-plugin — Core OpenClaw extension
│ └── openclaw-canvas/ # @rosclaw/openclaw-canvas — Real-time dashboard (Phase 3)
├── ros2_ws/src/
│ ├── rosclaw_discovery/ # ROS2 capability auto-discovery node
│ └── rosclaw_msgs/ # Custom ROS2 message/service definitions
├── docker/ # Docker Compose stack
└── examples/ # Demo projects
快速开始
前提条件
- Node.js 20+
- pnpm 9+
- Docker(用于仿真)
安装与构建
pnpm install
pnpm build
运行演示栈
cd docker
docker compose up
这将启动 ROS2 + rosbridge + Gazebo。然后将您的 OpenClaw 实例配置为使用 RosClaw 插件,地址为 ws://localhost:9090。
尝试使用
向您的机器人发送消息:
- "向前移动 1 米" — 发布速度到
/cmd_vel - "导航到厨房" — 发送 Nav2 目标点
- "你看到了什么?" — 捕获相机帧
- "检查电池" — 读取
/battery_state /estop— 紧急停止(绕过 AI)
软件包
| 软件包 | 描述 |
|---|---|
@rosclaw/rosbridge-client |
rosbridge WebSocket 协议的独立 TypeScript 客户端 |
@rosclaw/openclaw-plugin |
OpenClaw 扩展:用于 ROS2 控制的工具、钩子、技能和命令 |
@rosclaw/openclaw-canvas |
实时机器人仪表盘(第三阶段) |
rosclaw_discovery |
用于能力自动发现的 ROS2 Python 节点 |
rosclaw_msgs |
自定义 ROS2 消息/服务定义 |
智能体工具
AI 智能体可使用以下 ROS2 工具:
| 工具 | 描述 |
|---|---|
ros2_publish |
向任意 ROS2 话题发布消息 |
ros2_subscribe_once |
读取话题的最新消息 |
ros2_service_call |
调用 ROS2 服务 |
ros2_action_goal |
发送带反馈的动作目标(第二阶段) |
ros2_param_get/set |
获取/设置 ROS2 节点参数 |
ros2_list_topics |
发现可用话题 |
ros2_camera_snapshot |
捕获相机帧 |
开发
pnpm install # Install dependencies
pnpm build # Build all packages
pnpm typecheck # Type-check without emitting
pnpm clean # Remove build artifacts
许可协议
Apache-2.0
下载使用量
0
项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新
语言类型
TypeScript68.39%
Python17.44%
Shell13.85%
CMake0.31%