Newsgroups: comp.ai.neural-nets
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!MathWorks.Com!news.kei.com!yeshua.marcam.com!charnel.ecst.csuchico.edu!csusac!csus.edu!netcom.com!park
From: park@netcom.com (Bill Park)
Subject: Re: Make a BattleMech Stand Up!
Message-ID: <parkCxsJt0.7D4@netcom.com>
Followup-To: comp.ai.neural-nets
Summary: Park, MSEE U of PA, '72; Orin, OSU, '76
Keywords: robotics ancient history geezer tech
Organization: Netcom Online Communications Services (408-241-9760 login: guest)
References: <377rau$bu8@venus.mcs.com> <COHENB.94Oct14125152@racer.slc.c>
Date: Mon, 17 Oct 1994 00:24:36 GMT
Lines: 101

This is getting off the topic of neural nets, I'm afraid.  Apologies.

In article <COHENB.94Oct14125152@racer.slc.c> cohenb@slc.com writes:
>
>In article <parkCxH8pF.J7D@netcom.com> park@netcom.com (Bill Park) writes:
>
>>>    For my Ph. D. thesis in control systems engineering some years ago, I
>>>    simulated a four-legged walking robot and its on-board control system.
>>>    I developed algorithms for the controller that successfully allowed it
>>>    to keep its balance, walk over irregular terrain blind, maintain its
>>>    balance on a slippery hill, hobble along with one leg broken, and
>>>    automatically change gates as it walked at different speeds.  It would
>>>    trip and fall if you gave it too difficult a problem to solve.
>
> Could you please provide a citation for the thesis?  I've occasionally
> spent some idle minutes playing with the design of a one-passenger
> 4-legged walking vehicle, and it's clear to me that most of the gait
> control needs to be automatic, more exactly it needs to operate like a
> fly-by-wire autopilot in that it's controlled by changing its
> high-level goals, not its low-level parameters.  I'd be curious to see
> if your algorithms would fit in such a system.
> -----------------------------------------------------------------------------
> Bruce Cohen, Servio Corporation                  |   email:  cohenb@slc.com
> 15400 NW Greenbrier Pkwy, Suite 280              |   phone: (503)690-3602
> Beaverton, OR USA 97006                          |   fax: (503)629-8556

Oh, O.K. (there goes that lucrative consulting contract) ...

It was my Ph. D. thesis back when mainframes roamed the earth, 22
years ago, and it used linear programming, not neural nets, so we
should probably take further discussion about it elsewhere.  I haven't
done a lick of research on walking vehicles since.  Maybe you can
still get a microfilm or paper copy from University Microfilms.

W. T. Park, "Control of Multilegged Vehicles," Ph. D. dissertation,
     Moore School of Electrical Engineering, University of
     Pennsylvania, 185 pp. (1972).

While you're ordering, here's another seminal reference in the walking
vehicle biz that you should get.

David Edward Orin, "Interactive Control of a Six-Legged Vehicle with
     Optimization of both Stability and Energy," Ph. D. thesis, The
     Ohio State University, Dept. of Electrical Engineering, 209
     pp. (1976).

Orin's thesis (under Prof. R. B. McGhee) includes a good historical
summary of research in the field, and he shows how much better you can
do if you have enough legs to always be able to keep three of them on
the ground at once for continuous tripod-like stability.  These topics
alone make it a very good thesis, but he also cites my work, which
makes it truly outstanding.

There's also a good article in New Scientist of October 8, 1994, "The
mathematical springs in insect steps."  Talks about gaits and such.

> and it's clear to me that most of the gait control needs to be
> automatic,

Use a "pacemaker" on each leg that tells it when it's time to pick up
its foot and move it forward to produce the desired gait.  Rapid gaits
don't give the body enough time to fall over in one cycle, so you
don't have to worry about maintaining tripod stability.  For this
reason, faster speeds permit gaits in which the "duty cycle" (fraction
of time a foot is in contact with the ground) is lower, so just switch
the pacemakers to a different gait pattern as speed increases or
decreases.  Use a little hysteresis to keep from switching gaits
unnecessarily when the vehicle's speed is borderline.  Whenever a foot
on the ground reaches its limit of motion, immediately pick it up and
reposition it without waiting for the pacemaker signal; The legs will
get back in sync again later.  Your robot can even gallop, taking all
of its feet off the ground at once.  Number of feet/legs doesn't
matter, but with fewer than three you'll need feet to define a
finite-area support polygon under the body's center of gravity if you
want it to be able to stand still.  Otherwise your robot will keep
stepping in place as if it's drunk or has to go potty.

> I've occasionally spent some idle minutes playing with the design of
> a one-passenger 4-legged walking vehicle,

Check out NASA's ancient "lunar walker" -- built by TRW, maybe?  They
built a scale model big enough to carry a child, and got some PR out
of it as a potential wheelchair for paraplegics that could go up and
down stairs.  If you're interested, ask NASA's Technology Transfer
Office.  It worked entirely by clever mechanical linkages (only one or
two motors, I think), with eight feet/legs, and kept at least four on
the ground at any time for "card table stability."  Not sure how, but
it was steerable.

> ... controlled by changing its high-level goals, not its low-level
> parameters.  I'd be curious to see if your algorithms would fit in
> such a system.

They would.  You simply gave it a speed and a turning rate (to the
right or left), and the robot took off.  'Way slower than realtime,
with the clunky old computers we had in those days, but now that we're
packing 50 MIPs in our wristwatches ...

Bill Park
=========
-- 
Grandpaw Bill's High Technology Consulting & Live Bait, Inc.
