简体   繁体   中英

Calculating yaw/pitch/roll

I have three GPS antennae on a boat. They are in fixed xyz positions relative to each other.

For example:

  • Ant1 at (0,0,0)
  • Ant2 at (0,5,0)
  • Ant3 at (5,2,0)

I want to make a program that will calculate the yaw, pitch and roll as the boat travels. I will have a record of the xyz position for each of the three antennae every second. It will be ascii format in the form:

Ant 1 , time in hrsminsec  , lat in degminsec , long degminsec , z in metres 

For example:

235316, LA53.1729289341999986,LN-6.2148456192000000,EL163.7457

Ditto for ant2 and ant3.

To be honest I would be really surprised of the GPS antenna were accurate enough to give you reliable information for this. That is unless you have a massive boat, but then again if the boat is massive it probably won't have much roll to it. GPS are typically only accurate to a few feet (unless they have made massive improvements in the past few years that I am unaware of). Plus you will then need to provide very accurate measurement of your GPS array to the software to make sure things are computed properly. It would probably be a MUCH better and more precise system if you just bought an accelerometer and let it feed the data. It will give you the actual Yaw/Roll/Pitch from a single device and with great accuracy.

This product looks to be exactly what you need given hardware and API it provides for logging precomputed yaw/roll/pitch. I don't have any experience with it, though.

http://www.microstrain.com/3dm.aspx#specs

You could then check the yaw values against the "yaw" values from the GPS (the angle between the line of the boats position at any two points in time and a reference line, like due North) if you wanted to check accuracy.

Good luck and I hope this helps.

Why not use MEMS sensors instead of GPS ? Much cheaper, but much more accurate.

This is one of many MEMS sensor demo kits that you can choose : https://www.adafruit.com/product/2472

What exactly are those three GPS antennas are connected to? If you'll connect it to three GPS receivers you'll wont be able to solve your problem.

You'll need to a commercial vector GPS receiver, which is not cheap. Many commercial vector GPS devices manufacturers also supply a free software which calculates both location and attitude.

If you're still into writing your own attitude calculation algorithm based on a vector GPS receiver, this paper will help:

http://microsat.sm.bmstu.ru/e-library/Algorithms/GPS/4386.pdf

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM