Vectored thruster orientation

I’ve zipped the repo at ArduSub-stable here, but it’s ~500MB to download, and because it was cloned directly from the ArduPilot repo you should be able to test with it but won’t be able to push changes to your own remote, or make pull requests.

That’s probably not particularly important though, since once you’ve confirmed your configuration works the way you want it to you can move the changes over to your own repo (off your master branch) and pull request from there :slight_smile:

Hello again,

I downloaded the file and copied it to my ubuntu wsl via file explorer.

Now I get this when I try to compile:

Sorry for all the questions, I am not a linux guy and just feeling my way around.

Did you follow the build environment setup? That uses sudo internally, which I would expect should mean there shouldn’t be permission issues at this stage. If you have already installed the prerequisites then maybe try chmod +x waf, but it shouldn’t be necessary (waf should already be executable by default).

I did initially but do I need to do it again with the files you sent? Is waf stored inside ardupilot folders?

looks like I don’t have permission for anything. :face_with_head_bandage:

The master branch has different prerequisites to the ArduSub-stable tag.


Can you try running with sudo? It should ask you to put your password in.
e.g. run

sudo Tools/environment_install/ -y

hi im chris. i take over the the project and we are trying with a different approach using a linux computer. do you have experienced this issue before?

that is the result when i try to compile.

Hi @Christopher, welcome to the forum :slight_smile:

I have not experienced that issue before, but from your traceback:

  • The error you’re getting is that collections has no MutableSequence, which is a class that was removed in Python 3.3, so is presumably trying to run Python 2.7 code with a more recent Python 3 version
  • It seems a bit odd that you’re running from inside your Downloads folder - did you get the code via git, or did you use some other approach?

I expect the issue here is some missing or incorrect setup. If it’s helpful the Linux instructions are provided as direct steps here :slight_smile:

If that doesn’t work, please specify which Linux version you’re using, and any error messages you receive in the code fetching / compilation processes.

i tried to use the ardusub-stable file you provided in this discussion. anyways i tried the instructions you provide. is this fine? im on the part where the code is Tools/environment_install/ -y

btw, im at this part of the instruction.

im using ubuntu 22.04 LTS, Linux Kernel Version Number is 5.15.0-27-generic.
i tried to redo the process by cloning the main repository and not by fork. this is the error message.

Even the master branch doesn’t seem fully updated for 22.04 yet, and the updates that have occurred are all from March or later, which is more recently than the ArduSub stable branch has been updated. I’d recommend using 20.04 if possible, and if that’s not possible as your main OS then you can perhaps try in a virtual machine instead (using e.g. VirtualBox).

You can of course wait until 22.04 is fully supported for ArduSub, but there isn’t a fixed date where that will happen, and I expect we’ll try to push out ArduSub 4.1 as the new stable first.

hi eliot, i tried the version 18.04. im still having an error when i do the submodule update and the error is the same in version 22.04. but i will try the version 20.04, hopefully its the solution for the error.

Good day im still having the same error when updating the submodule. i attached the guide im using and the entire output. What do you think the problem in here? i tried all the linux version 18.04, 20.04 and 22.04. All of them has the same error. Thank you!

I’ve read through this post more fully again, and realised you’re running into the same issue that was discussed further up. That issue hasn’t yet been fixed in ArduSub-stable, so the workaround I originally suggested is likely the best course of action for now.

I spoke with our software team and @williangalvani is working on updating submodules to solve the issue properly for ArduSub >= 4.1, but completing that may take some more time.

I’ve just tried a fresh install of a fresh ardupilot fork on Ubuntu 20.04, and it worked without issues when using that workaround. Combining for a full set of instructions:

git clone
cd ardupilot
# fetch the latest tags
git fetch --tags
# checkout the latest stable tag, and branch off it in your own 'new-branch'
git checkout ArduSub-stable -b new-branch
# manually fix deprecated authentication format
sed -i -e s/git:/https:/ .gitmodules
# initial submodule update and initialisation
git submodule update --init
# fix the same issue within a submodule
sed -i -e s/git:/https:/ modules/mavlink/.gitmodules
# update submodules recursively and continue as normal
git submodule update --init --recursive
# install prerequisites
Tools/environment_install/ -y
# reload the path
. ~/.profile
# configure waf for your board (e.g. Pixhawk1)
./waf configure --board Pixhawk1

Note that if you try to initialise submodules before the links have been changed properly then the incorrect link is stored internally, so it’s much easier to start with a fresh ardupilot clone and work through the instructions from the top.

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:

Ardusub version:

Companion Version:

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:

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