-
Notifications
You must be signed in to change notification settings - Fork 38
Kick Engine
The kick engine we developed allows the robots to perform a "walking kick" (kicking the ball without stopping first to do so). This will require the robot to adapt its kick based on the ball position.
We define our kicks through a gyro-stabilized kick engine. All of these files are accessible in the main Config File and allow convenient parameter tweaking. New kicks can be defined with just a few lines of code. Kicks may be tested with the test_kick.lua script. (See bottom of page for details)
At the bottom the main Config file underneath the "Kick Parameters" comment, make an array of positions in the main kick array:
Parameters: {type, duration, {body position (y,x,z)}, {foot pos (y, x, z)}, foot height, foot angle}
Types:
-
Body
-
Left foot movement
-
Right foot movement
-
Left foot kick
-
Right foot kick
Notes:
-
Foot positions are summative; if the first command gives a foot position of {4, 2, -5}, a second command of {-4,-2,5} will bring the foot back to its original position.
-
Body positions are not summative; if the first command gives a body position of {0, 0, .3}, a second command of {0, 0, -.4} will move the body all the way to {0, 0, -.4}.
-
You must define the type, duration, and body position for each command, though foot position, height, and angle may be left out if they are not required.
kick.kickLeft={
{1, .6, {0,0,0} }, --Stabilize
{1, 0.6, {0,-0.06,0} }, --COM slide
{2, 0.3, {0,-0.06,0} , {-0.07,-0.03,0}, 0.07 , 20*math.pi/180},--Lifting
{4, 0.3, {0,-0.06,0} , {0.20,0,0}, 0.04 , -10*math.pi/180},--Kicking
{2, 0.6, {0,-0.06,0} , {-0.13,0.03,0}, 0, 0 }, --Landing
{1, 0.6, {0.00,-0.0, 0}},--COM slide
{1, 0.6, {0.00,-0.0, 0}},--Stabilize
}
Running test_kick.lua boots the robot into an interactive, key-command driven state.
- 7:sit down 8:stand up 9:walk
- i/j/l/,/h/; : control walk velocity
- k : walk in place
- [, ', / : Reverse x, y, rotational directions
- 1/2/3/4 : kick
- w/a/s/d/x : control head
- r : alter walk speed
- f/g : alter step phase
- y/u : alter step height
- c/v : alter supportX
- b/n : alter supportY