This is a commentary on a movie of a simulation of a backhoe digger, using the Vortex physics simulation library. There are two versions of the movie, suitable for different connection speeds:
See the parent page for an explanation of how the digger works.
The base of the machine is two metres square and one metre high. The first arm section is 5 metres long, the second 3 metres. The shovel is 1.5 metres wide and 0.5 metres deep. The simulation runs in real time, and the movie was recorded in real time at 25 frames per second. The jerkiness of the movie is due to the screen capture application not getting a big enough share of time to run. The simulation viewed live is rendered at 60 frames per second, and the simulation itself performs 600 iterations per second.
The operator begins by turning the shovel to the vertical -- note that it turns about its digging edge, not its hinge, because the shovel height and reach are measured from the front of the base to the digging edge. The shovel orientation is controlled by turning only the shovel hinge, but this introduces errors in height and reach, which are automatically countered by the height and reach controllers.
The operator lowers the shovel to the ground and pushes the two small blocks away. He then draws the shovel back, turns it horizontal (it is allowed to penetrate the ground), pulls it under the big block, and lifts it.
While the shovel with the large block is in the air, the operator pulls on various elements of the digger with the mouse to illustrate the resistance of the controllers. The large block is nearly at the limit of the lifting capacity of the machine -- you will see it nearly fall over when the operator pulls away from the base.
There is no passive stiffness built into the joints. When you see it shake a little when the operator stops a movement, that isn't because it's up against any sort of mechanical stop, that's the transient response of the control systems to the operator commanding a sudden stop. The actuators apply a pure torque to frictionless joints. There are limits to the travel of the hinge joints, but in normal operation they aren't reached. (Note that these actuators bear no resemblance to the behaviour of the hydraulic cylinders used on real backhoes. This is intentional: we constructed this primarily as a demonstration of a hierarchical control system. The simulation does, however, also have the capability to use more realistic actuators which apply a demanded velocity to the joints rather than a demanded torque. The shovel controller outputs then go to these actuators, instead of to the actuator velocity controllers. The effect is almost the same as the behaviour you see in the movie.)
The digger then dumps the large block, picks up two smaller ones, and demonstrates lifting them up and down at high speed, while keeping the shovel absolutely level.
Then the operator demonstrates what happens when the controllers are all turned off. It flops down at once. The operator pulls the arm about to show where the mechanical joint limits are. Then the operator pulls it into a reasonable configuration and turns the controllers back on. At once, it stays there and can be moved by the operator as before.