Hi, We are having some problems with the Simple ROV 3 Frame in Ardusub and hope you can offers some suggestions to mitigate the problem. We have been using the Simple ROV 3 Frame for our Barracuda vehicle which has 2 T200 motors mounted outboard on the dive planes for yaw and forward/reverse thrust, and an internal counterweight to control pitch. We are using an XBox controller for control when tethered.
We have seen a couple of abnormal behaviors some minor and some more critical.
First, when I go through the calibration routine for the controller. I set the left joystick for throttle and yaw control. I set the right joystick for pitch. When we run the vehicle the left stick is pitch and yaw and the right stick is throttle.
I think that this is an artifact from Ardupilot where throttle controls altitude for an aerial drone and pitch controls forward and reverse motion. Once we realized that this was happening it was simple to manage in ROV mode.
The problem is more serious when we attempt an autonomous mission. We can set waypoints and the vehicle attempts to perform the mission but it acts like it cannot resolve the pitch control or control depth.
When I look at the Simple ROV 3 Frame I see that there is no pitch component and thrust is assigned to motor 3. Again this is because throttle controls altitude in aerial drones and so in this frame it is expected that motor 3 controls depth. I have attached an image of the frame here for reference.
case SUB_FRAME_SIMPLEROV_3:
_frame_class_string = "SIMPLEROV_3";
add_motor_raw_6dof(AP_MOTORS_MOT_1, 0, 0, -1.0f, 0, 1.0f, 0, 1);
add_motor_raw_6dof(AP_MOTORS_MOT_2, 0, 0, 1.0f, 0, 1.0f, 0, 2);
add_motor_raw_6dof(AP_MOTORS_MOT_3, 0, 0, 0, -1.0f, 0, 0, 3);
break;
So, the solution seems to be to create a custom frame. The question I have is should motor 3 be throttle AND pitch or should it be pitch only. Can the AHRS be able to resolve that pitch controls depth in our vehicle?