Value error, likely due to missing fields in the NMEA message. Error was: 'utf-8' codec can't decode
ashBabu opened this issue · 4 comments
ashBabu commented
On ROS humble, I get the following when I run ros2 launch theia_localization nmea_serial_driver.launch.py
[nmea_serial_driver-1] [INFO] [1698850685.891022741] [nmea_navsat_driver]: Successfully connected to /dev/ttyACM0 at 4800. [nmea_serial_driver-1] [WARN] [1698850686.079509490] [nmea_navsat_driver]: Value error, likely due to missing fields in the NMEA message. Error was: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte.
brjthomas commented
Did you figure this out yet?
ashBabu commented
No
FelixLittleFei commented
In my case:
- baud rate
- port name
- frame_id
evenator commented
0xb5
is not a valid character values for ASCII (or even UTF-8). NMEA sentences may only contain ASCII characters. If you're getting this byte from your device, it means one of three things:
- Your device outputs invalid data containing non-ASCII characters, and therefore is not producing valid NMEA sentences. (Unlikely.)
- Your serial port's baud rate is not set the same as your device, which is causing the serial port to produce garbage data.
- This is a transient error that only occurs when the serial port first connects, in which case it can be ignored.