Drake

ContinuousState is a container for all the continuous state variables xc
.
More...
#include <systems/framework/continuous_state.h>
Public Member Functions  
ContinuousState (std::unique_ptr< VectorBase< T >> state)  
Constructs a ContinuousState for a system that does not have secondorder structure. More...  
ContinuousState (std::unique_ptr< VectorBase< T >> state, int num_q, int num_v, int num_z)  
Constructs a ContinuousState that exposes secondorder structure. More...  
ContinuousState ()  
Constructs a zerolength ContinuousState. More...  
virtual  ~ContinuousState () 
int  size () const 
Returns the size of the entire continuous state vector. More...  
T &  operator[] (std::size_t idx) 
const T &  operator[] (std::size_t idx) const 
const VectorBase< T > &  get_vector () const 
Returns a reference to the entire continuous state vector. More...  
VectorBase< T > &  get_mutable_vector () 
Returns a mutable reference to the entire continuous state vector. More...  
const VectorBase< T > &  get_generalized_position () const 
Returns a const reference to the subset of the state vector that is generalized position q . More...  
VectorBase< T > &  get_mutable_generalized_position () 
Returns a mutable reference to the subset of the state vector that is generalized position q . More...  
const VectorBase< T > &  get_generalized_velocity () const 
Returns a const reference to the subset of the continuous state vector that is generalized velocity v . More...  
VectorBase< T > &  get_mutable_generalized_velocity () 
Returns a mutable reference to the subset of the continuous state vector that is generalized velocity v . More...  
const VectorBase< T > &  get_misc_continuous_state () const 
Returns a const reference to the subset of the continuous state vector that is other continuous state z . More...  
VectorBase< T > &  get_mutable_misc_continuous_state () 
Returns a mutable reference to the subset of the continuous state vector that is other continuous state z . More...  
void  CopyFrom (const ContinuousState< T > &other) 
Copies the values from another ContinuousState of the same scalar type into this State. More...  
void  SetFrom (const ContinuousState< double > &other) 
Initializes this ContinuousState (regardless of scalar type) from a State<double>. More...  
void  SetFromVector (const Eigen::Ref< const VectorX< T >> &value) 
Sets the entire continuous state vector from an Eigen expression. More...  
VectorX< T >  CopyToVector () const 
Returns a copy of the entire continuous state vector into an Eigen vector. More...  
Does not allow copy, move, or assignment  
ContinuousState (const ContinuousState &)=delete  
ContinuousState &  operator= (const ContinuousState &)=delete 
ContinuousState (ContinuousState &&)=delete  
ContinuousState &  operator= (ContinuousState &&)=delete 
Protected Member Functions  
ContinuousState (std::unique_ptr< VectorBase< T >> state, std::unique_ptr< VectorBase< T >> q, std::unique_ptr< VectorBase< T >> v, std::unique_ptr< VectorBase< T >> z)  
Constructs a continuous state that exposes secondorder structure, with no particular constraints on the layout. More...  
ContinuousState is a container for all the continuous state variables xc
.
Continuous state variables are those whose values are defined by differential equations, so we expect there to be a welldefined time derivative xcdot
≜ d/dt xc
.
The contents of xc
are conceptually partitioned into three groups:
 xc  (index 0)qvz(index xc.size()  1)
Where q is generalized position v is generalized velocity z is other continuous state
Any of the groups may be empty. However, groups q and v must be either both present or both empty, because the time derivative qdot
of the secondorder state variables q
must be computable using a linear mapping qdot=N(q)*v
.
The time derivative xcdot
has the identical substructure to xc
, with the partitions interpreted as qdot
, vdot
, and zdot
. We use identical ContinuousState objects for both.
T  A mathematical type compatible with Eigen's Scalar. 

delete 

delete 

inlineexplicit 
Constructs a ContinuousState for a system that does not have secondorder structure.
The q
and v
partitions are empty; all of the state xc
is miscellaneous continuous state z
.

inline 
Constructs a ContinuousState that exposes secondorder structure.
state  The source xc of continuous state information. 
num_q  The number of position variables q. 
num_v  The number of velocity variables v. 
num_z  The number of other continuous variables z. 
We require that num_q ≥ num_v
and that the sum of the partition sizes adds up to the size of state
.

inline 
Constructs a zerolength ContinuousState.

inlinevirtual 

inlineprotected 
Constructs a continuous state that exposes secondorder structure, with no particular constraints on the layout.
state
.state  The entire continuous state. 
q  The subset of state that is generalized position. 
v  The subset of state that is generalized velocity. 
z  The subset of state that is neither position nor velocity. 

inline 
Copies the values from another ContinuousState of the same scalar type into this State.

inline 
Returns a copy of the entire continuous state vector into an Eigen vector.

inline 
Returns a const reference to the subset of the state vector that is generalized position q
.
May be zero length.

inline 
Returns a const reference to the subset of the continuous state vector that is generalized velocity v
.
May be zero length.

inline 
Returns a const reference to the subset of the continuous state vector that is other continuous state z
.
May be zero length.

inline 
Returns a mutable reference to the subset of the state vector that is generalized position q
.
May be zero length.

inline 
Returns a mutable reference to the subset of the continuous state vector that is generalized velocity v
.
May be zero length.

inline 
Returns a mutable reference to the subset of the continuous state vector that is other continuous state z
.
May be zero length.

inline 
Returns a mutable reference to the entire continuous state vector.

inline 
Returns a reference to the entire continuous state vector.

delete 

delete 

inline 

inline 

inline 
Initializes this ContinuousState (regardless of scalar type) from a State<double>.
All scalar types in Drake must support initialization from doubles.

inline 
Sets the entire continuous state vector from an Eigen expression.

inline 
Returns the size of the entire continuous state vector.