Chestnut Diagnostics

This commit is contained in:
firestar5683
2026-09-07 10:51:29 -05:00
parent c03d06b408
commit 5df8b59964
94 changed files with 1714 additions and 1363 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_7751375231448978305) {
out_7751375231448978305[0] = delta_x[0] + nom_x[0];
out_7751375231448978305[1] = delta_x[1] + nom_x[1];
out_7751375231448978305[2] = delta_x[2] + nom_x[2];
out_7751375231448978305[3] = delta_x[3] + nom_x[3];
out_7751375231448978305[4] = delta_x[4] + nom_x[4];
out_7751375231448978305[5] = delta_x[5] + nom_x[5];
out_7751375231448978305[6] = delta_x[6] + nom_x[6];
out_7751375231448978305[7] = delta_x[7] + nom_x[7];
out_7751375231448978305[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_789804740016769707) {
out_789804740016769707[0] = delta_x[0] + nom_x[0];
out_789804740016769707[1] = delta_x[1] + nom_x[1];
out_789804740016769707[2] = delta_x[2] + nom_x[2];
out_789804740016769707[3] = delta_x[3] + nom_x[3];
out_789804740016769707[4] = delta_x[4] + nom_x[4];
out_789804740016769707[5] = delta_x[5] + nom_x[5];
out_789804740016769707[6] = delta_x[6] + nom_x[6];
out_789804740016769707[7] = delta_x[7] + nom_x[7];
out_789804740016769707[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_1186045100449225538) {
out_1186045100449225538[0] = -nom_x[0] + true_x[0];
out_1186045100449225538[1] = -nom_x[1] + true_x[1];
out_1186045100449225538[2] = -nom_x[2] + true_x[2];
out_1186045100449225538[3] = -nom_x[3] + true_x[3];
out_1186045100449225538[4] = -nom_x[4] + true_x[4];
out_1186045100449225538[5] = -nom_x[5] + true_x[5];
out_1186045100449225538[6] = -nom_x[6] + true_x[6];
out_1186045100449225538[7] = -nom_x[7] + true_x[7];
out_1186045100449225538[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_385986033898548509) {
out_385986033898548509[0] = -nom_x[0] + true_x[0];
out_385986033898548509[1] = -nom_x[1] + true_x[1];
out_385986033898548509[2] = -nom_x[2] + true_x[2];
out_385986033898548509[3] = -nom_x[3] + true_x[3];
out_385986033898548509[4] = -nom_x[4] + true_x[4];
out_385986033898548509[5] = -nom_x[5] + true_x[5];
out_385986033898548509[6] = -nom_x[6] + true_x[6];
out_385986033898548509[7] = -nom_x[7] + true_x[7];
out_385986033898548509[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_5403210608595880924) {
out_5403210608595880924[0] = 1.0;
out_5403210608595880924[1] = 0.0;
out_5403210608595880924[2] = 0.0;
out_5403210608595880924[3] = 0.0;
out_5403210608595880924[4] = 0.0;
out_5403210608595880924[5] = 0.0;
out_5403210608595880924[6] = 0.0;
out_5403210608595880924[7] = 0.0;
out_5403210608595880924[8] = 0.0;
out_5403210608595880924[9] = 0.0;
out_5403210608595880924[10] = 1.0;
out_5403210608595880924[11] = 0.0;
out_5403210608595880924[12] = 0.0;
out_5403210608595880924[13] = 0.0;
out_5403210608595880924[14] = 0.0;
out_5403210608595880924[15] = 0.0;
out_5403210608595880924[16] = 0.0;
out_5403210608595880924[17] = 0.0;
out_5403210608595880924[18] = 0.0;
out_5403210608595880924[19] = 0.0;
out_5403210608595880924[20] = 1.0;
out_5403210608595880924[21] = 0.0;
out_5403210608595880924[22] = 0.0;
out_5403210608595880924[23] = 0.0;
out_5403210608595880924[24] = 0.0;
out_5403210608595880924[25] = 0.0;
out_5403210608595880924[26] = 0.0;
out_5403210608595880924[27] = 0.0;
out_5403210608595880924[28] = 0.0;
out_5403210608595880924[29] = 0.0;
out_5403210608595880924[30] = 1.0;
out_5403210608595880924[31] = 0.0;
out_5403210608595880924[32] = 0.0;
out_5403210608595880924[33] = 0.0;
out_5403210608595880924[34] = 0.0;
out_5403210608595880924[35] = 0.0;
out_5403210608595880924[36] = 0.0;
out_5403210608595880924[37] = 0.0;
out_5403210608595880924[38] = 0.0;
out_5403210608595880924[39] = 0.0;
out_5403210608595880924[40] = 1.0;
out_5403210608595880924[41] = 0.0;
out_5403210608595880924[42] = 0.0;
out_5403210608595880924[43] = 0.0;
out_5403210608595880924[44] = 0.0;
out_5403210608595880924[45] = 0.0;
out_5403210608595880924[46] = 0.0;
out_5403210608595880924[47] = 0.0;
out_5403210608595880924[48] = 0.0;
out_5403210608595880924[49] = 0.0;
out_5403210608595880924[50] = 1.0;
out_5403210608595880924[51] = 0.0;
out_5403210608595880924[52] = 0.0;
out_5403210608595880924[53] = 0.0;
out_5403210608595880924[54] = 0.0;
out_5403210608595880924[55] = 0.0;
out_5403210608595880924[56] = 0.0;
out_5403210608595880924[57] = 0.0;
out_5403210608595880924[58] = 0.0;
out_5403210608595880924[59] = 0.0;
out_5403210608595880924[60] = 1.0;
out_5403210608595880924[61] = 0.0;
out_5403210608595880924[62] = 0.0;
out_5403210608595880924[63] = 0.0;
out_5403210608595880924[64] = 0.0;
out_5403210608595880924[65] = 0.0;
out_5403210608595880924[66] = 0.0;
out_5403210608595880924[67] = 0.0;
out_5403210608595880924[68] = 0.0;
out_5403210608595880924[69] = 0.0;
out_5403210608595880924[70] = 1.0;
out_5403210608595880924[71] = 0.0;
out_5403210608595880924[72] = 0.0;
out_5403210608595880924[73] = 0.0;
out_5403210608595880924[74] = 0.0;
out_5403210608595880924[75] = 0.0;
out_5403210608595880924[76] = 0.0;
out_5403210608595880924[77] = 0.0;
out_5403210608595880924[78] = 0.0;
out_5403210608595880924[79] = 0.0;
out_5403210608595880924[80] = 1.0;
void H_mod_fun(double *state, double *out_4046004184415297016) {
out_4046004184415297016[0] = 1.0;
out_4046004184415297016[1] = 0.0;
out_4046004184415297016[2] = 0.0;
out_4046004184415297016[3] = 0.0;
out_4046004184415297016[4] = 0.0;
out_4046004184415297016[5] = 0.0;
out_4046004184415297016[6] = 0.0;
out_4046004184415297016[7] = 0.0;
out_4046004184415297016[8] = 0.0;
out_4046004184415297016[9] = 0.0;
out_4046004184415297016[10] = 1.0;
out_4046004184415297016[11] = 0.0;
out_4046004184415297016[12] = 0.0;
out_4046004184415297016[13] = 0.0;
out_4046004184415297016[14] = 0.0;
out_4046004184415297016[15] = 0.0;
out_4046004184415297016[16] = 0.0;
out_4046004184415297016[17] = 0.0;
out_4046004184415297016[18] = 0.0;
out_4046004184415297016[19] = 0.0;
out_4046004184415297016[20] = 1.0;
out_4046004184415297016[21] = 0.0;
out_4046004184415297016[22] = 0.0;
out_4046004184415297016[23] = 0.0;
out_4046004184415297016[24] = 0.0;
out_4046004184415297016[25] = 0.0;
out_4046004184415297016[26] = 0.0;
out_4046004184415297016[27] = 0.0;
out_4046004184415297016[28] = 0.0;
out_4046004184415297016[29] = 0.0;
out_4046004184415297016[30] = 1.0;
out_4046004184415297016[31] = 0.0;
out_4046004184415297016[32] = 0.0;
out_4046004184415297016[33] = 0.0;
out_4046004184415297016[34] = 0.0;
out_4046004184415297016[35] = 0.0;
out_4046004184415297016[36] = 0.0;
out_4046004184415297016[37] = 0.0;
out_4046004184415297016[38] = 0.0;
out_4046004184415297016[39] = 0.0;
out_4046004184415297016[40] = 1.0;
out_4046004184415297016[41] = 0.0;
out_4046004184415297016[42] = 0.0;
out_4046004184415297016[43] = 0.0;
out_4046004184415297016[44] = 0.0;
out_4046004184415297016[45] = 0.0;
out_4046004184415297016[46] = 0.0;
out_4046004184415297016[47] = 0.0;
out_4046004184415297016[48] = 0.0;
out_4046004184415297016[49] = 0.0;
out_4046004184415297016[50] = 1.0;
out_4046004184415297016[51] = 0.0;
out_4046004184415297016[52] = 0.0;
out_4046004184415297016[53] = 0.0;
out_4046004184415297016[54] = 0.0;
out_4046004184415297016[55] = 0.0;
out_4046004184415297016[56] = 0.0;
out_4046004184415297016[57] = 0.0;
out_4046004184415297016[58] = 0.0;
out_4046004184415297016[59] = 0.0;
out_4046004184415297016[60] = 1.0;
out_4046004184415297016[61] = 0.0;
out_4046004184415297016[62] = 0.0;
out_4046004184415297016[63] = 0.0;
out_4046004184415297016[64] = 0.0;
out_4046004184415297016[65] = 0.0;
out_4046004184415297016[66] = 0.0;
out_4046004184415297016[67] = 0.0;
out_4046004184415297016[68] = 0.0;
out_4046004184415297016[69] = 0.0;
out_4046004184415297016[70] = 1.0;
out_4046004184415297016[71] = 0.0;
out_4046004184415297016[72] = 0.0;
out_4046004184415297016[73] = 0.0;
out_4046004184415297016[74] = 0.0;
out_4046004184415297016[75] = 0.0;
out_4046004184415297016[76] = 0.0;
out_4046004184415297016[77] = 0.0;
out_4046004184415297016[78] = 0.0;
out_4046004184415297016[79] = 0.0;
out_4046004184415297016[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_3846473641327680019) {
out_3846473641327680019[0] = state[0];
out_3846473641327680019[1] = state[1];
out_3846473641327680019[2] = state[2];
out_3846473641327680019[3] = state[3];
out_3846473641327680019[4] = state[4];
out_3846473641327680019[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_3846473641327680019[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_3846473641327680019[7] = state[7];
out_3846473641327680019[8] = state[8];
void f_fun(double *state, double dt, double *out_467921565295650481) {
out_467921565295650481[0] = state[0];
out_467921565295650481[1] = state[1];
out_467921565295650481[2] = state[2];
out_467921565295650481[3] = state[3];
out_467921565295650481[4] = state[4];
out_467921565295650481[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_467921565295650481[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_467921565295650481[7] = state[7];
out_467921565295650481[8] = state[8];
}
void F_fun(double *state, double dt, double *out_6505574540477860652) {
out_6505574540477860652[0] = 1;
out_6505574540477860652[1] = 0;
out_6505574540477860652[2] = 0;
out_6505574540477860652[3] = 0;
out_6505574540477860652[4] = 0;
out_6505574540477860652[5] = 0;
out_6505574540477860652[6] = 0;
out_6505574540477860652[7] = 0;
out_6505574540477860652[8] = 0;
out_6505574540477860652[9] = 0;
out_6505574540477860652[10] = 1;
out_6505574540477860652[11] = 0;
out_6505574540477860652[12] = 0;
out_6505574540477860652[13] = 0;
out_6505574540477860652[14] = 0;
out_6505574540477860652[15] = 0;
out_6505574540477860652[16] = 0;
out_6505574540477860652[17] = 0;
out_6505574540477860652[18] = 0;
out_6505574540477860652[19] = 0;
out_6505574540477860652[20] = 1;
out_6505574540477860652[21] = 0;
out_6505574540477860652[22] = 0;
out_6505574540477860652[23] = 0;
out_6505574540477860652[24] = 0;
out_6505574540477860652[25] = 0;
out_6505574540477860652[26] = 0;
out_6505574540477860652[27] = 0;
out_6505574540477860652[28] = 0;
out_6505574540477860652[29] = 0;
out_6505574540477860652[30] = 1;
out_6505574540477860652[31] = 0;
out_6505574540477860652[32] = 0;
out_6505574540477860652[33] = 0;
out_6505574540477860652[34] = 0;
out_6505574540477860652[35] = 0;
out_6505574540477860652[36] = 0;
out_6505574540477860652[37] = 0;
out_6505574540477860652[38] = 0;
out_6505574540477860652[39] = 0;
out_6505574540477860652[40] = 1;
out_6505574540477860652[41] = 0;
out_6505574540477860652[42] = 0;
out_6505574540477860652[43] = 0;
out_6505574540477860652[44] = 0;
out_6505574540477860652[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_6505574540477860652[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_6505574540477860652[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_6505574540477860652[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_6505574540477860652[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_6505574540477860652[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_6505574540477860652[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_6505574540477860652[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_6505574540477860652[53] = -9.8100000000000005*dt;
out_6505574540477860652[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_6505574540477860652[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_6505574540477860652[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6505574540477860652[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6505574540477860652[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_6505574540477860652[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_6505574540477860652[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_6505574540477860652[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6505574540477860652[62] = 0;
out_6505574540477860652[63] = 0;
out_6505574540477860652[64] = 0;
out_6505574540477860652[65] = 0;
out_6505574540477860652[66] = 0;
out_6505574540477860652[67] = 0;
out_6505574540477860652[68] = 0;
out_6505574540477860652[69] = 0;
out_6505574540477860652[70] = 1;
out_6505574540477860652[71] = 0;
out_6505574540477860652[72] = 0;
out_6505574540477860652[73] = 0;
out_6505574540477860652[74] = 0;
out_6505574540477860652[75] = 0;
out_6505574540477860652[76] = 0;
out_6505574540477860652[77] = 0;
out_6505574540477860652[78] = 0;
out_6505574540477860652[79] = 0;
out_6505574540477860652[80] = 1;
void F_fun(double *state, double dt, double *out_2429260194375294140) {
out_2429260194375294140[0] = 1;
out_2429260194375294140[1] = 0;
out_2429260194375294140[2] = 0;
out_2429260194375294140[3] = 0;
out_2429260194375294140[4] = 0;
out_2429260194375294140[5] = 0;
out_2429260194375294140[6] = 0;
out_2429260194375294140[7] = 0;
out_2429260194375294140[8] = 0;
out_2429260194375294140[9] = 0;
out_2429260194375294140[10] = 1;
out_2429260194375294140[11] = 0;
out_2429260194375294140[12] = 0;
out_2429260194375294140[13] = 0;
out_2429260194375294140[14] = 0;
out_2429260194375294140[15] = 0;
out_2429260194375294140[16] = 0;
out_2429260194375294140[17] = 0;
out_2429260194375294140[18] = 0;
out_2429260194375294140[19] = 0;
out_2429260194375294140[20] = 1;
out_2429260194375294140[21] = 0;
out_2429260194375294140[22] = 0;
out_2429260194375294140[23] = 0;
out_2429260194375294140[24] = 0;
out_2429260194375294140[25] = 0;
out_2429260194375294140[26] = 0;
out_2429260194375294140[27] = 0;
out_2429260194375294140[28] = 0;
out_2429260194375294140[29] = 0;
out_2429260194375294140[30] = 1;
out_2429260194375294140[31] = 0;
out_2429260194375294140[32] = 0;
out_2429260194375294140[33] = 0;
out_2429260194375294140[34] = 0;
out_2429260194375294140[35] = 0;
out_2429260194375294140[36] = 0;
out_2429260194375294140[37] = 0;
out_2429260194375294140[38] = 0;
out_2429260194375294140[39] = 0;
out_2429260194375294140[40] = 1;
out_2429260194375294140[41] = 0;
out_2429260194375294140[42] = 0;
out_2429260194375294140[43] = 0;
out_2429260194375294140[44] = 0;
out_2429260194375294140[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_2429260194375294140[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_2429260194375294140[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_2429260194375294140[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_2429260194375294140[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_2429260194375294140[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_2429260194375294140[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_2429260194375294140[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_2429260194375294140[53] = -9.8100000000000005*dt;
out_2429260194375294140[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_2429260194375294140[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_2429260194375294140[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_2429260194375294140[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_2429260194375294140[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_2429260194375294140[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_2429260194375294140[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_2429260194375294140[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_2429260194375294140[62] = 0;
out_2429260194375294140[63] = 0;
out_2429260194375294140[64] = 0;
out_2429260194375294140[65] = 0;
out_2429260194375294140[66] = 0;
out_2429260194375294140[67] = 0;
out_2429260194375294140[68] = 0;
out_2429260194375294140[69] = 0;
out_2429260194375294140[70] = 1;
out_2429260194375294140[71] = 0;
out_2429260194375294140[72] = 0;
out_2429260194375294140[73] = 0;
out_2429260194375294140[74] = 0;
out_2429260194375294140[75] = 0;
out_2429260194375294140[76] = 0;
out_2429260194375294140[77] = 0;
out_2429260194375294140[78] = 0;
out_2429260194375294140[79] = 0;
out_2429260194375294140[80] = 1;
}
void h_25(double *state, double *unused, double *out_1325906349074366668) {
out_1325906349074366668[0] = state[6];
void h_25(double *state, double *unused, double *out_4530459753918271082) {
out_4530459753918271082[0] = state[6];
}
void H_25(double *state, double *unused, double *out_693697758010493692) {
out_693697758010493692[0] = 0;
out_693697758010493692[1] = 0;
out_693697758010493692[2] = 0;
out_693697758010493692[3] = 0;
out_693697758010493692[4] = 0;
out_693697758010493692[5] = 0;
out_693697758010493692[6] = 1;
out_693697758010493692[7] = 0;
out_693697758010493692[8] = 0;
void H_25(double *state, double *unused, double *out_4551338626615593728) {
out_4551338626615593728[0] = 0;
out_4551338626615593728[1] = 0;
out_4551338626615593728[2] = 0;
out_4551338626615593728[3] = 0;
out_4551338626615593728[4] = 0;
out_4551338626615593728[5] = 0;
out_4551338626615593728[6] = 1;
out_4551338626615593728[7] = 0;
out_4551338626615593728[8] = 0;
}
void h_24(double *state, double *unused, double *out_7507130987037302702) {
out_7507130987037302702[0] = state[4];
out_7507130987037302702[1] = state[5];
void h_24(double *state, double *unused, double *out_211848015086222289) {
out_211848015086222289[0] = state[4];
out_211848015086222289[1] = state[5];
}
void H_24(double *state, double *unused, double *out_2864227840791829444) {
out_2864227840791829444[0] = 0;
out_2864227840791829444[1] = 0;
out_2864227840791829444[2] = 0;
out_2864227840791829444[3] = 0;
out_2864227840791829444[4] = 1;
out_2864227840791829444[5] = 0;
out_2864227840791829444[6] = 0;
out_2864227840791829444[7] = 0;
out_2864227840791829444[8] = 0;
out_2864227840791829444[9] = 0;
out_2864227840791829444[10] = 0;
out_2864227840791829444[11] = 0;
out_2864227840791829444[12] = 0;
out_2864227840791829444[13] = 0;
out_2864227840791829444[14] = 1;
out_2864227840791829444[15] = 0;
out_2864227840791829444[16] = 0;
out_2864227840791829444[17] = 0;
void H_24(double *state, double *unused, double *out_7319833640502439787) {
out_7319833640502439787[0] = 0;
out_7319833640502439787[1] = 0;
out_7319833640502439787[2] = 0;
out_7319833640502439787[3] = 0;
out_7319833640502439787[4] = 1;
out_7319833640502439787[5] = 0;
out_7319833640502439787[6] = 0;
out_7319833640502439787[7] = 0;
out_7319833640502439787[8] = 0;
out_7319833640502439787[9] = 0;
out_7319833640502439787[10] = 0;
out_7319833640502439787[11] = 0;
out_7319833640502439787[12] = 0;
out_7319833640502439787[13] = 0;
out_7319833640502439787[14] = 1;
out_7319833640502439787[15] = 0;
out_7319833640502439787[16] = 0;
out_7319833640502439787[17] = 0;
}
void h_30(double *state, double *unused, double *out_6134652415174521657) {
out_6134652415174521657[0] = state[4];
void h_30(double *state, double *unused, double *out_4687646422269400227) {
out_4687646422269400227[0] = state[4];
}
void H_30(double *state, double *unused, double *out_1824635200496754935) {
out_1824635200496754935[0] = 0;
out_1824635200496754935[1] = 0;
out_1824635200496754935[2] = 0;
out_1824635200496754935[3] = 0;
out_1824635200496754935[4] = 1;
out_1824635200496754935[5] = 0;
out_1824635200496754935[6] = 0;
out_1824635200496754935[7] = 0;
out_1824635200496754935[8] = 0;
void H_30(double *state, double *unused, double *out_4421999679472353658) {
out_4421999679472353658[0] = 0;
out_4421999679472353658[1] = 0;
out_4421999679472353658[2] = 0;
out_4421999679472353658[3] = 0;
out_4421999679472353658[4] = 1;
out_4421999679472353658[5] = 0;
out_4421999679472353658[6] = 0;
out_4421999679472353658[7] = 0;
out_4421999679472353658[8] = 0;
}
void h_26(double *state, double *unused, double *out_3515782194269032819) {
out_3515782194269032819[0] = state[7];
void h_26(double *state, double *unused, double *out_1875094318999546844) {
out_1875094318999546844[0] = state[7];
}
void H_26(double *state, double *unused, double *out_4435201076884549916) {
out_4435201076884549916[0] = 0;
out_4435201076884549916[1] = 0;
out_4435201076884549916[2] = 0;
out_4435201076884549916[3] = 0;
out_4435201076884549916[4] = 0;
out_4435201076884549916[5] = 0;
out_4435201076884549916[6] = 0;
out_4435201076884549916[7] = 1;
out_4435201076884549916[8] = 0;
void H_26(double *state, double *unused, double *out_809835307741537504) {
out_809835307741537504[0] = 0;
out_809835307741537504[1] = 0;
out_809835307741537504[2] = 0;
out_809835307741537504[3] = 0;
out_809835307741537504[4] = 0;
out_809835307741537504[5] = 0;
out_809835307741537504[6] = 0;
out_809835307741537504[7] = 1;
out_809835307741537504[8] = 0;
}
void h_27(double *state, double *unused, double *out_5073135168339482478) {
out_5073135168339482478[0] = state[3];
void h_27(double *state, double *unused, double *out_8953904322109987302) {
out_8953904322109987302[0] = state[3];
}
void H_27(double *state, double *unused, double *out_4048229271680698152) {
out_4048229271680698152[0] = 0;
out_4048229271680698152[1] = 0;
out_4048229271680698152[2] = 0;
out_4048229271680698152[3] = 1;
out_4048229271680698152[4] = 0;
out_4048229271680698152[5] = 0;
out_4048229271680698152[6] = 0;
out_4048229271680698152[7] = 0;
out_4048229271680698152[8] = 0;
void H_27(double *state, double *unused, double *out_2247236367671928747) {
out_2247236367671928747[0] = 0;
out_2247236367671928747[1] = 0;
out_2247236367671928747[2] = 0;
out_2247236367671928747[3] = 1;
out_2247236367671928747[4] = 0;
out_2247236367671928747[5] = 0;
out_2247236367671928747[6] = 0;
out_2247236367671928747[7] = 0;
out_2247236367671928747[8] = 0;
}
void h_29(double *state, double *unused, double *out_9171438466618854342) {
out_9171438466618854342[0] = state[1];
void h_29(double *state, double *unused, double *out_5855390223345541964) {
out_5855390223345541964[0] = state[1];
}
void H_29(double *state, double *unused, double *out_2334866544811147119) {
out_2334866544811147119[0] = 0;
out_2334866544811147119[1] = 1;
out_2334866544811147119[2] = 0;
out_2334866544811147119[3] = 0;
out_2334866544811147119[4] = 0;
out_2334866544811147119[5] = 0;
out_2334866544811147119[6] = 0;
out_2334866544811147119[7] = 0;
out_2334866544811147119[8] = 0;
void H_29(double *state, double *unused, double *out_4932231023786745842) {
out_4932231023786745842[0] = 0;
out_4932231023786745842[1] = 1;
out_4932231023786745842[2] = 0;
out_4932231023786745842[3] = 0;
out_4932231023786745842[4] = 0;
out_4932231023786745842[5] = 0;
out_4932231023786745842[6] = 0;
out_4932231023786745842[7] = 0;
out_4932231023786745842[8] = 0;
}
void h_28(double *state, double *unused, double *out_6016645021241144913) {
out_6016645021241144913[0] = state[0];
void h_28(double *state, double *unused, double *out_8510755658264266202) {
out_8510755658264266202[0] = state[0];
}
void H_28(double *state, double *unused, double *out_2747532472258383455) {
out_2747532472258383455[0] = 1;
out_2747532472258383455[1] = 0;
out_2747532472258383455[2] = 0;
out_2747532472258383455[3] = 0;
out_2747532472258383455[4] = 0;
out_2747532472258383455[5] = 0;
out_2747532472258383455[6] = 0;
out_2747532472258383455[7] = 0;
out_2747532472258383455[8] = 0;
void H_28(double *state, double *unused, double *out_6895861295352072093) {
out_6895861295352072093[0] = 1;
out_6895861295352072093[1] = 0;
out_6895861295352072093[2] = 0;
out_6895861295352072093[3] = 0;
out_6895861295352072093[4] = 0;
out_6895861295352072093[5] = 0;
out_6895861295352072093[6] = 0;
out_6895861295352072093[7] = 0;
out_6895861295352072093[8] = 0;
}
void h_31(double *state, double *unused, double *out_2311543179179655682) {
out_2311543179179655682[0] = state[8];
void h_31(double *state, double *unused, double *out_3677036992164635768) {
out_3677036992164635768[0] = state[8];
}
void H_31(double *state, double *unused, double *out_5061409179117901392) {
out_5061409179117901392[0] = 0;
out_5061409179117901392[1] = 0;
out_5061409179117901392[2] = 0;
out_5061409179117901392[3] = 0;
out_5061409179117901392[4] = 0;
out_5061409179117901392[5] = 0;
out_5061409179117901392[6] = 0;
out_5061409179117901392[7] = 0;
out_5061409179117901392[8] = 1;
void H_31(double *state, double *unused, double *out_4581984588492554156) {
out_4581984588492554156[0] = 0;
out_4581984588492554156[1] = 0;
out_4581984588492554156[2] = 0;
out_4581984588492554156[3] = 0;
out_4581984588492554156[4] = 0;
out_4581984588492554156[5] = 0;
out_4581984588492554156[6] = 0;
out_4581984588492554156[7] = 0;
out_4581984588492554156[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_7751375231448978305) {
err_fun(nom_x, delta_x, out_7751375231448978305);
void car_err_fun(double *nom_x, double *delta_x, double *out_789804740016769707) {
err_fun(nom_x, delta_x, out_789804740016769707);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_1186045100449225538) {
inv_err_fun(nom_x, true_x, out_1186045100449225538);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_385986033898548509) {
inv_err_fun(nom_x, true_x, out_385986033898548509);
}
void car_H_mod_fun(double *state, double *out_5403210608595880924) {
H_mod_fun(state, out_5403210608595880924);
void car_H_mod_fun(double *state, double *out_4046004184415297016) {
H_mod_fun(state, out_4046004184415297016);
}
void car_f_fun(double *state, double dt, double *out_3846473641327680019) {
f_fun(state, dt, out_3846473641327680019);
void car_f_fun(double *state, double dt, double *out_467921565295650481) {
f_fun(state, dt, out_467921565295650481);
}
void car_F_fun(double *state, double dt, double *out_6505574540477860652) {
F_fun(state, dt, out_6505574540477860652);
void car_F_fun(double *state, double dt, double *out_2429260194375294140) {
F_fun(state, dt, out_2429260194375294140);
}
void car_h_25(double *state, double *unused, double *out_1325906349074366668) {
h_25(state, unused, out_1325906349074366668);
void car_h_25(double *state, double *unused, double *out_4530459753918271082) {
h_25(state, unused, out_4530459753918271082);
}
void car_H_25(double *state, double *unused, double *out_693697758010493692) {
H_25(state, unused, out_693697758010493692);
void car_H_25(double *state, double *unused, double *out_4551338626615593728) {
H_25(state, unused, out_4551338626615593728);
}
void car_h_24(double *state, double *unused, double *out_7507130987037302702) {
h_24(state, unused, out_7507130987037302702);
void car_h_24(double *state, double *unused, double *out_211848015086222289) {
h_24(state, unused, out_211848015086222289);
}
void car_H_24(double *state, double *unused, double *out_2864227840791829444) {
H_24(state, unused, out_2864227840791829444);
void car_H_24(double *state, double *unused, double *out_7319833640502439787) {
H_24(state, unused, out_7319833640502439787);
}
void car_h_30(double *state, double *unused, double *out_6134652415174521657) {
h_30(state, unused, out_6134652415174521657);
void car_h_30(double *state, double *unused, double *out_4687646422269400227) {
h_30(state, unused, out_4687646422269400227);
}
void car_H_30(double *state, double *unused, double *out_1824635200496754935) {
H_30(state, unused, out_1824635200496754935);
void car_H_30(double *state, double *unused, double *out_4421999679472353658) {
H_30(state, unused, out_4421999679472353658);
}
void car_h_26(double *state, double *unused, double *out_3515782194269032819) {
h_26(state, unused, out_3515782194269032819);
void car_h_26(double *state, double *unused, double *out_1875094318999546844) {
h_26(state, unused, out_1875094318999546844);
}
void car_H_26(double *state, double *unused, double *out_4435201076884549916) {
H_26(state, unused, out_4435201076884549916);
void car_H_26(double *state, double *unused, double *out_809835307741537504) {
H_26(state, unused, out_809835307741537504);
}
void car_h_27(double *state, double *unused, double *out_5073135168339482478) {
h_27(state, unused, out_5073135168339482478);
void car_h_27(double *state, double *unused, double *out_8953904322109987302) {
h_27(state, unused, out_8953904322109987302);
}
void car_H_27(double *state, double *unused, double *out_4048229271680698152) {
H_27(state, unused, out_4048229271680698152);
void car_H_27(double *state, double *unused, double *out_2247236367671928747) {
H_27(state, unused, out_2247236367671928747);
}
void car_h_29(double *state, double *unused, double *out_9171438466618854342) {
h_29(state, unused, out_9171438466618854342);
void car_h_29(double *state, double *unused, double *out_5855390223345541964) {
h_29(state, unused, out_5855390223345541964);
}
void car_H_29(double *state, double *unused, double *out_2334866544811147119) {
H_29(state, unused, out_2334866544811147119);
void car_H_29(double *state, double *unused, double *out_4932231023786745842) {
H_29(state, unused, out_4932231023786745842);
}
void car_h_28(double *state, double *unused, double *out_6016645021241144913) {
h_28(state, unused, out_6016645021241144913);
void car_h_28(double *state, double *unused, double *out_8510755658264266202) {
h_28(state, unused, out_8510755658264266202);
}
void car_H_28(double *state, double *unused, double *out_2747532472258383455) {
H_28(state, unused, out_2747532472258383455);
void car_H_28(double *state, double *unused, double *out_6895861295352072093) {
H_28(state, unused, out_6895861295352072093);
}
void car_h_31(double *state, double *unused, double *out_2311543179179655682) {
h_31(state, unused, out_2311543179179655682);
void car_h_31(double *state, double *unused, double *out_3677036992164635768) {
h_31(state, unused, out_3677036992164635768);
}
void car_H_31(double *state, double *unused, double *out_5061409179117901392) {
H_31(state, unused, out_5061409179117901392);
void car_H_31(double *state, double *unused, double *out_4581984588492554156) {
H_31(state, unused, out_4581984588492554156);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);