ROS2 meets OpenClaw 💗
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
[!IMPORTANT]
이 프로젝트는 대규모 재구성 및 별도 저장소로의 마이그레이션을 진행 중입니다. 업데이트를 기다리거나 X @irvinxyz에서 연락주세요.
AI 에이전트를 통해 메시징 앱으로 ROS2 로봇을 자연어로 제어합니다.
RosClaw는 OpenClaw를 ROS2(로봇 운영 체제)에 지능형 플러그인 계층을 통해 연결합니다. Telegram, WhatsApp, Discord 또는 Slack으로 메시지를 보내면 로봇이 움직입니다. 자신의 로봇에 연결하거나 포털에 등록된 전 세계 로봇을 "임대"할 수 있습니다. 각 로봇은 자신의 기능 프로필을 등록합니다.
귀여운 데스크 로봇이든 휴머노이드 로봇이든, OpenClaw 확장을 설치하고 ROS2 패키지를 실행하기만 하면 됩니다.
<p align="center"> <a href="https://x.com/livinoffwater/status/2017172436119331133"> <img src="assets/thumbnail-1.jpg" alt="RosClaw 데모 비디오" width="380" /> </a> <a href=""> <img src="assets/thumbnail-2.jpg" alt="RosClaw 데모" width="380" /> </a> <br /> <em>클릭하여 데모 시청</em> </p>
사용자 (WhatsApp/Telegram/Discord/Slack)
|
v
OpenClaw 게이트웨이 (AI 에이전트 + 도구 + 메모리)
|
v RosClaw 플러그인
rosbridge_server (WebSocket)
|
v ROS2 DDS
로봇: Nav2, MoveIt2, 카메라, 센서
rosclaw/
├── packages/
│ └── rosbridge-client/ # @rosclaw/rosbridge-client — TypeScript rosbridge WebSocket 클라이언트
├── extensions/
│ ├── openclaw-plugin/ # @rosclaw/openclaw-plugin — 핵심 OpenClaw 확장
│ └── openclaw-canvas/ # @rosclaw/openclaw-canvas — 실시간 대시보드 (3단계)
├── ros2_ws/src/
│ ├── rosclaw_discovery/ # ROS2 기능 자동 발견 노드
│ └── rosclaw_msgs/ # 사용자 정의 ROS2 메시지/서비스 정의
├── docker/ # Docker Compose 스택
└── examples/ # 데모 프로젝트
pnpm install
pnpm build
cd docker
docker compose up
이 명령은 ROS2 + rosbridge + Gazebo를 시작합니다. 그런 다음 OpenClaw 인스턴스를 구성하여 ws://localhost:9090으로 RosClaw 플러그인을 사용하도록 설정합니다.
/cmd_vel에 속도 발행/battery_state 읽기/estop — 긴급 정지 (AI 우회)로봇에 메시지를 보내보세요:
| 패키지 | 설명 | ||
|---|---|---|---|
@rosclaw/rosbridge-client |
rosbridge WebSocket 프로토콜용 독립형 TypeScript 클라이언트 | ||
@rosclaw/openclaw-plugin |
OpenClaw 확장: ROS2 제어를 위한 도구, 훅, 스킬, 명령어 | ||
@rosclaw/openclaw-canvas |
실시간 로봇 대시보드 (3단계) | ||
rosclawdiscovery |
기능 자동 발견을 위한 ROS2 Python 노드 | ||
rosclawmsgs |
사용자 정의 ROS2 메시지/서비스 정의 |
AI 에이전트는 다음 ROS2 도구에 접근할 수 있습니다:
| 도구 | 설명 | ||
|---|---|---|---|
ros2_publish |
모든 ROS2 토픽에 메시지 발행 | ||
ros2subscribeonce |
토픽에서 최신 메시지 읽기 | ||
ros2servicecall |
ROS2 서비스 호출 | ||
ros2actiongoal |
피드백과 함께 액션 목표 전송 (2단계) | ||
ros2paramget/set |
ROS2 노드 파라미터 가져오기/설정 | ||
ros2listtopics |
사용 가능한 토픽 발견 | ||
ros2camerasnapshot |
카메라 프레임 캡처 |
pnpm install # 의존성 설치
pnpm build # 모든 패키지 빌드
pnpm typecheck # 타입 검사 (출력 없음)
pnpm clean # 빌드 아티팩트 제거
Apache-2.0