mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-18 15:52:09 +08:00
build
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user