Dual-motor tailsitters

Unfortunately we had an ESC burnup. Blessing in disguise that it happens at startup. Until the next test it will take about 2 weeks :sob:

Rolf

ahh, sorry, I must be getting forgetful in my old age. We do have differential thrust in fwd flight with vectored tailsitters. Just set RUDD_DT_GAIN to the percentage of differential thrust with rudder. It will mix from ailerons with KFF_RDDRMIX.

that"s great, Thank you !..forgetful? what were we talking about?

Ah! Thanks a million @Rolf.

Maiden ā€œflightā€ of my Caipirinha now vectored.
Heavy oscillation of the Tilt Units produce a nice Yaw-dance. But far away from hoovering.
https://www.youtube.com/watch?v=R657OG74sQc&feature=em-upload_owner

Remarkable: Even with back touch during start, no damage.

And the Log file:
https://drive.google.com/open?id=0Bxldq38bfbqHRzhlTUhkMlA1M0U

Due to weak thrust, difficult to get Roll. With Roll cmd loose altitude (one mot reduce thrust, the other canā€™t because already on max.
I think it needs tuning, but which param in which direction?
Otto

2 Likes

Foamboard Fixed-Motor Tailsitter

Hereā€™s the maiden flight of a new foamboard fixed-motor based on the FliteTest Spear. Itā€™s pretty manageable with the default tuning in QStabilize, QHover, and QLoiter.

Working on a write-up with plans, video, and log files.

2 Likes

@lorbass
Congratulations on the "nice Yaw-Dance"
But youā€™re already a bit further than us.
Walter + Rolf

Foamboard Tail Sitter

I was thrilled to find this thread! The firmware seems to be moving forward very quickly and itā€™s exciting to see that there are people flying various configurations.

In hopes of making things more approachable to others, hereā€™s quick rundown of how I put together a dual fixed-motor out of foam-board that seems to be fairly manageable in hovering and forward flight modes on the default parameter values. Iā€™ll be very grateful for your corrections and feedback, especially regarding the log file analysis for tuning.

All the files mentioned below (airframe plans, parameters, log files, photos, and videos) are in this Dropbox directory:


Airframe

Inspired by @ag-sys in this post (Dual-motor tailsitters), I started with a FliteTest Spear and added dual motor pods. The Spear has plenty of space in side the fuselage for electronics and battery, bringing the vertical location of the CG into good alignment with the motors.

Motors from FliteTest Power Pack D

Motor rotation:
Right: CW
Left : CCW

Battery: 3s 2200mAh

Takeoff weight is 835 grams.


Wiring for Pixhawk1, HolyBro version
All external module connections as normal. No airspeed sensor.
Output 1: ESC Right
Output 2: ESC Left
Output 5: Elevon Right
Output 6: Elevon Left


Firmware
Place aircraft in fixed wing flight orientation.

Install firmware ArduPlane V3.8.0beta5
Setup Accel, Compass, Radio as normal

Q_ENABLE=1 (was default value)
Q_FRAME_CLASS=10 (Tailsitter)
Q_TAILSIT_INPUT = 0 (was default value)

Write and refresh parameters

ELEVON_OUTPUT=3 (frame specific)
Reverse pitch axis with checkbox in Mission Planner > Radio Cal. (Not sure what parameter this flips.)

SERVO1_FUNCTION=74 (right motor)
SERVO1_MAX=2000
SERVO1_MIN=1000
SERVO_REVERSED=0
SERVO1_TRIM=1000

SERVO2_FUNCTION=73 (left motor)
SERVO2_MAX=2000
SERVO2_MIN=1000
SERVO_REVERSED=0
SERVO2_TRIM=1000

SERVO5_FUNCTION=4 (right elevon)
SERVO5_MAX=2000
SERVO5_MIN=1000
SERVO_REVERSED=0
SERVO5_TRIM=1500

SERVO6_FUNCTION=19 (left elevon)
SERVO6_MAX=2000
SERVO6_MIN=1000
SERVO_REVERSED=0
SERVO6_TRIM=1500

FLTMODE_CH = 5 (your preference, using 3-position switch)
FLTMODE1 = 17 (QSTABILIZE)
FLTMODE4 = 18: (QHOVER)
FLTMODE6 = 5 (FBWA)

Save parameter file (TS1-V7.param)

ARMING_CHECK = 0 (Disabled for testing)
ARMING_RUDDER = 2 (your preference)


Check for reasonable output

Upon boot, right aileron sometimes goes full down for 2-5 seconds, then returns to neutral.

Mode: FBWA, lay plane on itā€™s belly
Control surfs: yes
Motors: Disarmed, nothing. Armed with zero throttle, nothing. Armed with throttle, normal throttle response. No differential throttle.

Mode: QSTABILIZE, stand plane on tail
Control surfs: upon pressing safety button, deflect a bit, then stabilize. Sometimes wind up over time and sit against stops. Respond to sticks. Respond to picking up and moving aircraft around each axis.
Motors: Disarmed, nothing. Armed with zero throttle, nothing. Armed with throttle, normal throttle response. Motors spinning, pick up and move aircraft, differential response as expected.

Investigate QSTABILIZE arming motor behavior. Default values
Q_M_SPIN_ARM=0.1
Q_M_SPIN_MIN=0.15
Increased these to 0.2 and 0.25. Motors still donā€™t spin upon arming. Returned to default values.

ARMING_CHECKS = 1
FLTMODE6 = 19 (QLOITER)


Questions

  • Should motors spin upon arming?
  • Question: Does the output number matter, if the correct SERVO#_FUNCTION value is assigned?
  • Why does right aileron go full down on boot? Maybe choose another output channel?

This is pretty long, so Iā€™ll post the testing notes separately.

5 Likes

https://vimeo.com/223393551

Foamboard Tail Sitter - Flight Test - Hover

Log files 45-48. (I think log 47 includes all three modes, but one log includes two flights, i.e. didnā€™t disarm between) and Iā€™m not very familiar with the log analysis tools.) Link: https://www.dropbox.com/sh/aq6rjxkwkjo7exq/AABx89SEWDZo3jDPSWL8euqYa?dl=0


