I purchased a ArduImu V3 a while ago and have just started my journey on making use of this neat little IMU.
Honestly I had a hard time getting my head wrapped around the demo code. It has so much legacy code related to the different versions and also it's relation to the AP hardware. When searching for information it got even more confusing when I came across the discussions on camera gimbal mounts and mini-quad copters all based on different versions of this IMU. Information on the issue of magnetometer calibration was also difficult to come by. For me, it was very confusing looking at code and at first not realizing that it was for a different version. Also, it took me awhile to find the schematics for this IMU - SparkFun has it.
Anyway, just wondering if it would be a good idea to create a discussion group for V3 due to the fact that as far as I can tell the sensors are different? and possibly a code repository?
Applications:
Roll, Pitch, Yaw output - Head Tracker
Magnetometer Calibration
GPS Output
Barometer Output
Stand alone On-Gimbal Camera Stabilized mount
Basic Mini Quad with PPM RC control
Interfacing additional sensors - Sonar, IR distance
Replies
@Al,
Thanks much for this cleaned up version. The Magnetometer calibration seems to work - the "released" version doesn't have that at all - shouldn't it? Unfortunately, the printed out pitch and roll are incorrect for me UNLESS I make the same changes to Kp_ROLLPITCH and Ki_ROLLPITCH that others have suggested. Don't know why some boards need it and others don't.
Seems that you and Harry and Michel and others are making significant improvements to the code but they are not ending up as "Beta releases" for others to test. Sure would be nice to get a DMP based, a FreeIMU based, and a DCM based version available for all to test.
Personally, I would like to use an ArduIMU along with simpler autopilot code to fly a simple RC airplane but the lack of PWM inputs and outputs make that very difficult. I like the reduced size and cost that the ArduIMU provides over the ArduPilot.
Thanks again for your efforts!!
Dave
I would say start one. I have a version of code that I modified which greatly increases the speed of the IMU(from 8hz to 50+hz). I have also made it so it is easy to receive ACCURATE data from Serial. I would like to post my work and share it. I think a discussion group would be the perfect place to share it.
Hey all, can anyone recommend a good, compact LiPo battery to power my prototype (picture included)? I'm using a ghetto 9V and I don't like it.
Setup:
ArduIMU v3, MTEK GPS, OpenLog.
IMG_2442.JPG
Al,
I got my setup working thanks to your calibration code. Thanks for such a great contribution. I was banging my head against the wall because I was not getting good values, even after calibrating. I was setting roll of 90 degrees, and seeing 45-50 outputted on the serial monitor. Similar results in pitch and yaw. I made the following change:
In RotationMatrix, I changed:
#define Kp_ROLLPITCH 0.015 //PID Coefficients
#define Ki_ROLLPITCH 0.000010
To the following:
#define Kp_ROLLPITCH 0.015/GRAVITY //PID Coefficients
#define Ki_ROLLPITCH 0.000010/GRAVITY
This seemed to do the trick, although I can't explain why. Any ideas?
Al, I like 4s batteries with ~ 750 rpm/V motors and 10 x 4.5 props on a 2 KG bird. I'm strictly a MikroKopter guy, so can't recommend a PWM ESC.
-Don
Hi Don,
Here are some notes/links about the ArduIMU V3 board that I put together. I can't guaranty that it is all correct but could help others who are trying to get their head around this board.
ArduIMU_V3_Layout.txt
Don,
That looks great! Question, how do I go about joining and then uploading code? BTW, how far have others progressed in getting working code?
Hi Al,
I think it's a good idea. I know that there are people struggling to get the ArduIMU AHRS working on V3 and not getting much help. The ported code is buggy and suffering from benign neglect. I've been at it for most of a day and have managed to get it working with a 3rd party UBlox LEA 6H GPS after discovering the UBlox configuration routine in AP_GPS_UBLOX.cpp doesn't work. I've also stripped out all the code for V2 and V1.
-Don