This guide walks through setting up and running the OpenQuadruped/spot_mini_mini project on Ubuntu 22.04 using Python 3.10 (ROS not required).
Ensure the following are installed:
sudo apt update && sudo apt install -y python3-pip python3-venv git xvfb x11-utils libgl1-mesa-glx libegl1-mesapython3 -m venv ~/spot_env
source ~/spot_env/bin/activateInstall required Python packages:
pip install numpy gym pybullet matplotlib
pip install pyyaml typeguardcd ~
git clone https://github.com/OpenQuadruped/spot_mini_mini.gitRun the GUI simulator to check if the environment launches:
cd ~/spot_mini_mini/spot_bullet/src
python3 env_tester.pyYou should see a GUI with the Spot robot standing. This confirms your environment is working.
The repo contains pretrained models.
cd ~/spot_mini_mini/spot_bullet/src
python3 spot_ars_eval.py -a 149To view other models:
ls ~/spot_mini_mini/models/Use the filename number with -a <num> (e.g. -a 100, -a 149, etc.)
-
Edited
Bezier.pyto fix NumPy error:Replaced:
np.math.factorial(...)
With:
import math math.factorial(...)
-
Installed missing packages:
pip install pyyaml typeguard
(Coming soon or optional extension by contributors)
To enable gait experimentation:
- Edit gait logic in:
spotmicro/GaitGenerator/Bezier.py - Use
env_tester.pyfor real-time visual testing - Train with
spot_train.py(after adding CLI gait type support)
- If GUI launches but robot doesn't walk, check:
- You’re loading a working model number
- Bezier config in
Bezier.pyisn’t broken
- If training throws error: double-check NumPy,
math, or missing dependencies - If GUI crashes: install missing OpenGL libs
- Fork the repo and create a new branch
- Test your gait in
env_tester.py - Log your results and submit PR
- Add model weights to
models/with matching ID
# Environment setup
python3 -m venv ~/spot_env
source ~/spot_env/bin/activate
pip install numpy gym pybullet matplotlib pyyaml typeguard
# Clone repo
git clone https://github.com/OpenQuadruped/spot_mini_mini.git
# Test environment
cd ~/spot_mini_mini/spot_bullet/src
python3 env_tester.py
# Evaluate pretrained walking model
python3 spot_ars_eval.py -a 149
# Train new model (advanced)
python3 spot_train.py --gait_type trot # (after adding gait_type support)If you're editing:
Bezier.py: Handles trajectory planningars.py: Reinforcement learning agentspot_train.py/spot_ars_eval.py: Entry points
Ensure to update this README and test thoroughly. [