ocra-recipes
Doxygen documentation for the ocra-recipes repository
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
ocra::SecondOrderLinearTask Class Reference

SecondOrderLinearTask class. More...

#include <SecondOrderLinearTask.h>

Inheritance diagram for ocra::SecondOrderLinearTask:
[legend]
Collaboration diagram for ocra::SecondOrderLinearTask:
[legend]

Public Types

typedef LinearFunction functionType_t
 
- Public Types inherited from ocra::LinearFunction
typedef Function functionType_t
 

Public Member Functions

 SecondOrderLinearTask (Function &f, Function &L)
 
 ~SecondOrderLinearTask ()
 
FunctiongetL ()
 
const FunctiongetL () const
 
Functiongetf ()
 
const Functiongetf () const
 
void saturate (double accelerationMax)
 
void dontSaturate ()
 
double getSaturationValue (void) const
 
bool isSaturated () const
 
- Public Member Functions inherited from ocra::LinearFunction
template<class Derived , class VectorBase >
 LinearFunction (Variable &x, const MatrixBase< Derived > &A, const VectorBase &b)
 
 ~LinearFunction ()
 
void invalidateb (int timestamp)
 
const MatrixXd & getA () const
 
const VectorXd & getb () const
 
void changeA (const MatrixXd &A)
 
void changeb (const VectorXd &b)
 
- Public Member Functions inherited from ocra::Function
virtual ~Function ()
 
int getDimension () const
 
virtual void updateFdot () const
 
virtual void updateFddot () const
 
virtual void updateJdotXdot () const
 
const VariablegetVariable () const
 
VariablegetVariable ()
 
template<eFunctionAbility Ability>
void invalidate ()
 
void invalidateAll (int timestamp)
 
void invalidateAll ()
 
template<eFunctionAbility Ability>
bool isValid () const
 
template<eFunctionAbility Ability>
bool canCompute () const
 
template<eFunctionAbility Ability>
const IFunction< Ability >::return_type & get () const
 
template<eFunctionAbility Ability>
IFunction< Ability >::return_sub_type get (int index) const
 
const VectorXd & getValue () const
 
double getValue (int index) const
 
const MatrixXd & getJacobian () const
 
MatrixXdRow getJacobian (int index) const
 
- Public Member Functions inherited from ocra::ObserverSubject
 ObserverSubject ()
 
virtual ~ObserverSubject ()
 
- Public Member Functions inherited from ocra::Observer
virtual ~Observer ()
 
template<int EVT>
void bind (SubjectBase< EVT > &subject)
 Call this method to automatically propagate observed events to observers connected to the subject given in argument. More...
 
template<int EVT>
void stopPropagation ()
 
- Public Member Functions inherited from ocra::ObserverBase< EVT_RESIZE >
void bind (subject_type &subject)
 Call this method to automatically propagate observed events to observers connected to the subject given in argument. More...
 
- Public Member Functions inherited from ocra::ObserverBase< EVT_CHANGE_DEPENDENCIES >
void bind (subject_type &subject)
 Call this method to automatically propagate observed events to observers connected to the subject given in argument. More...
 
- Public Member Functions inherited from ocra::ObserverBase< EVT_CHANGE_VALUE >
void bind (subject_type &subject)
 Call this method to automatically propagate observed events to observers connected to the subject given in argument. More...
 
- Public Member Functions inherited from ocra::Subject
virtual ~Subject ()
 
template<int EVT, class Derived , class Base >
void connect (Derived &object, void(Base::*newCallback)(int)) const
 Call this method to register a non-static method as a callback. More...
 
template<int EVT>
void connect (void(*newCallback)(int)) const
 Call this method to register a free function as a callback. More...
 
template<int EVT, class Derived , class Base >
void disconnect (Derived &object, void(Base::*callbackToErase)(int)) const
 Disconnect non-static method. More...
 
template<int EVT>
void disconnect (void(*callbackToErase)(int)) const
 Disconnect free function. More...
 
template<int EVT>
void propagate () const
 
template<int EVT>
void propagate (int timestamp) const
 
- Public Member Functions inherited from ocra::SubjectBase< EVT_RESIZE >
void connect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type newCallback) const
 Call this method to register a non-static method as a callback. More...
 
void connect (typename SubjectBaseTraits< EVT, void >::callback_type newCallback) const
 Call this method to register a free function as a callback. More...
 
void disconnect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type callback) const
 Disconnect non-static method. More...
 
void disconnect (typename SubjectBaseTraits< EVT, void >::callback_type callbackToErase) const
 Disconnect free function. More...
 
void propagate (int timestamp) const
 
void propagate () const
 
- Public Member Functions inherited from ocra::SubjectBase< EVT_CHANGE_DEPENDENCIES >
void connect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type newCallback) const
 Call this method to register a non-static method as a callback. More...
 
void connect (typename SubjectBaseTraits< EVT, void >::callback_type newCallback) const
 Call this method to register a free function as a callback. More...
 
void disconnect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type callback) const
 Disconnect non-static method. More...
 
