Jump to content

BIPEDAL WALKING CONSTRUCTION ROBOT - now available for download


Parallax

Recommended Posts



Craft can be downloaded here:

1) https://www.dropbox.com/s/xypkfeihygscquv/WALKER%20MK11-A.craft?dl=0

REQUIRED MODS:

Infernal Robotics + TweakScale
Mechjeb
B9

ALSO REQUIRED:

2) AutoHotkey http://www.autohotkey.com/

3) Script https://www.dropbox.com/s/yd9hpnr92q5r5of/%21WALKER%20-%20MK11.AHK?dl=0



For this thing to work you will need to install the required mods: Infernal Robotics, B9, TweakScale and MechJeb. You will also need to install the autohotkey utility (linked above) and also download the script (linked above) and place it in a convenient location. The autohotkey script is used to automate the leg movements for walking. Finally, you need to download the craft file itself, also linked above, and place it in your SPH folder.

E5Nk768.png

Operating procedure:

1) start ksp, alt-tab out and activate script by right clicking and selecting "open with > autohotkey".

2) locate probe core mounted between vehicle's legs (refer to screenshot above). right click and select "control from here"

3) open SMART A.S.S. control panel and input values shown (refer to screenshot above). Select "execute" to activate SMART A.S.S. system. make sure to select "use stock SAS" in MechJeb's attitude control panel.

4) Activate servo control window, input values shown (refer to screenshot above)

5) Activate action group "0" to autocenter the legs

6) "1" and "2" raise and lower the left leg. "3" and "4" raise and lower the right leg. " ' " and " ; " employs SAS torque to shift balance forwards and backwards. "i" and "k" tilts ankle servos forwards and backwards to regulate speed. " / " will activate the script to move legs automatically for walking.

7) turning is achived by pressing "j" and "l"

8) the ankle servos help regulate speed and are also responsible for climbing up hills. to center the ankles activate action group "8". to center the balance offset press "9". pressing " i " will raise the front toes and encourage a forward lean. pressing " k " will lower the front toes and encourage a backward lean.

9) on flat ground lean forward a small amount to increase speed; lean backward to decrease speed. lean forward when climbing uphill; lean backward when descending. use the ankle servos to help manage speed, especially when going down hill to prevent falls. shift balance using " ' " and " ; " for additional fine-tuning

10) "h" and "n" to rotate turret

11) "o" and "p" raise and lower arms

12) "y" and "u" extend and retract arms

13) "backspace" arms claws

14) "g" and "b" release left and right claws, respectively

15) "5" and "6" toggle locking left and right arm, respectively. this allows for independent operation of the arms

16) "7" centers all servos on both robotic arms

It may be necessary to reduce servo speeds on the arms to eliminate unwanted wobbling. I haven't tried this with the updated Infernal Robotics mod yet, hopefully it still works...

:cool: Edited by Parallax
Link to comment
Share on other sites

  • 5 months later...
could you make a version without B9?

load this program into kOS:

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.
}.

Edited by Parallax
Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...