This commit is contained in:
firestar5683
2026-08-17 23:30:50 -05:00
parent 526f8e0075
commit c4ef78afc9
84 changed files with 1347 additions and 1347 deletions
+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_3239626159248919555) {
out_3239626159248919555[0] = delta_x[0] + nom_x[0];
out_3239626159248919555[1] = delta_x[1] + nom_x[1];
out_3239626159248919555[2] = delta_x[2] + nom_x[2];
out_3239626159248919555[3] = delta_x[3] + nom_x[3];
out_3239626159248919555[4] = delta_x[4] + nom_x[4];
out_3239626159248919555[5] = delta_x[5] + nom_x[5];
out_3239626159248919555[6] = delta_x[6] + nom_x[6];
out_3239626159248919555[7] = delta_x[7] + nom_x[7];
out_3239626159248919555[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_4175267327343220067) {
out_4175267327343220067[0] = delta_x[0] + nom_x[0];
out_4175267327343220067[1] = delta_x[1] + nom_x[1];
out_4175267327343220067[2] = delta_x[2] + nom_x[2];
out_4175267327343220067[3] = delta_x[3] + nom_x[3];
out_4175267327343220067[4] = delta_x[4] + nom_x[4];
out_4175267327343220067[5] = delta_x[5] + nom_x[5];
out_4175267327343220067[6] = delta_x[6] + nom_x[6];
out_4175267327343220067[7] = delta_x[7] + nom_x[7];
out_4175267327343220067[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_7776805117874316837) {
out_7776805117874316837[0] = -nom_x[0] + true_x[0];
out_7776805117874316837[1] = -nom_x[1] + true_x[1];
out_7776805117874316837[2] = -nom_x[2] + true_x[2];
out_7776805117874316837[3] = -nom_x[3] + true_x[3];
out_7776805117874316837[4] = -nom_x[4] + true_x[4];
out_7776805117874316837[5] = -nom_x[5] + true_x[5];
out_7776805117874316837[6] = -nom_x[6] + true_x[6];
out_7776805117874316837[7] = -nom_x[7] + true_x[7];
out_7776805117874316837[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_8001717605441520298) {
out_8001717605441520298[0] = -nom_x[0] + true_x[0];
out_8001717605441520298[1] = -nom_x[1] + true_x[1];
out_8001717605441520298[2] = -nom_x[2] + true_x[2];
out_8001717605441520298[3] = -nom_x[3] + true_x[3];
out_8001717605441520298[4] = -nom_x[4] + true_x[4];
out_8001717605441520298[5] = -nom_x[5] + true_x[5];
out_8001717605441520298[6] = -nom_x[6] + true_x[6];
out_8001717605441520298[7] = -nom_x[7] + true_x[7];
out_8001717605441520298[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_857826347354799703) {
out_857826347354799703[0] = 1.0;
out_857826347354799703[1] = 0.0;
out_857826347354799703[2] = 0.0;
out_857826347354799703[3] = 0.0;
out_857826347354799703[4] = 0.0;
out_857826347354799703[5] = 0.0;
out_857826347354799703[6] = 0.0;
out_857826347354799703[7] = 0.0;
out_857826347354799703[8] = 0.0;
out_857826347354799703[9] = 0.0;
out_857826347354799703[10] = 1.0;
out_857826347354799703[11] = 0.0;
out_857826347354799703[12] = 0.0;
out_857826347354799703[13] = 0.0;
out_857826347354799703[14] = 0.0;
out_857826347354799703[15] = 0.0;
out_857826347354799703[16] = 0.0;
out_857826347354799703[17] = 0.0;
out_857826347354799703[18] = 0.0;
out_857826347354799703[19] = 0.0;
out_857826347354799703[20] = 1.0;
out_857826347354799703[21] = 0.0;
out_857826347354799703[22] = 0.0;
out_857826347354799703[23] = 0.0;
out_857826347354799703[24] = 0.0;
out_857826347354799703[25] = 0.0;
out_857826347354799703[26] = 0.0;
out_857826347354799703[27] = 0.0;
out_857826347354799703[28] = 0.0;
out_857826347354799703[29] = 0.0;
out_857826347354799703[30] = 1.0;
out_857826347354799703[31] = 0.0;
out_857826347354799703[32] = 0.0;
out_857826347354799703[33] = 0.0;
out_857826347354799703[34] = 0.0;
out_857826347354799703[35] = 0.0;
out_857826347354799703[36] = 0.0;
out_857826347354799703[37] = 0.0;
out_857826347354799703[38] = 0.0;
out_857826347354799703[39] = 0.0;
out_857826347354799703[40] = 1.0;
out_857826347354799703[41] = 0.0;
out_857826347354799703[42] = 0.0;
out_857826347354799703[43] = 0.0;
out_857826347354799703[44] = 0.0;
out_857826347354799703[45] = 0.0;
out_857826347354799703[46] = 0.0;
out_857826347354799703[47] = 0.0;
out_857826347354799703[48] = 0.0;
out_857826347354799703[49] = 0.0;
out_857826347354799703[50] = 1.0;
out_857826347354799703[51] = 0.0;
out_857826347354799703[52] = 0.0;
out_857826347354799703[53] = 0.0;
out_857826347354799703[54] = 0.0;
out_857826347354799703[55] = 0.0;
out_857826347354799703[56] = 0.0;
out_857826347354799703[57] = 0.0;
out_857826347354799703[58] = 0.0;
out_857826347354799703[59] = 0.0;
out_857826347354799703[60] = 1.0;
out_857826347354799703[61] = 0.0;
out_857826347354799703[62] = 0.0;
out_857826347354799703[63] = 0.0;
out_857826347354799703[64] = 0.0;
out_857826347354799703[65] = 0.0;
out_857826347354799703[66] = 0.0;
out_857826347354799703[67] = 0.0;
out_857826347354799703[68] = 0.0;
out_857826347354799703[69] = 0.0;
out_857826347354799703[70] = 1.0;
out_857826347354799703[71] = 0.0;
out_857826347354799703[72] = 0.0;
out_857826347354799703[73] = 0.0;
out_857826347354799703[74] = 0.0;
out_857826347354799703[75] = 0.0;
out_857826347354799703[76] = 0.0;
out_857826347354799703[77] = 0.0;
out_857826347354799703[78] = 0.0;
out_857826347354799703[79] = 0.0;
out_857826347354799703[80] = 1.0;
void H_mod_fun(double *state, double *out_7971983971871194008) {
out_7971983971871194008[0] = 1.0;
out_7971983971871194008[1] = 0.0;
out_7971983971871194008[2] = 0.0;
out_7971983971871194008[3] = 0.0;
out_7971983971871194008[4] = 0.0;
out_7971983971871194008[5] = 0.0;
out_7971983971871194008[6] = 0.0;
out_7971983971871194008[7] = 0.0;
out_7971983971871194008[8] = 0.0;
out_7971983971871194008[9] = 0.0;
out_7971983971871194008[10] = 1.0;
out_7971983971871194008[11] = 0.0;
out_7971983971871194008[12] = 0.0;
out_7971983971871194008[13] = 0.0;
out_7971983971871194008[14] = 0.0;
out_7971983971871194008[15] = 0.0;
out_7971983971871194008[16] = 0.0;
out_7971983971871194008[17] = 0.0;
out_7971983971871194008[18] = 0.0;
out_7971983971871194008[19] = 0.0;
out_7971983971871194008[20] = 1.0;
out_7971983971871194008[21] = 0.0;
out_7971983971871194008[22] = 0.0;
out_7971983971871194008[23] = 0.0;
out_7971983971871194008[24] = 0.0;
out_7971983971871194008[25] = 0.0;
out_7971983971871194008[26] = 0.0;
out_7971983971871194008[27] = 0.0;
out_7971983971871194008[28] = 0.0;
out_7971983971871194008[29] = 0.0;
out_7971983971871194008[30] = 1.0;
out_7971983971871194008[31] = 0.0;
out_7971983971871194008[32] = 0.0;
out_7971983971871194008[33] = 0.0;
out_7971983971871194008[34] = 0.0;
out_7971983971871194008[35] = 0.0;
out_7971983971871194008[36] = 0.0;
out_7971983971871194008[37] = 0.0;
out_7971983971871194008[38] = 0.0;
out_7971983971871194008[39] = 0.0;
out_7971983971871194008[40] = 1.0;
out_7971983971871194008[41] = 0.0;
out_7971983971871194008[42] = 0.0;
out_7971983971871194008[43] = 0.0;
out_7971983971871194008[44] = 0.0;
out_7971983971871194008[45] = 0.0;
out_7971983971871194008[46] = 0.0;
out_7971983971871194008[47] = 0.0;
out_7971983971871194008[48] = 0.0;
out_7971983971871194008[49] = 0.0;
out_7971983971871194008[50] = 1.0;
out_7971983971871194008[51] = 0.0;
out_7971983971871194008[52] = 0.0;
out_7971983971871194008[53] = 0.0;
out_7971983971871194008[54] = 0.0;
out_7971983971871194008[55] = 0.0;
out_7971983971871194008[56] = 0.0;
out_7971983971871194008[57] = 0.0;
out_7971983971871194008[58] = 0.0;
out_7971983971871194008[59] = 0.0;
out_7971983971871194008[60] = 1.0;
out_7971983971871194008[61] = 0.0;
out_7971983971871194008[62] = 0.0;
out_7971983971871194008[63] = 0.0;
out_7971983971871194008[64] = 0.0;
out_7971983971871194008[65] = 0.0;
out_7971983971871194008[66] = 0.0;
out_7971983971871194008[67] = 0.0;
out_7971983971871194008[68] = 0.0;
out_7971983971871194008[69] = 0.0;
out_7971983971871194008[70] = 1.0;
out_7971983971871194008[71] = 0.0;
out_7971983971871194008[72] = 0.0;
out_7971983971871194008[73] = 0.0;
out_7971983971871194008[74] = 0.0;
out_7971983971871194008[75] = 0.0;
out_7971983971871194008[76] = 0.0;
out_7971983971871194008[77] = 0.0;
out_7971983971871194008[78] = 0.0;
out_7971983971871194008[79] = 0.0;
out_7971983971871194008[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_8901269396414862155) {
out_8901269396414862155[0] = state[0];
out_8901269396414862155[1] = state[1];
out_8901269396414862155[2] = state[2];
out_8901269396414862155[3] = state[3];
out_8901269396414862155[4] = state[4];
out_8901269396414862155[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_8901269396414862155[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_8901269396414862155[7] = state[7];
out_8901269396414862155[8] = state[8];
void f_fun(double *state, double dt, double *out_1960663178760025601) {
out_1960663178760025601[0] = state[0];
out_1960663178760025601[1] = state[1];
out_1960663178760025601[2] = state[2];
out_1960663178760025601[3] = state[3];
out_1960663178760025601[4] = state[4];
out_1960663178760025601[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_1960663178760025601[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_1960663178760025601[7] = state[7];
out_1960663178760025601[8] = state[8];
}
void F_fun(double *state, double dt, double *out_8699189799260073455) {
out_8699189799260073455[0] = 1;
out_8699189799260073455[1] = 0;
out_8699189799260073455[2] = 0;
out_8699189799260073455[3] = 0;
out_8699189799260073455[4] = 0;
out_8699189799260073455[5] = 0;
out_8699189799260073455[6] = 0;
out_8699189799260073455[7] = 0;
out_8699189799260073455[8] = 0;
out_8699189799260073455[9] = 0;
out_8699189799260073455[10] = 1;
out_8699189799260073455[11] = 0;
out_8699189799260073455[12] = 0;
out_8699189799260073455[13] = 0;
out_8699189799260073455[14] = 0;
out_8699189799260073455[15] = 0;
out_8699189799260073455[16] = 0;
out_8699189799260073455[17] = 0;
out_8699189799260073455[18] = 0;
out_8699189799260073455[19] = 0;
out_8699189799260073455[20] = 1;
out_8699189799260073455[21] = 0;
out_8699189799260073455[22] = 0;
out_8699189799260073455[23] = 0;
out_8699189799260073455[24] = 0;
out_8699189799260073455[25] = 0;
out_8699189799260073455[26] = 0;
out_8699189799260073455[27] = 0;
out_8699189799260073455[28] = 0;
out_8699189799260073455[29] = 0;
out_8699189799260073455[30] = 1;
out_8699189799260073455[31] = 0;
out_8699189799260073455[32] = 0;
out_8699189799260073455[33] = 0;
out_8699189799260073455[34] = 0;
out_8699189799260073455[35] = 0;
out_8699189799260073455[36] = 0;
out_8699189799260073455[37] = 0;
out_8699189799260073455[38] = 0;
out_8699189799260073455[39] = 0;
out_8699189799260073455[40] = 1;
out_8699189799260073455[41] = 0;
out_8699189799260073455[42] = 0;
out_8699189799260073455[43] = 0;
out_8699189799260073455[44] = 0;
out_8699189799260073455[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_8699189799260073455[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_8699189799260073455[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8699189799260073455[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8699189799260073455[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_8699189799260073455[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_8699189799260073455[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_8699189799260073455[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_8699189799260073455[53] = -9.8100000000000005*dt;
out_8699189799260073455[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_8699189799260073455[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_8699189799260073455[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8699189799260073455[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8699189799260073455[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_8699189799260073455[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_8699189799260073455[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_8699189799260073455[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8699189799260073455[62] = 0;
out_8699189799260073455[63] = 0;
out_8699189799260073455[64] = 0;
out_8699189799260073455[65] = 0;
out_8699189799260073455[66] = 0;
out_8699189799260073455[67] = 0;
out_8699189799260073455[68] = 0;
out_8699189799260073455[69] = 0;
out_8699189799260073455[70] = 1;
out_8699189799260073455[71] = 0;
out_8699189799260073455[72] = 0;
out_8699189799260073455[73] = 0;
out_8699189799260073455[74] = 0;
out_8699189799260073455[75] = 0;
out_8699189799260073455[76] = 0;
out_8699189799260073455[77] = 0;
out_8699189799260073455[78] = 0;
out_8699189799260073455[79] = 0;
out_8699189799260073455[80] = 1;
void F_fun(double *state, double dt, double *out_893498683805935900) {
out_893498683805935900[0] = 1;
out_893498683805935900[1] = 0;
out_893498683805935900[2] = 0;
out_893498683805935900[3] = 0;
out_893498683805935900[4] = 0;
out_893498683805935900[5] = 0;
out_893498683805935900[6] = 0;
out_893498683805935900[7] = 0;
out_893498683805935900[8] = 0;
out_893498683805935900[9] = 0;
out_893498683805935900[10] = 1;
out_893498683805935900[11] = 0;
out_893498683805935900[12] = 0;
out_893498683805935900[13] = 0;
out_893498683805935900[14] = 0;
out_893498683805935900[15] = 0;
out_893498683805935900[16] = 0;
out_893498683805935900[17] = 0;
out_893498683805935900[18] = 0;
out_893498683805935900[19] = 0;
out_893498683805935900[20] = 1;
out_893498683805935900[21] = 0;
out_893498683805935900[22] = 0;
out_893498683805935900[23] = 0;
out_893498683805935900[24] = 0;
out_893498683805935900[25] = 0;
out_893498683805935900[26] = 0;
out_893498683805935900[27] = 0;
out_893498683805935900[28] = 0;
out_893498683805935900[29] = 0;
out_893498683805935900[30] = 1;
out_893498683805935900[31] = 0;
out_893498683805935900[32] = 0;
out_893498683805935900[33] = 0;
out_893498683805935900[34] = 0;
out_893498683805935900[35] = 0;
out_893498683805935900[36] = 0;
out_893498683805935900[37] = 0;
out_893498683805935900[38] = 0;
out_893498683805935900[39] = 0;
out_893498683805935900[40] = 1;
out_893498683805935900[41] = 0;
out_893498683805935900[42] = 0;
out_893498683805935900[43] = 0;
out_893498683805935900[44] = 0;
out_893498683805935900[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_893498683805935900[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_893498683805935900[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_893498683805935900[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_893498683805935900[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_893498683805935900[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_893498683805935900[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_893498683805935900[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_893498683805935900[53] = -9.8100000000000005*dt;
out_893498683805935900[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_893498683805935900[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_893498683805935900[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_893498683805935900[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_893498683805935900[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_893498683805935900[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_893498683805935900[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_893498683805935900[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_893498683805935900[62] = 0;
out_893498683805935900[63] = 0;
out_893498683805935900[64] = 0;
out_893498683805935900[65] = 0;
out_893498683805935900[66] = 0;
out_893498683805935900[67] = 0;
out_893498683805935900[68] = 0;
out_893498683805935900[69] = 0;
out_893498683805935900[70] = 1;
out_893498683805935900[71] = 0;
out_893498683805935900[72] = 0;
out_893498683805935900[73] = 0;
out_893498683805935900[74] = 0;
out_893498683805935900[75] = 0;
out_893498683805935900[76] = 0;
out_893498683805935900[77] = 0;
out_893498683805935900[78] = 0;
out_893498683805935900[79] = 0;
out_893498683805935900[80] = 1;
}
void h_25(double *state, double *unused, double *out_7376242857501384597) {
out_7376242857501384597[0] = state[6];
void h_25(double *state, double *unused, double *out_3235092958161781685) {
out_3235092958161781685[0] = state[6];
}
void H_25(double *state, double *unused, double *out_4045865477829865137) {
out_4045865477829865137[0] = 0;
out_4045865477829865137[1] = 0;
out_4045865477829865137[2] = 0;
out_4045865477829865137[3] = 0;
out_4045865477829865137[4] = 0;
out_4045865477829865137[5] = 0;
out_4045865477829865137[6] = 1;
out_4045865477829865137[7] = 0;
out_4045865477829865137[8] = 0;
void H_25(double *state, double *unused, double *out_4449003321881702331) {
out_4449003321881702331[0] = 0;
out_4449003321881702331[1] = 0;
out_4449003321881702331[2] = 0;
out_4449003321881702331[3] = 0;
out_4449003321881702331[4] = 0;
out_4449003321881702331[5] = 0;
out_4449003321881702331[6] = 1;
out_4449003321881702331[7] = 0;
out_4449003321881702331[8] = 0;
}
void h_24(double *state, double *unused, double *out_8059939713516192443) {
out_8059939713516192443[0] = state[4];
out_8059939713516192443[1] = state[5];
void h_24(double *state, double *unused, double *out_5426063249126145013) {
out_5426063249126145013[0] = state[4];
out_5426063249126145013[1] = state[5];
}
void H_24(double *state, double *unused, double *out_6223079901437015110) {
out_6223079901437015110[0] = 0;
out_6223079901437015110[1] = 0;
out_6223079901437015110[2] = 0;
out_6223079901437015110[3] = 0;
out_6223079901437015110[4] = 1;
out_6223079901437015110[5] = 0;
out_6223079901437015110[6] = 0;
out_6223079901437015110[7] = 0;
out_6223079901437015110[8] = 0;
out_6223079901437015110[9] = 0;
out_6223079901437015110[10] = 0;
out_6223079901437015110[11] = 0;
out_6223079901437015110[12] = 0;
out_6223079901437015110[13] = 0;
out_6223079901437015110[14] = 1;
out_6223079901437015110[15] = 0;
out_6223079901437015110[16] = 0;
out_6223079901437015110[17] = 0;
void H_24(double *state, double *unused, double *out_4845648626235561826) {
out_4845648626235561826[0] = 0;
out_4845648626235561826[1] = 0;
out_4845648626235561826[2] = 0;
out_4845648626235561826[3] = 0;
out_4845648626235561826[4] = 1;
out_4845648626235561826[5] = 0;
out_4845648626235561826[6] = 0;
out_4845648626235561826[7] = 0;
out_4845648626235561826[8] = 0;
out_4845648626235561826[9] = 0;
out_4845648626235561826[10] = 0;
out_4845648626235561826[11] = 0;
out_4845648626235561826[12] = 0;
out_4845648626235561826[13] = 0;
out_4845648626235561826[14] = 1;
out_4845648626235561826[15] = 0;
out_4845648626235561826[16] = 0;
out_4845648626235561826[17] = 0;
}
void h_30(double *state, double *unused, double *out_4428516867145899636) {
out_4428516867145899636[0] = state[4];
void h_30(double *state, double *unused, double *out_9056203919707109802) {
out_9056203919707109802[0] = state[4];
}
void H_30(double *state, double *unused, double *out_6564198436337113764) {
out_6564198436337113764[0] = 0;
out_6564198436337113764[1] = 0;
out_6564198436337113764[2] = 0;
out_6564198436337113764[3] = 0;
out_6564198436337113764[4] = 1;
out_6564198436337113764[5] = 0;
out_6564198436337113764[6] = 0;
out_6564198436337113764[7] = 0;
out_6564198436337113764[8] = 0;
void H_30(double *state, double *unused, double *out_1930670363374453704) {
out_1930670363374453704[0] = 0;
out_1930670363374453704[1] = 0;
out_1930670363374453704[2] = 0;
out_1930670363374453704[3] = 0;
out_1930670363374453704[4] = 1;
out_1930670363374453704[5] = 0;
out_1930670363374453704[6] = 0;
out_1930670363374453704[7] = 0;
out_1930670363374453704[8] = 0;
}
void h_26(double *state, double *unused, double *out_6344022010831827263) {
out_6344022010831827263[0] = state[7];
void h_26(double *state, double *unused, double *out_6243651816437256419) {
out_6243651816437256419[0] = state[7];
}
void H_26(double *state, double *unused, double *out_7350391447590665738) {
out_7350391447590665738[0] = 0;
out_7350391447590665738[1] = 0;
out_7350391447590665738[2] = 0;
out_7350391447590665738[3] = 0;
out_7350391447590665738[4] = 0;
out_7350391447590665738[5] = 0;
out_7350391447590665738[6] = 0;
out_7350391447590665738[7] = 1;
out_7350391447590665738[8] = 0;
void H_26(double *state, double *unused, double *out_8190506640755758555) {
out_8190506640755758555[0] = 0;
out_8190506640755758555[1] = 0;
out_8190506640755758555[2] = 0;
out_8190506640755758555[3] = 0;
out_8190506640755758555[4] = 0;
out_8190506640755758555[5] = 0;
out_8190506640755758555[6] = 0;
out_8190506640755758555[7] = 1;
out_8190506640755758555[8] = 0;
}
void h_27(double *state, double *unused, double *out_8466095895399469368) {
out_8466095895399469368[0] = state[3];
void h_27(double *state, double *unused, double *out_3838408842838259202) {
out_3838408842838259202[0] = state[3];
}
void H_27(double *state, double *unused, double *out_4389435124536688853) {
out_4389435124536688853[0] = 0;
out_4389435124536688853[1] = 0;
out_4389435124536688853[2] = 0;
out_4389435124536688853[3] = 1;
out_4389435124536688853[4] = 0;
out_4389435124536688853[5] = 0;
out_4389435124536688853[6] = 0;
out_4389435124536688853[7] = 0;
out_4389435124536688853[8] = 0;
void H_27(double *state, double *unused, double *out_292923707809489513) {
out_292923707809489513[0] = 0;
out_292923707809489513[1] = 0;
out_292923707809489513[2] = 0;
out_292923707809489513[3] = 1;
out_292923707809489513[4] = 0;
out_292923707809489513[5] = 0;
out_292923707809489513[6] = 0;
out_292923707809489513[7] = 0;
out_292923707809489513[8] = 0;
}
void h_29(double *state, double *unused, double *out_3825200982469422119) {
out_3825200982469422119[0] = state[1];
void h_29(double *state, double *unused, double *out_259894455441112662) {
out_259894455441112662[0] = state[1];
}
void H_29(double *state, double *unused, double *out_7074429780651505948) {
out_7074429780651505948[0] = 0;
out_7074429780651505948[1] = 1;
out_7074429780651505948[2] = 0;
out_7074429780651505948[3] = 0;
out_7074429780651505948[4] = 0;
out_7074429780651505948[5] = 0;
out_7074429780651505948[6] = 0;
out_7074429780651505948[7] = 0;
out_7074429780651505948[8] = 0;
void H_29(double *state, double *unused, double *out_1420439019060061520) {
out_1420439019060061520[0] = 0;
out_1420439019060061520[1] = 1;
out_1420439019060061520[2] = 0;
out_1420439019060061520[3] = 0;
out_1420439019060061520[4] = 0;
out_1420439019060061520[5] = 0;
out_1420439019060061520[6] = 0;
out_1420439019060061520[7] = 0;
out_1420439019060061520[8] = 0;
}
void h_28(double *state, double *unused, double *out_515873276607371397) {
out_515873276607371397[0] = state[0];
void h_28(double *state, double *unused, double *out_5143560329168581563) {
out_5143560329168581563[0] = state[0];
}
void H_28(double *state, double *unused, double *out_1992030763581975374) {
out_1992030763581975374[0] = 1;
out_1992030763581975374[1] = 0;
out_1992030763581975374[2] = 0;
out_1992030763581975374[3] = 0;
out_1992030763581975374[4] = 0;
out_1992030763581975374[5] = 0;
out_1992030763581975374[6] = 0;
out_1992030763581975374[7] = 0;
out_1992030763581975374[8] = 0;
void H_28(double *state, double *unused, double *out_6502838036129592094) {
out_6502838036129592094[0] = 1;
out_6502838036129592094[1] = 0;
out_6502838036129592094[2] = 0;
out_6502838036129592094[3] = 0;
out_6502838036129592094[4] = 0;
out_6502838036129592094[5] = 0;
out_6502838036129592094[6] = 0;
out_6502838036129592094[7] = 0;
out_6502838036129592094[8] = 0;
}
void h_31(double *state, double *unused, double *out_3189228565454117834) {
out_3189228565454117834[0] = state[8];
void h_31(double *state, double *unused, double *out_2959898895877275796) {
out_2959898895877275796[0] = state[8];
}
void H_31(double *state, double *unused, double *out_6724183345357314262) {
out_6724183345357314262[0] = 0;
out_6724183345357314262[1] = 0;
out_6724183345357314262[2] = 0;
out_6724183345357314262[3] = 0;
out_6724183345357314262[4] = 0;
out_6724183345357314262[5] = 0;
out_6724183345357314262[6] = 0;
out_6724183345357314262[7] = 0;
out_6724183345357314262[8] = 1;
void H_31(double *state, double *unused, double *out_4418357360004741903) {
out_4418357360004741903[0] = 0;
out_4418357360004741903[1] = 0;
out_4418357360004741903[2] = 0;
out_4418357360004741903[3] = 0;
out_4418357360004741903[4] = 0;
out_4418357360004741903[5] = 0;
out_4418357360004741903[6] = 0;
out_4418357360004741903[7] = 0;
out_4418357360004741903[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_3239626159248919555) {
err_fun(nom_x, delta_x, out_3239626159248919555);
void car_err_fun(double *nom_x, double *delta_x, double *out_4175267327343220067) {
err_fun(nom_x, delta_x, out_4175267327343220067);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_7776805117874316837) {
inv_err_fun(nom_x, true_x, out_7776805117874316837);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_8001717605441520298) {
inv_err_fun(nom_x, true_x, out_8001717605441520298);
}
void car_H_mod_fun(double *state, double *out_857826347354799703) {
H_mod_fun(state, out_857826347354799703);
void car_H_mod_fun(double *state, double *out_7971983971871194008) {
H_mod_fun(state, out_7971983971871194008);
}
void car_f_fun(double *state, double dt, double *out_8901269396414862155) {
f_fun(state, dt, out_8901269396414862155);
void car_f_fun(double *state, double dt, double *out_1960663178760025601) {
f_fun(state, dt, out_1960663178760025601);
}
void car_F_fun(double *state, double dt, double *out_8699189799260073455) {
F_fun(state, dt, out_8699189799260073455);
void car_F_fun(double *state, double dt, double *out_893498683805935900) {
F_fun(state, dt, out_893498683805935900);
}
void car_h_25(double *state, double *unused, double *out_7376242857501384597) {
h_25(state, unused, out_7376242857501384597);
void car_h_25(double *state, double *unused, double *out_3235092958161781685) {
h_25(state, unused, out_3235092958161781685);
}
void car_H_25(double *state, double *unused, double *out_4045865477829865137) {
H_25(state, unused, out_4045865477829865137);
void car_H_25(double *state, double *unused, double *out_4449003321881702331) {
H_25(state, unused, out_4449003321881702331);
}
void car_h_24(double *state, double *unused, double *out_8059939713516192443) {
h_24(state, unused, out_8059939713516192443);
void car_h_24(double *state, double *unused, double *out_5426063249126145013) {
h_24(state, unused, out_5426063249126145013);
}
void car_H_24(double *state, double *unused, double *out_6223079901437015110) {
H_24(state, unused, out_6223079901437015110);
void car_H_24(double *state, double *unused, double *out_4845648626235561826) {
H_24(state, unused, out_4845648626235561826);
}
void car_h_30(double *state, double *unused, double *out_4428516867145899636) {
h_30(state, unused, out_4428516867145899636);
void car_h_30(double *state, double *unused, double *out_9056203919707109802) {
h_30(state, unused, out_9056203919707109802);
}
void car_H_30(double *state, double *unused, double *out_6564198436337113764) {
H_30(state, unused, out_6564198436337113764);
void car_H_30(double *state, double *unused, double *out_1930670363374453704) {
H_30(state, unused, out_1930670363374453704);
}
void car_h_26(double *state, double *unused, double *out_6344022010831827263) {
h_26(state, unused, out_6344022010831827263);
void car_h_26(double *state, double *unused, double *out_6243651816437256419) {
h_26(state, unused, out_6243651816437256419);
}
void car_H_26(double *state, double *unused, double *out_7350391447590665738) {
H_26(state, unused, out_7350391447590665738);
void car_H_26(double *state, double *unused, double *out_8190506640755758555) {
H_26(state, unused, out_8190506640755758555);
}
void car_h_27(double *state, double *unused, double *out_8466095895399469368) {
h_27(state, unused, out_8466095895399469368);
void car_h_27(double *state, double *unused, double *out_3838408842838259202) {
h_27(state, unused, out_3838408842838259202);
}
void car_H_27(double *state, double *unused, double *out_4389435124536688853) {
H_27(state, unused, out_4389435124536688853);
void car_H_27(double *state, double *unused, double *out_292923707809489513) {
H_27(state, unused, out_292923707809489513);
}
void car_h_29(double *state, double *unused, double *out_3825200982469422119) {
h_29(state, unused, out_3825200982469422119);
void car_h_29(double *state, double *unused, double *out_259894455441112662) {
h_29(state, unused, out_259894455441112662);
}
void car_H_29(double *state, double *unused, double *out_7074429780651505948) {
H_29(state, unused, out_7074429780651505948);
void car_H_29(double *state, double *unused, double *out_1420439019060061520) {
H_29(state, unused, out_1420439019060061520);
}
void car_h_28(double *state, double *unused, double *out_515873276607371397) {
h_28(state, unused, out_515873276607371397);
void car_h_28(double *state, double *unused, double *out_5143560329168581563) {
h_28(state, unused, out_5143560329168581563);
}
void car_H_28(double *state, double *unused, double *out_1992030763581975374) {
H_28(state, unused, out_1992030763581975374);
void car_H_28(double *state, double *unused, double *out_6502838036129592094) {
H_28(state, unused, out_6502838036129592094);
}
void car_h_31(double *state, double *unused, double *out_3189228565454117834) {
h_31(state, unused, out_3189228565454117834);
void car_h_31(double *state, double *unused, double *out_2959898895877275796) {
h_31(state, unused, out_2959898895877275796);
}
void car_H_31(double *state, double *unused, double *out_6724183345357314262) {
H_31(state, unused, out_6724183345357314262);
void car_H_31(double *state, double *unused, double *out_4418357360004741903) {
H_31(state, unused, out_4418357360004741903);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);