How do I control a px4-based rover?

I am trying to test and build an outdoor rover based on PX4 messages. However, the rover in the simulation does not move as I intend. I found and am using this link (https://github.com/ARK-Electronics/ark_rover_demo/blob/d3e7e9d9c67dde2af60cac3c3c86df9a166e9ad4/ark_rover/ark_rover/rover_control.py), but the control is not behaving as I would like.

Could you please guide me on the topics and methods required to control the rover? I am using Ubuntu 22.04 and ROS2 Humble. Thank you!

I have never tried this.

Assuming you are using PX4 v1.15 or earlier with the old rover module, then the MAVLink messages/values you can use in offboard mode are those documented here: Offboard Mode (Generic/All Frames) | PX4 Guide (main)

Those MAVLink messages map to particular uorb topics. The mapping isn’t documented but can be inferred from the names. You can also see what they might be in action by looking at the script you are pointing to. In other words, you can work out what topics to set from the mavlink messages, and see how that works in practice using the script.

@bradstaff Might be able to advise you if you can explain what you mean by “the script isn’t behaving as you would like”.

1 Like