Flow computation for the problem domain: scaling chains of integrators. More...
Public Member Functions | |
void | clear () |
double | get_output_dim () const |
double | get_state (int i) const |
Access to full, current state vector. | |
double | get_state_dim () const |
double | get_time () const |
double | operator[] (int i) const |
Output vector. | |
double | step (double dt, const Eigen::VectorXd &U) |
Forward Euler integration for duration dt using constant input U. | |
TrajectoryGenerator (int numdim_output, int highest_order_deriv) | |
TrajectoryGenerator (Eigen::VectorXd Xinit, int numdim_output) | |
Flow computation for the problem domain: scaling chains of integrators.
The trajectories are the solutions of a linear time-invariant control system. Control input is applied using a zero-order hold, i.e., applied constantly during the duration given as the first parameter of step().
Let m be the highest order of derivative, and let n be the dimension of the output space. The state variable indexing is such that the first output variable is the first state variable, the second output variable is the second state variable, etc. Thus the component systems are interleaved in the sense that the first subsystem is formed from state variable indices 1, 1+n, 1+2n, ..., 1+(m-1)n, and the input to this subsystem is applied at state variable index 1+(m-1)n.