PX4 Position control and Velocity control

Hi there, I am wondering about the difference between smooth velocity control (jerk optimized) and acceleration based input in MPC_POS_MODE parameter. I have read the PX4 document, but I couldn’t find anything helpful for me to understand it well. I want to realize that more mathematical or in some figures.

I was using acceleration based input for a long time, and my drone go well. However, due to the need of collision prevention, I have to change it into smooth velocity control, but it work not great as original one. So, I want to know how to tune the MPC_HOR_ACC_MAX and MPC_JERK_MAX parameter to make smooth velocity control work like acceleration based input.

Any suggestion is appreciated.

Hi, This is explained in Multicopter Setpoint Tuning (Trajectory Generator) | PX4 User Guide

My understanding is that by default position mode control maps stick horizontal positions to an acceleration setpoint. This is more naturally smooth than mapping the stick position to a velocity setpoint as in previous versions. BUT with this kind of control you still have full control over how quickly you accelerate - so you can create jerky movements by rapidly changing the stick positions.

Jerk limiting prevents this. If you move stick from 0 to max the acceleration setpoint does not immediately change to max, but follows a curve. You always get a smooth accel. Does that make sense?

@MaEtUgR I think that position mode currently only supports collision prevention in jerk limited mode right? (we discussed at some point - is there a plan to fix this?). Can you advise on this?

After reviwing this topic with my quadcopter using a cube orange with Herelink radio telem on a Px4v1.13.3 ,
i got a very good response using simple position control rather than using the acceleration based input which was very wild during take off with multople crashes.
But the irony is while on Px4 v1.12.3 , i had a smoother accerelation based mpc_pos mode rather than in simple position mode !
So I dont understand what did you do between Px4 v1.12.3 to Px4v1.13.3 to have thos change in pilot experience