├── CMakeLists.txt ├── LICENSE ├── README.md ├── config ├── Multirotor.svg ├── PlotJuggler_Layout.xml ├── PlotJuggler_Layout_kinetic.xml ├── lissajous_trajectory.bag └── quad_params.yaml ├── include └── geom_inertia_estimator │ ├── calc_EKF_F_optimized │ ├── buildInfo.mat │ ├── calc_EKF_F_optimized.cpp │ ├── calc_EKF_F_optimized.h │ ├── calc_EKF_F_optimized_initialize.cpp │ ├── calc_EKF_F_optimized_initialize.h │ ├── calc_EKF_F_optimized_ref.rsp │ ├── calc_EKF_F_optimized_rtw.mk │ ├── calc_EKF_F_optimized_terminate.cpp │ ├── calc_EKF_F_optimized_terminate.h │ ├── calc_EKF_F_optimized_types.h │ ├── codeInfo.mat │ ├── codedescriptor.dmr │ ├── examples │ │ ├── main.cpp │ │ └── main.h │ ├── gcGuiReport.mat │ ├── html │ │ ├── calc_EKF_F_optimized1_mcode.html │ │ ├── calc_EKF_F_optimized1_watch.html │ │ ├── calc_EKF_F_optimized_buildlog1.html │ │ ├── calc_EKF_F_optimized_buildlog2.html │ │ ├── calc_EKF_F_optimized_buildlog3.html │ │ ├── calc_EKF_F_optimized_buildlog4.html │ │ ├── calc_EKF_F_optimized_cpp.html │ │ ├── calc_EKF_F_optimized_h.html │ │ ├── calc_EKF_F_optimized_initialize_cpp.html │ │ ├── calc_EKF_F_optimized_initialize_h.html │ │ ├── calc_EKF_F_optimized_terminate_cpp.html │ │ ├── calc_EKF_F_optimized_terminate_h.html │ │ ├── calc_EKF_F_optimized_types_h.html │ │ ├── contents_file.tmp │ │ ├── exported_values.mat │ │ ├── hilite_warning.png │ │ ├── index.css │ │ ├── index.html │ │ ├── main_h.html │ │ ├── metrics.html │ │ ├── report.mldatx │ │ ├── resources │ │ │ ├── Error_document.gif │ │ │ ├── Fatal_document.gif │ │ │ ├── Warning_document.gif │ │ │ ├── cc_sourcecodec.png │ │ │ ├── collapsible-last.gif │ │ │ ├── collapsible.gif │ │ │ ├── cs_document_check.png │ │ │ ├── cs_document_error.png │ │ │ ├── cs_document_warning.png │ │ │ ├── cs_folder_close_check.png │ │ │ ├── cs_folder_close_error.png │ │ │ ├── cs_folder_close_warning.png │ │ │ ├── cs_folder_open_check.png │ │ │ ├── cs_folder_open_error.png │ │ │ ├── cs_folder_open_warning.png │ │ │ ├── css │ │ │ │ └── coder_app.css │ │ │ ├── emcvhtml.js │ │ │ ├── eml_report.css │ │ │ ├── eml_report_interactions.js │ │ │ ├── eml_report_layout.js │ │ │ ├── eml_report_loadable_data.js │ │ │ ├── expandable-last.gif │ │ │ ├── expandable.gif │ │ │ ├── folderclosed.gif │ │ │ ├── folderopen.gif │ │ │ ├── help.png │ │ │ ├── hilite_warning.png │ │ │ ├── inspect.html │ │ │ ├── jQuery │ │ │ │ ├── jquery-1.3.2.min.js │ │ │ │ ├── jquery-ui-1.7.custom.min.js │ │ │ │ ├── jquery.hotkeys-0.7.8.js │ │ │ │ ├── jquery.tablesorter.mod.js │ │ │ │ └── ui.resizable.css │ │ │ ├── js │ │ │ │ └── coder_app.js │ │ │ ├── leaf-last.gif │ │ │ ├── leaf.gif │ │ │ ├── matlab-report-styles.css │ │ │ ├── mhighlight.css │ │ │ ├── nav.html │ │ │ ├── navToolbar.html │ │ │ ├── nolines_minus.gif │ │ │ ├── nolines_plus.gif │ │ │ ├── range_highlighter.js │ │ │ ├── right_arrow.gif │ │ │ ├── rtwannotate.js │ │ │ ├── rtwcodemetricsreport_utils.js │ │ │ ├── rtwhilite.js │ │ │ ├── rtwmsg.html │ │ │ ├── rtwreport.css │ │ │ ├── rtwreport_utils.js │ │ │ ├── rtwshrink.js │ │ │ ├── search.js │ │ │ ├── spinner.gif │ │ │ ├── status_failed.png │ │ │ ├── status_passed.png │ │ │ ├── status_warning.png │ │ │ ├── tablesorter_bkgrd.png │ │ │ ├── texture_blue.png │ │ │ ├── texture_gray1.png │ │ │ ├── texture_gray2.png │ │ │ └── webview_codegen.js │ │ ├── rtGetInf_cpp.html │ │ ├── rtGetInf_h.html │ │ ├── rtGetNaN_cpp.html │ │ ├── rtGetNaN_h.html │ │ ├── rt_defines_h.html │ │ ├── rt_nonfinite_cpp.html │ │ ├── rt_nonfinite_h.html │ │ ├── rtwshrink.js │ │ ├── rtwtypes_h.html │ │ ├── sign_cpp.html │ │ ├── sign_h.html │ │ ├── sqrt_cpp.html │ │ └── sqrt_h.html │ ├── interface │ │ ├── _coder_calc_EKF_F_optimized_api.c │ │ ├── _coder_calc_EKF_F_optimized_api.h │ │ ├── _coder_calc_EKF_F_optimized_info.c │ │ ├── _coder_calc_EKF_F_optimized_info.h │ │ ├── _coder_calc_EKF_F_optimized_mex.cpp │ │ └── _coder_calc_EKF_F_optimized_mex.h │ ├── rtGetInf.cpp │ ├── rtGetInf.h │ ├── rtGetNaN.cpp │ ├── rtGetNaN.h │ ├── rt_defines.h │ ├── rt_nonfinite.cpp │ ├── rt_nonfinite.h │ ├── rtw_proj.tmw │ ├── rtwtypes.h │ ├── sign.cpp │ ├── sign.h │ ├── sqrt.cpp │ └── sqrt.h │ ├── calc_EKF_H_imu_optimized_simple │ ├── buildInfo.mat │ ├── calc_EKF_H_imu_optimized_simple.cpp │ ├── calc_EKF_H_imu_optimized_simple.h │ ├── calc_EKF_H_imu_optimized_simple_initialize.cpp │ ├── calc_EKF_H_imu_optimized_simple_initialize.h │ ├── calc_EKF_H_imu_optimized_simple_ref.rsp │ ├── calc_EKF_H_imu_optimized_simple_rtw.mk │ ├── calc_EKF_H_imu_optimized_simple_terminate.cpp │ ├── calc_EKF_H_imu_optimized_simple_terminate.h │ ├── calc_EKF_H_imu_optimized_simple_types.h │ ├── codeInfo.mat │ ├── codedescriptor.dmr │ ├── examples │ │ ├── main.cpp │ │ └── main.h │ ├── gcGuiReport.mat │ ├── html │ │ ├── calc_EKF_H_imu_optimized_simple1_mcode.html │ │ ├── calc_EKF_H_imu_optimized_simple1_watch.html │ │ ├── calc_EKF_H_imu_optimized_simple_buildlog1.html │ │ ├── calc_EKF_H_imu_optimized_simple_buildlog2.html │ │ ├── calc_EKF_H_imu_optimized_simple_buildlog3.html │ │ ├── calc_EKF_H_imu_optimized_simple_buildlog4.html │ │ ├── calc_EKF_H_imu_optimized_simple_cpp.html │ │ ├── calc_EKF_H_imu_optimized_simple_h.html │ │ ├── calc_EKF_H_imu_optimized_simple_initialize_cpp.html │ │ ├── calc_EKF_H_imu_optimized_simple_initialize_h.html │ │ ├── calc_EKF_H_imu_optimized_simple_terminate_cpp.html │ │ ├── calc_EKF_H_imu_optimized_simple_terminate_h.html │ │ ├── calc_EKF_H_imu_optimized_simple_types_h.html │ │ ├── contents_file.tmp │ │ ├── exported_values.mat │ │ ├── hilite_warning.png │ │ ├── index.css │ │ ├── index.html │ │ ├── main_h.html │ │ ├── metrics.html │ │ ├── report.mldatx │ │ ├── resources │ │ │ ├── Error_document.gif │ │ │ ├── Fatal_document.gif │ │ │ ├── Warning_document.gif │ │ │ ├── cc_sourcecodec.png │ │ │ ├── collapsible-last.gif │ │ │ ├── collapsible.gif │ │ │ ├── cs_document_check.png │ │ │ ├── cs_document_error.png │ │ │ ├── cs_document_warning.png │ │ │ ├── cs_folder_close_check.png │ │ │ ├── cs_folder_close_error.png │ │ │ ├── cs_folder_close_warning.png │ │ │ ├── cs_folder_open_check.png │ │ │ ├── cs_folder_open_error.png │ │ │ ├── cs_folder_open_warning.png │ │ │ ├── css │ │ │ │ └── coder_app.css │ │ │ ├── emcvhtml.js │ │ │ ├── eml_report.css │ │ │ ├── eml_report_interactions.js │ │ │ ├── eml_report_layout.js │ │ │ ├── eml_report_loadable_data.js │ │ │ ├── expandable-last.gif │ │ │ ├── expandable.gif │ │ │ ├── folderclosed.gif │ │ │ ├── folderopen.gif │ │ │ ├── help.png │ │ │ ├── hilite_warning.png │ │ │ ├── inspect.html │ │ │ ├── jQuery │ │ │ │ ├── jquery-1.3.2.min.js │ │ │ │ ├── jquery-ui-1.7.custom.min.js │ │ │ │ ├── jquery.hotkeys-0.7.8.js │ │ │ │ ├── jquery.tablesorter.mod.js │ │ │ │ └── ui.resizable.css │ │ │ ├── js │ │ │ │ └── coder_app.js │ │ │ ├── leaf-last.gif │ │ │ ├── leaf.gif │ │ │ ├── matlab-report-styles.css │ │ │ ├── mhighlight.css │ │ │ ├── nav.html │ │ │ ├── navToolbar.html │ │ │ ├── nolines_minus.gif │ │ │ ├── nolines_plus.gif │ │ │ ├── range_highlighter.js │ │ │ ├── right_arrow.gif │ │ │ ├── rtwannotate.js │ │ │ ├── rtwcodemetricsreport_utils.js │ │ │ ├── rtwhilite.js │ │ │ ├── rtwmsg.html │ │ │ ├── rtwreport.css │ │ │ ├── rtwreport_utils.js │ │ │ ├── rtwshrink.js │ │ │ ├── search.js │ │ │ ├── spinner.gif │ │ │ ├── status_failed.png │ │ │ ├── status_passed.png │ │ │ ├── status_warning.png │ │ │ ├── tablesorter_bkgrd.png │ │ │ ├── texture_blue.png │ │ │ ├── texture_gray1.png │ │ │ ├── texture_gray2.png │ │ │ └── webview_codegen.js │ │ ├── rtGetInf_cpp.html │ │ ├── rtGetInf_h.html │ │ ├── rtGetNaN_cpp.html │ │ ├── rtGetNaN_h.html │ │ ├── rt_nonfinite_cpp.html │ │ ├── rt_nonfinite_h.html │ │ ├── rtwshrink.js │ │ └── rtwtypes_h.html │ ├── interface │ │ ├── _coder_calc_EKF_H_imu_optimized_simple_api.c │ │ ├── _coder_calc_EKF_H_imu_optimized_simple_api.h │ │ ├── _coder_calc_EKF_H_imu_optimized_simple_info.c │ │ ├── _coder_calc_EKF_H_imu_optimized_simple_info.h │ │ ├── _coder_calc_EKF_H_imu_optimized_simple_mex.cpp │ │ └── _coder_calc_EKF_H_imu_optimized_simple_mex.h │ ├── rtGetInf.cpp │ ├── rtGetInf.h │ ├── rtGetNaN.cpp │ ├── rtGetNaN.h │ ├── rt_nonfinite.cpp │ ├── rt_nonfinite.h │ ├── rtw_proj.tmw │ └── rtwtypes.h │ ├── calc_EKF_H_odom_optimized_simple │ ├── buildInfo.mat │ ├── calc_EKF_H_odom_optimized_simple.cpp │ ├── calc_EKF_H_odom_optimized_simple.h │ ├── calc_EKF_H_odom_optimized_simple_initialize.cpp │ ├── calc_EKF_H_odom_optimized_simple_initialize.h │ ├── calc_EKF_H_odom_optimized_simple_ref.rsp │ ├── calc_EKF_H_odom_optimized_simple_rtw.mk │ ├── calc_EKF_H_odom_optimized_simple_terminate.cpp │ ├── calc_EKF_H_odom_optimized_simple_terminate.h │ ├── calc_EKF_H_odom_optimized_simple_types.h │ ├── codeInfo.mat │ ├── codedescriptor.dmr │ ├── examples │ │ ├── main.cpp │ │ └── main.h │ ├── gcGuiReport.mat │ ├── html │ │ ├── calc_EKF_H_odom_optimized_simple1_mcode.html │ │ ├── calc_EKF_H_odom_optimized_simple1_watch.html │ │ ├── calc_EKF_H_odom_optimized_simple_buildlog1.html │ │ ├── calc_EKF_H_odom_optimized_simple_buildlog2.html │ │ ├── calc_EKF_H_odom_optimized_simple_buildlog3.html │ │ ├── calc_EKF_H_odom_optimized_simple_buildlog4.html │ │ ├── calc_EKF_H_odom_optimized_simple_cpp.html │ │ ├── calc_EKF_H_odom_optimized_simple_h.html │ │ ├── calc_EKF_H_odom_optimized_simple_initialize_cpp.html │ │ ├── calc_EKF_H_odom_optimized_simple_initialize_h.html │ │ ├── calc_EKF_H_odom_optimized_simple_terminate_cpp.html │ │ ├── calc_EKF_H_odom_optimized_simple_terminate_h.html │ │ ├── calc_EKF_H_odom_optimized_simple_types_h.html │ │ ├── contents_file.tmp │ │ ├── exported_values.mat │ │ ├── hilite_warning.png │ │ ├── index.css │ │ ├── index.html │ │ ├── main_h.html │ │ ├── metrics.html │ │ ├── report.mldatx │ │ ├── resources │ │ │ ├── Error_document.gif │ │ │ ├── Fatal_document.gif │ │ │ ├── Warning_document.gif │ │ │ ├── cc_sourcecodec.png │ │ │ ├── collapsible-last.gif │ │ │ ├── collapsible.gif │ │ │ ├── cs_document_check.png │ │ │ ├── cs_document_error.png │ │ │ ├── cs_document_warning.png │ │ │ ├── cs_folder_close_check.png │ │ │ ├── cs_folder_close_error.png │ │ │ ├── cs_folder_close_warning.png │ │ │ ├── cs_folder_open_check.png │ │ │ ├── cs_folder_open_error.png │ │ │ ├── cs_folder_open_warning.png │ │ │ ├── css │ │ │ │ └── coder_app.css │ │ │ ├── emcvhtml.js │ │ │ ├── eml_report.css │ │ │ ├── eml_report_interactions.js │ │ │ ├── eml_report_layout.js │ │ │ ├── eml_report_loadable_data.js │ │ │ ├── expandable-last.gif │ │ │ ├── expandable.gif │ │ │ ├── folderclosed.gif │ │ │ ├── folderopen.gif │ │ │ ├── help.png │ │ │ ├── hilite_warning.png │ │ │ ├── inspect.html │ │ │ ├── jQuery │ │ │ │ ├── jquery-1.3.2.min.js │ │ │ │ ├── jquery-ui-1.7.custom.min.js │ │ │ │ ├── jquery.hotkeys-0.7.8.js │ │ │ │ ├── jquery.tablesorter.mod.js │ │ │ │ └── ui.resizable.css │ │ │ ├── js │ │ │ │ └── coder_app.js │ │ │ ├── leaf-last.gif │ │ │ ├── leaf.gif │ │ │ ├── matlab-report-styles.css │ │ │ ├── mhighlight.css │ │ │ ├── nav.html │ │ │ ├── navToolbar.html │ │ │ ├── nolines_minus.gif │ │ │ ├── nolines_plus.gif │ │ │ ├── range_highlighter.js │ │ │ ├── right_arrow.gif │ │ │ ├── rtwannotate.js │ │ │ ├── rtwcodemetricsreport_utils.js │ │ │ ├── rtwhilite.js │ │ │ ├── rtwmsg.html │ │ │ ├── rtwreport.css │ │ │ ├── rtwreport_utils.js │ │ │ ├── rtwshrink.js │ │ │ ├── search.js │ │ │ ├── spinner.gif │ │ │ ├── status_failed.png │ │ │ ├── status_passed.png │ │ │ ├── status_warning.png │ │ │ ├── tablesorter_bkgrd.png │ │ │ ├── texture_blue.png │ │ │ ├── texture_gray1.png │ │ │ ├── texture_gray2.png │ │ │ └── webview_codegen.js │ │ ├── rtGetInf_cpp.html │ │ ├── rtGetInf_h.html │ │ ├── rtGetNaN_cpp.html │ │ ├── rtGetNaN_h.html │ │ ├── rt_nonfinite_cpp.html │ │ ├── rt_nonfinite_h.html │ │ ├── rtwshrink.js │ │ └── rtwtypes_h.html │ ├── interface │ │ ├── _coder_calc_EKF_H_odom_optimized_simple_api.c │ │ ├── _coder_calc_EKF_H_odom_optimized_simple_api.h │ │ ├── _coder_calc_EKF_H_odom_optimized_simple_info.c │ │ ├── _coder_calc_EKF_H_odom_optimized_simple_info.h │ │ ├── _coder_calc_EKF_H_odom_optimized_simple_mex.cpp │ │ └── _coder_calc_EKF_H_odom_optimized_simple_mex.h │ ├── rtGetInf.cpp │ ├── rtGetInf.h │ ├── rtGetNaN.cpp │ ├── rtGetNaN.h │ ├── rt_nonfinite.cpp │ ├── rt_nonfinite.h │ ├── rtw_proj.tmw │ └── rtwtypes.h │ ├── geom_inertia_estimator.h │ └── v_tools.h ├── launch └── estimator.launch ├── msg ├── MotorRPM.msg └── ParameterEstimates.msg ├── package.xml └── src ├── geom_inertia_estimator.cpp ├── geom_inertia_estimator_node.cpp └── v_tools.cpp /config/lissajous_trajectory.bag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/config/lissajous_trajectory.bag -------------------------------------------------------------------------------- /config/quad_params.yaml: -------------------------------------------------------------------------------- 1 | # measurement noise IMU in its own frame 2 | RImu: 3 | Omega: {x: 3.0e-2, y: 3.0e-2, z: 3.0e-2} 4 | a: {x: 4.84, y: 4.84, z: 4.84} 5 | 6 | # process model uncertainty 7 | Qx: [7.5e-3, 7.5e-3, 7.5e-3, # q 8 | 1.0e-3, 1.0e-3, 1.0e-3, # r 9 | 1.0e-2, 1.0e-2, 1.0e-2, # v 10 | 7.5e-1, 7.5e-1, 7.5e-1, # Omega 11 | 2.50e-7, # m 12 | 5.0e-11, 5.0e-11, 5.0e-11, # I 13 | 4.0e-8, 4.0e-8, 4.0e-8, # r_BM 14 | 4.0e-8, 4.0e-8, 4.0e-8, # r_BP 15 | 4.0e-8, 4.0e-8, # r_BI 16 | 1.0e-4, 1.0e-4, 1.0e-4, # b_a 17 | 1.0e-6, 1.0e-6, 1.0e-6] # b_Omega 18 | 19 | # initialization state variables 20 | x0: 21 | m: 0.369 22 | I: {x: 8.4238e-04, y: 8.4238e-04, z: 8.4238e-04} 23 | r_BM: {x: 0.0, y: 0.0, z: 0.0} 24 | r_BP: {x: 0.0, y: 0.0, z: 0.0} 25 | r_BI: {x: 0.0, y: 0.0} 26 | # m: 0.2463 27 | # I: {x: 0.623e-3, y: 0.678e-3, z: 1.076e-3} 28 | # r_BM: {x: 3.0e-3, y: -0.5e-3, z: 25.0e-3} 29 | # r_BP: {x: 42.42e-3, y: 16.38e-3, z: 0.0e-3} 30 | # r_BI: {x: 42.42e-3, y: 16.38e-3} 31 | 32 | # initialization state covariance 33 | P0: 34 | v: {x: 5.0, y: 5.0, z: 5.0} #{x: 1.0e-2, y: 1.0e-2, z: 1.0e-2} # 35 | m: 6.0e-2 36 | I: {x: 3.9e-7, y: 3.9e-7, z: 3.9e-7} 37 | r_BM: {x: 2.5e-3, y: 2.5e-3, z: 2.5e-3} 38 | r_BP: {x: 2.5e-3, y: 2.5e-3, z: 2.5e-3} 39 | r_BI: {x: 2.5e-3, y: 2.5e-3} 40 | b_a: {x: 4.0, y: 4.0, z: 4.0} 41 | b_Omega: {x: 1.0, y: 1.0, z: 1.0} 42 | 43 | # UKF tuning parameters 44 | UKF: 45 | alpha: 0.4 46 | beta: 2.0 47 | kappa: 0.0 48 | 49 | # attitude pose sensor - 3x3 rotation matrix (row major) 50 | R_BP: [ 1.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, -1.0] 51 | 52 | # attitude IMU - 3x3 rotation matrix (row major) 53 | R_BI: [ 1.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, -1.0] 54 | 55 | # rotor properties 56 | multirotor: 57 | rotor1: # have only as many "rotor(i)" as there are on the multirotor 58 | kf: 4.179e-9 # rotor thrust coefficient - Unit: [N/rpm^2] 59 | km: 3.97005e-11 # rotor drag moment coefficient - positive if counter-clockwise, negative if clockwise 60 | R: [ 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0] # rotor attitude - row major matrix 61 | t: [ 0.071, 0.08, 0.0] # rotor position 62 | rotor2: 63 | kf: 4.179e-9 64 | km: -3.97005e-11 65 | R: [ 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0] 66 | t: [ -0.071, 0.08, 0.0] 67 | rotor3: 68 | kf: 4.179e-9 69 | km: 3.97005e-11 70 | R: [ 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0] 71 | t: [ -0.071, -0.08, 0.0] 72 | rotor4: 73 | kf: 4.179e-9 74 | km: -3.97005e-11 75 | R: [ 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0] 76 | t: [ 0.071, -0.08, 0.0] 77 | 78 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/buildInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/buildInfo.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/calc_EKF_F_optimized.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_F_optimized.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | #ifndef CALC_EKF_F_OPTIMIZED_H 11 | #define CALC_EKF_F_OPTIMIZED_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "rt_defines.h" 20 | #include "rt_nonfinite.h" 21 | #include "rtwtypes.h" 22 | #include "calc_EKF_F_optimized_types.h" 23 | 24 | // Function Declarations 25 | extern void calc_EKF_F_optimized(double qLx, double qLy, double qLz, double rx, 26 | double ry, double rz, double vx, double vy, double vz, double Omegax, double 27 | Omegay, double Omegaz, double mtot, double Itotxx, double Itotyy, double 28 | Itotzz, double t_GeomCogX, double t_GeomCogY, double t_GeomCogZ, double 29 | t_GeomOdomX, double t_GeomOdomY, double t_GeomOdomZ, double t_GeomImuX, double 30 | t_GeomImuY, double ImuBiasAccX, double ImuBiasAccY, double ImuBiasAccZ, double 31 | ImuBiasAngVelX, double ImuBiasAngVelY, double ImuBiasAngVelZ, double motor1, 32 | double motor2, double motor3, double motor4, double dt, double t_GeomImuZ, 33 | double w, double l, double c, double k_f, double F[900]); 34 | 35 | #endif 36 | 37 | // 38 | // File trailer for calc_EKF_F_optimized.h 39 | // 40 | // [EOF] 41 | // 42 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/calc_EKF_F_optimized_initialize.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_F_optimized_initialize.cpp 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | 11 | // Include Files 12 | #include "rt_nonfinite.h" 13 | #include "calc_EKF_F_optimized.h" 14 | #include "calc_EKF_F_optimized_initialize.h" 15 | 16 | // Function Definitions 17 | 18 | // 19 | // Arguments : void 20 | // Return Type : void 21 | // 22 | void calc_EKF_F_optimized_initialize() 23 | { 24 | rt_InitInfAndNaN(8U); 25 | } 26 | 27 | // 28 | // File trailer for calc_EKF_F_optimized_initialize.cpp 29 | // 30 | // [EOF] 31 | // 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/calc_EKF_F_optimized_initialize.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_F_optimized_initialize.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | #ifndef CALC_EKF_F_OPTIMIZED_INITIALIZE_H 11 | #define CALC_EKF_F_OPTIMIZED_INITIALIZE_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "rt_defines.h" 20 | #include "rt_nonfinite.h" 21 | #include "rtwtypes.h" 22 | #include "calc_EKF_F_optimized_types.h" 23 | 24 | // Function Declarations 25 | extern void calc_EKF_F_optimized_initialize(); 26 | 27 | #endif 28 | 29 | // 30 | // File trailer for calc_EKF_F_optimized_initialize.h 31 | // 32 | // [EOF] 33 | // 34 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/calc_EKF_F_optimized_ref.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/calc_EKF_F_optimized_ref.rsp -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/calc_EKF_F_optimized_terminate.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_F_optimized_terminate.cpp 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | 11 | // Include Files 12 | #include "rt_nonfinite.h" 13 | #include "calc_EKF_F_optimized.h" 14 | #include "calc_EKF_F_optimized_terminate.h" 15 | 16 | // Function Definitions 17 | 18 | // 19 | // Arguments : void 20 | // Return Type : void 21 | // 22 | void calc_EKF_F_optimized_terminate() 23 | { 24 | // (no terminate code required) 25 | } 26 | 27 | // 28 | // File trailer for calc_EKF_F_optimized_terminate.cpp 29 | // 30 | // [EOF] 31 | // 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/calc_EKF_F_optimized_terminate.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_F_optimized_terminate.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | #ifndef CALC_EKF_F_OPTIMIZED_TERMINATE_H 11 | #define CALC_EKF_F_OPTIMIZED_TERMINATE_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "rt_defines.h" 20 | #include "rt_nonfinite.h" 21 | #include "rtwtypes.h" 22 | #include "calc_EKF_F_optimized_types.h" 23 | 24 | // Function Declarations 25 | extern void calc_EKF_F_optimized_terminate(); 26 | 27 | #endif 28 | 29 | // 30 | // File trailer for calc_EKF_F_optimized_terminate.h 31 | // 32 | // [EOF] 33 | // 34 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/calc_EKF_F_optimized_types.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_F_optimized_types.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | #ifndef CALC_EKF_F_OPTIMIZED_TYPES_H 11 | #define CALC_EKF_F_OPTIMIZED_TYPES_H 12 | 13 | // Include Files 14 | #include "rtwtypes.h" 15 | #endif 16 | 17 | // 18 | // File trailer for calc_EKF_F_optimized_types.h 19 | // 20 | // [EOF] 21 | // 22 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/codeInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/codeInfo.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/codedescriptor.dmr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/codedescriptor.dmr -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/examples/main.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: main.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | 11 | //*********************************************************************** 12 | // This automatically generated example C main file shows how to call 13 | // entry-point functions that MATLAB Coder generated. You must customize 14 | // this file for your application. Do not modify this file directly. 15 | // Instead, make a copy of this file, modify it, and integrate it into 16 | // your development environment. 17 | // 18 | // This file initializes entry-point function arguments to a default 19 | // size and value before calling the entry-point functions. It does 20 | // not store or use any values returned from the entry-point functions. 21 | // If necessary, it does pre-allocate memory for returned values. 22 | // You can use this file as a starting point for a main function that 23 | // you can deploy in your application. 24 | // 25 | // After you copy the file, and before you deploy it, you must make the 26 | // following changes: 27 | // * For variable-size function arguments, change the example sizes to 28 | // the sizes that your application requires. 29 | // * Change the example values of function arguments to the values that 30 | // your application requires. 31 | // * If the entry-point functions return values, store these values or 32 | // otherwise use them as required by your application. 33 | // 34 | //*********************************************************************** 35 | #ifndef MAIN_H 36 | #define MAIN_H 37 | 38 | // Include Files 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include "rt_defines.h" 45 | #include "rt_nonfinite.h" 46 | #include "rtwtypes.h" 47 | #include "calc_EKF_F_optimized_types.h" 48 | 49 | // Function Declarations 50 | extern int main(int argc, const char * const argv[]); 51 | 52 | #endif 53 | 54 | // 55 | // File trailer for main.h 56 | // 57 | // [EOF] 58 | // 59 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/gcGuiReport.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/gcGuiReport.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/calc_EKF_F_optimized_buildlog1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_F_optimized' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
Build Parameters
Build directory
Make wrapper
Make command
40 |
41 | 42 | 43 |
Build Log
44 |
45 |     1   Compilation suppressed: generating code only.
46 | 
47 |
48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/calc_EKF_F_optimized_buildlog2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_F_optimized' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/calc_EKF_F_optimized_buildlog3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_F_optimized' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/calc_EKF_F_optimized_buildlog4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_F_optimized' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/contents_file.tmp: -------------------------------------------------------------------------------- 1 | 4 | 5 |
2 | Generated Source Files 3 |
main.h
6 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/exported_values.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/exported_values.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/hilite_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/hilite_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: sans-serif; 3 | font-size: 9pt; 4 | } 5 | pre.code, pre#RTWcode, .center .lineno { 6 | font:10pt/14pt Courier New; 7 | } 8 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/metrics.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Static Code Metrics Report 5 | 6 | 7 | 8 | 9 |

