17 template <
typename SCALAR>
43 const control_vector_t& control,
44 state_vector_t& stateNext)
override 47 stateNext(0) = state(0) + rate_ * state(0) * control(0);
48 stateNext(1) = state(0) * state(1) * state(1);
TestDiscreteNonlinearSystem()=delete
TestDiscreteNonlinearSystem(SCALAR rate, std::shared_ptr< DiscreteController< 2, 1, SCALAR >> controller=nullptr)
Definition: TestDiscreteNonlinearSystem.h:32
static const size_t CONTROL_DIM
Definition: TestDiscreteNonlinearSystem.h:23
virtual void propagateControlledDynamics(const state_vector_t &state, const time_t n, const control_vector_t &control, state_vector_t &stateNext) override
propagates the controlled system dynamics forward by one step
Definition: TestDiscreteNonlinearSystem.h:41
Definition: ControlVector.h:12
virtual ~TestDiscreteNonlinearSystem()
Definition: TestDiscreteNonlinearSystem.h:39
A general, non-linear discrete dynamic system with a control input.
Definition: DiscreteControlledSystem.h:40
Base::control_vector_t control_vector_t
Definition: TestDiscreteNonlinearSystem.h:26
CppAD::AD< CppAD::cg::CG< double > > SCALAR
constexpr size_t n
Definition: MatrixInversionTest.cpp:14
Definition: StateVector.h:12
Interface class for all controllers.
Definition: DiscreteController.h:22
Definition: TestDiscreteNonlinearSystem.h:18
TestDiscreteNonlinearSystem * clone() const override
deep copy
Definition: TestDiscreteNonlinearSystem.h:40
SYSTEM_TYPE
type of system
Definition: System.h:15
Base::state_vector_t state_vector_t
Definition: TestDiscreteNonlinearSystem.h:25
Base::time_t time_t
Definition: TestDiscreteNonlinearSystem.h:27
any non-specific system
Definition: System.h:17
DiscreteControlledSystem< 2, 1, SCALAR > Base
Definition: TestDiscreteNonlinearSystem.h:21
Base::time_t time_t
Definition: DiscreteControlledSystem.h:51
TestDiscreteNonlinearSystem(const TestDiscreteNonlinearSystem &arg)
Definition: TestDiscreteNonlinearSystem.h:38
static const size_t STATE_DIM
Definition: TestDiscreteNonlinearSystem.h:22