Register

If this is your first visit, please click the Sign Up now button to begin the process of creating your account so you can begin posting on our forums! The Sign Up process will only take up about a minute of two of your time.

Results 1 to 4 of 4

  1. #1

    Join Date
    Dec 2007
    Location
    , HI
    Posts
    2
    Gallery
    My Gallery
    Models
    My Models
    Ratings
    My Feedback

    quadrotor from scratch ?s

    I have the gizmo basically built - 4 rotors, carbon fiber and aluminum frame.
    Electronics consist of 3 single axis gyros and 1 triple axis accelerometer hooked up to an atmega168 controller. I've written my kalman filter code so that from the gyro and accel I can get a roll and pitch estimate. For the yaw estimate, I basically integrate the angle seen over time.

    I've read a lot of interesting papers from all over the world that discuss the flight control of the quadrotor. I will try to summarize what I want to do below.

    If the motor is configured like so:

    leftfront rightfront

    leftback rightback


    leftfront and rightback share rotational direction, and leftback and rightfront share the opposite direction.

    I can see how to easily use the kalman estimates to send offsets to the pair of motors to balance them out. But, I have yet to wrap my head around how to balance each motor individually within its pair set. For example, if leftfront is slightly stronger than rightback, there will be some rotation if they continue to receive the same offset. Is there an algorithm to programmatically calculate their strength difference while in flight?

    My next algorithm I need verification on is the following. If I am controlling the device, I will be able to send it the following factors: thrust, yaw, roll, and pitch (from a radio or through a script). I would be sending the following to the motors:

    leftfront = thrust + pitch - yaw
    rightfront = thrust - roll + yaw
    leftback = thrust + roll + yaw
    rightback = thrust - pitch - yaw

    Now, I would like to integrate my kalman estimates. I can't seem to wrap my head around this. Should I be applying my kalman estimates while the motors are being actuated by the radio/script? Or should I wait to apply my offsets after the actuation is complete? For example, if the motors are to be actuated for 30deg of roll, it takes X amount of time to complete that motion to get to 30deg. In that amount of time and after completing the motion to get to 30deg, my controller is calculation kalman estimates at 60Hz. At any calculated moment, I have an offset of DESIREDANGLE - KALMANESTIMATE. At these moments, I can send an additional offset to the motors to get it their quicker.

    One last question (for now). How do I scale my angles to actual motor timing? I can do it programmatically with the use of my sensors, and continue to increase actuation values until achieving my angles. But is there a way to know/calculate some sort of constant so that if I wanted to move 10deg roll, it would be equal to X amount of servo timing?

    Comments? Suggestions? Corrections?

    thanks



    ps - the device lifts, hovers, however jittery it may be. I am now working for jitter removal and overall control with radio and scripting.



    pps - also posted on rcg

  2. #2

    Join Date
    Dec 2007
    Location
    , HI
    Posts
    2
    Gallery
    My Gallery
    Models
    My Models
    Ratings
    My Feedback

    RE: quadrotor from scratch ?s

    some pics
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	Zx71718.jpg 
Views:	7 
Size:	102.9 KB 
ID:	824918   Click image for larger version. 

Name:	Qm36019.jpg 
Views:	9 
Size:	79.4 KB 
ID:	824919   Click image for larger version. 

Name:	Ty65092.jpg 
Views:	9 
Size:	109.5 KB 
ID:	824920  

  3. #3
    ADI's Avatar
    Join Date
    Mar 2004
    Location
    Christchurch, NEW ZEALAND
    Posts
    820
    Gallery
    My Gallery
    Models
    My Models
    Ratings
    My Feedback

    RE: quadrotor from scratch ?s

    Hi haobuhao ,

    A lot of the info you're after can be found here:
    http://www.rcuniverse.com/forum/m_14..._1/key_/tm.htm

    To point you in the right direction ...... PID control is where you need to direct your attention.
    If you've mastered Kalman filter, then PID will be a breeze.

    Rather than picturing your quadrotor like an "X" you need to picture it like a "+" so you have front and rear motor pair CW rotation and left and right motor pair CCW rotation.

    Cheers ADI
    http://homepages.paradise.net.nz/jameskea/
    \"I\'d rather fail at something difficult, than succeed at something easy\"
    Jesse James - Monster Garage

  4. #4
    Yub, yub, cmdr!'s Avatar
    Join Date
    Aug 2003
    Location
    Worcester, MA
    Posts
    2,592
    Gallery
    My Gallery
    Models
    My Models
    Ratings
    My Feedback

    RE: quadrotor from scratch ?s

    Hey Haobuhao, can you help me with the kalman filter? I've been having problems with that in a ground based environment. Could you show me that part of your code? I have yet to find an introduction to the filter that doesn't necessitate an existing knowledge of the mathematics behind Bayesian networks.
    David \"chmod\"


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
All times are GMT -6. The time now is 05:20 AM.

SEO by vBSEO 3.6.1 ©2011, Crawlability, Inc.