2.7 KiB
2.7 KiB
Installation Guide
Quick Install
# Ubuntu/Debian
./setup/install_ubuntu.sh
source activate.sh
# Test
python standalone_simulation.py
Install Scripts
| Platform | Command |
|---|---|
| Ubuntu/Debian | ./setup/install_ubuntu.sh |
| ArduPilot SITL | ./setup/install_ardupilot.sh |
| Arch Linux | ./setup/install_arch.sh |
| macOS | ./setup/install_macos.sh |
| Windows | .\setup\install_windows.ps1 |
Platform Support
| Mode | Ubuntu | macOS | Windows |
|---|---|---|---|
| Standalone | ✅ | ✅ | ✅ |
| Gazebo + ROS 2 | ✅ | ❌ | WSL2 |
| ArduPilot SITL | ✅ | ❌ | WSL2 |
Ubuntu/Debian
./setup/install_ubuntu.sh
source activate.sh
python standalone_simulation.py
Installs:
- ROS 2 Humble/Jazzy
- Gazebo
- Python packages (pybullet, numpy, opencv, pymavlink)
ArduPilot SITL
For realistic flight controller simulation:
./setup/install_ardupilot.sh
source ~/.bashrc
Installs:
- Micro-XRCE-DDS-Gen (required for DDS)
- ArduPilot SITL
- ardupilot_gz (Gazebo integration)
- MAVProxy (
~/.local/bin/mavproxy.py)
Run (2 terminals):
Terminal 1:
source ~/ardu_ws/install/setup.bash
ros2 launch ardupilot_gz_bringup iris_runway.launch.py
Terminal 2:
mavproxy.py --console --map --master=:14550
Windows (WSL2)
- Install WSL2:
wsl --install -d Ubuntu-22.04
- Open Ubuntu and run:
./setup/install_ubuntu.sh
source activate.sh
python standalone_simulation.py
macOS
./setup/install_macos.sh
source activate.sh
python standalone_simulation.py
Note: ROS 2 and Gazebo not supported. Use standalone mode.
Manual Install
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python standalone_simulation.py
Verification
python -c "import pybullet; print('PyBullet OK')"
python -c "import cv2; print('OpenCV OK')"
python -c "from pymavlink import mavutil; print('pymavlink OK')"
Troubleshooting
MAVProxy not found
# Install
pip3 install --user mavproxy
# Add to PATH
echo 'export PATH=$PATH:~/.local/bin' >> ~/.bashrc
source ~/.bashrc
# Verify
which mavproxy.py
microxrceddsgen not found
# Install (needed for ArduPilot DDS)
git clone --recurse-submodules https://github.com/eProsima/Micro-XRCE-DDS-Gen.git ~/Micro-XRCE-DDS-Gen
cd ~/Micro-XRCE-DDS-Gen
./gradlew assemble
# Add to PATH
echo 'export PATH=$PATH:~/Micro-XRCE-DDS-Gen/scripts' >> ~/.bashrc
source ~/.bashrc
Build errors
# Rebuild with override flag
cd ~/ardu_ws
colcon build --packages-up-to ardupilot_gz_bringup --allow-overriding ros_gz_bridge ros_gz_sim sdformat_urdf