# Rovers (UGVs)

Experimental

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.

Traxxas Rover Picture

# Rover Types

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 (opens new window) 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.

# How to Configure a Rover

# Ackermann Steering Configuration

Setting up a rover with Ackermann steering is straightforward:

  1. In the Airframe configuration, select the Generic Ground Vehicle.

    Select Ackermann steered airframe

    Select the Apply and Restart button.

  2. Open the Actuators Configuration & Testing to map the steering and throttle functions to flight controller outputs.

# Differential Steering Configuration

  1. In the Airframe configuration, select either the Aion Robotics R1 UGV or NXP Cup car: DF Robot GPX

    Select Differential steered airframe

Select the Apply and Restart button.

  1. Open the Actuators Configuration & Testing and map the left and right motor functions to flight controller outputs.

# Simulation

Gazebo Classic provides simulations for both types of steering:

# Videos

This video shows the Traxxas Stampede Rover (an Ackermann vehicle).