Fawkes API  Fawkes Development Version
firevision::BackProjectionPositionModel Class Reference

This model uses a ProjectiveCam to back project points in the image to the world by the ground plane assumption. More...

#include <>>

Inheritance diagram for firevision::BackProjectionPositionModel:

Public Member Functions

 BackProjectionPositionModel (ProjectiveCam &projective_cam, float ball_circumference=0.f)
 Constructor. More...
 
virtual const char * get_name () const
 Get name of relative position model. More...
 
virtual void set_radius (float r)
 Set radius of a found circle. More...
 
virtual void set_center (float x, float y)
 Set center of a found circle. More...
 
virtual void set_center (const center_in_roi_t &c)
 Set center of a found circle. More...
 
virtual void set_pan_tilt (float pan=0.0f, float tilt=0.0f)
 Set camera pan and tilt. More...
 
virtual void get_pan_tilt (float *pan, float *tilt) const
 Get camera pan tilt. More...
 
virtual void set_cam_rotation (float pan=0.f, float tilt=0.f, float roll=0.f)
 Sets the camera orientation. More...
 
virtual void get_cam_rotation (float &pan, float &tilt, float &roll) const
 Returns the camera orientation. More...
 
virtual void set_cam_translation (float height, float rel_x=0.f, float rel_y=0.f)
 Sets the current translation of the camera. More...
 
virtual void get_cam_translation (float &height, float &rel_x, float &rel_y) const
 Returns the current translation of the camera. More...
 
virtual float get_distance () const
 Get distance to object. More...
 
virtual float get_x () const
 Get relative X coordinate of object. More...
 
virtual float get_y () const
 Get relative Y coordinate of object. More...
 
virtual float get_bearing () const
 Get bearing (horizontal angle) to object. More...
 
virtual float get_slope () const
 Get slope (vertical angle) to object. More...
 
virtual void calc ()
 Calculate position data. More...
 
virtual void calc_unfiltered ()
 Calculate data unfiltered. More...
 
virtual void reset ()
 Reset all data. More...
 
virtual bool is_pos_valid () const
 Check if position is valid. More...
 
- Public Member Functions inherited from firevision::RelativePositionModel
virtual ~RelativePositionModel ()
 Destructor. More...
 

Detailed Description

This model uses a ProjectiveCam to back project points in the image to the world by the ground plane assumption.

Author
Christof Rath

Definition at line 35 of file back_projection.h.

Constructor & Destructor Documentation

firevision::BackProjectionPositionModel::BackProjectionPositionModel ( ProjectiveCam projective_cam,
float  ball_circumference = 0.f 
)

Constructor.

Parameters
projective_camthe projective camera object
ball_circumferencethe circumference in case it's a ball

Definition at line 42 of file back_projection.cpp.

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

Member Function Documentation

void firevision::BackProjectionPositionModel::calc ( )
virtual
virtual void firevision::BackProjectionPositionModel::calc_unfiltered ( )
inlinevirtual

Calculate data unfiltered.

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

Implements firevision::RelativePositionModel.

Definition at line 62 of file back_projection.h.

References calc(), and reset().

virtual float firevision::BackProjectionPositionModel::get_bearing ( void  ) const
inlinevirtual

Get bearing (horizontal angle) to object.

Returns
bearing in rad

Implements firevision::RelativePositionModel.

Definition at line 58 of file back_projection.h.

void firevision::BackProjectionPositionModel::get_cam_rotation ( float &  pan,
float &  tilt,
float &  roll 
) const
virtual

Returns the camera orientation.

Parameters
panpan value (rad)
tilttilt value (rad)
rollroll value (rad)

Reimplemented from firevision::RelativePositionModel.

Definition at line 84 of file back_projection.cpp.

References fawkes::point_6D_struct::pitch, fawkes::point_6D_struct::roll, and fawkes::point_6D_struct::yaw.

Referenced by get_pan_tilt(), and set_pan_tilt().

void firevision::BackProjectionPositionModel::get_cam_translation ( float &  height,
float &  rel_x,
float &  rel_y 
) const
virtual

Returns the current translation of the camera.

Parameters
heightheight of the camera [m]
rel_xdistance to the center of the robot [m]
rel_ydistance to the center of the robot [m]

Reimplemented from firevision::RelativePositionModel.

Definition at line 98 of file back_projection.cpp.

References fawkes::point_6D_struct::x, fawkes::point_6D_struct::y, and fawkes::point_6D_struct::z.

Referenced by set_pan_tilt().

virtual float firevision::BackProjectionPositionModel::get_distance ( ) const
inlinevirtual

Get distance to object.

Returns
distance to object in meters.

Implements firevision::RelativePositionModel.

