rec::robotino::com::OmniDrive Class Reference

Calculates motor velocities for the omni drive. More...

#include <OmniDrive.h>

List of all members.

Public Member Functions

void setVelocity (float vx, float vy, float omega)
void project (float *m1, float *m2, float *m3, float vx, float vy, float omega) const
void unproject (float *vx, float *vy, float *omega, float m1, float m2, float m3) const
void setDriveLayout (double rb=125.0f, double rw=40.0, double fctrl=900.0, double gear=16, double mer=2000)
void getDriveLayout (double *rb, double *rw, double *fctrl, double *gear, double *mer)


Detailed Description

Calculates motor velocities for the omni drive.

Directional and rotational coordinates are provided and velocities for the single motors are calculated.

See also:
Motor

Member Function Documentation

void rec::robotino::com::OmniDrive::setVelocity ( float  vx,
float  vy,
float  omega 
)

Parameters:
vx Velocity in x-direction in mm/s
vy Velocity in y-direction in mm/s
omega Angular velocity in deg/s

void rec::robotino::com::OmniDrive::project ( float *  m1,
float *  m2,
float *  m3,
float  vx,
float  vy,
float  omega 
) const

Project the velocity of the robot in cartesian coordinates to single motor speeds.

Parameters:
m1 The resulting speed of motor 1 in rpm
m2 The resulting speed of motor 2 in rpm
m3 The resulting speed of motor 3 in rpm
vx Velocity in x-direction in mm/s
vy Velocity in y-direction in mm/s
omega Angular velocity in deg/s
Exceptions:
nothing. 

void rec::robotino::com::OmniDrive::unproject ( float *  vx,
float *  vy,
float *  omega,
float  m1,
float  m2,
float  m3 
) const

Project single motor speeds to velocity in cartesian coordinates.

Parameters:
vx The resulting speed in x-direction in mm/s
vy The resulting speed in y-direction in mm/s
omega The resulting angular velocity in deg/s
m1 Speed of motor 1 in rpm
m2 Speed of motor 2 in rpm
m3 Speed of motor 3 in rpm
Exceptions:
nothing. 

void rec::robotino::com::OmniDrive::setDriveLayout ( double  rb = 125.0f,
double  rw = 40.0,
double  fctrl = 900.0,
double  gear = 16,
double  mer = 2000 
)

Sets the layout of the robots drive system in order to drive with mm/s. Default values are for Robotino.

Parameters:
rb Distance from robot center to wheel center.
rw Radius of the wheels.
fctrl Frequency of control loop measuring the speed.
gear Gear
mer Motor encoder resolution.
Exceptions:
nothing. 
See also:
getDriveLayout

void rec::robotino::com::OmniDrive::getDriveLayout ( double *  rb,
double *  rw,
double *  fctrl,
double *  gear,
double *  mer 
)

Retrieves the layout parameters of the robots drive system.

Parameters:
rb Distance from robot center to wheel center.
rw Radius of the wheels.
fctrl Frequency of control loop measuring the speed.
gear Gear
mer Motor encoder resolution.
Exceptions:
nothing. 
See also:
setDriveLayout


The documentation for this class was generated from the following file:

Generated on Wed Jun 29 04:16:56 2011 for rec::robotino::com by  doxygen 1.5.5