00001 /* -*- mode: C++ -*- 00002 * 00003 * Navigator safe following distance controller 00004 * 00005 * Copyright (C) 2007, 2010, Austin Robot Technology 00006 * 00007 * License: Modified BSD Software License Agreement 00008 * 00009 * $Id: follow_safely.h 872 2010-11-28 13:31:07Z jack.oquin $ 00010 */ 00011 00012 #ifndef __FOLLOW_SAFELY_HH__ 00013 #define __FOLLOW_SAFELY_HH__ 00014 00015 class FollowSafely: public Controller 00016 { 00017 public: 00018 00019 FollowSafely(Navigator *navptr, int _verbose); 00020 ~FollowSafely(); 00021 result_t control(pilot_command_t &pcmd); 00022 00023 private: 00024 00025 // adjust speed to maintain a safe following time 00026 void adjust_speed(pilot_command_t &pcmd, float obs_dist); 00027 }; 00028 00029 #endif // __FOLLOW_SAFELY_HH__