-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Where was the state dynamics equations taken ? #4
Comments
It's an implementation of the kinematic bicycle model used in this paper: "Kinematic and dynamic vehicle models for autonomous driving control design", IV 2015. You can refer to the book "Vehicle Dynamics and Control", Rajamani Ch. 2, for the derivation details. |
One more thing I want to ask is , I see you comment to add obstacle avoidance as a constraint to the casadi. Can we set the those constraints at each iteration for the dynamic obstacle ?, |
Yeah that's a good point. If you know the structure of the collision avoidance constraint (e.g. it's a simple stop line), you can simply set it as a parameter that is updated online. But if the number/structure of constraints is constantly changing, a parameter-based approach might not work. You can definitely create a new optimization problem at each time step, but I'm not sure about computational speed. |
Easiest thing would be to figure out the stop line based on all obstacles in the scene and just take the most conservative one. Then you can have a single constraint as a parameter. |
Thanks a lot for the replies. The structure of obstacle is usually a polygon, Maybe it would be to much to ask but I hope you don't mind; My understanding is that;
I declare a parameter vector with a size of max obstacles, then after each iteration I update the obstacles. What do you think about this approach ? |
So the parameter approach makes the most sense for cases where the number of constraints is fixed but the specific values are time-varying (e.g. you have a speed limit). One question would be if MNO = 10 but only 1 obstacle is present, is there a way to set the parameter value such that the corresponding constraint is inactive. A silly method would be to just put the obstacle region way out of the N-reachable set of the ego vehicle, where N is the planning horizon. There are several papers that look at collision avoidance using MPC/trajectory optimization, here are a sample of them: However, I think these problems involve changing the number of active constraints at runtime. You could simply try using Casadi but by creating a different optimization problem each time. Or perhaps Opti has a functionality to turn on/off constraints at runtime, not sure. |
Hi ,
I am a litlle confused about the equations,
genesis_path_follower/scripts/controllers/kinematic_mpc.py
Line 118 in 7f62ff6
Especially
beta
, what does beta represents here ?I would be really happy if you could provide a link to a reference document so I can better understand.
Thank you
The text was updated successfully, but these errors were encountered: