 Visual Servoing Platform  version 3.2.1 under development (2020-01-21)
vpExponentialMap Class Reference

#include <visp3/core/vpExponentialMap.h>

## Static Public Member Functions

static vpHomogeneousMatrix direct (const vpColVector &v)

static vpHomogeneousMatrix direct (const vpColVector &v, const double &delta_t)

static vpColVector inverse (const vpHomogeneousMatrix &M)

static vpColVector inverse (const vpHomogeneousMatrix &M, const double &delta_t)

## Detailed Description

Direct or inverse exponential map computation.

The exponential map gives the relationship between the velocity of a moving body and its displacement: where is the velocity skew vector applied during seconds at point in frame , while is the corresponding displacement.

This class allows to compute the direct or the inverse exponential map.

• The direct exponential map allows to compute the displacement using as input: where is a reference frame. With direct(), the velocity skew vector is applied during 1 second considering . With direct(const vpColVector &, const double &) the sampling time can be set to an other value where the second argument is .
• The inverse exponential map allows to compute the velocity skew vector from the displacement measured during a time interval . With inverse() the time interval also called sampling time is set to 1 second. With inverse(const vpHomogeneousMatrix &, const double &) the sampling time can be set to an other value where the second argument is .

A displacement is represented as an homogeneous matrix implemented in vpHomogeneousMatrix. A velocities is represented as a 6 dimension velocity skew vector , where is a velocity translation vector with values in m/s and a velocity rotation vector with values expressed in rad/s.

Definition at line 93 of file vpExponentialMap.h.

## ◆ direct() [1/2]

 vpHomogeneousMatrix vpExponentialMap::direct ( const vpColVector & v )
static

Compute the exponential map. The inverse function is inverse(). The sampling time is here set to 1 second. To use an other value you should use direct(const vpColVector &, const double &).

Parameters
 v : Instantaneous velocity skew represented by a 6 dimension vector where is a translation velocity vector and is a rotation velocity vector.
Returns
An homogeneous matrix computed from an instantaneous velocity , where is the displacement of the object when the velocity is applied during 1 second.
inverse(const vpHomogeneousMatrix &)
Examples:
calibrate-hand-eye.cpp, and exponentialMap.cpp.

Definition at line 59 of file vpExponentialMap.cpp.

## ◆ direct() [2/2]

 vpHomogeneousMatrix vpExponentialMap::direct ( const vpColVector & v, const double & delta_t )
static

Compute the exponential map. The inverse function is inverse().

Parameters
 v : Instantaneous velocity skew represented by a 6 dimension vector where is a translation velocity vector and is a rotation velocity vector. delta_t : Sampling time . Time during which the velocity is applied.
Returns
An homogeneous matrix computed from an instantaneous velocity , where is the displacement of the object when the velocity is applied during seconds.
inverse(const vpHomogeneousMatrix &, const double &)

Definition at line 79 of file vpExponentialMap.cpp.

## ◆ inverse() [1/2]

 vpColVector vpExponentialMap::inverse ( const vpHomogeneousMatrix & M )
static

Computes an instantaneous velocity skew from an homogeneous matrix. The inverse function is the exponential map, see direct().

Parameters
 M : An homogeneous matrix corresponding to the displacement of an object during 1 second.
Returns
Instantaneous velocity skew represented by a 6 dimension vector where is a translation velocity vector and is a rotation velocity vector.
direct(const vpColVector &)
Examples:
exponentialMap.cpp.

Definition at line 202 of file vpExponentialMap.cpp.

## ◆ inverse() [2/2]

 vpColVector vpExponentialMap::inverse ( const vpHomogeneousMatrix & M, const double & delta_t )
static

Compute an instantaneous velocity from an homogeneous matrix. The inverse function is the exponential map, see direct().

Parameters
 M : An homogeneous matrix corresponding to the displacement of an object during seconds. delta_t : Sampling time . Time during which the displacement is applied.
Returns
Instantaneous velocity skew represented by a 6 dimension vector where is a translation velocity vector and is a rotation velocity vector.