This commit is contained in:
firestar5683
2026-09-05 11:24:26 -05:00
parent cec1a0fb62
commit cecc9bc8b6
84 changed files with 1348 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_4885896537278282144) {
out_4885896537278282144[0] = delta_x[0] + nom_x[0];
out_4885896537278282144[1] = delta_x[1] + nom_x[1];
out_4885896537278282144[2] = delta_x[2] + nom_x[2];
out_4885896537278282144[3] = delta_x[3] + nom_x[3];
out_4885896537278282144[4] = delta_x[4] + nom_x[4];
out_4885896537278282144[5] = delta_x[5] + nom_x[5];
out_4885896537278282144[6] = delta_x[6] + nom_x[6];
out_4885896537278282144[7] = delta_x[7] + nom_x[7];
out_4885896537278282144[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_5825026556611430403) {
out_5825026556611430403[0] = delta_x[0] + nom_x[0];
out_5825026556611430403[1] = delta_x[1] + nom_x[1];
out_5825026556611430403[2] = delta_x[2] + nom_x[2];
out_5825026556611430403[3] = delta_x[3] + nom_x[3];
out_5825026556611430403[4] = delta_x[4] + nom_x[4];
out_5825026556611430403[5] = delta_x[5] + nom_x[5];
out_5825026556611430403[6] = delta_x[6] + nom_x[6];
out_5825026556611430403[7] = delta_x[7] + nom_x[7];
out_5825026556611430403[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_3745151970403573209) {
out_3745151970403573209[0] = -nom_x[0] + true_x[0];
out_3745151970403573209[1] = -nom_x[1] + true_x[1];
out_3745151970403573209[2] = -nom_x[2] + true_x[2];
out_3745151970403573209[3] = -nom_x[3] + true_x[3];
out_3745151970403573209[4] = -nom_x[4] + true_x[4];
out_3745151970403573209[5] = -nom_x[5] + true_x[5];
out_3745151970403573209[6] = -nom_x[6] + true_x[6];
out_3745151970403573209[7] = -nom_x[7] + true_x[7];
out_3745151970403573209[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_8876036798993240698) {
out_8876036798993240698[0] = -nom_x[0] + true_x[0];
out_8876036798993240698[1] = -nom_x[1] + true_x[1];
out_8876036798993240698[2] = -nom_x[2] + true_x[2];
out_8876036798993240698[3] = -nom_x[3] + true_x[3];
out_8876036798993240698[4] = -nom_x[4] + true_x[4];
out_8876036798993240698[5] = -nom_x[5] + true_x[5];
out_8876036798993240698[6] = -nom_x[6] + true_x[6];
out_8876036798993240698[7] = -nom_x[7] + true_x[7];
out_8876036798993240698[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_2937880372820632520) {
out_2937880372820632520[0] = 1.0;
out_2937880372820632520[1] = 0.0;
out_2937880372820632520[2] = 0.0;
out_2937880372820632520[3] = 0.0;
out_2937880372820632520[4] = 0.0;
out_2937880372820632520[5] = 0.0;
out_2937880372820632520[6] = 0.0;
out_2937880372820632520[7] = 0.0;
out_2937880372820632520[8] = 0.0;
out_2937880372820632520[9] = 0.0;
out_2937880372820632520[10] = 1.0;
out_2937880372820632520[11] = 0.0;
out_2937880372820632520[12] = 0.0;
out_2937880372820632520[13] = 0.0;
out_2937880372820632520[14] = 0.0;
out_2937880372820632520[15] = 0.0;
out_2937880372820632520[16] = 0.0;
out_2937880372820632520[17] = 0.0;
out_2937880372820632520[18] = 0.0;
out_2937880372820632520[19] = 0.0;
out_2937880372820632520[20] = 1.0;
out_2937880372820632520[21] = 0.0;
out_2937880372820632520[22] = 0.0;
out_2937880372820632520[23] = 0.0;
out_2937880372820632520[24] = 0.0;
out_2937880372820632520[25] = 0.0;
out_2937880372820632520[26] = 0.0;
out_2937880372820632520[27] = 0.0;
out_2937880372820632520[28] = 0.0;
out_2937880372820632520[29] = 0.0;
out_2937880372820632520[30] = 1.0;
out_2937880372820632520[31] = 0.0;
out_2937880372820632520[32] = 0.0;
out_2937880372820632520[33] = 0.0;
out_2937880372820632520[34] = 0.0;
out_2937880372820632520[35] = 0.0;
out_2937880372820632520[36] = 0.0;
out_2937880372820632520[37] = 0.0;
out_2937880372820632520[38] = 0.0;
out_2937880372820632520[39] = 0.0;
out_2937880372820632520[40] = 1.0;
out_2937880372820632520[41] = 0.0;
out_2937880372820632520[42] = 0.0;
out_2937880372820632520[43] = 0.0;
out_2937880372820632520[44] = 0.0;
out_2937880372820632520[45] = 0.0;
out_2937880372820632520[46] = 0.0;
out_2937880372820632520[47] = 0.0;
out_2937880372820632520[48] = 0.0;
out_2937880372820632520[49] = 0.0;
out_2937880372820632520[50] = 1.0;
out_2937880372820632520[51] = 0.0;
out_2937880372820632520[52] = 0.0;
out_2937880372820632520[53] = 0.0;
out_2937880372820632520[54] = 0.0;
out_2937880372820632520[55] = 0.0;
out_2937880372820632520[56] = 0.0;
out_2937880372820632520[57] = 0.0;
out_2937880372820632520[58] = 0.0;
out_2937880372820632520[59] = 0.0;
out_2937880372820632520[60] = 1.0;
out_2937880372820632520[61] = 0.0;
out_2937880372820632520[62] = 0.0;
out_2937880372820632520[63] = 0.0;
out_2937880372820632520[64] = 0.0;
out_2937880372820632520[65] = 0.0;
out_2937880372820632520[66] = 0.0;
out_2937880372820632520[67] = 0.0;
out_2937880372820632520[68] = 0.0;
out_2937880372820632520[69] = 0.0;
out_2937880372820632520[70] = 1.0;
out_2937880372820632520[71] = 0.0;
out_2937880372820632520[72] = 0.0;
out_2937880372820632520[73] = 0.0;
out_2937880372820632520[74] = 0.0;
out_2937880372820632520[75] = 0.0;
out_2937880372820632520[76] = 0.0;
out_2937880372820632520[77] = 0.0;
out_2937880372820632520[78] = 0.0;
out_2937880372820632520[79] = 0.0;
out_2937880372820632520[80] = 1.0;
void H_mod_fun(double *state, double *out_6203949078932441352) {
out_6203949078932441352[0] = 1.0;
out_6203949078932441352[1] = 0.0;
out_6203949078932441352[2] = 0.0;
out_6203949078932441352[3] = 0.0;
out_6203949078932441352[4] = 0.0;
out_6203949078932441352[5] = 0.0;
out_6203949078932441352[6] = 0.0;
out_6203949078932441352[7] = 0.0;
out_6203949078932441352[8] = 0.0;
out_6203949078932441352[9] = 0.0;
out_6203949078932441352[10] = 1.0;
out_6203949078932441352[11] = 0.0;
out_6203949078932441352[12] = 0.0;
out_6203949078932441352[13] = 0.0;
out_6203949078932441352[14] = 0.0;
out_6203949078932441352[15] = 0.0;
out_6203949078932441352[16] = 0.0;
out_6203949078932441352[17] = 0.0;
out_6203949078932441352[18] = 0.0;
out_6203949078932441352[19] = 0.0;
out_6203949078932441352[20] = 1.0;
out_6203949078932441352[21] = 0.0;
out_6203949078932441352[22] = 0.0;
out_6203949078932441352[23] = 0.0;
out_6203949078932441352[24] = 0.0;
out_6203949078932441352[25] = 0.0;
out_6203949078932441352[26] = 0.0;
out_6203949078932441352[27] = 0.0;
out_6203949078932441352[28] = 0.0;
out_6203949078932441352[29] = 0.0;
out_6203949078932441352[30] = 1.0;
out_6203949078932441352[31] = 0.0;
out_6203949078932441352[32] = 0.0;
out_6203949078932441352[33] = 0.0;
out_6203949078932441352[34] = 0.0;
out_6203949078932441352[35] = 0.0;
out_6203949078932441352[36] = 0.0;
out_6203949078932441352[37] = 0.0;
out_6203949078932441352[38] = 0.0;
out_6203949078932441352[39] = 0.0;
out_6203949078932441352[40] = 1.0;
out_6203949078932441352[41] = 0.0;
out_6203949078932441352[42] = 0.0;
out_6203949078932441352[43] = 0.0;
out_6203949078932441352[44] = 0.0;
out_6203949078932441352[45] = 0.0;
out_6203949078932441352[46] = 0.0;
out_6203949078932441352[47] = 0.0;
out_6203949078932441352[48] = 0.0;
out_6203949078932441352[49] = 0.0;
out_6203949078932441352[50] = 1.0;
out_6203949078932441352[51] = 0.0;
out_6203949078932441352[52] = 0.0;
out_6203949078932441352[53] = 0.0;
out_6203949078932441352[54] = 0.0;
out_6203949078932441352[55] = 0.0;
out_6203949078932441352[56] = 0.0;
out_6203949078932441352[57] = 0.0;
out_6203949078932441352[58] = 0.0;
out_6203949078932441352[59] = 0.0;
out_6203949078932441352[60] = 1.0;
out_6203949078932441352[61] = 0.0;
out_6203949078932441352[62] = 0.0;
out_6203949078932441352[63] = 0.0;
out_6203949078932441352[64] = 0.0;
out_6203949078932441352[65] = 0.0;
out_6203949078932441352[66] = 0.0;
out_6203949078932441352[67] = 0.0;
out_6203949078932441352[68] = 0.0;
out_6203949078932441352[69] = 0.0;
out_6203949078932441352[70] = 1.0;
out_6203949078932441352[71] = 0.0;
out_6203949078932441352[72] = 0.0;
out_6203949078932441352[73] = 0.0;
out_6203949078932441352[74] = 0.0;
out_6203949078932441352[75] = 0.0;
out_6203949078932441352[76] = 0.0;
out_6203949078932441352[77] = 0.0;
out_6203949078932441352[78] = 0.0;
out_6203949078932441352[79] = 0.0;
out_6203949078932441352[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_4204558600518622219) {
out_4204558600518622219[0] = state[0];
out_4204558600518622219[1] = state[1];
out_4204558600518622219[2] = state[2];
out_4204558600518622219[3] = state[3];
out_4204558600518622219[4] = state[4];
out_4204558600518622219[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_4204558600518622219[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_4204558600518622219[7] = state[7];
out_4204558600518622219[8] = state[8];
void f_fun(double *state, double dt, double *out_343822199527135251) {
out_343822199527135251[0] = state[0];
out_343822199527135251[1] = state[1];
out_343822199527135251[2] = state[2];
out_343822199527135251[3] = state[3];
out_343822199527135251[4] = state[4];
out_343822199527135251[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_343822199527135251[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_343822199527135251[7] = state[7];
out_343822199527135251[8] = state[8];
}
void F_fun(double *state, double dt, double *out_3726788735705827984) {
out_3726788735705827984[0] = 1;
out_3726788735705827984[1] = 0;
out_3726788735705827984[2] = 0;
out_3726788735705827984[3] = 0;
out_3726788735705827984[4] = 0;
out_3726788735705827984[5] = 0;
out_3726788735705827984[6] = 0;
out_3726788735705827984[7] = 0;
out_3726788735705827984[8] = 0;
out_3726788735705827984[9] = 0;
out_3726788735705827984[10] = 1;
out_3726788735705827984[11] = 0;
out_3726788735705827984[12] = 0;
out_3726788735705827984[13] = 0;
out_3726788735705827984[14] = 0;
out_3726788735705827984[15] = 0;
out_3726788735705827984[16] = 0;
out_3726788735705827984[17] = 0;
out_3726788735705827984[18] = 0;
out_3726788735705827984[19] = 0;
out_3726788735705827984[20] = 1;
out_3726788735705827984[21] = 0;
out_3726788735705827984[22] = 0;
out_3726788735705827984[23] = 0;
out_3726788735705827984[24] = 0;
out_3726788735705827984[25] = 0;
out_3726788735705827984[26] = 0;
out_3726788735705827984[27] = 0;
out_3726788735705827984[28] = 0;
out_3726788735705827984[29] = 0;
out_3726788735705827984[30] = 1;
out_3726788735705827984[31] = 0;
out_3726788735705827984[32] = 0;
out_3726788735705827984[33] = 0;
out_3726788735705827984[34] = 0;
out_3726788735705827984[35] = 0;
out_3726788735705827984[36] = 0;
out_3726788735705827984[37] = 0;
out_3726788735705827984[38] = 0;
out_3726788735705827984[39] = 0;
out_3726788735705827984[40] = 1;
out_3726788735705827984[41] = 0;
out_3726788735705827984[42] = 0;
out_3726788735705827984[43] = 0;
out_3726788735705827984[44] = 0;
out_3726788735705827984[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_3726788735705827984[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_3726788735705827984[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3726788735705827984[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3726788735705827984[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_3726788735705827984[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_3726788735705827984[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_3726788735705827984[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_3726788735705827984[53] = -9.8100000000000005*dt;
out_3726788735705827984[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_3726788735705827984[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_3726788735705827984[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3726788735705827984[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3726788735705827984[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_3726788735705827984[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_3726788735705827984[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_3726788735705827984[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3726788735705827984[62] = 0;
out_3726788735705827984[63] = 0;
out_3726788735705827984[64] = 0;
out_3726788735705827984[65] = 0;
out_3726788735705827984[66] = 0;
out_3726788735705827984[67] = 0;
out_3726788735705827984[68] = 0;
out_3726788735705827984[69] = 0;
out_3726788735705827984[70] = 1;
out_3726788735705827984[71] = 0;
out_3726788735705827984[72] = 0;
out_3726788735705827984[73] = 0;
out_3726788735705827984[74] = 0;
out_3726788735705827984[75] = 0;
out_3726788735705827984[76] = 0;
out_3726788735705827984[77] = 0;
out_3726788735705827984[78] = 0;
out_3726788735705827984[79] = 0;
out_3726788735705827984[80] = 1;
void F_fun(double *state, double dt, double *out_7416815269748566643) {
out_7416815269748566643[0] = 1;
out_7416815269748566643[1] = 0;
out_7416815269748566643[2] = 0;
out_7416815269748566643[3] = 0;
out_7416815269748566643[4] = 0;
out_7416815269748566643[5] = 0;
out_7416815269748566643[6] = 0;
out_7416815269748566643[7] = 0;
out_7416815269748566643[8] = 0;
out_7416815269748566643[9] = 0;
out_7416815269748566643[10] = 1;
out_7416815269748566643[11] = 0;
out_7416815269748566643[12] = 0;
out_7416815269748566643[13] = 0;
out_7416815269748566643[14] = 0;
out_7416815269748566643[15] = 0;
out_7416815269748566643[16] = 0;
out_7416815269748566643[17] = 0;
out_7416815269748566643[18] = 0;
out_7416815269748566643[19] = 0;
out_7416815269748566643[20] = 1;
out_7416815269748566643[21] = 0;
out_7416815269748566643[22] = 0;
out_7416815269748566643[23] = 0;
out_7416815269748566643[24] = 0;
out_7416815269748566643[25] = 0;
out_7416815269748566643[26] = 0;
out_7416815269748566643[27] = 0;
out_7416815269748566643[28] = 0;
out_7416815269748566643[29] = 0;
out_7416815269748566643[30] = 1;
out_7416815269748566643[31] = 0;
out_7416815269748566643[32] = 0;
out_7416815269748566643[33] = 0;
out_7416815269748566643[34] = 0;
out_7416815269748566643[35] = 0;
out_7416815269748566643[36] = 0;
out_7416815269748566643[37] = 0;
out_7416815269748566643[38] = 0;
out_7416815269748566643[39] = 0;
out_7416815269748566643[40] = 1;
out_7416815269748566643[41] = 0;
out_7416815269748566643[42] = 0;
out_7416815269748566643[43] = 0;
out_7416815269748566643[44] = 0;
out_7416815269748566643[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_7416815269748566643[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_7416815269748566643[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_7416815269748566643[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_7416815269748566643[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_7416815269748566643[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_7416815269748566643[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_7416815269748566643[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_7416815269748566643[53] = -9.8100000000000005*dt;
out_7416815269748566643[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_7416815269748566643[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_7416815269748566643[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7416815269748566643[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7416815269748566643[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_7416815269748566643[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_7416815269748566643[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_7416815269748566643[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_7416815269748566643[62] = 0;
out_7416815269748566643[63] = 0;
out_7416815269748566643[64] = 0;
out_7416815269748566643[65] = 0;
out_7416815269748566643[66] = 0;
out_7416815269748566643[67] = 0;
out_7416815269748566643[68] = 0;
out_7416815269748566643[69] = 0;
out_7416815269748566643[70] = 1;
out_7416815269748566643[71] = 0;
out_7416815269748566643[72] = 0;
out_7416815269748566643[73] = 0;
out_7416815269748566643[74] = 0;
out_7416815269748566643[75] = 0;
out_7416815269748566643[76] = 0;
out_7416815269748566643[77] = 0;
out_7416815269748566643[78] = 0;
out_7416815269748566643[79] = 0;
out_7416815269748566643[80] = 1;
}
void h_25(double *state, double *unused, double *out_6349123496291746259) {
out_6349123496291746259[0] = state[6];
void h_25(double *state, double *unused, double *out_8641933420137717402) {
out_8641933420137717402[0] = state[6];
}
void H_25(double *state, double *unused, double *out_7841572198005297360) {
out_7841572198005297360[0] = 0;
out_7841572198005297360[1] = 0;
out_7841572198005297360[2] = 0;
out_7841572198005297360[3] = 0;
out_7841572198005297360[4] = 0;
out_7841572198005297360[5] = 0;
out_7841572198005297360[6] = 1;
out_7841572198005297360[7] = 0;
out_7841572198005297360[8] = 0;
void H_25(double *state, double *unused, double *out_7339103169592445424) {
out_7339103169592445424[0] = 0;
out_7339103169592445424[1] = 0;
out_7339103169592445424[2] = 0;
out_7339103169592445424[3] = 0;
out_7339103169592445424[4] = 0;
out_7339103169592445424[5] = 0;
out_7339103169592445424[6] = 1;
out_7339103169592445424[7] = 0;
out_7339103169592445424[8] = 0;
}
void h_24(double *state, double *unused, double *out_2774216340997546785) {
out_2774216340997546785[0] = state[4];
out_2774216340997546785[1] = state[5];
void h_24(double *state, double *unused, double *out_5501280400540853584) {
out_5501280400540853584[0] = state[4];
out_5501280400540853584[1] = state[5];
}
void H_24(double *state, double *unused, double *out_8427957452097104283) {
out_8427957452097104283[0] = 0;
out_8427957452097104283[1] = 0;
out_8427957452097104283[2] = 0;
out_8427957452097104283[3] = 0;
out_8427957452097104283[4] = 1;
out_8427957452097104283[5] = 0;
out_8427957452097104283[6] = 0;
out_8427957452097104283[7] = 0;
out_8427957452097104283[8] = 0;
out_8427957452097104283[9] = 0;
out_8427957452097104283[10] = 0;
out_8427957452097104283[11] = 0;
out_8427957452097104283[12] = 0;
out_8427957452097104283[13] = 0;
out_8427957452097104283[14] = 1;
out_8427957452097104283[15] = 0;
out_8427957452097104283[16] = 0;
out_8427957452097104283[17] = 0;
void H_24(double *state, double *unused, double *out_9067966288769759493) {
out_9067966288769759493[0] = 0;
out_9067966288769759493[1] = 0;
out_9067966288769759493[2] = 0;
out_9067966288769759493[3] = 0;
out_9067966288769759493[4] = 1;
out_9067966288769759493[5] = 0;
out_9067966288769759493[6] = 0;
out_9067966288769759493[7] = 0;
out_9067966288769759493[8] = 0;
out_9067966288769759493[9] = 0;
out_9067966288769759493[10] = 0;
out_9067966288769759493[11] = 0;
out_9067966288769759493[12] = 0;
out_9067966288769759493[13] = 0;
out_9067966288769759493[14] = 1;
out_9067966288769759493[15] = 0;
out_9067966288769759493[16] = 0;
out_9067966288769759493[17] = 0;
}
void h_30(double *state, double *unused, double *out_5326785351067454421) {
out_5326785351067454421[0] = state[4];
void h_30(double *state, double *unused, double *out_5706507355292462350) {
out_5706507355292462350[0] = state[4];
}
void H_30(double *state, double *unused, double *out_8086838917197005629) {
out_8086838917197005629[0] = 0;
out_8086838917197005629[1] = 0;
out_8086838917197005629[2] = 0;
out_8086838917197005629[3] = 0;
out_8086838917197005629[4] = 1;
out_8086838917197005629[5] = 0;
out_8086838917197005629[6] = 0;
out_8086838917197005629[7] = 0;
out_8086838917197005629[8] = 0;
void H_30(double *state, double *unused, double *out_422412828100828669) {
out_422412828100828669[0] = 0;
out_422412828100828669[1] = 0;
out_422412828100828669[2] = 0;
out_422412828100828669[3] = 0;
out_422412828100828669[4] = 1;
out_422412828100828669[5] = 0;
out_422412828100828669[6] = 0;
out_422412828100828669[7] = 0;
out_422412828100828669[8] = 0;
}
void h_26(double *state, double *unused, double *out_3469524113198542719) {
out_3469524113198542719[0] = state[7];
void h_26(double *state, double *unused, double *out_8743293406736795035) {
out_8743293406736795035[0] = state[7];
}
void H_26(double *state, double *unused, double *out_4100068879131241136) {
out_4100068879131241136[0] = 0;
out_4100068879131241136[1] = 0;
out_4100068879131241136[2] = 0;
out_4100068879131241136[3] = 0;
out_4100068879131241136[4] = 0;
out_4100068879131241136[5] = 0;
out_4100068879131241136[6] = 0;
out_4100068879131241136[7] = 1;
out_4100068879131241136[8] = 0;
void H_26(double *state, double *unused, double *out_7366137585243049968) {
out_7366137585243049968[0] = 0;
out_7366137585243049968[1] = 0;
out_7366137585243049968[2] = 0;
out_7366137585243049968[3] = 0;
out_7366137585243049968[4] = 0;
out_7366137585243049968[5] = 0;
out_7366137585243049968[6] = 0;
out_7366137585243049968[7] = 1;
out_7366137585243049968[8] = 0;
}
void h_27(double *state, double *unused, double *out_1347450228630900614) {
out_1347450228630900614[0] = state[3];
void h_27(double *state, double *unused, double *out_6768024602127501529) {
out_6768024602127501529[0] = state[3];
}
void H_27(double *state, double *unused, double *out_8185141844712121076) {
out_8185141844712121076[0] = 0;
out_8185141844712121076[1] = 0;
out_8185141844712121076[2] = 0;
out_8185141844712121076[3] = 1;
out_8185141844712121076[4] = 0;
out_8185141844712121076[5] = 0;
out_8185141844712121076[6] = 0;
out_8185141844712121076[7] = 0;
out_8185141844712121076[8] = 0;
void H_27(double *state, double *unused, double *out_2597176139901253580) {
out_2597176139901253580[0] = 0;
out_2597176139901253580[1] = 0;
out_2597176139901253580[2] = 0;
out_2597176139901253580[3] = 1;
out_2597176139901253580[4] = 0;
out_2597176139901253580[5] = 0;
out_2597176139901253580[6] = 0;
out_2597176139901253580[7] = 0;
out_2597176139901253580[8] = 0;
}
void h_29(double *state, double *unused, double *out_2289999299623121736) {
out_2289999299623121736[0] = state[1];
void h_29(double *state, double *unused, double *out_5090891545105754924) {
out_5090891545105754924[0] = state[1];
}
void H_29(double *state, double *unused, double *out_7576607572882613445) {
out_7576607572882613445[0] = 0;
out_7576607572882613445[1] = 1;
out_7576607572882613445[2] = 0;
out_7576607572882613445[3] = 0;
out_7576607572882613445[4] = 0;
out_7576607572882613445[5] = 0;
out_7576607572882613445[6] = 0;
out_7576607572882613445[7] = 0;
out_7576607572882613445[8] = 0;
void H_29(double *state, double *unused, double *out_4310538866770804613) {
out_4310538866770804613[0] = 0;
out_4310538866770804613[1] = 1;
out_4310538866770804613[2] = 0;
out_4310538866770804613[3] = 0;
out_4310538866770804613[4] = 0;
out_4310538866770804613[5] = 0;
out_4310538866770804613[6] = 0;
out_4310538866770804613[7] = 0;
out_4310538866770804613[8] = 0;
}
void h_28(double *state, double *unused, double *out_2290960081532563049) {
out_2290960081532563049[0] = state[0];
void h_28(double *state, double *unused, double *out_5824514749225839094) {
out_5824514749225839094[0] = state[0];
}
void H_28(double *state, double *unused, double *out_5787737483757407597) {
out_5787737483757407597[0] = 1;
out_5787737483757407597[1] = 0;
out_5787737483757407597[2] = 0;
out_5787737483757407597[3] = 0;
out_5787737483757407597[4] = 0;
out_5787737483757407597[5] = 0;
out_5787737483757407597[6] = 0;
out_5787737483757407597[7] = 0;
out_5787737483757407597[8] = 0;
void H_28(double *state, double *unused, double *out_9053806189869216429) {
out_9053806189869216429[0] = 1;
out_9053806189869216429[1] = 0;
out_9053806189869216429[2] = 0;
out_9053806189869216429[3] = 0;
out_9053806189869216429[4] = 0;
out_9053806189869216429[5] = 0;
out_9053806189869216429[6] = 0;
out_9053806189869216429[7] = 0;
out_9053806189869216429[8] = 0;
}
void h_31(double *state, double *unused, double *out_8460171049163783007) {
out_8460171049163783007[0] = state[8];
void h_31(double *state, double *unused, double *out_8917127482422223291) {
out_8917127482422223291[0] = state[8];
}
void H_31(double *state, double *unused, double *out_3473860776897889660) {
out_3473860776897889660[0] = 0;
out_3473860776897889660[1] = 0;
out_3473860776897889660[2] = 0;
out_3473860776897889660[3] = 0;
out_3473860776897889660[4] = 0;
out_3473860776897889660[5] = 0;
out_3473860776897889660[6] = 0;
out_3473860776897889660[7] = 0;
out_3473860776897889660[8] = 1;
void H_31(double *state, double *unused, double *out_7308457207715484996) {
out_7308457207715484996[0] = 0;
out_7308457207715484996[1] = 0;
out_7308457207715484996[2] = 0;
out_7308457207715484996[3] = 0;
out_7308457207715484996[4] = 0;
out_7308457207715484996[5] = 0;
out_7308457207715484996[6] = 0;
out_7308457207715484996[7] = 0;
out_7308457207715484996[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_4885896537278282144) {
err_fun(nom_x, delta_x, out_4885896537278282144);
void car_err_fun(double *nom_x, double *delta_x, double *out_5825026556611430403) {
err_fun(nom_x, delta_x, out_5825026556611430403);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_3745151970403573209) {
inv_err_fun(nom_x, true_x, out_3745151970403573209);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_8876036798993240698) {
inv_err_fun(nom_x, true_x, out_8876036798993240698);
}
void car_H_mod_fun(double *state, double *out_2937880372820632520) {
H_mod_fun(state, out_2937880372820632520);
void car_H_mod_fun(double *state, double *out_6203949078932441352) {
H_mod_fun(state, out_6203949078932441352);
}
void car_f_fun(double *state, double dt, double *out_4204558600518622219) {
f_fun(state, dt, out_4204558600518622219);
void car_f_fun(double *state, double dt, double *out_343822199527135251) {
f_fun(state, dt, out_343822199527135251);
}
void car_F_fun(double *state, double dt, double *out_3726788735705827984) {
F_fun(state, dt, out_3726788735705827984);
void car_F_fun(double *state, double dt, double *out_7416815269748566643) {
F_fun(state, dt, out_7416815269748566643);
}
void car_h_25(double *state, double *unused, double *out_6349123496291746259) {
h_25(state, unused, out_6349123496291746259);
void car_h_25(double *state, double *unused, double *out_8641933420137717402) {
h_25(state, unused, out_8641933420137717402);
}
void car_H_25(double *state, double *unused, double *out_7841572198005297360) {
H_25(state, unused, out_7841572198005297360);
void car_H_25(double *state, double *unused, double *out_7339103169592445424) {
H_25(state, unused, out_7339103169592445424);
}
void car_h_24(double *state, double *unused, double *out_2774216340997546785) {
h_24(state, unused, out_2774216340997546785);
void car_h_24(double *state, double *unused, double *out_5501280400540853584) {
h_24(state, unused, out_5501280400540853584);
}
void car_H_24(double *state, double *unused, double *out_8427957452097104283) {
H_24(state, unused, out_8427957452097104283);
void car_H_24(double *state, double *unused, double *out_9067966288769759493) {
H_24(state, unused, out_9067966288769759493);
}
void car_h_30(double *state, double *unused, double *out_5326785351067454421) {
h_30(state, unused, out_5326785351067454421);
void car_h_30(double *state, double *unused, double *out_5706507355292462350) {
h_30(state, unused, out_5706507355292462350);
}
void car_H_30(double *state, double *unused, double *out_8086838917197005629) {
H_30(state, unused, out_8086838917197005629);
void car_H_30(double *state, double *unused, double *out_422412828100828669) {
H_30(state, unused, out_422412828100828669);
}
void car_h_26(double *state, double *unused, double *out_3469524113198542719) {
h_26(state, unused, out_3469524113198542719);
void car_h_26(double *state, double *unused, double *out_8743293406736795035) {
h_26(state, unused, out_8743293406736795035);
}
void car_H_26(double *state, double *unused, double *out_4100068879131241136) {
H_26(state, unused, out_4100068879131241136);
void car_H_26(double *state, double *unused, double *out_7366137585243049968) {
H_26(state, unused, out_7366137585243049968);
}
void car_h_27(double *state, double *unused, double *out_1347450228630900614) {
h_27(state, unused, out_1347450228630900614);
void car_h_27(double *state, double *unused, double *out_6768024602127501529) {
h_27(state, unused, out_6768024602127501529);
}
void car_H_27(double *state, double *unused, double *out_8185141844712121076) {
H_27(state, unused, out_8185141844712121076);
void car_H_27(double *state, double *unused, double *out_2597176139901253580) {
H_27(state, unused, out_2597176139901253580);
}
void car_h_29(double *state, double *unused, double *out_2289999299623121736) {
h_29(state, unused, out_2289999299623121736);
void car_h_29(double *state, double *unused, double *out_5090891545105754924) {
h_29(state, unused, out_5090891545105754924);
}
void car_H_29(double *state, double *unused, double *out_7576607572882613445) {
H_29(state, unused, out_7576607572882613445);
void car_H_29(double *state, double *unused, double *out_4310538866770804613) {
H_29(state, unused, out_4310538866770804613);
}
void car_h_28(double *state, double *unused, double *out_2290960081532563049) {
h_28(state, unused, out_2290960081532563049);
void car_h_28(double *state, double *unused, double *out_5824514749225839094) {
h_28(state, unused, out_5824514749225839094);
}
void car_H_28(double *state, double *unused, double *out_5787737483757407597) {
H_28(state, unused, out_5787737483757407597);
void car_H_28(double *state, double *unused, double *out_9053806189869216429) {
H_28(state, unused, out_9053806189869216429);
}
void car_h_31(double *state, double *unused, double *out_8460171049163783007) {
h_31(state, unused, out_8460171049163783007);
void car_h_31(double *state, double *unused, double *out_8917127482422223291) {
h_31(state, unused, out_8917127482422223291);
}
void car_H_31(double *state, double *unused, double *out_3473860776897889660) {
H_31(state, unused, out_3473860776897889660);
void car_H_31(double *state, double *unused, double *out_7308457207715484996) {
H_31(state, unused, out_7308457207715484996);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);