You can change the companion IP through the Network page (you’ll need to enable advanced options in the top right to show the button for it). The new IP applies after the companion is rebooted - I’d suggest you do the additional changes (outlined below) before rebooting to keep things as easy as possible.
Note that changing the companion IP will also change it for the web interface, so make sure you write down the new one before restarting companion.
There are a couple of ways you can do this, depending on the IP address you choose.
Change Sub-net, keep the ports
If you want two computer+ROV pairs isolated to their own sub-nets you don’t need to do anything within QGC. This option has cleaner separation and a bit less to change, but is slightly more difficult if you quickly need to swap which ROV a computer is controlling.
Instead, for the computer that’s controlling the ROV with the changed IP you’ll need to set a new IP address that matches that ROV’s subnet. (e.g. if your second ROV is set to use 192.168.3.2, you could set the corresponding control computer IP to 192.168.3.1).
The computer IP is hardcoded into the video streaming settings, so you’ll need to update that in the Camera page gstreamer options.
The telemetry streaming settings broadcast to the subnet, so you’ll need to update the subnet in the Mavproxy page (e.g. --out udpbcast:192.168.2.255:14550 → --out udpbcast:192.168.3.255:14550 for a new subnet of 192.168.3.x)
Keep the Sub-net, change ports
If both ROVs and control computers are on the same sub-net then it’s possible to relatively quickly swap which ROV is being controlled by a given computer, but it’s also easier to connect to the wrong video or telemetry stream, and there’s slightly more to change in initial setup.
You’ll still need to set a new IP for the computer, but keep it on the same sub-net (e.g. you could set your second ROV IP to 192.168.2.4, and the corresponding computer to 192.168.2.3)
The video streaming settings for the second ROV still need to be changed to match the new computer IP, but the port also needs to change (e.g. ! udpsink host=192.168.2.1 port=5600 → ! udpsink host=192.168.2.3 port=5700
The telemetry streaming has to be changed (on both ROVs) from broadcasting (x.x.x.255) to using direct IPs (x.x.x.y), and the second ROV should also use a different port (e.g. ROV 1 mavproxy would change to --out udpout:192.168.2.1:14550, and ROV 2 → --out udpout:192.168.2.3:14770).
The computer for ROV 2 would then need to change the video port (e.g. 5700) in QGC, and would also need to set up an additional UDP Comm Link on the relevant port (e.g. 14770), and then connect to it (you can select to auto-connect on startup once it’s been set up).
It’s also possible to put the companion computer into a DHCP client mode, which may be simpler:
I’m unfortunately not familiar with this approach, so can’t explain how to do it in any depth at this point. I’ve asked our software team for more info, since it would be useful to add this to our documentation, and can update here once I know more about how it works and how to use it
I am deploying my ROV from an unmanned surface vessel via RC to remote control. There is a network hub on the vessel. I want to run basically a separate BR electronics enclosure with camera / tilt / lights simply to monitor just below the waterline for launching and recovering the ROV and record. Topside I can have two separate computers to separately control.