SignalK / signalk-server

An implementation of a Signal K central server for boats.
http://signalk.org
Apache License 2.0
313 stars 154 forks source link

Derive ship midship position from multiple GPSs #987

Open mgrouch opened 4 years ago

mgrouch commented 4 years ago

In case of multiple GPS NMEA sources Signal K should maintain location of the antenna for each GPS source individually and calculate midship GPS position taking into account antennas location on the ship. Otherwise speed and AIS, anchor watch can experience sudden jumps in GPS readings from different antennas. I think there should be a signal K plugin which would handle that by sending upstream NMEA sentences with the position adjusted to midship. Thanks

tkurki commented 4 years ago

That's an interesting idea! The way to go about it would be to add positional metadata about each sensor / position source under /sources. The calculation itself is not very complex. The plugin should use https://github.com/SignalK/signalk-server-node/blob/master/SERVERPLUGINS.md#appregisterdeltainputhandler-delta-next-- to intercept incoming messages.

mgrouch commented 4 years ago

Is it possible to implement some kind of self calibration logic constantly adjusting so that the position output from signal K will be consistent relative to some fixed point on the ship? There is gotta be some kind of existing algorithm for that

mgrouch commented 3 years ago

GPS Distance From Bow, GPS Distance From Center in settings doesn't make sense to me. Which GPS? There could be many in different places on a ship

tkurki commented 3 years ago

The that AIS transmitter is using. Or put it the other way: this is where gps receiver position on the ship from class A ais messages goes.