PioneerPan

class PioneerPan(self)

Bases: Unicycle

Generic functions for Pioneer mobile robots equipped with a pan head.

This class provides common features for Pioneer mobile robots equipped with a pan head.

This robot has three control velocities \((v_x, w_z, \dot{q_1})\) , the translational and rotational velocities of the mobile platform, the pan head velocity 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 pan axis.

<unparsed image <doxmlparser.compound.docImageType object at 0x7ff691d53f10>>

Considering

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

with \((v_x, w_z)\) respectively the translational and rotational control velocities of the mobile platform, \(\dot{q_1}\) the joint velocity of the pan head and \(\bf v\) the six dimension velocity skew expressed at point E in frame E, the robot jacobian is given by:

\[\begin{split}{^e}{\bf J}_e = \left(\begin{array}{ccc} c_1 & -c_1*p_y - s_1*p_x & 0 \\0 & 0 & 0 \\s_1 & -s_1*p_y + c_1*p_x & 0 \\0 & 0 & 0 \\0 & -1 & 1 \\0 & 0 & 0 \\\end{array} \right) \end{split}\]

with \(p_x, p_y\) the position of the head base frame in the mobile platform frame located at the middle point between the two wheels.

Create a pioneer mobile robot equipped with a pan head.

Methods

__init__

Create a pioneer mobile robot equipped with a pan head.

set_eJe

Overloaded function.

Inherited Methods

get_eJe

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

set_cMe

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

get_cVe

Overloaded function.

get_cMe

Return the transformation \({^c}{\bf M}_e\) between the camera frame and the mobile robot end effector frame.

Operators

__doc__

__init__

Create a pioneer mobile robot equipped with a pan head.

__module__

Attributes

__annotations__

__init__(self)

Create a pioneer mobile robot equipped with a pan head.

get_cMe(self) visp._visp.core.HomogeneousMatrix

Return the transformation \({^c}{\bf M}_e\) between the camera frame and the mobile robot end effector frame.

get_cVe(*args, **kwargs)

Overloaded function.

  1. get_cVe(self: visp._visp.robot.Unicycle) -> visp._visp.core.VelocityTwistMatrix

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.

  1. get_cVe(self: visp._visp.robot.Unicycle, cVe: visp._visp.core.VelocityTwistMatrix) -> None

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.

Note

See get_cVe()

get_eJe(self) visp._visp.core.Matrix

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 dimension velocity skew.

set_cMe(self, cMe: visp._visp.core.HomogeneousMatrix) None

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

set_eJe(*args, **kwargs)

Overloaded function.

  1. set_eJe(self: visp._visp.robot.PioneerPan, q_pan: float) -> None

Set the robot jacobian expressed at point E the end effector frame located on the pan head.

Considering \({\bf v} = {^e}{\bf J}_e \; [v_x, w_z, \dot{q_1}]\) with \((v_x, w_z)\) respectively the translational and rotational control velocities of the mobile platform, \(\dot{q_1}\) the joint velocity of the pan head and \(\bf v\) the six dimension velocity skew expressed at point E in frame E, the robot jacobian is given by:

\[\begin{split}{^e}{\bf J}_e = \left(\begin{array}{ccc} c_1 & -c_1*p_y - s_1*p_x & 0 \\0 & 0 & 0 \\s_1 & -s_1*p_y + c_1*p_x & 0 \\0 & 0 & 0 \\0 & -1 & 1 \\0 & 0 & 0 \\\end{array} \right) \end{split}\]

with \(p_x, p_y\) the position of the head base frame in the mobile platform frame located at the middle point between the two wheels.

  1. set_eJe(self: visp._visp.robot.Unicycle, eJe: visp._visp.core.Matrix) -> None

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 dimension velocity skew.