This commit is contained in:
firestar5683
2026-06-27 13:19:46 -05:00
parent 19d545b22e
commit 2798c12c90
64 changed files with 1347 additions and 1347 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1,2 +1,2 @@
extern const uint8_t gitversion[19];
const uint8_t gitversion[19] = "DEV-284bb45c-DEBUG";
const uint8_t gitversion[19] = "DEV-19d545b2-DEBUG";
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
DEV-284bb45c-DEBUG
DEV-19d545b2-DEBUG
+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_9063299258885678089) {
out_9063299258885678089[0] = delta_x[0] + nom_x[0];
out_9063299258885678089[1] = delta_x[1] + nom_x[1];
out_9063299258885678089[2] = delta_x[2] + nom_x[2];
out_9063299258885678089[3] = delta_x[3] + nom_x[3];
out_9063299258885678089[4] = delta_x[4] + nom_x[4];
out_9063299258885678089[5] = delta_x[5] + nom_x[5];
out_9063299258885678089[6] = delta_x[6] + nom_x[6];
out_9063299258885678089[7] = delta_x[7] + nom_x[7];
out_9063299258885678089[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_3831254278589076381) {
out_3831254278589076381[0] = delta_x[0] + nom_x[0];
out_3831254278589076381[1] = delta_x[1] + nom_x[1];
out_3831254278589076381[2] = delta_x[2] + nom_x[2];
out_3831254278589076381[3] = delta_x[3] + nom_x[3];
out_3831254278589076381[4] = delta_x[4] + nom_x[4];
out_3831254278589076381[5] = delta_x[5] + nom_x[5];
out_3831254278589076381[6] = delta_x[6] + nom_x[6];
out_3831254278589076381[7] = delta_x[7] + nom_x[7];
out_3831254278589076381[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_5249330638840185569) {
out_5249330638840185569[0] = -nom_x[0] + true_x[0];
out_5249330638840185569[1] = -nom_x[1] + true_x[1];
out_5249330638840185569[2] = -nom_x[2] + true_x[2];
out_5249330638840185569[3] = -nom_x[3] + true_x[3];
out_5249330638840185569[4] = -nom_x[4] + true_x[4];
out_5249330638840185569[5] = -nom_x[5] + true_x[5];
out_5249330638840185569[6] = -nom_x[6] + true_x[6];
out_5249330638840185569[7] = -nom_x[7] + true_x[7];
out_5249330638840185569[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_2600409940070229376) {
out_2600409940070229376[0] = -nom_x[0] + true_x[0];
out_2600409940070229376[1] = -nom_x[1] + true_x[1];
out_2600409940070229376[2] = -nom_x[2] + true_x[2];
out_2600409940070229376[3] = -nom_x[3] + true_x[3];
out_2600409940070229376[4] = -nom_x[4] + true_x[4];
out_2600409940070229376[5] = -nom_x[5] + true_x[5];
out_2600409940070229376[6] = -nom_x[6] + true_x[6];
out_2600409940070229376[7] = -nom_x[7] + true_x[7];
out_2600409940070229376[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_6730506552132857878) {
out_6730506552132857878[0] = 1.0;
out_6730506552132857878[1] = 0.0;
out_6730506552132857878[2] = 0.0;
out_6730506552132857878[3] = 0.0;
out_6730506552132857878[4] = 0.0;
out_6730506552132857878[5] = 0.0;
out_6730506552132857878[6] = 0.0;
out_6730506552132857878[7] = 0.0;
out_6730506552132857878[8] = 0.0;
out_6730506552132857878[9] = 0.0;
out_6730506552132857878[10] = 1.0;
out_6730506552132857878[11] = 0.0;
out_6730506552132857878[12] = 0.0;
out_6730506552132857878[13] = 0.0;
out_6730506552132857878[14] = 0.0;
out_6730506552132857878[15] = 0.0;
out_6730506552132857878[16] = 0.0;
out_6730506552132857878[17] = 0.0;
out_6730506552132857878[18] = 0.0;
out_6730506552132857878[19] = 0.0;
out_6730506552132857878[20] = 1.0;
out_6730506552132857878[21] = 0.0;
out_6730506552132857878[22] = 0.0;
out_6730506552132857878[23] = 0.0;
out_6730506552132857878[24] = 0.0;
out_6730506552132857878[25] = 0.0;
out_6730506552132857878[26] = 0.0;
out_6730506552132857878[27] = 0.0;
out_6730506552132857878[28] = 0.0;
out_6730506552132857878[29] = 0.0;
out_6730506552132857878[30] = 1.0;
out_6730506552132857878[31] = 0.0;
out_6730506552132857878[32] = 0.0;
out_6730506552132857878[33] = 0.0;
out_6730506552132857878[34] = 0.0;
out_6730506552132857878[35] = 0.0;
out_6730506552132857878[36] = 0.0;
out_6730506552132857878[37] = 0.0;
out_6730506552132857878[38] = 0.0;
out_6730506552132857878[39] = 0.0;
out_6730506552132857878[40] = 1.0;
out_6730506552132857878[41] = 0.0;
out_6730506552132857878[42] = 0.0;
out_6730506552132857878[43] = 0.0;
out_6730506552132857878[44] = 0.0;
out_6730506552132857878[45] = 0.0;
out_6730506552132857878[46] = 0.0;
out_6730506552132857878[47] = 0.0;
out_6730506552132857878[48] = 0.0;
out_6730506552132857878[49] = 0.0;
out_6730506552132857878[50] = 1.0;
out_6730506552132857878[51] = 0.0;
out_6730506552132857878[52] = 0.0;
out_6730506552132857878[53] = 0.0;
out_6730506552132857878[54] = 0.0;
out_6730506552132857878[55] = 0.0;
out_6730506552132857878[56] = 0.0;
out_6730506552132857878[57] = 0.0;
out_6730506552132857878[58] = 0.0;
out_6730506552132857878[59] = 0.0;
out_6730506552132857878[60] = 1.0;
out_6730506552132857878[61] = 0.0;
out_6730506552132857878[62] = 0.0;
out_6730506552132857878[63] = 0.0;
out_6730506552132857878[64] = 0.0;
out_6730506552132857878[65] = 0.0;
out_6730506552132857878[66] = 0.0;
out_6730506552132857878[67] = 0.0;
out_6730506552132857878[68] = 0.0;
out_6730506552132857878[69] = 0.0;
out_6730506552132857878[70] = 1.0;
out_6730506552132857878[71] = 0.0;
out_6730506552132857878[72] = 0.0;
out_6730506552132857878[73] = 0.0;
out_6730506552132857878[74] = 0.0;
out_6730506552132857878[75] = 0.0;
out_6730506552132857878[76] = 0.0;
out_6730506552132857878[77] = 0.0;
out_6730506552132857878[78] = 0.0;
out_6730506552132857878[79] = 0.0;
out_6730506552132857878[80] = 1.0;
void H_mod_fun(double *state, double *out_1960169395562662079) {
out_1960169395562662079[0] = 1.0;
out_1960169395562662079[1] = 0.0;
out_1960169395562662079[2] = 0.0;
out_1960169395562662079[3] = 0.0;
out_1960169395562662079[4] = 0.0;
out_1960169395562662079[5] = 0.0;
out_1960169395562662079[6] = 0.0;
out_1960169395562662079[7] = 0.0;
out_1960169395562662079[8] = 0.0;
out_1960169395562662079[9] = 0.0;
out_1960169395562662079[10] = 1.0;
out_1960169395562662079[11] = 0.0;
out_1960169395562662079[12] = 0.0;
out_1960169395562662079[13] = 0.0;
out_1960169395562662079[14] = 0.0;
out_1960169395562662079[15] = 0.0;
out_1960169395562662079[16] = 0.0;
out_1960169395562662079[17] = 0.0;
out_1960169395562662079[18] = 0.0;
out_1960169395562662079[19] = 0.0;
out_1960169395562662079[20] = 1.0;
out_1960169395562662079[21] = 0.0;
out_1960169395562662079[22] = 0.0;
out_1960169395562662079[23] = 0.0;
out_1960169395562662079[24] = 0.0;
out_1960169395562662079[25] = 0.0;
out_1960169395562662079[26] = 0.0;
out_1960169395562662079[27] = 0.0;
out_1960169395562662079[28] = 0.0;
out_1960169395562662079[29] = 0.0;
out_1960169395562662079[30] = 1.0;
out_1960169395562662079[31] = 0.0;
out_1960169395562662079[32] = 0.0;
out_1960169395562662079[33] = 0.0;
out_1960169395562662079[34] = 0.0;
out_1960169395562662079[35] = 0.0;
out_1960169395562662079[36] = 0.0;
out_1960169395562662079[37] = 0.0;
out_1960169395562662079[38] = 0.0;
out_1960169395562662079[39] = 0.0;
out_1960169395562662079[40] = 1.0;
out_1960169395562662079[41] = 0.0;
out_1960169395562662079[42] = 0.0;
out_1960169395562662079[43] = 0.0;
out_1960169395562662079[44] = 0.0;
out_1960169395562662079[45] = 0.0;
out_1960169395562662079[46] = 0.0;
out_1960169395562662079[47] = 0.0;
out_1960169395562662079[48] = 0.0;
out_1960169395562662079[49] = 0.0;
out_1960169395562662079[50] = 1.0;
out_1960169395562662079[51] = 0.0;
out_1960169395562662079[52] = 0.0;
out_1960169395562662079[53] = 0.0;
out_1960169395562662079[54] = 0.0;
out_1960169395562662079[55] = 0.0;
out_1960169395562662079[56] = 0.0;
out_1960169395562662079[57] = 0.0;
out_1960169395562662079[58] = 0.0;
out_1960169395562662079[59] = 0.0;
out_1960169395562662079[60] = 1.0;
out_1960169395562662079[61] = 0.0;
out_1960169395562662079[62] = 0.0;
out_1960169395562662079[63] = 0.0;
out_1960169395562662079[64] = 0.0;
out_1960169395562662079[65] = 0.0;
out_1960169395562662079[66] = 0.0;
out_1960169395562662079[67] = 0.0;
out_1960169395562662079[68] = 0.0;
out_1960169395562662079[69] = 0.0;
out_1960169395562662079[70] = 1.0;
out_1960169395562662079[71] = 0.0;
out_1960169395562662079[72] = 0.0;
out_1960169395562662079[73] = 0.0;
out_1960169395562662079[74] = 0.0;
out_1960169395562662079[75] = 0.0;
out_1960169395562662079[76] = 0.0;
out_1960169395562662079[77] = 0.0;
out_1960169395562662079[78] = 0.0;
out_1960169395562662079[79] = 0.0;
out_1960169395562662079[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_4022133726006847666) {
out_4022133726006847666[0] = state[0];
out_4022133726006847666[1] = state[1];
out_4022133726006847666[2] = state[2];
out_4022133726006847666[3] = state[3];
out_4022133726006847666[4] = state[4];
out_4022133726006847666[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_4022133726006847666[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_4022133726006847666[7] = state[7];
out_4022133726006847666[8] = state[8];
void f_fun(double *state, double dt, double *out_5814026824526248658) {
out_5814026824526248658[0] = state[0];
out_5814026824526248658[1] = state[1];
out_5814026824526248658[2] = state[2];
out_5814026824526248658[3] = state[3];
out_5814026824526248658[4] = state[4];
out_5814026824526248658[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_5814026824526248658[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_5814026824526248658[7] = state[7];
out_5814026824526248658[8] = state[8];
}
void F_fun(double *state, double dt, double *out_1291922867413743277) {
out_1291922867413743277[0] = 1;
out_1291922867413743277[1] = 0;
out_1291922867413743277[2] = 0;
out_1291922867413743277[3] = 0;
out_1291922867413743277[4] = 0;
out_1291922867413743277[5] = 0;
out_1291922867413743277[6] = 0;
out_1291922867413743277[7] = 0;
out_1291922867413743277[8] = 0;
out_1291922867413743277[9] = 0;
out_1291922867413743277[10] = 1;
out_1291922867413743277[11] = 0;
out_1291922867413743277[12] = 0;
out_1291922867413743277[13] = 0;
out_1291922867413743277[14] = 0;
out_1291922867413743277[15] = 0;
out_1291922867413743277[16] = 0;
out_1291922867413743277[17] = 0;
out_1291922867413743277[18] = 0;
out_1291922867413743277[19] = 0;
out_1291922867413743277[20] = 1;
out_1291922867413743277[21] = 0;
out_1291922867413743277[22] = 0;
out_1291922867413743277[23] = 0;
out_1291922867413743277[24] = 0;
out_1291922867413743277[25] = 0;
out_1291922867413743277[26] = 0;
out_1291922867413743277[27] = 0;
out_1291922867413743277[28] = 0;
out_1291922867413743277[29] = 0;
out_1291922867413743277[30] = 1;
out_1291922867413743277[31] = 0;
out_1291922867413743277[32] = 0;
out_1291922867413743277[33] = 0;
out_1291922867413743277[34] = 0;
out_1291922867413743277[35] = 0;
out_1291922867413743277[36] = 0;
out_1291922867413743277[37] = 0;
out_1291922867413743277[38] = 0;
out_1291922867413743277[39] = 0;
out_1291922867413743277[40] = 1;
out_1291922867413743277[41] = 0;
out_1291922867413743277[42] = 0;
out_1291922867413743277[43] = 0;
out_1291922867413743277[44] = 0;
out_1291922867413743277[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_1291922867413743277[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_1291922867413743277[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_1291922867413743277[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_1291922867413743277[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_1291922867413743277[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_1291922867413743277[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_1291922867413743277[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_1291922867413743277[53] = -9.8100000000000005*dt;
out_1291922867413743277[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_1291922867413743277[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_1291922867413743277[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1291922867413743277[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1291922867413743277[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_1291922867413743277[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_1291922867413743277[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_1291922867413743277[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_1291922867413743277[62] = 0;
out_1291922867413743277[63] = 0;
out_1291922867413743277[64] = 0;
out_1291922867413743277[65] = 0;
out_1291922867413743277[66] = 0;
out_1291922867413743277[67] = 0;
out_1291922867413743277[68] = 0;
out_1291922867413743277[69] = 0;
out_1291922867413743277[70] = 1;
out_1291922867413743277[71] = 0;
out_1291922867413743277[72] = 0;
out_1291922867413743277[73] = 0;
out_1291922867413743277[74] = 0;
out_1291922867413743277[75] = 0;
out_1291922867413743277[76] = 0;
out_1291922867413743277[77] = 0;
out_1291922867413743277[78] = 0;
out_1291922867413743277[79] = 0;
out_1291922867413743277[80] = 1;
void F_fun(double *state, double dt, double *out_596946632886970600) {
out_596946632886970600[0] = 1;
out_596946632886970600[1] = 0;
out_596946632886970600[2] = 0;
out_596946632886970600[3] = 0;
out_596946632886970600[4] = 0;
out_596946632886970600[5] = 0;
out_596946632886970600[6] = 0;
out_596946632886970600[7] = 0;
out_596946632886970600[8] = 0;
out_596946632886970600[9] = 0;
out_596946632886970600[10] = 1;
out_596946632886970600[11] = 0;
out_596946632886970600[12] = 0;
out_596946632886970600[13] = 0;
out_596946632886970600[14] = 0;
out_596946632886970600[15] = 0;
out_596946632886970600[16] = 0;
out_596946632886970600[17] = 0;
out_596946632886970600[18] = 0;
out_596946632886970600[19] = 0;
out_596946632886970600[20] = 1;
out_596946632886970600[21] = 0;
out_596946632886970600[22] = 0;
out_596946632886970600[23] = 0;
out_596946632886970600[24] = 0;
out_596946632886970600[25] = 0;
out_596946632886970600[26] = 0;
out_596946632886970600[27] = 0;
out_596946632886970600[28] = 0;
out_596946632886970600[29] = 0;
out_596946632886970600[30] = 1;
out_596946632886970600[31] = 0;
out_596946632886970600[32] = 0;
out_596946632886970600[33] = 0;
out_596946632886970600[34] = 0;
out_596946632886970600[35] = 0;
out_596946632886970600[36] = 0;
out_596946632886970600[37] = 0;
out_596946632886970600[38] = 0;
out_596946632886970600[39] = 0;
out_596946632886970600[40] = 1;
out_596946632886970600[41] = 0;
out_596946632886970600[42] = 0;
out_596946632886970600[43] = 0;
out_596946632886970600[44] = 0;
out_596946632886970600[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_596946632886970600[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_596946632886970600[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_596946632886970600[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_596946632886970600[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_596946632886970600[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_596946632886970600[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_596946632886970600[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_596946632886970600[53] = -9.8100000000000005*dt;
out_596946632886970600[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_596946632886970600[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_596946632886970600[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_596946632886970600[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_596946632886970600[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_596946632886970600[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_596946632886970600[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_596946632886970600[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_596946632886970600[62] = 0;
out_596946632886970600[63] = 0;
out_596946632886970600[64] = 0;
out_596946632886970600[65] = 0;
out_596946632886970600[66] = 0;
out_596946632886970600[67] = 0;
out_596946632886970600[68] = 0;
out_596946632886970600[69] = 0;
out_596946632886970600[70] = 1;
out_596946632886970600[71] = 0;
out_596946632886970600[72] = 0;
out_596946632886970600[73] = 0;
out_596946632886970600[74] = 0;
out_596946632886970600[75] = 0;
out_596946632886970600[76] = 0;
out_596946632886970600[77] = 0;
out_596946632886970600[78] = 0;
out_596946632886970600[79] = 0;
out_596946632886970600[80] = 1;
}
void h_25(double *state, double *unused, double *out_7640527507174277193) {
out_7640527507174277193[0] = state[6];
void h_25(double *state, double *unused, double *out_6549462771998662423) {
out_6549462771998662423[0] = state[6];
}
void H_25(double *state, double *unused, double *out_3207525902143366201) {
out_3207525902143366201[0] = 0;
out_3207525902143366201[1] = 0;
out_3207525902143366201[2] = 0;
out_3207525902143366201[3] = 0;
out_3207525902143366201[4] = 0;
out_3207525902143366201[5] = 0;
out_3207525902143366201[6] = 1;
out_3207525902143366201[7] = 0;
out_3207525902143366201[8] = 0;
void H_25(double *state, double *unused, double *out_4945326686098262856) {
out_4945326686098262856[0] = 0;
out_4945326686098262856[1] = 0;
out_4945326686098262856[2] = 0;
out_4945326686098262856[3] = 0;
out_4945326686098262856[4] = 0;
out_4945326686098262856[5] = 0;
out_4945326686098262856[6] = 1;
out_4945326686098262856[7] = 0;
out_4945326686098262856[8] = 0;
}
void h_24(double *state, double *unused, double *out_7298880785486689687) {
out_7298880785486689687[0] = state[4];
out_7298880785486689687[1] = state[5];
void h_24(double *state, double *unused, double *out_3025287820893037920) {
out_3025287820893037920[0] = state[4];
out_3025287820893037920[1] = state[5];
}
void H_24(double *state, double *unused, double *out_350399696658956935) {
out_350399696658956935[0] = 0;
out_350399696658956935[1] = 0;
out_350399696658956935[2] = 0;
out_350399696658956935[3] = 0;
out_350399696658956935[4] = 1;
out_350399696658956935[5] = 0;
out_350399696658956935[6] = 0;
out_350399696658956935[7] = 0;
out_350399696658956935[8] = 0;
out_350399696658956935[9] = 0;
out_350399696658956935[10] = 0;
out_350399696658956935[11] = 0;
out_350399696658956935[12] = 0;
out_350399696658956935[13] = 0;
out_350399696658956935[14] = 1;
out_350399696658956935[15] = 0;
out_350399696658956935[16] = 0;
out_350399696658956935[17] = 0;
void H_24(double *state, double *unused, double *out_8927649837496030754) {
out_8927649837496030754[0] = 0;
out_8927649837496030754[1] = 0;
out_8927649837496030754[2] = 0;
out_8927649837496030754[3] = 0;
out_8927649837496030754[4] = 1;
out_8927649837496030754[5] = 0;
out_8927649837496030754[6] = 0;
out_8927649837496030754[7] = 0;
out_8927649837496030754[8] = 0;
out_8927649837496030754[9] = 0;
out_8927649837496030754[10] = 0;
out_8927649837496030754[11] = 0;
out_8927649837496030754[12] = 0;
out_8927649837496030754[13] = 0;
out_8927649837496030754[14] = 1;
out_8927649837496030754[15] = 0;
out_8927649837496030754[16] = 0;
out_8927649837496030754[17] = 0;
}
void h_30(double *state, double *unused, double *out_7182326145015715531) {
out_7182326145015715531[0] = state[4];
void h_30(double *state, double *unused, double *out_8259831773456866843) {
out_8259831773456866843[0] = state[4];
}
void H_30(double *state, double *unused, double *out_689192943636117574) {
out_689192943636117574[0] = 0;
out_689192943636117574[1] = 0;
out_689192943636117574[2] = 0;
out_689192943636117574[3] = 0;
out_689192943636117574[4] = 1;
out_689192943636117574[5] = 0;
out_689192943636117574[6] = 0;
out_689192943636117574[7] = 0;
out_689192943636117574[8] = 0;
void H_30(double *state, double *unused, double *out_2426993727591014229) {
out_2426993727591014229[0] = 0;
out_2426993727591014229[1] = 0;
out_2426993727591014229[2] = 0;
out_2426993727591014229[3] = 0;
out_2426993727591014229[4] = 1;
out_2426993727591014229[5] = 0;
out_2426993727591014229[6] = 0;
out_2426993727591014229[7] = 0;
out_2426993727591014229[8] = 0;
}
void h_26(double *state, double *unused, double *out_2037436081900067994) {
out_2037436081900067994[0] = state[7];
void h_26(double *state, double *unused, double *out_2693730589396356978) {
out_2693730589396356978[0] = state[7];
}
void H_26(double *state, double *unused, double *out_6949029221017422425) {
out_6949029221017422425[0] = 0;
out_6949029221017422425[1] = 0;
out_6949029221017422425[2] = 0;
out_6949029221017422425[3] = 0;
out_6949029221017422425[4] = 0;
out_6949029221017422425[5] = 0;
out_6949029221017422425[6] = 0;
out_6949029221017422425[7] = 1;
out_6949029221017422425[8] = 0;
void H_26(double *state, double *unused, double *out_8686830004972319080) {
out_8686830004972319080[0] = 0;
out_8686830004972319080[1] = 0;
out_8686830004972319080[2] = 0;
out_8686830004972319080[3] = 0;
out_8686830004972319080[4] = 0;
out_8686830004972319080[5] = 0;
out_8686830004972319080[6] = 0;
out_8686830004972319080[7] = 1;
out_8686830004972319080[8] = 0;
}
void h_27(double *state, double *unused, double *out_6184030537079166109) {
out_6184030537079166109[0] = state[3];
void h_27(double *state, double *unused, double *out_1218913001142171261) {
out_1218913001142171261[0] = state[3];
}
void H_27(double *state, double *unused, double *out_1534401127547825643) {
out_1534401127547825643[0] = 0;
out_1534401127547825643[1] = 0;
out_1534401127547825643[2] = 0;
out_1534401127547825643[3] = 1;
out_1534401127547825643[4] = 0;
out_1534401127547825643[5] = 0;
out_1534401127547825643[6] = 0;
out_1534401127547825643[7] = 0;
out_1534401127547825643[8] = 0;
void H_27(double *state, double *unused, double *out_4601757039391439140) {
out_4601757039391439140[0] = 0;
out_4601757039391439140[1] = 0;
out_4601757039391439140[2] = 0;
out_4601757039391439140[3] = 1;
out_4601757039391439140[4] = 0;
out_4601757039391439140[5] = 0;
out_4601757039391439140[6] = 0;
out_4601757039391439140[7] = 0;
out_4601757039391439140[8] = 0;
}
void h_29(double *state, double *unused, double *out_783284627601866385) {
out_783284627601866385[0] = state[1];
void h_29(double *state, double *unused, double *out_3033924557621541896) {
out_3033924557621541896[0] = state[1];
}
void H_29(double *state, double *unused, double *out_178961599321725390) {
out_178961599321725390[0] = 0;
out_178961599321725390[1] = 1;
out_178961599321725390[2] = 0;
out_178961599321725390[3] = 0;
out_178961599321725390[4] = 0;
out_178961599321725390[5] = 0;
out_178961599321725390[6] = 0;
out_178961599321725390[7] = 0;
out_178961599321725390[8] = 0;
void H_29(double *state, double *unused, double *out_1916762383276622045) {
out_1916762383276622045[0] = 0;
out_1916762383276622045[1] = 1;
out_1916762383276622045[2] = 0;
out_1916762383276622045[3] = 0;
out_1916762383276622045[4] = 0;
out_1916762383276622045[5] = 0;
out_1916762383276622045[6] = 0;
out_1916762383276622045[7] = 0;
out_1916762383276622045[8] = 0;
}
void h_28(double *state, double *unused, double *out_1182357269418320464) {
out_1182357269418320464[0] = state[0];
void h_28(double *state, double *unused, double *out_1822228885818648778) {
out_1822228885818648778[0] = state[0];
}
void H_28(double *state, double *unused, double *out_5261360616391255964) {
out_5261360616391255964[0] = 1;
out_5261360616391255964[1] = 0;
out_5261360616391255964[2] = 0;
out_5261360616391255964[3] = 0;
out_5261360616391255964[4] = 0;
out_5261360616391255964[5] = 0;
out_5261360616391255964[6] = 0;
out_5261360616391255964[7] = 0;
out_5261360616391255964[8] = 0;
void H_28(double *state, double *unused, double *out_6999161400346152619) {
out_6999161400346152619[0] = 1;
out_6999161400346152619[1] = 0;
out_6999161400346152619[2] = 0;
out_6999161400346152619[3] = 0;
out_6999161400346152619[4] = 0;
out_6999161400346152619[5] = 0;
out_6999161400346152619[6] = 0;
out_6999161400346152619[7] = 0;
out_6999161400346152619[8] = 0;
}
void h_31(double *state, double *unused, double *out_3042951309714601982) {
out_3042951309714601982[0] = state[8];
void h_31(double *state, double *unused, double *out_3980504990301998057) {
out_3980504990301998057[0] = state[8];
}
void H_31(double *state, double *unused, double *out_3176879940266405773) {
out_3176879940266405773[0] = 0;
out_3176879940266405773[1] = 0;
out_3176879940266405773[2] = 0;
out_3176879940266405773[3] = 0;
out_3176879940266405773[4] = 0;
out_3176879940266405773[5] = 0;
out_3176879940266405773[6] = 0;
out_3176879940266405773[7] = 0;
out_3176879940266405773[8] = 1;
void H_31(double *state, double *unused, double *out_9133705966503881060) {
out_9133705966503881060[0] = 0;
out_9133705966503881060[1] = 0;
out_9133705966503881060[2] = 0;
out_9133705966503881060[3] = 0;
out_9133705966503881060[4] = 0;
out_9133705966503881060[5] = 0;
out_9133705966503881060[6] = 0;
out_9133705966503881060[7] = 0;
out_9133705966503881060[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_9063299258885678089) {
err_fun(nom_x, delta_x, out_9063299258885678089);
void car_err_fun(double *nom_x, double *delta_x, double *out_3831254278589076381) {
err_fun(nom_x, delta_x, out_3831254278589076381);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_5249330638840185569) {
inv_err_fun(nom_x, true_x, out_5249330638840185569);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_2600409940070229376) {
inv_err_fun(nom_x, true_x, out_2600409940070229376);
}
void car_H_mod_fun(double *state, double *out_6730506552132857878) {
H_mod_fun(state, out_6730506552132857878);
void car_H_mod_fun(double *state, double *out_1960169395562662079) {
H_mod_fun(state, out_1960169395562662079);
}
void car_f_fun(double *state, double dt, double *out_4022133726006847666) {
f_fun(state, dt, out_4022133726006847666);
void car_f_fun(double *state, double dt, double *out_5814026824526248658) {
f_fun(state, dt, out_5814026824526248658);
}
void car_F_fun(double *state, double dt, double *out_1291922867413743277) {
F_fun(state, dt, out_1291922867413743277);
void car_F_fun(double *state, double dt, double *out_596946632886970600) {
F_fun(state, dt, out_596946632886970600);
}
void car_h_25(double *state, double *unused, double *out_7640527507174277193) {
h_25(state, unused, out_7640527507174277193);
void car_h_25(double *state, double *unused, double *out_6549462771998662423) {
h_25(state, unused, out_6549462771998662423);
}
void car_H_25(double *state, double *unused, double *out_3207525902143366201) {
H_25(state, unused, out_3207525902143366201);
void car_H_25(double *state, double *unused, double *out_4945326686098262856) {
H_25(state, unused, out_4945326686098262856);
}
void car_h_24(double *state, double *unused, double *out_7298880785486689687) {
h_24(state, unused, out_7298880785486689687);
void car_h_24(double *state, double *unused, double *out_3025287820893037920) {
h_24(state, unused, out_3025287820893037920);
}
void car_H_24(double *state, double *unused, double *out_350399696658956935) {
H_24(state, unused, out_350399696658956935);
void car_H_24(double *state, double *unused, double *out_8927649837496030754) {
H_24(state, unused, out_8927649837496030754);
}
void car_h_30(double *state, double *unused, double *out_7182326145015715531) {
h_30(state, unused, out_7182326145015715531);
void car_h_30(double *state, double *unused, double *out_8259831773456866843) {
h_30(state, unused, out_8259831773456866843);
}
void car_H_30(double *state, double *unused, double *out_689192943636117574) {
H_30(state, unused, out_689192943636117574);
void car_H_30(double *state, double *unused, double *out_2426993727591014229) {
H_30(state, unused, out_2426993727591014229);
}
void car_h_26(double *state, double *unused, double *out_2037436081900067994) {
h_26(state, unused, out_2037436081900067994);
void car_h_26(double *state, double *unused, double *out_2693730589396356978) {
h_26(state, unused, out_2693730589396356978);
}
void car_H_26(double *state, double *unused, double *out_6949029221017422425) {
H_26(state, unused, out_6949029221017422425);
void car_H_26(double *state, double *unused, double *out_8686830004972319080) {
H_26(state, unused, out_8686830004972319080);
}
void car_h_27(double *state, double *unused, double *out_6184030537079166109) {
h_27(state, unused, out_6184030537079166109);
void car_h_27(double *state, double *unused, double *out_1218913001142171261) {
h_27(state, unused, out_1218913001142171261);
}
void car_H_27(double *state, double *unused, double *out_1534401127547825643) {
H_27(state, unused, out_1534401127547825643);
void car_H_27(double *state, double *unused, double *out_4601757039391439140) {
H_27(state, unused, out_4601757039391439140);
}
void car_h_29(double *state, double *unused, double *out_783284627601866385) {
h_29(state, unused, out_783284627601866385);
void car_h_29(double *state, double *unused, double *out_3033924557621541896) {
h_29(state, unused, out_3033924557621541896);
}
void car_H_29(double *state, double *unused, double *out_178961599321725390) {
H_29(state, unused, out_178961599321725390);
void car_H_29(double *state, double *unused, double *out_1916762383276622045) {
H_29(state, unused, out_1916762383276622045);
}
void car_h_28(double *state, double *unused, double *out_1182357269418320464) {
h_28(state, unused, out_1182357269418320464);
void car_h_28(double *state, double *unused, double *out_1822228885818648778) {
h_28(state, unused, out_1822228885818648778);
}
void car_H_28(double *state, double *unused, double *out_5261360616391255964) {
H_28(state, unused, out_5261360616391255964);
void car_H_28(double *state, double *unused, double *out_6999161400346152619) {
H_28(state, unused, out_6999161400346152619);
}
void car_h_31(double *state, double *unused, double *out_3042951309714601982) {
h_31(state, unused, out_3042951309714601982);
void car_h_31(double *state, double *unused, double *out_3980504990301998057) {
h_31(state, unused, out_3980504990301998057);
}
void car_H_31(double *state, double *unused, double *out_3176879940266405773) {
H_31(state, unused, out_3176879940266405773);
void car_H_31(double *state, double *unused, double *out_9133705966503881060) {
H_31(state, unused, out_9133705966503881060);
}
void car_predict(double *in_x, double *in_P, double *in_Q, double dt) {
predict(in_x, in_P, in_Q, dt);
+21 -21
View File
@@ -9,27 +9,27 @@ void car_update_27(double *in_x, double *in_P, double *in_z, double *in_R, doubl
void car_update_29(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void car_update_28(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void car_update_31(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void car_err_fun(double *nom_x, double *delta_x, double *out_9063299258885678089);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_5249330638840185569);
void car_H_mod_fun(double *state, double *out_6730506552132857878);
void car_f_fun(double *state, double dt, double *out_4022133726006847666);
void car_F_fun(double *state, double dt, double *out_1291922867413743277);
void car_h_25(double *state, double *unused, double *out_7640527507174277193);
void car_H_25(double *state, double *unused, double *out_3207525902143366201);
void car_h_24(double *state, double *unused, double *out_7298880785486689687);
void car_H_24(double *state, double *unused, double *out_350399696658956935);
void car_h_30(double *state, double *unused, double *out_7182326145015715531);
void car_H_30(double *state, double *unused, double *out_689192943636117574);
void car_h_26(double *state, double *unused, double *out_2037436081900067994);
void car_H_26(double *state, double *unused, double *out_6949029221017422425);
void car_h_27(double *state, double *unused, double *out_6184030537079166109);
void car_H_27(double *state, double *unused, double *out_1534401127547825643);
void car_h_29(double *state, double *unused, double *out_783284627601866385);
void car_H_29(double *state, double *unused, double *out_178961599321725390);
void car_h_28(double *state, double *unused, double *out_1182357269418320464);
void car_H_28(double *state, double *unused, double *out_5261360616391255964);
void car_h_31(double *state, double *unused, double *out_3042951309714601982);
void car_H_31(double *state, double *unused, double *out_3176879940266405773);
void car_err_fun(double *nom_x, double *delta_x, double *out_3831254278589076381);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_2600409940070229376);
void car_H_mod_fun(double *state, double *out_1960169395562662079);
void car_f_fun(double *state, double dt, double *out_5814026824526248658);
void car_F_fun(double *state, double dt, double *out_596946632886970600);
void car_h_25(double *state, double *unused, double *out_6549462771998662423);
void car_H_25(double *state, double *unused, double *out_4945326686098262856);
void car_h_24(double *state, double *unused, double *out_3025287820893037920);
void car_H_24(double *state, double *unused, double *out_8927649837496030754);
void car_h_30(double *state, double *unused, double *out_8259831773456866843);
void car_H_30(double *state, double *unused, double *out_2426993727591014229);
void car_h_26(double *state, double *unused, double *out_2693730589396356978);
void car_H_26(double *state, double *unused, double *out_8686830004972319080);
void car_h_27(double *state, double *unused, double *out_1218913001142171261);
void car_H_27(double *state, double *unused, double *out_4601757039391439140);
void car_h_29(double *state, double *unused, double *out_3033924557621541896);
void car_H_29(double *state, double *unused, double *out_1916762383276622045);
void car_h_28(double *state, double *unused, double *out_1822228885818648778);
void car_H_28(double *state, double *unused, double *out_6999161400346152619);
void car_h_31(double *state, double *unused, double *out_3980504990301998057);
void car_H_31(double *state, double *unused, double *out_9133705966503881060);
void car_predict(double *in_x, double *in_P, double *in_Q, double dt);
void car_set_mass(double x);
void car_set_rotational_inertia(double x);
File diff suppressed because it is too large Load Diff
+13 -13
View File
@@ -5,18 +5,18 @@ void pose_update_4(double *in_x, double *in_P, double *in_z, double *in_R, doubl
void pose_update_10(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_update_13(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_update_14(double *in_x, double *in_P, double *in_z, double *in_R, double *in_ea);
void pose_err_fun(double *nom_x, double *delta_x, double *out_5169544621376104769);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_5560919447530739345);
void pose_H_mod_fun(double *state, double *out_8932661143090135832);
void pose_f_fun(double *state, double dt, double *out_3609843023403364566);
void pose_F_fun(double *state, double dt, double *out_8950799816554095649);
void pose_h_4(double *state, double *unused, double *out_7061694870208984097);
void pose_H_4(double *state, double *unused, double *out_4465290511533350274);
void pose_h_10(double *state, double *unused, double *out_10860459686481955);
void pose_H_10(double *state, double *unused, double *out_3271917644950253884);
void pose_h_13(double *state, double *unused, double *out_1178992313314753128);
void pose_H_13(double *state, double *unused, double *out_7677564336865683075);
void pose_h_14(double *state, double *unused, double *out_3940331790740833198);
void pose_H_14(double *state, double *unused, double *out_8428531367872834803);
void pose_err_fun(double *nom_x, double *delta_x, double *out_5896214411466158685);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_2659108696170388183);
void pose_H_mod_fun(double *state, double *out_7168960818524543120);
void pose_f_fun(double *state, double dt, double *out_5063918395653700509);
void pose_F_fun(double *state, double dt, double *out_4470005302657516726);
void pose_h_4(double *state, double *unused, double *out_6574127459206923931);
void pose_H_4(double *state, double *unused, double *out_8003561176394059243);
void pose_h_10(double *state, double *unused, double *out_5886867664906462198);
void pose_H_10(double *state, double *unused, double *out_6245929205097449476);
void pose_h_13(double *state, double *unused, double *out_3309926433150949848);
void pose_H_13(double *state, double *unused, double *out_2832551688998791444);
void pose_h_14(double *state, double *unused, double *out_8057772104425340564);
void pose_H_14(double *state, double *unused, double *out_6479942040976007844);
void pose_predict(double *in_x, double *in_P, double *in_Q, double dt);
}
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.