Fawkes API  Fawkes Development Version
velocitymodel.cpp
1 
2 /***************************************************************************
3  * velocitymodel.cpp - Abstract class defining a velocity model
4  *
5  * Created: Thu Mar 29 17:02:09 2007
6  * Copyright 2005-2007 Tim Niemueller [www.niemueller.de]
7  *
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version. A runtime exception applies to
14  * this software (see LICENSE.GPL_WRE file mentioned below for details).
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Library General Public License for more details.
20  *
21  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22  */
23 
24 #include <fvmodels/velocity/velocitymodel.h>
25 
26 namespace firevision {
27 #if 0 /* just to make Emacs auto-indent happy */
28 }
29 #endif
30 
31 /** @class VelocityModel <fvmodels/velocity/velocitymodel.h>
32  * Velocity model interface.
33  *
34  *
35  * @fn const char * VelocityModel::getName() const
36  * Get name of velocity model
37  * @return name of velocity model
38  *
39  * @fn void VelocityModel::setPanTilt(float pan, float tilt)
40  * Set pan and tilt.
41  * @param pan pan
42  * @param tilt tilt
43  *
44  * @fn void VelocityModel::setRobotPosition(float x, float y, float ori, timeval t)
45  * Set robot position.
46  * @param x x
47  * @param y y
48  * @param ori ori
49  * @param t timestamp of the pose information
50  *
51  * @fn void VelocityModel::setRobotVelocity(float vel_x, float vel_y, timeval t)
52  * Set robot velocity.
53  * @param vel_x robot velocity in x direction
54  * @param vel_y robot velocity in y direction
55  * @param t timestamp of the velocity information
56  *
57  * @fn void VelocityModel::setTime(timeval t)
58  * Set current time.
59  * @param t time
60  *
61  * @fn void VelocityModel::setTimeNow()
62  * Get current time from system.
63  *
64  * @fn void VelocityModel::getTime(long int *sec, long int *usec)
65  * Get time from velocity.
66  * @param sec contains seconds since the epoch upon return (Unix timestamp)
67  * @param usec contains microseconds upon return
68  *
69  * @fn void VelocityModel::getVelocity(float *vel_x, float *vel_y)
70  * Method to retrieve velocity information
71  * @param vel_x If not NULL contains velocity in X direction after call
72  * @param vel_y If not NULL contains velocity in Y direction after call
73  *
74  * @fn float VelocityModel::getVelocityX()
75  * Get velocity of tracked object in X direction.
76  * @return velocity in m/s.
77  *
78  * @fn float VelocityModel::getVelocityY()
79  * Get velocity of tracked object in X direction.
80  * @return velocity in m/s.
81  *
82  * @fn void VelocityModel::calc()
83  * Calculate velocity values from given data
84  * This method must be called after all relevent data (set*) has been
85  * set. After calc() the velocity values can be retrieved
86  *
87  * @fn void VelocityModel::reset()
88  * Reset velocity model
89  * Must be called if ball is not visible at any time
90  *
91  * @fn coordsys_type_t VelocityModel::getCoordinateSystem()
92  * Returns the used coordinate system, must be either COORDSYS_ROBOT_CART or
93  * COORDSYS_ROBOT_WORLD. ROBOT denotes velocities relative to the robot
94  * (which can be tramsformed to global velocities by:
95  * glob_vel_x = rel_vel_x * cos( robot_ori ) - rel_vel_y * sin( robot_ori )
96  * WORLD denotes velocities in the robot coordinate system
97  * glob_vel_y = rel_vel_x * sin( robot_ori ) + rel_vel_y * cos( robot_ori )
98  */
99 
100 /** Virtual empty destructor. */
102 {
103 }
104 
105 } // end namespace firevision
virtual ~VelocityModel()
Virtual empty destructor.