Tiltrotor support for plane

Hello Tridge! (I’m a fan since SMB days.)

Thanks for the reply. We’ve done some custom modifications on the PX4 firmware in the past to accomplish these unusual goals, but think the Arduplane’s angular-velocity mechanics are going to give us a better result. We’re simply exploring a case where the remote pilot has more control than usual. One example test we want to do is to tilt forward just 15 degrees, and let the craft accelerate slowly and get on-wing over a longer period of time.

We plan on implementing the manual tilt, and at first we’ll have that mechanism switch between QSTABILIZE and then FBWA for full-forward flight. Longer-term I think it would be cleaner to create a maual-tilt-aware Q_MT_STABILIZE and Q_MT_ACRO, etc… but I’m just starting to explore the scope of that effort.

Acro mode may not make sense in the long term, but the quad pilots in our team always fly in acro mode on our quads, and the advantage is not having to hold the stick forward all the time. We don’t plan on flying up-side-down or anything but just prefer the feel, especially when flying FPV.

My second flight of the FireFLY6 using APM Plane v3.8.2 was as good as the maiden flight. Transitions seemed flawless and I had better turning capability than when using AvA because it can be set to the user’s needs.

I took off and landed in our tiny mowed opening surrounded by hazards. Once airborne, I had a large wild field to fly over. Landing can be tricky when the wind is blowing because the take-off and approach are from the same direction. Other than a little prop turbulence during my descent, the flight was great!

3 Likes

Hello Tridge,

Yesterday I got an idea, how to solve the config problem for my design. Please help me with your comment.

As I have learnt in the last weeks, currently I cannot configure the servo outputs for my special design in PH, but I can configure them in KK2.1 board. I can configure 2 sets with the VTOL KK image. 1 for quad mode, 1 for airplane mode, and it can mix them for the transition mode. I have to change it manually with a TX switch. However the KK board is just a stabilizer, not a robot. So finally I installed PH as normal, without Q functions, but I use the outputs (Ail, Ele, Thr, Rud) as inputs for the KK board. I turned off the sensor mix in KK, it just converts 100% inputs to the right servo outputs. So the KK is just a mixer, every other things are done by PH. It is question, how big is the delay due to this conversation in the KK. The transition mode is also a question. Currently it is totally manual.

This morning I was thinking for. Is it complicate to build this mixer function in PH code?

What is your opinion? Can this system work in the reality?

Thanks
Laszlo

1 Like

First of all this discussion is one of the best I have seen so well done all involved.

Anyways this one is probably for tridge and greg but all suggestions are welcome.

A friend and I have been attempting the CL84 conversion after picking it up cheap at a second hand sale we attended recently and have ran into a few issues. I have one of the original Pixhawks autopilots and my servo mapping is as below. It is based from post #121 by Tridge - http://uav.tridgell.net/CL84/cl84-parameters.parm

  • SERVO1 - Front Left Motor
  • SERVO2 - Front Right Motor
  • SERVO3 - Rear Motor
  • SERVO4 - Ailerons
  • SERVO5 - Elevator
  • SERVO6 - Rudder/Rear Tilt Servo
  • SERVO7 - Main Wing Tilt Mechanism

My parameter output can be found here:cl84_params_v2.param (15.9 KB)

My first issue is that the rear tilt servo is not rotating in any flight mode and is shown in the video below. This servo does however rotate if the servo parameter is changed from motor 7 to rudder. https://vimeo.com/240549254

The second issue is that the throttle is stuttering in any fixed wing flight modes. All ESCs have been calibrated and parameters updated in ardupilot. Also this is contradicted in the previous video for all quad plane flight modes where the throttle is smooth. https://vimeo.com/240549868

All hardware is stock form the original CL84 model and has not been replaced. All hardware is fully working when tested via a servo tester.

Has anyone got any smart ideas why these issues are occurring? Or even any ideas on how to debug this set up further? It seems rather odd to me. I do have a pixhawk 2 autopilot and plan to debug further by testing with this more modern version of the autopilot.

Euan

1 Like

Hi Euan,

You need to replace the stock ESCs with multi-rotor capable ones that run on SimonK, BLHeli, etc. This will eliminate the motor stuttering.

