Hello Blue Robotics community,
I’ve been working on a project with the BlueROV2 that requires a 5-thruster configuration. Our custom configuration, motor matrix, and frame design are shown below. As you can see, we disabled the 6th thruster, which is temporarily strapped to the center of the ROV.
We successfully flashed the custom firmware with our motor matrix, and the ROV operates reliably in manual mode. However, we encountered a critical issue when switching to Stabilize or Depth Hold modes. In these modes, the ROV starts flipping uncontrollably, rendering these features unusable.
Troubleshooting So Far:
- We ran the motor direction test and consistently failed on Thruster 4 (one of the two rear vertical thrusters).
- To rule out hardware issues, we reassigned Thruster 4 to a different motor in the firmware, but the issue persisted.
- Returning to the default 6-thruster configuration confirmed that the ROV operates correctly with the predefined setup, including Stabilize and Depth Hold modes.
Suspected Issue:
From our observations, we believe the problem lies in how the pitch and roll values are defined in the custom motor matrix. While the ROV functions well in manual mode (where pitch and roll are not actively controlled by the default controller setup), these parameters are critical for Stabilize and Depth Hold modes. The instability suggests that the custom motor matrix may not be correctly balancing forces or responding appropriately to pitch and roll feedback.
Questions:
- How should we assign values in the custom motor matrix to account for pitch and roll stabilization?
- Are there specific guidelines or examples for defining motor matrices for custom configurations like ours?
Any advice or insights from those who have worked with custom thruster configurations or modified BlueROV2 firmware would be greatly appreciated.
Thank you for your time!