Drake
LinearTimeVaryingData Struct Reference

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

#include <drake/systems/primitives/time_varying_data.h>

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

Public Member Functions

 LinearTimeVaryingData ()=default
 Default constructor. More...
 
 LinearTimeVaryingData (const std::vector< Eigen::MatrixXd > &A, const std::vector< Eigen::MatrixXd > &B, const std::vector< Eigen::MatrixXd > &C, const std::vector< Eigen::MatrixXd > &D, 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...
 
 LinearTimeVaryingData (const PiecewisePolynomial< double > &A, const PiecewisePolynomial< double > &B, const PiecewisePolynomial< double > &C, const PiecewisePolynomial< double > &D)
 Fully-parameterized constructor of PiecewisePolynomials. More...
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 LinearTimeVaryingData (const LinearTimeVaryingData &)=default
 
LinearTimeVaryingDataoperator= (const LinearTimeVaryingData &)=default
 
 LinearTimeVaryingData (LinearTimeVaryingData &&)=default
 
LinearTimeVaryingDataoperator= (LinearTimeVaryingData &&)=default
 
- Public Member Functions inherited from TimeVaryingData
 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 > &Ain, const PiecewisePolynomial< double > &Bin, const PiecewisePolynomial< double > &f0in, const PiecewisePolynomial< double > &Cin, const PiecewisePolynomial< double > &Din, const PiecewisePolynomial< double > &y0in)
 Fully-parameterized constructor of PiecewisePolynomials. More...
 
 TimeVaryingData (const TimeVaryingData &)=default
 
TimeVaryingDataoperator= (const TimeVaryingData &)=default
 
 TimeVaryingData (TimeVaryingData &&)=default
 
TimeVaryingDataoperator= (TimeVaryingData &&)=default
 

Additional Inherited Members

- Public Attributes inherited from TimeVaryingData
PiecewisePolynomialTrajectory A {PiecewisePolynomial<double>()}
 
PiecewisePolynomialTrajectory B {PiecewisePolynomial<double>()}
 
PiecewisePolynomialTrajectory f0 {PiecewisePolynomial<double>()}
 
PiecewisePolynomialTrajectory C {PiecewisePolynomial<double>()}
 
PiecewisePolynomialTrajectory D {PiecewisePolynomial<double>()}
 
PiecewisePolynomialTrajectory y0 {PiecewisePolynomial<double>()}
 

Detailed Description

Stores matrix data necessary to construct a linear 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

Constructor & Destructor Documentation

LinearTimeVaryingData ( )
default

Default constructor.

LinearTimeVaryingData ( const std::vector< Eigen::MatrixXd > &  A,
const std::vector< Eigen::MatrixXd > &  B,
const std::vector< Eigen::MatrixXd > &  C,
const std::vector< Eigen::MatrixXd > &  D,
double  time_period 
)
inline

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.
LinearTimeVaryingData ( const PiecewisePolynomial< double > &  A,
const PiecewisePolynomial< double > &  B,
const PiecewisePolynomial< double > &  C,
const PiecewisePolynomial< double > &  D 
)
inline

Fully-parameterized constructor of PiecewisePolynomials.

Member Function Documentation

LinearTimeVaryingData& operator= ( const LinearTimeVaryingData )
default
LinearTimeVaryingData& operator= ( LinearTimeVaryingData &&  )
default

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