void disconnect (typename SubjectBaseTraits< EVT, void >::callback_type callbackToErase) const
 Disconnect free function. More...
 
void propagate (int timestamp) const
 
void propagate () const
 
- Public Member Functions inherited from ocra::SubjectBase< EVT_CHANGE_VALUE >
void connect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type newCallback) const
 Call this method to register a non-static method as a callback. More...
 
void connect (typename SubjectBaseTraits< EVT, void >::callback_type newCallback) const
 Call this method to register a free function as a callback. More...
 
void disconnect (T &object, typename SubjectBaseTraits< EVT, T >::callback_type callback) const
 Disconnect non-static method. More...
 
void disconnect (typename SubjectBaseTraits< EVT, void >::callback_type callbackToErase) const
 Disconnect free function. More...
 
void propagate (int timestamp) const
 
void propagate () const
 
- Public Member Functions inherited from ocra::IFunctionProperties
bool hasSeparableTimeDependancy (void) const
 
eFunctionLinearity getType (void) const
 
eFunctionConvexity getConvexityProperty (void) const
 
int getContinuityProperty (void) const
 
const std::string & getProperty (int i) const
 
int getNumberOfProperties (void) const
 
bool hasProperty (const std::string &functionProperty) const
 
bool isExplicitlyTimeDependant (void) const
 
- Public Member Functions inherited from ocra::NamedInstance
 NamedInstance (const std::string &name)
 
const std::string & getName () const
 
virtual ~NamedInstance ()
 
- Public Member Functions inherited from ocra::AbilitySet
AbilitySetadd (eFunctionAbility prop)
 
AbilitySetremove (eFunctionAbility prop)
 

Static Public Member Functions

static SecondOrderLinearTaskcreateSecondOrderLinearTaskWithLinearLaw (Function *f, double weight0, double weight1)
 
static SecondOrderLinearTaskcreateSecondOrderLinearTaskWithLinearLaw (Function *f, const VectorXd &weight0, const VectorXd &weight1)
 

Protected Attributes

Function_f
 
Function_L
 
bool _saturate
 
double _accelerationMax
 
- Protected Attributes inherited from ocra::LinearFunction
VectorXd _b
 
bool _bIsUpToDate
 
- Protected Attributes inherited from ocra::Function
Variablex
 
VectorXd & _value
 
MatrixXd & _jacobian
 
const int & _dim
 

Additional Inherited Members

- Protected Types inherited from ocra::ObserverBase< EVT_RESIZE >
typedef SubjectBase< EVT > subject_type
 
typedef InvokerBase< EVT > invoker_type
 
- Protected Types inherited from ocra::ObserverBase< EVT_CHANGE_DEPENDENCIES >
typedef SubjectBase< EVT > subject_type
 
typedef InvokerBase< EVT > invoker_type
 
- Protected Types inherited from ocra::ObserverBase< EVT_CHANGE_VALUE >
typedef SubjectBase< EVT > subject_type
 
typedef InvokerBase< EVT > invoker_type
 
- Protected Member Functions inherited from ocra::LinearFunction
 LinearFunction (Variable &x, int dimension)
 
virtual void doUpdateInputSizeEnd ()
 
virtual void updateValue () const
 
virtual void doChangeA (const MatrixXd &A)
 
virtual void doChangeb (const VectorXd &b)
 
void inhibitPropagationFromb () const
 
void desinhibitPropagationFromb () const
 
- Protected Member Functions inherited from ocra::Function
 Function (Variable &x, int dimension, eFunctionLinearity linearity=LINEARITY_UNDEFINED, eFunctionConvexity convexity=CONVEXITY_UNDEFINED, int continuity=CONTINUITY_UNKNOWN, bool explicitlyTimeDependant=false, bool separableTimeDependancy=true)
 Function Constructor. More...
 
void disconnectVariable ()
 
void changeFunctionDimension (int newDimension)
 
void updateInputSize (int timestamp)
 
void resize ()
 
virtual int computeDimensionFromInputSize () const
 
- Protected Member Functions inherited from ocra::ObserverBase< EVT_RESIZE >
void stopPropagation ()
 Call this method from your callbacks to avoid propagation to the bound subject (if any). More...
 
 ObserverBase ()
 
 ~ObserverBase ()
 
- Protected Member Functions inherited from ocra::ObserverBase< EVT_CHANGE_DEPENDENCIES >
void stopPropagation ()
 Call this method from your callbacks to avoid propagation to the bound subject (if any). More...
 
 ObserverBase ()
 
 ~ObserverBase ()
 
- Protected Member Functions inherited from ocra::ObserverBase< EVT_CHANGE_VALUE >
void stopPropagation ()
 Call this method from your callbacks to avoid propagation to the bound subject (if any). More...
 
 ObserverBase ()
 
 ~ObserverBase ()
 
- Protected Member Functions inherited from ocra::SubjectBase< EVT_RESIZE >
 SubjectBase ()
 
 ~SubjectBase ()
 
