Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hanging and trash data when both driver connection and rtk corrections through serial port #145

Open
grzesiek2201 opened this issue Dec 6, 2024 · 11 comments

Comments

@grzesiek2201
Copy link

grzesiek2201 commented Dec 6, 2024

When using one serial port for both the driver connection and ntrip corrections, the driver regularly hangs for a few seconds and doesn't communicate with the module / doesn't publish messages.
When setup is the same, but device is connected through tcp, no problems occur.

Connection:
Connected to the mosaic-go-heading with a USB cable. Using external client to provide ntrip corrections.

Config file:

# Configuration Settings for the Rover Rx

# GNSS/INS Parameters
septentrio_gnss_driver:
  ros__parameters:
    # device: tcp://192.168.3.1:28784
    device: serial:/dev/ttyACM0

    serial:
      baudrate: 921600
      hw_flow_control: "off"
      rx_serial_port: USB1

    stream_device:
      tcp:
        ip_server: ""
        port: 0        
      udp:
        ip_server: ""
        port: 0
        unicast_ip: ""

    configure_rx: true

    custom_commands_file: ""  

    osnma:
      mode: "off"
      ntp_server: ""
      keep_open: true

    frame_id: gnss

    imu_frame_id: imu

    poi_frame_id: base_link

    vsm_frame_id: vsm

    aux1_frame_id: aux1

    vehicle_frame_id: base_link

    local_frame_id: odom

    insert_local_frame: false

    get_spatial_config_from_tf: false

    lock_utm_zone: true

    use_ros_axis_orientation: true

    receiver_type: gnss    

    multi_antenna: true

    datum: Default

    poi_to_arp:
      delta_e: 0.0
      delta_n: 0.0
      delta_u: 0.0

    att_offset:
      heading: -90.0
      pitch: 0.0
      
    ant_type: "Unknown"
    ant_serial_nr: "Unknown"
    ant_aux1_type: "Unknown"
    ant_aux1_serial_nr: "Unknown"

    polling_period:
      pvt: 500
      rest: 500

    # time
    use_gnss_time: true
    ntp_server: false
    ptp_server_clock: false
    latency_compensation: true

    rtk_settings:
      serial_1:
        port: "USB1"
        baud_rate: 921600
        rtk_standard: "auto"
        send_gga: "auto"
        keep_open: true

    publish:
      # For both GNSS and INS Rxs
      auto_publish: false
      publish_only_valid: false
      navsatfix: true
      gpsfix: false
      gpgga: false
      gprmc: false
      gpst: false
      measepoch: false
      pvtcartesian: false
      pvtgeodetic: false
      basevectorcart: false
      basevectorgeod: false
      poscovcartesian: false
      poscovgeodetic: true
      velcovcartesian: false
      velcovgeodetic: false
      atteuler: false
      attcoveuler: false
      pose: false
      twist: false
      diagnostics: false
      aimplusstatus: false
      galauthstatus: false
      # For GNSS Rx only
      gpgsa: false
      gpgsv: false
      # For INS Rx only
      insnavcart: false
      insnavgeod: false
      extsensormeas: false
      imusetup: false
      velsensorsetup: false
      exteventinsnavcart: false
      exteventinsnavgeod: false
      imu: false
      localization: false
      tf: false

    # logger

    activate_debug_log: true

Debug output from the septentrio_gnss_driver:

gps  | 2024/12/06 07:50:50 [CC---]     309198 B    7736 bps (0) flepos.vlaanderen.be/FLEPOSVRS32GREC (1) /dev/ttyACM0 
gps  | [septentrio_gnss_driver_node-1] 1733471432.495148289: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471433.024629212: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471433.024813283: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was �
gps  | [septentrio_gnss_driver_node-1] 1733471433.025036075: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471433.025092365: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was �
gps  | [septentrio_gnss_driver_node-1] 1733471433.025185361: [septentrio_gnss_driver] [DEBUG]	LF wo CR: ���|
gps  | [septentrio_gnss_driver_node-1] 1733471433.495717898: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471434.019644704: [septentrio_gnss_driver] [DEBUG]	handleCd: �
gps  | [septentrio_gnss_driver_node-1] 1733471434.019982957: [septentrio_gnss_driver] [DEBUG]	LF wo CR: DPL�/�I��4�O!W�
                                                                                                                         x�p�
