Dual-motor tailsitters

Hi all
I am working since a while on a 3D printed fast TVBS (Kakute F743 Wing, T-MotorF90 2806.5 KV1950,GEMFAN 6x45x3). This results in Q_M_THST_HOVER 0.46 @ 20A with 6S. Design goal is to have a fast FPV TVBS with >200km/h. The frame is very stiff with two carbon-bars going through the wings. The overall weight with a 3300mAh Lipo is 1.6kg. It flies in horizontal mode stable (tested up to 140km/h yet).


It is flying well in QHover & Qloiter and I even did some transitions to horizontal. When doing a transition I encounter strong roll oscillations which can be easily reproduced by flying with high pitch angles (see picture for Qloiter & Qhover & bin below).
Unfortunately the QuickTune lua fails: (QAUTOTUNE - VTOL autotune for quadplanes - #148 by warp2)


https://www.swisstransfer.com/d/e7db7a30-b76e-48fa-b48a-03efe4d3447f

Does anyone have any recommendation how to tune the mentioned roll oscillation in transition?

1 Like


Hi everyone,

I’m working on a dual motor vectored tailsitter, and I’m encountering an issue after the back transition (transitioning from fixed-wing to VTOL mode). According to the documentation, after the transition, the system should use the hover throttle (Q_M_THST_HOVER) to maintain stable hover. However, I’m observing that the throttle drops significantly below the hover throttle, reaching the motor’s minimum spin value (MOT_SPIN_MIN). Additionally, during this phase, the thrust Output (QTUN.ThO) becomes zero, which causes the actual throttle output (Aetr.Thr) to drop to the motor’s minimum spin value. This behavior is causing instability after transition. @iampete

Hover throttle is used for the transition itself, after transition is complete throttle control reverts to the control mode. In this case loiter is trying to maintain altitude so it lowers throttle to stop the climb.

I have set my parameters as follows:

  • Q_TAILSIT_THR_VT = 55%
  • Learned Q_M_THST_HOVER = 0.37

From my understanding, during the back transition, the throttle should stay at 55% and then adjust to the learned hover throttle value (0.37) after back transition. However, I am observing that the throttle initially drops to 15% before correcting itself. I want to understand why this happens and how to ensure a smoother transition and avoid throttle drop after transition to min value. if throttle scaling is done how can i avoid throttle drop?

I am not sure if everything is set right, first try to set ardupilot or any fc setup.
Servo response looks OK when plane is leveled, but when in hover position, servos dont act right.
Also, motors are always off (unless I give them a spin), shouldn’t they stabilise with differential thrust?

2 Likes

I like it. One thing is if you have issues you can add more flap surface.

Thanks, sure if needed I can do that, but first I have to set up ardupilot right :slight_smile:

Hi i have a tailsitter with two front motors with elevons at propwash and one pusher motor at the back for efficient forward flight as the two front motors stop spinning after transition with folding propelers. Is there a way to disable those two motors for forward flight and also disabling the back motor for hovering ? I was thinking using the frame class 10 aswell using the motor mask for turning off the front motors. But it does not function as i was hoping. Can someone help me with seting it up?

Hello everyone!

I’m currently working on a dual-motor tailsitter UAV with two fixed motors and two elevons. I’ve successfully built the model and tested it in QHOVER and QSTABILIZE modes, and so far it’s performing reasonably well. However, I’m facing an issue when trying to fly it indoors using Vicon motion capture data.

The problem is that the flight controller doesn’t seem to process the Vicon data correctly.

When I compare the Vicon position data to what’s displayed in Mission Planner (Setup >> Advanced >> Mavlink Inspector >> vision_position_estimate), the positions appear accurate—but with axis mismatches:

Additionally, when I run the command:
“ros2 topic echo /mavros/local_position/pose”
nothing is being published, which indicates a disconnect in the Vicon → MAVROS → FC data flow.

For testing, I created a script that successfully arms the tailsitter, performs takeoff, and lands (with no propellers attached for safety). The commands are being sent and acknowledged correctly.

However, once I attach the propellers, the tailsitter does not fly vertically to the commanded altitude. Instead, it exhibits unstable behavior, climbing much higher than the target altitude of 1 meter. I also tested with a target of -1 meter, but the issue persisted and it seems the vehicle wants to pitch not even for take off higher than the required altitude.

From what I understand, the flight controller is receiving the Vicon data (since it appears correctly in the Mavlink Inspector, despite the axis shifts), but it might not be interpreting or using it properly for navigation and altitude control.

For reference, I have:

  • Q_GUID_MODE = 1 enabled for autonomous command execution.
  • GPS_TYPE = 0 to disable GPS (indoor environment).

All necessary parameters for both the tailsitter configuration and Vicon integration have been set correctly, as shown in the image below:

Has anyone experienced similar issues or successfully flown a tailsitter indoors using Vicon? I’d really appreciate any insights or suggestions!

Thank you in advance—and big thanks to everyone working on the development of these type of UAV systems!

Hello everyone,
I just faced something new for me since I started ardupilot,
“PreArm: CrashDump data detected”.
Everrything was working fine just before flying again, i had this error where i tried to resolve by reflashing the firmware and formating the SD card.

Even that was solved, but just in a second after takeoff it wasnt by bird at all. Just lost it without knowing what happened and why happened.

Along with this I am facing issue with the transition, where VTOL is fine but VTOL to FW transition is making the bird behave like a falling leaf. Tried multiplle transition rates and time but nothing worked out.

Crash dump error
Transition problem

I would like to have developers insight on this and help me resolve(@tridge @iampete @hwurzburg @marco3dr @MichelleRos ) please!

Thanks in advance.

You need to post the log showing the problem without requesting access to the files, thank you.

First, attempting to fly again when you get a “Crash Dump” is dangerous, see Independent Watchdog and Crash Dump — Copter documentation, and reflashing assures that the crash information is erased.
Second, what I think Marco was trying to say is that the logs you post should allow everyone access without having to request you grant it on an individual by individual basis.

1 Like

Sorry about the access to the logs.
So then even reflashing doesnt correct whats wrong in the system. (am i right?)

To know what caused the watchdog to report, what could be done and how it could be rectified?(can it be really corrected?)

@tridge @iampete @hwurzburg @marco3dr @MichelleRos
Sorry that im asking again, but I wouold like to know whats happening with the system before I fly next

Thanks!

Hello,
Sorry that the drive folder wasnt accessible that time.
Since the day you mentioned it its open for everyonw with the link and I am waiting to know more on the error.

Can anyone respond on that please!

I’ve recently started developing a new dual-motor tailsitter project inspired by the WingtraRay, called Project Orca. The motivation is from @marco3dr eXplorer

It features a dual-elevon control setup and is being designed for 3D printing with aerodynamic efficiency and mechanical simplicity in mind. The goal is to explore how far we can push ArduPilot’s tailsitter capabilities with minimalist, accessible designs.

I’ve shared an initial concept blog post here:

:backhand_index_pointing_right: Project Orca — A Dual-Motor Tailsitter Inspired by Wingtra’s WingtraRay(Project Orca — A Dual-Motor Tailsitter Inspired by the WingtraRay)

The design is still in development (currently ~90% complete in CAD), and I’ll be sharing more technical details and test results as the build progresses.

Feedback, suggestions, and discussion from others working on tailsitters are very welcome!


3 Likes

Hey guys,

quick question. I have recently build a tailsitter and it hovers great! I now want to do a transition but I am scared that the big throws that the model is capable for hover will make the plane too sensitive. Is there a way to limit the travel of the servos only in forward flying mode (similar to “rate(%)” in INAV) or should I not be concerned because it is all handled by the flight controller in fly by wire?

I would really appreciate it if you guys could help me out, thank you :).

Greetings

Georg