Hi All!
I would like to implement a high-update-rate velocity control in guided mode, in which when we give instantaneous velocity control commands and we expect the copter to reach the last velocity as soon as possible, without integrating position errors or caring about previous velocity commands.
I realised that the current guided mode velocity control is an “integrating velocity control”, it is designed for low update rate and GCS based control and it integrates position errors and tries to keep average velocity at the given level. I.e. if I give a still copter a command to go with 4 m/s, it will start to accelerate and will overshoot with v>4m/s to compensate for the initial period of v<4m/s and reach an average 4m/s in the end. However, in some cases this results in unexpectedly large velocity and position errors that cause undesired oscillations.
Do you have any suggestion how to create an option for velocity control that does not integrate position errors but tries to get close to the last given velocity command as soon as possible?
I attach a log file for the current case, the one I do not want. I want a simple exponential approximation of the desired velocity from below. I assume that this would be a very useful option in a lot of applications using companion computers.
Thanks,
Gabor