instruentation

download instruentation

of 4

Transcript of instruentation

  • 8/10/2019 instruentation

    1/4

    IEEE TRANSACTIONS ON ROBOTICS A N D

    A U TO M A TI O N ,

    VOL.

    6 .

    NO. 5 . OCTOBER 1990

    597

    REFERENCES

    H. G. Barrow, J. M. Tenenbaum, R. C. Bolles, and H . C. Wolf,

    Parametric correspondence and chamfer matching: Two new tech-

    niques for image matching, In Proc. Fifth Int. Joint Conf. Artifi-

    cial Intell.

    (Cambridge, MA), 1977, pp. 659-663.

    G. Borgefors, Distance transforms in arbitrary dimensions, Com-

    p u t .

    Vision Graphics Image Processing, vol. 27, pp. 321-345,

    1984.

    G. Borgefors, Distance transforms in digital images, Comput .

    Vision Graphics Image Processing, vol. 34 , pp. 344-371, 1984;

    FOA Rep. C

    30401-EI.

    Nat. Def. Res. Ins. Linkoping, Sweden.

    T . E. Boult. On the complexity of constrained distance transforms

    and digital distance map updates in two dimensions, Tech. Rep.

    Dept. Comput. Sci., Columbia Univ., June 1989.

    P. E . Danielsson. Euclidean d istance mapping,

    Comput. Vision

    Graphics Image Processing, vol. 14, pp. 227-248, 1980.

    L.

    Dorst and P.

    W .

    Verbeek, The constrained distance transforma-

    tion: A pseudo-Euclidean, recursive implementation of the lee-al-

    gorithm, in I. T . Young et al. (eds.), Signal Processing

    III:

    Theories and Applications.

    S Kambhampati and L.

    S .

    Davis, M ulti-resolution path planning for

    mobile robots, Proc. DARPA Image Understanding Workshop

    (DARPA), Dec. 1985, pp. 421-432.

    C . Y. ee, An algorithm for path connections and its applications,

    IRE Trans. Electron. Comput. , pp. 346-365, Sept. 1961.

    U. Montanari, A method for obtaining skeletons using a quasi-

    Euclidean distance,

    J .

    A C M , vol. 15, pp. 600-624, 1968.

    A. Rosenfeld and J. Pfaltz, Sequential operations in digital picture

    processing,

    J .

    A C M , vol. 13, pp. 471-494, 1966.

    A. Rosenfeld and J. Pfaltz, Distance functions on digital pictures,

    P a t . R e c o g . ,

    vol.

    1,

    no.

    1.

    pp. 33-61, 1968.

    T. Soetadji, Cube based representation of free space for the naviga-

    tion of an autonomous mobile robot, in L.O. Hertzberger and

    F.C.A. Groen (Eds.), Proc. Int.

    Intell.

    Autonomous Syst. Conf.

    (Amsterdam, Netherlands), Dec. 1986, pp. 546-561.

    P. W. Verbeek, L. Dorst, B. J . H . Verwer, and

    F.

    C. A. Groen,

    Collision avoidance and path finding through constrained distance

    transformation in robot state space, in

    L . 0

    Hertzberger and F. C.

    A. Groen (Eds.), Proc. Int. Intell. Autonomous Syst. Conf.

    (Amsterdam, Netherlands), Dec. 1986, pp. 627-634.

    New York: Elsevier, 1986.

    A Free Gait

    for

    Generalized Motion

    P.

    K .

    PAL A N D K. JAYARAJAN

    Abstract-A

    method has been presented for the generation of a

    locally optimal free gait for 2-D generalized motion of a quadruped

    walking machine. It employs a heuristic graph search procedure based

    on the A * algorithm. The method essentially looks into the conse-

    quences o f a move to a certain depth before actually committing to it.

    Deadlocks an d inefficiencies are thus sensed well in advance and avoid ed.

    I. INTRODUCTION

    The control of a walking machine requires making decisions as to

    which leg to lift and when, and also when to place a leg and where,

    so

    that the machine may continue to move stably and efficiently

    along its prescribed route. The periodic solutions to the problem

    [1 ]- [3 ] for a straightline motion of the m achine prove ineffective for

    Manuscript received July 27, 1988 ; revised May 30, 1990 .

    P. K. Pal is with the Computer Division, Bhabha Atomic Research

    K. Jayarajan is with the Division of Remote Handling and Robotics,

    IEEE Log Number 9038855.

    Centre, Bombay, India.

    Bhabha Atomic Research Cent re, Bombay, India.

    YO

    Y

    U

    xo

    Fig. 1.

    Machine coordinate system X,,, ) t x ,

    y )

    and at an orientation

    0

    with respect to the ground coordinate system A,, o ) . F is the foot

    position.

    a generalized motion on a terrain with regions that are not stepwor-

    thy. The problem of generation of a terrain-adaptive aperiodic gait,

    which is commonly referred to as a free gait

    [ 5 ] ,

    was first formal-

    ized and solved by Kugushev and Jaroshevskij [4] and subsequently

    improved upon by M cGhee and Iswandhi [5 ] . Their algorithm tries

    to maintain stability and maximizes the minimum kinematic margin

    over all legs through the lifting and placing of legs. Though

    brilliantly conceived, the absence of any look-ahead feature in the

    method may result in inefficiency of the generated gait, or worse, in

    deadlocks. Hirose applied a similar method for the generation of a

    free gait for a quadruped machine, adding certain guiding rules for

    the selection of a foothold [6] that tends to generate efficient gait

    while avoiding deadlock. These guiding rules, which are specific to

    the quadruped machine, may not be easily extended to the case of

    other legged machines nor do they assure optimality of the gener-

    ated gait in all circumstances. In addition, Hiroses machine, while

    following the prescribed route, maintains a constant orientation and

    resorts to crab walking.

    Thus, the existing methods for the generation of free gait lack in

    two respects-they have

    not

    been applied to the case of a general-

    ized motion, and they do not employ a general set of principles or

    techniques for the generation of an optimal free gait. Even for a

    regular terrain, even though there has been an attempt to determine

    the foot motions required for a generalized motion through the

    introduction of a crab angle [7], the underlying gait is assumed to be

    one optimized for straight-line motion.

    In this paper, we present a method for the generation of a locally

    optimal free gait for a

    2-D

    generalized motion of a quadruped

    walking machine. It employs a heuristic graph search procedure

    based on the

    A*

    algorithm

    [8 ] .

    The method essentially

    look5

    into

    the consequences of a move to a certain depth before actually

    committing to it. Deadlocks and inefficiencies are thus sensed well

    in advance and avoided.

    11.

    FOOT

    MOTION

    OR

    A GENERALIZEDOTION F THE

    WALK ING ACHJNE

    Let X o ,Y o ) represent the ground coordinate system with its

    origin at 0 (Fig. l), and let ( X , , Y , ) represent the machine

    coordinate system with its origin at C, hich is the center of gravity

    1042-296X/90/1000-0597 01.CN3 990 IEEE

  • 8/10/2019 instruentation

    2/4

    5 9 8

    IEEE TRANSACTIONS ON ROBOTICS AN D AUTOMATION, VOL. 6. NO.

    5 ,

    OCTOBER

    199

    ( C G ) of the machine. F indicates a foot position. Then, at any

    instant, if the machine is at

    x ,

    y at an orientation 8 with respect

    to the ground coordinate system, the coordinates of the foot F in the

    two coordinate systems will be related as

    [ ;I [ sein 0 - s i n eos

    0

    y

    1[: l ]

    YI

    0 1

    which may be written as

    where , A 1 is the matrix that transforms position from the machine

    to the ground coordinate system, F, is the column matrix represent-

    ing the foot position in the ground coordinate system, and F , is that

    in the machine coordinate system.

    F, = , A * F , 1)

    Equation (1) may be rewritten as

    F , ,A * F,

    (2)

    where A o ( , A ) - .

    At a later instant, suppose the machine moves to a position

    x 6 x ,

    y 6y and that its orientation changes to

    0 +

    6 0 . Then,

    the foot coordinates in the displaced machine coordinate system may

    be written, following 2), as

    F2

    = 2 A o * F o

    3 )

    where 2Ao s obtained from

    , Ao

    by substituting 0

    +

    68 for 0 ,

    x 6 x

    for x , and y 6y for

    y

    Using

    l ) ,

    3)

    may be written as

    F2

    = 2 A o * , A * F , .

    The foot motion required for a differential motion of the machine

    is then

    6 F ,

    F2 F ,

    [ 2 A o * , A Z ] * F , .

    (4)

    Equation (4) gives the foot motion required in the machine

    coordinate system to achieve a generalized motion of the machine

    from x , y , 0) to x 6 x ,

    y

    + 6y ,0 +

    60)

    in the ground coordi-

    nate system. The equation holds irrespective of the number of legs

    or their arrangement in the machine.

    111. MODEL F THE MACHINE

    The walking machine has been modeled as shown in Fig. 2. The

    legs are numbered clockwise starting from the first quadrant of the

    machine coordinate system

    ( X I , , ) .

    C is the CG of the machine

    and the origin of the machine coordinate system. The small square

    around C is representative of the body of the machine. The reach-

    able areas of each of the legs are shown as dashed squares. All

    distances are measured in the un it of a side of these squares.

    IV. A MEASUREF

    GENERALIZED

    OTION

    We need to have a measure of motion that is uniformly sensitive

    to both translation and rotation of the machine. The sum of foot

    travels of all the legs is one such measure, but it depends on the

    positions of the feet. Thus,

    it

    would be appropriate to measure a

    motion in terms of the magnitude of the required foot motion (see

    4)) averaged over the entire reachable area of the machine. How-

    ever, to reduce computation, we determine the average of the

    magnitudes of foot motions that would be necessary had the foot

    been at the center of each of the reachable areas. We will refer to

    motion measured in this way as the travel of the machine. The

    generalized motion of the machine may now be seen as a linear

    motion in the travel space.

    V . STATESND

    TRANSITIONS

    The input to our gait generator program will be the desired

    positions and orientations of the machine at closely spaced time

    intervals. We will refer to the motions between successive positions

    Fig. 2.

    the

    and orientations of the machine as motion segm ents. Our treatment

    of the problem will be discrete in the sense that decisions regarding

    lifting or placing of legs will be taken only after completion of a

    motion segment and not during such a motion. Hence, we will be

    concerned about the possible states of the machine only at these

    points of motion.

    A leg state primarily describes whether the foot

    is

    on the ground

    or in the air. If it is on the ground, the description also includes the

    coordinates of the foot in its reachable area.

    A machine state is described in terms of its leg states, whereas a

    walking state includes a description of the machine state as well as

    the position and orientation of the machine in the ground coordinate

    system.

    For the machine at a certain walking state, let us consider the

    possible motions of a given leg. If it is touching the ground, then it

    must satisfy the foot motion implied in (4). It may as well be lifted,

    provided that does not make the machine unstable. On the other

    hand, if it is in the air, then it may continue as such or be placed on

    the ground at one

    of

    several points within its reachable area. These

    choices determine the leg states, to which, transition from the

    current leg state may be made. To limit the number of possible

    transitions (in order to reduce the number

    of

    nodes in the search

    tree), we introduce the following two rules governing the lifting and

    placing of legs:

    1) A leg in stance is not considered for lifting until the machine

    completes a prespecified length

    of

    travel during the stance. During

    this period, the foot has no choice other than to follow the motion

    prescribed by (4). After it becomes eligible for lifting, it has the

    choice of continuing to remain on the ground or to be lifted for a

    transfer. At this stage, if the leg is still on ground and moves out of

    its reachable area, then, of course, it has to be lifted.

    2) A leg in the air must continue as such until the machine

    completes a prespecified length of travel since the leg was lifted

    off

    the ground. After this, the leg has the choice of continuing in the air

    or making contact with the ground at one of the points decided by a

    foothold selection algorithm.

    A machine state will in general have a number of connecting

    states such that a transition to any of these states is stable and effects

    the next motion segment. A machine state transition is brought

    about by a compatible set of leg state transitions. Compatibility of

    the foot motions is ensured by the use of 4). Hence, the leg state

    transitions must be such that the machine remains stable during the

    transition.

    The support pattern for a machine state is the convex hull of the

    point set in a horizontal plane, which contains the vertical projec-

  • 8/10/2019 instruentation

    3/4

    IEEE TRANSACTIONS ON ROBOTICS AND AUTOM ATION, VOL. 6. NO. 5 . OCTOBER 1990

    599

    2

    .,s 4

    Fig. 3 .

    S, . S, arc the candidate footholds when the instantaneous

    direction of foot motion is SIP.

    tions of the feet

    of

    all supporting legs [ 5 ] . If the support pattern

    includes the vertical projection of the CG of the machine, then its

    absolute stability margin is the minimum distance between the

    vertical projection of the CG and the boundary of the support

    pattern. A machine state is statically stable only if the absolute

    stability margin of its support pattern exceeds a certain prespecified

    value.

    A transition from machine state

    n ,

    to

    n 2

    will be stable if

    n I

    and

    n 2

    are separately stable. Here the support pattern of n , is formed

    by excluding any leg that is in the air in

    n ,

    and the support pattern

    of n 2 is formed by excluding any leg that is in the air in n I .

    VI. SELECTIONF

    CANDIDATE

    OOTHOLDS

    The placement of a foot determines its kinematic margin, i.e. , the

    travel the machine can have along its prescribed route before the

    foot moves out of its reachable area. It also affects the stability of

    the machine in a way that is difficult to determine in adv ance.

    Hence, we allow a foot to be placed at one of four preselected points

    within the reachable area. These points are

    so

    chosen that among

    themselves, they try to satisfy varying stability requirements while

    assuring a reasonably high kinematic margin.

    Fig.

    3

    shows the candidate footholds. S , is the center of the

    reachable area and is one of the candidate footholds. The line

    segment S I P represents the direction of foot motion at the time of

    contact had the foot been placed at

    SI .

    S I P

    s extended backwards

    to meet the boundary of the reachable area at S , , which is another

    candidate foothold. The other two footholds are S , and S , , and they

    lie on the perpendicular bisector of the line segment S , S , at a

    distance

    of

    0.35 on either side. T he distance

    0.35

    (i.e.,

    /4)

    has

    been selected

    so

    that these points lie within the reachable area for

    any direction of foot motion. If the instantaneous center of rotation

    of the machine is close to the center of the reachable area, the

    footholds are selected on a circle around the center.

    If the terrain has regions that are not stepworthy, then the

    candidate footholds (SI

    .

    . .

    S,)

    have to be checked for suitability.

    If any of them is found to be unsuitable, a predefined array of points

    around it are checked for suitability, and the nearest suitable point,

    if any, is passed as the candidate foothold. If no substitute is found,

    that particular foothold is dropped from the set of candidate

    footholds.

    VII . THENOTIONOF PROGRESS

    In a graph search, it is necessary to measure the progress made

    by the machine towards its goal at any point in the course of its

    motion. The measure should be sensitive to both the travel and the

    state of the machine, thereby accounting for the motion that

    is

    realized as well as the potential for ocward motion.

    Walking involves two distinct processes-the support phase, dur-

    ing which a leg pushes the body forward, and the transfer phase,

    through which a leg restores its kinematic margin. These two

    processes must go hand in hand for the machine to advance. H ence,

    for a straightline motion of the machine, we define its progress as

    the mean of the distance covered by its CG and the average distance

    covered by its legs from the beginning of motion or any reference

    walking state. Following this definition, the progress from a starting

    state

    s

    to the current state

    n

    may be shown' to be c + K ,

    K , ) / 2 ,

    where is the distance covere d by the

    CG

    of the machine, and K ,

    and K , are the average kinematic margins of the legs in states n

    and s, espectively.

    In the case of a generalized motion, we carry forward the same

    expression for progress with a slight reinterpretation of the first

    term. c is now the travel of the machine, where K , and K , are

    now the actual kinematic margins.

    VIII . THEGRAPHSEARCH

    TRATEGY

    We have broken up the entire motion of the walking machine into

    small motion segments. After completion of every motion segm ent,

    the machine is given a choice of lifting or placing som e of its legs in

    the form

    of

    connecting states. However, there is

    no

    judicious way to

    choose from these states. What is required is a control structure that

    will allow

    us

    to probe deeply into the future before deciding

    on

    which of the connecting states should actually be taken up for a

    transition. A graph search

    [8]

    provides a method for doing this.

    A graph consists of a set of nodes connected to each other

    through a set of arcs. The nodes in this case will correspond to the

    walking states of the machine, and the arcs will represent transitions

    between such states. The g raph search procedure, which is based on

    the A* algorithm

    [8]

    for generating an optimal route to the goal,

    starts with the initial walking state as the sole node of the graph.

    This node is expanded to form its offspring nodes,

    which are

    essentially its connecting states. These are included in a list of open

    (i.e., unexplored) nodes. The open nodes are evaluated for their

    promise or worthiness to be included in the solution, and the most

    promising open node is removed from the open list and expanded.

    This process continues, and the graph grows until the goal node is

    reached.

    The evaluation of the promise of a node proceeds on a heuristic

    line. For example, in the gait generation problem, we try to

    minimize the number of transfers of the legs to reach the goal.

    Hence, a node

    looks

    most promising if the path passing through that

    node seems to require the least number of transfers. The estimated

    cost of reaching the goal through the node n may be given by

    f n )

    g n)

    h ( n ) , where g n ) is the number of transfers from

    the start node

    s

    to the node n and is directly available from the

    generated graph, whereas

    h n )

    is a heuristic estimate of the number

    of transfers necessary to reach the goal from node n. It is reason-

    able to assume that h n ) should be approximately proportional to

    the progress to be made to reach the goal from node n. The

    proportionality constant is chosen to correspond to the quadruped

    wave gait with zero stability margin. When h n ) is thus underesti-

    mated, optimality of the solution is assured

    [8].

    To reduce the search effort. we limit the search tree to a certain

    If

    k,,

    and

    k,,

    are the kinematic margins

    of

    the ith leg at the initial

    walking state

    s

    and current state

    n ,

    respectively, the distance covered by the

    this leg from states

    s

    to

    n

    will

    be

    c k n i

    k,, ,

    where c is the distance

    covered by the CG of the machine during this period. The average distance

    covered by a leg is then c ( K , K , ) , where K , I , k , , ) / 4 is the

    average kinem atic margin of the machine at state

    n

    and likewise for K , . The

    associated progress

    of

    the machine then evaluates

    to

    [ c

    + (c + K ,

    K , ) ] / 2 ,

    . e . ,

    c + ( K , K , ) / 2 .

  • 8/10/2019 instruentation

    4/4

    600

    9

    IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 6, NO.

    5

    OCTOBER 1990

    1

    11 12

    I

    I 1

    ~

    Fig.

    4.

    Successive frames of the machine as it moves straight, takes a

    sharp turn to its left, and then proceeds straight again. Only the states in

    which a leg has either been lifted or placed have been shown. A leg,

    which is not shown, is in the air.

    depth (in terms of progress) with respect to the root. W henever the

    graph tends to grow beyond this limit, the machine makes a

    transition from the root towards the deepest open node in the graph,

    its newly acquired state is redefined as the root, and the tree is

    accordingly pruned. Because the search is confined to a limited

    depth, the generated gait is only locally optimal.

    IX. THEGAIT

    GENERATIONLGORITHM

    The algorithm is summarized below.

    1

    A

    search graph consisting solely of the start node s (corre-

    sponding to the initial walking state) is created, and s s put on a list

    called

    OPEN.

    2)

    If OPEN is empty, the program exits with the message cannot

    advance. Otherwise, the first node from

    OPEN

    is removed. Let it be

    n .

    3) Expand n, generating offspring nodes corresponding to its

    connecting states (see Section V) allowed by the terrain and include

    them in OPEN. If no such state is found, loop back to step

    2).

    4 The progress to each of the nodes, which are generated in step

    3),

    are evaluated relative to the root. The node with the maximum

    progress ( m u x p r o g ) is labelled as m ux n. If m ux p ro g exceeds a

    prespecified value, or if the total number of nodes in the search tree

    exceeds a certain number, the machine makes a transition from the

    root towards m u x n . The node now occupied by the machine is

    redefined as the root. The branches of the previous root that were

    left out are removed from the tree, and their open nodes are

    removed from

    OPEN.

    5)

    Loop back to step

    2).

    The output of the program will be the sequence of walking states

    through which the machine actually makes transitions.

    The nodes in the OPEN list are maintained in the ascending order

    of the cost evaluation function f n ) , nd a node is removed for

    expansion only from the top. A new node is added at the appropriate

    place in the list to maintain order.

    X . COMPUTER

    I M ULATI ON

    The gait generation algorithm for generalized motion has been

    implemented on a Norsk Data Computer ND-570 in Pascal. In the

    test runs, the search tree was limited to a depth of unit progress and

    to a size of 2000 nodes. The commanded motion segments corre-

    sponded to a travel of about

    0.05,

    and the absolute stability margin

    demanded was 0.025, where all these were measured in the unit of a

    side of the reachable area of a leg. A leg was not allowed to be

    lifted until the machine completed a travel

    of

    0.5.

    Likewise, a leg in

    transfer was not allowed to be grounded until the machine made a

    travel of 0.1.

    Fig. 4 hows the walking machine as it moves straight, takes a

    sharp

    turn

    to its left around its

    CG,

    and proceeds straight again.

    Only the states in which the leg has just been lifted or placed have

    Fig.

    5.

    Successive frames of the walking machine as

    it

    takes a slow turn

    to

    its right along a circular arc on a terrain in which the marked regions are

    not stepworthy. Only the states in which a leg has just been placed have

    been shown.

    been shown in the figure. The element of anticipation, which com es

    through the graph search, is made obvious at frame 5 when leg is

    placed in preparation of the coming rotation, or say at frame 11,

    where, aga in, leg 1 has been placed keeping in mind the coming

    translation.

    Fig. 5shows the machine as it takes a slow turn to its right along

    a circular arc on a terrain in which the marked areas are not

    stepworthy. He re, only the states in which a leg has just been placed

    have been shown.

    Fig. 5 also shows how the machine selects

    footholds from the available regions of the terrain to execute the

    commanded motion with as few transfers as possible. The CPU time

    used to compute the states in the figure was slightly more than a

    minute.

    XI.

    CONCLUSI ON

    We have developed the basic framework for the generation of

    free gait through a graph search. Graph search, as a technique, is

    fairly old and well known, and its relevance to gait generation is

    obvious. Howev er, it remained unexplored, possibly because of the

    associated computational complexity. In the present work, we have

    demonstrated the feasibility and usefulness of this approach.

    Our

    treatment of generalized motion is simple and general. The

    notion of progress should also prove useful in this area of research.

    Improvem ents may be sought mainly in two areas-the foothold

    selection algorithm, through a better understanding of the role of

    stability and kinematic margin in such matters, and the leg state

    transition rules, where stronger heuristics may reduce the search

    time. The latter will prove

    to

    be crucial if this technique has to be

    applied in the case of a hexapod machine.

    REFERENCES

    R . B. McGhee and

    S . S

    Sun, On the problem of selecting a gait for

    a legged vehicle, in Proc. VI IFAC Symp. Automat ,

    Contr.

    Space (Armenian S . S . R . , USSR), Aug. 1974.

    A. P. Bessnov and N. V. Umnov, The analysis of gaits in six legged

    vehicles according to their static stability, in Proc. Symp. Theory

    Practice Robots Manipulators (Udine, Italy), Sept. 1973.

    R . B . McGhee and A. A. Frank, On the stability properties of

    quadruped creeping gaits, Math. Biosci. , vol. 3 , no. -3 /4 , pp.

    331-351, Oct. 1968.

    E . I. Kugushev and V . S Jaroshevskij, Problems of selecting a gait

    for an integrated locomotion robot, in Proc. Fourth I n t . Conf.

    Artificial Intell. (Tbilisi, Georgian SSR, USSR), Sept. 1975, pp.

    R. B. McGhee and G . I . Iswandhi, Adaptive locomotion of a

    multilegged robot over rough terrain, IEEE Trans. Sysf . Man

    Cybern, vol. SMC-9, no.

    4

    pp.

    176-182,

    Apr.

    1979.

    S Hirose, A study of design and control of a quadruped walking

    vehicle, Int. J . Robotics Res., vol. 3 , no. 2, pp. 113-133,

    Summer 1984.

    D

    E. Orin, Supervisory control of a multilegged robot,

    I n f . J .

    Robotics Res., vol. 1, no. I pp. 79-91, Spring 1982.

    N. J . Nilsson, Principles

    of

    Artificial Intelligence, New York:

    Springer Verlag, 1980.

    789-793.