Robotics StackExchange | Archived questions

GPS error receiving data

Hi,

I am running ROS noetic on a Odroid N2+ board. a board with a main CPU based on big.Little architecture which integrates a quad-core ARM Cortex-A73 CPU cluster and a dual core Cortex-A53 cluster with a Mali-G52 GPU.

Im using a GPS GARMIN 18XPC, with an RS232-USB adapter, to read data from it.

Also, I am using both: nmeanavsat and gpsumd ROS packages

When i read data with the comand:

rosrun nmea_navsat_driver nmea_serial_driver _port:=/dev/ttyUSB0 _baud:=38400

The topic /fix is empty. But when i use

rosrun nmea_navsat_driver nmea_serial_driver _port:=/dev/ttyUSB0 _baud:=19200

I got and instanteneous meesage with this output:

[WARN] [1631765620.672708]: Received a sentence with an invalid checksum. Sentence was: '\x12\x14\x15\x14\x15'
[WARN] [1631765620.678080]: Received a sentence with an invalid checksum. Sentence was: '\x02\t\x1a\x02\t\x13\t\x02\x02'
[WARN] [1631765620.682416]: Received a sentence with an invalid checksum. Sentence was: '\x13'
[WARN] [1631765620.688410]: Received a sentence with an invalid checksum. Sentence was: '\x02\t\x12\x02\t\x13\x19\t\t\t\t\t\x12\t\x02'
[WARN] [1631765620.699708]: Received a sentence with an invalid checksum. Sentence was: '\x12\t\x13'
[WARN] [1631765620.705498]: Received a sentence with an invalid checksum. Sentence was: '\x12\t\x13\t\x04'
[WARN] [1631765620.711216]: Received a sentence with an invalid checksum. Sentence was: '\x12\x14\x15\x14\x05\x15\t\x02'
[WARN] [1631765620.715642]: Received a sentence with an invalid checksum. Sentence was: '\x02\x19\x0c\x0c\t\x1a\x02\t\x13'
[WARN] [1631765620.721294]: Received a sentence with an invalid checksum. Sentence was: '\x13\t\r\x19\x13\t\x13\x13'

and topic /fix is still empty.

I also used gtkterm to evaluate the port and I received this "binary Xff " characters. BUt when i tried gtkterm on the pc, it shows coherent mesages.

¿Can you recomend me a solution? . .

Additional info:

My Env Variables:

Asked by Johart24 on 2021-09-15 23:19:00 UTC

Comments

It was the SERIAL-USB cable. I recomend to use FTDI or PROLIFIC standard in order to get more secure results. I changed the cable and all works fine

Asked by Johart24 on 2022-03-11 18:44:49 UTC

Answers

In the documentation https://wiki.nps.edu/display/RC/Garmin+GPS18x says that "To interpret the fix message you need to know that it is a message of type NavSatFix."

You look at the structure: http://docs.ros.org/en/api/sensor_msgs/html/msg/NavSatFix.html

So I suggest you look on ways to read NavSatFix messages in ROS, there is a question that might help you as well #q288031

Asked by osilva on 2021-09-17 06:53:14 UTC

Comments

@Johart24 More fundamentally, you need to look at the Garmin documentation and then configure the baud rate correctly. Don't guess.

Asked by Mike Scheutzow on 2021-09-18 08:30:16 UTC

I am not guessing. Right Baud Rate is 19200. It woks on my laptop, using Putty or Gtkterm, but not in the SBC.

Asked by Johart24 on 2021-09-18 10:55:14 UTC