Guided mode: independent params for acceleration+velocity limits and smoothing

Dear All!

We are using arducopter in guided mode for drone swarms and currently face the problem of undesired self-excited oscillations due to the many confusing acceleration limits and smoothing parameters present in current (Copter-3.4.4) code. Low acceleration limit and too much smoothing is not a serious bottleneck in single drone operation but can cause severe delayed oscillations in multi-drone systems.

These are the current parameters that affect the acceleration limits and filtering in guided mode as far as I know, maybe this is not even a complete list:

RC_FEEL_RP
PSC_ACC_XY_FILT
PILOT_ACCEL_Z
WPNAV_ACCEL
WPNAV_ACCEL_Z

As you see, they are from 4 different categories and without thorough inspection of the code it is not possible to see which one affects which part of guided mode and how (for example, no acc limit is initialized in guided velocity control, but it is initialized in posvel control, in one of these PILOT_ACCEL_Z is used, in another WPNAV_ACCEL_Z is used, etc.).

It would be nice to have finally a GUID_* parameter category where parameters, such as acceleration limits or velocity limits, etc. for guided mode could be setup more transparently and independently of other modes.

If you like the idea, I am willing to code this in our branch here but will not put an effort into it if you dont need it:

p.s.: In the above comparison we have also setup some basic useful things for smoother guided mode velocity control, feel free to use it in master if you like our changes (e.g. DGPS initialization for u-blox RTCM message reception, “rc lost -> continue mission” possibility in guided mode as well, proper guided velocity mode accel limit initialization).

Cheers,
Gabor

1 Like