Robot learning techniques for set point regulation of robots with nonlinear flexibility on the joints
This is our Final Project for the course in Underactuated Robotics A.Y. 2020/2021.
The task has been to combine learning techniques with Nonlinear MPC in order to perform set-point regulation of a manipulator with elastic joints. In particular, the elasticity term is assumed to be nonlinear and unknown (hence the need of the learning techniques).
Here we summarize the project structure for ease of use.
simulation.m
: main file of the projectsimulationOnline.m
: main file of the project used to run the simulations with online retrainingparameters.m
: collects all the parameters across the projectrobotModel.m
: derives symbolically (and saves numerically as MATLAB functions) the needed terms of the robot dynamical modelmpcSetup.m
: sets up the MPC objectplotResults.m
: displays the results of the simulations
Some utility functions are used.
dataGeneration
: collects all the utilities for generating offline training datamodelFunctions
: collects the functions for the terms of the robot dynamical modelmodelsTraining
: collects all the utilities for training the learning modelsmpcFunctions
: collects all the functions for MPC (prediction model, custom cost function, custom constraints)savedData
: collects generated datasets and trained modelsutils
: collects various utility functions used across the project
Check the report of the project here and the presentation we gave of our project.
- MATLAB Symbolic Math Toolbox
- MATLAB Statistics and Machine Learning Toolbox
- MATLAB Model Predictive Control Toolbox
- CoppeliaSim
- Andrea Caciolai
- Emanuele Nicotra
- Matilde Rabbiolo