Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
pbdlib-matlab
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rli
pbdlib-matlab
Commits
0b240783
Commit
0b240783
authored
Jul 30, 2014
by
Sylvain Calinon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding ARE with Schur or Eig
parent
51e4d3d9
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
7 additions
and
5 deletions
+7
-5
reproduction_LQR_finiteHorizon.m
reproduction_LQR_finiteHorizon.m
+1
-1
reproduction_LQR_infiniteHorizon.m
reproduction_LQR_infiniteHorizon.m
+4
-2
solveAlgebraicRiccati_Schur.m
solveAlgebraicRiccati_Schur.m
+1
-1
solveAlgebraicRiccati_eig.m
solveAlgebraicRiccati_eig.m
+1
-1
No files found.
reproduction_LQR_finiteHorizon.m
View file @
0b240783
...
...
@@ -2,7 +2,7 @@ function r = reproduction_LQR_finiteHorizon(DataIn, model, r, currPos, rFactor,
% Reproduction with a linear quadratic regulator of finite horizon
%
% Authors: Sylvain Calinon and Danilo Bruno, 2014
% http://programming-by-demonstration.org
/SylvainCalinon
% http://programming-by-demonstration.org
%
% This source code is given for free! In exchange, we would be grateful if you cite
% the following reference in any academic publication that uses this code or part of it:
...
...
reproduction_LQR_infiniteHorizon.m
View file @
0b240783
...
...
@@ -2,7 +2,7 @@ function [r,P] = reproduction_LQR_infiniteHorizon(DataIn, model, r, currPos, rFa
% Reproduction with a linear quadratic regulator of infinite horizon
%
% Authors: Sylvain Calinon and Danilo Bruno, 2014
% http://programming-by-demonstration.org
/SylvainCalinon
% http://programming-by-demonstration.org
%
% This source code is given for free! In exchange, we would be grateful if you cite
% the following reference in any academic publication that uses this code or part of it:
...
...
@@ -48,8 +48,10 @@ for t=1:nbData
%also available with the control toolbox of GNU Octave
%P = care(A, B, (Q+Q')/2, R); %(Q+Q')/2 is used instead of Q to avoid warnings for the symmetry of Q
%Alternatively
the function below can be used for an implementation based on Schur decomposition.
%Alternatively
, the function below can be used for an implementation based on Schur decomposition
%P = solveAlgebraicRiccati_Schur(A, B/R*B', (Q+Q')/2);
%Alternatively, the function below can be used for an implementation based on Eigendecomposition
P
=
solveAlgebraicRiccati_eig
(
A
,
B
/
R
*
B
', (Q+Q'
)/
2
);
%Variable for feedforward term computation (optional for movements with low dynamics)
...
...
solveAlgebraicRiccati_Schur.m
View file @
0b240783
function
X
=
solveAlgebraicRiccati
(
A
,
G
,
Q
)
function
X
=
solveAlgebraicRiccati
_Schur
(
A
,
G
,
Q
)
%Solves the algebraic Riccati equation of the form A'X+XA'-XGX+Q=0, where X is symmetric.
%
%@article{Paige81,
...
...
solveAlgebraicRiccati_eig.m
View file @
0b240783
function
X
=
solveAlgebraicRiccati_eig
(
A
,
G
,
Q
)
%Solves the algebraic Riccati equation of the form A'X+XA'-XGX+Q=0, where X is symmetric wi
ht
eigendecomposition.
%Solves the algebraic Riccati equation of the form A'X+XA'-XGX+Q=0, where X is symmetric wi
th
eigendecomposition.
n
=
size
(
A
,
1
);
Z
=
[
A
-
G
;
-
Q
-
A
'
];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment