Rover is the ArduPilot firmware for ground and surface vehicles. A singleDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Ardupilot/ardupilot/llms.txt
Use this file to discover all available pages before exploring further.
ardurover binary supports wheeled rovers, boats, balance bots, skid-steer platforms, and sailing vessels. The vehicle code lives in Rover/ and shares the same MAVLink interface, parameter system, and mission planner compatibility as every other ArduPilot vehicle type.
Flight modes
13 modes covering manual control through fully autonomous waypoint navigation and docking.
Boats and sailboats
Dedicated sailboat controller in
sailboat.cpp with wind vane input via AP_WindVane.Autonomous navigation
AR_WPNav provides waypoint following with object avoidance for ground and surface vehicles.
Precision docking
Dock mode guides the vehicle to a precise target using IR-Lock or beacon positioning.
Supported vehicle types
Rover does not use a separate build target per frame type. The vehicle type is configured through theFRAME_TYPE parameter at runtime.
| Vehicle type | Description |
|---|---|
| Wheeled rover | Standard differential or skid-steer ground vehicle |
| Boat | Surface vessel with throttle and steering |
| Balance bot | Self-balancing two-wheeled robot using balance_bot.cpp |
| Sailboat | Wind-propelled vessel with sail servo via AP_WindVane |
| Skid-steer | Independent left/right motor mixing without a steering servo |
Flight modes
All modes are defined inRover/mode.h. Mode numbers match the MAVLink CUSTOM_MODE field reported to ground stations.
| # | Mode | Description |
|---|---|---|
| 0 | Manual | Direct throttle and steering pass-through |
| 1 | Acro | Rate-controlled steering with manual throttle |
| 3 | Steering | Attitude-stabilized steering with manual speed |
| 4 | Hold | Zero throttle, hold current heading |
| 5 | Loiter | Automatic position hold at current location |
| 6 | Follow | Follow another MAVLink vehicle or GCS |
| 7 | Simple | Basic obstacle-avoiding manual control |
| 8 | Dock | Precision approach to a docking target |
| 9 | Circle | Automatic circular path around a fixed point |
| 10 | Auto | Fully automatic waypoint mission |
| 11 | RTL | Return to launch position |
| 12 | SmartRTL | Return by retracing the outbound path |
| 15 | Guided | Navigate to GCS-commanded positions |
Dock mode (number 8) is conditionally compiled with MODE_DOCK_ENABLED. It uses either IR-Lock or external positioning to achieve repeatable precision docking.Key features
SmartRTL
Breadcrumb-based return path avoids terrain and obstacles encountered on the outbound route, powered by
AP_SmartRTL.Sailboat control
sailboat.cpp implements tacking logic, sail angle optimization, and motor-assisted motoring when wind is insufficient.Balance bot
balance_bot.cpp adds a pitch-stabilizing inner loop so two-wheeled robots drive stably.Wheel encoders
AP_WheelEncoder provides odometry for dead-reckoning and speed control on GPS-degraded surfaces.Torqeedo motors
Native support for Torqeedo electric boat motors via
AP_Torqeedo for CAN-based boat applications.Object avoidance
AR_WPNav_OA integrates proximity sensors to steer around obstacles during autonomous navigation.
Building
Libraries linked by wscript
TheRover/wscript file lists the vehicle-specific libraries added on top of the common set.
| Library | Purpose |
|---|---|
APM_Control | PID controllers for steering and speed |
AP_Mount | Camera and antenna mount control |
AP_Navigation | Navigation algorithm interface |
AR_WPNav | Rover-specific waypoint and loiter navigation with object avoidance |
AP_AdvancedFailsafe | Mission-critical failsafe sequencing |
AP_WheelEncoder | Wheel odometry for speed and position estimation |
AP_SmartRTL | Breadcrumb path recording for SmartRTL mode |
AC_AttitudeControl | Attitude controller (used by balance bot) |
AP_LTM_Telem / AP_Devo_Telem | Serial telemetry protocols |
AP_WindVane | Wind direction and speed sensor for sailboats |
AR_Motors | Rover motor output mixing (differential, skid-steer, omni) |
AP_Torqeedo | Torqeedo CAN electric boat motor driver |
AC_PrecLand | Precision landing/docking via IR-Lock |
AP_IRLock | IR-Lock target tracking for Dock mode |
AR_Motors (libraries/AR_Motors/) and AR_WPNav (libraries/AR_WPNav/) are the Rover-specific equivalents of the copter AP_Motors and AC_WPNav libraries. They are designed for ground and surface vehicle dynamics rather than multirotor physics.