Definition at line 55 of file back_projection.h.

virtual const char* firevision::BackProjectionPositionModel::get_name ( void  ) const
inlinevirtual

Get name of relative position model.

Returns
name of relative position model

Implements firevision::RelativePositionModel.

Definition at line 41 of file back_projection.h.

References set_center(), and set_radius().

void firevision::BackProjectionPositionModel::get_pan_tilt ( float *  pan,
float *  tilt 
) const
virtual

Get camera pan tilt.

Parameters
pancontains pan value (rad) upon return
tiltcontains tilt value (rad) upon return

Implements firevision::RelativePositionModel.

Definition at line 78 of file back_projection.cpp.

References get_cam_rotation().

Referenced by set_pan_tilt().

virtual float firevision::BackProjectionPositionModel::get_slope ( ) const
inlinevirtual

Get slope (vertical angle) to object.

Returns
slope in rad

Implements firevision::RelativePositionModel.

Definition at line 59 of file back_projection.h.

References calc().

virtual float firevision::BackProjectionPositionModel::get_x ( void  ) const
inlinevirtual

Get relative X coordinate of object.

Returns
relative X coordinate in local metric cartesian coordinate system

Implements firevision::RelativePositionModel.

Definition at line 56 of file back_projection.h.

virtual float firevision::BackProjectionPositionModel::get_y ( void  ) const
inlinevirtual

Get relative Y coordinate of object.

Returns
relative Y coordinate in local metric cartesian coordinate system

Implements firevision::RelativePositionModel.

Definition at line 57 of file back_projection.h.

virtual bool firevision::BackProjectionPositionModel::is_pos_valid ( ) const
inlinevirtual

Check if position is valid.

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

Implements firevision::RelativePositionModel.

Definition at line 65 of file back_projection.h.

void firevision::BackProjectionPositionModel::reset ( )
virtual

Reset all data.

This must be called if the object is not visible.

Implements firevision::RelativePositionModel.

Definition at line 141 of file back_projection.cpp.

Referenced by calc_unfiltered().

void firevision::BackProjectionPositionModel::set_cam_rotation ( float  pan = 0.f,
float  tilt = 0.f,
float  roll = 0.f 
)
virtual

Sets the camera orientation.

Parameters
panpan value (rad)
tilttilt value (rad)
rollroll value (rad)

Reimplemented from firevision::RelativePositionModel.

Definition at line 71 of file back_projection.cpp.

References fawkes::point_6D_struct::pitch, fawkes::point_6D_struct::roll, and fawkes::point_6D_struct::yaw.

Referenced by set_pan_tilt().

void firevision::BackProjectionPositionModel::set_cam_translation ( float  height,
float  rel_x = 0.f,
float  rel_y = 0.f 
)
virtual

Sets the current translation of the camera.

Parameters
heightheight of the camera [m]
rel_xdistance to the center of the robot [m]
rel_ydistance to the center of the robot [m]

Reimplemented from firevision::RelativePositionModel.

Definition at line 91 of file back_projection.cpp.

References fawkes::point_6D_struct::x, fawkes::point_6D_struct::y, and fawkes::point_6D_struct::z.

Referenced by set_pan_tilt().

void firevision::BackProjectionPositionModel::set_center ( float  x,
float  y 
)
virtual

Set center of a found circle.

This is especially used for ball position implementations.

Parameters
xx position in image (pixels)
yy position in image (pixels)

Implements firevision::RelativePositionModel.

Definition at line 63 of file back_projection.cpp.

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

Referenced by get_name().

virtual void firevision::BackProjectionPositionModel::set_center ( const center_in_roi_t c)
inlinevirtual

Set center of a found circle.

This is especially used for ball position implementations.

Parameters
ccenter

Implements firevision::RelativePositionModel.

Definition at line 44 of file back_projection.h.

References set_center(), firevision::center_in_roi_t::x, and firevision::center_in_roi_t::y.

Referenced by set_center().

virtual void firevision::BackProjectionPositionModel::set_pan_tilt ( float  pan = 0.0f,
float  tilt = 0.0f 
)
inlinevirtual

Set camera pan and tilt.

Parameters
panpan value (rad)
tilttilt value (rad)

Implements firevision::RelativePositionModel.

Definition at line 46 of file back_projection.h.

References get_cam_rotation(), get_cam_translation(), get_pan_tilt(), set_cam_rotation(), and set_cam_translation().

void firevision::BackProjectionPositionModel::set_radius ( float  r)
virtual

Set radius of a found circle.

This is especially used for ball position implementations.

Parameters
rradius

Implements firevision::RelativePositionModel.

Definition at line 56 of file back_projection.cpp.

Referenced by get_name().


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