# Backhoe diggers

[From Richard Kennaway (2004.01.14.2002 GMT)]

I've been (at last) getting back to my walking robot and other
mechanical objects that might be operated through a control
architecture built on HPCT lines. In the last few weeks I've created
a simulation of a backhoe digger. This sort of thing:

···

*
/ \
/ \
/ \
/ \
/ \
+-----+ / ----*
> >/
> *
+-----+

There are three hinges (at the points marked *), each of which has
its angle varied by a hydraulic cylinder (not shown) connected
between points on oppposite sides of the hinge. I haven't (yet)
modelled any ability to turn on its base or trundle around on
caterpillar tracks.

I made the simulation at the suggestion of a colleague who recently
hired a small one for some serious gardening work. He was surprised
to find that the operator controls the three actuators directly,
rather than being able to tell the shovel to go up, down, in, or out
in a straight line, and have the actuators do the right thing.

So I built a simulation using a commercial physics simulation library
called Vortex (one of the disadvantages of which is that I can't
distribute a program made with it -- or rather, I could distribute
the program, but it wouldn't run on anyone else's machine unless they
the top level controls the shovel's height, reach, and slope, and the
bottom level controls the angular velocity of each of the hinge
joints by applying a torque proportional to the error. The outputs
from the top level are connected to the reference inputs of the
bottom level in a way that ensures that the perceptions of the
shovel tend to be brought closer to their references.

I've made a movie file of the simulation, but it's 30 MB, so don't
bother unless you have a broadband connection. I'll see if I can
produce a more compressed version. A textual commentary is at
to the movie.

I've been looking at the mathematics of multivariable control with a
view to analysing the behaviour of hierarchical systems like this, my
six-legged robot, and an ultra-simplified two-legged, two degree of
freedom robot for which one can write down all the equations of the
two-level control system and solve them explicitly. There must be
some theorems here, the only question is if they've been proved
already. Multivariable control can be studied by generalisations of
classical linear control theory, but the order of the differential
equations goes up in proportion to the number of variables, so
without fast computers it can be impractical study such systems. By
the time fast computers came along, modern control theory was well
established, and as far as I can see when searching for references,
multivariable classical theory didn't get so intensively studied.

-- Richard Kennaway

[From Bill Powers (2004.01.14.1455 MST)]

Richard Kennaway (2004.01.14.2002 GMT)--

Good to hear from you again. I think your project for using the HPCT idea
to control machinery is brilliant and imaginative. You could even include a
computer controller that would do things like preventing the digger from
going more than X feet into the ground (below the wheels), to avoid hitting
gas or electric lines, or digging square or round holes, or curved
trenches, or foundation holes with flared bottoms.

One idea I had was a system for driving tractor-trailer combinations
(articulated lorries) in reverse. This is easy for a human truck driver
with single trailers, but what about the kinds with multiple trailers?
Angle sensors for each trailer hitch would be needed, but not much more.

I think it is time for someone to start serious work on a legged robot for
exploration of planetary surfaces. A leg is simply a wheel with one spoke,
so it should be easy to control, right? If the joints were carefully
counterweighted or counter-sprung, the energy need to run the legs should
not be any greater than for a wheeled vehicle. And moving through rough or
steep terrain should be lots easier, if done our way. What we need is the
right actuators. And the ESA might really like this idea.

I've been looking at the mathematics of multivariable control with a
view to analysing the behaviour of hierarchical systems like this, my
six-legged robot, and an ultra-simplified two-legged, two degree of
freedom robot for which one can write down all the equations of the
two-level control system and solve them explicitly. There must be
some theorems here, the only question is if they've been proved
already. Multivariable control can be studied by generalisations of
classical linear control theory, but the order of the differential
equations goes up in proportion to the number of variables, so
without fast computers it can be impractical to study such systems. By
the time fast computers came along, modern control theory was well
established, and as far as I can see when searching for references,
multivariable classical theory didn't get so intensively studied.

This is very good news. I've wondered about starting with a 14-fold system
and my kinematic 14-df arm model and seeing if reorganization could sort
out the degrees of freedom. Have you ever looked at that model? It has a
second level of organization that controls sets of the basic degrees of
freedom so as to get control of things like hand position and hand
orientation independently -- that is, if the hand is set to level and then
is made to reach out from the shoulder, it remains very nearly level. You
can orient it with the fingers closed as if holding a glass of water, and
when you change the radial distance or elevation reference level, the wrist
and elbow joints will automatically adjust to keep the glass level enough
to avoid spilling the water.

One thing that makes the multivariable controller simpler is that when each
control system has high gain (and is stable), the interactions are
considerably suppressed. The analysis might be able to get by with
approximations since the affected terms will not contribute a lot to the
net behavior. In particular, linear or second-degree approximations might
suffice to allow good predictions.

I take it that you've reached a pausing point in the automatic signing