Lookout Class Reference
The Lookout accepts LookoutRequests to move the head and collect sensor information.
More...
#include <Lookout.h>
Detailed Description
The Lookout accepts LookoutRequests to move the head and collect sensor information.
HeadMotionType can be none (user will point the head himself), pointAt, scan, track, or search. The data collected can be an image or distance reading, or for scan operations, it can be a list of locations where certain VisionObject or VisionRegion streams reported hits.
Definition at line 25 of file Lookout.h.
List of all members.
Public Member Functions |
| Lookout () |
| Constructor.
|
virtual void | doStart () |
virtual void | doStop () |
virtual void | doEvent () |
virtual std::string | getDescription () const |
virtual unsigned int | executeRequest (const LookoutRequestBase &) |
bool | busy () |
void | stopTrack () |
void | moveHeadToPoint () |
void | relax () |
| Inactivates all Lookout motion commands; called when MapBuilder finishes.
|
Static Public Member Functions |
static std::string | getClassDescription () |
static std::vector
< DualCoding::Point > | groundSearchPoints () |
| returns a vector of points for searching the ground around the robot
|
static Point | findLocationFor (const float normX, const float normY) |
Static Public Attributes |
static const unsigned int | invalid_LO_ID = (unsigned int)-1 |
Protected Types |
enum | TrackerStates {
inactive,
moveToAcquire,
tracking,
searching,
centering,
lost
} |
enum | LookoutTimerSourceId_t { settle_timer = 1,
sample_timer,
lost_timer,
scan_timer
} |
Protected Member Functions |
virtual void | executeRequest () |
virtual void | requestComplete (bool result=true) |
template<class T > |
void | pushRequest (const LookoutRequestBase &req) |
|
|
void | processPointAtEvent (const EventBase &event) |
bool | findPixelModes () |
|
|
void | setupTrack () |
void | processTrackEvent (const EventBase &event) |
Protected Attributes |
std::vector< std::map< uchar,
unsigned int > > | pixelHistograms |
std::priority_queue< float > | distanceSamples |
MC_ID | pointer_id |
| id for HeadPointerMC for pointing the camera
|
MC_ID | posture_id |
| id for PostureMC for pointing the IR sensors
|
MC_ID | sequence_id |
| id for MotionSequenceMC for scanning
|
std::queue< LookoutRequestBase * > | requests |
| queue of pending LookoutRequestBase instances, including the current request
|
LookoutRequestBase * | curReq |
| pointer to request currently being executed
|
LookoutPointRequest * | curPAR |
| current Point-At request (same object as curReq)
|
bool | successSave |
enum
DualCoding::Lookout::TrackerStates | trackerState |
unsigned int | idCounter |
Private Member Functions |
Lookout & | operator= (const Lookout &) |
| Lookout (const Lookout &) |
|
void | setupScan () |
void | triggerScanMotionSequence () |
void | processScanEvent (const EventBase &event) |
void | scanAlongLine (const Point &start, const Point &end) |
void | scanAlongPolygon (const std::vector< Point > &vertices, const bool closed=false) |
void | scanArea (const Point &topLeft, const Point &topRight, const Point &bottomLeft, const Point &bottomRight) |
void | storeVisionRegionDataTo (std::vector< Point > &, const std::set< color_index > &, int) |
static Point | findLocationFor (const VisionObjectEvent &visev) |
static Point | findLocationFor (const CMVision::region *reg) |
|
void | setupSearch () |
void | processSearchEvent (const EventBase &event) |
void | triggerSearchMotionSequence () |
static void | searchAt (HeadPointerMC &hpmc_temp, std::vector< float > &jointvals, const Point &target) |
Member Enumeration Documentation
- Enumerator:
settle_timer |
|
sample_timer |
|
lost_timer |
|
scan_timer |
|
Definition at line 141 of file Lookout.h.
- Enumerator:
inactive |
|
moveToAcquire |
|
tracking |
|
searching |
|
centering |
|
lost |
|
Definition at line 131 of file Lookout.h.
Constructor & Destructor Documentation
Member Function Documentation
void doEvent |
( |
|
) |
[virtual] |
void doStart |
( |
|
) |
[virtual] |
void doStop |
( |
|
) |
[virtual] |
void executeRequest |
( |
|
) |
[protected, virtual] |
Point findLocationFor |
( |
const CMVision::region * |
reg |
) |
[static, protected] |
static Point findLocationFor |
( |
const VisionObjectEvent & |
visev |
) |
[static, protected] |
bool findPixelModes |
( |
|
) |
[protected] |
static std::string getClassDescription |
( |
|
) |
[static] |
virtual std::string getDescription |
( |
|
) |
const [virtual] |
returns a vector of points for searching the ground around the robot
Definition at line 73 of file Lookout.cc.
void processPointAtEvent |
( |
const EventBase & |
event |
) |
[protected] |
void processScanEvent |
( |
const EventBase & |
event |
) |
[protected] |
void processSearchEvent |
( |
const EventBase & |
event |
) |
[protected] |
void processTrackEvent |
( |
const EventBase & |
event |
) |
[protected] |
void requestComplete |
( |
bool |
result = true |
) |
[protected, virtual] |
void scanAlongLine |
( |
const Point & |
start, |
|
|
const Point & |
end | |
|
) |
| | [protected] |
void scanAlongPolygon |
( |
const std::vector< Point > & |
vertices, |
|
|
const bool |
closed = false | |
|
) |
| | [protected] |
void scanArea |
( |
const Point & |
topLeft, |
|
|
const Point & |
topRight, |
|
|
const Point & |
bottomLeft, |
|
|
const Point & |
bottomRight | |
|
) |
| | [protected] |
void searchAt |
( |
HeadPointerMC & |
hpmc_temp, |
|
|
std::vector< float > & |
jointvals, |
|
|
const Point & |
target | |
|
) |
| | [static, protected] |
void setupScan |
( |
|
) |
[protected] |
void setupSearch |
( |
|
) |
[protected] |
void setupTrack |
( |
|
) |
[protected] |
void storeVisionRegionDataTo |
( |
std::vector< Point > & |
data, |
|
|
const std::set< color_index > & |
colors, |
|
|
int |
minArea | |
|
) |
| | [protected] |
void triggerScanMotionSequence |
( |
|
) |
[protected] |
void triggerSearchMotionSequence |
( |
|
) |
[protected] |
Member Data Documentation
current Point-At request (same object as curReq)
Definition at line 128 of file Lookout.h.
pointer to request currently being executed
Definition at line 127 of file Lookout.h.
The documentation for this class was generated from the following files: