This page shares issues that users have run into and how they were resolved. Hopefully this will help to solves issues for others.
Vehicle has telemetry but does not respond to joystick
Make sure you followed the instructions in Joystick/Gamepad Calibration and that the “Enable joystick input” checkbox is checked.
Vehicle flips itself over
Vehicle turns or moves even when not controlled to do so.
Please check RCx_TRIM parameters to make sure that all trims are set to 1500, with the exception of RC3_TRIM, which should be set to 1100.
Motors spin as soon as the vehicle is armed.
Make sure that the vehicle is in Manual mode.
The flight controller attempts to stabilize the vehicle’s attitude so that it is perfectly level. If the vehicle’s attitude is off from level, even a fraction of a degree, the flight controller will spin the motors in an attempt to correct the error. If the vehicle is sitting on land, the error will not change, and the flight controller will spin the motors faster and faster as it tries harder and harder to correct the error. Testing the vehicle on land should be done in MANUAL mode, which just passes pilot inputs to the motors with no stabilization.
Verify that your network settings are correct. Verify your network configuration by entering the command
ipconfig (Windows) or
ifconfig (Mac/Linux) on the surface computer command line. The output should show that your Ethernet IP address is 192.168.2.1 and the subnet mask is 255.255.255.0.
Carefully double check that you have entered these numbers correctly. The Ethernet IP address should be exactly 192.168.2.1 and the subnet mask should be exactly 255.255.255.0.
You should be able to ping the companion computer from the surface computer. On the surface computer’s command line enter:
If you do not get a ping response, then something is wrong with the network communication between the surface computer and the companion computer. You may have to adjust your firewall and/or antivirus settings to allow QGrouncControl access to the network.
Antivirus and firewall software can block the incomming connection from the ROV. Make an exception/rule to allow inbound and outbound traffic on UDP ports 5600 and 14550, or turn off your antivirus and firewall software.
Try replacing your Ethernet cable. Sometimes the wires inside a cable break, and the cable stops working.
If you are using Windows, sometimes the computer needs to be rebooted for network settings to take affect.
Make sure that the QGroundControl is configured to automatically connect to UDP and USB links. Click on the ‘Q’ icon in the upper left to view the Application Settings. Click on the ‘General Settings’ tab. In the options for ‘Autoconnect to:’, make sure the UDP option is checked.
Check if the Autopilot is connected with following steps:
Pixhawk Autopilot, check the autopilot connection with the Companion computer.
Pixhawk Autopilot (bootloader), you must flash the autopilot with ArduSub firmware. Click the ‘Restore Default Firmware’ button on the system page, and wait for the text on the bottom of the page to indicate that the process is complete.
If you do not see the system web page, make sure the companion computer is powered on with a supply that is capable of delivering at least 2A. Check the activity lights on the Raspberry Pi Ethernet Jack. The lights should be on or blinking. If the lights are not on, make sure that you are using a network patch cable, not a crossover cable. Look closely at the color of the wires inside connectors on either end of the network cable, the order of the wires should be the same on both ends of the cable. If everything appears ok with the companion computer and the physical network connection, check your network settings (below).
If your network is configured correctly, but you still have no telemetry, we need to make sure that MAVProxy is running on the companion computer and that the autopilot and MAVProxy are communicating.
To verify that MAVProxy is running, visit the system page in the companion web interface, and look for the
mavproxy entry under the list of active services.
To verify that MAVProxy and the autopilot are communicating, log into the Companion computer via the web terminal, ssh, or PuTTY (user: pi, password: companion), and enter the command:
screen -r mavproxy
If Mavproxy and the autopilot are working correctly, the output should contain something like this:
APM: ArduSub V3.4 (422c10cf) APM: PX4: 96a4c296 NuttX: 580f5354 APM: Frame: ROV_VECTORED_FRAME APM: PX4v2 0048003B 3135510C 35333436 Received 608 parameters Saved 608 parameters to mav.parm
To return to the command line and keep the mavproxy process running, hit control+a then type ‘d’ (to detach).
If you still do not have telemetry after all of these steps, please reboot the surface computer and the companion computer, and try again. If it is still not working after rebooting, please leave a comment on discuss.bluerobotics.com with notes on your results of all of the above troubleshooting steps.
Some updates require changes to the MavProxy options. To avoid overwriting user changes, those do not apply until you Restore Default Options. Navigate to MavProxy page and click Restore Default Options. This will erase the current options, revert to the default for the current companion version, and reset the MavProxy service.
If you do not have telemetry, please troubleshoot that first according to the above instructions.
Begin by verifying that your network settings are correct, your Ethernet IP address should be 192.168.2.1 and the subnet mask should be 255.255.255.0.
If you have telemetry, but no video, make sure the video settings are correct in QGroundControl. The video settings are found in the General tab of the Application Settings (Q icon) view. The video source should be set to UDP video, and the port should be 5600. These are the default settings. If you change these settings, you will need to close and re-launch QGroundControl.
If you are using Linux, you must install a few dependencies for the video to work:
apt install gstreamer1.0-x gstreamer1.0-libav gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
Verify that your camera is detected by seeing it listed under the detected video devices section on the Companion system webpage. If your camera is not detected, make sure that the camera supports H.264 video output, and make sure the cable is well-seated, or try another camera cable.
Verify that the video streaming service is active; it should be listed under the active services on the Companion system webpage.
The video stream should have about 200ms delay, just barely noticeable. There are many factors that could cause lag, low framerate, and pixelation/tearing in the video.
Here are some tips for troubleshooting poor video performance:
####If you are using a Raspberry Pi camera:
####If you are using a Windows computer:
Try these three suggestions by Bo Koppel:
When using original power supply that supply laptop (but not charge at the same time) there is something probably in BIOS that slow down graphic card to save energy. That makes processor do some of the graphics calculations. (And actually consume even more energy!) Solution: Go on battery or use a large powersupply (in our case 120W) How to quick check if this is the problem: pull out powersupply, if this is the case, latency disappear in two seconds.
Nvidia powerful graphic cards use an engine called PhysX for games etc. It seams QGC does not use that. Also QGC works default on motherboard graphic card, not on the more powerful Nvidia extension card. Solution: In Nvidias “control panel” select under “Programs” QGC so Nvidia forces QGC to use Nvidia card. Some graphic cards also needs tweeking in Nvidia 3D setup (same place as above line)
Real crazy in a few computers: Switch system fonts from 125% size to 100% (Right click desktop, “adjust screen” then “monitor” translated from Swedish OS) Check the 100% tickbox instead of 125% Log out and log in again, fixed….
The output servo rail on the Pixhawk requires a separate 5V power supply. The power module and USB power inputs on the Pixhawk will not power the servo rail. Make sure you have a 5V input on the servo rail via an ESC BEC or standalone BEC.
Check that input/output channels are configured for camera tilt.
Check that joystick buttons have been assigned to camera tilt functions.
This message indicates that the APM io thread has stopped running. The most likely cause is a corrupted filesystem on the micro SD card. Remove the card from the pixhawk, and format it as FAT32. If the error persists, you will need to replace the SD card, or disable dataflash log files by setting the LOG_BACKEND_TYPE parameter to None (0).
The compass inside of the ROV is very sensitive and will be affected by large iron/steel structures, including rebar in concrete. You will get the best compass calibration outside, away from large structures and concrete. It is possible to calibrate inside, you may need to increase the value of the COMPASS_OFS_MAX parameter before you get a passing calibration. Note that the compass will always be affected by ferrous structures because they distort Earth’s magnetic field, however the heading should remain stationary (maybe incorrect) while the vehicle is stationary in any case.
Perform these steps to recalibrate the compass:
We’re always trying to make our documentation, instructions, software, and user experience better. If you’re having an issue with anything, please report it so that we can address it as soon as possible! Here’s where to do that depending on what’s wrong:
Sponsored by Blue Robotics. Code released under the GPLv3 License. Documentation released under the CC-NC-SA 4.0.
Submit a Documentation GitHub Issue here to report any errors, suggestions, or missing information in this documentation.
Submit an ArduSub GitHub Issue here to report issues with the ArduSub software.