This commit is contained in:
firestar5683
2026-05-18 13:05:07 -05:00
parent 601b8855f6
commit 51701ecffc
48 changed files with 1356 additions and 1356 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_652600290238585961) {
out_652600290238585961[0] = delta_x[0] + nom_x[0];
out_652600290238585961[1] = delta_x[1] + nom_x[1];
out_652600290238585961[2] = delta_x[2] + nom_x[2];
out_652600290238585961[3] = delta_x[3] + nom_x[3];
out_652600290238585961[4] = delta_x[4] + nom_x[4];
out_652600290238585961[5] = delta_x[5] + nom_x[5];
out_652600290238585961[6] = delta_x[6] + nom_x[6];
out_652600290238585961[7] = delta_x[7] + nom_x[7];
out_652600290238585961[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_4317163891516196670) {
out_4317163891516196670[0] = delta_x[0] + nom_x[0];
out_4317163891516196670[1] = delta_x[1] + nom_x[1];
out_4317163891516196670[2] = delta_x[2] + nom_x[2];
out_4317163891516196670[3] = delta_x[3] + nom_x[3];
out_4317163891516196670[4] = delta_x[4] + nom_x[4];
out_4317163891516196670[5] = delta_x[5] + nom_x[5];
out_4317163891516196670[6] = delta_x[6] + nom_x[6];
out_4317163891516196670[7] = delta_x[7] + nom_x[7];
out_4317163891516196670[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_428056314371954903) {
out_428056314371954903[0] = -nom_x[0] + true_x[0];
out_428056314371954903[1] = -nom_x[1] + true_x[1];
out_428056314371954903[2] = -nom_x[2] + true_x[2];
out_428056314371954903[3] = -nom_x[3] + true_x[3];
out_428056314371954903[4] = -nom_x[4] + true_x[4];
out_428056314371954903[5] = -nom_x[5] + true_x[5];
out_428056314371954903[6] = -nom_x[6] + true_x[6];
out_428056314371954903[7] = -nom_x[7] + true_x[7];
out_428056314371954903[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_8278424519720112087) {
out_8278424519720112087[0] = -nom_x[0] + true_x[0];
out_8278424519720112087[1] = -nom_x[1] + true_x[1];
out_8278424519720112087[2] = -nom_x[2] + true_x[2];
out_8278424519720112087[3] = -nom_x[3] + true_x[3];
out_8278424519720112087[4] = -nom_x[4] + true_x[4];
out_8278424519720112087[5] = -nom_x[5] + true_x[5];
out_8278424519720112087[6] = -nom_x[6] + true_x[6];
out_8278424519720112087[7] = -nom_x[7] + true_x[7];
out_8278424519720112087[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_636098599351187827) {
out_636098599351187827[0] = 1.0;
out_636098599351187827[1] = 0.0;
out_636098599351187827[2] = 0.0;
out_636098599351187827[3] = 0.0;
out_636098599351187827[4] = 0.0;
out_636098599351187827[5] = 0.0;
out_636098599351187827[6] = 0.0;
out_636098599351187827[7] = 0.0;
out_636098599351187827[8] = 0.0;
out_636098599351187827[9] = 0.0;
out_636098599351187827[10] = 1.0;
out_636098599351187827[11] = 0.0;
out_636098599351187827[12] = 0.0;
out_636098599351187827[13] = 0.0;
out_636098599351187827[14] = 0.0;
out_636098599351187827[15] = 0.0;
out_636098599351187827[16] = 0.0;
out_636098599351187827[17] = 0.0;
out_636098599351187827[18] = 0.0;
out_636098599351187827[19] = 0.0;
out_636098599351187827[20] = 1.0;
out_636098599351187827[21] = 0.0;
out_636098599351187827[22] = 0.0;
out_636098599351187827[23] = 0.0;
out_636098599351187827[24] = 0.0;
out_636098599351187827[25] = 0.0;
out_636098599351187827[26] = 0.0;
out_636098599351187827[27] = 0.0;
out_636098599351187827[28] = 0.0;
out_636098599351187827[29] = 0.0;
out_636098599351187827[30] = 1.0;
out_636098599351187827[31] = 0.0;
out_636098599351187827[32] = 0.0;
out_636098599351187827[33] = 0.0;
out_636098599351187827[34] = 0.0;
out_636098599351187827[35] = 0.0;
out_636098599351187827[36] = 0.0;
out_636098599351187827[37] = 0.0;
out_636098599351187827[38] = 0.0;
out_636098599351187827[39] = 0.0;
out_636098599351187827[40] = 1.0;
out_636098599351187827[41] = 0.0;
out_636098599351187827[42] = 0.0;
out_636098599351187827[43] = 0.0;
out_636098599351187827[44] = 0.0;
out_636098599351187827[45] = 0.0;
out_636098599351187827[46] = 0.0;
out_636098599351187827[47] = 0.0;
out_636098599351187827[48] = 0.0;
out_636098599351187827[49] = 0.0;
out_636098599351187827[50] = 1.0;
out_636098599351187827[51] = 0.0;
out_636098599351187827[52] = 0.0;
out_636098599351187827[53] = 0.0;
out_636098599351187827[54] = 0.0;
out_636098599351187827[55] = 0.0;
out_636098599351187827[56] = 0.0;
out_636098599351187827[57] = 0.0;
out_636098599351187827[58] = 0.0;
out_636098599351187827[59] = 0.0;
out_636098599351187827[60] = 1.0;
out_636098599351187827[61] = 0.0;
out_636098599351187827[62] = 0.0;
out_636098599351187827[63] = 0.0;
out_636098599351187827[64] = 0.0;
out_636098599351187827[65] = 0.0;
out_636098599351187827[66] = 0.0;
out_636098599351187827[67] = 0.0;
out_636098599351187827[68] = 0.0;
out_636098599351187827[69] = 0.0;
out_636098599351187827[70] = 1.0;
out_636098599351187827[71] = 0.0;
out_636098599351187827[72] = 0.0;
out_636098599351187827[73] = 0.0;
out_636098599351187827[74] = 0.0;
out_636098599351187827[75] = 0.0;
out_636098599351187827[76] = 0.0;
out_636098599351187827[77] = 0.0;
out_636098599351187827[78] = 0.0;
out_636098599351187827[79] = 0.0;
out_636098599351187827[80] = 1.0;
void H_mod_fun(double *state, double *out_319627375497114494) {
out_319627375497114494[0] = 1.0;
out_319627375497114494[1] = 0.0;
out_319627375497114494[2] = 0.0;
out_319627375497114494[3] = 0.0;
out_319627375497114494[4] = 0.0;
out_319627375497114494[5] = 0.0;
out_319627375497114494[6] = 0.0;
out_319627375497114494[7] = 0.0;
out_319627375497114494[8] = 0.0;
out_319627375497114494[9] = 0.0;
out_319627375497114494[10] = 1.0;
out_319627375497114494[11] = 0.0;
out_319627375497114494[12] = 0.0;
out_319627375497114494[13] = 0.0;
out_319627375497114494[14] = 0.0;
out_319627375497114494[15] = 0.0;
out_319627375497114494[16] = 0.0;
out_319627375497114494[17] = 0.0;
out_319627375497114494[18] = 0.0;
out_319627375497114494[19] = 0.0;
out_319627375497114494[20] = 1.0;
out_319627375497114494[21] = 0.0;
out_319627375497114494[22] = 0.0;
out_319627375497114494[23] = 0.0;
out_319627375497114494[24] = 0.0;
out_319627375497114494[25] = 0.0;
out_319627375497114494[26] = 0.0;
out_319627375497114494[27] = 0.0;
out_319627375497114494[28] = 0.0;
out_319627375497114494[29] = 0.0;
out_319627375497114494[30] = 1.0;
out_319627375497114494[31] = 0.0;
out_319627375497114494[32] = 0.0;
out_319627375497114494[33] = 0.0;
out_319627375497114494[34] = 0.0;
out_319627375497114494[35] = 0.0;
out_319627375497114494[36] = 0.0;
out_319627375497114494[37] = 0.0;
out_319627375497114494[38] = 0.0;
out_319627375497114494[39] = 0.0;
out_319627375497114494[40] = 1.0;
out_319627375497114494[41] = 0.0;
out_319627375497114494[42] = 0.0;
out_319627375497114494[43] = 0.0;
out_319627375497114494[44] = 0.0;
out_319627375497114494[45] = 0.0;
out_319627375497114494[46] = 0.0;
out_319627375497114494[47] = 0.0;
out_319627375497114494[48] = 0.0;
out_319627375497114494[49] = 0.0;
out_319627375497114494[50] = 1.0;
out_319627375497114494[51] = 0.0;
out_319627375497114494[52] = 0.0;
out_319627375497114494[53] = 0.0;
out_319627375497114494[54] = 0.0;
out_319627375497114494[55] = 0.0;
out_319627375497114494[56] = 0.0;
out_319627375497114494[57] = 0.0;
out_319627375497114494[58] = 0.0;
out_319627375497114494[59] = 0.0;
out_319627375497114494[60] = 1.0;
out_319627375497114494[61] = 0.0;
out_319627375497114494[62] = 0.0;
out_319627375497114494[63] = 0.0;
out_319627375497114494[64] = 0.0;
out_319627375497114494[65] = 0.0;
out_319627375497114494[66] = 0.0;
out_319627375497114494[67] = 0.0;
out_319627375497114494[68] = 0.0;
out_319627375497114494[69] = 0.0;
out_319627375497114494[70] = 1.0;
out_319627375497114494[71] = 0.0;
out_319627375497114494[72] = 0.0;
out_319627375497114494[73] = 0.0;
out_319627375497114494[74] = 0.0;
out_319627375497114494[75] = 0.0;
out_319627375497114494[76] = 0.0;
out_319627375497114494[77] = 0.0;
out_319627375497114494[78] = 0.0;
out_319627375497114494[79] = 0.0;
out_319627375497114494[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_190909160143243867) {
out_190909160143243867[0] = state[0];
out_190909160143243867[1] = state[1];
out_190909160143243867[2] = state[2];
out_190909160143243867[3] = state[3];
out_190909160143243867[4] = state[4];
out_190909160143243867[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_190909160143243867[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_190909160143243867[7] = state[7];
out_190909160143243867[8] = state[8];
void f_fun(double *state, double dt, double *out_6613977481805234540) {
out_6613977481805234540[0] = state[0];
out_6613977481805234540[1] = state[1];
out_6613977481805234540[2] = state[2];
out_6613977481805234540[3] = state[3];
out_6613977481805234540[4] = state[4];
out_6613977481805234540[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_6613977481805234540[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_6613977481805234540[7] = state[7];
out_6613977481805234540[8] = state[8];
}
void F_fun(double *state, double dt, double *out_1195327144916471551) {
out_1195327144916471551[0] = 1;
out_1195327144916471551[1] = 0;
out_1195327144916471551[2] = 0;
out_1195327144916471551[3] = 0;
out_1195327144916471551[4] = 0;
out_1195327144916471551[5] = 0;
out_1195327144916471551[6] = 0;
out_1195327144916471551[7] = 0;
out_1195327144916471551[8] = 0;
out_1195327144916471551[9] = 0;
out_1195327144916471551[10] = 1;
out_1195327144916471551[11] = 0;
out_1195327144916471551[12] = 0;
out_1195327144916471551[13] = 0;
out_1195327144916471551[14] = 0;
out_1195327144916471551[15] = 0;
out_1195327144916471551[16] = 0;
out_1195327144916471551[17] = 0;
out_1195327144916471551[18] = 0;
out_1195327144916471551[19] = 0;
out_1195327144916471551[20] = 1;
out_1195327144916471551[21] = 0;
out_1195327144916471551[22] = 0;
out_1195327144916471551[23] = 0;
out_1195327144916471551[24] = 0;
out_1195327144916471551[25] = 0;
out_1195327144916471551[26] = 0;
out_1195327144916471551[27] = 0;
out_1195327144916471551[28] = 0;
out_1195327144916471551[29] = 0;
out_1195327144916471551[30] = 1;
out_1195327144916471551[31] = 0;
out_1195327144916471551[32] = 0;
out_1195327144916471551[33] = 0;
out_1195327144916471551[34] = 0;
out_1195327144916471551[35] = 0;
out_1195327144916471551[36] = 0;
out_1195327144916471551[37] = 0;
out_1195327144916471551[38] = 0;
out_1195327144916471551[39] = 0;
out_1195327144916471551[40] = 1;
out_1195327144916471551[41] = 0;
out_1195327144916471551[42] = 0;
out_1195327144916471551[43] = 0;
out_1195327144916471551[44] = 0;
out_1195327144916471551[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_1195327144916471551[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_1195327144916471551[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_1195327144916471551[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_1195327144916471551[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_1195327144916471551[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_1195327144916471551[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_1195327144916471551[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_1195327144916471551[53] = -9.8100000000000005*dt;
out_1195327144916471551[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_1195327144916471551[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_1195327144916471551[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1195327144916471551[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1195327144916471551[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_1195327144916471551[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_1195327144916471551[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_1195327144916471551[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1195327144916471551[62] = 0;
out_1195327144916471551[63] = 0;
out_1195327144916471551[64] = 0;
out_1195327144916471551[65] = 0;
out_1195327144916471551[66] = 0;
out_1195327144916471551[67] = 0;
out_1195327144916471551[68] = 0;
out_1195327144916471551[69] = 0;
out_1195327144916471551[70] = 1;
out_1195327144916471551[71] = 0;
out_1195327144916471551[72] = 0;
out_1195327144916471551[73] = 0;
out_1195327144916471551[74] = 0;
out_1195327144916471551[75] = 0;
out_1195327144916471551[76] = 0;
out_1195327144916471551[77] = 0;
out_1195327144916471551[78] = 0;
out_1195327144916471551[79] = 0;
out_1195327144916471551[80] = 1;
void F_fun(double *state, double dt, double *out_3393066705725541618) {
out_3393066705725541618[0] = 1;
out_3393066705725541618[1] = 0;
out_3393066705725541618[2] = 0;
out_3393066705725541618[3] = 0;
out_3393066705725541618[4] = 0;
out_3393066705725541618[5] = 0;
out_3393066705725541618[6] = 0;
out_3393066705725541618[7] = 0;
out_3393066705725541618[8] = 0;
out_3393066705725541618[9] = 0;
out_3393066705725541618[10] = 1;
out_3393066705725541618[11] = 0;
out_3393066705725541618[12] = 0;
out_3393066705725541618[13] = 0;
out_3393066705725541618[14] = 0;
out_3393066705725541618[15] = 0;
out_3393066705725541618[16] = 0;
out_3393066705725541618[17] = 0;
out_3393066705725541618[18] = 0;
out_3393066705725541618[19] = 0;
out_3393066705725541618[20] = 1;
out_3393066705725541618[21] = 0;
out_3393066705725541618[22] = 0;
out_3393066705725541618[23] = 0;
out_3393066705725541618[24] = 0;
out_3393066705725541618[25] = 0;
out_3393066705725541618[26] = 0;
out_3393066705725541618[27] = 0;
out_3393066705725541618[28] = 0;
out_3393066705725541618[29] = 0;
out_3393066705725541618[30] = 1;
out_3393066705725541618[31] = 0;
out_3393066705725541618[32] = 0;
out_3393066705725541618[33] = 0;
out_3393066705725541618[34] = 0;
out_3393066705725541618[35] = 0;
out_3393066705725541618[36] = 0;
out_3393066705725541618[37] = 0;
out_3393066705725541618[38] = 0;
out_3393066705725541618[39] = 0;
out_3393066705725541618[40] = 1;
out_3393066705725541618[41] = 0;
out_3393066705725541618[42] = 0;
out_3393066705725541618[43] = 0;
out_3393066705725541618[44] = 0;
out_3393066705725541618[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_3393066705725541618[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_3393066705725541618[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3393066705725541618[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3393066705725541618[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_3393066705725541618[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_3393066705725541618[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_3393066705725541618[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_3393066705725541618[53] = -9.8100000000000005*dt;
out_3393066705725541618[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_3393066705725541618[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_3393066705725541618[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3393066705725541618[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3393066705725541618[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_3393066705725541618[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_3393066705725541618[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_3393066705725541618[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3393066705725541618[62] = 0;
out_3393066705725541618[63] = 0;
out_3393066705725541618[64] = 0;
out_3393066705725541618[65] = 0;
out_3393066705725541618[66] = 0;
out_3393066705725541618[67] = 0;
out_3393066705725541618[68] = 0;
out_3393066705725541618[69] = 0;
out_3393066705725541618[70] = 1;
out_3393066705725541618[71] = 0;
out_3393066705725541618[72] = 0;
out_3393066705725541618[73] = 0;
out_3393066705725541618[74] = 0;
out_3393066705725541618[75] = 0;
out_3393066705725541618[76] = 0;
out_3393066705725541618[77] = 0;
out_3393066705725541618[78] = 0;
out_3393066705725541618[79] = 0;
out_3393066705725541618[80] = 1;
}
void h_25(double *state, double *unused, double *out_8972033615374819768) {
out_8972033615374819768[0] = state[6];
void h_25(double *state, double *unused, double *out_3694283988136956896) {
out_3694283988136956896[0] = state[6];
}
void H_25(double *state, double *unused, double *out_4267593225833477013) {
out_4267593225833477013[0] = 0;
out_4267593225833477013[1] = 0;
out_4267593225833477013[2] = 0;
out_4267593225833477013[3] = 0;
out_4267593225833477013[4] = 0;
out_4267593225833477013[5] = 0;
out_4267593225833477013[6] = 1;
out_4267593225833477013[7] = 0;
out_4267593225833477013[8] = 0;
void H_25(double *state, double *unused, double *out_8933928472300199885) {
out_8933928472300199885[0] = 0;
out_8933928472300199885[1] = 0;
out_8933928472300199885[2] = 0;
out_8933928472300199885[3] = 0;
out_8933928472300199885[4] = 0;
out_8933928472300199885[5] = 0;
out_8933928472300199885[6] = 1;
out_8933928472300199885[7] = 0;
out_8933928472300199885[8] = 0;
}
void h_24(double *state, double *unused, double *out_1619093620334214225) {
out_1619093620334214225[0] = state[4];
out_1619093620334214225[1] = state[5];
void h_24(double *state, double *unused, double *out_878940354647202481) {
out_878940354647202481[0] = state[4];
out_878940354647202481[1] = state[5];
}
void H_24(double *state, double *unused, double *out_2538730106656162944) {
out_2538730106656162944[0] = 0;
out_2538730106656162944[1] = 0;
out_2538730106656162944[2] = 0;
out_2538730106656162944[3] = 0;
out_2538730106656162944[4] = 1;
out_2538730106656162944[5] = 0;
out_2538730106656162944[6] = 0;
out_2538730106656162944[7] = 0;
out_2538730106656162944[8] = 0;
out_2538730106656162944[9] = 0;
out_2538730106656162944[10] = 0;
out_2538730106656162944[11] = 0;
out_2538730106656162944[12] = 0;
out_2538730106656162944[13] = 0;
out_2538730106656162944[14] = 1;
out_2538730106656162944[15] = 0;
out_2538730106656162944[16] = 0;
out_2538730106656162944[17] = 0;
void H_24(double *state, double *unused, double *out_7287107817430483169) {
out_7287107817430483169[0] = 0;
out_7287107817430483169[1] = 0;
out_7287107817430483169[2] = 0;
out_7287107817430483169[3] = 0;
out_7287107817430483169[4] = 1;
out_7287107817430483169[5] = 0;
out_7287107817430483169[6] = 0;
out_7287107817430483169[7] = 0;
out_7287107817430483169[8] = 0;
out_7287107817430483169[9] = 0;
out_7287107817430483169[10] = 0;
out_7287107817430483169[11] = 0;
out_7287107817430483169[12] = 0;
out_7287107817430483169[13] = 0;
out_7287107817430483169[14] = 1;
out_7287107817430483169[15] = 0;
out_7287107817430483169[16] = 0;
out_7287107817430483169[17] = 0;
}
void h_30(double *state, double *unused, double *out_2004718450693787274) {
out_2004718450693787274[0] = state[4];
void h_30(double *state, double *unused, double *out_9220341424687980009) {
out_9220341424687980009[0] = state[4];
}
void H_30(double *state, double *unused, double *out_6785926184340725640) {
out_6785926184340725640[0] = 0;
out_6785926184340725640[1] = 0;
out_6785926184340725640[2] = 0;
out_6785926184340725640[3] = 0;
out_6785926184340725640[4] = 1;
out_6785926184340725640[5] = 0;
out_6785926184340725640[6] = 0;
out_6785926184340725640[7] = 0;
out_6785926184340725640[8] = 0;
void H_30(double *state, double *unused, double *out_2596125259917734976) {
out_2596125259917734976[0] = 0;
out_2596125259917734976[1] = 0;
out_2596125259917734976[2] = 0;
out_2596125259917734976[3] = 0;
out_2596125259917734976[4] = 1;
out_2596125259917734976[5] = 0;
out_2596125259917734976[6] = 0;
out_2596125259917734976[7] = 0;
out_2596125259917734976[8] = 0;
}
void h_26(double *state, double *unused, double *out_7006391718354632919) {
out_7006391718354632919[0] = state[7];
void h_26(double *state, double *unused, double *out_4022405810528928524) {
out_4022405810528928524[0] = state[7];
}
void H_26(double *state, double *unused, double *out_7572119195594277614) {
out_7572119195594277614[0] = 0;
out_7572119195594277614[1] = 0;
out_7572119195594277614[2] = 0;
out_7572119195594277614[3] = 0;
out_7572119195594277614[4] = 0;
out_7572119195594277614[5] = 0;
out_7572119195594277614[6] = 0;
out_7572119195594277614[7] = 1;
out_7572119195594277614[8] = 0;
void H_26(double *state, double *unused, double *out_5192425153426143661) {
out_5192425153426143661[0] = 0;
out_5192425153426143661[1] = 0;
out_5192425153426143661[2] = 0;
out_5192425153426143661[3] = 0;
out_5192425153426143661[4] = 0;
out_5192425153426143661[5] = 0;
out_5192425153426143661[6] = 0;
out_5192425153426143661[7] = 1;
out_5192425153426143661[8] = 0;
}
void h_27(double *state, double *unused, double *out_4512330460653438616) {
out_4512330460653438616[0] = state[3];
void h_27(double *state, double *unused, double *out_4139954033073310033) {
out_4139954033073310033[0] = state[3];
}
void H_27(double *state, double *unused, double *out_9009520255524668857) {
out_9009520255524668857[0] = 0;
out_9009520255524668857[1] = 0;
out_9009520255524668857[2] = 0;
out_9009520255524668857[3] = 1;
out_9009520255524668857[4] = 0;
out_9009520255524668857[5] = 0;
out_9009520255524668857[6] = 0;
out_9009520255524668857[7] = 0;
out_9009520255524668857[8] = 0;
void H_27(double *state, double *unused, double *out_4770888571718159887) {
out_4770888571718159887[0] = 0;
out_4770888571718159887[1] = 0;
out_4770888571718159887[2] = 0;
out_4770888571718159887[3] = 1;
out_4770888571718159887[4] = 0;
out_4770888571718159887[5] = 0;
out_4770888571718159887[6] = 0;
out_4770888571718159887[7] = 0;
out_4770888571718159887[8] = 0;
}
void h_29(double *state, double *unused, double *out_2948228303595449709) {
out_2948228303595449709[0] = state[1];
void h_29(double *state, double *unused, double *out_6621997328212873956) {
out_6621997328212873956[0] = state[1];
}
void H_29(double *state, double *unused, double *out_7296157528655117824) {
out_7296157528655117824[0] = 0;
out_7296157528655117824[1] = 1;
out_7296157528655117824[2] = 0;
out_7296157528655117824[3] = 0;
out_7296157528655117824[4] = 0;
out_7296157528655117824[5] = 0;
out_7296157528655117824[6] = 0;
out_7296157528655117824[7] = 0;
out_7296157528655117824[8] = 0;
void H_29(double *state, double *unused, double *out_2085893915603342792) {
out_2085893915603342792[0] = 0;
out_2085893915603342792[1] = 1;
out_2085893915603342792[2] = 0;
out_2085893915603342792[3] = 0;
out_2085893915603342792[4] = 0;
out_2085893915603342792[5] = 0;
out_2085893915603342792[6] = 0;
out_2085893915603342792[7] = 0;
out_2085893915603342792[8] = 0;
}
void h_28(double *state, double *unused, double *out_1907925139844740965) {
out_1907925139844740965[0] = state[0];
void h_28(double *state, double *unused, double *out_8099632253155620528) {
out_8099632253155620528[0] = state[0];
}
void H_28(double *state, double *unused, double *out_2213758511585587250) {
out_2213758511585587250[0] = 1;
out_2213758511585587250[1] = 0;
out_2213758511585587250[2] = 0;
out_2213758511585587250[3] = 0;
out_2213758511585587250[4] = 0;
out_2213758511585587250[5] = 0;
out_2213758511585587250[6] = 0;
out_2213758511585587250[7] = 0;
out_2213758511585587250[8] = 0;
void H_28(double *state, double *unused, double *out_7168292932672873366) {
out_7168292932672873366[0] = 1;
out_7168292932672873366[1] = 0;
out_7168292932672873366[2] = 0;
out_7168292932672873366[3] = 0;
out_7168292932672873366[4] = 0;
out_7168292932672873366[5] = 0;
out_7168292932672873366[6] = 0;
out_7168292932672873366[7] = 0;
out_7168292932672873366[8] = 0;
}
void h_31(double *state, double *unused, double *out_332156138656277884) {
out_332156138656277884[0] = state[8];
void h_31(double *state, double *unused, double *out_5443433296546894286) {
out_5443433296546894286[0] = state[8];
}
void H_31(double *state, double *unused, double *out_4298239187710437441) {
out_4298239187710437441[0] = 0;
out_4298239187710437441[1] = 0;
out_4298239187710437441[2] = 0;
out_4298239187710437441[3] = 0;
out_4298239187710437441[4] = 0;
out_4298239187710437441[5] = 0;
out_4298239187710437441[6] = 0;
out_4298239187710437441[7] = 0;
out_4298239187710437441[8] = 1;
void H_31(double *state, double *unused, double *out_8964574434177160313) {
out_8964574434177160313[0] = 0;
out_8964574434177160313[1] = 0;
out_8964574434177160313[2] = 0;
out_8964574434177160313[3] = 0;
out_8964574434177160313[4] = 0;
out_8964574434177160313[5] = 0;
out_8964574434177160313[6] = 0;
out_8964574434177160313[7] = 0;
out_8964574434177160313[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_652600290238585961) {
err_fun(nom_x, delta_x, out_652600290238585961);
void car_err_fun(double *nom_x, double *delta_x, double *out_4317163891516196670) {
err_fun(nom_x, delta_x, out_4317163891516196670);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_428056314371954903) {
inv_err_fun(nom_x, true_x, out_428056314371954903);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_8278424519720112087) {
inv_err_fun(nom_x, true_x, out_8278424519720112087);
}
void car_H_mod_fun(double *state, double *out_636098599351187827) {
H_mod_fun(state, out_636098599351187827);
void car_H_mod_fun(double *state, double *out_319627375497114494) {
H_mod_fun(state, out_319627375497114494);
}
void car_f_fun(double *state, double dt, double *out_190909160143243867) {
f_fun(state, dt, out_190909160143243867);
void car_f_fun(double *state, double dt, double *out_6613977481805234540) {
f_fun(state, dt, out_6613977481805234540);
}
void car_F_fun(double *state, double dt, double *out_1195327144916471551) {
F_fun(state, dt, out_1195327144916471551);
void car_F_fun(double *state, double dt, double *out_3393066705725541618) {
F_fun(state, dt, out_3393066705725541618);
}
void car_h_25(double *state, double *unused, double *out_8972033615374819768) {
h_25(state, unused, out_8972033615374819768);
void car_h_25(double *state, double *unused, double *out_3694283988136956896) {
h_25(state, unused, out_3694283988136956896);
}
void car_H_25(double *state, double *unused, double *out_4267593225833477013) {
H_25(state, unused, out_4267593225833477013);
void car_H_25(double *state, double *unused, double *out_8933928472300199885) {
H_25(state, unused, out_8933928472300199885);
}
void car_h_24(double *state, double *unused, double *out_1619093620334214225) {
h_24(state, unused, out_1619093620334214225);
void car_h_24(double *state, double *unused, double *out_878940354647202481) {
h_24(state, unused, out_878940354647202481);
}
void car_H_24(double *state, double *unused, double *out_2538730106656162944) {
H_24(state, unused, out_2538730106656162944);
void car_H_24(double *state, double *unused, double *out_7287107817430483169) {
H_24(state, unused, out_7287107817430483169);
}
void car_h_30(double *state, double *unused, double *out_2004718450693787274) {
h_30(state, unused, out_2004718450693787274);
void car_h_30(double *state, double *unused, double *out_9220341424687980009) {
h_30(state, unused, out_9220341424687980009);
}
void car_H_30(double *state, double *unused, double *out_6785926184340725640) {
H_30(state, unused, out_6785926184340725640);
void car_H_30(double *state, double *unused, double *out_2596125259917734976) {
H_30(state, unused, out_2596125259917734976);
}
void car_h_26(double *state, double *unused, double *out_7006391718354632919) {
h_26(state, unused, out_7006391718354632919);
void car_h_26(double *state, double *unused, double *out_4022405810528928524) {
h_26(state, unused, out_4022405810528928524);
}
void car_H_26(double *state, double *unused, double *out_7572119195594277614) {
H_26(state, unused, out_7572119195594277614);
void car_H_26(double *state, double *unused, double *out_5192425153426143661) {
H_26(state, unused, out_5192425153426143661);
}
void car_h_27(double *state, double *unused, double *out_4512330460653438616) {
h_27(state, unused, out_4512330460653438616);
void car_h_27(double *state, double *unused, double *out_4139954033073310033) {
h_27(state, unused, out_4139954033073310033);
}
void car_H_27(double *state, double *unused, double *out_9009520255524668857) {
H_27(state, unused, out_9009520255524668857);
void car_H_27(double *state, double *unused, double *out_4770888571718159887) {
H_27(state, unused, out_4770888571718159887);
}
void car_h_29(double *state, double *unused, double *out_2948228303595449709) {
h_29(state, unused, out_2948228303595449709);
void car_h_29(double *state, double *unused, double *out_6621997328212873956) {
h_29(state, unused, out_6621997328212873956);
}
void car_H_29(double *state, double *unused, double *out_7296157528655117824) {
H_29(state, unused, out_7296157528655117824);
void car_H_29(double *state, double *unused, double *out_2085893915603342792) {
H_29(state, unused, out_2085893915603342792);
}
void car_h_28(double *state, double *unused, double *out_1907925139844740965) {
h_28(state, unused, out_1907925139844740965);
void car_h_28(double *state, double *unused, double *out_8099632253155620528) {
h_28(state, unused, out_8099632253155620528);
}
void car_H_28(double *state, double *unused, double *out_2213758511585587250) {
H_28(state, unused, out_2213758511585587250);
void car_H_28(double *state, double *unused, double *out_7168292932672873366) {
H_28(state, unused, out_7168292932672873366);
}
void car_h_31(double *state, double *unused, double *out_332156138656277884) {
h_31(state, unused, out_332156138656277884);
void car_h_31(double *state, double *unused, double *out_5443433296546894286) {
h_31(state, unused, out_5443433296546894286);
}
void car_H_31(double *state, double *unused, double *out_4298239187710437441) {
H_31(state, unused, out_4298239187710437441);
void car_H_31(double *state, double *unused, double *out_8964574434177160313) {
H_31(state, unused, out_8964574434177160313);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);