gps  | [septentrio_gnss_driver_node-1] 1733471434.020704616: [septentrio_gnss_driver] [DEBUG]	handleCd: ������D�6\x��y�+�
gps  | [septentrio_gnss_driver_node-1] 1733471434.494154238: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471435.019463063: [septentrio_gnss_driver] [DEBUG]	LF wo CR: �
gps  | [septentrio_gnss_driver_node-1] 1733471435.019758850: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471435.019837989: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was M
gps  | [septentrio_gnss_driver_node-1] 1733471435.020101679: [septentrio_gnss_driver] [DEBUG]	LF wo CR: �����
gps  | [septentrio_gnss_driver_node-1] 1733471435.494712544: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471436.020121418: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471436.020307184: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was �
gps  | [septentrio_gnss_driver_node-1] 1733471436.020419189: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471436.020477399: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was {
gps  | [septentrio_gnss_driver_node-1] 1733471436.020696991: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471436.020752097: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was �
gps  | [septentrio_gnss_driver_node-1] 1733471436.021684004: [septentrio_gnss_driver] [DEBUG]	handleCd: <�/7L܈
gps  | [septentrio_gnss_driver_node-1] 1733471437.020243109: [septentrio_gnss_driver] [DEBUG]	LF wo CR: �
gps  | 2024/12/06 07:50:55 [CC---]     313941 B    7305 bps (0) flepos.vlaanderen.be/FLEPOSVRS32GREC (1) /dev/ttyACM0 
gps  | [septentrio_gnss_driver_node-1] 1733471437.495107038: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471438.018825347: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471438.019039115: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was  
gps  | [septentrio_gnss_driver_node-1] 1733471438.019155216: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471438.019247379: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was �
gps  | [�eptentrio_gnss_driver_node-1] 1733471438.019554111: [septentrio_gnss_driver] [DEBUG]	LF wo CR: S�
gps  | [septentrio_gnss_driver_node-1] 1733471438.495100097: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471439.495056511: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471440.019107276: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471440.019270546: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was �
gps  | [septentrio_gnss_driver_node-1] 1733471440.494872885: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
****** Here the driver hangs ******
gps  | 2024/12/06 07:51:00 [CC---]     318826 B    7305 bps (0) flepos.vlaanderen.be/FLEPOSVRS32GREC (1) /dev/ttyACM0 
gps  | 2024/12/06 07:51:05 [CC---]     323675 B    7305 bps (0) flepos.vlaanderen.be/FLEPOSVRS32GREC (1) /dev/ttyACM0 
gps  | 2024/12/06 07:51:10 [CC---]     328454 B    7312 bps (0) flepos.vlaanderen.be/FLEPOSVRS32GREC (1) /dev/ttyACM0 
gps  | 2024/12/06 07:51:15 [CC---]     333303 B    7736 bps (0) flepos.vlaanderen.be/FLEPOSVRS32GREC (1) /dev/ttyACM0 
gps  | 2024/12/06 07:51:20 [CC---]     337022 B    7305 bps (0) flepos.vlaanderen.be/FLEPOSVRS32GREC (1) /dev/ttyACM0 
gps  | 2024/12/06 07:51:25 [CC---]     342931 B    7283 bps (0) flepos.vlaanderen.be/FLEPOSVRS32GREC (1) /dev/ttyACM0 
****** Driver works again ******
gps  | [septentrio_gnss_driver_node-1] 1733471467.996998257: [septentrio_gnss_driver] [DEBUG]	AsyncManager crc failed for SBF  5022.
gps  | [septentrio_gnss_driver_node-1] 1733471467.997364670: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471467.997609447: [septentrio_gnss_driver] [DEBUG]	handleCd: ���?�=�,��8� �1�>
gps  | [septentrio_gnss_driver_node-1] 1733471468.021515088: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733471468.021740953: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was �

These AsyncManager errors also occur when ntrip client is turned off.

@thomasemter
Copy link
Contributor

thomasemter commented Dec 6, 2024

Serial connections can only be used exclusively as far as I know. Can you try to use USB2 for RTK?

Is there a reason you do not want to use the TCP connection?

@grzesiek2201
Copy link
Author

grzesiek2201 commented Dec 6, 2024

One of the reasons I cannot use the TCP connection is that the Linux kernel on my Orin Nx doesn't include the rndis_host driver, which results in no virtual ethernet interface. But the other reason is that I have to use the com port on the Orin instead of the usb port.
Is it feasible to add a separate node in ros that publishes ntrip corrections on a topic (rtcm), and add a subscriber to the septentrio_gnss_driver that listens to these corrections and sends them to the gnss module?

@thomasemter
Copy link
Contributor

Ok, thanks for clarifying. I was not aware that RNDIS is not possible on Orin.

I think I have not yet fully understood your setup. Which Septentrio module are you using? Are you connected via USB or a real serial port? What is the source of your RTK corrections? Also it would be helpful to know which driver and ROS version you are using.

NTRIP via ROS does not make sense, since it is a TCPIP stream which can be received by the Septentrio directly. Maybe RTCM would be possible but then again this could be sent to the Septentrio directly.

@grzesiek2201
Copy link
Author

grzesiek2201 commented Dec 6, 2024

Unfortunately on our firmware, which is based on kernel 5.15.136, there is no rndis_host, indeed. The Orin Nx is actually a Syslogic RMLA4NX16-M202S-02 computer.

The setup as it is now:
mosaic-go heading evaluation kit: usb -> Orin Nx: usb (/dev/ttyACM0)
The setup will change to:
mosaic-go heading evaluation kit: COM1 -> Orin: RS232 port (COM)

The source of RTK corrections is RTKLIB's str2str tool, via the usb serial port /dev/ttyACM0 (set up as described here).

I'm using ros2 iron (humble/iron/jazzy, not much difference) and septentior_gnss_driver v1.4.1.

@thomasemter
Copy link
Contributor

Thanks for the details.

As I said before, it is not possible to use one serial port with two programs. Please, try to set the str2str tool to use /dev/ttyACM1 and the driver to use USB2.

When the setup changes to RS232 port, you will have to set up a second port.

@grzesiek2201
Copy link
Author

Thank you for the support.
I do still have a question about the debug messages
AsyncManager sync byte 2 read fault, should never come here.. Received byte was {,
AsyncManager string read fault, sync 1 found., etc.
If I turn off (comment out in the config file) all the rtk corrections, they are still present. I suppose these are SBF blocks being sent from the receiver, but somehow they aren't correctly received/read by the ros driver? Could you provide more insight into this topic?

@thomasemter
Copy link
Contributor

These debug logs signal that some messages were received, which cannot be decoded by the driver. Are you still sending RTK corrections on the same serial port?

@grzesiek2201
Copy link
Author

grzesiek2201 commented Dec 10, 2024

I am not sending rtk corrections, the ntrip client is turned off.
The log file has all the rtk settings commented out. gpgga, poscovcartesian and navsatfix topics are set to be published.
It does not happend if connected to /dev/ttyACM1, only if using /dev/ttyACM0. Changing the rx_serial_port setting doesn't make a difference.
Connection part of the config file:

device: serial:/dev/ttyACM0
serial:
      baudrate: 921600
      hw_flow_control: "off"
      rx_serial_port: USB1

Here are the debug messages when starting the ros driver:

gps  | [septentrio_gnss_driver_node-1] 1733826617.091376314: [septentrio_gnss_driver] [DEBUG]	Called ROSaicNode() constructor..
gps  | [septentrio_gnss_driver_node-1] 1733826617.096479722: [septentrio_gnss_driver] [DEBUG]	IMU roll offset: 180.000000
gps  | [septentrio_gnss_driver_node-1] 1733826617.096576461: [septentrio_gnss_driver] [DEBUG]	IMU pitch offset: -0.000000
gps  | [septentrio_gnss_driver_node-1] 1733826617.096600909: [septentrio_gnss_driver] [DEBUG]	IMU yaw offset: -0.000000
gps  | [septentrio_gnss_driver_node-1] 1733826617.096620782: [septentrio_gnss_driver] [DEBUG]	Ant heading offset: 90.000000
gps  | [septentrio_gnss_driver_node-1] 1733826617.096639982: [septentrio_gnss_driver] [DEBUG]	Ant pitch offset: -0.000000
gps  | [septentrio_gnss_driver_node-1] 1733826617.097412671: [septentrio_gnss_driver] [DEBUG]	Finished getROSParams() method
gps  | [septentrio_gnss_driver_node-1] 1733826617.097462240: [septentrio_gnss_driver] [DEBUG]	Called connect() method
gps  | [septentrio_gnss_driver_node-1] 1733826617.097482401: [septentrio_gnss_driver] [DEBUG]	Started timer for calling connect() method until connection succeeds
gps  | [septentrio_gnss_driver_node-1] 1733826617.097520673: [septentrio_gnss_driver] [DEBUG]	Called initializeIo() method
gps  | [septentrio_gnss_driver_node-1] 1733826617.097614019: [septentrio_gnss_driver] [DEBUG]	AsyncManager created.
gps  | [septentrio_gnss_driver_node-1] 1733826617.097703045: [septentrio_gnss_driver] [INFO]	Connecting serially to device /dev/ttyACM0, targeted baudrate: 921600
gps  | [septentrio_gnss_driver_node-1] 1733826617.098504791: [septentrio_gnss_driver] [DEBUG]	Gradually increasing the baudrate to the desired value...
gps  | [septentrio_gnss_driver_node-1] 1733826617.098556120: [septentrio_gnss_driver] [DEBUG]	Initiated current_baudrate object...
gps  | [septentrio_gnss_driver_node-1] 1733826617.098582713: [septentrio_gnss_driver] [DEBUG]	Current baudrate is 921600
gps  | [septentrio_gnss_driver_node-1] 1733826617.098602137: [septentrio_gnss_driver] [INFO]	Set ASIO baudrate to 921600, leaving InitializeSerial() method
gps  | [septentrio_gnss_driver_node-1] 1733826617.098830238: [septentrio_gnss_driver] [DEBUG]	Configure Rx.
gps  | [septentrio_gnss_driver_node-1] 1733826617.098865503: [septentrio_gnss_driver] [DEBUG]	Called configureRx() method
SSSSSSSSSSptentrio_gnss_driver_node-1] 1733826617.099046659: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 13 bytes to the Rx: 
gps  | [septentrio_gnss_driver_node-1] 1733826617.099757907: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
SSSSSSSSSSptentrio_gnss_driver_node-1] 1733826617.100032761: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 13 bytes to the Rx: 
gps  | [septentrio_gnss_driver_node-1] 1733826617.111748411: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
SSSSSSSSSSptentrio_gnss_driver_node-1] 1733826617.111965472: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 13 bytes to the Rx: 
gps  | [septentrio_gnss_driver_node-1] 1733826617.112652847: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.112791506: [septentrio_gnss_driver] [INFO]	The connection descriptor is USB1
gps  | [septentrio_gnss_driver_node-1] 1733826617.112872628: [septentrio_gnss_driver] [INFO]	Setting up Rx.
gps  | [septentrio_gnss_driver_node-1] 1733826617.113000343: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 27 bytes to the Rx: sso, all, none, none, off 
gps  | [septentrio_gnss_driver_node-1] 1733826617.173403596: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 32 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sso, all, none, none, off 
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.173548399: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream1, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.173645009: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 27 bytes to the Rx: sno, all, none, none, off 
gps  | [septentrio_gnss_driver_node-1] 1733826617.173763380: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream2, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.173922647: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream3, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174098075: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream4, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174197182: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream5, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174285344: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream6, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174342529: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream7, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174392034: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream8, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174443715: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream9, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174496964: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream10, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174542629: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Res1, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174617543: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Res2, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174728201: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Res3, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174759594: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Res4, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.174786955: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.234218538: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 32 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sno, all, none, none, off 
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.234365869: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream1, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.234420207: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream2, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.234464432: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 5 bytes to the Rx: grc 
gps  | [septentrio_gnss_driver_node-1] 1733826617.234643316: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream3, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.234702549: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream4, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.235144031: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream5, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.235182495: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream6, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.235207744: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream7, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.235263201: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream8, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.235315586: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream9, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.235795213: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream10, none, none, off
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.235824686: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.236766722: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 10 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: grc 
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.237700023: [septentrio_gnss_driver] [DEBUG]	A message received:   ReceiverCapabilities, Main+Aux1, GPSL1CA+GPSL2PY+GPSL2C+GLOL1CA+GLOL2CA+GALL1BC+GALE5b+GEOL1+BDSB1I+BDSB2I+BDSB3I+QZSL1CA+QZSL2C+QZSL1CB, DSK1+COM1+COM2+COM3+COM4+USB1+USB2+IP10+IP11+IP12+IP13+IP14+IP15+IP16+IP17+NTR1+NTR2+NTR3+IPS1+IPS2+IPS3+IPS4+IPS5+IPR1+IPR2+IPR3+IPR4+IPR5, SBAS+DGNSSRover+DGNSSBase+RTKRover+RTKBase+RTCMv23+RTCMv3x+CMRv20+xPPSOutput+TimedEvent+InternalLogging+Heading+APME+RAIM+MovingBase+MeasAv+IM+DSK1, 10, 10
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.237770585: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.237964989: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 11 bytes to the Rx: sgd, WGS84
gps  | [septentrio_gnss_driver_node-1] 1733826617.297223289: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 16 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sgd, WGS84
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.297452766: [septentrio_gnss_driver] [DEBUG]	A message received:   GeodeticDatum, WGS84
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.297497023: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 51 bytes to the Rx: sao, Main, 0.000, 0.000, 0.000, "Unknown", Unknown
gps  | [septentrio_gnss_driver_node-1] 1733826617.297569472: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.366522130: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 56 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sao, Main, 0.000, 0.000, 0.000, "Unknown", Unknown
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.366674805: [septentrio_gnss_driver] [DEBUG]	A message received:   AntennaOffset, Main, 0.0000, 0.0000, 0.0000, "Unknown", "Unknown"
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.366737623: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.366820056: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 51 bytes to the Rx: sao, Aux1, 0.000, 0.000, 0.000, "Unknown", Unknown
gps  | [septentrio_gnss_driver_node-1] 1733826617.428192611: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 56 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sao, Aux1, 0.000, 0.000, 0.000, "Unknown", Unknown
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.428379463: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 19 bytes to the Rx: sga, MultiAntenna 
gps  | [septentrio_gnss_driver_node-1] 1733826617.428534922: [septentrio_gnss_driver] [DEBUG]	A message received:   AntennaOffset, Aux1, 0.0000, 0.0000, 0.0000, "Unknown", "Unknown"
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.428839633: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.488238000: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 24 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sga, MultiAntenna 
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.488502262: [septentrio_gnss_driver] [DEBUG]	A message received:   GNSSAttitude, MultiAntenna, Fixed
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.488590168: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.488629689: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 21 bytes to the Rx: sto, 90.000, -0.000 
gps  | [septentrio_gnss_driver_node-1] 1733826617.548075897: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 26 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sto, 90.000, -0.000 
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.548247324: [septentrio_gnss_driver] [DEBUG]	A message received:   AttitudeOffset, 90.000, 0.000
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.548321502: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.548376383: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 60 bytes to the Rx: sso, Stream1, USB1, +ReceiverSetup +ReceiverStatus, msec500
gps  | [septentrio_gnss_driver_node-1] 1733826617.552021776: [septentrio_gnss_driver] [DEBUG]	receiver setup firmware: 4.14.4
gps  | [septentrio_gnss_driver_node-1] 1733826617.609488100: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 65 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sso, Stream1, USB1, +ReceiverSetup +ReceiverStatus, msec500
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.609675336: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream1, USB1, ReceiverStatus+ReceiverSetup, msec500
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.609763946: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.609783146: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 13 bytes to the Rx: sop, "", "" 
gps  | [septentrio_gnss_driver_node-1] 1733826617.612337891: [septentrio_gnss_driver] [DEBUG]	receiver setup firmware: 4.14.4
gps  | [septentrio_gnss_driver_node-1] 1733826617.668877891: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 18 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sop, "", "" 
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.669077767: [septentrio_gnss_driver] [DEBUG]	A message received:   ObserverParameters, "", ""
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.669151369: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.669212778: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 9 bytes to the Rx: snti, GP
gps  | [septentrio_gnss_driver_node-1] 1733826617.727951130: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 14 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: snti, GP
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.728167999: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEATalkerID, GP
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.728250881: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.728312066: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 34 bytes to the Rx: sno, Stream2, USB1, +GGA, msec500
gps  | [septentrio_gnss_driver_node-1] 1733826617.787882149: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 39 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sno, Stream2, USB1, +GGA, msec500
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.788085961: [septentrio_gnss_driver] [DEBUG]	A message received:   NMEAOutput, Stream2, USB1, GGA, msec500
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.788187212: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.788489042: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 72 bytes to the Rx: sso, Stream3, USB1, +ReceiverTime +PVTGeodetic +PosCovGeodetic, msec500
gps  | [septentrio_gnss_driver_node-1] 1733826617.847659756: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 77 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: sso, Stream3, USB1, +ReceiverTime +PVTGeodetic +PosCovGeodetic, msec500
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.847893041: [septentrio_gnss_driver] [DEBUG]	A message received:   SBFOutput, Stream3, USB1, PVTGeodetic+PosCovGeodetic+ReceiverTime, msec500
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826617.847980979: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826617.848009332: [septentrio_gnss_driver] [DEBUG]	AsyncManager sent the following 20 bytes to the Rx: eccf, Current, Boot
gps  | [septentrio_gnss_driver_node-1] 1733826618.033249452: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733826618.033421360: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was 4
gps  | [septentrio_gnss_driver_node-1] 1733826618.033561491: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733826618.033620692: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was 

gps  | [septentrio_gnss_driver_node-1] 1733826618.033711606: [septentrio_gnss_driver] [DEBUG]	LF wo CR: 3���
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826618.034476071: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733826618.034652427: [septentrio_gnss_driver] [DEBUG]	AsyncManager sync byte 2 read fault, should never come here.. Received byte was 
gps  | [septentrio_gnss_driver_node-1] 1733826618.507687250: [septentrio_gnss_driver] [DEBUG]	AsyncManager string read fault, sync 1 found.
gps  | [septentrio_gnss_driver_node-1] 1733826618.679709766: [septentrio_gnss_driver] [DEBUG]	The Rx's response contains 25 bytes and reads:
gps  | [septentrio_gnss_driver_node-1]  $R: eccf, Current, Boot
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826618.679932651: [septentrio_gnss_driver] [DEBUG]	A message received:   CopyConfigFile, Current, Boot
gps  | [septentrio_gnss_driver_node-1] 
gps  | [septentrio_gnss_driver_node-1] 1733826618.679987661: [septentrio_gnss_driver] [DEBUG]	Leaving configureRx() method
gps  | [septentrio_gnss_driver_node-1] 1733826618.680014061: [septentrio_gnss_driver] [DEBUG]	handleCd: USB1>
gps  | [septentrio_gnss_driver_node-1] 1733826618.680200145: [septentrio_gnss_driver] [INFO]	Setup complete.
gps  | [septentrio_gnss_driver_node-1] 1733826618.680379765: [septentrio_gnss_driver] [DEBUG]	Successully connected. Leaving connect() method
gps  | [septentrio_gnss_driver_node-1] 1733826618.680547289: [septentrio_gnss_driver] [DEBUG]	Leaving ROSaicNode() constructor..

@thomasemter
Copy link
Contributor

Okay, this is strange.

Can you please post your config or a minimal example of it. I will try to reproduce it.

@grzesiek2201
Copy link
Author

I connected the receiver the a PC where I could see the web interface, and as you said, it was the rtcm messages. They were being sent from the receiver.
It is a bit unexpected though, as I thought that the ros driver resets all the receiver's configuration if configure_rx : true. Once I manually removed the rtcm output messages from the web interface, the errors disappeared.
Did I misunderstand the configure_rx parameter? Or does the below config specify to output rtcm messages? However, after manually removing the rtcm output, it is not configured again when running the ros driver.

Here is the config:

# Configuration Settings for the Rover Rx

# GNSS/INS Parameters
septentrio_gnss_driver:
  ros__parameters:
    # device: tcp://192.168.3.1:28784
    device: serial:/dev/ttyACM0

    serial:
      baudrate: 921600
      hw_flow_control: "off"
      rx_serial_port: USB1

    stream_device:
      tcp:
        ip_server: ""
        port: 0        
      udp:
        ip_server: ""
        port: 0
        unicast_ip: ""

    configure_rx: true

    custom_commands_file: ""  

    osnma:
      mode: "off"
      ntp_server: ""
      keep_open: true

    frame_id: gnss

    imu_frame_id: imu

    poi_frame_id: base_link

    vsm_frame_id: vsm

    aux1_frame_id: aux1

    vehicle_frame_id: base_link

    local_frame_id: odom

    insert_local_frame: false

    get_spatial_config_from_tf: false

    lock_utm_zone: true

    use_ros_axis_orientation: true

    receiver_type: gnss    

    multi_antenna: true

    datum: Default

    poi_to_arp:
      delta_e: 0.0
      delta_n: 0.0
      delta_u: 0.0

    att_offset:
      heading: -90.0
      pitch: 0.0
      
    ant_type: "Unknown"
    ant_serial_nr: "Unknown"
    ant_aux1_type: "Unknown"
    ant_aux1_serial_nr: "Unknown"

    polling_period:
      pvt: 500
      rest: 500

    # time
    use_gnss_time: true
    ntp_server: false
    ptp_server_clock: false
    latency_compensation: true

    publish:
      # For both GNSS and INS Rxs
      auto_publish: false
      publish_only_valid: false
      navsatfix: true
      gpsfix: false
      gpgga: false
      gprmc: false
      gpst: false
      measepoch: false
      pvtcartesian: false
      pvtgeodetic: false
      basevectorcart: false
      basevectorgeod: false
      poscovcartesian: false
      poscovgeodetic: true
      velcovcartesian: false
      velcovgeodetic: false
      atteuler: false
      attcoveuler: false
      pose: false
      twist: false
      diagnostics: false
      aimplusstatus: false
      galauthstatus: false
      # For GNSS Rx only
      gpgsa: false
      gpgsv: false
      # For INS Rx only
      insnavcart: false
      insnavgeod: false
      extsensormeas: false
      imusetup: false
      velsensorsetup: false
      exteventinsnavcart: false
      exteventinsnavgeod: false
      imu: false
      localization: false
      tf: false

    # logger

    activate_debug_log: true

@thomasemter
Copy link
Contributor

Ok, thank you for checking again.

configure_rx means that the output streams are reset and all parameters that can be set by the driver are set. The corrections output is indeed not reset since it is not considered by the driver. Maybe we should consider to reset these also.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants