Robopoly Game (VLM / LLM)#
Robopoly is a voice-driven, vision-language pick-and-place game from the
movensys-intelligence
repository (movensys_sample/movensys_robopoly). You speak game actions and
the robot executes them, using YOLO object detection and the VLM/LLM service
to interpret instructions and game state. It is built on top of the
manipulator stack and the VLM service described in
Natural-Language and Vision Control (VLM / LLM).
Components#
movensys_robopoly – the game application and web UI (
movensys_sample/movensys_robopoly)VLM service (
movensys_vlm) – vision-language model, Whisper speech-to-text, and memory (seemovensys_vlm/doc/running.md)Manipulator stack – the YOLO scenario from YOLO Pick-and-Place provides perception and motion
Running in Dry-Run Mode#
Dry-run needs no robot or simulator; it exercises the game logic and UI only.
export MOVENSYS_PNP_DRY_RUN=1
cd ~/workspaces/movensys-intelligence/movensys_sample/movensys_robopoly/docker
docker compose down
docker compose build
docker compose up -d
Then in the web UI: toggle is_YOLO OFF, select your microphone, click
Reset game, and use the voice controls below.
Running with Simulation#
Start the manipulator stack and the YOLO simulation scenario – follow
movensys-manipulator/docsteps1_and2_, then6a_yolo_simulation.md(see YOLO Pick-and-Place).Start the VLM service – follow
movensys_vlm/doc/running.md.Start Robopoly with the robot loop enabled:
export MOVENSYS_PNP_DRY_RUN=0 cd ~/workspaces/movensys-intelligence/movensys_sample/movensys_robopoly/docker docker compose down docker compose build docker compose up -d
In the web UI: toggle
is_YOLOON, click Reset game, and play.
Running on the Real Robot#
A helper script, movensys_sample/doc/run_robopoly.sh, orchestrates the
required services across terminals:
# Terminal 1: launch WMX ROS2
./run_robopoly.sh wmx-ros2
# Terminal 2: build the containers for your accelerator
./run_robopoly.sh build_nvidia
# Terminal 3: run MoveIt2, the containers, and YOLO
./run_robopoly.sh run
# Terminal 1: launch WMX ROS2
./run_robopoly.sh wmx-ros2
# Terminal 2: build the vision-language model
./run_robopoly.sh build_intel_vllm
# Terminal 3: build containers for your accelerator
./run_robopoly.sh build_intel
# Terminal 3: run MoveIt2, the containers, and YOLO
./run_robopoly.sh run
Voice Controls#
Z key – hold and speak to request a game action
X key – hold and speak to communicate game status or strategy
Toggle is_YOLO – enable (ON) detection-driven play, or disable (OFF) for dry-run
Reset game – start a new game
Debug Tips#
docker logs -f vllm_container # VLM/LLM server
docker logs -f movensys-manipulator # manipulator container
tmux a -t robopoly # MoveIt2 / launch logs
An automated dry-run test is also available:
cd ~/workspaces/movensys-intelligence/movensys_sample/movensys_robopoly/
python3 scripts/auto_play_dry_run.py
See Natural-Language and Vision Control (VLM / LLM) for the VLM/LLM service architecture and API.