ROBODOC The manual and project report for his Robot Simulator, ME 435, 1990
- His own text, exactly as typed
- XyWrite file
ROBODOC, 22,998 bytes - 27 printed pages plus the program listing
- Run the program it describes
“As a project requirement for ME435, I developed a simulation software package to model the kinematics of an assortment of robot arm designs.” Tutorials for Play, Teach and Run modes and for RRR inverse kinematics, the robot database, the file manager, and his conclusions, including the general six-axis solver he wanted to write next.
Introduction
As a project requirement for ME435, I developed a
simulation software package to model the kinematics of an
assortment of robot arm designs. The software package,
itself, was written in Borland's Turbo Pascal v.5. It is
also menu driven and highly user friendly.
There are three parts to the software package. The
first is basically an exercise in three dimensional computer
graphics and forward kinematics. The program allows the
user to input the link parameters for each of the robot's
joint into a supplied database. The program then assembles
this information and display a graphical "stick figure"
representation of the robot in the x-y, x-z, and y-z planes
or a three dimension projection. The variable link
parameters can then be modified in real time. The second
part of the package allows the user to "teach" the robot arm
various positions. This routine does not use inverse
kinematics but instead saves the robot arm's variable link
parameters to a datafile. Later, the data can be read to
graphically move the arm. The third part of the package
allows the user to define points in space which he/she
wishes the robot effecter to pass through. The program then
generates the variable link parameters using inverse
kinematics. Since non-general inverse kinematics consume
valuable computational time, the package uses inverse
kinematics on one manipulator design.
The follow report discusses the simulation package in
detail as well as gives some insight to the theory behindthe software(see the appendix for an overview of the theory involved in the simulation package).
Table of Contents
A. Getting Started
1. Installing the Robot Simulator package
on a hard disk
2. Running the Robot Simulator package
B. Robot Simulator Tutorials
1. Play Robot Mode
2. Teach Robot Mode
3. Run Robot Mode
4. RRR Inverse Kinematics
C. Database
D. Screen Mode
E. Help Screens
F. File Manager
G. Conclusions and RecommendationsA. Getting Started The Robot Simulator comes on a single disk in two files called ROBO1.EXE and ROBOFILE.DBF. Before you start using the package, it is wise to make a backup copy of the diskette and store the original in a safe place. To run the Robot Simulator from a hard disk, copy the files from the floppy disk to the hard disk as described below. 1. Installing the Robot Simulator on a hard disk The Robot Simulator is not copy protected. To install it on your hard disk, just copy the files on the floppy to the ROBOTSIM directory on your hard disk, as follows: - To make drive C the default drive, type C: and press the <enter> key: C: <enter> (If your hard disk is identified by a letter other than C, substitute your drive label for C in these instructions.) - To make the ROBOTSIM directory on your hard disk, type:
MD \ROBOTSIM <enter> - To change to the ROBOTSIM directory, type: CD \ROBOTSIM <enter> - Insert the Robot Simulation disk in drive A. Then copy all files from the disk to the ROBOTSIM directory: COPY A:\*.* <enter> You have now copied the Robot Simulation package to the ROBOTSIM directory on your hard disk.
2. Running the Robot Simulator Before you run the Robot Simulator, you must change to the disk and directory containing the Robot Simulator program. Make sure you have installed the Robot Simulator in ROBOTSIM directory, as described above. Then, at the DOS prompt, type these three commands: C: <enter> CD \ROBOTSIM <enter> ROBO1 <enter> If the Robot Simulator can run on your system, you will see a cover screen with a dial in the center.
B. The Robot Simulator Tutorials 1. Play with robot mode The Play Robot Mode routine is used to try new manipulator designs without creating a data file. Before running any robot simulation, the robot manipulator must be called from the Robot Simulator's database. The database is used to store the manipulators link parameters and data file information. The program automatically uses the information in the manipulator's file to name its data file. To enter the Database, move the arrow keys to select Database and then press the <enter> key. The Database screen shows all the information that can be stored for a particular manipulator. The arrow keys (up and down) will move you to different input fields. Proceed by entering the robot name, degrees of freedom, and link parameters for a given manipulator. Please note that you must define at least a robot name to define a Database file.
The Directory field is important since it defines where the manipulator's data file will be stored. For simplicity, leave this field blank. This will direct the program to store the manipulator's data in the default directory, that is the same directory (Disk) which contains the Robot Simulator Program. When you have finished entering the Database information, press <F4> to "Save" the Database file. The Robot Simulator will store this manipulator in the ROBOFILE.DBF file in the default directory to be accessed whenever needed. Now type <F10> to "Use" this manipulator. The Robot Simulator will then take you back to the Main Menu screen. Notice that the manipulator's name, degrees of freedom, file path, and output screen type is displayed at the bottom of the screen. Now proceed to Play Robot. Do this by moving the highlighted bar to the appropriate choice and pressing <enter>. The Robot Simulator will show a stick figure representation of the manipulator. At the bottom of the screen, the x,y,z coordinates of each of the manipulator's joints is displayed. Depending on the screen mode, the manipulator will be shown in either three isometrics or a 3-D projection. The screen mode can be picked using the screen
mode option of the main menu.
The following is a list a functions available in play mode:
F1 to F6 - Changes variable link parameter number
1 to 6. The direction is according to
the toggle of F7.
F7 - Toggles increase/decrease the variable link
parameters. Value shown on screen as either a
up or down arrow.
F8 - Toggles on/off of the x,y,z joint display.
The following are additional functions if the screen mode is
a 3-D projection:
CTRL-R - Changes roll according to F7
CTRL-P - Changes pitch according to F7
CTRL-Y - Changes yaw according to F7
You can exit the simulation by typing the <esc> key.2. Teach Robot Mode The Teach Robot Mode routine is used to use a manipulator to create a data file of different positions. Before running the robot simulation, the robot manipulator must be called from the Robot Simulator's database. The database is used to store the manipulators link parameters and data file information. The program automatically uses the information in the manipulator's file to name its data file. To enter the Database, move the arrow keys to select Database and then press the <enter> key. To call up an exiting manipulator file, enter the Database by moving the highlighted bar to Database and pressing <enter>. Type in either the manipulator's name or degree of freedom of your previous manipulator file. Now, type <F8> to Find the file. The Robot Simulator will search through the Database and list those which match any element of the search file. Note: read the tutorial for play mode to learn how to define a robot manipulator. Also, a search file with * for a name will call up all of the manipulators files.
Select your file from those listed by moving the arrow keys and pressing <enter>. The file you have selected will appear on the Database input screen. Press <F10> to Use the File and return to the Main Menu screen. Again, notice that the manipulator's name, degrees of freedom, file path, and output screen type is displayed at the bottom of the screen. Now proceed to Teach Robot. Do this by moving the highlighted bar to the appropriate choice and pressing <enter>. The Robot Simulator will prompt for a name of the manipulator's run file. The extension of all robot files is .PTP which stands for point to point. After entering the run file's name and typing <enter> the Robot Simulator will proceed to the display screen.
The Teach Robot Mode, like in the Play Robot Mode, will show
a stick figure representation of the manipulator. At the
bottom of the screen, the x,y,z coordinates of each of the
manipulator's joints is displayed. Depending on the screen
mode, the manipulator will be shown in either three
isometrics or a 3-D projection. The screen mode can be
picked using the screen mode option of the main menu.
Like in the Play Robot Mode, the following is a list a
functions available in Teach Robot Mode:
F1 to F6 - Changes variable link parameter number
1 to 6. The direction is according to
the toggle of F7.
F7 - Toggles increase/decrease the variable link
parameters. Value shown on screen as either a
up or down arrow.
F8 - Toggles on/off of the x,y,z joint display.
The following are additional functions if the screen mode is
a 3-D projection:
CTRL-R - Changes roll according to F7
CTRL-P - Changes pitch according to F7
CTRL-Y - Changes yaw according to F7
To save a particular manipulator position to the data file,simply type the F9 key. The Robot Simulator will save the variable link parameters to the datafile. This ASCII datafile can be easily called up on a spreadsheet and modified. Note: the first line of the datafile specifies the number of degrees of freedom for the manipulator.
3. Run Robot Mode Run Robot lets the manipulator read the datafile created in a past Teach Robot Mode session. If the manipulator's file has already been defined (the manipulator's name will be shown in the bottom of the main menu screen), you can proceed directly into the Teach Robot Mode. You can now proceed by moving the highlighted bar to Run Robot Mode and pressing the <enter> key. A pop-up menu will list datafiles which match the defined manipulators degree of freedom. Scroll down to the datafile you wish to run and type the <enter> key. The Robot Simulator will now go to the manipulator display screen. Again, according to the screen mode, the manipulator will be displayed in either three isometric displays or in one 3-D projection. Also, like the play mode, F1-F8 and the CTRL keys function to move the manipulator. Typing the <enter> key will start the run mode simulation. The Robot Simulator will read in the variable link parameters and move the manipulator smoothly to the new positions. Again, type <esc> to return to the main menu.
4. RRR Inverse Kinematics
The RRR Inverse Kinematics routine allows you to move the
end effector of a 3 degree of freedom revolute, 3 dimension
manipulator in the x, y, and z directions using inverse
kinematics. The only robot file that this routine will work
for in the database is RRR3-D. If this manipulator's file
has already been defined (the manipulator's name will be
shown in the bottom of the main menu screen), you can
proceed directly into the RRR Inv.Kin. routine.
The Robot Simulator will now go to the manipulator display
screen. Again, according to the screen mode, the
manipulator will be displayed in either three isometric
displays or in one 3-D projection. Also, like in the play
mode, F1-F8 and the CTRL keys still function to move the
manipulator.
Three additional keys are as follows:
ALT-X - Moves the end effector in the X direction.
ALT-Y - Moves the end effector in the Y direction.
ALT-Z - Moves the end effector in the Z direction.
Note: the direction (+/-) depends on the toggle of F7.
Type the <esc> key to return to the main menu.
C. Database
The Database keeps track of all the manipulator information.
You can enter the database routine by moving the highlighted
bar to Database and pressing <Enter>.
The first screen you see is the Data Input Screen. This
screen is used for entering and storing a new manipulator's
record and then finding that record once it has been entered
into the Database.
The following briefly explains the Database function keys:
F1 - Calls a help screen for your assistance.
F2 - Clears the screen without saving anything.
F4 - Saves the entered manipulator data to disk.
F6 - Erases a manipulator's record from the Database
F8 - Searches the Database for a manipulator's record.
F10 - Designates a manipulator's record for use later.
To enter a new manipulator into the Database, simply enter
as many of the Database Fields as you wish. The Database
Fields consists of the Robot's Name, Degrees of Freedom, the
link parameter alpha, a, d, and theta, and Datafile Path.
You must enter at least the Robot's name to create a file.
The Robot Simulator uses these fields to name the
manipulator's directory.
Once you have completed entering the new manipulator's
information, it can be stored by typing <F4>. The Robot
Simulator then searches the database for records that haveboth identical robot name and degrees of freedom as the new record. If there are no matches, the Robot Simulator will store the new record in the Database. To find any manipulator's record in the Database, simply enter the robot's name or degrees of freedom and press <F8>. The Robot Simulator will then search the Database for all records that match those field(s) specified. Matching records are be displayed in a list. From that list, you can select which record to extract by moving the highlighted bar and pressing <enter>. The Robot Simulator then displays that record on the Database Input Screen. Note: a search record with an asterisk (*) for the robot's name will display all the records in the Database.
All of the simulations require that a manipulator is specified. To specify a manipulator, first find the manipulator in the Database via <F8>. Once the record is extracted from the Database, type <F10>. This will return you to the Main Menu screen. Note that the manipulator's name, degrees of freedom, screen mode, and datafile path are displayed in the bottom of the screen.
D. Screen Mode By selecting Screen Mode through the Main Menu, a new menu will appear. The Screen Mode procedure allows you to pick either three isometric displays in the x-y, x-z, and y-z planes or one 3-D projection. The screen mode defaults to the three projections. To select the screen mode, move the highlighted bar to your choice and type the <enter> key. Note: the current screen mode is shown at the bottom of the main menu screen. E. Help Screens This routine offers a quick reminder of all the functions available in the Robot Simulator. Moving the highlighted bar to Help Screens and typing <enter> will produce a second menu. To receive help on different modes, simply move the bar to the desired topic and type <enter>. To return to the menu, type <enter> again.
F. File Manager
File Manager is a system to manage your Robot Simulation as
well as any other file on your disks. It allows you to
move, copy, or delete files and to create or remove
directories. You can enter the File Manager from the main
menu by moving the highlighted bar to File Manager and
pressing <enter>. The Robot Simulator's File Manager will
display the contents of the current directory.
To understand how the File Manager works, you must be
somewhat familiar with directories and files. If you are
already familiar with directories and files, you can skip
the next several paragraphs.
Each disk drive in your computer system is labeled by a
letter. For example, floppy and micro disk drives are
usually labeled A or B whereas hard drives are usually
labeled C, D or E. These labels are analogous to separate
filing cabinets. As in filing cabinets, each disk may be
sub-divided. To continue with the analogy, the directories
of the disks are the "drawers" of the filing cabinets.
Each directory can also be divided further into
subdirectories just as drawers can be divided with folders.
The process of subdividing directories can be continued many
times. The following tree diagram shows how directories can
be used.
Main Dir.(A,B,C,D or E drive) ROBOTSIM Dir.(contains all manipulator files)
ROBOT1 ROBOT2 (dir. for individual manipulators)
TEST1.PTP TRY1.PTP
BLOCK.PTP CONVEY.PTP (indiv. run files)
DRILL.PTP PAINTSPR.PTP
The current directory (usually the directory in which
ROBO1.EXE resides) is displayed when you first enter the
File Manager. From this directory, it easy to move down
(further subdivided) or up in the directory tree.
To move down, simply move the highlighted bar to the
directory of your choice. Directories are listed in dark
blue and have <DIR> under type. Note: if you are running
the Robot Simulator directly from the Robot Simulator floppy
or micro disk or you have not run a session yet, there may
not be a sub-directory available to try.
To move up in the directory tree, move the highlighted bar
to the appropriate line with a period. Note: if you are in
the main directory (File Cabinet), there will not be a line
with a period.
To move from one disk drive to another, you must use the
direct mode. You can access the direct mode by simply
typing the letter of the drive followed by a colon(:) and<enter> to move to that disk drive. The letter that you
typed will appear in a box above the listed files. This box
is the input for the direct mode.
The File Manager has the following commands available:
F1 - Help
F2 - Change Box
F3 - Delete File
F4 - Copy File
F5 - Move File
F6 - Make New Directory
F7 - Remove Old Directory
F1 - This commands shows some of the sorting commands
available in the File Manager. For example, <ALT>-N sorts
the files in the List Box by File or Directory name.F2 - This command allows you to move from the List Box to the Defined Box. Typing <ESC> will return you back to the list box. (The Defined Box is discussed in section F3.) The Change Box command is useful if many files have been "defined" and you wish to "undefine" them. To "undefine" a file, move the highlighted bar to the file and press <enter>. This will remove the file from the Defined Box. F3 - This command will delete all the files in the Defined Box. To put a file in the Defined Box simply move the highlighted bar to the file and press <enter>. The file will now be "defined": ready to be Deleted, Copied, or Moved. To Delete the file, type <F3>. The File Manager will confirm your intentions to delete the file(s). Note: if you want to "undefine" a file, just move the highlighted bar to the file (in either the Defined Box or the List Box) and press <enter>. The file will be removed from the Defined Box. F4 - This command will copy all the file(s) in the Defined Box to a different disk or directory. (Section F3 discusses how to put a file in the Defined Box.) To copy the file(s), type <F4>. The File Manager will ask where you would like the file(s) copied. To select the drive or directory, simply move the arrow keys to the desired path. The right arrow key will move you down the directory tree whereas the left arrow key will move you up the directory tree. The up or down will select the subdirectory. When you have defined
the path, type <enter>. The File Manager will copy the file(s) to the path. F5 - This command will move all the file(s) in the Defined Box to a different disk or directory. (Section F3 discusses how to put a file in the Defined Box.) To move the file(s), type <F5>. The File Manager will ask where you would like the file(s) moved. To select the drive or directory, simply move the arrow keys to the desired path. The right arrow key will move you deeper into the directory tree whereas the left arrow key will move you up out of the directory tree. The up or down will select the subdirectory. When you have defined the path, type <enter>. The File Manager will move the file(s) to the path. F6 - This command creates a new sub-directory in the current directory. When you type <F6>, the File Manager will ask you for the new directory's name. The directory can be up to 8 characters long. When you type <enter>, The File Manager will automatically create a new sub-directory.
F7 - This command will delete an existing directory. First, go to the directory that has the directory you wish to delete. When you type <F7>, the File Manager will ask for the directory's name. After entering the name, press <enter>. The File Manager will delete that directory.
Conclusions and Recommendations
This project has given me a chance to learn first hand
the challenges of robot manipulator simulation. These
challenges span from the projecting of the 3-D manipulator
into 2-D space to optimizing the calculations for the
graphical representation. I am pleased with the
capabilities of the current software package even though
there is, of course, room for further enhancements. For
example, I could have calculated joint velocities,
accelerations, and required torques especially since all of
the transformation matrices are stored in arrays. These
calculations, however, are basically an extension of the
position analysis.
The program can easily be augmented to become a useful
tool for both the simulations of existing and new robot
manipulators as well as a teaching aid in robotic
laboratories. One long term but powerful enhancement would
be to include a general inverse kinematic routine. I am
currently working on a method to have the computer try to
algebraically solve the close form solution to many general
manipulator designs. I have also researched several
techniques to solve general six degree-of-freedom systems
using a combination of algebraic and numerical algorithms.
This combination appears to hold promise for future programs
but was slightly out of the scope of this project.
I have enjoyed working on this project since it was
both extremely open-ended and challenging. I would,
however, have liked to been able to discuss the project inmore detail at the beginning so as to shorten my learning curve.
*******************************************
* *
* Robot Simulator software package *
* *
* Author: Andrew B. Conru *
* *
* Date: January 15, 1990 *
* *
* No reproduction of this software or *
* report may be copied an any medium *
* without the written permission of *
* the above stated author. *
* *
*******************************************
ROBOLIST.DOC: 3,360 printed lines, his title page dated January 15, 1990. Read the whole listing.How these pages were made: straight from his file. ROBODOC is a XyWrite document. Its formatting codes set the margins (columns 10 to 70), double spacing, a 58-line page and his manual page breaks, and mark the bold and underlined headings. These pages follow those codes in a typewriter face, with the text unchanged, his typos included. The word processor also broke long pages on its own, so pages split where it would have split them. Page numbers are this viewer’s; his file printed none.
Where it came from: the robot-simulator folders of his floppies (captures labelled September 1990 and July 1992 hold identical copies). The appendix he mentions on the theory isn’t on the disk. The program listing, ROBOLIST.DOC, is.
Use ← and →, swipe, or the thumbnails. Link to a page with #p5.