:::warning Support for rover is experimental. Maintainer volunteers, contribution of new features, new frame configurations, or other improvements would all be very welcome! :::
PX4 supports rovers (Unmanned Ground Vehicles - UGVs) with ackermann and differential steering.
This section contains build logs/instructions for assembling as well as configuring a number of UGV frames.
PX4 supports rovers with:
- Differential steering: direction is controlled by moving the left- and right-side wheels at different speeds. This kind of steering commonly used on bulldozers, tanks, and other tracked vehicles.
- Ackermann steering: direction is controlled by pointing wheels in the direction of travel (ackermann geometry compensates for the fact that wheels on the inside and outside of the turn move at different rates). This kind of steering is used on most commercial vehicles, including cars, trucks etc.
The supported frames can be seen in Airframes Reference > Rover.
Setting up a rover with Ackermann steering is straightforward:
-
In the Airframe configuration, select the Generic Ground Vehicle.
Select the Apply and Restart button.
-
Open the Actuators Configuration & Testing to map the steering and throttle functions to flight controller outputs.
-
In the Airframe configuration, select either the Aion Robotics R1 UGV or NXP Cup car: DF Robot GPX
Select the Apply and Restart button.
- Open the Actuators Configuration & Testing and map the left and right motor functions to flight controller outputs.
Gazebo Classic provides simulations for both types of steering:
- Ackermann: ackermann rover
- Differential: r1 rover
This video shows the Traxxas Stampede Rover (an Ackermann vehicle).