Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

rc helicopter control loop

Status
Not open for further replies.

tomas632

New Member
hi guys,

i currently have a project where i have been asked to take an off the shelf rc helicopter and re-program it to make it autonomous so that it takes off and flies a pre-designated path. I am extremely stuck on how to go about doing this from a control point of view and we have been given no assistance with this project.

I was thinking that I could model each of the motors and calculate a relationship between applied voltage and motor speed, but if each of the rotors are not identical they may not create the same lift as one another.

Another idea was to use accelerometers to measure the angle the heli was at and correct by slowing down/speeding up individual motors according to the direction of pitch. could anyone offer any suggestions?

Also in terms of the controller would a PID controller be suitable or would a different type be better? I'd really appreciate any help.
cheers

Tom
 
What you're planning on doing is extremely difficult. Accelerometers work but drift so can't be trusted for absolute position information, so you'd need to use GPS with accelerometers. A PID loop would be fine but you'd have to tune it.
 
drift over what? temperature? this is going to be staying in a pretty stable environment in terms of temperature or are there other factors that cause it to drift?
 
Yeah, being above absolute zero =) It's not thermal drift as in high/low temps. Thermal noise compounds over time to make your absolute position unknowable after a long enough time period. All accelerometer based location systems require some form of true dead reckoning to work. GPS doesn't update very fast so it's good for dead reckoning, and then you use the fast update rate of the accelerometers to measure gravity and hence tilt and small motions.
 
ok i think i misunderstood your answer, i thought that you meant the accelerometers would drift in terms of measuring gravity, but i understand your point now. i don't think we will need gps as we could probably program it to fly in each direction for a certain length of time and the experiment is likely to be indoors and therefore the gps could be a bit problematic.

in terms of the PID controller when you say "tune" it, do you mean in terms of the proportional value you choose so that you don't overshoot too much, but get a reasonable rise time to the set point?
 
Yes, that what I meant by tuning it, cause in the real world the mechanics are part of the control loop so you have to tweak it a bit to work with the control system, or you get things like over/under shooting and oscillation.
 
Of all the things I was researching for control projects for helicopters and planes, the hardest thing to do is to make it stay hover or a piece of ground (or fly a preset path over ground) because the aircraft moves relative to the air, not the ground below it. At worst, there will be wind, at best the helicopter will be blowing itself to the side due to it's tail rotor among other things. The helicopter has no way to keep track of the ground unless you use GPS. Two fancier and more self-contained alternatives are fusing gyros and accelerometers together with double integration and rotational coordinate math but this still suffers from drift and integration error even if you pour the dollars into it. And, of course, vision has it's own problems.

You're pretty much stuck with GPS.
 
Last edited:
Yes, factors typically present in a mechanical feedback loop are lag time, deadband, and hysteresis.
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top