This commit is contained in:
firestar5683
2026-04-29 14:25:51 -05:00
parent 04dbd8d0fd
commit 3e82e773a9
37 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.
+1 -1
View File
@@ -1,2 +1,2 @@
extern const uint8_t gitversion[19];
const uint8_t gitversion[19] = "DEV-be77164d-DEBUG";
const uint8_t gitversion[19] = "DEV-04dbd8d0-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.
+1 -1
View File
@@ -1 +1 @@
DEV-be77164d-DEBUG
DEV-04dbd8d0-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_700264796655131929) {
out_700264796655131929[0] = delta_x[0] + nom_x[0];
out_700264796655131929[1] = delta_x[1] + nom_x[1];
out_700264796655131929[2] = delta_x[2] + nom_x[2];
out_700264796655131929[3] = delta_x[3] + nom_x[3];
out_700264796655131929[4] = delta_x[4] + nom_x[4];
out_700264796655131929[5] = delta_x[5] + nom_x[5];
out_700264796655131929[6] = delta_x[6] + nom_x[6];
out_700264796655131929[7] = delta_x[7] + nom_x[7];
out_700264796655131929[8] = delta_x[8] + nom_x[8];
void err_fun(double *nom_x, double *delta_x, double *out_411609516403737386) {
out_411609516403737386[0] = delta_x[0] + nom_x[0];
out_411609516403737386[1] = delta_x[1] + nom_x[1];
out_411609516403737386[2] = delta_x[2] + nom_x[2];
out_411609516403737386[3] = delta_x[3] + nom_x[3];
out_411609516403737386[4] = delta_x[4] + nom_x[4];
out_411609516403737386[5] = delta_x[5] + nom_x[5];
out_411609516403737386[6] = delta_x[6] + nom_x[6];
out_411609516403737386[7] = delta_x[7] + nom_x[7];
out_411609516403737386[8] = delta_x[8] + nom_x[8];
}
void inv_err_fun(double *nom_x, double *true_x, double *out_107082048498982835) {
out_107082048498982835[0] = -nom_x[0] + true_x[0];
out_107082048498982835[1] = -nom_x[1] + true_x[1];
out_107082048498982835[2] = -nom_x[2] + true_x[2];
out_107082048498982835[3] = -nom_x[3] + true_x[3];
out_107082048498982835[4] = -nom_x[4] + true_x[4];
out_107082048498982835[5] = -nom_x[5] + true_x[5];
out_107082048498982835[6] = -nom_x[6] + true_x[6];
out_107082048498982835[7] = -nom_x[7] + true_x[7];
out_107082048498982835[8] = -nom_x[8] + true_x[8];
void inv_err_fun(double *nom_x, double *true_x, double *out_7082078735183717431) {
out_7082078735183717431[0] = -nom_x[0] + true_x[0];
out_7082078735183717431[1] = -nom_x[1] + true_x[1];
out_7082078735183717431[2] = -nom_x[2] + true_x[2];
out_7082078735183717431[3] = -nom_x[3] + true_x[3];
out_7082078735183717431[4] = -nom_x[4] + true_x[4];
out_7082078735183717431[5] = -nom_x[5] + true_x[5];
out_7082078735183717431[6] = -nom_x[6] + true_x[6];
out_7082078735183717431[7] = -nom_x[7] + true_x[7];
out_7082078735183717431[8] = -nom_x[8] + true_x[8];
}
void H_mod_fun(double *state, double *out_7423992576013844798) {
out_7423992576013844798[0] = 1.0;
out_7423992576013844798[1] = 0.0;
out_7423992576013844798[2] = 0.0;
out_7423992576013844798[3] = 0.0;
out_7423992576013844798[4] = 0.0;
out_7423992576013844798[5] = 0.0;
out_7423992576013844798[6] = 0.0;
out_7423992576013844798[7] = 0.0;
out_7423992576013844798[8] = 0.0;
out_7423992576013844798[9] = 0.0;
out_7423992576013844798[10] = 1.0;
out_7423992576013844798[11] = 0.0;
out_7423992576013844798[12] = 0.0;
out_7423992576013844798[13] = 0.0;
out_7423992576013844798[14] = 0.0;
out_7423992576013844798[15] = 0.0;
out_7423992576013844798[16] = 0.0;
out_7423992576013844798[17] = 0.0;
out_7423992576013844798[18] = 0.0;
out_7423992576013844798[19] = 0.0;
out_7423992576013844798[20] = 1.0;
out_7423992576013844798[21] = 0.0;
out_7423992576013844798[22] = 0.0;
out_7423992576013844798[23] = 0.0;
out_7423992576013844798[24] = 0.0;
out_7423992576013844798[25] = 0.0;
out_7423992576013844798[26] = 0.0;
out_7423992576013844798[27] = 0.0;
out_7423992576013844798[28] = 0.0;
out_7423992576013844798[29] = 0.0;
out_7423992576013844798[30] = 1.0;
out_7423992576013844798[31] = 0.0;
out_7423992576013844798[32] = 0.0;
out_7423992576013844798[33] = 0.0;
out_7423992576013844798[34] = 0.0;
out_7423992576013844798[35] = 0.0;
out_7423992576013844798[36] = 0.0;
out_7423992576013844798[37] = 0.0;
out_7423992576013844798[38] = 0.0;
out_7423992576013844798[39] = 0.0;
out_7423992576013844798[40] = 1.0;
out_7423992576013844798[41] = 0.0;
out_7423992576013844798[42] = 0.0;
out_7423992576013844798[43] = 0.0;
out_7423992576013844798[44] = 0.0;
out_7423992576013844798[45] = 0.0;
out_7423992576013844798[46] = 0.0;
out_7423992576013844798[47] = 0.0;
out_7423992576013844798[48] = 0.0;
out_7423992576013844798[49] = 0.0;
out_7423992576013844798[50] = 1.0;
out_7423992576013844798[51] = 0.0;
out_7423992576013844798[52] = 0.0;
out_7423992576013844798[53] = 0.0;
out_7423992576013844798[54] = 0.0;
out_7423992576013844798[55] = 0.0;
out_7423992576013844798[56] = 0.0;
out_7423992576013844798[57] = 0.0;
out_7423992576013844798[58] = 0.0;
out_7423992576013844798[59] = 0.0;
out_7423992576013844798[60] = 1.0;
out_7423992576013844798[61] = 0.0;
out_7423992576013844798[62] = 0.0;
out_7423992576013844798[63] = 0.0;
out_7423992576013844798[64] = 0.0;
out_7423992576013844798[65] = 0.0;
out_7423992576013844798[66] = 0.0;
out_7423992576013844798[67] = 0.0;
out_7423992576013844798[68] = 0.0;
out_7423992576013844798[69] = 0.0;
out_7423992576013844798[70] = 1.0;
out_7423992576013844798[71] = 0.0;
out_7423992576013844798[72] = 0.0;
out_7423992576013844798[73] = 0.0;
out_7423992576013844798[74] = 0.0;
out_7423992576013844798[75] = 0.0;
out_7423992576013844798[76] = 0.0;
out_7423992576013844798[77] = 0.0;
out_7423992576013844798[78] = 0.0;
out_7423992576013844798[79] = 0.0;
out_7423992576013844798[80] = 1.0;
void H_mod_fun(double *state, double *out_1390740467130861487) {
out_1390740467130861487[0] = 1.0;
out_1390740467130861487[1] = 0.0;
out_1390740467130861487[2] = 0.0;
out_1390740467130861487[3] = 0.0;
out_1390740467130861487[4] = 0.0;
out_1390740467130861487[5] = 0.0;
out_1390740467130861487[6] = 0.0;
out_1390740467130861487[7] = 0.0;
out_1390740467130861487[8] = 0.0;
out_1390740467130861487[9] = 0.0;
out_1390740467130861487[10] = 1.0;
out_1390740467130861487[11] = 0.0;
out_1390740467130861487[12] = 0.0;
out_1390740467130861487[13] = 0.0;
out_1390740467130861487[14] = 0.0;
out_1390740467130861487[15] = 0.0;
out_1390740467130861487[16] = 0.0;
out_1390740467130861487[17] = 0.0;
out_1390740467130861487[18] = 0.0;
out_1390740467130861487[19] = 0.0;
out_1390740467130861487[20] = 1.0;
out_1390740467130861487[21] = 0.0;
out_1390740467130861487[22] = 0.0;
out_1390740467130861487[23] = 0.0;
out_1390740467130861487[24] = 0.0;
out_1390740467130861487[25] = 0.0;
out_1390740467130861487[26] = 0.0;
out_1390740467130861487[27] = 0.0;
out_1390740467130861487[28] = 0.0;
out_1390740467130861487[29] = 0.0;
out_1390740467130861487[30] = 1.0;
out_1390740467130861487[31] = 0.0;
out_1390740467130861487[32] = 0.0;
out_1390740467130861487[33] = 0.0;
out_1390740467130861487[34] = 0.0;
out_1390740467130861487[35] = 0.0;
out_1390740467130861487[36] = 0.0;
out_1390740467130861487[37] = 0.0;
out_1390740467130861487[38] = 0.0;
out_1390740467130861487[39] = 0.0;
out_1390740467130861487[40] = 1.0;
out_1390740467130861487[41] = 0.0;
out_1390740467130861487[42] = 0.0;
out_1390740467130861487[43] = 0.0;
out_1390740467130861487[44] = 0.0;
out_1390740467130861487[45] = 0.0;
out_1390740467130861487[46] = 0.0;
out_1390740467130861487[47] = 0.0;
out_1390740467130861487[48] = 0.0;
out_1390740467130861487[49] = 0.0;
out_1390740467130861487[50] = 1.0;
out_1390740467130861487[51] = 0.0;
out_1390740467130861487[52] = 0.0;
out_1390740467130861487[53] = 0.0;
out_1390740467130861487[54] = 0.0;
out_1390740467130861487[55] = 0.0;
out_1390740467130861487[56] = 0.0;
out_1390740467130861487[57] = 0.0;
out_1390740467130861487[58] = 0.0;
out_1390740467130861487[59] = 0.0;
out_1390740467130861487[60] = 1.0;
out_1390740467130861487[61] = 0.0;
out_1390740467130861487[62] = 0.0;
out_1390740467130861487[63] = 0.0;
out_1390740467130861487[64] = 0.0;
out_1390740467130861487[65] = 0.0;
out_1390740467130861487[66] = 0.0;
out_1390740467130861487[67] = 0.0;
out_1390740467130861487[68] = 0.0;
out_1390740467130861487[69] = 0.0;
out_1390740467130861487[70] = 1.0;
out_1390740467130861487[71] = 0.0;
out_1390740467130861487[72] = 0.0;
out_1390740467130861487[73] = 0.0;
out_1390740467130861487[74] = 0.0;
out_1390740467130861487[75] = 0.0;
out_1390740467130861487[76] = 0.0;
out_1390740467130861487[77] = 0.0;
out_1390740467130861487[78] = 0.0;
out_1390740467130861487[79] = 0.0;
out_1390740467130861487[80] = 1.0;
}
void f_fun(double *state, double dt, double *out_1496483947477544324) {
out_1496483947477544324[0] = state[0];
out_1496483947477544324[1] = state[1];
out_1496483947477544324[2] = state[2];
out_1496483947477544324[3] = state[3];
out_1496483947477544324[4] = state[4];
out_1496483947477544324[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_1496483947477544324[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_1496483947477544324[7] = state[7];
out_1496483947477544324[8] = state[8];
void f_fun(double *state, double dt, double *out_2246396216540142177) {
out_2246396216540142177[0] = state[0];
out_2246396216540142177[1] = state[1];
out_2246396216540142177[2] = state[2];
out_2246396216540142177[3] = state[3];
out_2246396216540142177[4] = state[4];
out_2246396216540142177[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_2246396216540142177[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_2246396216540142177[7] = state[7];
out_2246396216540142177[8] = state[8];
}
void F_fun(double *state, double dt, double *out_5799168133787523639) {
out_5799168133787523639[0] = 1;
out_5799168133787523639[1] = 0;
out_5799168133787523639[2] = 0;
out_5799168133787523639[3] = 0;
out_5799168133787523639[4] = 0;
out_5799168133787523639[5] = 0;
out_5799168133787523639[6] = 0;
out_5799168133787523639[7] = 0;
out_5799168133787523639[8] = 0;
out_5799168133787523639[9] = 0;
out_5799168133787523639[10] = 1;
out_5799168133787523639[11] = 0;
out_5799168133787523639[12] = 0;
out_5799168133787523639[13] = 0;
out_5799168133787523639[14] = 0;
out_5799168133787523639[15] = 0;
out_5799168133787523639[16] = 0;
out_5799168133787523639[17] = 0;
out_5799168133787523639[18] = 0;
out_5799168133787523639[19] = 0;
out_5799168133787523639[20] = 1;
out_5799168133787523639[21] = 0;
out_5799168133787523639[22] = 0;
out_5799168133787523639[23] = 0;
out_5799168133787523639[24] = 0;
out_5799168133787523639[25] = 0;
out_5799168133787523639[26] = 0;
out_5799168133787523639[27] = 0;
out_5799168133787523639[28] = 0;
out_5799168133787523639[29] = 0;
out_5799168133787523639[30] = 1;
out_5799168133787523639[31] = 0;
out_5799168133787523639[32] = 0;
out_5799168133787523639[33] = 0;
out_5799168133787523639[34] = 0;
out_5799168133787523639[35] = 0;
out_5799168133787523639[36] = 0;
out_5799168133787523639[37] = 0;
out_5799168133787523639[38] = 0;
out_5799168133787523639[39] = 0;
out_5799168133787523639[40] = 1;
out_5799168133787523639[41] = 0;
out_5799168133787523639[42] = 0;
out_5799168133787523639[43] = 0;
out_5799168133787523639[44] = 0;
out_5799168133787523639[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_5799168133787523639[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_5799168133787523639[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_5799168133787523639[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_5799168133787523639[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_5799168133787523639[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_5799168133787523639[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_5799168133787523639[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_5799168133787523639[53] = -9.8100000000000005*dt;
out_5799168133787523639[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_5799168133787523639[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_5799168133787523639[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_5799168133787523639[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_5799168133787523639[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_5799168133787523639[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_5799168133787523639[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_5799168133787523639[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_5799168133787523639[62] = 0;
out_5799168133787523639[63] = 0;
out_5799168133787523639[64] = 0;
out_5799168133787523639[65] = 0;
out_5799168133787523639[66] = 0;
out_5799168133787523639[67] = 0;
out_5799168133787523639[68] = 0;
out_5799168133787523639[69] = 0;
out_5799168133787523639[70] = 1;
out_5799168133787523639[71] = 0;
out_5799168133787523639[72] = 0;
out_5799168133787523639[73] = 0;
out_5799168133787523639[74] = 0;
out_5799168133787523639[75] = 0;
out_5799168133787523639[76] = 0;
out_5799168133787523639[77] = 0;
out_5799168133787523639[78] = 0;
out_5799168133787523639[79] = 0;
out_5799168133787523639[80] = 1;
void F_fun(double *state, double dt, double *out_3263326103915417388) {
out_3263326103915417388[0] = 1;
out_3263326103915417388[1] = 0;
out_3263326103915417388[2] = 0;
out_3263326103915417388[3] = 0;
out_3263326103915417388[4] = 0;
out_3263326103915417388[5] = 0;
out_3263326103915417388[6] = 0;
out_3263326103915417388[7] = 0;
out_3263326103915417388[8] = 0;
out_3263326103915417388[9] = 0;
out_3263326103915417388[10] = 1;
out_3263326103915417388[11] = 0;
out_3263326103915417388[12] = 0;
out_3263326103915417388[13] = 0;
out_3263326103915417388[14] = 0;
out_3263326103915417388[15] = 0;
out_3263326103915417388[16] = 0;
out_3263326103915417388[17] = 0;
out_3263326103915417388[18] = 0;
out_3263326103915417388[19] = 0;
out_3263326103915417388[20] = 1;
out_3263326103915417388[21] = 0;
out_3263326103915417388[22] = 0;
out_3263326103915417388[23] = 0;
out_3263326103915417388[24] = 0;
out_3263326103915417388[25] = 0;
out_3263326103915417388[26] = 0;
out_3263326103915417388[27] = 0;
out_3263326103915417388[28] = 0;
out_3263326103915417388[29] = 0;
out_3263326103915417388[30] = 1;
out_3263326103915417388[31] = 0;
out_3263326103915417388[32] = 0;
out_3263326103915417388[33] = 0;
out_3263326103915417388[34] = 0;
out_3263326103915417388[35] = 0;
out_3263326103915417388[36] = 0;
out_3263326103915417388[37] = 0;
out_3263326103915417388[38] = 0;
out_3263326103915417388[39] = 0;
out_3263326103915417388[40] = 1;
out_3263326103915417388[41] = 0;
out_3263326103915417388[42] = 0;
out_3263326103915417388[43] = 0;
out_3263326103915417388[44] = 0;
out_3263326103915417388[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_3263326103915417388[46] = -dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(mass*pow(state[1], 2));
out_3263326103915417388[47] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3263326103915417388[48] = -dt*stiffness_front*state[0]/(mass*state[1]);
out_3263326103915417388[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_3263326103915417388[50] = dt*(-stiffness_front*state[0] - stiffness_rear*state[0])/(mass*state[4]) + 1;
out_3263326103915417388[51] = dt*(-state[4] + (-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(mass*state[4]));
out_3263326103915417388[52] = dt*stiffness_front*state[0]/(mass*state[1]);
out_3263326103915417388[53] = -9.8100000000000005*dt;
out_3263326103915417388[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_3263326103915417388[55] = -center_to_front*dt*stiffness_front*(-state[2] - state[3] + state[7])*state[0]/(rotational_inertia*pow(state[1], 2));
out_3263326103915417388[56] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3263326103915417388[57] = -center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3263326103915417388[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_3263326103915417388[59] = dt*(-center_to_front*stiffness_front*state[0] + center_to_rear*stiffness_rear*state[0])/(rotational_inertia*state[4]);
out_3263326103915417388[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_3263326103915417388[61] = center_to_front*dt*stiffness_front*state[0]/(rotational_inertia*state[1]);
out_3263326103915417388[62] = 0;
out_3263326103915417388[63] = 0;
out_3263326103915417388[64] = 0;
out_3263326103915417388[65] = 0;
out_3263326103915417388[66] = 0;
out_3263326103915417388[67] = 0;
out_3263326103915417388[68] = 0;
out_3263326103915417388[69] = 0;
out_3263326103915417388[70] = 1;
out_3263326103915417388[71] = 0;
out_3263326103915417388[72] = 0;
out_3263326103915417388[73] = 0;
out_3263326103915417388[74] = 0;
out_3263326103915417388[75] = 0;
out_3263326103915417388[76] = 0;
out_3263326103915417388[77] = 0;
out_3263326103915417388[78] = 0;
out_3263326103915417388[79] = 0;
out_3263326103915417388[80] = 1;
}
void h_25(double *state, double *unused, double *out_4510188062326144511) {
out_4510188062326144511[0] = state[6];
void h_25(double *state, double *unused, double *out_7774150008233015132) {
out_7774150008233015132[0] = state[6];
}
void H_25(double *state, double *unused, double *out_1340165284045423799) {
out_1340165284045423799[0] = 0;
out_1340165284045423799[1] = 0;
out_1340165284045423799[2] = 0;
out_1340165284045423799[3] = 0;
out_1340165284045423799[4] = 0;
out_1340165284045423799[5] = 0;
out_1340165284045423799[6] = 1;
out_1340165284045423799[7] = 0;
out_1340165284045423799[8] = 0;
void H_25(double *state, double *unused, double *out_1594416823404739290) {
out_1594416823404739290[0] = 0;
out_1594416823404739290[1] = 0;
out_1594416823404739290[2] = 0;
out_1594416823404739290[3] = 0;
out_1594416823404739290[4] = 0;
out_1594416823404739290[5] = 0;
out_1594416823404739290[6] = 1;
out_1594416823404739290[7] = 0;
out_1594416823404739290[8] = 0;
}
void h_24(double *state, double *unused, double *out_9153409952546890921) {
out_9153409952546890921[0] = state[4];
out_9153409952546890921[1] = state[5];
void h_24(double *state, double *unused, double *out_3517564190390228050) {
out_3517564190390228050[0] = state[4];
out_3517564190390228050[1] = state[5];
}
void H_24(double *state, double *unused, double *out_4898090882847746935) {
out_4898090882847746935[0] = 0;
out_4898090882847746935[1] = 0;
out_4898090882847746935[2] = 0;
out_4898090882847746935[3] = 0;
out_4898090882847746935[4] = 1;
out_4898090882847746935[5] = 0;
out_4898090882847746935[6] = 0;
out_4898090882847746935[7] = 0;
out_4898090882847746935[8] = 0;
out_4898090882847746935[9] = 0;
out_4898090882847746935[10] = 0;
out_4898090882847746935[11] = 0;
out_4898090882847746935[12] = 0;
out_4898090882847746935[13] = 0;
out_4898090882847746935[14] = 1;
out_4898090882847746935[15] = 0;
out_4898090882847746935[16] = 0;
out_4898090882847746935[17] = 0;
void H_24(double *state, double *unused, double *out_5823974810272187603) {
out_5823974810272187603[0] = 0;
out_5823974810272187603[1] = 0;
out_5823974810272187603[2] = 0;
out_5823974810272187603[3] = 0;
out_5823974810272187603[4] = 1;
out_5823974810272187603[5] = 0;
out_5823974810272187603[6] = 0;
out_5823974810272187603[7] = 0;
out_5823974810272187603[8] = 0;
out_5823974810272187603[9] = 0;
out_5823974810272187603[10] = 0;
out_5823974810272187603[11] = 0;
out_5823974810272187603[12] = 0;
out_5823974810272187603[13] = 0;
out_5823974810272187603[14] = 1;
out_5823974810272187603[15] = 0;
out_5823974810272187603[16] = 0;
out_5823974810272187603[17] = 0;
}
void h_30(double *state, double *unused, double *out_3253077194494527930) {
out_3253077194494527930[0] = state[4];
void h_30(double *state, double *unused, double *out_3901758839126185548) {
out_3901758839126185548[0] = state[4];
}
void H_30(double *state, double *unused, double *out_3858498242552672426) {
out_3858498242552672426[0] = 0;
out_3858498242552672426[1] = 0;
out_3858498242552672426[2] = 0;
out_3858498242552672426[3] = 0;
out_3858498242552672426[4] = 1;
out_3858498242552672426[5] = 0;
out_3858498242552672426[6] = 0;
out_3858498242552672426[7] = 0;
out_3858498242552672426[8] = 0;
void H_30(double *state, double *unused, double *out_923916135102509337) {
out_923916135102509337[0] = 0;
out_923916135102509337[1] = 0;
out_923916135102509337[2] = 0;
out_923916135102509337[3] = 0;
out_923916135102509337[4] = 1;
out_923916135102509337[5] = 0;
out_923916135102509337[6] = 0;
out_923916135102509337[7] = 0;
out_923916135102509337[8] = 0;
}
void h_26(double *state, double *unused, double *out_3957832291759693581) {
out_3957832291759693581[0] = state[7];
void h_26(double *state, double *unused, double *out_4894550625139811592) {
out_4894550625139811592[0] = state[7];
}
void H_26(double *state, double *unused, double *out_2401338034828632425) {
out_2401338034828632425[0] = 0;
out_2401338034828632425[1] = 0;
out_2401338034828632425[2] = 0;
out_2401338034828632425[3] = 0;
out_2401338034828632425[4] = 0;
out_2401338034828632425[5] = 0;
out_2401338034828632425[6] = 0;
out_2401338034828632425[7] = 1;
out_2401338034828632425[8] = 0;
void H_26(double *state, double *unused, double *out_5335920142278795514) {
out_5335920142278795514[0] = 0;
out_5335920142278795514[1] = 0;
out_5335920142278795514[2] = 0;
out_5335920142278795514[3] = 0;
out_5335920142278795514[4] = 0;
out_5335920142278795514[5] = 0;
out_5335920142278795514[6] = 0;
out_5335920142278795514[7] = 1;
out_5335920142278795514[8] = 0;
}
void h_27(double *state, double *unused, double *out_8058270523824692017) {
out_8058270523824692017[0] = state[3];
void h_27(double *state, double *unused, double *out_8717659861134677567) {
out_8717659861134677567[0] = state[3];
}
void H_27(double *state, double *unused, double *out_1683734930752247515) {
out_1683734930752247515[0] = 0;
out_1683734930752247515[1] = 0;
out_1683734930752247515[2] = 0;
out_1683734930752247515[3] = 1;
out_1683734930752247515[4] = 0;
out_1683734930752247515[5] = 0;
out_1683734930752247515[6] = 0;
out_1683734930752247515[7] = 0;
out_1683734930752247515[8] = 0;
void H_27(double *state, double *unused, double *out_1250847176697915574) {
out_1250847176697915574[0] = 0;
out_1250847176697915574[1] = 0;
out_1250847176697915574[2] = 0;
out_1250847176697915574[3] = 1;
out_1250847176697915574[4] = 0;
out_1250847176697915574[5] = 0;
out_1250847176697915574[6] = 0;
out_1250847176697915574[7] = 0;
out_1250847176697915574[8] = 0;
}
void h_29(double *state, double *unused, double *out_4420820995570669667) {
out_4420820995570669667[0] = state[1];
void h_29(double *state, double *unused, double *out_1089206735856332165) {
out_1089206735856332165[0] = state[1];
}
void H_29(double *state, double *unused, double *out_4368729586867064610) {
out_4368729586867064610[0] = 0;
out_4368729586867064610[1] = 1;
out_4368729586867064610[2] = 0;
out_4368729586867064610[3] = 0;
out_4368729586867064610[4] = 0;
out_4368729586867064610[5] = 0;
out_4368729586867064610[6] = 0;
out_4368729586867064610[7] = 0;
out_4368729586867064610[8] = 0;
void H_29(double *state, double *unused, double *out_1434147479416901521) {
out_1434147479416901521[0] = 0;
out_1434147479416901521[1] = 1;
out_1434147479416901521[2] = 0;
out_1434147479416901521[3] = 0;
out_1434147479416901521[4] = 0;
out_1434147479416901521[5] = 0;
out_1434147479416901521[6] = 0;
out_1434147479416901521[7] = 0;
out_1434147479416901521[8] = 0;
}
void h_28(double *state, double *unused, double *out_7076186430489393905) {
out_7076186430489393905[0] = state[0];
void h_28(double *state, double *unused, double *out_3715986593473831922) {
out_3715986593473831922[0] = state[0];
}
void H_28(double *state, double *unused, double *out_713669430202465964) {
out_713669430202465964[0] = 1;
out_713669430202465964[1] = 0;
out_713669430202465964[2] = 0;
out_713669430202465964[3] = 0;
out_713669430202465964[4] = 0;
out_713669430202465964[5] = 0;
out_713669430202465964[6] = 0;
out_713669430202465964[7] = 0;
out_713669430202465964[8] = 0;
void H_28(double *state, double *unused, double *out_3648251537652629053) {
out_3648251537652629053[0] = 1;
out_3648251537652629053[1] = 0;
out_3648251537652629053[2] = 0;
out_3648251537652629053[3] = 0;
out_3648251537652629053[4] = 0;
out_3648251537652629053[5] = 0;
out_3648251537652629053[6] = 0;
out_3648251537652629053[7] = 0;
out_3648251537652629053[8] = 0;
}
void h_31(double *state, double *unused, double *out_8265185813124548370) {
out_8265185813124548370[0] = state[8];
void h_31(double *state, double *unused, double *out_10884751412342691) {
out_10884751412342691[0] = state[8];
}
void H_31(double *state, double *unused, double *out_3027546137061983901) {
out_3027546137061983901[0] = 0;
out_3027546137061983901[1] = 0;
out_3027546137061983901[2] = 0;
out_3027546137061983901[3] = 0;
out_3027546137061983901[4] = 0;
out_3027546137061983901[5] = 0;
out_3027546137061983901[6] = 0;
out_3027546137061983901[7] = 0;
out_3027546137061983901[8] = 1;
void H_31(double *state, double *unused, double *out_5962128244512146990) {
out_5962128244512146990[0] = 0;
out_5962128244512146990[1] = 0;
out_5962128244512146990[2] = 0;
out_5962128244512146990[3] = 0;
out_5962128244512146990[4] = 0;
out_5962128244512146990[5] = 0;
out_5962128244512146990[6] = 0;
out_5962128244512146990[7] = 0;
out_5962128244512146990[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_700264796655131929) {
err_fun(nom_x, delta_x, out_700264796655131929);
void car_err_fun(double *nom_x, double *delta_x, double *out_411609516403737386) {
err_fun(nom_x, delta_x, out_411609516403737386);
}
void car_inv_err_fun(double *nom_x, double *true_x, double *out_107082048498982835) {
inv_err_fun(nom_x, true_x, out_107082048498982835);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_7082078735183717431) {
inv_err_fun(nom_x, true_x, out_7082078735183717431);
}
void car_H_mod_fun(double *state, double *out_7423992576013844798) {
H_mod_fun(state, out_7423992576013844798);
void car_H_mod_fun(double *state, double *out_1390740467130861487) {
H_mod_fun(state, out_1390740467130861487);
}
void car_f_fun(double *state, double dt, double *out_1496483947477544324) {
f_fun(state, dt, out_1496483947477544324);
void car_f_fun(double *state, double dt, double *out_2246396216540142177) {
f_fun(state, dt, out_2246396216540142177);
}
void car_F_fun(double *state, double dt, double *out_5799168133787523639) {
F_fun(state, dt, out_5799168133787523639);
void car_F_fun(double *state, double dt, double *out_3263326103915417388) {
F_fun(state, dt, out_3263326103915417388);
}
void car_h_25(double *state, double *unused, double *out_4510188062326144511) {
h_25(state, unused, out_4510188062326144511);
void car_h_25(double *state, double *unused, double *out_7774150008233015132) {
h_25(state, unused, out_7774150008233015132);
}
void car_H_25(double *state, double *unused, double *out_1340165284045423799) {
H_25(state, unused, out_1340165284045423799);
void car_H_25(double *state, double *unused, double *out_1594416823404739290) {
H_25(state, unused, out_1594416823404739290);
}
void car_h_24(double *state, double *unused, double *out_9153409952546890921) {
h_24(state, unused, out_9153409952546890921);
void car_h_24(double *state, double *unused, double *out_3517564190390228050) {
h_24(state, unused, out_3517564190390228050);
}
void car_H_24(double *state, double *unused, double *out_4898090882847746935) {
H_24(state, unused, out_4898090882847746935);
void car_H_24(double *state, double *unused, double *out_5823974810272187603) {
H_24(state, unused, out_5823974810272187603);
}
void car_h_30(double *state, double *unused, double *out_3253077194494527930) {
h_30(state, unused, out_3253077194494527930);
void car_h_30(double *state, double *unused, double *out_3901758839126185548) {
h_30(state, unused, out_3901758839126185548);
}
void car_H_30(double *state, double *unused, double *out_3858498242552672426) {
H_30(state, unused, out_3858498242552672426);
void car_H_30(double *state, double *unused, double *out_923916135102509337) {
H_30(state, unused, out_923916135102509337);
}
void car_h_26(double *state, double *unused, double *out_3957832291759693581) {
h_26(state, unused, out_3957832291759693581);
void car_h_26(double *state, double *unused, double *out_4894550625139811592) {
h_26(state, unused, out_4894550625139811592);
}
void car_H_26(double *state, double *unused, double *out_2401338034828632425) {
H_26(state, unused, out_2401338034828632425);
void car_H_26(double *state, double *unused, double *out_5335920142278795514) {
H_26(state, unused, out_5335920142278795514);
}
void car_h_27(double *state, double *unused, double *out_8058270523824692017) {
h_27(state, unused, out_8058270523824692017);
void car_h_27(double *state, double *unused, double *out_8717659861134677567) {
h_27(state, unused, out_8717659861134677567);
}
void car_H_27(double *state, double *unused, double *out_1683734930752247515) {
H_27(state, unused, out_1683734930752247515);
void car_H_27(double *state, double *unused, double *out_1250847176697915574) {
H_27(state, unused, out_1250847176697915574);
}
void car_h_29(double *state, double *unused, double *out_4420820995570669667) {
h_29(state, unused, out_4420820995570669667);
void car_h_29(double *state, double *unused, double *out_1089206735856332165) {
h_29(state, unused, out_1089206735856332165);
}
void car_H_29(double *state, double *unused, double *out_4368729586867064610) {
H_29(state, unused, out_4368729586867064610);
void car_H_29(double *state, double *unused, double *out_1434147479416901521) {
H_29(state, unused, out_1434147479416901521);
}
void car_h_28(double *state, double *unused, double *out_7076186430489393905) {
h_28(state, unused, out_7076186430489393905);
void car_h_28(double *state, double *unused, double *out_3715986593473831922) {
h_28(state, unused, out_3715986593473831922);
}
void car_H_28(double *state, double *unused, double *out_713669430202465964) {
H_28(state, unused, out_713669430202465964);
void car_H_28(double *state, double *unused, double *out_3648251537652629053) {
H_28(state, unused, out_3648251537652629053);
}
void car_h_31(double *state, double *unused, double *out_8265185813124548370) {
h_31(state, unused, out_8265185813124548370);
void car_h_31(double *state, double *unused, double *out_10884751412342691) {
h_31(state, unused, out_10884751412342691);
}
void car_H_31(double *state, double *unused, double *out_3027546137061983901) {
H_31(state, unused, out_3027546137061983901);
void car_H_31(double *state, double *unused, double *out_5962128244512146990) {
H_31(state, unused, out_5962128244512146990);
}
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_700264796655131929);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_107082048498982835);
void car_H_mod_fun(double *state, double *out_7423992576013844798);
void car_f_fun(double *state, double dt, double *out_1496483947477544324);
void car_F_fun(double *state, double dt, double *out_5799168133787523639);
void car_h_25(double *state, double *unused, double *out_4510188062326144511);
void car_H_25(double *state, double *unused, double *out_1340165284045423799);
void car_h_24(double *state, double *unused, double *out_9153409952546890921);
void car_H_24(double *state, double *unused, double *out_4898090882847746935);
void car_h_30(double *state, double *unused, double *out_3253077194494527930);
void car_H_30(double *state, double *unused, double *out_3858498242552672426);
void car_h_26(double *state, double *unused, double *out_3957832291759693581);
void car_H_26(double *state, double *unused, double *out_2401338034828632425);
void car_h_27(double *state, double *unused, double *out_8058270523824692017);
void car_H_27(double *state, double *unused, double *out_1683734930752247515);
void car_h_29(double *state, double *unused, double *out_4420820995570669667);
void car_H_29(double *state, double *unused, double *out_4368729586867064610);
void car_h_28(double *state, double *unused, double *out_7076186430489393905);
void car_H_28(double *state, double *unused, double *out_713669430202465964);
void car_h_31(double *state, double *unused, double *out_8265185813124548370);
void car_H_31(double *state, double *unused, double *out_3027546137061983901);
void car_err_fun(double *nom_x, double *delta_x, double *out_411609516403737386);
void car_inv_err_fun(double *nom_x, double *true_x, double *out_7082078735183717431);
void car_H_mod_fun(double *state, double *out_1390740467130861487);
void car_f_fun(double *state, double dt, double *out_2246396216540142177);
void car_F_fun(double *state, double dt, double *out_3263326103915417388);
void car_h_25(double *state, double *unused, double *out_7774150008233015132);
void car_H_25(double *state, double *unused, double *out_1594416823404739290);
void car_h_24(double *state, double *unused, double *out_3517564190390228050);
void car_H_24(double *state, double *unused, double *out_5823974810272187603);
void car_h_30(double *state, double *unused, double *out_3901758839126185548);
void car_H_30(double *state, double *unused, double *out_923916135102509337);
void car_h_26(double *state, double *unused, double *out_4894550625139811592);
void car_H_26(double *state, double *unused, double *out_5335920142278795514);
void car_h_27(double *state, double *unused, double *out_8717659861134677567);
void car_H_27(double *state, double *unused, double *out_1250847176697915574);
void car_h_29(double *state, double *unused, double *out_1089206735856332165);
void car_H_29(double *state, double *unused, double *out_1434147479416901521);
void car_h_28(double *state, double *unused, double *out_3715986593473831922);
void car_H_28(double *state, double *unused, double *out_3648251537652629053);
void car_h_31(double *state, double *unused, double *out_10884751412342691);
void car_H_31(double *state, double *unused, double *out_5962128244512146990);
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_5792379923597347601);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_3127222841440964837);
void pose_H_mod_fun(double *state, double *out_1474962527938332194);
void pose_f_fun(double *state, double dt, double *out_8107096558916273409);
void pose_F_fun(double *state, double dt, double *out_3803993622350295832);
void pose_h_4(double *state, double *unused, double *out_2415773389544840251);
void pose_H_4(double *state, double *unused, double *out_4675372429039802218);
void pose_h_10(double *state, double *unused, double *out_2790393475270154159);
void pose_H_10(double *state, double *unused, double *out_6532362201945156818);
void pose_h_13(double *state, double *unused, double *out_7195971841206647407);
void pose_H_13(double *state, double *unused, double *out_2935258779276898711);
void pose_h_14(double *state, double *unused, double *out_6081561149972683319);
void pose_H_14(double *state, double *unused, double *out_712131572700317689);
void pose_err_fun(double *nom_x, double *delta_x, double *out_3060982030804230470);
void pose_inv_err_fun(double *nom_x, double *true_x, double *out_1893009693429340384);
void pose_H_mod_fun(double *state, double *out_8923486826760505000);
void pose_f_fun(double *state, double dt, double *out_6932327335752377632);
void pose_F_fun(double *state, double dt, double *out_3364331378734993426);
void pose_h_4(double *state, double *unused, double *out_2331867789495253821);
void pose_H_4(double *state, double *unused, double *out_7103788100854208139);
void pose_h_10(double *state, double *unused, double *out_6139878679209159095);
void pose_H_10(double *state, double *unused, double *out_1053793302334783175);
void pose_h_13(double *state, double *unused, double *out_1682911552899262681);
void pose_H_13(double *state, double *unused, double *out_3732324764538642548);
void pose_h_14(double *state, double *unused, double *out_7957741524853228127);
void pose_H_14(double *state, double *unused, double *out_4020999668558835843);
void pose_predict(double *in_x, double *in_P, double *in_Q, double dt);
}
BIN
View File
Binary file not shown.