đź“–
Cerulean Sonar Docs
Docs DirectoryStore
ROV Locator
ROV Locator
  • ROV Locator
  • Overview
  • General Specifications Mk II
  • General Specifications Mk III
  • System Variants
  • Fundamentals Useful to System Designers
    • Sound Reflection and Absorption
    • Multipath
    • Ping Length
    • What to Do About Multipath and Other Issues
    • Clock Drift Expectations
    • Accuracy Expectations
      • Accuracy Test: Topside GPS
      • Accuracy Test: 110 Meter Slant Range
      • Accuracy Test: 295 Meter Slant Range
    • Operation in a Pool
  • Autosync Option (Mk II Only)
    • Autosync Mission Scenarios and Mission Suitability
    • Autosync Availability
    • Autosync GPS/GNSS Output
  • ROVL Channels (Autosync only; Operating Multiple Units in Proximity)
  • ROVL Coordinate Systems and Angles
    • Definitions
    • NED or “Compass” vs. ENU or “Math” Angles
    • Math to Compass Frame Conversions
    • Transducer Down Orientation
    • Transducer Up Orientation
    • Receiver/Transceiver Orientation Frames
    • Best Operating Envelope
  • Communicating With the ROVL
    • Serial Parameters
    • Packet Format
    • Messages from ROVL to Host
      • $USRTH Receiver-Transmitter Relative Angles Message
      • $USINF Information Message
      • $USERR Error Message
    • Messages from Host to ROVL
      • NMEA-Format Messages to Receiver
      • Valid Commands from Host to ROVL
  • Inertial Measurement Unit (IMU)
    • How To Tell Which IMU is Active
    • Mk II IMU Modes and Calibration
      • Mk II IMU Calibration Background
      • Mk II IMU Calibration General Procedures
    • CIMU Calibration Background
      • CIMU Magnetometer Calibration
      • CIMU Accelerometer Calibration
      • CIMU Gyro Calibration
  • Operating and Accuracy Considerations
  • Multi-Unit Operation (Swarms)
    • Multi-Unit 1:1
    • Multi-Unit 1:2
    • Multi-Unit 2x1:1
    • Multi-Unit n:1 (fixed transmitter)
    • Multi-Unit n:1 (mobile transmitter)
  • ROVL Mounting and Wiring
    • ROV/Deepside Mounting
    • Topside Mounting
    • Simple Topside Deployment Fixture
    • Wiring Notes
    • Electrical Noise
    • USB Interface using Blue Robotics BLUART Board
  • Mechanical Drawings
    • Mounting Footprint and Envelope, "S" Package
    • Mounting Footprint ("P" Package Mk II and Mk III)
    • Envelope Drawing. "P" Package ROVL Mk II Transmitter and Receiver, Mk III Transponder
  • Appendix: Math for Computing Remote Latitude/Longitude
    • Receiver & GPS at Topside and Transmitter Deepside
    • Transmitter & GPS Topside and Receiver Deepside
  • Appendix: Factory Usage Command Set
  • Troubleshooting
    • How to Tell if Your Mk II Receiver is Working
    • How to tell if your Mk II Transmitter is working
    • What to do when you find an unresolvable problem when troubleshooting
  • Copyright
Powered by GitBook
On this page
  1. Appendix: Math for Computing Remote Latitude/Longitude

Receiver & GPS at Topside and Transmitter Deepside

PreviousAppendix: Math for Computing Remote Latitude/LongitudeNextTransmitter & GPS Topside and Receiver Deepside

Last updated 3 years ago

This is the canonical, or "normal" configuration.

latitude_rx :: from GPS co-located with receiver (in degrees that include minutes and seconds)

longitude_rx :: from GPS co-located with receiver (in degrees that include minutes and seconds)

bearing :: true bearing (not compass bearing) from $USRTH message

elevation :: elevation from $USRTH message

slant_range :: slant range from $USRTH message

depth (best, if available) :: from ROV depth sensor (minus depth of receiver unit)

depth (use if ROV depth sensor not available) = abs( sin(elevation) x slant_range ) [note 1]

map_radius = cos(elevation) x slant_range

CE = 40,074,000 m // Circumference of earth in meters

lat_m_per_deg = CE / 360 // meters per degree of latitude

long_m_per_deg = lat_m_per_deg x cos(latitude_rx) // meters per degree of longitude [note 1]

latitude_tx = latitude_rx + (sin(bearing) x map_radius / lat_m_per_deg) [note 1, 2]

longitude_tx = longitude_rx + (cos(bearing) x map_radius / long_m_per_deg [note 1, 2]

Note 1: Remember, most computer functions require you to convert degrees to radians

Note 2: the signs of the degrees as noted above are needed in the computations

Note 3: longitude degrees that are West are negative, East are positive. Latitude degrees that are North are positive, South are negative.