10 | Static Code Metrics Report 11 |

12 |
13 | 14 |
15 |
16 | 17 |
18 |

19 | Error Report 20 |

21 | 22 | 23 | 26 | 27 | 28 | 29 | 68 | 69 | 70 | 71 |
24 | Static code metrics report was not successfully generated because of the following errors. 25 |
30 | 31 | 32 | 38 | 44 | 50 | 51 | 52 | 53 | 56 | 59 | 62 | 63 | 64 | 65 |
33 | 34 | File 35 | 36 | 37 | 39 | 40 | Line 41 | 42 | 43 | 45 | 46 | Description 47 | 48 | 49 |
54 | /home/valentin/Documents/MATLAB/estim/codegen/lib/calc_EKF_F_optimized/calc_EKF_F_optimized.h 55 | 57 | 14 58 | 60 | cannot open source file "cmath" 61 |
66 | 67 |
72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/report.mldatx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/report.mldatx -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/Error_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/Error_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/Fatal_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/Fatal_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/Warning_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/Warning_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cc_sourcecodec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cc_sourcecodec.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/collapsible-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/collapsible-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/collapsible.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/collapsible.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_document_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_document_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_document_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_document_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_document_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_document_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_close_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_close_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_close_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_close_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_close_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_close_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_open_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_open_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_open_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_open_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_open_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/cs_folder_open_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/eml_report_loadable_data.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The MathWorks, Inc. 2 | 3 | window.addEventListener("load", function load(e) { 4 | parent.postMessage(document.body.innerHTML, '*'); 5 | window.removeEventListener("load", load, false); 6 | }); 7 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/expandable-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/expandable-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/expandable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/expandable.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/folderclosed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/folderclosed.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/folderopen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/folderopen.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/help.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/hilite_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/hilite_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/inspect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 34 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/jQuery/ui.resizable.css: -------------------------------------------------------------------------------- 1 | /* Resizable 2 | ----------------------------------*/ 3 | .ui-resizable { position: relative;} 4 | .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} 5 | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } 6 | .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; } 7 | .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; } 8 | .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; } 9 | .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; } 10 | .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } 11 | .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } 12 | .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } 13 | .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/leaf-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/leaf-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/leaf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/leaf.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/matlab-report-styles.css: -------------------------------------------------------------------------------- 1 | /* Copyright 1984-2013 The MathWorks, Inc. */ 2 | 3 | PRE { 4 | font-size: 100%; 5 | } 6 | 7 | .mono { 8 | font-family: monospace; 9 | font-size: 100%; 10 | } 11 | 12 | .head { 13 | font-weight: bold; 14 | } 15 | 16 | .report-head { 17 | padding: 8px; 18 | font-size: 150%; 19 | font-weight: bold; 20 | background: #008; 21 | color: #FFF; 22 | } 23 | 24 | .report-desc { 25 | margin-top:-8px; 26 | margin-bottom:4px; 27 | } 28 | 29 | .subdir-top { 30 | border-top:1px solid #CCC; 31 | margin-top:8px; 32 | margin-bottom:2px; 33 | } 34 | 35 | .subdir-bottom { 36 | border-top:1px solid #CCC; 37 | margin-top:4px; 38 | margin-bottom:8px; 39 | } 40 | 41 | .grayline { 42 | border-top:1px solid #CCC; 43 | margin-top:4px; 44 | margin-bottom:4px; 45 | } 46 | 47 | .td-linetop { 48 | border-top:1px solid #BBB; 49 | } 50 | 51 | .td-dashtop { 52 | border-top:1px dotted #CCC; 53 | background-color: #F0F0F0; 54 | } 55 | 56 | .td-linetopleft { 57 | border-top:1px solid #BBB; 58 | border-left:1px solid #BBB; 59 | } 60 | 61 | .td-dashtopleft { 62 | border-top:1px dotted #CCC; 63 | border-left:1px solid #BBB; 64 | background-color: #F0F0F0; 65 | } 66 | 67 | .td-linebottomrt { 68 | border-bottom:1px solid #BBB; 69 | border-right:1px solid #BBB; 70 | } 71 | 72 | .td-function { 73 | border-top:1px solid #CCC; 74 | border-left:1px solid #BBB; 75 | background: #F0F8FF; 76 | } 77 | 78 | .td-script { 79 | border-top:1px solid #CCC; 80 | border-left:1px solid #BBB; 81 | background: #FFE; 82 | } 83 | 84 | .td-cellscript { 85 | border-top:1px solid #CCC; 86 | background: #FFF; 87 | } 88 | 89 | 90 | /* */ 91 | 92 | .soft { 93 | color: #888; 94 | } 95 | 96 | .warning { 97 | background: #FFC0C0; 98 | } 99 | 100 | .xtrainfo { 101 | font-family: monospace; 102 | padding-left:3em; 103 | padding-bottom:0px; 104 | margin-bottom:-1em; 105 | } 106 | 107 | #FunctionListingTable{ 108 | border:0px; 109 | border-spacing:0px; 110 | border-collapse:collapse; 111 | } 112 | 113 | #FunctionListingTable tr { 114 | padding:0px; 115 | border:0px; 116 | } 117 | 118 | #FunctionListingTable th { 119 | text-align:center; 120 | } 121 | 122 | #FunctionListingTable th.leftAligned { 123 | text-align:left; 124 | } 125 | 126 | #FunctionListingTable pre { 127 | margin:0px; 128 | } 129 | 130 | #FunctionListingTable th > pre > span { 131 | font-weight:bold; 132 | text-decoration:none; 133 | } 134 | 135 | #FunctionListingTable td { 136 | padding:0px; 137 | text-align:center; 138 | } 139 | 140 | #FunctionListingTable td.leftAligned { 141 | padding:0px; 142 | text-align:left; 143 | } 144 | 145 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/mhighlight.css: -------------------------------------------------------------------------------- 1 | span.keyword {color: #0000FF} 2 | span.comment {color: #228B22} 3 | span.string {color: #A020F0} 4 | span.untermstring {color: #B20000} 5 | span.syscmd {color: #B28C00} 6 | 7 | div.code { 8 | cursor:default; 9 | } -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/nav.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/nolines_minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/nolines_minus.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/nolines_plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/nolines_plus.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/right_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/right_arrow.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/rtwcodemetricsreport_utils.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The MathWorks, Inc. 2 | 3 | //Poll for metrics.js on 5 second intervals 4 | function getCodeMetricsByPolling(ctThreshold, intervalPeriod){ 5 | if(ctThreshold === undefined){ 6 | ctThreshold = 1000; 7 | } 8 | if(intervalPeriod === undefined){ 9 | intervalPeriod = 5000; 10 | } 11 | var intervalId; 12 | var ct=0; 13 | //function to get code metrics 14 | function getCodeMetrics(){ 15 | cm = CodeMetrics.instance; 16 | var alink = document.getElementById("metricsLocation"); 17 | alink.innerHTML = cm.codeMetricsSummary; 18 | } 19 | if (typeof CodeMetrics !== "undefined"){ 20 | getCodeMetrics(); 21 | } 22 | else{ 23 | intervalId = window.setInterval(function(){ 24 | //Try reinclude metrics to check if CodeMetrics are available 25 | ct = ct + 1; 26 | if (ct > ctThreshold){ 27 | // Clear if elapsed time is 1000x5 seconds 28 | clearInterval(intervalId); 29 | var alink = document.getElementById("metricsLocation"); 30 | alink.innerHTML = 'Error generating code metrics'; 31 | } 32 | else{ 33 | var metricsScript = document.getElementById('metrics'); 34 | if(metricsScript !== null){ 35 | metricsScript.parentNode.removeChild(metricsScript); 36 | } 37 | var jsElm = document.createElement("script"); 38 | jsElm.type = "application/javascript"; 39 | jsElm.src = "metrics.js"; 40 | jsElm.id = "metrics"; 41 | document.getElementsByTagName('head')[0].appendChild(jsElm); 42 | if (typeof CodeMetrics !== "undefined"){ 43 | clearInterval(intervalId); 44 | getCodeMetrics(); 45 | } 46 | } 47 | }, intervalPeriod); 48 | } 49 | } -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/rtwmsg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Block-to-Code Highlighting Message 5 | 6 | 7 | 8 |

Block-to-Code Highlighting Message

9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/rtwreport_utils.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011-2013 The MathWorks, Inc. 2 | 3 | 4 | function local_onload() { 5 | if (typeof top.rtwreport_document_frame !== "undefined") { 6 | var docObj = window.document; 7 | var alink = docObj.getElementById("linkToText_plain"); 8 | if (alink) { 9 | alink.href = "matlab:coder.internal.editUrlTextFile('" + alink.href + "')"; 10 | } 11 | alink = docObj.getElementById("linkToCS"); 12 | if (alink) { 13 | alink.href = "matlab:coder.internal.viewCodeConfigsetFromReport('" + alink.href + "');"; 14 | } 15 | } 16 | } 17 | 18 | var utils = (function() { 19 | 20 | // Load via Microsoft.XMLDOM--for older versions of IE 21 | function loadXML_MSXMLDOM(filename, callback, async) { 22 | if (navigator.appName == "Microsoft Internet Explorer") { 23 | // Internet Explorer 5/6 24 | try { 25 | var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 26 | xmlDoc.async = async; 27 | xmlDoc.onreadystatechange = function() { 28 | if (xmlDoc.readyState == 4) { 29 | callback(xmlDoc); 30 | } 31 | } 32 | xmlDoc.load(filename); 33 | return true; 34 | } catch(e) { 35 | } 36 | } 37 | return false; 38 | } 39 | 40 | // Load via XMLHttpRequest 41 | function loadXML_XHR(filename, callback, async) { 42 | if (window.XMLHttpRequest) { 43 | try { 44 | var xhr = new XMLHttpRequest(); 45 | xhr.onreadystatechange = function() { 46 | if (this.readyState == 4) { 47 | callback(this.responseXML); 48 | } 49 | } 50 | xhr.open("GET", filename, async); 51 | xhr.send(""); 52 | return true; 53 | } catch(e) { 54 | if (navigator.appName === "Netscape" && e.code === 1012) { 55 | // file not found: ignore 56 | return true; 57 | } 58 | } 59 | } 60 | return false; 61 | } 62 | 63 | return { 64 | trimText: function(s) { 65 | // In IE9, String.trim not present 66 | if (s && s.trim) { 67 | return s.trim(); 68 | } 69 | else { 70 | return s; 71 | } 72 | }, 73 | getText: function(elt) { 74 | // In IE9, use 'text' property rather than 'textContent' 75 | return elt.textContent ? elt.textContent : elt.text; 76 | }, 77 | loadXML: function(filename, callback, options) { 78 | var async = !!options && typeof(options["async"]) !== "undefined" ? options.async : true; 79 | if (!loadXML_XHR(filename, callback, async)) { 80 | if (!loadXML_MSXMLDOM(filename, callback, async)) { 81 | return false; 82 | } 83 | } 84 | return true; 85 | } 86 | }; 87 | })(); 88 | 89 | function code2model(sid) { 90 | utils.loadXML("http://localhost:31415/matlab/feval/coder.internal.code2model?arguments=[\"" + sid + "\"]", function() {}); 91 | //window.location.href = "matlab:coder.internal.code2model('" + sid + "')"; 92 | } 93 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/spinner.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/status_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/status_failed.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/status_passed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/status_passed.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/status_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/status_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/tablesorter_bkgrd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/tablesorter_bkgrd.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/texture_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/texture_blue.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/texture_gray1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/texture_gray1.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/texture_gray2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/texture_gray2.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/html/resources/webview_codegen.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015-2016 The MathWorks, Inc. 3 | */ 4 | function webviewToCodeInit(){document.getElementById("rtw_webview").contentWindow.require(["dojo/dom-style","dojo/topic","dojo/window","dijit/registry"],function(k,m,n,p){var c=p.byId("slwebview"),g=!0,h={traceableColor:"#00cfcf",untraceableColor:"#e8d152",getColor:function(d){return d?this.traceableColor:this.untraceableColor},getStyle:function(d,c){var a=this.getColor(c);return"fill:"+a+"; fill-opacity:0.5; stroke:"+a+";"}},f,l=function(d,e,a){c.open(d).then(function(){var b;if(b=c.getElementViewer())if(f&& 5 | k.set(f,"background",""),b=b.getLineNode(e))k.set(b,"background",a),n.scrollIntoView(b),f=b})};m.subscribe("slwebview/select",function(d,e){var a,b;c.isElement(d)&&g&&(c.unhighlightAll(),a=d.backing.sid,b=e&&e.line?e.line:-1,0<=b&&(a=d.backing.obj_viewer.code_sid+":"+b.toString()),a=top.rtwChangeSysCallback(a),c.highlight(d,h.getStyle(d,a)),0<=b&&l(d,b,h.getColor(a)))});top.codeToWebView=function(d,e){var a=c.getElement(d),b,f;a||(f=d.lastIndexOf(":"),b=d.substring(f+1),a=c.getElement(e));if(a){g= 6 | !1;try{c.open(a.diagram,{nohash:!0}).then(function(){try{c.unhighlightAll(),c.moveToView(a),c.highlight(a,h.getStyle(a,!0)),0<=b?(l(a,b,h.getColor(!0)),c.select(a)):c.select(a.diagram)}finally{g=!0}},function(){g=!0})}catch(k){g=!0}}}})}; 7 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/interface/_coder_calc_EKF_F_optimized_api.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_F_optimized_api.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_F_OPTIMIZED_API_H 12 | #define _CODER_CALC_EKF_F_OPTIMIZED_API_H 13 | 14 | /* Include Files */ 15 | #include "tmwtypes.h" 16 | #include "mex.h" 17 | #include "emlrt.h" 18 | #include 19 | #include 20 | #include "_coder_calc_EKF_F_optimized_api.h" 21 | 22 | /* Variable Declarations */ 23 | extern emlrtCTX emlrtRootTLSGlobal; 24 | extern emlrtContext emlrtContextGlobal; 25 | 26 | /* Function Declarations */ 27 | extern void calc_EKF_F_optimized(real_T qLx, real_T qLy, real_T qLz, real_T rx, 28 | real_T ry, real_T rz, real_T vx, real_T vy, real_T vz, real_T Omegax, real_T 29 | Omegay, real_T Omegaz, real_T mtot, real_T Itotxx, real_T Itotyy, real_T 30 | Itotzz, real_T t_GeomCogX, real_T t_GeomCogY, real_T t_GeomCogZ, real_T 31 | t_GeomOdomX, real_T t_GeomOdomY, real_T t_GeomOdomZ, real_T t_GeomImuX, real_T 32 | t_GeomImuY, real_T ImuBiasAccX, real_T ImuBiasAccY, real_T ImuBiasAccZ, real_T 33 | ImuBiasAngVelX, real_T ImuBiasAngVelY, real_T ImuBiasAngVelZ, real_T motor1, 34 | real_T motor2, real_T motor3, real_T motor4, real_T dt, real_T t_GeomImuZ, 35 | real_T w, real_T l, real_T c, real_T k_f, real_T F[900]); 36 | extern void calc_EKF_F_optimized_api(const mxArray * const prhs[40], const 37 | mxArray *plhs[1]); 38 | extern void calc_EKF_F_optimized_atexit(void); 39 | extern void calc_EKF_F_optimized_initialize(void); 40 | extern void calc_EKF_F_optimized_terminate(void); 41 | extern void calc_EKF_F_optimized_xil_terminate(void); 42 | 43 | #endif 44 | 45 | /* 46 | * File trailer for _coder_calc_EKF_F_optimized_api.h 47 | * 48 | * [EOF] 49 | */ 50 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/interface/_coder_calc_EKF_F_optimized_info.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_F_optimized_info.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_F_OPTIMIZED_INFO_H 12 | #define _CODER_CALC_EKF_F_OPTIMIZED_INFO_H 13 | /* Include Files */ 14 | #include "tmwtypes.h" 15 | #include "mex.h" 16 | #include "emlrt.h" 17 | 18 | 19 | /* Function Declarations */ 20 | extern const mxArray *emlrtMexFcnResolvedFunctionsInfo(); 21 | MEXFUNCTION_LINKAGE mxArray *emlrtMexFcnProperties(); 22 | 23 | #endif 24 | /* 25 | * File trailer for _coder_calc_EKF_F_optimized_info.h 26 | * 27 | * [EOF] 28 | */ 29 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/interface/_coder_calc_EKF_F_optimized_mex.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_F_optimized_mex.cpp 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | /* Include Files */ 12 | #include "_coder_calc_EKF_F_optimized_api.h" 13 | #include "_coder_calc_EKF_F_optimized_mex.h" 14 | 15 | /* Function Declarations */ 16 | static void c_calc_EKF_F_optimized_mexFunct(int32_T nlhs, mxArray *plhs[1], 17 | int32_T nrhs, const mxArray *prhs[40]); 18 | 19 | /* Function Definitions */ 20 | 21 | /* 22 | * Arguments : int32_T nlhs 23 | * const mxArray *plhs[1] 24 | * int32_T nrhs 25 | * const mxArray *prhs[40] 26 | * Return Type : void 27 | */ 28 | static void c_calc_EKF_F_optimized_mexFunct(int32_T nlhs, mxArray *plhs[1], 29 | int32_T nrhs, const mxArray *prhs[40]) 30 | { 31 | const mxArray *inputs[40]; 32 | const mxArray *outputs[1]; 33 | int32_T b_nlhs; 34 | emlrtStack st = { NULL, /* site */ 35 | NULL, /* tls */ 36 | NULL /* prev */ 37 | }; 38 | 39 | st.tls = emlrtRootTLSGlobal; 40 | 41 | /* Check for proper number of arguments. */ 42 | if (nrhs != 40) { 43 | emlrtErrMsgIdAndTxt(&st, "EMLRT:runTime:WrongNumberOfInputs", 5, 12, 40, 4, 44 | 20, "calc_EKF_F_optimized"); 45 | } 46 | 47 | if (nlhs > 1) { 48 | emlrtErrMsgIdAndTxt(&st, "EMLRT:runTime:TooManyOutputArguments", 3, 4, 20, 49 | "calc_EKF_F_optimized"); 50 | } 51 | 52 | /* Temporary copy for mex inputs. */ 53 | if (0 <= nrhs - 1) { 54 | memcpy((void *)&inputs[0], (void *)&prhs[0], (uint32_T)(nrhs * (int32_T) 55 | sizeof(const mxArray *))); 56 | } 57 | 58 | /* Call the function. */ 59 | calc_EKF_F_optimized_api(inputs, outputs); 60 | 61 | /* Copy over outputs to the caller. */ 62 | if (nlhs < 1) { 63 | b_nlhs = 1; 64 | } else { 65 | b_nlhs = nlhs; 66 | } 67 | 68 | emlrtReturnArrays(b_nlhs, plhs, outputs); 69 | 70 | /* Module termination. */ 71 | calc_EKF_F_optimized_terminate(); 72 | } 73 | 74 | /* 75 | * Arguments : int32_T nlhs 76 | * const mxArray * const plhs[] 77 | * int32_T nrhs 78 | * const mxArray * const prhs[] 79 | * Return Type : void 80 | */ 81 | void mexFunction(int32_T nlhs, mxArray *plhs[], int32_T nrhs, const mxArray 82 | *prhs[]) 83 | { 84 | mexAtExit(calc_EKF_F_optimized_atexit); 85 | 86 | /* Initialize the memory manager. */ 87 | /* Module initialization. */ 88 | calc_EKF_F_optimized_initialize(); 89 | 90 | /* Dispatch the entry-point. */ 91 | c_calc_EKF_F_optimized_mexFunct(nlhs, plhs, nrhs, prhs); 92 | } 93 | 94 | /* 95 | * Arguments : void 96 | * Return Type : emlrtCTX 97 | */ 98 | emlrtCTX mexFunctionCreateRootTLS(void) 99 | { 100 | emlrtCreateRootTLS(&emlrtRootTLSGlobal, &emlrtContextGlobal, NULL, 1); 101 | return emlrtRootTLSGlobal; 102 | } 103 | 104 | /* 105 | * File trailer for _coder_calc_EKF_F_optimized_mex.cpp 106 | * 107 | * [EOF] 108 | */ 109 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/interface/_coder_calc_EKF_F_optimized_mex.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_F_optimized_mex.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_F_OPTIMIZED_MEX_H 12 | #define _CODER_CALC_EKF_F_OPTIMIZED_MEX_H 13 | 14 | /* Include Files */ 15 | #include 16 | #include 17 | #include 18 | #include "tmwtypes.h" 19 | #include "mex.h" 20 | #include "emlrt.h" 21 | #include "_coder_calc_EKF_F_optimized_api.h" 22 | 23 | /* Function Declarations */ 24 | extern void mexFunction(int32_T nlhs, mxArray *plhs[], int32_T nrhs, const 25 | mxArray *prhs[]); 26 | extern emlrtCTX mexFunctionCreateRootTLS(void); 27 | 28 | #endif 29 | 30 | /* 31 | * File trailer for _coder_calc_EKF_F_optimized_mex.h 32 | * 33 | * [EOF] 34 | */ 35 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/rtGetInf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetInf.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | #ifndef RTGETINF_H 12 | #define RTGETINF_H 13 | #include 14 | #include "rtwtypes.h" 15 | #include "rt_nonfinite.h" 16 | 17 | extern real_T rtGetInf(void); 18 | extern real32_T rtGetInfF(void); 19 | extern real_T rtGetMinusInf(void); 20 | extern real32_T rtGetMinusInfF(void); 21 | 22 | #endif 23 | 24 | /* 25 | * File trailer for rtGetInf.h 26 | * 27 | * [EOF] 28 | */ 29 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/rtGetNaN.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetNaN.cpp 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | /* 12 | * Abstract: 13 | * MATLAB for code generation function to initialize non-finite, NaN 14 | */ 15 | #include "rtGetNaN.h" 16 | #define NumBitsPerChar 8U 17 | 18 | /* Function: rtGetNaN ================================================== 19 | * Abstract: 20 | * Initialize rtNaN needed by the generated code. 21 | * NaN is initialized as non-signaling. Assumes IEEE. 22 | */ 23 | real_T rtGetNaN(void) 24 | { 25 | real_T nan = 0.0; 26 | uint16_T one = 1U; 27 | enum { 28 | LittleEndian, 29 | BigEndian 30 | } machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian; 31 | switch (machByteOrder) { 32 | case LittleEndian: 33 | { 34 | union { 35 | LittleEndianIEEEDouble bitVal; 36 | real_T fltVal; 37 | } tmpVal; 38 | 39 | tmpVal.bitVal.words.wordH = 0xFFF80000U; 40 | tmpVal.bitVal.words.wordL = 0x00000000U; 41 | nan = tmpVal.fltVal; 42 | break; 43 | } 44 | 45 | case BigEndian: 46 | { 47 | union { 48 | BigEndianIEEEDouble bitVal; 49 | real_T fltVal; 50 | } tmpVal; 51 | 52 | tmpVal.bitVal.words.wordH = 0x7FFFFFFFU; 53 | tmpVal.bitVal.words.wordL = 0xFFFFFFFFU; 54 | nan = tmpVal.fltVal; 55 | break; 56 | } 57 | } 58 | 59 | return nan; 60 | } 61 | 62 | /* Function: rtGetNaNF ================================================== 63 | * Abstract: 64 | * Initialize rtNaNF needed by the generated code. 65 | * NaN is initialized as non-signaling. Assumes IEEE. 66 | */ 67 | real32_T rtGetNaNF(void) 68 | { 69 | IEEESingle nanF = { { 0 } }; 70 | 71 | uint16_T one = 1U; 72 | enum { 73 | LittleEndian, 74 | BigEndian 75 | } machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian; 76 | switch (machByteOrder) { 77 | case LittleEndian: 78 | { 79 | nanF.wordL.wordLuint = 0xFFC00000U; 80 | break; 81 | } 82 | 83 | case BigEndian: 84 | { 85 | nanF.wordL.wordLuint = 0x7FFFFFFFU; 86 | break; 87 | } 88 | } 89 | 90 | return nanF.wordL.wordLreal; 91 | } 92 | 93 | /* 94 | * File trailer for rtGetNaN.cpp 95 | * 96 | * [EOF] 97 | */ 98 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/rtGetNaN.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetNaN.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | #ifndef RTGETNAN_H 12 | #define RTGETNAN_H 13 | #include 14 | #include "rtwtypes.h" 15 | #include "rt_nonfinite.h" 16 | 17 | extern real_T rtGetNaN(void); 18 | extern real32_T rtGetNaNF(void); 19 | 20 | #endif 21 | 22 | /* 23 | * File trailer for rtGetNaN.h 24 | * 25 | * [EOF] 26 | */ 27 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/rt_defines.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: rt_defines.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | #ifndef RT_DEFINES_H 11 | #define RT_DEFINES_H 12 | #include 13 | #define RT_PI 3.14159265358979323846 14 | #define RT_PIF 3.1415927F 15 | #define RT_LN_10 2.30258509299404568402 16 | #define RT_LN_10F 2.3025851F 17 | #define RT_LOG10E 0.43429448190325182765 18 | #define RT_LOG10EF 0.43429449F 19 | #define RT_E 2.7182818284590452354 20 | #define RT_EF 2.7182817F 21 | #endif 22 | 23 | // 24 | // File trailer for rt_defines.h 25 | // 26 | // [EOF] 27 | // 28 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/rt_nonfinite.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rt_nonfinite.cpp 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | /* 12 | * Abstract: 13 | * MATLAB for code generation function to initialize non-finites, 14 | * (Inf, NaN and -Inf). 15 | */ 16 | #include "rt_nonfinite.h" 17 | #include "rtGetNaN.h" 18 | #include "rtGetInf.h" 19 | 20 | real_T rtInf; 21 | real_T rtMinusInf; 22 | real_T rtNaN; 23 | real32_T rtInfF; 24 | real32_T rtMinusInfF; 25 | real32_T rtNaNF; 26 | 27 | /* Function: rt_InitInfAndNaN ================================================== 28 | * Abstract: 29 | * Initialize the rtInf, rtMinusInf, and rtNaN needed by the 30 | * generated code. NaN is initialized as non-signaling. Assumes IEEE. 31 | */ 32 | void rt_InitInfAndNaN(size_t realSize) 33 | { 34 | (void) (realSize); 35 | rtNaN = rtGetNaN(); 36 | rtNaNF = rtGetNaNF(); 37 | rtInf = rtGetInf(); 38 | rtInfF = rtGetInfF(); 39 | rtMinusInf = rtGetMinusInf(); 40 | rtMinusInfF = rtGetMinusInfF(); 41 | } 42 | 43 | /* Function: rtIsInf ================================================== 44 | * Abstract: 45 | * Test if value is infinite 46 | */ 47 | boolean_T rtIsInf(real_T value) 48 | { 49 | return ((value==rtInf || value==rtMinusInf) ? 1U : 0U); 50 | } 51 | 52 | /* Function: rtIsInfF ================================================= 53 | * Abstract: 54 | * Test if single-precision value is infinite 55 | */ 56 | boolean_T rtIsInfF(real32_T value) 57 | { 58 | return(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U); 59 | } 60 | 61 | /* Function: rtIsNaN ================================================== 62 | * Abstract: 63 | * Test if value is not a number 64 | */ 65 | boolean_T rtIsNaN(real_T value) 66 | { 67 | 68 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 69 | 70 | return _isnan(value)? TRUE:FALSE; 71 | 72 | #else 73 | 74 | return (value!=value)? 1U:0U; 75 | 76 | #endif 77 | 78 | } 79 | 80 | /* Function: rtIsNaNF ================================================= 81 | * Abstract: 82 | * Test if single-precision value is not a number 83 | */ 84 | boolean_T rtIsNaNF(real32_T value) 85 | { 86 | 87 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 88 | 89 | return _isnan((real_T)value)? true:false; 90 | 91 | #else 92 | 93 | return (value!=value)? 1U:0U; 94 | 95 | #endif 96 | 97 | } 98 | 99 | /* 100 | * File trailer for rt_nonfinite.cpp 101 | * 102 | * [EOF] 103 | */ 104 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/rt_nonfinite.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rt_nonfinite.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | */ 10 | 11 | #ifndef RT_NONFINITE_H 12 | #define RT_NONFINITE_H 13 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 14 | #include 15 | #endif 16 | 17 | #include 18 | #include "rtwtypes.h" 19 | 20 | extern real_T rtInf; 21 | extern real_T rtMinusInf; 22 | extern real_T rtNaN; 23 | extern real32_T rtInfF; 24 | extern real32_T rtMinusInfF; 25 | extern real32_T rtNaNF; 26 | extern void rt_InitInfAndNaN(size_t realSize); 27 | extern boolean_T rtIsInf(real_T value); 28 | extern boolean_T rtIsInfF(real32_T value); 29 | extern boolean_T rtIsNaN(real_T value); 30 | extern boolean_T rtIsNaNF(real32_T value); 31 | typedef struct { 32 | struct { 33 | uint32_T wordH; 34 | uint32_T wordL; 35 | } words; 36 | } BigEndianIEEEDouble; 37 | 38 | typedef struct { 39 | struct { 40 | uint32_T wordL; 41 | uint32_T wordH; 42 | } words; 43 | } LittleEndianIEEEDouble; 44 | 45 | typedef struct { 46 | union { 47 | real32_T wordLreal; 48 | uint32_T wordLuint; 49 | } wordL; 50 | } IEEESingle; 51 | 52 | #endif 53 | 54 | /* 55 | * File trailer for rt_nonfinite.h 56 | * 57 | * [EOF] 58 | */ 59 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/rtw_proj.tmw: -------------------------------------------------------------------------------- 1 | Code generation project for calc_EKF_F_optimized using toolchain "Catkin v1.0 | gmake (64-bit Linux)". MATLAB root = /usr/local/MATLAB/R2017b. 2 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/sign.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: sign.cpp 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | 11 | // Include Files 12 | #include "rt_nonfinite.h" 13 | #include "calc_EKF_F_optimized.h" 14 | #include "sign.h" 15 | 16 | // Function Definitions 17 | 18 | // 19 | // Arguments : double *x 20 | // Return Type : void 21 | // 22 | void b_sign(double *x) 23 | { 24 | if (*x < 0.0) { 25 | *x = -1.0; 26 | } else if (*x > 0.0) { 27 | *x = 1.0; 28 | } else { 29 | if (*x == 0.0) { 30 | *x = 0.0; 31 | } 32 | } 33 | } 34 | 35 | // 36 | // File trailer for sign.cpp 37 | // 38 | // [EOF] 39 | // 40 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/sign.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: sign.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | #ifndef SIGN_H 11 | #define SIGN_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "rt_defines.h" 20 | #include "rt_nonfinite.h" 21 | #include "rtwtypes.h" 22 | #include "calc_EKF_F_optimized_types.h" 23 | 24 | // Function Declarations 25 | extern void b_sign(double *x); 26 | 27 | #endif 28 | 29 | // 30 | // File trailer for sign.h 31 | // 32 | // [EOF] 33 | // 34 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/sqrt.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: sqrt.cpp 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | 11 | // Include Files 12 | #include "rt_nonfinite.h" 13 | #include "calc_EKF_F_optimized.h" 14 | #include "sqrt.h" 15 | 16 | // Function Definitions 17 | 18 | // 19 | // Arguments : double *x 20 | // Return Type : void 21 | // 22 | void b_sqrt(double *x) 23 | { 24 | *x = std::sqrt(*x); 25 | } 26 | 27 | // 28 | // File trailer for sqrt.cpp 29 | // 30 | // [EOF] 31 | // 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_F_optimized/sqrt.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: sqrt.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:17:41 9 | // 10 | #ifndef SQRT_H 11 | #define SQRT_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "rt_defines.h" 20 | #include "rt_nonfinite.h" 21 | #include "rtwtypes.h" 22 | #include "calc_EKF_F_optimized_types.h" 23 | 24 | // Function Declarations 25 | extern void b_sqrt(double *x); 26 | 27 | #endif 28 | 29 | // 30 | // File trailer for sqrt.h 31 | // 32 | // [EOF] 33 | // 34 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/buildInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/buildInfo.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/calc_EKF_H_imu_optimized_simple.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_imu_optimized_simple.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | // 10 | #ifndef CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_H 11 | #define CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include "rtwtypes.h" 18 | #include "calc_EKF_H_imu_optimized_simple_types.h" 19 | 20 | // Function Declarations 21 | extern void calc_EKF_H_imu_optimized_simple(double qLx, double qLy, double qLz, 22 | double rx, double ry, double rz, double vx, double vy, double vz, double 23 | Omegax, double Omegay, double Omegaz, double mtot, double Itotxx, double 24 | Itotyy, double Itotzz, double t_GeomCogX, double t_GeomCogY, double t_GeomCogZ, 25 | double t_GeomOdomX, double t_GeomOdomY, double t_GeomOdomZ, double t_GeomImuX, 26 | double t_GeomImuY, double ImuBiasAccX, double ImuBiasAccY, double ImuBiasAccZ, 27 | double ImuBiasAngVelX, double ImuBiasAngVelY, double ImuBiasAngVelZ, double 28 | motor1, double motor2, double motor3, double motor4, double dt, double 29 | t_GeomImuZ, double w, double l, double c, double k_f, double Himu[90]); 30 | 31 | #endif 32 | 33 | // 34 | // File trailer for calc_EKF_H_imu_optimized_simple.h 35 | // 36 | // [EOF] 37 | // 38 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/calc_EKF_H_imu_optimized_simple_initialize.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_imu_optimized_simple_initialize.cpp 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | // 10 | 11 | // Include Files 12 | #include "rt_nonfinite.h" 13 | #include "calc_EKF_H_imu_optimized_simple.h" 14 | #include "calc_EKF_H_imu_optimized_simple_initialize.h" 15 | 16 | // Function Definitions 17 | 18 | // 19 | // Arguments : void 20 | // Return Type : void 21 | // 22 | void calc_EKF_H_imu_optimized_simple_initialize() 23 | { 24 | rt_InitInfAndNaN(8U); 25 | } 26 | 27 | // 28 | // File trailer for calc_EKF_H_imu_optimized_simple_initialize.cpp 29 | // 30 | // [EOF] 31 | // 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/calc_EKF_H_imu_optimized_simple_initialize.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_imu_optimized_simple_initialize.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | // 10 | #ifndef CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_INITIALIZE_H 11 | #define CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_INITIALIZE_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include "rtwtypes.h" 18 | #include "calc_EKF_H_imu_optimized_simple_types.h" 19 | 20 | // Function Declarations 21 | extern void calc_EKF_H_imu_optimized_simple_initialize(); 22 | 23 | #endif 24 | 25 | // 26 | // File trailer for calc_EKF_H_imu_optimized_simple_initialize.h 27 | // 28 | // [EOF] 29 | // 30 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/calc_EKF_H_imu_optimized_simple_ref.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/calc_EKF_H_imu_optimized_simple_ref.rsp -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/calc_EKF_H_imu_optimized_simple_terminate.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_imu_optimized_simple_terminate.cpp 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | // 10 | 11 | // Include Files 12 | #include "rt_nonfinite.h" 13 | #include "calc_EKF_H_imu_optimized_simple.h" 14 | #include "calc_EKF_H_imu_optimized_simple_terminate.h" 15 | 16 | // Function Definitions 17 | 18 | // 19 | // Arguments : void 20 | // Return Type : void 21 | // 22 | void calc_EKF_H_imu_optimized_simple_terminate() 23 | { 24 | // (no terminate code required) 25 | } 26 | 27 | // 28 | // File trailer for calc_EKF_H_imu_optimized_simple_terminate.cpp 29 | // 30 | // [EOF] 31 | // 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/calc_EKF_H_imu_optimized_simple_terminate.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_imu_optimized_simple_terminate.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | // 10 | #ifndef CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_TERMINATE_H 11 | #define CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_TERMINATE_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include "rtwtypes.h" 18 | #include "calc_EKF_H_imu_optimized_simple_types.h" 19 | 20 | // Function Declarations 21 | extern void calc_EKF_H_imu_optimized_simple_terminate(); 22 | 23 | #endif 24 | 25 | // 26 | // File trailer for calc_EKF_H_imu_optimized_simple_terminate.h 27 | // 28 | // [EOF] 29 | // 30 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/calc_EKF_H_imu_optimized_simple_types.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_imu_optimized_simple_types.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | // 10 | #ifndef CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_TYPES_H 11 | #define CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_TYPES_H 12 | 13 | // Include Files 14 | #include "rtwtypes.h" 15 | #endif 16 | 17 | // 18 | // File trailer for calc_EKF_H_imu_optimized_simple_types.h 19 | // 20 | // [EOF] 21 | // 22 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/codeInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/codeInfo.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/codedescriptor.dmr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/codedescriptor.dmr -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/examples/main.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: main.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | // 10 | 11 | //*********************************************************************** 12 | // This automatically generated example C main file shows how to call 13 | // entry-point functions that MATLAB Coder generated. You must customize 14 | // this file for your application. Do not modify this file directly. 15 | // Instead, make a copy of this file, modify it, and integrate it into 16 | // your development environment. 17 | // 18 | // This file initializes entry-point function arguments to a default 19 | // size and value before calling the entry-point functions. It does 20 | // not store or use any values returned from the entry-point functions. 21 | // If necessary, it does pre-allocate memory for returned values. 22 | // You can use this file as a starting point for a main function that 23 | // you can deploy in your application. 24 | // 25 | // After you copy the file, and before you deploy it, you must make the 26 | // following changes: 27 | // * For variable-size function arguments, change the example sizes to 28 | // the sizes that your application requires. 29 | // * Change the example values of function arguments to the values that 30 | // your application requires. 31 | // * If the entry-point functions return values, store these values or 32 | // otherwise use them as required by your application. 33 | // 34 | //*********************************************************************** 35 | #ifndef MAIN_H 36 | #define MAIN_H 37 | 38 | // Include Files 39 | #include 40 | #include 41 | #include 42 | #include "rtwtypes.h" 43 | #include "calc_EKF_H_imu_optimized_simple_types.h" 44 | 45 | // Function Declarations 46 | extern int main(int argc, const char * const argv[]); 47 | 48 | #endif 49 | 50 | // 51 | // File trailer for main.h 52 | // 53 | // [EOF] 54 | // 55 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/gcGuiReport.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/gcGuiReport.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/calc_EKF_H_imu_optimized_simple_buildlog1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_H_imu_optimized_simple' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
Build Parameters
Build directory
Make wrapper
Make command
40 |
41 | 42 | 43 |
Build Log
44 |
45 |     1   Compilation suppressed: generating code only.
46 | 
47 |
48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/calc_EKF_H_imu_optimized_simple_buildlog2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_H_imu_optimized_simple' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/calc_EKF_H_imu_optimized_simple_buildlog3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_H_imu_optimized_simple' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/calc_EKF_H_imu_optimized_simple_buildlog4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_H_imu_optimized_simple' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/contents_file.tmp: -------------------------------------------------------------------------------- 1 | 4 | 5 |
2 | Generated Source Files 3 |
main.h
6 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/exported_values.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/exported_values.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/hilite_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/hilite_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: sans-serif; 3 | font-size: 9pt; 4 | } 5 | pre.code, pre#RTWcode, .center .lineno { 6 | font:10pt/14pt Courier New; 7 | } 8 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/report.mldatx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/report.mldatx -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/Error_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/Error_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/Fatal_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/Fatal_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/Warning_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/Warning_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cc_sourcecodec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cc_sourcecodec.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/collapsible-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/collapsible-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/collapsible.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/collapsible.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_document_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_document_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_document_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_document_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_document_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_document_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_close_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_close_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_close_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_close_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_close_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_close_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_open_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_open_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_open_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_open_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_open_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/cs_folder_open_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/eml_report_loadable_data.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The MathWorks, Inc. 2 | 3 | window.addEventListener("load", function load(e) { 4 | parent.postMessage(document.body.innerHTML, '*'); 5 | window.removeEventListener("load", load, false); 6 | }); 7 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/expandable-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/expandable-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/expandable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/expandable.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/folderclosed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/folderclosed.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/folderopen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/folderopen.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/help.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/hilite_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/hilite_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/inspect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 34 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/jQuery/ui.resizable.css: -------------------------------------------------------------------------------- 1 | /* Resizable 2 | ----------------------------------*/ 3 | .ui-resizable { position: relative;} 4 | .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} 5 | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } 6 | .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; } 7 | .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; } 8 | .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; } 9 | .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; } 10 | .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } 11 | .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } 12 | .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } 13 | .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/leaf-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/leaf-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/leaf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/leaf.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/matlab-report-styles.css: -------------------------------------------------------------------------------- 1 | /* Copyright 1984-2013 The MathWorks, Inc. */ 2 | 3 | PRE { 4 | font-size: 100%; 5 | } 6 | 7 | .mono { 8 | font-family: monospace; 9 | font-size: 100%; 10 | } 11 | 12 | .head { 13 | font-weight: bold; 14 | } 15 | 16 | .report-head { 17 | padding: 8px; 18 | font-size: 150%; 19 | font-weight: bold; 20 | background: #008; 21 | color: #FFF; 22 | } 23 | 24 | .report-desc { 25 | margin-top:-8px; 26 | margin-bottom:4px; 27 | } 28 | 29 | .subdir-top { 30 | border-top:1px solid #CCC; 31 | margin-top:8px; 32 | margin-bottom:2px; 33 | } 34 | 35 | .subdir-bottom { 36 | border-top:1px solid #CCC; 37 | margin-top:4px; 38 | margin-bottom:8px; 39 | } 40 | 41 | .grayline { 42 | border-top:1px solid #CCC; 43 | margin-top:4px; 44 | margin-bottom:4px; 45 | } 46 | 47 | .td-linetop { 48 | border-top:1px solid #BBB; 49 | } 50 | 51 | .td-dashtop { 52 | border-top:1px dotted #CCC; 53 | background-color: #F0F0F0; 54 | } 55 | 56 | .td-linetopleft { 57 | border-top:1px solid #BBB; 58 | border-left:1px solid #BBB; 59 | } 60 | 61 | .td-dashtopleft { 62 | border-top:1px dotted #CCC; 63 | border-left:1px solid #BBB; 64 | background-color: #F0F0F0; 65 | } 66 | 67 | .td-linebottomrt { 68 | border-bottom:1px solid #BBB; 69 | border-right:1px solid #BBB; 70 | } 71 | 72 | .td-function { 73 | border-top:1px solid #CCC; 74 | border-left:1px solid #BBB; 75 | background: #F0F8FF; 76 | } 77 | 78 | .td-script { 79 | border-top:1px solid #CCC; 80 | border-left:1px solid #BBB; 81 | background: #FFE; 82 | } 83 | 84 | .td-cellscript { 85 | border-top:1px solid #CCC; 86 | background: #FFF; 87 | } 88 | 89 | 90 | /* */ 91 | 92 | .soft { 93 | color: #888; 94 | } 95 | 96 | .warning { 97 | background: #FFC0C0; 98 | } 99 | 100 | .xtrainfo { 101 | font-family: monospace; 102 | padding-left:3em; 103 | padding-bottom:0px; 104 | margin-bottom:-1em; 105 | } 106 | 107 | #FunctionListingTable{ 108 | border:0px; 109 | border-spacing:0px; 110 | border-collapse:collapse; 111 | } 112 | 113 | #FunctionListingTable tr { 114 | padding:0px; 115 | border:0px; 116 | } 117 | 118 | #FunctionListingTable th { 119 | text-align:center; 120 | } 121 | 122 | #FunctionListingTable th.leftAligned { 123 | text-align:left; 124 | } 125 | 126 | #FunctionListingTable pre { 127 | margin:0px; 128 | } 129 | 130 | #FunctionListingTable th > pre > span { 131 | font-weight:bold; 132 | text-decoration:none; 133 | } 134 | 135 | #FunctionListingTable td { 136 | padding:0px; 137 | text-align:center; 138 | } 139 | 140 | #FunctionListingTable td.leftAligned { 141 | padding:0px; 142 | text-align:left; 143 | } 144 | 145 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/mhighlight.css: -------------------------------------------------------------------------------- 1 | span.keyword {color: #0000FF} 2 | span.comment {color: #228B22} 3 | span.string {color: #A020F0} 4 | span.untermstring {color: #B20000} 5 | span.syscmd {color: #B28C00} 6 | 7 | div.code { 8 | cursor:default; 9 | } -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/nav.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/nolines_minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/nolines_minus.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/nolines_plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/nolines_plus.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/right_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/right_arrow.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/rtwcodemetricsreport_utils.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The MathWorks, Inc. 2 | 3 | //Poll for metrics.js on 5 second intervals 4 | function getCodeMetricsByPolling(ctThreshold, intervalPeriod){ 5 | if(ctThreshold === undefined){ 6 | ctThreshold = 1000; 7 | } 8 | if(intervalPeriod === undefined){ 9 | intervalPeriod = 5000; 10 | } 11 | var intervalId; 12 | var ct=0; 13 | //function to get code metrics 14 | function getCodeMetrics(){ 15 | cm = CodeMetrics.instance; 16 | var alink = document.getElementById("metricsLocation"); 17 | alink.innerHTML = cm.codeMetricsSummary; 18 | } 19 | if (typeof CodeMetrics !== "undefined"){ 20 | getCodeMetrics(); 21 | } 22 | else{ 23 | intervalId = window.setInterval(function(){ 24 | //Try reinclude metrics to check if CodeMetrics are available 25 | ct = ct + 1; 26 | if (ct > ctThreshold){ 27 | // Clear if elapsed time is 1000x5 seconds 28 | clearInterval(intervalId); 29 | var alink = document.getElementById("metricsLocation"); 30 | alink.innerHTML = 'Error generating code metrics'; 31 | } 32 | else{ 33 | var metricsScript = document.getElementById('metrics'); 34 | if(metricsScript !== null){ 35 | metricsScript.parentNode.removeChild(metricsScript); 36 | } 37 | var jsElm = document.createElement("script"); 38 | jsElm.type = "application/javascript"; 39 | jsElm.src = "metrics.js"; 40 | jsElm.id = "metrics"; 41 | document.getElementsByTagName('head')[0].appendChild(jsElm); 42 | if (typeof CodeMetrics !== "undefined"){ 43 | clearInterval(intervalId); 44 | getCodeMetrics(); 45 | } 46 | } 47 | }, intervalPeriod); 48 | } 49 | } -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/rtwmsg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Block-to-Code Highlighting Message 5 | 6 | 7 | 8 |

Block-to-Code Highlighting Message

9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/rtwreport_utils.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011-2013 The MathWorks, Inc. 2 | 3 | 4 | function local_onload() { 5 | if (typeof top.rtwreport_document_frame !== "undefined") { 6 | var docObj = window.document; 7 | var alink = docObj.getElementById("linkToText_plain"); 8 | if (alink) { 9 | alink.href = "matlab:coder.internal.editUrlTextFile('" + alink.href + "')"; 10 | } 11 | alink = docObj.getElementById("linkToCS"); 12 | if (alink) { 13 | alink.href = "matlab:coder.internal.viewCodeConfigsetFromReport('" + alink.href + "');"; 14 | } 15 | } 16 | } 17 | 18 | var utils = (function() { 19 | 20 | // Load via Microsoft.XMLDOM--for older versions of IE 21 | function loadXML_MSXMLDOM(filename, callback, async) { 22 | if (navigator.appName == "Microsoft Internet Explorer") { 23 | // Internet Explorer 5/6 24 | try { 25 | var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 26 | xmlDoc.async = async; 27 | xmlDoc.onreadystatechange = function() { 28 | if (xmlDoc.readyState == 4) { 29 | callback(xmlDoc); 30 | } 31 | } 32 | xmlDoc.load(filename); 33 | return true; 34 | } catch(e) { 35 | } 36 | } 37 | return false; 38 | } 39 | 40 | // Load via XMLHttpRequest 41 | function loadXML_XHR(filename, callback, async) { 42 | if (window.XMLHttpRequest) { 43 | try { 44 | var xhr = new XMLHttpRequest(); 45 | xhr.onreadystatechange = function() { 46 | if (this.readyState == 4) { 47 | callback(this.responseXML); 48 | } 49 | } 50 | xhr.open("GET", filename, async); 51 | xhr.send(""); 52 | return true; 53 | } catch(e) { 54 | if (navigator.appName === "Netscape" && e.code === 1012) { 55 | // file not found: ignore 56 | return true; 57 | } 58 | } 59 | } 60 | return false; 61 | } 62 | 63 | return { 64 | trimText: function(s) { 65 | // In IE9, String.trim not present 66 | if (s && s.trim) { 67 | return s.trim(); 68 | } 69 | else { 70 | return s; 71 | } 72 | }, 73 | getText: function(elt) { 74 | // In IE9, use 'text' property rather than 'textContent' 75 | return elt.textContent ? elt.textContent : elt.text; 76 | }, 77 | loadXML: function(filename, callback, options) { 78 | var async = !!options && typeof(options["async"]) !== "undefined" ? options.async : true; 79 | if (!loadXML_XHR(filename, callback, async)) { 80 | if (!loadXML_MSXMLDOM(filename, callback, async)) { 81 | return false; 82 | } 83 | } 84 | return true; 85 | } 86 | }; 87 | })(); 88 | 89 | function code2model(sid) { 90 | utils.loadXML("http://localhost:31415/matlab/feval/coder.internal.code2model?arguments=[\"" + sid + "\"]", function() {}); 91 | //window.location.href = "matlab:coder.internal.code2model('" + sid + "')"; 92 | } 93 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/spinner.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/status_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/status_failed.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/status_passed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/status_passed.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/status_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/status_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/tablesorter_bkgrd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/tablesorter_bkgrd.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/texture_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/texture_blue.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/texture_gray1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/texture_gray1.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/texture_gray2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/texture_gray2.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/html/resources/webview_codegen.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015-2016 The MathWorks, Inc. 3 | */ 4 | function webviewToCodeInit(){document.getElementById("rtw_webview").contentWindow.require(["dojo/dom-style","dojo/topic","dojo/window","dijit/registry"],function(k,m,n,p){var c=p.byId("slwebview"),g=!0,h={traceableColor:"#00cfcf",untraceableColor:"#e8d152",getColor:function(d){return d?this.traceableColor:this.untraceableColor},getStyle:function(d,c){var a=this.getColor(c);return"fill:"+a+"; fill-opacity:0.5; stroke:"+a+";"}},f,l=function(d,e,a){c.open(d).then(function(){var b;if(b=c.getElementViewer())if(f&& 5 | k.set(f,"background",""),b=b.getLineNode(e))k.set(b,"background",a),n.scrollIntoView(b),f=b})};m.subscribe("slwebview/select",function(d,e){var a,b;c.isElement(d)&&g&&(c.unhighlightAll(),a=d.backing.sid,b=e&&e.line?e.line:-1,0<=b&&(a=d.backing.obj_viewer.code_sid+":"+b.toString()),a=top.rtwChangeSysCallback(a),c.highlight(d,h.getStyle(d,a)),0<=b&&l(d,b,h.getColor(a)))});top.codeToWebView=function(d,e){var a=c.getElement(d),b,f;a||(f=d.lastIndexOf(":"),b=d.substring(f+1),a=c.getElement(e));if(a){g= 6 | !1;try{c.open(a.diagram,{nohash:!0}).then(function(){try{c.unhighlightAll(),c.moveToView(a),c.highlight(a,h.getStyle(a,!0)),0<=b?(l(a,b,h.getColor(!0)),c.select(a)):c.select(a.diagram)}finally{g=!0}},function(){g=!0})}catch(k){g=!0}}}})}; 7 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/interface/_coder_calc_EKF_H_imu_optimized_simple_api.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_H_imu_optimized_simple_api.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_API_H 12 | #define _CODER_CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_API_H 13 | 14 | /* Include Files */ 15 | #include "tmwtypes.h" 16 | #include "mex.h" 17 | #include "emlrt.h" 18 | #include 19 | #include 20 | #include "_coder_calc_EKF_H_imu_optimized_simple_api.h" 21 | 22 | /* Variable Declarations */ 23 | extern emlrtCTX emlrtRootTLSGlobal; 24 | extern emlrtContext emlrtContextGlobal; 25 | 26 | /* Function Declarations */ 27 | extern void calc_EKF_H_imu_optimized_simple(real_T qLx, real_T qLy, real_T qLz, 28 | real_T rx, real_T ry, real_T rz, real_T vx, real_T vy, real_T vz, real_T 29 | Omegax, real_T Omegay, real_T Omegaz, real_T mtot, real_T Itotxx, real_T 30 | Itotyy, real_T Itotzz, real_T t_GeomCogX, real_T t_GeomCogY, real_T t_GeomCogZ, 31 | real_T t_GeomOdomX, real_T t_GeomOdomY, real_T t_GeomOdomZ, real_T t_GeomImuX, 32 | real_T t_GeomImuY, real_T ImuBiasAccX, real_T ImuBiasAccY, real_T ImuBiasAccZ, 33 | real_T ImuBiasAngVelX, real_T ImuBiasAngVelY, real_T ImuBiasAngVelZ, real_T 34 | motor1, real_T motor2, real_T motor3, real_T motor4, real_T dt, real_T 35 | t_GeomImuZ, real_T w, real_T l, real_T c, real_T k_f, real_T Himu[90]); 36 | extern void calc_EKF_H_imu_optimized_simple_api(const mxArray * const prhs[40], 37 | const mxArray *plhs[1]); 38 | extern void calc_EKF_H_imu_optimized_simple_atexit(void); 39 | extern void calc_EKF_H_imu_optimized_simple_initialize(void); 40 | extern void calc_EKF_H_imu_optimized_simple_terminate(void); 41 | extern void calc_EKF_H_imu_optimized_simple_xil_terminate(void); 42 | 43 | #endif 44 | 45 | /* 46 | * File trailer for _coder_calc_EKF_H_imu_optimized_simple_api.h 47 | * 48 | * [EOF] 49 | */ 50 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/interface/_coder_calc_EKF_H_imu_optimized_simple_info.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_H_imu_optimized_simple_info.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_INFO_H 12 | #define _CODER_CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_INFO_H 13 | /* Include Files */ 14 | #include "tmwtypes.h" 15 | #include "mex.h" 16 | #include "emlrt.h" 17 | 18 | 19 | /* Function Declarations */ 20 | extern const mxArray *emlrtMexFcnResolvedFunctionsInfo(); 21 | MEXFUNCTION_LINKAGE mxArray *emlrtMexFcnProperties(); 22 | 23 | #endif 24 | /* 25 | * File trailer for _coder_calc_EKF_H_imu_optimized_simple_info.h 26 | * 27 | * [EOF] 28 | */ 29 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/interface/_coder_calc_EKF_H_imu_optimized_simple_mex.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_H_imu_optimized_simple_mex.cpp 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | /* Include Files */ 12 | #include "_coder_calc_EKF_H_imu_optimized_simple_api.h" 13 | #include "_coder_calc_EKF_H_imu_optimized_simple_mex.h" 14 | 15 | /* Function Declarations */ 16 | static void c_calc_EKF_H_imu_optimized_simp(int32_T nlhs, mxArray *plhs[1], 17 | int32_T nrhs, const mxArray *prhs[40]); 18 | 19 | /* Function Definitions */ 20 | 21 | /* 22 | * Arguments : int32_T nlhs 23 | * const mxArray *plhs[1] 24 | * int32_T nrhs 25 | * const mxArray *prhs[40] 26 | * Return Type : void 27 | */ 28 | static void c_calc_EKF_H_imu_optimized_simp(int32_T nlhs, mxArray *plhs[1], 29 | int32_T nrhs, const mxArray *prhs[40]) 30 | { 31 | const mxArray *inputs[40]; 32 | const mxArray *outputs[1]; 33 | int32_T b_nlhs; 34 | emlrtStack st = { NULL, /* site */ 35 | NULL, /* tls */ 36 | NULL /* prev */ 37 | }; 38 | 39 | st.tls = emlrtRootTLSGlobal; 40 | 41 | /* Check for proper number of arguments. */ 42 | if (nrhs != 40) { 43 | emlrtErrMsgIdAndTxt(&st, "EMLRT:runTime:WrongNumberOfInputs", 5, 12, 40, 4, 44 | 31, "calc_EKF_H_imu_optimized_simple"); 45 | } 46 | 47 | if (nlhs > 1) { 48 | emlrtErrMsgIdAndTxt(&st, "EMLRT:runTime:TooManyOutputArguments", 3, 4, 31, 49 | "calc_EKF_H_imu_optimized_simple"); 50 | } 51 | 52 | /* Temporary copy for mex inputs. */ 53 | if (0 <= nrhs - 1) { 54 | memcpy((void *)&inputs[0], (void *)&prhs[0], (uint32_T)(nrhs * (int32_T) 55 | sizeof(const mxArray *))); 56 | } 57 | 58 | /* Call the function. */ 59 | calc_EKF_H_imu_optimized_simple_api(inputs, outputs); 60 | 61 | /* Copy over outputs to the caller. */ 62 | if (nlhs < 1) { 63 | b_nlhs = 1; 64 | } else { 65 | b_nlhs = nlhs; 66 | } 67 | 68 | emlrtReturnArrays(b_nlhs, plhs, outputs); 69 | 70 | /* Module termination. */ 71 | calc_EKF_H_imu_optimized_simple_terminate(); 72 | } 73 | 74 | /* 75 | * Arguments : int32_T nlhs 76 | * const mxArray * const plhs[] 77 | * int32_T nrhs 78 | * const mxArray * const prhs[] 79 | * Return Type : void 80 | */ 81 | void mexFunction(int32_T nlhs, mxArray *plhs[], int32_T nrhs, const mxArray 82 | *prhs[]) 83 | { 84 | mexAtExit(calc_EKF_H_imu_optimized_simple_atexit); 85 | 86 | /* Initialize the memory manager. */ 87 | /* Module initialization. */ 88 | calc_EKF_H_imu_optimized_simple_initialize(); 89 | 90 | /* Dispatch the entry-point. */ 91 | c_calc_EKF_H_imu_optimized_simp(nlhs, plhs, nrhs, prhs); 92 | } 93 | 94 | /* 95 | * Arguments : void 96 | * Return Type : emlrtCTX 97 | */ 98 | emlrtCTX mexFunctionCreateRootTLS(void) 99 | { 100 | emlrtCreateRootTLS(&emlrtRootTLSGlobal, &emlrtContextGlobal, NULL, 1); 101 | return emlrtRootTLSGlobal; 102 | } 103 | 104 | /* 105 | * File trailer for _coder_calc_EKF_H_imu_optimized_simple_mex.cpp 106 | * 107 | * [EOF] 108 | */ 109 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/interface/_coder_calc_EKF_H_imu_optimized_simple_mex.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_H_imu_optimized_simple_mex.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_MEX_H 12 | #define _CODER_CALC_EKF_H_IMU_OPTIMIZED_SIMPLE_MEX_H 13 | 14 | /* Include Files */ 15 | #include 16 | #include 17 | #include 18 | #include "tmwtypes.h" 19 | #include "mex.h" 20 | #include "emlrt.h" 21 | #include "_coder_calc_EKF_H_imu_optimized_simple_api.h" 22 | 23 | /* Function Declarations */ 24 | extern void mexFunction(int32_T nlhs, mxArray *plhs[], int32_T nrhs, const 25 | mxArray *prhs[]); 26 | extern emlrtCTX mexFunctionCreateRootTLS(void); 27 | 28 | #endif 29 | 30 | /* 31 | * File trailer for _coder_calc_EKF_H_imu_optimized_simple_mex.h 32 | * 33 | * [EOF] 34 | */ 35 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/rtGetInf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetInf.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | #ifndef RTGETINF_H 12 | #define RTGETINF_H 13 | #include 14 | #include "rtwtypes.h" 15 | #include "rt_nonfinite.h" 16 | 17 | extern real_T rtGetInf(void); 18 | extern real32_T rtGetInfF(void); 19 | extern real_T rtGetMinusInf(void); 20 | extern real32_T rtGetMinusInfF(void); 21 | 22 | #endif 23 | 24 | /* 25 | * File trailer for rtGetInf.h 26 | * 27 | * [EOF] 28 | */ 29 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/rtGetNaN.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetNaN.cpp 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | /* 12 | * Abstract: 13 | * MATLAB for code generation function to initialize non-finite, NaN 14 | */ 15 | #include "rtGetNaN.h" 16 | #define NumBitsPerChar 8U 17 | 18 | /* Function: rtGetNaN ================================================== 19 | * Abstract: 20 | * Initialize rtNaN needed by the generated code. 21 | * NaN is initialized as non-signaling. Assumes IEEE. 22 | */ 23 | real_T rtGetNaN(void) 24 | { 25 | real_T nan = 0.0; 26 | uint16_T one = 1U; 27 | enum { 28 | LittleEndian, 29 | BigEndian 30 | } machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian; 31 | switch (machByteOrder) { 32 | case LittleEndian: 33 | { 34 | union { 35 | LittleEndianIEEEDouble bitVal; 36 | real_T fltVal; 37 | } tmpVal; 38 | 39 | tmpVal.bitVal.words.wordH = 0xFFF80000U; 40 | tmpVal.bitVal.words.wordL = 0x00000000U; 41 | nan = tmpVal.fltVal; 42 | break; 43 | } 44 | 45 | case BigEndian: 46 | { 47 | union { 48 | BigEndianIEEEDouble bitVal; 49 | real_T fltVal; 50 | } tmpVal; 51 | 52 | tmpVal.bitVal.words.wordH = 0x7FFFFFFFU; 53 | tmpVal.bitVal.words.wordL = 0xFFFFFFFFU; 54 | nan = tmpVal.fltVal; 55 | break; 56 | } 57 | } 58 | 59 | return nan; 60 | } 61 | 62 | /* Function: rtGetNaNF ================================================== 63 | * Abstract: 64 | * Initialize rtNaNF needed by the generated code. 65 | * NaN is initialized as non-signaling. Assumes IEEE. 66 | */ 67 | real32_T rtGetNaNF(void) 68 | { 69 | IEEESingle nanF = { { 0 } }; 70 | 71 | uint16_T one = 1U; 72 | enum { 73 | LittleEndian, 74 | BigEndian 75 | } machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian; 76 | switch (machByteOrder) { 77 | case LittleEndian: 78 | { 79 | nanF.wordL.wordLuint = 0xFFC00000U; 80 | break; 81 | } 82 | 83 | case BigEndian: 84 | { 85 | nanF.wordL.wordLuint = 0x7FFFFFFFU; 86 | break; 87 | } 88 | } 89 | 90 | return nanF.wordL.wordLreal; 91 | } 92 | 93 | /* 94 | * File trailer for rtGetNaN.cpp 95 | * 96 | * [EOF] 97 | */ 98 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/rtGetNaN.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetNaN.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | #ifndef RTGETNAN_H 12 | #define RTGETNAN_H 13 | #include 14 | #include "rtwtypes.h" 15 | #include "rt_nonfinite.h" 16 | 17 | extern real_T rtGetNaN(void); 18 | extern real32_T rtGetNaNF(void); 19 | 20 | #endif 21 | 22 | /* 23 | * File trailer for rtGetNaN.h 24 | * 25 | * [EOF] 26 | */ 27 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/rt_nonfinite.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rt_nonfinite.cpp 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | /* 12 | * Abstract: 13 | * MATLAB for code generation function to initialize non-finites, 14 | * (Inf, NaN and -Inf). 15 | */ 16 | #include "rt_nonfinite.h" 17 | #include "rtGetNaN.h" 18 | #include "rtGetInf.h" 19 | 20 | real_T rtInf; 21 | real_T rtMinusInf; 22 | real_T rtNaN; 23 | real32_T rtInfF; 24 | real32_T rtMinusInfF; 25 | real32_T rtNaNF; 26 | 27 | /* Function: rt_InitInfAndNaN ================================================== 28 | * Abstract: 29 | * Initialize the rtInf, rtMinusInf, and rtNaN needed by the 30 | * generated code. NaN is initialized as non-signaling. Assumes IEEE. 31 | */ 32 | void rt_InitInfAndNaN(size_t realSize) 33 | { 34 | (void) (realSize); 35 | rtNaN = rtGetNaN(); 36 | rtNaNF = rtGetNaNF(); 37 | rtInf = rtGetInf(); 38 | rtInfF = rtGetInfF(); 39 | rtMinusInf = rtGetMinusInf(); 40 | rtMinusInfF = rtGetMinusInfF(); 41 | } 42 | 43 | /* Function: rtIsInf ================================================== 44 | * Abstract: 45 | * Test if value is infinite 46 | */ 47 | boolean_T rtIsInf(real_T value) 48 | { 49 | return ((value==rtInf || value==rtMinusInf) ? 1U : 0U); 50 | } 51 | 52 | /* Function: rtIsInfF ================================================= 53 | * Abstract: 54 | * Test if single-precision value is infinite 55 | */ 56 | boolean_T rtIsInfF(real32_T value) 57 | { 58 | return(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U); 59 | } 60 | 61 | /* Function: rtIsNaN ================================================== 62 | * Abstract: 63 | * Test if value is not a number 64 | */ 65 | boolean_T rtIsNaN(real_T value) 66 | { 67 | 68 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 69 | 70 | return _isnan(value)? TRUE:FALSE; 71 | 72 | #else 73 | 74 | return (value!=value)? 1U:0U; 75 | 76 | #endif 77 | 78 | } 79 | 80 | /* Function: rtIsNaNF ================================================= 81 | * Abstract: 82 | * Test if single-precision value is not a number 83 | */ 84 | boolean_T rtIsNaNF(real32_T value) 85 | { 86 | 87 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 88 | 89 | return _isnan((real_T)value)? true:false; 90 | 91 | #else 92 | 93 | return (value!=value)? 1U:0U; 94 | 95 | #endif 96 | 97 | } 98 | 99 | /* 100 | * File trailer for rt_nonfinite.cpp 101 | * 102 | * [EOF] 103 | */ 104 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/rt_nonfinite.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rt_nonfinite.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:45:59 9 | */ 10 | 11 | #ifndef RT_NONFINITE_H 12 | #define RT_NONFINITE_H 13 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 14 | #include 15 | #endif 16 | 17 | #include 18 | #include "rtwtypes.h" 19 | 20 | extern real_T rtInf; 21 | extern real_T rtMinusInf; 22 | extern real_T rtNaN; 23 | extern real32_T rtInfF; 24 | extern real32_T rtMinusInfF; 25 | extern real32_T rtNaNF; 26 | extern void rt_InitInfAndNaN(size_t realSize); 27 | extern boolean_T rtIsInf(real_T value); 28 | extern boolean_T rtIsInfF(real32_T value); 29 | extern boolean_T rtIsNaN(real_T value); 30 | extern boolean_T rtIsNaNF(real32_T value); 31 | typedef struct { 32 | struct { 33 | uint32_T wordH; 34 | uint32_T wordL; 35 | } words; 36 | } BigEndianIEEEDouble; 37 | 38 | typedef struct { 39 | struct { 40 | uint32_T wordL; 41 | uint32_T wordH; 42 | } words; 43 | } LittleEndianIEEEDouble; 44 | 45 | typedef struct { 46 | union { 47 | real32_T wordLreal; 48 | uint32_T wordLuint; 49 | } wordL; 50 | } IEEESingle; 51 | 52 | #endif 53 | 54 | /* 55 | * File trailer for rt_nonfinite.h 56 | * 57 | * [EOF] 58 | */ 59 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_imu_optimized_simple/rtw_proj.tmw: -------------------------------------------------------------------------------- 1 | Code generation project for calc_EKF_H_imu_optimized_simple using toolchain "Catkin v1.0 | gmake (64-bit Linux)". MATLAB root = /usr/local/MATLAB/R2017b. 2 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/buildInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/buildInfo.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_odom_optimized_simple.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | // 10 | #ifndef CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_H 11 | #define CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "rt_nonfinite.h" 20 | #include "rtwtypes.h" 21 | #include "calc_EKF_H_odom_optimized_simple_types.h" 22 | 23 | // Function Declarations 24 | extern void calc_EKF_H_odom_optimized_simple(double qLx, double qLy, double qLz, 25 | double rx, double ry, double rz, double vx, double vy, double vz, double 26 | Omegax, double Omegay, double Omegaz, double mtot, double Itotxx, double 27 | Itotyy, double Itotzz, double t_GeomCogX, double t_GeomCogY, double t_GeomCogZ, 28 | double t_GeomOdomX, double t_GeomOdomY, double t_GeomOdomZ, double t_GeomImuX, 29 | double t_GeomImuY, double ImuBiasAccX, double ImuBiasAccY, double ImuBiasAccZ, 30 | double ImuBiasAngVelX, double ImuBiasAngVelY, double ImuBiasAngVelZ, double 31 | motor1, double motor2, double motor3, double motor4, double dt, double 32 | t_GeomImuZ, double w, double l, double c, double k_f, double Hodom[90]); 33 | 34 | #endif 35 | 36 | // 37 | // File trailer for calc_EKF_H_odom_optimized_simple.h 38 | // 39 | // [EOF] 40 | // 41 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple_initialize.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_odom_optimized_simple_initialize.cpp 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | // 10 | 11 | // Include Files 12 | #include "rt_nonfinite.h" 13 | #include "calc_EKF_H_odom_optimized_simple.h" 14 | #include "calc_EKF_H_odom_optimized_simple_initialize.h" 15 | 16 | // Function Definitions 17 | 18 | // 19 | // Arguments : void 20 | // Return Type : void 21 | // 22 | void calc_EKF_H_odom_optimized_simple_initialize() 23 | { 24 | rt_InitInfAndNaN(8U); 25 | } 26 | 27 | // 28 | // File trailer for calc_EKF_H_odom_optimized_simple_initialize.cpp 29 | // 30 | // [EOF] 31 | // 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple_initialize.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_odom_optimized_simple_initialize.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | // 10 | #ifndef CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_INITIALIZE_H 11 | #define CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_INITIALIZE_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "rt_nonfinite.h" 20 | #include "rtwtypes.h" 21 | #include "calc_EKF_H_odom_optimized_simple_types.h" 22 | 23 | // Function Declarations 24 | extern void calc_EKF_H_odom_optimized_simple_initialize(); 25 | 26 | #endif 27 | 28 | // 29 | // File trailer for calc_EKF_H_odom_optimized_simple_initialize.h 30 | // 31 | // [EOF] 32 | // 33 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple_ref.rsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple_ref.rsp -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple_terminate.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_odom_optimized_simple_terminate.cpp 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | // 10 | 11 | // Include Files 12 | #include "rt_nonfinite.h" 13 | #include "calc_EKF_H_odom_optimized_simple.h" 14 | #include "calc_EKF_H_odom_optimized_simple_terminate.h" 15 | 16 | // Function Definitions 17 | 18 | // 19 | // Arguments : void 20 | // Return Type : void 21 | // 22 | void calc_EKF_H_odom_optimized_simple_terminate() 23 | { 24 | // (no terminate code required) 25 | } 26 | 27 | // 28 | // File trailer for calc_EKF_H_odom_optimized_simple_terminate.cpp 29 | // 30 | // [EOF] 31 | // 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple_terminate.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_odom_optimized_simple_terminate.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | // 10 | #ifndef CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_TERMINATE_H 11 | #define CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_TERMINATE_H 12 | 13 | // Include Files 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "rt_nonfinite.h" 20 | #include "rtwtypes.h" 21 | #include "calc_EKF_H_odom_optimized_simple_types.h" 22 | 23 | // Function Declarations 24 | extern void calc_EKF_H_odom_optimized_simple_terminate(); 25 | 26 | #endif 27 | 28 | // 29 | // File trailer for calc_EKF_H_odom_optimized_simple_terminate.h 30 | // 31 | // [EOF] 32 | // 33 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple_types.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: calc_EKF_H_odom_optimized_simple_types.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | // 10 | #ifndef CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_TYPES_H 11 | #define CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_TYPES_H 12 | 13 | // Include Files 14 | #include "rtwtypes.h" 15 | #endif 16 | 17 | // 18 | // File trailer for calc_EKF_H_odom_optimized_simple_types.h 19 | // 20 | // [EOF] 21 | // 22 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/codeInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/codeInfo.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/codedescriptor.dmr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/codedescriptor.dmr -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/examples/main.h: -------------------------------------------------------------------------------- 1 | // 2 | // Academic License - for use in teaching, academic research, and meeting 3 | // course requirements at degree granting institutions only. Not for 4 | // government, commercial, or other organizational use. 5 | // File: main.h 6 | // 7 | // MATLAB Coder version : 3.4 8 | // C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | // 10 | 11 | //*********************************************************************** 12 | // This automatically generated example C main file shows how to call 13 | // entry-point functions that MATLAB Coder generated. You must customize 14 | // this file for your application. Do not modify this file directly. 15 | // Instead, make a copy of this file, modify it, and integrate it into 16 | // your development environment. 17 | // 18 | // This file initializes entry-point function arguments to a default 19 | // size and value before calling the entry-point functions. It does 20 | // not store or use any values returned from the entry-point functions. 21 | // If necessary, it does pre-allocate memory for returned values. 22 | // You can use this file as a starting point for a main function that 23 | // you can deploy in your application. 24 | // 25 | // After you copy the file, and before you deploy it, you must make the 26 | // following changes: 27 | // * For variable-size function arguments, change the example sizes to 28 | // the sizes that your application requires. 29 | // * Change the example values of function arguments to the values that 30 | // your application requires. 31 | // * If the entry-point functions return values, store these values or 32 | // otherwise use them as required by your application. 33 | // 34 | //*********************************************************************** 35 | #ifndef MAIN_H 36 | #define MAIN_H 37 | 38 | // Include Files 39 | #include 40 | #include 41 | #include 42 | #include 43 | #include 44 | #include "rt_nonfinite.h" 45 | #include "rtwtypes.h" 46 | #include "calc_EKF_H_odom_optimized_simple_types.h" 47 | 48 | // Function Declarations 49 | extern int main(int argc, const char * const argv[]); 50 | 51 | #endif 52 | 53 | // 54 | // File trailer for main.h 55 | // 56 | // [EOF] 57 | // 58 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/gcGuiReport.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/gcGuiReport.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/calc_EKF_H_odom_optimized_simple_buildlog1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_H_odom_optimized_simple' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
Build Parameters
Build directory
Make wrapper
Make command
40 |
41 | 42 | 43 |
Build Log
44 |
45 |     1   Compilation suppressed: generating code only.
46 | 
47 |
48 |
49 | 50 | 51 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/calc_EKF_H_odom_optimized_simple_buildlog2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_H_odom_optimized_simple' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/calc_EKF_H_odom_optimized_simple_buildlog3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_H_odom_optimized_simple' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/calc_EKF_H_odom_optimized_simple_buildlog4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 23 |
24 | Code Generation Report For 'calc_EKF_H_odom_optimized_simple' 25 | 26 | 27 |
MATLAB Coder Build Log

28 |

29 |
30 | 31 | 32 | 33 | 34 | 35 |
Build Parameters
Build directory
36 |
37 | 38 | 39 |
Build Log
40 |
41 |
42 | 43 | 44 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/contents_file.tmp: -------------------------------------------------------------------------------- 1 | 4 | 5 |
2 | Generated Source Files 3 |
main.h
6 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/exported_values.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/exported_values.mat -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/hilite_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/hilite_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family: sans-serif; 3 | font-size: 9pt; 4 | } 5 | pre.code, pre#RTWcode, .center .lineno { 6 | font:10pt/14pt Courier New; 7 | } 8 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/metrics.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Static Code Metrics Report 5 | 6 | 7 | 8 | 9 |

10 | Static Code Metrics Report 11 |

12 |
13 | 14 |
15 |
16 | 17 |
18 |

19 | Error Report 20 |

21 | 22 | 23 | 26 | 27 | 28 | 29 | 68 | 69 | 70 | 71 |
24 | Static code metrics report was not successfully generated because of the following errors. 25 |
30 | 31 | 32 | 38 | 44 | 50 | 51 | 52 | 53 | 56 | 59 | 62 | 63 | 64 | 65 |
33 | 34 | File 35 | 36 | 37 | 39 | 40 | Line 41 | 42 | 43 | 45 | 46 | Description 47 | 48 | 49 |
54 | /home/valentin/Documents/MATLAB/estim/codegen/lib/calc_EKF_H_odom_optimized_simple/calc_EKF_H_odom_optimized_simple.h 55 | 57 | 14 58 | 60 | cannot open source file "cmath" 61 |
66 | 67 |
72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/report.mldatx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/report.mldatx -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/Error_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/Error_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/Fatal_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/Fatal_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/Warning_document.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/Warning_document.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cc_sourcecodec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cc_sourcecodec.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/collapsible-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/collapsible-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/collapsible.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/collapsible.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_document_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_document_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_document_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_document_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_document_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_document_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_close_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_close_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_close_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_close_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_close_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_close_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_open_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_open_check.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_open_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_open_error.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_open_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/cs_folder_open_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/eml_report_loadable_data.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The MathWorks, Inc. 2 | 3 | window.addEventListener("load", function load(e) { 4 | parent.postMessage(document.body.innerHTML, '*'); 5 | window.removeEventListener("load", load, false); 6 | }); 7 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/expandable-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/expandable-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/expandable.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/expandable.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/folderclosed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/folderclosed.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/folderopen.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/folderopen.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/help.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/hilite_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/hilite_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/inspect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | 32 | 34 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/jQuery/ui.resizable.css: -------------------------------------------------------------------------------- 1 | /* Resizable 2 | ----------------------------------*/ 3 | .ui-resizable { position: relative;} 4 | .ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} 5 | .ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } 6 | .ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0px; } 7 | .ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0px; } 8 | .ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0px; height: 100%; } 9 | .ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0px; height: 100%; } 10 | .ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } 11 | .ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } 12 | .ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } 13 | .ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/leaf-last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/leaf-last.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/leaf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/leaf.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/matlab-report-styles.css: -------------------------------------------------------------------------------- 1 | /* Copyright 1984-2013 The MathWorks, Inc. */ 2 | 3 | PRE { 4 | font-size: 100%; 5 | } 6 | 7 | .mono { 8 | font-family: monospace; 9 | font-size: 100%; 10 | } 11 | 12 | .head { 13 | font-weight: bold; 14 | } 15 | 16 | .report-head { 17 | padding: 8px; 18 | font-size: 150%; 19 | font-weight: bold; 20 | background: #008; 21 | color: #FFF; 22 | } 23 | 24 | .report-desc { 25 | margin-top:-8px; 26 | margin-bottom:4px; 27 | } 28 | 29 | .subdir-top { 30 | border-top:1px solid #CCC; 31 | margin-top:8px; 32 | margin-bottom:2px; 33 | } 34 | 35 | .subdir-bottom { 36 | border-top:1px solid #CCC; 37 | margin-top:4px; 38 | margin-bottom:8px; 39 | } 40 | 41 | .grayline { 42 | border-top:1px solid #CCC; 43 | margin-top:4px; 44 | margin-bottom:4px; 45 | } 46 | 47 | .td-linetop { 48 | border-top:1px solid #BBB; 49 | } 50 | 51 | .td-dashtop { 52 | border-top:1px dotted #CCC; 53 | background-color: #F0F0F0; 54 | } 55 | 56 | .td-linetopleft { 57 | border-top:1px solid #BBB; 58 | border-left:1px solid #BBB; 59 | } 60 | 61 | .td-dashtopleft { 62 | border-top:1px dotted #CCC; 63 | border-left:1px solid #BBB; 64 | background-color: #F0F0F0; 65 | } 66 | 67 | .td-linebottomrt { 68 | border-bottom:1px solid #BBB; 69 | border-right:1px solid #BBB; 70 | } 71 | 72 | .td-function { 73 | border-top:1px solid #CCC; 74 | border-left:1px solid #BBB; 75 | background: #F0F8FF; 76 | } 77 | 78 | .td-script { 79 | border-top:1px solid #CCC; 80 | border-left:1px solid #BBB; 81 | background: #FFE; 82 | } 83 | 84 | .td-cellscript { 85 | border-top:1px solid #CCC; 86 | background: #FFF; 87 | } 88 | 89 | 90 | /* */ 91 | 92 | .soft { 93 | color: #888; 94 | } 95 | 96 | .warning { 97 | background: #FFC0C0; 98 | } 99 | 100 | .xtrainfo { 101 | font-family: monospace; 102 | padding-left:3em; 103 | padding-bottom:0px; 104 | margin-bottom:-1em; 105 | } 106 | 107 | #FunctionListingTable{ 108 | border:0px; 109 | border-spacing:0px; 110 | border-collapse:collapse; 111 | } 112 | 113 | #FunctionListingTable tr { 114 | padding:0px; 115 | border:0px; 116 | } 117 | 118 | #FunctionListingTable th { 119 | text-align:center; 120 | } 121 | 122 | #FunctionListingTable th.leftAligned { 123 | text-align:left; 124 | } 125 | 126 | #FunctionListingTable pre { 127 | margin:0px; 128 | } 129 | 130 | #FunctionListingTable th > pre > span { 131 | font-weight:bold; 132 | text-decoration:none; 133 | } 134 | 135 | #FunctionListingTable td { 136 | padding:0px; 137 | text-align:center; 138 | } 139 | 140 | #FunctionListingTable td.leftAligned { 141 | padding:0px; 142 | text-align:left; 143 | } 144 | 145 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/mhighlight.css: -------------------------------------------------------------------------------- 1 | span.keyword {color: #0000FF} 2 | span.comment {color: #228B22} 3 | span.string {color: #A020F0} 4 | span.untermstring {color: #B20000} 5 | span.syscmd {color: #B28C00} 6 | 7 | div.code { 8 | cursor:default; 9 | } -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/nav.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/nolines_minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/nolines_minus.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/nolines_plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/nolines_plus.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/right_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/right_arrow.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/rtwcodemetricsreport_utils.js: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The MathWorks, Inc. 2 | 3 | //Poll for metrics.js on 5 second intervals 4 | function getCodeMetricsByPolling(ctThreshold, intervalPeriod){ 5 | if(ctThreshold === undefined){ 6 | ctThreshold = 1000; 7 | } 8 | if(intervalPeriod === undefined){ 9 | intervalPeriod = 5000; 10 | } 11 | var intervalId; 12 | var ct=0; 13 | //function to get code metrics 14 | function getCodeMetrics(){ 15 | cm = CodeMetrics.instance; 16 | var alink = document.getElementById("metricsLocation"); 17 | alink.innerHTML = cm.codeMetricsSummary; 18 | } 19 | if (typeof CodeMetrics !== "undefined"){ 20 | getCodeMetrics(); 21 | } 22 | else{ 23 | intervalId = window.setInterval(function(){ 24 | //Try reinclude metrics to check if CodeMetrics are available 25 | ct = ct + 1; 26 | if (ct > ctThreshold){ 27 | // Clear if elapsed time is 1000x5 seconds 28 | clearInterval(intervalId); 29 | var alink = document.getElementById("metricsLocation"); 30 | alink.innerHTML = 'Error generating code metrics'; 31 | } 32 | else{ 33 | var metricsScript = document.getElementById('metrics'); 34 | if(metricsScript !== null){ 35 | metricsScript.parentNode.removeChild(metricsScript); 36 | } 37 | var jsElm = document.createElement("script"); 38 | jsElm.type = "application/javascript"; 39 | jsElm.src = "metrics.js"; 40 | jsElm.id = "metrics"; 41 | document.getElementsByTagName('head')[0].appendChild(jsElm); 42 | if (typeof CodeMetrics !== "undefined"){ 43 | clearInterval(intervalId); 44 | getCodeMetrics(); 45 | } 46 | } 47 | }, intervalPeriod); 48 | } 49 | } -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/rtwmsg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Block-to-Code Highlighting Message 5 | 6 | 7 | 8 |

Block-to-Code Highlighting Message

9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/rtwreport_utils.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011-2013 The MathWorks, Inc. 2 | 3 | 4 | function local_onload() { 5 | if (typeof top.rtwreport_document_frame !== "undefined") { 6 | var docObj = window.document; 7 | var alink = docObj.getElementById("linkToText_plain"); 8 | if (alink) { 9 | alink.href = "matlab:coder.internal.editUrlTextFile('" + alink.href + "')"; 10 | } 11 | alink = docObj.getElementById("linkToCS"); 12 | if (alink) { 13 | alink.href = "matlab:coder.internal.viewCodeConfigsetFromReport('" + alink.href + "');"; 14 | } 15 | } 16 | } 17 | 18 | var utils = (function() { 19 | 20 | // Load via Microsoft.XMLDOM--for older versions of IE 21 | function loadXML_MSXMLDOM(filename, callback, async) { 22 | if (navigator.appName == "Microsoft Internet Explorer") { 23 | // Internet Explorer 5/6 24 | try { 25 | var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 26 | xmlDoc.async = async; 27 | xmlDoc.onreadystatechange = function() { 28 | if (xmlDoc.readyState == 4) { 29 | callback(xmlDoc); 30 | } 31 | } 32 | xmlDoc.load(filename); 33 | return true; 34 | } catch(e) { 35 | } 36 | } 37 | return false; 38 | } 39 | 40 | // Load via XMLHttpRequest 41 | function loadXML_XHR(filename, callback, async) { 42 | if (window.XMLHttpRequest) { 43 | try { 44 | var xhr = new XMLHttpRequest(); 45 | xhr.onreadystatechange = function() { 46 | if (this.readyState == 4) { 47 | callback(this.responseXML); 48 | } 49 | } 50 | xhr.open("GET", filename, async); 51 | xhr.send(""); 52 | return true; 53 | } catch(e) { 54 | if (navigator.appName === "Netscape" && e.code === 1012) { 55 | // file not found: ignore 56 | return true; 57 | } 58 | } 59 | } 60 | return false; 61 | } 62 | 63 | return { 64 | trimText: function(s) { 65 | // In IE9, String.trim not present 66 | if (s && s.trim) { 67 | return s.trim(); 68 | } 69 | else { 70 | return s; 71 | } 72 | }, 73 | getText: function(elt) { 74 | // In IE9, use 'text' property rather than 'textContent' 75 | return elt.textContent ? elt.textContent : elt.text; 76 | }, 77 | loadXML: function(filename, callback, options) { 78 | var async = !!options && typeof(options["async"]) !== "undefined" ? options.async : true; 79 | if (!loadXML_XHR(filename, callback, async)) { 80 | if (!loadXML_MSXMLDOM(filename, callback, async)) { 81 | return false; 82 | } 83 | } 84 | return true; 85 | } 86 | }; 87 | })(); 88 | 89 | function code2model(sid) { 90 | utils.loadXML("http://localhost:31415/matlab/feval/coder.internal.code2model?arguments=[\"" + sid + "\"]", function() {}); 91 | //window.location.href = "matlab:coder.internal.code2model('" + sid + "')"; 92 | } 93 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/spinner.gif -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/status_failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/status_failed.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/status_passed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/status_passed.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/status_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/status_warning.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/tablesorter_bkgrd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/tablesorter_bkgrd.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/texture_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/texture_blue.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/texture_gray1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/texture_gray1.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/texture_gray2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arplaboratory/GeomInertiaEstimator/fdffbbbe72d5e5bacf722c10dc3e16ae6be8948f/include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/texture_gray2.png -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/html/resources/webview_codegen.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2015-2016 The MathWorks, Inc. 3 | */ 4 | function webviewToCodeInit(){document.getElementById("rtw_webview").contentWindow.require(["dojo/dom-style","dojo/topic","dojo/window","dijit/registry"],function(k,m,n,p){var c=p.byId("slwebview"),g=!0,h={traceableColor:"#00cfcf",untraceableColor:"#e8d152",getColor:function(d){return d?this.traceableColor:this.untraceableColor},getStyle:function(d,c){var a=this.getColor(c);return"fill:"+a+"; fill-opacity:0.5; stroke:"+a+";"}},f,l=function(d,e,a){c.open(d).then(function(){var b;if(b=c.getElementViewer())if(f&& 5 | k.set(f,"background",""),b=b.getLineNode(e))k.set(b,"background",a),n.scrollIntoView(b),f=b})};m.subscribe("slwebview/select",function(d,e){var a,b;c.isElement(d)&&g&&(c.unhighlightAll(),a=d.backing.sid,b=e&&e.line?e.line:-1,0<=b&&(a=d.backing.obj_viewer.code_sid+":"+b.toString()),a=top.rtwChangeSysCallback(a),c.highlight(d,h.getStyle(d,a)),0<=b&&l(d,b,h.getColor(a)))});top.codeToWebView=function(d,e){var a=c.getElement(d),b,f;a||(f=d.lastIndexOf(":"),b=d.substring(f+1),a=c.getElement(e));if(a){g= 6 | !1;try{c.open(a.diagram,{nohash:!0}).then(function(){try{c.unhighlightAll(),c.moveToView(a),c.highlight(a,h.getStyle(a,!0)),0<=b?(l(a,b,h.getColor(!0)),c.select(a)):c.select(a.diagram)}finally{g=!0}},function(){g=!0})}catch(k){g=!0}}}})}; 7 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/interface/_coder_calc_EKF_H_odom_optimized_simple_api.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_H_odom_optimized_simple_api.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_API_H 12 | #define _CODER_CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_API_H 13 | 14 | /* Include Files */ 15 | #include "tmwtypes.h" 16 | #include "mex.h" 17 | #include "emlrt.h" 18 | #include 19 | #include 20 | #include "_coder_calc_EKF_H_odom_optimized_simple_api.h" 21 | 22 | /* Variable Declarations */ 23 | extern emlrtCTX emlrtRootTLSGlobal; 24 | extern emlrtContext emlrtContextGlobal; 25 | 26 | /* Function Declarations */ 27 | extern void calc_EKF_H_odom_optimized_simple(real_T qLx, real_T qLy, real_T qLz, 28 | real_T rx, real_T ry, real_T rz, real_T vx, real_T vy, real_T vz, real_T 29 | Omegax, real_T Omegay, real_T Omegaz, real_T mtot, real_T Itotxx, real_T 30 | Itotyy, real_T Itotzz, real_T t_GeomCogX, real_T t_GeomCogY, real_T t_GeomCogZ, 31 | real_T t_GeomOdomX, real_T t_GeomOdomY, real_T t_GeomOdomZ, real_T t_GeomImuX, 32 | real_T t_GeomImuY, real_T ImuBiasAccX, real_T ImuBiasAccY, real_T ImuBiasAccZ, 33 | real_T ImuBiasAngVelX, real_T ImuBiasAngVelY, real_T ImuBiasAngVelZ, real_T 34 | motor1, real_T motor2, real_T motor3, real_T motor4, real_T dt, real_T 35 | t_GeomImuZ, real_T w, real_T l, real_T c, real_T k_f, real_T Hodom[90]); 36 | extern void calc_EKF_H_odom_optimized_simple_api(const mxArray * const prhs[40], 37 | const mxArray *plhs[1]); 38 | extern void calc_EKF_H_odom_optimized_simple_atexit(void); 39 | extern void calc_EKF_H_odom_optimized_simple_initialize(void); 40 | extern void calc_EKF_H_odom_optimized_simple_terminate(void); 41 | extern void calc_EKF_H_odom_optimized_simple_xil_terminate(void); 42 | 43 | #endif 44 | 45 | /* 46 | * File trailer for _coder_calc_EKF_H_odom_optimized_simple_api.h 47 | * 48 | * [EOF] 49 | */ 50 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/interface/_coder_calc_EKF_H_odom_optimized_simple_info.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_H_odom_optimized_simple_info.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_INFO_H 12 | #define _CODER_CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_INFO_H 13 | /* Include Files */ 14 | #include "tmwtypes.h" 15 | #include "mex.h" 16 | #include "emlrt.h" 17 | 18 | 19 | /* Function Declarations */ 20 | extern const mxArray *emlrtMexFcnResolvedFunctionsInfo(); 21 | MEXFUNCTION_LINKAGE mxArray *emlrtMexFcnProperties(); 22 | 23 | #endif 24 | /* 25 | * File trailer for _coder_calc_EKF_H_odom_optimized_simple_info.h 26 | * 27 | * [EOF] 28 | */ 29 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/interface/_coder_calc_EKF_H_odom_optimized_simple_mex.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: _coder_calc_EKF_H_odom_optimized_simple_mex.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | */ 10 | 11 | #ifndef _CODER_CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_MEX_H 12 | #define _CODER_CALC_EKF_H_ODOM_OPTIMIZED_SIMPLE_MEX_H 13 | 14 | /* Include Files */ 15 | #include 16 | #include 17 | #include 18 | #include "tmwtypes.h" 19 | #include "mex.h" 20 | #include "emlrt.h" 21 | #include "_coder_calc_EKF_H_odom_optimized_simple_api.h" 22 | 23 | /* Function Declarations */ 24 | extern void mexFunction(int32_T nlhs, mxArray *plhs[], int32_T nrhs, const 25 | mxArray *prhs[]); 26 | extern emlrtCTX mexFunctionCreateRootTLS(void); 27 | 28 | #endif 29 | 30 | /* 31 | * File trailer for _coder_calc_EKF_H_odom_optimized_simple_mex.h 32 | * 33 | * [EOF] 34 | */ 35 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/rtGetInf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetInf.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | */ 10 | 11 | #ifndef RTGETINF_H 12 | #define RTGETINF_H 13 | #include 14 | #include "rtwtypes.h" 15 | #include "rt_nonfinite.h" 16 | 17 | extern real_T rtGetInf(void); 18 | extern real32_T rtGetInfF(void); 19 | extern real_T rtGetMinusInf(void); 20 | extern real32_T rtGetMinusInfF(void); 21 | 22 | #endif 23 | 24 | /* 25 | * File trailer for rtGetInf.h 26 | * 27 | * [EOF] 28 | */ 29 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/rtGetNaN.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetNaN.cpp 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | */ 10 | 11 | /* 12 | * Abstract: 13 | * MATLAB for code generation function to initialize non-finite, NaN 14 | */ 15 | #include "rtGetNaN.h" 16 | #define NumBitsPerChar 8U 17 | 18 | /* Function: rtGetNaN ================================================== 19 | * Abstract: 20 | * Initialize rtNaN needed by the generated code. 21 | * NaN is initialized as non-signaling. Assumes IEEE. 22 | */ 23 | real_T rtGetNaN(void) 24 | { 25 | real_T nan = 0.0; 26 | uint16_T one = 1U; 27 | enum { 28 | LittleEndian, 29 | BigEndian 30 | } machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian; 31 | switch (machByteOrder) { 32 | case LittleEndian: 33 | { 34 | union { 35 | LittleEndianIEEEDouble bitVal; 36 | real_T fltVal; 37 | } tmpVal; 38 | 39 | tmpVal.bitVal.words.wordH = 0xFFF80000U; 40 | tmpVal.bitVal.words.wordL = 0x00000000U; 41 | nan = tmpVal.fltVal; 42 | break; 43 | } 44 | 45 | case BigEndian: 46 | { 47 | union { 48 | BigEndianIEEEDouble bitVal; 49 | real_T fltVal; 50 | } tmpVal; 51 | 52 | tmpVal.bitVal.words.wordH = 0x7FFFFFFFU; 53 | tmpVal.bitVal.words.wordL = 0xFFFFFFFFU; 54 | nan = tmpVal.fltVal; 55 | break; 56 | } 57 | } 58 | 59 | return nan; 60 | } 61 | 62 | /* Function: rtGetNaNF ================================================== 63 | * Abstract: 64 | * Initialize rtNaNF needed by the generated code. 65 | * NaN is initialized as non-signaling. Assumes IEEE. 66 | */ 67 | real32_T rtGetNaNF(void) 68 | { 69 | IEEESingle nanF = { { 0 } }; 70 | 71 | uint16_T one = 1U; 72 | enum { 73 | LittleEndian, 74 | BigEndian 75 | } machByteOrder = (*((uint8_T *) &one) == 1U) ? LittleEndian : BigEndian; 76 | switch (machByteOrder) { 77 | case LittleEndian: 78 | { 79 | nanF.wordL.wordLuint = 0xFFC00000U; 80 | break; 81 | } 82 | 83 | case BigEndian: 84 | { 85 | nanF.wordL.wordLuint = 0x7FFFFFFFU; 86 | break; 87 | } 88 | } 89 | 90 | return nanF.wordL.wordLreal; 91 | } 92 | 93 | /* 94 | * File trailer for rtGetNaN.cpp 95 | * 96 | * [EOF] 97 | */ 98 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/rtGetNaN.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rtGetNaN.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | */ 10 | 11 | #ifndef RTGETNAN_H 12 | #define RTGETNAN_H 13 | #include 14 | #include "rtwtypes.h" 15 | #include "rt_nonfinite.h" 16 | 17 | extern real_T rtGetNaN(void); 18 | extern real32_T rtGetNaNF(void); 19 | 20 | #endif 21 | 22 | /* 23 | * File trailer for rtGetNaN.h 24 | * 25 | * [EOF] 26 | */ 27 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/rt_nonfinite.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rt_nonfinite.cpp 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | */ 10 | 11 | /* 12 | * Abstract: 13 | * MATLAB for code generation function to initialize non-finites, 14 | * (Inf, NaN and -Inf). 15 | */ 16 | #include "rt_nonfinite.h" 17 | #include "rtGetNaN.h" 18 | #include "rtGetInf.h" 19 | 20 | real_T rtInf; 21 | real_T rtMinusInf; 22 | real_T rtNaN; 23 | real32_T rtInfF; 24 | real32_T rtMinusInfF; 25 | real32_T rtNaNF; 26 | 27 | /* Function: rt_InitInfAndNaN ================================================== 28 | * Abstract: 29 | * Initialize the rtInf, rtMinusInf, and rtNaN needed by the 30 | * generated code. NaN is initialized as non-signaling. Assumes IEEE. 31 | */ 32 | void rt_InitInfAndNaN(size_t realSize) 33 | { 34 | (void) (realSize); 35 | rtNaN = rtGetNaN(); 36 | rtNaNF = rtGetNaNF(); 37 | rtInf = rtGetInf(); 38 | rtInfF = rtGetInfF(); 39 | rtMinusInf = rtGetMinusInf(); 40 | rtMinusInfF = rtGetMinusInfF(); 41 | } 42 | 43 | /* Function: rtIsInf ================================================== 44 | * Abstract: 45 | * Test if value is infinite 46 | */ 47 | boolean_T rtIsInf(real_T value) 48 | { 49 | return ((value==rtInf || value==rtMinusInf) ? 1U : 0U); 50 | } 51 | 52 | /* Function: rtIsInfF ================================================= 53 | * Abstract: 54 | * Test if single-precision value is infinite 55 | */ 56 | boolean_T rtIsInfF(real32_T value) 57 | { 58 | return(((value)==rtInfF || (value)==rtMinusInfF) ? 1U : 0U); 59 | } 60 | 61 | /* Function: rtIsNaN ================================================== 62 | * Abstract: 63 | * Test if value is not a number 64 | */ 65 | boolean_T rtIsNaN(real_T value) 66 | { 67 | 68 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 69 | 70 | return _isnan(value)? TRUE:FALSE; 71 | 72 | #else 73 | 74 | return (value!=value)? 1U:0U; 75 | 76 | #endif 77 | 78 | } 79 | 80 | /* Function: rtIsNaNF ================================================= 81 | * Abstract: 82 | * Test if single-precision value is not a number 83 | */ 84 | boolean_T rtIsNaNF(real32_T value) 85 | { 86 | 87 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 88 | 89 | return _isnan((real_T)value)? true:false; 90 | 91 | #else 92 | 93 | return (value!=value)? 1U:0U; 94 | 95 | #endif 96 | 97 | } 98 | 99 | /* 100 | * File trailer for rt_nonfinite.cpp 101 | * 102 | * [EOF] 103 | */ 104 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/rt_nonfinite.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Academic License - for use in teaching, academic research, and meeting 3 | * course requirements at degree granting institutions only. Not for 4 | * government, commercial, or other organizational use. 5 | * File: rt_nonfinite.h 6 | * 7 | * MATLAB Coder version : 3.4 8 | * C/C++ source code generated on : 26-Feb-2019 22:48:03 9 | */ 10 | 11 | #ifndef RT_NONFINITE_H 12 | #define RT_NONFINITE_H 13 | #if defined(_MSC_VER) && (_MSC_VER <= 1200) 14 | #include 15 | #endif 16 | 17 | #include 18 | #include "rtwtypes.h" 19 | 20 | extern real_T rtInf; 21 | extern real_T rtMinusInf; 22 | extern real_T rtNaN; 23 | extern real32_T rtInfF; 24 | extern real32_T rtMinusInfF; 25 | extern real32_T rtNaNF; 26 | extern void rt_InitInfAndNaN(size_t realSize); 27 | extern boolean_T rtIsInf(real_T value); 28 | extern boolean_T rtIsInfF(real32_T value); 29 | extern boolean_T rtIsNaN(real_T value); 30 | extern boolean_T rtIsNaNF(real32_T value); 31 | typedef struct { 32 | struct { 33 | uint32_T wordH; 34 | uint32_T wordL; 35 | } words; 36 | } BigEndianIEEEDouble; 37 | 38 | typedef struct { 39 | struct { 40 | uint32_T wordL; 41 | uint32_T wordH; 42 | } words; 43 | } LittleEndianIEEEDouble; 44 | 45 | typedef struct { 46 | union { 47 | real32_T wordLreal; 48 | uint32_T wordLuint; 49 | } wordL; 50 | } IEEESingle; 51 | 52 | #endif 53 | 54 | /* 55 | * File trailer for rt_nonfinite.h 56 | * 57 | * [EOF] 58 | */ 59 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/calc_EKF_H_odom_optimized_simple/rtw_proj.tmw: -------------------------------------------------------------------------------- 1 | Code generation project for calc_EKF_H_odom_optimized_simple using toolchain "Catkin v1.0 | gmake (64-bit Linux)". MATLAB root = /usr/local/MATLAB/R2017b. 2 | -------------------------------------------------------------------------------- /include/geom_inertia_estimator/v_tools.h: -------------------------------------------------------------------------------- 1 | #ifndef V_TOOLS_H 2 | #define V_TOOLS_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | 15 | using namespace std; 16 | 17 | #define doPrint true 18 | typedef float flt; 19 | typedef Eigen::Quaternion quat; 20 | typedef Eigen::Matrix vec6; 21 | typedef Eigen::Matrix vec4; 22 | typedef Eigen::Matrix vec3; 23 | typedef Eigen::Matrix vec2; 24 | typedef Eigen::Matrix mat3; 25 | typedef Eigen::Matrix mat6; 26 | typedef Eigen::Matrix mat9; 27 | typedef Eigen::Matrix angleA; 28 | 29 | template 30 | void print(const string &s, const T &t) { 31 | if (doPrint) { 32 | stringstream ss; 33 | ss << s << "\n" << t; 34 | ROS_INFO(ss.str().c_str()); 35 | } 36 | } 37 | void print(const string &s, const quat &q); 38 | void print(const string &s); 39 | void print(void); 40 | 41 | template 42 | void warn(const string &s, const T &t) { 43 | if (1) { 44 | stringstream ss; 45 | ss << s << " " << t; 46 | ROS_WARN(ss.str().c_str()); 47 | } 48 | } 49 | void warn(const string &s); 50 | void warn(const char* ch); 51 | 52 | template 53 | vec3 msg2vec(T const &t); 54 | geometry_msgs::Vector3 vec2msg(vec3 const &t); 55 | geometry_msgs::Vector3 ivec2msg(vec3 const &t); 56 | quat msg2quat(geometry_msgs::Quaternion const &q); 57 | geometry_msgs::Quaternion quat2msg(quat const &q); 58 | geometry_msgs::Quaternion iquat2msg(quat const &q); 59 | 60 | template 61 | void getCovInMsg(const T &covariance, Eigen::Matrix &matrix) { 62 | int dim = 6; 63 | for (int idx = 0; idx < dim*dim; idx++) 64 | matrix(idx%dim,idx/dim) = covariance[idx]; 65 | } 66 | 67 | template 68 | void getCovInMsg(const T &covariance, Eigen::Matrix &matrix) { 69 | int dim = 3; 70 | for (int idx = 0; idx < dim*dim; idx++) 71 | matrix(idx%dim,idx/dim) = covariance[idx]; 72 | } 73 | 74 | template 75 | void setCovInMsg(T &covariance, const Eigen::Matrix &matrix) { 76 | int dim = 6; 77 | for (int idx = 0; idx < dim*dim; idx++) 78 | covariance[idx] = matrix(idx%dim,idx/dim); 79 | } 80 | 81 | 82 | // quaternion functions 83 | quat qExp(const angleA& aA); 84 | angleA qLog(const quat& q); 85 | 86 | quat qBoxPlus(const quat& q, const angleA& delta); 87 | angleA qBoxMinus(const quat& q1, const quat& q2); 88 | 89 | //quat qMean(const quat* qList); 90 | //quat qMean(const quat* qList, const flt* weights); 91 | //vec4 qMean(const Eigen::Matrix &qMatrix); 92 | vec4 qMean(const Eigen::Matrix &qMatrix, 93 | const Eigen::Matrix &weights); 94 | quat qMean(const quat *qList, 95 | const Eigen::Matrix &weights); 96 | //vec4 qMean(const Eigen::Matrix &qMatrix, const flt *weights); 97 | 98 | vec3 qRotateVec(const quat& q, const vec3& vec); 99 | 100 | #endif // V_TOOLS_H 101 | -------------------------------------------------------------------------------- /launch/estimator.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /msg/MotorRPM.msg: -------------------------------------------------------------------------------- 1 | Header header 2 | uint32[4] rpm 3 | -------------------------------------------------------------------------------- /msg/ParameterEstimates.msg: -------------------------------------------------------------------------------- 1 | Header header 2 | 3 | geometry_msgs/Quaternion q 4 | geometry_msgs/Vector3 r 5 | geometry_msgs/Vector3 v 6 | geometry_msgs/Vector3 Omega 7 | 8 | float64 m 9 | geometry_msgs/Vector3 I 10 | geometry_msgs/Vector3 r_BM 11 | 12 | geometry_msgs/Vector3 r_BP 13 | geometry_msgs/Vector3 r_BI 14 | geometry_msgs/Vector3 b_a 15 | geometry_msgs/Vector3 b_Omega 16 | 17 | float64[30] covariance 18 | -------------------------------------------------------------------------------- /package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | geom_inertia_estimator 4 | 0.0.1 5 | Inertia Estimator for Multirotors 6 | 7 | Valentin Wueest 8 | 9 | GPL-3.0 10 | 11 | Valentin Wueest 12 | 13 | catkin 14 | message_generation 15 | message_runtime 16 | 17 | geometry_msgs 18 | nav_msgs 19 | sensor_msgs 20 | roscpp 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/geom_inertia_estimator_node.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "geom_inertia_estimator.h" 3 | 4 | int main(int argc, char *argv[]) { 5 | 6 | ros::init(argc, argv, "geom_inertia_estimator"); 7 | ros::NodeHandle nh("~"); 8 | //getchar(); 9 | 10 | InertiaEstimator estimator; 11 | estimator.onInit(nh); 12 | estimator.sub_rpm_ = nh.subscribe("rpm", 10,&InertiaEstimator::rpm_callback, &estimator); 13 | estimator.sub_odom_ = nh.subscribe("pose", 10,&InertiaEstimator::pose_callback, &estimator); 14 | estimator.sub_imu_ = nh.subscribe("imu", 10,&InertiaEstimator::imu_callback, &estimator); 15 | 16 | estimator.pub_estimates_ = nh.advertise("param_estimates", 10); 17 | 18 | ros::spin(); 19 | 20 | return 0; 21 | } 22 | --------------------------------------------------------------------------------