Notes

Hovers at ~50% throttle.

QSTABILIZE - Fairly stable, even in light wind. Good authority in pitch and roll (earth frame). Yaw has weak authority and a some roll/yaw coupled oscillation when fighting gusts (i.e. pitch lean). Moving CG up seems to reduce this oscillation.

QHOVER - Fairly stable, despite wind gusts. Performed takeoffs by using full throttle to get off the ground before reducing to 50% once in the air.

QLOITER - Less stable. More roll/yaw coupled oscillation (earth frame) when fighting gusts (i.e. pitch lean).

4 flights short flights with one battery. Consumed 1703 mAh of 2200 mAh.


Changes

FLTMODE6 = 8 (AUTOTUNE)


Questions

  • It seems like a bit of yaw tuning is needed. Iā€™d appreciate any advice on the appropriate adjustments.


https://vimeo.com/223391494/afee680658

Foamboard Tail Sitter - Flight Test - Transition

Hover was fairly manageable, so I decided to try transition.

Log files 49-52. Link: https://www.dropbox.com/sh/aq6rjxkwkjo7exq/AABx89SEWDZo3jDPSWL8euqYa?dl=0


Notes

Transition QSTABILIZE to AUTOTUNE and also QHOVER to AUTOTUNE

  • Pitch oscillation following transition. Dies when throttle is reduced to ~50% and does not recur when throttle is raised.

Cruise AUTOTUNE

  • Roll authority and control good.
  • Pitch oscillation upon big pitch up inputs.
  • Level flight requires ~100% throttle and a little up elevator.

Transition AUTOTUNE to QSTABILIZE

  • Climbs ~8 meters. Good stability.

