]> rtime.felk.cvut.cz Git - eurobot/public.git/commitdiff
robomon displays motion trails
authorMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 29 Apr 2009 23:04:24 +0000 (01:04 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 29 Apr 2009 23:04:24 +0000 (01:04 +0200)
src/robomon/RobomonAtlantis.cpp
src/robomon/RobomonAtlantis.h
src/robomon/robomon.pro

index ad488626e6e9d2a87efe6a5e4dd8233f484715ec..4d631829e571dcc7d6cfcb8b0563c0369ca585d7 100644 (file)
@@ -37,6 +37,7 @@
 #include "robomon_orte.h"
 #include "RobomonAtlantis.h"
 #include "playgroundview.h"
+#include "trail.h"
 
 #include <QCoreApplication>
 #include <QEvent>
@@ -417,16 +418,27 @@ void RobomonAtlantis::createPickerGroupBox()
 
 void RobomonAtlantis::createRobots()
 {
-       robotActPos = new Robot(QPen(Qt::darkBlue), QBrush(Qt::NoBrush));
+       robotActPos = new Robot("Ref", QPen(Qt::darkBlue), QBrush(Qt::NoBrush));
        robotActPos->setZValue(11);
-       robotEstPosOdo = new Robot(QPen(Qt::white), QBrush(Qt::darkRed));
+       trailRefPos = new Trail(QPen(Qt::darkBlue));
+       trailRefPos->setZValue(11);
+       
+       robotEstPosOdo = new Robot("Odo", QPen(Qt::white), QBrush(Qt::darkRed));
        robotEstPosOdo->setZValue(10);
-       robotEstPosUzv = new Robot(QPen(), QBrush(Qt::darkGray));
+       trailOdoPos = new Trail(QPen(Qt::white));
+       trailOdoPos->setZValue(10);
+       robotEstPosUzv = new Robot("Uzv", QPen(), QBrush(Qt::darkGray));
        robotEstPosUzv->setZValue(10);
+       trailUzvPos = new Trail(QPen());
+       trailUzvPos->setZValue(10);
 
        playgroundScene->addItem(robotActPos);
        playgroundScene->addItem(robotEstPosUzv);
        playgroundScene->addItem(robotEstPosOdo);
+       
+       playgroundScene->addItem(trailRefPos);
+       playgroundScene->addItem(trailUzvPos);
+       playgroundScene->addItem(trailOdoPos);
 }
 
 /**********************************************************************
@@ -735,6 +747,8 @@ bool RobomonAtlantis::event(QEvent *event)
                case QEVENT(QEV_ESTIMATED_POSITION_ODO):
                        robotEstPosOdo->moveRobot(orte.est_pos_odo.x, 
                                        orte.est_pos_odo.y, orte.est_pos_odo.phi);
+                       trailOdoPos->addPoint(QPointF(orte.est_pos_odo.x, 
+                                             orte.est_pos_odo.y));
                        break;
                case QEVENT(QEV_DI):
                        emit diReceivedSignal();
@@ -988,6 +1002,7 @@ void RobomonAtlantis::actualPositionReceived()
                        .arg(orte.ref_pos.phi, 0, 'f', 1));
        robotActPos->moveRobot(orte.ref_pos.x, 
                orte.ref_pos.y, orte.ref_pos.phi);
+       trailRefPos->addPoint(QPointF(orte.ref_pos.x, orte.ref_pos.y));
 }
 
 void RobomonAtlantis::estimatedPositionReceived()
@@ -999,6 +1014,8 @@ void RobomonAtlantis::estimatedPositionReceived()
                        .arg(orte.est_pos_uzv.phi, 0, 'f', 1));
        robotEstPosUzv->moveRobot(orte.est_pos_uzv.x, 
                orte.est_pos_uzv.y, orte.est_pos_uzv.phi);
+       trailUzvPos->addPoint(QPointF(orte.est_pos_odo.x, 
+                             orte.est_pos_odo.y));
 }
 
 void RobomonAtlantis::diReceived()
index a8c04cc824cf9bb455dcab7e682eed0a8002c6fc..fcad189dae1ec4af2e208b6a2f2a88b57afe680b 100644 (file)
@@ -22,6 +22,7 @@
 #include "Robot.h"
 #include <roboorte_robottype.h>
 #include <roboorte.h>
+#include "trail.h"
 
 class QHBoxLayout;
 class QVBoxLayout;
@@ -190,6 +191,10 @@ private:
        Robot *robotActPos;
        Robot *robotEstPosUzv;
        Robot *robotEstPosOdo;
+       
+       Trail *trailRefPos;
+       Trail *trailUzvPos;
+       Trail *trailOdoPos;
 
        /* keypad */
        double leftMotorValue;
index 64a5f1a0bc3158e48b35365594198181d6615c07..8208cb971ea7b4cbebe968618258926d84432381 100644 (file)
@@ -10,7 +10,8 @@ SOURCES += main.cpp \
            GlWidget.cpp \
            MiscGui.cpp \
            robomon_orte.cpp \
- playgroundview.cpp
+ playgroundview.cpp \
+ trail.cpp
 
 TEMPLATE = app
 CONFIG += warn_on \
@@ -31,7 +32,8 @@ HEADERS += MainWindow.h \
            GlWidget.h \
            MiscGui.h \
            robomon_orte.h \
- playgroundview.h
+ playgroundview.h \
+ trail.h
 
 LIBS += -lm -lpthread -lmcl -llaser-nav -lrobodim -lrobomath -lroboorte \
                -lrobottype -lorte  -lsharp -lmap -lactlib