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

 

         

velocitycontroldriver.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 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  VELOCITY_CONTROL2D_NETWORK_DRIVER_H
00012 #define  VELOCITY_CONTROL2D_NETWORK_DRIVER_H
00013 
00014 #include <orca/velocitycontrol2d.h>
00015 #include <orcaice/context.h>
00016 
00017 #include "networkdriver.h"
00018 
00019 namespace orcateleop
00020 {
00021 
00022 class Display;
00023 
00024 class VelocityControl2dDriver : public NetworkDriver
00025 {
00026 
00027 public:
00028     VelocityControl2dDriver( Display* display, const orcaice::Context& context );
00029 
00030     virtual ~VelocityControl2dDriver();
00031     
00032     virtual int enable();
00033     
00034     virtual int disable();
00035 
00036     virtual void repeatCommand();
00037 
00038     virtual void processMixedCommand( double longitudinal, bool isLongIncrement, 
00039         double transverse, bool isTransverseIncrement, 
00040         double angular, bool isAngularIncrement );
00041     virtual void processIncrementCommand( int longitudinal, int transverse, int angular );
00042     virtual void processRelativeCommand( double longitudinal, double transverse, double angular );
00043 
00044     // May throw std::exceptions
00045     void enableWithString( const std::string &proxyString );
00046     
00047 private:
00048 
00049     void sendCommand();
00050 
00051     orca::VelocityControl2dPrx prx_;
00052     orca::VelocityControl2dData command_;
00053 
00054     double speedIncrement_;     // [m/s]
00055     double turnRateIncrement_;  // [rad/sec]
00056 
00057     double maxSpeed_;     // [m/s]
00058     double maxTurnRate_;  // [rad/sec]
00059 
00060     Display* display_;
00061     orcaice::Context context_;
00062 };
00063 
00064 } // namespace
00065 
00066 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5