solaESKF_EIGEN

Dependencies:   mbed LPS25HB_I2C LSM9DS1 PIDcontroller LoopTicker GPSUBX_UART_Eigen SBUS_without_mainfile MedianFilter Eigen UsaPack solaESKF_Eigen Vector3 CalibrateMagneto FastPWM

Revision:
139:b378528c05f2
Parent:
137:240588882ae2
Child:
140:53dbdb207542
--- a/global.hpp	Wed Dec 01 19:17:36 2021 +0000
+++ b/global.hpp	Mon Dec 06 08:26:16 2021 +0000
@@ -9,8 +9,6 @@
 #include <cmath>
 #include "UsaPack.hpp"
 #include "Vector3.hpp"
-#include "Matrix.h"
-#include "MatrixMath.h"
 #include "LSM9DS1.h"
 #include "LPS.h"
 #include "CalibrateMagneto.h"
@@ -19,8 +17,12 @@
 #include "GPSUBX_UART.hpp"
 #include "Autopilot.hpp"
 
+// Eigen
+#include <Eigen/Dense.h>
+//using namespace std;
+using namespace Eigen;
+
 #define magresThreshold 0.025f
-#define M_PI 3.141592f
 #define ACCEL_SSF 4096.0f
 #define GYRO_SSF 131.0f
 #define PID_dt 0.015f
@@ -29,6 +31,9 @@
 #define motorPwmMax  2000.0f
 #define motorPwmMin  1100.0f
 
+#ifndef M_PI_F
+#define M_PI_F 3.141592f
+#endif
 
 struct valuePack
 {
@@ -107,9 +112,9 @@
 extern PID pitchratePID;//rad/s
 extern PID rollPID;
 extern PID rollratePID;//rad/s
-extern solaESKF eskf; // EKF class
+//extern solaESKF eskf; // EKF class
 extern int obsCount;
-extern Autopilot autopilot;
+//extern Autopilot autopilot;
 extern float roll_obj;
 extern float pitch_obj;
 extern float dT_obj;
@@ -121,17 +126,17 @@
 
 
 // position
-extern Matrix SensorAlignmentAG;
-extern Matrix SensorAlignmentMAG; 
-extern Matrix euler;
-extern Vector3 rpy; // x:roll  y:pitch  z:yaw
-extern Vector3 acc;
-extern Vector3 accref;
-extern Vector3 mag;
-extern Vector3 magref;
-extern Vector3 gyro;
-extern Vector3 vi;
-extern Vector3 pi;
+extern Matrix3f SensorAlignmentAG;
+extern Matrix3f SensorAlignmentMAG; 
+extern Vector3f euler;
+extern Vector3f rpy; // x:roll  y:pitch  z:yaw
+extern Vector3f acc;
+extern Vector3f accref;
+extern Vector3f mag;
+extern Vector3f magref;
+extern Vector3f gyro;
+extern Vector3f vi;
+extern Vector3f pi;
 extern float palt;
 extern float palt0;
 extern float dynaccnorm2;
@@ -161,7 +166,7 @@
 extern float accMin[3];
 extern float accMax[3];
 
-extern Vector3 rpy_align;
+extern Vector3f rpy_align;
 
 
 //// UsaPack
@@ -202,7 +207,7 @@
 extern void point_guide();
 extern void turning();
 extern void climb();
-extern Vector3 calc_vdot();
+extern Vector3f calc_vdot();
 
 // servo.cpp
 extern void calcServoOut();
@@ -214,6 +219,6 @@
 
 // global.cpp
 extern float mapfloat(float x, float in_min, float in_max, float out_min, float out_max);
-extern void setDiag(Matrix& mat, float val);
-extern void setBlockDiag(Matrix& mat, float val,int startIndex, int endIndex);
+extern void setDiag(Matrix3f& mat, float val);
+extern void setBlockDiag(Matrix3f& mat, float val,int startIndex, int endIndex);
 #endif
\ No newline at end of file