Hi everyone,
I’m trying to control a PX4 v1.17 rover in Offboard via ROS 2. Offboard mode is accepted, the vehicle arms, failsafe is not triggered, and my rover setpoint topics are being received — but the rover does not actuate (wheels don’t spin). Also, internal uORB throttle/steering setpoints don’t appear to be produced.
Setup / context
-
PX4: v1.17
-
Vehicle type: rover
-
ROS 2: publishing setpoints continuously (about 50 Hz)
What is being published from ROS 2
These topics are streaming:
-
/fmu/in/offboard_control_modevelocity = true
-
/fmu/in/rover_speed_setpointspeed_body_x ≈ 0.86
-
/fmu/in/rover_rate_setpointyaw_rate_setpoint ≈ -0.18
What PX4 sees (MAVLink console)
Using listener on PX4:
-
listener rover_speed_setpoint→ updates normally -
listener rover_rate_setpoint→ updates normally
But:
-
listener rover_throttle_setpoint→ prints only the topic header (no data / no updates) -
listener rover_steering_setpoint→ same (header only)
So it looks like PX4 receives rover_speed_setpoint and rover_rate_setpoint, but it does not generate/update rover_throttle_setpoint / rover_steering_setpoint, and there’s no actual actuation.
Vehicle state
Commander reports:
-
Armed
-
navigation mode: Offboard
-
failsafe: no
Failsafe flags snapshot during the session:
-
-
global_position_invalid: true -
home_position_invalid: true -
manual_control_signal_lost: true
These might be acceptable for rover offboard, but I’m not sure if any of them blocks rover actuation / throttle output.
-
Question
-
What conditions must be met for PX4 rover Offboard to translate
rover_speed_setpoint+rover_rate_setpointintorover_throttle_setpoint+rover_steering_setpoint? -
Are there specific PX4 parameters (rover, safety, offboard, navigator, actuator mapping) that can prevent throttle/steering setpoints from being generated even when offboard is accepted?
-
What logs / uORB topics should I check to see why throttle/steering are not produced? (I can provide a
.ulglog if needed.)
Any advice on what to inspect next would be appreciated.