Posts: 21
Threads: 5
Joined: Mar 2024
Reputation:
0
Just out of curiosity, how would pypilot do in the absence of GPS?
I know it's not designed for that right now, but it seems that it would be nice to have a ded reckoning function in the event GPS/GLONAS were not available (or maybe I've been watching too much doomsday TV...)
It seems with the sensitivity of IMUs currently, it should be possible to record even small changes in acceleration or direction, to create a very accurate estimate of distance and position traveled from last known fix. Just like we did before GPS.
Not sure if this would be a pypilot function or something for OpenCPN or SignalK plug-in, but it seems that pypilot is the closest tool today to ded reckoning.
Posts: 2,324
Threads: 21
Joined: Jun 2016
Reputation:
72
pypilot does not need GPS to steer a course.
Do you mean dead reckoning for plotting position? In that case you would need water speed, but regardless it would be more of a function for an opencpn plugin than pypilot.
Posts: 2,324
Threads: 21
Joined: Jun 2016
Reputation:
72
Not really, because the IMU has accelerometers. So first you would have to integrate those to get speed, and integrate again to get position. Integrating twice like this will not produce a reliable speed estimation let alone position. There is support in pypilot to combine the IMU and gps to produce a higher speed position and speed output than gps alone, but without the gps, integration will drift and diverge in a short period of time.
Posts: 2,324
Threads: 21
Joined: Jun 2016
Reputation:
72
With a water speed sensor the dead reckoning would be much more accurate despite currents of 1-2 knots.
Posts: 2,324
Threads: 21
Joined: Jun 2016
Reputation:
72
Be aware ardupilot is not optimized for nautical use. It has a lot of features that are not used or useful on boats which complicates the software somewhat, and it does not have a lot of features pypilot has for interfacing with other systems on the boat. The software is really intended for unmanned operation of drones.
With this said, it is an interesting project and could certainly work. It would be really interesting to do direct comparisons to pypilot in different sea states as the open-source nature of ardupilot. For example they use a very complex kalman filter that integrates lots of sensors in a single matrix, and pypilot uses a simpler one that integrates the intertial sensors, and a separate filter to merge that output with the gps. If it could be demonstrated to use some of these algorithms in pypilot that could be a benefit.
Conversely ardupilot uses control algorithms optimized for power. This means powered propellers not sail, and specifically vector thrust. It may not have some of the tweaks and extensions added to pypilot to improve steering at sea, but it may be little effort to implement them.