-
Notifications
You must be signed in to change notification settings - Fork 1
Add imu filter and #129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Add imu filter and #129
Conversation
Doxygen warnings output: (if empty, there are no warnings). Please correct any warnings before merging. /github/workspace/src/filters/IMU_filter.hpp:29: warning: argument 'IMU_data' of command @param is not found in the argument list of IMU_filter::init_EKF_6axis(IMU_data data)
/github/workspace/src/filters/IMU_filter.hpp:31: warning: The following parameter of IMU_filter::init_EKF_6axis(IMU_data data) is not documented:
parameter 'data'
/github/workspace/src/filters/IMU_filter.hpp:32: warning: argument 'IMU_data' of command @param is not found in the argument list of IMU_filter::step_EKF_6axis(IMU_data data)
/github/workspace/src/filters/IMU_filter.hpp:35: warning: The following parameter of IMU_filter::step_EKF_6axis(IMU_data data) is not documented:
parameter 'data' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just some documentation and style stuff.
/// @brief the data structure that holds all the IMU data | ||
struct IMU_data{ | ||
/// @brief raw acceleration value (m/s^2) | ||
float accel_X = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indent this struct's members
@@ -0,0 +1,244 @@ | |||
#include "IMU_filter.hpp" | |||
|
|||
void IMU_filter::init_EKF_6axis(IMU_data data){ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should link your paper on how this works. Or comment much more on the math.
{helpgy, -helpgz, 1, helpgx}, | ||
{helpgz, helpgy, -helpgx, 1} | ||
}; | ||
// [ 1, -(dt*gx)/2, -(dt*gy)/2, -(dt*gz)/2] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
delete commented code
{2*x[1], 2*x[0], 2*x[3], 2*x[2]}, | ||
{2*x[0], -2*x[1], -2*x[2], 2*x[3]} | ||
}; | ||
// [-2*q2, 2*q3, -2*q0, 2*q1] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
delete commented code
I also changed imu sensor's file in Sensors and sensor manager
The sensor manager add only the add bias function which called fix_raw_data() and calibration_all() in IMU_sensor.cpp
IMU is working on infantry after test.