flying device (i call it a proto-flyer)

wayneh

Joined Sep 9, 2010
17,498
Yeah, I suggested that in #17. What's a reasonable range (in this case, altitude) for ultrasound? The OP would need to consider what happens when that altitude is exceeded.
 

MaxHeadRoom

Joined Jul 18, 2013
28,686
It looks like the popular AR2 drone uses a couple of ultrasonic sensors for height, the maximum setting is 100m.
If you reach this it stops at 100m.
Max.
 

MaxHeadRoom

Joined Jul 18, 2013
28,686
Looks like I was quoting the early version!

"The significant upgrades are all interior. A new pressure sensor replaces the ultrasonic sensors and helps keep the AR.Drone v2.0 vertically stable at altitudes as high as 164 feet"
Max.
 
Thanks for the link to the motors, they might be handy for something else I have in mind :D, as for accelerometers they are useful in a quad copter or flying device, however there is a better way to sense if your level..
http://www.analog.com/en/mems-sensors/mems-accelerometers/adis16210/products/product.html

Take a look at Inclinometer , the one I have linked too also has a accelerometer built in, I would use a ultrasonic sensor like for car parking for height upto 60', if you intend to go higher then look at altimeters as well.
I am not feeling great today so cant type much, I am waiting to have my operation but I am too ill for surgery at the moment.
Soon as I can I will post details from all the research ive done, there should be plenty to help you there. I also have a useful contact or two when it comes to microcontrollers, do you have any experiance with micro's? You will need to delve into the world of micro's for this project. There will be great temptation and many calls to go the Auduino route, please try and avoid this :D, there are much better micro's out there that are cheaper and can do more, they do require effort to learn but the payback is worth it. To me the the plug a arduino in route takes the fun away, you might as well just go out and buy a kit. With the type of project your doing you could in theory build one with no knowledge at all, all the modules and code are out there, add to that the 1,000,000's of tutorials and you you dont need to learn anything.
Its a waste! Do it from scratch and try to be different, I am no expert, I am just a kid, but I have done a huge amount of reading up. The best thing to do is post question's here on things you dont understand, but be prepared to do some legwork, I have alot of info on flight control system's as and when you need it.
Start basic, that means look into PID control for motors and PWM, start finding out about that kind of stuff. I will post more when I can

LG

 

Brownout

Joined Jan 10, 2012
2,390
You take the Gyro, which is accurate for only short periods of time, and combine it with the Accelerometer, which is accurate over a long period of time, and you have yourself a complete system....
NOTE: I'm not an expert at navigation systems.


However, I agree with the above statement, but for a different reason that was stated. The Gyro will indicate angular acceleration, and the accelerometer will indicate displacement acceleration. Using prober vector integrals, you should be able to construct the complete picture. and BTW, all of these functions are integrated in a single package, called an "Inertial Management Unit"
 
Ok I am up for a little bit so will post some more. The motors you posted wont lift your quad copter, be prepared to be told that, everybody uses brushless motors that are expensive............... Except in the beginning people used motors from whatever they got there hands on, gradually over time as they looked for more and more power and faster speed, they settled on the motors used now.
So the upshot is, most now use expensive brushless motors at the moment, they are powerful and last longer than brushed. This against all the advice your going to get, means yes you can use other motor's, but be prepared for the following, try and keep your motors matched, this makes it easier for control, be prepared to have to try out alot of motors.
It is well worth and actually I would say essential that you build a test rig, something that will hold your flyer safely while to test and try things, if you try and do the testing etc on the ground, you WILL be breaking stuff constantly.
I noticed you said car sender/receiver? Is this from say car alarm or door control? If so forget it, the range is awful, there are other CHEAP options about. The comment about the potentiometer was based on a radio signal sending the position information, I failed to pick up the car connection sorry, it can still be done though.
Whatever happens you need to get into micro's, what you could do is connect say the RS232(serial data) port from a micro, straight to your radio device, then at the other end you connect another micro to the receiver side, it's full of problems but it could be done.

What you cant do

Invent something without having to learn some concept's.


The only way to do this without a little pain and learning is to buy a kit, you could then modify this as you learn thing's, or stick with your current plan, in that case we plough on :D

Couple of pointers

Do Not give the person (including yourself) flying the craft access to 100% power!
The reason is you want a little power in reserve, the control system may need to adjust one the motors upwards (power wise) a little, so if your flying flat out then the control system only has the option to decrease power on some motors. I am going to have 20% in reserve, but my craft is different, I would say you could go upto 90-95% for user control and leave the other 5-10% under micro control.
 

