home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
021.lha
/
robot
/
user.doc
< prev
next >
Wrap
Text File
|
1986-11-10
|
10KB
|
291 lines
Users Guide
What the Program Does
The program was written to test various goal directed animation
algorithms for articulated figures. The animation capabilities to do
that are contained in this program, however no goal directed
strategies have been included. Goal directed animation is similar to
robotics applications except that the "arm" moves in an imaginary 3-D
world.
The current program allows the user to manipulate a 3-D robot arm
in a hopefully intuitive fashion. All input is through a mouse menu
interface. The current rotation angles for each joint of the arm are
presented to the user in proportional (Intuition) gadgets. The same
gadgets allow the user to alter the joint angle settings. The arm
can be programmed to animate between 2 sets of joint settings.
The arm has 3 joints. The shoulder and wrist can move (with
constraints on the angle magnitude) about all 3 axes. The elbow can
rotate about one axis only (typical of hominoids).
Running the Program
The program can be run from workbench by clicking on the "arm"
icon, or from the CLI by typing "arm".
The program opens up its own screen. If the system sends a
pending crash message to the screen it sends it to the WorkBench
screen that is behind the program screen. To switch between the
WorkBench screen and the program screen press the LEFT AMIGA key and
the N or M keys. These will flip you back and forth between the 2
screens.
You may also use the LEFT AMIGA N/M keys for multi-tasking with
the program. The program operates in the Intuition environment and
will allow this. However the program is a memory hog (230K or so)
due to a 3 bitplane 640x200 double buffered screen with a
GIMMEZEROZERO window.
If you run the program from a CLI and there is insufficient
memory for the program to run, a message to this effect will appear
in the CLI you ran the program from. If you run the program from
WorkBench, be sure to close enough windows to free up 270K or so,
else the program quits, either on loading, or during the run when
memory is dynamically re-allocated. No Gurus on insufficient memory.
The program was developed using 1.1 but seems to work fine under
1.2. (in fact a minor prop gadget problem disappears) If you have
fast ram (I don't) you may need to atomize the code.
Menu Selections
There are 5 menus in the program. The Project menu, View menu,
Rotate menu, Goal menu and the Animate menu. If a menu item is
ghosted it either performs a function that is not yet implemented, or
has been temporarily disabled for a variety of reasons.
Project Menu
New Menu Item
The new menu item allows you to start over with all the default
settings in effect when the program started up.
Author Menu Item
This displays information about the program author.
Help Menu Item (not implemented)
On screen help regarding the program. A requester will pop up and
different topics can be selected for information.
Colors Menu Item
The 8 colors used in the program can be altered. There are 4
color choices possible in a subitem menu. The 8 colors used in each
choice have been selected from the 4096 colors available on the
Amiga.
Quit Menu Item
Select this item to quit the program. You will not be prompted
for confirmation.
View Menu
Wire Frame Menu Item
Select this item for a wire frame display of the arm.
Solid View Menu Item
Select this item for a solid color view of the arm with hidden
surfaces removed.
Ref Axes Menu Item
Reference axes for each joint can be displayed on the screen.
This option is more effective for some views (depending on the
current arm rotations) than others. If it is not clear where the
axes are, try changing the viewpoint with the next menu item. A wire
frame view also allows easier interpretation of reference axes.
The reference axes are automatically disabled for animation.
Viewpoint Menu Item
There are 6 viewpoints (as subitems) available. A front view,
side view, top view and 3 angle views. Angle 1 is at a 45 degree
angle relative to all axes in the positive X, Y, Z octant of the
world coordinate system. Angle 2 has a bit more height to it, and
angle 3 is from below.
Perspective Menu Item
There are 3 subitems here. Parallel, wide angle and telephoto.
The parallel item presents an orthographic view and is the only one
used in the animation. The wide angle and telephoto views are
perspective views (X and Y are scaled with respect to Z, Z being
distance from the viewpoint, and X and Y in the screen plane). The
true perspective views can produce unusual effects. There does not
appear to be any difference in the wide angle and telephoto views
(some sort of bug here).
The perspective view can only be used in static displays. If a
new viewpoint is selected, or a joint angle is altered the program
draws the new image with a parallel view. The menu items are
adjusted accordingly.
Rotate Menu
Shoulder Menu Item
Selecting this item brings up a requester that displays the
current shoulder angle settings in proportional gadgets. There is
one gadget for each axes that the shoulder may rotate about (X, Y and
Z). You may alter none, one, two or all three angle settings.
No action is taken on your input until you select the "use" or
"cancel" gadget in the requester. If you select "cancel" all the
changes you made will be disregarded and the next time you bring up
the shoulder requester the slider values will display the angle
settings before you made any changes.
The original settings for all joints is at zero rotation about
all axes. A line just below the slider box indicates this position.
The limits in degrees of each joint's allowable rotations appears at
the ends of each slider box.
If you select the "use" gadget, the arm image will be altered to
reflect the changes you made to the joint settings.
While the requester is on the screen you may change the slider
values as often as you like. Only the last setting will register.
All other input to the program, such as other menu selections is
blocked while a requester is active.
The "test" gadget is not yet implemented.
Elbow Menu Item
The elbow joint can only rotate about the X axis. Bring up the
reference axes with the "ref axes" item on the View menu if you are
unsure which axis this is.
Everything else in the Shoulder Menu Item applies for the Elbow
Menu Item.
Wrist Menu Item
Everything the Shoulder Menu Item applies for the Wrist Menu Item.
Goal Menu
Set All Joints Menu Item
If this item is selected, all the joint requesters will appear
one after another. You may specify any combinations of joint
rotations to animate. The current arm angles determine the starting
position, and the joint settings altered by you become the final
position. A series of animation frames will be generated to
interpolate between the two positions.
After you have made your joint angle changes and selected "use" on
at least one requester, you may select "arm" on the Animate menu to
see the results. No action is taken until you select "arm". You may
alter other settings such as colors and viewpoints in the mean time.
The "cancel" option works here as well. If all joint requesters
are "canceled no animation will take place.
A warning will appear if you attempt to alter a joint angle before
carrying out a previously specified animation. You can choose to
abort the settings and start over.
A minimum rotation of 5 degrees on at least one joint axes is
required for the animation to generate more than one frame.
Distal Goal Menu Item (not yet implemented)
The whole point of the program. However there was not enough time
to implement this, and no point doing so until this stage in the
program was reached. All the mechanisms are in place to animate goal
directed motion. All that is required is to develop techniques to
calculate the final angle position or rotations that achieve the
goal.
Place Obstacles Menu Item (not yet implemented)
Obstacles may be placed such as to interfere with the goal
directed motion discussed above.
Animate Menu
Arm Menu Item
Selecting this item will animate the settings specified with "set
all joints" in the Goal menu. You will be informed if no settings
were specified.
The animation takes place on the screen that lies behind the
window that contains the menus. This allows for double buffered
animation. The window will close before the animation starts and
re-open when it is over. The final angle positions previously
specified by you are used to redisplay the arm in the window. This
may differ slightly from the final position in the animation due to
integer frame approximation.
A wire frame view allows for slightly faster animation. A frame
rate of 1 frame per second is typical.
Flypast Menu Item
This will generate a flypast of the current arm settings. The
viewpoint is incrementally altered to "fly" around the arm. The
flypast is roughly a 90 degree circular spin about the X, Y axes,
combined with a linear increment of the viewpoint height.
The flypast also occurs on the double buffered screen.
Both Menu Item (not yet implemented)
Combines both of the above.