Solving Optimal Control Problems using Simscape Models for State Derivatives
Here I demonstrate an approach to calculate derivative functions for Simscape models and use them to solve optimal control problems.
Although this approach is less efficient than analytic expression for the derivatives, not every problem will have these directly available due to a variety of reasons, including multidomain, multibody, large-scale, automatically generated, or proprietary models.
A step-by-step procedure is presented to assist utilizing this approach. The canonical Bryson-Denham state-constrained double integrator optimal control problem is used as a test optimal control problem.
A number of control formulations are compared to demonstrate the computational expense of this approach compared to analytic expressions of the state derivatives and additional benefits including improved final solutions and execution time over more traditional formulations. In particular, direct transcription solutions are decidedly more efficient than the common shooting approach.
The code is complementary material for the following publication:
Daniel R. Herber. 'Solving Optimal Control Problems using Simscape Models for State Derivatives.' Technical Report UIUC-ESDL-2014-01, July 2014.
which can be obtained by going to:
http://systemdesign.illinois.edu/publications/Her14b.pdf
Please see the readme file for usage details.
GPOPS-II, an additional commercial MATLAB software package, is required to run all the methods (although the results for each method are included):
%--------------------------------------------------------------------------
% BrysonDenhamMain.m
% Solve the problem with a number of methods
%--------------------------------------------------------------------------
% [] = BrysonDenhamMain()
%--------------------------------------------------------------------------
% Some methods utilize a Simscape model for state derivatives
% Bryson-Denham state-constrained double integrator problem optimal
% control problem
% Problem formulation and solution using GPOPS
% http://www.gpops2.com/Examples/Bryson-Denham/Bryson-Denham.html
%--------------------------------------------------------------------------
% Method of optimal control and derivative source
% method : control : derivatives
% 1 : shooting : analytic
% 2 : shooting : simscape
% 3 : direct transcription : analytic
% 4 : direct transcription : simscape
% 5 : pseudospectral (GPOPS-II) : analytic
% 6 : pseudospectral (GPOPS-II) : simscape
%--------------------------------------------------------------------------
% Author: Daniel R. Herber, Graduate Student, University of Illinois at
% Urbana-Champaign
% Date: 07/22/2014
%--------------------------------------------------------------------------
引用格式
Daniel R. Herber (2024). Solving Optimal Control Problems using Simscape Models for State Derivatives (https://www.mathworks.com/matlabcentral/fileexchange/47317-solving-optimal-control-problems-using-simscape-models-for-state-derivatives), MATLAB Central File Exchange. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux类别
- Physical Modeling > Simscape Multibody > Simulation and Analysis >
- Control Systems > Simulink Design Optimization >
标签
致谢
启发作品: Basic Implementation of Multiple-Interval Pseudospectral Methods to Solve Optimal Control Problems
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!