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:

Views: 16755

Comment by Quadzimodo on November 22, 2013 at 8:55pm
Very nice. Can we see a flight video?
Comment by Kapinjal Vaidya on November 22, 2013 at 9:34pm

Brilliant example of a classic product design...Cheers..Waiting fot the video 7 the tune up values..Cheers....

Comment by Ilya R. on November 22, 2013 at 10:14pm

It hasn't flown yet. I need to modify the arducopter fw first. I'll post video as soon as I have it.

Comment by Andrew Pan on November 22, 2013 at 10:58pm

Cool design, will it work with auto-mode?

Comment by shanthosh ravikumar on November 23, 2013 at 12:58am

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

Comment by Rob_Lefebvre on November 23, 2013 at 6:04am

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. 

Comment by leonardthall on November 23, 2013 at 6:38am

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!!!

Comment by Ilya R. on November 23, 2013 at 7:10am

@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.

Comment by Ilya R. on November 23, 2013 at 7:20am

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.

Comment by Rob_Lefebvre on November 23, 2013 at 7:28am

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.


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service