Invensense releases licence to allow use of the MPU-6000 DMP processor

Good news: Invensense has finally released a licence that allows open source projects such as ArduCopter/Plane to use the built-in sensor fusion processor in the MPU-6000 gyro/accel chip used in APM 2.x!

This processor, called the Digital Motion Processor (DMP), has been in the APM 2.x sensors from the beginning, but we weren't using it because Invensense had not specifically allowed their driver to be distributed with open source software. However, after much discussion, they have now written a licence that allows this. 

You can get it on the Invensense Developers Corner here. (You'll have to register first). I'm not a lawyer, so I won't attempt to analyze the language to see if there are any holes in it, but the Invensense developer relations managers and their legal team wrote it with projects like ArduPlane/Copter in mind, and they've assured me that we now have the green light to use the DMP code. (The agreement specifies the MPU-6050, which is the I2C version of the chip, but that includes the MPU-6000, which is the SPI version that we use). 

The Ardu* dev team is hard at work at implementing the DMP code in the ArduCopter/Plane code and we hope to have that ready for the next release. It will probably give you a choice of using the current DCM, running on the main processor, or the DMP running on the MPU-6000, freeing up a good bit of processing power for other functions. 

We have not done a rigorous test of the DMP vs the DCM, so we can't yet say that one is better than the other. But this licence now allows us give people the option of trying it, and if it perorms better than the DCM, or just as well but freeing up computational power, we can switch to it going forward. 

Views: 9778

Comment by Michele on July 30, 2012 at 9:08am

I can not wait to see the comparative results between DCM vs DMP

Comment by Jeff Smith on July 30, 2012 at 11:01pm

Has anyone successfully downloaded the documents available in the Invesense developers corner?

I registered, logged in, clicked the waiver "agree" button, and was still denied access to the documents...

I e-mailed support at invensense, but if someone has them would you shoot a copy my way?

Comment by Gasper Kolar on August 2, 2012 at 1:04am

Will the ArduImu v3 also get the new code that supports the DMP?

Comment by Jake Stew on August 13, 2012 at 9:35am
It will be interesting to see if this "DMP" is actually real. Previous comments have led me to believe that we'll be disappointing to find out what it actually is, and that they're probably using the term "DMP" very loosely.
Comment by Jake Stew on August 13, 2012 at 11:35am
I was looking through the source code and I just kept wondering why all the documentation is so vague and evasive about the actual functioning of the supposed "DMP". You also have to wonder why they're forcing people to use their library to access the "DMP". Poking around it looks to me that Invensense's API library is actually doing most, if not all, of the work!
My conclusion so far is that the DMP is bunk! Total vaporware.
Comment by Crashpilot1000 on November 5, 2012 at 6:04pm

Seems like the DMP code has been "cracked" or whatever:https://github.com/bzerk/MPU6050_DMP_6_axis_demo_/blob/master/MPU60...

I think keeping the Arducopter code more general will make it easier to adopt new sensortechnology in future and not being dependend on one company. Perhaps a MPU DMP code could lengthen the lifetime of current apm2.x, but in the long run i doubt a benefit.

Besides this i think giving some code to an open source project will make it free for every open source project.

Jake Stew "My conclusion so far is that the DMP is bunk! Total vaporware." That also seems to be the conclusion of Fabio Varesano as well.  For me invense can stick their code up their...... .

Just my opinion.

So long

Kraut Rob

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2014   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service