Zhan Dorbetkhany, Matteo Rubagotti, Almas Shintemirov
Model Predictive Control of
Skid-Steered Mobile Robot with
Deep Learning System Dynamics
Outline
1. Introduction.
2. Literature.
3. Methodology.
4. MPC designs and testing.
5. Conclusion.
Introduction
Introduction
Objectives:
1. Develop a path following MPC based on spatial kinematic model of skid-steered mobile robot.
2. Create a framework for development data-driven model predictive control for mobile robots.
This work was inspired by:
G. Huskic, S. Buck, M. Herrb, S. Lacroix, and A. Zell, “High-speed path ´ following control of skid-steered vehicles,” The International Journal of Robotics Research, vol. 38, no. 9, pp. 1124–1148, 2019.
Tim Salzmann, Elia Kaufmann, Jon Arrizabalaga, Marco Pavone, Davide Scara-muzza, and Markus Ryll.
Real-time neural mpc: Deep learning model predictive control for quadrotors and agile robotic platforms.
IEEE Robotics and Automation Letters, pages 1–8, 2023.
Literature review: MPC for mobile robots
MPC:
1. Used in control of many types of autonomous vehicles.
2. Relies on vehicles motion model.
3. Allows definition of system or obstacle related constraints.
4. Used in path following control using spatial motion models.
SSMR Kinematics
SSMR model in global coordinates
SSMR longitudinal/angular velocity to wheel speed mapping
SSMR Spatial Kinematics
SSMR spatial state-space model Spatial conversion scheme:
Path curvature:
Literature review: data-driven MPC
Data-driven MPC approaches: parameter inference, residual learning, full dynamics learning.
Tim Salzmann et. al. propose a method for using large neural networks in real-time:
Methodology
The project involved several stages:
First stage: path following MPC implementation using ACADO optimization toolkit and MATLAB environment.
First stage has been published in a conference.
Second stage: development of framework for design for time-domain and path following MPC with data-driven component using Python environment, ACADOS optimization toolkit, and Pytorch-Casadi integration.
All testing was done using WeBots simulation environment. Version R2020b for MATLAB, modified R2023a for Python.
Path following MPC in MATLAB
Control Objective: navigate a predefined path and avoid obstacles.
System state:
Control inputs:
System model:
MPC design
Obstacle avoidance terms:
MPC design
Optimal control problem:
Results: Simulation in WeBots
Results: velocity profiles
Results: errors
Results: computation times
Results: comparison
Time-domain MPC in Python
Control Objective: reach a reference point.
Control inputs:
System model:
Time-domain MPC in Python
Optimal Control Problem:
Time-domain MPC in Python: testing
Data-driven Time-domain MPC
Control Objective: reach a reference point.
Control inputs:
System model: , approximation of a two-layer neural network
Data-driven Time-domain MPC
OCP: same as in time-domain MPC, but with learned state-space model.
Dataset: mix of simulation data and artificially generated data from nominal equations.
Model training:
Data-driven Time-domain MPC: testing
Path following MPC in Python
Control Objective: navigate a predefined path and avoid borders.
System model: same as in MATLAB implementation.
OCP changed:
Path following MPC in Python:testing
Data-driven Path following MPC
Control Objective: navigate a predefined path and avoid borders.
System model:
OCP: unchanged from python version of path following MPC
Data-driven Path following MPC
Conclusion
Project results:
1. A path following MPC based on spatial kinematic model of SSMR with static obstacle avoidance.
2. A framework for development of data-driven MPC of SSMR.
3. Several Python implementations of MPC for SSMR.
Future work
1. Add path following contouring control variant.
2. Develop an effective data-driven MPC of SSMR.
3. Experiment using more advanced simulation and real robotic platforms.