This commit is contained in:
firestar5683
2026-07-20 14:22:32 -05:00
parent a51b1fd78f
commit d5c0fea948
87 changed files with 2451 additions and 2202 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_8452016858633359142) {
out_8452016858633359142[0] = delta_x[0] + nom_x[0];
out_8452016858633359142[1] = delta_x[1] + nom_x[1];
out_8452016858633359142[2] = delta_x[2] + nom_x[2];
out_8452016858633359142[3] = delta_x[3] + nom_x[3];
out_8452016858633359142[4] = delta_x[4] + nom_x[4];
out_8452016858633359142[5] = delta_x[5] + nom_x[5];
out_8452016858633359142[6] = delta_x[6] + nom_x[6];
out_8452016858633359142[7] = delta_x[7] + nom_x[7];
out_8452016858633359142[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_6456809504724999118) {
out_6456809504724999118[0] = delta_x[0] + nom_x[0];
out_6456809504724999118[1] = delta_x[1] + nom_x[1];
out_6456809504724999118[2] = delta_x[2] + nom_x[2];
out_6456809504724999118[3] = delta_x[3] + nom_x[3];
out_6456809504724999118[4] = delta_x[4] + nom_x[4];
out_6456809504724999118[5] = delta_x[5] + nom_x[5];
out_6456809504724999118[6] = delta_x[6] + nom_x[6];
out_6456809504724999118[7] = delta_x[7] + nom_x[7];
out_6456809504724999118[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_6091261500618765150) {
out_6091261500618765150[0] = -nom_x[0] + true_x[0];
out_6091261500618765150[1] = -nom_x[1] + true_x[1];
out_6091261500618765150[2] = -nom_x[2] + true_x[2];
out_6091261500618765150[3] = -nom_x[3] + true_x[3];
out_6091261500618765150[4] = -nom_x[4] + true_x[4];
out_6091261500618765150[5] = -nom_x[5] + true_x[5];
out_6091261500618765150[6] = -nom_x[6] + true_x[6];
out_6091261500618765150[7] = -nom_x[7] + true_x[7];
out_6091261500618765150[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_5644557425305384061) {
out_5644557425305384061[0] = -nom_x[0] + true_x[0];
out_5644557425305384061[1] = -nom_x[1] + true_x[1];
out_5644557425305384061[2] = -nom_x[2] + true_x[2];
out_5644557425305384061[3] = -nom_x[3] + true_x[3];
out_5644557425305384061[4] = -nom_x[4] + true_x[4];
out_5644557425305384061[5] = -nom_x[5] + true_x[5];
out_5644557425305384061[6] = -nom_x[6] + true_x[6];
out_5644557425305384061[7] = -nom_x[7] + true_x[7];
out_5644557425305384061[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_38657891020581010) {
out_38657891020581010[0] = 1.0;
out_38657891020581010[1] = 0.0;
out_38657891020581010[2] = 0.0;
out_38657891020581010[3] = 0.0;
out_38657891020581010[4] = 0.0;
out_38657891020581010[5] = 0.0;
out_38657891020581010[6] = 0.0;
out_38657891020581010[7] = 0.0;
out_38657891020581010[8] = 0.0;
out_38657891020581010[9] = 0.0;
out_38657891020581010[10] = 1.0;
out_38657891020581010[11] = 0.0;
out_38657891020581010[12] = 0.0;
out_38657891020581010[13] = 0.0;
out_38657891020581010[14] = 0.0;
out_38657891020581010[15] = 0.0;
out_38657891020581010[16] = 0.0;
out_38657891020581010[17] = 0.0;
out_38657891020581010[18] = 0.0;
out_38657891020581010[19] = 0.0;
out_38657891020581010[20] = 1.0;
out_38657891020581010[21] = 0.0;
out_38657891020581010[22] = 0.0;
out_38657891020581010[23] = 0.0;
out_38657891020581010[24] = 0.0;
out_38657891020581010[25] = 0.0;
out_38657891020581010[26] = 0.0;
out_38657891020581010[27] = 0.0;
out_38657891020581010[28] = 0.0;
out_38657891020581010[29] = 0.0;
out_38657891020581010[30] = 1.0;
out_38657891020581010[31] = 0.0;
out_38657891020581010[32] = 0.0;
out_38657891020581010[33] = 0.0;
out_38657891020581010[34] = 0.0;
out_38657891020581010[35] = 0.0;
out_38657891020581010[36] = 0.0;
out_38657891020581010[37] = 0.0;
out_38657891020581010[38] = 0.0;
out_38657891020581010[39] = 0.0;
out_38657891020581010[40] = 1.0;
out_38657891020581010[41] = 0.0;
out_38657891020581010[42] = 0.0;
out_38657891020581010[43] = 0.0;
out_38657891020581010[44] = 0.0;
out_38657891020581010[45] = 0.0;
out_38657891020581010[46] = 0.0;
out_38657891020581010[47] = 0.0;
out_38657891020581010[48] = 0.0;
out_38657891020581010[49] = 0.0;
out_38657891020581010[50] = 1.0;
out_38657891020581010[51] = 0.0;
out_38657891020581010[52] = 0.0;
out_38657891020581010[53] = 0.0;
out_38657891020581010[54] = 0.0;
out_38657891020581010[55] = 0.0;
out_38657891020581010[56] = 0.0;
out_38657891020581010[57] = 0.0;
out_38657891020581010[58] = 0.0;
out_38657891020581010[59] = 0.0;
out_38657891020581010[60] = 1.0;
out_38657891020581010[61] = 0.0;
out_38657891020581010[62] = 0.0;
out_38657891020581010[63] = 0.0;
out_38657891020581010[64] = 0.0;
out_38657891020581010[65] = 0.0;
out_38657891020581010[66] = 0.0;
out_38657891020581010[67] = 0.0;
out_38657891020581010[68] = 0.0;
out_38657891020581010[69] = 0.0;
out_38657891020581010[70] = 1.0;
out_38657891020581010[71] = 0.0;
out_38657891020581010[72] = 0.0;
out_38657891020581010[73] = 0.0;
out_38657891020581010[74] = 0.0;
out_38657891020581010[75] = 0.0;
out_38657891020581010[76] = 0.0;
out_38657891020581010[77] = 0.0;
out_38657891020581010[78] = 0.0;
out_38657891020581010[79] = 0.0;
out_38657891020581010[80] = 1.0;
void H_mod_fun(double *state, double *out_3623313066644464969) {
out_3623313066644464969[0] = 1.0;
out_3623313066644464969[1] = 0.0;
out_3623313066644464969[2] = 0.0;
out_3623313066644464969[3] = 0.0;
out_3623313066644464969[4] = 0.0;
out_3623313066644464969[5] = 0.0;
out_3623313066644464969[6] = 0.0;
out_3623313066644464969[7] = 0.0;
out_3623313066644464969[8] = 0.0;
out_3623313066644464969[9] = 0.0;
out_3623313066644464969[10] = 1.0;
out_3623313066644464969[11] = 0.0;
out_3623313066644464969[12] = 0.0;
out_3623313066644464969[13] = 0.0;
out_3623313066644464969[14] = 0.0;
out_3623313066644464969[15] = 0.0;
out_3623313066644464969[16] = 0.0;
out_3623313066644464969[17] = 0.0;
out_3623313066644464969[18] = 0.0;
out_3623313066644464969[19] = 0.0;
out_3623313066644464969[20] = 1.0;
out_3623313066644464969[21] = 0.0;
out_3623313066644464969[22] = 0.0;
out_3623313066644464969[23] = 0.0;
out_3623313066644464969[24] = 0.0;
out_3623313066644464969[25] = 0.0;
out_3623313066644464969[26] = 0.0;
out_3623313066644464969[27] = 0.0;
out_3623313066644464969[28] = 0.0;
out_3623313066644464969[29] = 0.0;
out_3623313066644464969[30] = 1.0;
out_3623313066644464969[31] = 0.0;
out_3623313066644464969[32] = 0.0;
out_3623313066644464969[33] = 0.0;
out_3623313066644464969[34] = 0.0;
out_3623313066644464969[35] = 0.0;
out_3623313066644464969[36] = 0.0;
out_3623313066644464969[37] = 0.0;
out_3623313066644464969[38] = 0.0;
out_3623313066644464969[39] = 0.0;
out_3623313066644464969[40] = 1.0;
out_3623313066644464969[41] = 0.0;
out_3623313066644464969[42] = 0.0;
out_3623313066644464969[43] = 0.0;
out_3623313066644464969[44] = 0.0;
out_3623313066644464969[45] = 0.0;
out_3623313066644464969[46] = 0.0;
out_3623313066644464969[47] = 0.0;
out_3623313066644464969[48] = 0.0;
out_3623313066644464969[49] = 0.0;
out_3623313066644464969[50] = 1.0;
out_3623313066644464969[51] = 0.0;
out_3623313066644464969[52] = 0.0;
out_3623313066644464969[53] = 0.0;
out_3623313066644464969[54] = 0.0;
out_3623313066644464969[55] = 0.0;
out_3623313066644464969[56] = 0.0;
out_3623313066644464969[57] = 0.0;
out_3623313066644464969[58] = 0.0;
out_3623313066644464969[59] = 0.0;
out_3623313066644464969[60] = 1.0;
out_3623313066644464969[61] = 0.0;
out_3623313066644464969[62] = 0.0;
out_3623313066644464969[63] = 0.0;
out_3623313066644464969[64] = 0.0;
out_3623313066644464969[65] = 0.0;
out_3623313066644464969[66] = 0.0;
out_3623313066644464969[67] = 0.0;
out_3623313066644464969[68] = 0.0;
out_3623313066644464969[69] = 0.0;
out_3623313066644464969[70] = 1.0;
out_3623313066644464969[71] = 0.0;
out_3623313066644464969[72] = 0.0;
out_3623313066644464969[73] = 0.0;
out_3623313066644464969[74] = 0.0;
out_3623313066644464969[75] = 0.0;
out_3623313066644464969[76] = 0.0;
out_3623313066644464969[77] = 0.0;
out_3623313066644464969[78] = 0.0;
out_3623313066644464969[79] = 0.0;
out_3623313066644464969[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_558885094687163216) {
out_558885094687163216[0] = state[0];
out_558885094687163216[1] = state[1];
out_558885094687163216[2] = state[2];
out_558885094687163216[3] = state[3];
out_558885094687163216[4] = state[4];
out_558885094687163216[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_558885094687163216[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_558885094687163216[7] = state[7];
out_558885094687163216[8] = state[8];
void f_fun(double *state, double dt, double *out_2530420459597428980) {
out_2530420459597428980[0] = state[0];
out_2530420459597428980[1] = state[1];
out_2530420459597428980[2] = state[2];
out_2530420459597428980[3] = state[3];
out_2530420459597428980[4] = state[4];
out_2530420459597428980[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_2530420459597428980[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_2530420459597428980[7] = state[7];
out_2530420459597428980[8] = state[8];
}
void F_fun(double *state, double dt, double *out_2583716049044893862) {
out_2583716049044893862[0] = 1;
out_2583716049044893862[1] = 0;
out_2583716049044893862[2] = 0;
out_2583716049044893862[3] = 0;
out_2583716049044893862[4] = 0;
out_2583716049044893862[5] = 0;
out_2583716049044893862[6] = 0;
out_2583716049044893862[7] = 0;
out_2583716049044893862[8] = 0;
out_2583716049044893862[9] = 0;
out_2583716049044893862[10] = 1;
out_2583716049044893862[11] = 0;
out_2583716049044893862[12] = 0;
out_2583716049044893862[13] = 0;
out_2583716049044893862[14] = 0;
out_2583716049044893862[15] = 0;
out_2583716049044893862[16] = 0;
out_2583716049044893862[17] = 0;
out_2583716049044893862[18] = 0;
out_2583716049044893862[19] = 0;
out_2583716049044893862[20] = 1;
out_2583716049044893862[21] = 0;
out_2583716049044893862[22] = 0;
out_2583716049044893862[23] = 0;
out_2583716049044893862[24] = 0;
out_2583716049044893862[25] = 0;
out_2583716049044893862[26] = 0;
out_2583716049044893862[27] = 0;
out_2583716049044893862[28] = 0;
out_2583716049044893862[29] = 0;
out_2583716049044893862[30] = 1;
out_2583716049044893862[31] = 0;
out_2583716049044893862[32] = 0;
out_2583716049044893862[33] = 0;
out_2583716049044893862[34] = 0;
out_2583716049044893862[35] = 0;
out_2583716049044893862[36] = 0;
out_2583716049044893862[37] = 0;
out_2583716049044893862[38] = 0;
out_2583716049044893862[39] = 0;
out_2583716049044893862[40] = 1;
out_2583716049044893862[41] = 0;
out_2583716049044893862[42] = 0;
out_2583716049044893862[43] = 0;
out_2583716049044893862[44] = 0;
out_2583716049044893862[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_2583716049044893862[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_2583716049044893862[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_2583716049044893862[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_2583716049044893862[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_2583716049044893862[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_2583716049044893862[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_2583716049044893862[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_2583716049044893862[53] = -9.8100000000000005*dt;
out_2583716049044893862[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_2583716049044893862[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_2583716049044893862[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_2583716049044893862[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_2583716049044893862[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_2583716049044893862[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_2583716049044893862[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_2583716049044893862[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_2583716049044893862[62] = 0;
out_2583716049044893862[63] = 0;
out_2583716049044893862[64] = 0;
out_2583716049044893862[65] = 0;
out_2583716049044893862[66] = 0;
out_2583716049044893862[67] = 0;
out_2583716049044893862[68] = 0;
out_2583716049044893862[69] = 0;
out_2583716049044893862[70] = 1;
out_2583716049044893862[71] = 0;
out_2583716049044893862[72] = 0;
out_2583716049044893862[73] = 0;
out_2583716049044893862[74] = 0;
out_2583716049044893862[75] = 0;
out_2583716049044893862[76] = 0;
out_2583716049044893862[77] = 0;
out_2583716049044893862[78] = 0;
out_2583716049044893862[79] = 0;
out_2583716049044893862[80] = 1;
void F_fun(double *state, double dt, double *out_7641637713499099284) {
out_7641637713499099284[0] = 1;
out_7641637713499099284[1] = 0;
out_7641637713499099284[2] = 0;
out_7641637713499099284[3] = 0;
out_7641637713499099284[4] = 0;
out_7641637713499099284[5] = 0;
out_7641637713499099284[6] = 0;
out_7641637713499099284[7] = 0;
out_7641637713499099284[8] = 0;
out_7641637713499099284[9] = 0;
out_7641637713499099284[10] = 1;
out_7641637713499099284[11] = 0;
out_7641637713499099284[12] = 0;
out_7641637713499099284[13] = 0;
out_7641637713499099284[14] = 0;
out_7641637713499099284[15] = 0;
out_7641637713499099284[16] = 0;
out_7641637713499099284[17] = 0;
out_7641637713499099284[18] = 0;
out_7641637713499099284[19] = 0;
out_7641637713499099284[20] = 1;
out_7641637713499099284[21] = 0;
out_7641637713499099284[22] = 0;
out_7641637713499099284[23] = 0;
out_7641637713499099284[24] = 0;
out_7641637713499099284[25] = 0;
out_7641637713499099284[26] = 0;
out_7641637713499099284[27] = 0;
out_7641637713499099284[28] = 0;
out_7641637713499099284[29] = 0;
out_7641637713499099284[30] = 1;
out_7641637713499099284[31] = 0;
out_7641637713499099284[32] = 0;
out_7641637713499099284[33] = 0;
out_7641637713499099284[34] = 0;
out_7641637713499099284[35] = 0;
out_7641637713499099284[36] = 0;
out_7641637713499099284[37] = 0;
out_7641637713499099284[38] = 0;
out_7641637713499099284[39] = 0;
out_7641637713499099284[40] = 1;
out_7641637713499099284[41] = 0;
out_7641637713499099284[42] = 0;
out_7641637713499099284[43] = 0;
out_7641637713499099284[44] = 0;
out_7641637713499099284[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_7641637713499099284[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_7641637713499099284[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_7641637713499099284[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_7641637713499099284[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_7641637713499099284[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_7641637713499099284[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_7641637713499099284[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_7641637713499099284[53] = -9.8100000000000005*dt;
out_7641637713499099284[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_7641637713499099284[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_7641637713499099284[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7641637713499099284[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7641637713499099284[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_7641637713499099284[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_7641637713499099284[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_7641637713499099284[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7641637713499099284[62] = 0;
out_7641637713499099284[63] = 0;
out_7641637713499099284[64] = 0;
out_7641637713499099284[65] = 0;
out_7641637713499099284[66] = 0;
out_7641637713499099284[67] = 0;
out_7641637713499099284[68] = 0;
out_7641637713499099284[69] = 0;
out_7641637713499099284[70] = 1;
out_7641637713499099284[71] = 0;
out_7641637713499099284[72] = 0;
out_7641637713499099284[73] = 0;
out_7641637713499099284[74] = 0;
out_7641637713499099284[75] = 0;
out_7641637713499099284[76] = 0;
out_7641637713499099284[77] = 0;
out_7641637713499099284[78] = 0;
out_7641637713499099284[79] = 0;
out_7641637713499099284[80] = 1;
}
void h_25(double *state, double *unused, double *out_6863161802963304328) {
out_6863161802963304328[0] = state[6];
void h_25(double *state, double *unused, double *out_9149101986531247315) {
out_9149101986531247315[0] = state[6];
}
void H_25(double *state, double *unused, double *out_2872687221825540538) {
out_2872687221825540538[0] = 0;
out_2872687221825540538[1] = 0;
out_2872687221825540538[2] = 0;
out_2872687221825540538[3] = 0;
out_2872687221825540538[4] = 0;
out_2872687221825540538[5] = 0;
out_2872687221825540538[6] = 1;
out_2872687221825540538[7] = 0;
out_2872687221825540538[8] = 0;
void H_25(double *state, double *unused, double *out_8527004891829129809) {
out_8527004891829129809[0] = 0;
out_8527004891829129809[1] = 0;
out_8527004891829129809[2] = 0;
out_8527004891829129809[3] = 0;
out_8527004891829129809[4] = 0;
out_8527004891829129809[5] = 0;
out_8527004891829129809[6] = 1;
out_8527004891829129809[7] = 0;
out_8527004891829129809[8] = 0;
}
void h_24(double *state, double *unused, double *out_1110917950379322687) {
out_1110917950379322687[0] = state[4];
out_1110917950379322687[1] = state[5];
void h_24(double *state, double *unused, double *out_3166828984508355697) {
out_3166828984508355697[0] = state[4];
out_3166828984508355697[1] = state[5];
}
void H_24(double *state, double *unused, double *out_4545704411851386355) {
out_4545704411851386355[0] = 0;
out_4545704411851386355[1] = 0;
out_4545704411851386355[2] = 0;
out_4545704411851386355[3] = 0;
out_4545704411851386355[4] = 1;
out_4545704411851386355[5] = 0;
out_4545704411851386355[6] = 0;
out_4545704411851386355[7] = 0;
out_4545704411851386355[8] = 0;
out_4545704411851386355[9] = 0;
out_4545704411851386355[10] = 0;
out_4545704411851386355[11] = 0;
out_4545704411851386355[12] = 0;
out_4545704411851386355[13] = 0;
out_4545704411851386355[14] = 1;
out_4545704411851386355[15] = 0;
out_4545704411851386355[16] = 0;
out_4545704411851386355[17] = 0;
void H_24(double *state, double *unused, double *out_2072385171006399745) {
out_2072385171006399745[0] = 0;
out_2072385171006399745[1] = 0;
out_2072385171006399745[2] = 0;
out_2072385171006399745[3] = 0;
out_2072385171006399745[4] = 1;
out_2072385171006399745[5] = 0;
out_2072385171006399745[6] = 0;
out_2072385171006399745[7] = 0;
out_2072385171006399745[8] = 0;
out_2072385171006399745[9] = 0;
out_2072385171006399745[10] = 0;
out_2072385171006399745[11] = 0;
out_2072385171006399745[12] = 0;
out_2072385171006399745[13] = 0;
out_2072385171006399745[14] = 1;
out_2072385171006399745[15] = 0;
out_2072385171006399745[16] = 0;
out_2072385171006399745[17] = 0;
}
void h_30(double *state, double *unused, double *out_3820317013925574847) {
out_3820317013925574847[0] = state[4];
void h_30(double *state, double *unused, double *out_1385836729710574874) {
out_1385836729710574874[0] = state[4];
}
void H_30(double *state, double *unused, double *out_7400383551953148736) {
out_7400383551953148736[0] = 0;
out_7400383551953148736[1] = 0;
out_7400383551953148736[2] = 0;
out_7400383551953148736[3] = 0;
out_7400383551953148736[4] = 1;
out_7400383551953148736[5] = 0;
out_7400383551953148736[6] = 0;
out_7400383551953148736[7] = 0;
out_7400383551953148736[8] = 0;
void H_30(double *state, double *unused, double *out_7401406223373173180) {
out_7401406223373173180[0] = 0;
out_7401406223373173180[1] = 0;
out_7401406223373173180[2] = 0;
out_7401406223373173180[3] = 0;
out_7401406223373173180[4] = 1;
out_7401406223373173180[5] = 0;
out_7401406223373173180[6] = 0;
out_7401406223373173180[7] = 0;
out_7401406223373173180[8] = 0;
}
void h_26(double *state, double *unused, double *out_3983562419870100788) {
out_3983562419870100788[0] = state[7];
void h_26(double *state, double *unused, double *out_7332000190158117452) {
out_7332000190158117452[0] = state[7];
}
void H_26(double *state, double *unused, double *out_6614190540699596762) {
out_6614190540699596762[0] = 0;
out_6614190540699596762[1] = 0;
out_6614190540699596762[2] = 0;
out_6614190540699596762[3] = 0;
out_6614190540699596762[4] = 0;
out_6614190540699596762[5] = 0;
out_6614190540699596762[6] = 0;
out_6614190540699596762[7] = 1;
out_6614190540699596762[8] = 0;
void H_26(double *state, double *unused, double *out_4785501572955073585) {
out_4785501572955073585[0] = 0;
out_4785501572955073585[1] = 0;
out_4785501572955073585[2] = 0;
out_4785501572955073585[3] = 0;
out_4785501572955073585[4] = 0;
out_4785501572955073585[5] = 0;
out_4785501572955073585[6] = 0;
out_4785501572955073585[7] = 1;
out_4785501572955073585[8] = 0;
}
void h_27(double *state, double *unused, double *out_70918829331572549) {
out_70918829331572549[0] = state[3];
void h_27(double *state, double *unused, double *out_3419356599619589213) {
out_3419356599619589213[0] = state[3];
}
void H_27(double *state, double *unused, double *out_5176789480769205519) {
out_5176789480769205519[0] = 0;
out_5176789480769205519[1] = 0;
out_5176789480769205519[2] = 0;
out_5176789480769205519[3] = 1;
out_5176789480769205519[4] = 0;
out_5176789480769205519[5] = 0;
out_5176789480769205519[6] = 0;
out_5176789480769205519[7] = 0;
out_5176789480769205519[8] = 0;
void H_27(double *state, double *unused, double *out_8870574538535953525) {
out_8870574538535953525[0] = 0;
out_8870574538535953525[1] = 0;
out_8870574538535953525[2] = 0;
out_8870574538535953525[3] = 1;
out_8870574538535953525[4] = 0;
out_8870574538535953525[5] = 0;
out_8870574538535953525[6] = 0;
out_8870574538535953525[7] = 0;
out_8870574538535953525[8] = 0;
}
void h_29(double *state, double *unused, double *out_4423632898602052364) {
out_4423632898602052364[0] = state[1];
void h_29(double *state, double *unused, double *out_442326876808912439) {
out_442326876808912439[0] = state[1];
}
void H_29(double *state, double *unused, double *out_6890152207638756552) {
out_6890152207638756552[0] = 0;
out_6890152207638756552[1] = 1;
out_6890152207638756552[2] = 0;
out_6890152207638756552[3] = 0;
out_6890152207638756552[4] = 0;
out_6890152207638756552[5] = 0;
out_6890152207638756552[6] = 0;
out_6890152207638756552[7] = 0;
out_6890152207638756552[8] = 0;
void H_29(double *state, double *unused, double *out_6891174879058780996) {
out_6891174879058780996[0] = 0;
out_6891174879058780996[1] = 1;
out_6891174879058780996[2] = 0;
out_6891174879058780996[3] = 0;
out_6891174879058780996[4] = 0;
out_6891174879058780996[5] = 0;
out_6891174879058780996[6] = 0;
out_6891174879058780996[7] = 0;
out_6891174879058780996[8] = 0;
}
void h_28(double *state, double *unused, double *out_3204928983415884040) {
out_3204928983415884040[0] = state[0];
void h_28(double *state, double *unused, double *out_6231908702889442596) {
out_6231908702889442596[0] = state[0];
}
void H_28(double *state, double *unused, double *out_4926521936073430301) {
out_4926521936073430301[0] = 1;
out_4926521936073430301[1] = 0;
out_4926521936073430301[2] = 0;
out_4926521936073430301[3] = 0;
out_4926521936073430301[4] = 0;
out_4926521936073430301[5] = 0;
out_4926521936073430301[6] = 0;
out_4926521936073430301[7] = 0;
out_4926521936073430301[8] = 0;
void H_28(double *state, double *unused, double *out_6473170177581240046) {
out_6473170177581240046[0] = 1;
out_6473170177581240046[1] = 0;
out_6473170177581240046[2] = 0;
out_6473170177581240046[3] = 0;
out_6473170177581240046[4] = 0;
out_6473170177581240046[5] = 0;
out_6473170177581240046[6] = 0;
out_6473170177581240046[7] = 0;
out_6473170177581240046[8] = 0;
}
void h_31(double *state, double *unused, double *out_597396961285583997) {
out_597396961285583997[0] = state[8];
void h_31(double *state, double *unused, double *out_657764610459762417) {
out_657764610459762417[0] = state[8];
}
void H_31(double *state, double *unused, double *out_2842041259948580110) {
out_2842041259948580110[0] = 0;
out_2842041259948580110[1] = 0;
out_2842041259948580110[2] = 0;
out_2842041259948580110[3] = 0;
out_2842041259948580110[4] = 0;
out_2842041259948580110[5] = 0;
out_2842041259948580110[6] = 0;
out_2842041259948580110[7] = 0;
out_2842041259948580110[8] = 1;
void H_31(double *state, double *unused, double *out_4159293470721722109) {
out_4159293470721722109[0] = 0;
out_4159293470721722109[1] = 0;
out_4159293470721722109[2] = 0;
out_4159293470721722109[3] = 0;
out_4159293470721722109[4] = 0;
out_4159293470721722109[5] = 0;
out_4159293470721722109[6] = 0;
out_4159293470721722109[7] = 0;
out_4159293470721722109[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_8452016858633359142) {
err_fun(nom_x, delta_x, out_8452016858633359142);
void car_err_fun(double *nom_x, double *delta_x, double *out_6456809504724999118) {
err_fun(nom_x, delta_x, out_6456809504724999118);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_6091261500618765150) {
inv_err_fun(nom_x, true_x, out_6091261500618765150);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_5644557425305384061) {
inv_err_fun(nom_x, true_x, out_5644557425305384061);
}
void car_H_mod_fun(double *state, double *out_38657891020581010) {
H_mod_fun(state, out_38657891020581010);
void car_H_mod_fun(double *state, double *out_3623313066644464969) {
H_mod_fun(state, out_3623313066644464969);
}
void car_f_fun(double *state, double dt, double *out_558885094687163216) {
f_fun(state, dt, out_558885094687163216);
void car_f_fun(double *state, double dt, double *out_2530420459597428980) {
f_fun(state, dt, out_2530420459597428980);
}
void car_F_fun(double *state, double dt, double *out_2583716049044893862) {
F_fun(state, dt, out_2583716049044893862);
void car_F_fun(double *state, double dt, double *out_7641637713499099284) {
F_fun(state, dt, out_7641637713499099284);
}
void car_h_25(double *state, double *unused, double *out_6863161802963304328) {
h_25(state, unused, out_6863161802963304328);
void car_h_25(double *state, double *unused, double *out_9149101986531247315) {
h_25(state, unused, out_9149101986531247315);
}
void car_H_25(double *state, double *unused, double *out_2872687221825540538) {
H_25(state, unused, out_2872687221825540538);
void car_H_25(double *state, double *unused, double *out_8527004891829129809) {
H_25(state, unused, out_8527004891829129809);
}
void car_h_24(double *state, double *unused, double *out_1110917950379322687) {
h_24(state, unused, out_1110917950379322687);
void car_h_24(double *state, double *unused, double *out_3166828984508355697) {
h_24(state, unused, out_3166828984508355697);
}
void car_H_24(double *state, double *unused, double *out_4545704411851386355) {
H_24(state, unused, out_4545704411851386355);
void car_H_24(double *state, double *unused, double *out_2072385171006399745) {
H_24(state, unused, out_2072385171006399745);
}
void car_h_30(double *state, double *unused, double *out_3820317013925574847) {
h_30(state, unused, out_3820317013925574847);
void car_h_30(double *state, double *unused, double *out_1385836729710574874) {
h_30(state, unused, out_1385836729710574874);
}
void car_H_30(double *state, double *unused, double *out_7400383551953148736) {
H_30(state, unused, out_7400383551953148736);
void car_H_30(double *state, double *unused, double *out_7401406223373173180) {
H_30(state, unused, out_7401406223373173180);
}
void car_h_26(double *state, double *unused, double *out_3983562419870100788) {
h_26(state, unused, out_3983562419870100788);
void car_h_26(double *state, double *unused, double *out_7332000190158117452) {
h_26(state, unused, out_7332000190158117452);
}
void car_H_26(double *state, double *unused, double *out_6614190540699596762) {
H_26(state, unused, out_6614190540699596762);
void car_H_26(double *state, double *unused, double *out_4785501572955073585) {
H_26(state, unused, out_4785501572955073585);
}
void car_h_27(double *state, double *unused, double *out_70918829331572549) {
h_27(state, unused, out_70918829331572549);
void car_h_27(double *state, double *unused, double *out_3419356599619589213) {
h_27(state, unused, out_3419356599619589213);
}
void car_H_27(double *state, double *unused, double *out_5176789480769205519) {
H_27(state, unused, out_5176789480769205519);
void car_H_27(double *state, double *unused, double *out_8870574538535953525) {
H_27(state, unused, out_8870574538535953525);
}
void car_h_29(double *state, double *unused, double *out_4423632898602052364) {
h_29(state, unused, out_4423632898602052364);
void car_h_29(double *state, double *unused, double *out_442326876808912439) {
h_29(state, unused, out_442326876808912439);
}
void car_H_29(double *state, double *unused, double *out_6890152207638756552) {
H_29(state, unused, out_6890152207638756552);
void car_H_29(double *state, double *unused, double *out_6891174879058780996) {
H_29(state, unused, out_6891174879058780996);
}
void car_h_28(double *state, double *unused, double *out_3204928983415884040) {
h_28(state, unused, out_3204928983415884040);
void car_h_28(double *state, double *unused, double *out_6231908702889442596) {
h_28(state, unused, out_6231908702889442596);
}
void car_H_28(double *state, double *unused, double *out_4926521936073430301) {
H_28(state, unused, out_4926521936073430301);
void car_H_28(double *state, double *unused, double *out_6473170177581240046) {
H_28(state, unused, out_6473170177581240046);
}
void car_h_31(double *state, double *unused, double *out_597396961285583997) {
h_31(state, unused, out_597396961285583997);
void car_h_31(double *state, double *unused, double *out_657764610459762417) {
h_31(state, unused, out_657764610459762417);
}
void car_H_31(double *state, double *unused, double *out_2842041259948580110) {
H_31(state, unused, out_2842041259948580110);
void car_H_31(double *state, double *unused, double *out_4159293470721722109) {
H_31(state, unused, out_4159293470721722109);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);