#include <Robots/LoBot/io/LoDangerZone.H>
Classes | |
class | update |
Helper function object to update a block. | |
Public Member Functions | |
int | danger_level () const |
How many danger zone readings does this block currently have? | |
bool | penetrated () const |
void | dump (const std::string &caller) const |
Debug support. | |
int | start () const |
int | end () const |
int | size () const |
const range< int > & | extents () const |
int | danger_zone () const |
int | threshold () const |
Readings::const_iterator | danger_begin () const |
Iterators for going through the current danger zone readings. | |
Readings::const_iterator | danger_end () const |
Friends | |
class | DangerZone |
class | update |
| |
typedef LRFData::Reading | Reading |
typedef std::vector< Reading > | Readings |
The danger zone works by dividing the laser range finder's FOV into several user-specified angular blocks. Each such block is associated with a user-specified distance and a threshold. When the LRF reports a distance measurement in a block less than that block's danger zone, that reading is added to a list of danger zone readings for that block. When the number of danger zone readings for block exceeds its threshold, that block is considered "active" or "penetrated."
This inner class holds together angular blocks and their correspondinng danger zone specifications, thresholds, danger zone readings, etc.
Definition at line 132 of file LoDangerZone.H.
The danger zone readings for this block. This data structure is cleared and updated as part of the main thread's update cycle (i.e., it is not a static setting read from the config file).
Definition at line 153 of file LoDangerZone.H.
Readings::const_iterator lobot::DangerZone::Block::danger_begin | ( | ) | const [inline] |
Iterators for going through the current danger zone readings.
Definition at line 209 of file LoDangerZone.H.
int lobot::DangerZone::Block::danger_level | ( | ) | const [inline] |
How many danger zone readings does this block currently have?
Definition at line 201 of file LoDangerZone.H.
Referenced by penetrated().
void lobot::DangerZone::Block::dump | ( | const std::string & | caller | ) | const |
bool lobot::DangerZone::Block::penetrated | ( | ) | const [inline] |
Has this block of the danger zone been penetrated by an obstacle?
Definition at line 205 of file LoDangerZone.H.
References danger_level().
int lobot::DangerZone::Block::start | ( | ) | const [inline] |
Retrieving the angular block's extents, danger zone and threshold settings.
Definition at line 191 of file LoDangerZone.H.