Feature that controls the relative (or absolute) pose between two frames A (or world) and B.
More...
|
virtual const std::string & | getClassName (void) const |
| Returns the name class. More...
|
|
| FeaturePose (const std::string &name) |
|
virtual | ~FeaturePose (void) |
|
virtual unsigned int & | getDimension (unsigned int &dim, int time) |
| Verbose method. More...
|
|
virtual dg::Vector & | computeError (dg::Vector &res, int time) |
| Computes \( {}^oM^{-1}_{fa} {}^oM_{fb} \ominus {}^{fa}M^*_{fb} \). More...
|
|
virtual dg::Vector & | computeErrorDot (dg::Vector &res, int time) |
| Computes \( \frac{\partial\ominus}{\partial b} X {}^{fa}\nu^*_{fafb} \). More...
|
|
virtual dg::Matrix & | computeJacobian (dg::Matrix &res, int time) |
| Computes \( \frac{\partial\ominus}{\partial b} Y \left( {{}^{fb}X_{jb}} {}^{jb}J_{jb} - {{}^{fb}X_{ja}} {}^{ja}J_{ja} \right) \). More...
|
|
virtual void | display (std::ostream &os) const |
|
void | servoCurrentPosition (void) |
|
|
| DECLARE_NO_REFERENCE () |
|
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 FeatureAbstract * | getReferenceAbstract (void) const =0 |
|
virtual FeatureAbstract * | getReferenceAbstract (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 SignalTimeDependent< dg::Vector, int > & | getErrorDot () |
|
| 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 SignalBase< int > * | test () |
|
virtual void | test2 (SignalBase< int > *) |
|
const std::string & | getCommandList () const |
|
CommandMap_t | getNewStyleCommandMap () |
|
command::Command * | getNewStyleCommand (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 () |
|
bool | setTimeSample (double t) |
|
double | getTimeSample () |
|
bool | setStreamPrintPeriod (double t) |
|
double | getStreamPrintPeriod () |
|
| 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 SignalBase< int > * | test () |
|
virtual void | test2 (SignalBase< int > *) |
|
const std::string & | getCommandList () const |
|
CommandMap_t | getNewStyleCommandMap () |
|
command::Command * | getNewStyleCommand (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 () |
|
bool | setTimeSample (double t) |
|
double | getTimeSample () |
|
bool | setStreamPrintPeriod (double t) |
|
double | getStreamPrintPeriod () |
|
|
|
dg::SignalPtr< MatrixHomogeneous, int > | oMja |
| Input pose of Joint A wrt to world frame. More...
|
|
dg::SignalPtr< MatrixHomogeneous, int > | jaMfa |
| Input pose of Frame A wrt to Joint A. More...
|
|
dg::SignalPtr< MatrixHomogeneous, int > | oMjb |
| Input pose of Joint B wrt to world frame. More...
|
|
dg::SignalPtr< MatrixHomogeneous, int > | jbMfb |
| Input pose of Frame B wrt to Joint B. More...
|
|
dg::SignalPtr< Matrix, int > | jaJja |
| Jacobian of the input Joint A, expressed in Joint A More...
|
|
dg::SignalPtr< Matrix, int > | jbJjb |
| Jacobian of the input Joint B, expressed in Joint B More...
|
|
dg::SignalPtr< MatrixHomogeneous, int > | faMfbDes |
| The desired pose of Frame B wrt to Frame A. More...
|
|
dg::SignalPtr< Vector, int > | faNufafbDes |
| The desired velocity of Frame B wrt to Frame A. The value is expressed in Frame A. More...
|
|
|
SignalTimeDependent< MatrixHomogeneous, int > | faMfb |
| Pose of Frame B wrt to Frame A. More...
|
|
SignalTimeDependent< Vector7, int > | q_faMfb |
| Pose of Frame B wrt to Frame A. More...
|
|
SignalTimeDependent< Vector7, int > | q_faMfbDes |
| Desired pose of Frame B wrt to Frame A. More...
|
|
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 : \( E(t) = {\bf s}(t) - {\bf s}^*(t)\). More...
|
|
SignalTimeDependent< dg::Vector, int > | errordotSOUT |
| Derivative of the error with respect to time: \( \frac{\partial e}{\partial t} = - \frac{d{\bf s}^*}{dt} \). More...
|
|
SignalTimeDependent< dg::Matrix, int > | jacobianSOUT |
| Jacobian of the error wrt the robot state: \( J = \frac{\partial {\bf s}}{\partial {\bf q}}\). More...
|
|
SignalTimeDependent< unsigned int, int > | dimensionSOUT |
| Returns the dimension of the feature as an output signal. More...
|
|
template<Representation_t representation = R3xSO3Representation>
class dynamicgraph::sot::FeaturePose< representation >
Feature that controls the relative (or absolute) pose between two frames A (or world) and B.
- Template Parameters
-
representation | specify the difference operation to use. This changes
- the descent direction,
- the meaning of the mask. With R3xSO3Representation, the mask is relative to Frame A. If this feature is alone in a SOT, the relative motion of Frame B wrt Frame A will be a line. This is what most people want.
|
Notations:
- The frames are refered to with
fa
and fb
.
- Each frame is attached to a joint, which are refered to with
ja
and jb
.
- the difference operator is defined differently depending on the representation:
- R3xSO3Representation:
\[ \begin{array}{ccccc} \ominus & : & (R^3\times SO(3))^2 & \to & R^3 \times \mathfrak{so}(3) \\ & & (a = (t_a,R_a),b = (t_b,R_b)) & \mapsto & b \ominus a = (t_b - t_a, \log(R_a^{-1} R_b) \\ \end{array} \]
- SE3Representation:
\[ \begin{array}{ccccc} \ominus & : & SE(3)^2 & \to & \mathfrak{se}(3) \\ & & a, b & \mapsto & b \ominus a = \log(a^{-1} b) \\ \end{array} \]