Thread: Quadrocopter project

  1. #31
    Registered User kryptkat's Avatar
    Join Date
    Dec 2002
    Posts
    638
    if you were sitting in the quadhellicopter for example engine one would be on the left side. engine two would be infront. engine three would be on your right side. engine four would be in back. engine one rotates clockwise while engine three rotates counterclockwise. if you increase the rpms in engine one you get more torque therefore you get yaw. if you increase the rpms in engine one you get more thrust therefore you get more lift therefore you get roll. by increasing the rpms in engine one you get both torque and thrust therefore you get both yaw and roll. independent control may mean you get only one axis but i do not see it happening here meow as explained above. if engine three decreases in rpms the offset only becomes more sensitive and happens faster.

    Nope. INDEPENDENT control means you can change any one without affecting others.

    get it flying yet ?

  2. #32
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    for example engine one would be on the left side. engine two would be infront. engine three would be on your right side. engine four would be in back. engine one rotates clockwise while engine three rotates counterclockwise
    No, see the diagram for rotation direction.
    Quadrotor - Wikipedia, the free encyclopedia

    If you increase front engine and decrease back engine by the same amount, you get pitch and nothing else.

    If you increase left engine and decrease right engine by the same amount, you get roll and nothing else.

    If you increase both front and back and decrease left and right all by the same amount, you get yaw and nothing else.

    If you increase all engine by the same amount you get lift and nothing else.

  3. #33
    Registered User kryptkat's Avatar
    Join Date
    Dec 2002
    Posts
    638
    took a closer look at the engines configuration on wiki page. so it is like kirkoff where everything has to equal 0. that is what was missing one increases in rpm while other decreases by the exact same amount with that config.

    you need alt so you do not hit ceilings or go real high and run out of battery and come crashing down. bar would work. so you also know where gnd is. set 0 before lift off. landing pads needed ?

  4. #34
    Registered User kryptkat's Avatar
    Join Date
    Dec 2002
    Posts
    638
    there is one other thing that you may want to consider adding to your quadhelicopter robot. that is a dmu <distance measuring unit>. why ? if you set the alt to 0 and it take off one foot up then goes over a cliff you alt will read 1 while there may be hundreds of feet below or no close ground below or near. totally optional. most mobile robots have some type of switch sensor at the bottom so they do not go over stairs. like a cut off switch so when it hits or releases it flips the switch depending on how it is set up. for something flying a dmu would be better. there are several types. ultrasonic is the most common. meow. used mostly for landing.

  5. #35
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Thanks for pointing out the Gumstix modules, cyberfish. I'm enthralled by the Overo Fire and I'm particularly interested in the package including the Chestnut 43. It looks like you could almost build your own touch screen mobile phone with that kit, except of course it doesn't include a GSM radio.

    I'm an ARM junkie, and I'm excited there are things like this out there.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  6. #36
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    there is one other thing that you may want to consider adding to your quadhelicopter robot. that is a dmu <distance measuring unit>. why ? if you set the alt to 0 and it take off one foot up then goes over a cliff you alt will read 1 while there may be hundreds of feet below or no close ground below or near. totally optional. most mobile robots have some type of switch sensor at the bottom so they do not go over stairs. like a cut off switch so when it hits or releases it flips the switch depending on how it is set up. for something flying a dmu would be better. there are several types. ultrasonic is the most common. meow. used mostly for landing.
    Yeap, thought about it. There are pros and cons between infrared and ultrasonic, but I'm pretty sure either will work. I'm not planning to do automatic landing at this stage, though, so that can wait.

    Thanks for pointing out the Gumstix modules, cyberfish. I'm enthralled by the Overo Fire and I'm particularly interested in the package including the Chestnut 43. It looks like you could almost build your own touch screen mobile phone with that kit, except of course it doesn't include a GSM radio.

    I'm an ARM junkie, and I'm excited there are things like this out there.
    That would be really cool.

    GSM modules are available, too (SparkFun Electronics - Cellular) if you don't mind some soldering. But I don't think any of the ones available to hobbyists support 3G, yet. You'll probably also need to write a driver for it, though I think some GSM chips/modules have very simple interface that just takes simple messages (the module does a lot of things for you).

  7. #37

    Join Date
    May 2005
    Posts
    1,042
    You can use a magnetometer for orientation. My employer was using one in conjunction with an accelerometer to avoid having to use a gyroscope in order to decrease power consumption for a different, non-helicopter project (communication was with zigbee).

    I've got a main/tail rotor helicopter that also uses a brushless motor as the prime mover for the main rotor. I'm always adjusting to the gain on the gyroscope and/or fiddling with the trim for yaw on the radio control. The gyro is sensitive to temperature and humidity, but I'm not sure how sensitive a typical magnetometer is to temp. and humidity.
    Last edited by BobMcGee123; 09-14-2010 at 04:48 PM.
    I'm not immature, I'm refined in the opposite direction.

  8. #38
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    Theoretically, with magnetometer (which gives you yaw), and accelerometers (which give you roll and pitch), you can determine your orientation.

    The problem is, and it's specific to choppers, there is a lot of vibration, and that introduces a lot of noise in accelerometers.

    That's why we integrate (mathematically) gyroscopes to get accurate orientation, and accelerometers to correct the drift (inherent in integrations) over time.

  9. #39
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    I've been watching this for a while now.

    I have to say, I'm so very jealous. ;_;

    Soma

  10. #40

    Join Date
    May 2005
    Posts
    1,042
    Theoretically, with magnetometer (which gives you yaw), and accelerometers (which give you roll and pitch), you can determine your orientation.
    What do you mean by "accelerometers give you roll and pitch."

    As I understand, the magnetometer will give you an orientation directly (yaw), it's just less accurate than using a gyroscope (but uses less energy!)

    The problem is, and it's specific to choppers, there is a lot of vibration, and that introduces a lot of noise in accelerometers.
    True. I suppose if you've got the onboard computing power, you can filter out the noise inherent from the helicopter propulsion system. I suppose one may accomplish this by recording the signal produced by running the chopper tethered in some appropriate fashion, recording the signal (from the accelerometers) and then while in flight pay less importance to those frequencies of vibration when analysing the signal from the accelerometer.

    Another approch is to use two differently sized accelerometers (as each would theoretically have a different resonating frequency).

    [quote
    That's why we integrate (mathematically) gyroscopes to get accurate orientation, and accelerometers to correct the drift (inherent in integrations) over time.
    [/quote]

    Yeah.
    I'm not immature, I'm refined in the opposite direction.

  11. #41
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    Ah, by orientation I mean yaw, pitch, and roll. I need all 3 axises of rotation because the computer needs to stablize the chopper. Pitch and roll are actually more important than yaw for me.

    For yaw I am using GPS, but many people use magnetometer.

    For pitch and roll, accelerometer with low pass filter may have too high latency. For stable flight, the computer needs accurate orientation (in 3D) data about 10 times a second.

    Gyroscopes give very good short term accuracy.

  12. #42

    Join Date
    May 2005
    Posts
    1,042
    I guess I still don't know how you intend to (directly) use the accelerometers to give orientation as accelerometers measure linear accelerations, although placing them at a known position relative to your craft's center of gravity may be an interesting approach.

    In general, it seems like you're describing this type of device, an IMU (Inertial Measurement Unit), where this one has a vector accelerometer and a dual axis gyroscope (but, doesn't give yaw, as you mentioned):

    SparkFun Electronics - IMU 5 Degrees of Freedom IDG500/ADXL335


    Gyroscopes don't just give short-term accurate results. You are right, there's error inherent because the only way the gyroscope could perfectly keep its orientation is if it had infinite angular momentum (accuracy is proportional to power consumption). But, the error can be taken into account, and will be described in the data sheets.

    I'm not sure about the low pass filter causing too high of a latency, and I believe the gyroscopes will have some sort of low pass filter built in, whether you like it or not (see the schematic on this data sheet):

    http://www.sparkfun.com/datasheets/C..._Datasheet.pdf

    I would also be very careful about assuming that you need to have a hundred readings a second from the gyroscope. For one, the propulsion system won't respond that fast anyway, and two, it becomes difficult to write an adequate control system, especially for a helicopter.

    I know a bit about control systems for maritime applications. The oil rig that blew up in the Gulf of Mexico, the Deepwater Horizon, was what's called a DP MODU (Dynamic Positioning MObile Drilling Unit). The smaller vessels that bring supplies to such rigs also have a DP system, such that it can remain along side the large rig while transferring cargo.

    If you hadn't heard of it already, the response amplitude operator and its associated links may be helpful for the control system part:

    Response amplitude operator - Wikipedia, the free encyclopedia

    I guess I still don't know how you intend to (directly) use the accelerometers to give orientation as accelerometers measure linear accelerations, although placing them at a known position relative to your craft's center of gravity may be an interesting approach.

    In general, it seems like you're describing this type of device, an IMU (Inertial Measurement Unit), where this one has a vector accelerometer and a dual axis gyroscope (but, doesn't give yaw, as you mentioned):

    SparkFun Electronics - IMU 5 Degrees of Freedom IDG500/ADXL335


    Gyroscopes don't just give short-term accurate results. You are right, there's error inherent because the only way the gyroscope could perfectly keep its orientation is if it had infinite angular momentum (accuracy is proportional to power consumption). But, the error can be taken into account, and will be described in the data sheets.

    I'm not sure about the low pass filter causing too high of a latency, and I believe the gyroscopes will have some sort of low pass filter built in, whether you like it or not (see the schematic on this data sheet):

    http://www.sparkfun.com/datasheets/C..._Datasheet.pdf

    I would also be very careful about assuming that you need to have a hundred readings a second from the gyroscope. For one, the propulsion system won't respond that fast anyway, and two, it becomes difficult to write an adequate control system, especially for a helicopter.

    I know a bit about control systems for maritime applications. The oil rig that blew up in the Gulf of Mexico, the Deepwater Horizon, was what's called a DP MODU (Dynamic Positioning MObile Drilling Unit). The smaller vessels that bring supplies to such rigs also have a DP system, such that it can remain along side the large rig while transferring cargo.

    If you hadn't heard of it already, the response amplitude operator and its associated links may be helpful for the control system part:

    Response amplitude operator - Wikipedia, the free encyclopedia

    EDIT:

    The math looks a little bit intimidating, but, if you've taken a course in differential equations, the RAO theory assumes that everything in motion can be described by a second order system. The RAO basically tells you how the vessel is going to respond to a given driving function (in the case of your quadrocopter, the driving function will be, say, the forcing from wind currents). Note that the forces are described in the frequency, not time, domain (waves!)
    Last edited by BobMcGee123; 09-16-2010 at 12:34 PM.
    I'm not immature, I'm refined in the opposite direction.

  13. #43
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    Accelerometers can measure both dynamic acceleration and static acceleration (due to gravity). That's a very common approach.

    I am using a 6 DOF IMU.
    SparkFun Electronics - ArduIMU+ V2 (Flat)

    Gyroscopes don't just give short-term accurate results. You are right, there's error inherent because the only way the gyroscope could perfectly keep its orientation is if it had infinite angular momentum (accuracy is proportional to power consumption). But, the error can be taken into account, and will be described in the data sheets.
    Hmm. Gyroscopes output a voltage proportional to angular velocity (how fast it's spinning). They are available with different resolutions. If we integrate that, we have orientation (pitch and roll).

    The error comes from integration. Since we don't have infinite sampling rate, the integration will drift over time. That's why we use accelerometers to correct it. In theory, they produce redundant data. In reality, one is good for short term accuracy, and one for long term accuracy. We combine the 2 inputs with something like a Kalman filter.

    The control loop will most likely run at 10Hz, and I'm pretty sure it's not possible to design a filter (digital or electrical) that will get rid of the noise, and still have good enough response time. On the other hand, gyroscopes have almost no short term noise, as they are not affected by vibration. So no filtering is needed on the gyroscopes. They may include one to filter out things higher than the Nyquist frequency, but the bandwidth of that would be much higher. According to the datasheet of the one I'm using, it's 140Hz.

    My brushless motor controllers can change speed every 20ms (50Hz), but going that high would be overkill.

  14. #44

    Join Date
    May 2005
    Posts
    1,042
    I guess I thought you were talking about using accelerometers for orientation, but it's moot.

    Do you have the rest of the equipment already purchased? As much fun as I'm having crashing my traditional tail rotor copter into my shins* I'd much rather build a quadrocopter.

    I saw on TV a homemade helicopter with each 'pod' of the 'quadrocopter' having an upper and lower propeller, the purpose being that they could change the orientation by increasing/decreasing speed but without compromising lift. It seemed like a hack job to me, but when they actually flew it, well I've never seen such a light heli so stable.

    *I'm not actually having fun crashing it into my shins.
    I'm not immature, I'm refined in the opposite direction.

  15. #45
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    I AM talking about using accelerometers for orientation. But we have different definition of orientation (I think). By orientation I mean 3D orientation (pitch, roll, yaw), and I'm guessing you mean 1D orientation (yaw).

    I've bought most of the parts. Keeping a detailed log on my site, too.
    http://cyberfish.wecheer.com/quadrocopter

    I'm done the mechanical design. Working on the circuitry now.

    The upper and lower propeller design is good for stability, but EXTREMELY power inefficient (due to one propeller blowing into another), and will run your battery dry very quickly.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Problem Displaying a Struct
    By rockstarpirate in forum C++ Programming
    Replies: 16
    Last Post: 05-05-2008, 09:05 AM
  2. added start menu crashes game
    By avgprogamerjoe in forum Game Programming
    Replies: 6
    Last Post: 08-29-2007, 01:30 PM
  3. Dynamic Binding
    By gpr1me in forum C++ Programming
    Replies: 1
    Last Post: 03-24-2006, 09:01 AM
  4. Game Independent Anti-cheat Project Needs Programmers
    By GIA Project Lea in forum Projects and Job Recruitment
    Replies: 3
    Last Post: 09-15-2005, 07:41 PM