Vector Robot Control
name: vector-robot
by bogorman · published 2026-03-22
$ claw add gh:bogorman/bogorman-vector-robot---
name: vector-robot
description: Control Anki Vector robot via wire-pod. Speak through Vector, see through its camera, move head/lift/wheels, change eye colors, trigger animations. Use when user mentions Vector robot, wants to speak through a robot, control a physical robot, or interact with wire-pod.
---
# Vector Robot Control
Control an Anki Vector robot running wire-pod.
Prerequisites
Quick Reference
All API calls require `&serial=SERIAL` parameter. Default: `00501a68`.
SERIAL="00501a68"
WIREPOD="http://127.0.0.1:8080"Speech Output
# Make Vector speak (URL encode the text)
curl -s -X POST "$WIREPOD/api-sdk/assume_behavior_control?priority=high&serial=$SERIAL"
curl -s -X POST "$WIREPOD/api-sdk/say_text?text=Hello%20world&serial=$SERIAL"
curl -s -X POST "$WIREPOD/api-sdk/release_behavior_control?serial=$SERIAL"Or use the helper script: `scripts/vector-say.sh "Hello world"`
Camera
# Capture frame from MJPEG stream
timeout 2 curl -s "$WIREPOD/cam-stream?serial=$SERIAL" > /tmp/stream.mjpeg
# Extract JPEG with Python (see scripts/vector-see.sh)Movement
**⚠️ SAFETY: Cliff sensors are DISABLED during behavior control. Be careful with wheel movements!**
# Head: speed -2 to 2
curl -s -X POST "$WIREPOD/api-sdk/move_head?speed=2&serial=$SERIAL" # up
curl -s -X POST "$WIREPOD/api-sdk/move_head?speed=-2&serial=$SERIAL" # down
curl -s -X POST "$WIREPOD/api-sdk/move_head?speed=0&serial=$SERIAL" # stop
# Lift: speed -2 to 2
curl -s -X POST "$WIREPOD/api-sdk/move_lift?speed=2&serial=$SERIAL" # up
curl -s -X POST "$WIREPOD/api-sdk/move_lift?speed=-2&serial=$SERIAL" # down
# Wheels: lw/rw -200 to 200 (USE WITH CAUTION)
curl -s -X POST "$WIREPOD/api-sdk/move_wheels?lw=100&rw=100&serial=$SERIAL" # forward
curl -s -X POST "$WIREPOD/api-sdk/move_wheels?lw=-50&rw=50&serial=$SERIAL" # turn left
curl -s -X POST "$WIREPOD/api-sdk/move_wheels?lw=0&rw=0&serial=$SERIAL" # stopSettings
# Volume: 0-5
curl -s -X POST "$WIREPOD/api-sdk/volume?volume=5&serial=$SERIAL"
# Eye color: 0-6
curl -s -X POST "$WIREPOD/api-sdk/eye_color?color=4&serial=$SERIAL"
# Battery status
curl -s "$WIREPOD/api-sdk/get_battery?serial=$SERIAL"Actions/Intents
curl -s -X POST "$WIREPOD/api-sdk/cloud_intent?intent=intent_imperative_dance&serial=$SERIAL"Available intents: `intent_imperative_dance`, `intent_system_sleep`, `intent_system_charger`, `intent_imperative_fetchcube`, `explore_start`
Voice Input (OpenClaw Integration)
To receive voice commands from Vector, run the proxy server:
node scripts/proxy-server.jsConfigure wire-pod Knowledge Graph (http://127.0.0.1:8080 → Server Settings):
The proxy writes incoming questions to `request.json`. Respond by writing to `response.json`:
{"timestamp": 1234567890000, "answer": "Your response here"}LaunchAgent (Auto-start on macOS)
Install to `~/Library/LaunchAgents/com.openclaw.vector-proxy.plist` for auto-start. See `scripts/install-launchagent.sh`.
API Reference
See `references/api.md` for complete endpoint documentation.
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...