I’m trying to use px4 as the low-level interface to motors/sensors for my ros2 rover robot.
I’ve configured the micrortps bridge, and I can successfully get data to/from the flight controller.
I’ve been having issues getting the rover position controller to work for me as I’m wanting to publish a rate setpoint (specifically thrust and yaw-rate). So I’m trying to go another level down and publish actuator controls directly.
If I stop the rover_pos_control, I can see that the actuator controls 0 topic has messages coming in from the ros2 side at 10hz.
At one point I could publish on (ros2) /ActuatorControls0_PubSubTopic, and wheels would move accordingly. (at least until I went to bed and came back the next day) Now I can’t get it working again. No Idea what’s changed!
So my questions are:
- Does the mixer require any other additional inputs/states in order for it to accept the actuator controls and output the pwm?
- I do see that it’s looking for the armed state. I assume that if px4 is “flying” (even though this is a rover application…) and in manual, position control, or hold, then the actuators are “armed”. Right?
- I see that the rover pos controller publishes actuator controls at 200hz. Does the mixer have any sort of rate requirements?
- Anything else that I’m missing that might be causing this?
Thanks for your help!