Skip to content

Commit 308595d

Browse files
Decaifucursoragent
andcommitted
feat: add logo, banner, and redesign README
- Add ClawArm logo (AI neural circuit + robotic claw) and concept banner - Redesign README with centered header, CI/license/stars badges, feature table - Add visual architecture flow and polished section layout Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 036c6e6 commit 308595d

File tree

3 files changed

+84
-34
lines changed

3 files changed

+84
-34
lines changed

README.md

Lines changed: 84 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,49 @@
1-
# ClawArm — AI-Powered Robotic Arm Control via OpenClaw
1+
<p align="center">
2+
<img src="assets/clawarm-logo.png" alt="ClawArm Logo" width="200">
3+
</p>
24

3-
[Clawland-AI](https://github.com/Clawland-AI) · [OpenClaw](https://openclaw.ai/) · [pyAgxArm](https://github.com/agilexrobotics/pyAgxArm)
5+
<h1 align="center">ClawArm</h1>
46

5-
Control NERO (7-DOF) and Piper (6-DOF) robotic arms with natural language through OpenClaw. Say what you want the arm to do — ClawArm generates and executes the motion.
7+
<p align="center">
8+
<strong>AI-Powered Robotic Arm Control via OpenClaw</strong><br>
9+
Say what you want the arm to do. ClawArm makes it happen.
10+
</p>
11+
12+
<p align="center">
13+
<a href="https://github.com/Clawland-AI/clawarm/actions"><img src="https://github.com/Clawland-AI/clawarm/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
14+
<a href="https://github.com/Clawland-AI/clawarm/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Clawland-AI/clawarm" alt="License"></a>
15+
<a href="https://github.com/Clawland-AI/clawarm"><img src="https://img.shields.io/github/stars/Clawland-AI/clawarm?style=social" alt="Stars"></a>
16+
</p>
17+
18+
<p align="center">
19+
<a href="#quick-start">Quick Start</a> &middot;
20+
<a href="docs/architecture.md">Architecture</a> &middot;
21+
<a href="docs/safety.md">Safety Guide</a> &middot;
22+
<a href="SECURITY.md">Security Policy</a>
23+
</p>
24+
25+
---
26+
27+
<p align="center">
28+
<img src="assets/clawarm-banner.png" alt="ClawArm — Natural language to robotic arm motion" width="100%">
29+
</p>
30+
31+
## What is ClawArm?
32+
33+
ClawArm bridges **natural language** and **physical robotic arm motion**. Built on top of [OpenClaw](https://openclaw.ai/), it lets you control NERO (7-DOF) and Piper (6-DOF) robotic arms by simply describing what you want — no manual joint calculations, no coordinate math.
34+
35+
### Key Features
36+
37+
| Feature | Description |
38+
|---------|-------------|
39+
| **Natural Language Control** | "Pick up the red block" becomes actual robot motion |
40+
| **Two Control Modes** | Skill mode (code generation) + Plugin mode (real-time tools) |
41+
| **Safety Layer** | Joint limits, workspace bounds, velocity caps — every command is validated |
42+
| **Mock Mode** | Develop and test without physical hardware |
43+
| **Multi-Arm Support** | NERO 7-DOF and Piper 6-DOF out of the box |
44+
| **OpenClaw Integration** | Works with OpenClaw's web UI, Feishu, Telegram, and more |
45+
46+
---
647

748
## How It Works
849

@@ -33,17 +74,16 @@ Control NERO (7-DOF) and Piper (6-DOF) robotic arms with natural language throug
3374
└──────┬──────┘
3475
3576
┌─────────────┐
36-
│ pyAgxArm │ CAN bus communication
37-
│ Driver │
77+
│ Arm Driver │ CAN bus communication
3878
└──────┬──────┘
3979
4080
Robot Arm
4181
```
4282

43-
**Two control modes:**
83+
- **Skill Mode**: OpenClaw reads the `agx-arm-codegen` skill, generates a complete Python control script, and executes it. Best for complex, multi-step sequences.
84+
- **Plugin Mode**: The ClawArm plugin provides `arm_move`, `arm_status`, and `arm_stop` tools that call the bridge server in real time. Best for interactive step-by-step control.
4485

45-
- **Skill Mode**: OpenClaw reads the `agx-arm-codegen` skill, generates a complete Python script, and executes it. Best for complex, multi-step sequences.
46-
- **Plugin Mode**: The ClawArm OpenClaw plugin provides `arm_move`, `arm_status`, and `arm_stop` tools that call the Python bridge in real time. Best for interactive control.
86+
---
4787

4888
## Quick Start
4989

@@ -52,16 +92,14 @@ Control NERO (7-DOF) and Piper (6-DOF) robotic arms with natural language throug
5292
- Linux with CAN interface (SocketCAN)
5393
- Python 3.10+
5494
- [OpenClaw](https://openclaw.ai/) installed
55-
- [pyAgxArm](https://github.com/agilexrobotics/pyAgxArm) installed
56-
- NERO or Piper arm connected via CAN bus
95+
- Robotic arm connected via CAN bus
5796

5897
### 1. Clone and install
5998

6099
```bash
61100
git clone https://github.com/Clawland-AI/clawarm.git
62101
cd clawarm
63-
pip install -e ".[dev]"
64-
pip install pyAgxArm # or: pip install -e ".[arm]"
102+
pip install -e ".[dev,arm]"
65103
```
66104

67105
### 2. Activate CAN
@@ -73,10 +111,10 @@ sudo bash setup/activate_can.sh
73111
### 3. Start the bridge server
74112

75113
```bash
76-
# Real hardware
114+
# With real hardware
77115
clawarm-bridge
78116

79-
# Mock mode (no hardware needed)
117+
# Without hardware (mock mode for development)
80118
CLAWARM_MOCK=true clawarm-bridge
81119
```
82120

@@ -86,21 +124,23 @@ CLAWARM_MOCK=true clawarm-bridge
86124
# Copy skill to OpenClaw workspace
87125
cp -r skills/agx-arm-codegen ~/.openclaw/skills/
88126

89-
# Or for the plugin approach, install the plugin
127+
# Or install the plugin for real-time tool access
90128
cd plugin && npm install
91129
openclaw plugins install ./plugin
92130
```
93131

94132
### 5. Talk to the arm
95133

96-
Open OpenClaw web UI or send a message via Feishu/Telegram:
134+
Open the OpenClaw web UI or send a message via your configured channel:
97135

98136
```
99137
> Move joint 1 to 0.5 radians, then return to zero position
100138
> Pick up the object at position [0.3, 0.1, 0.2] and place it at [0.3, -0.1, 0.2]
101139
> Draw a small circle in the XY plane at height 0.3m
102140
```
103141

142+
---
143+
104144
## Project Structure
105145

106146
```
@@ -110,7 +150,7 @@ clawarm/
110150
├── plugin/ OpenClaw Plugin (Plugin Mode)
111151
│ └── src/tools/ arm_connect, arm_status, arm_move, arm_stop
112152
├── bridge/ Python Bridge Server (FastAPI)
113-
│ ├── drivers/ agx_driver (real) + mock_driver (dev)
153+
│ ├── drivers/ Real driver + mock driver for dev
114154
│ └── safety.py Joint limits, workspace bounds, velocity caps
115155
├── examples/ Demo scripts
116156
├── workspace/ OpenClaw workspace templates (AGENTS.md, SOUL.md)
@@ -120,15 +160,24 @@ clawarm/
120160
└── tests/ Bridge server and safety tests
121161
```
122162

123-
## Configuration
163+
---
164+
165+
## Supported Arms
166+
167+
| Arm | DOF | Joint Control | Cartesian Control |
168+
|-----|-----|---------------|-------------------|
169+
| **NERO** | 7 | `move_j([j1..j7])` radians | `move_p/l([x,y,z,r,p,y])` meters/radians |
170+
| **Piper** | 6 | `move_j([j1..j6])` radians | `move_p/l([x,y,z,r,p,y])` meters/radians |
171+
172+
---
124173

125-
Copy the example config and adjust for your setup:
174+
## Configuration
126175

127176
```bash
128177
cp config/openclaw.example.json ~/.openclaw/openclaw.json
129178
```
130179

131-
Key settings in `openclaw.json`:
180+
Key settings:
132181

133182
```jsonc
134183
{
@@ -147,22 +196,19 @@ Key settings in `openclaw.json`:
147196
}
148197
```
149198

150-
## Supported Arms
151-
152-
| Arm | DOF | SDK | Joint Angles | Cartesian |
153-
|-----|-----|-----|-------------|-----------|
154-
| NERO | 7 | pyAgxArm | `move_j([j1..j7])` rad | `move_p/l([x,y,z,r,p,y])` m/rad |
155-
| Piper | 6 | pyAgxArm | `move_j([j1..j6])` rad | `move_p/l([x,y,z,r,p,y])` m/rad |
199+
---
156200

157201
## Safety
158202

159-
**ClawArm controls real hardware. Read [SECURITY.md](SECURITY.md) before use.**
203+
> **ClawArm controls real hardware.** Read [SECURITY.md](SECURITY.md) before use.
160204
161-
- Safety layer validates all commands before they reach the arm
162-
- Joint angle limits enforced per robot type
163-
- Workspace boundary box prevents out-of-range motion
205+
- Safety layer validates **all commands** before they reach the arm
206+
- Per-robot-type joint angle limits enforced automatically
207+
- Configurable Cartesian workspace boundary box
164208
- Velocity capped at configurable percentage (default 80%)
165-
- Emergency stop available via API, OpenClaw tool, and physical button
209+
- Emergency stop via API, OpenClaw tool, or physical button
210+
211+
---
166212

167213
## Development
168214

@@ -180,15 +226,19 @@ ruff check .
180226
## Docker
181227

182228
```bash
183-
# Start bridge server in mock mode
229+
# Mock mode (no hardware)
184230
docker compose up bridge-mock
185231

186-
# Start bridge server for real hardware (requires --privileged for CAN)
232+
# Real hardware (requires --privileged for CAN access)
187233
docker compose up bridge
188234
```
189235

236+
---
237+
190238
## License
191239

192240
MIT — see [LICENSE](LICENSE).
193241

194-
Built by [Clawland-AI](https://github.com/Clawland-AI) · Powered by [OpenClaw](https://openclaw.ai/)
242+
<p align="center">
243+
Built by <a href="https://github.com/Clawland-AI">Clawland AI</a> &middot; Powered by <a href="https://openclaw.ai/">OpenClaw</a>
244+
</p>

assets/clawarm-banner.png

5.55 MB
Loading

assets/clawarm-logo.png

4.38 MB
Loading

0 commit comments

Comments
 (0)