Velocity model interface. More...
#include <models/velocity/velocitymodel.h>
Public Member Functions | |
virtual | ~VelocityModel () |
Virtual empty destructor. | |
virtual const char * | getName () const =0 |
Get name of velocity model. | |
virtual void | setPanTilt (float pan, float tilt)=0 |
Set pan and tilt. | |
virtual void | setRobotPosition (float x, float y, float ori, timeval t)=0 |
Set robot position. | |
virtual void | setRobotVelocity (float vel_x, float vel_y, timeval t)=0 |
Set robot velocity. | |
virtual void | setTime (timeval t)=0 |
Set current time. | |
virtual void | setTimeNow ()=0 |
Get current time from system. | |
virtual void | getTime (long int *sec, long int *usec)=0 |
Get time from velocity. | |
virtual void | getVelocity (float *vel_x, float *vel_y)=0 |
Method to retrieve velocity information. | |
virtual float | getVelocityX ()=0 |
Get velocity of tracked object in X direction. | |
virtual float | getVelocityY ()=0 |
Get velocity of tracked object in X direction. | |
virtual void | calc ()=0 |
Calculate velocity values from given data This method must be called after all relevent data (set*) has been set. | |
virtual void | reset ()=0 |
Reset velocity model Must be called if ball is not visible at any time. | |
virtual coordsys_type_t | getCoordinateSystem ()=0 |
Returns the used coordinate system, must be either COORDSYS_ROBOT_CART or COORDSYS_ROBOT_WORLD. |
Velocity model interface.
Definition at line 35 of file velocitymodel.h.
firevision::VelocityModel::~VelocityModel | ( | ) | [virtual] |
Virtual empty destructor.
Definition at line 101 of file velocitymodel.cpp.
void firevision::VelocityModel::calc | ( | ) | [pure virtual] |
Calculate velocity values from given data This method must be called after all relevent data (set*) has been set.
After calc() the velocity values can be retrieved
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
coordsys_type_t firevision::VelocityModel::getCoordinateSystem | ( | ) | [pure virtual] |
Returns the used coordinate system, must be either COORDSYS_ROBOT_CART or COORDSYS_ROBOT_WORLD.
ROBOT denotes velocities relative to the robot (which can be tramsformed to global velocities by: glob_vel_x = rel_vel_x * cos( robot_ori ) - rel_vel_y * sin( robot_ori ) WORLD denotes velocities in the robot coordinate system glob_vel_y = rel_vel_x * sin( robot_ori ) + rel_vel_y * cos( robot_ori )
ROBOT denotes velocities relative to the robot (which can be tramsformed to global velocities by: glob_vel_x = rel_vel_x * cos( robot_ori ) - rel_vel_y * sin( robot_ori ) WORLD denotes velocities in the robot coordinate system glob_vel_y = rel_vel_x * sin( robot_ori ) + rel_vel_y * cos( robot_ori )
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
Referenced by firevision::VelocityGlobalFromRelative::VelocityGlobalFromRelative().
const char * firevision::VelocityModel::getName | ( | void | ) | const [pure virtual] |
Get name of velocity model.
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
void firevision::VelocityModel::getTime | ( | long int * | sec, | |
long int * | usec | |||
) | [pure virtual] |
Get time from velocity.
sec | contains seconds since the epoch upon return (Unix timestamp) | |
usec | contains microseconds upon return |
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
void firevision::VelocityModel::getVelocity | ( | float * | vel_x, | |
float * | vel_y | |||
) | [pure virtual] |
Method to retrieve velocity information.
vel_x | If not NULL contains velocity in X direction after call | |
vel_y | If not NULL contains velocity in Y direction after call |
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
Referenced by firevision::VelocityGlobalFromRelative::calc().
float firevision::VelocityModel::getVelocityX | ( | ) | [pure virtual] |
Get velocity of tracked object in X direction.
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
float firevision::VelocityModel::getVelocityY | ( | ) | [pure virtual] |
Get velocity of tracked object in X direction.
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
void firevision::VelocityModel::reset | ( | void | ) | [pure virtual] |
Reset velocity model Must be called if ball is not visible at any time.
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
void firevision::VelocityModel::setPanTilt | ( | float | pan, | |
float | tilt | |||
) | [pure virtual] |
Set pan and tilt.
pan | pan | |
tilt | tilt |
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
void firevision::VelocityModel::setRobotPosition | ( | float | x, | |
float | y, | |||
float | ori, | |||
timeval | t | |||
) | [pure virtual] |
Set robot position.
x | x | |
y | y | |
ori | ori | |
t | timestamp of the pose information |
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
void firevision::VelocityModel::setRobotVelocity | ( | float | vel_x, | |
float | vel_y, | |||
timeval | t | |||
) | [pure virtual] |
Set robot velocity.
vel_x | robot velocity in x direction | |
vel_y | robot velocity in y direction | |
t | timestamp of the velocity information |
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
void firevision::VelocityModel::setTime | ( | timeval | t | ) | [pure virtual] |
Set current time.
t | time |
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.
void firevision::VelocityModel::setTimeNow | ( | ) | [pure virtual] |
Get current time from system.
Implemented in firevision::VelocityGlobalFromRelative, firevision::VelocityFromGlobal, and firevision::VelocityFromRelative.