Drake
|
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 SystemPtr & | getSys () const |
Friends | |
StateVector< double > | getInitialState (const PDControlSystem< System > &sys) |
PDControlSystem<System>
Wraps an existing system with a PD controller (the new system represents the closed-loop controller + system)
x_d —>[ Kp, Kd ]–>(+)--—>[ sys ]-------—> yout | - | ----—[ Kp, Kd ]<-—
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 |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |