OctaPlane Motor Mapping Issues

I have been working on a quadplane project for the past few months with mixed results. This airframe is a 3 meter wing span custom design flying wing weighing between 12-15kg. I started off with a quad setup for the VTOL capabilities. I had some very unfortunate problems with the quad motors and ESCs though which led me to the decision of an X8 configuration. I loaded the latest Copter X8 firmware and started testing without the wings attached… all was well and I was able to tune the setup well and had good results. I then loaded the latest Plane firmware, leaving Q_Enable at 0 I bench tested the plane equipment and all seemed well. Then, I set Q_Enable to 1 and copied over the Copter X8 PID settings. Once changing the Frame configuration to Octaquad (3) all kinds of things were screwed up… The plane motor esc was no longer receiving a PWM signal and the control surface servos were acting very strange, humming and moving on their own regardless of flight mode. The octa motors did however work normally. I tried plane firmware from 3.5 all the way to the latest 3.7 with the same results. I just loaded the beta 3.8 and this problem went away. All systems work properly. However, the motor mapping on the octaquad configuration is not right.
I setup with octaquad motors as suggested in the wiki:

Ch5 = motor 1
Ch6 = motor 2
Ch7 = motor 3
Ch8 = motor 4
Ch9 = motor 5
Ch10 = motor 6
Ch11 = motor 7
Ch12 = motor 8

I have the ESC labeled by location, not # to make things easier.

Ch5 - motor 1 = Front Right Top
Ch6 - motor 2 = Front Left Top
Ch7 - motor 3 = Rear Left Top
Ch8 - motor 4 = Rear Right Top
Ch9 - motor 5 = Front Left Bottom
Ch10 - motor 6 = Front Right Bottom
Ch11 - motor 7 = Rear Right Bottom
Ch12 - motor 8 = Rear Left Bottom

When I use the motor test menu, these are my results:

A spins motor A
B spins motor E
C spins motor F
D spins motor C
E spins motor G
F spins motor B
G spins motor D
H spins motor H

I was able to switch inputs around until A=A, B=B and so on but the mapping is still messed up in the firmware. Control inputs don’t match motor outputs.
I checked the RC outputs to verify their channel mapping and they seem accurate:

Rc5 =33

I then returned everything to default and decided to try changing the servo/rc output functions to correct the mapping issues. After some creative motor mapping, I was able to have all channels working properly… or so I thought.
I bench tested and everything seemed fine but its hard to tell while the aircraft is secured down. I took it outside and attempted a hover in QStabilize. Throttle, roll and pitch seemed fine but Yaw was not. I added a touch of right rudder and the plane yawed to the left and tried to flip over the nose. Not sure what this means other than there must be a mapping/control output issue.

If anyone is curious or has some suggestions, please advise.

Here is my param file.UAS003_OCTAPLANE_7_5_17.param (16.0 KB)

Here is the log file… https://drive.google.com/open?id=0B1xMs13CkzYPa3BwekRtLXBPTjg



I uploaded the latest beta firmware 3.8 rc6, then figured out that the Frame Type number is off by 1.

Frame Type:
0 = Quad
1 = Hex
2 = Octa
3 = Octaquad
4 = Y6

The actual correct type identifier for Octaquad is #4. Once I selected this, everything worked fine and I was able to complete two successful hover tests.

1 Like

Great Job Chris. That is peculiar. I am also running 3.8 beta 6 and haven’t had an issue yet with frame type (no hover tests yet, just bench motor tests). I have another fellow ArduPilot that has been experiencing issues with frame types. See attached screen shot from my mission planner. I’m getting the following list:
0: Undefined
1: Quad
2: Hexa
3: Octa
4: OctaQuad
5: Y6
7: Tri
10: TailSitter

I’m using MP build 1.1.6393.35481

What did you set your Frame class to? X, H? Glad you were able to successfully complete your missions. Love to see some videos if you have it.

Alex, its interesting to see this expanded list. The MP version I am currently using is 1.3.48 build 1.1.6330.31130. Here is a screen shot of these parameters.

Also, I tried my first transition yesterday… the transition worked well but the airplane itself started to “lawn dart” shortly after. I believe the control input for altitude change in FBWA was reversed, meaning pulling the stick back caused a decrease in altitude instead of an increase. There are some other unknown factors at this point because this is a new design but I’m curious to see what your thoughts are.

Here is the log.


Hi Chris. As expected, I’ve seen already several colleagues run through the same issue on the earlier beta builds. I recently decided to install the latest MP along with the latest beta on my pixhawk 2.1 (3.8 build 6). I guess I got lucky and a lot of the issues/discrepancies were ironed out by then.

I am curious to hear more about your experience with your transition flight. Are you using an airspeed sensor or simply using the q_speed assist 10 seconds function? If there are any videos, I’d love to see them as well.

In regards to reversed controls, I always try to test my controls on the ground first via FBWA and disarmed. Given I initially had to replace numerous servos because of the previous buzzing and heating issue, I had to make extra sure I installed everything correctly with properly direction.

I will be making my maiden transition flight of the Ranger Ex 757 OctaQuad conversion today. Lets keep the fingers crossed.

Yeah I have been seeing this trend of firmware versions causing issues for a while, so I’m glad the latest updates are sorting things out.

With regard to my setup, yes I’m using a digital airspeed sensor and the controls all work correctly on the ground. What I was referring to is the logic where back stick means to increase or decrease the target altitude.

Good luck with your maiden!

Chris do you use the airspeed with an ext compass?

I am using a Pixhawk 2.1 with the “HERE” GPS/Compass and a digital airspeed sensor.

1 Like

Quick update - I was finally able to work all of the problems out and complete a successful transition flight with no issues!

1 Like


I’m building a octaplane and was wondering if it’s possible to have 2 forward motors apart from the 8 for VTOL.
Thank you.

yes. You can either set them both a normal fwd throttle, or control them separately by setting them as THROTTLE_LEFT and THROTTLE_RIGHT (so you can use differential thrust for yaw in forward flight)
Cheers, Tridge

I was about to set them both a normal forward throttle but, this is great to know. Thanks @tridge