I converted my CL-84 back to stock before Tridge finished the code so perhaps he has a .param file you can use. It sounds like there may be a connection change between his previous testing and the Plane v.3.8.2 release.

Good luck!

Hi Euan,
I had a look at your parameters, and they seem OK. There are a couple of odd things like RCMAP_PITCH=5 and RCMAP_YAW=6. Is there some reason you have your radio setup that way? You also have a very different output order to me, but that’s fine as long as it is the way you have it connected.
I don’t get throttle stuttering. Do you have a flight log to share?
I’m using the stock ESCs, motors and props from the kit.
Do you get the stuttering in MANUAL mode? Does it show up in the logs in the RCOU message?
Cheers, Tridge

Hello tridge!!
I was following the tread and was always feeling very step behind what you guys are discussing, developing and improving… I am new with this fascinating subject and I am trying to make a plane with VTOL capabilities (tricopter with two tilting motors for yaw at the front)… fly…
Could you help me to get information to start from step one: how to connect servos and motors to Pixhawk… set parameters, select best (or necessary) flight modes, etc…
Thank you very much!!!

This is pretty well documented on the wiki. I suggested you start by reading it then read this thread from the beginning. Also the Mozzie build is a must read.

Good luck!

1 Like

Thank you David!!
I went thru that wiki but still cannot figure out a wiring diagram and so on for the said tricopter. Same in this thread there are different frames or configurations. I have a simple tricopter flying with APM 2.6 and outputs are 1, 2, 4 and 7(for the tail servo)… Now with Pixhawk + a plane + tricopter with no tilt tail but 2 tilting motors in front instead…I am lost. Any help will be appreciated!!!
I started the Mozzie… it is a beauty!!! Thanks again!!!

1 Like

Hi Juan

Well first up thx for the compliment! :slight_smile:
Maybe it would be best to start with a picture or diagram of what aircraft you are trying to configure? That way we have something to work from.

Regards
Sam

Here is a post from Rolf that might help

https://discuss.ardupilot.org/t/tiltrotor-support-for-plane/8805/310?u=skyveyor

1 Like

Hi Sam!!!
Here is a picture…

1 Like

Hi Juan,
You discribe a tri-motor tiltrotor with vectored yaw, like our “Mozart”.

Here is a setup proposal (see Davids above showed picture - only Servo11/12 function changed due to vectored yaw)

SERVO1_FUNCTION = 4 (Aileron)
SERVO2_FUNCTION = 19 (Elevator)
SERVO3_FUNCTION = 0
SERVO4_FUNCTION = 21 (Rudder)
SERVO5_FUNCTION = 33 (Motor 1 = ESC right motor)
SERVO6_FUNCTION = 34 (Motor 2 = ESC left motor)
SERVO7_FUNCTION = 0
SERVO8_FUNCTION = 36 (Motor 4 = ESC rear motor)

SERVO9_FUNCTION = 0
SERVO10_FUNCTION = 0
SERVO11_FUNCTION = 75 (Motortilt left = left front motor tilt servo)
SERVO12_FUNCTION = 76 (Motortilt right = right front motor tilt servo)
SERVO13_FUNCTION = 0
SERVO14_FUNCTION = 0

Transition related parameters:
Q_TILT_MASK 3 (Only Motor 1 and Motor 2 are tiltable. So the bitmask = binary 11 , decimal 3)
Q_TILT_TYPE 2 (continous tiltservo with vectored yaw)
Q_TRANSITION_MS = 0
Q_ASSIST_SPEED = 0

Depending on your individual plane(Acceleration, Stallspeed) , you will have to adjust the fellowing parameters:
Q_TILT_MAX 70 degree (Max. tilt angel while waiting , that FBWA_MIN will be reached)
Q_TILT_RATE_DN 10 degrees/second hover->forward flight
Q_TILT_RATE_UP 80 degrees/second forward flight>hover
FBWA_MIN = 9 (m/s) (Your Airplan have to reach this airspeed with Q_TILT_MAX ! )

I wish you success
Rolf

4 Likes

Yes Rolf, Thank you!!!
Thank you David, Sam!!! All of you guys!!!
I could do nothing this afternoon but read the Mozart blog… amazing!!!
I think I have a lot of information to start with and progress now.
You were very helpful!!!
Regards

Thanks @tridge & @GregCovey for all the advice.

