Vector Control
name: vector-control
by dbeadle1 · published 2026-03-22
$ claw add gh:dbeadle1/dbeadle1-vector-control---
name: vector-control
description: 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.mjpgFind ESN/serial
If you don’t have it, read:
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> release2) Movement
python3 .../vector_control.py --serial <ESN> move --lw 120 --rw 120 --time 1.03) 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.04) 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 move5) 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.jpg6) 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.mp37) 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
Resources
scripts/
references/
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...