Autogyro

View previous topic View next topic Go down

Autogyro

Post by bwansy on Sun Sep 19, 2010 3:00 am

Just to show some of my failed experiments.

[S/X] Throttle
[W] Toggle mouse control
Mouse cursor for pitch/yaw



Code:
// [RCD]
Val
{
   AILEL(default=0, min=-400, max=400, disp=0)
   AILER(default=0, min=-400, max=400, disp=0)
   BA(default=10, min=-400, max=400, disp=0)
   BA2(default=50, min=-400, max=400, disp=0)
   ELEVL(default=0, min=-400, max=400, disp=0)
   ELEVR(default=0, min=-400, max=400, disp=0)
   RTILT(default=3, min=-400, max=400, disp=0)
   WP(default=0, min=-999999999, max=999999999, disp=0)
}
Key
{
}
Body
{
   Core() {
      S:Frame(angle=120) {
         S:Weight(angle=-120) {
            N:Weight() {
               N:Frame(angle=-90, option=1) {
                  S:TrimF(angle=90, option=1, spring=0.1, damper=0.5) {
                     E:RudderF(angle=-90, option=1) {
                        W:Wheel() { }
                     }
                  }
               }
            }
            S:Weight() {
               W:Frame(angle=-80) {
                  W:RudderF(angle=-RTILT) {
                     W:Wheel(angle=90) {
                        N:Trim(angle=-BA) {
                           N:Chip() {
                              N:Chip() {
                                 N:Chip() { }
                              }
                           }
                        }
                        E:Trim(angle=-BA) {
                           E:Chip() {
                              E:Chip() {
                                 E:Chip() { }
                              }
                           }
                        }
                        W:Trim(angle=-BA) {
                           W:Chip() {
                              W:Chip() {
                                 W:Chip() { }
                              }
                           }
                        }
                        S:Trim(angle=-BA) {
                           S:Chip() {
                              S:Chip() {
                                 S:Chip() { }
                              }
                           }
                        }
                     }
                  }
                  S:RLW(angle=90, power=WP) {
                     S:Trim(angle=BA2) { }
                     W:Trim(angle=BA2) { }
                     N:Trim(angle=BA2) { }
                     E:Trim(angle=BA2) { }
                  }
               }
               E:Frame(angle=-80) {
                  E:RudderF(angle=RTILT) {
                     E:Wheel(angle=90) {
                        S:Trim(angle=BA) {
                           S:Chip() {
                              S:Chip() {
                                 S:Chip() { }
                              }
                           }
                        }
                        W:Trim(angle=BA) {
                           W:Chip() {
                              W:Chip() {
                                 W:Chip() { }
                              }
                           }
                        }
                        E:Trim(angle=BA) {
                           E:Chip() {
                              E:Chip() {
                                 E:Chip() { }
                              }
                           }
                        }
                        N:Trim(angle=BA) {
                           N:Chip() {
                              N:Chip() {
                                 N:Chip() { }
                              }
                           }
                        }
                     }
                  }
                  S:RLW(angle=90, power=-WP) {
                     S:Trim(angle=-BA2) { }
                     W:Trim(angle=-BA2) { }
                     N:Trim(angle=-BA2) { }
                     E:Trim(angle=-BA2) { }
                  }
               }
               S:Frame(angle=-10) {
                  S:Frame(angle=-10) {
                     S:Frame() {
                        S:Frame() {
                           S:Chip(angle=25) {
                              W:Frame(angle=-140, option=1) {
                                 E:Trim(angle=-ELEVL) {
                                    E:Chip() { }
                                    S:Chip() { }
                                 }
                              }
                              E:Frame(angle=-140, option=1) {
                                 W:Trim(angle=ELEVR) {
                                    W:Chip() { }
                                    S:Chip() { }
                                 }
                              }
                              W:Chip(angle=-90) {
                                 S:Chip() { }
                              }
                              E:Chip(angle=-90) {
                                 S:Chip() { }
                              }
                              S:Chip() { }
                           }
                        }
                     }
                  }
                  E:Frame(angle=30) {
                     E:Wheel(angle=40) { }
                  }
                  W:Frame(angle=30) {
                     W:Wheel(angle=40) { }
                  }
               }
            }
            E:Frame(angle=170, option=1) {
               W:Chip() {
                  N:Rudder(angle=-110) {
                     N:Trim(angle=AILER) {
                        N:Chip() { }
                        W:Chip() { }
                     }
                  }
               }
            }
            W:Frame(angle=170, option=1) {
               E:Chip() {
                  N:Rudder(angle=110) {
                     N:Trim(angle=-AILEL) {
                        N:Chip() { }
                        E:Chip() { }
                     }
                  }
               }
            }
         }
      }
   }
}
Lua
{require("Bernard/Basic.lua")


function init()



end
function OnInit()
   init()
end
function OnReset()
   init()
end

function inputctrl()
   mouseflag = switch(mouseflag or 1,15)
   if mouseflag > 0 then
      mx,my = inputmouse(0)
   else
      mx,my = 0,0
   end
   inpeng = limit((inpeng or 0)+(_KEY(8)-_KEY(5))*0.05,0,1)
end

function actuate()
   WP = inpeng*150000
   pcorr = vcorr(_VZ(),0.1,0.3)
   ELEVL = limit(my*60*pcorr,-30,30)
   ELEVR = limit(my*60*pcorr,-30,30)

   rcorr = vcorr(_VZ(),0.1,0.2)
   AILEL = -mx*50*rcorr
   AILER = mx*50*rcorr

   BA2 = 75-30*pcorr
end

function OnFrame()
   inputctrl()
   actuate()
end}