I have been struggling for time to take this forward recently but got round to it tonight with a few friends. I have managed to diagnose the motor stuttering and the yaw control issue I had.

With regards to the motor stuttering, the occurs when the throttle is at its lowest position and the quad plane is disarmed in any fixed wing flight more. When armed this does not occur and all stock hardware should work. @GregCovey the stock hardware isnt great but should do the job for the first flight. @Tridge I think this is a safety feature that could be introduced in later iterations of the arduplane software. Can you also confirm this ?

With regards to no yaw control, I was puzzled by this for a while but when clowning around with it I noticed that no manual yaw response is given when the throttle is at its lowest position. When the throttle is not on its lowest position, manual yaw control is given. @Tridge is this a design feature of the tricopter? Seems like something that I have overlooked as I am less familiar with the copter documentation than the plane documentation.

I intend to have the first flight of this on Sunday. Will keep you guys posted on how it goes!

Euan

it sounds like you don’t have the right PWM range for the motors, at least at the low end. What do you have it set to?

what flight mode are you referring to? If this is QSTABILIZE mode then lowest throttle position is motors off, so indeed there is no yaw control.

Hey @tridge

Unfortunately when we went to fly this today, one of the aileron servos packed in so was unable to fly. We will hopefully get this resolved and be able to fly next weekend.

For the motor issue, I have calibrated all ESCs and set the PWM range in the servo function parameters and still observe the same issue I clarified in my last post.I have posted another video here to better show my issue: https://vimeo.com/242473114

When the motors are disarmed in and the autopilot is in any copter mode the motors don’t spin and spin smoothly when armed. When armed in any fixed wing flight mode they spin smoothly, BUT when disarmed they stutter. I have managed to show the same issue now on a futaba TX/RX and frsky TX/RX.

The fact that it arms and disarms in the manner I would expect in copter modes and that the throttle is smooth when armed on any flight mode, would suggest I have calibrated everything correctly? I am not sure what I am missing here? I have done an ESC calibration and performed a radio calibration. I dont think this is a biggie in terms of functionality but I think it is a safety concern.

@Tridge What parameters would control this and I will tell you their value as set on my set up? I take it you don’t report the same issue if you were to try the same actions I performed in the above video?

For the yaw control I was referring to q stablise - apologies for not specifying. This just seems like something that has caught me off guard. I am just used to checking all my control surfaces before flying and was unsure if the autopilot would treat the tilt servo in the same way as a rudder on a traditional fixed wing aircraft.

Now that I am more familiar with this stuff since my first post, I think a lot of this is pretty minor and shouldn’t get in the way of actually flying the aircraft.

Euan

Managed to get four flights in today with the CL84. So huzaaahh.

The first flight was fairly successful. Started in qstabilse and entered qloiter. The aircraft flipped but no damage was caused. Put it down to this Pixhawk Stabilize=OK, Loiter= flip/crash at takeoff

The second flight was better. Again started in qstabilse and entered qloiter. Attempted to transition into FBWA but the aircraft went into a spiral dive and never recovered.

Luckily the damage wasnt too severe (one of benefits of having as wet ground as you do in Scotland) When reading the docs in more detail we dialed back ARSPD_FBW_MIN and Q_TRANSITION_MS.

Third flight was attempted and we fully managed to transition and land successfully. This was a good overall flight but noted that FBWA had an enormous turning circle.

Forth flight we attempted to autotune the CL84 craft but never fully got there and ran out of lipos.

I think we can manage to get the aircraft flying in fixed wing smoother by modifying roll and pitch angles allowed in the autopilot and with further autotuning.

However the transition is still pretty questionable. Anyone got advice on how to tune the transition so it’s smoother?

Euan

Hi @stundenblume,

I’m not super familiar with whether this is the appropriate place to ask this (this is my first post) - I’m an aerospace undergrad and I’m working on a tiltrotor quadplane really similar to the one you were working on earlier this year. I just wondered if I could ask some questions about the hardware, etc? If email is a better place for that, mine is: nickbain@mit.edu. Let me know if that’d be ok.

Thanks a lot,
Nick

Euan,

To increase your turning angle, you can change the default MIXING_GAIN from 0.5 to 0.7 or higher. Be sure to have sufficient speed after transition before turning with too much angle.