BallTrigoRelativePos Class Reference
Relative ball position model for pan/tilt camera. More...
#include <models/relative_position/ball_trigo.h>

Public Member Functions | |
| BallTrigoRelativePos (unsigned int image_width, unsigned int image_height, float camera_height, float camera_offset_x, float camera_offset_y, float camera_base_pan, float camera_base_tilt, float horizontal_angle, float vertical_angle, float ball_circumference) | |
| Constructor. | |
| virtual const char * | get_name () const |
| Get name of relative position model. | |
| virtual void | set_radius (float r) |
| Set radius of a found circle. | |
| virtual void | set_center (float x, float y) |
| Set center of a found circle. | |
| virtual void | set_center (const center_in_roi_t &c) |
| Set center of a found circle. | |
| virtual void | set_pan_tilt (float pan=0.0f, float tilt=0.0f) |
| Set camera pan and tilt. | |
| virtual void | get_pan_tilt (float *pan, float *tilt) const |
| Get camera pan tilt. | |
| virtual float | get_distance () const |
| Get distance to object. | |
| virtual float | get_x () const |
| Get relative X coordinate of object. | |
| virtual float | get_y () const |
| Get relative Y coordinate of object. | |
| virtual float | get_bearing () const |
| Get bearing (horizontal angle) to object. | |
| virtual float | get_slope () const |
| Get slope (vertical angle) to object. | |
| virtual void | calc () |
| Calculate position data. | |
| virtual void | calc_unfiltered () |
| Calculate data unfiltered. | |
| virtual void | reset () |
| Reset all data. | |
| virtual bool | is_pos_valid () const |
| Check if position is valid. | |
Detailed Description
Relative ball position model for pan/tilt camera.This uses basic trigonometry to calculate the position of the ball given only the center of the ball in the image as variable parameters, and the camera parameters as static parameters.
Definition at line 29 of file ball_trigo.h.
Constructor & Destructor Documentation
| BallTrigoRelativePos::BallTrigoRelativePos | ( | unsigned int | image_width, | |
| unsigned int | image_height, | |||
| float | camera_height, | |||
| float | camera_offset_x, | |||
| float | camera_offset_y, | |||
| float | camera_base_pan, | |||
| float | camera_base_tilt, | |||
| float | horizontal_angle, | |||
| float | vertical_angle, | |||
| float | ball_circumference | |||
| ) |
Constructor.
- Parameters:
-
image_width width of image in pixels image_height height of image in pixels camera_height height of camera in meters camera_offset_x camera offset of the motor axis in x direction camera_offset_y camera offset of the motor axis in y direction camera_base_pan camera base pan in rad camera_base_tilt camera base tilt in rad horizontal_angle horizontal viewing angle (in degree) vertical_angle vertical viewing angle (in degree) ball_circumference ball circumference
Definition at line 52 of file ball_trigo.cpp.
References fawkes::deg2rad(), center_in_roi_t::x, and center_in_roi_t::y.
Member Function Documentation
| void BallTrigoRelativePos::calc | ( | ) | [virtual] |
Calculate position data.
Call this method if all relevant data (set(Radius|Center|PanTilt)) has been set, after this valid data can be retrieved via get*
Implements RelativePositionModel.
Definition at line 175 of file ball_trigo.cpp.
References center_in_roi_t::x, and center_in_roi_t::y.
Referenced by calc_unfiltered().
| virtual void BallTrigoRelativePos::calc_unfiltered | ( | ) | [inline, virtual] |
Calculate data unfiltered.
Same as calc(), but without any filtering (i.e. no Kalman filter).
Implements RelativePositionModel.
Definition at line 58 of file ball_trigo.h.
References calc().
| float BallTrigoRelativePos::get_bearing | ( | void | ) | const [virtual] |
Get bearing (horizontal angle) to object.
- Returns:
- bearing in rad
Implements RelativePositionModel.
Definition at line 97 of file ball_trigo.cpp.
| float BallTrigoRelativePos::get_distance | ( | ) | const [virtual] |
Get distance to object.
- Returns:
- distance to object in meters.
Implements RelativePositionModel.
Definition at line 90 of file ball_trigo.cpp.
| const char * BallTrigoRelativePos::get_name | ( | void | ) | const [virtual] |
Get name of relative position model.
- Returns:
- name of relative position model
Implements RelativePositionModel.
Definition at line 163 of file ball_trigo.cpp.
| void BallTrigoRelativePos::get_pan_tilt | ( | float * | pan, | |
| float * | tilt | |||
| ) | const [virtual] |
Get camera pan tilt.
- Parameters:
-
pan contains pan value (rad) upon return tilt contains tilt value (rad) upon return
Implements RelativePositionModel.
Definition at line 155 of file ball_trigo.cpp.
| float BallTrigoRelativePos::get_slope | ( | ) | const [virtual] |
Get slope (vertical angle) to object.
- Returns:
- slope in rad
Implements RelativePositionModel.
Definition at line 104 of file ball_trigo.cpp.
| float BallTrigoRelativePos::get_x | ( | void | ) | const [virtual] |
Get relative X coordinate of object.
- Returns:
- relative X coordinate in local metric cartesian coordinate system
Implements RelativePositionModel.
Definition at line 118 of file ball_trigo.cpp.
| float BallTrigoRelativePos::get_y | ( | void | ) | const [virtual] |
Get relative Y coordinate of object.
- Returns:
- relative Y coordinate in local metric cartesian coordinate system
Implements RelativePositionModel.
Definition at line 111 of file ball_trigo.cpp.
| bool BallTrigoRelativePos::is_pos_valid | ( | ) | const [virtual] |
Check if position is valid.
- Returns:
- true, if the calculated position is valid, false otherwise
Implements RelativePositionModel.
Definition at line 202 of file ball_trigo.cpp.
| void BallTrigoRelativePos::reset | ( | ) | [virtual] |
Reset all data.
This must be called if the object is not visible.
Implements RelativePositionModel.
Definition at line 170 of file ball_trigo.cpp.
| void BallTrigoRelativePos::set_center | ( | const center_in_roi_t & | c | ) | [virtual] |
Set center of a found circle.
This is especially used for ball position implementations.
- Parameters:
-
c center
Implements RelativePositionModel.
Definition at line 133 of file ball_trigo.cpp.
References center_in_roi_t::x, and center_in_roi_t::y.
| void BallTrigoRelativePos::set_center | ( | float | x, | |
| float | y | |||
| ) | [virtual] |
Set center of a found circle.
This is especially used for ball position implementations.
- Parameters:
-
x x position in image (pixels) y y position in image (pixels)
Implements RelativePositionModel.
Definition at line 125 of file ball_trigo.cpp.
References center_in_roi_t::x, and center_in_roi_t::y.
| void BallTrigoRelativePos::set_pan_tilt | ( | float | pan = 0.0f, |
|
| float | tilt = 0.0f | |||
| ) | [virtual] |
Set camera pan and tilt.
- Parameters:
-
pan pan value (rad) tilt tilt value (rad)
Implements RelativePositionModel.
Definition at line 147 of file ball_trigo.cpp.
| void BallTrigoRelativePos::set_radius | ( | float | r | ) | [virtual] |
Set radius of a found circle.
This is especially used for ball position implementations.
- Parameters:
-
r radius
Implements RelativePositionModel.
Definition at line 141 of file ball_trigo.cpp.
The documentation for this class was generated from the following files:
- src/firevision/models/relative_position/ball_trigo.h
- src/firevision/models/relative_position/ball_trigo.cpp

