A complete beginner-friendly environment for learning PX4 autopilot software and drone simulation.
macOS (Apple Silicon):
chmod +x scripts/setup/install_px4_macos.sh
./scripts/setup/install_px4_macos.shLinux (Ubuntu 24.04):
chmod +x scripts/setup/install_px4_linux.sh
./scripts/setup/install_px4_linux.shchmod +x scripts/utilities/quick_test.sh
./scripts/utilities/quick_test.sh# Start lightweight simulator
./scripts/simulation/start_jmavsim.sh
# OR start full 3D simulator
./scripts/simulation/start_gazebo.shIn the PX4 shell that opens:
commander takeoff
commander land- Start Here:
docs/tutorials/01-getting-started.md - First Mission:
docs/tutorials/02-first-mission.md - Try Examples:
examples/basic_missions/ - Python Control:
examples/mavlink_demos/
├── docs/ # Learning materials and tutorials
├── scripts/
│ ├── setup/ # Installation scripts for your platforms
│ ├── simulation/ # Start simulators quickly
│ └── utilities/ # Testing and helper scripts
├── examples/
│ ├── basic_missions/ # Simple flight patterns
│ ├── mavlink_demos/ # Communication examples
│ └── custom_modules/ # Advanced modifications
├── configs/ # Vehicle and world configurations
└── logs/ # Flight logs and data
- PX4 Basics: Autopilot software fundamentals
- Simulation: Test flights without hardware
- Mission Planning: Autonomous flight paths
- MAVLink: Drone communication protocol
- Python Control: Programmatic flight control
- Safety Systems: Failsafes and emergency procedures
Minimum (jMAVSim):
- 4GB RAM, any modern CPU
- Works on most modern systems
Recommended (Gazebo):
- 8GB+ RAM
- Dedicated graphics preferred
- Better graphics performance
Common Issues:
- Build errors: Run
scripts/utilities/quick_test.sh - Python errors: Check virtual environment activation
- Simulation won't start: Try jMAVSim first
Resources:
- PX4 User Guide
- MAVSDK Documentation
- QGroundControl (optional GUI tool)
# Quick test everything works
./scripts/utilities/quick_test.sh
# Start your first simulation
./scripts/simulation/start_jmavsim.shPerfect for field applications and cloud-native development! 🛡️☁️