This commit is contained in:
firestar5683
2026-09-15 20:25:19 -05:00
parent 26de11932a
commit 239121b0e1
96 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_5579271098234299589) {
out_5579271098234299589[0] = delta_x[0] + nom_x[0];
out_5579271098234299589[1] = delta_x[1] + nom_x[1];
out_5579271098234299589[2] = delta_x[2] + nom_x[2];
out_5579271098234299589[3] = delta_x[3] + nom_x[3];
out_5579271098234299589[4] = delta_x[4] + nom_x[4];
out_5579271098234299589[5] = delta_x[5] + nom_x[5];
out_5579271098234299589[6] = delta_x[6] + nom_x[6];
out_5579271098234299589[7] = delta_x[7] + nom_x[7];
out_5579271098234299589[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_6314153535178174931) {
out_6314153535178174931[0] = delta_x[0] + nom_x[0];
out_6314153535178174931[1] = delta_x[1] + nom_x[1];
out_6314153535178174931[2] = delta_x[2] + nom_x[2];
out_6314153535178174931[3] = delta_x[3] + nom_x[3];
out_6314153535178174931[4] = delta_x[4] + nom_x[4];
out_6314153535178174931[5] = delta_x[5] + nom_x[5];
out_6314153535178174931[6] = delta_x[6] + nom_x[6];
out_6314153535178174931[7] = delta_x[7] + nom_x[7];
out_6314153535178174931[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_8879118943542071452) {
out_8879118943542071452[0] = -nom_x[0] + true_x[0];
out_8879118943542071452[1] = -nom_x[1] + true_x[1];
out_8879118943542071452[2] = -nom_x[2] + true_x[2];
out_8879118943542071452[3] = -nom_x[3] + true_x[3];
out_8879118943542071452[4] = -nom_x[4] + true_x[4];
out_8879118943542071452[5] = -nom_x[5] + true_x[5];
out_8879118943542071452[6] = -nom_x[6] + true_x[6];
out_8879118943542071452[7] = -nom_x[7] + true_x[7];
out_8879118943542071452[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_7049921009392106379) {
out_7049921009392106379[0] = -nom_x[0] + true_x[0];
out_7049921009392106379[1] = -nom_x[1] + true_x[1];
out_7049921009392106379[2] = -nom_x[2] + true_x[2];
out_7049921009392106379[3] = -nom_x[3] + true_x[3];
out_7049921009392106379[4] = -nom_x[4] + true_x[4];
out_7049921009392106379[5] = -nom_x[5] + true_x[5];
out_7049921009392106379[6] = -nom_x[6] + true_x[6];
out_7049921009392106379[7] = -nom_x[7] + true_x[7];
out_7049921009392106379[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_4346759063564356553) {
out_4346759063564356553[0] = 1.0;
out_4346759063564356553[1] = 0.0;
out_4346759063564356553[2] = 0.0;
out_4346759063564356553[3] = 0.0;
out_4346759063564356553[4] = 0.0;
out_4346759063564356553[5] = 0.0;
out_4346759063564356553[6] = 0.0;
out_4346759063564356553[7] = 0.0;
out_4346759063564356553[8] = 0.0;
out_4346759063564356553[9] = 0.0;
out_4346759063564356553[10] = 1.0;
out_4346759063564356553[11] = 0.0;
out_4346759063564356553[12] = 0.0;
out_4346759063564356553[13] = 0.0;
out_4346759063564356553[14] = 0.0;
out_4346759063564356553[15] = 0.0;
out_4346759063564356553[16] = 0.0;
out_4346759063564356553[17] = 0.0;
out_4346759063564356553[18] = 0.0;
out_4346759063564356553[19] = 0.0;
out_4346759063564356553[20] = 1.0;
out_4346759063564356553[21] = 0.0;
out_4346759063564356553[22] = 0.0;
out_4346759063564356553[23] = 0.0;
out_4346759063564356553[24] = 0.0;
out_4346759063564356553[25] = 0.0;
out_4346759063564356553[26] = 0.0;
out_4346759063564356553[27] = 0.0;
out_4346759063564356553[28] = 0.0;
out_4346759063564356553[29] = 0.0;
out_4346759063564356553[30] = 1.0;
out_4346759063564356553[31] = 0.0;
out_4346759063564356553[32] = 0.0;
out_4346759063564356553[33] = 0.0;
out_4346759063564356553[34] = 0.0;
out_4346759063564356553[35] = 0.0;
out_4346759063564356553[36] = 0.0;
out_4346759063564356553[37] = 0.0;
out_4346759063564356553[38] = 0.0;
out_4346759063564356553[39] = 0.0;
out_4346759063564356553[40] = 1.0;
out_4346759063564356553[41] = 0.0;
out_4346759063564356553[42] = 0.0;
out_4346759063564356553[43] = 0.0;
out_4346759063564356553[44] = 0.0;
out_4346759063564356553[45] = 0.0;
out_4346759063564356553[46] = 0.0;
out_4346759063564356553[47] = 0.0;
out_4346759063564356553[48] = 0.0;
out_4346759063564356553[49] = 0.0;
out_4346759063564356553[50] = 1.0;
out_4346759063564356553[51] = 0.0;
out_4346759063564356553[52] = 0.0;
out_4346759063564356553[53] = 0.0;
out_4346759063564356553[54] = 0.0;
out_4346759063564356553[55] = 0.0;
out_4346759063564356553[56] = 0.0;
out_4346759063564356553[57] = 0.0;
out_4346759063564356553[58] = 0.0;
out_4346759063564356553[59] = 0.0;
out_4346759063564356553[60] = 1.0;
out_4346759063564356553[61] = 0.0;
out_4346759063564356553[62] = 0.0;
out_4346759063564356553[63] = 0.0;
out_4346759063564356553[64] = 0.0;
out_4346759063564356553[65] = 0.0;
out_4346759063564356553[66] = 0.0;
out_4346759063564356553[67] = 0.0;
out_4346759063564356553[68] = 0.0;
out_4346759063564356553[69] = 0.0;
out_4346759063564356553[70] = 1.0;
out_4346759063564356553[71] = 0.0;
out_4346759063564356553[72] = 0.0;
out_4346759063564356553[73] = 0.0;
out_4346759063564356553[74] = 0.0;
out_4346759063564356553[75] = 0.0;
out_4346759063564356553[76] = 0.0;
out_4346759063564356553[77] = 0.0;
out_4346759063564356553[78] = 0.0;
out_4346759063564356553[79] = 0.0;
out_4346759063564356553[80] = 1.0;
void H_mod_fun(double *state, double *out_9070114660809295187) {
out_9070114660809295187[0] = 1.0;
out_9070114660809295187[1] = 0.0;
out_9070114660809295187[2] = 0.0;
out_9070114660809295187[3] = 0.0;
out_9070114660809295187[4] = 0.0;
out_9070114660809295187[5] = 0.0;
out_9070114660809295187[6] = 0.0;
out_9070114660809295187[7] = 0.0;
out_9070114660809295187[8] = 0.0;
out_9070114660809295187[9] = 0.0;
out_9070114660809295187[10] = 1.0;
out_9070114660809295187[11] = 0.0;
out_9070114660809295187[12] = 0.0;
out_9070114660809295187[13] = 0.0;
out_9070114660809295187[14] = 0.0;
out_9070114660809295187[15] = 0.0;
out_9070114660809295187[16] = 0.0;
out_9070114660809295187[17] = 0.0;
out_9070114660809295187[18] = 0.0;
out_9070114660809295187[19] = 0.0;
out_9070114660809295187[20] = 1.0;
out_9070114660809295187[21] = 0.0;
out_9070114660809295187[22] = 0.0;
out_9070114660809295187[23] = 0.0;
out_9070114660809295187[24] = 0.0;
out_9070114660809295187[25] = 0.0;
out_9070114660809295187[26] = 0.0;
out_9070114660809295187[27] = 0.0;
out_9070114660809295187[28] = 0.0;
out_9070114660809295187[29] = 0.0;
out_9070114660809295187[30] = 1.0;
out_9070114660809295187[31] = 0.0;
out_9070114660809295187[32] = 0.0;
out_9070114660809295187[33] = 0.0;
out_9070114660809295187[34] = 0.0;
out_9070114660809295187[35] = 0.0;
out_9070114660809295187[36] = 0.0;
out_9070114660809295187[37] = 0.0;
out_9070114660809295187[38] = 0.0;
out_9070114660809295187[39] = 0.0;
out_9070114660809295187[40] = 1.0;
out_9070114660809295187[41] = 0.0;
out_9070114660809295187[42] = 0.0;
out_9070114660809295187[43] = 0.0;
out_9070114660809295187[44] = 0.0;
out_9070114660809295187[45] = 0.0;
out_9070114660809295187[46] = 0.0;
out_9070114660809295187[47] = 0.0;
out_9070114660809295187[48] = 0.0;
out_9070114660809295187[49] = 0.0;
out_9070114660809295187[50] = 1.0;
out_9070114660809295187[51] = 0.0;
out_9070114660809295187[52] = 0.0;
out_9070114660809295187[53] = 0.0;
out_9070114660809295187[54] = 0.0;
out_9070114660809295187[55] = 0.0;
out_9070114660809295187[56] = 0.0;
out_9070114660809295187[57] = 0.0;
out_9070114660809295187[58] = 0.0;
out_9070114660809295187[59] = 0.0;
out_9070114660809295187[60] = 1.0;
out_9070114660809295187[61] = 0.0;
out_9070114660809295187[62] = 0.0;
out_9070114660809295187[63] = 0.0;
out_9070114660809295187[64] = 0.0;
out_9070114660809295187[65] = 0.0;
out_9070114660809295187[66] = 0.0;
out_9070114660809295187[67] = 0.0;
out_9070114660809295187[68] = 0.0;
out_9070114660809295187[69] = 0.0;
out_9070114660809295187[70] = 1.0;
out_9070114660809295187[71] = 0.0;
out_9070114660809295187[72] = 0.0;
out_9070114660809295187[73] = 0.0;
out_9070114660809295187[74] = 0.0;
out_9070114660809295187[75] = 0.0;
out_9070114660809295187[76] = 0.0;
out_9070114660809295187[77] = 0.0;
out_9070114660809295187[78] = 0.0;
out_9070114660809295187[79] = 0.0;
out_9070114660809295187[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_8401415236153157083) {
out_8401415236153157083[0] = state[0];
out_8401415236153157083[1] = state[1];
out_8401415236153157083[2] = state[2];
out_8401415236153157083[3] = state[3];
out_8401415236153157083[4] = state[4];
out_8401415236153157083[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_8401415236153157083[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_8401415236153157083[7] = state[7];
out_8401415236153157083[8] = state[8];
void f_fun(double *state, double dt, double *out_7847765386725654972) {
out_7847765386725654972[0] = state[0];
out_7847765386725654972[1] = state[1];
out_7847765386725654972[2] = state[2];
out_7847765386725654972[3] = state[3];
out_7847765386725654972[4] = state[4];
out_7847765386725654972[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_7847765386725654972[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_7847765386725654972[7] = state[7];
out_7847765386725654972[8] = state[8];
}
void F_fun(double *state, double dt, double *out_1973239055632703499) {
out_1973239055632703499[0] = 1;
out_1973239055632703499[1] = 0;
out_1973239055632703499[2] = 0;
out_1973239055632703499[3] = 0;
out_1973239055632703499[4] = 0;
out_1973239055632703499[5] = 0;
out_1973239055632703499[6] = 0;
out_1973239055632703499[7] = 0;
out_1973239055632703499[8] = 0;
out_1973239055632703499[9] = 0;
out_1973239055632703499[10] = 1;
out_1973239055632703499[11] = 0;
out_1973239055632703499[12] = 0;
out_1973239055632703499[13] = 0;
out_1973239055632703499[14] = 0;
out_1973239055632703499[15] = 0;
out_1973239055632703499[16] = 0;
out_1973239055632703499[17] = 0;
out_1973239055632703499[18] = 0;
out_1973239055632703499[19] = 0;
out_1973239055632703499[20] = 1;
out_1973239055632703499[21] = 0;
out_1973239055632703499[22] = 0;
out_1973239055632703499[23] = 0;
out_1973239055632703499[24] = 0;
out_1973239055632703499[25] = 0;
out_1973239055632703499[26] = 0;
out_1973239055632703499[27] = 0;
out_1973239055632703499[28] = 0;
out_1973239055632703499[29] = 0;
out_1973239055632703499[30] = 1;
out_1973239055632703499[31] = 0;
out_1973239055632703499[32] = 0;
out_1973239055632703499[33] = 0;
out_1973239055632703499[34] = 0;
out_1973239055632703499[35] = 0;
out_1973239055632703499[36] = 0;
out_1973239055632703499[37] = 0;
out_1973239055632703499[38] = 0;
out_1973239055632703499[39] = 0;
out_1973239055632703499[40] = 1;
out_1973239055632703499[41] = 0;
out_1973239055632703499[42] = 0;
out_1973239055632703499[43] = 0;
out_1973239055632703499[44] = 0;
out_1973239055632703499[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_1973239055632703499[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_1973239055632703499[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_1973239055632703499[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_1973239055632703499[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_1973239055632703499[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_1973239055632703499[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_1973239055632703499[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_1973239055632703499[53] = -9.8100000000000005*dt;
out_1973239055632703499[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_1973239055632703499[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_1973239055632703499[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1973239055632703499[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1973239055632703499[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_1973239055632703499[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_1973239055632703499[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_1973239055632703499[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1973239055632703499[62] = 0;
out_1973239055632703499[63] = 0;
out_1973239055632703499[64] = 0;
out_1973239055632703499[65] = 0;
out_1973239055632703499[66] = 0;
out_1973239055632703499[67] = 0;
out_1973239055632703499[68] = 0;
out_1973239055632703499[69] = 0;
out_1973239055632703499[70] = 1;
out_1973239055632703499[71] = 0;
out_1973239055632703499[72] = 0;
out_1973239055632703499[73] = 0;
out_1973239055632703499[74] = 0;
out_1973239055632703499[75] = 0;
out_1973239055632703499[76] = 0;
out_1973239055632703499[77] = 0;
out_1973239055632703499[78] = 0;
out_1973239055632703499[79] = 0;
out_1973239055632703499[80] = 1;
void F_fun(double *state, double dt, double *out_6490326381461081645) {
out_6490326381461081645[0] = 1;
out_6490326381461081645[1] = 0;
out_6490326381461081645[2] = 0;
out_6490326381461081645[3] = 0;
out_6490326381461081645[4] = 0;
out_6490326381461081645[5] = 0;
out_6490326381461081645[6] = 0;
out_6490326381461081645[7] = 0;
out_6490326381461081645[8] = 0;
out_6490326381461081645[9] = 0;
out_6490326381461081645[10] = 1;
out_6490326381461081645[11] = 0;
out_6490326381461081645[12] = 0;
out_6490326381461081645[13] = 0;
out_6490326381461081645[14] = 0;
out_6490326381461081645[15] = 0;
out_6490326381461081645[16] = 0;
out_6490326381461081645[17] = 0;
out_6490326381461081645[18] = 0;
out_6490326381461081645[19] = 0;
out_6490326381461081645[20] = 1;
out_6490326381461081645[21] = 0;
out_6490326381461081645[22] = 0;
out_6490326381461081645[23] = 0;
out_6490326381461081645[24] = 0;
out_6490326381461081645[25] = 0;
out_6490326381461081645[26] = 0;
out_6490326381461081645[27] = 0;
out_6490326381461081645[28] = 0;
out_6490326381461081645[29] = 0;
out_6490326381461081645[30] = 1;
out_6490326381461081645[31] = 0;
out_6490326381461081645[32] = 0;
out_6490326381461081645[33] = 0;
out_6490326381461081645[34] = 0;
out_6490326381461081645[35] = 0;
out_6490326381461081645[36] = 0;
out_6490326381461081645[37] = 0;
out_6490326381461081645[38] = 0;
out_6490326381461081645[39] = 0;
out_6490326381461081645[40] = 1;
out_6490326381461081645[41] = 0;
out_6490326381461081645[42] = 0;
out_6490326381461081645[43] = 0;
out_6490326381461081645[44] = 0;
out_6490326381461081645[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_6490326381461081645[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_6490326381461081645[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_6490326381461081645[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_6490326381461081645[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_6490326381461081645[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_6490326381461081645[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_6490326381461081645[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_6490326381461081645[53] = -9.8100000000000005*dt;
out_6490326381461081645[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_6490326381461081645[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_6490326381461081645[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6490326381461081645[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6490326381461081645[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_6490326381461081645[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_6490326381461081645[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_6490326381461081645[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6490326381461081645[62] = 0;
out_6490326381461081645[63] = 0;
out_6490326381461081645[64] = 0;
out_6490326381461081645[65] = 0;
out_6490326381461081645[66] = 0;
out_6490326381461081645[67] = 0;
out_6490326381461081645[68] = 0;
out_6490326381461081645[69] = 0;
out_6490326381461081645[70] = 1;
out_6490326381461081645[71] = 0;
out_6490326381461081645[72] = 0;
out_6490326381461081645[73] = 0;
out_6490326381461081645[74] = 0;
out_6490326381461081645[75] = 0;
out_6490326381461081645[76] = 0;
out_6490326381461081645[77] = 0;
out_6490326381461081645[78] = 0;
out_6490326381461081645[79] = 0;
out_6490326381461081645[80] = 1;
}
void h_25(double *state, double *unused, double *out_7709444436246576106) {
out_7709444436246576106[0] = state[6];
void h_25(double *state, double *unused, double *out_258705256034994534) {
out_258705256034994534[0] = state[6];
}
void H_25(double *state, double *unused, double *out_4906796784232957826) {
out_4906796784232957826[0] = 0;
out_4906796784232957826[1] = 0;
out_4906796784232957826[2] = 0;
out_4906796784232957826[3] = 0;
out_4906796784232957826[4] = 0;
out_4906796784232957826[5] = 0;
out_4906796784232957826[6] = 1;
out_4906796784232957826[7] = 0;
out_4906796784232957826[8] = 0;
void H_25(double *state, double *unused, double *out_123073565102942050) {
out_123073565102942050[0] = 0;
out_123073565102942050[1] = 0;
out_123073565102942050[2] = 0;
out_123073565102942050[3] = 0;
out_123073565102942050[4] = 0;
out_123073565102942050[5] = 0;
out_123073565102942050[6] = 1;
out_123073565102942050[7] = 0;
out_123073565102942050[8] = 0;
}
void h_24(double *state, double *unused, double *out_8161953024412082811) {
out_8161953024412082811[0] = state[4];
out_8161953024412082811[1] = state[5];
void h_24(double *state, double *unused, double *out_5989007342487248666) {
out_5989007342487248666[0] = state[4];
out_5989007342487248666[1] = state[5];
}
void H_24(double *state, double *unused, double *out_6319825032271366663) {
out_6319825032271366663[0] = 0;
out_6319825032271366663[1] = 0;
out_6319825032271366663[2] = 0;
out_6319825032271366663[3] = 0;
out_6319825032271366663[4] = 1;
out_6319825032271366663[5] = 0;
out_6319825032271366663[6] = 0;
out_6319825032271366663[7] = 0;
out_6319825032271366663[8] = 0;
out_6319825032271366663[9] = 0;
out_6319825032271366663[10] = 0;
out_6319825032271366663[11] = 0;
out_6319825032271366663[12] = 0;
out_6319825032271366663[13] = 0;
out_6319825032271366663[14] = 1;
out_6319825032271366663[15] = 0;
out_6319825032271366663[16] = 0;
out_6319825032271366663[17] = 0;
void H_24(double *state, double *unused, double *out_4869582892069451084) {
out_4869582892069451084[0] = 0;
out_4869582892069451084[1] = 0;
out_4869582892069451084[2] = 0;
out_4869582892069451084[3] = 0;
out_4869582892069451084[4] = 1;
out_4869582892069451084[5] = 0;
out_4869582892069451084[6] = 0;
out_4869582892069451084[7] = 0;
out_4869582892069451084[8] = 0;
out_4869582892069451084[9] = 0;
out_4869582892069451084[10] = 0;
out_4869582892069451084[11] = 0;
out_4869582892069451084[12] = 0;
out_4869582892069451084[13] = 0;
out_4869582892069451084[14] = 1;
out_4869582892069451084[15] = 0;
out_4869582892069451084[16] = 0;
out_4869582892069451084[17] = 0;
}
void h_30(double *state, double *unused, double *out_8890419815179839294) {
out_8890419815179839294[0] = state[4];
void h_30(double *state, double *unused, double *out_179991132081170203) {
out_179991132081170203[0] = state[4];
}
void H_30(double *state, double *unused, double *out_7425129742740206453) {
out_7425129742740206453[0] = 0;
out_7425129742740206453[1] = 0;
out_7425129742740206453[2] = 0;
out_7425129742740206453[3] = 0;
out_7425129742740206453[4] = 1;
out_7425129742740206453[5] = 0;
out_7425129742740206453[6] = 0;
out_7425129742740206453[7] = 0;
out_7425129742740206453[8] = 0;
void H_30(double *state, double *unused, double *out_6793616776388674705) {
out_6793616776388674705[0] = 0;
out_6793616776388674705[1] = 0;
out_6793616776388674705[2] = 0;
out_6793616776388674705[3] = 0;
out_6793616776388674705[4] = 1;
out_6793616776388674705[5] = 0;
out_6793616776388674705[6] = 0;
out_6793616776388674705[7] = 0;
out_6793616776388674705[8] = 0;
}
void h_26(double *state, double *unused, double *out_8798474113368893512) {
out_8798474113368893512[0] = state[7];
void h_26(double *state, double *unused, double *out_4821682135579675442) {
out_4821682135579675442[0] = state[7];
}
void H_26(double *state, double *unused, double *out_1165293465358901602) {
out_1165293465358901602[0] = 0;
out_1165293465358901602[1] = 0;
out_1165293465358901602[2] = 0;
out_1165293465358901602[3] = 0;
out_1165293465358901602[4] = 0;
out_1165293465358901602[5] = 0;
out_1165293465358901602[6] = 0;
out_1165293465358901602[7] = 1;
out_1165293465358901602[8] = 0;
void H_26(double *state, double *unused, double *out_3181452404657858551) {
out_3181452404657858551[0] = 0;
out_3181452404657858551[1] = 0;
out_3181452404657858551[2] = 0;
out_3181452404657858551[3] = 0;
out_3181452404657858551[4] = 0;
out_3181452404657858551[5] = 0;
out_3181452404657858551[6] = 0;
out_3181452404657858551[7] = 1;
out_3181452404657858551[8] = 0;
}
void h_27(double *state, double *unused, double *out_4672658384802243421) {
out_4672658384802243421[0] = state[3];
void h_27(double *state, double *unused, double *out_5260378523695840179) {
out_5260378523695840179[0] = state[3];
}
void H_27(double *state, double *unused, double *out_8798020259785401946) {
out_8798020259785401946[0] = 0;
out_8798020259785401946[1] = 0;
out_8798020259785401946[2] = 0;
out_8798020259785401946[3] = 1;
out_8798020259785401946[4] = 0;
out_8798020259785401946[5] = 0;
out_8798020259785401946[6] = 0;
out_8798020259785401946[7] = 0;
out_8798020259785401946[8] = 0;
void H_27(double *state, double *unused, double *out_4618853464588249794) {
out_4618853464588249794[0] = 0;
out_4618853464588249794[1] = 0;
out_4618853464588249794[2] = 0;
out_4618853464588249794[3] = 1;
out_4618853464588249794[4] = 0;
out_4618853464588249794[5] = 0;
out_4618853464588249794[6] = 0;
out_4618853464588249794[7] = 0;
out_4618853464588249794[8] = 0;
}
void h_29(double *state, double *unused, double *out_4214457022643681759) {
out_4214457022643681759[0] = state[1];
void h_29(double *state, double *unused, double *out_5535572585980346068) {
out_5535572585980346068[0] = state[1];
}
void H_29(double *state, double *unused, double *out_7935361087054598637) {
out_7935361087054598637[0] = 0;
out_7935361087054598637[1] = 1;
out_7935361087054598637[2] = 0;
out_7935361087054598637[3] = 0;
out_7935361087054598637[4] = 0;
out_7935361087054598637[5] = 0;
out_7935361087054598637[6] = 0;
out_7935361087054598637[7] = 0;
out_7935361087054598637[8] = 0;
void H_29(double *state, double *unused, double *out_2905490737718698761) {
out_2905490737718698761[0] = 0;
out_2905490737718698761[1] = 1;
out_2905490737718698761[2] = 0;
out_2905490737718698761[3] = 0;
out_2905490737718698761[4] = 0;
out_2905490737718698761[5] = 0;
out_2905490737718698761[6] = 0;
out_2905490737718698761[7] = 0;
out_2905490737718698761[8] = 0;
}
void h_28(double *state, double *unused, double *out_8772412421246462550) {
out_8772412421246462550[0] = state[0];
void h_28(double *state, double *unused, double *out_4092634722619698442) {
out_4092634722619698442[0] = state[0];
}
void H_28(double *state, double *unused, double *out_2852962069985068063) {
out_2852962069985068063[0] = 1;
out_2852962069985068063[1] = 0;
out_2852962069985068063[2] = 0;
out_2852962069985068063[3] = 0;
out_2852962069985068063[4] = 0;
out_2852962069985068063[5] = 0;
out_2852962069985068063[6] = 0;
out_2852962069985068063[7] = 0;
out_2852962069985068063[8] = 0;
void H_28(double *state, double *unused, double *out_2176908279350831813) {
out_2176908279350831813[0] = 1;
out_2176908279350831813[1] = 0;
out_2176908279350831813[2] = 0;
out_2176908279350831813[3] = 0;
out_2176908279350831813[4] = 0;
out_2176908279350831813[5] = 0;
out_2176908279350831813[6] = 0;
out_2176908279350831813[7] = 0;
out_2176908279350831813[8] = 0;
}
void h_31(double *state, double *unused, double *out_7434250373962070217) {
out_7434250373962070217[0] = state[8];
void h_31(double *state, double *unused, double *out_1709336648663877701) {
out_1709336648663877701[0] = state[8];
}
void H_31(double *state, double *unused, double *out_539085363125550126) {
out_539085363125550126[0] = 0;
out_539085363125550126[1] = 0;
out_539085363125550126[2] = 0;
out_539085363125550126[3] = 0;
out_539085363125550126[4] = 0;
out_539085363125550126[5] = 0;
out_539085363125550126[6] = 0;
out_539085363125550126[7] = 0;
out_539085363125550126[8] = 1;
void H_31(double *state, double *unused, double *out_6953601685408875203) {
out_6953601685408875203[0] = 0;
out_6953601685408875203[1] = 0;
out_6953601685408875203[2] = 0;
out_6953601685408875203[3] = 0;
out_6953601685408875203[4] = 0;
out_6953601685408875203[5] = 0;
out_6953601685408875203[6] = 0;
out_6953601685408875203[7] = 0;
out_6953601685408875203[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_5579271098234299589) {
err_fun(nom_x, delta_x, out_5579271098234299589);
void car_err_fun(double *nom_x, double *delta_x, double *out_6314153535178174931) {
err_fun(nom_x, delta_x, out_6314153535178174931);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_8879118943542071452) {
inv_err_fun(nom_x, true_x, out_8879118943542071452);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_7049921009392106379) {
inv_err_fun(nom_x, true_x, out_7049921009392106379);
}
void car_H_mod_fun(double *state, double *out_4346759063564356553) {
H_mod_fun(state, out_4346759063564356553);
void car_H_mod_fun(double *state, double *out_9070114660809295187) {
H_mod_fun(state, out_9070114660809295187);
}
void car_f_fun(double *state, double dt, double *out_8401415236153157083) {
f_fun(state, dt, out_8401415236153157083);
void car_f_fun(double *state, double dt, double *out_7847765386725654972) {
f_fun(state, dt, out_7847765386725654972);
}
void car_F_fun(double *state, double dt, double *out_1973239055632703499) {
F_fun(state, dt, out_1973239055632703499);
void car_F_fun(double *state, double dt, double *out_6490326381461081645) {
F_fun(state, dt, out_6490326381461081645);
}
void car_h_25(double *state, double *unused, double *out_7709444436246576106) {
h_25(state, unused, out_7709444436246576106);
void car_h_25(double *state, double *unused, double *out_258705256034994534) {
h_25(state, unused, out_258705256034994534);
}
void car_H_25(double *state, double *unused, double *out_4906796784232957826) {
H_25(state, unused, out_4906796784232957826);
void car_H_25(double *state, double *unused, double *out_123073565102942050) {
H_25(state, unused, out_123073565102942050);
}
void car_h_24(double *state, double *unused, double *out_8161953024412082811) {
h_24(state, unused, out_8161953024412082811);
void car_h_24(double *state, double *unused, double *out_5989007342487248666) {
h_24(state, unused, out_5989007342487248666);
}
void car_H_24(double *state, double *unused, double *out_6319825032271366663) {
H_24(state, unused, out_6319825032271366663);
void car_H_24(double *state, double *unused, double *out_4869582892069451084) {
H_24(state, unused, out_4869582892069451084);
}
void car_h_30(double *state, double *unused, double *out_8890419815179839294) {
h_30(state, unused, out_8890419815179839294);
void car_h_30(double *state, double *unused, double *out_179991132081170203) {
h_30(state, unused, out_179991132081170203);
}
void car_H_30(double *state, double *unused, double *out_7425129742740206453) {
H_30(state, unused, out_7425129742740206453);
void car_H_30(double *state, double *unused, double *out_6793616776388674705) {
H_30(state, unused, out_6793616776388674705);
}
void car_h_26(double *state, double *unused, double *out_8798474113368893512) {
h_26(state, unused, out_8798474113368893512);
void car_h_26(double *state, double *unused, double *out_4821682135579675442) {
h_26(state, unused, out_4821682135579675442);
}
void car_H_26(double *state, double *unused, double *out_1165293465358901602) {
H_26(state, unused, out_1165293465358901602);
void car_H_26(double *state, double *unused, double *out_3181452404657858551) {
H_26(state, unused, out_3181452404657858551);
}
void car_h_27(double *state, double *unused, double *out_4672658384802243421) {
h_27(state, unused, out_4672658384802243421);
void car_h_27(double *state, double *unused, double *out_5260378523695840179) {
h_27(state, unused, out_5260378523695840179);
}
void car_H_27(double *state, double *unused, double *out_8798020259785401946) {
H_27(state, unused, out_8798020259785401946);
void car_H_27(double *state, double *unused, double *out_4618853464588249794) {
H_27(state, unused, out_4618853464588249794);
}
void car_h_29(double *state, double *unused, double *out_4214457022643681759) {
h_29(state, unused, out_4214457022643681759);
void car_h_29(double *state, double *unused, double *out_5535572585980346068) {
h_29(state, unused, out_5535572585980346068);
}
void car_H_29(double *state, double *unused, double *out_7935361087054598637) {
H_29(state, unused, out_7935361087054598637);
void car_H_29(double *state, double *unused, double *out_2905490737718698761) {
H_29(state, unused, out_2905490737718698761);
}
void car_h_28(double *state, double *unused, double *out_8772412421246462550) {
h_28(state, unused, out_8772412421246462550);
void car_h_28(double *state, double *unused, double *out_4092634722619698442) {
h_28(state, unused, out_4092634722619698442);
}
void car_H_28(double *state, double *unused, double *out_2852962069985068063) {
H_28(state, unused, out_2852962069985068063);
void car_H_28(double *state, double *unused, double *out_2176908279350831813) {
H_28(state, unused, out_2176908279350831813);
}
void car_h_31(double *state, double *unused, double *out_7434250373962070217) {
h_31(state, unused, out_7434250373962070217);
void car_h_31(double *state, double *unused, double *out_1709336648663877701) {
h_31(state, unused, out_1709336648663877701);
}
void car_H_31(double *state, double *unused, double *out_539085363125550126) {
H_31(state, unused, out_539085363125550126);
void car_H_31(double *state, double *unused, double *out_6953601685408875203) {
H_31(state, unused, out_6953601685408875203);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);