Tiltrotor Quadcopter (v2)

3689560039?profile=original

A few months ago, I posted some video and pictures of a tilt-rotor quadcopter called iQuad. Since then, I've been working on building a new version of iQuad which is lighter, has a cleaner design, and adds FPV. The new iQuad weighs 1600 grams w/o batteries (down from 2260) thanks to a carbon fiber body and custom-built rotation mechanism and landing legs. My goal for this version is to achieve faster forward flight and eventually add 3D-printed wings to get airplane-like flight characteristics.

The previous iQuad used unmodified arducopter firmware, with the tilt servos being directly controlled by one of the channels on my radio, which limited the tilt angle at which the APM was still able to produce stable flight. For this version, I am going to control the tilt servos directly from the APM, for which I'll need to write some custom firmware. (any help would be appreciated as I am new to arducopter development)

Here are some more photos:

3689559944?profile=original

3689559977?profile=original

3689560153?profile=original

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • I'm not sure if that's the one, but I saw one VTOL airplane where they didn't really transition smoothly, but they sort of put the plane in a dive and then quickly flipped the motors into full forward position and started flying in airplane mode.  To transition back to hovering is easier, you just reduce your airspeed, flip the motors up, and let it glide to a stop while holding level.

  • How do these guys http://www.wingcopter.com/ control their design.  Says they are using APM 2.5??  

  • IMO, there's absolutely no question that you should use Arducopter 3.0 or later.

    I'm very interested in this project.  It's fascinating, and something very different. It's also going to be extremely beneficial if we get it working.  It's the foundation of a bi-wing VTOL airplane which would probably be extremely useful for UAV's.  I'm just not sure how much time I can put into it.  But I'll support you as much as I can.  If you're serious, it would probably be best to start a discussion on Drones Discuss.

  • Ilya, I was thinking/writing as you were posting...

    Yeah, this is actually a very complex system.  It will not fit neatly into the existing codebase as it is now, as you'll have to significantly re-jigger much of the stabilization code.  Honestly, I think it will be impossible to control this without 4 servos.  As you have it now, when the motors are tilted forward 45°, roll and yaw are highly intertwined, and I can't see how you can possibly resolve that problem.  Thinking further, if the motors are tilted 90°, the only roll control you will have is with motor torque, which won't have even remotely enough authority to stabilize the craft.

    The only way forward is... yeah, you're going to need a PX4, no question.  And I think it will absolutely require 4 servos.

    When the motors are straight up, you can control yaw with thrust vectoring.  When they are straight forward (I know you won't do this, but just for thought experiment) yaw control will be with differential motor power, left vs. right.  You won't use any classic quadcopter cross-axis torque control for yaw at all.  And then for intermediate tilt angles, you'll use some mix of these.

    For roll control, when motors are straight up, you'll use motor power as we do now. When the motors are pitched forward, you'll have to use differential motor tilt, not motor thrust.

    For pitch control, when motors are up, you'll use differential motor thrust.  When motors are pitch forward, differential motor tilt.

  • Hmmm... actually, the control algorithms become a bit of a mess actually when those motors are tilted!  Not nearly as simple as I thought.  This will require a completely different control strategy.

    Just for example, when the motors are tilted forward, what we normally use for roll output, would actually end up giving us yaw.  So we'd need to rotate the body-frame stabilizing inputs into the motor frame...

    Yow.  Even with 30° forward tilt, a roll input will give you a lot of yaw, which would be resisted only by the classic motor torque response.  But that will actually give a bit of rolling moment...

    I'm not sure this can actually be controlled properly unless you use 4 servos and independent thrust vectoring.

  • Also, to add to that, I don't know what version of the APM software to start with. I looked at the source of 2.8 (the version before all the gyro/accelerometer based stabilize modes were added), and it seemed straightforward for the most part. I also started playing with the latest version of APM software, but it seems to be significantly more feature packed and complex (I haven't even figured out how to get the darn thing to arm yet), so I'm a little hesitant to start developing from it, but I realize it's not ideal to develop from an old code base. The other thing I don't know is whether I should just hack the code in (which would make it difficult to contribute it back to the community) or figure out a way to add this as another type of airframe, which maybe some people would appreciate, but might annoy a lot more people who don't care about tiltrotors.

  • @R_Lefebvre, this is what I did in the first version of the iQuad -- I set my radio to transmit a neutral signal on the pitch channel, and set the pitch axis of my right stick to control channel 7, which went directly to the servos, bypassing the APM. As a result, the quadcopter was always automatically trying to stay level in pitch and I could control forward/backward speed with the right stick. This worked great for small pitches (also loiter and auto mode worked, but in those modes, the quad would pitch to fly forward instead of tilting the rotors) and the controls felt very natural. The problem with this is that as the rotors tilt forward, the control for roll and yaw start to swap, since the plane of the rotors is different, and pitch control gets reduced (as @leonardthall pointed out), since the torque in the pitch axis decreases. So, what I want to do in software is automatically mix roll and yaw signals (based on cos/sin of tilt angle) and also use differential control of the servos when the rotors tilt forward to control pitch. I also want to make it so auto modes use rotor pitch, rather than pitching the entire quad for forward flight. One of the things I am worried about is that my APM (v2.5) will not be able to handle all the trigonometry I will need to do in the control loop, in which case I will probably need to upgrade to the new PX4 based APM

    Another related thing I'm trying to figure out is what the control scheme should be. At low speeds, it is really nice to use yaw to control direction of travel, thrust to control altitude and rotor tilt to control speed. However, at high speeds, I don't think this mode of control will be effective. I will probably need to start banking to turn and using a combination of pitch and thrust to control altitude and speed (like an airplane). However, none of the analog controls besides the sticks on my radio are easy for me to get to in flight, so I am essentially trying to control five degrees of freedom with four. I still haven't though of a good way to add the rotor tilt control while still keeping pitch control. which I imagine will be necessary at high speed. The only thing I can think of for now is using a switch to go between these flight regimes, which is not really ideal.

  • Developer

    I think this is very cool!

    It is interesting that you start to lose control when you tilt the motors too far. This might be because the roll and pitch torques are reduced and this will effectively reduce the rate pid's. It may only require some gain scaling on the roll and pitch rate controllers to fix this problem.

    You may also start out using the Ch6 slider to control the servo's and use this value to calculate the required gain scaling.

    I wish I had more time to help!!!

  • Very Cool!

    If I could suggest a control strategy, I would make it so that the motor output always attempts to hold the body level with zero pitch, but fore/aft pitch commands tilt the motors forwards and backwards.  Should actually be fairly straight forward in Stabilize mode.  But for auto modes, I'm not sure about the big picture...  It might be easy to make it work.  But maybe not.  Leonard would probably know more.

    Alternatively, it might be interesting to make the system such that pitch angle is controlled so that the pitch always lines up with the direction of travel.  So if you're flying forward and climbing, it will pitch up just like an airplane.

    This is possibly the beginnings of a quad-rotor airplane hybrid which is a very interesting proposition. 

  • cool!!! waiting to see it fly!!!!

This reply was deleted.