Offer applies with enrollment and triple advantage

This commit is contained in:
firestar5683
2026-05-29 00:55:19 -05:00
parent 75b1deaf60
commit 29ade037d3
77 changed files with 2111 additions and 1472 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_4387195160971747702) {
out_4387195160971747702[0] = delta_x[0] + nom_x[0];
out_4387195160971747702[1] = delta_x[1] + nom_x[1];
out_4387195160971747702[2] = delta_x[2] + nom_x[2];
out_4387195160971747702[3] = delta_x[3] + nom_x[3];
out_4387195160971747702[4] = delta_x[4] + nom_x[4];
out_4387195160971747702[5] = delta_x[5] + nom_x[5];
out_4387195160971747702[6] = delta_x[6] + nom_x[6];
out_4387195160971747702[7] = delta_x[7] + nom_x[7];
out_4387195160971747702[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_7214711627163091402) {
out_7214711627163091402[0] = delta_x[0] + nom_x[0];
out_7214711627163091402[1] = delta_x[1] + nom_x[1];
out_7214711627163091402[2] = delta_x[2] + nom_x[2];
out_7214711627163091402[3] = delta_x[3] + nom_x[3];
out_7214711627163091402[4] = delta_x[4] + nom_x[4];
out_7214711627163091402[5] = delta_x[5] + nom_x[5];
out_7214711627163091402[6] = delta_x[6] + nom_x[6];
out_7214711627163091402[7] = delta_x[7] + nom_x[7];
out_7214711627163091402[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_7707264064834051115) {
out_7707264064834051115[0] = -nom_x[0] + true_x[0];
out_7707264064834051115[1] = -nom_x[1] + true_x[1];
out_7707264064834051115[2] = -nom_x[2] + true_x[2];
out_7707264064834051115[3] = -nom_x[3] + true_x[3];
out_7707264064834051115[4] = -nom_x[4] + true_x[4];
out_7707264064834051115[5] = -nom_x[5] + true_x[5];
out_7707264064834051115[6] = -nom_x[6] + true_x[6];
out_7707264064834051115[7] = -nom_x[7] + true_x[7];
out_7707264064834051115[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_911828672798028438) {
out_911828672798028438[0] = -nom_x[0] + true_x[0];
out_911828672798028438[1] = -nom_x[1] + true_x[1];
out_911828672798028438[2] = -nom_x[2] + true_x[2];
out_911828672798028438[3] = -nom_x[3] + true_x[3];
out_911828672798028438[4] = -nom_x[4] + true_x[4];
out_911828672798028438[5] = -nom_x[5] + true_x[5];
out_911828672798028438[6] = -nom_x[6] + true_x[6];
out_911828672798028438[7] = -nom_x[7] + true_x[7];
out_911828672798028438[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_7178605602671138983) {
out_7178605602671138983[0] = 1.0;
out_7178605602671138983[1] = 0.0;
out_7178605602671138983[2] = 0.0;
out_7178605602671138983[3] = 0.0;
out_7178605602671138983[4] = 0.0;
out_7178605602671138983[5] = 0.0;
out_7178605602671138983[6] = 0.0;
out_7178605602671138983[7] = 0.0;
out_7178605602671138983[8] = 0.0;
out_7178605602671138983[9] = 0.0;
out_7178605602671138983[10] = 1.0;
out_7178605602671138983[11] = 0.0;
out_7178605602671138983[12] = 0.0;
out_7178605602671138983[13] = 0.0;
out_7178605602671138983[14] = 0.0;
out_7178605602671138983[15] = 0.0;
out_7178605602671138983[16] = 0.0;
out_7178605602671138983[17] = 0.0;
out_7178605602671138983[18] = 0.0;
out_7178605602671138983[19] = 0.0;
out_7178605602671138983[20] = 1.0;
out_7178605602671138983[21] = 0.0;
out_7178605602671138983[22] = 0.0;
out_7178605602671138983[23] = 0.0;
out_7178605602671138983[24] = 0.0;
out_7178605602671138983[25] = 0.0;
out_7178605602671138983[26] = 0.0;
out_7178605602671138983[27] = 0.0;
out_7178605602671138983[28] = 0.0;
out_7178605602671138983[29] = 0.0;
out_7178605602671138983[30] = 1.0;
out_7178605602671138983[31] = 0.0;
out_7178605602671138983[32] = 0.0;
out_7178605602671138983[33] = 0.0;
out_7178605602671138983[34] = 0.0;
out_7178605602671138983[35] = 0.0;
out_7178605602671138983[36] = 0.0;
out_7178605602671138983[37] = 0.0;
out_7178605602671138983[38] = 0.0;
out_7178605602671138983[39] = 0.0;
out_7178605602671138983[40] = 1.0;
out_7178605602671138983[41] = 0.0;
out_7178605602671138983[42] = 0.0;
out_7178605602671138983[43] = 0.0;
out_7178605602671138983[44] = 0.0;
out_7178605602671138983[45] = 0.0;
out_7178605602671138983[46] = 0.0;
out_7178605602671138983[47] = 0.0;
out_7178605602671138983[48] = 0.0;
out_7178605602671138983[49] = 0.0;
out_7178605602671138983[50] = 1.0;
out_7178605602671138983[51] = 0.0;
out_7178605602671138983[52] = 0.0;
out_7178605602671138983[53] = 0.0;
out_7178605602671138983[54] = 0.0;
out_7178605602671138983[55] = 0.0;
out_7178605602671138983[56] = 0.0;
out_7178605602671138983[57] = 0.0;
out_7178605602671138983[58] = 0.0;
out_7178605602671138983[59] = 0.0;
out_7178605602671138983[60] = 1.0;
out_7178605602671138983[61] = 0.0;
out_7178605602671138983[62] = 0.0;
out_7178605602671138983[63] = 0.0;
out_7178605602671138983[64] = 0.0;
out_7178605602671138983[65] = 0.0;
out_7178605602671138983[66] = 0.0;
out_7178605602671138983[67] = 0.0;
out_7178605602671138983[68] = 0.0;
out_7178605602671138983[69] = 0.0;
out_7178605602671138983[70] = 1.0;
out_7178605602671138983[71] = 0.0;
out_7178605602671138983[72] = 0.0;
out_7178605602671138983[73] = 0.0;
out_7178605602671138983[74] = 0.0;
out_7178605602671138983[75] = 0.0;
out_7178605602671138983[76] = 0.0;
out_7178605602671138983[77] = 0.0;
out_7178605602671138983[78] = 0.0;
out_7178605602671138983[79] = 0.0;
out_7178605602671138983[80] = 1.0;
void H_mod_fun(double *state, double *out_149552472482575511) {
out_149552472482575511[0] = 1.0;
out_149552472482575511[1] = 0.0;
out_149552472482575511[2] = 0.0;
out_149552472482575511[3] = 0.0;
out_149552472482575511[4] = 0.0;
out_149552472482575511[5] = 0.0;
out_149552472482575511[6] = 0.0;
out_149552472482575511[7] = 0.0;
out_149552472482575511[8] = 0.0;
out_149552472482575511[9] = 0.0;
out_149552472482575511[10] = 1.0;
out_149552472482575511[11] = 0.0;
out_149552472482575511[12] = 0.0;
out_149552472482575511[13] = 0.0;
out_149552472482575511[14] = 0.0;
out_149552472482575511[15] = 0.0;
out_149552472482575511[16] = 0.0;
out_149552472482575511[17] = 0.0;
out_149552472482575511[18] = 0.0;
out_149552472482575511[19] = 0.0;
out_149552472482575511[20] = 1.0;
out_149552472482575511[21] = 0.0;
out_149552472482575511[22] = 0.0;
out_149552472482575511[23] = 0.0;
out_149552472482575511[24] = 0.0;
out_149552472482575511[25] = 0.0;
out_149552472482575511[26] = 0.0;
out_149552472482575511[27] = 0.0;
out_149552472482575511[28] = 0.0;
out_149552472482575511[29] = 0.0;
out_149552472482575511[30] = 1.0;
out_149552472482575511[31] = 0.0;
out_149552472482575511[32] = 0.0;
out_149552472482575511[33] = 0.0;
out_149552472482575511[34] = 0.0;
out_149552472482575511[35] = 0.0;
out_149552472482575511[36] = 0.0;
out_149552472482575511[37] = 0.0;
out_149552472482575511[38] = 0.0;
out_149552472482575511[39] = 0.0;
out_149552472482575511[40] = 1.0;
out_149552472482575511[41] = 0.0;
out_149552472482575511[42] = 0.0;
out_149552472482575511[43] = 0.0;
out_149552472482575511[44] = 0.0;
out_149552472482575511[45] = 0.0;
out_149552472482575511[46] = 0.0;
out_149552472482575511[47] = 0.0;
out_149552472482575511[48] = 0.0;
out_149552472482575511[49] = 0.0;
out_149552472482575511[50] = 1.0;
out_149552472482575511[51] = 0.0;
out_149552472482575511[52] = 0.0;
out_149552472482575511[53] = 0.0;
out_149552472482575511[54] = 0.0;
out_149552472482575511[55] = 0.0;
out_149552472482575511[56] = 0.0;
out_149552472482575511[57] = 0.0;
out_149552472482575511[58] = 0.0;
out_149552472482575511[59] = 0.0;
out_149552472482575511[60] = 1.0;
out_149552472482575511[61] = 0.0;
out_149552472482575511[62] = 0.0;
out_149552472482575511[63] = 0.0;
out_149552472482575511[64] = 0.0;
out_149552472482575511[65] = 0.0;
out_149552472482575511[66] = 0.0;
out_149552472482575511[67] = 0.0;
out_149552472482575511[68] = 0.0;
out_149552472482575511[69] = 0.0;
out_149552472482575511[70] = 1.0;
out_149552472482575511[71] = 0.0;
out_149552472482575511[72] = 0.0;
out_149552472482575511[73] = 0.0;
out_149552472482575511[74] = 0.0;
out_149552472482575511[75] = 0.0;
out_149552472482575511[76] = 0.0;
out_149552472482575511[77] = 0.0;
out_149552472482575511[78] = 0.0;
out_149552472482575511[79] = 0.0;
out_149552472482575511[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_2416599425795193412) {
out_2416599425795193412[0] = state[0];
out_2416599425795193412[1] = state[1];
out_2416599425795193412[2] = state[2];
out_2416599425795193412[3] = state[3];
out_2416599425795193412[4] = state[4];
out_2416599425795193412[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_2416599425795193412[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_2416599425795193412[7] = state[7];
out_2416599425795193412[8] = state[8];
void f_fun(double *state, double dt, double *out_4547528931834134293) {
out_4547528931834134293[0] = state[0];
out_4547528931834134293[1] = state[1];
out_4547528931834134293[2] = state[2];
out_4547528931834134293[3] = state[3];
out_4547528931834134293[4] = state[4];
out_4547528931834134293[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_4547528931834134293[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_4547528931834134293[7] = state[7];
out_4547528931834134293[8] = state[8];
}
void F_fun(double *state, double dt, double *out_6761986232654706930) {
out_6761986232654706930[0] = 1;
out_6761986232654706930[1] = 0;
out_6761986232654706930[2] = 0;
out_6761986232654706930[3] = 0;
out_6761986232654706930[4] = 0;
out_6761986232654706930[5] = 0;
out_6761986232654706930[6] = 0;
out_6761986232654706930[7] = 0;
out_6761986232654706930[8] = 0;
out_6761986232654706930[9] = 0;
out_6761986232654706930[10] = 1;
out_6761986232654706930[11] = 0;
out_6761986232654706930[12] = 0;
out_6761986232654706930[13] = 0;
out_6761986232654706930[14] = 0;
out_6761986232654706930[15] = 0;
out_6761986232654706930[16] = 0;
out_6761986232654706930[17] = 0;
out_6761986232654706930[18] = 0;
out_6761986232654706930[19] = 0;
out_6761986232654706930[20] = 1;
out_6761986232654706930[21] = 0;
out_6761986232654706930[22] = 0;
out_6761986232654706930[23] = 0;
out_6761986232654706930[24] = 0;
out_6761986232654706930[25] = 0;
out_6761986232654706930[26] = 0;
out_6761986232654706930[27] = 0;
out_6761986232654706930[28] = 0;
out_6761986232654706930[29] = 0;
out_6761986232654706930[30] = 1;
out_6761986232654706930[31] = 0;
out_6761986232654706930[32] = 0;
out_6761986232654706930[33] = 0;
out_6761986232654706930[34] = 0;
out_6761986232654706930[35] = 0;
out_6761986232654706930[36] = 0;
out_6761986232654706930[37] = 0;
out_6761986232654706930[38] = 0;
out_6761986232654706930[39] = 0;
out_6761986232654706930[40] = 1;
out_6761986232654706930[41] = 0;
out_6761986232654706930[42] = 0;
out_6761986232654706930[43] = 0;
out_6761986232654706930[44] = 0;
out_6761986232654706930[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_6761986232654706930[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_6761986232654706930[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_6761986232654706930[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_6761986232654706930[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_6761986232654706930[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_6761986232654706930[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_6761986232654706930[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_6761986232654706930[53] = -9.8100000000000005*dt;
out_6761986232654706930[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_6761986232654706930[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_6761986232654706930[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6761986232654706930[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6761986232654706930[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_6761986232654706930[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_6761986232654706930[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_6761986232654706930[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_6761986232654706930[62] = 0;
out_6761986232654706930[63] = 0;
out_6761986232654706930[64] = 0;
out_6761986232654706930[65] = 0;
out_6761986232654706930[66] = 0;
out_6761986232654706930[67] = 0;
out_6761986232654706930[68] = 0;
out_6761986232654706930[69] = 0;
out_6761986232654706930[70] = 1;
out_6761986232654706930[71] = 0;
out_6761986232654706930[72] = 0;
out_6761986232654706930[73] = 0;
out_6761986232654706930[74] = 0;
out_6761986232654706930[75] = 0;
out_6761986232654706930[76] = 0;
out_6761986232654706930[77] = 0;
out_6761986232654706930[78] = 0;
out_6761986232654706930[79] = 0;
out_6761986232654706930[80] = 1;
void F_fun(double *state, double dt, double *out_3560058468708809121) {
out_3560058468708809121[0] = 1;
out_3560058468708809121[1] = 0;
out_3560058468708809121[2] = 0;
out_3560058468708809121[3] = 0;
out_3560058468708809121[4] = 0;
out_3560058468708809121[5] = 0;
out_3560058468708809121[6] = 0;
out_3560058468708809121[7] = 0;
out_3560058468708809121[8] = 0;
out_3560058468708809121[9] = 0;
out_3560058468708809121[10] = 1;
out_3560058468708809121[11] = 0;
out_3560058468708809121[12] = 0;
out_3560058468708809121[13] = 0;
out_3560058468708809121[14] = 0;
out_3560058468708809121[15] = 0;
out_3560058468708809121[16] = 0;
out_3560058468708809121[17] = 0;
out_3560058468708809121[18] = 0;
out_3560058468708809121[19] = 0;
out_3560058468708809121[20] = 1;
out_3560058468708809121[21] = 0;
out_3560058468708809121[22] = 0;
out_3560058468708809121[23] = 0;
out_3560058468708809121[24] = 0;
out_3560058468708809121[25] = 0;
out_3560058468708809121[26] = 0;
out_3560058468708809121[27] = 0;
out_3560058468708809121[28] = 0;
out_3560058468708809121[29] = 0;
out_3560058468708809121[30] = 1;
out_3560058468708809121[31] = 0;
out_3560058468708809121[32] = 0;
out_3560058468708809121[33] = 0;
out_3560058468708809121[34] = 0;
out_3560058468708809121[35] = 0;
out_3560058468708809121[36] = 0;
out_3560058468708809121[37] = 0;
out_3560058468708809121[38] = 0;
out_3560058468708809121[39] = 0;
out_3560058468708809121[40] = 1;
out_3560058468708809121[41] = 0;
out_3560058468708809121[42] = 0;
out_3560058468708809121[43] = 0;
out_3560058468708809121[44] = 0;
out_3560058468708809121[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_3560058468708809121[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_3560058468708809121[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3560058468708809121[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3560058468708809121[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_3560058468708809121[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_3560058468708809121[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_3560058468708809121[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_3560058468708809121[53] = -9.8100000000000005*dt;
out_3560058468708809121[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_3560058468708809121[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_3560058468708809121[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3560058468708809121[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3560058468708809121[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_3560058468708809121[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_3560058468708809121[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_3560058468708809121[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3560058468708809121[62] = 0;
out_3560058468708809121[63] = 0;
out_3560058468708809121[64] = 0;
out_3560058468708809121[65] = 0;
out_3560058468708809121[66] = 0;
out_3560058468708809121[67] = 0;
out_3560058468708809121[68] = 0;
out_3560058468708809121[69] = 0;
out_3560058468708809121[70] = 1;
out_3560058468708809121[71] = 0;
out_3560058468708809121[72] = 0;
out_3560058468708809121[73] = 0;
out_3560058468708809121[74] = 0;
out_3560058468708809121[75] = 0;
out_3560058468708809121[76] = 0;
out_3560058468708809121[77] = 0;
out_3560058468708809121[78] = 0;
out_3560058468708809121[79] = 0;
out_3560058468708809121[80] = 1;
}
void h_25(double *state, double *unused, double *out_319074315832850169) {
out_319074315832850169[0] = state[6];
void h_25(double *state, double *unused, double *out_1132582605868503102) {
out_1132582605868503102[0] = state[6];
}
void H_25(double *state, double *unused, double *out_3655624952681647306) {
out_3655624952681647306[0] = 0;
out_3655624952681647306[1] = 0;
out_3655624952681647306[2] = 0;
out_3655624952681647306[3] = 0;
out_3655624952681647306[4] = 0;
out_3655624952681647306[5] = 0;
out_3655624952681647306[6] = 1;
out_3655624952681647306[7] = 0;
out_3655624952681647306[8] = 0;
void H_25(double *state, double *unused, double *out_9104003375314738868) {
out_9104003375314738868[0] = 0;
out_9104003375314738868[1] = 0;
out_9104003375314738868[2] = 0;
out_9104003375314738868[3] = 0;
out_9104003375314738868[4] = 0;
out_9104003375314738868[5] = 0;
out_9104003375314738868[6] = 1;
out_9104003375314738868[7] = 0;
out_9104003375314738868[8] = 0;
}
void h_24(double *state, double *unused, double *out_5734853090591072423) {
out_5734853090591072423[0] = state[4];
out_5734853090591072423[1] = state[5];
void h_24(double *state, double *unused, double *out_8381470974523360630) {
out_8381470974523360630[0] = state[4];
out_8381470974523360630[1] = state[5];
}
void H_24(double *state, double *unused, double *out_1429917168702778744) {
out_1429917168702778744[0] = 0;
out_1429917168702778744[1] = 0;
out_1429917168702778744[2] = 0;
out_1429917168702778744[3] = 0;
out_1429917168702778744[4] = 1;
out_1429917168702778744[5] = 0;
out_1429917168702778744[6] = 0;
out_1429917168702778744[7] = 0;
out_1429917168702778744[8] = 0;
out_1429917168702778744[9] = 0;
out_1429917168702778744[10] = 0;
out_1429917168702778744[11] = 0;
out_1429917168702778744[12] = 0;
out_1429917168702778744[13] = 0;
out_1429917168702778744[14] = 1;
out_1429917168702778744[15] = 0;
out_1429917168702778744[16] = 0;
out_1429917168702778744[17] = 0;
void H_24(double *state, double *unused, double *out_4357494048348229834) {
out_4357494048348229834[0] = 0;
out_4357494048348229834[1] = 0;
out_4357494048348229834[2] = 0;
out_4357494048348229834[3] = 0;
out_4357494048348229834[4] = 1;
out_4357494048348229834[5] = 0;
out_4357494048348229834[6] = 0;
out_4357494048348229834[7] = 0;
out_4357494048348229834[8] = 0;
out_4357494048348229834[9] = 0;
out_4357494048348229834[10] = 0;
out_4357494048348229834[11] = 0;
out_4357494048348229834[12] = 0;
out_4357494048348229834[13] = 0;
out_4357494048348229834[14] = 1;
out_4357494048348229834[15] = 0;
out_4357494048348229834[16] = 0;
out_4357494048348229834[17] = 0;
}
void h_30(double *state, double *unused, double *out_8212013810717373528) {
out_8212013810717373528[0] = state[4];
void h_30(double *state, double *unused, double *out_975395937517373957) {
out_975395937517373957[0] = state[4];
}
void H_30(double *state, double *unused, double *out_3784963899824887376) {
out_3784963899824887376[0] = 0;
out_3784963899824887376[1] = 0;
out_3784963899824887376[2] = 0;
out_3784963899824887376[3] = 0;
out_3784963899824887376[4] = 1;
out_3784963899824887376[5] = 0;
out_3784963899824887376[6] = 0;
out_3784963899824887376[7] = 0;
out_3784963899824887376[8] = 0;
void H_30(double *state, double *unused, double *out_2426050356903195993) {
out_2426050356903195993[0] = 0;
out_2426050356903195993[1] = 0;
out_2426050356903195993[2] = 0;
out_2426050356903195993[3] = 0;
out_2426050356903195993[4] = 1;
out_2426050356903195993[5] = 0;
out_2426050356903195993[6] = 0;
out_2426050356903195993[7] = 0;
out_2426050356903195993[8] = 0;
}
void h_26(double *state, double *unused, double *out_5233056995331332443) {
out_5233056995331332443[0] = state[7];
void h_26(double *state, double *unused, double *out_4026277330143471688) {
out_4026277330143471688[0] = state[7];
}
void H_26(double *state, double *unused, double *out_2998770888571335402) {
out_2998770888571335402[0] = 0;
out_2998770888571335402[1] = 0;
out_2998770888571335402[2] = 0;
out_2998770888571335402[3] = 0;
out_2998770888571335402[4] = 0;
out_2998770888571335402[5] = 0;
out_2998770888571335402[6] = 0;
out_2998770888571335402[7] = 1;
out_2998770888571335402[8] = 0;
void H_26(double *state, double *unused, double *out_5362500056440682644) {
out_5362500056440682644[0] = 0;
out_5362500056440682644[1] = 0;
out_5362500056440682644[2] = 0;
out_5362500056440682644[3] = 0;
out_5362500056440682644[4] = 0;
out_5362500056440682644[5] = 0;
out_5362500056440682644[6] = 0;
out_5362500056440682644[7] = 1;
out_5362500056440682644[8] = 0;
}
void h_27(double *state, double *unused, double *out_3355860367277182854) {
out_3355860367277182854[0] = state[3];
void h_27(double *state, double *unused, double *out_990245959502812892) {
out_990245959502812892[0] = state[3];
}
void H_27(double *state, double *unused, double *out_5959727211625312287) {
out_5959727211625312287[0] = 0;
out_5959727211625312287[1] = 0;
out_5959727211625312287[2] = 0;
out_5959727211625312287[3] = 1;
out_5959727211625312287[4] = 0;
out_5959727211625312287[5] = 0;
out_5959727211625312287[6] = 0;
out_5959727211625312287[7] = 0;
out_5959727211625312287[8] = 0;
void H_27(double *state, double *unused, double *out_4600813668703620904) {
out_4600813668703620904[0] = 0;
out_4600813668703620904[1] = 0;
out_4600813668703620904[2] = 0;
out_4600813668703620904[3] = 1;
out_4600813668703620904[4] = 0;
out_4600813668703620904[5] = 0;
out_4600813668703620904[6] = 0;
out_4600813668703620904[7] = 0;
out_4600813668703620904[8] = 0;
}
void h_29(double *state, double *unused, double *out_7630324942183480437) {
out_7630324942183480437[0] = state[1];
void h_29(double *state, double *unused, double *out_8450804723751701217) {
out_8450804723751701217[0] = state[1];
}
void H_29(double *state, double *unused, double *out_3274732555510495192) {
out_3274732555510495192[0] = 0;
out_3274732555510495192[1] = 1;
out_3274732555510495192[2] = 0;
out_3274732555510495192[3] = 0;
out_3274732555510495192[4] = 0;
out_3274732555510495192[5] = 0;
out_3274732555510495192[6] = 0;
out_3274732555510495192[7] = 0;
out_3274732555510495192[8] = 0;
void H_29(double *state, double *unused, double *out_1915819012588803809) {
out_1915819012588803809[0] = 0;
out_1915819012588803809[1] = 1;
out_1915819012588803809[2] = 0;
out_1915819012588803809[3] = 0;
out_1915819012588803809[4] = 0;
out_1915819012588803809[5] = 0;
out_1915819012588803809[6] = 0;
out_1915819012588803809[7] = 0;
out_1915819012588803809[8] = 0;
}
void h_28(double *state, double *unused, double *out_4299370220178845289) {
out_4299370220178845289[0] = state[0];
void h_28(double *state, double *unused, double *out_2847713298477492018) {
out_2847713298477492018[0] = state[0];
}
void H_28(double *state, double *unused, double *out_1311102283945168941) {
out_1311102283945168941[0] = 1;
out_1311102283945168941[1] = 0;
out_1311102283945168941[2] = 0;
out_1311102283945168941[3] = 0;
out_1311102283945168941[4] = 0;
out_1311102283945168941[5] = 0;
out_1311102283945168941[6] = 0;
out_1311102283945168941[7] = 0;
out_1311102283945168941[8] = 0;
void H_28(double *state, double *unused, double *out_7050168661066849105) {
out_7050168661066849105[0] = 1;
out_7050168661066849105[1] = 0;
out_7050168661066849105[2] = 0;
out_7050168661066849105[3] = 0;
out_7050168661066849105[4] = 0;
out_7050168661066849105[5] = 0;
out_7050168661066849105[6] = 0;
out_7050168661066849105[7] = 0;
out_7050168661066849105[8] = 0;
}
void h_31(double *state, double *unused, double *out_594268378117356058) {
out_594268378117356058[0] = state[8];
void h_31(double *state, double *unused, double *out_857388543583997213) {
out_857388543583997213[0] = state[8];
}
void H_31(double *state, double *unused, double *out_3624978990804686878) {
out_3624978990804686878[0] = 0;
out_3624978990804686878[1] = 0;
out_3624978990804686878[2] = 0;
out_3624978990804686878[3] = 0;
out_3624978990804686878[4] = 0;
out_3624978990804686878[5] = 0;
out_3624978990804686878[6] = 0;
out_3624978990804686878[7] = 0;
out_3624978990804686878[8] = 1;
void H_31(double *state, double *unused, double *out_9134649337191699296) {
out_9134649337191699296[0] = 0;
out_9134649337191699296[1] = 0;
out_9134649337191699296[2] = 0;
out_9134649337191699296[3] = 0;
out_9134649337191699296[4] = 0;
out_9134649337191699296[5] = 0;
out_9134649337191699296[6] = 0;
out_9134649337191699296[7] = 0;
out_9134649337191699296[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_4387195160971747702) {
err_fun(nom_x, delta_x, out_4387195160971747702);
void car_err_fun(double *nom_x, double *delta_x, double *out_7214711627163091402) {
err_fun(nom_x, delta_x, out_7214711627163091402);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_7707264064834051115) {
inv_err_fun(nom_x, true_x, out_7707264064834051115);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_911828672798028438) {
inv_err_fun(nom_x, true_x, out_911828672798028438);
}
void car_H_mod_fun(double *state, double *out_7178605602671138983) {
H_mod_fun(state, out_7178605602671138983);
void car_H_mod_fun(double *state, double *out_149552472482575511) {
H_mod_fun(state, out_149552472482575511);
}
void car_f_fun(double *state, double dt, double *out_2416599425795193412) {
f_fun(state, dt, out_2416599425795193412);
void car_f_fun(double *state, double dt, double *out_4547528931834134293) {
f_fun(state, dt, out_4547528931834134293);
}
void car_F_fun(double *state, double dt, double *out_6761986232654706930) {
F_fun(state, dt, out_6761986232654706930);
void car_F_fun(double *state, double dt, double *out_3560058468708809121) {
F_fun(state, dt, out_3560058468708809121);
}
void car_h_25(double *state, double *unused, double *out_319074315832850169) {
h_25(state, unused, out_319074315832850169);
void car_h_25(double *state, double *unused, double *out_1132582605868503102) {
h_25(state, unused, out_1132582605868503102);
}
void car_H_25(double *state, double *unused, double *out_3655624952681647306) {
H_25(state, unused, out_3655624952681647306);
void car_H_25(double *state, double *unused, double *out_9104003375314738868) {
H_25(state, unused, out_9104003375314738868);
}
void car_h_24(double *state, double *unused, double *out_5734853090591072423) {
h_24(state, unused, out_5734853090591072423);
void car_h_24(double *state, double *unused, double *out_8381470974523360630) {
h_24(state, unused, out_8381470974523360630);
}
void car_H_24(double *state, double *unused, double *out_1429917168702778744) {
H_24(state, unused, out_1429917168702778744);
void car_H_24(double *state, double *unused, double *out_4357494048348229834) {
H_24(state, unused, out_4357494048348229834);
}
void car_h_30(double *state, double *unused, double *out_8212013810717373528) {
h_30(state, unused, out_8212013810717373528);
void car_h_30(double *state, double *unused, double *out_975395937517373957) {
h_30(state, unused, out_975395937517373957);
}
void car_H_30(double *state, double *unused, double *out_3784963899824887376) {
H_30(state, unused, out_3784963899824887376);
void car_H_30(double *state, double *unused, double *out_2426050356903195993) {
H_30(state, unused, out_2426050356903195993);
}
void car_h_26(double *state, double *unused, double *out_5233056995331332443) {
h_26(state, unused, out_5233056995331332443);
void car_h_26(double *state, double *unused, double *out_4026277330143471688) {
h_26(state, unused, out_4026277330143471688);
}
void car_H_26(double *state, double *unused, double *out_2998770888571335402) {
H_26(state, unused, out_2998770888571335402);
void car_H_26(double *state, double *unused, double *out_5362500056440682644) {
H_26(state, unused, out_5362500056440682644);
}
void car_h_27(double *state, double *unused, double *out_3355860367277182854) {
h_27(state, unused, out_3355860367277182854);
void car_h_27(double *state, double *unused, double *out_990245959502812892) {
h_27(state, unused, out_990245959502812892);
}
void car_H_27(double *state, double *unused, double *out_5959727211625312287) {
H_27(state, unused, out_5959727211625312287);
void car_H_27(double *state, double *unused, double *out_4600813668703620904) {
H_27(state, unused, out_4600813668703620904);
}
void car_h_29(double *state, double *unused, double *out_7630324942183480437) {
h_29(state, unused, out_7630324942183480437);
void car_h_29(double *state, double *unused, double *out_8450804723751701217) {
h_29(state, unused, out_8450804723751701217);
}
void car_H_29(double *state, double *unused, double *out_3274732555510495192) {
H_29(state, unused, out_3274732555510495192);
void car_H_29(double *state, double *unused, double *out_1915819012588803809) {
H_29(state, unused, out_1915819012588803809);
}
void car_h_28(double *state, double *unused, double *out_4299370220178845289) {
h_28(state, unused, out_4299370220178845289);
void car_h_28(double *state, double *unused, double *out_2847713298477492018) {
h_28(state, unused, out_2847713298477492018);
}
void car_H_28(double *state, double *unused, double *out_1311102283945168941) {
H_28(state, unused, out_1311102283945168941);
void car_H_28(double *state, double *unused, double *out_7050168661066849105) {
H_28(state, unused, out_7050168661066849105);
}
void car_h_31(double *state, double *unused, double *out_594268378117356058) {
h_31(state, unused, out_594268378117356058);
void car_h_31(double *state, double *unused, double *out_857388543583997213) {
h_31(state, unused, out_857388543583997213);
}
void car_H_31(double *state, double *unused, double *out_3624978990804686878) {
H_31(state, unused, out_3624978990804686878);
void car_H_31(double *state, double *unused, double *out_9134649337191699296) {
H_31(state, unused, out_9134649337191699296);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);