AUV using BlueOS

Hi there, I have obtained the Blue Robotics electronics enclosure and thrusters along with a bunch of other recommended electronics. I am also using an external stereo camera with a jetson Orin. I have created a chassis and want to now program this to work autonomously. Here is my current thought process:

  • connect the pi to my personal hotspot
  • communicate with it using ssh (I do not have a tether)
  • Use ardusub’s EKF, ROS2 and the navigator library to program the robot.

I’m not sure if this thought process is reasonable and what exactly I would need to install in the pi to get this working (not exactly sure what the sd card comes pre-installed with).

Additionally, I have currently connected the pi to a monitor and logged in via terminal but hvae had no luck with connecting it to wifi using ‘sudo raspi-config’ as it keeps giving me the following errors:

“Could not connect with with wpa_supplicant”
“There was an error running option S1 wireless LAN”

Any direction would be very appreciated! TIA!!

UPDATE: Just now updated the raspi-config tool and wifi seems to connect so that part is not an issue anymore! Having a lot of issues since both my pi and computer are connected to the same wifi but there aren’t any network configuration instructions for ssh and I am unable to ssh into the pi, it keeps telling me the hostname cannot be resolved. blueos-wifi.local also does not work even though both devices are on the same network.

Hi @kushion -
Your SD card in those electronics should have come with BlueOS installed. It may be a good idea to remove it and flash the newest version.
It will create a hotspot after start-up, and you can access the BlueOS interface from there. You can then use this web interface to connect the Pi to your local WiFI access, and continue to access it from your laptop connected to the same network.
BlueOS will let you update ArduSub to the latest version, and configure your vehicle type.
What stereocamera are you using? Sounds like it might be a ZedHead?
Generally, if you get some sort of SLAM algorithm running on your Jetson, you could have it mimic the velocity messages a DVL sends. If this is correctly fed into the autopilot, so the EKF can estimate a position, the vehicle should be able to autonomously navigate. You could package this code as an extension to make it easy to share!
As for interfacing with ROS, their is a ROS extension available once you have accessto the BlueOS interface.

Hi Tony, thanks for your response!

I am using a ZED Mini as a forward facing camera so it is great to know I can just directly integrate it with ArduSub.

I had a couple follow-up questions:

  • My AUV has 8 thruster, the navigator board, the stereo camera, a bottom facing camera, barometer and possibly distance sensors. I’m wondering if the rpi can handle this or is there a way to offload some of the processing to the jetson?
  • I did manage to connect the pi to my personal network, and I can access blueos via an ethernet cable directly connecting to the pi. The problem is, even though they(laptop and pi) are on the same network now, I can’t seem to access blueos without an ethernet cable. I tried using blueos-wifi.local and that doesn’t work either. For ethernet, I had to change the IP to 198.162.2.1 for my laptop, I’m wondering if there is an equivalent of that I need to do for a wireless setup. I could use the hotspot from the pi directly but then I lose internet connectivity which I also need. Any ideas?

p.s. the sd card did come with BlueOS installed and I think it is the latest version (ordered it a month ago)

Hi @kushion -
I’m not sure what gave you the impression, but the ZED mini does not “directly integrate with ArduSub” - although data from it could be used to create messages that ArduSub understands and can use to hold position, potentially. This would be very cool to develop!

The Raspberry Pi 4 + Navigator can easily handle controlling 8 thrusters, a Bar30 pressure sensor, and Ping sonar single beam sonars. This represents very minimal processing for BlueOS and Ardusub! Depending on the camera you’re using, it can handle restreaming that to your surface device easily, but recording onboard is not supported by default, and we’ve not tested with that stereo camera so I’m not sure if it will work. I’d imagine the stereo camera should be connected to the Jetson, so it can do the heavy lifting of processing the video streams for position estimation, or recording / transcoding the stream.

If you are connected to BlueOS via Ethernet, and can see that you have internet access via the Pi WiFi connection, clicking the WiFi icon will show you the system IP address on that network. You can reach BlueOS at this IP with your laptop connected to the same WiFi (usually 192.168.1.X, but you may have a different subnet on your WiFi router.)

1 Like

Thanks Tony. The stereo camera stream is processed by the jetson, so yes the pi doesn’t directly look after that that’s my bad.

It’s a weight off my shoulders to know the pi is capable of this! Thanks again for all your help, I will try what you suggested for ssh when I get a chance and report back if I’m having trouble.

Hi @kushion
SSH access may not be necessary - if you can access BlueOS, you can turn on pirate-mode and open the Terminal! Don’t forget to read the instructions @ the top of the initial terminal session…

Otherwise, you should be able to SSH into the pi at any network address it has, Wifi, eth0, or zerotier, with the default raspberrry / pi username / password.

I think I just want to be able to run programs wirelessly while still having access to internet. ssh seemed like the best option here. Open to any other suggestions as well tho:)

Hi @tony-white , I finally got the opportunity to test this again, sorry for the late update. I am trying to connect to blueos again, this time without ethernet. here are the steps I take:

  • turn system on (it already remembers my personal hotspot, 2.4Ghz)
  • connect my laptop to the blueos hotspot
  • try going to blueos.local and blueos-wifi.local (neither work)
  • connect my laptop to the same wifi network the pi is connected to
  • try going to blueos.local and blueos-wifi.local (neither work)
    Not sure what could be going wrong, but it is really important for us to connect with the pi without using ethernet (wirelessly) so any help is appreciated

Hi @kushion -
The hotspot should not be available to connect to if BlueOS has successfully connected to your local WiFi network. Please connect your ethernet cable, access BlueOS and use the WiFi icon in the upper right to connect to your local network. Once connected, clicking the WiFi icon will show the device IP on that network. If you enter this IP into your browser address bar, you will reach BlueOS wirelessly, and will be able to disconnect the ethernet cable.

Accessing via the IP directly is typically more reliable than using a XXX.local proxy…

I see! So if I’m getting this right, there is a difference between the raspberry pi connecting to a network and blueos itself being connected to a network? I’ve been assuming otherwise and that would explain a lot of the troubles I’ve been facing.

Hi @kushion -
I’m not sure where you got that idea? The Pi is the hardware, BlueOS is the software. The unit has two network adapters -the WiFi radio and the Ethernet port.