Sorry if this is a duplicate topic, couldn’t find what I was looking for but I have been wrong before.
We are toying with the idea of remote operating our homemade sub. What would be necessary for this to be possible? We are thinking of having a computer on the worksite, connected to the sub via tether, and then taking control of the onsite computer from a remote location. We tried using something as simple as TeamViewer, but the joystick is not registered in QGC unless it is connected to the computer onsite. Any ideas on how to do this as simple as possible? Would we need to make our own software, or pay for someone else’s pre-made?
Rov is based on a BR-products. Rpi4, Navigator etc. Currently using ardusub/QGC, but willing to change this if necessary.
Hi @Erlingns95 -
This should be possible, quite easily! The quality of the operations will heavily depend on the quality of your internet connection on both sides…
You’ll need to configure your computer connected directly to the ROV to give the vehicle internet access - this is usually done by bridging the connection (in system network settings) or connecting the FXTI via ethernet to a switch with internet access.
You’ll then install the ZeroTier extension in BlueOS, and the ZeroTier client on your remote computer.
Next, you’ll setup a Mavlink Endpoint (pirate mode in BlueOS), as a UDP client, and enter the ZeroTier IP address of your remote control computer. This is talked about in the forum primarily with reference to the BlueBoat, but works the same way for ArduSub and the BlueROV2.
If you’re ok with using Cockpit, then simply loading BlueOS and launching Cockpit on the remote client computer that has reached BlueOS at the ZeroTier ROV address is all you’ll need to do!
Otherwise, you can navigate to video streams setup and point the video stream at the remote computer zerotier IP. I don’t expect QGC would work as well however…
See this page for some documentation on the ZeroTier side of things.
I can tell you what we did. We used a web conference tool called OpenMeeting, it’s an Apache project.
That gave us the ability to share the control display to a third-party computer. And it gives you some feeling of security, as you can create users that must log-in to use the display.
Then, we used USB-IP to on the control Host and Guest computers to share the joystick.
With a little bit of scripting for handoff, which can be done automatically, you can dynamically share the control of the vehicle to almost any number of other control guests.
This worked great for our vehicle. I’m sure that unless you have some serious timing issues, you will be happy with the configuration.