Hello! I am using the new Control Interface packages with Gazebo, ROS2 Humble in Docker, and PX4 1.15.
I noticed on GitHub that custom modes do not appear as flight modes in QGroundControl unless you are using the Daily build, which I cannot use. I’ve tried running it in various ways, but so far, I haven’t had any success. According to the documentation and the PX4 repository, I can use the command commander mode ext1
, meaning I can only activate External Mode 1. The configuration is set when the ROS2 node is activated.
In companion terminal:
$ ros2 run example_mode_manual_cpp example_mode_manual
...
[DEBUG] [1727509288.323407890] [example_mode_manual]: Registering 'My Manual Mode' (arming check: 1, mode: 1, mode executor: 0)
...
[DEBUG] [1727509288.329919195] [example_mode_manual]: Got RegisterExtComponentReply
[DEBUG] [1727509288.342477916] [example_mode_manual]: Arming check request (id=168, only printed once)
In Qgroundcontrol - Mavlink console:
pxh> commander status
INFO [commander] Disarmed
INFO [commander] navigation mode: Hold
INFO [commander] user intended navigation mode: Hold
INFO [commander] in failsafe: no
INFO [commander] External Mode 1: nav_state: 23, name: My Manual Mode
However it doesn’t activate and appear in QGC console
Unknown flight mode 184811520