Visual Servoing Platform  version 3.0.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
vpPioneer Class Reference

#include <visp3/robot/vpPioneer.h>

+ Inheritance diagram for vpPioneer:

Public Member Functions

 vpPioneer ()
 
virtual ~vpPioneer ()
 
Inherited functionalities from vpUnicycle
vpHomogeneousMatrix get_cMe () const
 
vpVelocityTwistMatrix get_cVe () const
 
void get_cVe (vpVelocityTwistMatrix &cVe) const
 
vpMatrix get_eJe () const
 
void set_cMe (const vpHomogeneousMatrix &cMe)
 
void set_eJe (const vpMatrix &eJe)
 

Protected Attributes

vpHomogeneousMatrix cMe_
 
vpMatrix eJe_
 

Detailed Description

Generic functions for Pioneer mobile robots.

This class provides common features for Pioneer mobile robots. This robot has two control velocities $(v_x, w_z)$, the translational and rotational velocities of the mobile platform respectively.

The figure below shows the position of the frames that are used to model the robot. The end effector frame is here located at the middle point between the two wheels.

pioneer.png

The robot jacobian at the end effector frame, the point located at the middle between the two wheels is given by:

\[ {^e}{\bf J}_e = \left(\begin{array}{cc} 1 & 0 \\ 0 & 0 \\ 0 & 0 \\ 0 & 0 \\ 0 & 0 \\ 0 & 1 \\ \end{array} \right) \]

Considering $(v_x, w_z)$, it is possible to compute $\bf v$ the six dimention velocity skew expressed at the end effector frame by:

\[ {\bf v} = {^e}{\bf J}_e \; \left(\begin{array}{c} v_x \\ w_z \\ \end{array} \right) \]

.

Definition at line 90 of file vpPioneer.h.

Constructor & Destructor Documentation

vpPioneer::vpPioneer ( )
inline

Create a default Pioneer robot.

Definition at line 96 of file vpPioneer.h.

References vpUnicycle::set_cMe(), and vpUnicycle::set_eJe().

virtual vpPioneer::~vpPioneer ( )
inlinevirtual

Destructor that does nothing.

Definition at line 105 of file vpPioneer.h.

Member Function Documentation

vpHomogeneousMatrix vpUnicycle::get_cMe ( ) const
inlineinherited

Return the tranformation ${^c}{\bf M}_e$ between the camera frame and the mobile robot end effector frame.

Definition at line 76 of file vpUnicycle.h.

vpVelocityTwistMatrix vpUnicycle::get_cVe ( ) const
inlineinherited

Return the twist transformation from camera frame to the mobile robot end effector frame. This transformation allows to compute a velocity expressed in the end effector frame into the camera frame.

Examples:
servoPioneerPanSegment3D.cpp, servoPioneerPoint2DDepth.cpp, servoPioneerPoint2DDepthWithoutVpServo.cpp, tutorial-simu-pioneer-continuous-gain-adaptive.cpp, tutorial-simu-pioneer-continuous-gain-constant.cpp, tutorial-simu-pioneer-pan.cpp, and tutorial-simu-pioneer.cpp.

Definition at line 87 of file vpUnicycle.h.

References vpVelocityTwistMatrix::buildFrom().

Referenced by vpUnicycle::get_cVe().

void vpUnicycle::get_cVe ( vpVelocityTwistMatrix cVe) const
inlineinherited

Return the twist transformation from camera frame to the mobile robot end effector frame. This transformation allows to compute a velocity expressed in the end effector frame into the camera frame.

See Also
get_cVe()

Definition at line 102 of file vpUnicycle.h.

References vpUnicycle::get_cVe().

vpMatrix vpUnicycle::get_eJe ( ) const
inlineinherited

Return the robot jacobian ${^e}{\bf J}_e$ expressed in the end effector frame.

Returns
The robot jacobian such as ${\bf v} = {^e}{\bf J}_e \; \dot{\bf q}$ with $\dot{\bf q} = (v_x, w_z)$ the robot control velocities and $\bf v$ the six dimention velocity skew.
Examples:
servoPioneerPanSegment3D.cpp.

Definition at line 113 of file vpUnicycle.h.

Referenced by vpRobotPioneer::get_eJe(), vpSimulatorPioneer::get_eJe(), and vpSimulatorPioneerPan::get_eJe().

void vpUnicycle::set_cMe ( const vpHomogeneousMatrix cMe)
inlineinherited

Set the transformation between the camera frame and the end effector frame.

Definition at line 121 of file vpUnicycle.h.

Referenced by vpPioneer(), and vpPioneerPan::vpPioneerPan().

void vpUnicycle::set_eJe ( const vpMatrix eJe)
inlineinherited

Set the robot jacobian ${^e}{\bf J}_e$ expressed in the end effector frame.

Parameters
eJe: The robot jacobian to set such as ${\bf v} = {^e}{\bf J}_e \; \dot{\bf q}$ with $\dot{\bf q} = (v_x, w_z)$ the robot control velocities and $\bf v$ the six dimention velocity skew.

Definition at line 132 of file vpUnicycle.h.

Referenced by vpPioneer(), and vpPioneerPan::vpPioneerPan().

Member Data Documentation

vpHomogeneousMatrix vpUnicycle::cMe_
protectedinherited
vpMatrix vpUnicycle::eJe_
protectedinherited

Definition at line 140 of file vpUnicycle.h.