🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

Vector Control

by @dbeadle1

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.

Versionv1.0.1
Downloads2,250
Installs3
Stars2
TERMINAL
clawhub install vector-control

📖 About This Skill


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  assume
python3 skills/vector-control/scripts/vector_control.py --serial  say --text "Hello Dom"
python3 skills/vector-control/scripts/vector_control.py --serial  move --lw 160 --rw 160 --time 1.5
python3 skills/vector-control/scripts/vector_control.py --serial  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  assume
    python3 .../vector_control.py --serial  release
    

    2) Movement

  • move sends wheel speeds (0–200 typical). Use short timed moves.
  • python3 .../vector_control.py --serial  move --lw 120 --rw 120 --time 1.0
    

    3) Head / Lift

    python3 .../vector_control.py --serial  head --speed -2 --time 1.0
    python3 .../vector_control.py --serial  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  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  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  play --file /path/to/music.mp3
    

    7) Patrol (deterministic sweep)

    python3 .../vector_control.py --serial  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  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.