Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# Modules/ObstaclesLocator/GTCamObstaclesLocator.h

Go to the documentation of this file.

    00001 /**
    00002  * @file GTCamObstaclesLocator.h
    00003  *
    00004  * This file contains a class for obstacle localization using the worldstate of the GTCam.
    00005  *
    00006  * @author <a href="mailto:timo.diekmann@uni-dortmund.de">Timo Diekmann</a>
    00007  */
    00008
    00009 #ifndef __GTCamObstaclesLocator_h_
    00010 #define __GTCamObstaclesLocator_h_
    00011
    00012 #include "ObstaclesLocator.h"
    00013 /**
    00014  * This class is a locator for obstacles.
    00015  */
    00016 class GTCamObstaclesLocator : public ObstaclesLocator
    00017 {
    00018 public:
    00019   // obstaclesRadius: the radius of the smallest circle drawn arround a robot
    00020   // obstaclesDist: the distance between the center of the circle (s.o.) and the robot-koordinate-system
    00021   enum {obstaclesRadius = 160, obstaclesDist = 60};
    00022   /**
    00023   * Constructor.
    00024   * @param interfaces The paramters of the ObstaclesLocator module.
    00025   */
    00026   GTCamObstaclesLocator(const ObstaclesLocatorInterfaces& interfaces);
    00027
    00028   /** Executes the module */
    00029   virtual void execute();
    00030   virtual bool handleMessage(InMessage& message);
    00031 private:
    00032   void modelLine(bool vert, double x, double sy, double ey, ObstaclesPercept::ObstacleType type);
    00033   void modelRobot(double px, double py, double rotation, ObstaclesPercept::ObstacleType type);
    00034   double rx, ry, ra; // pose of robot
    00035
    00036   // constant values, set in the GTCamObstaclesLocator constructor
    00037   double minStep, sectorWidth;
    00038   int frontSectorNr, deltaSector45Nr;
    00039 };
    00040
    00041 #endif// __GTCamObstaclesLocator_h_