dragonpilot beta3

date: 2023-10-09T10:55:55
commit: 91b6e3aecd7170f24bccacb10c515ec281c30295
This commit is contained in:
dragonpilot
2023-10-09 10:54:45 -07:00
parent a9ba3193e2
commit cfe0ae9b8a
518 changed files with 159750 additions and 17402 deletions

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_3511157536608921668) {
out_3511157536608921668[0] = delta_x[0] + nom_x[0];
out_3511157536608921668[1] = delta_x[1] + nom_x[1];
out_3511157536608921668[2] = delta_x[2] + nom_x[2];
out_3511157536608921668[3] = delta_x[3] + nom_x[3];
out_3511157536608921668[4] = delta_x[4] + nom_x[4];
out_3511157536608921668[5] = delta_x[5] + nom_x[5];
out_3511157536608921668[6] = delta_x[6] + nom_x[6];
out_3511157536608921668[7] = delta_x[7] + nom_x[7];
out_3511157536608921668[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_5396984848100642927) {
out_5396984848100642927[0] = delta_x[0] + nom_x[0];
out_5396984848100642927[1] = delta_x[1] + nom_x[1];
out_5396984848100642927[2] = delta_x[2] + nom_x[2];
out_5396984848100642927[3] = delta_x[3] + nom_x[3];
out_5396984848100642927[4] = delta_x[4] + nom_x[4];
out_5396984848100642927[5] = delta_x[5] + nom_x[5];
out_5396984848100642927[6] = delta_x[6] + nom_x[6];
out_5396984848100642927[7] = delta_x[7] + nom_x[7];
out_5396984848100642927[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_6431969432730020252) {
out_6431969432730020252[0] = -nom_x[0] + true_x[0];
out_6431969432730020252[1] = -nom_x[1] + true_x[1];
out_6431969432730020252[2] = -nom_x[2] + true_x[2];
out_6431969432730020252[3] = -nom_x[3] + true_x[3];
out_6431969432730020252[4] = -nom_x[4] + true_x[4];
out_6431969432730020252[5] = -nom_x[5] + true_x[5];
out_6431969432730020252[6] = -nom_x[6] + true_x[6];
out_6431969432730020252[7] = -nom_x[7] + true_x[7];
out_6431969432730020252[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_3673760116113969531) {
out_3673760116113969531[0] = -nom_x[0] + true_x[0];
out_3673760116113969531[1] = -nom_x[1] + true_x[1];
out_3673760116113969531[2] = -nom_x[2] + true_x[2];
out_3673760116113969531[3] = -nom_x[3] + true_x[3];
out_3673760116113969531[4] = -nom_x[4] + true_x[4];
out_3673760116113969531[5] = -nom_x[5] + true_x[5];
out_3673760116113969531[6] = -nom_x[6] + true_x[6];
out_3673760116113969531[7] = -nom_x[7] + true_x[7];
out_3673760116113969531[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_7948008639250905645) {
out_7948008639250905645[0] = 1.0;
out_7948008639250905645[1] = 0;
out_7948008639250905645[2] = 0;
out_7948008639250905645[3] = 0;
out_7948008639250905645[4] = 0;
out_7948008639250905645[5] = 0;
out_7948008639250905645[6] = 0;
out_7948008639250905645[7] = 0;
out_7948008639250905645[8] = 0;
out_7948008639250905645[9] = 0;
out_7948008639250905645[10] = 1.0;
out_7948008639250905645[11] = 0;
out_7948008639250905645[12] = 0;
out_7948008639250905645[13] = 0;
out_7948008639250905645[14] = 0;
out_7948008639250905645[15] = 0;
out_7948008639250905645[16] = 0;
out_7948008639250905645[17] = 0;
out_7948008639250905645[18] = 0;
out_7948008639250905645[19] = 0;
out_7948008639250905645[20] = 1.0;
out_7948008639250905645[21] = 0;
out_7948008639250905645[22] = 0;
out_7948008639250905645[23] = 0;
out_7948008639250905645[24] = 0;
out_7948008639250905645[25] = 0;
out_7948008639250905645[26] = 0;
out_7948008639250905645[27] = 0;
out_7948008639250905645[28] = 0;
out_7948008639250905645[29] = 0;
out_7948008639250905645[30] = 1.0;
out_7948008639250905645[31] = 0;
out_7948008639250905645[32] = 0;
out_7948008639250905645[33] = 0;
out_7948008639250905645[34] = 0;
out_7948008639250905645[35] = 0;
out_7948008639250905645[36] = 0;
out_7948008639250905645[37] = 0;
out_7948008639250905645[38] = 0;
out_7948008639250905645[39] = 0;
out_7948008639250905645[40] = 1.0;
out_7948008639250905645[41] = 0;
out_7948008639250905645[42] = 0;
out_7948008639250905645[43] = 0;
out_7948008639250905645[44] = 0;
out_7948008639250905645[45] = 0;
out_7948008639250905645[46] = 0;
out_7948008639250905645[47] = 0;
out_7948008639250905645[48] = 0;
out_7948008639250905645[49] = 0;
out_7948008639250905645[50] = 1.0;
out_7948008639250905645[51] = 0;
out_7948008639250905645[52] = 0;
out_7948008639250905645[53] = 0;
out_7948008639250905645[54] = 0;
out_7948008639250905645[55] = 0;
out_7948008639250905645[56] = 0;
out_7948008639250905645[57] = 0;
out_7948008639250905645[58] = 0;
out_7948008639250905645[59] = 0;
out_7948008639250905645[60] = 1.0;
out_7948008639250905645[61] = 0;
out_7948008639250905645[62] = 0;
out_7948008639250905645[63] = 0;
out_7948008639250905645[64] = 0;
out_7948008639250905645[65] = 0;
out_7948008639250905645[66] = 0;
out_7948008639250905645[67] = 0;
out_7948008639250905645[68] = 0;
out_7948008639250905645[69] = 0;
out_7948008639250905645[70] = 1.0;
out_7948008639250905645[71] = 0;
out_7948008639250905645[72] = 0;
out_7948008639250905645[73] = 0;
out_7948008639250905645[74] = 0;
out_7948008639250905645[75] = 0;
out_7948008639250905645[76] = 0;
out_7948008639250905645[77] = 0;
out_7948008639250905645[78] = 0;
out_7948008639250905645[79] = 0;
out_7948008639250905645[80] = 1.0;
void H_mod_fun(double *state, double *out_8420735785113075149) {
out_8420735785113075149[0] = 1.0;
out_8420735785113075149[1] = 0;
out_8420735785113075149[2] = 0;
out_8420735785113075149[3] = 0;
out_8420735785113075149[4] = 0;
out_8420735785113075149[5] = 0;
out_8420735785113075149[6] = 0;
out_8420735785113075149[7] = 0;
out_8420735785113075149[8] = 0;
out_8420735785113075149[9] = 0;
out_8420735785113075149[10] = 1.0;
out_8420735785113075149[11] = 0;
out_8420735785113075149[12] = 0;
out_8420735785113075149[13] = 0;
out_8420735785113075149[14] = 0;
out_8420735785113075149[15] = 0;
out_8420735785113075149[16] = 0;
out_8420735785113075149[17] = 0;
out_8420735785113075149[18] = 0;
out_8420735785113075149[19] = 0;
out_8420735785113075149[20] = 1.0;
out_8420735785113075149[21] = 0;
out_8420735785113075149[22] = 0;
out_8420735785113075149[23] = 0;
out_8420735785113075149[24] = 0;
out_8420735785113075149[25] = 0;
out_8420735785113075149[26] = 0;
out_8420735785113075149[27] = 0;
out_8420735785113075149[28] = 0;
out_8420735785113075149[29] = 0;
out_8420735785113075149[30] = 1.0;
out_8420735785113075149[31] = 0;
out_8420735785113075149[32] = 0;
out_8420735785113075149[33] = 0;
out_8420735785113075149[34] = 0;
out_8420735785113075149[35] = 0;
out_8420735785113075149[36] = 0;
out_8420735785113075149[37] = 0;
out_8420735785113075149[38] = 0;
out_8420735785113075149[39] = 0;
out_8420735785113075149[40] = 1.0;
out_8420735785113075149[41] = 0;
out_8420735785113075149[42] = 0;
out_8420735785113075149[43] = 0;
out_8420735785113075149[44] = 0;
out_8420735785113075149[45] = 0;
out_8420735785113075149[46] = 0;
out_8420735785113075149[47] = 0;
out_8420735785113075149[48] = 0;
out_8420735785113075149[49] = 0;
out_8420735785113075149[50] = 1.0;
out_8420735785113075149[51] = 0;
out_8420735785113075149[52] = 0;
out_8420735785113075149[53] = 0;
out_8420735785113075149[54] = 0;
out_8420735785113075149[55] = 0;
out_8420735785113075149[56] = 0;
out_8420735785113075149[57] = 0;
out_8420735785113075149[58] = 0;
out_8420735785113075149[59] = 0;
out_8420735785113075149[60] = 1.0;
out_8420735785113075149[61] = 0;
out_8420735785113075149[62] = 0;
out_8420735785113075149[63] = 0;
out_8420735785113075149[64] = 0;
out_8420735785113075149[65] = 0;
out_8420735785113075149[66] = 0;
out_8420735785113075149[67] = 0;
out_8420735785113075149[68] = 0;
out_8420735785113075149[69] = 0;
out_8420735785113075149[70] = 1.0;
out_8420735785113075149[71] = 0;
out_8420735785113075149[72] = 0;
out_8420735785113075149[73] = 0;
out_8420735785113075149[74] = 0;
out_8420735785113075149[75] = 0;
out_8420735785113075149[76] = 0;
out_8420735785113075149[77] = 0;
out_8420735785113075149[78] = 0;
out_8420735785113075149[79] = 0;
out_8420735785113075149[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_2086994761209225774) {
out_2086994761209225774[0] = state[0];
out_2086994761209225774[1] = state[1];
out_2086994761209225774[2] = state[2];
out_2086994761209225774[3] = state[3];
out_2086994761209225774[4] = state[4];
out_2086994761209225774[5] = dt*((-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]))*state[6] - 9.8000000000000007*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_2086994761209225774[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_2086994761209225774[7] = state[7];
out_2086994761209225774[8] = state[8];
void f_fun(double *state, double dt, double *out_1495193358530267545) {
out_1495193358530267545[0] = state[0];
out_1495193358530267545[1] = state[1];
out_1495193358530267545[2] = state[2];
out_1495193358530267545[3] = state[3];
out_1495193358530267545[4] = state[4];
out_1495193358530267545[5] = dt*((-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]))*state[6] - 9.8000000000000007*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_1495193358530267545[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_1495193358530267545[7] = state[7];
out_1495193358530267545[8] = state[8];
}
void F_fun(double *state, double dt, double *out_8139310027990993197) {
out_8139310027990993197[0] = 1;
out_8139310027990993197[1] = 0;
out_8139310027990993197[2] = 0;
out_8139310027990993197[3] = 0;
out_8139310027990993197[4] = 0;
out_8139310027990993197[5] = 0;
out_8139310027990993197[6] = 0;
out_8139310027990993197[7] = 0;
out_8139310027990993197[8] = 0;
out_8139310027990993197[9] = 0;
out_8139310027990993197[10] = 1;
out_8139310027990993197[11] = 0;
out_8139310027990993197[12] = 0;
out_8139310027990993197[13] = 0;
out_8139310027990993197[14] = 0;
out_8139310027990993197[15] = 0;
out_8139310027990993197[16] = 0;
out_8139310027990993197[17] = 0;
out_8139310027990993197[18] = 0;
out_8139310027990993197[19] = 0;
out_8139310027990993197[20] = 1;
out_8139310027990993197[21] = 0;
out_8139310027990993197[22] = 0;
out_8139310027990993197[23] = 0;
out_8139310027990993197[24] = 0;
out_8139310027990993197[25] = 0;
out_8139310027990993197[26] = 0;
out_8139310027990993197[27] = 0;
out_8139310027990993197[28] = 0;
out_8139310027990993197[29] = 0;
out_8139310027990993197[30] = 1;
out_8139310027990993197[31] = 0;
out_8139310027990993197[32] = 0;
out_8139310027990993197[33] = 0;
out_8139310027990993197[34] = 0;
out_8139310027990993197[35] = 0;
out_8139310027990993197[36] = 0;
out_8139310027990993197[37] = 0;
out_8139310027990993197[38] = 0;
out_8139310027990993197[39] = 0;
out_8139310027990993197[40] = 1;
out_8139310027990993197[41] = 0;
out_8139310027990993197[42] = 0;
out_8139310027990993197[43] = 0;
out_8139310027990993197[44] = 0;
out_8139310027990993197[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_8139310027990993197[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_8139310027990993197[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8139310027990993197[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8139310027990993197[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_8139310027990993197[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_8139310027990993197[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_8139310027990993197[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_8139310027990993197[53] = -9.8000000000000007*dt;
out_8139310027990993197[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_8139310027990993197[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_8139310027990993197[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8139310027990993197[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8139310027990993197[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_8139310027990993197[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_8139310027990993197[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_8139310027990993197[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8139310027990993197[62] = 0;
out_8139310027990993197[63] = 0;
out_8139310027990993197[64] = 0;
out_8139310027990993197[65] = 0;
out_8139310027990993197[66] = 0;
out_8139310027990993197[67] = 0;
out_8139310027990993197[68] = 0;
out_8139310027990993197[69] = 0;
out_8139310027990993197[70] = 1;
out_8139310027990993197[71] = 0;
out_8139310027990993197[72] = 0;
out_8139310027990993197[73] = 0;
out_8139310027990993197[74] = 0;
out_8139310027990993197[75] = 0;
out_8139310027990993197[76] = 0;
out_8139310027990993197[77] = 0;
out_8139310027990993197[78] = 0;
out_8139310027990993197[79] = 0;
out_8139310027990993197[80] = 1;
void F_fun(double *state, double dt, double *out_8190059203776966087) {
out_8190059203776966087[0] = 1;
out_8190059203776966087[1] = 0;
out_8190059203776966087[2] = 0;
out_8190059203776966087[3] = 0;
out_8190059203776966087[4] = 0;
out_8190059203776966087[5] = 0;
out_8190059203776966087[6] = 0;
out_8190059203776966087[7] = 0;
out_8190059203776966087[8] = 0;
out_8190059203776966087[9] = 0;
out_8190059203776966087[10] = 1;
out_8190059203776966087[11] = 0;
out_8190059203776966087[12] = 0;
out_8190059203776966087[13] = 0;
out_8190059203776966087[14] = 0;
out_8190059203776966087[15] = 0;
out_8190059203776966087[16] = 0;
out_8190059203776966087[17] = 0;
out_8190059203776966087[18] = 0;
out_8190059203776966087[19] = 0;
out_8190059203776966087[20] = 1;
out_8190059203776966087[21] = 0;
out_8190059203776966087[22] = 0;
out_8190059203776966087[23] = 0;
out_8190059203776966087[24] = 0;
out_8190059203776966087[25] = 0;
out_8190059203776966087[26] = 0;
out_8190059203776966087[27] = 0;
out_8190059203776966087[28] = 0;
out_8190059203776966087[29] = 0;
out_8190059203776966087[30] = 1;
out_8190059203776966087[31] = 0;
out_8190059203776966087[32] = 0;
out_8190059203776966087[33] = 0;
out_8190059203776966087[34] = 0;
out_8190059203776966087[35] = 0;
out_8190059203776966087[36] = 0;
out_8190059203776966087[37] = 0;
out_8190059203776966087[38] = 0;
out_8190059203776966087[39] = 0;
out_8190059203776966087[40] = 1;
out_8190059203776966087[41] = 0;
out_8190059203776966087[42] = 0;
out_8190059203776966087[43] = 0;
out_8190059203776966087[44] = 0;
out_8190059203776966087[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_8190059203776966087[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_8190059203776966087[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8190059203776966087[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_8190059203776966087[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_8190059203776966087[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_8190059203776966087[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_8190059203776966087[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_8190059203776966087[53] = -9.8000000000000007*dt;
out_8190059203776966087[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_8190059203776966087[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_8190059203776966087[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8190059203776966087[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8190059203776966087[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_8190059203776966087[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_8190059203776966087[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_8190059203776966087[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_8190059203776966087[62] = 0;
out_8190059203776966087[63] = 0;
out_8190059203776966087[64] = 0;
out_8190059203776966087[65] = 0;
out_8190059203776966087[66] = 0;
out_8190059203776966087[67] = 0;
out_8190059203776966087[68] = 0;
out_8190059203776966087[69] = 0;
out_8190059203776966087[70] = 1;
out_8190059203776966087[71] = 0;
out_8190059203776966087[72] = 0;
out_8190059203776966087[73] = 0;
out_8190059203776966087[74] = 0;
out_8190059203776966087[75] = 0;
out_8190059203776966087[76] = 0;
out_8190059203776966087[77] = 0;
out_8190059203776966087[78] = 0;
out_8190059203776966087[79] = 0;
out_8190059203776966087[80] = 1;
}
void h_25(double *state, double *unused, double *out_4906131110836938043) {
out_4906131110836938043[0] = state[6];
void h_25(double *state, double *unused, double *out_7770804733125093021) {
out_7770804733125093021[0] = state[6];
}
void H_25(double *state, double *unused, double *out_8920612812001856359) {
out_8920612812001856359[0] = 0;
out_8920612812001856359[1] = 0;
out_8920612812001856359[2] = 0;
out_8920612812001856359[3] = 0;
out_8920612812001856359[4] = 0;
out_8920612812001856359[5] = 0;
out_8920612812001856359[6] = 1;
out_8920612812001856359[7] = 0;
out_8920612812001856359[8] = 0;
void H_25(double *state, double *unused, double *out_3029957647977105485) {
out_3029957647977105485[0] = 0;
out_3029957647977105485[1] = 0;
out_3029957647977105485[2] = 0;
out_3029957647977105485[3] = 0;
out_3029957647977105485[4] = 0;
out_3029957647977105485[5] = 0;
out_3029957647977105485[6] = 1;
out_3029957647977105485[7] = 0;
out_3029957647977105485[8] = 0;
}
void h_24(double *state, double *unused, double *out_3427550057756876624) {
out_3427550057756876624[0] = state[4];
out_3427550057756876624[1] = state[5];
void h_24(double *state, double *unused, double *out_6297919134326163066) {
out_6297919134326163066[0] = state[4];
out_6297919134326163066[1] = state[5];
}
void H_24(double *state, double *unused, double *out_5543808110309927359) {
out_5543808110309927359[0] = 0;
out_5543808110309927359[1] = 0;
out_5543808110309927359[2] = 0;
out_5543808110309927359[3] = 0;
out_5543808110309927359[4] = 1;
out_5543808110309927359[5] = 0;
out_5543808110309927359[6] = 0;
out_5543808110309927359[7] = 0;
out_5543808110309927359[8] = 0;
out_5543808110309927359[9] = 0;
out_5543808110309927359[10] = 0;
out_5543808110309927359[11] = 0;
out_5543808110309927359[12] = 0;
out_5543808110309927359[13] = 0;
out_5543808110309927359[14] = 1;
out_5543808110309927359[15] = 0;
out_5543808110309927359[16] = 0;
out_5543808110309927359[17] = 0;
void H_24(double *state, double *unused, double *out_6188721239663250906) {
out_6188721239663250906[0] = 0;
out_6188721239663250906[1] = 0;
out_6188721239663250906[2] = 0;
out_6188721239663250906[3] = 0;
out_6188721239663250906[4] = 1;
out_6188721239663250906[5] = 0;
out_6188721239663250906[6] = 0;
out_6188721239663250906[7] = 0;
out_6188721239663250906[8] = 0;
out_6188721239663250906[9] = 0;
out_6188721239663250906[10] = 0;
out_6188721239663250906[11] = 0;
out_6188721239663250906[12] = 0;
out_6188721239663250906[13] = 0;
out_6188721239663250906[14] = 1;
out_6188721239663250906[15] = 0;
out_6188721239663250906[16] = 0;
out_6188721239663250906[17] = 0;
}
void h_30(double *state, double *unused, double *out_5063317779188067188) {
out_5063317779188067188[0] = state[4];
void h_30(double *state, double *unused, double *out_4823078742769608060) {
out_4823078742769608060[0] = state[4];
}
void H_30(double *state, double *unused, double *out_2003922470510239604) {
out_2003922470510239604[0] = 0;
out_2003922470510239604[1] = 0;
out_2003922470510239604[2] = 0;
out_2003922470510239604[3] = 0;
out_2003922470510239604[4] = 1;
out_2003922470510239604[5] = 0;
out_2003922470510239604[6] = 0;
out_2003922470510239604[7] = 0;
out_2003922470510239604[8] = 0;
void H_30(double *state, double *unused, double *out_1497738682150502713) {
out_1497738682150502713[0] = 0;
out_1497738682150502713[1] = 0;
out_1497738682150502713[2] = 0;
out_1497738682150502713[3] = 0;
out_1497738682150502713[4] = 1;
out_1497738682150502713[5] = 0;
out_1497738682150502713[6] = 0;
out_1497738682150502713[7] = 0;
out_1497738682150502713[8] = 0;
}
void h_26(double *state, double *unused, double *out_8958065379223252895) {
out_8958065379223252895[0] = state[7];
void h_26(double *state, double *unused, double *out_8621992063279097911) {
out_8621992063279097911[0] = state[7];
}
void H_26(double *state, double *unused, double *out_5784627942833639033) {
out_5784627942833639033[0] = 0;
out_5784627942833639033[1] = 0;
out_5784627942833639033[2] = 0;
out_5784627942833639033[3] = 0;
out_5784627942833639033[4] = 0;
out_5784627942833639033[5] = 0;
out_5784627942833639033[6] = 0;
out_5784627942833639033[7] = 1;
out_5784627942833639033[8] = 0;
void H_26(double *state, double *unused, double *out_711545670896950739) {
out_711545670896950739[0] = 0;
out_711545670896950739[1] = 0;
out_711545670896950739[2] = 0;
out_711545670896950739[3] = 0;
out_711545670896950739[4] = 0;
out_711545670896950739[5] = 0;
out_711545670896950739[6] = 0;
out_711545670896950739[7] = 1;
out_711545670896950739[8] = 0;
}
void h_27(double *state, double *unused, double *out_7942917162281270728) {
out_7942917162281270728[0] = state[3];
void h_27(double *state, double *unused, double *out_1693970168577617830) {
out_1693970168577617830[0] = state[3];
}
void H_27(double *state, double *unused, double *out_4178685782310664515) {
out_4178685782310664515[0] = 0;
out_4178685782310664515[1] = 0;
out_4178685782310664515[2] = 0;
out_4178685782310664515[3] = 1;
out_4178685782310664515[4] = 0;
out_4178685782310664515[5] = 0;
out_4178685782310664515[6] = 0;
out_4178685782310664515[7] = 0;
out_4178685782310664515[8] = 0;
void H_27(double *state, double *unused, double *out_3672501993950927624) {
out_3672501993950927624[0] = 0;
out_3672501993950927624[1] = 0;
out_3672501993950927624[2] = 0;
out_3672501993950927624[3] = 1;
out_3672501993950927624[4] = 0;
out_3672501993950927624[5] = 0;
out_3672501993950927624[6] = 0;
out_3672501993950927624[7] = 0;
out_3672501993950927624[8] = 0;
}
void h_29(double *state, double *unused, double *out_3732991685077929952) {
out_3732991685077929952[0] = state[1];
void h_29(double *state, double *unused, double *out_1092552010964254276) {
out_1092552010964254276[0] = state[1];
}
void H_29(double *state, double *unused, double *out_1493691126195847420) {
out_1493691126195847420[0] = 0;
out_1493691126195847420[1] = 1;
out_1493691126195847420[2] = 0;
out_1493691126195847420[3] = 0;
out_1493691126195847420[4] = 0;
out_1493691126195847420[5] = 0;
out_1493691126195847420[6] = 0;
out_1493691126195847420[7] = 0;
out_1493691126195847420[8] = 0;
void H_29(double *state, double *unused, double *out_987507337836110529) {
out_987507337836110529[0] = 0;
out_987507337836110529[1] = 1;
out_987507337836110529[2] = 0;
out_987507337836110529[3] = 0;
out_987507337836110529[4] = 0;
out_987507337836110529[5] = 0;
out_987507337836110529[6] = 0;
out_987507337836110529[7] = 0;
out_987507337836110529[8] = 0;
}
void h_28(double *state, double *unused, double *out_2300187291200313893) {
out_2300187291200313893[0] = state[0];
void h_28(double *state, double *unused, double *out_6695643436238463475) {
out_6695643436238463475[0] = state[0];
}
void H_28(double *state, double *unused, double *out_6576090143265377994) {
out_6576090143265377994[0] = 1;
out_6576090143265377994[1] = 0;
out_6576090143265377994[2] = 0;
out_6576090143265377994[3] = 0;
out_6576090143265377994[4] = 0;
out_6576090143265377994[5] = 0;
out_6576090143265377994[6] = 0;
out_6576090143265377994[7] = 0;
out_6576090143265377994[8] = 0;
void H_28(double *state, double *unused, double *out_6069906354905641103) {
out_6069906354905641103[0] = 1;
out_6069906354905641103[1] = 0;
out_6069906354905641103[2] = 0;
out_6069906354905641103[3] = 0;
out_6069906354905641103[4] = 0;
out_6069906354905641103[5] = 0;
out_6069906354905641103[6] = 0;
out_6069906354905641103[7] = 0;
out_6069906354905641103[8] = 0;
}
void h_31(double *state, double *unused, double *out_5181325173121443932) {
out_5181325173121443932[0] = state[8];
void h_31(double *state, double *unused, double *out_6945152627337250165) {
out_6945152627337250165[0] = state[8];
}
void H_31(double *state, double *unused, double *out_8889966850124895931) {
out_8889966850124895931[0] = 0;
out_8889966850124895931[1] = 0;
out_8889966850124895931[2] = 0;
out_8889966850124895931[3] = 0;
out_8889966850124895931[4] = 0;
out_8889966850124895931[5] = 0;
out_8889966850124895931[6] = 0;
out_8889966850124895931[7] = 0;
out_8889966850124895931[8] = 1;
void H_31(double *state, double *unused, double *out_1337753773130302215) {
out_1337753773130302215[0] = 0;
out_1337753773130302215[1] = 0;
out_1337753773130302215[2] = 0;
out_1337753773130302215[3] = 0;
out_1337753773130302215[4] = 0;
out_1337753773130302215[5] = 0;
out_1337753773130302215[6] = 0;
out_1337753773130302215[7] = 0;
out_1337753773130302215[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_3511157536608921668) {
err_fun(nom_x, delta_x, out_3511157536608921668);
void car_err_fun(double *nom_x, double *delta_x, double *out_5396984848100642927) {
err_fun(nom_x, delta_x, out_5396984848100642927);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_6431969432730020252) {
inv_err_fun(nom_x, true_x, out_6431969432730020252);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_3673760116113969531) {
inv_err_fun(nom_x, true_x, out_3673760116113969531);
}
void car_H_mod_fun(double *state, double *out_7948008639250905645) {
H_mod_fun(state, out_7948008639250905645);
void car_H_mod_fun(double *state, double *out_8420735785113075149) {
H_mod_fun(state, out_8420735785113075149);
}
void car_f_fun(double *state, double dt, double *out_2086994761209225774) {
f_fun(state, dt, out_2086994761209225774);
void car_f_fun(double *state, double dt, double *out_1495193358530267545) {
f_fun(state, dt, out_1495193358530267545);
}
void car_F_fun(double *state, double dt, double *out_8139310027990993197) {
F_fun(state, dt, out_8139310027990993197);
void car_F_fun(double *state, double dt, double *out_8190059203776966087) {
F_fun(state, dt, out_8190059203776966087);
}
void car_h_25(double *state, double *unused, double *out_4906131110836938043) {
h_25(state, unused, out_4906131110836938043);
void car_h_25(double *state, double *unused, double *out_7770804733125093021) {
h_25(state, unused, out_7770804733125093021);
}
void car_H_25(double *state, double *unused, double *out_8920612812001856359) {
H_25(state, unused, out_8920612812001856359);
void car_H_25(double *state, double *unused, double *out_3029957647977105485) {
H_25(state, unused, out_3029957647977105485);
}
void car_h_24(double *state, double *unused, double *out_3427550057756876624) {
h_24(state, unused, out_3427550057756876624);
void car_h_24(double *state, double *unused, double *out_6297919134326163066) {
h_24(state, unused, out_6297919134326163066);
}
void car_H_24(double *state, double *unused, double *out_5543808110309927359) {
H_24(state, unused, out_5543808110309927359);
void car_H_24(double *state, double *unused, double *out_6188721239663250906) {
H_24(state, unused, out_6188721239663250906);
}
void car_h_30(double *state, double *unused, double *out_5063317779188067188) {
h_30(state, unused, out_5063317779188067188);
void car_h_30(double *state, double *unused, double *out_4823078742769608060) {
h_30(state, unused, out_4823078742769608060);
}
void car_H_30(double *state, double *unused, double *out_2003922470510239604) {
H_30(state, unused, out_2003922470510239604);
void car_H_30(double *state, double *unused, double *out_1497738682150502713) {
H_30(state, unused, out_1497738682150502713);
}
void car_h_26(double *state, double *unused, double *out_8958065379223252895) {
h_26(state, unused, out_8958065379223252895);
void car_h_26(double *state, double *unused, double *out_8621992063279097911) {
h_26(state, unused, out_8621992063279097911);
}
void car_H_26(double *state, double *unused, double *out_5784627942833639033) {
H_26(state, unused, out_5784627942833639033);
void car_H_26(double *state, double *unused, double *out_711545670896950739) {
H_26(state, unused, out_711545670896950739);
}
void car_h_27(double *state, double *unused, double *out_7942917162281270728) {
h_27(state, unused, out_7942917162281270728);
void car_h_27(double *state, double *unused, double *out_1693970168577617830) {
h_27(state, unused, out_1693970168577617830);
}
void car_H_27(double *state, double *unused, double *out_4178685782310664515) {
H_27(state, unused, out_4178685782310664515);
void car_H_27(double *state, double *unused, double *out_3672501993950927624) {
H_27(state, unused, out_3672501993950927624);
}
void car_h_29(double *state, double *unused, double *out_3732991685077929952) {
h_29(state, unused, out_3732991685077929952);
void car_h_29(double *state, double *unused, double *out_1092552010964254276) {
h_29(state, unused, out_1092552010964254276);
}
void car_H_29(double *state, double *unused, double *out_1493691126195847420) {
H_29(state, unused, out_1493691126195847420);
void car_H_29(double *state, double *unused, double *out_987507337836110529) {
H_29(state, unused, out_987507337836110529);
}
void car_h_28(double *state, double *unused, double *out_2300187291200313893) {
h_28(state, unused, out_2300187291200313893);
void car_h_28(double *state, double *unused, double *out_6695643436238463475) {
h_28(state, unused, out_6695643436238463475);
}
void car_H_28(double *state, double *unused, double *out_6576090143265377994) {
H_28(state, unused, out_6576090143265377994);
void car_H_28(double *state, double *unused, double *out_6069906354905641103) {
H_28(state, unused, out_6069906354905641103);
}
void car_h_31(double *state, double *unused, double *out_5181325173121443932) {
h_31(state, unused, out_5181325173121443932);
void car_h_31(double *state, double *unused, double *out_6945152627337250165) {
h_31(state, unused, out_6945152627337250165);
}
void car_H_31(double *state, double *unused, double *out_8889966850124895931) {
H_31(state, unused, out_8889966850124895931);
void car_H_31(double *state, double *unused, double *out_1337753773130302215) {
H_31(state, unused, out_1337753773130302215);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);