This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Autopilot route plugin
#31
GPRMC should be all you need. It's hard to say what is going on since the plugin does not parse the nmea directly, opencpn does. So in theory the new opencpn could be getting gps from signalk and passing that to the plugin without using nmea...
Reply
#32
(2020-08-10, 07:23 PM)seandepagnier Wrote: saturation basically means the command is greater than what can be achieved.   It is really impossible to know the cause of this without more information.  Did the autopilot disengage on its own?   If you had the log when this happened it also may give a lot of clues.

Here is the log of a pypilot crash event? 
It behaves differently running from command line. It does not reconnect... because pypilot does not restart. I am not sure why it says keyboard interrupt... the keyboard was not touched.


Code:
sing fusion algorithm Kalman STATE4
IMU Name: MPU-925x
min/max compass calibration not in use
Using ellipsoid compass calibration
Using accel calibration
autopilot failed to read imu at time: 1597244041.7971854
autopilot failed to read imu at time: 1597244041.938901
MPU-925x init complete
autopilot failed to read imu at time: 1597244042.0817912
MPU-925x fifo has invalid count
failed to read IMU!!!!!!!!!!!!!!
Using settings file RTIMULib.ini
Detected MPU9250/MPU9255 at standard address
Using fusion algorithm Kalman STATE4
IMU Name: MPU-925x
min/max compass calibration not in use
Using ellipsoid compass calibration
Using accel calibration
autopilot failed to read imu at time: 1597244098.5111096
autopilot failed to read imu at time: 1597244098.653065
autopilot failed to read imu at time: 1597244098.7959723
MPU-925x init complete
autopilot failed to read imu at time: 1597244098.9382255
Process Process-2:
Traceback (most recent call last):
 File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
   self.run()
 File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
   self._target(*self._args, **self._kwargs)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/calibration_fit.py", line 624, in CalibrationProcess
   compass_cal.AddPoint(p['compass'], p['down'])
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/calibration_fit.py", line 428, in AddPoint
   if total < mind:
TypeError: '<' not supported between instances of 'complex' and 'float'
got signal 17 cleaning up
got signal 15 cleaning up
got signal 15 cleaning up
Traceback (most recent call last):
 File "/usr/local/bin/pypilot", line 11, in <module>
Process Process-1:
Process gpsProcess-5:
   load_entry_point('pypilot==0.16', 'console_scripts', 'pypilot')()
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 395, in main
   ap.run()
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 214, in run
   self.iteration()
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 390, in iteration
got signal 15 cleaning up
   time.sleep(dt)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 107, in cleanup
Process NmeaBridgeProcess-4:
   raise KeyboardInterrupt # to get backtrace on all processes
KeyboardInterrupt
Traceback (most recent call last):
got signal atexit cleaning up
 File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
   self.run()
 File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
   self._target(*self._args, **self._kwargs)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/pipeserver.py", line 147, in pipe_server_process
   time.sleep(.1)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 107, in cleanup
   raise KeyboardInterrupt # to get backtrace on all processes
KeyboardInterrupt
Traceback (most recent call last):
 File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
   self.run()
 File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
   self._target(*self._args, **self._kwargs)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/gpsd.py", line 66, in gps_process
   self.read(pipe)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/gpsd.py", line 39, in read
   gpsdata = self.gpsd.next()
 File "/usr/local/lib/python3.7/dist-packages/gps/gps.py", line 301, in next
   return self.__next__()
 File "/usr/local/lib/python3.7/dist-packages/gps/gps.py", line 292, in __next__
   if self.read() == -1:
 File "/usr/local/lib/python3.7/dist-packages/gps/gps.py", line 281, in read
   status = gpscommon.read(self)
 File "/usr/local/lib/python3.7/dist-packages/gps/client.py", line 115, in read
   frag = self.sock.recv(8192)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 107, in cleanup
   raise KeyboardInterrupt # to get backtrace on all processes
KeyboardInterrupt
got signal 17 cleaning up
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
 File "/usr/lib/python3.7/multiprocessing/popen_fork.py", line 28, in poll
   pid, sts = os.waitpid(self.pid, flag)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 107, in cleanup
   raise KeyboardInterrupt # to get backtrace on all processes
KeyboardInterrupt
Traceback (most recent call last):
 File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
   self.run()
 File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
   self._target(*self._args, **self._kwargs)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/nmea.py", line 702, in process
   time.sleep(dt)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 107, in cleanup
   raise KeyboardInterrupt # to get backtrace on all processes
KeyboardInterrupt
got signal 15 cleaning up
Process Process-3:
Traceback (most recent call last):
 File "/usr/lib/python3.7/multiprocessing/process.py", line 297, in _bootstrap
   self.run()
 File "/usr/lib/python3.7/multiprocessing/process.py", line 99, in run
   self._target(*self._args, **self._kwargs)
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/boatimu.py", line 105, in imu_process
   if not rtimu.IMURead():
 File "/usr/local/lib/python3.7/dist-packages/pypilot-0.16-py3.7-linux-armv7l.egg/pypilot/autopilot.py", line 107, in cleanup
   raise KeyboardInterrupt # to get backtrace on all processes
KeyboardInterrupt
closing autopilot
pi@openplotter:~ $
Reply
#33
I never saw this but it makes sense.

TypeError: '<' not supported between instances of 'complex' and 'float'

I believe this is fixed in the next version because everything uses time.monotonic not time.time so no more negative value raised to a power makes a complex number.
Reply
#34
(2020-08-14, 04:43 AM)seandepagnier Wrote: I never saw this but it makes sense.

TypeError: '<' not supported between instances of 'complex' and 'float'

I believe this is fixed in the next version because everything uses time.monotonic not time.time so no more negative value raised to a power makes a complex number.

Is the next version available for use or is it still in development? Happy to beta test it for you.
Reply
#35
(2020-08-14, 04:43 AM)seandepagnier Wrote: I never saw this but it makes sense.

TypeError: '<' not supported between instances of 'complex' and 'float'

I believe this is fixed in the next version because everything uses time.monotonic not time.time so no more negative value raised to a power makes a complex number.
Hi Sean, thanks for all your help.

So the problem is in the pypilot service. This must be happening to other users.

If the new version is not available is it possible to fix this by downgrading to a previous version? If so is it possible within the OP2 settings app?

Is there anything I can do that would avoid this? 
Sometimes it happens once, the last time I was out it happened 4 times. I wonder if there is something specific I am doing that is causing this part of the program to be called? 

It really causes havoc especially when the winds and waves push you off course quickly when it happens, if you can imagine 6 lines out the back of the boat 150 to 400 feet of line out, and you do a quick right turn, the mess of tangled lines is daunting, sometimes all you can do is cut them.

Kind Regards
Peter
Reply
#36
I will try to upload tomorrow an image for testing.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)