00001 /* -*- mode: C++ -*- 00002 * 00003 * Navigator avoid obstacles in path controller 00004 * 00005 * Copyright (C) 2007, 2010, Austin Robot Technology 00006 * 00007 * License: Modified BSD Software License Agreement 00008 * 00009 * $Id: avoid.h 479 2010-08-27 01:16:11Z jack.oquin $ 00010 */ 00011 00012 #ifndef __AVOID_HH__ 00013 #define __AVOID_HH__ 00014 00015 class LaneEdge; 00016 class Safety; 00017 00018 class Avoid: public Controller 00019 { 00020 public: 00021 00022 Avoid(Navigator *navptr, int _verbose); 00023 ~Avoid(); 00024 void configure(); 00025 result_t control(pilot_command_t &pcmd, pilot_command_t incmd); 00026 void reset(void); 00027 00028 private: 00029 00030 // .cfg variables 00031 float left_offset_ratio; 00032 float right_offset_ratio; 00033 00034 LaneEdge *lane_edge; 00035 Safety *safety; 00036 00037 void reset_me(void); 00038 }; 00039 00040 #endif // __AVOID_HH__