ROS Extension on BlueOS

Hello,
I set up the ros extension on blueos. The terminal that is running ros_bridge websocket and server keep having error messages that say: Inbound TCP/IP connection failed: connection from sender terminated before handshake header received. 106 bytes were received. Please check sender for additional details, as well as occasionally saying: dropping connection to peer tcp4:127.0.0.1:(varying port #) with abort=False: None. I’m having a relatively high success rate with echoing topics but occasionally an echoed message will repeat the error above. I’m also getting the TCP/IP error when I try to do rostopic pub. I tried to echo the camera topic which opens another webpage that says it can’t be found and then brings me back to the ros terminals and displays the TCP/IP error message. I assume this is because of the lack of graphical interface. I tried to set up rqt with no success and upon restarting the ros extension it seems to have been wiped. Is there anyway to 1.) troubleshoot the sporadic connection issue and 2.) get the ability to view the camera in this ROS environment without having to setup and connect a topside computer? My topside computer is running windows right now so I would like to try to avoid having to switch to Linux to set up ROS. Thank you

Any updates on this?

Can you give more details about your setup and how do you access to the terminals in the blueos?

It’s a BlueROV2 r4. I’ve tried both a windows 10, windows 11, and Ubuntu 22.04 laptop. I open BlueOS on the web browser and I installed the ros extension from the extension page in BlueOS. When that is running a ros tab appears on the side bar of BlueOS. When I click on it it opens another browser tab with 4 terminals as described in the docker file of the BlueOS extension. In the terminal that is not running any ros services I export the ros master uri, ros up, and ros host name environment variables and set them all the blueos.local and blueos.local:11311 as the extension GitHub page specifies. I am able to then do rostopic list and echo some topics. However I get the tcp/ip error in the top right terminal that is running the ros bridge for the websocket. I also get that error when I try to rostopic pub any topic and occasionally an echoed message from a topic with get replaced with that error as well.
I also just double checked and the environment variables won’t display ros topic list unless I change all the blueos.local to localhost. When I use blueos.local I get an unable to communicate to master error
Here is a ss of what I see:

I think that you could try opening a terminal in your PC and connect via SSH with the boat:

ssh -X root@192.168.2.2

In this new terminal try to do the same that you were doing in the one that was not running any ros services

I tried this and ros isn’t there in the ssh terminal. Only in the ros extension environment in the docker container.

Hi @ssicari -
You’re likely accessing the core OS when reaching via SSH, not the environment that exists in the Docker container…
This visual studio extension can make that easier, by letting you get into those docker containers quickly!

How would this be different than using the ros extension from blueos? Would this allow me to get pass the tcp/ip errors?

This would simply give you a terminal prompt within the BlueOS docker container for the ROS extension, which should be the same as connecting to the container from the terminal in BlueOS.
I’m not familiar enough with ROS to know if this will fix your issue!

Given it will be the same environment it shouldn’t fix the tcp issue. Do you or anyone on your team know what could be causing this problem? Has anyone had success with using the ros extension?

These are likely due to our helper service noticing the http ports open and checking if they can talk http. That should not be an issue. In case it is, we need to add these ports to our helper’s blacklist.

I’m afraid I can’t help with the camera/graphical environment issues.

First try using the IP address for the ROS_MASTER_URI variable. It’s a little cranky sometimes. By the way, you’re using blueos for the hostname in the picture not blueos*.local, not sure if that was intentional or not. Could you also dump the rest of the ROS env variables from with a screenshot or something please? Along with all the ports you currently have exposed on the container.

Hi, I am getting a similar issue that just sprung up. I have had successful link for mavros but now I cant seem to see it. I can see the topics on the graph, and when I do rostopic list in both the extension and base computer, but nothing when i echo to it. Did anything resolve the port issue?