Omni Remote controlled Surface vehicle build

Hello everyone!

We have an idea for a project that really goes beyond my current knowledge and need some help and discussion on the best way forward. Thank you in advance for your time - this will be a bit longer read.

So for starters, I have been working with BlueROV2 for approx 7 years now, been thruogh many issues like leaks, cracks, connectors, software not working… Through teamwork, we’ve managed to overcome these challenges. While I’ve researched the BlueBoat, ArduRover, Omni setup, BlueOS, and Navigator (still using Pixhawk/companion setup), I haven’t yet applied them in a specific project. But enough about me…

and more or less sucesfully in the company we managed to overcome it. I have masters in mechanical engineering and high school in mechatronics. I have checked basic information about the BlueBoat, ArduRover, BlueOS and Navigator (still on Pixhawk/companion setup), but still no project appropriate for it came - so I know basic principles how it works, but haven’t used in specific project. But enough about me :grin:

The project is planned as a remotely controlled surface vehicle, that is DC powered via cable from the boat, has 4x T500 thrusters in OmniPlus or OmniX in aluminium box from BlueRobotics, with GPS and ability to hold its position controlled via topside handheld device. The idea is to mount everything to a sea cleaning device which navigates on the surface of the sea, so it can be controlled from the boat with this electronics setup. Sea cleaning device is about 1 meter by 1 meter, has approx 40 50 kilos and is deployed form the small vessel with crane, and controlled by man force litterally pullign the device to desired location. Goal is to avoid manhandling the cleaner and instead use this setup for remote and controlled control… I will try to breakdown project and questions - I’m sure I’ve missed a lot of things so I’ll be glad for anyone to join in on the conversation.

Vehicle electronics setup

  • ArduRover - Boat - Omni setup
  • 4x T500 with Basic ESC 500
  • Pixawk cube or BR Navigator
  • Raspberry PI
  • Communication wirelles or wired
  • DC power supply from the ship, approx 20m of cable
  • USB Camera
  • Emlid M2 gps

Topside setup

  • Here link or handheld Windows Tablet PC with integrated joystick (like Asus ROG Ally)
  • Qground control or Cockpit
  • DC power supply for vehicle
  • powerbanks, internet hotspot

So, the idea is to be able to manually navigate vehicle after deployment, and to be able to hold it in position using RTK GPS (I assume Loiter mode). Electronics would be deployed from the side of the vehicle, halfway submerged into water so it can be cooled, and other half ouside so GPS can be acquired, and the wireless signal if needed - wireless is better if possible.

My questions for discussion on this project would be:

  • did anyone do something simmilar and can share experiences?
  • do you see some major flaw in this concept?
  • If I use HereLink, should I go with the Pixhawk? If I opt for a Windows Gaming handheld, can I use any flight controller? Which setup would be more reliable? I assume the Windows Handheld should be wired due to potential Wi-Fi instability at around 20 meters. I’ve only had experience with BlueROV and cable connection over tether nad Fathom-x.
  • Can Cockpit even run this vehicle, or it can run only BlueROV and BlueBoat? Can Herelink run Cockpit from BlueRobotics, since it is browser based?
  • Does anyone have experiences to share with Windows Gaming Handhelds and Pixhawk/Naviagator use?

Thank you for taking the time to read this! I hope I can get some feedback and comments, or even better discussion about this project, there are surely a lot of things I’ve missed, but the post is long enough as it is :sweat_smile:

Best regards,
Mateo

Hi @mateov
I’m answering your enquiry here rather than via the email you sent for the benefit of the community.

The Omni frames are not supported by ArduRover for navigation (I think) - things will be much simpler if you use a simple skid-steer approach like the BlueBoat!

A GPS inside an aluminum box will struggle to receive signals from satellites (faraday cage!)…

I’m not quite understanding your application - you have a large cleaning vehicle that is deployed from a vessel, and you want it to go around picking up trash? Keeping it cabled to your host vessel seems like it would cause risk to fouling the tether on a prop of one of the two vessels.

Once properly configured / tuned to work in Acro and Auto mode, the vehicle should be able to station keep without issue.

Wireless tcp/ip communications will give you good range and sufficient bandwidth for video, the mikrotik radios used in the BaseStation and BlueBoat would be sufficient!

Depending on the power consumption and voltage level, 20m of cable can cause a lot of loss! You can calculate that here.

20m is not a significant distance for WiFi - with Omni antennas and the Mikrotik radios of the BlueBoat you should get at least 100-250m!

Cockpit does not run on the vehicle - it runs in your web browser or as a stand-alone application It does require that the vehicle is running BlueOS. It is intended to support any vehicle type!

We’ve used both the steamdeck and windows based gaming handhelds to control the BlueBoat and BlueROV2 via Cockpit and QGround Control. We’ve not tested with any herelink products, but I would generally recommend against the Pixhawk platform.

BlueOS is required to use the Navigator - the Navigator does not host a microcontroller that runs the autopilot code like the Pixhawk or other autopilots. A Docker container on the Raspberry Pi 4 does! ArduRover is fully supported by the Navigator.

