rosclaw:

分支1Tags0

RosClaw

Important

本项目正在进行重大架构重构,并迁移至独立代码库。 请稍后查看更新,或通过 X @irvinxyz 关注进展。

通过消息应用实现 ROS2 机器人的自然语言控制,由 AI 智能体提供支持。

RosClaw 通过智能插件层将 OpenClawROS2(机器人操作系统)相连。在 Telegram、WhatsApp、Discord 或 Slack 上发送消息,机器人即可执行动作。您可以连接自己的机器人,或“租用”全球门户中注册的任何机器人。每台机器人都注册了包含自身能力的专属配置文件。

无论是可爱的桌面机器人还是人形机器人,您只需安装我们的 OpenClaw 扩展并运行 ROS2 软件包即可。

RosClaw Demo Video    RosClaw Demo
点击观看演示

工作原理

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
  1. 用户通过任意消息应用发送自然语言消息
  2. OpenClaw 的 AI 代理接收消息,并使用由 RosClaw 插件注册的 ROS2 工具
  3. 代理将意图转化为 ROS2 操作(话题发布、服务调用、动作目标)
  4. 机器人执行动作,代理将反馈流式传输回聊天界面

项目结构

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%