Issues with Navigator and Stabilize mode/Depth hold mode

Hello, i’m building a bluerobotics type rov with navigator in it.

It runs normally and you can use it in NORMAL mode, but once you change to any mode it starts to turn around without stopping.

I’m adding photos of the config. and a video.

Hi @Anrriu -

In alt_hold and stabilize mode, the vehicle works to hold heading. If your thrusters are not mapped correctly, either position to channel or direction, then the vehicle will “go crazy” as you’re seeing!

To resolve, with the vehicle floating in the water, push the detect reversed motors calibration button in on the PWM outputs page. This should run and fix your issue -if not make sure you’re unning the latest stable BlueOS, 1.4.3!

What frame are you using for your vehicle? Verify the thrusters as positioned in your frame are plugged into the correct numbered port!

Hello Tony, thanks for your answer.

I have configured the VECTORES ROV frame and I have check all trusters and they are in the right position…

I have check in the truster config. truster by truster by itself…

Very cool ROV @Anrriu!

Besides checking manually, letting the detect motor directions do its thing, with the vehicle floating in the water, is the best bet for resolving your issue. You can also run each thruster via the slider, and verify that the motor that turns matches the number for that slider on the diagram for the vectored ROV .

Finally, verify that the AHRS_Orientation parameter matches how you have your autopilot mounted in the vehicle!

I have run every truster with the slider and it works properly. The problem appears when I set the stabilize or depth hold mode. I’m using the navigator on the right side like a default Bluerov and set Roll90.

Hi @Anrriu

let me try to better assist you en español -

Hay dos cosas que revisar, y es fácil confirmar solo la primera sin darse cuenta:

  1. Que gire el propulsor correcto. En BlueOS mueve el deslizador del propulsor 1 y confirma que gire el que aparece como #1 en el diagrama del ROV vectorizado. Repite con cada deslizador.
  2. Que gire en la dirección correcta. Puedes verificarlo en aire: el aire debe soplar en el sentido esperado según cómo muevas el deslizador. Con el deslizador a la derecha del centro, los propulsores horizontales deben soplar el aire hacia atrás del vehículo, y los verticales hacia abajo. Si sopla al revés, activa la casilla Reverse de ese motor.
    Por qué importa: en Manual casi no se nota un propulsor invertido. Pero en Stabilize y Depth Hold el piloto automático corrige solo, y un propulsor invertido empuja al lado equivocado, así que el error crece y el ROV “se vuelve loco”. Es un solo ajuste por propulsor, pero debe ser correcto porque todos los modos automáticos dependen de él.
    Lo más fácil: con el vehículo flotando en el agua, ejecuta Detect motor directions y deja que ArduSub las configure solo. Por último, confirma que AHRS_Orientation coincida con la orientación de tu piloto automático.

Hello @tony-white, I work with @Anrriu.

As stated in the original post we have thrusters 1, 3, 5 and 6 reversed, like this we can operate the rov in manual mode flawlessly. And we have checked that all thrusters correspond to the Vectored ROV frame, no result yets. ROV is still rotating horizontally to its left in Stabilized and Alt Hold mode.

More information:
BlueOS: 1.4.3,
Ardusub: 4.5.6. (STABLE)
Navigator is looking at the rovs right side (opposite side of the servo)
AHRS_Orientation is in Roll90

Hi @Ricardo -

Welcome to the forums!

Just because things work in manual mode, doesn’t mean they are correctly configured!!

Please update to the latest stable ArduSub - 4.5.7

If your autopilot is mounted in the same orientation as the BlueROV2, with arrow on it facing the front of the vehicle and the top of it facing the starboard side, then Roll90 is correct - the horizon in your first video of QGC shows it is likely correct.

Are you able to put the vehicle in water and click “detect reversed motors” in BlueOS? QGround Control needs to be closed completely for this to work. It will run each thruster one by one, and measure the way it moves the vehicle to set the correct direction. If it fails to do so, you may not have mounted a thruster in the correct position, or wired it correctly to the port number it is expected to be at.

Please share how that detect reversed motors process works for you!

image

Hi @tony-white,

I tried the “detect reversed motors” button but it failed to do so at the first thruster. Error stated in the image below. We have checked that the reason is none of the common failure causes.

What other reason/s could it be?

Hi @Ricardo -

The reasons the motor test may fail are listed in the screenshot you shared!

When you manually move the motor control slider on the same page for motor 1, which motor turns? It should be the front right horizontal motor, correct? And when the slider is moved to the right, does it push air to the back of the vehicle? If so, continue testing like this for the horizontal thrusters, reversing any that don’t move air to the back of the vehicle with their slider to the right.

However, if a different location motor moves when you move the slider for motor 1, as I suspect may be the case, you’ll need to adjust your wiring so the correct motors are connected to the channels the autopilot expects…

Hello @tony-white,

Every control slider activates its corresponding thruster, and with the configuration of reversed motors we are using the flow is correct. I’ll send a video and image as proof.

Hi @Ricardo -

Ok… if you’re 100% positive on the thruster directions and positions, the only other thing it could be is the compass / IMU calibration! Have you calibrated the compass, accelerometer, and via BlueOS, the Gyro?

Does the compass heading the vehicle gives stay true to reality, with the vehicle still and rotated?

Hello @tony-white,

Thank you for continuing to help us! I hope this clip can show some more light to this issue.

Hi @Ricardo -

Your gyro is looking a touch noisy, if you’re on land and the system is perfectly still, you can calibrate it to update the offsets - you want the outputs to be 0 when the unit is static.

If the unit still spins in stabilize or alt_hold mode, then the issue has to be thruster placement or direction!

Hi tony.

The weird thing is the thruster placement is correct, the direction too, was tested by the air directions…

We are lack of ideas.

Can you show a picture of this / confirm that the arrow on the Navigator is pointing forwards? If it’s on the same side but pointing backwards then it might be Pitch180Roll90 instead, or some other variant (depending on orientation).

Hi @Anrriu -

If that were true, the auto detect direction function would work!

Since it failed on the first thruster, are you certain motor 1 is located in the front starboard side, and is horizontal?

Did you update ArduSub to 4.5.7?

You may want to try updating BlueOS to 1.4 latest bets, and then try the detect motor directions test again- was the vehicle floating in water when you last tried to do this? That is required for it to work as well!

Hello @EliotBR and @tony-white,

We did update the ArduSub to 4.5.7 Stable, and we have BlueOS 1.4.3.

Arrow is pointing towards the rov’s nose (front). Sharing a pic seen from above and from its right side.

That matches the AHRS orientation roll 90, the same as the BlueROV2!

Last tries were floating in water.

I’ll run it again