Austin Clark

Joined Dec 28, 2011
412
Do Not give the person (including yourself) flying the craft access to 100% power!
The reason is you want a little power in reserve, the control system may need to adjust one the motors upwards (power wise) a little, so if your flying flat out then the control system only has the option to decrease power on some motors. I am going to have 20% in reserve, but my craft is different, I would say you could go upto 90-95% for user control and leave the other 5-10% under micro control.
Actually, the microcontroller controls 100%, doing whatever it can to satisfy the operators commands. When you push the stick forward, the micro acknowledges this and does what it must to set the angle of the craft forward as well as maintain altitude. You never directly control the motors. It's not like it takes the input from the operator, the input from the micro, and "merges" or "adds" them. The micro takes into consideration the operator input, and it alone is used to control the motors.
 

Austin Clark

Joined Dec 28, 2011
412
There will be great temptation and many calls to go the Auduino route, please try and avoid this :D, there are much better micro's out there that are cheaper and can do more, they do require effort to learn but the payback is worth it. To me the the plug a arduino in route takes the fun away, you might as well just go out and buy a kit. With the type of project your doing you could in theory build one with no knowledge at all, all the modules and code are out there, add to that the 1,000,000's of tutorials and you you dont need to learn anything.
Its a waste! Do it from scratch and try to be different, I am no expert, I am just a kid, but I have done a huge amount of reading up. The best thing to do is post question's here on things you dont understand, but be prepared to do some legwork, I have alot of info on flight control system's as and when you need it.
Start basic, that means look into PID control for motors and PWM, start finding out about that kind of stuff. I will post more when I can
I would use a microcontroller that is compatible with the Arduino IDE, and program it without the Arduino bootloader using an ICSP programmer. At that point it's literally just a cheap ordinary microcontroller, yet it's still much easier to program, and has many libraries to use or learn from.
 
I would use a microcontroller that is compatible with the Arduino IDE, and program it without the Arduino bootloader using an ICSP programmer. At that point it's literally just a cheap ordinary microcontroller, yet it's still much easier to program, and has many libraries to use or learn from.

Yeah no need to learn or do anything different then! Loads of arduino copters out there, just build a clone.
Eventually one day we will only have arduino's and beagle boards, a few people will supply everyone with all the stuff we will ever need.
Personally I hate them.

I didnt put what I meant about power very well, yes the micro controls all power, but what I was trying to say was, if you push the stick all the way forward, this should tell the micro to put everything at say 90% power, this gives it room to add some if say wind becomes a factor.
BTW I have been playing with matlab, there is a app that connects a smart phone senors to it and it graphs the data, when you use the phone accelerometer, what you see even with the phone flat and not being held, is the numbers constantly changing a little, so a accelerometer will alter its reading when moved even a tiny bit.
I didnt know that until I tried last night :D. But I am still going the inclnometer route as well, TI has a pdf on 9dof sensors and directional cosine matrix, well worth reading.
I hope he decides against the Arduino route, and hopefully uses something he has built and designed, I really hate these plug it in and be done boards! Takes all the fun out of building and troubleshooting, for me there is no feeling of achievement with them.
Range finding etc I would use both, the altimeter is good over about 50' (roughly) but with a added sonic sensors you can then map the ground contours, stick it on a servo (I am in mine), and you can detect obstacles like trees at low altitude.

ALL THE ABOVE IS ONLY MY OPINION
Feel free to totally disregard it, it may differ from your's.
 

Austin Clark

Joined Dec 28, 2011
412
Yeah no need to learn or do anything different then! Loads of arduino copters out there, just build a clone.
Eventually one day we will only have arduino's and beagle boards, a few people will supply everyone with all the stuff we will ever need.
Personally I hate them.

I didnt put what I meant about power very well, yes the micro controls all power, but what I was trying to say was, if you push the stick all the way forward, this should tell the micro to put everything at say 90% power, this gives it room to add some if say wind becomes a factor.
BTW I have been playing with matlab, there is a app that connects a smart phone senors to it and it graphs the data, when you use the phone accelerometer, what you see even with the phone flat and not being held, is the numbers constantly changing a little, so a accelerometer will alter its reading when moved even a tiny bit.
I didnt know that until I tried last night :D. But I am still going the inclnometer route as well, TI has a pdf on 9dof sensors and directional cosine matrix, well worth reading.
I hope he decides against the Arduino route, and hopefully uses something he has built and designed, I really hate these plug it in and be done boards! Takes all the fun out of building and troubleshooting, for me there is no feeling of achievement with them.
Range finding etc I would use both, the altimeter is good over about 50' (roughly) but with a added sonic sensors you can then map the ground contours, stick it on a servo (I am in mine), and you can detect obstacles like trees at low altitude.

