Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00033 #ifndef ACADO_TOOLKIT_REFERENCE_TRAJECTORY_HPP
00034 #define ACADO_TOOLKIT_REFERENCE_TRAJECTORY_HPP
00035
00036
00037 #include <acado/utils/acado_utils.hpp>
00038 #include <acado/simulation_environment/simulation_block.hpp>
00039
00040 #include <acado/variables_grid/variables_grid.hpp>
00041
00042
00043 BEGIN_NAMESPACE_ACADO
00044
00045
00046
00059 class ReferenceTrajectory
00060 {
00061
00062
00063
00064 public:
00067 ReferenceTrajectory( );
00068
00073 ReferenceTrajectory( const ReferenceTrajectory& rhs
00074 );
00075
00078 virtual ~ReferenceTrajectory( );
00079
00084 ReferenceTrajectory& operator=( const ReferenceTrajectory& rhs
00085 );
00086
00091 virtual ReferenceTrajectory* clone( ) const = 0;
00092
00093
00105 virtual returnValue init( double startTime = 0.0,
00106 const DVector& _x = emptyConstVector,
00107 const DVector& _xa = emptyConstVector,
00108 const DVector& _u = emptyConstVector,
00109 const DVector& _p = emptyConstVector,
00110 const DVector& _w = emptyConstVector
00111 ) = 0;
00112
00113
00126 virtual returnValue step( double _currentTime,
00127 const DVector& _y,
00128 const DVector& _x = emptyConstVector,
00129 const DVector& _xa = emptyConstVector,
00130 const DVector& _u = emptyConstVector,
00131 const DVector& _p = emptyConstVector,
00132 const DVector& _w = emptyConstVector
00133 ) = 0;
00134
00144 virtual returnValue step( const DVector& _x,
00145 const VariablesGrid& _u = emptyConstVariablesGrid,
00146 const VariablesGrid& _p = emptyConstVariablesGrid,
00147 const VariablesGrid& _w = emptyConstVariablesGrid
00148 ) = 0;
00149
00159 virtual returnValue getReference( double tStart,
00160 double tEnd,
00161 VariablesGrid& _yRef
00162 ) const = 0;
00163
00164
00169 virtual uint getDim( ) const = 0;
00170
00176 inline BooleanType isDefined( ) const;
00177
00178
00179
00180
00181
00182 protected:
00183
00184
00185
00186
00187
00188
00189 protected:
00190
00191 };
00192
00193
00194 CLOSE_NAMESPACE_ACADO
00195
00196
00197 #include <acado/reference_trajectory/reference_trajectory.ipp>
00198
00199
00200
00201 #include <acado/reference_trajectory/static_reference_trajectory.hpp>
00202 #include <acado/reference_trajectory/adaptive_reference_trajectory.hpp>
00203
00204
00205 #endif // ACADO_TOOLKIT_REFERENCE_TRAJECTORY_HPP
00206
00207
00208
00209