[From Bruce Abbott (2014.02.12.1145 EST)]
In the late 1980s Bill Powers developed a computer simulation, often referred to as “Little Man,” that displays a stick-and-box figure of a person (from chest up) possessing a single arm that points at a triangular target. Little Man and his environment are enclosed in a perspective view of a partially depicted three-dimensional cube that can be rotated for viewing from any angle. Simulation controls allow the user to move the target in three dimensions, and Little Man’s arm quickly moves to center his “finger” within the target triangle. The arm can rotate about the shoulder in two dimensions (yaw and pitch) and about the elbow in one dimension (pitch).
This first model includes hierarchical control systems at two levels of joint control, plus a “visual” system to locate the target. The bottom level includes three control systems, two for shoulder rotation and one for elbow rotation; their reference signals were provided by the top level control systems, which coordinate the changes in joint angle to produce a motion of the “finger” (distal end of the forearm) relative to the target position in the horizontal (x), vertical (y), and “reach” (z) dimensions. The target position is determined by an additional “visual” system that uses “retinal disparity” to determine target distance; Little Man’s eyes and head turn to face the target as the target is moved about by the user.
The model was programmed in “C” and ran on Microsoft’s Disk Operating System (DOS). Later, Bill created a Delphi version of Little Man that runs in Windows.
The Little Man demo was further developed to include a first-level system that models the action of muscles; this version became known as “Little Man 2.” Although Bill hoped to create a Delphi version, I do not know if this was ever done. Dag Forssell has been kind enough to send me the files relating to Little Man 1 and Little Man 2, but these do not include a Delphi version of Little Man 2.
I’ve tried to run the compiled C version of Little Man 2 in a DOS box on my laptop but it only generates an error message relating to the display screen (the device driver fails to load). As it would be a shame to lose the ability to run Little Man 2, I plan to build a Delphi version of it using the C source code as a basis.
Of course, this effort will not be needed if Bill did actually create a Delphi version of it. If anyone knows of such a version, please let me know!
Although these demos are known as the “Little Man” demos, the actual filenames of the executables are Arm1.exe and Arm2.exe for the DOS © versions, and ArmV1Pr.exe for the Arm1 Windows (Delphi) version. Both the DOS and Windows versions of Little Man I are available for download from Dag’s website at http://www.livingcontrolsystems.com/demos/tutor_pct.html .
The source code for the Delphi version contains a couple of minor errors that prevent it from compiling, but the executable file does run. I’ve repaired the source code and also cleaned it up a bit, including the deletion of several variables and procedures in the source code relating to keyboard entry that were not being used in this version. The repaired version does compile and run properly; when I’m satisfied with it, I’ll post the corrected source code on my website.
My main interest in Little Man 2 was to obtain the source code for the muscle model that Bill developed. Now that I have it (from the C version), I’ll work up a demo using this model that we can compare to the equilibrium point model.
Bruce