I am working on prototyping an underwater navigation system with Arduino. It's going to be used to track movement underwater from a starting point and then be able to tell how to get back to that point or relatively close. The unit would only be going a few hundred feet underwater.

I am using an Arduino Nano, is this going to be sufficient? Also, what IMU would you recommend? I'm sure it will need to at least have a 3-axis gyroscope, 3-axes accelerometer, and possibly a 3-axis magnetometer.

This does need to be relatively affordable. Currently I'm building a unit that can go underwater and just record data onto an SD card so that I can take the data and map it out to check the IMUs accuracy, error margin, along with test various filters on the data. Any recommendations would be greatly appreciated.

  • 3
    Realistically, this is a problem that gets solved with sonar/beacons, not inertial navigation. – Chris Stratton Aug 27 '14 at 17:49

The nano can run an IMU just fine, but unfortunately no accelerometer based IMU short of some fancy missile guidance tech is going to be able to track position as accurately as you seem to want.

Since the Gyro and Magnometer only help with rotational orientation, the accelerometer is the only source of info on linear motion, and it has to be integrated twice to get position or distance. This site has a great explanation: http://www.chrobotics.com/library/accel-position-velocity

As their table shows, even with an angular error of only .1 degrees, after 1 minute your position could be off by 62 meters with a standard quality accelerometer.

As far as IMU's go, the MPU 6050 (accl, gyro) and MPU 9150 (Accl, gyro and mag) are pretty standard in the hobby area, and sparkfun has some breakouts. The AltiIMU from Pololu has similar features and comparable cost. If you don't want to do the sensor processing the UM7 from chrobotics works well, but is significantly more expensive.

  • 1
    Thanks for the answer. That makes sense. Would an array accelerometers and a kalman filter reduce the amount of errors enough to make it work it? Is there some other sensor(s) I could add to significantly increase the accuracy? – user3574512 Aug 27 '14 at 18:05
  • 1
    I'm sure adding more would help your accuracy, but you still don't solve the fundamental problem that there is no check on the accumulation of error using accelerometers, so I don't think you could add enough to get long lasting accuracy. You're going to need to find some kind of absolute feedback system. Though it would require a raspi or similar, you could try using two lights to track with a camera like the wii sensor bar; Just a thought. – BrettAM Aug 27 '14 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.