Omni vision relative position model. More...
#include <>>
Public Member Functions | |
OmniRelative (MirrorModel *mirror_model) | |
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 float | get_radius () const |
Get radius. | |
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. |
Omni vision relative position model.
Definition at line 40 of file omni_relative.h.
firevision::OmniRelative::OmniRelative | ( | MirrorModel * | mirror_model | ) |
void firevision::OmniRelative::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 firevision::RelativePositionModel.
Definition at line 167 of file omni_relative.cpp.
References firevision::MirrorModel::getWorldPointRelative(), firevision::MirrorModel::isValidPoint(), fawkes::polar_coord_2d_t::phi, and fawkes::polar_coord_2d_t::r.
void firevision::OmniRelative::calc_unfiltered | ( | ) | [virtual] |
Calculate data unfiltered.
Same as calc(), but without any filtering (i.e. no Kalman filter).
Implements firevision::RelativePositionModel.
Definition at line 195 of file omni_relative.cpp.
References firevision::MirrorModel::getWorldPointRelative(), fawkes::polar_coord_2d_t::phi, and fawkes::polar_coord_2d_t::r.
float firevision::OmniRelative::get_bearing | ( | void | ) | const [virtual] |
Get bearing (horizontal angle) to object.
Implements firevision::RelativePositionModel.
Definition at line 82 of file omni_relative.cpp.
float firevision::OmniRelative::get_distance | ( | ) | const [virtual] |
Get distance to object.
Implements firevision::RelativePositionModel.
Definition at line 75 of file omni_relative.cpp.
const char * firevision::OmniRelative::get_name | ( | void | ) | const [virtual] |
Get name of relative position model.
Implements firevision::RelativePositionModel.
Definition at line 152 of file omni_relative.cpp.
void firevision::OmniRelative::get_pan_tilt | ( | float * | pan, | |
float * | tilt | |||
) | const [virtual] |
Get camera pan tilt.
pan | contains pan value (rad) upon return | |
tilt | contains tilt value (rad) upon return |
Implements firevision::RelativePositionModel.
Definition at line 146 of file omni_relative.cpp.
float firevision::OmniRelative::get_radius | ( | ) | const [virtual] |
float firevision::OmniRelative::get_slope | ( | ) | const [virtual] |
Get slope (vertical angle) to object.
Implements firevision::RelativePositionModel.
Definition at line 89 of file omni_relative.cpp.
float firevision::OmniRelative::get_x | ( | void | ) | const [virtual] |
Get relative X coordinate of object.
Implements firevision::RelativePositionModel.
Definition at line 103 of file omni_relative.cpp.
float firevision::OmniRelative::get_y | ( | void | ) | const [virtual] |
Get relative Y coordinate of object.
Implements firevision::RelativePositionModel.
Definition at line 96 of file omni_relative.cpp.
bool firevision::OmniRelative::is_pos_valid | ( | ) | const [virtual] |
Check if position is valid.
Implements firevision::RelativePositionModel.
Definition at line 188 of file omni_relative.cpp.
References firevision::MirrorModel::isValidPoint().
void firevision::OmniRelative::reset | ( | ) | [virtual] |
Reset all data.
This must be called if the object is not visible.
Implements firevision::RelativePositionModel.
Definition at line 159 of file omni_relative.cpp.
void firevision::OmniRelative::set_center | ( | const center_in_roi_t & | c | ) | [virtual] |
Set center of a found circle.
This is especially used for ball position implementations.
c | center |
Implements firevision::RelativePositionModel.
Definition at line 118 of file omni_relative.cpp.
void firevision::OmniRelative::set_center | ( | float | x, | |
float | y | |||
) | [virtual] |
Set center of a found circle.
This is especially used for ball position implementations.
x | x position in image (pixels) | |
y | y position in image (pixels) |
Implements firevision::RelativePositionModel.
Definition at line 110 of file omni_relative.cpp.
void firevision::OmniRelative::set_pan_tilt | ( | float | pan = 0.0f , |
|
float | tilt = 0.0f | |||
) | [virtual] |
Set camera pan and tilt.
pan | pan value (rad) | |
tilt | tilt value (rad) |
Implements firevision::RelativePositionModel.
Definition at line 140 of file omni_relative.cpp.
void firevision::OmniRelative::set_radius | ( | float | r | ) | [virtual] |
Set radius of a found circle.
This is especially used for ball position implementations.
r | radius |
Implements firevision::RelativePositionModel.
Definition at line 124 of file omni_relative.cpp.