Inertial Measurement Unit
The IMU is connected to the I2C bus. It is mounted at [email protected] ’s geographic center to avoid offset errors. It consists of an Invensense MPU9250, which provides
- 3-axis gyroscope
- 3-axis accelerometer
- 3-axis magnetometer (compass)
During normal operation, these devices may be monitored directly by either processor, but in sleep mode they can be monitored by [email protected] and used to wakeup the Raspberry Pi.
IMU and Drones
[email protected] ’s MPU9250, together with the BMP280 altimeter, are the perfect combination to offload the Flight Control RealTime processing from a Raspberry Pi. This allows you to use the full processing power of a Linux machine for machine vision and other processor intensive tasks, whilst maintaining an ultra reliable flight controller.
The [email protected] Github repo has an updated version of the MultiWii Flight Controller library, extended with support for both the MPU9250, and the excellent Chrome based Cleanflight Configurator.
You can also use apps such as EZGUI to monitor and control your Ardhat based drone.
There’s much more information on setting up MultWii on the project Wiki
IMU and Robotics
[email protected] ’s high performance IMU, together with Real-Time processing, PWM and analogue sensing , are essential requirements for the core of any robotics system. For those who like a challenge, one of the most interesting robot variants is the the 3D Balance Bot, more commonly called a BallBot. This concept was originally rendered in Mindstorms by Takashi Chikamasa, using a Lejos, a custom Real-Time kernel for Mindstorms.
We’ve updated the concept to Mindstorms EV3 using [email protected] , a motor shield and a 3-cell LiPo,
More details, including Lego Digital designer build instructions and code are in the [email protected] Github repository.
The MPU9250 is also compatible with the popular RTIMUlib.