X-Git-Url: http://rtime.felk.cvut.cz/gitweb/eurobot/public.git/blobdiff_plain/2d70ee4d0d71dac682be0b6b289288ab85920f06..d3f518a5fcbbd8c4fe0a19c20d6a4162403b8ae0:/src/robomon/RobomonAtlantis.h diff --git a/src/robomon/RobomonAtlantis.h b/src/robomon/RobomonAtlantis.h index 695ba356..f62fe99c 100644 --- a/src/robomon/RobomonAtlantis.h +++ b/src/robomon/RobomonAtlantis.h @@ -13,15 +13,16 @@ #ifndef ROBOMON_ATLANTIS_H #define ROBOMON_ATLANTIS_H -#define SIM_OBST_SIZE_M 0.5 - #include #include #include "PlaygroundScene.h" +#include "playgroundview.h" #include "Robot.h" +#include "Map.h" #include -#include +#include "trail.h" +#include "hokuyoscan.h" class QHBoxLayout; class QVBoxLayout; @@ -37,6 +38,7 @@ class QDial; class QSlider; class QProgressBar; class QFont; +class QImage; class RobomonAtlantis : public QWidget { @@ -54,45 +56,39 @@ protected: signals: void motionStatusReceivedSignal(); void actualPositionReceivedSignal(); - void estimatedPositionReceivedSignal(); - void diReceivedSignal(); - void accelerometerReceivedSignal(); - void accumulatorReceivedSignal(); void powerVoltageReceivedSignal(); +public slots: + void showMap(bool show); + void useOpenGL(bool use); + void showTrails(bool show); + void showShapeDetect(bool show); + void resetTrails(); private slots: /************************************************************ - * GUI actions + * GUI actions ************************************************************/ void setVoltage33(int state); void setVoltage50(int state); void setVoltage80(int state); - void setLeftMotor(int value); - void setRightMotor(int value); - void stopMotors(); - void setDO(int state); - void showMap(); - void showPlayground(); +/* void setLeftMotor(int value); */ +/* void setRightMotor(int value); */ +/* void stopMotors(); */ void paintMap(); void setSimulation(int state); void setObstacleSimulation(int state); void simulateObstaclesHokuyo(); void changeObstacle(QPointF position); - void pick(); - void setBelts(int value); - void setChelae(int value); void sendStart(int plug); - void sendPuckInside(int value); + void setTeamColor(int plug); + void changeStrategy_1(); + void changeStrategy_0(); /************************************************************ - * ORTE + * ORTE ************************************************************/ void motionStatusReceived(); void actualPositionReceived(); - void estimatedPositionReceived(); - void diReceived(); - void accelerometerReceived(); - void accumulatorReceived(); void powerVoltageReceived(); private: @@ -116,6 +112,7 @@ private: void createRobots(); void createActions(); + void createMap(); QVBoxLayout *leftLayout; QVBoxLayout *rightLayout; @@ -125,15 +122,13 @@ private: QGroupBox *miscGroupBox; QGroupBox *debugGroupBox; QGroupBox *actuatorsGroupBox; - QGroupBox *enginesGroupBox; - QGroupBox *dioGroupBox; - QGroupBox *sensorsGroupBox; QGroupBox *powerGroupBox; - QGroupBox *pickerGroupBox; QGroupBox *fsmGroupBox; +public: PlaygroundScene *playgroundScene; - QGraphicsView *playgroundSceneView; +private: + PlaygroundView *playgroundSceneView; /* position state */ QLineEdit *actPosX; @@ -149,21 +144,11 @@ private: bool debugWindowEnabled; /* actuators */ - QSlider *leftMotorSlider; - QSlider *rightMotorSlider; - QCheckBox *bothMotorsCheckBox; - QPushButton *stopMotorsPushButton; - - QCheckBox *leftBeltCheckBox; - QCheckBox *rightBeltCheckBox; - QCheckBox *leftChelaCheckBox; - QCheckBox *rightChelaCheckBox; - - QDial *leftBeltDial; - QDial *rightBeltDial; - QDial *leftChelaDial; - QDial *rightChelaDial; - QPushButton *pickPushButton; +/* QSlider *leftMotorSlider; */ +/* QSlider *rightMotorSlider; */ +/* QCheckBox *bothMotorsCheckBox; */ +/* QPushButton *stopMotorsPushButton; */ + //QDial *vidle; /* power management */ QCheckBox *voltage33CheckBox; @@ -174,21 +159,29 @@ private: QLineEdit *voltage80LineEdit; QLineEdit *voltageBATLineEdit; - QCheckBox *diCheckBox[8]; - QCheckBox *doCheckBox[8]; - /* misc */ QCheckBox *obstacleSimulationCheckBox; - QCheckBox *showMapPushButton; QLabel *fsm_main_state; QLabel *fsm_act_state; QLabel *fsm_motion_state; QCheckBox *startPlug; - QCheckBox *puckInside; - + QCheckBox *colorChoser; + QPushButton *strategyButton; +public: /* robot */ - Robot *robotActPos; - Robot *robotEstPos; + Robot *robotRefPos; + Robot *robotEstPosBest; + Robot *robotEstPosIndepOdo; + Robot *robotEstPosOdo; + + Map *mapImage; +private: + Trail *trailRefPos; + Trail *trailEstPosBest; + Trail *trailPosIndepOdo; + Trail *trailOdoPos; + + HokuyoScan *hokuyoScan; /* keypad */ double leftMotorValue; @@ -198,22 +191,18 @@ private: void openSharedMemory(); bool sharedMemoryOpened; QTimer *mapTimer; - - /* sensors */ - QProgressBar *sharpPuck; - QProgressBar *liftPos; - QProgressBar *pusherPos; /* obstacle simulation */ double distanceToWallHokuyo(int beamnum); double distanceToObstacleHokuyo(int beamnum, Point obstacle, double obstacleSize); + double distanceToCircularObstacleHokuyo(int beamnum, Point center, double diameter); int simulationEnabled; QTimer *obstacleSimulationTimer; Point simulatedObstacle; /************************************************************ - * ORTE + * ORTE ************************************************************/ void createOrte();