orca-robotics INTRODUCTION Overview Download and Install Quick Start Documentation Publications REPOSITORY Interfaces Components Libraries Utilities Software Map DEVELOPER Tutorials Examples Dev Guide Dashboard Wiki login/pass: orca/orca PEOPLE Contributors Users Project Download Mailing lists
|
segwayrmp/netthread.h00001 /* 00002 * Orca-Robotics Project: Components for robotics 00003 * http://orca-robotics.sf.net/ 00004 * Copyright (c) 2004-2008 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 NETWORK_HANDLER_H 00012 #define NETWORK_HANDLER_H 00013 00014 #include <gbxsickacfr/gbxiceutilacfr/subsystemthread.h> 00015 #include <orcaice/context.h> 00016 00017 #include <orcaifaceimpl/odometry2dImpl.h> 00018 #include <orcaifaceimpl/odometry3dImpl.h> 00019 #include <orcaifaceimpl/powerImpl.h> 00020 #include <orcaifaceimpl/velocitycontrol2dImpl.h> 00021 #include <orcaifaceimpl/estopImpl.h> 00022 #include "hwthread.h" 00023 00024 namespace segwayrmp 00025 { 00026 00027 class NetThread : public gbxsickacfr::gbxiceutilacfr::SubsystemThread, 00028 public gbxsickacfr::gbxiceutilacfr::NotifyHandler<orca::VelocityControl2dData> 00029 { 00030 public: 00031 00032 NetThread( HwThread &hwMainThread, 00033 const orca::VehicleDescription &descr, 00034 const orcaice::Context &context ); 00035 00036 // from SubsystemThread 00037 virtual void walk(); 00038 00039 // from NotifyHandler 00040 // this call originates in orcaifaceimpl::VelocityControl2dImpl 00041 virtual void handleData(const orca::VelocityControl2dData &incomingCommand); 00042 00043 private: 00044 00045 void initEStopCallback(); 00046 00047 // external interfaces 00048 orcaifaceimpl::Odometry2dImplPtr odometry2dI_; 00049 orcaifaceimpl::Odometry3dImplPtr odometry3dI_; 00050 orcaifaceimpl::PowerImplPtr powerI_; 00051 orcaifaceimpl::VelocityControl2dImplPtr velocityControl2dI_; 00052 00053 // proxy to our optional 'required interface' 00054 orca::EStopPrx eStopPrx_; 00055 00056 // we need this reference to call a couple of get/set functions 00057 HwThread &hwThread_; 00058 00059 orca::VehicleDescription descr_; 00060 bool isEStopEnabled_; 00061 00062 double maxForwardSpeed_; 00063 double maxReverseSpeed_; 00064 double maxTurnrate_; 00065 double maxLateralAcceleration_; 00066 00067 // component context 00068 orcaice::Context context_; 00069 }; 00070 00071 } // namespace 00072 00073 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)