gui.h

gehe zur Dokumentation dieser Datei
00001 #ifndef FUNCTIONS_H
00002 #define FUNCTIONS_H
00003 
00004 #include "SimulationMainWindow.h"
00005 #include "SimulationDialog.h"
00006 #include "valueIteration.h"
00007 #include "gui_canvas.h"
00008 #include "V24.h"
00009 #include "NNetwork.h"
00010 
00011 
00012 #define XMAX   100
00013 #define YMAX   100
00014 #define UP  00
00015 #define DOWN   01
00016 #define LEFT   02
00017 #define RIGHT  03
00018 #define NOTHING   04
00019 
00020 #include <qapplication.h>
00021 #include <qpixmap.h>
00022 #include <qpainter.h>
00023 #include <qslider.h>
00024 #include <qpushbutton.h>
00025 #include <qtable.h>
00026 #include <qlineedit.h>
00027 #include <qlabel.h>
00028 #include <qstring.h>
00029 #include <qsignal.h>
00030 #include <qmutex.h>
00031 #include <qspinbox.h>
00032 #include <qtabwidget.h>
00033 #include <qpoint.h>
00034 #include <qfiledialog.h>
00035 #include <qfile.h>
00036 #include <qdatastream.h>
00037 #include <qmessagebox.h>
00038 #include <qcheckbox.h>
00039 #include <qradiobutton.h>
00040 #include <qtimer.h>
00041 #include <qcombobox.h>
00042 
00043 #include "gui_debug.h"
00044 #include "V24.h"
00045 
00046 //class Simulation : public QMainWindow, public QObject
00050 class Simulation : public QMainWindow
00051 {
00052         Q_OBJECT
00053 
00054     public:
00055         void initDialog();
00056         Simulation(QApplication *_mainApp);
00057    ~Simulation();
00058 
00059 
00060    SimulationMainWindow *lg;
00061    ValueIterationThread *pkt;
00062    QTimer *st;
00063    V24Control *v24;
00064    SimulationDialog *sd;
00065 
00066    char ki_in;
00067    float gamma;
00068    float expParameter;
00069    uchar expMode;
00070    uchar scalX, scalY;
00071 
00072     private:
00073    int i_update;
00074    int speed;
00075    QApplication *dad;
00076    QPixmap pix[6];
00077    QWidget *_widget;
00078    QMutex *tableMutex;
00079    QMutex *debugMutex;
00080    QMutex *guiMutex;
00081    bool guiReady;
00082    int i_cell;
00083    int iMantisse;
00084    double feedbackMemory[YMAX][XMAX][5];
00085    float fValueMemory[YMAX][XMAX];
00086    int action[YMAX][XMAX];
00087    QPoint simuPos, simuPosNew;
00088    QDialog *simuDialog;
00089    
00090    void setReward(int x, int y, int action, double reward);
00091    double getReward(int x, int y, int action);
00092 
00093     private slots:
00094    void apply_button_clicked();
00095    void learn_button_clicked();
00096    void delete_button_clicked();
00097    void speed_slider_changed(int _value);
00098    void vi_train_random_values_changed (int _value);
00099    void iteration_button_clicked();
00100    void stop_button_clicked();
00101    void updatePolicyTable(int _row, int _column, double _value, int _bestdirection);
00102    void updateFeedbackTable(int _row, int _column, double _up, double _down, double _left, double _right);
00103    void debugOutput (QString _d);
00104    void feedbackClicked(int row, int col);
00105    void save_button_clicked();
00106    void save_matlab_button_clicked();
00107    void load_button_clicked();
00108    void save_feedback_clicked();
00109    void start_simulation_clicked();
00110    void stop_simulation_clicked();
00111    void resume_simulation_clicked();
00112    void simulationWalk();
00113    void stopLearningThread();
00114    void adjust_network_error(double _newError);
00115 
00116    // Learning Methods
00117    void learn_method_vi_clicked();
00118    void learn_method_nn_clicked();
00119    void learn_method_vi_nn_clicked();
00120 
00121    // V24-Communication
00122    void v24_start_walking_button_clicked();
00123    void v24_stop_walking_button_clicked();
00124    void v24_start_learning_button_clicked();
00125    void v24_copy_states_and_gamma_to_robot_button_clicked();
00126    void v24_get_states_and_gamma_from_robot_button_clicked();
00127    void v24_getPositionAndMode_button_clicked();
00128    void v24_ramtest_button_clicked();
00129    void v24_explore_feedback_button_clicked();
00130    void v24_accept_button_clicked();
00131    void v24_distance_button_clicked();
00132    void v24_reset_distance_button_clicked();
00133    void v24_exploration_accept_clicked();
00134    void v24_get_exploration_clicked();
00135    void v24_exploration_mode_changed();
00136    void v24_debug_button_clicked();
00137 };
00138 
00139 #endif

Erzeugt am Mon Nov 24 15:30:59 2008 für Walking Robot Simulation GUI - API Documentation von  doxygen 1.5.5