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

SourceForge.net Logo
Project
Download
Mailing lists

 

         

rangescannav2d.h

00001 /*
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                   &currentVelocity,
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 *createRangeScanNav2dDriverFactory();
00100 // }
00101 typedef hydrointerfaces::RangeScanNav2dFactory *RangeScanNav2dDriverFactoryMakerFunc();
00102 
00103 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5