_________________
A.K.A. Bernard

bwansy
Admin

Posts : 170
Join date : 2010-07-15

View user profile http://rigidchips.forum-motion.com

Back to top Go down

Re: Autogyro

Post by T-Bouw on Sun Sep 19, 2010 12:43 pm

Hi bwansy.
I took your model for a spin. Though it flies horrible for how you intended it, it flies pretty good inverted! Haha! Laughing (it just needs a "Y"-boost to get into the air)
Maybe it's not so failed as you thought...
avatar
T-Bouw
Car
Car

Posts : 22
Join date : 2010-07-22
Age : 34
Location : The Netherlands

View user profile

Back to top Go down

Re: Autogyro

Post by bwansy on Mon Sep 20, 2010 2:19 am

T-Bouw wrote:it flies pretty good inverted!
Haha, I didn't know that.
As for take-off, it only needs a long runway, which is completely opposite of real-life autogyros (they should be STOL vehicles! Laughing )

_________________
A.K.A. Bernard

bwansy
Admin

Posts : 170
Join date : 2010-07-15

View user profile http://rigidchips.forum-motion.com

Back to top Go down

Re: Autogyro

Post by T-Bouw on Mon Sep 20, 2010 8:42 am

Well, there were some autogyros which pre-spin the blades and could almost lift of verticaly!
I read up on the subject because I tried to make one as well a few months back. Didn't work either. It was just a helicopter-plane hybrid. Not a true autogyro.
avatar
T-Bouw
Car
Car

Posts : 22
Join date : 2010-07-22
Age : 34
Location : The Netherlands

View user profile

Back to top Go down

Re: Autogyro

Post by JHaskly on Fri Sep 24, 2010 2:51 am

It's an experiment. It's supposed to fail! Razz

I quite like it though Very Happy But no apparent yaw Sad

_________________
Previously (and currently) known as Juz.

Please do not write "LUA", beause it's "Lua". It's Moon in Portuguese, not a Limited User Account, Last Universal Ancestor, or the Lukla Airport in Nepal.

JHaskly
Admin

Posts : 235
Join date : 2010-07-16
Age : 21
Location : Brisbane

View user profile

Back to top Go down

Re: Autogyro

Post by Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum