Eigen Revision

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

Revision:
73:84ffa0166e6c
Parent:
72:267e2cfddb0b
Child:
74:f67062e7813e
--- a/global.cpp	Wed Jun 30 01:16:21 2021 +0000
+++ b/global.cpp	Thu Jul 15 05:26:15 2021 +0000
@@ -15,15 +15,16 @@
 // io
 DigitalIn userButton(USER_BUTTON);
 SBUS sbus(PD_5, PD_6);
+Joystick joystick(PC_3,PF_3,PF_5);
 
 // control
 FastPWM servoRight(PE_9);
 FastPWM servoLeft(PE_11);
 FastPWM servoThrust(PE_13);
-PID pitchPID(5.0, 0,0,PID_dt); //rad
-PID pitchratePID(0.5, 0.0, 0.0, PID_dt);//rad/s
-PID rollPID(5.0,0.0,0.0,PID_dt);
-PID rollratePID(5, 0.0, 0.0, PID_dt);//rad/s
+PID pitchPID(20.0f*0.6f,20.0f*1.2f/2.0f,0.0,PID_dt); //rad
+PID pitchratePID(0.075f*20.0f*2.0f, 0.0, 0.0, PID_dt);//rad/s
+PID rollPID(6.0f*0.6f,6.0f*1.2f/1.0f,0.0,PID_dt);
+PID rollratePID(0.075f*6.0f*1.0f, 0.0, 0.0, PID_dt);//rad/s
 errStateEKF ekf; // EKF class
 
 float rc[16];
@@ -42,6 +43,9 @@
 Vector3 mag;
 Vector3 magref(0.65f, 0.0f, 0.75f);
 Vector3 gyro;
+float de = 0.0f;
+float da = 0.0f;
+float dT = 0.0f;
 MedianFilter accMedian(3);
 MedianFilter gyroMedian(3);
 MedianFilter magMedian(3);
@@ -52,18 +56,20 @@
 float motorOut[1] = {1100.0f};
 
 int calibrationFlag = 0;
-int agoffset[6] = {0, 0, 0, -585, -83, 38 };
+int agoffset[6] = {0, 0, 0, -616, -108, 60};
 float magbiasMin[3] = {-177.574768, 90.129456, -199.611603};
 float magbiasMax[3] = {-108.064606, 160.956711, -125.601234};
 float accMin[3] = {-0.958801, -1.016878, -1.054199};
 float accMax[3] = { 1.050249, 0.965697, 0.946194};
 
-Vector3 rpy_align(8.798061f*M_PI/180.0f, 0.953862f*M_PI/180.0f, 0.0f*M_PI/180.0f
-);
+Vector3 rpy_align(8.798061f*M_PI/180.0f, 0.953862f*M_PI/180.0f, 0.0f*M_PI/180.0f);
 
 
 // UsaPack
-valuePack posValues;
+valuePack vp;
+
+// HIL
+bool hilFlag = true;
 
 float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)
 {