FormationControlElement.hpp
Go to the documentation of this file.
00001 /*
00002  * FormationControlElement.hpp
00003  *
00004  *  Created on: Feb 10, 2012
00005  *      Author: mriedel
00006  */
00007 
00008 #ifndef FORMATIONCONTROLELEMENT_HPP_
00009 #define FORMATIONCONTROLELEMENT_HPP_
00010 
00011 #include <telekyb_interface/TeleKybCore.hpp>
00012 #include <telekyb_interface/MKInterface.hpp>
00013 
00014 using namespace telekyb;
00015 
00016 class FormationControlElement : telekyb_interface::ActiveBehaviorListener {
00017 private:
00018         void setupFormationControlElement();
00019 
00020 public:
00021         // ID
00022         int robotID;
00023 
00024         // the System
00025         telekyb_interface::TeleKybCore* core;
00026         // BehaviorController
00027         telekyb_interface::BehaviorController* bController;
00028         telekyb_interface::OptionController *oController;
00029 
00030         // Optional MKInterface
00031         telekyb_interface::MKInterface* mkInterface;
00032 
00033         // Behavior
00034         telekyb_interface::Behavior* activeBehaviorPtr;
00035 
00036 
00037         FormationControlElement(int robotID_, bool useMKInterface_);
00038         virtual ~FormationControlElement();
00039 
00040         void activeBehaviorChanged(telekyb_interface::Behavior newActiveBehavior);
00041 
00042         telekyb_interface::MKInterface* getMKInterfacePointer() const;
00043         telekyb_interface::TeleKybCore* getTeleKybCorePointer() const;
00044 
00045         // for convienence
00046         bool mkSetEmergency();
00047 
00048         bool mkToggleMotors();
00049 
00050         // lift land
00051         bool liftland();
00052 
00053 
00054 //      void switchIntoFormation() const;
00055 
00056         // Behaviors
00057         // System Behaviors
00058         telekyb_interface::Behavior ground;
00059         telekyb_interface::Behavior hover;
00060         telekyb_interface::Behavior normalBreak;
00061         telekyb_interface::Behavior takeOff;
00062         telekyb_interface::Behavior land;
00063 
00064         // FormationControl
00065         telekyb_interface::Behavior formation4;
00066         telekyb_interface::Behavior formation3;
00067         telekyb_interface::Behavior tetraeder;
00068         telekyb_interface::Behavior square;
00069         telekyb_interface::Behavior triangle;
00070 
00071 
00072 };
00073 
00074 #endif /* FORMATIONCONTROLELEMENT_HPP_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines


tk_formation
Author(s): Martin Riedel
autogenerated on Mon Nov 11 2013 11:14:18