Lodestar
An integrated real-time control package in C++
DiscreteLQR.hpp
1
//
2
// Created by Hamza El-Kebir on 5/9/21.
3
//
4
5
#ifndef LODESTAR_DISCRETELQR_HPP
6
#define LODESTAR_DISCRETELQR_HPP
7
8
#include "Lodestar/systems/StateSpace.hpp"
9
#include "Lodestar/synthesis/AlgebraicRiccatiEquation.hpp"
10
#include <vector>
11
12
namespace
ls
{
13
namespace
control {
14
class
DiscreteLQR
{
15
public
:
16
static
Eigen::MatrixXd
17
infiniteHorizon(
const
Eigen::MatrixXd &A,
18
const
Eigen::MatrixXd &B,
19
const
Eigen::MatrixXd &Q,
20
const
Eigen::MatrixXd &R);
21
22
static
Eigen::MatrixXd
23
infiniteHorizon(
const
systems::StateSpace<>
&sys,
24
const
Eigen::MatrixXd &Q,
25
const
Eigen::MatrixXd &R);
26
27
static
Eigen::MatrixXd
28
finiteHorizon(
const
Eigen::MatrixXd &A,
29
const
Eigen::MatrixXd &B,
30
const
Eigen::MatrixXd &Q,
31
const
Eigen::MatrixXd &R,
32
unsigned
int
N = 5);
33
34
static
Eigen::MatrixXd
35
finiteHorizon(
const
systems::StateSpace<>
&sys,
36
const
Eigen::MatrixXd &Q,
37
const
Eigen::MatrixXd &R,
38
unsigned
int
N = 5);
39
};
40
}
41
}
42
43
#endif //LODESTAR_DISCRETELQR_HPP
ls
Main Lodestar code.
Definition:
BilinearTransformation.hpp:12
ls::systems::StateSpace
Definition:
StateSpace.hpp:15
ls::control::DiscreteLQR
Definition:
DiscreteLQR.hpp:14
Lodestar
control
DiscreteLQR.hpp
Generated by
1.8.17