- Protected Member Functions inherited from ocra::SubjectBase< EVT_CHANGE_DEPENDENCIES >
 SubjectBase ()
 
 ~SubjectBase ()
 
- Protected Member Functions inherited from ocra::SubjectBase< EVT_CHANGE_VALUE >
 SubjectBase ()
 
 ~SubjectBase ()
 
- Protected Member Functions inherited from ocra::IFunctionProperties
 IFunctionProperties (eFunctionLinearity linearity=LINEARITY_UNDEFINED, eFunctionConvexity convexity=CONVEXITY_UNDEFINED, int continuity=CONTINUITY_UNKNOWN, bool explicitlyTimeDependant=false, bool separableTimeDependancy=true)
 IFunctionProperties Constructor. More...
 
void changeType (eFunctionLinearity newType)
 
void changeConvexityProperty (eFunctionConvexity newProperty)
 
void changeContinuityProperty (int newProperty)
 
void addProperty (const std::string &functionProperty)
 
void removeProperty (const std::string &functionProperty)
 
void changeExplicitTimeDependancy (bool b)
 
void changeSeparableTimeDependancy (bool b)
 
- Protected Member Functions inherited from ocra::AbilitySet
 AbilitySet (const std::vector< bool > &usageSet)
 
const std::vector< bool > & getUsageSet () const
 
 AbilitySet (eFunctionAbility prop0=FUN_VALUE, eFunctionAbility prop1=FUN_VALUE)
 
 AbilitySet (eFunctionAbility prop0, eFunctionAbility prop1, eFunctionAbility prop2, eFunctionAbility prop3=FUN_VALUE, eFunctionAbility prop4=FUN_VALUE)
 
 AbilitySet (eFunctionAbility prop0, eFunctionAbility prop1, eFunctionAbility prop2, eFunctionAbility prop3, eFunctionAbility prop4, eFunctionAbility prop5, eFunctionAbility prop6=FUN_VALUE, eFunctionAbility prop7=FUN_VALUE, eFunctionAbility prop8=FUN_VALUE, eFunctionAbility prop9=FUN_VALUE)
 
- Protected Member Functions inherited from ocra::CoupledInputOutputSize
 CoupledInputOutputSize (bool coupledInputOutputSize)
 
bool inputAndOutputSizesAreCoupled () const
 

Detailed Description

SecondOrderLinearTask class.

Warning
None

f" = a_des where a_des = L(f,f'). L must then be a function over a composite variable whose two components' size is dim(f)

Definition at line 33 of file SecondOrderLinearTask.h.

Member Typedef Documentation

Definition at line 37 of file SecondOrderLinearTask.h.

Constructor & Destructor Documentation

ocra::SecondOrderLinearTask::SecondOrderLinearTask ( Function f,
Function L 
)

Definition at line 8 of file SecondOrderLinearTask.cpp.

ocra::SecondOrderLinearTask::~SecondOrderLinearTask ( )

Definition at line 33 of file SecondOrderLinearTask.cpp.

Member Function Documentation

SecondOrderLinearTask * ocra::SecondOrderLinearTask::createSecondOrderLinearTaskWithLinearLaw ( Function f,
double  weight0,
double  weight1 
)
static

Definition at line 70 of file SecondOrderLinearTask.cpp.

SecondOrderLinearTask * ocra::SecondOrderLinearTask::createSecondOrderLinearTaskWithLinearLaw ( Function f,
const VectorXd &  weight0,
const VectorXd &  weight1 
)
static

Definition at line 80 of file SecondOrderLinearTask.cpp.

void ocra::SecondOrderLinearTask::dontSaturate ( )
inline

Definition at line 56 of file SecondOrderLinearTask.h.

const Function & ocra::SecondOrderLinearTask::getf ( void  )
inline

Definition at line 95 of file SecondOrderLinearTask.h.

const Function& ocra::SecondOrderLinearTask::getf ( ) const
Function & ocra::SecondOrderLinearTask::getL ( void  )
inline

Definition at line 93 of file SecondOrderLinearTask.h.

const Function& ocra::SecondOrderLinearTask::getL ( ) const
double ocra::SecondOrderLinearTask::getSaturationValue ( void  ) const
inline

Definition at line 57 of file SecondOrderLinearTask.h.

bool ocra::SecondOrderLinearTask::isSaturated ( ) const
inline

Definition at line 58 of file SecondOrderLinearTask.h.

void ocra::SecondOrderLinearTask::saturate ( double  accelerationMax)
inline

Definition at line 55 of file SecondOrderLinearTask.h.

Member Data Documentation

double ocra::SecondOrderLinearTask::_accelerationMax
protected

Definition at line 87 of file SecondOrderLinearTask.h.

Function* ocra::SecondOrderLinearTask::_f
protected

Definition at line 84 of file SecondOrderLinearTask.h.

Function* ocra::SecondOrderLinearTask::_L
protected

Definition at line 85 of file SecondOrderLinearTask.h.

bool ocra::SecondOrderLinearTask::_saturate
protected

Definition at line 86 of file SecondOrderLinearTask.h.


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