Landing QSTABILIZE
Feels unstable at even modest descent rates. The video doesnā€™t look too bad, but it felt looser than the hover tests. I tried to hold altitude during wind gusts and descending in calm air.

Transition AUTOTUNE to QHOVER
Climbs ~8 meters. Slowed the motors way down. Knowing the motors stop at zero throttle, and knowing pitch is unstable in descent, I switched to QSTABILIZE.

Landing QHOVER
Feels unstable at even modest descent rates, though it was easier to hold a slow descent.


Changes

  • Try more cruise thrust. Maybe higher prop pitch or more motor rpm. (Currently 1045 prop on 935kv motor with 3S battery.)
  • Try more cruise angle of attack.
  • Reduce pitch oscillation. Try reducing pitch gain. Q_A_RAT_PIT_P currently 0.25. @agsys ā€œhalved the roll and pitch P and I gains for fixed wing flight.ā€ Dual-motor tailsitters

Questions

3 Likes

congrats! all the swept wing foamies that I mess with seem squrilly to me as well, lots of yaw and decend issues, might be the light weight? my stright wings go 3.5 to 6 lb. also looks like very fast transitions,we might want to find a way to slow those down, or better,be able to fly into and out of transition with more pitch movement ,might be a structural issue( thatā€™s a hint Tridge )

also try to do your landing transitions upwind so you donā€™t fight the breeze as much on descend

Hey ,Tridge been working on illusion, testing yaw and transition in hand, dif yaw = goodā€¦ when switch to fbwa throttle goes to high and serfaces abrupt switch to horzontal seems good for fixed motor mount but I am concerned with vector setup. with baseflight bicopter software, my normal transion is t/o in horizon mode (3pos switch) pos 2 is switch off horizon fly to nose down to horizontal and switch to airplane pos3 that one also changes to a 2nd controller setup for inav and is reverse for landing, my observation with baseflight is that I can hold 1/2 down elevator and the tilt might still point the motors up to hold whatever position the stick is in, is it possible to get that control with a pix ? my controller also uses 2 IMUā€™s 1 vert and 1 horizontal ,also with the new radioā€™s can we get more mode channels ? hope this is helpful and doable

@tridge,
First succes with Caipirinha dual motors vectored Tailsitter.

Remarkable issue:
Q_M_THST_Hover does not work. Even set to 0.8 the thrust increases proportional (linear)
to CH3in. With stick in the middle CH5out or CH6out ppm = 1500
This makes the mode change from QSTABILIZ to QHOVER difficult as shown in the video.
Regards Otto

2 Likes

lookin good, better and better,love that it can go upside down and still go, big thunbs up!

https://youtu.be/fyx0YAX0gEg illusion test

Looks good, perhaps Q_ANGLE_MAX higher than default (3000) to fight against wind?
Otto

is it possible to use a rangefinder or optical flow with a dual motor tail sitter aircraft when in hover position?

are dual gps receivers advisable? one for forward flight and one for hover?

I am starting to poke around inside the control loops with a view to improving the wind resistance of the so called ā€˜vectored tail-sitterā€™.

I had a question about the axis convention. The code in tailsitter.cpp implies that zero pitch is when the nose is pointing up in hover - is that correct?

I will put the functionality in a new function called bicoptertiltrotor or something like that to make a clear distinction between it and the traditional tailsitter, because the control strategy will be quite different and I do not want to clutter up the tailsitter.cpp file with branch logic.

2 Likes

OK, it looks like the pitch convention is different between VTOL and forward flight modes. I remember now that Tridge made a point of this at his unconference talk. Itā€™s required to keep the copter loops (Leonard) happy.

1 Like

Iā€™ve made a start here that changes the axis reference to rotor instead of body frame

https://github.com/priseborough/ardupilot/tree/tvbs-wip

This has some theoretical advantages in decoupling rotor tilt and body motion, but there may be some problems in practice that make it not such a good idea. I still need to add some angular accel and rate limiting to nav_pitch_cd.

2 Likes