[Discussion] On PID controller changes for starting ego vehicle on downward slopes. #3980
Replies: 1 comment
-
One comment that might be useful when testing changes related to this issue on the simulator. From @takayuki5168 : |
Beta Was this translation helpful? Give feedback.
-
Greetings, I would like to discuss possible solutions to the issue presented here: autowarefoundation/autoware.universe#5391
In resume:
Regarding point 3), the current implementation of the PID controller does NOT accumulate error when the vehicle speed is low. So, the PID controller becomes a PD controller for low speeds (decided by the 'current_vel_threshold_pid_integration' parameter).
This is an intentional design decision (described here) Quote:
"Also, the integral term is not accumulated when the vehicle is stopped. This is to prevent unintended accumulation of the integral term in cases such as Autoware assumes that the vehicle is engaged, but an external system has locked the vehicle to start."
Possible solutions:
But I believe that, by tuning the I effort parameters:
max_i_effort
min_i_effort
The maximum acceleration caused by the I controller can be tuned to be comfortable & safe, even when the error integration is saturated. So, the velocity limit is actually not necessary. I have made a Draft PR with this solution.
Pros:
Cons:
max_i_takeoff_effort
min_i_takeoff_effort
In this case we can use these 2 parameters to implement an anti wind up for the I controller: this approach is often referred to as integral clamping or saturation. These values would only be used when the ego vehicle speed is less than ''current_vel_threshold_pid_integration' and the vehicle is taking off (going from STOPPED state to DRIVING).
Pros:
Cons:
m_error_integral > min_i_takeoff_effort / ki (The error gets clamped and the I output changes suddenly). I believe that, in practice, this is not a real issue if current_vel_threshold_pid_integration is low in magnitude.
I would like to hear your comments/suggestions, if any.
@takayuki5168 @TakaHoribe @zulfaqar-azmi-t4 @VRichardJP @brkay54 @mehmetdogru
Beta Was this translation helpful? Give feedback.
All reactions