voronoi_zone.h
Go to the documentation of this file.
00001 /* -*- mode: C++ -*-
00002  *
00003  *  Navigator zone controller
00004  *
00005  *  Copyright (C) 2007, Mickey Ristroph
00006  *
00007  *  License: Modified BSD Software License Agreement
00008  *
00009  *  $Id: voronoi_zone.h 479 2010-08-27 01:16:11Z jack.oquin $
00010  */
00011 
00012 #ifndef __VORONOI_ZONE_HH__
00013 #define __VORONOI_ZONE_HH__
00014 #include "parking.h"
00015 #include "follow_lane.h"
00016 
00017 class Safety;
00018 class Halt;
00019 class ZoneManager;
00020 
00021 class VoronoiZone: public Controller
00022 {
00023 public:
00024 
00025   VoronoiZone(Navigator *navptr, int _verbose);
00026   ~VoronoiZone();
00027   void configure();
00028   result_t control(pilot_command_t &pcmd);
00029   void reset(void);
00030 
00031 private:
00032   // state
00033   bool in_fake_zone;
00034 
00035   // .cfg variables
00036   float zone_speed_limit;
00037   float zone_safety_radius;
00038   float zone_perimeter_sample;
00039   float fake_zone_border;
00040   float fake_zone_included_obstacle_radius;
00041   float zone_evg_thin_scale;
00042   int zone_grid_max_cells;
00043   bool zone_use_voronoi;
00044   bool zone_avoid_obstacles;
00045   bool zone_write_graph_to_tmp;
00046   bool zone_write_poly_to_tmp;
00047   bool zone_write_obstacles_to_tmp;
00048   float zone_aim_point;
00049 
00050   Safety *safety;
00051   Halt *halt;
00052 
00053   Controller::result_t set_heading(pilot_command_t &pcmd);
00054 
00055   rotate_translate_transform trans;
00056 
00057   PolyOps pops;
00058   ZoneManager *zmanager;
00059 
00060   PARK_control *park;
00061 
00062   
00063   FollowLane* follow_lane;
00064   float lastYaw;
00065   mapxy_list_t spot_points;
00066 };
00067 
00068 #endif // __VORONOI_ZONE_HH__


art_nav
Author(s): Austin Robot Technology, Jack O'Quin
autogenerated on Fri Jan 3 2014 11:08:43