Adaptive, Gain Scheduled, Nonlinear or another MPC approach for a special vehicle
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello there,
I have set up a kinematic single-track model (state space model) of a vehicle with independent all-wheel steering and all-wheel drive. However, the special feature of the vehicle is that, in addition to these 4 road wheels, it has 2 rail axles that can be moved vertically. Both systems (rail and road) are controlled independently of each other. This means that the vehicle can be driven both on the road and on rails. Accordingly, there are times when additional wheels can come into contact with the ground, so that the basic structure of the SS model can change over time.
General mathematical model of the kinematic vehicle (Without the influence of the rail wheels):
states = [X, Y, psi]; %Position and angle in 2D coordinate systems
MV = [v, delta_F, delta_R]; %Vehicle longitudinal speed and steering angle of the imaginary centre wheels
beta = atan((l_wb_1 * tan(delta_R) + l_wb_2 * tan(delta_F)) / (l_wb_1 + l_wb_2))
x_dot = v * cos(psi + beta);
y_dot = v * sin(psi + beta);
psi_dot = ((v * cos(beta)) / (l_wb_1 + l_wb_2)) * (tan(delta_F) - tan(delta_R));
l_wb_1 and l_wb_2 are the front and rear wheel base respectivly. Both have currently the value (0.75). beta is the slip angle of the vehicle.
In order to set up a linear MPC functionally, I have to implement either a very large number of linear MPCs via gain scheduling due to the over-actuation of the vehicle and the various possible driving manoeuvres. I see some problems with the large number in terms of performance or even feasibility in Simulink using the ‘Multiple MPC Controllers’ block (I would switch between the operating points with the measured values [v, psi_dot, beta]). The second possibility is an online linearisation using an adaptive MPC. The algorithm must run in real time on the vehicle, so the disadvantage of this adaptive implementation is the higher computing time. Another disadvantage is that the structure of the MPC's model can then no longer be changed. I assume that due to the even higher computing time compared to the adaptive MPC, the non-linear MPC will be too computationally intensive anyway.
- My specific question now is whether there are best practice examples for the control of over-actuated systems with a large number of operating points via MPC controllers in Simulink?
- Could there be difficulties if the state space model for the MPC is set up in such a way that it contains all the necessary states and inputs to include both the ‘normal’ run and those in which other wheels are in contact and to set the parameters and influences that are not necessary in the current state = 0? For example, the position of the rail axle and other variables could be added as states to the basic structure of the SS model, but set to 0 in pure road travel. Or should the influence of the rail wheels on the model be added to the model as ‘measured Disturbance’?
- I have also thought about event-controlled switching between several MPCs depending on the driving mode, but this seems to be more complex both in terms of computation and implementation.
- Are there other possibilities that I have not yet considered?
I have added the kinematic model as a Simulink model, as well as a Simulink model for testing the MPCs. If you have any questions, I will be happy to help.
Thank you in advance for any help!
Best regards,
Danus Rawert
0 Commenti
Risposte (0)
Vedere anche
Categorie
Scopri di più su Code Generation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!