Drake
CascadeSystem< System1, System2 > Class Template Reference

CascadeSystem<System1,System2> More...

#include <drake/systems/cascade_system.h>

Public Types

template<typename ScalarType >
using StateVector1 = typename System1::template StateVector< ScalarType >
 
template<typename ScalarType >
using StateVector2 = typename System2::template StateVector< ScalarType >
 
using util = CombinedVectorUtil< StateVector1, StateVector2 >
 
template<typename ScalarType >
using StateVector = typename util::template type< ScalarType >
 
template<typename ScalarType >
using InputVector = typename System1::template InputVector< ScalarType >
 
template<typename ScalarType >
using System1OutputVector = typename System1::template OutputVector< ScalarType >
 
template<typename ScalarType >
using OutputVector = typename System2::template OutputVector< ScalarType >
 
using System1Ptr = std::shared_ptr< System1 >
 
using System2Ptr = std::shared_ptr< System2 >
 

Public Member Functions

 CascadeSystem (const System1Ptr &_sys1, const System2Ptr &_sys2)
 
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 System1PtrgetSys1 () const
 
const System2PtrgetSys2 () const
 

Friends

StateVector< doublegetInitialState (const CascadeSystem< System1, System2 > &sys)
 

Detailed Description

template<class System1, class System2>
class Drake::CascadeSystem< System1, System2 >

CascadeSystem<System1,System2>

Builds a new system from the cascade connection of two simpler systems

Implemented concepts:
System Concept
Cascade combination of two
systems

Member Typedef Documentation

using InputVector = typename System1::template InputVector<ScalarType>
using OutputVector = typename System2::template OutputVector<ScalarType>
using StateVector = typename util::template type<ScalarType>
using StateVector1 = typename System1::template StateVector<ScalarType>
using StateVector2 = typename System2::template StateVector<ScalarType>
using System1OutputVector = typename System1::template OutputVector<ScalarType>
using System1Ptr = std::shared_ptr<System1>
using System2Ptr = std::shared_ptr<System2>

Constructor & Destructor Documentation

CascadeSystem ( const System1Ptr _sys1,
const System2Ptr _sys2 
)
inline

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 System1Ptr& getSys1 ( ) const
inline
const System2Ptr& getSys2 ( ) 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 CascadeSystem< System1, System2 > &  sys)
friend

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