First of all, I’d like to thank the community for being so active
In the past few days we put our ROV in the water. It has 12 thrusters, and we configured a new frame inside the file:
AP_Motors6DOF.cpp and its header file.Then we compiled with waf and uploaded the firmware.So far so good.
However, we noticed that when we command forward, the thrusters do not move correctly and the ROV starts rotating on itself.
Instead, we noticed that if we swap the X axis with R, the robot moves forward.So I have two questions:
Besides the frame configuration (cpp and header), are there other parameters or information that must be set for a 12‑thruster ROV?
Regarding the axes shown in the cockpit — X, Y, Z, S, R, T — what do they represent? Are they the same as those described in MAVLink directional control?
Is this in manual mode, or one with some kind of auto-stablisiation?
Not specifically for a 12-thruster ROV, but parameters like the AHRS_ORIENTATION are critical for the autopilot’s sense of what each direction means.
They are indeed sent via MAVLink manual control messages, but the interpretation has a bit more nuance than the MAVLink specification describes, partly from an axis-toggling feature, and partly from legacy implementation details.
This Issue describes the relevant mapping, though be aware the Z axis range is 0 to +1000.
Regarding the AHRS_ORIENTATION parameter, now that I’m checking it, I don’t think I should have changed it. The navigator board is mounted with the arrow pointing toward the ‘nose of the ROV’, and it is positioned flat/horizontal relative to the vehicle. So it is in the default orientation.