Vector Control OpenClaw Skill - ClawHub
Do you want your AI agent to automate Vector Control workflows? This free skill from ClawHub helps with ai & llms tasks without building custom tools from scratch.
What this skill does
Control a Vector robot via Wirepod’s local HTTP API on the same network. Use when you need to move Vector, tilt head/lift, speak text, capture camera frames, or run patrol/explore routines from the Pi/Wirepod host. Includes a CLI helper script and endpoint reference.
Install
npx clawhub@latest install vector-controlFull SKILL.md
Open original| name | description |
|---|---|
| vector-control | Control a Vector robot via Wirepod’s local HTTP API on the same network. Use when you need to move Vector, tilt head/lift, speak text, capture camera frames, or run patrol/explore routines from the Pi/Wirepod host. Includes a CLI helper script and endpoint reference. |
Vector Control
Overview
Control Vector through Wirepod’s /api-sdk/* endpoints and the camera stream at /cam-stream. Use this skill for movement, speech, camera snapshots, patrols, and exploration from the Pi.
Quick start (CLI)
Use the bundled script:
python3 skills/vector-control/scripts/vector_control.py --serial <ESN> assume
python3 skills/vector-control/scripts/vector_control.py --serial <ESN> say --text "Hello Dom"
python3 skills/vector-control/scripts/vector_control.py --serial <ESN> move --lw 160 --rw 160 --time 1.5
python3 skills/vector-control/scripts/vector_control.py --serial <ESN> snapshot --out /tmp/vector.mjpg
Find ESN/serial
If you don’t have it, read:
/etc/wire-pod/wire-pod/jdocs/botSdkInfo.json
Tasks
1) Assume / Release control
Always assume before movement, and release if the bot tips or a human needs manual control.
python3 .../vector_control.py --serial <ESN> assume
python3 .../vector_control.py --serial <ESN> release
2) Movement
movesends wheel speeds (0–200 typical). Use short timed moves.
python3 .../vector_control.py --serial <ESN> move --lw 120 --rw 120 --time 1.0
3) Head / Lift
python3 .../vector_control.py --serial <ESN> head --speed -2 --time 1.0
python3 .../vector_control.py --serial <ESN> lift --speed 2 --time 1.0
4) Speech
Speech can be interrupted by motion/camera. If it fails, pause after speaking before moving.
python3 .../vector_control.py --serial <ESN> say --text "Sneaking forward"
# wait 1–2s, then move
5) Camera snapshot
/cam-stream returns MJPG. Save it and convert to JPEG if needed (ffmpeg).
python3 .../vector_control.py --serial <ESN> snapshot --out /tmp/vector.mjpg
ffmpeg -y -loglevel error -i /tmp/vector.mjpg -frames:v 1 /tmp/vector.jpg
6) Play Audio (MP3/WAV)
Streams an audio file through Vector's speaker. Automatically converts to the required format (8kHz mono WAV).
python3 .../vector_control.py --serial <ESN> play --file /path/to/music.mp3
7) Patrol (deterministic sweep)
python3 .../vector_control.py --serial <ESN> patrol --steps 6 --speed 140 --step-time 1.2 --turn-time 0.8 --speak --phrase "Patrolling"
8) Explore (randomized wander)
python3 .../vector_control.py --serial <ESN> explore --steps 8 --speak --phrase "Exploring"
References
references/wirepod-api.md— endpoint list and notes.
Resources
scripts/
vector_control.py— CLI for basic control + patrol/explore routines.
references/
wirepod-api.md— HTTP API endpoints and usage notes.