Tiltrotor support for plane

thanks for the photos! I understand the layout much better now.
The only remaining question on the setup is how it hovers. From the picture it looks like it hovers with the wing level, but I suspect it would hover better with the nose up and the elevons straight down, with the motors rotated. That would give airflow over the elevons and would thus give you pitch and yaw control.
If it tries to hover with the wing flat then I can’t see how it would get all the axes of control it needs. For example, if it tried to control roll with differential thrust then that would cause yaw, and there isn’t any control surface to counteract that.
Are you planning to make it fly nose-up in hover? Then the only tricky part would be landing, as the propellers would hit the ground. Maybe it would work to rotate the props flat with the wing just before landing?

@ Tridge Once we declared Q_FRAME_CLASS =7 What are the servo channels to 3 motors and tail servo ?

In 3.8.0 Beta2 code it has declared 5,6,8 and 11
case AP_Motors::MOTOR_FRAME_TRI:
SRV_Channels::set_default_function(CH_5, SRV_Channel::k_motor1);
SRV_Channels::set_default_function(CH_6, SRV_Channel::k_motor2);
SRV_Channels::set_default_function(CH_8, SRV_Channel::k_motor4);
SRV_Channels::set_default_function(CH_11, SRV_Channel::k_motor7);

Best regards
Chamika

It hovers with wing level. When nose goes up, elevons and moment around axis along wing puts it back. Roll is controlled by differential force from rotors, and yaw is controlled by differential angle of rotors. Roll and yaw are controlled well. Pitch is the only one that causes a drift, but it’s still stable enough. For forward flight, I wanted to rotate the rotors forward and fly it like a flying wing.

Should be pins 1,2,4, and 7 in Main Out in Pixhawk.

Thanks for the reply . I checked with servo 7 it is 35 ( motor 3) . Did not responding to yaw . But then I replace it with Beta 3 code Quadplane.cpp . it has done some changes compare to beta 2
case AP_Motors::MOTOR_FRAME_TRI:
SRV_Channels::set_default_function(CH_5, SRV_Channel::k_motor1);
SRV_Channels::set_default_function(CH_6, SRV_Channel::k_motor2);
SRV_Channels::set_default_function(CH_8, SRV_Channel::k_motor4);
SRV_Channels::set_default_function(CH_11, SRV_Channel::k_motor7);
AP_Param::set_frame_type_flags(AP_PARAM_FRAME_TRICOPTER);

now it is working well .

@ayertay, ok, makes sense, sorry for being slow in understanding!
I see you’ve already started a discussion with Leonard on this:
http://discuss.ardupilot.org/t/new-bicopter-airframe/13347/4
I think the next steps are:
(1) add a bicopter to the built-in SITL support (in libraries/SITL). It would be very similar to this one:
https://github.com/ArduPilot/ardupilot/blob/master/libraries/SITL/SIM_SingleCopter.cpp
but would take advantage of the support for tilting rotors. See the example of the tilt-tricopter frame here:
https://github.com/ArduPilot/ardupilot/blob/master/libraries/SITL/SIM_Frame.cpp#L95

(2) add a AP_Motors_Bicopter motors backend. As Leonard suggests, starting with the existing AP_MotorsSingle.cpp and creating a AP_MotorsBicopter.cpp would be the way to go.

Then get it flying with ArduCopter in SITL. Once that works, then get it flying with ArduCopter in your real airframe. Only after that would you then add support for that airframe type in the quadplane code so you can transition.

I hope this helps!

great! Any flight videos to share?

Thanks to the generosity of Andy Trench I should be getting a FireFly6 soon, I’m really looking forward to trying it out with the latest master code

1 Like

Did you just change quadplane.cpp, and compile? Then changed to Q_ENABLE, and QSTABILIZE? How did u check if it worked?

Thank you very much for your help!
Could I ask, what does last 7 numbers mean in:
Motor(AP_MOTORS_MOT_1, 60, AP_MOTORS_MATRIX_YAW_FACTOR_CCW, 1, -1, 0, 0, AP_MOTORS_MOT_8, 0, -90)? (these: -1, 0, 0, AP_MOTORS_MOT_8, 0, -90).

Also, I tried to use SITL. I’m using Coax frame. In parameters list, it says that COAX is 9. I have loaded copter-coax.parm. FRAME_CLASS changed to 9, but I get an error saying: “ARM: PreArm: check firmware or FRAME_CLASS”. It shows that FRAME = Unknown. If I just keep standard params, it goes with QUAD.

Hi the vtoll of my friend Paolo take the form.
Some help now for the parameters are necessary because we have some experience in copter but not in the plane/vtoll

The the right motor is CW, the left and rear are CCW.

1 Like

Hi , @ayertay Yes Friend I add Quadplane.cpp and Quadplane.h to arduplane folder ( Beta2) and uploaded . Now I can control yaw with SERVO11 (AUX3) . In Beta 2 even we changed Frame class to 7 none of SERVO become tail servo (39- Tricopter tail servo) . Still testing ground level with responses, Every thing okay , Will upload a flight video soon :slight_smile:
Thanks for the support

@Agridroni It has Tricopter configuration . So You have to use arduplane 3.8.0 Beta 3 code . According to @Tridge Beta3 is just mastered .

1 Like

Tridge,

That’s great news on the FireFLY6 acquisition. It’s unfortunate that BirdsEyeView has gone away from the R/C DIY market but I understand their attraction to commercial markets. My hope is that we can use this APM firmware on a new inexpensive VTOL design, that is large enough to carry a 3lb payload, from a hobby company.

I am still in a holding pattern waiting for spring to arrive but my initial flight with my second FF6 was very successful. We had an amazing warmup for February in NY last week so I got a chance to maiden my FireFLY6 DIY15 with the BirdsEyeView v1.2 firmware and Sport key. I got this FF6 used (and abused) so I fixed it up (which I enjoy) using the stock 3s power system called a DIY15. This is the model that I would like to use to test the APM tiltrotor firmware on.

I had gotten used to the autonomous flights last fall and forgot it was the pilot’s responsibility to actuate the retracts when flying manually so they were transitioned a little late. :slight_smile:

P.S. Did you ever determine if your CL-84 was repairable?

@tridge , Is there update about 3.8.0 stable version release ? :slight_smile:

I have set Q_FRAME_CLASS:7 but which Q_FRAME_TYPE please?

Frame type is doesn’t matter if it is Tricopter with Q_FRAME_CLASS:7,
I’m using Q_FRAME_CLASS=7 and Frame type 1 , (I has been set from previous test with X copter)

@Chamika Thanks, Yes all work fine!

After the repair of our VTOL, we finally had good weather today and tried the first complete flight:
Back and forward transition worked perfectly. Thanks to Tridge and the other developers for this real masterpiece of aviation software.

https://vimeo.com/207823370

We need to improve the PIDs for yaw at hoovering. With everything else we are fully satisfied

https://vimeo.com/207850525

In the next few weeks we want to provide better films with corrected settings of the yaw-parameters.

Rolf

2 Likes

fantastic, I’m absolutely delighted!
I’d love to see the dataflash log if it is available. For the yaw issue, while it may be yaw tuning, it could also be a compass issue. The logs should tell us.
Yipee!