From 0fbf1f42e916147c61648ced7b52bd3b67a7c827 Mon Sep 17 00:00:00 2001
From: Steven Lange <langestx@informatik.hu-berlin.de>
Date: Fri, 20 Apr 2018 13:39:33 +0000
Subject: [PATCH] Implemented Egomotion.h

---
 modules/catkin_ws/src/car/CMakeLists.txt      |  2 +-
 .../src/car/include/environment/Environment.h | 13 +++++++
 .../src/car/src/environment/Environment.cpp   | 38 +++++++++----------
 3 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/modules/catkin_ws/src/car/CMakeLists.txt b/modules/catkin_ws/src/car/CMakeLists.txt
index 0b32354a..ea019a94 100644
--- a/modules/catkin_ws/src/car/CMakeLists.txt
+++ b/modules/catkin_ws/src/car/CMakeLists.txt
@@ -7,7 +7,7 @@ set(CMAKE_CXX_STANDARD 14)
 set(CMAKE_CXX_FLAGS "-pthread")
 
 # Include Boost
-find_package(Boost REQUIRED COMPONENTS system regex)
+find_package(Boost REQUIRED)
 
 find_package(catkin REQUIRED COMPONENTS
   roscpp
diff --git a/modules/catkin_ws/src/car/include/environment/Environment.h b/modules/catkin_ws/src/car/include/environment/Environment.h
index ff28f961..85ec0298 100644
--- a/modules/catkin_ws/src/car/include/environment/Environment.h
+++ b/modules/catkin_ws/src/car/include/environment/Environment.h
@@ -3,10 +3,13 @@
 
 #include <nodelet/nodelet.h>
 #include <ros/ros.h>
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/matrix.hpp>
 
 #include "car/ussDataMsg.h"
 #include "car/camDataMsg.h"
 
+using namespace boost::numeric::ublas;
 namespace car
 {
 class Environment : public nodelet::Nodelet
@@ -35,6 +38,16 @@ private:
     void ussDataCallback(const ussDataMsg::ConstPtr & inMsg);
 
     void camDataCallback(const camDataMsg::ConstPtr & inMsg);
+
+    zero_vector<double> x {2};
+    zero_matrix<double> P {2, 2};
+    zero_matrix<double> F {2, 2};
+    zero_matrix<double> Q {2, 2};
+    zero_vector<double> H {2};
+    zero_vector<double> R {1};
+    
+    void predict();
+    void update(vector<double> mesVec);
 };
 }
 #endif
diff --git a/modules/catkin_ws/src/car/src/environment/Environment.cpp b/modules/catkin_ws/src/car/src/environment/Environment.cpp
index 8718a215..1f5d69fd 100644
--- a/modules/catkin_ws/src/car/src/environment/Environment.cpp
+++ b/modules/catkin_ws/src/car/src/environment/Environment.cpp
@@ -11,27 +11,27 @@ PLUGINLIB_EXPORT_CLASS(car::Environment, nodelet::Nodelet);
 
 namespace car
 {
-	Environment::Environment(ros::NodeHandle &nh, std::string &name) :
+Environment::Environment(ros::NodeHandle &nh, std::string &name) :
     nh_(nh), 
     name_(name),
     distance(0),
     relativeSpeed(0) {}
   
-	Environment::Environment() {}
+Environment::Environment() {}
   
-	Environment::~Environment() {}
-  
-	void Environment::onInit()
-	{
-		NODELET_INFO("Environment::onInit -- START");
-	  environmentData = nh_.advertise<environmentDataMsg>("environmentData", 1);
-	  ussData = nh_.subscribe("ussData", 1, &Environment::ussDataCallback, this);
-	  camData = nh_.subscribe("camData", 1, &Environment::camDataCallback, this);
-		NODELET_INFO("Environment::onInit -- END");
-	}
+Environment::~Environment() {}
+ 
+void Environment::onInit()
+{
+    NODELET_INFO("Environment::onInit -- START");
+    environmentData = nh_.advertise<environmentDataMsg>("environmentData", 1);
+    ussData = nh_.subscribe("ussData", 1, &Environment::ussDataCallback, this);
+    camData = nh_.subscribe("camData", 1, &Environment::camDataCallback, this);
+    NODELET_INFO("Environment::onInit -- END");
+}
 
-  void Environment::ussDataCallback(const ussDataMsg::ConstPtr& inMsg)
-  {
+void Environment::ussDataCallback(const ussDataMsg::ConstPtr& inMsg)
+{
     // std::cout << "Environment recived new uss data (" << inMsg->distance << ").\n";
     distance = inMsg->distance;
     relativeSpeed = 1.0;
@@ -41,12 +41,10 @@ namespace car
     outMsg.relativeSpeed = relativeSpeed;
     
     environmentData.publish(outMsg);
-  }
+}
 
-  void Environment::camDataCallback(const camDataMsg::ConstPtr& inMsg)
-  {
+void Environment::camDataCallback(const camDataMsg::ConstPtr& inMsg)
+{
     // std::cout << "Environment recived new cam data ( ).\n";
-  }
-  
-  
+}
 }
-- 
GitLab