Jump to content

Parallax

Members
  • Posts

    237
  • Joined

  • Last visited

Posts posted by Parallax

  1. KlutzyCandidAlaskanmalamute.gif

    http://www.gfycat.com/KlutzyCandidAlaskanmalamute#

    Infernal robotics, tweak scale and mech jeb were used....

    same thing as a helicopter, except theres only giant blade, and tip jets on the other side to push it. a servo controls the angle of attack on the blade allowing for precise altitude control.

    moving forward and turning is achieved using reaction wheels to tip the craft in the needed direction.

    in its current state it flies pretty well, but i need to learn to fly it - if i push it too hard the whole flies apart under the stress.

  2. Here is the code im running:

    DECLARE RANGE1.

    DECLARE RANGE2.
    DECLARE DELAY1.
    DECLARE DELAY2.

    SET LEFT1 TO SHIP:PARTSTAGGED("LEFT1")[0].
    SET LEFT2 TO SHIP:PARTSTAGGED("LEFT2")[0].
    SET LEFT3 TO SHIP:PARTSTAGGED("LEFT3")[0].
    SET LEFTSTR1 TO SHIP:PARTSTAGGED("LEFTSTR1")[0].
    SET LEFTSTR2 TO SHIP:PARTSTAGGED("LEFTSTR2")[0].

    SET RIGHT1 TO SHIP:PARTSTAGGED("RIGHT1")[0].
    SET RIGHT2 TO SHIP:PARTSTAGGED("RIGHT2")[0].
    SET RIGHT3 TO SHIP:PARTSTAGGED("RIGHT3")[0].
    SET RIGHTSTR1 TO SHIP:PARTSTAGGED("RIGHTSTR1")[0].
    SET RIGHTSTR2 TO SHIP:PARTSTAGGED("RIGHTSTR2")[0].

    UNTIL SHIP:ALTITUDE > 20000

    {

    IF GEAR = 1
    UNTIL GEAR = 0

    {

    SET RANGE1 TO 20*SHIP:CONTROL:PILOTMAINTHROTTLE.
    SET RANGE2 TO -20*SHIP:CONTROL:PILOTMAINTHROTTLE.
    SET DELAY1 TO .35 - 0.045*SHIP:CONTROL:PILOTMAINTHROTTLE.
    SET DELAY2 TO .15 - 0.125*SHIP:CONTROL:PILOTMAINTHROTTLE.


    LEFTSTR1:GETMODULE("MUMECHTOGGLE"):SETFIELD("MIN ROTATE", RANGE2).
    LEFTSTR1:GETMODULE("MUMECHTOGGLE"):SETFIELD("MAX ROTATE", RANGE1).

    LEFTSTR2:GETMODULE("MUMECHTOGGLE"):SETFIELD("MIN ROTATE", RANGE2).
    LEFTSTR2:GETMODULE("MUMECHTOGGLE"):SETFIELD("MAX ROTATE", RANGE1).

    RIGHTSTR1:GETMODULE("MUMECHTOGGLE"):SETFIELD("MIN ROTATE", RANGE2).
    RIGHTSTR1:GETMODULE("MUMECHTOGGLE"):SETFIELD("MAX ROTATE", RANGE1).

    RIGHTSTR2:GETMODULE("MUMECHTOGGLE"):SETFIELD("MIN ROTATE", RANGE2).
    RIGHTSTR2:GETMODULE("MUMECHTOGGLE"):SETFIELD("MAX ROTATE", RANGE1).

    ///////////////////////////////////////

    LEFT1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).
    LEFT2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).
    LEFT3:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).

    RIGHTSTR1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE +", 1).
    RIGHTSTR2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE +", 1).
    LEFTSTR1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).
    LEFTSTR2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).

    WAIT DELAY1.

    LEFT1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).
    LEFT2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).
    LEFT3:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).

    WAIT DELAY2.

    RIGHTSTR1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE +", 0).
    RIGHTSTR2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE +", 0).
    LEFTSTR1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).
    LEFTSTR2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).

    RIGHT1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).
    RIGHT2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).
    RIGHT3:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).

    LEFTSTR1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE +", 1).
    LEFTSTR2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE +", 1).
    RIGHTSTR1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).
    RIGHTSTR2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 1).

    WAIT DELAY1.

    RIGHT1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).
    RIGHT2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).
    RIGHT3:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).

    WAIT DELAY2.

    LEFTSTR1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE +", 0).
    LEFTSTR2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE +", 0).
    RIGHTSTR1:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).
    RIGHTSTR2:GETMODULE("MUMECHTOGGLE"):DOACTION("MOVE -", 0).

    }.
    }.

    craft file. you will need infernal robotics, tweakscale, kOS and mechjeb.

    https://www.dropbox.com/s/31n4keupexdr22p/WALKER-1.craft?dl=0

    jLj244b.png

    -set up the servo speeds as shown

    -activate smart a.s.s. to lock craft direction UP

    -set attitude adjustment to "use stock sas"

    -select "control from here" on the probe core as shown

    -make sure gear is deactivated before running the script (look for the indicator top center of screen, it should not be highlighted)

    -set throttle to 0

    -activate action group 0. this will recenter the leg servos. the craft will not work without this activated. deactivate to allow craft to crouch down for pilot to enter and exit the craft.

    -run script

    -"g" toggles leg pumping

    -throttle controls speed, at 0 the craft walks in place , 1 should be top speed (although in practice this isnt the case as i have yet to tweak the timing properly)

    -"j" and "l" are for turning (adjust speed of the "COURSE" group to change turning speed)

    -"i" and "k" are for pointing the toes up or down. this is for going up or down hill, as well as fine tuning speed.

    -":" and " ' " will shift the weight of the craft backwards and forwards. im not sure why i put this in, but it helps a little to fine tune the balance

    -"h" and "n" rotate the turret

    here's another little program that i made while putting this together, this gives you some useful info for doing stuff:

    SET partslist to ship:PARTSTAGGED("left1").
    /// tag the part you want to test, replace "left1" with the tag.

    for x in partsList {
    print x:GETMODULE("mumechtoggle"):allevents.
    print x:GETMODULE("mumechtoggle"):allactions.
    print x:GETMODULE("mumechtoggle"):allfields.
    }.

×
×
  • Create New...