From a connection standpoint, you will need your Boat electronics to be on the same network as your topside control computer - in Blue Robotics systems this is the 192.168.2.0/24 subnet. We’ve not used the herelink system so I’m not familiar with any differences in its connections!

I hope that’s useful feedback!

Hi @tony-white, I’ll try my best to go trough your suggestions, and give my toughts, and of course more questions. Thank you very much for your time and information provided, I’ll try to be brief and precise as possible.

I see this, thank you very much for pointing it out. So basically Omni configurations do not really work for position holding? I was aiming for this setup because I expected it can hold postion precise and easy, due to configuration. Omni configurations then only have manual control?

Is only loiter mode possible in skid-steer (BlueBoat) setup? For position holding with GPS.

Can ArduSub be used for this application maybe? Because lateral movements like on the BlueROV could be applied and used instead of Omni. I guess there would be some modifications required, since ROV is expected to correct roll and pitch, which we do not need or can do on this vehicle. And position hold would also be an option, again, withou roll pitch corrections. What do you think?

Agree, but Emlid M2 has separate antenna that will be mounted above water level so GPS will be available.

[quote=“Tony White, post:2, topic:18179, username:tony-white”]
I’m not quite understanding your application - you have a large cleaning vehicle that is deployed from a vessel, and you want it to go around picking up trash? Keeping it cabled to your host vessel seems like it would cause risk to fouling the tether on a prop of one of the two vessels.

Great, I will check this more in depth (pun intended :sweat_smile:). I can mount the antena for Mikrotik like it is mounted on BlueBoat, so im outside faraday cage of aluminium box. Am I right?

Thanks for the calculator, I did not know you had one on your site! For DC dual cable (like on the T500 thruster) is in my opinion good option. What do you think?

Great to hear handhelds work. I’ve see this topic is related and recent so I will link here for others.
Is Cockpit always used via internet browser, or is there an app (released or planned for future)? And do you have any prefference or advice on choosing the handhelds?

Thanks for clearing this up!

In the end, I really appreciate the effort and thank you in advance for your answers/comments! :smile:

Hi @mateov
Position hold with loiter mode works quite well with a skid steer platform, I don’t see how an omni frame would give you an advantage. This is because the vehicle drifts 1m from the target location (adjustable) and then orients to face it, opposing current and wind to stay in a remarkably consistent location. You can see an illustration of that here.

I’d recommend against ArduSub, it really isn’t intended for 2D vehicles…

You can indeed mount the WiFi antenna externally, with a good IP-rated bulkhead co-ax connector.

I think you’re not quite using the calculator correct… Technically, a thruster uses 3 wires, and is consuming AC power - however you cannot extend a motor cable like this more than 1 or 2 meters without the ESC that drives it having issues “listening” to the motor to control its speed. If you are running a single cable that carries power to the vehicle electronics, including the motors / ESCs, it will need to pretty beefy. You’d only have 2 parallel conductors in the circuit, and if the tether is mostly immersed in the water the power loss along its length (that takes the form of heat) is not likely to be an issue. Running your boat off of batteries would seem to make a lot more sense?

Cockpit has a desktop version available for Mac/Windows/Linux, you can find it under releases. I prefer the steamdeck as it is the cheapest, has the best battery life, and does not use Windows.

Hey @tony-white
Honestly loiter is great and I saw the video, but for our limited cable and space, considering our tehtered BlueROV experience and most important fact that this vehicle isn’t planned to be piloted by really experienced ROV or drone pilot, rather a trained technician so loiter mode in rotation is extra layer of complexity I would like to mitigate by using position hold that does not rotate the vehicle and make the control even more complex. Goal would be for the vehicle to behave like UAV/drone when in GPS lock - when it stands in one postion that is it, it just holds postition. Do I have any options for that “out of the box” or do you think I have to dig into code of ArduRover Omni and work out the GPS position hold?

Probably I really did not express myself clearly, sorry. To clarify, I would not extend thruster cables of the T500 thrusters, rather I would use the T500 cable for power supply, using dual thruster cable with 3 wires each for my + and - of the DC power supply ond the boat to the DC distribution board on the surface vehicle. I’m still keen on the idea of not using batteries. Thats why I’ve put 3 parallels conductors in the circuit. I hope I’ve managed to explain…

Thank you for Cockpit link, I missed the fact that there is standalone application. Also thanks for the Steamdeck input.

Of course thank you for your time Tony.

Hi @mateov -
I still think that skid-steer like the BlueBoat will adequately maintain position for your application - the boat’s heading may change over time, but only as the conditions do, and you’ll be most efficient when facing into the conditions. You should be and less likely to entangle with an attached tether, if you are running the cable from the back of the boat (clear of the props of course!) Making a hull that is efficient on the surface in all directions, and seaworthy, is quite a challenge otherwise…
Posting on the Ardupilot forums may be one way to get help with omni and loiter mode on ArduRover.

Providing power to the vessel over a cable is also strange to me, vs. using onboard power. If your other payloads are compatible with voltages as low as 20V, your approach from the calculator would probably work, but be on the lookout for symptoms of power spikes / voltage drops on your electronics - ESCs resetting, or the Raspberry Pi rebooting. Adding capacitance on your vehicle can help filter this out.