home *** CD-ROM | disk | FTP | other *** search
- 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.
-