We have a BlueBoat with a Norbit Winghead onboard with an integrated Applanix POS MV system for positioning. At the moment i am trying to get the blueboat to use the applanix sytem as a gps/compass, but I cannot get it to work what so ever.
The POS MV system can only output NMEA as broadcasted UDP traffic at fixed port 5607. I have traced the traffic all the way to BlueOS, so I know that it arrives there. I am outputting the following sentences $GPGGA, $GPRMC, $GPHDT and $GPVTG.
In the serial port config in BlueOS I have Serial 2 configured to udpin:0.0.0.0:5607. In the parameters, I have serial2_protocol set to GPS, GPS1_type is set to NMEA and I have serial5_protocol set to none so the only port that has GPS in the parameters is number 2. Still, I am not able to see anything coming in when looking at GPS_RAW_INT in MavLink Inspector.
Now I feel quite stuck as I am not sure how I should proceed to troubleshoot further. Using the NMEA injector is not an option as it does not support HDT which is one of the reasons i want to integrate the Applanix system.
Is there anyone who have managed to get this to work that can point me in the right direction?
I made sure to use 10 Hz as well. Unfortunately it is not possible to direct the stream. Broadcast is the only option in our applanix system, but because all of the instruments lives on a different subnet, I used socat on the router to convert the broadcast to a unicast directed at the Pi. I also used tcpdump on the Pi to verify that the traffic arrived there, so I guess the problem is somewhere between network card and the autopilot. How is it with the baud rate for serial 2? Does it matter in this setup? And is there any additional steps I could do to figure out where it’s going wrong?
Hi @nogu -
The baud rate will not impact the connection, as it is not serial but UDP.
It’s very strange that the autopilot process doesn’t seem to be receiving the messages!
Can you share the output of sudo tcpdump -i eth0 -n udp port 5607 -X
after taking the red-pill in the terminal?
ive been doing the exact same thing with norbit as well. I didn’t get the internal NMEA injectors working properly.
Our solution uses a waveshare udp to ttl receiver. The applanix just sends the necessary data out via udp. Then there is the network to ttl adapter connected to the Blue Robotics Navigator. The ttl adapter has to be configured to receive the right udp port and send them with the right baud rate to the a serial in port on the autopilot. We have this system running on two BlueBoats and didn’t have any issues yet. I’ve also used the serial output of the sonar and then converted it from rs232 to ttl. But in my opinion it’s easy to send it via the network because it’s wired anyway.
We have been using this converter
The setup requires some soldering.
If you want to try this and need more instructions feel free to ask.
I would be happy to see some pictures of the installation.
I ended up going for a totally different solution after all. Now I am more or less done with a program that translates NMEA into mavlink that can run on the onboard computer along with our acquisition software, which for the time being is mostly Eiva. Since Eiva is also capable of outputting Autopilot commands for standard Autopilots over NMEA, I included functionality for this as well so that essentially Eiva should be able to control the Blueboat. The program is yet to be tested (and is mostly written by ChatGPT), but I would be happy to share it after I know that it works. As for the output of the tcp dump, I haven’t had a chance to record anything, but I will do a new recording when i find some time to spare.
Also, thank you for the solution @SimonPe2804! I’ll keep that one in mind if it turns out that ChatGPT is a lousy programmer after all.
Hi @nogu -
Very cool! I’ve been having a lot of success lately with LLMs, particularly Claude opus 4.6 in the Cursor IDE - it’s truly astounding that an entire BlueOS extension can be created with a couple planning prompts and some github secrets setup. Referencing other extensions, and examples of functional code snippets in the direction of what you’re after seems to make things just work on the first try - pretty exciting!