The Vectornav VN-100 IMU (they call it an Attitude Heading Reference System, for some reason) is out and it looks like the best device on the market in this price range. Here's the description from the site.
The VN-100 combines a 3-axis accelerometer, 3-axis gyro, 3-axis magnetometer, and a high performance processor onto a single surface mountable chip-sized module to create a high performance orientation sensor. Fully calibrated for bias, gain, and misalignment, the VN-100 accurately calculates orientation over the entire 360° range at 200 Hz. Filtered orientation data and inertial measurements are assessible via either a SPI or RS-232 serial interface.
With its small size, high performance, and low cost, the VN-100 has numerous potential applications. A development kit is available for the VN-100 which comes with a sensor pre-installed and gives easy access to all of the sensor's features.
Features and Benefits:
Complete Sensor Package
3-axis accelerometer
3-axis gyro
3-axis magnetometer
Multiple Output Types
Heading , Pitch, Roll
Quaternion / DCM
Acceleration, Angular Rates, Magnetic
High Precision
Heading accuracy < 1.0 (static)
Pitch/Roll accuracy < 0.5 (static)
< 3 deg dynamic
Fast Onboard Processor
Extended Kalman Filter
200 Hz update rate
Surface Mount Package
Hand solderable
30 pads
Ultra-Compact Size
22 x 24 x 3 mm
3 grams
Fully Calibrated
Scale Factor and Gain
Axis misalignment < 0.05 deg
Hard / Soft Iron Compensation
Digital Interface
Serial UART up to 921600 bps
SPI Interface up to 18 MHz
Low Cost
$400 - 500
*Price depends on quantity
Hi Xander, i have placed my magnetometer about 15mm from 2200mAh 11.1v battery and about 180mm from motor.
i can see some interference, but it is very small and obviously it could be placed further than electrical systems.
i am using closed loop control using AHRS data (using 3 axis magnetometer) and all correct!
From what I've read, magnetometers on small UAVs can run into some pretty substantial interference from the electric motors. And unfortunately it's not just static interference from magnets, it actually changes as you throttle up and down. Still probably possible to compensate for, but it starts getting ugly.
200 Hertz for 9 degrees of freedom + filtering + DCM / Quaternion calculations is more than sufficient for anything I can think of, since the data is already filtered you need to take that into account.
(AHRS) Attitude Heading Reference System is an industry (marine is where I'm familiar with it) term for what this is.
You've put together a nice package. I'm sure it will be a successful product. The price is very good compared to some of the offerings from microstrain and the like. I'm going to download your data sheet and evaluate it for potential use on several projects I have going on at my day job. I'm most interested in perofrmance when a gravity vector is lost (free fall situation). Assuming it had a gravity vector at power up and obtained a good drift removal, how long till the drift becomes appreciable.
Thanks,
Brian
That could be the IMU section of the PicPilot right down to the magnetometer, Just using an ST32 instead of a PIC32. Nice package. I need to pour thru the specs and see how it looks up close. Thanks for the post.
I wasn't aware that the DevBoard was using the velocity vector from the GPS. If thats the case then the DevBoard would be at times an AHRS since it has at least two vectors. I'm not to familiar with the performance of the DevBoard in terms of attitude determination, but if you have a aircraft that maintains a healthy velocity vector at all times then the DevBoard should give you decent results. Problems will arise however as the velocity becomes lower, since uncertainty in the velocity vector now translates into a much larger uncertainty in the direction of the measured velocity vector. This also assumes that the velocity vector remains in a known orientation with respect to the aircraft's body reference frame. This may not be the case in conditions of severe sideslip, or aerodynamic perturbations. The magnetometer gives you a second inertially fixed reference vector to measure in the body frame. Since this vector isn't a function of vehicle motion, the AHRS will maintain its attitude accuracy at low velocities, and under conditions with severe sideslip or translational motion as in the case of a helicopter. Using the magnetic field isn't without its problems though, as it can be easily distorted by nearby ferrous materials. Since the planes you guys are flying are small and likely use electric motors, there is a good chance that magnets will be close enough to the mag sensors to cause a significant disturbance. Regardless of whether you use one of our sensors or possibly the DevBoard with an added magnetometer, make sure you perform a hard and soft iron calibration. This will allow to mathematically remove the effects of nearby magnetic materials from the attitude solution. It effectively maps a distorted magnetic field back into a clean spherical one. The ultimate solution for a UAV would be to combine the idea of using the velocity vector along with the magnetic vector. The more vectors that you can use to determine your attitude the more accurate your attitude solution. This is effectively the principle behind the expensive star trackers on satellites used for attitude determination. Unfortunately for us satellites have access to alot more reference vectors than we do here on earth.
Chris, to make tracking of gyros drift and solve AHRS you need two vectors in diferent directions, one from accelerometer and another from a magnetometer or any other sensor than give you heading vector (Bill Premerlani uses GPS)
you have not enough information in one only vector (only accelerometer)
An IMU without compass has no absolute reference for heading. IMU's compensate for this lack by computing a direction vector based on change of GPS position, but that doesn't give you an instantaneous heading. AHRS solves this by adding the magnetometer.
Thanks for your explanation of the difference between and IMU and AHRS, but I think by that definition the UAV DevBoard is an AHRS, too. It also has an attitude computer solving the attitude equations (using the DCM, rather than a Kalman filter, but the result is the same).
What do the magnetometers contribute that can not be extracted from gyros and accelerometers themselves?.
Comments
i can see some interference, but it is very small and obviously it could be placed further than electrical systems.
i am using closed loop control using AHRS data (using 3 axis magnetometer) and all correct!
jlcortex
nmine.com
(AHRS) Attitude Heading Reference System is an industry (marine is where I'm familiar with it) term for what this is.
> than we do here on earth.
Next week's $30 IMU/AHRS will have star trackers.
You should check out some of the videos of the AHRS capability of some of the home brew setups here. Here are a few links if your interested.
http://diydrones.com/video/imudot-demo-of
http://diydrones.com/video/pic32-autopilot-attitude
http://diydrones.com/profiles/blogs/hi-i-just-make-a-video-with
There are several other examples on the site.
You've put together a nice package. I'm sure it will be a successful product. The price is very good compared to some of the offerings from microstrain and the like. I'm going to download your data sheet and evaluate it for potential use on several projects I have going on at my day job. I'm most interested in perofrmance when a gravity vector is lost (free fall situation). Assuming it had a gravity vector at power up and obtained a good drift removal, how long till the drift becomes appreciable.
Thanks,
Brian
Brian
you have not enough information in one only vector (only accelerometer)
jlcortex
Thanks for your explanation of the difference between and IMU and AHRS, but I think by that definition the UAV DevBoard is an AHRS, too. It also has an attitude computer solving the attitude equations (using the DCM, rather than a Kalman filter, but the result is the same).
What do the magnetometers contribute that can not be extracted from gyros and accelerometers themselves?.