ALL THE ABOVE IS ONLY MY OPINION
Feel free to totally disregard it, it may differ from your's.
I know what you mean by limiting power now.
I'm used to designing hovercrafts that use separate thrusters for controlling angle and controlling altitude. In this case, they're serving both purposes. If you were to climb as fast as possible (at 100% power), and the craft tilted to it's side, you wouldn't have any lee-way to apply thrust differential to correct it. However, I'm sure that a properly designed control system wouldn't need to do this. Instead of increasing thrust on the side that's lower, you could decrease thrust on the side that's higher. A simple conditional could accomplish this.

I just had a random thought for a project that could really kick ass.
A craft that can hover in any orientation. Unlike a quadcopter where Pitch and Roll force the craft Forwards/Backwards and Left/Right. I wonder what the best configuration to do this would be.

I also randomly thought about how sluggish response could affect the control system, beings that the props don't immediately respond to a change in their input due to their inertia.

Looks like things can get really complicated really fast...
 
I know what you mean by limiting power now.
I'm used to designing hovercrafts that use separate thrusters for controlling angle and controlling altitude. In this case, they're serving both purposes. If you were to climb as fast as possible (at 100% power), and the craft tilted to it's side, you wouldn't have any lee-way to apply thrust differential to correct it. However, I'm sure that a properly designed control system wouldn't need to do this. Instead of increasing thrust on the side that's lower, you could decrease thrust on the side that's higher. A simple conditional could accomplish this.

I just had a random thought for a project that could really kick ass.
A craft that can hover in any orientation. Unlike a quadcopter where Pitch and Roll force the craft Forwards/Backwards and Left/Right. I wonder what the best configuration to do this would be.

I also randomly thought about how sluggish response could affect the control system, beings that the props don't immediately respond to a change in their input due to their inertia.

Looks like things can get really complicated really fast...

I first modeled the scenario you said where the motor on the high side reduced power instead of increasing the other, it dosnt seem to work well, in reality what happens is a little of both, I found what sometimes happened when one side was reduced because the other was at full power, then the model would turn and be out of balance, in the end I decided to go with almost full power but like you I left some head room, for whatever reason it gave the best result. BUT please note I am really new at matlab and control systems!! So it could well be that I dont have it exactly right yet, but whatever the reason for now I have to go with what works best for me and my situation/skill level
 
The sluggish response thing is really interesting, I got matlab to auto tune a PID controller, it came up with very long numbers and got much closer to the curve than I did, but there was still a little overshoot :D.

Watching alot of video's on them lately, and the ones that suddenly oscillate out of control I am betting are updating too fast, you read the comments and people seem to think they need faster response, but looking at some vids I think they need slower response, there is no time given to let things settle a little, funny as anything to watch them go! they start really slow to oscillate, almost barely visible, then BANG all of a sudden they start going mad!
Very interesting watching some of the system control video's, I have been learning alot, there is a proff at one uni who has great video's, he uses hydraulic systems to demonstrate, you get to see it better because everything is slightly slower.
Very fascinating to watch how a system is developed and modeled.
 

Austin Clark

Joined Dec 28, 2011
412
I first modeled the scenario you said where the motor on the high side reduced power instead of increasing the other, it dosnt seem to work well, in reality what happens is a little of both, I found what sometimes happened when one side was reduced because the other was at full power, then the model would turn and be out of balance, in the end I decided to go with almost full power but like you I left some head room, for whatever reason it gave the best result. BUT please note I am really new at matlab and control systems!! So it could well be that I dont have it exactly right yet, but whatever the reason for now I have to go with what works best for me and my situation/skill level
That's odd, it shouldn't have mattered any. Perhaps there's some sort of bug in your code? Are you using PID? If you're trying to climb as fast as possible, two of the four motors should be driven at full power at all times. Assuming you're using a + configuration.
May I/we see your code? Are you simulating or actually flying a quadcopter?
 

Austin Clark

