Position IMU/Depth sensor



do you think this might be a good position for the IMU / Depth?

Did anybody already upgrade the ROV with the Sensor and has found out some kind of perfect position?

you can see the sensorcase right next to the starboard propeller. Its meant to be mounted to the top plate of the inner structure.

Looking forward to an answer



YES! Perfect!



Hmm, I wonder if this a great position for the magnetometer (heading) part of the sensor. I recently received my IMU/depth sensor and tested it sucessfully with Walt's Arduino code (thanks for that!), but I didn't find the time to hook it up to the ROV in order to see what the heading sensor says. But I'd try to place it as far as possible away from the motors, probably towards the front end of a battery tube.

Did you guys (Eric, Walt, Colin) make any experiments regarding this already?



Yes, I did. I was happy to see that the motors had little (if any) effect from being turned in. There may be some biasing from the perminant magnets, but I’d imagine that’s removed during the calibration process. Bearing seemed to be true.



Great! THX


Hi, when I first mounted the IMU, I positioned it as picture shows above and picture to the right. After uploading the Arduino software to the controller card, I got data and all was well. I noticed that the roll data was off by about 8 degrees. This was caused by the chip not glued flat on the module, giving it an offset. Fair enough. I took off the module again, meaning to re-align it so that the roll offset could be fixed. As I was checking the alignment, I noticed that the compass was off by what appeared to be about 80 degrees. I aligned it so that the compass heading was correct. However when testing the pitch and roll setting, they become shifted when I had it this position. Ditching the nose of ROV downwards indicated a sideways roll. (Quite obvious when you think about it) So I shifted the position back 90 degrees again, and now roll and pitch matched the movements of the ROV.

However the compass was now offset again by approx. 80 degrees again. I decided to go for the correct pitch and roll, and live with the compass being off, assuming this could be corrected at a later point.

But another thing that surprised me was that I had to mount it upside down to my initial belief, basically mounting the module with the wires coming up against chassis, instead of coming out underneath. This lead to a not so tidy installation, since I had to give room for the wires coming out on top. I double checked the readings in the Cockpit, and in order to get valid readings on the HUD, it had to mounted this way. Am I the only one with this experience?

All was well, until the next day when I started the ROV again, and now all pitch roll data are dead, but depth and temperature is still updating and working.

Have checked the Aconfig.h file and the changes for the IMU are still in place. Re-uploaded the software from cockpit, but still the same, only depth and temperature shows live. All other IMU data shows "0" for values. If it had been a hardware fault, I would expect depth and temperature to be dead as well, since it communicates on a I2C bus. But I guess it could be the MPU-91 that is dead, and only Pressure Sensor - MS5803-14BA still working. The unit was not in water before it died, and all electronics are engulfed in epoxy, so nothing moves. So strange that the MPU-91 should die. Are there anything in the software that can be the cause of this?


Hey Armand,

I'm not sure what happened to cause some data from the IMU to stop coming through- I'll see if I can figure out some reason that would happen, but in the mean time, I wanted to say that the issues with heading and pitch/roll not being coordinated with the recommended mount position of the IMU is a known behavior which should eventually be fixable using software.

Since the gyro, accelerometer, and compass are all 3-axis sensors, our goal was to make it so the physical hardware and it's position were ideal, then correct for alignment and orientation issues after the fact. It looks like your fix (re-mounting the IMU) in the mean time will work, but hopefully we'll get some software that allows for a more elegant mounting position out soon as well.

Thank you for posting the pictures and description of what you've been doing. This feedback really helps us with what we should work on getting figured out. Please let us know if you have any other thoughts or discoveries on how this can be better!



Thanks for the reply Eric,

I suspected that issue with heading and pitch/roll may need some software calibrating to be presentable in a way that makes sense to the orientation of the rover. Just couldn't find any other users describing the same problem, which I find odd since this would be a general problem with all IMU/depth modules.

I'm more concerned with the dead data on IMU. Will do some more troubleshooting, though I'm more into electronics than programming. Appreciate it if you find some more info on the problem.

Just one thing, the MPU-9150 contains a 3-axis electronic compass: AK8975, which works on Hall sensor technology. Apparently this requires calibration prior to operation.

"A Hall probe can be used to measure the Earth's magnetic field. It must be held so that the Earth's field lines are passing directly through it. It is then rotated quickly so the field lines pass through the sensor in the opposite direction. The change in the flux density reading is double the Earth's magnetic flux density. A Hall probe must first be calibrated against a known value of magnetic field strength"

Ref: http://en.wikipedia.org/wiki/Hall_effect_sensor

I'm not sure if this is done at factory prior to shipping, or needs to be done by consumer, I would assume this is done at factory. At least it is done in diving computers, all though it is possible for users to perform another calibration. Anyway, I'm sure you guys have thought of it, just checking in case.

Still , I love the concept of the IMU, felt like an F-15 fighter pilot whilst waiving the ROV'er around. And it should really prove to be helpful navigating, specially mid-water without visual reference, something I know a bit about being a diver myself.

I see there are discussions on the forum on how to apply the IMU in navigation, found a good video on Youtube that illustrates the potential: http://www.youtube.com/watch?v=6ijArKE8vKU

Although I'm unsure how easy it is to program this within the boundaries of existing software architecture.

Anyway, time for a beer, Saturday night and all :-) (nearly 10:00 PM in Norway now)

Take care!