ublox icon indicating copy to clipboard operation
ublox copied to clipboard

How to connect M10 ublox GPS using UART ?

Open EnzoGhisoni opened this issue 1 year ago • 1 comments

I am trying to run ublox_gps_node to get the data from a Matek M10 GPS. When I'm connected through USB, I'm able to get the data from the sensor but I can't get the data from the same sensor using Jetson orin nano UART communication. I don't think that the problem is related to my UART communcation itself because I'm able to see UART message using cat command on the port /dev/tttyTHS0.

Expected behavior: If the parameter config_on_startup is set to true: [ublox_gps_node-1] [INFO] [1710169415.793446379] [ublox_gps_node]: U-Blox: Opened serial port /dev/ttyTHS0 [ublox_gps_node-1] [DEBUG] [1710169415.793814163] [ublox_gps_node]: Configuring UART1 baud rate: 115200, In/Out Protocol: 1 / 1 [ublox_gps_node-1] [DEBUG] [1710169415.793866741] [ublox_gps_node]: Waiting for ACK 0x06 / 0x00 [ublox_gps_node-1] [DEBUG] [1710169415.794063257] [ublox_gps_node]: U-Blox sent 28 bytes: [ublox_gps_node-1] b5 62 6 0 14 0 1 0 0 0 d0 8 0 0 0 c2 1 0 1 0 1 0 0 0 0 0 b8 42 [ublox_gps_node-1] [DEBUG] [1710169417.185785823] [ublox_gps_node]: Current baudrate 115200 [ublox_gps_node-1] [DEBUG] [1710169417.186252234] [ublox_gps_node]: Selected baudrate 115200 [ublox_gps_node-1] terminate called after throwing an instance of 'std::runtime_error' [ublox_gps_node-1] what(): Could not configure serial baud rate

If the parameter config_on_startup is set to false: [ublox_gps_node-1] [INFO] [1710169335.954938913] [ublox_gps_node]: U-Blox: Opened serial port /dev/ttyTHS0 [ublox_gps_node-1] [DEBUG] [1710169335.955802902] [ublox_gps_node]: U-Blox sent 8 bytes: [ublox_gps_node-1] b5 62 a 4 0 0 e 34 [ublox_gps_node-1] terminate called after throwing an instance of 'std::runtime_error' [ublox_gps_node-1] what(): Failed to poll MonVER & set relevant settings

Config file for USB connection (working):

ublox_gps_node:
  ros__parameters:
    device: /dev/ttyUSB0
    uart1:
      baudrate: 9600
      in: 1
      out: 1
    debug: 2 # Range 0-4 (0 means no debug statements will print)
    frame_id: gps
    enable_ppp: false # expert setting
    dynamic_model: pedestrian
    #config_on_startup: false
    gnss:
      gps: true
      glonass: true
      beidou: true
      qzss: true # to avoid cold resetting when launching node https://github.com/KumarRobotics/ublox/issues/59
      sbas: true
      galileo: true
      qzss_sig_cfg: 0x110000 # avoid cold resetting error
      imes: false # not supported bu M9

Config file tried for UART communication:

ublox_gps_node:
  ros__parameters:
    device: /dev/ttyTHS0
    uart1:
      baudrate: 9600
      in: 1
      out: 1
    debug: 3 # Range 0-4 (0 means no debug statements will print)
    frame_id: gps
    enable_ppp: false # expert setting
    dynamic_model: pedestrian
    #config_on_startup: false
    gnss:
      gps: true
      glonass: true
      beidou: true
      qzss: true # to avoid cold resetting when launching node https://github.com/KumarRobotics/ublox/issues/59
      sbas: true
      galileo: true
      qzss_sig_cfg: 0x110000 # avoid cold resetting error
      imes: false # not supported bu M9

Development environment:

  • OS: Ubuntu 22.4 and Jetpack 6 on Jetson Orin nano
  • ROS Version: Humble

Do you have any suggestions for solving this problem?

EnzoGhisoni avatar Mar 11 '24 15:03 EnzoGhisoni

Hey @EnzoGhisoni

Are you still experiencing this issue, or have you been able to find a solution?

bnbhat avatar Sep 02 '24 09:09 bnbhat