Joined Dec 28, 2011
412
Also, I should mention, I'm not an expert by any means either :)
I've made many hovercrafts in G-Mod, however, and feel like I have a pretty good grasp on their control systems.
 
I think the problem comes when you try and include wind into it, if two motors are full on then they can only be slowed, if wind comes into play and pushes the high side down or the low side up, then the pid reduces power, but if its a brief gust it oscillated. So yes the code could be wrong both on the sim and the controller, I am making a helicopter, but I have played with quad sim's.
Everything I read suggested to give a small % head room, I guess a hovercraft isnt going to as affected by wind, also there response is slower????
I would love to build a small hover craft (model).
 

Austin Clark

Joined Dec 28, 2011
412
Perhaps the motors can increase power more quickly than they can decrease it? I've built systems that implement my idea and they work fine, but in those systems I control thrust directly and instantly (Gmod). There are possibly quirks in real-life that need to be considered.
The same goes for the whole "adding headroom" thing.

Increasing your update rate is always a good thing, but changing the update rate will require you to re-tune your PID settings. It sounds like the problem you described is that they have their Product multiplier way too high and/or their Derivative multiplier way too low. Increasing your update rate shouldn't really affect the product multiplier (it's not time dependent), but your derivative multiplier will have to be increased by the same ratio as your update rate. For example, double the update rate will cut the change between samples (the derivative) in half , you must also double it to compensate.
This is assuming Error is the angle distance from 0.

ANOTHER random thought. Perhaps if you had extra processing power you could interpolate your PID outputs. That is, based on the current state and state of motion, you could estimate the state in-between samples, information in which you could use to update your output at a higher rate than your sensors update.

Hopefully everything I'm saying is making sense... :p

If you haven't seen this already, get ready to crap your pants:
https://www.youtube.com/watch?v=w2itwFJCgFQ
These guys also (they have more on their channel):
https://www.youtube.com/watch?v=MvRTALJp8DM

Let me know if/when you start your multi-rotor project!
 
Last edited:
The first vid is ok and kind of clever, but if you look on DIY drones there are quads that I would say were better, the main thing I didnt like with the first vid was the control system, two laptops an on board computer and camera's all over the place!
So take there system out side into the open and it just becomes another quad, take away the laptops and then what?
I was also surprised they needed two laptops and camera's, surely with say ARM CORTEX M3/M4 there is ample power to get the same kind of result, ok you cant balance a stick as you need to know the sticks position, but the glass trick could be done without all the external computing power.
For me life is much simpler anyway,mine is a copter, it has a stabilizing bar and much bigger blades, its alot more stable than a quad, it dosnt have the gymnastic ability, but as a learning platform it dosnt need it.
I want to do alot of the testing on the bench, and hooking it up to matlab helps to me learn that as well, also my maths isnt great so matlab takes some of the pain out of it. But once its flying I want most of thee control decision's done on board, the notebook ground station is mostly for logging information, once it autonomous the idea would be to upload the way points, then track vir google maps via the notebook.
Personally I dont fancy having little table tennis balls over my machine and having to place camera's all over the place!
Yes the maths behind what they did was clever, sticking all that maths inside a micro and doing it all without extra computing power would have impressed me:D.
Perhaps because I am approaching 14 I am becoming cynical LOL :p
Makes we wonder what its going to take to impress me at 15!!

ANYWAY to the OP

How are you getting on? have you tried any motors out yet? I did notice on the vid on they wernt using the super super expensive motors!
So I guess there is hope, also they seemed to get really good flying time, I couldn't really see much in the way of a power pack, but I would be really interested to know what motors and battery unit they used.
I might try and message them, see if they would mind saying what kind of motors they use.
 

Austin Clark

Joined Dec 28, 2011
412
There's no way to get a precise position many times per second without using the cameras and tracking. This is because you need a frame of reference, something to measure against. In this case, it's the cameras and the silver balls.
Also, I'm sure it's possible to do the processing on-board, but because they have several quads interacting at once, and because they're already using the laptop to process the camera data, it just makes sense to do everything at one location I guess.

I, for one, was totally impressed by their display. Blew my mind, actually. True it would be cooler if it was all self-contained, but still. Once you begin building your own, you'll realize how difficult what they achieved really is. Could you imagine what they could do with a multi-rotor specifically designed for it? Like this: https://www.youtube.com/watch?v=TnGhEInTXYc
Hell, imagine that with gimbals on each prop. The things you could do then...

So yeah, /end rant
 
Top