template<class _Derived>
LieGroupControllers::ControllerBase class

ControllerBase describes a base controller.

Template parameters
_Derived type of the Derived class. Necessary to implement the Curiously recurring template pattern.

Derived classes

template<typename _Derived>
class ProportionalControllerBase
template<typename _Derived>
class ProportionalDerivativeControllerBase
template<typename _Derived>
class ProportionalControllerBase
template<typename _Derived>
class ProportionalDerivativeControllerBase

Public types

using State = typename internal::traits<_Derived>::State
State type.
using Vector = typename internal::traits<_Derived>::Vector
Here we consider a Vector an element of the lie algebra of the Group.
using ScalarGains = typename internal::traits<_Derived>::ScalarGains
using Gains = typename internal::traits<_Derived>::Gains
Gains used by the controller.
using LieGroup = typename internal::traits<_Derived>::LieGroup
Lie Group.

Public functions

template<typename... Ts>
auto setState(Ts && ... state) -> bool
Set the control state.
template<typename... Ts>
auto setDesiredState(Ts && ... state) -> bool
Set the desired state.
auto setFeedForward(const Vector& feedForward) -> bool
Set the feedforward term of the controller.
template<typename... Ts>
void setGains(Ts && ... gains)
Set the controller gains.
void computeControlLaw()
Evaluate the control law.
auto getControl() const -> const Vector&
Get the control signal.
auto getState() const -> const State&
Get the state of the system.
auto getDesiredState() const -> const State&
Get the desired state of the system.
auto getFeedForward() const -> const Vector&
Get the feedforward term.

Function documentation

template<class _Derived> template<typename... Ts>
bool LieGroupControllers::ControllerBase<_Derived>::setState(Ts && ... state)

Set the control state.

Parameters
state of the system.
Returns true in case of success, false otherwise.

template<class _Derived> template<typename... Ts>
bool LieGroupControllers::ControllerBase<_Derived>::setDesiredState(Ts && ... state)

Set the desired state.

Parameters
state of the system.
Returns true in case of success, false otherwise.

template<class _Derived>
bool LieGroupControllers::ControllerBase<_Derived>::setFeedForward(const Vector& feedForward)

Set the feedforward term of the controller.

Returns true in case of success, false otherwise.

template<class _Derived> template<typename... Ts>
void LieGroupControllers::ControllerBase<_Derived>::setGains(Ts && ... gains)

Set the controller gains.

Parameters
gains contains the controller gain.

template<class _Derived>
const Vector& LieGroupControllers::ControllerBase<_Derived>::getControl() const

Get the control signal.

Returns a vector containing the control effort.

template<class _Derived>
const State& LieGroupControllers::ControllerBase<_Derived>::getState() const

Get the state of the system.

Returns the state of the system.

template<class _Derived>
const State& LieGroupControllers::ControllerBase<_Derived>::getDesiredState() const

Get the desired state of the system.

Returns the state of the system.

template<class _Derived>
const Vector& LieGroupControllers::ControllerBase<_Derived>::getFeedForward() const

Get the feedforward term.

Returns the controller feedforward.