18 template <
size_t STATE_DIM,
size_t CONTROL_DIM,
typename SCALAR =
double>
22 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
24 typedef typename std::shared_ptr<DiscreteLinearSystem<STATE_DIM, CONTROL_DIM, SCALAR>>
LinearSystemPtr;
80 const control_vector_t& control,
81 state_vector_t& stateNext)
override 107 const control_vector_t& u,
108 const state_vector_t& x_next,
112 state_control_matrix_t& B)
override std::vector< T, Alloc > Switched
Declaring Switched alias such that we can write Switched<System>
Definition: Switching.h:12
class for a general switched discrete linear system or linearized discrete system ...
Definition: SwitchedDiscreteLinearSystem.h:19
virtual void propagateControlledDynamics(const state_vector_t &state, const time_t n, const control_vector_t &control, state_vector_t &stateNext) override
compute the system dynamics
Definition: SwitchedDiscreteLinearSystem.h:78
DiscreteModeSequence discreteModeSequence_
the prespecified mode sequence
Definition: SwitchedDiscreteLinearSystem.h:122
Switched< LinearSystemPtr > SwitchedLinearSystems
Definition: SwitchedDiscreteLinearSystem.h:25
virtual void getAandB(const state_vector_t &x, const control_vector_t &u, const state_vector_t &x_next, const int n, size_t subSteps, state_matrix_t &A, state_control_matrix_t &B) override
retrieve discrete-time linear system matrices A and B for mode i, active at time n.
Definition: SwitchedDiscreteLinearSystem.h:106
interface class for a general discrete linear system or linearized discrete system ...
Definition: DiscreteLinearSystem.h:23
virtual SwitchedDiscreteLinearSystem< STATE_DIM, CONTROL_DIM, SCALAR > * clone() const override
deep cloning
Definition: SwitchedDiscreteLinearSystem.h:62
Definition: StateMatrix.h:12
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef std::shared_ptr< DiscreteLinearSystem< STATE_DIM, CONTROL_DIM, SCALAR > > LinearSystemPtr
Definition: SwitchedDiscreteLinearSystem.h:24
Definition: ControlVector.h:12
A general, non-linear discrete dynamic system with a control input.
Definition: DiscreteControlledSystem.h:40
CppAD::AD< CppAD::cg::CG< double > > SCALAR
constexpr size_t n
Definition: MatrixInversionTest.cpp:14
Base::state_vector_t state_vector_t
Definition: SwitchedDiscreteLinearSystem.h:30
SwitchedDiscreteLinearSystem(const SwitchedDiscreteLinearSystem &arg)
copy constructor
Definition: SwitchedDiscreteLinearSystem.h:48
Definition: StateVector.h:12
Base::time_t time_t
Definition: SwitchedDiscreteLinearSystem.h:28
SwitchedDiscreteLinearSystem(const SwitchedLinearSystems &switchedLinearSystems, const DiscreteModeSequence &discreteModeSequence, const SYSTEM_TYPE &type=SYSTEM_TYPE::GENERAL)
default constructor
Definition: SwitchedDiscreteLinearSystem.h:40
virtual ~SwitchedDiscreteLinearSystem()
destructor
Definition: SwitchedDiscreteLinearSystem.h:59
SYSTEM_TYPE
type of system
Definition: System.h:15
Phase getPhaseFromTime(Time time) const
get phase pointer from time
Definition: Switching.h:68
any non-specific system
Definition: System.h:17
SwitchedLinearSystems switchedLinearSystems_
Switched linear system container.
Definition: SwitchedDiscreteLinearSystem.h:121
StateMatrix< STATE_DIM, SCALAR > state_matrix_t
state Jacobian type
Definition: SwitchedDiscreteLinearSystem.h:33
StateControlMatrix< STATE_DIM, CONTROL_DIM, SCALAR > state_control_matrix_t
input Jacobian type
Definition: SwitchedDiscreteLinearSystem.h:34
int time_t
the type of the time variable
Definition: DiscreteSystem.h:15
DiscreteControlledSystem< STATE_DIM, CONTROL_DIM, SCALAR > Base
Definition: SwitchedDiscreteLinearSystem.h:27
Base::control_vector_t control_vector_t
Definition: SwitchedDiscreteLinearSystem.h:31
Definition: StateControlMatrix.h:12