orca-robotics INTRODUCTION Overview Download and Install Documentation REPOSITORY Interfaces Drivers Libraries Utilities Software Map DEVELOPER Dashboard PEOPLE Contributors Users Project Download Mailing lists
|
rangescannav2d.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 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 00011 #ifndef HYDRO_INTERFACES_RANGESCAN_NAV2D_H 00012 #define HYDRO_INTERFACES_RANGESCAN_NAV2D_H 00013 00014 #include <hydroutil/context.h> 00015 // #include <exception> 00016 00017 namespace hydrointerfaces 00018 { 00019 00046 class RangeScanNav2d 00047 { 00048 00049 public: 00050 00052 class Command 00053 { 00054 public: 00056 double lin; 00058 double rot; 00059 00061 std::string toString() const; 00062 }; 00063 00064 virtual ~RangeScanNav2d() {}; 00065 00068 virtual int waypointHorizon() { return 1; } 00069 00074 virtual void getCommand( 00075 bool stalled, 00076 bool localisationUncertain, 00077 // const hydronavutil::Pose &pose, 00078 // const orca::Twist2d ¤tVelocity, 00079 // const orca::Time &poseAndVelocityTime, 00080 // const orca::RangeScanner2dDataPtr obs, 00081 // const std::vector<orcalocalnav::Goal> &goals 00082 Command& command ) = 0; 00083 }; 00084 00086 class RangeScanNav2dFactory { 00087 public: 00088 virtual ~RangeScanNav2dFactory() {}; 00090 virtual RangeScanNav2d *createDriver( const hydroutil::Context& context ) const=0; 00091 }; 00092 00094 } // namespace 00095 00096 // Function for dynamically instantiating drivers. 00097 // A driver must have a function like so: 00098 // extern "C" { 00099 // hydrointerfaces::RangeScanNav2dFactory *createDriverFactory(); 00100 // } 00101 typedef hydrointerfaces::RangeScanNav2dFactory *DriverFactoryMakerFunc(); 00102 00103 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)