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
|
hydrolibs/hydrormputil/util/segwayrmp.h00001 #ifndef SEGWAYRMP_SEGWAYRMP_H 00002 #define SEGWAYRMP_SEGWAYRMP_H 00003 00004 #include <hydrormputil/powerbasemanager.h> 00005 #include <hydroutil/context.h> 00006 00007 namespace segwayrmp { 00008 00009 // 00010 // @brief Simple API for the SegwayRMP. 00011 // For definitions of the sturctures in the hydrointerfaces namespace, see: 00012 // http://orca-robotics.sourceforge.net/hydro/classhydrointerfaces_1_1SegwayRmp.html 00013 // 00014 // @author Alex Brooks 00015 // 00016 class SegwayRmp 00017 { 00018 public: 00019 00020 // 00021 // capabilitiesConstraints: user-specified constraints on the vehicle 00022 // (gets 'min-ed' with actual vehicle capabilities, useful for testing safely) 00023 // callback: used to return odometric data 00024 // fakeDriver: if true, we set up a fake Segway rather than talking to real hardware. 00025 // 00026 SegwayRmp( hydrointerfaces::SegwayRmp::Capabilities &capabilitiesConstraints, 00027 double maxForwardAcceleration, 00028 double maxReverseAcceleration, 00029 hydrormputil::AggregatorCallback &callback, 00030 bool fakeDriver, 00031 const hydroutil::Context &context ); 00032 00033 // Set the desired velocity setpoint. 00034 // Note that if a command is not set for 200ms, the velocity will be slewed to zero 00035 // (this is a safety mechanism to help prevent runaway robots). 00036 void setCommand( const hydrointerfaces::SegwayRmp::Command &incomingCmd ); 00037 00038 // Retreive the robot's capabilities 00039 const hydrointerfaces::SegwayRmp::Capabilities &capabilities() const { return capabilities_; } 00040 00041 private: 00042 00043 hydrointerfaces::SegwayRmp::Capabilities capabilities_; 00044 std::vector<hydrormputil::PowerbaseManagerPtr> powerbaseManagers_; 00045 hydroutil::Context context_; 00046 }; 00047 00048 } 00049 00050 #endif |
Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)