Eric
July 20, 2019, 12:51pm
1
First posted this in PX4 Software development but looks like it might be Qgroundcontrol related.
Had a look at this Github post as well
opened 05:03PM - 06 Dec 16 UTC
closed 05:09PM - 31 Jan 19 UTC
The MANUAL_CONTROL MAVLink message sends the joystick information from QGC to PX… 4 when PX4 is compiled and run as SITL. There are several issues related to the QGC joystick settings and the joystick throttle value that appears in the MANUAL_CONTROL message. This issue is base on QGC build cloned on November 1, 2016.
1) The QGC joystick settings "Full down stick is zero throttle" and "Center stick is zero throttle" appear to behave incorrectly:
a. Selecting "Center stick is zero throttle" results in 0-1000 throttle values in the MANUAL_CONTROL message where 0 = full back joystick throttle position, 1000 = full forward throttle position, and "linear" in between (see issue 2) below). I believe it should be 0 for joystick position between full back and center, and then ramp linearly from 0 at center joystick throttle to 1000 at full forward joystick throttle position.
b. Selecting "Full down stick is zero throttle" results in 500-1000 throttle values in the MANUAL_CONTROL message where 500 = full back joystick throttle position, 1000 = full forward throttle position). It should be 0-1000.
2) The range of throttle values (between 0 and 1000) in the MANUAL_CONTROL message appear to be non-linear. With the joystick calibrated (I tried this several times), when the joystick throttle is mechanically in the center, and the slider in QGC (joystick settings) is also centered, (and with the problem described in 1) above not fixed), the throttle value in the MANUAL_CONTROL message is 577 (should be 500 if linear) for the "Center stick is zero throttle" setting, and 788 (should be 750 if linear) for the "Full down stick is zero throttle".
3) If the "Center stick is zero throttle" and “Spring loaded throttle smoothing” are both selected, then the throttle value in the MANUAL_CONTROL message appears to be stuck at 1000 (never changes regardless of the joystick throttle position).
4) Not sure if this is an issue or not: QGC initially populates the MANUAL_CONTROL message with x=1000, y=-1000, z=1000, r=-1000 (not the actual joystick values) and continues to send these values in this message for some time (I only checked up to 30 seconds). I assume some event causes QGC to send the actual joystick values (and it does), but not sure what that event is. I would expect the actual joystick values would be used from the beginning.
Tried all the different calibration options (centre, full down).
Have a prototype ground station setup with joystick and throttle slider which does not arm when throttle is full down and joystick is rudder full right.
Works well with Ardupilot. Trying to demonstrate compatibility with PX4.