]> rtime.felk.cvut.cz Git - eurobot/public.git/commitdiff
robomon: Replace hokuyo with sick for opponent detection, hokuyo is used for shape...
authorMatous Pokorny <matous.pokorny@me.com>
Fri, 28 Sep 2012 13:13:23 +0000 (15:13 +0200)
committerMatous Pokorny <matous.pokorny@me.com>
Fri, 28 Sep 2012 13:13:23 +0000 (15:13 +0200)
src/robomon/RobomonAtlantis.cpp
src/robomon/hokuyoscan.cpp
src/robomon/hokuyoscan.h

index 7995af1d8108856a40a11fb9ca87b99b71dac23b..98d9c70ce74b5c2a98670fb4f4e5983c4665b395 100644 (file)
@@ -588,7 +588,7 @@ bool RobomonAtlantis::event(QEvent *event)
                        emit motionStatusReceivedSignal();
                        break;
                case QEVENT(QEV_HOKUYO_SCAN):
-                       hokuyoScan->newScan(&orte.hokuyo_scan);
+                       hokuyoScan->newScan(&orte.sick_scan);
                        break;
                case QEVENT(QEV_JAWS_CMD):
                        robotEstPosBest->setJaws(orte.jaws_cmd.req_pos.left);
index 0fee89faab27cc24494f3d1f5b938101f905671a..12b3e3ed4ae411a6778ef89c5fe39623cb3073a2 100644 (file)
@@ -1,6 +1,7 @@
 #include "hokuyoscan.h"
 #include <QPointF>
 #include <hokuyo.h>
+#include <sick.h>
 #include "PlaygroundScene.h"
 #include <robodim.h>
 #include <iostream>
@@ -8,6 +9,7 @@
 HokuyoScan::HokuyoScan() : QGraphicsItem(), showShapeDetect(false)
 {
     memset(&data, 0, sizeof(data));
+    memset(&sick_data, 0, sizeof(sick_data));
 }
 
 HokuyoScan::~HokuyoScan()
@@ -60,7 +62,7 @@ void HokuyoScan::paint(QPainter * painter, const QStyleOptionGraphicsItem * opti
 {
     int d;
     double ang;
-    QPointF points[HOKUYO_ARRAY_SIZE + 1];
+    QPointF points[SICK_ARRAY_SIZE + 1];
     unsigned point_num = 0;
     QColor color;
 
@@ -69,12 +71,12 @@ void HokuyoScan::paint(QPainter * painter, const QStyleOptionGraphicsItem * opti
     color.setAlpha(50);
     painter->setBrush(QBrush(color));
 
-    for (unsigned i=0; i < HOKUYO_ARRAY_SIZE; i++) {
-        d = data.data[i];
+    for (unsigned i=0; i < SICK_ARRAY_SIZE; i++) {
+        d = sick_data.data[i];
 
-        ang = HOKUYO_INDEX_TO_RAD(i);
+        ang = SICK_INDEX_TO_RAD(i);
 
-        if((ang<(-HOKUYO_RANGE_ANGLE_LEFT/180.0*M_PI))||((ang>(HOKUYO_RANGE_ANGLE_RIGHT/180.0*M_PI)))) {
+        if((ang<(-SICK_RANGE_ANGLE_LEFT/180.0*M_PI))||((ang>(SICK_RANGE_ANGLE_RIGHT/180.0*M_PI)))) {
                 continue;
         }
 
@@ -88,8 +90,8 @@ void HokuyoScan::paint(QPainter * painter, const QStyleOptionGraphicsItem * opti
                point_num++;
            }
 
-            x = d * cos(HOKUYO_INDEX_TO_RAD(i));
-            y = d * sin(HOKUYO_INDEX_TO_RAD(i));
+            x = d * cos(SICK_INDEX_TO_RAD(i));
+            y = d * sin(SICK_INDEX_TO_RAD(i));
 
            points[point_num] = QPointF(x, y);
            point_num++;
@@ -113,14 +115,14 @@ void HokuyoScan::setPosition(double x, double y, double phi)
        this->phi = phi;
 }
 
-void HokuyoScan::newScan(struct hokuyo_scan_type *scan)
+void HokuyoScan::newScan(struct sick_scan_type *scan)
 {
     QPointF pos(x, y);
     pos = PlaygroundScene::world2scene(pos);
     setPos(pos);
-    setTransform(QTransform().rotateRadians(phi).translate(HOKUYO_CENTER_OFFSET_MM, 0));
+    setTransform(QTransform().rotateRadians(phi).translate(SICK_CENTER_OFFSET_MM, 0));
 
-    data = *scan;
+    sick_data = *scan;
 
     update(boundingRect());
 }
index f0be8c4a1657064d8f420133ae66cf06ef5e2823..5f4768c42fe99474ce5df65d814d78d36efade0e 100644 (file)
@@ -15,11 +15,12 @@ class HokuyoScan : public QGraphicsItem
 public:
     bool showShapeDetect;
     struct hokuyo_scan_type data;
+    struct sick_scan_type sick_data;
     HokuyoScan();
     QRectF boundingRect() const;
     void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
     void setPosition(double x, double y, double phi);
-    void newScan(struct hokuyo_scan_type *scan);
+    void newScan(struct sick_scan_type *scan);
 
     void paintShapeDetect(QPainter * painter);