I have the Blue OS Version, and now my GPS does not connect with NMEA INPUT and QGC does not recognize my GPS, does anyone know why?
Thank you
I have the Blue OS Version, and now my GPS does not connect with NMEA INPUT and QGC does not recognize my GPS, does anyone know why?
Thank you
Hi Albert -
How is the GPS connected to the vehicle? Have you configured the serial connection in the Vehicle Parameters? I assume this is a gps intended for use when the vehicle is at the surface, to indicate its position on the map?
An NMEA GGA (USBL) signal enters a NMEA Router and from there it goes to the QGC, but I don’t know why now with this version it doesn’t work for me, I think there is something in the Blue OS Software that is not right and I don’t know what is…
I have not tried, but in the documentation files there are some new hints:
Hi Albert
the NMEA GGA (USBL) signal enters a NMEA Router should send the data to BlueOS NMEA injector (pirate mode) Advanced Usage | Home , there you have to setup TCP or UDP with port, then the data goes to QGC as mavlink protocol so you have to set the gps parameter to “MAV”.
So the usbl data goes like USBL>>BlueOS>>QGC.
Hi, I’m struggling with this. I have an old MicroNav 100 I’m trying to interface with QGC. The 100 version does not have an onboard GPS, so I’ve hooked up a GPS via serial to USB converter, and I can verify that it works. In Genesis (the newest program from Tritech), I am able to see true world position of the Micron Modem (the USBL transponder) as well as GPS lat/lon. I want to forward that data to BlueOS, then to QGC. I attempted to use the NMEA injector, but it fails to create a new socket when I select the “create” button. I’m lost on connecting the GPS data to BlueOS. Attached is an image of my Genesis program.
Let me elaborate further here:
I have the USBL transducer hooked to the battery of the ROV, but the GPS information is sent to my computer’s Genesis program. I am trying to figure out how to send that information to BlueOS, but I’ve hit a wall with the NMEA injector. Maybe I am failing to send the NMEA data, but I’m somewhat new to this and don’t quite know how to check if anything is being sent from Genesis.
Would a “dead” NMEA socket appear in the NMEA injector panel, or does there need to be a constant stream of data for the socket to appear?
Hi Andrew -
Some of the information you need is detailed in the BlueBoat FAQ:
Any NMEA position stream can be parsed by the Navigator Autopilot. To receive the messages from a network-connected device simply configure the Autopilot parameters GPS_Type to NMEA, Serial2_Protocol to GPS, and verify no other Serial port # protocol is set to GPS. Finally, under Autopilot Firmware, Serial port Configuration, set Serial 2 to: udpin:0.0.0.0:27000. Then direct your UDP NMEA stream to the IP address of the BlueBoat. Note that these NMEA messages are required for navigation: RMC, GGA, VTG, HDT. This approach uses the ArduPilot driver to interpret the NMEA messages - you can also use the NMEA Injector in BlueOS, which has support for fewer messages. If using a serial connection to bring the NMEA position data to the Navigator serial port 3 or 4, set the appropriate Serial# Protocol parameter to GPS and restart the autopilot. NMEA messages should be sent at 10hz or faster.
So, you’ll need to configure your device to send the NMEA messages “RMC, GGA, VTG, HDT” - not just GGA as you have currently. It does look like you have the IP and port set correctly for the UDP output though! You may have better luck by avoiding the NMEA injector, and directly setting the autopilot to consume the data via Serial2 as described - you’ll need to be in pirate mode for the serial port options to be available under Autopilot Firmware.
Once the autopilot is properly consuming a valid location, this vehicle will appear at a position in QGC!
Hi Tony, thanks for the reply. I will attempt this today. Is there any way to verify that the autopilot is consuming any information? I am somewhat inexperienced in this and don’t know how to debug issues as they arise.
Hi Tony, upon further review, both Serial3_Protocol and Serial4_Protocol are set to GPS. It did start sending information to QGC! I don’t know what happened and why it works now, but I followed the instructions that you previously quoted. Thanks!
Unfortunately it was a fluke.
This is our setup, and I am getting a EKF3 error message. I may have changed a EKF3 setting while trying to troubleshoot this.
I saw an image of a ROV on QGC, but it never moved and disappeared after rebooting, so I can’t tell if the GPS information was from our USBL true-world position or if it was from our USB GPS receiver.
Hi @tritonkeller -
Serial3 and 4 protocol shouldn’t be relevant here, as you’re sending/receiving this over the network and not via direct connection to the Navigator serial port, correct?
It looks like you still need the VTG and HDT message to be sent - is that an option or is it called by GPGLL and GPDBT in your application?
That EKF message may occur if some, but not enough data, is reaching the autopilot. Can you share a screenshot of how you’ve configured the autopilot serial ports? Have you set the GPS_Type parameter, and the Serial2_Protocol?
VTG and HDT are not options for the Genesis output. We don’t necessarily need heading, just location. We’ve figured out from the terminal that the Genesis program is transmitting by sending and monitoring the 8000 port, but I can’t figure out why it isn’t being accepted by the 27000 port, or it isn’t being received by QGC.
And yes, we are not wired into the Navigator serial port. We’re hoping to do everything through the topside computer.
EDIT: It was resolved by restart of the system.
I followed this:
Autopilot Parameters:
Serial2_Protocol to GPS
GPS_TYPE to NMEA
EK3_SRC1_YAW to Compass (Should be default; Because our USBL system does not have heading info)
Serial2_Protocol to GPS
Autopilot Firmware: Serial2 to udpin:0.0.0.0:27000
I know this is repetitive to what has already been shared here, but for some reason it did not work initially for us. We did not use any NMEA sockets.
In QGC: in Application settings:
We deselected AutoConnect to UDP
NMEA GPS Device is set to UDP port
NMEA stream UDP port set to 14401 (Should be default)
To check whether Genesis is sending UDP:
Go into Genesis I/O
Set UDP port to the Pi’s address, but use port 8000
Go to BlueOS (192.168.2.1 in browser) → Terminal (Need pirate mode)
Enter: red-pill
Enter: nc -ul 8000
You should now see NMEA strings. If not, then there is an issue with Genesis. If you see the strings, proceed to Genesis and set the port to 27000 and it should appear on QGC.
I apologize if this seems like redundant information, but it is what eventually solved our issue.