Skip to content
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

Questions about the library and filter #10

Open
avsaase opened this issue Nov 27, 2023 · 1 comment
Open

Questions about the library and filter #10

avsaase opened this issue Nov 27, 2023 · 1 comment

Comments

@avsaase
Copy link
Contributor

avsaase commented Nov 27, 2023

I have a couple of question about some details of the library and how to use it.

  1. What are the correct signs and axis orientations for the IMU measurements? I'm using a MPU6050 with this axis orientation:
    image
    When stationary the accelerometer reads (x, y, z) = (0, 0, 9.81). Looking at some of te tests I think I need to invert the z axis. Are the other axes correct?

  2. What is the correct local tangent frame coordinate system for the filter when using GPS for the position/velocity measurements?

  3. How can this filter estimate the yaw component of the orientation in the global frame without an absolute heading reference like a magnetometer, or making assumptions about a relationship between heading and course over ground (for example from GPS)? And if it doesn't reliably estimate yaw, how can acceleration in the body frame be used to predict position and velocity in the global frame?

I read the reference paper but wasn't able to find the answers to these questions.

@avsaase avsaase changed the title Question about the library and filter Questions about the library and filter Nov 27, 2023
@nordmoen
Copy link
Owner

nordmoen commented Dec 1, 2023

If I remember correctly the axis orientation for the IMU doesn't matter as long as that is consistent. It seems from your image that the IMU is setup with ENU (East, North, Up) which is quite typical with scientific applications. You should be able to use this, and the filter should be able to adapt to this without problem (I think). However, and this relates to your second point, the coordinate system for the observation (GPS in this case) will also need to conform to ENU. Let's say you receive Lat, Lon and altitude from the GPS, you would then need to pre-process these variables into ENU, for instance by storing the first proper GPS lock coordinates and designating them as (0, 0, 0). For your third question, you are correct that without any observations the filter will not be able to measure absolute heading. The filter would in this case measure compared to the IMU frame. So a yaw of 0.0 would not indicate north, it would indicate 0.0 compared to when the filter was initialized (if that makes sense?). Through observations of the true position the filter can "correct" this misconception and correctly estimate Yaw.

Hope this is helpful (and that I'm somewhat correct...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants