firevision::BoxRelative Class Reference

Relative (beer) box position model. More...

#include <models/relative_position/box_relative.h>

Inheritance diagram for firevision::BoxRelative:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 BoxRelative (unsigned int image_width, unsigned int image_height, float camera_height, float camera_offset_x, float camera_offset_y, float camera_ori, float horizontal_angle, float vertical_angle)
 Constructor.
virtual const char * get_name () const
 Get name of relative position model.
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_radius (float r)
 Set radius 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 void set_horizontal_angle (float angle_deg)
 Set the horizontal viewing angle.
virtual void set_vertical_angle (float angle_deg)
 Set the vertical viewing angle.
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 (beer) box position model.

Model used in Bremen to get world champions :-)

Definition at line 37 of file box_relative.h.


Constructor & Destructor Documentation

firevision::BoxRelative::BoxRelative ( unsigned int  image_width,
unsigned int  image_height,
float  camera_height,
float  camera_offset_x,
float  camera_offset_y,
float  camera_ori,
float  horizontal_angle,
float  vertical_angle 
)

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_ori camera orientation compared to the robot
horizontal_angle horizontal viewing angle (in degree)
vertical_angle vertical viewing angle (in degree)

Definition at line 55 of file box_relative.cpp.

References fawkes::deg2rad(), firevision::center_in_roi_t::x, and firevision::center_in_roi_t::y.


Member Function Documentation

void firevision::BoxRelative::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 226 of file box_relative.cpp.

References calc_unfiltered().

void firevision::BoxRelative::calc_unfiltered (  )  [virtual]

Calculate data unfiltered.

Same as calc(), but without any filtering (i.e. no Kalman filter).

Implements firevision::RelativePositionModel.

Definition at line 259 of file box_relative.cpp.

References firevision::center_in_roi_t::x, and firevision::center_in_roi_t::y.

Referenced by calc().

float firevision::BoxRelative::get_bearing ( void   )  const [virtual]

Get bearing (horizontal angle) to object.

Returns:
bearing in rad

Implements firevision::RelativePositionModel.

Definition at line 119 of file box_relative.cpp.

float firevision::BoxRelative::get_distance (  )  const [virtual]

Get distance to object.

Returns:
distance to object in meters.

Implements firevision::RelativePositionModel.

Definition at line 112 of file box_relative.cpp.

const char * firevision::BoxRelative::get_name ( void   )  const [virtual]

Get name of relative position model.

Returns:
name of relative position model

Implements firevision::RelativePositionModel.

Definition at line 192 of file box_relative.cpp.

void firevision::BoxRelative::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 firevision::RelativePositionModel.

Definition at line 184 of file box_relative.cpp.

float firevision::BoxRelative::get_slope (  )  const [virtual]

Get slope (vertical angle) to object.

Returns:
slope in rad

Implements firevision::RelativePositionModel.

Definition at line 126 of file box_relative.cpp.

float firevision::BoxRelative::get_x ( void   )  const [virtual]

Get relative X coordinate of object.

Returns:
relative X coordinate in local metric cartesian coordinate system

Implements firevision::RelativePositionModel.

Definition at line 148 of file box_relative.cpp.

float firevision::BoxRelative::get_y ( void   )  const [virtual]

Get relative Y coordinate of object.

Returns:
relative Y coordinate in local metric cartesian coordinate system

Implements firevision::RelativePositionModel.

Definition at line 137 of file box_relative.cpp.

bool firevision::BoxRelative::is_pos_valid (  )  const [virtual]

Check if position is valid.

Returns:
true, if the calculated position is valid, false otherwise
Author:
Tim Niemueller

Implements firevision::RelativePositionModel.

Definition at line 252 of file box_relative.cpp.

void firevision::BoxRelative::reset (  )  [virtual]

Reset all data.

This must be called if the object is not visible.

Implements firevision::RelativePositionModel.

Definition at line 219 of file box_relative.cpp.

void firevision::BoxRelative::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 firevision::RelativePositionModel.

Definition at line 168 of file box_relative.cpp.

References firevision::center_in_roi_t::x, and firevision::center_in_roi_t::y.

void firevision::BoxRelative::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 firevision::RelativePositionModel.

Definition at line 160 of file box_relative.cpp.

References firevision::center_in_roi_t::x, and firevision::center_in_roi_t::y.

void firevision::BoxRelative::set_horizontal_angle ( float  angle_deg  )  [virtual]

Set the horizontal viewing angle.

Parameters:
angle_deg horizontal viewing angle in degrees

Definition at line 202 of file box_relative.cpp.

References fawkes::deg2rad().

void firevision::BoxRelative::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 firevision::RelativePositionModel.

Definition at line 176 of file box_relative.cpp.

void firevision::BoxRelative::set_radius ( float  r  )  [virtual]

Set radius of a found circle.

This is especially used for ball position implementations.

Parameters:
r radius

Implements firevision::RelativePositionModel.

Definition at line 154 of file box_relative.cpp.

void firevision::BoxRelative::set_vertical_angle ( float  angle_deg  )  [virtual]

Set the vertical viewing angle.

Parameters:
angle_deg vertical viewing angle in degrees

Definition at line 212 of file box_relative.cpp.

References fawkes::deg2rad().


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

Generated on 1 Mar 2011 for Fawkes API by  doxygen 1.6.1