feedforward_law.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of ACADO Toolkit.
3  *
4  * ACADO Toolkit -- A Toolkit for Automatic Control and Dynamic Optimization.
5  * Copyright (C) 2008-2014 by Boris Houska, Hans Joachim Ferreau,
6  * Milan Vukov, Rien Quirynen, KU Leuven.
7  * Developed within the Optimization in Engineering Center (OPTEC)
8  * under supervision of Moritz Diehl. All rights reserved.
9  *
10  * ACADO Toolkit is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Lesser General Public
12  * License as published by the Free Software Foundation; either
13  * version 3 of the License, or (at your option) any later version.
14  *
15  * ACADO Toolkit is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  * Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public
21  * License along with ACADO Toolkit; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23  *
24  */
25 
26 
33 #ifndef ACADO_TOOLKIT_FEEDFORWARD_LAW_HPP
34 #define ACADO_TOOLKIT_FEEDFORWARD_LAW_HPP
35 
36 
40 #include <acado/curve/curve.hpp>
41 
42 
44 
55 class FeedforwardLaw : public ControlLaw
56 {
57  //
58  // PUBLIC MEMBER FUNCTIONS:
59  //
60  public:
63  FeedforwardLaw( );
64 
72  FeedforwardLaw( const uint _nx,
73  const Curve& _u,
74  double _samplingTime = DEFAULT_SAMPLING_TIME
75  );
76 
82  );
83 
86  virtual ~FeedforwardLaw( );
87 
93  );
94 
99  virtual ControlLaw* clone( ) const;
100 
101 
112  virtual returnValue init( double startTime = 0.0,
113  const DVector &x0_ = emptyConstVector,
114  const DVector &p_ = emptyConstVector,
116  );
117 
118 
131  virtual returnValue step( double currentTime,
132  const DVector& _x,
133  const DVector& _p = emptyConstVector,
135  );
136 
137 
142  virtual uint getNX( ) const;
143 
148  virtual uint getNXA( ) const;
149 
154  virtual uint getNU( ) const;
155 
160  virtual uint getNP( ) const;
161 
166  virtual uint getNW( ) const;
167 
172  virtual uint getNY( ) const;
173 
174 
181  virtual BooleanType isDynamic( ) const;
182 
188  virtual BooleanType isStatic( ) const;
189 
190 
191  //
192  // PROTECTED MEMBER FUNCTIONS:
193  //
194  protected:
195 
196 
197 
198  //
199  // DATA MEMBERS:
200  //
201  protected:
205 };
206 
207 
209 
210 
211 
212 #endif // ACADO_TOOLKIT_FEEDFORWARD_LAW_HPP
213 
214 /*
215  * end of file
216  */
virtual BooleanType isDynamic() const
virtual uint getNU() const
virtual uint getNX() const
Provides a time grid consisting of vector-valued optimization variables at each grid point...
Allows to pass back messages to the calling function.
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
Definition: acado_types.hpp:42
FeedforwardLaw & operator=(const FeedforwardLaw &rhs)
#define CLOSE_NAMESPACE_ACADO
virtual uint getNW() const
virtual uint getNY() const
virtual uint getNP() const
virtual returnValue step(double currentTime, const DVector &_x, const DVector &_p=emptyConstVector, const VariablesGrid &_yRef=emptyConstVariablesGrid)
static const DVector emptyConstVector
Definition: vector.hpp:336
virtual uint getNXA() const
Allows to work with piecewise-continous function defined over a scalar time interval.
Definition: curve.hpp:52
void rhs(const real_t *x, real_t *f)
const double DEFAULT_SAMPLING_TIME
virtual ~FeedforwardLaw()
virtual BooleanType isStatic() const
#define BEGIN_NAMESPACE_ACADO
virtual returnValue init(double startTime=0.0, const DVector &x0_=emptyConstVector, const DVector &p_=emptyConstVector, const VariablesGrid &_yRef=emptyConstVariablesGrid)
Implements a feedforward law to be used within a Controller.
Base class for interfacing online feedback laws to be used within a Controller.
Definition: control_law.hpp:64
static const VariablesGrid emptyConstVariablesGrid
virtual ControlLaw * clone() const


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:34:34