Drake
PDControlSystem< System > Class Template Reference

PDControlSystem<System> More...

#include <drake/systems/pd_control_system.h>

Public Types

template<typename ScalarType >
using StateVector = typename System::template StateVector< ScalarType >
 
template<typename ScalarType >
using InputVector = typename System::template StateVector< ScalarType >
 
template<typename ScalarType >
using OutputVector = typename System::template OutputVector< ScalarType >
 
typedef std::shared_ptr< System > SystemPtr
 

Public Member Functions

template<typename DerivedA , typename DerivedB >
 PDControlSystem (const SystemPtr &sys, const Eigen::MatrixBase< DerivedA > &Kp, const Eigen::MatrixBase< DerivedB > &Kd)
 
template<typename ScalarType >
StateVector< ScalarType > dynamics (const ScalarType &t, const StateVector< ScalarType > &x, const InputVector< ScalarType > &u) const
 
template<typename ScalarType >
OutputVector< ScalarType > output (const ScalarType &t, const StateVector< ScalarType > &x, const InputVector< ScalarType > &u) const
 
bool isTimeVarying () const
 
bool isDirectFeedthrough () const
 
size_t getNumStates () const
 
size_t getNumInputs () const
 
size_t getNumOutputs () const
 
const SystemPtrgetSys () const
 

Friends

StateVector< doublegetInitialState (const PDControlSystem< System > &sys)
 

Detailed Description

template<class System>
class Drake::PDControlSystem< System >

PDControlSystem<System>

Wraps an existing system with a PD controller (the new system represents the closed-loop controller + system)

Implemented concepts:
System Concept

x_d —>[ Kp, Kd ]–>(+)--—>[ sys ]-------—> yout | - | ----—[ Kp, Kd ]<-—

Member Typedef Documentation

using InputVector = typename System::template StateVector<ScalarType>
using OutputVector = typename System::template OutputVector<ScalarType>
using StateVector = typename System::template StateVector<ScalarType>
typedef std::shared_ptr<System> SystemPtr

Constructor & Destructor Documentation

PDControlSystem ( const SystemPtr sys,
const Eigen::MatrixBase< DerivedA > &  Kp,
const Eigen::MatrixBase< DerivedB > &  Kd 
)
inline

Here is the call graph for this function:

Member Function Documentation

StateVector<ScalarType> dynamics ( const ScalarType &  t,
const StateVector< ScalarType > &  x,
const InputVector< ScalarType > &  u 
) const
inline

Here is the call graph for this function:

size_t getNumInputs ( ) const
inline

Here is the call graph for this function:

size_t getNumOutputs ( ) const
inline

Here is the call graph for this function:

size_t getNumStates ( ) const
inline

Here is the call graph for this function:

const SystemPtr& getSys ( ) const
inline
bool isDirectFeedthrough ( ) const
inline
bool isTimeVarying ( ) const
inline
OutputVector<ScalarType> output ( const ScalarType &  t,
const StateVector< ScalarType > &  x,
const InputVector< ScalarType > &  u 
) const
inline

Here is the call graph for this function:

Friends And Related Function Documentation

StateVector<double> getInitialState ( const PDControlSystem< System > &  sys)
friend

The documentation for this class was generated from the following file: