This document covers the process of working out x-y positions for feet. it is intended that the y profile of the legs lift phase is a sinusoidal curve with arbitrarily determined height. The alorythm shall be applicable for all straight, rotary, and straved motion. It shall further be assumed that the bodies yaw pitch and roll match the plane being traveled (the ground). The goal of the algorthm is to create foot positions for an input stream of positional data. This approach allows for continious motion. The idea here is to use one of about three methods to generate a walking sequence for robots with leg counts greater than 4 (no suspension state). The three methods can be broken down into two sets: Rotary update Legs are updated in a rotary sequence clockwise around the robot. Wave update Legs are updated in waves along the robot. Where applicable, the phase between sides should be out by 180 degrees. This takes two forms: Single updates In this method, only one leg is updates on the robot at a time. Multiple updates In this method, multiple legs are updates along the robot simotaniously. This works better as the leg count of the robot goes up. The process of updating a leg consists of moving it to a new position composed of the 'comfort' position of the leg mixed with a component of its velocity and acceleration. The input data for the motion comes in the form of the following variables: position x, y yaw i Where X and Y are in meters, and I is in degrees. The maximum amount a leg can be changed is a function of the update speed, and the stroke the legs are capable of. ---------------- we need a variable that states what the ultimate state of the leg movements is at, from this it is determined what leg(s) are flying. things to be worked out: - what the step-state is - what legs are flying - what the destination of a leg is - how far flying legs are to their destination fly tables derived from http://www.oricomtech.com/projects/leg-time.htm 4 legs: 4 time: State Flying 1 L1 2 R2 3 R1 4 L2 rotary: State Flying 1 R1 2 L1 3 R2 4 L2 diagonal: State Flying 6 legs: L1 R1 L2 R2 L3 R3 TriPod: State Flying 1 R2, L1, L3 2 R1, R3, L2 Single Wave: State Flying 1 L3 2 L2 3 L1 4 R3 5 R2 6 R1 Double Wave: State Flying 1 L3, R1 2 R1, L2 3 L2, R3 4 R3, L1 5 L1, R2 6 R2, L3 Tripple Wave: State Flying 1 L3, L2, R1 2 L2, L1, R3 3 L1, R3, R2 4 L3, R2, R1 8 Legs: 'scorpion' State Flying 1 L4, R3, L2, R1 2 R3, L2, R1, R4 3 L2, R1, R4, L3 4 R1, R4, L3, R2 5 R4, L3, R2, L1 6 L3, R2, L1, L4 7 R2, L1, L4, R3 8 L1, L4, R3, L2 beat: number of feet down at once gait-style: lateral or rotary leg state: swing or stance The timing of the legs has to be based on the amount of travel to maintian a continious stride. Within any given distance to travel, a miniumum number of beats must occur.