INTRODUCTION Overview Download and Install Quick Start Documentation Publications NONFRAMEWORK CODE Driver Interfaces Drivers Libraries Utilities FRAMEWORK CODE Interfaces Components Libraries Utilities Full Software Listings DEVELOPER Tutorials Examples Dev Guide Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
speedlimiter.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2006 Alex Brooks, Alexei Makarenko, Tobias Kaupp, Ben Upcroft 00005 * 00006 * This copy of Orca is licensed to you under the terms described in 00007 * the LICENSE file included in this distribution. 00008 * 00009 */ 00010 #ifndef ORCALOCALNAV_SPEEDLIMITER_H 00011 #define ORCALOCALNAV_SPEEDLIMITER_H 00012 00013 #include <orcaice/context.h> 00014 #include <orcaice/heartbeater.h> 00015 #include <orcalocalnav/goal.h> 00016 #include <hydronavutil/hydronavutil.h> 00017 00018 namespace orcalocalnav { 00019 00020 // 00021 // Constrains the speed according to the next goal taking into account the time 00022 // remaining to reach that goal. 00023 // The goal is in the robot's local frame of reference. 00024 // 00025 // @author Alex Brooks 00026 // 00027 class SpeedLimiter 00028 { 00029 00030 public: 00031 00032 SpeedLimiter( const orcaice::Context &context ); 00033 00034 void setIntendedSpeedThisLeg( const orcalocalnav::Goal &goal ); 00035 00036 // constrain the max speeds for a particular goal 00037 void constrainMaxSpeeds( orcalocalnav::Goal &goal, 00038 double currentSpeed ); 00039 00040 private: 00041 00042 double intendedSpeedThisLeg_; 00043 00044 orcaice::Context context_; 00045 }; 00046 00047 } 00048 00049 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)