Drake
TimeVaryingData Struct Reference

Stores matrix data necessary to construct an affine time varying system as a piecewise polynomial trajectory. More...

#include <systems/primitives/time_varying_data.h>

Inheritance diagram for TimeVaryingData:
[legend]
Collaboration diagram for TimeVaryingData:
[legend]

Public Member Functions

 TimeVaryingData ()=default
 Default constructor. More...
 
 TimeVaryingData (const std::vector< Eigen::MatrixXd > &A, const std::vector< Eigen::MatrixXd > &B, const std::vector< Eigen::MatrixXd > &f0, const std::vector< Eigen::MatrixXd > &C, const std::vector< Eigen::MatrixXd > &D, const std::vector< Eigen::MatrixXd > &y0, double time_period)
 Fully-parameterized constructor of vector of MatrixXd; these are ultimately converted into PiecewisePolynomialTrajectories, whose i-th element corresponds to time = i * time_period. More...
 
 TimeVaryingData (const PiecewisePolynomial< double > &A, const PiecewisePolynomial< double > &B, const PiecewisePolynomial< double > &f0, const PiecewisePolynomial< double > &C, const PiecewisePolynomial< double > &D, const PiecewisePolynomial< double > &y0)
 Fully-parameterized constructor of PiecewisePolynomials. More...
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 TimeVaryingData (const TimeVaryingData &)=default
 
TimeVaryingDataoperator= (const TimeVaryingData &)=default
 
 TimeVaryingData (TimeVaryingData &&)=default
 
TimeVaryingDataoperator= (TimeVaryingData &&)=default
 

Public Attributes

PiecewisePolynomial< doubleA {}
 
PiecewisePolynomial< doubleB {}
 
PiecewisePolynomial< doublef0 {}
 
PiecewisePolynomial< doubleC {}
 
PiecewisePolynomial< doubleD {}
 
PiecewisePolynomial< doubley0 {}
 

Detailed Description

Stores matrix data necessary to construct an affine time varying system as a piecewise polynomial trajectory.

The trajectory matrices must adhere to the following dimensions:

Matrix Num Rows Num Columns
A num states num states
B num states num inputs
C num outputs num states
D num outputs num inputs
f0 num states 1
y0 num outputs 1

Constructor & Destructor Documentation

TimeVaryingData ( const TimeVaryingData )
default
TimeVaryingData ( TimeVaryingData &&  )
default
TimeVaryingData ( )
default

Default constructor.

TimeVaryingData ( const std::vector< Eigen::MatrixXd > &  A,
const std::vector< Eigen::MatrixXd > &  B,
const std::vector< Eigen::MatrixXd > &  f0,
const std::vector< Eigen::MatrixXd > &  C,
const std::vector< Eigen::MatrixXd > &  D,
const std::vector< Eigen::MatrixXd > &  y0,
double  time_period 
)

Fully-parameterized constructor of vector of MatrixXd; these are ultimately converted into PiecewisePolynomialTrajectories, whose i-th element corresponds to time = i * time_period.

These vectors are only well-defined when time_period > 0 (e.g. for discrete-time systems). The matrix values are interpolated linearly in between time steps.

Parameters
time_periodThe time period from which to construct the time vector. time_period must be greater than zero.
TimeVaryingData ( const PiecewisePolynomial< double > &  A,
const PiecewisePolynomial< double > &  B,
const PiecewisePolynomial< double > &  f0,
const PiecewisePolynomial< double > &  C,
const PiecewisePolynomial< double > &  D,
const PiecewisePolynomial< double > &  y0 
)

Fully-parameterized constructor of PiecewisePolynomials.

Member Function Documentation

TimeVaryingData& operator= ( const TimeVaryingData )
default
TimeVaryingData& operator= ( TimeVaryingData &&  )
default

Member Data Documentation

PiecewisePolynomial<double> A {}
PiecewisePolynomial<double> B {}
PiecewisePolynomial<double> C {}
PiecewisePolynomial<double> D {}
PiecewisePolynomial<double> f0 {}
PiecewisePolynomial<double> y0 {}

The documentation for this struct was generated from the following files: