septentrio-gnss / septentrio_gnss_driver

ROS 1 & 2 driver for Septentrio GNSS & INS receivers
BSD 3-Clause "New" or "Revised" License
71 stars 37 forks source link

No messages received via usb #102

Closed tiesus closed 9 months ago

tiesus commented 9 months ago

I have a problem connecting to the Mosaic-X5 Board via USB connection. The setup is complete but the data streams never start: Driver output, where the receiver hangs: `[ INFO] [1695217621.574985984]: /septentrio_gnss: Setup complete. [DEBUG] [1695217621.575028507]: /septentrio_gnss: Successully connected. Leaving connect() method [DEBUG] [1695217621.575107190]: /septentrio_gnss: Leaving ROSaicNode() constructor.. [DEBUG] [1695217621.575844638]: /septentrio_gnss: A message received: SBFOutput, Stream3, USB2, MeasEpoch+AttEuler+PVTCartesian+PVTGeodetic+PosCovGeodetic+VelCovGeodetic+DOP+ReceiverTime+ChannelStatus+AttCovEuler, msec50

[DEBUG] [1695217621.575914777]: /septentrio_gnss: handleCd: USB2>`

image

thomasemter commented 9 months ago

Can you please share your config and which version of the driver you are using?

tiesus commented 9 months ago

Driver version: dev-branch Config gnss.yaml:



# GNSS/INS Parameters

# We set this with a udev rule. Use /dev/ttyACM0 or so in if you don't have udev rule set
device: serial:/dev/septentrioMosaic

serial:
  baudrate: 921600
  hw_flow_control: "off"

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

configure_rx: true

login:
  user: ""
  password: ""

osnma:
  mode: "loose"
  ntp_server: ""
  keep_open: true

frame_id: gps

aux1_frame_id: gps_base

get_spatial_config_from_tf: true

use_ros_axis_orientation: true

receiver_type: gnss

multi_antenna: true

datum: Default

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: 50
  rest: 0

use_gnss_time: false

latency_compensation: false

rtk_settings:  
  ntrip_1:
    id: ""
    caster: ""
    caster_port: 2101
    username: ""
    password: ""
    mountpoint: ""
    version: "v2"
    tls: false
    fingerprint: ""
    rtk_standard: "auto"
    send_gga: "auto"
    keep_open: true
  ip_server_1:
    id: ""
    port: 0
    rtk_standard: "auto"
    send_gga: "auto"
    keep_open: true
  serial_1:
    port: ""
    baud_rate: 115200
    rtk_standard: "auto"
    send_gga: "auto"
    keep_open: true

publish:
  # For both GNSS and INS Rxs
  navsatfix: true
  gpsfix: true
  gpgga: true
  gprmc: true
  gpst: true
  measepoch: true
  pvtcartesian: true
  pvtgeodetic: true
  basevectorcart: false
  basevectorgeod: false
  poscovcartesian: true
  poscovgeodetic: true
  velcovcartesian: false
  velcovgeodetic: true
  atteuler: true
  attcoveuler: true
  pose: true
  twist: true
  diagnostics: true
  aimplusstatus: true
  galauthstatus: false
  # For GNSS Rx only
  gpgsa: false
  gpgsv: false

# logger

activate_debug_log: true
thomasemter commented 9 months ago

Thank you for the config. I tried it with both USB serial interfaces and it worked on my setup.

I am sorry, but I am a little clueless right now why it dos not work in your setup. Does your udev rule map /dev/ttyACM0 to /dev/septentrioMosaic ? Because on my machine /dev/ttyACM0 has the connection descriptor USB1 and /dev/ttyACM1 has USB2. Your debug output shows USB2.

tiesus commented 9 months ago

I think the Udev rule is causing the error. I created a symlink to /dev/septentrioMosaic. I managed now to make everything work on the jetson nano with tcp connection without internet sharing. Thanks for your help:)

thomasemter commented 9 months ago

Great you could work it out.

Can you please share what was the trick to get it work on Jetson with tcp?

tiesus commented 9 months ago

The problem was related to the sharing of the internet connection. If I don't share internet over tcp the setup works. What I did is the following:

thomasemter commented 9 months ago

Ok, thank you for the explanation.

I indeed also had a look at this ntrip_client some time ago but since we have our receivers connected via real Ethernet we did not have a need for it so far.

The option to publish a generic NMEA sentence is on my TODO list but I do not have much time right now.