Given current position(Lat,Long,Alt), heading, pitch, velocity, and roll Calculate new Lat, Long,Alt

1.4k views Asked by At

Given Latitude, Longitude, Altitude, Velocity, Heading, Pitch and Roll, I want to calculate a new Latitude, Longitude and Altitude after x time of traveling at the same Heading, Pitch, Roll and Velocity.

I had already found great resources for solving this problems in 2 dimensions, but the new requirement for predicting future altitude has gotten me stumped.

THIS article claims that "You can't directly calculate the altitude of an aircraft from any set of control settings. The altitude is dependent on the history of the aircraft." However, I feel like I have a point in 3d space and I just want to slide it down a vector at velocity n for x amount of time and see where that position is. But I don't know what that process is called as my math background is very weak. If that article is true however, I don't mind extrapolating altitude, it just seems I can do better than extrapolation.

Ted Hopp's seems like exactly what I need, however, I don't quite understand how to make that "movement" piece he references here: toSpherical(movement + toCartesian(lat, lng, alt)). I'm pretty sure I have all the pieces I need, I just need to move them.

Any resources or examples would be greatly appreciated.

Edit

A total list of params that I have is:

  • velocityEast
  • velocityNorth
  • heading
  • speed (velocity in the direction of heading is how I'm interpretitng this one)
  • latitude
  • longitude
  • altitude
  • heading
  • radomeAzimuth
  • pitch
  • roll

I don't think I need to use all of these, but I'm trying to figure out the movement component of Ted Hopps answer: toSpherical(movement + toCartesian(lat, lng, alt))

Edit 2

I think I found my movement vector here

Where heading is my yaw I'm going with it! Let me know if someone notices something blaringly wrong.

0

There are 0 answers