This commit is contained in:
firestar5683
2026-06-06 17:52:05 -05:00
parent f20b1f2a4f
commit 559a738fe7
45 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.
+1 -1
View File
@@ -1,2 +1,2 @@
extern const uint8_t gitversion[19];
const uint8_t gitversion[19] = "DEV-efdc4898-DEBUG";
const uint8_t gitversion[19] = "DEV-f20b1f2a-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.
+1 -1
View File
@@ -1 +1 @@
DEV-efdc4898-DEBUG
DEV-f20b1f2a-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_8558166113930061773) {
out_8558166113930061773[0] = delta_x[0] + nom_x[0];
out_8558166113930061773[1] = delta_x[1] + nom_x[1];
out_8558166113930061773[2] = delta_x[2] + nom_x[2];
out_8558166113930061773[3] = delta_x[3] + nom_x[3];
out_8558166113930061773[4] = delta_x[4] + nom_x[4];
out_8558166113930061773[5] = delta_x[5] + nom_x[5];
out_8558166113930061773[6] = delta_x[6] + nom_x[6];
out_8558166113930061773[7] = delta_x[7] + nom_x[7];
out_8558166113930061773[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_5063363100648596688) {
out_5063363100648596688[0] = delta_x[0] + nom_x[0];
out_5063363100648596688[1] = delta_x[1] + nom_x[1];
out_5063363100648596688[2] = delta_x[2] + nom_x[2];
out_5063363100648596688[3] = delta_x[3] + nom_x[3];
out_5063363100648596688[4] = delta_x[4] + nom_x[4];
out_5063363100648596688[5] = delta_x[5] + nom_x[5];
out_5063363100648596688[6] = delta_x[6] + nom_x[6];
out_5063363100648596688[7] = delta_x[7] + nom_x[7];
out_5063363100648596688[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_2269670274683655268) {
out_2269670274683655268[0] = -nom_x[0] + true_x[0];
out_2269670274683655268[1] = -nom_x[1] + true_x[1];
out_2269670274683655268[2] = -nom_x[2] + true_x[2];
out_2269670274683655268[3] = -nom_x[3] + true_x[3];
out_2269670274683655268[4] = -nom_x[4] + true_x[4];
out_2269670274683655268[5] = -nom_x[5] + true_x[5];
out_2269670274683655268[6] = -nom_x[6] + true_x[6];
out_2269670274683655268[7] = -nom_x[7] + true_x[7];
out_2269670274683655268[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_1051973791362877167) {
out_1051973791362877167[0] = -nom_x[0] + true_x[0];
out_1051973791362877167[1] = -nom_x[1] + true_x[1];
out_1051973791362877167[2] = -nom_x[2] + true_x[2];
out_1051973791362877167[3] = -nom_x[3] + true_x[3];
out_1051973791362877167[4] = -nom_x[4] + true_x[4];
out_1051973791362877167[5] = -nom_x[5] + true_x[5];
out_1051973791362877167[6] = -nom_x[6] + true_x[6];
out_1051973791362877167[7] = -nom_x[7] + true_x[7];
out_1051973791362877167[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_6407701768448647232) {
out_6407701768448647232[0] = 1.0;
out_6407701768448647232[1] = 0.0;
out_6407701768448647232[2] = 0.0;
out_6407701768448647232[3] = 0.0;
out_6407701768448647232[4] = 0.0;
out_6407701768448647232[5] = 0.0;
out_6407701768448647232[6] = 0.0;
out_6407701768448647232[7] = 0.0;
out_6407701768448647232[8] = 0.0;
out_6407701768448647232[9] = 0.0;
out_6407701768448647232[10] = 1.0;
out_6407701768448647232[11] = 0.0;
out_6407701768448647232[12] = 0.0;
out_6407701768448647232[13] = 0.0;
out_6407701768448647232[14] = 0.0;
out_6407701768448647232[15] = 0.0;
out_6407701768448647232[16] = 0.0;
out_6407701768448647232[17] = 0.0;
out_6407701768448647232[18] = 0.0;
out_6407701768448647232[19] = 0.0;
out_6407701768448647232[20] = 1.0;
out_6407701768448647232[21] = 0.0;
out_6407701768448647232[22] = 0.0;
out_6407701768448647232[23] = 0.0;
out_6407701768448647232[24] = 0.0;
out_6407701768448647232[25] = 0.0;
out_6407701768448647232[26] = 0.0;
out_6407701768448647232[27] = 0.0;
out_6407701768448647232[28] = 0.0;
out_6407701768448647232[29] = 0.0;
out_6407701768448647232[30] = 1.0;
out_6407701768448647232[31] = 0.0;
out_6407701768448647232[32] = 0.0;
out_6407701768448647232[33] = 0.0;
out_6407701768448647232[34] = 0.0;
out_6407701768448647232[35] = 0.0;
out_6407701768448647232[36] = 0.0;
out_6407701768448647232[37] = 0.0;
out_6407701768448647232[38] = 0.0;
out_6407701768448647232[39] = 0.0;
out_6407701768448647232[40] = 1.0;
out_6407701768448647232[41] = 0.0;
out_6407701768448647232[42] = 0.0;
out_6407701768448647232[43] = 0.0;
out_6407701768448647232[44] = 0.0;
out_6407701768448647232[45] = 0.0;
out_6407701768448647232[46] = 0.0;
out_6407701768448647232[47] = 0.0;
out_6407701768448647232[48] = 0.0;
out_6407701768448647232[49] = 0.0;
out_6407701768448647232[50] = 1.0;
out_6407701768448647232[51] = 0.0;
out_6407701768448647232[52] = 0.0;
out_6407701768448647232[53] = 0.0;
out_6407701768448647232[54] = 0.0;
out_6407701768448647232[55] = 0.0;
out_6407701768448647232[56] = 0.0;
out_6407701768448647232[57] = 0.0;
out_6407701768448647232[58] = 0.0;
out_6407701768448647232[59] = 0.0;
out_6407701768448647232[60] = 1.0;
out_6407701768448647232[61] = 0.0;
out_6407701768448647232[62] = 0.0;
out_6407701768448647232[63] = 0.0;
out_6407701768448647232[64] = 0.0;
out_6407701768448647232[65] = 0.0;
out_6407701768448647232[66] = 0.0;
out_6407701768448647232[67] = 0.0;
out_6407701768448647232[68] = 0.0;
out_6407701768448647232[69] = 0.0;
out_6407701768448647232[70] = 1.0;
out_6407701768448647232[71] = 0.0;
out_6407701768448647232[72] = 0.0;
out_6407701768448647232[73] = 0.0;
out_6407701768448647232[74] = 0.0;
out_6407701768448647232[75] = 0.0;
out_6407701768448647232[76] = 0.0;
out_6407701768448647232[77] = 0.0;
out_6407701768448647232[78] = 0.0;
out_6407701768448647232[79] = 0.0;
out_6407701768448647232[80] = 1.0;
void H_mod_fun(double *state, double *out_5315869906856267240) {
out_5315869906856267240[0] = 1.0;
out_5315869906856267240[1] = 0.0;
out_5315869906856267240[2] = 0.0;
out_5315869906856267240[3] = 0.0;
out_5315869906856267240[4] = 0.0;
out_5315869906856267240[5] = 0.0;
out_5315869906856267240[6] = 0.0;
out_5315869906856267240[7] = 0.0;
out_5315869906856267240[8] = 0.0;
out_5315869906856267240[9] = 0.0;
out_5315869906856267240[10] = 1.0;
out_5315869906856267240[11] = 0.0;
out_5315869906856267240[12] = 0.0;
out_5315869906856267240[13] = 0.0;
out_5315869906856267240[14] = 0.0;
out_5315869906856267240[15] = 0.0;
out_5315869906856267240[16] = 0.0;
out_5315869906856267240[17] = 0.0;
out_5315869906856267240[18] = 0.0;
out_5315869906856267240[19] = 0.0;
out_5315869906856267240[20] = 1.0;
out_5315869906856267240[21] = 0.0;
out_5315869906856267240[22] = 0.0;
out_5315869906856267240[23] = 0.0;
out_5315869906856267240[24] = 0.0;
out_5315869906856267240[25] = 0.0;
out_5315869906856267240[26] = 0.0;
out_5315869906856267240[27] = 0.0;
out_5315869906856267240[28] = 0.0;
out_5315869906856267240[29] = 0.0;
out_5315869906856267240[30] = 1.0;
out_5315869906856267240[31] = 0.0;
out_5315869906856267240[32] = 0.0;
out_5315869906856267240[33] = 0.0;
out_5315869906856267240[34] = 0.0;
out_5315869906856267240[35] = 0.0;
out_5315869906856267240[36] = 0.0;
out_5315869906856267240[37] = 0.0;
out_5315869906856267240[38] = 0.0;
out_5315869906856267240[39] = 0.0;
out_5315869906856267240[40] = 1.0;
out_5315869906856267240[41] = 0.0;
out_5315869906856267240[42] = 0.0;
out_5315869906856267240[43] = 0.0;
out_5315869906856267240[44] = 0.0;
out_5315869906856267240[45] = 0.0;
out_5315869906856267240[46] = 0.0;
out_5315869906856267240[47] = 0.0;
out_5315869906856267240[48] = 0.0;
out_5315869906856267240[49] = 0.0;
out_5315869906856267240[50] = 1.0;
out_5315869906856267240[51] = 0.0;
out_5315869906856267240[52] = 0.0;
out_5315869906856267240[53] = 0.0;
out_5315869906856267240[54] = 0.0;
out_5315869906856267240[55] = 0.0;
out_5315869906856267240[56] = 0.0;
out_5315869906856267240[57] = 0.0;
out_5315869906856267240[58] = 0.0;
out_5315869906856267240[59] = 0.0;
out_5315869906856267240[60] = 1.0;
out_5315869906856267240[61] = 0.0;
out_5315869906856267240[62] = 0.0;
out_5315869906856267240[63] = 0.0;
out_5315869906856267240[64] = 0.0;
out_5315869906856267240[65] = 0.0;
out_5315869906856267240[66] = 0.0;
out_5315869906856267240[67] = 0.0;
out_5315869906856267240[68] = 0.0;
out_5315869906856267240[69] = 0.0;
out_5315869906856267240[70] = 1.0;
out_5315869906856267240[71] = 0.0;
out_5315869906856267240[72] = 0.0;
out_5315869906856267240[73] = 0.0;
out_5315869906856267240[74] = 0.0;
out_5315869906856267240[75] = 0.0;
out_5315869906856267240[76] = 0.0;
out_5315869906856267240[77] = 0.0;
out_5315869906856267240[78] = 0.0;
out_5315869906856267240[79] = 0.0;
out_5315869906856267240[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_648904423540471901) {
out_648904423540471901[0] = state[0];
out_648904423540471901[1] = state[1];
out_648904423540471901[2] = state[2];
out_648904423540471901[3] = state[3];
out_648904423540471901[4] = state[4];
out_648904423540471901[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_648904423540471901[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_648904423540471901[7] = state[7];
out_648904423540471901[8] = state[8];
void f_fun(double *state, double dt, double *out_2679807483918754558) {
out_2679807483918754558[0] = state[0];
out_2679807483918754558[1] = state[1];
out_2679807483918754558[2] = state[2];
out_2679807483918754558[3] = state[3];
out_2679807483918754558[4] = state[4];
out_2679807483918754558[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_2679807483918754558[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_2679807483918754558[7] = state[7];
out_2679807483918754558[8] = state[8];
}
void F_fun(double *state, double dt, double *out_7503564954401744509) {
out_7503564954401744509[0] = 1;
out_7503564954401744509[1] = 0;
out_7503564954401744509[2] = 0;
out_7503564954401744509[3] = 0;
out_7503564954401744509[4] = 0;
out_7503564954401744509[5] = 0;
out_7503564954401744509[6] = 0;
out_7503564954401744509[7] = 0;
out_7503564954401744509[8] = 0;
out_7503564954401744509[9] = 0;
out_7503564954401744509[10] = 1;
out_7503564954401744509[11] = 0;
out_7503564954401744509[12] = 0;
out_7503564954401744509[13] = 0;
out_7503564954401744509[14] = 0;
out_7503564954401744509[15] = 0;
out_7503564954401744509[16] = 0;
out_7503564954401744509[17] = 0;
out_7503564954401744509[18] = 0;
out_7503564954401744509[19] = 0;
out_7503564954401744509[20] = 1;
out_7503564954401744509[21] = 0;
out_7503564954401744509[22] = 0;
out_7503564954401744509[23] = 0;
out_7503564954401744509[24] = 0;
out_7503564954401744509[25] = 0;
out_7503564954401744509[26] = 0;
out_7503564954401744509[27] = 0;
out_7503564954401744509[28] = 0;
out_7503564954401744509[29] = 0;
out_7503564954401744509[30] = 1;
out_7503564954401744509[31] = 0;
out_7503564954401744509[32] = 0;
out_7503564954401744509[33] = 0;
out_7503564954401744509[34] = 0;
out_7503564954401744509[35] = 0;
out_7503564954401744509[36] = 0;
out_7503564954401744509[37] = 0;
out_7503564954401744509[38] = 0;
out_7503564954401744509[39] = 0;
out_7503564954401744509[40] = 1;
out_7503564954401744509[41] = 0;
out_7503564954401744509[42] = 0;
out_7503564954401744509[43] = 0;
out_7503564954401744509[44] = 0;
out_7503564954401744509[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_7503564954401744509[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_7503564954401744509[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_7503564954401744509[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_7503564954401744509[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_7503564954401744509[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_7503564954401744509[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_7503564954401744509[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_7503564954401744509[53] = -9.8100000000000005*dt;
out_7503564954401744509[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_7503564954401744509[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_7503564954401744509[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7503564954401744509[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7503564954401744509[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_7503564954401744509[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_7503564954401744509[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_7503564954401744509[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7503564954401744509[62] = 0;
out_7503564954401744509[63] = 0;
out_7503564954401744509[64] = 0;
out_7503564954401744509[65] = 0;
out_7503564954401744509[66] = 0;
out_7503564954401744509[67] = 0;
out_7503564954401744509[68] = 0;
out_7503564954401744509[69] = 0;
out_7503564954401744509[70] = 1;
out_7503564954401744509[71] = 0;
out_7503564954401744509[72] = 0;
out_7503564954401744509[73] = 0;
out_7503564954401744509[74] = 0;
out_7503564954401744509[75] = 0;
out_7503564954401744509[76] = 0;
out_7503564954401744509[77] = 0;
out_7503564954401744509[78] = 0;
out_7503564954401744509[79] = 0;
out_7503564954401744509[80] = 1;
void F_fun(double *state, double dt, double *out_8053926087528305413) {
out_8053926087528305413[0] = 1;
out_8053926087528305413[1] = 0;
out_8053926087528305413[2] = 0;
out_8053926087528305413[3] = 0;
out_8053926087528305413[4] = 0;
out_8053926087528305413[5] = 0;
out_8053926087528305413[6] = 0;
out_8053926087528305413[7] = 0;
out_8053926087528305413[8] = 0;
out_8053926087528305413[9] = 0;
out_8053926087528305413[10] = 1;
out_8053926087528305413[11] = 0;
out_8053926087528305413[12] = 0;
out_8053926087528305413[13] = 0;
out_8053926087528305413[14] = 0;
out_8053926087528305413[15] = 0;
out_8053926087528305413[16] = 0;
out_8053926087528305413[17] = 0;
out_8053926087528305413[18] = 0;
out_8053926087528305413[19] = 0;
out_8053926087528305413[20] = 1;
out_8053926087528305413[21] = 0;
out_8053926087528305413[22] = 0;
out_8053926087528305413[23] = 0;
out_8053926087528305413[24] = 0;
out_8053926087528305413[25] = 0;
out_8053926087528305413[26] = 0;
out_8053926087528305413[27] = 0;
out_8053926087528305413[28] = 0;
out_8053926087528305413[29] = 0;
out_8053926087528305413[30] = 1;
out_8053926087528305413[31] = 0;
out_8053926087528305413[32] = 0;
out_8053926087528305413[33] = 0;
out_8053926087528305413[34] = 0;
out_8053926087528305413[35] = 0;
out_8053926087528305413[36] = 0;
out_8053926087528305413[37] = 0;
out_8053926087528305413[38] = 0;
out_8053926087528305413[39] = 0;
out_8053926087528305413[40] = 1;
out_8053926087528305413[41] = 0;
out_8053926087528305413[42] = 0;
out_8053926087528305413[43] = 0;
out_8053926087528305413[44] = 0;
out_8053926087528305413[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_8053926087528305413[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_8053926087528305413[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8053926087528305413[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8053926087528305413[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_8053926087528305413[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_8053926087528305413[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_8053926087528305413[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_8053926087528305413[53] = -9.8100000000000005*dt;
out_8053926087528305413[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_8053926087528305413[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_8053926087528305413[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8053926087528305413[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8053926087528305413[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_8053926087528305413[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_8053926087528305413[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_8053926087528305413[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8053926087528305413[62] = 0;
out_8053926087528305413[63] = 0;
out_8053926087528305413[64] = 0;
out_8053926087528305413[65] = 0;
out_8053926087528305413[66] = 0;
out_8053926087528305413[67] = 0;
out_8053926087528305413[68] = 0;
out_8053926087528305413[69] = 0;
out_8053926087528305413[70] = 1;
out_8053926087528305413[71] = 0;
out_8053926087528305413[72] = 0;
out_8053926087528305413[73] = 0;
out_8053926087528305413[74] = 0;
out_8053926087528305413[75] = 0;
out_8053926087528305413[76] = 0;
out_8053926087528305413[77] = 0;
out_8053926087528305413[78] = 0;
out_8053926087528305413[79] = 0;
out_8053926087528305413[80] = 1;
}
void h_25(double *state, double *unused, double *out_7864801379551668384) {
out_7864801379551668384[0] = state[6];
void h_25(double *state, double *unused, double *out_5716369086896639497) {
out_5716369086896639497[0] = state[6];
}
void H_25(double *state, double *unused, double *out_7135350480076239544) {
out_7135350480076239544[0] = 0;
out_7135350480076239544[1] = 0;
out_7135350480076239544[2] = 0;
out_7135350480076239544[3] = 0;
out_7135350480076239544[4] = 0;
out_7135350480076239544[5] = 0;
out_7135350480076239544[6] = 1;
out_7135350480076239544[7] = 0;
out_7135350480076239544[8] = 0;
void H_25(double *state, double *unused, double *out_3877318319055969997) {
out_3877318319055969997[0] = 0;
out_3877318319055969997[1] = 0;
out_3877318319055969997[2] = 0;
out_3877318319055969997[3] = 0;
out_3877318319055969997[4] = 0;
out_3877318319055969997[5] = 0;
out_3877318319055969997[6] = 1;
out_3877318319055969997[7] = 0;
out_3877318319055969997[8] = 0;
}
void h_24(double *state, double *unused, double *out_7538847613518647590) {
out_7538847613518647590[0] = state[4];
out_7538847613518647590[1] = state[5];
void h_24(double *state, double *unused, double *out_8949486097258288203) {
out_8949486097258288203[0] = state[4];
out_8949486097258288203[1] = state[5];
}
void H_24(double *state, double *unused, double *out_3868719000644595752) {
out_3868719000644595752[0] = 0;
out_3868719000644595752[1] = 0;
out_3868719000644595752[2] = 0;
out_3868719000644595752[3] = 0;
out_3868719000644595752[4] = 1;
out_3868719000644595752[5] = 0;
out_3868719000644595752[6] = 0;
out_3868719000644595752[7] = 0;
out_3868719000644595752[8] = 0;
out_3868719000644595752[9] = 0;
out_3868719000644595752[10] = 0;
out_3868719000644595752[11] = 0;
out_3868719000644595752[12] = 0;
out_3868719000644595752[13] = 0;
out_3868719000644595752[14] = 1;
out_3868719000644595752[15] = 0;
out_3868719000644595752[16] = 0;
out_3868719000644595752[17] = 0;
void H_24(double *state, double *unused, double *out_6049967918061469563) {
out_6049967918061469563[0] = 0;
out_6049967918061469563[1] = 0;
out_6049967918061469563[2] = 0;
out_6049967918061469563[3] = 0;
out_6049967918061469563[4] = 1;
out_6049967918061469563[5] = 0;
out_6049967918061469563[6] = 0;
out_6049967918061469563[7] = 0;
out_6049967918061469563[8] = 0;
out_6049967918061469563[9] = 0;
out_6049967918061469563[10] = 0;
out_6049967918061469563[11] = 0;
out_6049967918061469563[12] = 0;
out_6049967918061469563[13] = 0;
out_6049967918061469563[14] = 1;
out_6049967918061469563[15] = 0;
out_6049967918061469563[16] = 0;
out_6049967918061469563[17] = 0;
}
void h_30(double *state, double *unused, double *out_8021988047902797529) {
out_8021988047902797529[0] = state[4];
void h_30(double *state, double *unused, double *out_5873555755247768642) {
out_5873555755247768642[0] = state[4];
}
void H_30(double *state, double *unused, double *out_6783697263505703874) {
out_6783697263505703874[0] = 0;
out_6783697263505703874[1] = 0;
out_6783697263505703874[2] = 0;
out_6783697263505703874[3] = 0;
out_6783697263505703874[4] = 1;
out_6783697263505703874[5] = 0;
out_6783697263505703874[6] = 0;
out_6783697263505703874[7] = 0;
out_6783697263505703874[8] = 0;
void H_30(double *state, double *unused, double *out_3039372022435646758) {
out_3039372022435646758[0] = 0;
out_3039372022435646758[1] = 0;
out_3039372022435646758[2] = 0;
out_3039372022435646758[3] = 0;
out_3039372022435646758[4] = 1;
out_3039372022435646758[5] = 0;
out_3039372022435646758[6] = 0;
out_3039372022435646758[7] = 0;
out_3039372022435646758[8] = 0;
}
void h_26(double *state, double *unused, double *out_4978851268883674033) {
out_4978851268883674033[0] = state[7];
void h_26(double *state, double *unused, double *out_8147827403163551441) {
out_8147827403163551441[0] = state[7];
}
void H_26(double *state, double *unused, double *out_7569890274759255848) {
out_7569890274759255848[0] = 0;
out_7569890274759255848[1] = 0;
out_7569890274759255848[2] = 0;
out_7569890274759255848[3] = 0;
out_7569890274759255848[4] = 0;
out_7569890274759255848[5] = 0;
out_7569890274759255848[6] = 0;
out_7569890274759255848[7] = 1;
out_7569890274759255848[8] = 0;
void H_26(double *state, double *unused, double *out_7618821637930026221) {
out_7618821637930026221[0] = 0;
out_7618821637930026221[1] = 0;
out_7618821637930026221[2] = 0;
out_7618821637930026221[3] = 0;
out_7618821637930026221[4] = 0;
out_7618821637930026221[5] = 0;
out_7618821637930026221[6] = 0;
out_7618821637930026221[7] = 1;
out_7618821637930026221[8] = 0;
}
void h_27(double *state, double *unused, double *out_5096858662817050777) {
out_5096858662817050777[0] = state[3];
void h_27(double *state, double *unused, double *out_3868275412420834157) {
out_3868275412420834157[0] = state[3];
}
void H_27(double *state, double *unused, double *out_9007291334689647091) {
out_9007291334689647091[0] = 0;
out_9007291334689647091[1] = 0;
out_9007291334689647091[2] = 0;
out_9007291334689647091[3] = 1;
out_9007291334689647091[4] = 0;
out_9007291334689647091[5] = 0;
out_9007291334689647091[6] = 0;
out_9007291334689647091[7] = 0;
out_9007291334689647091[8] = 0;
void H_27(double *state, double *unused, double *out_864608710635221847) {
out_864608710635221847[0] = 0;
out_864608710635221847[1] = 0;
out_864608710635221847[2] = 0;
out_864608710635221847[3] = 1;
out_864608710635221847[4] = 0;
out_864608710635221847[5] = 0;
out_864608710635221847[6] = 0;
out_864608710635221847[7] = 0;
out_864608710635221847[8] = 0;
}
void h_29(double *state, double *unused, double *out_998555364537678913) {
out_998555364537678913[0] = state[1];
void h_29(double *state, double *unused, double *out_2922753709018228498) {
out_2922753709018228498[0] = state[1];
}
void H_29(double *state, double *unused, double *out_7293928607820096058) {
out_7293928607820096058[0] = 0;
out_7293928607820096058[1] = 1;
out_7293928607820096058[2] = 0;
out_7293928607820096058[3] = 0;
out_7293928607820096058[4] = 0;
out_7293928607820096058[5] = 0;
out_7293928607820096058[6] = 0;
out_7293928607820096058[7] = 0;
out_7293928607820096058[8] = 0;
void H_29(double *state, double *unused, double *out_3549603366750038942) {
out_3549603366750038942[0] = 0;
out_3549603366750038942[1] = 1;
out_3549603366750038942[2] = 0;
out_3549603366750038942[3] = 0;
out_3549603366750038942[4] = 0;
out_3549603366750038942[5] = 0;
out_3549603366750038942[6] = 0;
out_3549603366750038942[7] = 0;
out_3549603366750038942[8] = 0;
}
void h_28(double *state, double *unused, double *out_8372706475564507366) {
out_8372706475564507366[0] = state[0];
void h_28(double *state, double *unused, double *out_2837524384607109846) {
out_2837524384607109846[0] = state[0];
}
void H_28(double *state, double *unused, double *out_9189185194324129307) {
out_9189185194324129307[0] = 1;
out_9189185194324129307[1] = 0;
out_9189185194324129307[2] = 0;
out_9189185194324129307[3] = 0;
out_9189185194324129307[4] = 0;
out_9189185194324129307[5] = 0;
out_9189185194324129307[6] = 0;
out_9189185194324129307[7] = 0;
out_9189185194324129307[8] = 0;
void H_28(double *state, double *unused, double *out_5931153033303859760) {
out_5931153033303859760[0] = 1;
out_5931153033303859760[1] = 0;
out_5931153033303859760[2] = 0;
out_5931153033303859760[3] = 0;
out_5931153033303859760[4] = 0;
out_5931153033303859760[5] = 0;
out_5931153033303859760[6] = 0;
out_5931153033303859760[7] = 0;
out_5931153033303859760[8] = 0;
}
void h_31(double *state, double *unused, double *out_180008667128300757) {
out_180008667128300757[0] = state[8];
void h_31(double *state, double *unused, double *out_7419317287452796635) {
out_7419317287452796635[0] = state[8];
}
void H_31(double *state, double *unused, double *out_6943682172525904372) {
out_6943682172525904372[0] = 0;
out_6943682172525904372[1] = 0;
out_6943682172525904372[2] = 0;
out_6943682172525904372[3] = 0;
out_6943682172525904372[4] = 0;
out_6943682172525904372[5] = 0;
out_6943682172525904372[6] = 0;
out_6943682172525904372[7] = 0;
out_6943682172525904372[8] = 1;
void H_31(double *state, double *unused, double *out_3846672357179009569) {
out_3846672357179009569[0] = 0;
out_3846672357179009569[1] = 0;
out_3846672357179009569[2] = 0;
out_3846672357179009569[3] = 0;
out_3846672357179009569[4] = 0;
out_3846672357179009569[5] = 0;
out_3846672357179009569[6] = 0;
out_3846672357179009569[7] = 0;
out_3846672357179009569[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_8558166113930061773) {
err_fun(nom_x, delta_x, out_8558166113930061773);
void car_err_fun(double *nom_x, double *delta_x, double *out_5063363100648596688) {
err_fun(nom_x, delta_x, out_5063363100648596688);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_2269670274683655268) {
inv_err_fun(nom_x, true_x, out_2269670274683655268);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_1051973791362877167) {
inv_err_fun(nom_x, true_x, out_1051973791362877167);
}
void car_H_mod_fun(double *state, double *out_6407701768448647232) {
H_mod_fun(state, out_6407701768448647232);
void car_H_mod_fun(double *state, double *out_5315869906856267240) {
H_mod_fun(state, out_5315869906856267240);
}
void car_f_fun(double *state, double dt, double *out_648904423540471901) {
f_fun(state, dt, out_648904423540471901);
void car_f_fun(double *state, double dt, double *out_2679807483918754558) {
f_fun(state, dt, out_2679807483918754558);
}
void car_F_fun(double *state, double dt, double *out_7503564954401744509) {
F_fun(state, dt, out_7503564954401744509);
void car_F_fun(double *state, double dt, double *out_8053926087528305413) {
F_fun(state, dt, out_8053926087528305413);
}
void car_h_25(double *state, double *unused, double *out_7864801379551668384) {
h_25(state, unused, out_7864801379551668384);
void car_h_25(double *state, double *unused, double *out_5716369086896639497) {
h_25(state, unused, out_5716369086896639497);
}
void car_H_25(double *state, double *unused, double *out_7135350480076239544) {
H_25(state, unused, out_7135350480076239544);
void car_H_25(double *state, double *unused, double *out_3877318319055969997) {
H_25(state, unused, out_3877318319055969997);
}
void car_h_24(double *state, double *unused, double *out_7538847613518647590) {
h_24(state, unused, out_7538847613518647590);
void car_h_24(double *state, double *unused, double *out_8949486097258288203) {
h_24(state, unused, out_8949486097258288203);
}
void car_H_24(double *state, double *unused, double *out_3868719000644595752) {
H_24(state, unused, out_3868719000644595752);
void car_H_24(double *state, double *unused, double *out_6049967918061469563) {
H_24(state, unused, out_6049967918061469563);
}
void car_h_30(double *state, double *unused, double *out_8021988047902797529) {
h_30(state, unused, out_8021988047902797529);
void car_h_30(double *state, double *unused, double *out_5873555755247768642) {
h_30(state, unused, out_5873555755247768642);
}
void car_H_30(double *state, double *unused, double *out_6783697263505703874) {
H_30(state, unused, out_6783697263505703874);
void car_H_30(double *state, double *unused, double *out_3039372022435646758) {
H_30(state, unused, out_3039372022435646758);
}
void car_h_26(double *state, double *unused, double *out_4978851268883674033) {
h_26(state, unused, out_4978851268883674033);
void car_h_26(double *state, double *unused, double *out_8147827403163551441) {
h_26(state, unused, out_8147827403163551441);
}
void car_H_26(double *state, double *unused, double *out_7569890274759255848) {
H_26(state, unused, out_7569890274759255848);
void car_H_26(double *state, double *unused, double *out_7618821637930026221) {
H_26(state, unused, out_7618821637930026221);
}
void car_h_27(double *state, double *unused, double *out_5096858662817050777) {
h_27(state, unused, out_5096858662817050777);
void car_h_27(double *state, double *unused, double *out_3868275412420834157) {
h_27(state, unused, out_3868275412420834157);
}
void car_H_27(double *state, double *unused, double *out_9007291334689647091) {
H_27(state, unused, out_9007291334689647091);
void car_H_27(double *state, double *unused, double *out_864608710635221847) {
H_27(state, unused, out_864608710635221847);
}
void car_h_29(double *state, double *unused, double *out_998555364537678913) {
h_29(state, unused, out_998555364537678913);
void car_h_29(double *state, double *unused, double *out_2922753709018228498) {
h_29(state, unused, out_2922753709018228498);
}
void car_H_29(double *state, double *unused, double *out_7293928607820096058) {
H_29(state, unused, out_7293928607820096058);
void car_H_29(double *state, double *unused, double *out_3549603366750038942) {
H_29(state, unused, out_3549603366750038942);
}
void car_h_28(double *state, double *unused, double *out_8372706475564507366) {
h_28(state, unused, out_8372706475564507366);
void car_h_28(double *state, double *unused, double *out_2837524384607109846) {
h_28(state, unused, out_2837524384607109846);
}
void car_H_28(double *state, double *unused, double *out_9189185194324129307) {
H_28(state, unused, out_9189185194324129307);
void car_H_28(double *state, double *unused, double *out_5931153033303859760) {
H_28(state, unused, out_5931153033303859760);
}
void car_h_31(double *state, double *unused, double *out_180008667128300757) {
h_31(state, unused, out_180008667128300757);
void car_h_31(double *state, double *unused, double *out_7419317287452796635) {
h_31(state, unused, out_7419317287452796635);
}
void car_H_31(double *state, double *unused, double *out_6943682172525904372) {
H_31(state, unused, out_6943682172525904372);
void car_H_31(double *state, double *unused, double *out_3846672357179009569) {
H_31(state, unused, out_3846672357179009569);
}
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_8558166113930061773);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_2269670274683655268);
void car_H_mod_fun(double *state, double *out_6407701768448647232);
void car_f_fun(double *state, double dt, double *out_648904423540471901);
void car_F_fun(double *state, double dt, double *out_7503564954401744509);
void car_h_25(double *state, double *unused, double *out_7864801379551668384);
void car_H_25(double *state, double *unused, double *out_7135350480076239544);
void car_h_24(double *state, double *unused, double *out_7538847613518647590);
void car_H_24(double *state, double *unused, double *out_3868719000644595752);
void car_h_30(double *state, double *unused, double *out_8021988047902797529);
void car_H_30(double *state, double *unused, double *out_6783697263505703874);
void car_h_26(double *state, double *unused, double *out_4978851268883674033);
void car_H_26(double *state, double *unused, double *out_7569890274759255848);
void car_h_27(double *state, double *unused, double *out_5096858662817050777);
void car_H_27(double *state, double *unused, double *out_9007291334689647091);
void car_h_29(double *state, double *unused, double *out_998555364537678913);
void car_H_29(double *state, double *unused, double *out_7293928607820096058);
void car_h_28(double *state, double *unused, double *out_8372706475564507366);
void car_H_28(double *state, double *unused, double *out_9189185194324129307);
void car_h_31(double *state, double *unused, double *out_180008667128300757);
void car_H_31(double *state, double *unused, double *out_6943682172525904372);
void car_err_fun(double *nom_x, double *delta_x, double *out_5063363100648596688);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_1051973791362877167);
void car_H_mod_fun(double *state, double *out_5315869906856267240);
void car_f_fun(double *state, double dt, double *out_2679807483918754558);
void car_F_fun(double *state, double dt, double *out_8053926087528305413);
void car_h_25(double *state, double *unused, double *out_5716369086896639497);
void car_H_25(double *state, double *unused, double *out_3877318319055969997);
void car_h_24(double *state, double *unused, double *out_8949486097258288203);
void car_H_24(double *state, double *unused, double *out_6049967918061469563);
void car_h_30(double *state, double *unused, double *out_5873555755247768642);
void car_H_30(double *state, double *unused, double *out_3039372022435646758);
void car_h_26(double *state, double *unused, double *out_8147827403163551441);
void car_H_26(double *state, double *unused, double *out_7618821637930026221);
void car_h_27(double *state, double *unused, double *out_3868275412420834157);
void car_H_27(double *state, double *unused, double *out_864608710635221847);
void car_h_29(double *state, double *unused, double *out_2922753709018228498);
void car_H_29(double *state, double *unused, double *out_3549603366750038942);
void car_h_28(double *state, double *unused, double *out_2837524384607109846);
void car_H_28(double *state, double *unused, double *out_5931153033303859760);
void car_h_31(double *state, double *unused, double *out_7419317287452796635);
void car_H_31(double *state, double *unused, double *out_3846672357179009569);
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_3524911542636248309);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_9101758542759318568);
void pose_H_mod_fun(double *state, double *out_202451455870783186);
void pose_f_fun(double *state, double dt, double *out_3404078345216964699);
void pose_F_fun(double *state, double dt, double *out_9161898751948597001);
void pose_h_4(double *state, double *unused, double *out_3298849734810867951);
void pose_H_4(double *state, double *unused, double *out_3476673534661732439);
void pose_h_10(double *state, double *unused, double *out_1490778051551919602);
void pose_H_10(double *state, double *unused, double *out_3065010150012391749);
void pose_h_13(double *state, double *unused, double *out_2293000846655251698);
void pose_H_13(double *state, double *unused, double *out_4133957673654968490);
void pose_h_14(double *state, double *unused, double *out_6732417031145183728);
void pose_H_14(double *state, double *unused, double *out_486567321677752090);
void pose_err_fun(double *nom_x, double *delta_x, double *out_3341780452292505997);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_5409150910353518766);
void pose_H_mod_fun(double *state, double *out_8300172317114018464);
void pose_f_fun(double *state, double dt, double *out_4063489601932878054);
void pose_F_fun(double *state, double dt, double *out_493800117352810078);
void pose_h_4(double *state, double *unused, double *out_6026765849154187968);
void pose_H_4(double *state, double *unused, double *out_7102224835231120360);
void pose_h_10(double *state, double *unused, double *out_1866086890220189324);
void pose_H_10(double *state, double *unused, double *out_834802170779042492);
void pose_h_13(double *state, double *unused, double *out_4520826989648677276);
void pose_H_13(double *state, double *unused, double *out_3889951009898787559);
void pose_h_14(double *state, double *unused, double *out_733646167343188736);
void pose_H_14(double *state, double *unused, double *out_8261730806183058960);
void pose_predict(double *in_x, double *in_P, double *in_Q, double dt);
}
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.