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

 

         

velocitycontrol2delement.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 VELOCITYCONTROL2DELEMENT_H
00012 #define VELOCITYCONTROL2DELEMENT_H
00013 
00014 #include <QObject>
00015 #include <orcaice/context.h>
00016 #include <hydroqguielementutil/guielement.h>
00017 #include <hydroqguielementutil/shortcutkeymanager.h>
00018 
00019 class QSplitter;
00020 
00021 namespace hydroqguielementutil {
00022     class IHumanManager;
00023 }
00024 
00025 namespace orcateleop {
00026     class NetworkThread;
00027 }
00028 
00029 namespace orcaqgui2d {
00030     
00031     class VelocityControlDisplay;
00032     
00033 // A simple teleoperation element
00034 // Captures keypress events and sets up a display for user input
00035 // The actual networking is handled by a orcateleop library class
00036 // author: Tobias Kaupp    
00037 class VelocityControl2dElement : public QObject,
00038                                  public hydroqguielementutil::GuiElement
00039 {
00040     Q_OBJECT
00041 
00042     public: 
00043         VelocityControl2dElement(const hydroqguielementutil::GuiElementInfo &guiElementInfo,
00044                                  const orcaice::Context                     &context ); 
00045         ~VelocityControl2dElement();
00046                 
00047     private slots:
00048         void incrementSpeed();
00049         void decrementSpeed();
00050         void incrementTurnrate();
00051         void decrementTurnrate();
00052         void stopTurn();
00053         void stopMovementButTurn();
00054         void stop();
00055         
00056     private:
00057         void setupButtons();
00058 
00059         std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> speedUpKey_;
00060         std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> slowDownKey_;
00061         std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> incrementTurnrateKey_;
00062         std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> decrementTurnrateKey_;
00063         std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> stopRotationKey_;
00064         std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> stopTranslationKey_;
00065         std::auto_ptr<hydroqguielementutil::ShortcutKeyReservation> stopAllKey_;
00066 
00067         orcateleop::NetworkThread* networkThread_;
00068         VelocityControlDisplay* teleopDisplay_;
00069 };
00070 
00071 }
00072 
00073 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5