This commit is contained in:
firestar5683
2026-09-04 21:58:10 -05:00
parent b5ab54ab6d
commit 53e5c5246d
83 changed files with 1347 additions and 1347 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1,2 +1,2 @@
extern const uint8_t gitversion[19];
const uint8_t gitversion[19] = "DEV-26ce46ba-DEBUG";
const uint8_t gitversion[19] = "DEV-b5ab54ab-DEBUG";
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
DEV-26ce46ba-DEBUG
DEV-b5ab54ab-DEBUG
+342 -342
View File
@@ -45,326 +45,326 @@ const static double MAHA_THRESH_31 = 3.8414588206941227;
* *
* This file is part of 'ekf' *
******************************************************************************/
void err_fun(double *nom_x, double *delta_x, double *out_8341138954345272666) {
out_8341138954345272666[0] = delta_x[0] + nom_x[0];
out_8341138954345272666[1] = delta_x[1] + nom_x[1];
out_8341138954345272666[2] = delta_x[2] + nom_x[2];
out_8341138954345272666[3] = delta_x[3] + nom_x[3];
out_8341138954345272666[4] = delta_x[4] + nom_x[4];
out_8341138954345272666[5] = delta_x[5] + nom_x[5];
out_8341138954345272666[6] = delta_x[6] + nom_x[6];
out_8341138954345272666[7] = delta_x[7] + nom_x[7];
out_8341138954345272666[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_4885896537278282144) {
out_4885896537278282144[0] = delta_x[0] + nom_x[0];
out_4885896537278282144[1] = delta_x[1] + nom_x[1];
out_4885896537278282144[2] = delta_x[2] + nom_x[2];
out_4885896537278282144[3] = delta_x[3] + nom_x[3];
out_4885896537278282144[4] = delta_x[4] + nom_x[4];
out_4885896537278282144[5] = delta_x[5] + nom_x[5];
out_4885896537278282144[6] = delta_x[6] + nom_x[6];
out_4885896537278282144[7] = delta_x[7] + nom_x[7];
out_4885896537278282144[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_1053229851557441146) {
out_1053229851557441146[0] = -nom_x[0] + true_x[0];
out_1053229851557441146[1] = -nom_x[1] + true_x[1];
out_1053229851557441146[2] = -nom_x[2] + true_x[2];
out_1053229851557441146[3] = -nom_x[3] + true_x[3];
out_1053229851557441146[4] = -nom_x[4] + true_x[4];
out_1053229851557441146[5] = -nom_x[5] + true_x[5];
out_1053229851557441146[6] = -nom_x[6] + true_x[6];
out_1053229851557441146[7] = -nom_x[7] + true_x[7];
out_1053229851557441146[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_3745151970403573209) {
out_3745151970403573209[0] = -nom_x[0] + true_x[0];
out_3745151970403573209[1] = -nom_x[1] + true_x[1];
out_3745151970403573209[2] = -nom_x[2] + true_x[2];
out_3745151970403573209[3] = -nom_x[3] + true_x[3];
out_3745151970403573209[4] = -nom_x[4] + true_x[4];
out_3745151970403573209[5] = -nom_x[5] + true_x[5];
out_3745151970403573209[6] = -nom_x[6] + true_x[6];
out_3745151970403573209[7] = -nom_x[7] + true_x[7];
out_3745151970403573209[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_1742832659992124751) {
out_1742832659992124751[0] = 1.0;
out_1742832659992124751[1] = 0.0;
out_1742832659992124751[2] = 0.0;
out_1742832659992124751[3] = 0.0;
out_1742832659992124751[4] = 0.0;
out_1742832659992124751[5] = 0.0;
out_1742832659992124751[6] = 0.0;
out_1742832659992124751[7] = 0.0;
out_1742832659992124751[8] = 0.0;
out_1742832659992124751[9] = 0.0;
out_1742832659992124751[10] = 1.0;
out_1742832659992124751[11] = 0.0;
out_1742832659992124751[12] = 0.0;
out_1742832659992124751[13] = 0.0;
out_1742832659992124751[14] = 0.0;
out_1742832659992124751[15] = 0.0;
out_1742832659992124751[16] = 0.0;
out_1742832659992124751[17] = 0.0;
out_1742832659992124751[18] = 0.0;
out_1742832659992124751[19] = 0.0;
out_1742832659992124751[20] = 1.0;
out_1742832659992124751[21] = 0.0;
out_1742832659992124751[22] = 0.0;
out_1742832659992124751[23] = 0.0;
out_1742832659992124751[24] = 0.0;
out_1742832659992124751[25] = 0.0;
out_1742832659992124751[26] = 0.0;
out_1742832659992124751[27] = 0.0;
out_1742832659992124751[28] = 0.0;
out_1742832659992124751[29] = 0.0;
out_1742832659992124751[30] = 1.0;
out_1742832659992124751[31] = 0.0;
out_1742832659992124751[32] = 0.0;
out_1742832659992124751[33] = 0.0;
out_1742832659992124751[34] = 0.0;
out_1742832659992124751[35] = 0.0;
out_1742832659992124751[36] = 0.0;
out_1742832659992124751[37] = 0.0;
out_1742832659992124751[38] = 0.0;
out_1742832659992124751[39] = 0.0;
out_1742832659992124751[40] = 1.0;
out_1742832659992124751[41] = 0.0;
out_1742832659992124751[42] = 0.0;
out_1742832659992124751[43] = 0.0;
out_1742832659992124751[44] = 0.0;
out_1742832659992124751[45] = 0.0;
out_1742832659992124751[46] = 0.0;
out_1742832659992124751[47] = 0.0;
out_1742832659992124751[48] = 0.0;
out_1742832659992124751[49] = 0.0;
out_1742832659992124751[50] = 1.0;
out_1742832659992124751[51] = 0.0;
out_1742832659992124751[52] = 0.0;
out_1742832659992124751[53] = 0.0;
out_1742832659992124751[54] = 0.0;
out_1742832659992124751[55] = 0.0;
out_1742832659992124751[56] = 0.0;
out_1742832659992124751[57] = 0.0;
out_1742832659992124751[58] = 0.0;
out_1742832659992124751[59] = 0.0;
out_1742832659992124751[60] = 1.0;
out_1742832659992124751[61] = 0.0;
out_1742832659992124751[62] = 0.0;
out_1742832659992124751[63] = 0.0;
out_1742832659992124751[64] = 0.0;
out_1742832659992124751[65] = 0.0;
out_1742832659992124751[66] = 0.0;
out_1742832659992124751[67] = 0.0;
out_1742832659992124751[68] = 0.0;
out_1742832659992124751[69] = 0.0;
out_1742832659992124751[70] = 1.0;
out_1742832659992124751[71] = 0.0;
out_1742832659992124751[72] = 0.0;
out_1742832659992124751[73] = 0.0;
out_1742832659992124751[74] = 0.0;
out_1742832659992124751[75] = 0.0;
out_1742832659992124751[76] = 0.0;
out_1742832659992124751[77] = 0.0;
out_1742832659992124751[78] = 0.0;
out_1742832659992124751[79] = 0.0;
out_1742832659992124751[80] = 1.0;
void H_mod_fun(double *state, double *out_2937880372820632520) {
out_2937880372820632520[0] = 1.0;
out_2937880372820632520[1] = 0.0;
out_2937880372820632520[2] = 0.0;
out_2937880372820632520[3] = 0.0;
out_2937880372820632520[4] = 0.0;
out_2937880372820632520[5] = 0.0;
out_2937880372820632520[6] = 0.0;
out_2937880372820632520[7] = 0.0;
out_2937880372820632520[8] = 0.0;
out_2937880372820632520[9] = 0.0;
out_2937880372820632520[10] = 1.0;
out_2937880372820632520[11] = 0.0;
out_2937880372820632520[12] = 0.0;
out_2937880372820632520[13] = 0.0;
out_2937880372820632520[14] = 0.0;
out_2937880372820632520[15] = 0.0;
out_2937880372820632520[16] = 0.0;
out_2937880372820632520[17] = 0.0;
out_2937880372820632520[18] = 0.0;
out_2937880372820632520[19] = 0.0;
out_2937880372820632520[20] = 1.0;
out_2937880372820632520[21] = 0.0;
out_2937880372820632520[22] = 0.0;
out_2937880372820632520[23] = 0.0;
out_2937880372820632520[24] = 0.0;
out_2937880372820632520[25] = 0.0;
out_2937880372820632520[26] = 0.0;
out_2937880372820632520[27] = 0.0;
out_2937880372820632520[28] = 0.0;
out_2937880372820632520[29] = 0.0;
out_2937880372820632520[30] = 1.0;
out_2937880372820632520[31] = 0.0;
out_2937880372820632520[32] = 0.0;
out_2937880372820632520[33] = 0.0;
out_2937880372820632520[34] = 0.0;
out_2937880372820632520[35] = 0.0;
out_2937880372820632520[36] = 0.0;
out_2937880372820632520[37] = 0.0;
out_2937880372820632520[38] = 0.0;
out_2937880372820632520[39] = 0.0;
out_2937880372820632520[40] = 1.0;
out_2937880372820632520[41] = 0.0;
out_2937880372820632520[42] = 0.0;
out_2937880372820632520[43] = 0.0;
out_2937880372820632520[44] = 0.0;
out_2937880372820632520[45] = 0.0;
out_2937880372820632520[46] = 0.0;
out_2937880372820632520[47] = 0.0;
out_2937880372820632520[48] = 0.0;
out_2937880372820632520[49] = 0.0;
out_2937880372820632520[50] = 1.0;
out_2937880372820632520[51] = 0.0;
out_2937880372820632520[52] = 0.0;
out_2937880372820632520[53] = 0.0;
out_2937880372820632520[54] = 0.0;
out_2937880372820632520[55] = 0.0;
out_2937880372820632520[56] = 0.0;
out_2937880372820632520[57] = 0.0;
out_2937880372820632520[58] = 0.0;
out_2937880372820632520[59] = 0.0;
out_2937880372820632520[60] = 1.0;
out_2937880372820632520[61] = 0.0;
out_2937880372820632520[62] = 0.0;
out_2937880372820632520[63] = 0.0;
out_2937880372820632520[64] = 0.0;
out_2937880372820632520[65] = 0.0;
out_2937880372820632520[66] = 0.0;
out_2937880372820632520[67] = 0.0;
out_2937880372820632520[68] = 0.0;
out_2937880372820632520[69] = 0.0;
out_2937880372820632520[70] = 1.0;
out_2937880372820632520[71] = 0.0;
out_2937880372820632520[72] = 0.0;
out_2937880372820632520[73] = 0.0;
out_2937880372820632520[74] = 0.0;
out_2937880372820632520[75] = 0.0;
out_2937880372820632520[76] = 0.0;
out_2937880372820632520[77] = 0.0;
out_2937880372820632520[78] = 0.0;
out_2937880372820632520[79] = 0.0;
out_2937880372820632520[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_418888185766452101) {
out_418888185766452101[0] = state[0];
out_418888185766452101[1] = state[1];
out_418888185766452101[2] = state[2];
out_418888185766452101[3] = state[3];
out_418888185766452101[4] = state[4];
out_418888185766452101[5] = dt*((-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]))*state[6] - 9.8100000000000005*state[8] + stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*state[1]) + (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*state[4])) + state[5];
out_418888185766452101[6] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*state[4])) + state[6];
out_418888185766452101[7] = state[7];
out_418888185766452101[8] = state[8];
void f_fun(double *state, double dt, double *out_4204558600518622219) {
out_4204558600518622219[0] = state[0];
out_4204558600518622219[1] = state[1];
out_4204558600518622219[2] = state[2];
out_4204558600518622219[3] = state[3];
out_4204558600518622219[4] = state[4];
out_4204558600518622219[5] = dt*((-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]))*state[6] - 9.8100000000000005*state[8] + stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*state[1]) + (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*state[4])) + state[5];
out_4204558600518622219[6] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*state[4])) + state[6];
out_4204558600518622219[7] = state[7];
out_4204558600518622219[8] = state[8];
}
void F_fun(double *state, double dt, double *out_7332131154779998147) {
out_7332131154779998147[0] = 1;
out_7332131154779998147[1] = 0;
out_7332131154779998147[2] = 0;
out_7332131154779998147[3] = 0;
out_7332131154779998147[4] = 0;
out_7332131154779998147[5] = 0;
out_7332131154779998147[6] = 0;
out_7332131154779998147[7] = 0;
out_7332131154779998147[8] = 0;
out_7332131154779998147[9] = 0;
out_7332131154779998147[10] = 1;
out_7332131154779998147[11] = 0;
out_7332131154779998147[12] = 0;
out_7332131154779998147[13] = 0;
out_7332131154779998147[14] = 0;
out_7332131154779998147[15] = 0;
out_7332131154779998147[16] = 0;
out_7332131154779998147[17] = 0;
out_7332131154779998147[18] = 0;
out_7332131154779998147[19] = 0;
out_7332131154779998147[20] = 1;
out_7332131154779998147[21] = 0;
out_7332131154779998147[22] = 0;
out_7332131154779998147[23] = 0;
out_7332131154779998147[24] = 0;
out_7332131154779998147[25] = 0;
out_7332131154779998147[26] = 0;
out_7332131154779998147[27] = 0;
out_7332131154779998147[28] = 0;
out_7332131154779998147[29] = 0;
out_7332131154779998147[30] = 1;
out_7332131154779998147[31] = 0;
out_7332131154779998147[32] = 0;
out_7332131154779998147[33] = 0;
out_7332131154779998147[34] = 0;
out_7332131154779998147[35] = 0;
out_7332131154779998147[36] = 0;
out_7332131154779998147[37] = 0;
out_7332131154779998147[38] = 0;
out_7332131154779998147[39] = 0;
out_7332131154779998147[40] = 1;
out_7332131154779998147[41] = 0;
out_7332131154779998147[42] = 0;
out_7332131154779998147[43] = 0;
out_7332131154779998147[44] = 0;
out_7332131154779998147[45] = dt*(stiffness_front*(-state[2] - state[3] + state[7])/(mass*state[1]) + (-stiffness_front - stiffness_rear)*state[5]/(mass*state[4]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[6]/(mass*state[4]));
out_7332131154779998147[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_7332131154779998147[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_7332131154779998147[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_7332131154779998147[49] = dt*((-1 - (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*pow(state[4], 2)))*state[6] - (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*pow(state[4], 2)));
out_7332131154779998147[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_7332131154779998147[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_7332131154779998147[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_7332131154779998147[53] = -9.8100000000000005*dt;
out_7332131154779998147[54] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front - pow(center_to_rear, 2)*stiffness_rear)*state[6]/(rotational_inertia*state[4]));
out_7332131154779998147[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_7332131154779998147[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7332131154779998147[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7332131154779998147[58] = dt*(-(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*pow(state[4], 2)) - (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*pow(state[4], 2)));
out_7332131154779998147[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_7332131154779998147[60] = dt*(-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])/(rotational_inertia*state[4]) + 1;
out_7332131154779998147[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7332131154779998147[62] = 0;
out_7332131154779998147[63] = 0;
out_7332131154779998147[64] = 0;
out_7332131154779998147[65] = 0;
out_7332131154779998147[66] = 0;
out_7332131154779998147[67] = 0;
out_7332131154779998147[68] = 0;
out_7332131154779998147[69] = 0;
out_7332131154779998147[70] = 1;
out_7332131154779998147[71] = 0;
out_7332131154779998147[72] = 0;
out_7332131154779998147[73] = 0;
out_7332131154779998147[74] = 0;
out_7332131154779998147[75] = 0;
out_7332131154779998147[76] = 0;
out_7332131154779998147[77] = 0;
out_7332131154779998147[78] = 0;
out_7332131154779998147[79] = 0;
out_7332131154779998147[80] = 1;
void F_fun(double *state, double dt, double *out_3726788735705827984) {
out_3726788735705827984[0] = 1;
out_3726788735705827984[1] = 0;
out_3726788735705827984[2] = 0;
out_3726788735705827984[3] = 0;
out_3726788735705827984[4] = 0;
out_3726788735705827984[5] = 0;
out_3726788735705827984[6] = 0;
out_3726788735705827984[7] = 0;
out_3726788735705827984[8] = 0;
out_3726788735705827984[9] = 0;
out_3726788735705827984[10] = 1;
out_3726788735705827984[11] = 0;
out_3726788735705827984[12] = 0;
out_3726788735705827984[13] = 0;
out_3726788735705827984[14] = 0;
out_3726788735705827984[15] = 0;
out_3726788735705827984[16] = 0;
out_3726788735705827984[17] = 0;
out_3726788735705827984[18] = 0;
out_3726788735705827984[19] = 0;
out_3726788735705827984[20] = 1;
out_3726788735705827984[21] = 0;
out_3726788735705827984[22] = 0;
out_3726788735705827984[23] = 0;
out_3726788735705827984[24] = 0;
out_3726788735705827984[25] = 0;
out_3726788735705827984[26] = 0;
out_3726788735705827984[27] = 0;
out_3726788735705827984[28] = 0;
out_3726788735705827984[29] = 0;
out_3726788735705827984[30] = 1;
out_3726788735705827984[31] = 0;
out_3726788735705827984[32] = 0;
out_3726788735705827984[33] = 0;
out_3726788735705827984[34] = 0;
out_3726788735705827984[35] = 0;
out_3726788735705827984[36] = 0;
out_3726788735705827984[37] = 0;
out_3726788735705827984[38] = 0;
out_3726788735705827984[39] = 0;
out_3726788735705827984[40] = 1;
out_3726788735705827984[41] = 0;
out_3726788735705827984[42] = 0;
out_3726788735705827984[43] = 0;
out_3726788735705827984[44] = 0;
out_3726788735705827984[45] = dt*(stiffness_front*(-state[2] - state[3] + state[7])/(mass*state[1]) + (-stiffness_front - stiffness_rear)*state[5]/(mass*state[4]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[6]/(mass*state[4]));
out_3726788735705827984[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_3726788735705827984[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3726788735705827984[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3726788735705827984[49] = dt*((-1 - (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*pow(state[4], 2)))*state[6] - (-stiffness_front*state[0] - stiffness_rear*state[0])*state[5]/(mass*pow(state[4], 2)));
out_3726788735705827984[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_3726788735705827984[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_3726788735705827984[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_3726788735705827984[53] = -9.8100000000000005*dt;
out_3726788735705827984[54] = dt*(center_to_front*stiffness_front*(-state[2] - state[3] + state[7])/(rotational_inertia*state[1]) + (-center_to_front*stiffness_front + center_to_rear*stiffness_rear)*state[5]/(rotational_inertia*state[4]) + (-pow(center_to_front, 2)*stiffness_front - pow(center_to_rear, 2)*stiffness_rear)*state[6]/(rotational_inertia*state[4]));
out_3726788735705827984[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_3726788735705827984[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3726788735705827984[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3726788735705827984[58] = dt*(-(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])*state[5]/(rotational_inertia*pow(state[4], 2)) - (-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])*state[6]/(rotational_inertia*pow(state[4], 2)));
out_3726788735705827984[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_3726788735705827984[60] = dt*(-pow(center_to_front, 2)*stiffness_front*state[0] - pow(center_to_rear, 2)*stiffness_rear*state[0])/(rotational_inertia*state[4]) + 1;
out_3726788735705827984[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3726788735705827984[62] = 0;
out_3726788735705827984[63] = 0;
out_3726788735705827984[64] = 0;
out_3726788735705827984[65] = 0;
out_3726788735705827984[66] = 0;
out_3726788735705827984[67] = 0;
out_3726788735705827984[68] = 0;
out_3726788735705827984[69] = 0;
out_3726788735705827984[70] = 1;
out_3726788735705827984[71] = 0;
out_3726788735705827984[72] = 0;
out_3726788735705827984[73] = 0;
out_3726788735705827984[74] = 0;
out_3726788735705827984[75] = 0;
out_3726788735705827984[76] = 0;
out_3726788735705827984[77] = 0;
out_3726788735705827984[78] = 0;
out_3726788735705827984[79] = 0;
out_3726788735705827984[80] = 1;
}
void h_25(double *state, double *unused, double *out_2120117969057149735) {
out_2120117969057149735[0] = state[6];
void h_25(double *state, double *unused, double *out_6349123496291746259) {
out_6349123496291746259[0] = state[6];
}
void H_25(double *state, double *unused, double *out_6108633137067025220) {
out_6108633137067025220[0] = 0;
out_6108633137067025220[1] = 0;
out_6108633137067025220[2] = 0;
out_6108633137067025220[3] = 0;
out_6108633137067025220[4] = 0;
out_6108633137067025220[5] = 0;
out_6108633137067025220[6] = 1;
out_6108633137067025220[7] = 0;
out_6108633137067025220[8] = 0;
void H_25(double *state, double *unused, double *out_7841572198005297360) {
out_7841572198005297360[0] = 0;
out_7841572198005297360[1] = 0;
out_7841572198005297360[2] = 0;
out_7841572198005297360[3] = 0;
out_7841572198005297360[4] = 0;
out_7841572198005297360[5] = 0;
out_7841572198005297360[6] = 1;
out_7841572198005297360[7] = 0;
out_7841572198005297360[8] = 0;
}
void h_24(double *state, double *unused, double *out_7094254727358861625) {
out_7094254727358861625[0] = state[4];
out_7094254727358861625[1] = state[5];
void h_24(double *state, double *unused, double *out_2774216340997546785) {
out_2774216340997546785[0] = state[4];
out_2774216340997546785[1] = state[5];
}
void H_24(double *state, double *unused, double *out_8334340921045893782) {
out_8334340921045893782[0] = 0;
out_8334340921045893782[1] = 0;
out_8334340921045893782[2] = 0;
out_8334340921045893782[3] = 0;
out_8334340921045893782[4] = 1;
out_8334340921045893782[5] = 0;
out_8334340921045893782[6] = 0;
out_8334340921045893782[7] = 0;
out_8334340921045893782[8] = 0;
out_8334340921045893782[9] = 0;
out_8334340921045893782[10] = 0;
out_8334340921045893782[11] = 0;
out_8334340921045893782[12] = 0;
out_8334340921045893782[13] = 0;
out_8334340921045893782[14] = 1;
out_8334340921045893782[15] = 0;
out_8334340921045893782[16] = 0;
out_8334340921045893782[17] = 0;
void H_24(double *state, double *unused, double *out_8427957452097104283) {
out_8427957452097104283[0] = 0;
out_8427957452097104283[1] = 0;
out_8427957452097104283[2] = 0;
out_8427957452097104283[3] = 0;
out_8427957452097104283[4] = 1;
out_8427957452097104283[5] = 0;
out_8427957452097104283[6] = 0;
out_8427957452097104283[7] = 0;
out_8427957452097104283[8] = 0;
out_8427957452097104283[9] = 0;
out_8427957452097104283[10] = 0;
out_8427957452097104283[11] = 0;
out_8427957452097104283[12] = 0;
out_8427957452097104283[13] = 0;
out_8427957452097104283[14] = 1;
out_8427957452097104283[15] = 0;
out_8427957452097104283[16] = 0;
out_8427957452097104283[17] = 0;
}
void h_30(double *state, double *unused, double *out_4035329226783510394) {
out_4035329226783510394[0] = state[4];
void h_30(double *state, double *unused, double *out_5326785351067454421) {
out_5326785351067454421[0] = state[4];
}
void H_30(double *state, double *unused, double *out_5421420595150909641) {
out_5421420595150909641[0] = 0;
out_5421420595150909641[1] = 0;
out_5421420595150909641[2] = 0;
out_5421420595150909641[3] = 0;
out_5421420595150909641[4] = 1;
out_5421420595150909641[5] = 0;
out_5421420595150909641[6] = 0;
out_5421420595150909641[7] = 0;
out_5421420595150909641[8] = 0;
void H_30(double *state, double *unused, double *out_8086838917197005629) {
out_8086838917197005629[0] = 0;
out_8086838917197005629[1] = 0;
out_8086838917197005629[2] = 0;
out_8086838917197005629[3] = 0;
out_8086838917197005629[4] = 1;
out_8086838917197005629[5] = 0;
out_8086838917197005629[6] = 0;
out_8086838917197005629[7] = 0;
out_8086838917197005629[8] = 0;
}
void h_26(double *state, double *unused, double *out_3432013342107032877) {
out_3432013342107032877[0] = state[7];
void h_26(double *state, double *unused, double *out_3469524113198542719) {
out_3469524113198542719[0] = state[7];
}
void H_26(double *state, double *unused, double *out_2367129818192968996) {
out_2367129818192968996[0] = 0;
out_2367129818192968996[1] = 0;
out_2367129818192968996[2] = 0;
out_2367129818192968996[3] = 0;
out_2367129818192968996[4] = 0;
out_2367129818192968996[5] = 0;
out_2367129818192968996[6] = 0;
out_2367129818192968996[7] = 1;
out_2367129818192968996[8] = 0;
void H_26(double *state, double *unused, double *out_4100068879131241136) {
out_4100068879131241136[0] = 0;
out_4100068879131241136[1] = 0;
out_4100068879131241136[2] = 0;
out_4100068879131241136[3] = 0;
out_4100068879131241136[4] = 0;
out_4100068879131241136[5] = 0;
out_4100068879131241136[6] = 0;
out_4100068879131241136[7] = 1;
out_4100068879131241136[8] = 0;
}
void h_27(double *state, double *unused, double *out_4789453276872201226) {
out_4789453276872201226[0] = state[3];
void h_27(double *state, double *unused, double *out_1347450228630900614) {
out_1347450228630900614[0] = state[3];
}
void H_27(double *state, double *unused, double *out_7596183906951334552) {
out_7596183906951334552[0] = 0;
out_7596183906951334552[1] = 0;
out_7596183906951334552[2] = 0;
out_7596183906951334552[3] = 1;
out_7596183906951334552[4] = 0;
out_7596183906951334552[5] = 0;
out_7596183906951334552[6] = 0;
out_7596183906951334552[7] = 0;
out_7596183906951334552[8] = 0;
void H_27(double *state, double *unused, double *out_8185141844712121076) {
out_8185141844712121076[0] = 0;
out_8185141844712121076[1] = 0;
out_8185141844712121076[2] = 0;
out_8185141844712121076[3] = 1;
out_8185141844712121076[4] = 0;
out_8185141844712121076[5] = 0;
out_8185141844712121076[6] = 0;
out_8185141844712121076[7] = 0;
out_8185141844712121076[8] = 0;
}
void h_29(double *state, double *unused, double *out_8533129359367326134) {
out_8533129359367326134[0] = state[1];
void h_29(double *state, double *unused, double *out_2289999299623121736) {
out_2289999299623121736[0] = state[1];
}
void H_29(double *state, double *unused, double *out_4911189250836517457) {
out_4911189250836517457[0] = 0;
out_4911189250836517457[1] = 1;
out_4911189250836517457[2] = 0;
out_4911189250836517457[3] = 0;
out_4911189250836517457[4] = 0;
out_4911189250836517457[5] = 0;
out_4911189250836517457[6] = 0;
out_4911189250836517457[7] = 0;
out_4911189250836517457[8] = 0;
void H_29(double *state, double *unused, double *out_7576607572882613445) {
out_7576607572882613445[0] = 0;
out_7576607572882613445[1] = 1;
out_7576607572882613445[2] = 0;
out_7576607572882613445[3] = 0;
out_7576607572882613445[4] = 0;
out_7576607572882613445[5] = 0;
out_7576607572882613445[6] = 0;
out_7576607572882613445[7] = 0;
out_7576607572882613445[8] = 0;
}
void h_28(double *state, double *unused, double *out_212219990788644419) {
out_212219990788644419[0] = state[0];
void h_28(double *state, double *unused, double *out_2290960081532563049) {
out_2290960081532563049[0] = state[0];
}
void H_28(double *state, double *unused, double *out_4054798422819135457) {
out_4054798422819135457[0] = 1;
out_4054798422819135457[1] = 0;
out_4054798422819135457[2] = 0;
out_4054798422819135457[3] = 0;
out_4054798422819135457[4] = 0;
out_4054798422819135457[5] = 0;
out_4054798422819135457[6] = 0;
out_4054798422819135457[7] = 0;
out_4054798422819135457[8] = 0;
void H_28(double *state, double *unused, double *out_5787737483757407597) {
out_5787737483757407597[0] = 1;
out_5787737483757407597[1] = 0;
out_5787737483757407597[2] = 0;
out_5787737483757407597[3] = 0;
out_5787737483757407597[4] = 0;
out_5787737483757407597[5] = 0;
out_5787737483757407597[6] = 0;
out_5787737483757407597[7] = 0;
out_5787737483757407597[8] = 0;
}
void h_31(double *state, double *unused, double *out_6046731432492005227) {
out_6046731432492005227[0] = state[8];
void h_31(double *state, double *unused, double *out_8460171049163783007) {
out_8460171049163783007[0] = state[8];
}
void H_31(double *state, double *unused, double *out_6139279098943985648) {
out_6139279098943985648[0] = 0;
out_6139279098943985648[1] = 0;
out_6139279098943985648[2] = 0;
out_6139279098943985648[3] = 0;
out_6139279098943985648[4] = 0;
out_6139279098943985648[5] = 0;
out_6139279098943985648[6] = 0;
out_6139279098943985648[7] = 0;
out_6139279098943985648[8] = 1;
void H_31(double *state, double *unused, double *out_3473860776897889660) {
out_3473860776897889660[0] = 0;
out_3473860776897889660[1] = 0;
out_3473860776897889660[2] = 0;
out_3473860776897889660[3] = 0;
out_3473860776897889660[4] = 0;
out_3473860776897889660[5] = 0;
out_3473860776897889660[6] = 0;
out_3473860776897889660[7] = 0;
out_3473860776897889660[8] = 1;
}
#include <eigen3/Eigen/Dense>
#include <iostream>
@@ -518,68 +518,68 @@ void car_update_28(double *in_x, double *in_P, double *in_z, double *in_R, doubl
void car_update_31(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea) {
update<1, 3, 0>(in_x, in_P, h_31, H_31, NULL, in_z, in_R, in_ea, MAHA_THRESH_31);
}
void car_err_fun(double *nom_x, double *delta_x, double *out_8341138954345272666) {
err_fun(nom_x, delta_x, out_8341138954345272666);
void car_err_fun(double *nom_x, double *delta_x, double *out_4885896537278282144) {
err_fun(nom_x, delta_x, out_4885896537278282144);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_1053229851557441146) {
inv_err_fun(nom_x, true_x, out_1053229851557441146);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_3745151970403573209) {
inv_err_fun(nom_x, true_x, out_3745151970403573209);
}
void car_H_mod_fun(double *state, double *out_1742832659992124751) {
H_mod_fun(state, out_1742832659992124751);
void car_H_mod_fun(double *state, double *out_2937880372820632520) {
H_mod_fun(state, out_2937880372820632520);
}
void car_f_fun(double *state, double dt, double *out_418888185766452101) {
f_fun(state, dt, out_418888185766452101);
void car_f_fun(double *state, double dt, double *out_4204558600518622219) {
f_fun(state, dt, out_4204558600518622219);
}
void car_F_fun(double *state, double dt, double *out_7332131154779998147) {
F_fun(state, dt, out_7332131154779998147);
void car_F_fun(double *state, double dt, double *out_3726788735705827984) {
F_fun(state, dt, out_3726788735705827984);
}
void car_h_25(double *state, double *unused, double *out_2120117969057149735) {
h_25(state, unused, out_2120117969057149735);
void car_h_25(double *state, double *unused, double *out_6349123496291746259) {
h_25(state, unused, out_6349123496291746259);
}
void car_H_25(double *state, double *unused, double *out_6108633137067025220) {
H_25(state, unused, out_6108633137067025220);
void car_H_25(double *state, double *unused, double *out_7841572198005297360) {
H_25(state, unused, out_7841572198005297360);
}
void car_h_24(double *state, double *unused, double *out_7094254727358861625) {
h_24(state, unused, out_7094254727358861625);
void car_h_24(double *state, double *unused, double *out_2774216340997546785) {
h_24(state, unused, out_2774216340997546785);
}
void car_H_24(double *state, double *unused, double *out_8334340921045893782) {
H_24(state, unused, out_8334340921045893782);
void car_H_24(double *state, double *unused, double *out_8427957452097104283) {
H_24(state, unused, out_8427957452097104283);
}
void car_h_30(double *state, double *unused, double *out_4035329226783510394) {
h_30(state, unused, out_4035329226783510394);
void car_h_30(double *state, double *unused, double *out_5326785351067454421) {
h_30(state, unused, out_5326785351067454421);
}
void car_H_30(double *state, double *unused, double *out_5421420595150909641) {
H_30(state, unused, out_5421420595150909641);
void car_H_30(double *state, double *unused, double *out_8086838917197005629) {
H_30(state, unused, out_8086838917197005629);
}
void car_h_26(double *state, double *unused, double *out_3432013342107032877) {
h_26(state, unused, out_3432013342107032877);
void car_h_26(double *state, double *unused, double *out_3469524113198542719) {
h_26(state, unused, out_3469524113198542719);
}
void car_H_26(double *state, double *unused, double *out_2367129818192968996) {
H_26(state, unused, out_2367129818192968996);
void car_H_26(double *state, double *unused, double *out_4100068879131241136) {
H_26(state, unused, out_4100068879131241136);
}
void car_h_27(double *state, double *unused, double *out_4789453276872201226) {
h_27(state, unused, out_4789453276872201226);
void car_h_27(double *state, double *unused, double *out_1347450228630900614) {
h_27(state, unused, out_1347450228630900614);
}
void car_H_27(double *state, double *unused, double *out_7596183906951334552) {
H_27(state, unused, out_7596183906951334552);
void car_H_27(double *state, double *unused, double *out_8185141844712121076) {
H_27(state, unused, out_8185141844712121076);
}
void car_h_29(double *state, double *unused, double *out_8533129359367326134) {
h_29(state, unused, out_8533129359367326134);
void car_h_29(double *state, double *unused, double *out_2289999299623121736) {
h_29(state, unused, out_2289999299623121736);
}
void car_H_29(double *state, double *unused, double *out_4911189250836517457) {
H_29(state, unused, out_4911189250836517457);
void car_H_29(double *state, double *unused, double *out_7576607572882613445) {
H_29(state, unused, out_7576607572882613445);
}
void car_h_28(double *state, double *unused, double *out_212219990788644419) {
h_28(state, unused, out_212219990788644419);
void car_h_28(double *state, double *unused, double *out_2290960081532563049) {
h_28(state, unused, out_2290960081532563049);
}
void car_H_28(double *state, double *unused, double *out_4054798422819135457) {
H_28(state, unused, out_4054798422819135457);
void car_H_28(double *state, double *unused, double *out_5787737483757407597) {
H_28(state, unused, out_5787737483757407597);
}
void car_h_31(double *state, double *unused, double *out_6046731432492005227) {
h_31(state, unused, out_6046731432492005227);
void car_h_31(double *state, double *unused, double *out_8460171049163783007) {
h_31(state, unused, out_8460171049163783007);
}
void car_H_31(double *state, double *unused, double *out_6139279098943985648) {
H_31(state, unused, out_6139279098943985648);
void car_H_31(double *state, double *unused, double *out_3473860776897889660) {
H_31(state, unused, out_3473860776897889660);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);
+21 -21
View File
@@ -9,27 +9,27 @@ void car_update_27(double *in_x, double *in_P, double *in_z, double *in_R, doubl
void car_update_29(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void car_update_28(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void car_update_31(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void car_err_fun(double *nom_x, double *delta_x, double *out_8341138954345272666);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_1053229851557441146);
void car_H_mod_fun(double *state, double *out_1742832659992124751);
void car_f_fun(double *state, double dt, double *out_418888185766452101);
void car_F_fun(double *state, double dt, double *out_7332131154779998147);
void car_h_25(double *state, double *unused, double *out_2120117969057149735);
void car_H_25(double *state, double *unused, double *out_6108633137067025220);
void car_h_24(double *state, double *unused, double *out_7094254727358861625);
void car_H_24(double *state, double *unused, double *out_8334340921045893782);
void car_h_30(double *state, double *unused, double *out_4035329226783510394);
void car_H_30(double *state, double *unused, double *out_5421420595150909641);
void car_h_26(double *state, double *unused, double *out_3432013342107032877);
void car_H_26(double *state, double *unused, double *out_2367129818192968996);
void car_h_27(double *state, double *unused, double *out_4789453276872201226);
void car_H_27(double *state, double *unused, double *out_7596183906951334552);
void car_h_29(double *state, double *unused, double *out_8533129359367326134);
void car_H_29(double *state, double *unused, double *out_4911189250836517457);
void car_h_28(double *state, double *unused, double *out_212219990788644419);
void car_H_28(double *state, double *unused, double *out_4054798422819135457);
void car_h_31(double *state, double *unused, double *out_6046731432492005227);
void car_H_31(double *state, double *unused, double *out_6139279098943985648);
void car_err_fun(double *nom_x, double *delta_x, double *out_4885896537278282144);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_3745151970403573209);
void car_H_mod_fun(double *state, double *out_2937880372820632520);
void car_f_fun(double *state, double dt, double *out_4204558600518622219);
void car_F_fun(double *state, double dt, double *out_3726788735705827984);
void car_h_25(double *state, double *unused, double *out_6349123496291746259);
void car_H_25(double *state, double *unused, double *out_7841572198005297360);
void car_h_24(double *state, double *unused, double *out_2774216340997546785);
void car_H_24(double *state, double *unused, double *out_8427957452097104283);
void car_h_30(double *state, double *unused, double *out_5326785351067454421);
void car_H_30(double *state, double *unused, double *out_8086838917197005629);
void car_h_26(double *state, double *unused, double *out_3469524113198542719);
void car_H_26(double *state, double *unused, double *out_4100068879131241136);
void car_h_27(double *state, double *unused, double *out_1347450228630900614);
void car_H_27(double *state, double *unused, double *out_8185141844712121076);
void car_h_29(double *state, double *unused, double *out_2289999299623121736);
void car_H_29(double *state, double *unused, double *out_7576607572882613445);
void car_h_28(double *state, double *unused, double *out_2290960081532563049);
void car_H_28(double *state, double *unused, double *out_5787737483757407597);
void car_h_31(double *state, double *unused, double *out_8460171049163783007);
void car_H_31(double *state, double *unused, double *out_3473860776897889660);
void car_predict(double *in_x, double *in_P, double *in_Q, double dt);
void car_set_mass(double x);
void car_set_rotational_inertia(double x);
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -5,18 +5,18 @@ void pose_update_4(double *in_x, double *in_P, double *in_z, double *in_R, doubl
void pose_update_10(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_update_13(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_update_14(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_err_fun(double *nom_x, double *delta_x, double *out_1308154946342484284);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_8706500607592261698);
void pose_H_mod_fun(double *state, double *out_1512473366161392308);
void pose_f_fun(double *state, double dt, double *out_7813170452072968754);
void pose_F_fun(double *state, double dt, double *out_5083828130456064396);
void pose_h_4(double *state, double *unused, double *out_8720432154848991493);
void pose_H_4(double *state, double *unused, double *out_4091132023239463575);
void pose_h_10(double *state, double *unused, double *out_682446449180910309);
void pose_H_10(double *state, double *unused, double *out_4919001356891757040);
void pose_h_13(double *state, double *unused, double *out_2860834984953274042);
void pose_H_13(double *state, double *unused, double *out_7303405848571796376);
void pose_h_14(double *state, double *unused, double *out_6283645208607536870);
void pose_H_14(double *state, double *unused, double *out_1008343590944091279);
void pose_err_fun(double *nom_x, double *delta_x, double *out_7136046097392635975);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_7829757394788773504);
void pose_H_mod_fun(double *state, double *out_4151448671193851274);
void pose_f_fun(double *state, double dt, double *out_1642603653923874431);
void pose_F_fun(double *state, double dt, double *out_7023136226815456968);
void pose_h_4(double *state, double *unused, double *out_4588754796686824329);
void pose_H_4(double *state, double *unused, double *out_6094990518542475575);
void pose_h_10(double *state, double *unused, double *out_2376996171077473254);
void pose_H_10(double *state, double *unused, double *out_3986987343223994685);
void pose_h_13(double *state, double *unused, double *out_4475690324738606342);
void pose_H_13(double *state, double *unused, double *out_1515640689774225354);
void pose_h_14(double *state, double *unused, double *out_4137331969092828561);
void pose_H_14(double *state, double *unused, double *out_2131749662202991046);
void pose_predict(double *in_x, double *in_P, double *in_Q, double dt);
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.