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

[Improvement] Switch from MPU-6050 6 axis sensor to MPU-9250 9 axis #13

Closed
luckcolors opened this issue Jan 28, 2018 · 16 comments
Closed

Comments

@luckcolors
Copy link

As previously discussed on discord, using a gyroscope without a fixed reference point causes yaw drift to happen to on the Z axis on long sessions (this naturally happens due to earth's rotation).
Switching to the MPU-9250 a 9 axis sensor gives us access to the (magnetometer) compass wich allows us to get the referece point on earth's north.
Doing this change will make the expense fom the sensor from 0.80-1$ to 2$, (in my opinion something that is worth the extra 1$ :) ) .
We could also use alternative sensors like the BNO055 but it's 10$ on aliexepress.

@Jimvanhazendonk
Copy link

Jimvanhazendonk commented Jan 28, 2018 via email

@maxim-perumal
Copy link
Member

We should do this.
I will order an MPU-9250 today.

@luckcolors
Copy link
Author

Umm, soo what's the decision on this? If you decided that we should switch, we should update the Readme as well and make the necessary code changes.

@maxim-perumal
Copy link
Member

@luckcolors I haven’t received my MPU9250 yet. You can make the necessary code changes, PR, and I will update the code when tested.

@delp
Copy link
Collaborator

delp commented Feb 8, 2018

I ordered an MPU9250 as well and will perform testing with it in my build when it arrives.

@luckcolors
Copy link
Author

Awesome! When you get the sonsor in your hands we should start to discuss about the code required to make the sensor and the error correction work.

@delp
Copy link
Collaborator

delp commented Feb 9, 2018

I'll be happy to coordinate with you on this.

@delp delp changed the title Switch from MPU-6050 6 axis sensor to MPU-9250 9 axis [Improvement] Switch from MPU-6050 6 axis sensor to MPU-9250 9 axis Feb 12, 2018
@delp delp reopened this Feb 12, 2018
@kasokz
Copy link

kasokz commented Feb 13, 2018

Instead of proposing the MPU-9250 which contains a MPU-6500 as improvement, couldn't we use the MPU-9150? MPU-9150 contains the MPU-6050, which we are already familiar with, and an additional magnetometer.
The magnetometer of the MPU-9250 is a little better than the one inside the MPU-9150, but that shouldn't make much of a difference.
Source of the statement here: http://www.sureshjoshi.com/embedded/invensense-imus-what-to-know/

@luckcolors
Copy link
Author

I think if we can get a newer sensor the better, if you notice at the end of the MPU-9150 page's there's a note saying it's discontinued.

@Ybalrid
Copy link

Ybalrid commented Feb 17, 2018

The Oculus DK1 used a magnetometer to correct yaw drift (and the included accelerometer to have a vertical reference too). But it really used to be a pain to calibrate correctly...

I think the direction you should go toward, it you want to make this project evolve, would be to add an external optical tracking system, and add positional tracking too.

You would kill two birds in one stone as you would have two sources for the user's head orientation, one being absolute, and not integrated over time...

It could be as simple as a few LEDs on the headset and a cheap webcam watching the user. But it would require more processing on the computer side. If implemented, the hardware cost would still be quite low, and it could be just an "additional" upgrade to the base system.

Just some random thoughts ^^"

@ToastTea
Copy link

Here are a couple open-source projects for head tracking so you don’t have to reinvent the wheel. http://www.free-track.net/english/
And
http://www.edtracker.org.uk/

@delp
Copy link
Collaborator

delp commented Feb 17, 2018

@Ybalrid I've been playing around with trying to get positional information from a xbox 360 Kinect. I have it working physically and though it's nice hardware for a good price (Usually about $10 at the thrift store) I have had a really difficult time with all of the software made for it (at least on linux.) None of it has aged very well. I spent several weeks battling horrible dependency problems and never succeeding in getting anything beyond LibFreeNect to work. So I think I've ruled out the Kinect as a road I want to go down, personally.

But I think I agree with you, in my mind the ideal solution for positional tracking would be a simple cheap IR/Camera setup that also sends info to the computer. I would like to try this at some point once the main headset has some more builds and testing.

At this point we are really just in need of as many people as possible to try 1) sourcing affordable parts 2) assembling from the info we have 3) documenting the good and bad and any build/software problems.

@xmak
Copy link

xmak commented Jun 24, 2018

Is there any progress with integrating MPU-9250 or MPU-9150?

@hugogarrix
Copy link
Member

With the change to the STM32 board, a upgrade to the MPU-9250 is planned. We hope to implement this future in a few months.

@JustinS-B
Copy link
Contributor

We now have headset-ready code available to test out the MPU-9250 and MPU-9255 based boards.

@hugogarrix hugogarrix added this to Review / Code check in Relativty 2.0 Jun 1, 2019
@hugogarrix hugogarrix moved this from Review / Code check to Done in Relativty 2.0 Jun 24, 2019
@hugogarrix hugogarrix moved this from Done to Review / Code check in Relativty 2.0 Jun 24, 2019
@bentalebahmed
Copy link

bentalebahmed commented Jul 12, 2019

You should try Microsoft Kinect, i have used it for positional tracking and then sending data to android phone that supports VR also added a haptic feedback system, and you can detect up to 12 player (i guess). You can check this link (research poster submitted for VRST 2018 in Tokyo ):
https://hal.archives-ouvertes.fr/hal-02052104/document

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Relativty 2.0
Review / Code check
Development

No branches or pull requests