Vectored thruster orientation

hi thanks. it works!
If i will do a modification again in AP_Motors6DOF.cpp, should i need to repeat all this?

or only in the configure(./waf configure --board Pixhawk1) then modify in AP_Motors6DOF.cpp then compile(./waf sub)?

The original “detailed instructions” post I linked you to covers this (and more) in some depth :slight_smile:

I tried it already and it worked :blush: thank you for your help. We can proceed now on testing our ROV.

1 Like

Dear BR2 forum community.

We were able to successfully test our ALON-8VEC with the new thruster configuration.

Thanks to @EliotBR 's patiences and @Christopher 's multiple trial and errors, we finally got it right.

As promised when we first started, here are our final results.

QGC version:
image

Ardusub version:
image

Companion Version:
image

Thruster table:

Thruster direction table:

Thruster direction depends on prop used (CW/CCW)

Note that the ROV needs to be on stabilize before putting it on auto-depth, else it goes down hard. (Same issue as the regular BR2)

Since this is one giant hassle, you may download our ardusub file (ardusub 8VEC.apj) from the download section of our website: http://www.deltarov.com/new/

Please note that this is provided free of charge, without guaranty or support.

Cheers,
Etienne

Hello @EliotBR,

I hope you are well. We have migrated to BlueOS and Navigator board and cannot upload our 8VEC file anymore.

We get this error:

How do we resolve this?

Thanks,
Etienne

Hi @etienne,

Pixhawk and Navigator run on different processors, so cannot use the same firmware build (they don’t have the same pins or hardware interfaces). You’ll need to re-build the firmware for Navigator, which should compile a .elf file that the Navigator can run on :slight_smile:

Thanks we will give it a go

@EliotBR So the only difference in the process is this?

building ArduSub for Navigator and was told it should be the same but using ./waf configure --board navigator instead of ./waf configure --board pixhawk .

I think I compiled it properly :sweat_smile:

This might be a stupid question but how can I verify that what I compiled was the latest 4.1 version?

Sorry, I am not super familiar with Github/Linux/Python.

Cheers,
E.

Hi @EliotBR ,

Unfortunately it didn’t work. I’m able to upload the elf file but got no comms. (The ROV works with normal firmware) Can you send me the ardusub 4.1 files like you did last time for the older version? My attempt to load the toolchain have been unsuccessful…

Cheers,
E.

Hi.

Steps are basically

git clone git@github.com:ArduPilot/ardupilot.git
cd ardupilot
git checkout Sub-4.1
git submodule update --init --recursive
./waf configure --board Navigator --toolchain /opt/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf

output file ends up in build/navigator/bin/ardusub

I can build it for you if you share the matrix as text.

That would be great.

case SUB_FRAME_CUSTOM:
        add_motor_raw_6dof(AP_MOTORS_MOT_1,     1.0f,           -1.0f,          -1.0f,           -1.0f,               1.0f,               -1.0f,           1);
        add_motor_raw_6dof(AP_MOTORS_MOT_2,     -1.0f,          -1.0f,          1.0f,          -1.0f,               1.0f,               1.0f,          2);
        add_motor_raw_6dof(AP_MOTORS_MOT_3,     1.0f,           1.0f,           1.0f,          -1.0f,               -1.0f,              -1.0f,           3);
        add_motor_raw_6dof(AP_MOTORS_MOT_4,     -1.0f,          1.0f,           -1.0f,           -1.0f,               -1.0f,              1.0f,          4);
        add_motor_raw_6dof(AP_MOTORS_MOT_5,     -1.0f,          1.0f,           -1.0f,           1.0f,              1.0f,               -1.0f,           5);
        add_motor_raw_6dof(AP_MOTORS_MOT_6,     1.0f,           1.0f,           1.0f,          1.0f,              1.0f,               1.0f,          6);
        add_motor_raw_6dof(AP_MOTORS_MOT_7,     -1.0f,          -1.0f,          1.0f,          1.0f,              -1.0f,              -1.0f,           7);
        add_motor_raw_6dof(AP_MOTORS_MOT_8,     1.0f,           -1.0f,          -1.0f,           1.0f,              -1.0f,              1.0f,          8);
        break;

That is pretty much what I did but the toolchain argument doesn’t work…

ardusub_etienne.bin (1.8 MB)
I had to rename to .bin for discuss to accept it, but blueos should not mind.

1 Like

thanks mate

Works great! thanks.

1 Like

Has this file been tested on the M2 Rov ?

Hi @hanz0n, welcome to the forum :slight_smile:

Chasing’s M2 ROV is closed source, and isn’t advertised as running the ArduSub firmware, or having an ArduPilot-supported flight controller board. The firmware file Willian linked to was built specifically for the Blue Robotics Navigator Flight Controller, so would not be possible to run on a Chasing ROV without swapping out the control electronics.

Thanks for the answer.
i know that the M2 uses “closed” source, i was thinking of replacing one of my M2 couse the hull is leaking power so i get havy “corrosion”. i like the frame so i was thinking of using it.
I have all the parameters downloaded from the m2 firmware but i can´t find the setup for the thrusers.
We are looking at BlueRov now and will probebly order one soon.

We have also tried this framework and the results are very good. But I also encountered some problems. Due to the flexible configuration of the ROV, we started depth modeat the same time as setting a 30 ° inclination angle. When the handle controls the forward movement, the ROV does not move forward, but moves upwards along a 30 ° inclination angle according to its own coordinate system. This seems unreasonable.