System Requirements
Before installing, ensure your system meets these requirements:Operating System
Ubuntu 24.04 LTS (Noble Numbat)Other Linux distributions may work but are not officially supported.
Hardware
Minimum:
- 4 CPU cores
- 8 GB RAM
- GPU optional (CPU rendering works)
- 12+ CPU cores
- 16+ GB RAM
- NVIDIA GPU with CUDA
Installation Steps
Clone the Repository
Get the source code from your repository:Replace
<repository-url> with your actual Git repository URL.Install Python Dependencies
Install all required Python packages using the provided requirements file:This installs:Core Simulation:
mujoco>=3.0.0- Physics enginenumpy>=1.24.0- Numerical computingscipy>=1.10.0- Scientific computing
transitions>=0.9.0- State machine implementationbezier>=2023.7.28- Bézier curve generation
stable-baselines3>=2.0.0- RL algorithms (PPO)torch>=2.0.0- Deep learning framework
matplotlib>=3.7.0- Plottingpandas>=2.0.0- Data analysis
PyQt5>=5.15.0- GUI frameworkpyqtgraph>=0.13.0- Real-time plottingpygame>=2.5.0- Joystick interfacepillow>=10.0.0- Image processing
Having issues with PyTorch installation?
Having issues with PyTorch installation?
If PyTorch installation fails or you want GPU support:CPU-only:CUDA 11.8:CUDA 12.1:See PyTorch installation guide for more options.
Post-Installation Setup
Configure ROS2 Environment
Add ROS2 sourcing to your shell configuration:Test ROS2 Integration
Verify ROS2 topics and services work:- GUI window with camera feed
- Robot walking in MuJoCo viewer
- ROS2 messages flowing between processes
Ctrl+C.
Optional: Install Additional Tools
TensorBoard (for monitoring training):Troubleshooting
ImportError: No module named 'rclpy'
ImportError: No module named 'rclpy'
ROS2 Python packages are not in your Python path. Solutions:
-
Make sure you sourced ROS2:
-
If using a virtual environment, ROS2 packages may not be visible. Either:
- Don’t use a venv for this project, OR
- Install
rclpyin your venv:pip install rclpy
MuJoCo: GLEW initialization failed
MuJoCo: GLEW initialization failed
This happens when running without a display (e.g., over SSH).Solution 1: Enable X11 forwardingSolution 2: Use headless renderingSolution 3: Use osmesa (software rendering)
Error: Could not find model file
Error: Could not find model file
Make sure you’re running scripts from the project root directory:NOT:
PyTorch: CUDA not available
PyTorch: CUDA not available
If you have an NVIDIA GPU but PyTorch doesn’t detect it:
-
Check NVIDIA drivers:
-
Verify CUDA version:
-
Reinstall PyTorch with correct CUDA version:
-
Test in Python:
ROS2: No executable found
ROS2: No executable found
If ROS2 commands aren’t found:
GUI: No joystick detected
GUI: No joystick detected
The GUI works without a joystick (buttons only). If you have a gamepad:
-
Install jstest:
-
Test joystick:
-
If not detected, check permissions:
- Restart the GUI application
Development Setup
For development work, install additional tools:Code Quality Tools
Pre-commit Hooks (Optional)
Jupyter Notebooks (Optional)
Useful for data analysis and experimentation:Verification Checklist
Before proceeding to the quick start, verify:Next Steps
With installation complete, you’re ready to run your first simulation!Quick Start Guide
Run the baseline vs adaptive comparison and see RL-based control in action.
Hardware Acceleration (Advanced)
NVIDIA GPU Setup
For faster training with GPU acceleration:Multi-core Training Setup
For faster training on CPU:--n-envs flag to match your core count:
Docker Alternative (Optional)
If you prefer containerized development:Reference
Installed Packages
After installation, you should have:| Package | Version | Purpose |
|---|---|---|
| ROS2 Jazzy | Latest | Robot middleware |
| MuJoCo | ≥3.0.0 | Physics simulation |
| Stable Baselines 3 | ≥2.0.0 | RL training |
| PyTorch | ≥2.0.0 | Neural networks |
| NumPy | ≥1.24.0 | Numerical computing |
| Matplotlib | ≥3.7.0 | Visualization |