How to connect M10 ublox GPS using UART ?
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?
Hey @EnzoGhisoni
Are you still experiencing this issue, or have you been able to find a solution?