dynamicgraph::sot::FeaturePosture Class Reference

#include <feature-posture.hh>

Inheritance diagram for dynamicgraph::sot::FeaturePosture:
[legend]

Public Types

typedef dynamicgraph::SignalPtr< dg::Vector, int > signalIn_t
 
typedef dynamicgraph::SignalTimeDependent< dg::Vector, int > signalOut_t
 
- Public Types inherited from dynamicgraph::Entity
typedef std::map< std::string, SignalBase< int > * > SignalMap
 
typedef std::map< const std::string, command::Command * > CommandMap_t
 

Public Member Functions

 FeaturePosture (const std::string &name)
 
virtual ~FeaturePosture ()
 
virtual unsigned int & getDimension (unsigned int &res, int)
 Verbose method. More...
 
void selectDof (unsigned dofId, bool control)
 
- Public Member Functions inherited from dynamicgraph::sot::FeatureAbstract
virtual const std::string & getClassName (void) const
 Returns the name class. More...
 
void featureRegistration (void)
 Register the feature in the stack of tasks. More...
 
void initCommands (void)
 
 FeatureAbstract (const std::string &name)
 Default constructor: the name of the class should be given. More...
 
virtual ~FeatureAbstract (void)
 Default destructor. More...
 
unsigned int getDimension (int time)
 Short method. More...
 
unsigned int getDimension (void) const
 Shortest method. More...
 
virtual void setReference (FeatureAbstract *sdes)=0
 
virtual void unsetReference (void)
 
virtual const FeatureAbstractgetReferenceAbstract (void) const =0
 
virtual FeatureAbstractgetReferenceAbstract (void)=0
 
virtual bool isReferenceSet (void) const
 
virtual void addDependenciesFromReference (void)=0
 
virtual void removeDependenciesFromReference (void)=0
 
void setReferenceByName (const std::string &name)
 
std::string getReferenceByName (void) const
 
virtual std::ostream & writeGraph (std::ostream &os) const
 This method write a graph description on the file named FileName. More...
 
virtual SOT_CORE_DEPRECATED bool withErrorDot (void) const
 Return true for children that provide the errordot output signal. More...
 
virtual SignalTimeDependent< dg::Vector, int > & getErrorDot ()
 
- Public Member Functions inherited from dynamicgraph::Entity
 Entity (const std::string &name)
 
virtual ~Entity ()
 
const std::string & getName () const
 
virtual std::string getDocString () const
 
bool hasSignal (const std::string &signame) const
 
SignalBase< int > & getSignal (const std::string &signalName)
 
const SignalBase< int > & getSignal (const std::string &signalName) const
 
std::ostream & displaySignalList (std::ostream &os) const
 
virtual std::ostream & writeCompletionList (std::ostream &os) const
 
virtual void display (std::ostream &os) const
 
virtual SignalBase< int > * test ()
 
virtual void test2 (SignalBase< int > *)
 
const std::string & getCommandList () const
 
CommandMap_t getNewStyleCommandMap ()
 
command::CommandgetNewStyleCommand (const std::string &cmdName)
 
SignalMap getSignalMap () const
 
void sendMsg (const std::string &msg, MsgType t=MSG_TYPE_INFO, const char *file="", int line=0)
 
void setLoggerVerbosityLevel (LoggerVerbosity lv)
 
LoggerVerbosity getLoggerVerbosityLevel ()
 

Public Attributes

 DECLARE_NO_REFERENCE
 
- Public Attributes inherited from dynamicgraph::sot::FeatureAbstract
SignalPtr< Flags, int > selectionSIN
 This vector specifies which dimension are used to perform the computation. For instance let us assume that the feature is a 3D point. If only the Y-axis should be used for computing error, activation and Jacobian, then the vector to specify is \( [ 0 1 0] \). More...
 
SignalPtr< dg::Vector, int > errordotSIN
 Derivative of the reference value. More...
 
SignalTimeDependent< dg::Vector, int > errorSOUT
 This signal returns the error between the desired value and the current value : \( {\bf s}^*(t) - {\bf s}(t)\). More...
 
SignalTimeDependent< dg::Vector, int > errordotSOUT
 Derivative of the reference value. More...
 
SignalTimeDependent< dg::Matrix, int > jacobianSOUT
 This signal returns the Jacobian of the current value according to the robot state: \( J(t) = \frac{\delta{\bf s}^*(t)}{\delta {\bf q}(t)}\). More...
 
SignalTimeDependent< unsigned int, int > dimensionSOUT
 Returns the dimension of the feature as an output signal. More...
 

Protected Member Functions

virtual dg::VectorcomputeError (dg::Vector &res, int)
 Compute the error between the desired feature and the current value of the feature measured or deduced from the robot state. More...
 
virtual dg::MatrixcomputeJacobian (dg::Matrix &res, int)
 Compute the Jacobian of the error according the robot state. More...
 
virtual dg::VectorcomputeActivation (dg::Vector &res, int)
 
virtual dg::VectorcomputeErrorDot (dg::Vector &res, int time)
 Callback for signal errordotSOUT. More...
 
- Protected Member Functions inherited from dynamicgraph::Entity
void addCommand (const std::string &name, command::Command *command)
 
void entityRegistration ()
 
void entityDeregistration ()
 
void signalRegistration (const SignalArray< int > &signals)
 
void signalDeregistration (const std::string &name)
 

Protected Attributes

signalIn_t state_
 
signalIn_t posture_
 
signalIn_t postureDot_
 
signalOut_t error_
 
dg::Matrix jacobian_
 
- Protected Attributes inherited from dynamicgraph::Entity
std::string name
 
SignalMap signalMap
 
CommandMap_t commandMap
 
Logger logger_
 

Friends

class SelectDof
 

Additional Inherited Members

- Static Public Attributes inherited from dynamicgraph::sot::FeatureAbstract
static const std::string CLASS_NAME
 Store the name of the class. More...
 

Detailed Description

Feature that observes the posture of the robot, ie whose Jacobian is the identity, or slices of the identity. This feature can be exactly obtained with a generic posture, given the identity matrix as the input Jacobian, the identity matrix. It is even prefereable, as the reference value is then given by a signal, which can be reevalutated at each iteration, for example to track a reference trajectory in the configuration space. See for example the toFlag python function in the sot-dyninv module to nicely selec the posture DOF.

Member Typedef Documentation

Constructor & Destructor Documentation

dynamicgraph::sot::FeaturePosture::FeaturePosture ( const std::string &  name)
explicit
virtual dynamicgraph::sot::FeaturePosture::~FeaturePosture ( )
virtual

Member Function Documentation

virtual dg::Vector& dynamicgraph::sot::FeaturePosture::computeActivation ( dg::Vector res,
int   
)
protectedvirtual
virtual dg::Vector& dynamicgraph::sot::FeaturePosture::computeError ( dg::Vector res,
int  time 
)
protectedvirtual

Compute the error between the desired feature and the current value of the feature measured or deduced from the robot state.

[out] res: The error will be set into res.
[in] time: The time at which the error is computed.
Returns
The vector res with the appropriate value.

Implements dynamicgraph::sot::FeatureAbstract.

virtual dg::Vector& dynamicgraph::sot::FeaturePosture::computeErrorDot ( dg::Vector res,
int  time 
)
protectedvirtual

Callback for signal errordotSOUT.

Copy components of the input signal errordotSIN defined by selection flag selectionSIN.

Reimplemented from dynamicgraph::sot::FeatureAbstract.

virtual dg::Matrix& dynamicgraph::sot::FeaturePosture::computeJacobian ( dg::Matrix res,
int  time 
)
protectedvirtual

Compute the Jacobian of the error according the robot state.

[out] res: The matrix in which the error will be written.
Returns
The matrix res with the appropriate values.

Implements dynamicgraph::sot::FeatureAbstract.

virtual unsigned int& dynamicgraph::sot::FeaturePosture::getDimension ( unsigned int &  res,
int  time 
)
virtual

Verbose method.

res: The integer in which the dimension will be return.
time: The time at which the feature should be considered.
Returns
Dimension of the feature.
Note
Be careful with features changing their dimension according to time.

Implements dynamicgraph::sot::FeatureAbstract.

void dynamicgraph::sot::FeaturePosture::selectDof ( unsigned  dofId,
bool  control 
)

Friends And Related Function Documentation

friend class SelectDof
friend

Member Data Documentation

dynamicgraph::sot::FeaturePosture::DECLARE_NO_REFERENCE
signalOut_t dynamicgraph::sot::FeaturePosture::error_
protected
dg::Matrix dynamicgraph::sot::FeaturePosture::jacobian_
protected
signalIn_t dynamicgraph::sot::FeaturePosture::posture_
protected
signalIn_t dynamicgraph::sot::FeaturePosture::postureDot_
protected
signalIn_t dynamicgraph::sot::FeaturePosture::state_
protected