J o_.p"

NASA Contractor Report -- 178051

Evaluation/of

Automated

Decisionmaking

Methodologies and

Development of an

Integrated Robotic

System Simulation

Apendix A--ROBSlM User's Guide

Martin Marietta Aerospace

Denver Aerospace

RO. Box 179

Denver, Colorado 80201

Contract NAS1-16759

March 1986

C_CZSiChL'i_KI_S _,E_[iCDCICGI_'S _C L_V_LC_iflE_J- "'

Cf AN IKI'_:GhZ_'IE[ fOLC]IC S_SIfS SiSUL._'IION.

APPE[IuiX A: _,OB_I_. _S_F'S <;Ultn (_artin

_aEi_ttd Aerospace) 302 p <SCL 09m

_-1153,5

[Jilci,15

G]/O] _3962

Data for general release September 1986

National Aeronautics and

SpacP. Administrat on

Langley Research Center

Hampton, Virginia 23665
EVALUATION OF AUTOMATED

DEClSIONMAKING METHODOLOGIES

AND DEVELOPMENT OF AN

INTEGRATED ROBOTIC SYSTEM

SIMULATION

Appendix A--ROBSIM User's Guide

Prepared by:

Dennis C. Haley

Bonni J. Almand

Mark M. Thomas

Linda D. Krauze

Keith D. Gremban

JamesC. Sanborn

Joy H. Kelly

Thomas M. Depkovich

William J. Wolfe

Thuy Nguyen

This work was performed for NASA

Langley ResearchCenter under

Contract NASI-16759.

The useof specific equipment or

company brand names in this report

does not in any way constitute endorsement

of those products or companies.

MCR-85-665

MARTIN MARIETTA

DENVER AEROSPACE

P.O. Box 179

Denver, Colorado 80201
j °

Rev A, October 1985

APPENDIX A CONTENTS

Page

INTRODUCTION .................

Overview ................

The program command level .......

The ROBSIM help file access procedure .....

Sample run of help file access procedure .....

The ROBSIM constant parameter values ......

File type conventions ............

The error message file ...........

The ROBSIM graphics ............

System definition graphics .........

Analysis tools graphics ..........

Postprocessor graphics .........

Postprocessor plot capability access procedure . • •

The hardcopy utility access procedure ......

Heta-file utility ............

Sample run of meta-file utility procedure .....

The hardware output data conversion utility . . •

Other Program Runtime Notes ..........

Abnormal exit from the program .........

Logical unit number assignments ......

User-specified input/output math units .....

A-1

A-I

A-I

A-2

A-2

A-4a

A-4

A-6a

A-6

A-7

A-7

A-8

A-8

A-8

A-9

A-9

A-9

A-IO

A-10

A-10

A-11

THE SYSTEM DEFINITION USER'S GUIDE ..... A-13

Procedure for creating a robot arm ....... A-14

Procedure for creating an initial robot arm

description .......... A-15

Arm base definition ........ A-16

Arm joint definition ...... A-18

Arm actuator definition ......... A-20

Arm link definition ....... A-22

Arm special joint definition ....... A-25

Arm tool-joint definition ...... A-26

Arm tool-link definition ....... A-27

Procedure for modifying an initial robot arm

description .......... A-29

Base modification ......... A-30

Joint modification ...... A-31

Actuator modification .......... A-31a

Link modification ........... A-32

Tool-joint modification . . , ..... A-33

Tool-link modification .......... A-33

Graphics during simple cylinder arm creation or

modification ........... A-3a

Sample run of simple arm creation ..... A-3_

Procedure for creating a detailed robot arm geometry A-52

Sample run o£ detailed arm creation . A-54

Cylindrical and cone-shaped entities . A-75

Rectangular and trapezoidal entities .... A-75a

Triangular beam-shaped entities .... A-79

iii

PRECEDING PAGE BLANK _OT _;,L;_-;_
Rev A, October 1985

Rectangular beam-shaped entities ....

Data tablet-defined structures ........

Fillet entities ............

Nonplanar entities ..........

CAD/CAM entities ...........

Procedure for creating a system workcell environment . .

Sample run of detailed environment creation . . .

Procedure for creating a target objects file .....

Sample run o£ target objects creation ......

Procedure for creating a load objects file ......

Sample run of load objects creation .......

Procedure for creating a total robotic system workcell .

Sample run of total robotic system creation ....

A-79a

A-80

A-82

A-83

A-SAa

A-85

A-86

A-99a

A-99d

A-100

A-105

A-117

A-122

THE ANALYSIS TOOL USER'S GUIDE ..........

Requirements analysis ...........

Requirements run options ..........

Sample run of requirement analysis .......

Sample run of requirement analysis with movable base .

Response simulation ...........

Simulation run options ..........

Sample run of response simulation ......

Sample run of response simulation with movable base . .

Motion profiles ...........

Motion control specifications .......

Nonmotion control specifications ......

Task level file specifications ........

Sample run of motion profile specifications ....

Base motion profiles ...........

A-133

A-133

A-134

A-I_0

A-I_8

A-148d

A-1_9

A-159

A-168a

A-169

A-172

A-175

A-177

A-177c

A-188

THE POSTI=ROCESSOR USER'S GUIDE ........

Simulation motion replay procedure ....

Sample run of simulation motion replay . .

Simulation vs hardware motion replay procedure .

Sample run of simulation vs hardware motion replay .

Running the hardware conversion program ....

Parameter vs parameter plot package procedure .....

The brief plot package ......

The end-effector plot package ......

The joint positions plot package ....

The reaction forces plot package .....

The combination plot package .......

The PID/torque plot package ......

The force/torque plot package .....

Sample run of parameter vs parameter plotting . . .

A-189

A-190

A-192

A-198

A-200

A-204

A-206

A-210

A-210

A-211

A-211

A-211

A-212

A-212

A-213

THE PREPROCESSOR USER'S GUIDE ....

Sample run of CAD/CAM data display

Sample run of CAD/CAM data detailed modeling .

A-229

A-231

A-23_

iv
Figure

Rev A, October 1985

A-1

A-2

A-3

A-4

A-5

A-6

A-7

A-8

A-9

A-10

A-11

Manipulator coordinate systems .........

Simple cylinder base component .........

Simple cylinder base and first link ......

Simple cylinder base and links .........

Complete simple cylinder planar arm .......

X-translation test for simple cylinder arm ....

First component in detailed arm base .....

First two components in detailed arm base .....

Beginning joint i in detailed arm components .

Generation of link i in detail arm ......

Completion o£ base and link I of detail arm ....

A-12 Zoom perspective of base and link 1 of detail arm . •

A-13 Erroneous component entry during joint 2 of detail arm .

A-I_ First two components of joint 2 in detail arm after

correction ..............

A-15 Completion o£ joint 2 in detailed arm ....

A-16 Completion of base, link 1 and 2 of detailed arm .

A-17 Complete detailed planar arm ........

A-18 Cylinder and cone shape coordinate system ....

A-19 Rectangular and trapezoidal shape coordinate system .

A-20 Triangular cross-section beam coordinate system . . .

A-20a Rectangular cross-section beam coordinate system . . .

A-21 Data tablet component coordinate system ......

A-22 Fillet component coordinate system .....

A-23 Nonplanar, obstacle component coordinate system

A-23a CAD/CAM derived detailed component .....

A-24 First two detailed environment components ....

A-25 Completion of one entity in detailed environment . .

A-26 Complete detailed environment ......

A-26a Detailed target object ......

A-27 Completion of load 1 in detailed load object file .

A-28 Completion of load 2 in detailed load object file .

A-29 Environment display during robotic system creation

A-30 Arm insertion during robotic system creation . . .

A-31 Complete robotic planar arm system . .

A-32 Postprocessor motion relay display at t = 1 second

A-33 Postprocessor motion relay display at t = 2 seconds .

A-34 Postprocessor motion relay display at t = 3 seconds . .

A-35 Postprocessor hardware versus simulation motion at

t = 1 second ............

A-36 Postprocessor sample plot of combination package

option ..............

A-37 Postprocessor sample plot of PID control packag_

option ................

A-38 Postprocessor sample plot of force/torque package

option ...........

A-39 Display of T3 robot from CAD/CAM data . .

A-_0 Display of base data - layer 0 • •

A-_I .Display of link 1 data - layer 1 .

v

A-19

A-A7

A-48

A-49

A-50

A-51

A-61

A-62

A-63

A-64

A-65

A-66

A-67

A-68

A-69

A-70

A-71

A-76

A-78

A-79

A-79a

A-81

A-82

A-8_

A-84b

A-97

A-98

A-99

A-99j

A-115

A-116

A-129

A-130

A-131

A-195

A-196

A-197

A-203

A-226

A-227

A-228

A-233

A-236

A-236
Rev A, October 1985

Example

A-1

A-2

A-3

A-_

A-5

A-Sa

A-6

A-7

A-8

A-Sa

A-9

A-9a

A-10

A-f1

A-12

A-13

A-14

A-15

Help £ile access interactive run ........

Meta-£ile utility interactive procedure ....

Simple arm creation interactive run ......

Detailed arm creation interactive run ......

Detailed environment creation interactive run ....

Target objects creation interactive run ......

Load objects creation interactive run ......

Total robotic system creation interactive run ....

Requirements analysis interactive run ....

Requirements analysis with movable base run ....

Response simulation interactive run ......

Response simulation with movable base run ....

Motion profile speci£ication interactive run ....

Simulation motion replay interactive run . . •

Simulation vs hardware motion replay interactive run .

Parameter vs parameter plot package interactive run . .

CAD/CAM data display interactive run ....

CAD/CAM data for detailed modeling interactive run

A-2

A-9

A-35

A-55

A-87

A-99e

A-106

A-123

A-I_I

A-1_8

A-160

A-168a

A-178

A-193

A-201

A-21_

A-231

A-234

Table

A-I

A-I!

A-III

File Name Conventions .....

The Actuator File Format ......

Explanation of the Actuator File Variables .

A-5

A-21

A-21

vi
Rev A, October 1985

The following is a list of pages modi£ied or added to document the work

done under this phase o£ contract NASI-16759 £or Langley Research Center:

A-I

A-4

A-4a

A-6

A-6a

A-7

A-9

A-13

A-14

A-17a

A-17b

A-26

A-26a

A-29

A-29a

A-30

A-31

A-31a

A-33

A-33a

A-35

A-36

A-38

A-38a

A-44

A-44a

A-46

A-47

A-52

A-52a

A-53

A-55

A-55a

A-56

A-56a

A-57

A-58

A-59

A-60

A-73

A-74

A-75

A-75a

A-79

A-79a

A-80

A-82

A-83

A-84

A-84a

A-84b A-135a

A-85 A-136

A-87 A-138

A-88 A-138a

A-89 A-140

A-90 A-I_8

A-91 A-148a

A-92 A-148b

A-93 A-148c

A-94 A-148d

A-94a A-150

A-96 A-151

A-99a A-151a

A-99b A-154

A-99c A-154a

A-99d A-159

A-99e A-168a

A-99_ A-168b

A-99g A-168c

A-99h A-168d

A-99i A-168e

A-99j A-169

A-101 A-169a

A-101a A-172

A-103 A-172a

A-103a A-174

A-104 A-174a

A-106 A-177

A-107 A-177a

A-108 A-177b

A-108a A-177c

A-109 A-177d

A-II0 A-178

A-111 A-179

A-111a A-179a

A-112 A-186

A-l12a A-186a

A-II3 A-188

A-114 A-188a

A-ll8a A-188b

A-If9 A-188c

A-121 A-193

A-121a A-229

A-123 A-230

A-124 A-231

A_125 A-232

A-126 A-233

A-128 A-234

A-128a A-235

A-133 A-236

A-135

vii
INTRODUCTION

Rev A, October 1985

Overview

The purpose of the Robotic Simulation Program is to provide a broad range

of computer capabilities to assist in the design, verification, simulation, and

study of robotic systems. ROBSIM is programmed in Fortran 77 for use on a Digital Equipment Corporation VAX 11/750 computer under the VMS operating system.

These user's guides describe the capabilities of the ROBSIM programs, including the system definition function (creation or modification of simple or

detailed arms, environments, targets, loads or robotic systems), the analysis

tools function (response or requirements simulation) and the postprocessor

function (simulation or hardware motion playback or x-y plotting capability).

The Options a user may encounter with each of these executables are explained

in detail and the different program prompts appearing to the user are included. Some useful suggestions concerning the appropriate answers to be given by the user are provided. An example user interactive run is enclosed for

each of the main program services, and some of the capabilities are illustrated.

This appendix is separated into five main sections. This section is an

overview that presents the ROBSIM executive-level user/program interface procedure and describes several aspects of the program that are supervisory or common to the three separate executable parts of ROBSIM. The next four sections

in this document describe the interactive programs: (i) system definition, (2)

analysis tools, (3) postprocessor and (_) preprocessor.

The program con_nand level. - A ROBSIM executive comanand procedure controls

the runtime processes of the system definition function, analysis tools function, postprocessor function or preprocessor function of the program. To run

a ROBSIM function driver, the user should first execute the robotic simulation

command file by typing:

@ROBSIM

The program will question the user for driver selection upon entering this

top-level program. The user should then answer the prompt for program driver

choicewith "PREPDRVR" (for preprocessor), "INITDRVR" (for system definition),

"SIMDRVR" (for analysis tools), or "POSTDRVR" (for postprocessor). Upon

receiving a valid function request, the ROBSIM command file transfers control

to and executes the given processor.

Specify:

INPUT (PREPDRVR) -- TO RUN ROBSIM PREPROCESSOR FUNCTION

(INITDRVR) -- TO RUN ROBSIM SYSTEM DEFINITION FUNCTION

(SIMDRVR) -- TO RUN ROBSIM SIMULATION ANALYSIS TOOLS FUNCTION

(POSTDRFR) -- TO RUN ROBSIM POSTPROCESSOR FUNCTION

WHICH:

A-I
If the postprocessor was chosen, the user distinguishes which pos_processor executable'by specifying whether _he graphics terminal plotting executable or the x-y plotter executable should be run. The following prompt and

program reply occur:

DO YOU WISH (i) TERMINAL OR (2) HARDCOPY PLOTTING?

ENTER INTEGER:

Previous logical name assignment replaced

Previous logical name assignment replaced

The ROBSIM command file level is reentered after FORTRAN STOP when the

program run is complete and other processor instructions are queried. The user

saould acknowledge the following:

EXITING FROM [processor name] FUNCTION

FORTRAN STOP

A= this point =he command file will again prompt for execution directions. If

it is desired to reexecute the current driver, the user should answer appropriately to:

INPUT (Y) TO RUN [processor name] FUNCTION AGAIN, (OTHERWISE, RETURN)

Choice of another driver is accomplished with depressing RETURN to:

INP_ (Q) IF YOU WISH TO EXIT THE PROGRAM (OTHERWISE, RETURN)

The process is repeated for each driver selection. An answer of Q (for quit)

to the last executive level prompt terminates ROBSIM.

The ROBSIM help file access procedure. - During several input prompts, an

integer inpu_ from the terminal of 911 signifies the user wishes to access the

_OBSIM help file tha_ prints user-input parameter definitions and/or some program I/O routine functional descriptions. The user is questioned for an appropriate subcategory relating to the type of information needed through a list of

allowed qualifiers. The information opted will be printed to the terminal.

After obtaining the quested help, en=er successive RETURNs to exit the help

u_ili_y and continue the ROBSIM program. For information pertaining to the

creation and update of the program help file, see the ROBSIM progra_er's

guide. A sample entry into the help file option (Example A-l) follows.

Sample run: An example of the help file access follows:

Example A-I

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

A-2
ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER HELP KEYS (CARRIAGE RETURN FOR LISTING) :

Information available:

INITDRVR POSTDRVR REQOPT SIMDRVR SIMOPT

Topic? POSTDRVR

POSTDRVR

THIS MODULE IS EXECUTED BY THE POST PROCESSOR

Additional information available:

PARAMETERS

FUNCTION

POSTDRVR Subtopic? FUNCTION

POSTDRVR

FUNCTION

The KOBSIM command file prompts the user for the program function desired. The three ROBSIM program functions are System Definition, Analysis Tools, and Post Processing. The user may also

request program termination. Upon receiving a valid function request, the ROBSIM command file transfers control to and executes

the appropriate function driver.

In the Post Processor executive, POSTDRVR, the result of executing option I, is to call subroutine SIMOTION which provides a

replay of the robotic system motion produced from a simulation

run,

Option 2 provides a comparison of motion resultant from direct

hardware theta values read and motion resultant from simulation

execution, through subroutine HDWMOTIN.

If option 3 is selected, subroutine ROBPLT is called to pro_

vide parameter versus parameter plots of any of the data computed

and written to a plot file during the Requirements or Simulation

Analysis Tools Function.

Option 4 returns execution to ROBSIM command file level.

POSTDRVR Subtopic?

Topic?

ill PAGE BLANK NOT FILMED

A-3 PREdEDING PAGE BLANK NOT FILI_,E_

.? -A.
Rev A, October 1985

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POSTPROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

4

The ROBSIM constant parameter values. - A file containing the maximum

values of some parameters that affect the performance of the program execution

is included in most subroutines:

(e.g., a maxlmum number o£ robotic arms per system,

a maxlmum number of joint/links per arm,

a maxlmum number of load objects,

a maxlmum number of target objects,

a maxlmum number of point masses in each link or load,

a maxlmum number of graphics components per link,

a maxlmum number of graphics points allowed in each component,

a maxlmum number of graphics components in an environment,

a maxlmum number of data tablet points per component,

a maxlmum number of nonplanar entity points per component,

a maxlmum number of graphics components in each load object,

a maximum number of graphics components in each target object,

a maximum number of time segments in a motion history profile,

a maximum order for the polynomial describing a time h_story,

a maximum number of Y array data parameters in a plot file,

number o£ segments of the CAD/CAM graphics,

scale factor for the CAD/CAM graphics,

a maximum span of the arm during CAD/CAM graphics,

length in lines of the CAD/CAM file title,

CAD/CAM file flag specifying end of the file directory section,

a maximum number of lines to read from the CAD/CAM file,

a maximum number of B-spline entities in the CAD/CAM file,

a maximum order for the B-spline definin_ equation during CAD/CAM

graphics,

a maximum number o£ arc entities in the CAD/CAM file,

a maximum number of line segments for dividing curve entities in

the CAD/CAM file,

a maximum number of line entities in the CAD/CAM file,

a maximum number of point entities in the CAD/CAM file,

a maximum number of transformation entities in the CAD/CAM file.)

Maximum allowable array sizes can be chan_ed in most cases through

modifications o£ the values set in this maximum parameter file. See the

ROBSIM progranlner's guide for more information and help in changing these

parameter defaults.

A-4
Rev A, October 1985

File type conventions. - It is helpful to establish conventions for the

various file name types used in the ROBSIM program. If a standard scheme is

followed, it is less likely that the I/O files used during a run will be confused. Table A-I gives the typical appendages used during the creation, analysis, preprocessing and postprocessing phases.

A-4a
TABLE A-I. - FILE NAME CONVENTIONS

APPENDAGE

FOR FILENAME

r.ARMt

'.S¥S'

'.LOD'

'.ENV'

'.OBS'

'.ACT'

'.VLT'

t.THP'

'.DAT'

'.AGF'

DEFINITION

Arm geometry file created

during system definition

System geometry file created

during system definition

Load geometry file created

during system definition

Environment geometry file created

during system definition

Obstacle file (nonplanar- X,Y,Z coordinates)

read for detailed geometry input

Actuator definition input file

read by actuator module during

system definition

Response simulation gain input file

Response analysis control options

input file read by control module

Response simulation constraint input file

Hardware theta angle input file

created from hardware conversion

routine, and input during post processing

Hardware voltage control signal input

file created from hardware conversion

routine, and input during response

analysis execution

Time h/story profile file created by

and input to requirements analysis

Requirements or response simulation

options input files; also some output files

Simulation print output files

Plot output files for X-Y pen plotter or

graphics terminals

Arm geometry print output files created

during system definition

A-5
'.PIC'

' .SOF'

'.AVE'

'.TRQ'

'.OUT'

'.BMP'

'.CAD'

'.TRG'

'.SGF'

Rev A, October 1985

Picture files for vector graphics

displays, generated with HARD_COP

routine; may be reproduced on the X-Y

pen plotter after conversion to meta-file

format

Simulation output file for post processing

Acceleration-velocity-theta output file

Torque output file

Actual hardware output files for

voltage control signals and corresponding

theta angle values

Base motion profile created by an input

to requirements analysis

Base reaction torques and forces output file

Printout file of detailed geometry data input

by user

Detailed graphics component data generated

from CAD/CAM file interface in Preprocessor

Target geometry file created during system

definition

System geometry print output files created

with utility RDWRTSYS

The error message file. - This data file is addressed for rectification of

user prompt input errors or other runtime problems. If an error has been encountered in a program aspect that is acknowledged in this error message file,

an error indicator flag will be returned that equals the error message number

to be written at the user terminal by a subroutine. The list o£ program error

messages is saved in a file. The error flag is passed internally between subroutines, and determines the type message to be written to the user terminal.

An example error message that the user might encounter is shown:

ERROR OCCURRED DURING SYSTEM DEFINITION FUNCTION

ERROR NUMBER = 120

INVALID RESPONSE TO LINK CENTER OF MASS INPUT MODE PROMPT

VALID RESPONSES ARE INTEGER I OR 2

INPUT MUST BE IN THE FIRST COLUMN

PROMPT WILL BE REISSUED

A-6

,/r
RevA, October 1985

If a fatal error is met, the user will be prompted for the program termination request flag. The function disposition is given with the mode input:

FATAL ERROR OCCURRED DURING [processor function name]

ERROR NUMBER = [error number assignment]

[error message]

ENTER I TO REISSUE ROBSIM PROGRAM MODE PROMPT

ENTER RETURNTO TERMINATE PROGRAM

The ROBSIM _raphics. - The Evans and Sutherland graphics, Fortran-callable

routines are used for all graphics interaction opted during the preprocessor,

system definition, analysis tools and postprocessor programs. Use of the

accompanying simulation graphics capabilities in ROBSIM is optional; however,

full utilization of the program capabilities is greatly limited without the

graphics. This is especially true during system definition where visual

depiction is a critical strength in accurate modeling of the robotic

primitives for kinematic display and subsequent dynamics calculations. If the

graphics function is desired, the graphics workstation must be assigned via

individual facility procedures before running the ROBSIM command file.

' A-6a
Rev A, October 1985

System definition graphics: When environment, simple arm, detailed arm,

target, load or system graphics is opted, the Evans and Sutherland display, extended switches/lights and analog control dials are initialized. A graphics

display border is drawn; the type heading of the general display is chosen,

either simple cylinder, detailed geometry, environment, target, load or system,

and it is output for the system definition function driver currently under execution. During the run, the user is notified of the extended analog dials activation with the message:

*** E&S DIALS CONTROL OF GRAPHICS _-_*

DISPLAY IS NOW ENGAGEU ***

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

With these dials the user may change the translational, rotational and zoom

perspectives of the displayed picture. Analog dial I allows, a zoom perspective of the picture (changes the size of the display); dials 3 and 4 control

the x-axis translation and rotation, respectively; dials 5and 6 modify the

y-axis translation and orientations of the picture; and dials 7 and 8 furnish

the user the z-axis translation and rotation perspectives. When analysis in

this manner is complete, depress key 31.

Analysis tools graphics: In the response simulation or requirements simulation phase o£ the analysis tools function one of the methods for controlling the motion of the manipulators' joints is via the external Evans and

Sutherland extended switches. Only two robot arms, each with a maximum of six

joints, may be programmed for this mode; key 5 controls arm 1 and key 6 will

allow arm 2 movement. Key _ specifies arm joint control, whereas key I0 implements an end-effector control scheme. If the end-effector-type control is

chosen, the/user may opt for either a base (key II) or tool (key 12) reference

system for the relative arm motion. Translation is effected with key 13 and

rotation of joints is accomplished through key I_. For joint control, key 16

and 22 are the joint I positive and negative angle motions, respectively; key

17 and 23 are the joint 2 positive and negative angle motions; keys 18 and 2_

are for joint 3; keys 19 and 25 are for joint _; keys 20 and 26 are for joint

5; and keys 21 and 27 are for joint 6. For end-effector control, 16 and 22

are the +x and -x buttons, respectively, for translation or rotation in the

chosen reference system; keys 17 and 23 are for +y and -y translation or rotation; and keys 18 and 24 are for +z and -z. E&S key 9 will terminate the function key control session. The user will be allowed the use of an Evans and

Sutherland extended function key reserved for cessation of simulation motion.

While extended switch number 0 is activated, simulation motion is halted and

the user is allowed the freedom to change the translational, rotational and

zoom perspectives o£ the displayed picture through movement of the Evans and

Sutherland extended analog dials. When analysis in this manner is complete,

depressing the same function key number 0 resumes system motion and simulation

time continues updating.

A-7
Postprocessor graphics: During simulation replay options of the postprocessor function, the_ser is also allowed the use of an Evans and Sutherland

extended function key reserved for cessation of system playback motion. While

extended switch number 0 is activated, simulation playback is halted and the

user is allowed the freedom to change the translational, rotational and zoom

perspectives of the displayed picture through movement of the Evans and

Sutherland extended analog dials. When analysis in this manner is complete,

depressing the same function key number 0 resumes playback motion and simulation time continues updating.

Postprocessin_. plot capability access procedure. - The initial prompt at

the user's terminal while executing the parameter versus parameter plot option

in the postproceesor is installation-dependent. It informs the user of the required preliminary-plot device allocation procedures necessary for this option.

For the current version of &OBSIM. the message reads:

THIS PEOGEAM USES THE DI3000 GRAPHICS SYSTEM

THE FOLLOWING SETUP PROCEDURES MUST HAVE BEEN

PEEFORMED:

RUN THE COMMAND F_LE FOR DI3000 SETUP:

@SYS DI :DI3000

FOR HP 7221 PLOTTING RUN COMMAND FILE:_

EPSETUP

FOR VTI25 PLOTTING RUN COMMAND FILE:

VTSETUP

ENTER 1 TO TERMINATE PLOT SUBROUTINE IF THIS

HAS NOT BEEN DONE

ENTE& RETURN TO CONTINUE

The setup exercises to be performed may vary with host computer, or they

may be modified to fit the precedents established at the particular installation site.

The hardcopy utility access procedure. - If a hardcopy save file is wanted, that contains the resultant E&S display during the graphics option in the

system definition, analysis tools or postprocessor, there is a capability for

plotting it on the Hewlett-Packard x-y plotter and VTI25 graphics terminal devices. The user may discover several messages during the ROBSIM program that

appear as:

*** HARD COPY ***

ENTEE ".PIC" FILE NAME PREFIX

(<CR> = NON_) :

An input for this included question allows reEeneratlon of the Evans and

Sutherland display as it appears at time of the utility call through use of an

external program explained in the next subsection. The user input here should

be the name of a picture file to create. If no hardcopy is desired, the user

should depress RETURN when encountered with the prompt during running of ROBSLM

with the graphics option selected.

A-8
RevA, October 1985

Meta-file utility: If the user opts for a hardcopy, the picture file

nameentered from the terminal during the ROBSIMsession will be appendedwith

'.PIC' and saved in the user's directory. The program HCMFL should then be run

to create a meta-file from the '.PIC' file. This executable will again ask the

name of the file saved above (minus the suffix), and will create £ilename

'.MFL.' The specific typed text should be:

RUN HCMFL, and answer the file name question. Then to accommodate a

change in the file format, type

_I_NSLATE

To allocate the desired external hardcopy machine, input:

VTSETUP (for the VTI25 graphics terminal)

or

HPSETUP (for the Hewlett-Packard)

In the same directory in which the meta-file is stored, after the corresponding device has been assigned, run the program by inputting:

VIM_S (for the VTI25)

or

HPMETTRNS (for the Hewlett-Packard)

Answer the prompts for the hardcopy plot properties: The E&S display

will be transferred to the plot device; a general example, A-2, follows.

Sample run: An example run of the meta-file follows.

Example A-2

paper size :I

pen speed :3

# paper sheets :I

:<RETURN >

M >:S MF I metafile name .MFL

M>:DP I

When the picture production is complete:

:<RETURN>

M > :EXIT

The hardware output data conversion utility. - The following explains the

format used by the hardware interface program to create real data output files

(both resolver-to-digital data and digital analog converter data) from an execution of a-hardware planar arm. The hardware files are converted for later

use in the postprocessing simulation vs hardware motion replay option. The

contents of the hardware output file, per processing time step, are:

A-9
RECORD INFORMATION

--m_Q_m

1

2

3

4

5

6

7

8

9

i0

(data identification _ text strlng)

(date and time data was acquired - text strlng)

(sample period at which data was acquired)

(reference signal - text strlng)

(control strategy - text string)

(number of data points)

(additional co,,,ents Q text string)

(additional co,--ents - text string)

(blank line)

(three data values)

A hardware conversion utility reads the data files. This routine must be

modified to fit the particular user hardware system. The postprocessor section

of thls user's guide provides more information on the user-lnteractlve hardware

conversion utility execution.

Other Program Runtlme Notes

Several program aspects deserve mention.

Abnormal exit from the program. - If during execution of the ROBSLM program, the user desires an abnormal termination of the program, an entry of

<control Y> will stop the current process and return the user to the operating

system command level. This may occur, perhaps, if the user enters a state in

which a decision about the correct entry cannot be resolved or, possibly, if

it is Judged that the program, is executing improperly.

Logical unit number assignments. - During each ROBSIM program, a routine

set of logical units is used for all user input and output files. The default

logical unit number assignments are set in one of the program routines. The

message appearing at the terminal when executing any of the three main ROBSIM

function drivers informs the user of the default LU number settings. The message is output as:

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

i0

Ii

14

15

16

17

18

19

USE

READ UNIT (TERMINAL)

WRITE UNIT (TECTAL)

PRINTED OUTPUT UNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

EERORMESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAMS OPTIONS FILE

A-lO
20

21

22

2.3

2/*

PLOT DATA FILE

MOTION TIME _{ISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

The option typed to the user is for acceptance of or changes to these

Fortran file assignments; reques_ for modifications is not currently implemented. This array of logical unit su,_bers for read/_Tite _o the terminal,

printed output and simulation input/output is kept in an i_ternal common block.

User-specified input/output math units. - The user is asked to input the

following flag during each ROBSIM system definition procedure:

WHICd UNITS DO YOU WISH TO USE FOR I/O?

ENTER i FOR METRIC UNITS

ENTER 2 FOR ENGLISH UNITS

Conversions are made to metric units used internally in all calculations.

After answering, the I/O units to be used will then be printed for user acknowledgment. The format will depend on the units delegated, as shown.

Units for input/output are as follows:

English units metric units

Length inches meters

Velocity inches/s meters/s

Acceleration inches/s**2 meters/s**2

Mass pounds(mass) kilograms

Inertia Ibm-in**2 kg-m**2

Force pounds(force) newtons

Torque in-lbf N-m

For all succeeding prompt inputs pertaining to the above entities, the entries

should 0e reconciled in the appropriate I/0 units.

A-II
THE SYSTEM DEFINITION USER'S GUIDE

Rev A, October 1985

This portion of the user's guide describes the use of the system definition function of ROBSIM that allows the construction of robotic workcell environments, manipulator arms, targets, load objects and total robotic systems.

The user may save a variety of environment, arm, target and load object files

in a directory, and may build different robotic system scenarios using these

files. The robotic system ('.SYS') files are used as input to the analysis

tools function of ROBSIM for requirements or response simulation analysis of

the robotic arm and as input to the postprocessor function simulation motion

replay options. A robotic system may include multiple robotic arms, an environment, targets and a load objects file.

With this method, the system definition function provides the means for a

so-called robotic library to be saved where permutations of the robotic workcell constituent files may be used alternately for various simulation runs.

For instance, if a particular loads file is needed with a robotic arm during

one task but a different loads file is needed for another task with the same

arm, two Separate robotic systems including the same robot arm, each employing

the appropriate load objects file necessary for the task, may be built and

saved on file for recall during the two different task simulations.

This ROBSIM function provides, as an option, Evans and Sutherland multipicture system (MPS) graphics capabilities to aid the user in visualizing the

robotic workcell members (environments, arms, targets and loads) or the robotic system concurrently during construction.

The system definition function works in an interactive mode, prompting the

user for the system definition option desired. Valid options are:

i) Create or modify an arm data file;

2) Create or modify a detailed environment file;

3) Create or modify target objects;

4) Create or modify load objects;

5) Create a robotic system data file;

6) Terminate system definition program execution.

After entry into the system definition, the question returned to the user

from the program will be to choose one of the five subprocesses mentioned above

or to end this program function. The user input should be an integer specifying a selection to the prompt:

pRECEDtNG PAGE BLANK I_.OT FIL_E_
Rev A, October 1985

SELECT MODE 0FOPERATION DESIRED

MODE

1

2

3

4

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

In the system definition executive, the results of pursuing option I are

further prompts as to the task to be performed on single-arm data. Option 2

will transfer the program jurisdiction to routines for inventing a detailed

geometry environment file. Targets are built with choice number 3. For load

objects, option 4 gives the user the ability to craft or modify a set of loads

interactively. Lastly, the duty of combining an environment, a set o£ arm

files (elaborate or simple), targets and load object file into a useful robotic system that describes the work cell is accomplished by the choice of option 5. The necessary simple cylinder or detailed single-arm file must exist

before building a system.

At this point the discussion is separated into sections based on the menu

options listed above. Mode i is discussed in the section entitled Procedure

for Creating a Robot Arm; this section includes explanations of robotic arm

initialization, simple cylinder or detailed geometric robot arm definition

with graphics, and robotic arm modification. The user-specified mode 2 option

is discussed in the section Procedure for Creating a System Workcell Environment; it explains definition of fixed environment properties and the detailed

graphics prompts the user will encounter while including detailed environment

components. Mode 3 is referenced in the subsection Procedure for Creating a

Target File, which includes the creation and modification instructions for a

target file. The user option, mode 4, is covered under the heading Procedure

for Creating a Load Objects File; it outlines the initial creation phase (with

or without graphics) and modification mode questions for load objects files.

Also, the construction of a total robotic system with option 5 is handled under the section, Procedure for Creating a Total Robotic System Workcell, which

entails specification of the locations and orientations of the robotic arms

and optional environment, targets and loads within the robotic workcell. A

maximum number o£ robotic arms that may be included in any one system is predefined in the program.

Procedure for Creating a Robot Arm

This section documents the interactive conversation that is met when a selection to create or modify a robotic arm dat_ file is chosen during the system

definition function.

The user is asked to specify the graphics option in the ROBSIM arm creation phase of the system definition functfon with the following prompt:

A-ll+
  ROBOT ARM DEFINITION ** **

******************************

SPECIFY WHETHER GRAPHICS ARE DESIRED

DURING SYSTEM DEFINITION

** NOTE ** YOU MUST HAVE ASSIGNED AN

EVANS AND SUTHERLAND WORKSTATION

PRIOR TO RUNNING EOBSIM IN ORDER TO

REQUEST GRAPHICS

ENTER 1 FOR NO GRAPHICS

ENTER 2 FOR GRAPHICS

An answerer 2 should be _nput for the request flaE if graphics are desired.

The course of action to be employed for the am is selected with the flag:

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

DEFINITION

CREATE ARM DATA FILE

MODIFY EXISTING ARM DATA FILE

SPECIFY DETAILED GEOMETRY

TERMINATE ARM DEFINITION

ENTER INTEGER VALUE FOR MODE DESIRED

The result of executing option i, to create a new basic _ata file, is a

file containing all data input during various routines within the system deflnltlon function, describing a simple cylinder robot arm. Option 2 provides for

the modification of an existing arm data file previously created by the system

definition function through interactive prompts similar to those issued originally. To specify a detailed geometric representation for a robotic arm file,

option 3 should be used to replace a slmple cylinder data file previously generated by option 1 or 2 or to create an additional arm file. A simple cylinder

arm file created with option 1 or 2 must exist prior to selection of option 3.

For all of these options, a robotic arm file will be written in a userspecified file name. Opclon 4, of course, returns control to the main system

definition program level. These variations are described in the following

paragraphs.

Procedure for creating an initial robot arm description. - The control of

basic arm creation is through iterative calls to component initialization subroutines that define the geometry and mass properties of the manipulator base,

joints, links and tool system. A_tuator parameters for dc motor drives can

also be defined. In this mode, subroutines exist to generate only a simple cylinder model for each component and to display the system with line graphics.

The user interface during these routines allows regeneration or correction of

the arm structure currently in the program buffer (adding, deleting, transforming of links as desired during individual arm component entries or after constructlon of the total arm). All data generated during the arm description are

stored in program COMMON blocks and subsequently stored in an arm data file.

A-15
The interactive Inputs include:

SPECIFY SPAN, ORREACH, OF ARM IN [length units]

This input span value is used to scale any later graphics display of this arm

file.

The following subsections [A) through G)] outllne the objects that can be

created under the various simple robotic arm definitions (base, Joint, actuator, llnk, special joint, tool-Jolnt, llnk-tool).

A) Arm base definition. - The manipulator base will be located in and

oriented wlthln the world coordinate system using the next several user inputs.

These parameters should be in the I/O units previously opted by the user.

For definition of the base location:

SPECIFY X, Y, AND Z LOCATION OF BASE

IN WORLD COORDINATES. THE WORLD

COORDINATE SYSTEM IS DEFINED WITH

ORIGIN AT THE CENTER OF THE SCREEN

XW - POSITIVE TO THE RIGHT

YW - POSITIVE UPWARD

ZW - POSITIVE OUT OF THE SCREEN

ENTER BASE X LOCATION, IN [length units]

ENTER BASE Y LOCATION, IN [length units]

ENTER BASE Z LOCATION, IN [length units]

The user then inputs the rotations needed to specify the orientation of

the base component In the world coordinate frame. The Integer rotation axis

indicator array allows rotation about the x, y or z axes for each rotation

needed. With a maximum of three rotations, any orientation matrix necessary

for the base may be defined. Each rotation has an associated angle the user

must also type into the program. This angle must be specified in units of degrees. The prompts are, in order:

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF BASE SYSTEM WITH RESPECT TO WORLD SYSTEM

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

A-16
For the associated angle, input:

ENTER IST ROTATION ANGLE, IN DEGREES

Each successive rotation is multlplled by the current cummulatlve matrix. Continuation of these rotation axls/angle pairs is allowed until the user terminates the sequence of inputs via an entry of 2 at the question:

ENTER 1 TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

The user thenspecifles the length of the "baae-llnk" of the manipulator

by inputting the values defining both the base-link ground and terminal (toward

the direction of the first Joint) x-arls end point coordinates wlth:

SPECIFY ENDPOINTS OF BASE IN BASE COORDINATE

SYSTEM. CENTERLINE OF BASE IS ALONG X AXIS

SO ONLY X VALUES ARE REQUIRED

ENTER X COORDINATE FOR BOTTOM OF BASE, IN [length units]

(SHOULD BE LESS THAN OR EQUAL TO ZERO)

and

ENTER X COORDINATE FOR TOP OF BASE, IN [length units]

(SHOULD BE GREATER THAN OR EQUAL TO DISTANCE

FROM BASE ORIGIN TO FIRST JOINT)

For the simple cylinder graphics representation, the following two inquiries pertaining to rad/us and number of sides for the base cylinder are met:

SPECIFY RADIUS AND NUMBER OF SIDES OF

BASE TO BE USED IN GRAPHIC REPRESENTATION

ENTER RADIUS OF BASE, IN [length units]

and

ENTER NUMBER OF SIDES FOR BASE

MUST BE AN INTEGER FROM 3 TO 9

Note that the parameters including radius (of base, link or cool), endpoints (the proximal and distal coordinates of base, link or Cool), and number

of sides (of base, llnk or tool) are needed only to compute the cylinder representation for the base, llnk or cool during the graphics, and for solving the

standard equation of inertia of a rlght-circular cylinder. A more detailed representation of the base, llnk or tool physical appearance is possible through

other routines within the system deflnlCion function, described further under

the subsection Procedure for creatin_ a detailed robotic arm Geometry.

A-17
Rev A, October 1985

Next, the required modefor calculation of the base center of mass is

asked _or. Calculation is either internal to the programor user-specified:

SPECIFYBASECENTER OF MASS

IN THE BASE COORDINATE SYSTEM

ENTER I TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT OF CENTER OF MASS

If the user wishes to interactively locate the base cg, input for the base center of mass in the base coordinate system follows with:

ENTER X COORDINATE OF CENTER OF MASS IN [length units]

ENTER Y COORDINATE OF CENTER OF MASS IN [length units]

ENTER Z COORDINATE OF CENTER OF MASS IN [length units]

Otherwise, the base cg will be placed at the geometric center of the base

link.

The base mass, in kilograms or pounds (mass), is designated with:

SPECIFY BASE MASS

ENTER MASS IN [mass units]

The user is then asked to respond to inquiries for the method of definition of

the base inertia:

SPECIFY BASE INERTIA MATRIX

ENTER I TO HAVE PROGRAM COMPUTE INERTIA MATRIX

ENTER 2 TO REQUEST USER INPUT OF INERTIA MATRIX

and, if the inertia matrix is to be typed as user-input:

ENTER Ist COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

ENTER 2nd COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

ENTER 3rd COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY cOMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

Else, the inertia matrix calculated by the program is of the standard form for

the inertia distribution of a right circular cylinder.

A-17a
Rev A, October 1985

The flag specification to include point masses is then assigned. A cylinder

that is unbalanced in mass maT"be accurately modeled with the point mass option. Any desired deviation from the inertia or cg of a standard cylinder, if

not already specifically calculated and input in the previous question, may be

effected with an answer of 1 to this option:

ENTER 1 TO SPECIFY POINT MASSES FOR THE BASE

ENTER 2 NOTTO SPECIFY POINTMASSES FORT HE BASE

I£ point masses are to be defined along the link, the user is prompted for the

following values until point mass definition is terminated. The interaction

is given by:

SPECIFY MASS OF BASE "POINT MASS IN [mass units]

and

ENTER X, Y, Z LOCATION OF POINT MASS J IN BASE COORDINATE SYSTEM

ENTER 3 REAL NUMBERS IN [length units]

The location for each of these discrete mass values should be input for the

base in the base coordinates. After the final point mass value and to continue the program, answer 2 for the question appearing as:

ENTER I TO CONTINUE POINT MASS INPUT

ENTER 2 TO TERMINATE POINT MASS INPUT

A-17b
The user is given an opportunity to Cermlnate the base deflnition or redefine any of the prior propertles input for the base with the flag:

ENTER 1 TO BEGIN JOINT/LINK DATA INPUT

ENTER 2 TO REDEFINE BASE

If there are errors in this attempt at modeling the base, the user should type

a 2 to change the base properties..

B) Arm Joint defln/tlon. - In specifying the manlpulator Joints, the sequence for interactive description is Riven with the following.

The Joint type indicator flag for each Joint is input as:

SPECIFICATION OF DATA DEFINING JOINT I

SPECIFY JOINT TYPE

i - HINGE JOINT (YAXIS ROTATION)

2 = SWIVEL JOINT (X AXIS ROTATION)

3 = SLIDING JOINT (X AXIS TRANSLATION)

ENTER JOINT TYPE FOR JOINT I

[It must be noted that in the simulation, hinge Joints rotate about the

Joint y-axis. Swivel Joints rotate about the Joint x-ax/s. Note that sliding

joints are included in the definition phase and in the calculations that will

later be performed during the analysis tools functions. Sliding joints move

laterally along the Joint x-axis. The x-axis of a Joint coordinate system is

directed along the centerline of the link between that joint and the next Joint

(or end-effector if the current Joint is the final Joint in the system). The

orientation of the y-z plane is user-defined but is usually determined by the

joint type (i.e., orientation of axis of rotation).]

The array holding x,y, and z location of the current joint in the previous

joint coordinate system is loaded by the next question:

SPECIFY X, Y, AND Z LOCATION OF CURRENT JOINT

USING PREVIOUS JOINT COORDINATE SYSTEM

THE X AXIS IS DIRECTED FROM THE JOINT ALONG

THE CENTERLINE OF THE LINK BETWEEN THE PREVIOUS

JOINT AND THE CURRENT JOINT

THE YZ PLANE ORIENTATION IS USER DEFINED

NOTE THAT HINGE JOINTS ROTATE ABOUT THE Y AXIS

SWIVEL JOINTS ROTATE ABOUT THE'X AXIS

AND SLIDING JOINTS MOVE ALONG THE X AXIS

ENTER X LOCATION OF JOINT

ENTER Y LOCATION OF JOINT

ENTER Z LOCATION OF JOINT

I IN [length units]

I IN [length units]

I IN [length units]

A-18
The orientation of the current Joint with respect _o the previous Joint

coordination system ls defined with user inputs to the following prompts.

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF CURRENT 3OINT WITH RESPECT TO PREVIOUS

JOINT.

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PALES WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

ENTER IST ROTATION ANGLE, IN DEGREES

The series of coordinate axes rotations and specified angles are used to

compute the relative transformations for the base, successive joints and tool

geome_ric orientations. The rotatiou sequence continua_ion/termination flag

is provided with:

ENTER 1 TO SPECIFY ANOTHER AXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

I

For example consider Figure A-l:

.-Ye

Figure A-I. - Manipulator coordinate systems.

To define joint 3 with respect to joint 2, the location should be given

as n meters in the Y2 direction and 0 meters in the x 2 and z2 directions.

The orientation of joint 3 in the joint 2 coordinate system is -90 ° about the

z2 axis.

A-19
The initialization of the joint variable value, or home position, is n_xt

inquired. The input used should be reckoned in degrees for angular value

joints (hinge or swivel), and in inches or meters for length value Joints (sllding). The entry is glven by:

SPECIFY INITIAL VALUE FOR CURRENT JOINT

VARIABLE. INITIAL ANGULAR ROTATION FOR

HINGE OR SWIVEL JOINTS, INITIAL LENGTH

FOR SLIDING JOINTS

ENTER INITIAL JOINT VARIABLE VALUE FOR JOINT

IN DEGREES FOR ANGULAR VALUE

IN [length units] FOR LENGTH VALUE

The ,Llnimum and laximum distance travel lim/ts for each joint are needed

for the incorporated constraints during a simulation run. The user sets these

physical limits for the Joint movement with the two programmed values input

during:

SPECIFY TRAVEL AND RATE LIMITS FOR CURRENT JOINT.

ENTER MINIMUM AND MAXIMUM ANGULAR ROTATION

POSSIBLE FOR HINGE OR SWIVEL JOINTS, MIN.,MAX.

LENGTH FOR SLIDING JOINTS

ENTER MIN. ,MAX. TRAVEL LIMIT VALUES FOR JOINT

IN DEGREES FOR ANGULAR VALUE

IN [length units] FOR LENGTH VALUE

Also, a meximum rate travel limit for each Joint is assigned. For simplicity,the minimum will be set to the negative of the value input at:

ENTER MAXIMUM RATE FOR JOINT I

IN RADIANS/SEC FOR ANGULAR RATE

IN [velocity units] FOR SLIDING JOINT

C) Arm actuator deflnltlou. - In representing a motor actuator, the user

will first be asked for a flag representing the choice of definition method:

DEFINITION OF ACTUATOR FOR JOINT I

DO YOU WISH TO DEFINE ACTUATOR pARAMETERS

FOR JOINT I

1 INPUT INTERACTIVELYTHE ACTUATOR PARAMETER VALUES

2 READ A FILE FOR PARAMETER VALUE DEFINITION

3 NO ACTUATOR PARAMETER DEFINITION FOR JOINT I

Note that a selection of 3 infers there is to be no actuator included here. An

example of an optional actuator ('.ACT') input file follows (Table A-II). It

must be predeflned and saved on file in the user's directory as presented. It

should contain the characteristic values for each Joint actuator of the arm and

will be read, for each Joint, into the program arrays during the arm creation

phase. Note that the variable descriptions should be in columns 2-19 and thelr

value assignments located in columns 20-60. The units displayed are of the metric I/O type selection, but _y also be specified in English units. In the

Table A-III, the respective shortened text array names are explained.

A-20
TABLEA-II. - THE ACTUATOR FILE FORMAT

TITLE 2-LINK PLANAR ARM CONTROL AND DYNAMICS TEST DATA

KI(1) (N*MIAMP) 3.584

RA(1) (OHMS) 2.8

N(1),A(1)(AMP/V) 20.25,10.

CFR(1),SFR(1)(N*M) .439,.616

LA(1) (w_NRIE8) I.E-04

_3(1) (VI_mlSEC) 3.584

JT(1) (KG-M**2) .0893

KT(1) (N*M/RAD/SC) 8.775E-02

KI(2) (N'M/AMP) 28.512

_(2) (om_s) 5_

N(2),A(2)(._2'[P/V) 86.4,15.

CFR(2),SFR(2)(N*M) 1.36,2.04

LA(2) (_NRIES) .019

_(2) (Vlm_DISEC) 28.512

JT(2) (KG-M**2) .677

KT(2) (N*M/RAD/SC) 1.135

KI(3) (N'M/AMP) 55.288

RA(3) (om_s) 8.75

N(3),A(3)(AMP/V) 4126.,17.5

CFR(3),SFR(3)_N*M) 1.34E-O3,4.02E-03

LA(3) (_NRIES)

KB(3) (V/RAD/SEC) 55.288

JT(3) (KG-M**2)

KT(3) (N*M/RAD/SC) 1.396E+01

TABLE A-III. - EXPLANATION OF THE ACTUATOR FILE VARIABLES

TITLE

KI(t) (N*_/_P)

RA(t) (om_s)

N(1),A(1)(AMP/V)

CFR(Z),SFR(1)(N*M)

LA(Z) (SENRIES)

KS(t) (V/RAD/SEC)

JT(1) (KG-M**2)

KT(1) (N*M/RADISC)

KI(2) (N'M/AMP)

RA(2) (OHMS)

N(2),A(2)(AMP/V)

CFR(2),SFR(2)(N*M)

LA(2) (RENRIES)

KS(2) (V/RAD/SEC)

JT(2) (KG-M**2)

KT(2) (N*M/RAE/SC)

KI(3) (N'M/AMP)

_(3) (OHMS)

N(3),A(3)(.-_-P/V)

CFR(3),SFR(3)(N*M)

LA(3) (HENRIES)

KS(3) (VlRADISEC)

JT(3) (KG-M**2)

KT(3) (N*M/RAD/SC)

_TITLE OF ACTUATOR FILE; MAX. LENGTH- 40

!*** LINK 1 *** MOT.TORQ.CONSTANT- Ke=**

_MOTOR WINDING RESISTANCE- Ra

_GEAE PATIO- n ; AMP.GAIN- KA

_COUL.FRIC.- Kec; ST.FRIC.- Kes

_MOTOR WINDING INDUCTANCE- L

_MOTOR BACK EM.F- Kem f

_EFF. INERTIA- Iem = I m + I. r

_EFF.VIS.DAMP.MOT.&GR.(@MO_.SHFT.)- Key

_*** LINK 2 *** MOT.TORQ.CONSTANT- Ket**

_MOTOR WINDING RESISTANCE- Ra

_GEAE RATIO- n ; AMP.GAIN- KA

/COUL.FRIC.- Kec; ST.FRIC.- Kes

_MOTOR WINDING INDUCTANCE- L

/MOTOR BACK EMF- Kem f

_EFF. INERTIA- lem = Im + I. r

!EFF.VIS.DAMP.MOT.&GR.(@MO_.SHFT.)- Key

_*** LINK 3 *** MOT.TORQ.CONSTANT- K et**

/MOTOR WINDING RESISTANCE- Ra

_GEAR RATIO- n ; AMP.GAIN- KA

/COUL.FRIC.- Kec; ST.FRIC.- Kes

_MOTOR WINDING INDUCTANCE- L

!MOTOR BACK EMF- Kem f

_EFF.INERTIA- lem = I_ + I_ r

_EFF.VIS.DAMP.MOT.&GR.(@MO_.SHFT.)- Kev

A-21
If an actuator properties input file is to be read the input Is:

ENTER FILENAME OF ACTUATOR PARAMETER FILE

TO BE READ. FILE MUST CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]pLANAE.ACT

Otherwise, the user is prompted for each of the actuator properties.

these questions occur £n sequence and appear in a series as:

SPECIFY ACTUATOR TORQUE CONSTANT FOR JOINT I

All of

SPECIFY MOTOR GEAR RATIO FOR

ACTUATOR OF JOINT I

SPECIFY ACTUATOR AMPLIFIER GAIN FOR JOINT I

SPECIFY ACTUATOR BACK EMF CONSTANT FOR JOINT I

SPECIFY MOTOR EFFECTIVE INERTIA FOR

ACTUATOR OF JOINT I

SPECIFY MOTOR WINDING RESISTANCE FOR

ACTUATOR OF JOINT I

SPECIFY MOTOR WINDING INDUCTANCE FOR

ACTUATOR OF JOINT I

SPECIFY COULOMB FRICTION COEFFICIENT FOR

ACTUATOR OF JOINT I

SPECIFY STATIC FRICTION COEFFICIENT FOR

ACTUATOR OF JOINT I

SPECIFY EFFECTIVE VISCOUS DAMPING COEFFICIENT FOR

ACTUATOR OF JOINT I

Note that the dry frlction per Joint is given wlth the static friction coefficient and the actuator vlscous friction is determined by the effective viscous

damping coefficient.

The actuator parameter data entered by the user are saved in the arm file

and not in a separate actuator parameter file as yet.

D) Arm llnk definition. - For each arm llnk definltlou, the following

conversation is encountered.

A-22
First the end points of the link between Joints numbered (i) and (i÷1),

along the joint x-axis, are specified in the joint (i)coordinate system. The

link-base endpoint and link-tool end point should be entered in the prespecifted I/0 units of length.

DEFINITION OF LINK FROM JOINT I TO JOINT I+l

SPECIFY END POINTS OF LINK BETWEEN JOINT I

AND JOINT I+1 IN JOINT I COORDINATE

SYSTEM. CENTEELINE OF LINK IS ALONG X AXIS

SO ONLY X VALUES ARE REQUIRED

ENTER X COORDINATE OF LINK BASE ENDPOINT,

IN [length units] (SHOULD BE LESS THAN OR EQUAL TO ZERO)

ENTER X COORDINATE OF LINK TOOL ENDPOINT, IN [length units]

(SHOULD BE GREATER THAN OR EQUAL TO THE DISTANCE

FROM JOINT I TO JOINT I+l)

The user is next encountered w_h prompts for llnk radius (in inches or

meters) and for the number of sides to be used in the llnk representation:

SPECIFY RADIUS OF LINK BETWEEN JOINT I AND JOINT I+1

TO BE USED IN GRAPHIC REPRESENTATION

ENTER RADIUS, IN [length units]

and

SPECIFY _ER OF SIDES FOR LINK BETWEEN JOINT I AND JOINT I+l

TO BE USED IN GRAPHIC REPRESENTATION

ENTER INTEGER NUMBER OF SIDES FROM 3 TO 9

Next, the required mode for calculation of the link cg is warranted. Calculation is elther internal to the program or user-speclfled:

SPECIFY CENTER OF MASS LOCATION BETWEEN JOINT I

AND JOINT I+l IN JOINT I COORDINATE SYSTEM

ENTER 1 TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT OF CENTER OF MASS

If the user wishes to Interactlvely locate the llnk cg, input for the center of

mass of the llnk between joints (1) and (i+l), in the joint (1) coordinate system follow with:

ENTER X COORDINATE OF CENTER OF MASS IN [length units]

ENTER Y COORDINATE OF. CENTER OF MASS IN [length units ]

ENTER Z COORDINATE OF CENTER OF MASS IN [length units]

A-23
Otherwise, the cg will be placed at the point that is half the length of the

llnk in the link x direction.

The mass of the current link, in kilograms or pounds(mass), is designated

wlthr

SPECIFY _V_ASSOF LINK BETWEEN JOINT I AND JOINT I+1

ENTER MASS, IN [mass units]

The user is then asked to respond to inqu_ries for the method of definition of the link inertia, and the corresponding matrix input one column at a

time, if opting an interactive definition mode. These are:

SPECIFY INERTL%MATRIX FOR LINK BETWEEN JOINT I AND JOINT I+1

ENTER i TO HAVE PROGRAM COMPUTE INERTIA MATRIX

ENTER 2 TO REQUEST USER INPUT OF INERTIA MATRIX

and, if the inertia matrix is to be typed as user-input:

ENTER IST COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

ENTER 2ND COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHO_q_D HAVE UNITS OF [inertia units]

ENTER 3ED COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

Else, the inertia matrix calculated by the program is of the standard form

for the _nertla distribution of a right circular cylinder.

The flag specification to include point masses is then assigned. The modellng of a cylinder that is unbalanced in mass may be accurately accomplished

with the point mass option. Any desired deviation from the inertia or cg of a

standard cylinder, if not already specifically calculated and input in the previous question, may be effected with an answer of 1 to this option:

ENTER 1 TO SPECIFY POINT MASSES FOR LINK I

ENTER 2 NOT TO SPECIFY POINT MASSES FOR LINK I

If there are to be point masses defined along the link, the user is prompted for the following values until point mass definition is terminated. The

interaction is given by:

SPECIFY MASS OF POINT MASS BETWEEN JOINT I AND JOINT I+l

IN [mass units]

A-24
and

ENTER X,Y,Z LOCATION OF POINT MASS J

IN JOINT I COORDINATE SYSTEM

ENTER 3 REAL NUMBERS IN [length units]

The location for each of these discrete mass values should be input for the

link in the current Joint coordinates. After the final point mass value and co

continue the program, answer 2 for the question appearing as:

ENTER 1 TO CONTINUE POINT MASS INPUT

ENTER 2 TO TERMINATE POINT MASS INPUT

This point mass definition option is also available for the tool-llnk descrlptlon. These unique point mass values will be combined with the component

mass [e.g., (llnk or tool) mass + point masses] to obtain _he total mass distrlbutlon for the Jolnt/llnk and tool during robot arm creation. The mass,

centrold locations and inertia matrlxwill be adjusted accordingly for the dynamics calculations. The results will be put in the COMMON locations for the

robotic component.

The preceding Joint, actuator and link prompts will be reissued for each

iteration definition of existent arm constituents chosen by the user. A maximum number of iterations (i.e., maximum number of links) are allowed; this

parameter value is set in a file, and it may be changed. At the end of each

joint/link combination definition session, to terminate the current link and

begin specifyingthe succeeding joint/link, enter a 2 here. When all links

have been assigned properties, the choice selection to the next issued prompt

should equal 3, to skip to the special joint, tool-joint and tool-link entries.

To specify, answer:

ENTER i TO DEFINE ANOTHER JOINT/LINK COMBINATION

ENTER 2 TO REDEFINE CURRENT JOINT/LINK

ENTER 3 TO BEGIN TOOL DATA INPUT

Continuing in this manner, after a 3 is entered to the above question, the

user is asked if any of the previously defined Joints have special a_trlbuces

[e.g., a special Joint is one that does not fall into any one of the categories: hinge, swivel or sliding]. There will be special routines for handling

the dynamics of these predescribed special joints as programmed for the specific Joint propertles. Enter the desired integer value for _he flag:

DO YOU WISH ANY SPECIAL JOINTS?

ENTER ! TO INCLUDE SPECIAL JOINTS

ENTER 2 FOR NO SPECIAL JOINTS

E) Arm special Joint definition. -Among the special joint definition optlons, the user encounters a selection series including inputs for the number

of special joints that are in this arm geometry, the special Joint types and

specifications of which joints are _he special joints. It follows as:

• A-25
Rev A, October 1985

HOW MANY SPECIAL JOINTS IN ARM?

For each special joint that exists:

ENTER JOINTTYPE FOR SPECIAL JOINT I

ENTER I FOR "GORDY JOINT"

WHICH JOINT IS SPECIAl JOINT I?

Note that "Gordy Joint" refers to a special two-degree-of-freedom joint.

This is the only special joint currently modeled in ROBSIM.

The user is next confronted with the option to include a manipulator

end-effector with the pron_t:

DO YOU WISH T0 INCLUDE A MANIPULATOR END-EFFECTOR?

ENTER 1 TO INCLUDE END-EFFECTOR

ENTER 2 FOR NO END-EFFECTOR

If no end-effector is desired, the simulation graphics will display a red

tool of zero length with the same number o£ sides and same radius of the last

arm link. The entries into the arm data file will contain zero mass properties for the end-effector.

F) Arm tool-joint (end-effector) definition. - In specifying the tool

properties, the location for the tool needs to be given in terms of the final

joint coordinate system. Input should be in the I/0 units for length as a

vector from the origin of this final joint reference system to the origin of

the tool-joint reference system. The user answers:

SPECIFY TOOL LOCATION AND ORIENTATION WITH

RESPECT TO FINAL JOINT

SPECIFY X, Y, AND Z LOCATION OF TOOL

IN FINAL JOINT COORDINATE SYSTEM

ENTER X LOCATION OF TOOL IN [length units]

ENTER Y LOCATION OF TOOL IN [length units]

ENTER Z LOCATION OF TOOL IN [length units]

Similar to the routines for orientation of the base and of each successive

joint reference system, the rotation axis indicator array, the rotation angle

in degrees and the rotation sequence continuation/termination flag are queried:

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

0FTOOL SYSTEM WITH RESPECT TO FINAL

JOINT SYSTEM

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

i REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

A-26
3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

and

ENTER IST ROTATION ANGLE IN DEGREES

and

ENTER I TO SPECIFY ANOTHER AXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

Rev A, October 1985

A-26a
G) Arm Cool-link definition. -Likewlse_ the prompts Issued for the toollink properties at initialization appear as those during Joint/link creation.

The end points of the tool (between _he tool-Joint and the tool end) are to be

specified in the tool coordinate frame. The user is questioned:

DEFINITION OF TOOL

SPECIFY END POINTS OF TOOL

CENTERLINE OF LINK IS ALONG X AXIS

SO ONLY X VALUES ARE REQUIRED

ENTER X COORDINATE OF TOOL BASE ENDPOINT,

IN [length units] (SHOULD BE LESS THAN OR EQUAL TO ZERO)

ENTER X COORDINATE OF TOOL ENDPOINT, IN [length unlts]

The tool-link radius and number of sides for the generic cylinder representation are :

SPECIFY RADIUS OF TOOL

TO BE USED IN GRAPHIC REPRESENTATION

ENTER RADIUS, IN [length uniCs]

and

SPECIFY NUMBER OF SIDES FOR TOOL

TO BE USED IN GRAPHIC REPRESENTATTON

ENTER INTEGER NUMBER OF SIDES FROM 3 TO 9°

Next, outline the tool mass propercles computation methods and values:

SPECIFY CENTER OF MASS LOCATION OF TOOL

IN TOOL COORDINATE SYSTEM

ENTER 1 TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT OF CENTER OF MASS

and if the user wishes to affect a particular c8, input this point locale between the tool-jolnt and tool end, as reckoned in the Cool coordinace system:

ENTER X COORDINATE OF CENTER OF MASS IN [lensth units]

ENTER Y COORDINATE OF CENTER OF MASS IN [length units]

ENTER Z COORDINATE OF CENTER OF MASS IN [length units]

Also in Che arm creation routine, define the basic cool mass value in

kilograms or pounds(mass). The effect from the Cool alone, excluding any

planned load mass, is che value input here:

A-27
SPECIFY MASS OF TOOL

ENTER _qAS$, IN [mass" unlts]

Set the tool inertia mass property value with:

SPECIFY INERTIA MATRIX FOR TOOL

ENTER 1 TO HAVE PROGRAM COMPUTE INERTIA MATRIX

ENTER 2 TO REQUEST USER INPUT OF 'INERTIA MATRIX

and, for the inertia expllc£t defln_tlon, for each

matrix column, specify:

ENTER 1ST COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia unlts]

ENTER 2ND COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia un/Cs]

ENTER 3RD COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

In determ_n/ng the inclusion of point masses at the tool, input the flaE:

ENTER 1 TO SPECIFY POINT MASSES FOR TOOL

ENTER 2 NOT TO SPECIFY POINT MASSES FOR TOOL

and for input of each point mass opted the followinE three

responses are needed:

SPECIFY MASS OF POINT MASS IN TOOL

IN [mass units]

and

ENTER X,Y,Z LOCATION OF POINT MASS J

IN TOOL COORDINATE SYSTEM

ENTER 3 REAL NUMBERS IN [length units]

and

ENTER 1 TO CONTINUE POINT MASS INPUT

ENTER 2 TO TERMINATE POINT MASS INPUT

Termination of the tool defln/tlon is accompllshed through answering:

ENTER 1 TO CONTINUE

ENTER 2 TO REDEFINE TOOL DATA

, A-28
Rev A, 0ctobe_ 1985

I£ the user wishes to regenerate any arm component property, this may be attempted when queried with the next printed prompt. The termination of arm generation is a dual function of this prompt by specification of a 1 as input.

Enter:

ENTER 1 TO CONTINUE

ENTER 2 TO MODIFY ARM DATA

When a completely satisfactory simple arm has been built, the answer of 1 will

result in the following interaction:

ENTER FILENAME OF ARM DATA FILE

TO BE CREATED. FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANOUT.ARM

This arm data file is the stored data input during the arm creation session.

It is modifiable with the system definition option for modifying arm files.

It is also the file that may be entered into a robotic system during definition:

DO YOU WISH A PRINTOUT OF USER INPUT ARM GEOMETRY/DESCRIPTION

PARAMETER VALUES?

ENTER I FOR A PRINTOUT OF ARM PARAMETER VALUES INPUT

ENTER 2 FOR NO ARM DESCRIPTION PRINTOUT

is the next prompt given to the user. This printout fie contains geometry and

mass properties input.

If a printout is desired, the user must answer:

ENTER FILENAME OF ARM GEOMETRY FILE

TO BE GENERATED FOR DATA PRINTOUT

FILE MUST NOT CURRENTLY EXIST

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED _0

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.AGF

Procedure for modifying an initial robot arm description. - The following

process is outlined for modifying a simple cylinder robot arm on file. This

is accomplished through an appropriate answer to the aforementioned prompts for

modification of the current component during the initial creation phase, or an,

answer of 2 to the system definition mode:

A-29
Rev A, October 1985

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

DEFINITION

CREATE ARM DATA FILE

MODIFY EXISTING ARM DATA FILE

SPECIFY DETAILED GEOMETRY

TERMINATE ARM DEFINITION

ENTER INTEGER VALUE FOR MODE DESIRED

Also an answer of 2 for the manipulator arm termination flag in the subsection

above, Procedure for creating an initial robot arm description, will result in

the program interaction described here.

The user interface during these routines allows regeneration or correction

of the arm structures previously saved for a particular arm file. It is possible to add, delete or transform the base, joints, actuators, links or tool as

desired with appropriate answers to each individual arm component modification

entry.

This option may be selected for modification of an existing data file containing detailed geometric data. However, modifications should be limited to

data not pertaining to the system geometry or configuration o£ joints and links

(i.e., the arm configuration is defined by joint locations and relative orientations). Modifications in these areas will destroy the detailed data and replace it with simple cylinder data.

A subroutine may read the unformatted data file created by the system definition function containing the contents of pertinent COMMON blocks defining

the robotic arm to be modified. The user is prompted for the file name under

which the file is stored, and for a disposition of save or delete. It is customary for these saved arm files to have a suffix of '.ARM'. The terminal inputs are:

A-29a
Rev A, October 1985

ENTERFILENAMEOFARMDATAFILE

TOBEMODIFIED

THETOTALNUMBEROFCHARACTERSIN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANIN.ARM

ARM DATA FILE HAS BEEN READ

ALL COMMON BLOCKS ARE LOADED

and

SPECIFY DESIRED DISPOSITION OF

ARM DATA FILE

ENTER I TO SAVE FILE FOR FUTURE USE

ENTER 2 TO DELETE FILE

If the user is sure to be overwriting the file with the modified version, then

an answer o£ 2 is in order; if a disposition of delete is encountered, a program reevaluation of the user's intention is forthcoming:

_0_-_DELETION OF FILE REQUESTED

ENTER 1 TO VOID DELETION REQUEST

ENTER RETURN TO VERIFY DELETION REQUEST

After input of the name of the arm file that is to be changed, the values

input previously during the arm creation session defining the arm base, joints,

actuators, links and end-effector are available in the user's program buffer.

To modify a particular value, skip through to the component in need of

changes with successive input integer category choices specifying termination

of the current component modification mode. Enter an appropriate response signifying the start of a new link (or tool) as they are met for each joint/link

combination in the arm geometry until the component for modification is encountered. This option may also be used for parsing through each of the components

(base, links and tool) solely for the purpose of a review of the arm display or

output of an Arm Geometry printout file.

An opportunity to initialize a graphics display representing the arm is

again issued. Also, a chance to change the arm span specification is given by

the prompt:

ENTER i TO KEEP EXISTING SPAN

ENTER 2 TO MODIFY SPAN

Base modifications: If overwriting a base descriptor, interactive prompts

exactly like those outlined above under subsection A will appear to the user.

The new robotic system base position and orientation within the world coordinate system, mass properties or base physical dimensions (end points, radius

or number of sides) will be cross-examined:

A-30
Rev A, October 1985

MODIFICATIONOF SYSTEM BASE DATA

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

1

2

3

4

5

DEFINITION

BASE LOCATION

ROTATION SEQUENCE AND ROTATION ANGLES

BASE END POINTS

BASE RADIUS AND NUMBER OF SIDES

TERMINATE BASEMODIFICATIONS

ENTER INTEGER MODIFICATION CATEGORY DESIRED

BASE MASS PROPERTIES MODIFICATION

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

1

2

3

5

DEFINITION

BASE CENTER OF MASS

BASE MASS

BASE INERTIA MATRIX

POINT MASS VALUES AND LOCATIONS

TERMINATE BASE MASS PROPERTIES MODIFICATIONS

ENTER INTEGER MODIFICATION CATEGORY DESIRED

Joint modifications: In the modification mode for joint parameters the

user is allowed to redefine joint type, joint location as Cartesian coordinates

in terms of the coordinate system o£ the previous joint (or base if the current

joint is joint 1), joint orientation as a rotation sequence of axes and corresponding angles with respect to the previous joint coordinate system (or base if

joint 1), initial joint state (initial angle for hinge or swivel or initial

length for sliding joints), and joint travel limits.

For joint modifications, the process is like that laid out in subsection

B. The link modification category selection occurs after entering a value of

I for the flag:

ENTER i TO BEGIN JOINT/LINK DATA INPUT

ENTER 2 TO REDEFINE BASE

Se!ection of the necessary modification category is effected with:

MODIFICATIONS TO JOINT I DATA

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

1

2

3

4

5

6

DEFINITION

JOINT TYPE

JOINT LOCATION

ROTATION SEQUENCE AND ROTATION ANGLES

INITIAL JOINT VARIABLE VALUE

JOINT MIN.,MAX. TRAVEL LIMIT VALUES

TERMINATE JOINT I MODIFICATIONS

, A-31
RevA, October 1985

ENTER INTEGER MODIFICATION CATEGORY DESIRED

Actuator modi£ications: For adding an actuator to an existing file or

modi£yir_ any predefined actuator properties, the user may again choose the

mode £or modi£ication. The actuator represents the motor at the current

joint under construction. The user may wish £o interactively prompt for

actuator: parameter values or may desire to read a previously constructed file

of actuator parameter values.

A-31a
During modifications, the actuator routine wlll require the input of the

modification category with the resulting prompts as explained in the prior

enumeration C. The user may opt to change the mode of defln/tion to/from interactive construction or the file-speclflc variety. The user chooses:

ACTUATOR DATA MODIFICATIONS

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

1

2

3

4

5

6

7

8

9

I0

11

12

DEFINITION

ACTUATOR EXISTANCE AND DEFINITION METHOD

MOTOR TORQUE CONSTANT

GEAR RATIO

AMPLIFIER GAIN

MOTOR BACK EMF CONSTANT

MOTOR EFFECTIVE INERTIA

MOTOR WINDING RESISTANCE

MOTOR WINDING INDUCTANCE

COULOMB FRICTION COEFFICIENT

STATIC FRICTION COEFFICIENT

MOTOR EFFECTIVE VISCOUS DAMPING

TERMINATE ACTUATOR MODIFICATION

ENTER INTEGER MODIFICATION C,ATEC,ORY DESIRED

Link Modifications: During modifications for links, the user may change

the link end points (in coordinates along the x-axis), link radius in I/O units

of length (previously specified as meters or inches), the location of center of

mass as the Cartesian coordinates of the center of gravity in the coordinate

system of the joint at the "base" end of the link, link mass, inertia matrix

relative to the joint at the "base" end of the link and the number of sides

for the desired simple cylinder to be used by the graphics routines for redisplay. The coordinate system of the Joint at the "base" end of the link should

also be used as the reference for the link point mass locations input.

During the modification mode of the llnk definition session, to motivate

the previously printed llnk properties input cues, the user selects:

LINK DATA MODIFICATIONS

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

i

2

3

4

5

6

7

8

DEFINITION

LINK END POINTS

LINK RADIUS

LINK NUMBER OF SIDES

LINK CENTER OF MASS

LINK MASS

LINK INERTIA MATRIX

POINT MASS VALUES AND LOCATIONS

TERMINATE LINK MODIFICATION

ENTER INTEGER MODIFICATION CATEGORY DESIRED

A-32
RevA, October 1985

On completion of the modifications desired for each joint/link

combination, an entry o£ 3 is needed to the question:

ENTER 1 TO DEFINE ANOTHER JOINT/LINK COMBINATION

ENTER 2 TO REDEFINE CURRENT JOINT/LINK

ENTER 3 TO BEGIN TOOL DATA INPUT

The user is next allowed to enter special joints into the manipulator arm

i£ they were not previously contained in the file that is being modified. If

already contained in the arm, a I to the special joint prompt is required.

I£ a manipulator end-e£fedtor was not defined for the arm file being modified, it may also be entered at this point. In addition, if the original file

contained an end-effector, it may be deleted at the prompt pertaining to

end-effector existence, or the tool properties may be modified by answering 1

to the end-effector prompt.

Tool-joint modifications: The tool-joint setup may be altered with a new

user-specified location for the tool as Cartesian coordinates of the origin of

the tool coordinate system, given in terms of the coordinate system o£ the final joint in the robotic system. The orientation o£ the tool (end-effector) as

a rotation sequence _und corresponding set of rotation angles that define orientation o£ the tool coordinate system with respect to the coordinate system of

the final joint can also be modified.

•For changes to the definition for the tool-joint location or orientation

the user may contemplate the list:

MODIFICATIONS TO TOOL DATA

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

I

2

3

DEFINITION

TOOL LOCATION

ROTATION SEQUENCE AND ROTATION ANGLES

TERMINATE TOOL MODIFICATIONS

ENTER INTEGER MODIFICATION CATEGORY DESIRED

Tool-link modifications: In modify mode for the tool-link, the user is

interactively prompted for tool end points in coordinates along the x-axis,

tool radius in I/0 length units, location o£ the center o£ mass o£ the endeffector as Cartesian coordinates of the center of gravity in the coordinate

system of the joint at the "base" end o£ the tool, tool mass, inertia matrix

relative to the joint at the "base" end o£ the tool, the number of sides for

the desired simple cylinder to be used by the graphics, and the tool point

mass values and relative locations.

A-33
Rev A, October 1985

If the modify mode is enacted, the choices o£ the tool-link properties

that may be modified will appear:

TOOL DATA MODIFICATIONS

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

i

2

3

4

5

6

7

8

DEFINITION

TOOL END POINTS

TOOL RADIUS

TOOL NUMBER OF SIDES

TOOL CENTER OF MASS

TOOL MASS

TOOL INERTIA MATRIX

POINT MASS VALUES AND LOCATIONS

TERMINATE TOOL MODIFICATION

ENTER INTEGER MODIFICATION CATEGORY DESIRED

A-33a
Graphics during simple cTlinder arm creatlon or modification. - If the

graphics function is initiated during the simple single arm creation or modification, subroutines are provided with graphics capability for the simple cylinder representation of the robotic manipulator. The display includes the base,

joint/link combinations and the tool as defined. During the modification mode,

the graphics is handled appropriately; component deletions, additions and

changes are visually reported.

As the user begins a component definition, the current coordinate axis

frame for the component (base, Joint/link or tool) will be shown. The x,y,z

axes are color-coded for the user's convenience. The x,y,z axes will appear as

red, white and blue, respectively.

During any graphics involvement, the user will be allowed to utilize the

Evans and Sutherland extended analog control dials for changes of translational, rotational and zoom perspective to the displayed picture. In this manner, mistakes in the model may be detected at an early stage, corrected and

generation of the arm continued. When the user is ready to end the control

dials loop and continue to the next link, Evans and Sutherland extended function key number 31 should be depressed to deactivate the dials loop.

The simple arm_data created are stored in program COMMONblocks, and represent right circular cylinders of the specified sizes for each system component (the base, each link and the tool) that may be used by the graphics package to draw the arm during the system definition function. The simple cylinder

representation was chosen for ease of data point computation, ease of modification, and acceptability of use as a coarse representation of most robotic system components. The use of simple cylinder representations allows the addition

and deletion of links for quick study of various system configurations.

Sample run. - The inserted pages (Example A-3) show a typical run of a

simple arm creation. Figures A-2 through A-6 show the graphics dlsplays created during this simple arm generation.

A-34
ExampleA-3

RevA, October 1985

@ROBSIM

INPUT(PREPDRVR)--TORUNROBSIMPREPROCESSOR FUNCTION

(INITDRVR)--TORUNROBSIMSYSTEMDEFINITIONFUNCTION

(SIMDRVR)-- TORUNROBSIMSIMULATIONANALYSISTOOLSFUNCTION

(POSTDRVR)--TORUNROBSIMPOSTPROCESSOR FUNCTION

WHICH:INITDRVR

Previous logical nameassignmentreplaced

Previous logical nameassignmentreplaced

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING SYSTEM DEFINITION FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

I0

11

14

15

16

17

18

19

20

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED OUTPUT UNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAM OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<CR>

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

A-35
1

ENTERINTEGERVALUEFORMODEDESIRED

(911 FORTHEROBSIMHELPLIBRARY)

SELECTMODEOFOPERATIONDESIRED

MODE

I

2

3

4

DEFINITION

CREATE ARM DATA FILE

MODIFY EXISTING ARM DATA FILE

SPECIFY DETAILED GEOMETRY

TERMINATE ARM DEFINITION

ENTER INTEGER VALUE FOR MODE DESIRED

WHICH UNITS DO YOU WISH TO USE FOR I/0?

ENTER 1 FOR METRIC UNITS

ENTER 2 FOR ENGLISH UNITS

UNITS FOR INPUT/OUTPUT ARE AS FOLLOWS:

LENGTH METERS

VELOCITY METERS/SEC

ACCELERATION METERS/S_W,2

MASS KILOGRAMS

INERTIA KG-M_2

FORCE NEWTONS

TORQUE N-M

_r... ROBOT ARM DEFINITION ._._

SPECIFY WHETHER GRAPHICS ARE DESIRED

DURING SYSTEM DEFINITION

Rev A, October 1985

A-36
le

Q

O.

0.

90.

** NOTE ** YOU MUST HAVE ASSIGNED AN

EVANS AND SUTHERLAND WORK STATION

PRIOR TO RUNNING ROBSIM IN ORDER TO

REQUEST GRAPHICS

ENTER 1 FOR NO GRAPHICS

ENTER 2 FOR GRAPHXCS

SPECIFY SPAN, OR REACH, OF ARM IN METERS

SPECIFY X, Y, AND Z LOCATION OF BASE

IN WORLD COORDINATES. THE WORLD

COORDINATE SYSTEM IS DEFINED WITH

ORIGIN AT THE CENTER OF THE SCREEN

XW " POSITIVE TO THE RIGHT

YW " POSITIVE UPWARD

ZW " POSITIVE OUT OF THE SCREEN

ENTER BASE X LOCATION, IN METERS

ENTER BASE Y LOCATION, IN METERS

ENTER BASE Z LOCATION, IN METERS

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF BASE SYSTEM WITH RESPECT TO WORLD SYSTEM

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

ENTER IST ROTATION ANGLE, IN DEGREES

ENTER 1 TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

SPECIFY ENDPOINTS OF BASE IN BASE COORDINATE

SYSTEM. CENTERLINE OF BASE IS ALONG X AXIS

SO ONLY X VALUES ARE REQUIRED

A-37
.

0.2

ENTER X COORDINATE FOR BOTTOM OF BASE, IN METERS

(SHOULD BE LESS THAN OR EQUAL TO ZERO)

ENTER X COORDINATE FOR TOP OF BASE, IN METERS

(SHOULD BE GREATER THAN OR EQUAL TO DISTANCE

FROM BASE ORIGIN TO FIRST JOINT)

SPECIFY RADIUS AND NUMBER OF SIDES OF

BASE TO BE USED IN GRAPHIC REPRESENTATION

ENTER RADIUS OF BASE, IN METERS

0.05

ENTER NUMBER OF SIDES FOR BASE

MUST BE AN INTEGER FROM 3 TO 9

1.0

2

SPECIFY BASE CENTER OF MASS

IN THE BASE COORDINATE SYSTEM

ENTER I TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT CENTER OF MASS

SPECIFY BASE MASS

ENTER MASS, IN KILOGRAMS

SPECIFY BASE INERTIA MATRIX

ENTER 1 TO HAVE PROGRAM COMPUTE INERTIA MATRIX

ENTER 2 TO REQUEST USER INPUT OF INERTIA MATRIX

ENTER i TO SPECIFY POINT MASSES FOR THE BASE

ENTER 2 NOT TO SPECIFY POINT MASSES FOR BASE

E&S DIALS CONTROL OF GRAPHICS _

DISPLAY IS NOW ENGAGED _w_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

Rev A, October 1985

A-38
RevA, October 1985

_'** HARD COPY _'_'_'¢

ENTER ".PIC" FILE NAME PREFIX

(<CR>=NONE) :

ENTER I TO BEGIN JOINT/LINK DATA INPUT

ENTER 2 TO REDEFINE BASE

SPECIFICATION OF DATA DEFINING JOINT i

SPECIFY JOINT TYPE

1 = HINGE JOINT (Y AXIS ROTATION)

2 = SWIVEL JOINT (X AXIS ROTATION)

3 = SLIDING JOINT (X AXIS TRANSLATION)

ENTER JOINT TYPE FOR JOINT i

SPECIFY X, Y, AND Z LOCATION OF CURRENT JOINT

USING PREVIOUS JOINT COORDINATE SYSTEM

THE X AXIS IS DIRECTED FROM THE JOINT ALONG

THE CENTERLINE OF THE LINK BETWEEN THE PREVIOUS

JOINT AND THE CURRENT JOINT

THE YZ PLANE ORIENTATION IS USER DEFINED

NOTE THAT HINGE JOINTS ROTATE ABOUT THE Y AXIS

SWIVEL JOINTS ROTATE ABOUT THE X AXIS

AND SLIDING JOINTS MOVE ALONG THE X AXIS

A-38a
ENTER X LOCATION OF JOINT

0.2

ENTER Y LOCATION OF JOINT

0.

ENTER Z LOCATION OF JOINT

O.

1 IN METERS

1 IN METERS

1 IN METERS

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF CURRENT JOINT WITH RESPECT TO PKEVIOUS

JOINT.

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

ENTER IST ROTATION ANGLE, IN DEGREES

-90.

ENTER 1 TO SPECIFY ANOTHERAXIS/ANGLE PAIR

ENTEK 2 TO TEIt_INATE ROTATION SEQUENCE INPUT

SPECIFY INITIAL VALUE FOR CURRENT JOINT

VARIABLE. INITIAL ANGULAR ROTATION FOR

HINGE OR SWIVEL JOINTS, INITIAL LENGTH

FOR SLIDING JOINTS

O.

ENTER INITIAL JOINT VARIABLE VALUE FOR JOINT

IN DEGREES FOR ANGULAR VALUE

IN METERS FOR LENGTH VALUE

SPECIFY TRAVEL AND KATE LIMITS FOR CURRENT JOINT.

ENTER MINIMUM AND MAXIMUM ANGULAR ROTATION

POSSIBLE FOR HINGE OR SWIVEL JOINTS, MIN.,MAX.

LENGTH FOR SLIDING JOINTS

ENTER MIN.,MAX. TRAVEL LIMIT VALUES FOR JOINT

IN DEGREES FOR ANGULAR VALUE

IN METERS FOR LENGTH VALUE

-90- ,90-

ENTER MAXIMUM RATE FOR JOINT 1

IN RADIANS/SEC FOE ANGULAR RATE

IN METERS/SEC FOR SLIDING JOINT

1.5

/

A-39

%
DEFINITION OF ACTUATOR FOR JOINT 1

DO YOU WISH TO DEFINE ACTUATOR pARAMETERS

FOR JOINT I

1 INPUT INTERACTIVELY THE ACTUATOR PARAMETER VALUES

2 READ A FILE FOR PARAMETER VALUE DEFINITION

3 NO ACTUATOR PARAMETER DEFINITION FOR JOINT 1

ENTER FILENAME OF ACTUATOR PARAMETER FILE

TO BE READ. FILE MUST CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE: [ROBD IR ]PLANAR. ACT

PLANAR.ACT

DEFINITION OF LINK FROM JOINT 1 TO JOINT 2

SPECIFY END POINTS OF LINK BETWEEN JOINT 1

AND JOINT 2 IN JOINT 1 COORDINATE

SYSTEM. CENTERLINE OF LINK IS ALONG X AXIS

S0 ONLY X VALUES ARE REQUIRED

ENTER X COORDINATE OF LINK BASE ENDPOINT,

IN METERS (SHOULD BE LESS THAN OR EQUAL TO ZERO)

.

ENTER X COORDINATE OF LINK TOOL ENDPOINT, IN METERS

(SHOULD BE GREATER THAN OR EQUAL TO THE DISTANCE

FROM JOINT i TO JOINT 2)

0.45

SPECIFY RADIUS OF LINK BETWEEN JOINT i AND JOINT 2

TO BE USED IN GRAPHIC REPRESENTATION

ENTER RADIUS, IN METERS

0.07,

SPECIFY NUMBER OF SIDES FOR LINK BETWEEN JOINT 1 AND JOINT

TO BE USED IN GRAPHIC REPRESENTATION

ENTER INTEGER NUMBER OF SIDES FROM 3 TO 9

SPECIFY CENTER OF MASS LOCATION BETWEEN JOINT 1

A_D JOINT 2 IN JOINT 1 COORDINATE SYSTEM

ENTER i TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT OF CENTER OF MASS

SPECIFY MASS OF LINK BETWEEN JOINT 1 AND JOINT 2

ENTER MASS, IN KILOGRAMS

5.108

._ A-40
SPECIFY INERTIA MATRIX FOR LINK BETWEEN JOINT . i AND JOINT

ENTER 1 TO HAVE PROGRAM coMPUTE INERTIA MATRIX

ENTER 2 TO REQUEST USER INPUT OF INERTIA MATRIX

ENTER 1 TO SPECIFY POINT MASSES FOR LINK I

ENTER 2 NOT TO SPECIFY POINT MASSES FOE LINK 1

*** E&S DIALS CONTROL OF GRAPHICS ***

*** DISPLAY IS NOW ENGAGED ***

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

*** HARD COPY ***

ENTER ".PIC" FILE NAME PREFIX

(<CR>-NONE) :

<CR>

ENTER 1 TO DEFINE ANOTHER JOINT/LINK COMBINATION

ENTER 2 TO REDEFINE CURRENT JOINT/LINK

ENTER 3 TO BEGIN TOOL DATA INPUT

SPECIFICATION OF DATA DEFINING JOINT 2

SPECIFY JOINT TYPE

1 " HINGE JOINT (Y AXIS ROTATION)

2 - SWIVEL JOINT (X AXIS ROTATION)

3 " SLIDING JOINT (X AXIS TRANSLATION)

ENTER JOINT TYPE FOR JOINT 2

SPECIFY X, Y, AND Z LOCATION OF CURRENT JOINT

USING PREVIOUS JOINT COORDINATE SYSTEM

THE X AXIS IS DIRECTED FROM THE JOINT ALONG

THE CENTERLINE OF THE LINK BETWEEN THE PREVIOUS

JOINT AND THE CURRENT JOINT

THE YZ PLANE ORIENTATION IS USER DEFINED

NOTE THAT HINGE JOINTS ROTATE ABOUT THE Y AXIS

SWIVEL JOINTS ROTATE ABOUT THE X AXIS

AND SLIDING JOINTS MOVE ALONG THE X AXIS

ENTER X LOCATION OF JOINT

0.426

ENTER y LOCATION OF JOINT

0.

ENTER Z LOCATION OF JOINT

0.

2 IN METERS

2 IN METERS

2 IN METERS

A-41
SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF CURRENT JOINT WITH RESPECT TO PREVIOUS

JOINT.

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

1

ENTER 1ST AXIS OF ROTATION

ENTER 1ST ROTATION ANGLE, IN DEGREES

O.

ENTER 1 TO SPECIFY ANOTHERAXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

SPECIFY INITIAL VALUE FOR CURRENT JOINT

VARIABLE. INITIAL ANGULAR ROTATION FOR

HINGE OR SWIVEL JOINTS, INITIAL LENGTH

FOR SLIDING JOINTS

e

ENTER INITIAL JOINT VARIABLE VALUE FOR JOINT

IN DEGREES FOR ANGULAR VALUE

IN METERS FOR LENGTH VALUE

SPECIFY TRAVEL AND RATE LIMITS FOR CURRENT JOINT.

ENTER MINIMUM AND MAXIMUM ANGULAR ROTATION

POSSIBLE FOR HINGE OR SWIVEL JOINTS, MIN.,MAX.

LENGTH FOR SLIDING JOINTS

ENTER MIN.,MAX. TRAVEL LIMIT VALUES FOR JOINT

IN DEGREES FOR ANGULAR VALUE

IN METERS FOR LENGTH VALUE

-120. ,120.

1.5

ENTER MAXIMUM RATE FOR JOINT 2

IN RADIANS/SEC FOR ANGULAR RATE

IN METERS/SEC FOR SLIDING JOINT

DEFINITION OF ACTUATOR FOR JOINT 2

DO YOU WISH TO DEFINE ACTUATOR PARAMETERS

FOR JOINT 2

1 INPUT INTERACTIVELY THE ACTUATOR PARAMETER VALUES

2 READ A FILE FOR PARAMETER VALUE DEFINITION

3 NO ACTUATOR PARAMETER DEFINITION FOR JOINT 2

A-42
ENTERFILENAME OF ACTUATOR PARAMETER FILE

TO BE READ. FILE MUST CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE: [ROBDIR]PLANAR.ACT

PLANAR. ACT

DEFINITION OF LINK FROM JOINT 2 TO JOINT 3

SPECIFY END POINTS OF LINK BETWEEN JOINT 2

AND JOINT 3 IN JOINT 2 COORDINATE

SYSTEM. CENTERLINE OF LINK IS ALONG X AXIS

SO ONLY X VALI/ES ARE REQUIRED

.

ENTER X COORDINATE OF LINK BASE ENDPOINT,

IN METERS (SHOULD BE LESS THAN OR EQUAL TO ZERO)

ENTER X COORDINATE OF LINK TOOL ENDPOINT, IN METERS

(SHOULD BE GREATER THAN OR EQUAL TO THE DISTANCE

FROM JOINT 2 TO JOINT 3)

0.36

SPECIFY RADIUS OF LINK BETWEEN JOINT 2 AND JOINT 3

TO BE USED IN GRAPHIC REPRESENTATION

ENTER RADIUS, IN METERS

0.06

SPECIFY NUMBER OF SIDES FOR LINK BETWEEN JOINT 2 AND JOINT

TO BE USED IN GRAPHIC REPRESENTATION

ENTER INTEGER NUMBER OF SIDESFROM 3 TO 9

SPECIFY CENTER OF ,MASS LOCATION BETWEEN JOINT 2

AND JOINT 3 IN JOINT 2 COORDINATE SYSTEM

ENTER 1 TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT OF CENTER OF MASS

SPECIFY MASS OF LINK BETWEEN JOINT 2 AND JOINT 3

ENTER MASS, IN KILOGRAMS

1-698

SPECIFY INERTIA MATRIX FOR LINK BETWEEN JOINT 2 AND JOINT 3

ENTER 1 TO HAVE PROGRAM COMPUTE INERTIAMATRIX

ENTER 2 TO REQUEST USER INPUT OF INERTIA MATRIX

, A-43 ,
2

ENTER 1 TO SPECIFY POINT MASSES FOR LINK 2

ENTER 2 NOT TO SPECIFY POINT MASSES FOR LINK 2

E&S DIALS CONTROL OF GRAPHICS

_* DISPLAY IS NOW ENGAGED _m

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

*** HARD COPY ***

ENTER ".PIC" FILE NAME PREFIX

(<CS>--NON_):

ENTER I TO DEFINE ANOTHER JOINT/LINK COMBINATION

ENTER 2 TO REDEFINE CURRENT JOINT/LINK

ENTER 3 TO BEGIN TOOL DATA INPUT

DO YOU WISH ANY SPECIAL JOINTS?

ENTER 1 TO INCLUDE SPECIAL JOINTS

ENTER 2 FOR NO SPECIAL JOINTS

DO YOU WISH TO INCLUDE A MANIPULATOR END-EFFECTOR?

ENTER I TO INCLUDE END-EFFECTOR

ENTER 2 FOR NO END-EFFECTOR

SPECIFY TOOL LOCATION AND ORIENTATION WITH

RESPECT TO FINAL JOINT

SPECIFY X, Y, AND Z LOCATION OF TOOL

IN FINAL JOINT COORDINATE SYSTEM

ENTER X LOCATION OF TOOL,

0. 348

ENTER Y LOCATION OF TOOL,

0.

ENTER Z LOCATION OF TOOL,

O.

IN METERS

IN METERS

IN METERS

Rev A, October 1985

' A-44
SPECIFYROTATIONSEQUENCEFORORIENTATION

OF TOOL SYSTEM WITH RESPECT TO FINAL

JOINT SYSTEM

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER 1STAXIS OF ROTATION

Rev A_ October 1985

A-44a
o

.

0.3

Oi

1

ENTER IST ROTATION ANGLE, IN DEGREES

ENTER 1 TO SPECIFY ANOTHER AXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

DEFINITION OF TOOL

SPECIFY END POINTS OF TOOL

CENTERLINE OF LINK IS ALONG X AXIS

SO ONLY X VALUES ARE REQUIRED

ENTER X COORDINATE OF TOOL BASE ENDPOINT,

IN METERS (SHOULD BE LESS THAN 0R EQUAL TO ZERO)

ENTER X COORDINATE OF TOOL ENDPOINT, IN METERS

SPECIFY RADIUS OF TOOL

TO BE USED IN GRAPHIC REPRESENTATION

ENTER RADIUS, IN METERS

SPECIFY NUMBER OF SIDES FOR TOOL

TO BE USED IN GRAPHIC REPRESENTATION

ENTER INTEGER NUMBER OF SIDES FROM 3 TO 9

SPECIFY CENTER OF MASS LOCATION OF TOOL

IN TOOL COORDINATE SYSTEM

ENTER 1 TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT OF CENTER OF MASS

SPECIFY MASS OF TOOL

ENTER MASS, IN KILOGRAMS

SPECIFY INERTIA MATRIX FOR TOOL

ENTER I TO HAVE PROGRAM COMPUTE INERTIA MATRIX

ENTER 2 TO REQUEST USER INPUT OF INERTIA MATRIX

ENTER 1 TO SPECIFY POINT MASSES FOR TOOL

ENTER 2 NOT TO SPECIFY POINT MASSES FOR TOOL

A-15
Rev A, October 1985

_* E&S DIALS CONTROL OF GRAPHICS cw_

DISPLAY IS NOW ENGAGED _-k

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

<cR>

*** HARD COPY **-m

ENTER ".PIC" FILE NAME PREFIX

ENTER I TO CONTINUE

ENTER 2 TO REDEFINE TOOL DATA

ENTER i TO CONTINUE

ENTER 2 TO MODIFY ARM DATA

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

<CH 

2

DO YOU WISH DETAILED ARM GEOl--?

ENTER 1 TO INCLUDE DETAILED GEOMETRY

ENTER 2 FOR NO DETAILED GEOMETRY

ENTER FILENAMEOF ARM DATA FILE TO BE CHEATED

FILE MUST NOTCURRENTLY EXIST

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANOUT.ARM

PLANAR.ARM

DO YOU WISH A PRINTOUT OF USER INPUT ARM GEOMETRY/

DESCRIPTION PARAMETER VALUES?

ENTER 1 FOR A PRINTOUT OF ARM PARAMETER VALUES INPUT

ENTER 2 FOR NO ARM DESCRIPTION PRINTOUT

ENTER FILENAME OF ARM GEOMETRY FILE

TO BE GENERATED FOR DATA PRINTOUT.

FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR_PLANAR.AGF

PLANAR.AGF

ARM DATA FILE HAS BEEN WRITTEN

ALL COMMON BLOCKS ARE SAVED

A-46
SELECTMODEOFOPERATIONDESIRED

MODE

I

2

3

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

Rev A, October 1985

t.

R01OT'2= SWSTID4 _ _ E

_ _m,-a_-rjmm- s_4m.[ cv%._qmmmMm_wlSm_DN

Figure A-2. - Simple cylinder base component.

A-A7
OR_G_._PAGE_s

OF "pOOR QUALITY

Figure A-3. - Simple. cylinder base and first link.

A-48
O_ _E i_

I__ i _ _,_

Figure A-4. - Simple cylinder base and links.

A-49
Figure A-5. - Complete simple cylinder planar arm.

A-50
ORIGINAL PAGE IS

OF POOR QUALITy

Figure A-6. - X-translation test for simple cylinder arm.

A-51
Rev A, October 1985

After all displayed components are termed complete, the entry to the terminal for halting the arm generation graphics display and termination of the

Evans and Sutherland device unit is:

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

Also, a user-directed question to automatically include a detailed graphics representation for the arm input via the arm creation routine will be advanced. If the answer is to undertake this mode, a detailed geometry component

definition procedure will commence immediately. This allows a more elaborate

description o£ the manipulator arm links to be input. The request is givenby

the prompt:

DO YOU WISH DETAILED ARM GEOMETRY?

ENTER 1 TO INCLUDE DETAILED GEOMETRY

ENTER 2 FOR NO DETAILED GEOMETRY

If a 2 is input, the user is asked to input a filename in which to save

the new arm data and if a printout of user input is desired. Otherwise, an

answer o£ 1 will result in further definition of arm appearance.

The methodology of detailed graphics production is capitalized in the section

below.

Procedure for creatin 6 a detailed robot arm geometry. - Subroutines are

provided to give the user the capability to specify a more elaborate physical

representation for the links of the robotic arm that can detail the geometry o£

real hardware and replace a simple cylinder arm. Components of the robotic arm

are defined by combinations of geometric primitives. A number of detailed components can be included for the base, each link extension and the tool definitions. Combinations of these primitives are used to build more accurate arm

models.

The components are simple three--dimensional geometric shapes. The user is

requested to input the geometric dimensions of the specific shape. Additional

shapes may be added as required. Subroutines are provided to calculate the

data points for each requested shape. Other program input routines are called

to position and orient the components relative to the appropriate robotic arm

base, joint or tool frame. The components are drawn with the graphics package.

The new detailed robot arm data are added to the database describing the robot

manipulator. These routines do not allow modification of detailed components

after such a component has been saved in the arm object data array COMMON

block. Care must be exercised while entering a detailed description because

only the most recently defined component of the detailed geometry may be modified and overwritten without total respecification of the detail beginning with

the simple cylinder data file.

The joint and tool locations input during the simple cylinder arm creation

session are also preserved as the value for the detailed arm. These joint

placements are the key to success when planning the detailed components' locationsand orientations.

A-52
First, the user is queried:

Rev A, October 1985

ENTER 0 NOT TO SAVE A DETAILED GRAPHICS PRINT FILE

ENTER 1 TO SAVE PRINT FILE FOR DETAILED GRAPHICS

DIMENSIONAL VALUES INPUT DURING DETAILED

GRAPHICS DEFINITION

When a 1 is answered to this question, a save £ile containing all o£ the

entered (types) and (dimensions) o£ components is written to a file on disk

that can be printed and used to archive the program interaction. The user, if

opting to save a detailed graphics print file is next prompted for the name in

which to save the print file:

ENTER FILENAME IN WHICH TO SAVE INPUT

DETAILED GRAPHICS DATA

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.NPT

A-52a
Rev A, October 1985

The component shapes are selected and user interaction is as follows _r

each base, link or tool component propagation:

SELECT SHAPE

1 = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

= SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUL"IXYRE

7 = RCTANGULAR STRUCX_URE

8 = DATA TABLET STRUCTURE

9 = FILLET

I0 = NONPLANAR ENTITY

Ii = CAD OBJECT

ENTER INTEGER CHOICE

Upon choosing one of these component shapes, the corresponding sequence of

inputs are as described under the categories sketched later, steps A) through

H). These subsections are also applicable to the detailed definitions of components when following the Procedure for Creating a System Workcell Environment or the detailed option under Procedure for Creating a Load Objects File.

The process for orientation of all detailed graphics components within the

system definition function (during detailed representaton generation for the

environment, robotic.arm or loads) occurs at the beginning of each individual

component depiction. To position the current component properly in the reference coordinate system as it is displayed, the prompts are:

ENTER I IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

and for a rotation to be applied to the detailed part:

ENTER AXIS OF ROTATION

i = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

ENTER ROTATION ANGLE IN DEGREES

and after each rotation angle input:

ENTER I TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

and for translating the component to the correct location:

ENTER X,Y,Z TRANSLATION IN [length units]

A-53
Each shapewill be eventually figured in the world coordinate system with

a total transformation matrix. The component's points data array is loaded

with these transformed values. The distance and rotation questions for the entity are with respect to the base, joint or tool-Jolnt coordlnate system corresponding to the current constituent. Each successive component is graphically displayed as defined and placed in its initialized state, with the base/

llnk/tool transformation matrices concatenated to the inertial system.

Again the user will have the freedom to arrange the display using the

Evans and Sutherland extended analog dlals device for analyzing the component

interlocks at a variety of perspectives. Function key 31 then allows the user

to resume with another component definition or redefinition of the current component, if desired.

The current component of the current link is the only part that may be

modified. The user is offered a chance to redefine the shape if it was incorrectly modelled with a response of 1 to the inquiry:

ENTER 1 TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

A maximum number of components are allowed to be included in any one joint/link

representation. When the link has been accurately portrayed with a set of

these components, enter a 2 for the question:

ENTER i TO DEFINE ANOTHER COMPONENT

ENTER 2 TO GO TO NEXT JOINT/LINK

ENTER 3 TO SAVE FILE AND EXIT

Otherwise the link is not complete, and the user will be required to input another shape dimension integer selection and the respective shape dimensions.

After all link component inputs and at the terminal point of the arm, if

graphics has been elected the user should depress the RETURN key to write the

new data to file and return to the arm building creation routine.

Sample run. - A series of detailed graphics pictures (Fig. A-7 through

A-17) taken during an effort to model the Martin Marietta 3-1ink planar arm are

included here, along with part of the interactive conversation required for

generation, supplied in Example A-4. The base components were built with this

included interactive run, and the representations for the rest of the joints/

links and tool were similarly produced.

For instance, the robotic arm base includes the following constituent components:

I) Rectangular solid - This component has a length of 0.00635 meter

along the individual component +x-axls, a width in the compoment +y-axls of

0.1524 meter and a width in the component +z-axls of 0.1524 meter. It is not

rotated or translated with respect to the base coordinate system;

2) Rectangular solid - The secom_ component has a length of 0.254 meter

along the individual component +x-axls, a width of 0.0889 meter in the component _+y-axis and _+z-axis. It is not rotated with respect ot the base reference system, but is translated 0.00635 meter along the x-axis of the base

coordinate system;

A-54
Rev A, October 1985

3) Cylinder - The third component for the base has a diameter of 0.1397

meter in the component y-axis and z-axis directions. Its length along the

component x-axis extends from the component origin (x=0) to 0.0714 meter. The

cylinder is not rotated with respect to the base reference frame. It is translated 0.26 meter from the base locaiton in the x-direction;

4) Rectangular solid - The last component for the detailed description

of the manipulator base has a length of 0.0508 meter in the component x-axis

extending from the component origin location in the positive x-direction.

Again, the widths are given by 0.111125 in ±y and 0.0635 in ±z in the component

reference frame. This part is translated 0.3318 meter in x and -0.047625 in y

from the base reference location.

Example A-4

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

<cR>

ENTERING SYSTEM DEFINITION FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

i0

II

14

15

16

17

18

19

20

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED OUTPUT UNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAM OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

A-55
Rev A, October i985

SELECTMODEOFOPERATIONDESIRED

MODE

I

2

3

4

5

6

DEFINITION

CREATE/MODIFYARMDATAFILE

CREATE/MODIFYDETAILEDENVIRONMENT

CREATE/MODIFYTARGETOBJECTSFILE

CREATE/MODIFYLOADOBJECTSFILE

CREATESYSTEMDATAFILE

TERMINATESYSTEMDEFINITIONEXECUTION

A-55a
ENTERINTEGERVALUEFORMODEDESIRED

(911 FORTHEROBSIMHELPLIBRARY)

SELECTMODEOFOPERATIONDESIRED

MODE

1

2

3

4

DEFINITION

CREATE ARM DATA FILE

MODIFY EXISTING ARM DATA FILE

SPECIFY DETAILED GEOMETRY

TERMINATE ARM DEFINITION

ENTER INTEGER VALUE FOR MODE DESIRED

ENTER FILENAME OF ARM DATA FILE

TO BE MODIFIED

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE: [ROBDIR]PLANIN.ARM

PLANAR. ARM

ARM DATA FILE HAS BEEN READ

ALL COMMON BLOCKS ARE LOADED

SPECIFY DESIRED DISPOSITION OF

ARM DATA FILE

ENTER 1 TO SAVE FILE FOR FUTURE USE

ENTER 2 TO DELETE FILE

ENTER 0 NOT TO SAVE A DETAILED GRAPHICS

PRINT FILE

ENTER 1 TO SAVE PRINT FILE FOR DETAILED

GRAPHICS DIMENSIONAL VALUES INPUT

DURING DETAILED GRAPHICS DEFINITION

ENTER FILENAME IN WHICH TO SAVE INPUT

DETAILED GRAPHICS DATA

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.NPT

PLANAR. NPT

DEFINITION OF DETAILED GRAPHICS FOR LINK I

(NOTE: LINK i DENOTES THE BASE)

Rev A, October 1985

A-56
SELECTSHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYMTRAPEZOID

5 = NONSYMTRAPEZOID

6 = TRIANGULARSTRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATATABLETSTRUCTURE

9 = FILLET

I0 = NONPLANARENTITY

Ii = CADOBJECT

ENTERINTEGERCHOICE

ENTER LENGTH (X) IN METERS

0.00635

ENTER Y (WIDTH IS +/-Y) IN METERS

•0. 1524

ENTER Z (BASE IS +/-Z) IN METERS

0. 1524

Rev A, October 1985

A-56a
ENTERi IF ROTATIONSREQUIRED

ENTER2 IF TRANSLATION ONLY

ENTER X,Y,Z TRANSLATION IN METERS

0.,0.,0.

":_:_:_E&S DIALS CONTROL OF GRAPHICS _'_'_:_

_',_'_'_ DISPLAY IS NOW ENGAGED _'_'_'_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

_',_',_'c HARD COPY _'_'c

ENTER ".PIC" FILE NAME PREFIX

(<CR>:NONE) :

ENTER 1 TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER I TO DEFINE ANOTHER COMPONENT

ENTER 2 TO GO TO NEXT JOINT/LINK

ENTER 3 TO SAVE FILE AND EXIT

DEFINITION OF DETAILED GRAPHICS FOR LINK 1

(NOTE: LINK I DENOTES THE BASE)

3

SELECT SHAPE

i = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

I0 = NONPLANAR ENTITY

II = CAD OBJECT

ENTER INTEGER CHOICE

ENTER LENGTH (X) IN METERS

0.254

ENTER Y (WIDTH IS +/-Y) IN METERS

0.0889

Rev A, October 1985

A-57
ENTERZ (BASEIS +/-Z) IN METERS

0.0889

ENTERI IF ROTATIONSREQUIRED

ENTER2 IF TRANSLATIONONLY

ENTERX,Y,Z TRANSLATIONIN METERS

0.00635,0. ,0.

•._.':*E&SDIALSCONTROLOFGRAPHICS:'c:c:_

•'_"* DISPLAYIS NOWENGAGED -:c:_%

DEPRESSFUNCTIONSWITCH31 TODISENGAGE

THEGRAPHICSLOOPANDCONTINUE

",'_'._HARDCOPY_'_'_'_

ENTER".PIC" FILE NAMEPREFIX

(<CR>=-NONE) :

ENTERI TOCHANGECURRENTCOMPONENT

ENTER2 IF COMPONENT IS CORRECT

ENTERI TODEFINEANOTHERCOMPONENT

ENTER2 TOGOTONEXTJOINT/LINK

ENTER3 TOSAVEFILE ANDEXIT

DEFINITIONOFDETAILEDGRAPHICSFORLINK 1

(NOTE:LINK i DENOTESTHEBASE)

SELECTSHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYMTRAPEZOID

5 = NONSYMTRAPEZOID

6 = TRIANGULARSTRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATATABLETSTRUCTURE

9 = FILLET

i0 = NONPLANARENTITY

11 = CADOBJECT

ENTERINTEGERCHOICE

ENTERDIAMETERIN METERS

0.1397

Rev A, October 1985

A-58
Rev A, October 1985

ENTERLENGTHIN METERS

0.0714

ENTER1 IF ROTATIONSREQUIRED

ENTER2 IF TRANSLATIONONLY

2

ENTERX,Y,Z TRANSLATIONI METERS

0.26,0.,0.

_:_:_'cE&S DIALS CONTROL OF GRAPHICS _',_'_'_

;_:_:_DISPLAY IS NOW ENGAGED ":_:_'_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

<CR>

":c:::_ HARD COPY _'_'_'_

ENTER ".PIC" FILE NAME PREFIX

(<CR>=NONE) :

ENTER I TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER 1 TO DEFINE ANOTHER coMPONENT

ENTER 2 TO GO TO NEXT JOINT/LINK

ENTER 3 TO SAVE FILE AND EXIT

DEFINITION OF DETAILED GRAPHICS FOR LINK I

(NOTE: LINK I DENOTES THE BASE)

SELECT SHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

i0 = NONPLANAR ENTITY

II = CAD OBJECT

ENTER INTEGER CHOICE

ENTER LENGTH (X) IN METERS

0.0508

ENTER Y (WIDTH IS +/-Y) IN METERS

0.111125

A-59
ENTERZ (BASEIS +/-Z) IN METERS

0.0635

2

ENTERI IF ROTATIONSREQUIRED

ENTER2 IF TRANSLATIONONLY

ENTERX,Y,Z TRANSLATIONI METERS

0.3318,-0.047625,0.

_',_'_'*E&SDIALS CONTROL OF GRAPHICS _'_',-,'_

I t _,',_DISPLAY IS NOW ENGAGED -:_:c:_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

<CR>

_'_',_"HARD COPY _'_'_"

ENTER ".PIC" FILE NAME PREFIX

(_CR>=NONE) :

ENTER I TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

2

ENTER I TO DEFINE ANOTHER COMPONENT

ENTER 2 TO GO TO NEXT JOINT/LINK

ENTER 3 TO SAVE FILE AND EXIT

DEFINITION OF DETAILED GRAPHICS FOR LINK 2

(NOTE: LINK i DENOTES THE BASE)

SELECT SHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

10 =NONPLANAR ENTITY

11 = CAD OBJECT

ENTER INTEGER CHOICE

o

o

o

Rev A, October 1985

A-60
ORIGINAL PAGE_ IS

OF POOR QUALITY_

Figure A-7. - First component in detailed arm base.

A-61
Figure A-8. - First two componentsin detailed arm base.

A-62
ORIGINAL" 'PAGE IS

'_OE" POOR QUALITY

I

Figure A-9.- Beginnining joint i in detailed arm components.

A-63
• I

', J

/ J I

Figure A-10. - Generation of link 1 in detail arm.

A-64
Figure A-II. - Completion of base and link I in detail arm.

A-65
I . i

t

/"

Figure A-12. - Zoom perspective of base and link i of detail arm.

A-66
.OF POOR QUA'LITYjf

m

i

I

f

j

Figure A-13. - Erroneous component entry during joint 2 of detail arm.

A-67
/

/

Figure A-14. -

First two components of joint 2 in detail arm after correction.

A-68
Figure A-15. - Completion of joint 2 in detailed arm.

A-69
II

II

Figure A-16. - Completion of base, link i and 2 of detailed arm.

A-70
Figure A-17. - Complete detailed planar arm.

A-71
The conversation appearing at the end of any arm building session is as

follows. The contents of the robotic arm that is saved on file after definition are the pertinent COMMON blocks describing the robotic arm geometry, mass

properties and graphics description. The user is prompted for the file name

(usually appended with '.ARM') under which the file is to be stored:

ENTER FILENAME OF ARM DATA FILE

TO BE CREATED. FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANOUT.ARM

This is the arm ('.ARM') file that the user will enter into a robotic system

scenario.

Option for a printout describing the robotic arm geometry is also implemented. To receive a copy of the Arm Geometry ('.AGF') file, answer 1 to:

DO YOU WISH A PRINTOUT OF USER INPUT ARM GEOMETRY/

DESCRIPTION PARAMETER VALUES?

0 FOR NO ARM DESCRIPTION PRINTOUT

1 FOR A PRINTOUT OF ARM PARAMETER VALUES INPUT

and, if opting for the printout file of the user inputs durlng the arm geometry definition session, input the file name in which to store the printout:

ENTER FILENAME OF ARM GEOMETRY FILE

TO BE GENERATED FOR DATA PRINTOUT.

FILE MUST NOT CURRENTLY EXIST."

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.AGF

An example printout of the arm geometry file follows.

A-72
Rev A, October 1985

Exampleof Arm Geometry File Printout

-:_.w_:_w_'cINPUT ARM GEOMETRY DESCRIPTION -.'::_'_'r.'_

NUMBER OF JOINTS, NJ 2

MANIPULATOR ARM SPAN, OR REACH, ARMSPN O.10000E+01

BASE DATA :

BASE LOCATION, AJTLOC O.00000E+O0 0.O0000E+00 0.O0000E+O0

ORIENTATION, OR -0.43711E-07 0.10000E+OI 0.00000E+O0

-O.10000E+OI-O.43711E-O7 0.00000E+00

O.O0000E+O0 0.00000E+O00.10000E+OI

ROTATION SEQUENCE, JNTSEQ 300

ROTATION ANGLES, AJTANG 0.900OOE+02 0.O0000E+00 O.00000E+O0

BASE END POINTS, ENDPTS O.O00OOE+O0 0.20000E+00

NUMBER OF SIDES OF BASE, NSDLNK 5

BASE RADIUS, ALKRAD 0.50000E-Of

BASE MASS ALKMAS O.IO000E+OI

BASE INERTIA MATRIX IN LOCAL COORD

0.12500E-02 O.O0000E+00 0.0000OE+O0

0.O0000E+00 0.39583E-02 0.00000E+00

0.00000E+O0 O.O0000E-00 0.39583E+02

JOINT 1 DATA :

JOINT TYPE, JNTTYP( I) I

INITIAL VALUES, AJTVAR( i) 0.00000E+O0

TRAVEL LIMIT, TRVLMT( I) -0.15708E+01 0.15708E+01

JOINT LOCATION, AJTLOC( 2) 0.20000E+O00.00000E+00 O.O0000E+O0

ORIENTATION, OR( 2) -0.43711E-07-O.IOO00E+010.O0000E+O0

0.10000E+01-0.43711E-07 0.O0000E+00

O.00000E+O0 0.00000E+00 0.10000E+01

ROTATION SEQUENCES, JNTSEQ( 2) 300

ROTATION ANGLES, AJTANG( 2) -0.90000E+02 0.00000E+00 0.00000E+O0

ENDPOINTS, ENDPTS( 2) O.00000E+O0 0.45000E+00

NUMBER OF SIDES, NSDLNK( 2) 7

RADIUS OF LINK, ALKRAD( 2) 0.70000E-01

LINK MASS, ALKMAS( 2), IN KILOGRAMS 0.51080E+01

LINK TOTAL INERTIA MATRIX AINMAT (2) IN LOCAL COOR

0.12515E-01 0.00000E+00 0.00000E+O0

0.O0000E+01 0.92_55E-01 0.00000E+O0

0.00000E+OI 0.O0000E+00 0.92455E-01

A-73
Rev A, October 1985

MOTORTORQUECONSTANT,ORKI( I) 0.3584000111E+01

MOTORWINDINGRESISTANCE, ARMRA(i) 0,2799999952E+01

GEARRATI0, GRATN(I) 0.2025000000E+02

AMPLIFIERGAIN, AMPGA(I) 0.1000000000E+02

COULOMBFRICTIONCOEFF,CFCOEF(i) 0.4390000105E+00

STATICFRICTIONCOEFFICIENT,FCOEF(1) 0.6159999967E+00

MOTORWINDINGINDUCTANCE, ARMLA(i) 0.9999999747E-04

MOTORBACKEMF,EMFKB(I) 0.358_000111E+01

EFFECTIVEINERTIA, EFFJT(1) 0.8929999918E-01

EFFECTIVEVISCOUSDAMPING,EFFKT(I) 0.8775000274E-01

JOINT 2 DATA :

JOINT TYPE, JNTTYP( 2) 1

INITIAL VALUES, AJTVAR( 2) 0.00000E+00

TRAVEL LIMIT, TRVLMT( 2) -0.20944E+01 0.20944E+01

JOINT LOCATION, AJTLOC( 3) 0.42600E+00 0.00000E+00 0.00000E+00

ORIENTATION, OR( 3) 0.10000E+01 0.00000E+00 0.00000E+00

0.00000E+00 0.10000E+01 0.00000E+00

0.00000E+00 0.00000E+00 0.10000E+01

ROTATION SEQUENCES, JNTSEQ( 3) i00

ROTATION ANGLES, AJTANG( 3) O.00000E+O00.00000E+O00.O0000E+00

ENDPOINTS, ENDPTS( 3) O.O0000E+O0 0.36000E+00

NUMBER OF SIDES, NSDLNK( 3) 7

RADIUS OF LINK, ALKRAD( 3) 0.60000E-01

LINK MASS, ALKMAS( 3), IN KILOGRAMS 0.16980E+01

LINK TOTAL INERTIA MATRIX AINMAT (3) IN LOCAL COOR

0.30564E-02 O.00000E+O0 O.O0000E+O0

0.00000E+01 0.19867E-01 O.O0000E+00

O.00000E+OI 0.00000E+O0 0.19867E-01

MOTOR TORQUE CONSTANT, TORKI(2) 0.2851199913E+02

MOTOR WINDING RESISTANCE, ARMRA(2) 0.5000000000E+01

GEAR RATI0, GRATN(2) 0.8640000153E+02

AMPLIFIER GAIN, AMPGA(2) 0.1500000000E+02

COULOMB FRICTION COEFF, CFCOEF(2) 0.1360000014E+01

STATIC FRICTION COEFFICIENT,FCOEF(2) 0.2039999962E+01

MOTOR WINDING INDUCTANCE, ARMLA(2) 0.1899999939E-01

MOTOR BACK EMF, EMFKB(2) 0.2851199913E+02

EFFECTIVE INERTIA, EFFJT(2) 0.6769999862E+00

EFFECTIVE VISCOUS DAMPING, EFFKT(2) 0.1134999990E+01

TOOL DATA :

TOOL LOCATION, AJTLOC 0.3_800E+00 0.00000E+00 0.00000E+00

ORIENTATION, OR 0.10000E+01 0.00000E+00 0.00000E+00

0.00000E+00 0.10000E+01 0.00000E+00

0.00000E.00 0.00000E+00 0.10000E+01

ROTATION SEQUENCE, JNTSEQ I00

ROTATION ANGLES, AJTANG O.O0000E+O00.O0000E+O00.O0000E+O0

TOOL END POINTS, ENDPTS 0.00000E+00 0.10000E+00

NUMBER OF SIDES OF TOOL, NSDLNK 8

TOOL RADIUS, ALKRAD 0.30000E-Of

A-74
TOOLMASS,ALKMAS,IN KILOGRAMS0.30000E+O0

TOOLINERTIAMATRIXIN LOCALCOOR

0.13500E-01 0.00000E+00 O.00000E+O0

O.O0000E+000.70000E-02 0.00000E+O0

0.O0000E+O0O.O0000E+O00.70000E-02

Rev A, October 1985

Most of the explanations of the output variables may be decoded from the

printout example. For further information refer to the ROBSIM programmer's

guide.

A) Cylindrical and cone-shaped entities. - The system definition

function option to create detailed components parameterizing cone shaped or

cylindrical forms is described here. These shapes are included during

detailed graphic representation generation for any of the robotic system

constituents (environment, arms, targets, loads). The input values for the

shape dimensions are used to fashion the data points that circumscribe the

shape.

For cylinders, these input elements are:

ENTER DIAMETER IN [length units]

and

ENTER LENGTH IN [length units]

For cone components the user needs to specify:

ENTER DIAMETER IN [length units]

and

ENTER TOP DIAMETER OF CONE IN [length units]

and

ENTER LENGTH IN [length units]

This input should be in the user-opted I/0 units of length (meters or

inches). For the diameters and lengths, the data defining the shape are computed in a shape coordinate system. The x-axis is along the shape centerline

and the shape length is measured from x=O to x=the cylinder length. The vertex

points of the displayed cylinder or cone are computed standardly with 8 sides

and the shape diameters input. The data points will be loaded into an array as

Cartesian coordinates in the shape coordinate system. Figure A-18 symbolizes

the cylinder and the cone components. In this figure the dimensions are denoted with the symbols:

DIAMI = Diameter of cone bottom and cylinder diameter

DIAM2 = Diameter of top of cone

CLEN = Length of cone/cylinder

A-75
Rev A, October 1985

B) Rectangular and trapezoidal entities. - Within the system

definition generation of detailed graphic representations for environment,

arm, targets, or load objects files the following values are input by the user

to describe rectangular solids, symmetric trapezoidal and nonsymmetric

trapezoidal solid figures.

A-75a
• _ DZAMI_ x

Z

Cy finder !

DI_

z

Y

X

I

I I

i 1 i

I

= CLEN _i

Figure A-18. - Cylinder and cone shape coordinate system.

A-76
For rectangular solid components, input in the predefined I/O units:

ENTERLENGTH(X) IN [length units]

ENTER Y (WIDTH IS +/-Y) IN [length units]

ENTER Z (BASE IS +/-Z) IN [length units]

For symmetric or nonsymmetric trapezoidal components:

ENTER LENGTH (X) IN [length units]

ENTER Y (WIDTH IS +/-Y) IN [length units]

and the first and second base of the trapezoid:

ENTER Zl IN [length units]

ENTER Z2 IN [length units]

For these rectangles and trapezoids, the points that describe the figure

are computed and loaded into the graphics array for the display. The x-axis

is along the shape centerline and the shape length is measured from x-O to

x=the input length (XO). The rectangle and symmetric trapezoid are symmetric

about both the y and z axes. For symmetric trapezoids, the z dimension equals

2*ZI along the entire figure. The non-symmetric trapezoid is symmetric about

the y-axls but the z-axls dimensions are measured from z-0 to z=Z2 at the xzXO

end. The vertex points are computed corresponding to the dimensions input, and

the data points are stored in an array as Cartesian coordinates in the shape

coordinate system (Figure A-19). The following equivalent terms are used in

these figures:

X0 = Length of figure

Y0 z Width of figure

Z0 - Base of rectangular figure

Z1 - First base of sym. or nonsym, trapezoid

Z2 = Second base of sym. or nonsym, trapezoid

A-77
/

/

f

4: ' RedVangu_ar Selid

f

_X

zl

_Y .,

zl (_ Nonsy._etric Trapezoidal Solid

z2

X

Figure A-19. - Rectangular and trapezoidal shape coordinate system.

A-78
Rev A, October 1985

D) Rectangular beam-shaped entities. - A rectangular cross-sectional

beam may be created during the detailed graphic representation generation for

the environment, manipulator, target or load objects.

I£ the requested component is a rectangular beam structure all of the required input values are given by:

ENTER RECTANGULAR Y (WIDTH IS +/-Y SIDE LENGTH) IN [length units]

ENTER RECTANGULAR Z (BASE IS +/-Z SIDE LENTH) IN [length units]

ENTER SEGMENT LENGTH (X) IN [length units]

ENTER NUMBEROF SEGMENTS

The length inputs should be the value equivalences in I/0 units, meters or

inches. The length of the segments of the rectangular beam structure combined

with the number of segments to be included and the inscribed rectangle parameters allow the definition of the entity data points. The beam length is measured along the x-axis from x=0 to x=the input number of segments multiplied by

an individual segment length (NSEG*SEGL). The data points defining the beam

are computed in a shape coordinate system and stored in an array as Cartesian

coordinates. Figure A-20a illustrates a rectangular cross-sectional beam

entity and uses the symbolism:

RCTL = Rectangle side length in Y

RCTLI = Rectangle side length in Z

SEGL = Segment length

NSEG = Number of segments

z

RCTL

I

I

I

X

Y

Figure A-20a. - Rectangular cross-section beam coordinate system.

A-79a
Rev A, October 1985

C) Triangular beam-shapedentities. - A triangular cross-sectional beam

maybe created during the detailed graphic representation generation for the

environment, manipulator, target or load objects.

If the requested componentis a triangular beamstructure all of the required input values are given by:

ENTERTRIANGLESIDELENGTHIN [length units]

ENTERSEGMENTLENGTHIN [length units]

ENTERNUMBEROF SEGMENTS

The length inputs should be the value equivalences in I/0 units, meters or

inches. The user prompt for length of the base is also used as the triangular

height. The length of the segmentsof the triangular beamstructure combined

with the numberof segments to be included and the inscribed triangle parameters allow the definition of the entity data points. The beamlength is measured along the x-axis from x=Oto x=the input numberof segmentsmultiplied by

an individual segmentlength (NSEG*SEGL).The data points defining the beam

are computedin a shape coordinate system and stored in an array as Cartesian

coordinates. Figure A-20 illustrates a triangular cross-sectional beamentity

and uses the symbolism:

TRIL = Triangle side length

SEGL= Segmentlength

NSEG= Numberof segments

Y

IL_/SEGL

SEGL

=X

Figure A-20. - Triangular cross-section beam coordinate system.

A-79
Rev A, October 1985

E) Data tablet-defined structures. -The routine that interfaces with a

data tablet devide is called within the systemdefinition function during detailed graphic representation generation for the environment, the robotic arm,

target or load if input of planar x/y values are needed. The points are

entered via the Data Tablet device with a touch-sensing pen.

The user is asked:

ENTERNUMBEROF POINTSTOBEINPUT

MAXIMUMOF500

DONOTINCLUDEREPEATOFFIRSTPOINT

PROGRAMAUTOMATICALLYCONNECTSLAST

POINTBACKTOFIRSTPOINT

ENTER3 POINTSUSINGDATATABLET

At which time the data points should be input at the data tablet.

The points are displayed by the graphics as they are input by the user.

The discretized x and y values of the points that are perceived by the external device will be echoed at the user terminal. The user-entered integers

and the equivalent scaled values used for the data are scrolled on the screen,

for example, as the observed sequence

I 1368 727 7973 -11096

2 1260 831 4760 -8002

3 1215 614 3421 -14458

where the fburth and fifth columns are the input integer x,y values (columns 2

and 3) times the internal scale factor.

When finished with all the point data the program quests a termination

flag for the entry process with:

ENTER I TO TERMINATE

The continuing prompts for this option deal with the values needed to further scale the data tablet figure using knowledge about the actual dimensions

of the object being modelled. The user is asked to input two points between

which there is a known dimension. The distance between the two virtual points,

saved as discrete integers in the program, is entered and the program calculates the real number data point values of the figure perimeters. The interaction follows as:

ENTER TWO POINTS USING DATA TABLET

BETWEEN WHICH THERE IS A KNOWN DISTANCE,

FOR SCALING

(These should be specified via the data tablet device.)

Then the user inputs:

ENTER DIMENSION BETWEEN TWO POINTS IN [length units]

A-80
The origin to be used for the figure's coordinate reference frame is correlated to:

SPECIFY POINT FOR ORIGIN USING DATA TABLET

FIGURE WILL BE TRANSLATED TO THIS POSITION.

After which the inquiry for.the depth to be used for the object is required.

The depth will be applied uniformly along the whole entity. Specify:

ENTER Z (DEPTH IS +/-Z) IN [length units]

The data tablet points commonly define a shape that cannot be described

with the primitive shapes already incorporated. The (x,y) points are reckoned

in the screen coordinate system. The x-axis is to the right on the Evans and

Sutherland screen, y-axis is up, and the z-axis is out of the screen. The

data points are loaded into the component array as Cartesian coordinates in

this shape reference system. Figure A-21 illustrates the coordinate axes

system for a data tablet structure with:

Z - Depth of object

z

i

Figure A-21. - Data Tablet component coordinate system.

A-81
Rev A, October 1985

F) Fillet entities. - The definition of concave fillets is also

allowed during detailed graphic representation generation for the environment,

the robotic arm, target or load.

Entries are:

ENTERFILLETRADIUSIN [length units]

and

ENTERLENGTHIN [length units]

For shaperadius and length, the data defining the shape are computed in

a shape coordinate system. The x-axis is along the shape centerline and the

shape length is measured from x=O to x=the input fillet length. The data

points are loaded into an array as Cartesian coordinates in the shape coordinate system. Figure A-22 shows a fillet with the following dimensions:

RADIUS = Radius of fillet

CLEN = Length of fillet

\

Radius x

z

CLEN

Figure A-22. - Fillet component coordinate system.

A-82
Rev A, October 1985

G) Nonplanar entities. - During the detailed graphics representation generation for an environment, arm, target or load the user maydefine a threedimensional nonplanar entity by specification of a set of (x,y,z) coordinates.

Note that the data tablet option only provides a means of specifying (x,y)

coordinate pairs. The nonplanar entry process is especially applicable for

the development of obstacles in a ROBSIM environment that are useful for

simulation tests of manipulator arm path trajectory avoidance techniques.

The user is allowed several modes of data input. One method requires

interactive input of the point values, and the other mode reads a presaved

('.OBS') file of (x,y,z) coordinate sets to replace user. input of the component

data. An example predefined obstacle file may appear as:

16

-0.5 1.0 0.5

0.5 1.0 0.5

0.5 -1.0 0.5

-0.5 -I.0 0.5

-0.5 1.0 0.5

-0.5 1.0-0.5

0.5 1.0-0.5

O.5 1.O O.5

O.5 1.O-0.5

O.5 -1.O -O.5

0.5 -1.O 0.5

O.5 -1.O -0.5

-0.5 -1.O -0.5

-0.5 -1.O 0.5

-0.5 -1.O -0.5

-0.5 1.0 -0.5 [a rectangular solid centered about (0,0,0)]

The first record is the number of connected vertices or points to define

this entity (i.e., the number of points in the file).

The other records include the sequence of (x,y,z) values for every point

to be connected sequentially in the object perimeter.

To specify the mode of data input during nonplanar entity creation:

DO YOU WISH TO READ A COMPONENT DATA FILE?

ENTER 1 TO READ A FILE

ENTER 2 TO INPUT COMPONENT FROM TERMINAL

If reading a predescribed file the user is then asked:

ENTER THE COMPONENT DATA FILE NAME:

EXAMPLE - ROBDEVICE:[ROBDIR]PLANNER.OBS

Else, if interactively setting the obstacle data points, the number of

obstacle or nonplanar entity points to be input along with the x,y,z values

ascribing the object perimeter are questioned:

A-83
ENTERNUMBEROFPOINTSTOBE INPUT

MAXIMUMOF500

DONOTINCLUDEREPEATOFFIRSTPOINT

PROGRAMAUTOMATICALLYCONNECTSLAST

POINTBACKTOFIRSTPOINT

ENTERX,Y,Z VALUESIN [length units] FOR

POINT I: (input value)

POINT 2: (input value)

(etc)

For both modes,the scaling of the data entered is accompaniedby:

ENTERA SCALINGFACTORFORTHESEVALUES:

The points for the shape are input in the screen coordinates. The x-axis

is to the right on the screen, y-axis is up, and z-axis is out of the screen.

The data points are loaded into an array as Cartesian coordinates in the shape

coordinate system. A maximumnumberof points are allowed as input for this

option.

The points are displayed in the graphics as they are specified by the

user. Figure A-23 is an exampleof a nonplanar, or obstacle, entity.

RevA, October 1985

Y

z

z LJ

m_ x

Figure A-23. - Nonplanar, obstacle component coordinate system.

A-84
Rev A, October 1985

H) CAD/CAM objects. - During the detailed graphics representation generation for an environment, arm, target or load the user may define a threedimensional CAD/CAM entity by specification of a set of (x,y,z) coordinates.

Note that the CAD/CAM objects differ from the non-planar entities in that the

vertices for CAD objects are connected in an alternating fachion. The CAD/CAM

object option was developed for use in conjunction with the ROBSIM PREPDRVR

function that interfaces with CAD/CAM-formatted files.

The user must read a presaved ('.CAD') file of (x,y,z) coordinate sets to

input the component data. In a CAD object file, such as

6

Xo' YO' ZO

XI' YI' Z1

Xl' YI' Z1

X2' Y2' Z2

X2' Y2' Z2

X3' Y3' Z3

The first record is the type flag for alternating vertices and the number of points to define this entity (i.e., the number of points in the file).

The other records include the sequence of (x,y,z) values for every point to be

alternately connected in the object perimeter.

The user is then asked:

ENTER THE CAD COMPONENT DATA FILE NAME:

EXAMPLE - ROBDEVICE:[ROBDIR]ENVIRON.CAD

The scaling of the data entered is accompanied by:

ENTER A SCALING FACTOR FOR THESE VALUES

The points for the shape are input in the screen coordinates. The x-axis

is to the right on the screen, y-axis is up, and z-axis is out of the screen.

The data points are loaded into an array as Cartesian coordinates in the shape

coordinate system. A maximum number of points are allowed as input for this

option.

The points are displayed in the graphics as they are specified by the

user. Figure A-23a is an example of a CAD/CAM object.

A-84a
Rev A, October 1985

_TZC _ _ PROGRRM

SYSTEM _ - DE'TRZL.J_ _|H_ [_EPRE_E_ITIWr'II,_I

Figure A-23a. - CAD/CAM-derived detailed component.

A-84b
Rev A, October 1985

Procedure for Creating a System Workcell Environment

The user has the capability to specify a robotic simulation environment

with a detailed physical representation that may later be included in a total

system file. The environment components are defined similar to the detailed

arm construction, by combinations of basic geometric shapes (cylinders, cones,

rectangular solids, symmetric or nonsymmetric trapezoidal figures, triangular

and rectangular cross-sectional beams, fillet components, data tablet-defined

entities, obstacles, also used for nonplanar structures, and CAD/CAM objects).

Subroutines are provided to calculate the data points for each requested

shape. Additional subroutines are called to position and orient the components

relative to the world coordinate system, draw the component with the graphics

package, while allowing the user the freedom to change the graphics display

perspective with the E&S control dials and add the data to the database describing the environment.

The interactive prompts again include the I/0 type units to be used. Conversions are made to the program internal metric units for calculations.

For initializing the display, if the graphics is on, the user should input

the span for the environment to be used in scaling the graphics:

INPUT SPAN OF ENVIRONMENT SETTING IN [length units]

FOR SCALING GRAPHICS

The shape select flag allowing the user to pick the geometric shapes with

which to build up detailed representations of the environment is next required.

The interaction that transpires for any of these entities is as described

earlier under Procedure for creating a detailed robot arm geometry. Answer:

SELECT SHAPE

1 = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

i0 = OBSTACLE ENTITY

II = CAD/CAM OBJECT

ENTER INTEGER CHOICE

The user, or simulated camera, view of the displayed components may be altered with the E&S analog control dials during the environment definition.

After answering all of the component properties prompts, enter:

ENTER 1 TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

A-85
When satisfied with the current component, evaluate the need for a more

detailed definition. If the evironment depiction is not complete, define another component by entering a 1 to the next prompt; otherwise, a resp6nse of 2

will allow the termination of the environment setup portion of the system definition function and will write the data to file. Enter the request to:

ENTER 1 TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

When finished with environment specification, if the graphics is in effect

the next message appears as:

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

After acceptance of the resulting environment built, an unformatted environment data ('.ENV') file will be written; the contents of the file are the

pertinent COMMON blocks defining an environment for a robotic system. The user

is prompted for the file name under which the file is to be stored:

ENTER FILENAME OF ENVIRONMENT FILE

TO BE CREATED. FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANDET.ENV

Sample run. - A sample of an environment building scheme follows in Example A-5. Figures A-24 through A-26 were generated as a result of the interactive session employing the graphics option.

A-86
ExampleA-5

ROBOTICSYSTEMSIMULATIONPROGRAM(ROBSIM)

ENTERINGSYSTEMDEFINITIONFUNCTION

DEFAULTLOGICALUNIT ASSIGNMENTSUEDWITHINROBSIM

LU

5

6

7

8-9

i0

II

14

15

16

17

18

19

2O

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED OUTPUT UNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAM OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<cR>

SELECT MODE OF OPERATION DESIRED

MODE

I

2

3

4

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECT FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

WHICH UNITS DO YOU WISH TO USE FOR I/0?

ENTER i FOR METRIC UNITS

ENTER 2 FOR ENGLISH UNITS

Rev A, October 1985

A-87
• Rev A, October 1985

UNITS FOR INPUT/OUTPUT ARE AS FOLLOWS:

LENGTH METERS

VELOCITY METERS / SEC

ACCELERATION METERS/S**2

MASS KILOGRAMS

INERTIA KG-M_2

FORCE NEWTONS

TORQUE N-M

ENTER 0 NOT TO SAVE A DETAILED GRAPHICS

PRINT FILE

ENTER i TO SAVE PRINT FILE FOR DETAILED

GRAPHICS DIMENSIONAL VALUES INPUT

DURING DETAILED GRAPHICS DEFINITION

,

1.5

INPUT SPAN OF ENVIRONMENT SETTING IN METERS

FOR SCALING GRAPHICS

SELECT SHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 =_SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

10 = OBSTACLE ENTITY

II = CAD/CAM OBJECT

ENTER INTEGER CHOICE

ENTER LENGTH (X) IN METERS

I.

ENTER Y (WIDTH IS +/-Y) IN METERS

0.05

ENTER Z (BASE IS +/-Z) IN METERS

0.5

ENTER i IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER X,Y,Z TRANSLATION IN METERS

0.,0.,0.

_',_v.E&S DIALS CONTROL OF GRAPHICS _,_

._'n_DISPLAY IS NOW ENGAGED ***

A-88
DEPRESSFUNCTIONSWITCH31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

_'_ HARD COPY _v_

ENTER ".PIC" FILE NAME PREFIX

((CR>=NONE) :

<cR>

ENTER I TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER I TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

SELECT SHAPE

1 = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

i0 = OBSTACLE ENTITY

Ii = CAD/CAM OBJECT

ENTER INTEGER CHOICE

ENTER LENGTH (X) IN METERS

0.65

ENTER Y (WIDTH IS +/-Y) IN METERS

0.025

ENTER Z (BASE IS +/-Z) IN METERS

0.025

ENTER i IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER AXIS OF ROTATION

I = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

ENTER ROTATION ANGLE, IN DEGREES

-90.

Rev A, October 1985

A-89
Rev A, October 1985

2

ENTER I TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

ENT'ERX,Y,Z TRANSLATION IN METERS

0.975,-0.05,0.475

#_ E&S DIALS CONTROL OF GRAPHICS ,,n_-k

#_c DISPLAY IS NOW ENGAGED _-a#c

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

HARD COPY_ -_

ENTER ".PIC" FILE NAME PREFIX

(<CR>=-NONE) :

<CR>

ENTER I TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER 1 TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

SELECT SHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

10 = OBSTACLE ENTITY

II = CAD/CAM OBJECT

ENTER INTEGER CHOICE

ENTER LENGTH (X) IN METERS

0.65

ENTER Y (WIDTH IS +I-Y) IN METERS

0.025

ENTER Z (BASE IS +l-Z) IN METERS

0.025

ENTER 1 IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

A-90
ENTERAXISOFROTATION

1 = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

ENTERROTATIONANGLE,IN DEGREES

-90.

ENTERI TOSPECIFYANOTHERROTATION

ENTER2 TOTERMINATEROTATIONINPUT

ENTERX,Y,Z TRANSLATIONI METERS

0.975,-0.05,0.475

_'_"*E&SDIALSCONTROL OF GRAPHICS _'_"*

_'_"*DISPLAY IS NOW ENGAGED -:r,',-*

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

<CR>

_',_',_'c HARD COPY _'_'r:_

ENTER ".PIC" FILE NAME PREFIX

(<CR> =NONE) :

2

ENTER 1 TO CHANGE CURRENT COMPONENT

•ENTER 2 IF COMPONENT IS CORRECT

ENTER 1 TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

SELECT SHAPE

1 = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

IO = OBSTACLE ENTITY

11 = CAD/CAM OBJECT

ENTER INTEGER CHOICE

ENTER LENGTH (X) IN METERS

0.65

Rev A, October 1985

A-91
r

ENTER Y (WIDTH IS +/-Y) IN METERS

0.025

ENTER Z (BASE IS +/-Z) IN METERS

0.025

ENTER I IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER AXIS OF ROTATION

I = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

ENTER ROTATION ANGLE IN DEGREES

-90.

2

ENTER i TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

ENTER X,Y,Z TRANSLATION IN METERS

0.975,-0.05,-0.475

_e:_ E&S DIALS CONTROL OF GRAPHICS _%_%_

_%_'_DISPLAY IS NOW ENGAGED _'_%

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

<CR>

_',_',_'c HARD COPY _"_'_'_

ENTER ".PIC" FILE NAME PREFIX

(<CR>=NONE) :

ENTER I TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER I TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

o

Rev A, October 1985

A-92
3

SELECTSHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYMTRAPEZOID

5 = NONSYMTRAPEZOID

6 = TRIANGULARSTRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

I0 = OBSTACLE ENTITY

II = CADCAM OBJECT

ENTER INTEGER CHOICE

ENTER LENGTH (X) IN METERS

0.65

ENTER Y (WIDTH IS +/-Y) IN METERS

0.025

ENTER Z (BASE IS +/-Z) IN METERS

0.025

ENTER i IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER AXIS OF ROTATION

1 = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

ENTER ROTATION ANGLE IN DEGREES

-90.

ENTER I TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

ENTER X,Y,Z TRANSLATION IN METERS

0.025,-0.05,-0.475

-:_wcE&S DIALS CONTROL OF GRAPHICS _

i o

......DISPLAY IS NOW ENGAGED ......

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

Rev A, October 1985

A-93
...... HARDCOPY_'_'_'_

ENTER".PIC" FILE NAMEPREFIX

(<CR>=NONE) :

ENTERI TOCHANGECURRENTCOMPONENT

ENTER2 IF COMPONENT IS CORRECT

ENTERi TODEFINEANOTHERCOMPONENT

ENTER2 TOSAVEFILE ANDEXIT

SELECTSHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

I0 = OBSTACLE ENTITY

ii = CAD/CAM OBJECT

ENTER INTEGER CHOICE

ENTER DIAMETER IN METERS

0.3

ENTER LENGTH IN METERS

0.05

ENTER i IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER AXIS OF ROTATION

i = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

ENTER ROTATION ANGLE IN DEGREES

-90.

ENTER I TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

Rev A, October 1985

A-94
ENTERX,Y,Z TRANSLATIONIN METERS

-0.2,-0.15,0.

_'-:¢E&SDIALSCONTROLOFGRAPHICS>,_.r.._

-_'_.¢DISPLAYIS NOWENGAGED _,r.'.-,

DEPRESSFUNCTIONSWITCH31 TODISENGAGE

THEGRAPHICSLOOPANDCONTINUE

-_.'_'-._¢ HARD COPY *_._.

ENTER ".PIC" FILE NAME PREFIX

(<CR>=NONE) :

<CR>

ENTER I TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER i TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

SELECT SHAPE

1 = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

I0 = OBSTACLE ENTITY

ii = CAD/CAM OBJECT

ENTER INTEGER CHOICE

ENTER DIAMETER IN METERS

0.33

ENTER TOP DIAMETER OF CONE IN METERS

0.25

ENTER LENGTH IN METERS

0.5

ENTER I IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

A-94a

Rev A, October 1985
3

ENTERAXIS OF ROTATION

1., X-AXIS

2 = y-AXIS

3 - Z-AXIS

ENTER ROTATION ANGLE, IN DEGREES

90.

ENTER 1 TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

ENTER X,Y,Z TRANSLATION IN METERS

-0.2,-0.7,0.

*** E&S DIALS CONTROL OF GRAPHICS ***

*** DISPLAY IS NOW ENGAGED ***

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

*** HARD COPY ***

ENTER ".PIC" FILE NAME PREFIX

(<CR>-NONE) :

<CR>

ENTER 1 TO CHANGE CURRENT COMPONENT

•ENTER 2 IF COMPONENT IS CORRECT

ENTER I TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

<CR>

ENTER FILENAME OF ENVIRONMENT FILE

TO BE CREATED. FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE :[ROBDIR]PLANDET.ENV

PLANAR. ENV

ENVIRONMENT DATA FILE HAS BEEN WRITTEN

ALL COMMON BLOCKS ARE SAVED

A-95
Rev A, October 1985

SELECTMODEOFOPERATIONDESIRED

MODE

i

2

3

4

5

6

DEFINITION

CREATE/MODIFYARMDATAFILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECT FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXITING FROM SYSTEM DEFINITION FUNCTION

A-96
h'/ A R T / N VIA R / E TTA

Figure A-24. - First two detailed environment components.

A-97 "
I'_A R TIN VIA R IE 7-rA

Figure A-25. - Completion of one entity in detailed environment.

A-98
tff A R T/N t_A R/E 77"A

1

t

• I

Figure A-26. - Complete detailed environment.

A-99
Rev A, October 1985

Procedure for Creating a Target Objects File

Through this ROBSIM option, the user can specify a detailed physical representation for the robotic target objects to be used. Similar to the detailed arm, environment and load constructions, the target object's components

are defined as rotations and translations of combinations of basic geometric

shapes (cylinders, cones, rectangular solids, symmetric or nonsymmetric trapezoidal figures, triangular cross-sectional beams, rectangular beams, fillet

components, data tablet-defined entities, obstacles, nonplanar structures,

CAD/CAM entities and four dot target patterns). This procedure creates a new

file, or modifies an existing file of target objects, and includes the capability to specify the detailed geometry at the first user creation session for

the target objects.

The target definition process first calls on the user to define the data

I/0 units and then asks whether the target data are from an existing file or

if they Will be input from the terminal. If the load already exists, it is

read from the saved file. A series of questions applies for the input of new

data or modification of existing data. Additional information is required to

position and orient the components relative to the target coordinate system.

The component will be drawn with the graphics package while allowing the user

the freedom to change the graphics display perspective with the E&S control

dials, and the data will be added to the database describing the target objects. After the data have been modified or created, a user-specified file is

opened and the data saved.

The interactive inputs are in order:

DO YOU WISH TO CREATE TARGET OBJECT DATA

OR MODIFY AND/OR USE EXISTING DATA?

ENTER 0 TO CREATE NEW DATA

ENTER i TO READ IN EXISTING DATA

If initial creation, first the user specifies the type of input/output

units to be used, and then the question relates to the number of targets desired in the target object file. The construction questions are repeated for

each load entered at the prompt:

ENTER THE NUMBER OF TARGET OBJECTS YOU WISH

TO DEFINE--MAX ALLOWABLE IS i0

A constraint is placed on the number of load objects allowed in any one file.

If one is reading existing data, the file containing this previously

created data is opened after answering:

A-99a
Rev A, October 1985

ENTERTHENAMEOFTHEFILE CONTAININGTARGETDATA

THETOTALNUMBEROFCHARACTERSIN THEFILENAME

CANNOTEXCEED40

EXAMPLE- ROBDEVICE:[ROBDIR]TRAKING.TRG

The user is asked whether he wishes the option to list the target characteristics as they are currently saved before modifications begin. The information

that will be scrolled to the terminal includes the type of I/0 units opted by

the user for target definition, the target coordinate system origin location

and orientation matrix. The RETURN key should be depressed after such a list

is written to the user's terminal. While incrementing through each target,

the prompts appear as:

ENTER

I

2

TO LIST AND/0R MODIFY CURRENT DATA

TO CONTINUE PROGRAM EXECUTION

If the decision is to modify the target after entering a I above, then

the following input is a I to the question:

DO YOU WISH TO

i MODIFY CURRENT TARGET DATA

2 CONTINUE

At this time one begins to define the target properties during both the modification or creation modes. The same procedure of calls applies for changes

to the target origin location and local coordinate system orientation as they

occur during initial input. If in modification mode, the user should run the

process after choosing from the following categories:

TARGET J DATA MODIFICATIONS

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

I

2

DEFINITION

TARGET LOCATION AND ORIENTATION

TERMINATE TARGET MODIFICATION

ENTER INTEGER MODIFICATION CATEGORY DESIRED

The inquiries to the user then include:

DEFINITION OF TARGET J

ENTER THE WORLD X, Y, Z COORDINATES DEFINING

• THE ORIGIN OF THE TARGET LOCAL COORDINATE SYSTEM

THESE DISTANCES SHOULD BE INPUT IN [length units]

and

A-99b
Rev A, October 1985

SPECIFYROTATIONSEQUENCEFORORIENTATION

OFTARGETCOORDINATESYSTEMWITHRESPECTTO

THEWORLDCOORDINATESYSTEM

THESEQUENCEIS SPECIFIEDBYA SERIESOF

ROTATIONAXIS/ROTATIONANGLEPAIRSWHERE

I REPRESENTSHEX AXIS

2 REPRESENTSHEY AXIS

3 REPRESENTSTHEZ AXIS

A MAXIMUMOF 3 ROTATIONSAREALLOWED

ENTERIST AXIS OF ROTATION

ENTER IST ROTATION ANGLE (DEG)

ENTER I TO SPECIFY ANOTHER AXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

The current state of the target object most recently defined is printed

to the terminal upon finishing the definition process. The program further inquires if redefinition of this target's properties is desired. After final

completion of the location and orientation, a detailed graphics session begins.

For option to build a more intricate target objects file when in modification mode for the target file, the user is asked:

DO YOU WISH TO

i MODIFY GRAPHICS REPRESENTATION FOR TARGET

2 CONTINUE

A 2 for this question continues the basic geometry modification prompts for

successive targets, but does not allow user definition of detailed geometry

components. On the other hand, a response of I cues the following graphics

conversation that occurs automatically during the initial creation phase:

INPUT SPAN OF TARGET OBJECT SETTING IN [length units]

FOR SCALING GRAPHICS

The detailed geometry primitive inputs are required of the user by:

SELECT SHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

I0 = NONPLANAR ENTITY

II = CAD OBJECT

12 = FOUR DOT TARGET PATTERN

ENTER INTEGER CHOICE

A-99c
Rev A, October 1985

The translation and orientation to be applied to this componentwill be

as previously described for sketching detailed components. The corresponding

geometric entity building routine will be called.

After each geometric component primitive has been created, return:

ENTER 1 TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

Upon completion of a component entry:

ENTER I TO DEFINE-ANOI_IER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

Enter a I if the target object definition is not complete and another component is desired to be included in this single target object. With a 2 input,

the target description is considered complete, the graphics terminated and the

the file saved. The contents of the file are the pertinent COMMON blocks defining the mass properties and graphics of the targets for a future system.

The graphics remain on the Evans and Sutherland screen until a RETURN is given:

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

The user is prompted for the file name ('.TRG') under which the file is to

be stored:

ENTER NAME OF FILE TO SAVE TARGET DATA IN

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE: [ROBD IR]TRAKING. TRG

TRAKING. TRG

Examples of an interactive definition procedure for a target objects file

and the associated graphics are shown in example A-5a and Figure 26a. This

particular file contains one target object including two detailed components.

A-99d
ExampleA-5a

ROBOTICSYSTEMSIMULATIONPROGRAM(ROBSIM)

Rev A, October 1985

ENTERINGSYSTEMDEFINITION FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

I0

ii

14

15

16

17

18

19

20

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED OUTPUTUNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAM OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TOASSOCIATE WITH EACH LOGICAL UNIT

WHEN REQUIRED

<cR>

ENTER RETURN TO CONTINUE

SELECT MODE OF OPERATION DESIRED

MODE

i

2

3

4

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED "

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH TO CREATE TARGET OBJECT DATA

OR MODIFY AND/OR USE EXISTING DATA?

ENTER 0 TO CREATE NEW DATA

F3_ i TO READ IN EXISTING DATA

0

I ,

WHICH UNITS DO YOU WISH TO USE FOR 1/07

ENTER 1 FOR METRIC UNITS

ENTER 2 FOR ENGLISH UNITS

A-99e
UNITSFORINPUT/OUTPUTAREASFOLLOWS:

LENGTH METERS

VELOCITY METERS/SEC

ACCELERATION METERS /S_'_'_2

MASS KILOGRAMS

INERTIA KG-M_'_'c2

FORCE NEWTONS

TORQUE N-M

ENTER THE NUMBER OF TARGET OBJECTS YOU'WISH

TO DEFINE--MAX ALLOWABLE IS i0

I

DEFINITION OF TARGET I

ENTER THE WORLD X, Y, Z COORDINATES DEFINING

THE ORIGIN OF THE TARGET LOCAL COORDINATE SYSTEM

THESE DISTANCES SHOULD BE INPUT IN METERS

0.,0.,0.

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF TARGET COORDINATE SYSTEM WITH RESPECT TO

THE WORLD COORDINATE SYSTEM

THE SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

I REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXis

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

ENTER 1ST ROTATION ANGLE (DEG)

0.

2

ENTER I TO SPECIFY ANOTHER AXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

0

ENTER 0 NOT TO SAVE A DETAILED GRAPHICS

PRINT FILE

ENTER 1 TO SAVE PRINT FILE FOR DETAILED

GRAPHICS DIMENSIONAL VALUES INPUT

DURING DETAILED GRAPHICS DEFINITION

1.5

INPUT SPAN OF TARGET OBJECT SETTING IN METERS

FOR SCALING GRAPHICS

Rev A, October 1985

A-99_:
SELECTSHAPE

i = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

i0 = NONPLANAR ENTITY

Ii = CAD OBJECT

12 = FOUR DOT TARGET PATTERN

ENTER INTEGER CHOICE

ENTER LENGTH (X) IN METERS

.65

ENTER Y (WIDTH IS +/-Y) IN METERS

.025

ENTER Z (BASE IS +/-Z) IN METERS

.025

ENTER i IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER AXIS OF ROTATION

i = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

ENTER ROTATION ANGLE IN DEGREES

90.

ENTER I TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

ENTER X, Y, Z TRANSLATION IN METERS

0, O, 0

•'_'*E&S DIALS CONTROL OF GRAPHICS _'a_'c

_'n'wcDISPLAY IS NOW ENGAGED _¢

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

_dcHARD COPY _'_'_

ENTER ".PIC" FILE NAME PREFIX

(<CR>=NONE) :

A-99_

Rev A, October 1985
<CR>

2

ENTER i TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

Rev A, October 1985

ENTER 1 TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

12

SELECT SHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 =TRIANGULAR STRUCTURE

7 =RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

10 = NONPLANAR ENTITY

11 = CAD OBJECT

12 = FOUR DOT TARGET PATTERN

ENTER INTEGER CHOICE

ENTER LENGTH (+/-X) IN METERS

.015

ENTER i FOR A RECTANGULAR 4-DOT TARGET PATTERN

ENTER 2 FOR- A SYMMETRIC TRAPEZOIDAL 4-DOT TARGET PATTERN

ENTER 3 FOR A NONSYMMETRIC TRAPEZOIDAL 4-DOT TARGET PATTERN

ENTER Z (BASE IS +/-Z) IN METERS

.015

ENTER i IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER AXIS OF ROTATION

I = X-AXIS

2 =Y-AXIS

3 = Z-AXIS

ENTER ROTATION ANGLE, IN DEGREES

90.

2

ENTER 1 TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

A-99h
ENTERX,Y,Z TRANSLATIONI METERS

0.,.6,.025

_',_'_*E&S DIALS CONTROL OF GRAPHICS _'c:_'c

_'_'c8cDISPLAY IS NOW ENGAGED _',_'c:_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

HARD COPY _'_'_'¢

ENTER ".PIC" FILE NAME PREFIX

(<CR>=NONE) : TARGDOT

FILE "TARGDOT. PIC" OPENED

ENTER I TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER I TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

TARGET OBJECT UNITS ARE METRIC

TARGET NUMBER = i

TARGET COORDINATE SYSTEM ORIGIN .°

0.00000 0.00000 0.00000

TARGET COORDINATE SYSTEM ORIENTATION

I. 00000 0. 00000 -0.00000

0.00000 1. 00000 0. 00000

0. 00000 0. 00000 1. 00000

ENTER RETURN TO CONTINUE

I MODIFY CURRENT TARGET DATA

2 CONTINUE

DO YOU WISH TO

I MODIFY GRAPHICS REPRESENTATION FOR TARGET i

2 CONTINUE

2

ENTER NAME OF FILE TO SAVE TARGET DATA IN

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANNER.TRG

TARGDOT.YRG

Rev A, October 1985

A-99i

• " - . .

._ - -
SELECT MODE OF-OPERATION DESIRED

MODE

I

2

3

4

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOAD OBJECTS FiLE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

6

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXISTING FROM SYSTEM DEFINITION FUNCTION

Rev A, October 1985

:!

Figure 26a - Detailed Target Object

A-99j
Procedure for Creating a Load Objects File

Through this ROBSIM option, the user has the capability to specify a detailed physical representation for the robotic load objects to be used. Similar to the detailed arm and environment constructions, the load obJect's components are defined as rotations and translations of combinations of basic geometric shapes (cylinders, cones, rectangular solids, symmetric or nonsymmetric

trapezoidal figures, triangular cross-sectional beams, fillet components, data

tablet-defined entities, and nonplanar structures, also used for obstacles).

This procedure creates a new file, or modifies an existing file of load objects, and includes the capability to specify the detailed geometry at the

first user creation session for the load objects.

The load definition process first calls upon the user to define whether

the load data are from an existing file or if they will be input from the terminal. If the load already exists, it is read from the saved file. A series

of questions apply for the input of new data or modification of existing data.

Additional information is required to position and orient the components relative to the load coordinate system. The component will be drawn with the graphics package while allowing the user the freedom to change the graphics display perspective with the E&S control dials, and the data will be added to the

database describing the load objects. After the data have been modified or

created, a user-speclfled file is opened and the data saved.

The interactive inputs are in order:

DO YO0 WISH TO CREATE LOAD OBJECT DATA

OR MODIFY AND/OR USE EXISTING DATA?

ENTER 0 TO CREATE NEW DATA

ENTER 1 TO READ IN EXISTING DATA

If initial creation, first the user specifies the type of input/output

units to be used, and then the questioa relates to the number of loads desired

in the load object file. The construction questions will repeat for each load

entered at the prompt:

ENTER THE NUMBER OF LOAD OBJECTS YOU WISH

TO DEFINE--MAX ALLOWABLE IS i0

There is a constraint placed on the number of load objects allowed in any one

file.

Else if one is reading exlsting data, the file containing this previously

created data is opened as given by:

A-100 -
Rev A, October 1985

ENTER THE NAME OF THE FILE CONTAINING LOAD DATA

THE TOTAL NUMBER OF CHARACTERS IN THE FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANDET.LOD

The user is asked whether he wishes the option to list the load

characteristics as they are currently saved before modifications begin. The

information that will be scrolled to the terminal includes the type I/O units

opted by the user for load definition, the load coordinate system origin

location and orientation matrix and the values of load length, radius, center

of gravity location, mass, inertia matrix elements and point mass parameters.

The RETURN key should be depressed after such a list is written to the user's

terminal. While incrementing through each load, the prompts appear as:

ENTER

1

2

TO LIST AND/OR MODIFY CURRENT DATA

TO CONTINUE PROGRAM EXECUTION

If the decision is to modify the 10ad after entering a I above, then the

following input is a I to the question:

DO YOU WISH TO

1 MODIFY CURRENT LOAD DATA

2 CONTINUE

At this time one begins to define the load properties during both the

modification or creation modes. The same procedure of calls applies for

changes to the load origin location and local coordinate system orientation,

load length, radius, mass, cg location, inertia matrix, point mass values and

point mass locations as occur during initial input. If in modification mode,

the user should run the process after choosing from the following categories:

LOAD J DATA MODIFICATIONS

SELECT CATEGORY OF DATA TO BE MODIFIED

CAT

I

2

3

4

5

6

7

8

9

DEFINITION

LOAD NAME

LOAD LOCATIONAND ORIENTATION

LOAD LENGTH AND RADIUS

LOAD CENTER 0FMASS

LOAD MASS

LOAD INERTIA MATRIX

LOAD GRASP POINT AND APPROACH VECTOR

POINT MASS VALUES AND LOCATIONS

TERMINATE LOAD MODIFICATION

ENTER INTEGER MODIFICATION CATEGORY DESIRED

The inquiries to the user then include:

DEFINITION OF LOAD J

A-101
Rev A, October 1985

ENTERA NAMEFORTHIS LOADOBJECT

(MAXIMUMOF EIGHTCHARACTERS)

ENTERTHEWORLDX, Y, Z COORDINATESDEFINING

THEORIGINOFTHELOADLOCALCOORDINATESYSTEM

THESEDISTANCESHOULDBEINPUTIN [LENGTHUNITS]

A-lOla
and

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF LOAD COORDINATE SYSTEM WITH RESPECT TO

THE WORLD COORDINATE SYSTEM

THE SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

ENTER IST ROTATION ANGLE (DEG)

ENTER 1 TO SPECIFY ANOTHER AXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

The geometry properties for the current load are then input:

SPECIFY LENGTH OF LOAD J IN [length units]

THE FIRST END IS AT THE LOAD COORDINATE SYSTEM

ORIGIN. CENTERLINE OF LOAD IS ALONG X AXIS

rio THE LENGTH WILL DEFINE THE SECOND END

and

SPECIFY RADIUS OF LOAD J IN [length units]

FOR USE IN INERTIA CALCULATOINS

The user selection for mode of cg calculation:

ENTER 1 TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT OF CENTER OF MASS

If placing the cg at a particular location:

SPECIFY CENTER OF MASS LOCATION FOR LOAD J

IN ITS OWN LOCAL COORDINATE SYSTEM

ENTER X COORDINATE OF CENTER OF MASS IN [length units]

ENTER Y COORDINATE OF CENTER OF MASS IN [lenEth units]

ENTER Z COORDINATE OF CENTER OF MASS IN [length units]

The mass of the load is specified with:

SPECIFY MASS OF LOAD J IN [mass units]

A-I02
Rev A, October 1985

The user choice for modeof load inertia definition:

SPECIFYINERTIAMATRIXFORLOADJ

ENTERi TOHAVEPROGRAMCOMPUTEINERTIAMATRIX

ENTER2 TOREQUESTUSERINPUTOF INERTIAMATRIX

I£ requesting a special inertia matrix weighting:

ENTER IST COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

ENTER 2ND COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

ENTER 3RD COLUMN OF INERTIA MATRIX

INPUT 3 REAL NUMBERS SEPARATED BY COMMAS

INERTIA DATA SHOULD HAVE UNITS OF [inertia units]

A grasp point and approach vector are also defined for the load object in

1KS own Local coorQlnaEe sysEem, inese ua=a Eell the manipulator where to

hold an object while moving it, and the direction the tool must be coming from

and orientation it must have to properly grasp the load object:

SPECIFY X, Y, & Z COORDINATES OF THE MANIPULATOR GRASP POINT

INPUT SHOULD BE IN THE LOAD LOCAL COORDINATE SYSTEM IN METERS

ENTER THE THREE COMPONENTS OF A VECTOR THAT DEFINES THE

DIRECTION FROM WHICH TO GRASP THE OBJECT

Again, in the load definition operation, specify:

and

ENTER i TO SPECIFY POINT MASSES FOR LOAD J

ENTER 2 NOT TO SPECIFY POINT MASSES FOR LOAD J

If adding point masses for a more accurate arrangement,

input these in the load local coordinate system with:

SPECIFY MASS OF POINT MASS FOR LOAD J IN [mass units]

ENTER X,Y,Z LOCATION OF POINT MASS J IN [length units]

IN LOAD J COORDINATE SYSTEM

ENTER 3 REAL NUMBERS

A-103
RevA, October 1985

and the continuation flag for point massinput:

ENTERI TOCONTINUEP01NTMASSINPUT

ENTER2 TOTERMINATEPOINTMASSINPUT

The current state of the load object most recently defined is printed to

the terminal upon finishing the definition process. The program further

inquires if redefinition of this load's properties is desired. After final

completion of the location, orientation and massproperties, a detailed

graphics session begins.

A-103a
Rev A, October 1985

For option to build a more intricate load objects file when in

modification modefor the load file, the user is asked:

DOYOUWISHTO

I MODIFYGRAPHICSREPRESENTATION FORLOADJ

2 CONTINUE

A 2 for this question continues the basic geometry modification prompts

for successive loads, but does not allow user definition of detailed geometry

components. On the other hand, a response of I cues the following graphics

conversation that occurs automatically during the initial creation phase:

ENTER0 NOTTOSAVEA DETAILEDGRAPHICSPRINTFILE

ENTER1 TOSAVEA PRINTFILE FORDETAILEDGRAPHICSDIMENSIONALVALUES

INPUTDURINGDETAILEDGRAPHICSDEFINITION

INPUTSPANOF LOADOBJECTSETTINGIN [LENGTHUNITS] FORSCALINGGRAPHICS

The detailed geometry primitive inputs are required of the user by:

SELECTSHAPE

i = CYLINDER

2 = CONE

3 = RECTANGULARSOLID

= SYMTRAPEZOID

5 = NONSYMTRAPEZOID

6 = TRIANGULARSTRUCTURE

7 = RECTANGULARSTRUCTURE

8 = DATATABLETSTRUCTURE

9 = -FILLET

I0 = NONPLANAR ENTITY

11 = CAD OBJECT

ENTER INTEGER CHOICE

The translation and orientation to be applied to this component will be

interjected as previously described for sketching detailed components. The

corresponding geometric entity building routine will be called. The steps for

input during all of these unique routines were charted in subsections A)

through F) under the above heading Procedure for creating a detailed robot arm

geometry.

After each geometric component primitive has been created, return:

ENTER i TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

Upon completion of a component entry:

ENTER I TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

A-10_
Enter a 1 if the load object definition is not complete and another component

is desired to be included in this single load object. With a 2 input, the

load description is considered complete, the graphics terminated and the the

file saved. The contents of the file are the pertinent COMMON blocks defining

the mass properties and graphics of the loads for a future system. The graphics remains on the Evans and Sutherland screen until a RETURN is given:

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

The user is prompted for the file name ('.LOD') under which the file is to

be stored:

ENTER NAME OF FILE TO SAVE LOAD DATA IN

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANNER.LOD

PLANAR.LOD

Sample run. - An example, A-6, of an interactive definition procedure for

a load objects file follows. This particular file contains two load objects;

the first has one detailed component; the second specifies two included components (Fig. A-27 and A-28).

A-105
ExampleA-6

ROBOTICSYSTEMSIMULATIONPROGRAM(ROBSIM)

Rev A, October 1985

ENTERINGSYSTEMDEFINITION FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

i0

II

14

15

16

17

18

19

20

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED OUTPUT UNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAMS OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HAPd)WARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<cR>

SELECT MODE OF OPERATION DESIRED

MODE

i

2

3

4

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOADOBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH TO CREATE LOAD OBJECT DATA

OR MODIFY AND/OR USE EXISTING 0ATA?

ENTER 0 TO CREATE NEW DATA

ENTER I TO READ IN EXISTING DATA

0

A-106
Rev A, October 1985

WHICH UNITS DO YOU WISH TO USE FOR I/0?

ENTER I FOR METRIC UNITS

ENTER 2 FOR ENGLISH UNITS

UNITS FOR INPUT/OUTPUT ARE AS FOLLOWS:

LENGTH METERS

VELOC ITY METERS /SEC

ACCELERATION METERS /S_'_'c2

MASS KILOGRAMS

INERTIA KG-M_"_'c2

FORCE NEWTONS

TORQUE N-M

ENTER THE NUMBER OF LOAD OBJECTS YOU WISH

TO DEFINE--MAX ALLOWABLE IS I0

2

DEFINITION OF LOAD I

l_'h]'T'l_'l_ A I_TAMI_' "_(_1_ "T'T-TT_ T.('IAI_ f_RTl_'_q '_

(MAXIMUM OF EIGHT CHARACTERS)

FISTLOD

ENTER THE WORLD X, Y, Z COORDINATES DEFINING

THE ORIGIN OF THE LOAD LOC,ALCOORDINATE SYSTEM

THESE DISTANCES SHOULD BE INPUT IN METERS

0.,0.,0.

SPECIFY ROTATION SEQUENCE FOR ORIENTATION OF LOAD COORDINATE

SYSTEM WITH RESPECT TO THE WORLD COORDINATE SYSTEM

THE SEQUENCE I_ SPECIFIED BY A SERIES OF ROTATION

AXIS/ROTATION ANGLE PAIRS WHERE

I REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER ISTAXIS OF ROTATION

.

ENTER IST ROTATION ANGLE (DEG)

2

ENTER I TO SPECIFY ANOTHER AXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

0.04

SPECIFY LENGTH OF LOAD I IN METERS

THE FIRST END IS AT THE LOAD COORDINATE SYSTEM

ORIGIN. CENTERLINE OF LOAD IS ALONG X AXIS

SO THE LENGTH WILL DEFINE THE SECOND END

A-107
RevA, October 1985

SPECIFYRADIUSOFLOAD I IN METERS

FORUSEIN INERTIACALCULATIONS

0.O1

SPECIFYCENTEROFMASSLOCATIONFORLOAD I

IN ITS OWNLOCAL COORDINATE SYSTEM

.

ENTER 1 TO HAVE PROGRAM COMPUTE CENTER OF MASS

ENTER 2 TO REQUEST USER INPUT OF CENTER OF MASS

SPECIFY MASS OF LOAD I IN KILOGRAMS

SPECIFY INERTIA MATRIX FOR LOAD i

ENTER 1 TO HAVE PROGRAM COMPUTE INERTIA MATRIX

ENTER 2 TO REQUEST USER INPUT OF INERTIA MATRIX

SPECIFY X, Y, & Z COORDINATES OF THE MANIPULATOR GRASP POINT

INPUT SHOULD BE IN THE LOAD LOCAL COORDINATE SYSTEM IN METERS

.03,0,0

ENTER THE THREE COMPONENTS OF A VECTOR WHICH DEFINES THE

DIRECTION FROMWHICH TO GRASP THE OBJECT

0,-i,0

ENTER i TO SPECIFY POINT MASSES FOR LOAD I

ENTER 2 NOT TO SPECIFY POINT MASSES FOR LOAD

ENTER 0 NOT TO SAVE A DETAILED GRAPHICS PRINT FILE

ENTER i TO SAVE A PRINT FILE FOR DETAILED GRAPHICS DIMENSIONAL VALUES

INPUT DURING DETAILED GRAPHICS DEFINITION

ENTER FILENAME IN WHICH TO SAVE INPUT

DETAILED GRAPHICS DATA

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.NPT

FISTLOD.NPT

1.5

INPUT SPAN OF LOAD OBJECT SETTING IN METERS

FOR SCALING GRAPHICS

A-108
.02

.02

2

2

SELECTSHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

4 = SYMTRAPEZOID

5 = NONSYMTRAPEZOID

6 = TRIANGULARSTRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATATABLETSTRUCTURE

9 = FILLET

I0 = NONPLANARENTITY

II = CADOBJECT

ENTERINTEGERCHOICE

ENTERTRIANGLESIDELENGTH,IN METERS

ENTERSEGMENTLENGTH,IN METERS

ENTERNUMBEROFSEGMENTS

ENTERI IF ROTATIONSREQUIRED

ENTER2 IF TRANSLATION ONLY

Rev A, October 1985

A-108a
Rev A, October 1985

ENTERX,Y,Z TRANSLATIONI METERS

0.,0.,0.

E&S DIALS CONTROL OF GRAPHICS

DISPLAY IS NOW ENGAGED

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

HARD COPY _-_-k

ENTER".PIC" FILE NAME PREFIX

_CR>=NONE) :

<CR>

2

ENTER 1 TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER I TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

LOAD OBJECT UNITS ARE METRIC

LOAD NUMBER = 1

LOAD OBJECT NAME IS FISTLOD

LOAD COORDINATE SYSTEM ORIGIN

0.00000 0.00000 0.00000

LOAD COORDINATE SYSTEM ORIENTATION

1.00000 0.00000 0.00000

0.00000 1.00000 0.00000

0.00000 0.00000 1.00000

LOAD LENGTH = 0.04000

LOAD RADIUS = 0.01000

LOAD CENTER OF GRAVITY

0.02000 0.00000 0.00000

MASS OF LOAD = 2.00000

LOAD INERTIA MATHIX

0.00010 0.00000 0.00000

0.00000 0.00032 0.00000

0.00000 0.00000 0.00032

LOAD GRASP IN LOCAL COORDINATES IS

0.030 0.000 0.000

GRASP APPROACH VECTOR IN LOCAL COORDINATES IS

0.000 -1.000 0.000

NUMBER OF POINT MASSES = 0

ENTER RETURN TO CONTINUE

A-I09
DOYOUWISHTO

I MODIFYCURRENTLOADDATA

2 CONTINUE

2

DO YOU WISH TO

1 MODIFY GRAPHICS REPRESENTATION FOR LOAD

2 CONTINUE

2

DEFINITION OF LOAD 2

ENTER A NAME FOR THIS LOAD OBJECT

(MAXIMUM OF EIGHT CHARACTERS)

LODTWO

ENTER THE WORLD X, Y, Z COORDINATES DEFINING

THE ORIGIN OF THE LOAD LOCAL COORDINATE SYSTEM

THESE DISTANCES SHOULD BE INPUT IN METERS

0.05,0.05,0.05

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF LOAD COORDINATE SYSTEM WITH RESPECT TO

THE WORLD COORDINATE SYSTEM

THE SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

I REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

ENTER IST ROTATION ANGLE (DEG)

0.

2

ENTER I TO SPECIFY ANOTHER AXIS/ANGLE PAIR

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

SPECIFY LENGTH OF LOAD 2 IN METERS

THE FIRST END IS AT THE LOAD COORDINATE SYSTEM

ORIGIN. CF_ERLINE OF LOAD IS ALONG X AXIS

SO THE LENGTH WILL DEFINE THE SECOND END

0.04

SPECIFY RADIUS OF LOAD 2 IN METERS

FOR USE IN INERTIA CALCULATIONS

0.015

SPECIFY CENTER OF MASS LOCATION FOR LOAD R

IN ITS OWN LOCAL COORDINATE SYSTEM

Rev A, October 1985

A-IIO
Rev A, October 1985

ENTERi TOHAVEPROGRAMCOMPUTECENTEROFMASS

ENTER2 TOREQUESTUSERINPUTOFCENTEROFMASS

SPECIFYMASSOFLOAD 2 IN KILOGRAMS

I.

SPECIFY INERTIA MATRIX FOR LOAD 2

ENTER I TO HAVE PROGRAM COMPUTE INERTIA MATRIX

ENTER 2 TO REQUEST USER INPUT OF INERTIA MATRIX

SPECIFY X, Y, & Z COORDINATES OF THE MANIPULATOR GRASP POINT

INPUT SHOULD BE IN THE LOAD LOCAL COORDINATE SYSTEM IN METERS

.03,0,0

ENTER THE THREE COMPONENTS OF A VECTOR WHICH DEFINES THE

DIRECTION FROM WHICH TO GRASP THE OBJECT

0,-i,-i

EhVFER I TO SPECIFY POINT MASSES FOR LOAD 9

ENTER 2 NOT TO SPECIFY POINT MASSES FOR LOAD 2

ENTER 0 NOT TO SAVE A DETAILED GRAPHICS

PRINT FILE

ENTER 1 TO SAVE A PRINT FILE FOR DETAILED

GRAPHICS DIMENSIONAL VALUES INPUT

DURING DETAILED GRAPHICS DEFINITION

o

1.5

INPUT SPAN OF LOAD OBJECT SETTING IN METERS

FOR SCALING GRAPHICS

SELECT SHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID

= SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCTURE

9 = FILLET

i0 = NONPLANAR ENTITY

ii = CAD OBJECT

ENTER INTEGER CHOICE

A-Ill ....
ENTER DIAMETER IN METERS

0.03

ENTER LENGTH IN METERS

0.01

ENTER i IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER AXIS OF ROTATION

I = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

ENTER ROTATION ANGLE IN DEGREES

90.

ENTER I TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

ENTER X,Y,Z TRANSLATION IN METERS

0.,0.,0.

Rev A, October 1985

A-llla ......
_"-'_*E&SDIALS CONTROL OF GRAPHICS _'._'_'_

*** DISPLAY IS NOW ENGAGED _'_.'-'_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

_'-_* • HARD COPY _'_'_'¢

ENTER ".PIC" FILE NAME PREFIX

(<CR >=NONE) :

<CR>

ENTER i TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER 1 TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

SELECT SHAPE

I = CYLINDER

2 = CONE

3 = RECTANGULAR SOLID_

4 = SYM TRAPEZOID

5 = NONSYM TRAPEZOID

6 = TRIANGULAR STRUCTURE

7 = RECTANGULAR STRUCTURE

8 = DATA TABLET STRUCIXIRE

9 = FILLET

I0 = NONPLANAR ENTITY

II = CAD OBJECT

ENTER INTEGER CHOICE

ENTER DIAMETER IN METERS

0.015

ENTER LENGTH IN METERS

0.03

ENTER i IF ROTATIONS REQUIRED

ENTER 2 IF TRANSLATION ONLY

ENTER AXIS OF ROTATION

I = X-AXIS

2 = Y-AXIS

3 = Z-AXIS

A-If2

Rev A, October 1985

: /

/ •
90.

ENTER ROTATION ANGLE IN DEGREES

ENTER i TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION INPUT

Rev A, October 1985

• j

Aill2a ; i'
ENTER X,Y,Z TRANSLATION IN METERS

0. ,0.01,0.

_'_:+*E&S DIALS CONTROL OF GRAPHICS _'_'_.'c

_'_'_DISPLAY IS NOW ENGAGED _"_"_'+

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

_'_'_HARD COPY ._r.,_,c

ENTER ".PIC" FILE NAME PREFIX

(<CR>=NONE) :

<CR>

2

ENTER I TO CHANGE CURRENT COMPONENT

ENTER 2 IF COMPONENT IS CORRECT

ENTER 1 TO DEFINE ANOTHER COMPONENT

ENTER 2 TO SAVE FILE AND EXIT

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

<OR>

LOAD OBJECT UNITS ARE METRIC °

LOAD NUMBER = 2

LOAD OBJECT NAME IS LODTWO

LOAD COORDINATE SYSTEM ORIGIN

0.05000 0.05000 0.05000

LOAD COORDINATE SYSTEM ORIENTATION

1.00000 0.00000 0.00000

0.00000 1.00000 0.00000

0.00000 O'mO0000 I'00000

LOAD LENGTH = 0.04000

LOAD RADIUS = 0.15000

LOAD CENTER OF GRAVITY

0.02000 0.00000 0.00000

MASS OF LOAD = 1.00000

LOAD INERTIA MATRIX

0.00011 0.00000 0.00000

0.00000 0.00019 0.00000

0.00000 0.00000 0.00019

LOAD GRASP IN LOCAL COORDINATES IS

0.030 0.000 0.000

GRASP APPROACH VECTOR IN LOCAL COORDINATES IS

0.000 -I.000 -1.000

NUMBER OF POINT MASSES = 0

Rev A, October 1985

-- . -

A-f13 .......
ENTERRETURNTOCONTINUE

<CR>

DO YOU WISH TO

i MODIFY CURRENT LOAD DATA

2 CONTINUE

2

DO YOU WISH TO

I MODIFY GRAPHICS REPRESENTATION FOR LOAD

2 CONTINUE

2

ENTER NAME OF FILE TO SAVE LOAD DATA IN

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED _0

EXAMPLE - ROBDEVICE:[ROBDIR]PLAI_.LOD

PLANAR.LOD

Rev A, October 1985

6

SELECT MODE OF OPERATION DESIRED

MODE

I

2

3

_. °

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATAFILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXITING. FROM SYSTEM DEFINITION FUNCTION

....... A-II4
?igure A-27. - Completion of load i in detailed load object file.

A-If5
ORIGINAL PAGE IS

OF' POOR QUALITY

Iff A R TIN t_A RIE TTA

Figure A-28. - Completion of load 2 in detailed load object file.

A-f16
Procedure for Creating a Total Robotic System Workcell

This process is in charge of building a system by putting together previously defined arms and, optionally, loads and an environment. There is allowance for only one environment file, one load objects file and a preset maximum number of arm data files. Only metric or English units are allowed as I/O

specifications for locations of arms and loads.

The determination of construction in conjunction with the Evans and

Sutherland graphics display is via terminal input:

**** ROBOTIC SYSTEM DEFINITION  

SPECIFY W_ETHER GRAPHICS ARE DESIRED

DURING SYSTEM DEFINITION

ENTER i FOR NO GRAPHICS

For redefinition of the input/output units to be assumed in the system

creation phase, the header and prompt are:

ENVIRONMENT DEFINITION

WHICH UNITS DO YOU WISH TO USE FOR I/O?

ENTER 1 FOR METRIC UNITS

ENTER 2 FOR ENGLISH UNITS

The user may define the system initial setup and the values of the constan= parameters in the world scenario that effect the manipulator performance.

The interactive input properties of the system environment are for use in the

analysis tools functions and currently include acceleration due to gravity and

the overall system operation size.

The prompt to answer for modification of the standard gravity default value appears as:

DO YOU _ISH STANDARD GRAVITY?

ENTER i FOR STANDARD GRAVITY:

ENTER 2 TO INPUT NEW GRAVITY

0.0 9.8

or 0.0 386.1

0.0 METERS/S** 2

0.0 INCHES/S*'2

A-II7
The prechosen math units typing will be w_itten to the screen as a reminder and for the convenience of the user when entering the system values. The

format is:

UNITSFORINPUT/0UTPUTAREAS FOLLOWS:

LENGTH METERS

VELOCITY METERS/SEC

ACCELERATION METERS/S**2

MA_S KILOGRAMS

INERTIA KG-M**2

FORCE NEWTONS

TORQUE N-M

or

UNITSFOR INPUT/OUTPUT ARE AS FOLLOWS:

LENGTH INCHES

VELOCITY INCHES/SEC

ACCELERATION INCHES/S**2

MASS POUNDS(MASS)

INERTIA LBM-IN**2

FORCE POUNDS(FORC)

TORQUE IN-LBF

The total span that will incorporate all of the system constituent files to be

included is given with the value used in scaling the graphics:

ENTER THE SYSTEM SPAN (IN [length units]) FOR GRAPHICS

THE GRAPHICS ARE SCALED SUCH THAT THIS

SPAN FITS IN ONE KALF OF THE GRAPHICS SCREEN

Again in the system building routine, the inquiry entails the constituent files

desired for =his particular system. The first option entails:

DO YOU _ISH A 0ETAILED SYSTEM ENVIRONMENT?

1 NO DETAILED ENVIRONMENT

2 INCLUDE 0ETAILED ENVIRONMENT

If one opts to include an environment, the routine

that reads =his file asks for the name of the existing

file to include:

ENTER FILEN_ME OF ENVIRONMENT DATA

TO BE READ. FILE MUST CURRENTLY EXIST.

THE TOTPoL NUMBER OF CHARACTERS IN FILENAME"

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLNSYS.ENV

.... A-iI8
Rev A, October 1985

The user is then prompted for inclusion of moving bases in building the system:

DOESSYSTEMHAVEANYMOVINGBASE?

0 NOMOVINGBASESIN SYSTEM

I SYSTEMDOESINCLUDEMOVABLEBASES

If one opts to include moving bases in the system, enter the integer:

ENTERTHENUMBEROFMOVINGBASES

Also, whenconstructing the system, the desired numberof arm files to include

should be input. Eachwill initially be read into the system profile in the

sameorientation in which they were saved. Enter the integer:

SYSTEMDEFINITIONROUTINE

ENTERNUMBEROFARMSIN SYSTEM

Then in the read arm loop, for each arm input:

ENTERFILENAMEOFARMDATAFILE FORARMJ

THETOTALNUMBEROFCHARACTERSIN FILENAME

CANNOTEXCEED40

EXAMPLE- RUBDEVICE:[ROBDIR]PLANDET.ARM

If system includes moving bases, the next prompt is to enter:

NUMBEROFMOVINGBASETOWHICHARMIS ATTACHED

0 FIXEDBASE

.NE.O MOVINGBASE(ARMSHAVINGA COMMONBASECARRYTHESAMEBASE

NUMBER)

A-118a
Rev A, October 1985

If system does not include moving bases or the current base is fixed, the

freedom to changean arm base placement in the system scenario is accomplished

with the flag:

DOYOUWISHTOMODIFYTHEBASELOCATION

ORORIENTATIONFORARMNUMBERJ?

1 NOMODIFICATION

2 MODIFYBASELOCATIONORORIENTATION

From the subroutine that allows placement of the input arm into the

correct location and orientation neededfor this system, the current location

values resident in the array are printed to the terminal. The user responds

to the observed assignments with:

DOYOUWISHTOMODIFYTHE

BASELOCATIONFORARMJ?

ENTERI FORNOMODIFICATION

ENTER2 TO INPUTNEWLOCATION

If changing the location, input in world coordinates:

ENTERNEWBASELOCATIONFORARMJ

From the system building routine the user is questioned, after the

current values are shownon the screen, for the new arm orientation, if

desired:

DOYOUWISHTOMODIFYTHE

BASEORIENTATION FOR ARM J?

THE INPUT ROTATION WILL BE CONCATENATED

WITH THE CURRENT ARM ORIENTATION

ENTER I FOR NO MODIFICATION

ENTER 2 TO INPUT NEW ORIENTATION

A-II9
If changing the orientation specification, the rotations

are about the current unit vector directions of the arm

base coordinate axes are given with the answer to:

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF BASE SYSTEM WITH RESPECT TO WORLD SYSTEM

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

I REPRESENTS THE K AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

ENTER IST ROTATION ANGLE, IN OEGREES

ENTER i TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

If the user is still not satisfied with the current arm state in the system,

other modifications are allowed through:

ENTER I TO CONTINUE

ENTER 2 TO MOOIFY ARM J LOCATION

OR ORIENTATION

Then answer the flag to include load objects in the system file:

00 YOU WISH TO ADD LOAD OBJECTS TO THE SYSTEM ?

i NO LOAD OBJECTS IN CURRENT SYSTEM

2 READ IN AND USE A LOAD OBJECTS DATA FILE

For the selection to include a load objects file:

ENTER THE NAME OF THE FILE CONTAINING LOAD DATA

THE TOTAJ_ NUMBER OF CHARACTERS IN THE FILENAME

CANNOT EXCEED 40

EXA_LPLE - ROBOEVICE:[ROBDIR]PLANDET.LOD

When the user is in the process of choosing the point of fixation and arrangement, or configuration, for the load objects:

ENTER i TO CONTINUE

ENTER 2 TO MODIFY LOAD OBJECT

OR ORIENTATION

J LOCATION

The current load location will be written for the user at this point. For

movement of the load objects to another locale:

ENTER NEW LOCATION FOR LOAD J

(ENTER THREE REAL NUMBERS WITH UNITS OF [length units] )

A-120
Rev A, October 1985

Next, the current rotation orientation matrix values are given at the

terminal. The flag for rotation changesof the current load appears as:

DOYOUWHICHTOMODIFYTHE

LOADORIENTATIONFORLOADJ?

ENTERI FORNOMODIFICATION

ENTER2 TO INPUTNEWORIENTATION

If opting to modify the orientation scheme:

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF LOAD SYSTEM WITH RESPECT TO WORLD SYSTEM

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

I REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

and

ENTER IST ROTATION ANGLE IN DEGREES

and

ENTER I TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

Then answer the flag to include target objects in the system file:

DO YOU WISH TO ADD TARGET OBJECTS TO THE SYSTEM?

I NO TARGET OBJECTS IN CURRENT SYSTEM

2 READ IN AND USE A TARGET OBJECTS DATA FILE

For the selection to include a target objects file:

ENTER THE NAME OF THE FILE CONTAINING TARGET DATA

THE TOTAL NUMBER OF CHARACTERS IN THE FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANDET.TRG

When the user is in the process of choosing the point of fixation and

arrangement, or configuration, for the target objects:

ENTER I TO CONTINUE

ENTER 2 TO MODIFY TARGET OBJECT J LOCATION

OR ORIENTATION

A-121
Rev A, October 1985

The current load location will be written for the user at this point. For

movement of the load objects to another locale:

ENTER NEW LOCATION FOR TARGET J

(ENTER THREE REAL NUMBERS WITH UNITS OF [length units])

Next, the current rotation orientation matrix values are given at the

terminal. The flag for rotation changes of the current load appears as:

D0 YOU WISH TO MODIFY THE

TARGET ORIENTATION FOR TARGET J?

ENTER i FOR NO MODIFICATION

ENTER 2 TO INPUT NEW ORIENTATION

If opting to modify the orientation scheme:

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF TARGET SYSTEM WITH RESPECT TO WORLD SYSTEM

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

ENTER IST AXIS OF ROTATION

and

ENTER ISTROTATION ANGLE IN DEGREES

ENTER i TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

The transformation matrices between neighboring joint coordinate

systems and between joint and base systems, and the vectors describing tool

location and link locations are transformed into world coordinates. Also, the

locations and orientations for any loads being held by any of the arms are

determined in the world coordinate system. (Note that no state orientation

misalignment is currently implemented.) Hence, the system Jacobian matrix

will be invented with the tool/joint/base to world transformation matrices and

used later in the simulation capabilities while solving for individual joint

velocities for each arm.

To terminate the graphics, if in effect during the building of the

robotic system:

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

Arguments are passed to the graphics and the system object data loading

routines for indication of the intended number of arms in the system, the

existence of environment data and a specification for including a load objects

file. The graphics in the system creation uses the system span input by the

user earlier to scale the display. The graphics will be initialized in a

A-121a
constant state as it appeared at creation. Also during modification of the

display data for constituent data filesp the environment is constant and therefore cannot be updated. As before, the Evans and Sutherland graphics routines

are used to provide all displays.

The form of the display for the _anlpulator display on the E&S graphics

unit is enhanced by borders and text output locations with the robotic simulation title, current simulation time, creation mode title and Joint travel status data column headings. The form will only allow two arms worth of column

output information (joint travel angles and percent of the maximum traveled for

each joint). The initial state information is displayed here during the system

definition function.

The system definition function writes the unformatted data ('.SYS') file

containing the contents of pertinent COMMON blocks defining the graphics, geometry, and mass properties of the total robotic system. The user is prompted

for the file name under which the file is to be stored.

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXA/4PLE - ROBDEVICE:[ROBDIR]PLANAR.SYS

SYSTEM DATA FILE HAS BEEN WRITTEN

Sample run. - A sample total system creation (Example A-7) run is provided

along with the resultant graphic pictures obtained during the execution (Fig.

A-29 through A-31).

A-122
Rev A, October 1985

<CR>

Example A-7

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING SYSTEM DEFINITION FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU USE

5 READ UNIT (TERMINAL)

6 WRITE UNIT (TERMINAL)

7 PRINTED OUTPUT UNIT

8-9 SIMULATION INPUT FILE

I0 SIMULATION OUTPUT FILE

ii ACTUATOR PARAMETERS INPUT FILE

14 LOAD OBJECTS DATA FILE

15 ERROR MESSAGE FILE

16 GAIN CONSTANTS FILE

17 TORQUE DATA INPUT FILE

18 ACC-VEL-THETA FILE

19 PROGRAM OPTIONS FILE

20 PLOT DATA FILE

21 MOTION TIME HISTORY FILE

22 HARDWARE CONTROL SIGNALS

23 CONTROL OPTIONS INPUT FILE

24 CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOCAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

SELECT MODE OF OPERATION DESIRED

MODE

i

2

3

4

5

6

DEFINITION

CREATE/MODIFY ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

_'_'_'n'_ ROBOTIC SYSTEM DEFINITION _"_'_'_'_

_:c,'-:c:",'¢

SPECIFY WHETHER GRAPHICS ARE DESIRED

DURING SYSTEM DEFINITION

A-123
2

ENTER 1 FOR NO GRAPHICS

ENTER 2 FOR GRAPHICS

ENVIRONMENT DEFINITION

WHICH UNITS DO YOU WISH TO USE FOR 1/07

ENTER 1 FOR METRIC UNITS

ENTER 2 FOR ENGLISH UNITS

UNITS FOR INPUT/0UTPUT ARE AS FOLLOWS:

LENGTH METERS

VELOC ITY METERS /SEC

ACCELERATION METERS/S_'_'_2

MASS KI LOGRAMS

INERTIA KG -M_'-_'c 2

FORCE NEWTONS

TORQUE N-M

DO YOU WISH STANDARD GRAVITY?

ENTER I FOR STANDARD GRAVITY:

ENTER 2 TO INPUT NEW GRAVITY

0.0 9.8

1.5

ENTER THE SYSTEM SPAN (IN METERS ) FOR GRAPHICS

THE GRAPHICS ARE SCALED SUCH THAT THIS

SPAN FITS IN ONE HALF OF THE GRAPHICS SCREEN

DO YOU WISH A DETAILED SYSTEM ENVIRONMENT?

i NO DETAILED ENVIRONMENT

2 INCLUDE DETAILED ENVIRONMENT

ENTER FILENAME OF ENVIRONMENT DATA

TO BE READ. FILE MUST CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE: [ROBD IR ]PLANSYS. ENV

PLANAR.ENV

ENVIRONMENT DATA FILE HAVE BEEN READ

ALL COMMON BLOCK ARE SAVED

_cHARD COPY _'_'c

ENTER ".PIC" FILE NAME PREFIX

( <CR> =NONE):

Rev A, October 1985

0.0 METERS/S*82

A-124
<CR>

DOES SYSTEM HAVE ANY MOVING BASES?

0 NO MOVING BASES IN SYSTEM

I SYSTEM DOES INCLUDE MOVABLE BASES

ENTER NUMBER OF MOVING BASES

•SYSTEM DEFINITION ROUTINE

ENTER NUMBER OF ARMS IN SYSTEM

ENTER FILENAME OF ARM DATA FILE FOR ARM i

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

PLNDET.ARM

ARM DATA FILE FOR ARM I HAS BEEN READ

ENTER NUMBER DENOTING WHICH MOVING

BASE CURRENT ARM IS ATTACHED TO

0 ARM IS ATTACHED TO A FIXED BASE

.NE. I NUMBER DENOTING THE MOVING

BASE TO WHICH THE ARM IS ATTACHED,

NUMBER MUST BE .LE. TO

NUMBER OF MOVING BASES

Rev A, October 1985

A-125
<CR>

<CR>

_',_'_'_ E&S DIALS CONTROL OF GRAPHICS _'_"_'_

_'_'e.cDISPLAY IS NOW ENGAGED :'-:_:_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

_'_,_'_HARD COPY _',_'_'c

ENTER ".PIC" FILE NAME PREFIX

( <CR> =NONE) :

DO YOU WISH TO ADD LOAD OBJECTS TO THE SYSTEM?

1 NO LOAD OBJECTS IN CURRENT SYSTEM

2 READ IN AND USE A LOAD OBJECTS DATA FILE

ENTER THE NAME OF THE FILE CONTAINING LOAD DATA

THE TOTAL NUMBER OF CHARACTERS IN THE FILENAME

CANNOT EXCEED 40

EXAMPLE =ROBDEVICE:(ROBDIR]PLANDET.LOD

PLANAR.LOD

_'_'n'_E&S DIALS CONTROL OF GRAPHICS _

":_:_DISPLAY IS NO ENGAGED ":_:_:_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

_'_'_*HARD COPY _'_'c

ENTER ".PIC" FILE NAME PREFIX

( <CR> =NONE) :

ENTER i TO CONTINUE

ENTER 2 TO MODIFY LOAD OBJECT I LOCATION

OR ORIENTATION

Rev A, October 1985

A-126
CURRENT LOCATION FOR LOAD 1 IN METERS

LOAD LOC - 0.00000 0.00000 0.00000

ENTER NEW LOCATION FOR LOAD 1

(ENTER THREE REAL NUMBERS WITH UNITS OF METERS

0.1,0.05,0.

ROTATION MATRIX RELATING LOAD TO WORLD

COORDINATES FOR LOAD 1 IS

1.00000 0o00000 0.00000

0.00000 1.00000 0.00000

0.00000 0.00000 1.00000

DO YOU WISH TO MODIFY THE

LOAD ORIENTATION FOR LOAD i?

ENTER i FOR NO MODIFICATION

ENTER 2 TO LNPUT NEW ORIENTATION

SPECIFY ROTATION SEQUENCE FOR ORIENTATION

OF LOAD SYSTEM WITH RESPECT TO WORLD SYSTEM

SEQUENCE IS SPECIFIED BY A SERIES OF

ROTATION AXIS/ROTATION ANGLE PAIRS WHERE

1 REPRESENTS THE X AXIS

2 REPRESENTS THE Y AXIS

3 REPRESENTS THE Z AXIS

A MAXIMUM OF 3 ROTATIONS ARE ALLOWED

1

ENTER IST AXIS OF ROTATION

ENTER IST ROTATION ANGLE, IN DEGREES

90.

ENTER i TO SPECIFY ANOTHER ROTATION

ENTER 2 TO TERMINATE ROTATION SEQUENCE INPUT

*** E&S DIALS CONTROL OF GRAPHICS ***

*** DISPLAY IS NOW ENGAGED ***

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

<CR>

*** HARD COPY ***

ENTER ".PIC" FILE NAME PREFIX

(< CR>=NONE) :

ENTER i TO CONTINUE

ENTER 2 TO MODIFY LOAD OBJECT i LOCATION

OR ORIENTATION

A-127
<ca>

<CR>

<ca>

_',_',_'_ E&S DIALS CONTROL OF GRAPHICS _',_'o',-

_',_',_'_ DISPLAY IS NOW ENGAGED _"_"_'_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

_'_,_HARD COPY _'o'o'¢

ENTER ".PIC" FILE NAME PREFIX

( <CR> =NONE) :

ENTER I TO CONTINUE

ENTER 2 TO MODIFY LOAD OBJECT 2 LOCATION

OR ORIENTATION

DO YOU WISH TO ADD TARGET OBJECTS TO THE SYSTEM?

i NO TARGET OBJECTS IN CURRENT SYSTEM

2 READ IN AND USE A TARGET OBJECTS DATA FILE

ENTER THE NAME OF THE FILE CONTAINING TARGET DATA

THE TOTAL NUMBER OF CHARACTERS IN THE FILENAME

CANNOT EXCEED 40

EXAMPLE = ROBDEVICE:[ROBDIR]PLANDET.TRG

PLANAR.TRG

_c, E&S DIALS CONTROL OF GRAPHICS _'_'_

_o_'cDISPLAY IS NO ENGAGED _'_'_'_

DEPRESS FUNCTION SWITCH 31 TO DISENGAGE

THE GRAPHICS LOOP AND CONTINUE

":¢"¢"¢HARD COPY *_"*

ENTER ".PIC" FILE NAME PREFIX

( <CR> =NONE) :

ENTER I TO CONTINUE

ENTER 2 TO MODIFY TARGET OBJECT I LOCATION

OR ORIENTATION

ENTER REE_URN TO TERMINATE GRAPHICS AND CONTINUE

Rev A, October 1985

A-128
Rev A, October 1985

ENTERFILENAMEOFSYSTEMDATAFILE

THE TOTALNUMBEROFCHARACTERS IN FILENAME

CANNOT EXCEED &0

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.SYS

PLNDET.SYS

SYSTEM DATA FILE HAS BEEN WRITTEN

SELECT MODE OF OPERATION DESIRED

MODE

I

2

3

5

6

DEFINITION

CREATE/MODIFY-ARM DATA FILE

CREATE/MODIFY DETAILED ENVIRONMENT

CREATE/MODIFY TARGET OBJECTS FILE

CREATE/MODIFY LOAD OBJECTS FILE

CREATE SYSTEM DATA FILE

TERMINATE SYSTEM DEFINITION EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXITING FROM SYSTEM DEFINITION FUNCTION

FORTRAN STOP

INPUT (Y) TO RUN SYSTEM DEFINITION FUNCTION AGAIN, (OTHERWISE, RETURN)

INPUT (Q) IF YOU WISH TO EXIT THE PROGRAM (OTHERWISE, RETURN)Q

<CR>

A-128a
lYl' ,q t_ TIN l_/Al t_' I E TTJ:I

,,..JOZI4T"l'lml_lV_l. _I'FITL,_

T_ __!I

t:_MI % MIclX ̧

Figure A-29. - Environment display during robotic system creation.

A-129
ORIGINAL PAGE IS

POOR QUALITY

/'Vf A R TIN lV/A RIE TTA

= °1

_= z_= I

1:1:141

,.Jeer1

,.,INT2

0,00

0.00

Figure A-30. - Arm insertion during robotic system creation.

A-130
ORIGINAL p_.._=_ ,.:,

OF POOR QUALITY

. ., , o ,,.... ..

_ "r_ ,_"- " o.ooo

1"4A R TIN /VIA RIE TTA

I

I

I

1 I

]

I

m

_t

._rrzI

ON'r2 I

0,_ 0 _

(_._ • 0._

Figure A-31. - Complete robotic planar arm system.

A- 131
THE. ANALYSIS TOOLS USER'S GUIDE

Rev A, October 1985

This portion o£ the user's guide describes the use of the analysis

tools function of ROBSIM that carry out kinematic analysis, requirements

analysis, and response simulation. It should be noted that before using this

section a manipulator arm system must have been completely defined using the

system definition function of ROBSIM.

At this point, a header and table listing logical unit number

assignments is displayed. Pressing the RETURN key will continue program

execution and show the menu of SIMDRFR options:

SELECTION MODE OF OPERATION DESIRED

MODE DEFINITION

REQUIREMENTS ANALYSIS WlTHOUT GRAPHICS

REQUIREMENTS ANALYSIS WITH GRAPHICS

RESPONSE SIMULATION WITHOUT GRAPHICS

RESPONSE SIMULATION WITH GRAPHICS

SET UP A MOTION PROGRAM

SET UP A BASE MOTION PROGRAM

TERMINATE ANALYSIS TOOLS EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

"%,

The user should enter the mode number corresponding to the option desired.

At this point the discussion is separated into subsections based on the

menu options listed. Modes i and 2 are discussed in the requirements analysis

subsection. These options are identical with the exception that the Evans and

Sutherland graphics display accompanies execution in mode 2. Likewise, modes

3 and 4 are identical and are discussed in the response simulation

subsection. Mode 5, which sets up a motion program or specifies the

manipulator motion, is discussed in the motion profile subsection. Mode 6 is

similar to Mode 5 except that it specifies motion for the moveable bases.

Mode 7 exits this section of ROBSIM and returns the user to the executive

comand file level.

Requirements Analysis

This subsection documents the use of the requirements analysis mode o£

the SIMDRVR portion of ROBSIM. Requirements analysis with and without

graphics (Mode I and Mode 2) will be discussed together because the analysis

carried out in both modes is identical. The underlying formulation for this

analysis is described in the analysis capabilities section of the main text.

Mode 2, however, displays the motion of the manipulator system on an Evans and

Sutherland picture system. This display also includes the current time and a

table o£ displacements and percent of maximum allowable travel for each joint.

PRECEDING PAGE BLANK I_,OT FIL_ED

A-133
The user must first specify the nameof the file containing the manipulator system definition in response to the prompt:

ENTERFILENA/_EOF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHA/%ACTERS IN FILENA_

CAN NOT EXCEED 40

EXAMPLE - DRDI:[ROBSIM]PLNRARM. SYS

If the prescribed file is read in without any problems, the following

verification is printed:

SYSTEM DATA FILE AS BEEN READ

ALL COMMON BLOCKS ARE LOADED

Requirements run options. The run options define what type of output

files will be written during execution, how the run will be controlled, what

computations will be done and the duration of program execution. During a requirements analysis run, the program takes the option flags input by the user

and writes them to a file. The next time the requirements analysis is run the

file is read in and the user is given the choice of using these same options or

changing them:

DO YOU WISH TO MODIFY CUR/IENT OPTIONS?

I LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

Entering a i will produce a listing of the current options similar to that

shown:

CURRENT OPTIONS INCLUDE:

PRINT CONDENSED OUTPUT TO REQEX.PRT

EVERY .50000E-01 SEC

PLOT DATA OUTPUT TO REQEX.PLT

EVERY .50000E-01 SEC

DYNAMIC COMPUTATIONS ARE REQUESTED

CURRENT SIMULATION TIMES ARE:

START TIME .00000E+O0 SEC

STOP TIME 2.0000 SEC

TIME STEP .50000E-01SEC

DO YOU WISH TO MODIFY CURRENT OPTIONS?

I LEST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRA_ USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

' A-134
Rev A, October 1985

Entering a 2 in response to the options prompt allows the user to

interactively define which options should be used. (If no options file

exists, this modeis selected by default.) The first output option available

is a print option:

DOYOUWISHPRINTEDOUTPUT? /

I PRINT OUTPUT

2 PRINT CONDENSED OUTPuT :

3 NO PRINTED OUTPUT

(911 FORT HE ROBSIM HELP LIBRARY)

For each output option selected, the program prompts the user for the name of

the file in which to store the information and at what time intervals it

should be written:

ENTER FILENAME OF PRINTED OUTPUT FILE

TO BE CREATED. FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - DRDO:[ROBSIM]PLANAR.PRT

ENTER THE DESIRED TIME STEP FORT HE PRINTED OUTPUT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

This option does not actually print a file during execution, but writes the

analysis data to a formatted file that may subsequently be spooled to a

printer. The values saved at each time interval include:

i.

I) Time;

2) Base displacement;

3) Relative joint displacements;

4) Base velocity;

5) Relative joint velocities;

6) Base acceleration;

7) Relative joint acceleration;

8) Actuator driving torque;

9) Joint position vectors;

I0) Linear velocity vector;

ii) Linear acceleration vector;

12) Absolute angular velocity;

13) Absolute angular acceleration;

A-135
Rev A, October 1985

14) Local coordinate system to world coordinate system transformations;

15) Inertia matrix world coordinates;

16) Joint reaction force vector;

17) Force vector at the joint/link centroid;

18) Joint reaction torque vectors.

The condensed printout saves only the first eight variables from the

list above.

If the system has arms with movable bases, the user then sees the following

prompts:

DO YOU WISH BASE FORCE AND TORQUE

DATA OUTPUT FOR SYSTEM WITH MOVING BASES?

1 BASE TORQUE AND FORCE OUTPUT

2 NO BASE TORQUE AND FORCE OUT?UT

HOWDO YOU WISH TO CONTROL THE BASE MOTION?

1 READ FROM PREVIOUS ACC-VEL-POS FILE

2 INPUT A POLYNOMIAL TIME HISTORY

These prompts perform the same functions for a movable base, as the following

options do for a manipulator arm.

The next option is for a torque output file:

DO YOU WISH TORQUE DATA OUTPUT?

1 TORQUE OUTPUT

2 NO TORQUE OUTPUT

(911 FOR THE ROBSIM HELP LIBRARY)

The unformatted file written by this option contains time and actuator driving

torques for each joint. This file may later be used to drive a response

simulation.

The next option determines how the requirements analysis run will be

controlled:

HOW DO YOU WISH TO CONTROL THE SIMULATION?

1 READ ACC-VEL-THETA DATA FILE

2 CONTROL WITH POLYNOMIAL TIME HISTORIES

3 CONTROL WITH E&S FUNCTION KEYS

(911 CONTROL THE ROBSIM HELP LIBRARY)

/

A-135a
Rev A, October 1985

For option i, an acc-vel-theta file must have been previously generated,

usually from a response simulation run. This unformatted file contains joint

angular accelerations, velocities, and positions as functions o£ time, and the

corresponding manipulator motions and loads are determined by these. Option

2, control with polynomial time histories, makes use of the motion profile

file written with the use of mode 5 of the SIMDRVR main menu. Setting up a

motion profile is described in the motion profile subsection. Control with

the Evans and Sutherland functions keys, option 3, can be used only when the

requirements analysis is being run with graphics. This control uses the dials

on the E&S control panels to move any part of the manipulator arm. This is

most often used to investigate arm configuration and feasible motions.

The requirements analysis always includes a kinematic analysis of the

arm motion. If the user wishes to also evaluate dynamic loads during the

motion, this is done by entering a 1 in response to the following prompt:

DO YOU WISH DYNAMIC COMPUTATIONS?

1 DO DYNAMICS COMPUTATIONS

2 NO DYNAMICS

(911 FOR THE ROBSIM HELP LIBRARY)

A-136
Two additional output options are also available:

DO YOU WISH A SIMULATION OUTPUT FILE?

I WRITE SIMULATION FILE

2 NO SIMULATION FILE

(911 FOR THE ROBSIM HELP LIBRARY)

A response of 1 to this prompt indicates that an unformatted file of joint angles as functions of time is to be saved during the requirements run. This

file can then be used in the ROBSIM postprocessor to play back the motion that

occurred during the requirements analysis. The last file the user has the option of writing is a plot file:

DO YOU WISH A PLOT DATA OUTPUT FILE?

i SAVE A PLOT DATA FILE

2 NO PLOT DATA FILE

(911 FOR THE ROBSIM HELP LIBRARY)

If plotting is requested, various parameters are saved for subsequent display

on a _ardcopy plotter or graphics terminal. Plotting is performed by the postprocessor function of ROBSIM (POSTDRVR). Five different plotting packages are

available for use with the requirements analysis. The packages and variables

saved in each are listed:

I) Brief - join= position (angular),

- joint angular velocity,

- join= angular acceleration,

- join= actuator torque;

2) End effector - end effector x position,

- end effector y position,

- end effector z position,

- end effector x force,

- end effector y force,

- end effector z force,

- end effector x torque,

- end effector y torque,

- end effector z torque;

3) Joint positions - joint x position,

- joint y position,

- joint z position;

4) Reaction forces - joint force, x - direction,

- joint force, y - direction,

- joint force, z - direction,

- joint torque, x - direction,

- joint torque, y - direction,

- joint torque, z - direction;

5) All of the above.

A-137
Rev A, October 1985

At this point in the program the user is asked for a file nameunder which the

data will be saved and a write interval. At a later point, the user is asked

which packageof values to save.

The last part of the program options asks the user for start and stop

times andhow often the analysis calculations should be carried out:

ENTER PROGRAM START TIME (SEC)

(ENTER 911 FORT HE ROBSIM HELP LIBRARY)

ENTER PROGRAM STOP TIME (SEC)

(ENTER 911 FORT HE ROBSIM HELP LIBRARY)

ENTER PROCESSING STEPSIZE (SEC)

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

If the manipulator motion is being controlled with the Evans and Sutherland

dials, the stop time should be set to a very large number. When the user has

finished, there is a button on the E&S control panel to terminate the motion.

If all the options have been entered correctly, the user should enter a

3 when the following menu is displayed:

DOYOU WISH TO MODIFY CURRENT OPTIONS?

1 LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

If a motion basemotion profile is to be used to control the manipulator base,

the user is now prompted to enter the name of the file containing the data:

ENTER THE FILENAME CONTAINING THE MOTION PROFILE FOR BASE i

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED _0

EXAMPLE - [ROBSIM]MOPROF.BMP

If a motion profile is to be used to control the manipulator, the user is now

prompted to enter the name of the file containing the data:

ENTER THE FILENAME CONTAINING THE MOTION PROFILE FOR ARM 1

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - DRDO:[ROBSIM]MOPROF.THP

A-138
Rev A, October 1985

If the plot file option was selected, the user now must also prescribe the

desired plot package in response to the following prompt:

CHOOSE ONE OF THE FOLLOWING PLOT PACKAGES TO WRITE TO A FILE

i. THE BRIEF PACKAGE CON_fAINING:

ENTRY I IS THE THETA VALUE

ENTRY 2 IS THE THETA DOT VALUE

ENTRY 3 IS THE THEAT DOUBLE DOT VALUE

ENTRY 4 IS THE ACTUATOR TORQUE VALUE

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

A-138a
o THE END-EFFECTOR PACKAGE CONTAINING:

ENTRY 1 IS THE END EFF. X POSITION

ENTRY 2 IS THE END EFF. Y POSITION

ENTRY 3 IS THE END EFF. Z POSITION

ENTRY 4 IS THE END EFF. K FORCE

ENTRY 5 IS THE END EFF. Y FORCE

ENTRY 6 IS THE END EFF. Z FORCE

ENTRY 7 IS THE END EFF. X TORQUE

ENTRY 8 IS THE END EFF. Y TORQUE

ENTRY 9 IS THE END EFF. Z TORQUE

1

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

THE JOINT POSITIONS PACKAGE CONTAINING:

ENTRY i IS THE JOINT X POSITION VALUE

ENTRY 2 IS THE JOINT Y POSITION VALUE

ENTRY 3 IS THE JOINT Z POSITION VALUE

to

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

THE REACTION FORCES PACKAGE CONTAINING:

ENTRY I IS THE JOINT FORCE X VALUE

ENTRY 2 IS THE JOINT FORCE Y VALUE

ENTRY 3 IS THE JOINT FORCE Z VALUE

ENTRY 4 IS THE JOINT TORQUE X VALUE

ENTRY 5 IS THE JOINT TORQUE Y VALUE

ENTRY 6 IS THE JOINT TORQUE Z VALUE

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

_o THE COMBINATION BRIEF/END-EFFECTOR/JOINT POSITIONS/REACTION FORCES

PACKAGE CONTAINING:

ENTRY i IS THE THETA VALUE

ENTRY 2 IS THE JOINT X POS. VALUE

ENTRY 3 IS THE JOINT Y POS. VALUE

ENTRY 4 IS THE JOINT Z POS. VALUE

ENTRY 5 IS THE THETA DOT VALUE

ENTRY 6 IS THE THETA DOUBLE DOT VALUE

ENTRY 7 IS THE JOINT X FORCE VALUE

ENTRY 8 IS THE JOINT Y FORCE VALUE

ENTRY 9 IS THE JOINT Z FORCE VALUE

ENTRY i0 IS THE JOINT X TORQUE VALUE

ENTRY ii IS THE JOINT Y TORQUE VALUE

ENTRY 12 IS THE JOINT Z TORQUE VALUE

ENTRY 13 IS THE ACTUATOR TORQUE VALUE

ENTRY 14 IS THE END-EFF. X POSITION

ENTRY 15 IS THE END-EFF. Y POSITION

ENTRY 16 IS THE END-EFF. Z POSITION

A-139
Rev A, October 1985

ENTRY17 IS THEEND-EFF.X FORCE

ENTRY18 IS THE END-EFF. Y FORCE

ENTRY 19 IS THE END-EFF. Z FORCE

ENTRY 20 IS THE END-EFF. X TORQUE

ENTRY 21 IS THE END-EFF. Y TORQUE

ENTRY 22 IS THE END-EFF. Z TORQUE

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

SELECT PLOT PACKAGE DESIRED FOR SAVE

NUMBER

1

2

3

5

6

PACKAGE

BRIEF PACKAGE

END-EFFECTOR PACKAGE

JOINT POSITION PACKAGE

REACTION FORCES PACKAGE

COMBINATION OF ABOVE PACKAGES

TO WRITE DESCRIPTIONS AGAIN

ENTER INTEGER VALUE FOR MODE DESIRED

Execution of requirements analysis will begin after all the prompts

have been answered. As execution proceeds, the current analysis time is

displayed on the user's terminal for general information. During execution

with graphics, the user may stop the manipulator motion at any time to observe

the system. This is done by pressing the first button on the E&S control

panel. The manipulator system display may then be moved or rotated to obtain

a different perspective. To resume program execution, press the first button

on the control panel again.

Sample runs. - Example A-8 illustrates the use of the ROBSIM

requirements analysis without graphics. The user wants to control a planar

arm without a moveable base and with a previously defined motion profile.

Desired outputs are a condensed printout and plots of joint positions as

functions of time. Example A-8a sets up the required inputs for a requirement

analysis of a system with two arms attached to a moving base. The base motion

is a combination of a linear motion along the Yw axis and a rotation about

Zw •

A-I_O
ExampleA-8

Rev A, October 1985

$ @ROBSIM

ll_UT (PREPDRVR)--TO RUN ROBSIM PREPROCESSOR FUNCTION

(INITDRVR)--TO RUN ROBSIM SYSTEM DEFINITION FUNCTION

(SIMDRVR) --TO RUN ROBSIM SI}_LATION ANALYSIS TOOLS FUNCTION

(POSTDRVR)--TO RUN ROBSIM POST PROCESSOR FUNCTION

WHICH:SIMDRVR

Previous logical name assignment replaced

Previous logical name assignment replaced

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING ANALYSIS TOOLS FUNCTION

DEFAULT LOGICAL

LU

5

6

7

8-9

10

11

14

15

16

17

18

19

20

21

22

23

24

UNIT ASSIGNMENTS WITHIN ROBSIM

USE

READ UNIT (TERMINAL)

NRITHUNIT (TERMINAL)

PRINTED 0UTPUTUNIT

SIMULATION INPUT UNIT

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAMS OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN MARKED

ENTER RETURN TO CONTINUE

<CR>

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

5

6

7

DEFINITION

REQUIREMENTS ANALYSIS WITHOUT GRAPHICS

REQUIREMENTS ANALYSIS WITH GRAPHICS

RESPONSE SIMULATION WITHOUT GRAPHICS

RESPONSE SIMULATION WITH GRAPHICS

SET UP A MOTION PROGRAM

SET UP A BASE MOTION PROGRAM

TERMINATE ANALYSIS TOOLS EXECUTION

"A-I_I ....... ""
ENTERINTEGERVALUEFORMODEDESIRED

(911 FOR THE ROBSlM _ELP LIBRARY)

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CKARACTERS IN FILENAME

CA/_ NOT EXCEED 40

EXAMPLE - DRDI :[ROBSIM] PLANDET. SYS

PLA/_AR. SYS

SYSTEM DATA FILE HAS BEEN READ

ALL COMMON BLOCKS _ LOADED

DO YOU WISH TO MODIFY CURRENT OPTIONS?

1 LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH PRINTED OUTPUT?

i PRINT OUTPUT

2 PRINT CONDENSED OUTPUT

3 NO PRINTED OUTPUT

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER FILENAME OF PRINTED OUTPUT FILE

TO BE CREATED.° FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - DRDO:[ROBSIM]PLANAR.PRT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

REQEX. P RT

.05

ENTER THE DESIRED TIME STEP FOR THE PRINTED OUTPUT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH TORQUE DATA OUTPUT?

i TORQUE OUTPUT

2 NO TORQUE OUTPUT

(911 FOR THE ROBSlM HELP LIBRARY)

2

A-142
2

2

HOW DO YOU WISH TO CONTROL THE SIMULATION?

i REAO ACC-VEL-THETA DATA FILE

2 CONTROL WITH POLYNOMIAL TIME HISTORIES

3 CONTROL WITH E&S FUNCTION KEYS

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH DYNAMICS COMPUTATIONS?

i DO DYNAMICS COMPUTATIONS

2 NO DYNAMICS

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH A SIMULATION OUTPUT FILE

i WRITE SIMULATION FILE

2 NO SIMULATION FILE

(911 FOR THE ROBSlM 8ELY LIBRARY)

DO YOU WISH A PLOT DATA OUTPUT FILE?

i SAVE A PLOT DATA FILE

2 NO PLOT DATA FILE

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER FILENAME OF PLOT DATA OUTPUT FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40.

EXAMPLE - ORD0:[ROBSIM]PLANAR. PLT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

REQEX. PLT

.05

0

ENTER PLOT DATA OUTPUT TIMESTEP

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

ENTER PROGRAM START TIME (SEC)

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

A-143
o

.05

ENTER PROGRAM STOP TIME (SEC)

(ENTER 911 FOR THE ROBSlM HELP LIBRARY)

ENTER PROCESSING STEPSIZE (SEC)

(ENTER 911 FOR THE ROBSlM HELP LIBRARY)

DO YOU WISH TO MODIFY CURRENT OPTIONS?

I LIST OF CUP/RENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

CURRENT OPTIONS INCLUDE:

PRINT CONDENSED OUTPUT TO REQEX.PRT

EVERY .50000E-01 SEC

PLOT DATA OUTPUT TO REQEX.PLT

EVERY .50000E-01 SEC

CURRENT SIMULATION TIMES ARE:

START TIME .00000E+00 SEC

STOP TIME 2.0000 SEC

TIME STEP .50000E-Of SEC

DO YOU WISH TO MODIFY CURRENT OPTIONS?

I LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSlM HELP LIBRARY)

3

IN REQUIREMENTS ANALYSIS, TIME = 0.0000

ENTER THE FILEN_ CONTAINING THE MOTION PROFILE FOR ARM I

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - DRDO:[ROBSlM]MOPROF.THP

REQEX.THP

CHOOSE ONE OF THE FOLLOWING PLOT PACKAGES TO WRITE A FILE

ii THE BRIEF PACKAGE CONTAINING:

ENTRY I IS THE THETA VALUE

ENTRY 2 IS THE THETA DOT VALUE

ENTRY 3 IS THE THETA DOUBLE DOT VALUE

ENTRY 4 IS THE ACTUATOR TORQUE VALUE

A-144
Rev A, October 1985

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

IN REQUIREMENTS ANALYSIS, TIME = 0.05000

IN REQUIREMENTS ANALYSIS, TIME = 0.i0000

IN REQUIREMENTS ANALYSIS, TIME = 0.15000

o

o

o

IN REQUIREMENTS ANALYSIS, TIME = 2.00000

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

5

6

7

DEFINITION

REQUIREMENTS ANALYSIS WITHOUT GRAPHICS

REQUIREMENTS ANALYSIS WITH GRAPHICS

RESPONSE SIMULATION WITHOUT GRAPHICS

RESPONSE SIMULATION WITH GRAPHICS

SET UP A MOTION PROGRAM

SET UPA BASE MOTION PROGRAM

TERMINATE ANALYSIS TOOLS EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXISTING FROM ANALYSIS TOOLS FUNCTION

FORTRAN STOP

INPUT (Y) TO RUN SIMULATION ANALYSIS TOOLS FUNCTION AGAIN, (OTHERWISE,

INPUT (Q) IF YOU WISH TO EXIT THE PROGRAM (OTHERWISE, RETURN)Q

$

RETURN ) <CH>

. . ÷.

._...... . Ail_ 5
To plot the data saved during requirements analysis execution, refer to the instructions in the POSTDRVR section of the user's guide. To obtain the printed

output from th_ example above, the user would type PRINT REQEX.PRT. A portion

of the printed output from this run is shown.

ARM NUMBER i OF I

NUMBER OF LINKS " 2

JOINT/LINKS 0 i 2 3

JOINT TYPE l i

MASS (KILOGRAMS ) 0.000E+00 5. ii i. 70

INITIAL JOINT POSITION (DEG. OR METERS)

0.000E+00 0.000E+00

INITIAL JOINT VELOCITY (RAD/S OR METERS/SEC )

0.000E+00

MIN JOINT DISP.

MAX JOINT DISP.

0.000E+00

-90.0 -120.

90.0 120.

-1.50 -1.50

1.50 1.50

MIN JOINT RATE

MAX JOINT RATE "

CENTROID LOCATION (METERS)

HCG(X) 0.000E+00 0.372 0.279

HCG(Y) 0.000E+00 0.000E+00 0.000E+00

_CG(Z) 0.000E+00 0.000E+00 0.000E+00

LINK VECTOR (METERS)

Hl2(X) 0.000E+00 0.200 0.426

HI2(Y) O.O00E+O0 O.O00E+O0 O.O00E+O0

HI2(Z) O.O00E+O0 O. O00E+O0 O.O00E+O0

LINK NUMBER 0

INERTIA MATRIX 0.00000E+00

0.00000E+00

0.00000E+00

ORIENTATION MATRIX 0.00000

1.00000

0.00000

0.00000E+00

0.00000E+00

0.00000E+00

-I.00000

0.00000

0.00000

).000E+00

1.00

0.000E+00

0.000E+00

0.348

0.000E+00

0.000E+00

0.00000E+00

0.00000E+00

0.00000E+00

0.00000

0.00000

1.00000

• A-14b
LINK NUMBER 1

INERTIA MATRIX

(KG-M**2 )

ORIENTATION MATRIX

LINK NUMBER 2

INERTIA MATRIX

(KG-M _* 2 )

ORIENTATION MATRIX

LINK NUMBER 3

INERTIA MATRIX

(KG-M**2 )

ORIENTATION MATRIX

ARM REACH = 2.0000

ACCELERATION DUE TO GRAVITY:

0.00000E+00

0.00000E+00

0.00000E+00

0.00000

-i.00000

0.00000

0.00000E+00

0.00000E+00

0.O0000E+00

1.00000

0.00000

0.00000

0.00000E÷00

0.00000E÷00

0.00000E÷00

1.00000

0.00000

0.00000

O. O0000E+O0

0.00000E+00

0.52400E-01

0.00000E+00

1.00000

0.00000

0.00000

O. O0000E+O0

0.20200E-01

O.O0000E+O0

0.00000

1.00000

0.00000

0.00000E+00

0.00000E+00

0.00000E+00

0.00000

1.00000

0.00000

9.8070

0.00000E+O0

0.O0000E+O0

0.00000E+00

0.00000

0.00000

1.00000

0.00000E+00

0.00000E+O0

0.00000E÷00

0.00000

0.00000

1.00000

0.00000E+00

0.00000E+00

0.00000E+00

0.00000

0.00000

1.00000

0.00000E+O0

CURRENT TIME 0.00000

JOINT THETA

1 0.0000

2 -30.0001

CURRENT TIME 0.05000

JOINT THETA

i -0.1013

2 -29.9326

ARM i

THETA-DOT

0. 0000

0. 0000

ARM i

THETA-DOT

0.0707

0. 0471

THETA-DOUBLE-DOT

-1.4137

0.9425

THETA-DOUBLE-DOT

-1.4137

0.9425

ACT. TORQUE

0.0000

0.0000

ACT. TORQUE

0.0000

0.0000

A-I_7
Rev A, October 1985

CURRENTTIME 0.20000 ARM1

JOINT THETA THETA-DOT THETA-DOUBLE-DOTACT. TORQUE

I -1.6200 0.2827 -1.4137 0.0000

2 -28.9201 0.1885 0.9425 0.0000

CURRENTTIME 0.25000 ARMI

JOINT THETA THETA-DOT THETA-DOUBLE-DOTACT. TORQUE

I -2.5313 0.3534 -1.4137 0.0000

2 -28.3126 0.2356 0.9425 0.0000

CURRENT TIME 0.30000 ARM I

JOINT THETA THETA-DOT THETA-DOUBLE-DOT ACT. TORQUE

i -3.6450 0.424i -1.4137 0.0000

2 -27.5701 0.2827 0.9425 0.0000

CURRENT TIME 0.35000 ARM I

Example A-8a

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING ANALYSIS TOOLS FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU USE

5 READ UNIT (TERMINAL)

6 WRITE UNIT (TERMINAL)

7 PRINTED OUTPUT UNIT

8-9 SIMULATION INPUT FILE

I0 SIMULATION OUTPUT FILE

Ii AC'I_ATOR PARAMETERS INPUT FILE

14 LOAD OBJECTS DATA FILE

15 ERROR MESSAGE FILE

16 GAIN CONSTANTS FILE

17 TORQUE DATA INPUT FILE

18 ACC-VEL-THETA FILE

19 PROGRAM OPTIONS FILE

20 PLOT DATA FILE

21 MOTION TIME HISTORY FILE

22 HARDWARE CONTROL SIGNALS

23 CONTROL OPTIONS INPUT FILE

24 CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOCAL UNIT

WHEN REQUIRED

A-148
Rev A, October 1985

<cR>

ENTER RETURN TO CONTINUE

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

5

6

7

DEFINITION

REQUIREMENTS ANALYSIS WITHOUT GRAPHICS

REQUIREMENTS ANALYSIS WITH GRAPHICS

RESPONSE SIMULATION WITHOUT GRAPHICS

RESPONSE SIMULATION WITH GRAPHICS

SET UP A MOTION PROGRAM

SET UP ABASE MOTION PROGRAM

TERMINATE ANALYSIS TOOLS EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FORTHE ROBSIM HELP LIBRARY)

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANDET.SYS

BTRYMBI.SYS

SYSTEM DATA FILE HAVE BEEN READ

ALL COMMON BLOCK ARE LOADED

DO YOU WISH TO MODIFY CURRENT OPTIONS?

I LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH PRINTED OUTPUT?

I PRINT OUTPUT

2 PRINT CONDENSED OUTPUT

3 NO PRINTED OUTPUT

(911 FOR THE ROBSIM HELP LIBRARY)

2

ENTER THE FILENAME OF THE PRINTED OUTPUT FILE

TO BE CREATED. FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBSIM]PLANAR.PRT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

BTRYMB I. PRT

ENTER THE DESIRED TIME STEP FOR THE PRINTED OUTPUT

A-148a
(ENTER911 FORTHEROBSIMHELPLIBRARY)

.02

DOYOUWISHBASEFORCEAND TORQUE

DATA OUTPUT FOR SYSTEM WITH MOVING BASES?

I BASE TORQUE AND FORCE OUTPUT

2 NO BASE TORQUE AND FORCE OUTPUT

I

ENTER FILENAME OF BASE TORQUE OUTPUT DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.BTQ

BTRYMB i. BTQ

HOW DO YOU WISH TO CONTROL THE BASE MOTION

I READ FROM PREVIOUS BASE ACC-VEL-POS FILE

2 INPUT A POLYNOMIAL TIME HISTORY

2

DO YOU WISH TORQUE DATA OUTPUT?

I TORQUE OUTPUT

2 NO TORQUE OUTPUT

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER FILENAME OF TORQUE OUTPUT DATA FILE

THE TOTALNUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.TRQ

(ENTER 911 FOR THE ROBSIM HELP LIBRARY

BTRYMBI.TRQ

ENTER THE DESIRED STEPSIZE FOR TORQUE OUTPUT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY

.005

HOW DO YOU WISH TO CONTROL THE SIMULATION?

I READ ACC-VEL-THETA DATA FILE

2 CONTROL WITH POLYNOMIAL TIME HISTORIES

3 CONTROL WITH E&S FUNCTION KEYS

(911 FORTHE ROBSIM HELP LIBRARY)

Rev A, October 1985

A-148b
RevA, October 1985

DOYOUWISHDYNAMICSCOMPUTATIONS?

I DODYNAMICSCOMPUTATIONS

2 NODYNAMICS

(911 FORTHEROBSIMHELPLIBRARY

DO YOU WISH A SIMULATION OUTPUT FILE

i WRITE SIMULATION FILE

2 NO SIMULATION FILE

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH A PLOT DATA OUTPUT FILE

i SAVE A PLOT DATA FILE

2 NO PLOT DATA FILE

(911 FOR THE ROBSIM HELP LIBRARY)

.

0.I

ENTER PROGRAM START TIME (SEC)

(ENTER 911 FOR THE ROBSIM HELP LIBRARY

ENTER PROGRAM STOP TIME (SEC)

(ENTER 911 FOR THE ROBSIM HELP LIBRARY

ENTER PROCESSING STEPSIZE (SEC)

(ENTER 911 FOR THE ROBSIH HELP LIBRARY

•0O5

DO YOU WISH TO MODIFY CURRENT OPTIONS?

I LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

3

IN REQUIREMENTS ANALYSIS, TIME = 0.00000

ENTER THE FILENAME CONTAINING THE BASE MOTIONPROFILE FOR BASE i

THE TOTAL NUMBER OF CHARACTERS IN THE FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]MOPROF.BMP

BTRYMBI.BMO

A-148c
ENTERTHEFILENAMECONTAININGTHEMOTIONPROFILEFORARMl

THETOTALNUMBEROFCHARACTERSIN FILENAME

CANNOTEXCEED40

EXAMPLE- ROBDEVICE:[ROBDIR]MOPROF.THP

BTRY.THP

ENTERTHEFILENAMECONTAININGTHEMOTIONPROFILEFORARM2

THETOTALNUMBEROFCHARACTERSIN FILENAME

CANNOTEXCEED40

EXAMPEL- ROBDEVICE: [ROBDIR]MOPROF.THP

BTRYI.THP

O

o

o

Response Simulation

Rev A, October 1985

This subsection documents the use of the response simulation mode of

SIMDRVR portion of ROBSIM. Modes 3 and 4, simulation with and without

graphics, are discussed in this subsection. The analyses carried out in both

modes is that described in the analysis capability section of the main text.

If the simulation with graphics is run, the motion of the manipulator system

is displayed on the Evans and Sutherland picture system during execution. The

current simulation time, joint positions (angles), and the percent of maximum

allowable travel are also displayed.

A-148d
Manyof the prompts for the response simulation are similar to those for

the requirements analysis. The first prompt is for the name of the system description file.

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - DRDI:[ROBSIM]PLNRARM. SYS

This file contains all the necessary information to describe the manipulator

system and must have been defined previously uslng the INITDRVR portion of

ROBSIM. If this file is read in correctly, the followin E is displayed:

SYSTEM DATA FILE HAS BEEN READ

ALL COMMON BLOCKS ARE LOADED

Simulation run options. - Each time the response simulation is run, the

flags definin E options to be used are written to a file. On subsequent runs of

the response simulation, the existin E options file is read and the user may employ the previous options directly or input a new set of options:

DO YOU WISH TO MODIFY CURRENT OPTIONS?

i LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE PRBSIM HELP LIBRARY)

(If no file exists, the user is automatically prompted for the individual option.)

Selecting option 1 in the above menu displays the current options in a

list format as shown:

CURRENT OPTIONS INCLUDE:

PRINT CONDENSED OUTPUT TO ROBEX.PRT

EVERY 0. I0000 SECONDS

SIMULATION IS TO BE CONTROLLED BY

INPUT TORQUES READ FROM ROBEX. TRQ

SAVE PLOT DATA IN ROBEK.PLT

EVERY 0.01000 SECONDS

CURRE_ SIMULATION TIMES ARE:

START TIME =

STOP TIME =

TIME STEP =

0. 00000 SECONDS

2. 00000 SECONDS

0. 01000 SECONDS

A-149
Rev A, October 1985

Option 2 prompts the user to input what run time options will be used.

The first prompt is for the debug level. The user should input a I as this

option is not currently implemented:

ENTERDESIREDDEBUGLEVEL(i-5)

(911 FORTHEROBSIMHELPLIBRARY)

The next option is for printed output:

DOYOUWISHPRINTEDOUTPUT?

I PRINTOUTPUT

2 PRINTCONDENSEDOUTPUT

3 NOPRINTEDOUTPUT

(911 FORTHE ROBSIMHELPLIBRARY)

This will write run-time data to a formatted user-specified file that may

later be printed out. The condensedoutput writes the following information

for each joint:

I) Time;

2) Basedisplacement;

3) Joint displacement;

4) Basevelocity;

5) Joint velocity;

6) Baseacceleration;

7) Joint acceleration;

8) Actuator drive torque.

If the simulation is controlled using a PID controller, the following

two parameters are also printed out:

9) Joint reference angular displacements;

i0) motor amplifier input voltages.

Whenthe full printout option is chosen, the following parameters are

written in addition to those already listed:

ll) Joint position vectors;

12) Joint velocity vector;

13) Linear acceleration vector;

14) Absolute angular velocities of the links;

A-150
Rev A, October 1985

15) Absolute angular accelerations of the links;

16) Local to world coordinate system transformation matrices;

17) Inertia matrices in world coordinates;

18) Base force vector;

19) Joint force vector;

20) Joint/link centroid force vector;

21) Base torque vector;

22) Joint torque vector.

Entering a I or 2 for the printed output option causes the following

prompts for filename and print interval to be displayed:

ENTERFILENAMEOFPRINTED0UTPUTFILE

TOBE CREATED.FILE MUSTNOTCURRENTLY EXIST.

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANAR.PRT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

ENTER STPPRT - THE DESIRED TIMESTEP BETWEEN

PRINTED RESULTS

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

The next option prompt is for the method to be used to control the

simulation:

ENTER A NUMBER FOR THE DESIRED TYPE OF CONTROL

1 READ INPUT TORQUE FILE

2 READ HARDWARE VOLTAGE FILE

3 USE PID CONTROL

(911 FOR THE ROBSIM HELP LIBRARY)

The input torque file (choice i) is an unformatted file of torques

applied at each joint as a function of time. This file can be generated

during a requirements analysis run. The hardware voltage file (choice 2) is

a listing of the yoltage inputs to the dc torque motor amplifiers for each

joint. This can be generated from an actual hardware arm, and then used as

input to the simulation for hardware-software validation tasks. Both choice 1

and 2 require the user to input the data file name. PID control of the arm

uses feedback compensation to drive the arm along a desired trajectory. The

trajectory is established by executing the motion profile option described

later. If force/torque or active compliance control is to be employed, PID

control must be specified. These control options are described in the

manipulator control section of the main text.

A-IS1
Rev A, October 1985

The program then prompts for whether the user wants to simulate or specify the

base motion:

DOYOUWISHTOSIMULATEORSPECIFY

THEBASEMOTION?

0 SPECIFYBASEMOTIONWITHTIMEHISTORYPROFILES

(NOTAVAILABLEYET)

i SIMULATEBASEMOTIONUSINGTORQUEFILE

If the option to simulate the base motion is chosen, the next program prompt

is for whether to input a base torques and forces file or set the base torques

and forces to zero:

I)0 YOUWISHTO INPUTBASETORQUEFILE(S)

ORSETBASETORQUESANDFORCESTOZERO?

0 ZEROBASETORQUESANDFORCES

1 READBASETORQUESANDFORCESFROMFILE

If the user chooses to specify the base motion, the program will prompt for

the method to specify the base motion:

HOW DO YOU WISH TO SPECIFY THE BASE MOTION?

1 READ FROM PREVIOUS ACC-VEL-POS FILE

2 INPUT A POLYNOMIAL TIME HISTORY

The program then prompts for the ;emaining output options:

DO YOU WISH A BASE ACC-VEL-POS FILE?

i SAVE A BASE ACC-VEL-POS FILE

2 NO BASE ACC-VEL-POS FILE

If this option is selected, the program writes an unformatted file of base

accelerations, velocities and displacements as functions of time. The user

specifies a file name to save the base data under and also the interval at

which the data should be written. These data may be subsequently used to

drive a requirements analysis run. The run time option prompts continue with:

DO YOU WISH AN ARM ACC-VEL-THETA FILE?

1 SAVE AN ARM ACC-VEL-THETA FILE

2 NO ACC-VEL-THETA FILE

(911 FOR THE ROBSIM HELP LIBRARY)

A-151a
If this option is selected, the program writes an unformatted file of joint

angular accelerations, velocities and displacements as functions of time. The

user specifies a file name to save the data under and also the interval at

which the data should be written. This data file may be subsequently used to

drive a requirements analysis run.

Selecting the option for a simulation output file writes the joint displacements as functions of time in an unformatted file with user specified

name:

DO YOU WISH A SIMULATION POSTPROCESSING OUTPUT FILE

i WRITE SIMULATION OUTPUT E&S FILE

2 NO SIMULATION OUTPUT FILE

(91.1 FOR THE OBSIM HELP LIBRARY)

This file can then be used in the ROBSIM postprocessor to play back the motion

that occurred during the simulation run.

The plot file option provides for saving data in an unformatted file, so

that it can later be plotted on a graphics terminal or a hardcopy plotter using

the ROBSIM postprocessing option:

DO YOU WANT A PLOT DATA OUTPUT FILE?

1 SAVE A FILE OF PLOT DATA

2 NO PLOT DATA FILE

(911 FOR THE ROBSIM HELP LIBRARY)

Seven different plot packages are available for use in a response simulation run. The choice of the plot package determines which variables are written to the file. The packages available are:

i) Brief - joint position,

joint velocity,

- joint acceleration,

- actuator drive torque;

2) End-effector - end effector x position,

- end-effector y position,

- end-effector z position,

- end-effector x force,

- end-effector y force,

- end-effector z force,

- end-effector x torque,

- end-effector y torque,

- end-effector z torque;

3) Joint positions - joint x position,

- joint y position,

- joint z position;

A-152
4) Reaction forces - joint force, x-direction,

- joint force, y-direction,

- joint force, z-direction,

- join= torque, x-direction,

- joint torque, y-direction,

- joint torque, z-direction;

5) All of the above (I thru 4)

6) PID control - amplifier voltage,

- joint reference position,

- joint position error,

- end-effector reference x position,

- end-effector reference y position,

- end-effector reference z position,

- error in end-effector x position,

- error in end-effector y position,

- error in end-effector z position,

- error in end-effector rotational x position,

- error in end-effector rotational y position,

- error in end-effector rotational z position;

7) force/torque control - amplifier voltage,

- x reference position,

- y reference position,

- z reference position,

- reference force, x-direction,

- reference force, y-direction,

- reference force, z-direction,

- reference torque, x-direction,

- reference torque, y-direction,

- reference torque, z-direction,

- end-effector x position,

- end-effector y position,

- end-effector z position,

- end-effector x force,

- end-effector y force,

- end-effector z force,

- end-effector x torque,

- end-effector y torque,

- end-effector z torque,

- end-effector x position error,

- end-effector y position error,

- end-effector z position error,

- end-effector rotational x position error,

- end-effector rotational y position error,

- end-effector rotational z position error,

- x direction force error,

- y direction force error,

- z direction force error,

- x direction torque error,

- y direction torque error,

- z direction torque error.

A-153
Rev A, October 1985

If the user chooses to have a plot file written, only the file nameand write

interval are prompted at this time. The plot package desired is selected at a

later time.

The last options defined in this group are the simulation start time,

stop time and processing interval:

ENTERPROGRAMSTARTTIME IN SECONDS

(ENTER911FORTHEROBSIMHELPLIBRARY)

ENTERPROGRAMSTOPTIME IN SECONDS

(ENTER911 FORX_IEROBSIMHELPLIBRARY)

ENTERPROCESSINGTIMESTEPWISE,IN SECONDS

(ENTER911 FORTHEROBSIMHELPLIBRARY)

The modification prompt will then be displayed and, if all the options were

input correctly, the user should respond with the number3:

DOYOUWISHTOMODIFYCURRENTOPTIONS?

I LIST CURRENTOPTIONS

2 MODIFYCURRENTOPTIONS

3 RUNPROGRAMUSINGCURRENTOPTIONS

(911 FORTHEROBSIMHELPLIBRARY)

For PID (or force/torque or active compliance) control of the system,

the user must now input the namesof the files containing the motion profiles

for each arm of the system:

ENTERTHEFILENAMECONTAININGTHEMOTIONPROFILEFORARM1

THETOTALNUMBEROFCHARACTERSIN FILENAME

CANNOTEXCEED40

EXAMPLE- DRDO:[ROBSIM]MOPROF.THP

For all methodsof controlling the simulation, the user must define the

initial positions and velocities for all joints of each arm:

DEFINEINITIAL CONDITIONSFORARMI

ENTERINITIAL JOINTPOSITIONSTHETA,TH (DEG)

THETAFORJOINTi

THETAFORJOINT2

ENTERINITIAL JOINTVELOCITIESTHETADOT, (RAD/S)

THET_DOTFORJOINTi

THETADOTFORJOINT2

ENTERTHEBASEINITIAL POSITIONFORBASEI

SPECIFYX, Y, Z COORDINATESOFTHEBASE

INITIAL POSITIONINWORLDCOORDINATE

ENTER3 REAL*4NUMBERSSEPARATEDBY COMMAS

ENTERTHEBASEINITIAL ORIENTATION

USINGTHEANGLESOFROTATION(DEG)

ABOUTTHEWORLDX, THENY, THENZ AXES

ENTER3 REAL*4NUMBERSSEPARATEDBY COMMAS

A-154
Rev A, October 1985

ENTERINITIAL BASEANGULARVELOCITIES

ENTER3 REAL*4NUMBERSSEPARATEDBYCOMMAS

ENTER INITIAL BASE TRANSLATIONAL VELOCITIES

ENTER 3 REAL*4NUMBERS SEPARATED BY COMMAS

The next prompt allows the user to include a constraint if desired. This

could be used to simulate an immovable object or wall within the environment

that the end-effector of an arm might come in contact with:

IX) YOU WISH TO INCLUDE A CONSTRAINT?

1 INCLUDE CONSTRAINT

2 NO CONSTRAINT

A-154a

L.
If a 1 is input (inclusion of a constraint), the user is then prompted for the

name of a file containing a description of this constraint. The file is formatted and set up by the user outside of the ROBSIM frame work using a system

editor:

ENTER THE FILENAME FOR THE CONSTRAINT FILE:

If the system is controlled by the use of an input torque file or hardware

voltage file, the gain cons=ant prompts described below are not displayed.

For PID control, the next data to be input are gain constants for the control algorithms. Because the user may specify different types of control for

different segments of the motion profile, the program prompts for data for each

type of control separately. Before the actual gain values are requested, the

user is asked if that specific type of control will be used during the current

simulation run:

WILL YOU BE USING PIO CONTROL DURING THIS RUN?

INPUT Y OR N

When a Y is input =he following prompt is displayed, asking the user if the

gain data will be read from a file or input from the terminal:

DO YOU WISH TO BEAD CONTROL GAINS FROM A FILE

OR INPUT THEM FROM THE TERMINAL

1 READ GAINS FROM FILE

2 INPUT FROM TERMINAL

If the control gains are no= read from a file, the user must input the values

from the terminal for each joint of each arm in the system:

ENTER THE PROPORTIONAL GAIN CONSTANT FOR

PID CONTROL OF JOINT 1 OF ARM I

.02

ENTER THE DERIVATIVE GAIN CONSTANT FOR

PID CONTROL OF JOINT 1 OF ARM I

0

ENTER THE INTEGRATING GAIN CONSTANT FOR

PID CONTROL OF JOINT i OF ARM 1

.05

ENTER THE PROPORTIONAL GAIN CONSTANT FOR

PID CONTROL OF JOINT 2 OF ARM i

.02

ENTER THE DERIVATIVE GAIN CONSTANT FOR

PID CONTROL OF JOINT 2 OF ARM 1

0

ENTER THE INTEGRATING GAIN CONSTANT FOR

PID CONTROL OF JOINT 2 OF ARM i

.05

A-155 i ........
If the control gains are to be read from a file, the name of this file is

prompted for:

ENTER THE NAME OF FILE TO READ GAINS FROM

The file containing these gains should be a free-formatted file containing the

responses, in order, to the prompts that would be issued for interactive input.

PID control is the first type of control for which the prompts are displayed. A similar set of prompts is displayed for force/torque control. The

inputs required for active compliance control vary somewhat from those required

for PIO and force/torque control. Any end-effector bias forces are input here.

The compliance control algorithm includes a lead-lag filter; the advance and

delay time constants and proportional gain constant for that filter are defined

here as well as the gain constants for the integrating and derivative control

blocks.

After the gain data for the control algorithms have been entered, the user

must input the control signal update interval.

ENTER THE CONTROL SIGNAL UPDATE INTERVAL

This determines how often the compensation calculations for controlling the

manipulator system will be carried out. If the save plot file option was selected, the user is prompted for the manipulator motion data to be saved by designating an appropriate plot package:

CHOOSE ONE OF THE FOLLOWING PLOT PACKAGES TO WRITE TO A FILE

i. THE BRIEF PACKAGE CONTAINING:

ENTRY I IS THE THETA VALUE

ENTRY 2 IS THE THETA DOT VALUE

ENTRY 3 IS THE THETA DOUBLE DOT VALUE

ENTRY 4 IS THE DRIVE TORQUE VALUE

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

2o THE END-EFFECTOR PACKAGE CONTAINING:

ENTRY i IS THE END EFF. X POSITION

ENTRY 2 IS THE END EFF. Y POSITION

ENTRY 3 IS THE EN-D EFF. Z POSITION

ENTRY 4 IS THE END EFF. X FORCE

ENTRY 5 IS THE END EFF. Y FORCE

•ENTRY 6 IS THE END EFF. Z FORCE

ENTRY 7 IS THE END EFF. K TORQUE

ENTRY 8 IS THE END EFF. Y TORQUE

ENTRY 9 IS THE END EFF. Z TORQUE

A-156
o

o

_o

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

THE JOINT POSITIONS PACKAGE CONTAINING:

ENTRY i IS THE JOINT X POSITION VALUE

ENTRY 2 IS THE JOINT Y POSITION VALUE

ENTRY 3 IS THE JOINT Z POSITION VALUE

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

THE REACTION FORCES PACKAGE CONTAINING:

ENTRY 1 IS THE JOINT FORCE X VALUE

ENTRY 2 IS THE JOINT FORCE Y VALUE

ENTRY 3 IS THE JOINT FORCE g VALUE

ENTRY 4 IS THE JOINT TORQUE X VALUE

ENTRY 5 IS THE JOINT TORQUE Y VALUE

ENTRY 6 IS THE JOINT TORQUE Z VALUE

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

THE COMBINATION BRIEF/END-EFFECTOR/JOINT POSITIONS/REACTION FORCES

PACKAGE CONTAINING:

ENTRY i IS THE THETA VALUE

ENTRY 2 IS THE JOINT X POS. VALUE

ENTRY 3 IS THE JOINT Y POS. VALUE

ENTRY 4 IS THE JOINT Z POS. VALUE

ENTRY 5 IS THE THETA DOT VALUE

ENTRY 6 IS THE THETA DOUBLE DOT VALUE

ENTRY 7 IS THE JOINT K FORCE VALUE

ENTRY 8 IS THE JOINT Y FORCE VALUE

ENTRY 9 IS THE JOINT Z FORCE VALUE

ENTRY i0 IS THE JOINT X TORQUE VALUE

ENTRY ii IS THE JOINT Y TORQUE VALUE

ENTRY 12 IS THE JOINT Z TORQUE VALUE

ENTRY 13 IS THE DRIVE TORQUE VALUE

ENTRY 14 IS THE END-EFF. X POSITION

ENTRY 15 IS THE END-EFF. Y POSITION

ENTRY 16 IS THE END-EFF. Z POSITION

ENTRY 17 IS THE END-EFF. X FORCE

ENTRY 18 IS THE END-EFF. Y FORCE

ENTRY 19 IS THE END-EFF. Z FORCE

ENTRY 20 IS THE END-EFF. X TORQUE

ENTRY 21 IS THE END-EFF. Y TORQUE

ENTRY 22 IS THE_END-EFF. Z TORQUE

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

/'

A-157.
o

o

THE PID CONTROL PACKAGE CONTAINING:

ENTRY i IS THE AMPLIFIER VALUE

ENTRY 2 IS THE JOINT REFERENCE ANGLE

ENTRY 3 IS THE JOINT POSITION ERROR

ENTRY 4 IS THE END-EFF. REF. X FORCE

ENTRY 5 IS THE END-EFF. REF. Y FORCE

ENTRY 6 IS THE END-EFF. REF. Z FORCE

ENTRY 7 IS THE END-EFF. X POS. FORCE

ENTRY 8 IS THE END-EFF. Y POS. FORCE

ENTRY 9 IS THE END-EFF. Z POS. FORCE

ENTRY i0 IS END-EFF. X ROT. POS. ERROR

ENTRY ii IS END-EFF. Y ROT. POS. ERROR

ENTRY 12 IS END-EFF. Z ROT. POS. ERROR

ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

THE FORCE/TORQUE CONTROL PACKAGE CONTAINING:

ENTRY i IS THE AMPLIFIER VOLTAGE VALUE

ENTRY 2 IS THE REF. X POSITION VALUE

ENTRY 3 IS THE REF. Y POSITION VALUE

ENTRY 4 IS THE REF. Z POSITION VALUE

ENTRY 5 IS THE USER GIVEN REF. X FORCE

ENTRY 6 IS THE USER GIVEN REF. Y FORCE

ENTRY 7 IS THE USER GIVEN REF. Z FORCE

ENTRY 8 IS REF. FORCE ROT. VECT. X

ENTRY 9 IS REF. FORCE ROT. VECT. Y

E_RY I0 IS REF. FORCE ROT. VECT. Z

ENTRY ii IS THE END-EFF. X POSITION

ENTRY 12 IS THE END-EFF. Y POSITION

ENTRY 13 IS THE END-EFF. Z POSITION

ENTRY 14 IS THE END-EFF. X FORCE

ENTRY 15 IS THE END-EFF. Y FORCE

ENTRY 16 IS THE END-EFF. Z FORCE

ENTRY 17 IS THE END-EFF. X TORQUE

ENTRY 18 IS THE END-EFF. Y TORQUE

ENTRY 19 IS THE END-EFF. Z TORQUE

ENTRY 20 IS THE ERROR IN X POSITION

ENTRY 21 IS THE ERROR IN Y POSITION

ENTRY 22 IS THE ERROR IN Z POSITION

ENTRY 23 IS ERROR IN POS. X ROT. VALUE

ENTRY 24 IS ERROR IN POS. Y ROT. VALUE

ENTRY 25 IS ERROR IN POS. Z ROT. VALUE

ENTRY 26 IS THE ERROR IN X FORCE/TORQUE

ENTRY 27 IS THE ERROR IN Y FORCE/TORQUE

ENTRY 28 IS THE ERROR IN Z FORCE/TORQUE

ENTRY 29 IS ERROR IN X ROT. FORCE/TORQUE

ENTRY 30 IS ERROR IN Y ROT. FORCE/TORQUE

E_rRY 31 IS ERROR IN Z ROT. FORCE/TORQUE

/

• A-15d
RevA, October 1985

SELECTPLOTPACKAGEDESIREDFORSAVE

NUMBER

1

2

3

4

5

6

7

8

PACKAGE

BRIEF PACKAGE

END-EFFECTOR PACKAGE

JOINT POSITION PACKAGE

REACTION FORCES PACKAGE

COMBINATIONOF ABOVE PACKAGES

PID CONTROL PACKAGE

FORCE/TORQUE CONTROL PACKAGE

TO WRITE DESCRIPTIONS AGAIN

ENTER INTEGER VALUE FOR MODE DESIRED

The choice of plot package defines which system variables are saved and

written to the user-designated file.

This completes the input required for a response simulation run. As

execution proceeds, the current simulation time is printed to the user's

terminal to indicate progress. If the response simulation is run with

graphics, the execution may be stopped at any time by processing the first

button on the Evans and Sutherland control panel. This allows the user to

move or rotate the manipulator system display using E&S dials to obtain

different views. To resume program execution, the same button is again

depressed.

Sample Run. - Example A-9 illustrates the use of the ROBSIM response

simulation capabilities without graphics. In this run the user commands a

planar arm without a moveable base to move toward a wall and, using

force/torque control, press against the wall with a force of I0 newtons.

Desired outputs include a condensed printout, a simulation output file, and

plots of joint positions as functions of time. Example A-9a sets up the

required inputs for a response simulation run of a system containing two arms

attached to a moving base. Motion is driven using base and joint torque files

generated in example A-8a.

......... A-Lb9
Example A-9

Rev A, October 1985

$ @ROBSIM

INPUT (PREPDRVR)--T0 RUN ROBSIM PREPROCESSOR FUNCTION

(INITDRVR)--TO RUN ROBSIM SYSTEM DEFINITION FUNCTION

(SIMDRVR)--TO RUN ROBSIM SIMULATION ANALYSIS TOOLS FUNCTION

(POSTDRVR)--TO RUN ROBSIM POST PROCESSOR FUNCTION

WHICH:SIMDRVR

Previous logical name assignment replaced

Previous logical name assignment replaced

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING ANALYSIS TOOLS FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS WITHIN ROBSIM

LU USE

5 READ UNIT (TERMINAL)

6 WRITE UNIT (TERMINAL)

7 PRINTED OUTPUT UNIT

8-9 SIMULATION INPUT UNIT

10 SIMULATION OUTPUT FILE

11 ACTUATOR PARAMETERS INPUT FILE

14 LOAD OBJECTS DATA FILE

15 ERROR MESSAGE FILE

16 GAIN CONSTANTS FILE

17 TORQUE DATA INPUT FILE

18 ACC-VEL-THETA FILE

19 PROGRAMS OPTIONS FILE

20 PLOT DATA FILE

21 MOTION TIME HISTORY FILE

22 HARDWARE CONTROL SIGNALS

23 CONTROL OPTIONS INPUT FILE

24 CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN MARKED

ENTER RETURN TO CONTINUE

<CH>

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

5

6

7

DEFINITION

REQUIREMENTS ANALYSIS WITHOUT GRAPHICS

REQUIREMENTS ANALYSIS WITH GRAPHICS

RESPONSE SIMULATION WITHOUT GRAPHICS

RESPONSE SIMULATION WITH GRAPHICS

SET UP A MOTION PROGRAM

SET UP A BASEMOTION PROGRAM

TERMINATE ANALYSISTOOLS EXECUTION

........ A-i60
ENTERFILENAMEOFSYSTEMDATAFILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - DRDI:[ROBSIM]PLANDET.SYS

PLANAR.SYS

SYSTEM DATA FILE HAS BEEN HEAD

ALL COMMON BLOCKS ARE LOADED

DO YOU WISH TO MODIFY CURRENT OPTIONS?

1 LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR TRY ROBSIM HELP LIBRARY)

ENTER DESIRED DEBUG LEVEL (1-5)

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH PRINTED OUTPUT?

I PRINT OUTPUT

2 PRINT CONDENSED OUTPUT

3 NO PRINTED OUTPUT

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER FILENAME OF PRINTEO OUTPUt FILE

TO BE CREATED. FILE MUST NOT CURRENTLY EXIST.

THE TOTAL NUMBER OF C_ARACTERSIN FILENAME

CAN NOT EXCEED 40

EXAMPLE - DRDO:[ROBSIM]PLANAR.PRT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

RE SPEX. P RT

ENTER STPPRT - THE DESIRED TIMESTEP BETWEEN

PRINTED RESULTS

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

.O5

ENTER NUMBER FOR THE DESIRED TYPE OF CONTROL

i READ INPUT TORQUE FILE

2 READ _ARDWARE _OLTAGE FILE

3 USE PID CONTROL

(911 FOR THE ROBSIM HELP LIBRARY)

A-161
DOYOUWISHANACC-VEL-THETAFILE?

i SAVEANACC-VEL-THETAFILE

2 NO ACC-VEL-THETA FILE

(911 FOR THE ROBSIMHELP LIBRARY)

DO YOU WISH A SIMULATION POSTPROCESSING OUTPUT FILE

i WRITE SIMULATION OUTPUT E&S FILE

2 NO SIMULATION OUTPUT FILE

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER FILENAME OF SIMULATION OUTPUT FILE

TO BE CREATED. FILE MUST NOT CURRENTLY EXIST•

lq_E TOTAL NUMBER OF CHARACTERS IN FILENAME

C_ NOT EXCEED 40

EXAMPLE - DRO0:[ROBSIM]PLA_AR. SOF

(ENTER 911 FOR THE ROBSIM _ELP LIBRARY)

RESPEX.SOF

ENTER DESIRED STEP SIZE FOR SIMULATION OUTPUT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

•OO5

DO YOU WANT A PLOT DATA OUTPUT FILE?

i SAVE A FILE OR PLOT DATA

2 NO PLOT DATA FILE

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER FILENAME OF PLOT DATA OUTPUT DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN THE FILENAME

CAN NOT EXCEED 40.

EXAMPLE - DRD0:[ROBSIM]PLANAR.PLT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

RESPEX.PLT

ENTER STPLOT - THE DESIRED TIMESTEP FOR THE

PLOT DATA PRINTED OUTPUT

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

.005

/

A-162
0

1

.005

ENTER PROGRAM START TIME, IN SECONDS

(ENTER 911 FOR THE ROBSIM _ELP LIBRARY)

ENTER PROGRAM STOP TIME, IN SECONDS

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

ENTER PROCESSING TIME STEPSIZE, IN SECONDS

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH TO MODIFY THE CURRENT OPTIONS?

i LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

CURRENT OPTIONS INCLUDE

PRINT CONDENSED OUTPUT TO RESPEX. PRT

EVERY 0.05000 SECONDS

SIMULATION IS TO BE CONTROLLED BY

A PID CONTROLLER

SIMULATION POSTPROCESSING OUTPUT TO RESPEX.SOF

EVERY 0.00500 SECONDS

SAVE PLOT DATA IN RESPEX.PLT

EVERY 0.00500 SECONDS

DEBUG LEVEL = i

CURRENT SIMULATION TIMES ARE:

START TIME =

STOP TIME "

TIME STEP

0.00000 SECONDS

3.00000 SECONDS

0.00500 SECONDS

OO YOU WISH TO MODIFY CURRENT OPTIONS?

1 LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

" A-163
ENTERTHEFILENAMECONTAININGTHEMoTIoNPROFILEFORARMI

TEETOTALNUMBEROF CHARACTERSIN FILENAME

CANNOTEXCEED40

EXAMPLE- DRD0:[ROBSlM]MOPROF.THP

RESPEX. T_P

0

-30

DEFINEINITIAL CONDITIONS FOR ARM 1

ENTER INITIAL JOINT POSITIONS THETA, TH (DEG)

THETA FOR JOINT I

TIIETA FOR JOINT 2

ENTER INITIAL JOINT VELOCITIES THETA DOT, (RAD/S)

TfIETA DOT FOR JOINT I

THETA DOT FOR JOINT 2

DO YOU WISH TO INCLUDE A CONSTRAINT?

i INCLUDE CONSTRAINT

2 NO CONSTRAINT

ENTER THE FILENAME FOR THE CONSTRAINT FILE: PLANE.CNS

WILL YOU BE USING PID CONTROL DURING THIS RUN?

INPUT Y OR N

WILL YOU BE USING FORCE/TORQUE CONTROL?

INPUT Y OR N

DO YOU WISH TO READ CONTROL GAINS FROM A FILE

OR INPUT THEM FROM THE TERMINAL

i READ GAINS FROM FILE

2 INPUT FROM TERNIMAL

ENTER TEE PROPORTIONAL GAIN CONSTA/qT FOR

POSITION CONTROL OF JOINT 1 OF ARM I

.02

ENTER THE DERIVATIVE GAIN CONSTANT FOR

POSITION CONTROL OF JOINT I OF ARM 1

0

- -- • "--_ - A-164
ENTERTHEINTEGRATINGAINCONSTANTFOR

POSITIONCONTROLOFJOINT i OF ARM 1

.05

ENTER THE PROPORTIONAL GAIN CONSTANT FOR

F/T CONTROL OF JOINT I OF ARM I

'e5

/ ENTER Tile DERIVATIVE GAIN CONSTANT FOR

F/T CONTROL OF JOINT I OF ARM 1

0

ENTER THE INTEGRATING GAIN CONSTAI_ FOR

F/T CONTROL OF JOINT I OF ARM 1

i0.

ENTER TEE PROPORTIONAL GAIN CONSTANT FOR

POSITION CONTROL OF JOINT 2 OF ARM 1

.02

ENTER THE DERIVATIVE GAIN CONSTANT FOR

POSITION CONTROL OF JOINT 2 OF ARM I

0

ENTER THE INTEGRATING GAIN CONSTANT FOR

POSITION CONTROL OF JOINT 2 OF ARM i

.05

ENTER THE PROPORTIONAL GAIN CONSTANT FOR

F/T CONTROL OF JOINT 2 OF ARM I

.5

ENTER THE DERIVATIVE GAIN CONSTANT FOR

F/T CONTROL OF JOINT 2 OF ARM i

0

ENTER THE INTEGRATING GAIN CONSTANT FOR

F/T CONTROL OF JOINT 2 OF ARM 1

i0.

WILL YOU BE USING COMPLIANCE CONTROL?

INPUT Y OR N

N

ENTER THE CONTROL SIGNAL UPDATE INTERVAL

.005

CHOOSE ONE OF THE FOLLOWING PLOT PACKAGES TO WRITE TO A FILE

I. THE BRIEF PACKAGE CONTAINING:

ENTRY i IS THE THETA VALUE

ENTRY 2 IS THE THETA DOT VALUE

ENTRY 3 IS THE THETA DOUBLE DOT VALUE

ENTRY 4 IS THE DRIVE TORQUE VALUE

A-165
ENTER INTEGER PLOT PACKAGE NUMBER TO CHOOSE A PACKAGE

OR ENTER RETURN TO CONTINUE

RESPONSE SIMULATION RUN, TIME -

RESPONSE SIMULATION RUN, TIME -

RESPONSE SIMULATION RUN, TIME -

RESPONSE SIMULATION RUN, TIME -

RESPONSE SIMULATION RUN, TIME -

RESPONSE SIMULATION RUN, TIME -

o

o

o

RESPONSE SIMULATION RUN, TIME -

SELECT MODE OF OPERATION DESIRED

0. 00000

0.00500

0. 01000

0. 01500

O. 02000

0.02500

3 °00002

MODE

1

2

3

4

5

6

7

DEFINITION

REQUIREMENTS ANALYSIS WITHOUT GRAPHICS

REQUIREMENTS ANALYSIS WITH GRAPHICS

RESPONSE SIMULATION WITHOUT GRAPHICS

RESPONSE SIMULATION WITH GRAPHICS

SET UP A MOTION PROGRAM

SET UP A BASE MOTION PROGRAM

TERMINATE ANALYSIS TOOLS EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR TRE ROBSIM HELP LIBRARY)

EXITING FROM ANALYSIS TOOLS FUNCTION

FORTRAN STOP

INPUT (Y) TO RUN SIMULATION ANALYSIS TOOLS FUNCTION AGAIN, (OTHERWISE, RETURN)

INPUT (Q) IF YOU WISH TO EXIT THE PROGRAM (OTHERWISE, RETURN)Q

To plot the data saved or to play back the simulation file, refer to the POSTDR_

section of this user's guide. To obtain the printout, the user should

type PRINT RESPEX.PRT. A portion of this printout is shown.

A-166
NUMBEROFLINKS

JOINT/LINKS

ARM

B2

NUMBER I OF 1

0 1 2 3

JOINT TYPE I I

MASS (KILOGRAMS ) 0. 000E+00 5. ii 1.70

INITIAL JOINT POSITION (DEG. OR METERS)

O.000E+00 0.000E+00

INITIAL JOINT VELOCITY (RAD/S OR METERS/SEC )

0.000E+00 0.000E+00

MIN JOINT DISP. -90.0 -120.

MAX JOINT DISP. 90.0 120.

MIN JOINT RATE -1.50 -1.50

MAX JOINT RATE 1.50 1.50

CENTROID LOCATION (METERS)

HCG(X) 0.000E+00 0.372 0.279

HCG(Y) 0.000E+00 O.000E+00 0.000E+00

HCG(Z) 0.000E+00 O.000E+00 0.000E+00

LINK VECTOR (METERS)

HI2(X) O. OOOE+O0 0.200 0.426

HI2(Y) 0.000E+00 0.000E+00 0.00OK+00

HI2(Z) 0.000E+00 O.000E+O0 O.000E+O0

LINK NUMBER 0

INERTIA MATRIX 0.00000E+00

0.000OOE+00

0.00000E+00

0.00000E+00

0.00000E+00

0.00000E+00

ORIENTATION MATRIX 0.00000

1.00000

0.00000

-I.00000

0.00000

0o00000

O.000E+00

1.00

0.000E+00

0.O00E+00

0.348

0.000E+00

0.000E+00

O. 00000E+00

0. 00000E+O0

0. 00000E+00

0.00000

0.00000

1.00000

A-167
LiNK NUMBER i

INERTIAMATRIX

(KG-Me*2 )

ORIENTATION MATRIX

LINK NUMBER 2

INERTIA MATRIX

(KG-M**2 )

ORIENTATION MATRIX

LINK NUMBER 3

INERTIA MATRIX

(KG-Me*2 )

ORIENTATION MATRIX

ARM REACH " 2.0000

ACCELERATION DUE TO GRAVITY:

0.O0000E+O0

0.00000E+O0

O.O0000E+O0

0.00000

-i.00000

0.0OOOO

O.O0000E+OO

0.O0000E+O0

0.O0000E+O0

1.00000

0.00000

0.00000

0.O0000E+O0

O.O0000E+O0

0.O0000E+O0

1.00000

0.00000

0.00000

O. O0000E+O0

O.00000E+O0

0.52400E-01

O.00000E+O0

1.00000

0.00000

0.00000

O. O0000E+O0

0.20200E-01

O.0000OE+OO

0.00000

1.00000

0.00000

O.O0000E+O0

0.O0000E+O0

0o00000E+00

0.00000

1.00000

0.00000

9.8070

0.O0000E+O0

0. O0000E+O0

0.00000E+O0

0.00000

0.00000

1.00000

O.00000E+O0

O.O0000E+O0

0.00000E+O0

0.00000

0.00000

1.00000

O. O0000E+O0

0.00000E+O0

0.00000E+O0

0.00000

0.00000

1.00000

0.00000E+O0

A-IO8
Rev A, October 1985

ExampleA-9a \

ROBOTICSYSTEMSIMULATIONPROGRAM(ROBSIM)

ENTERINGSYSTEMDEFINITION FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

10

II

14

15

16

17

18

19

20

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED 0UTPUTUNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAM OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOCAL UNIT

WHEN REQUIRED

<CR>

ENTER RETURN TO CONTINUE

SELECT MODE OF OPERATION DESIRED

MODE

I

2

3

4.

5

6

7

DEFINITION

REQUIREMENTS ANALYSIS WITHOUT GRAPHICS

REQUIREMENTS ANALYSIS WITH GRAPHICS

RESPONSE SIMULATION WITHOUT GRAPHICS

RESPONSE SIMULATION WITH GRAPHICS

SET UP A MOTION PROGRAM

SET UP A BASE MOTION PROGRAM

TERMINATE ANALYSIS TOOLS EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANDET.SYS

BTRYMBI.SYS

_f

A-168a
SYSTEMDATAFILE HASBEENREAD

ALLCOMMONBLOCKSARELOADED

DOYOUWISHTOMODIFYCURRENTOPTIONS?

i LIST CURRENTOPTIONS

2 MODIFYCURRENTOPTIONS

3 RUNPROGRAMUSINGCURRENTOPTIONS

(911 FORTHEROBSIMHELPLIBRARY)

ENTERDESIREDDEBUSLEVEL(i-5)

(911 FORTHEROBSIMHELPLIBRARY)

DOYOUWISHPRINTEDOUTPUT?

I PRINTOUTPUT

2 PRINTCONDENSEDOUTPUT

3 NOPRINTEDOUTPUT

(911 FORTHEROBSIMHELPLIBRARY)

ENTERA NUMBERFORTHEDESIREDTYPEOFARMCONTROL

i READINPUTTORQUEFILE

2 READHARDWAREVOLTAGEFILE

3 USEPID CONTROL

(911 FORTHEROBSIMHELPLIBRARY)

ENTERFILENAMEOFTORQUEINPUTDATAFILE

THETOTALNUMBEROFCHARACTERSIN FILENAME

CANNOTEXCEED40

EXAMPLE- ROBDEVICE:[ROBSIM]PLANAR.TRQ

(ENTER911 FORTHEROBSIMHELPLIBRARY)

BTRYMB1.TRQ

DO YOU WISH TO SIMULATE OR SPECIFY

THE BASE MOTION?

0 SPECIFY BASE MOTION

i SIMULATE BASE MOTION

DO YOU WISH TO INPUT BASE TORQUES/FORCES FILE(S)

OR SET BASE TORQUES/FORCES TO ZERO

0 ZERO BASE TORQUES/FORCES

i READ BASE TORQUES/FORCES FROM FILE

I

Rev A, October 1985

A-168b
Rev A, October 1985

ENTERFILENAMEOFBASETORQUEINPUTDATAFILE

THETOTALNUMBEROFCHARACTERSIN FILENAME

CANNOTEXCEED40

EXAMPLE- ROBDEVICE:[ROBDIR]PLANAR.BTQ

BTRYMBI.BTQ

2

DOYOUWISHANBASEACC-VEL-POSFILE?

i SAVEANBASEACC-VEL-POSFILE

2 NOACC-VEL-POSFILE

DOYOUWISHANARMACC-VEL-POSFILE?

I SAVEANARMACC-VEL-POSFILE

2 NO ACC-VEL-POS FILE

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WISH A SIMULATION POSTPROCESSING OUTPUT FILE

I WRITE SIMULATION OUTPUT E&S FILE

2 NO SIMULATION OUTPUT FILE

(911 FOR THE ROBSIM HELP LIBRARY)

DO YOU WANT A PLOT DATA OUTPUT FILE

I SAVE A PLOT DATA FILE " ,_

2 NO PLOT DATA FILE

(911 FOR THE ROBSIM HELP LIBRARY)

2

ENTER PROGRAM START TIME (SEC)

(ENTER 911 FOR THE ROBSIM HELP LIBRARY

O.

ENTER PROGRAM STOP TIME IN SECONDS

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

0.i

ENTER PROCESSING TIME STEPSIZE IN SECONDS

(ENTER 911 FOR THE ROBSIM HELP LIBRARY)

•005

DO YOU WISH TO MODIFY CURRENT OPTIONS?

I LIST CURRENT OPTIONS

2 MODIFY CURRENT OPTIONS

3 RUN PROGRAM USING CURRENT OPTIONS

(911 FOR THE ROBSIM HELP LIBRARY)

A-168c
Rev A, October 1985

DEFINEINITIAL CONDITIONSFORARM1

ENTERINITIAL JOINTPOSITIONSTHETA,TH (DEG)

O.

0.

0.

THETA FOR JOINT I

THETA FOR JOINT 2

THETA FOR JOINT 3

ENTER INITIAL JOINT VELOCITIES THETA DOT, (RAD/S)

Oo

0.

0.

THETA DOT FOR JOINT I

THETA DOT FOR JOINT 2

THETA DOT FOR JOINT 3

DEFINE INITIAL CONDITIONS FOR ARM 2

ENTER INITIAL JOINT POSITIONS THETA, TH (DEG)

,

0.

0.

THETA FOR JOINT i "-

THETA FOR JOINT 2

THETA FOR JOINT 3

ENTER INITIAL JOINT VELOCITIES THETA DOT, (RAD/S)

,

0.

0.

THETA DOT FOR JOINT i

THETA DOT FOR JOINT 2

THETA DOT FOR JOINT 3

ENTER THE BASE INITIAL POSITION FOR ARM 1

SPECIFY X,Y,Z COORDINATES (METERS) OF THE BASE

INITIAL POSITION IN WORD COORDINATE

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

0.,0.,0.

ENTER THE BASE INITIAL ORIENTATION

USING THE ANGLES OF ROTATION (DEGREES)

ABOUT THE WORLD X, THEN Y, THEN Z AXES

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

0.,0_,90.

A-168d
ENTERINITIAL BASE ANGULAR VELOCITIES

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

0.,0.,0.

ENTER INITIAL BASE TRANSLATIONAL VELOCITIES

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

0. ,0. ,0.

DO YOU WISH TO INCLUDE A CONSTRAINT?

i INCLUDE CONSTRAINT

2 NO CONSTRAINT

O

O

O

Rev A, October 1985

A-168e
Motion Profiles

Rev A, October 1985

This subsection describes how the motion of a manipulator arm is

specified. The user is presented with various menus detailing the available

options and with input prompts to define these options. The complete motion

is broken down into segments, where each segment contains a description of a

distinct move or other type of task-oriented command. Once a segment is

defined, it is written to a user-named file and another segment is defined

until the complete manipulator motion is specified. If the system contains

multiple arms, a complete motion profile is described for each arm separately.

To use this SIMDRVR option, the user must first input the name of the

file containing data describing the manipulator system (defined in the

INITDRVR portion of ROBSIM):

ENTERFILE NAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - DRDI:[ROBSIM]PLNARM.SYS

This gives the program the geometry information needed when prompting the user

for input data. Next, the following prompt is displayed:

DEFINING TASK PROGRAM FOR ARM I

DO YOU WISH TO MODIFY A FILE OF

EXISTING TIME HISTORIES?

1 MODIFY TIME HISTORIES FROM A FILE

2 INPUT TIME HISTORIES FROM USER TERMINAL

3 MAKE A PRINT COPY OF A TIME HISTORY FILE

(NOTE: MODIFICATION IS DONE ONLY AT THE PRIMITIVE LEVEL.)

IF a I is entered, the user is prompted for the name of the file containing

the motion profile data to be modified and a file name under which to save the

modified data:

ENTER THE FILENAME OF THE TIME HISTORY DATA FOR ARM I

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - DRDO:[ROBSIM]PLNARM.THP

ENTER THE FILENAME FOR STORING THE TASK PROGRAM

FOR ARM 1

Choice 2 asks the user for the file name under which to save the motion

profile data, and then asks:

ENTER 1 TO USE TASK LEVEL COMMANDS

ENTER 2 TO USE PRIMITIVE LEVEL

A-169
Rev A, October 1985

A motion specification file or time history profile maybe input at either the

task or primitive level; however, a file may be modified only at the primitive

level.

The primitive level file specification will be discussed first.

Choice 3 will write the motion profile data from a user-specified file

to a formatted file for printing. This choice then terminates the motion

program mode and the user is returned to the main SIMDRVR menu. An example of

a motion profile listing follows.

A-169a
TIME HISTORY PROFILE : FTEX. PRT

BELOW ARE LISTED THE INITIAL JOINT DISPLACEMENTS

FOR ALL JOINTS OF ARM 1

THIS DATA IS REQUIRED FOR ALL CONTROL MODES

JOINT 1 O. 0000

JOINT 2 -30.000

CURRENT PROGRAM STEP IS :

USE FORCE/TORQUE CONTROL WITH

THE FOLLOWING PARAMETERS

FORCE UNIT VECTOR 0.0000 0.0000

FORCE MAGNITUDE -i0.00

1 •0000

CURRENT PROGRAM STEP IS :

DURATION - O. 500 SEC

POSITION CONTROL OF END-EFFECTOR MOTION;

X, Y, Z TRANSLATION AND ROTATION AT THE

END OF THE TIME SE(_dENT ARE:

0.727 0.200 0.210 0.000 -25.000 0.000

FINAL ORIENTATION MATRIX IS:

0.90631 0.00000 -0.42262

0.00000 1.00000 0.00000

0.42262 0.00000 0.90631

The user is now prompted for the initial Joint angles:

ENTER THE INITIAL ANGLES FOR ARM 1

(DEGREES OR METERS)

ENTER THETA FOR JOINT 1

ENTER THETA FOR JOINT 2

ENTER 1 TO CONTINUE

ENTER 2 TO MODIFY INITIAL ANGLES

If a motion file is being modified, the current values are displayed and the

user is given the choice of using the current values or modifying them:

BELOW ARE LISTED THE INITIAL JOINT DISPLACEMENTS

FOR ALL JOINTS OF ARM 1

THIS DATA IS REQUIRED FOR ALL CONTROL MODES

JOINT i 0.0000

JOINT 2 -30.0001

DO YOU WISH TO

1 MODIFY INITIAL JOINT DISPLACEMENTS

2 USE CURRENT ANGLES

A-170
Once the initial displacements are established, the following description is

displayed.

cONTROL DATA INPUT FOR ARM 1

RATE MOTION IS CONTROLLED BY USER INPUT POLYNOMIAL

FUNCTIONS OF TIME. INPUT IS FOR THE COEFFICIENTS,

STARTING WITH THE COEFFICIENT FOR THE HIGHEST ORDER

TERM FIRST AND ENDING WITH THE COEFFICIENT FOR THE

ZERO ORDER TERM.

POSITION IS CONTROLLED BY USER INPUT OF THE END

POSITION OF THE END EFFECTOR OR EACH JOINT

A DURATION TIME, IN SECONDS, IS INPUT WITH EACH SET

OF COEFFICIENTS TO PROVIDE A TIME SEGMENT OVER

WHICH THE COEFFICIENTS ARE VALID_

ENTER RETURN TO CONTINUE

The program now prompts the user for segment data, one segment at a time. If

an existing file is being modified, a description of the current segment is

displayed along with modification menu as shown here:

CURRENT PROGRAM STEP IS:

DURATION - O. 400 SEC

POSITION CONTROL OF END-EFFECTOR MOTION:

X, Y,Z TRANSLATION AND ROTATION AT THE

END OF THE TIME SEGMENT ARE:

0.727 0.200 0.210 0.000 -25.000 0.000

FINAL ORIENTATION MATRIX IS:

0.86603 0.00000 -0.50000

0.00000 1.00000 0.00000

0.50000 0.00000 0.86603

DO YOU WISH TO MODIFY THIS STEP?

1 NO MODIFICATION

2 REDEFINE CURRENT STEP

3 DELETE CURRENT STEP

4 INSERT NEW STEP AHEAD OF

CURRENT STEP

ENTER INTEGER

If no modification is desired, the program reads the next task step and repeats

this prompt. To redefine the current step, it is deleted and the interactive

step definition procedure executes to replace the step. Alternatively, the

current step can be deleted and the program proceeds to the next task step in

the file. Finally, a new task step can be inserted prior to the current step,

after which the modification prompt is repeated (thereby allowing multiple

insertions).

A-171
Rev A, October 1985

The remainder of the motion profile discussion will be handled as new

input although the sameprocedures apply for profile modification. Options

for each task segmentfall into two categories as shownby the following

prompt:

IS CURRENTSTEPA MOTION?

i MOTIONSEGMENT

2 NOMOTIONSTEP(E.G., GRAPH,WAIT, ETC)

ENTERINTEGER

Motion control specifications. - This corresponds to choice I in the preceding menu and allows the user to define where or how the manipulator arm

will move. The user may control the motion of the end-effector or of each

manipulator joint. Independent o£ which part of the manipulator is to be

controlled, the user may also decide if the control variable is to be rate or

position. The five motion control options are:

I) Joint rate control;

2) End-effector rate control;

3) Joint position control;

4) End-effector position control;

5) Sensor control.

The fifth option simulates a video camera sensor mounted on the manipulator end-effector that commands the arm to move toward a target it is looking

at.

The first step in defining a motion is to specify the length of time the

motion will take.

SPECIFY DURATION TIME (SEC) FOR SEGMENT

The user then defines if end-effector or joint motion is to be controlled, and if the control variable is rate of position.

ENTER I FOR CONTROL OF INDIVIDUAL JOINTS

ENTER 2 FOR CONTROL OF END EFFECTOR MOTION

ENTER 3 FOR SENSOR CONTROL

ENTER i FOR RATE CONTROL

ENTER 2 FOR POSITION CONTROL

If joint rate control is requested, the user must input the coefficients

of an nth-order polynomial function of time for each joint of the arm. This

polynomial equation defines the rate at which the angle of a given joint

changes. Cubic polynomials are currently implemented, requiring four

coefficients:

A-172
FORRATECONTROL, COEFFICIENTS MUST PRODUCE

TRANSLATIONAL RATES IN METERS/SEC AND

ROTATIONAL RATES IN RADIANS PER SECOND

FOR INDIVIDUAL JOINT CONTROL, THE CONTROL

FUNCTIONS SPECIFY MOTION OF EACH JOINT ABOUT

THE SINGLE DEGREE OF FREEDOM OF THAT JOINT

Rev A, October 1985

A-172a
SPECIFY COEFFICIENTS FOR MOTION (RADIANS/SEC)

OF JOINT 1 ABOUT THE JOINT SINGLE DEGREE .

OF FREEDOM

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR MOTION (RADIANS/SEC)

OF JOINT 2 ABOUT THE JOINT SINGLE DEGREE

OF FREEDOM

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

End effector rate control also requires the user to input coefficients of

a polynomial functions of time. This case, however, requires six sets of coefficients for each arm in the system--three for x, y, and z translational

rates and three for x, y, and z rotational rates of the end effector. The user

may define these coefficients to define polynomials in either the end-effector

or world coordinate system:

FOR RATE CONTROL, COEFFICIENTS MUST PRODUCE

TRANSLATIONAL RATES IN METERS/SEC AND

ROTATIONAL RATES IN RADIANS PER SECOND

ENTER 1 TO INPUT RATE IN BASE COORDINATES

ENTER 2 TO INPUT RATE IN END-EFFECTOR COORDINATES

SPECIFY COEFFICIENTS FOR TRANSLATIONAL MOTION

ALONG THE X-AXIS (RATES IN METERS/SEC)

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR TRANSLATIONALMOTION

ALONG THE Y-AXIS (RATES IN METERS/SEC)

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR TRANSLATIONAL MOTION

ALONG THE Z-AXIS (RATES IN METERS/SEC)

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR ROTATIONAL MOTION

ABOUT THE X-AXIS (RATES IN RADLANS PER SEC)

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR ROTATIONAL MOTION

ABOUT THE Y-AXIS (RATES IN RADIANS PER SEC)

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

/

A-173
Rev A, October 1985

•SPECIFYCOEFFICIENTSFORROTATIONALMOTION

ABOUTTHEZ-AXIS (RATESIN RADIANSPERSEC)

ENTER_ REAL*4NUMBERSSEPARATEDBY COMMAS

For position control, only the position of the armat the end of the

motion segmentis defined. Joint position control requ_ires that the user

input the relative displacement of each joint at the end of the segment.

Rememberthat the time allowed for this movehas also been defined so the end

position specified should not cause the manipulator rate limits to be exceeded:

FORPOSITIONCONTROL,INPUTSMUSTBE

TRANSLATIONSIN METERSANDROTATIONSIN DEGREES

FORINDIVIDUALJOINTCONTROL, THECONTROL

FUNCTIONSsPECIFYMOTIONOFEACHJOINTABOUT

THESINGLEDEGREEOFFREEDOMOFTHATJOINT

SPECIFYTHEJOINTPOSITION(DEG)FORJOINTI

AT THEENDOFTHETIME SEGMENT

SPECIFYTHEJOINTPOSITION(DEG)FORJOINT2

AT THE END OF THE TIME SEGMENT

For end-effector position control, the user inputs an x, y, and z

position in the world coordinate system for the end-effector reference point.

The final orientation of the end-effector coordinate system with respect to

the world coordinate system is also specified by defining successive rotation

angles about the world x-, y-, and z-axis that rotate the end-effector from an

initial reference position aligned with the world system to the desired final

orientation:

FOR POSITION CONTROL, INPUTS MUST BE

TRANSLATIONS IN METERS AND ROTATIONS IN DEGREES

FOR END EFFECTORS POSITION CONTROL, INPUTS

MUST BE IN WORLD COORDINATE SYSTEM

SPECIFY X,Y,Z COORDINATES (METERS) OF THE END EFFECTOR

POSITION AT END OF TIME SEGMENT IN WORLD C00R

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

SPECIFYTHE ORIENTATION OF THE END EFFECTOR AT

THE END OF THE TIME SEGMENT USING ANGLES OF

ROTATION (DEG) ABOUT THE X, THEN Y, THEN Z AXES

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

For sensor control, the user is prompted for the following three pieces

of information:

• /

i' A-174
Rev A, October 1985

ENTERLOCATIONOF SENSOR ALONG END EFFECTOR X-AXIS

EN_ THE NUMBER OF THE TARGET YOU WISH TO MOVE TOWARD

ENTERTHE MAX SENSOR TO TARGET VELOCITY

The above describes the user options available for motion-type

specifications. The analysis capability section of the main text describes

the arm motions generated from these specifications.

A-17_a
Nonmotion control s_cifications. -The other set of options available for

controlling the arm is classified as nonmotion options. Those currently available within ROBSIM are shown in the menu displayed when the no-motlon segment

option is chosen:

WHICH ACTION DO YOU: WISH?

1 GRASP OBJECT

2 RELEASE OBJECT

3 CHANGE TOOL REFERENCE POINT

4 WAIT STATE_ TIME DELAY

5 TURN FORCE/TORQUE CONTROL ON OR OFF

6 TURN ACTIVE COMPLIANCE CONTROL ON OR OFF

ENTER INTEGER

The grasp command (i) allows the user to specify that the motion of a load

object be linked to that of an arm. An example would be to move the endeffector of the manipulator arm to the handle of a tool, grasp the tool, and

then use the tool to perform a task on a workplece. When the grasp command is

chosen, the following prompt is displayed:

WHICH OBJECT? (ENTER OBJECT NUMBER)

The user must input a number corresponding to the load object to be grasped.

The load objects must be included in the system during system definition. The

subsequent motion of the load is displayed graphically with the arm motion.

Use of this command also causes the mass properties (mass, center of gravity,

and inertia) of the load object to be combined with those of the end effector

to insure proper modellnE of the arm response. The new effective mass properties of the end effector are used until the object is released.

The release command (2) uncouples the load object and arm motions and restores the end effector mass properties to the values they had before the load

object was grasped. The user inputs the number corresponding to the load object the arm is to release. The object will then remain in the position occupied when the command was given, even if it is in midair.

The change tool reference point command (3) allows the user to input a new

location for this point. The reference point is a point fixed in the tool

coordinate system whose motion is controlled when end effector rate or position

control is used. Its location in the end effector coordinate system is specified and if no reference point is specified, it is set to the origin of the

end-effector coordinate system by default:

ENTER X,Y,Z LOCATION OF NEW TOOL REFERENCE

POINT IN LOCAL TOOL COORDINATES. (IN METERS)

This command could be used after a tool has been picked up by the end effector

and the end of the tool is to be directed to perform a given task.

The wait on time delay command (4) allows the motion of the manipulator

arm to be stopped for a length of time specified by the user:

ENTER TIME DELAY FOR WAIT STATE

A-175
This command is implemented internally by using rate control of themanipulator

Joints and settlng all of the coefficients of the rate polynom/al to zero.

The force/torque and compliance control commands (5 and 6) set flags to

specify that these types of control be used during response simulation. When

force/torque control is flagged, the user must also input the control forces

and _orques. This is done by defining up to three force components and up to

three torque components to control. For each component, the user must input a

unit vector_descrlblng the direction in world coordinates of the force or torque to be controlled and the desired magnitude of this force or torque. As described in the main text, feedback compensation is used to obtain reaction

forces on the end effector equal to the prescribed force. Constraints on the

end effector motion must generally be specified for this control mode.

Control block gains are defined during execution of response simulation. The

prompts for th/s command are shown:

ENTER THE NUMBER DENOTING FORCE/TORQUE CONTROL ON OR OFF

0 FORCE/TORQUE CONTROL OFF

1 USE FORCE/TORQUE CONTROL

(NOTE: FORCE/TORQUE CONTROL CAN BE USED ONLY

WITH PID CONTROL OF END EFFECTOR POSITION

i

ENTER THE NUMBER OF FORCE COMPONENTS YOU

WISH TO CONTROL (0 TO 3 DIRECTIONS ALLOWED)

1

ALL FORCE VECTORS MUST BE ORTHOGONAL AND

SPECIFIED IN WORLD COORDINATES

ENTER THE UNIT FORCE VECTOR FOR DIRECTION 1

1,0,0

ENTER THE MAGNITUDE OF THIS VECTOR

i0

ENTER THE NUMBER OF TORQUE COMPONENTS YOU

WISH TO CONTROL (0 TO 3 DIRECTIONS ALLOWED)

When active compliance control is requested, the user must specify a compliance or stiffness matrix for the end effector reference position:

ENTER THE NUMBER DENOTING ACTIVE COMPLIANCE

CONTROL ON OR OFF

0 COMPLIANCE CONTROL OFF

1 USE ACTIVE COMPLIANCE CONTROL

(NOTE: TO USE THIS, PID CONTROL MUST BE SPECIFIED

IN THE PROGRAM OPTIONS SECTION

1

A-176 • •
ENTERTHESTIFFNESSMATRIXFORTHEEND

EFFECTORREFERENCEPOINT TO CONTROL

(ENTER ONE ROW OF THE MATRIX AT A TIME)

Rev A, October 1985

ENTER ROW i OF THE STIFFNESS MATRIX

i0,0,0,0,0,0

ENTER ROW 2 OF THE STIFFNESS MATRIX

0,I0,0,0,0,0

ENTER ROW 3 FO THE STIFFNESS MATRIX

O,0,10,0,0,0

ENTER ROW 4 FO THE STIFFNESS MATRIX

0,0,0,I0,0,0

ENTER ROW 5 FO THE STIFFNESS MATRIX

0,0,0,0,I0,0

ENTER ROW 6 FO THE STIFFNESS MATRIX

0,0,0,0,0,I0

This main text discusses how this 6x6 stiffness matrix is used to couple

the control of the end-effector position and force. Gain constants used for

this control are defined during execution of response simulation.

This concludes the description of nonmotion options. After each segment

(motion or nonmotion) is entered, the user is given a change to redefine the

data just entered in the event a mistake was made during input:

DID YOU SCREW UP?

ENTER i TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

If the response is l, the segment data are written to the file selected

by the user at the start of the motion profile definition.

Task-level file specification. - As in the primitive-level file

specification, the first data the user is prompted for are initial joint

angles:

ENTER THE INITIAL ANGLES FOR ARM i

(DEG OR IN)

ENTER THETA FOR JOINT i

ENTER THETA FOR JOINT 2

ENTER THETA FOR JOINT 3

ENTER THETA FOR JOINT 4

ENTER THETA FOR JOINT 5

ENTER THETA FOR JOINT 6 "

A-177
Rev A, October 1985

DOYOUWISHTO

1 CONTINUE

2 MODIFYINITIAL ANGLES

After these have been defined, a list of task conm_andsavailable are

displayed:

THEFOLLOWINGTASKCOMMANDS AREAVAILABLE

1 PICKUPOBJECT

2 PLACEOBJECTAT SPECIFIEDLOCATION

3 MOVEARM

4 HOLDCURRENTPOSITION

5 CHANGEENDEFFECTORREFERENCEPOINT

(NOTYETAVAILABLE)

7 SETCONTROLMODEFORRESPONSESIMULATION

8 SENSORCONTROLOFENDEFFECTORPOSITION

DOYOUWANTA DESCRIPTION OF ANY OF THE TASK COMMANDS?

ENTER I TO PRINT A DESCRIPTION

2 TO IMPLEMENT A TASK COMMAND

The user may either have a description of one of the commands displayed,

or choose to implement a command. Descriptions of each task command follow.

PICK UP OBJECT

THIS COMMAND PROMPTS THE USER FOR THE NAME OF THE OBJECT TO GRASP AND THE

TIME ALLOWED FOR THE ARM TO MOVE. BECAUSE THE OBJECT WAS DEFINED WITH A

GRASP POINT AND APPROACH VECTOR, THE INFORMATION DEFINING WHERE TO MOVE

AND IN WHICH DIRECTION IS ALREADY KNOWN. ARM MOTION IS POSITION CONTROL

OF THE END EFFECTOR

PLACE OBJECT AT SPECIFIED LOCATION

THIS COMMAND PROMPTS THE USER FOR THE NAME OF THE OBJECT TO PLACE, THE

TIME ALLOWED TO PLACE IT, AS WELL AS THE POSITION AND ORIENTATION OF

PLACEMENT. THIS MOTION USES POSITION CONTROL OF THE END EFFECTOR

MOVE ARM

THIS COMMAND ALLOWS THE USER TO DEFINE A POINT AND AN ORIENTATION FOR THE

END EFFECTOR AS WELL AS ALLOWABLE TIME FOR THE MOVE. THIS CAN BE DEFINED

AS EITHER A NORMAL OR GUARDED MOVE, WITH A GUARDED MOVE INCLUDING FORCE

CONTROL OF THE END EFFECTOR

HOLD CURRENT POSITION

THIS COMMAND ALLOWS THE USER TO PROGRAM A TIME DELAY OF SPECIFIED DURATION

CHANGE END EFFECTOR REFERENCE POINT

THIS COMMAND ALLOWS THE USER TO DEFINE A NEW END EFFECTOR REFERENCE

POINT, WHICH THEN BECOMES THE POINT MOTION IS SPECIFIED FOR

USE OPERATOR CONTROL

A-177a
Rev A, October 1985

THISOPTIONIS NOTCURRENTLYIMPLEMENTED

SETCONTROL MODE FOR RESPONSE SIMULATION

THIS COMMAND GIVES THE USER THE OPTION OF SIMULATING ONE OF THE FOLLOWING

CONTROL MODES:

HYBRID FORCE/TORQUE CONTROL

ACTIVE COMPLIANCE CONTROL

DUAL ARM CONTROL OF END EFFECTOR POSITION

DUAL ARM WITH FORCE/TORQUE CONTROL

SENSOR CONTROL OF END EFFECTOR POSITION

THIS OPTION SIMULATES A RANGE-TYPE SENSOR MOUNTED ON THE MANIPULATOR AND

USES IT TO MOVE THE ARM TOWARDS A TARGET. THE TARGET MUST HAVE BEEN

DEFINED AND PLACED IN THE SYSTEM PREVIOUSLY

If the user chooses to implement a task command and write it to the time

history profile, prompts for the necessary data are displayed. For the first

task command (pick up object) the user is asked for the name of the object to

pick up, the time allowed for the motion, and the vector defining the

direction of the end-effector y-axis in world coordinates. This last piece of

data is necessary to completely define the end-effector orientation:

ENTER NAME OF OBJECT YOU WANT TO PICK UP FIRSTLOD

ENTER THE TIME ALLOWED FORT HIS MOTION

ENTER A VECTOR DEFINING THE DIRECTION OF THE

ENX) EFFECTDR Y-AXIS IN WORLD COORDINATES

ENTER THREE REAL NUMBERS SEPARATED BY COMMAS

To use the place object command, the user inputs the name of object to be

placed, the length of time allowed for the motion, a location defining where

to place the object and the end-effector orientation at time of placement:

ENTER NAME OF OBJECT YOU WANT TO PLACE

(THE OBJECT MUST ALREADY BE HELD BY AN ARM)

ENTER TIME ALLOWED FOR THE MOTION

ENTER THE COORDINATES (WORLD SYSTEM) OF WHERE TO PLACE THE OBJECT

ENTER THREE NUMBERS SEPARATED BY COMMAS

ENTER THE ORIENTATION OF THE END EFFECTOR WITH RESPECT TO WORLD SYSTEM AT

THE TIME OF PLACEMENT ENTER DEGREES OF ROTATION ABOUT X, THEN Y, THEN

Z AXES

The move arm command can be used to effect a position control of the

end-effector move as described in the previous section on primitive-level file

specification. It can also be used to put a guarded move into effect. The

user is prompted for the same information as for a normal move, and then is

asked whether the move will be normal or guarded:

A-177b
Rev A, October 1985

ENTERTHETIMEALLOWEDFORTHEMOTION

SPECIFYX,Y,Z COORDINATES(IN) OFTHEENDEFFECTOR

POSITIONAT ENDOFTIMESEGMENTIN WORLDC00R

ENTER3 REAL*4NUMBERSSEPARATEDBY COMMAS

SPECIFYTHEORIENTATIONOFTHEENDEFFECTORAT

THEENDOFTHETIME SEGMENTUSINGANGLESOF

ROTATION(DEG)ABOUTTHEX, THENY, THENZ AXES

ENTER3 REAL*4NUMBERSSEPARATEDBY COMMAS

WILLTHIS BEA NORMALORGUARDEDMOVE?

ENTERI FORNORMALMOVE

2 FORA GUARDEDMOVE

If the user answers guarded move, the time allowed for the motion is

doubled, force control is turned on, and the user is prompted for the number

of force componentsto control and the force vector to control to:

ENTERTHENUMBEROFFORCECOMPONENTS YOU WISH TO CONTROL (0 TO 3

DIRECTIONS ALLOWED)

ALL FORCE VECTORS MUST BE ORTHOGONAL AND SPECIFIED IN WORLD COORDINATES

ENTER THE UNIT FORCE VECTOR FOR DIRECTION 1

ENTER THE MAGNITUDE OF THIS VECTOR

Task commands 4, 5, and 7 are the same as the corresponding a nonmotion

commands in the primitive-level file specification.

Task 8, sensor control of end effector position, simulates a video camera

guiding the end-effector toward a target. The user is prompted for the sensor

location, the target to move toward, and the maximum allowable velocity:

ENTER THE LOCATION OF THE SENSOR ALONG THE END EFFECTOR X-AXIS

ENTER THE NUMBER OF THE TARGET YOU WISH TO MOVE TOWARDS

ENTER THE MAX SENSOR TO TARGET VELOCITY

The user may then continue to implement commands on exit the motion

specification process.

Sample run. - Example A-IO shows the use of the primitive-level motion

specification mode of the SIMDRVR portion of ROBSIM to set up a profile for

the following task.

A robot arm, doing an assembly task is required to pick a small part up

off a table and then place it against another epoxy-covered part for 2 seconds

with a force of I0 newtons and then return to its home position. The segments

needed to define this motion are listed:

A-177c
I) Moveto small part on table;

2) Grasp part;

3) Movesmall part to epoxy-covered part;

4) Press against part until force = I0 newtons;

Rev A, October 1985

A-177d
Rev A, October 1985

5) Hold 2 seconds;

6) Release;

7) Return to homeposition.

ExampleA-10

@ROBSIM

INPUT(PREPDRVR)--TORUNROBSIMPREPROCESSOR FUNCTION

(INITDRVR)--TORUNROBSIMSYSTEMDEFINITIONFUNCTION

(SIMDRVR)--TORUNROBSIMSIMULATIONANALYSISTOOLSFUNCTION

(POSTDRVR)--TORUNROBSIMPOSTPROCESSOR FUNCTION

WHICH:SIMDRVR

Previous logical nameassignment replaced

Previous logical nameassignment replaced

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING SYSTEM DEFINITION FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS WITHIN ROBSIM

LU USE

5 READ UNIT (TERMINAL)

6 WRITE UNIT (TERMINAL)

7 PRINTED OUTPUT UNIT

8-9 SIMULATION INPUT FILE

I0 SIMULATION OUTPUT FILE

ii ACII_UATOR PARAMETERS INPUT FILE

i_ LOAD OBJECTS DATA FILE

15 ERROR MESSAGE FILE

16 GAIN CONSTANTS FILE

17 TORQUE DATA INPUT FILE

18 ACC-VEL-THETA FILE

19 PROGRAM OPTIONS FILE

20 PLOT DATA FILE

21 MOTION TIME HISTORY FILE

22 HARDWARE CON"FROL SIGNALS

23 CONTROL OPTIONS INPUT FILE

2_ CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOCAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<CR>

A-178
Rev A, October 1985

SELECTMODEOFOPERATIONDESIRED

MODE

I

2

3

5

6

7

DEFINITION

REQUIREMENTS ANALYSISWITHOUTGRAPHICS

REQUIREMENTS ANALYSISWITHGRAPHICS

RESPONSESIMULATIONWITHOUTGRAPHICS

RESPONSESIMULATIONWITHGRAPHICS

SETUPA MOTIONPROGRAM

SETUPA BASEMOTIONPROGRAM

TERMINATEANALYSISTOOLSEXECUTION

ENTERINTEGERVALUE

(911 FORTHEROBSIM

FORMODEDESIRED

HELPLIBRARY)

ENTERFILENAMEOF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED _0

EXAMPLE - DRDI:[ROBSIM]PLANDET.SYS

PLANAR.SYS

SYSTEM DATA FILE HAS BEEN READ

ALL COMMON BLOCKS ARE LOADED

DEFINING TASK PROGRAM FOR ARM 1

DO YOU WISH TO MODIFY A FILE OF

EXISTING TIME HISTORIES?

i MODIFY TIME HISTORIES FROM A FILE

2 INPUT TIME HISTORIES FROM USER TERMINAL

3 MAKE A PRINT COPY OF A TIME HISTORY FILE

(NOTE: MODIFICATION IS DONE ONLY AT THE PRIMITIVE LEVEL.)

2

ENTER THE FILENAME FOR STORING THE TASK PROGRAM

FOR ARM i

MOPROF.THP

DO YOU WISH TO SPECIFY THE MANIPULATOR MOTION

WITH TASK LEVEL OR PRIMITIVE LEVEL COMMANDS?

ENTER I TO USE TASK LEVEL COMMANDS

ENTER 2 TO USE PRIMITIVE LEVEL

2

ENTER THE INITIAL ANGLES FOR ARM i

(DEGREES OR METERS)

ENTER THETA FOR JOINT 1

0

A-179
-30

ENTERTHETAFORJOINT2

ENTERI TOCONTINUE

ENTER 2 TO MODIFY INITIAL ANGLES

i

CONTROL DATA INPUT FOR ARM I

RATE MOTION IS CONTROLLED BY USER INPUT POLYNOMIAL

FUNCTIONS OF TIME. INPUT IS FOR THE COEFFICIENTS,

STARTING WITH THE COEFFICIENT FOR THE HIGHEST ORDER

TERM FIRST AND ENDING WITH THE COEFFICIENT FOR THE

ZERO ORDER TERM

Rev A, October 1985

A-179a
POSITION IS CONTROLLED BY USER INPUT OF THE END

POSITION OF THE END EFFECTOR EACH JOINT

A DURATION TIME, IN SECONDS, IS INPUT WITH EACH SET

OF COEFFICIENTS TO PROVIDE A TIME SE(_4ENT OVER

WHICH THE COEFFICIENTS ARE VALID.

ENTER RETURN TO CONTINUE

< CR>

IS CURRENT STEP A MOTION?

1 MOTION SEGMENT

2 NO-MOTION STEP (E.G., GRASP_WAIT,ETC)

ENTER INTEGER

I

.5

SPECIFY DURATION TIME, (SEC)_ FOR SEGMENT

ENTER 1 FOR CONTROL OF INDIVIDUAL JOINTS

ENTER 2 FOR CONTROL OF END EFFECTOR MOITON

ENTER 1 FOR RATE CONTROL

ENTER 2 FOR POSITION CONTROL

FOR POSITION CONTROL, INPUTS MUST BE

TRANSLATIONS IN METERS AND ROTATIONS IN DEGREES

FOR END EFFECTOR POSITION CONTROL, INPUTS

MUST BE IN WORLD COORDINATE SYSTEM

SPECIFY X,Y,Z COORDINATES (METERS) OF THE END EFFECTOR

POSITION AT END OF TIME SEGMENT IN WORLD COOR

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

•4, .2, .5

SPECIFY THE ORIENTATION OF THE END EFFECTOR AT

THE END OF THE TIME SEGMENT USING ANGLES OF

ROTATION (DEGREES) ABOUT THE X, THEN Y, THEN g AXES

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

0,-30,0

DID YOU SCREW UP?

ENTER 1 TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

1

DO YOU WISH MORE PROGRAM STEPS?

ENTER 1 TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

i

A-180
IS CURRENT STEP A MOTION?

1 MOTION SEGMENT

2 NO-MOTION STEP (E.G., GRASP,WAIT,ETC)

ENTER INTEGER

2

WHICH ACTION DO YOU WISH?

1 GRASP OBJECT

2 RELEASE OBJECT

3 CHANGE TOOL REFERENCE POINT

4 WAIT STATE_ TIME DELAY

5 TURN FORCE/TORQUE CONTROL ON OR OFF

6 TURN ACTIVE COMPLIANCE CONTROL ON OR OFF

ENTER INTEGER

1

WHICH OBJECT? (ENTER OBJECT NUMBER)

2

DID YOU SCREW UP?

ENTER 1 TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

1

DO YOU WISH MORE PROGRAM STEPS?

ENTER i TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

1

IS CURRENT STEP A MOTION?

1 MOTION SEGMENT

2 NO-MOTION STEP (E.G., GRASP,WAIT,ETC)

ENTER INTEGER

1

-5

SPECIFY DURATION TIME, (SEC), FOR SEGMENT

ENTER 1 FOR CONTROL OF INDIVIDUAL JOINTS

ENTER 2 FOR CONTROL OF END EFFECTOR MOTION

ENTER 1 FOR RATE CONTROL

ENTER 2 FOR POSITION CONTROL

FOR POSITION CONTROL, INPUTS MUST BE

TRANSLATIONS IN METERS AND ROTATIONS IN DEGREES

FOR END EFFECTOR POSITION CONTROL, INPUTS

MUST BE IN WORLD COORDINATE SYSTEM

A-181
SPECIFY X,Y,Z COORDINATES (METERS) OF THE END EFFECTOR

POSITION AT END OF TIME SEGMENT IN WORLD COOR

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

•4, .2,1.0

SPECIFY THE ORIENTATION OF THE END EFFECTOR AT

THE END OF THE TIME SE(_NT USING ANGLES OF

ROTATION (DEGREES) ABOUT THE X, THEN Y, THEN Z AXES

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMAS

0, -25,0

DID YOU SCREW UP?

ENTER i TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

1

DO YOU WISH MORE PROGRAM STEPS?

ENTER 1 TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

1

IS CURRENT STEP A MOTION?

1 MOTION SE _ENT

2 NO-MOTION STEP (E.G., GRASP,WAIT,ETC)

ENTER INTEGER

2

WHICH ACTION DO YOU WISH?

1 GRASP OBJECT

2 RELEASE OBJECT

3 CHANGE TOOL REFERENCE POINT

4 WAIT STATE, TIME DELAY

5 TURN FORCE/TORQUE CONTROL ON OR OFF

6 TURN ACTIVE COMPLIANCE CONTROL ON OR OFF

ENTER INTEGER

5

ENTER THE NUMBER DENOTING FORCE/TORQUE CONTROL ON OR OFF

0 FORCE/TORQUE CONTROLL OFF

1 USE FORCE/TORQUE CONTROL

(NOTE: FORCE/TORQUE CONTROL CAN BE USED ONLY

WITH PID CONTROL OF END EFFECTOR POSITION)

1

ENTER THE NUMBER OF FORCE COMPONENTS YOU

WISH TO CONTROL (0 TO 3 DIRECTIONS ALLOWED)

1

ALL FORCE VECTORS MUST BE ORTHOGONAL AND

SPECIFIED IN WORLD COORDINATES

A-182
ENTER THE UNIT FORCE VECTOR FOR DIRECTION 1

O, 0, -i

i0

ENTER THE MAGNITUDE OF THIS VECTOR

ENTER THE NUMBER OF TORQUE COMPONENTS YOU

WISH TO CONTROL (0 TO 3 DIRECTIONS ALLOWED)

0

DID YOU SCREW UP?

ENTER 1 TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

1

DO YOU WISH MORE PROGRAM STEPS?

ENTER 1 TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

1

IS CURRENT STEP A MOTION?

1 MOTION SE 6_4ENT

2 NO-MOTION STEP (E.G., GRASP,WAIT, ETC)

ENTER INTEGER

1

.5

SPECIFY DURATION TIME, (SEC), FOR SEGMENT

ENTER 1 FOR CONTROL OF INDIVIDUAL JOINTS

ENTER 2 FOR CONTROL OF END EFFECTOR MOTION

2

ENTER 1 FOR RATE CONTROL

ENTER 2 FOR POSITION CONTROL

FOR POSITION CONTROL, INPUTS MUST BE

TRANSLATIONS IN MTERS AND ROTATIONS IN DEGREES

FOR END EFFECTOR POSITION CONTROL, INPUTS

MUST BE IN WORLD COORDINATE SYSTEM

SPECIFY X,Y,Z COORDIANTES (METERS) OF THE. END EFFECTOR

POSITION AT END OF TIME SE(_4ENT IN WORLD COOR

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

•4, .2,1.1

SPECIFY THE ORIENTATION OF THE END EFFECTOR AT

THE END OF THE TIME SEGMENT USING ANGLES OF

ROTATION (DEGREES) ABOUT THE X, THEN Y, THEN Z AXES

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMAS

0,-25, 0

A-183
DID YOU SCREW UP?

ENTER 1 TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

1

DO YOU WISH MORE PROGRAM STEPS?

ENTER 1 TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

1

IS CURRENT STEP A MOTION?

1 MOTIONSE(_ENT

2 NO-MOTION STEP (E.G., GRASP,WAIT,ETC)

ENTER INTEGER

2

WHICH ACTION DO YOU WISH?

1 GRASP OBJECT

2 RELEASE OBJECT

3 CHANGE TOOL REFERENCE POINT

4 WAIT STATE, TIME DELAY

5 TURN FORCE/TORQUE CONTROL ON OR OFF

6 TURN ACTIVE COMPLIANCE CONTROL ON OR OFF

ENTER INTEGER

4

ENTER TIME DELAY FOR WAIT STATE

2.

DID YOU SCREW UP?"

ENTER 1 TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

1

DO YOU WISH MORE PROGRAM STEPS?

ENTER i TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

i

IS CURRENT STEP A MOTION?

1 MOTION SEGMENT

2 NO-MOTION STEP (E.G., GRASP,WAIT,ETC)

ENTER INTEGER

2

WHICH ACTION DO YOU WISH?

1 GRASP OBJECT

2 RELEASE OBJECT

3 CHANGE TOOL REFERENCE POINT

4 WAIT STATE, TIME DELAY

5 TURN FORCE/TORQUE CONTROL ON OR OFF

6 TURN ACTIVE COMPLIANCE CONTROL ON OR OFF

ENTER INTEGER

5

A-184
ENTERTHENUMBER DENOTING FORCE/TORQUE CONTROL ON OR OFF

0 FORCE/TORQUE CONTROL OFF

1 USE FORCE/TORQUE CONTROL

(NOTE: FORCE/TORQUE CONTROL CAN BE USED ONLY

WITH PID CONTROL OF END EFFECTOR POSITION)

0

DID YOU SCREW UP?

ENTER 1 TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

DO YOU WISH MORE PROGRAM STEPS?

ENTER 1 TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

1

IS CURRENT STEP A MOTION?

1 MOTION SE6_4ENT

2 NO-MOTION STEP (E.G., GRASP,WAIT,ETC)

ENTER INTEGER

2

WHICH ACTION DO YOU WISH?

1 GRASP OBJECT

2 RELEASE OBJECT

3 CHANGE TOOL REFERENCE POINT

4 WAIT STATE, TIME DELAY

5 TURN FORCE/TORQUE CONTROL ON OR OFF

6 TURN ACTIVE COMPLIANCE CONTROL ON OR OFF

ENTER INTEGER

2

WHICH OBJECT? (ENTER OBJECT NUMBER)

2

DID YOU SCREW UP?

ENTER 1 TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

1

DO YOU WISH MORE PROGRAM STEPS?

ENTER 1 TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

1

IS CURRENT STEP A MOTION?

1 MOTION SEGMENT

2 NO-MOTION STEP (E.G., GRASP,WAIT,ETC)

ENTER INTEGER

i

A-185
SPECIFYDURATIONTIME (SEC) FORSEGMENT

IQ

ENTER 1 FOR CONTROL OF INDIVIDUAL JOINTS

ENTER 2 FOR CONTROL OF END EFFECTOR MOTION

ENTER 1 FOR RATE CONTROL

ENTER 2 FOR POSITION CONTROL

FOR POSITION CONTROL, INPUTS MUST BE

TRANSLATIONS IN METERS AND ROTATIONS IN DEGREES

FOR INDIVIDUAL JOINT CONTROL, THE CONTROL

FUNCTIONS SPECIFY MOTION OF EACH JOINT ABOUT

THE SINGLE DEGREE OF FREEDOM OF THAT JOINT

SPECIFY THE JOINT POSITION (DEG) FOR JOINT I

AT THE END OF THE TIME SEGMENT

0

SPECIFY THE JOINT POSITION (DEG) FOR JOINT 2

AT THE END OF THE TIME SEGMENT

DID YOU SCREW UP?

ENTER 1 TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

DO YOU WISH MORE PROGRAM STEPS?

ENTER i TO INPUT ANOTHER PROGRAM STEP

ENTER 2 TO TERMINATE PROGRAM SEQUENCE

SELECT MODE OF OPERATION DESIRED

MODE

I

2

3

DEFINITION

REQUIREMENTS ANALYSIS WITHOUT GRAPHICS

REQUIREMENTS ANALYSIS WITH GRAPHICS

RESPONSE SIMULATION WITHOUT GRAPHICS

Rev A, October 1985

A-186
Rev A, October 1985

RESPONSESIMULATIONWITHGRAPHICS

5 SETUPA MOTIONPROGRAM

6 SETUPA BASEMOTIONPROGRAM

7 TERMINATEANALYSISTOOLSEXECUTION

ENTERINTEGERVALUEFORMODEDESIRED

(911 FORTHEROBSIMHELPLIBRARY)

6

EXISTINGFROMANALYSISTOOLSFUNCTION

FORTRANSTOP

INPUT(Y) TORUNSIMULATIONANALYSISTOOLSFUNCTIONAGAIN, (OTHERWISE, RETURN)<CR>

INPUT(Q) IF YOUWISHTOEXIT THEPROGRAM(OTHERWISE, RETURN)Q

A-186a
The profile established in Example A-10 completely defines the motibn of

a manipulator arm. If the system contains multiple arms, the motion profile

for each arm must be defined. After the motion profiles of all of the arms in

the system have been defined, the user may run any of the ocher modes of the

SIMDRVR section of ROBSIMusing these profiles.

A-187
Re_ A, October 1985

Base Motion Profiles

This subsection describes how the motion of a manipulator base is

specified. The user is presented with various menus detailing the available

options and with input prompts to define these options. The complete motion

is broken down into segments, where each segment contains a description of a

distinct move or other type of task-oriented command. Once a segment is

defined, it is written to a user-named file and another segment is defined

until the complete manipulator motion is specified. If the system contains

multiple bases, a complete motion profile is described for each base

separately.

To use this SIMDRVR option, the user must first input the name of the

file containing data describing the manipulator system (defined in the

INITDRVRportion of ROBSIM):

ENTER FILE NAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - DRDI:[ROBSIM]PLNARM.SYS

This gives the program the geometry information needed when prompting the user

for input data. Next, the following prompt is displayed:

DEFINING BASE MOTION PROFILE FOR BASE i

DO YOU WISH TO MODIFY A FILE OF

EXISTING TIME HISTORIES?

I MODIFY TIME HISTORIES FROM A FILE

2 INPUT TIME HISTORIES FROM USER TERMINAL

3 MAKE A PRINT COPY OF A TIME HISTORY FILE

If a I is entered, the user is prompted for the name of the file containing

the base motion profile data to be modified and a file name under which to

save the modified data:

ENTER BASE MOTION PROFILE FILENAME FOR BASE I

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

ENTER THE FILENAME FOR STORING BASE MOTION PROFILE FOR BASE I

Choice 2 just asks the user for the file name under which to save the

motion profile data. Choice 3 will write the motion profile data from a

user-specified file to a formatted file for printing. This choice then

terminates the base motion program mode and the user is returned to the main

SIMDRVR menu.

The user is now prompted for the initial base position and orientation:

ENTER THE BASE INITIAL POSITION FOR BASE 1

SPECIFY X, Y, Z COORDINATES [length units] OF THE BASE

INITIAL POSITION IN WORLD COORDINATE

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMAS

A-188
Rev A, October 1985

SPECIFYTHEBASEINITIAL ORIENTATION

USINGTHEANGLESOFROTATION(DEG)

ABOUTTHEWORLDX, THENY, THENZ AXES

ENTER3 REAL*4NUMBERSSEPARATEDBYCOMMAS

ENTER i TO CONTINUE

ENTER 2 TO MODIFY INITIAL BASE POSITION AND ORIENTATION

If a motion file is being modified, the current values are displayed and the

user is given the choice of using the current values or modifying them:

INITIAL BASE POSITION FOR BASE I

INITIAL BASE ORIENTATION, SEQUENCE OF ROTATION

IN DEGREES ABOUT X, Y, Z WORLD AXES

DO YOU WISH TO

I USE CURRENT VALUES

2 MODIFY INITIAL BASE POSITION AND ORIENTATION

Once the initial base position and orientation are established, the program

then prompts the user for segment data, one segment at a time. If an existing

file is being modified, a description of the current segment is displayed

along with modification menu as shown here:

CURRENT PROGRAM STEP IS:

DURATION = 1.000 SEC

POSITION CONTROL OF BASE MOTION:

X,Y,Z TRANSLATION AND ROTATION AT THE

END OF TIME SEGMENT ARE:

1.000 0.000 0_000 0.000 0.000 90.000

FINAL ORIENTATION MATRIX IS:

0.000 -i.000 0.000

1.000 0.000 0.000

0.000 0.000 1.000

DO YOU WISH TO MODIFY THIS STEP ?

1 NO MODIFICATION

2 REDEFINE CURRENT STEP

3 DELETE CURRENT STEP

4 INSERT NEW STEP AHEAD OF CURRENT STEP

ENTER INTEGER

If no modification is desired, the program reads the next task step and

repeats this prompt. To redefine the current step, it is deleted and the

interactive step definition procedure executes to replace the step.

Alternatively, the current step can be deleted and the program proceeds to the

next task step in the file. Finally, a new task step can be inserted prior to

the current step, after which the modification prompt is repeated (thereby

allowing multiple insertions).

A-188a ......
RevA, October 1985

The remainder of the motion profile discussion will be handled as new input

although the sameprocedures apply for profile modification. The program now

prompts the user for information on howor where the base will move. The user

may also decide if the control variable is to be rate Or position. The two

base motion control options are:

I) Rate control;

2) Position control.

The first step in defining a motion is to specify the length of time the

motion will take.

SPECIFY DURATION TIME (SEC) FOR SEGMENT

The user then defines whether the control variable is rate or position.

ENTER 1FORRATE CONTROL

ENTER 2 FOR POSITION CONTROL

Base rate control requires the user to input coefficients of a polynomial

functions of time. This case, however, requires six sets of coefficients for

each arm in the system--three for x, y and z translational rates and three for

x, y and z rotational rates of the base. The coefficients to define the

polynomials are in the world coordinate system:

FORRATE CONTROL, COEFFICIENTS MUST PRODUCE

TRANSLATIONAL RATES IN [ RATE UNIT ] AND

ROTATIONAL RATES IN RADIANS PER SECOND

FOR BASE RATE CONTROL, INPUTS

MUST BE IN WORLD COORDINATE SYSTEM

SPECIFY COEFFICIENTS FOR TRANSLATIONAL MOTION

ALONG THE X-AXIS (RATES IN [RATE UNITS])

ENTER L+ REAL_:4 NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR TRANSLATIONAL MOTION

ALONG THE Y-AXIS (RATES IN [RATE UNITS])

ENTER z+ REAL*_ NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR TRANSLATIONAL MOTION

ALONG THE Z-AXIS (RATES IN [RATE UNITS])

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR ROTATIONAL MOTION

ALONG THE X-AXIS (RATES IN RADIANS PER SEC)

ENTER 4 REAL*4 NUMBERS SEPARATED BY COMMAS

SPECIFY COEFFICIENTS FOR ROTATIONAL MOTION

ALONG THE Y-AXIS (RATES IN RADIANS PER SEC)

-_.. . . .

.... A-188b
Rev A, October 1985

ENTER4 REAL*4NUMBERSSEPARATEDBYCOMMAS

SPECIFYCOEFFICIENTSFORROTATIONALMOTION

ALONGTHEZ-AXIS (RATESIN RADIANSPERSEC)

enter _ REAL*_NUMBERSSEPARATEDBYCOMMAS

For position control, only the position of the base at the end of the motion

segment is defined. The user inputs a final x, y and z position of the base

in the world coordinate system. The final orientation of the base coordinate

system with respect to the world coordinate system is also specified by

defining successive rotation angles about the world x, y, and z axes that

rotate the base frame from an initial reference orientation aligned with the

world system to the desired final orientation:

FOR POSITION CONTROL, INPUTS MUST BE

TRANSLATIONS IN [length units] AND ROTATIONS IN DEGREES

FOR BASE POSITION CONTROL, INPUTS

MUST BE IN WORLD COORDINATE SYSTEM

SPECIFY X, Y, Z COORDINATES [length units] OF THE BASE POSITION AT END OF

TIME SEGMENT IN WORLD COORDINATES ENTER 3 REAL*_ NUMBERS SEPARATED BY

COMMAS

SPECIFY THE ORIENTATION OF THE BASE AT THE END OF TIME SEGMENT USING

ANGLES OF ROTATION (DEG) ABOUTTHE X, THEN Y, THEN Z AXES.

ENTER 3 REAL*4 NUMBERS SEPARATED BY COMMA&

After each segment is entered, the user is given a chance to redefine the data

just entered in the event a mistake was made during input:

ENTER i TO STORE THIS STEP

ENTER 2 TO REDEFINE THIS STEP

If the response is I, the segment data are written to the file selected by the

user at the start of the base motion profile definition.

(A sample run is not included because of the similarity to end-ef£ector

position control of a manipulator using primitive-level file specification.

%

A-188c
THE POSTPROCESSOR USER'S GUIDE

This portion of the user's guide describes the use of the postprocessor

function of ROBSIM that allows the replay of a robotic system motion output

file ('_SOF') that was written during a previous analysis tools simulatlon execution, permits comparison of the output simulation motlonwlth a real hardware

execution motion output file, and contains an x-y plotting capability for the

parameter values written during an earlier robotic simulation run (saved in the

'.PLT' file names). The philosophy of this ROBSIM function is to provide useful utilities for analyzing the results obtained during execution of the analysis tools function, either the requirements or the response simulation implementations.

The ROBSIM postprocessor uses the Evans and Sutherland multlplcture system

to provide all graphics replay of hardware and simulation motion. The E&S displays the movements of the robotic arms and loads within the environment as

they orlglnally occurred. A robotic system geometry ('.SYS') file must also

exist to perform an E&S simulation replay. The system plot capacity incorporates the VMS DI3000 x-y plot package for parameter vs parameter plotting on a

Hewlett-Packard plotter or a VAX VTI25 graphics terminal.

This driver operates in an interactive mode, prompting the user for the

postprocesslng option desired. Valid options are:

I) Replay robotic system simulation motion only;

2) Replay simulation versus hardware motion;

3) Parameter versus parameter plots;

4) Terminate postprocessor program execution.

Additional postprocessing capabilities may be added to the postprocessor function program as desired,

After entry into the postprocessor, the program requires a mode response.

The question will be to choose one of the three subprocesses mentioned above or

to end this processor function. The user input parameter is as specified:

SELECT MODE OF OPERATION DESIRED

MODE

1

2

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

A IO_
In the postprocessor executive, the result of executing option 1 is to

provide a replay of the robotic system joint motions produced from a simulation

run and show the robot tasks performed. Option 2 provides a comparison of the

resultant motion from direct hardware there values read and the corresponding

simulation motion, including programmed robot commands executed. If option 3

is selected, a procedure begins that provides parameter versus parameter plots

of any of the data computed and written to one of the seven possible plot file

packages during the requirements or simulation analysis tools function. Option

4 returns execution to the ROBSIMcommand file level.

At this point the discussion is separated into sections based on the menu

options previously listed. Mode 1 is discussed in the section entitled Simulation Motion Replay Procedure; this explains the procedure of user interaction

required to display the faster postsimulation motion on the E&S. The mode 2

option is discussed in the section Simulation vs Hardware Motion Replay Procedure; it includes information on how to form a ROBSIM software interface with

a real hardware system to show the difference in the output joint angle values,

where the hardware there results represent the theoretical simulation goals.

The user option, mode 3, is covered under the heading Parameter versus Parameter Plot Package Procedure; it covers the mandetory user inputs for plotting

values of internal program parameters that were written to a user-speclfled

tlme-tagged file during a previous simulation process.

Simulation Motion Replay Procedure

This section documents the use of the postprocessor function that provides

a replay of the robotic system motion produced during a previous run of the requirements or simulation phase of the analysis tools function. It opens the

chosen robotic system geometry ('.SYS') and simulation output ('.SOF') files

for replay, and displays the motions with E&S llne graphics. The simulation

output data file is read for each time step to load the joint displacements,

and the graphics called with the displacements at each time step, to update the

system motion display.

The user is prompted for the name of the file containing the robotic system geometry created during the system definition function, and for the file

name of the corresponding simulation output file generated during the analysis

tools function execution.

The user input for the geometry file should be entered when the following

is encountered:

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR_PLANDET.SYS

and the simulation output file to be replayed should be given for:

A-190

"i ........
SYSTEM DATA FILE HAS BEEN READ

ALL COMMON BLOCKS ARE LOADED

ENTER FILENAME OF SIMULATION OUTPUT FILE

WHICH CORRESPONDS TO THE REQUESTED

SIMULATION INPUT FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE: [EOBDIR]PLANSIM.SOF

The unformatted data file containing the contents of pertinent stored parameter data is read into the COMMON blocks within the program, initially to redefine the system as it appeared at creation. The system graphics object arrays are read from the total robotic system geometry file saved during the system initialization process. The motion graphics capability in the postprocessor simulation replay function is similar to that of the simulatlon/requlrements analysis tools function; the pending motion displays the environment,

load and robotic system movements within the environment. The advantage of replay of the requirements or simulation graphics is a quicker display of the

motion that occurred in the prior analysis processor run.

For the graphics, the robotic arms are initialized and displayed in the

start time conditions. The display is scaled through use of the stored COMMON

variable, system span, that was chosen while creating the robotic system scenarlo during the system definition function. As an initial prod, the user signifies dynamic motion commencement by depressing the RETURN key:

ENTER RETURN TO BEGIN MOTION

For each successive time step the display is updated to the current processlng time step condition. The joint translational position vectors and absolute orientation matrices in thelnertlal system are loaded internally in the

program. The form of the graphics picture output is bordered on the right with

columns showing the current processing time joint angles (degrees) in column 1

and the percent of the maximum displacement permissible that is presently traversed for each joint of each arm, in column 2. The current slmulatlon processlng time is accrued at the top of the display, and the run title and Martin

Marietta logo printed. In the postprocesslng graphics, it is to be noted that

during motion of the system, the environment and arm bases displayed are constant and therefore not updated.

The user will be allowed the use of an Evans and Sutherland extended function key reserved Tor cessation of system playback motion. While extended

switch number 0 is activated, simulation playback is halted and the user is allowed the freedom to change the translational, rotational and zoom perspectives

of the displayed picture through movement of the Evans and Sutherland extended

analog dials. When analysis in this manner is complete, depressing the same

function key number 0 resumes playback motion and simulation time continues up-

, dating. A light indicator in the function key is used to inform the user of

the key status; when lighted, the perspective viewing is in operation.

A-191
Load object grasp and release commands are preprogrammed and read from the

simulation output file. Such actions are designated for performance at a partitular simulation time step (SDF), and are affiliated with a partlcular load

object in the system scenario. The SOF includes a load flag to signify the

grasp or release tlme-tagged events.

During grasping an object, the program adds the load mass properties to

that of the arm end-effector to simulate a load object assumed at the robot

tool. This procedure first checks to see that the arm is not already holding

a load object or that another arm is not holding the desired load object. If

these conditions are satisfied, the vector from the tool origin to the load

center of gravity (in the tool coordinate system) is calculated, as well as the

inertia matrix of the load in the tool coordinate system. The load mass properties are combined with those of the tool, and stored in tool variables.

Here it is assumed that the arm is in a position that would enable it to grasp

the load object, and that the load object will not sllp after being held and

moved by the arm. It is also assumed that the tool is centered about the obJect being grasped so no adjustments need to be made while the arm is grasping

the load object.

The arm simulates releasing a load object by resetting the tool mass properties and updating the load object location and orientation. It checks if

the arm is holding an object that it can release. If this is the case, the

tool mass properties (mass, center of gravity, and inertia matrix) are reset to

the values they were assigned before picking up the load object, and the load

location and orientation are calculated for the place the load was set down.

It is assumed that the object will stay where released.

When the motion is complete, the graphics display is terminated with:

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

At completion of motion replay, the user is asked whether a hardcopy

printout meta-file should be written for regeneration on the Hewlett-Packard

x-y plotter. If it is wlshed to create a paper copy of the final graphics display, the user should input a file name prefix for the answer to the hardcopy

question, otherwise RETURN. The file prefix will be appended with '.PIC' and

saved in the user directory. For instructions on exercising the meta-file output routine, see the user's guide introduction.

Sample run. - A sample interactive run of the replay option follows.

Figures A-32 through A-34 were taken during this postprocesslng playback.

A-192
Rev A, October 1985

ExampleA-If

@ROBSIMINPUT(PREPDRVR)--TORUNROBSIMPREPROCESSOR FUNCTION

(INITDRVR)--T0RUNROBSIMSYSTEMDEFINITIONFUNCTION

(SIMDRVR)--T0RUNROBSIMSIMULATIONANALYSISTOOLSFUNCTION

(POSTDRg"R)--TORUNROBSIMPOSTPROCESSOR FUNCTION

WHICH:POSTDRVR

DO YOU WISH (i) TERMINAL OR (2) HARDCOPY PLOTTING?

ENTER INTEGER: 2

Previous logical name assignment replaced

Previous logical name assignment replaced

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING POSTPROCESSING FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

i0

ii

14

15

16

17

18

19

20

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED 0UTPIIrUNIT

SIMULATION INPUT FILE

SIMULATION 0[YrPUT FILE

ACX_JATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAMOPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONE_0L SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE 0UTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOCAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<CR>

SELECT MODE OF OPERATION DESIRED

MODE

i

2

3

4

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

-_......... A-193
o

1

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE :[ROBDIR] PLANDET. SYS

PLNDET. SYS

SYSTEM DATA FILE HAS BEEN READ

ALL COMMON BLOCKS ARE LOADED

ENTER FILENAME OF SIMULATION OUTPUT FILE

WHICH CORRESPONDS TO THE REQUESTED

SIMULATION INPUT FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE :[ROBDIR] PLANSIM° SOF

PLANAR. SOF

ENTER RETURN TO BEGIN MOTION

<CR >

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

<CR>

*** HARD COPY ***

ENTER ".PIC" FILE NAME PREFIX

(<CR>-NONE) :PLNDETI

FILE "PL_mETI.PIC" OPENED

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXITING FROM POST PROCESSING FUNCTION

.. _A_'194
CJJI:I_f_NT_ _ 1 I° 005 _TI:_NVEL_RTI._

.JNT1 10. '10

41.

Figure A-32. - Postprocessor motion replay display at t : 1 second.

A-195
MARTIN /_fAR/ET"TA

"I"J:MEI_EC:3 - 2. 008 ,.JIOZNT TI:_qVEL 2rl"I:ITU5

,.I'4T1 -,1. SB -4

,.,NT2 90. 00 100

! I

I

t *

i

!

t

L

i

I

!

I

I

Figure A-33. - Postprocessor motion replay display at t = 2 second.

A-196
DE POOR QU_L|Ty

h"/A R TIN /I/IA R I E TTA

,JO:T..N'TTI=_IVEL_RTt.JS

,JN'r t -,6_ 06 1

I

1

I

i

I

I

i

I

Figure A-34. - Postprocessor motion replay display at t = 3 second.
Simulation vs HardwareMotion Replay Procedure

In the postprocessor function there resides another option that provides

a replay of the robotic system motion produced during the requlrements/slmulation analysis tools function versus the actual motion that occurred during the

corresponding hardware run. The advantage of this option is the replay of the

requirements or simulation graphics for a quicker display of the motion that

occurred in the prior processor run, and the matching of hardware Joint theta

values for simulation validation. A graphics package shows the superimposed

motion. During this option, the user is prompted for the system geometry

('.SYS') file to be used for display, the name of the file containing the data

generated during the analysis tools function execution ('.SOF') and the name of

the hardware file ('.THT') containing Joint theta values for each time step.

The user input for the system geometry to display is given by:

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANDET.SYS

and, the corresponding simulation output file to replay is specified with:

ENTER FILENAME OF SIMULATION OUTPUT FILE

WHICH CORRESPONDS TO THE REQUESTED

SIMULATION INPUT FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE:[ROBDIR]PLANSIM. SOF

and the hardware joint angles file to use should be input at:

ENTER FILENAME OF HARDWARE THETA INPUT DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CANNOT EXCEED 40

EXAMPLE - ROBDEVlCE:[ROBDIR]PLANAR.THT

The graphics robotic arms, environment and load object data blocks will be

used directly to display the Evans and Sutherland picture. The graphics system

is displayed in the initialized state. The postprocessing data file and hardware theta file are read for each time step to obtain the joint displacements

for hardware and simulation, and then the displacements are read at each time

step to update the system motion detailed. A comparison of the hardware and

simulation joint theta values is observed. The real hardware motion is defined

by a spllne displayed in the graphics; it represents the theta values desired

of the simulation. The error in the joint angles may be considered as the angular difference in the centerllne of each simulated graphics llnk and the redline projection of that hardware theta value. In concluding, all data files

are closed, and the display is terminated.

.... .. A-198
The display is scaled with the stored COMMON variable, system span, that

was chosen while creating the robotic system scenario during the system definition function. The simulation Joint positions and orientations, along with the

actual joint hardware translation position vectors and the rotation matrices

(from Joint coordinate systems to the inertial system), are loaded by an internal program method for hardware and simulation, in turn. The form of the graphics picture output is bordered on the right with columns showing the current

processing time joint angles (degrees) in column 1 and the percent of the maximum displacement permissible (that is presently traversed) for each joint of

each arm, in column 2. The current simulation processing time is accrued at

the top of the display, and the run title and Martin Marietta logo printed. In

the update mode, the environment and the arm bases displayed are constant and

therefore not changed.

Each individual Joint theta value is read from the hardware control theta

values file for each simulation time step. There is a limit of one theta signal value for each joint that can be read per step. A theta value best estimation with time is accomplished through linear interpolation.

The hardware theta file is created through execution of a liaison program

utility. This independent program converts hardware theta (or joint control

voltage) files directly written from execution of the case-select 3-11nk planar

arm hardware designed and built by Martin Marietta Denver Aerospace and used

for preliminary validation of the ROBSIM implementation, to a single timetagged file formatted for use by the ROBSIM program. In the case of the hardware control voltage output file, the converted data file may be employed by

the response simulation driver. The reformatted hardware motion theta value

file is necessary, however, for the hardware vs simulation motion postprocessing option. For a user outline of the convert hardware extension, see the subsection entitled Running the hardware conversion program.

Load object grasp and release commands are preprogrammed and read from the

simulation output file. Such actions are designated for performance at a particular simulation time step, and are affiliated with a particular load object

in the system scenario. The SOF includes a load flag to signify the grasp or

release time-tagged events.

During grasping an object, the program adds the load mass properties to

that of the arm end-effector to simulate a load object assumed at the robot

tool. This procedure first checks to see that the arm is not already holding

a load object or that another arm is not holding the desired load object. If

these conditions are satisfied, the vector from the tool origin to the load

center of gravity (in the .tool coordinate system) is calculated, as well as the

inertia matrix of the load in the tool coordinate system. The load mass properties are combined with those of the tool, and stored in tool variables. Here

it is assumed that the arm is in a position that would enable it to grasp the

load object, and that the load object will not slip after being held and moved

by the arm. It is also assumed that the tool is centered about the object being grasped so no adjustments need to be made while the arm is grasping the

load object.

A-199

• /
.L

The arm simulates releasing a load object by resetting the tool mass properties and updating the load object location and orientation. It checks if

the arm is holding an object that it can release. If this is the case, the

tool mass properties (mass, center of gravity, and inertia matrix) are reset

to the values they were assigned before picking up the load object, and the

load location and orientation are calculated for the place the load was set

down. It is assumed that the object will stay where released.

As a beginning step, the user signifies the start of dynamic motion by depressing the RETURN key:

ENTER RETURN TO BEGIN MOTION

During the playback, the user will be allowed the use of an Evans and

Sutherland extended function key reserved for cessation of system playback motion. While extended switch number 0 is activated, simulation playback time

is halted and the user is allowed the freedom to change the translational, rotational and zoom perspectives of the displayed picture through movement of the

E&S extended analog dials. When analysis in this manner is complete, depressing the same function key number 0 resumes playback motion and simulation time

continues updating. A light indicator in the function key is used to inform

the user of the key status; when lighted, the perspective viewing is in operation.

After the graphics execution is complete the user encounters:

ENTER RETURN TO TERMINATE GRAPHICS AND coNTINUE

At completion of motion replay, the user is asked whether a hardcopy

printout meta-file should be written for regeneration on the Hewlett-Packard

x-y plotter. If it is wished tO create a paper copy of the final graphics

display, the user should input a file name prefix for the answer to the hardcopy question, otherwise RETURN. The file prefix will be appended with '.PIC'

and saved in the user directory. For instructions on exercising the meta-file

output routine, see the notes to this effect in the user's guide introduction.

In summary, during the mot&on graphics capability of this postprocessing

option, a replay of the simulation motion is apparent with the movement of the

designed robot graphics, and lines are displayed to represent the theoretical

motions for each link. The value of the difference in the simulation thetas

and hardware thetas is useful in the correlation analysis of the simulation motion with the actual corresponding hardware motion. The current simulation

joint angles are output for each processing time step.

Sample run. - The next pages are provided as an example (Example A-12)

that implements the simulation vs hardware option. Refer _o Figure A-35 for a

visual representation of the simulation vs hardware motion display.

A-200

/
Example A-12

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING POST PROCESSING FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

10

11

14

15

16

17

18

19

20

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED OUTPUT UNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR pARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAMS OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<CR>

SELECT MODE OF OPERATION DESIRED

MODE

1

2

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBP,/RY)

ENTER FILENAME OF SYSTEM DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVlCE:[ROBDIR]PLANDET.SYS

PLNDET.SYS

A-201
SYSTEM DATA FILE HAS BEEN READ

ALL COMMON BLOCKS ARE LOADED

ENTER FILENAME OF SIMULATION OUTPUT FILE

WHICH CORRESPONDS TO THE REQUESTED

SIMULATION INPUT FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE :[ROBDIE]PLANSIM.SOF

PLANAR. SOF

ENTER FILENAME OF HARDWARE THETA INPUT DATA FILE

THE TOTAL NUMBER OF CHARACTERS IN FILENAME

CAN NOT EXCEED 40

EXAMPLE - ROBDEVICE: [ROBDIR ]PLANAR. THT

PLANAR2. THT

ENTER RETURN TO BEGIN MOTION

<CR>

ENTER RETURN TO TERMINATE GRAPHICS AND CONTINUE

<CR>

*** HARD COPY ***

ENTER ".PIC" FILE NAME PREFIX

(<CR)'NONE) :PLNDET4

FILE "PLNDET4.PIC" OPENED

SELECT MODE OF OPERATION DESIRED

MODE

1

2

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXITING FROM POST PROCESSING FUNCTION

A-202
ORIGINAL PAGE IS

OF. POOR QUALITY

/ff A R TIN /_A RIEI"TA

to. 4e

J,rr2 ,41. 7e

i

Figure A-35. - Postprocessor hardware vs simulation motion at t = i second.

• A-203 ..

°'

,' ..'
Runnin G the hardware conver,si0n program. - This is a description of the

convert hardware program developed for converting the specific Martin Marietta

Denver Aerospace planar arm output to a format construction used by the ROBSIM

voltage or theta value input routines.

After typing RUN CNVTHRDW, the user is given the option for the conversion

program operation to be applied. The prompt answer for this mode should be

chosen as :

WHAT TYPE OF HARDWARE DATA DO YOU WISH TO CONVERT?

1 FOR HARDWARE CONTROL SIGNAL FILE

2 FOR HARDWARE THETA FILE

The successive input deliberations are described in the following sequence

of entries. They are:

ENTER START TIME FOR TIME TAGGING OF HARDWARE FILE

ENTER STOP TIME FOR TIME TAGGING HARDWARE FILE

and, the time step size (it should match the robotic simulation program processlng step size):

ENTER STEP SIZE (A REAL NUMBER)

Then, the number of arms worth of hardware data in the file to be converted and the available number of hardware voltage or theta files worth of

joint data for each arm are entered at:

HOWMANY ARMS WORTH OF HARDWARE DATA?

and, if theta conversion was opted:

HOW MANY FILES OF HARDWARE JOINT THETA

VALUES FOR ARM i?

HOW MANY FILES OF HARDWARE JOINT VOLTAGE

VALUES FOR ARM 2?

(etc., for each existent arm)

else, if voltage conversion was chosen:

HOWMANYFILES OF HARDWARE JOINT VOLTAGE

VALUES FOR ARM I?

HOWMANY FILES OF HARDWARE JOINT VOLTAGE

VALUES FOR ARM 2?

(etc., for each existent arm)

" A-204
The prompts are then designed for the input of the file names of the hardware voltage or theta files to be read. For each arm, the user responds to:

ENTER NAME OF FILE WITH HARDWARE THETA VALUES

FOR JOINT 1

ENTER NAME OF FILE WITH HARDWARE THETA VALUES

FOR JOINT 2

(etc., for each joint)

or, for the interim voltage file saved from the hardware:

ENTER NAME OF FILE WITH HARDWARE VOLTAGE VALUES

FOR JOINT 1

ENTER NAME OF FILE WITH HARDWARE VOLTAGE VALUES

FOR JOINT 2

(etc., for each joint)

For the output storage of the converted data that will be an input to the

postprocessing (if theta values), or analysis tools (if voltage values), function, answer:

ENTER NAME OF HARDWARE [theta or voltage] FILE TO WRITE

The control signal files generated are by convention usually given the appendage '.VLT' (for voltage), and for the theta signal files generated it is

customary to use '.THT' (for theta). A series of files are opened for reading

or writing beginning at one addressed logical unit number, for each of these

three file types, and incrementing the unitnumber value for each joint file

needed. - ..

For the planar arm, the hardware data files are either angular position

data or 12-bit DAC data. The position value is a 12-blt number corresponding

to an angle between 0 and 359.999999999. The position data are converted from

the 12-bit RTD data to an angle between + 90 degrees. The DAC data are in the

form of a 12-bit two's complement number? The DAC data are converted to a real

number representing a voltage between _ i0 volts. A file is generated from the

planar arm output module; this file contains a header (giving information about

the data) followed by three columns of data.

For the angular position data, the columns are:

i. RAW DATA VALUE

ii. ANGLE IN DEGREES

lii. ANGLE IN RADIANS

For the DAC data the columns are:

i. RAW DATA V_UE

il. CONVERTED VALUE BETWEEN + 2047.

iii. VOLTAGE IN VOLTS

A-205
The format used by the convert hardware program interfaces with a hardware

output file Of this type. The hardware conversion utility reads the data that

in this case are speclflc to the Martin Marietta 3-11nk planar arm, and extracts the column of information needed in the ROBSIM program. This routine

will need to be modified to fit the particular Installatlon hardware system

program used to create the output data files (for both RTD data and DAC data).

Parameter versus Parameter Plot Package Procedure

The ROBSIM parameter plottlng option plots the contents of one of several

choices for plot package formats on a Hewlett-Fackard x-y plotter or a VAX

VT125 graphics port. It uses exclusively the DI3000 plot package of Fortrancallable routines. Called when the parameter versus parameter plotting option

is chosen during postprocessing, this option requests the user select one of

seven predesigned plot file types that are written at user's discretion during

the requirements or simulation analysis tools function:

i) The brief package;

2) The end-effector package;

3) The joint positions package;

4) The reaction forces package;

5) The combination of above four packages;

6) The PLD control package;

7) The force/torque control package.

A flag input during the analysis tools function specifying the plot file

type is saved in the header information for each plot file written. By extracting the header information, it is possible for the program to inform the

user of the format for the chosen plot file and to print the header information

about the type of values contained in the file at the user's terminal.

First, the user is asked to terminate the plot routine if the appropriate

device setup commands have not been issued (a 1 entered here will cause an exit

from the current plot process). Depressing the RETURN key will continue the

plotting optlpn. A series of term/nal inputs while performing the postprocesslng plot option then needs to be responded to in the following manner,

respectively.

A-206
The file name of the existing plot file should be input for:

ENTER NAME OF FILE CONTAINING DATA FOR PLOTS

MAX OF 40 CHARACTERS EXAMPLE - ROBDEVICE: [ROBDIR]PLANSIM.PLT

and, the user option for automatic scaling (the scale to be determined within

the program) or to input scaling information from the terminal is given by:

DO YOU WISH AUTOMATIC SCALING?

ENTER Y FOR YES

ENTER N FOR NO

The user will then be asked for the series• of (arm, joint, parameter)

value sets describing the curves to be displayed on this plot. The maximum

number of curves that can be displayed on one plot is equal to the (number of

arms)*(number of joints)*(number of data parameters) saved in the plot file.

The values desired for plotting should be characterized as shown here and

prompted for each curve desired.

The actual array of arms chosen by the user for plotting parameters is

loaded with:

THERE ARE K ARMS IN THIS SYSTEM

ARM 1 HAS N JOINTS

ARM 2 HAS N1 JOINTS

(etc., for each existent arm)

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT. 0 WHEN FINISHED ENTERING ALL PLOTS

TO BE DRAWN FROM THIS PLOT FILE.

and, for the actual array of joints for plotting these parameters:

FOR WHICH JOINT OF ARM J WOULD YOU LIKE TO PLOT VALUES?

FOR END-EFFECTOR VALUES,ENTER VALUE THAT IS

ONE MORE THAN THE NUMBER OF JOINTS.

IF NOT A JOINT OR END-EFFECTOR VALUE, ENTER ZERO.

Then, the generic format for the parameter header output and question dealing

with particular choice of parameter value to plot, corresponding to the aforementioned (arm,joint) pair, appears as:

THERE ARE L Y VALUES AVAILABLE FOR PLOTTING.

ENTRY 1 IS [the first parameter name]

ENTRY 2 IS [the second parameter name]

(etc.)

ENTER Y VALUE TO BE PLOTTED

A-207
Note that there is a maximumlnumber of allowable robot arms, a maximum

number of allowable links per arm, a maximum number of curves per plot, and a

maximum number of Y array plot idata parameters allowed to be written to any one

plot file. These default values are saved in a modifiable file. All of the

curves will be plotted against the independent X variable, time.

The next inquiries are used;for scaling the axes of the plot. If the user

has opted for the interactive definition mode of scaling the plot, as opposed

to automatic scaling, the succeeding prompts will be to input the X array m/nlmum and maximum values to use for scaling the x-axis and the Y array minimum

and maximum values to use for s_allng the y-axis. The user responds to:

INPUT HORIZONTAL DATA MIN AND MAX VALUES

ENTER AS REAL NUMBERS SEPARATEDBY A COMMA

INPUT VERTICAL DATA MIN AND MAX VALUES

ENTER AS REAL NUMBERS SEPARATED BY A COMMA

The next inquiry deals with the necessary step size interval at which to

output tic marks on the x-axis and y-axis (a real number, in plot units):

INPUT HORIZONTAL AND VERTICAL TICK MARK

INCREMENTS, IN PLOT UNITS

ENTER AS PEAL NUMBERS SEPARATED BY A COMMA

Next, the entries represent the interval for the frequency while labeling

the x and y axes tic marks. The step sizes to be used for the x-axls and the

y-axls tic mark labels should b_ specified as the real number plot interval at

which they should have value assignments (in plot units). Answer:

LABEL X-AXIS TICKS EVERY HOW MANY

TICK MARK INCREMENTS, IN PLOT UNITS

ENTER AS AREAL NUMBER

and

LABEL Y-AXIS TICS EVERY HOW MANY

TICK MARK INCREMENTS, IN PLOT UNITS

ENTER AS A REAL NUMBER

In conclusion, the plot title and axes labeling text are pursued.

questions encountered are:

ENTER DESIRED PLOT TITLE

MAXIMUM 0F 40 CHARACTERS

*** LAST CHARACTER MUST BE "$" ***

The

A-208
and

ENTER DESIRED HORIZONTAL (X) AXIS LABEL

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "$" ***

and

ENTER DESIRED VERTICAL (Y) AXIS LABEL

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "$" ***

A symbol dollar sign should be included at the end of each typed, title and axes

labels input, signifying end of the character string title or label. It is

needed for centering the text and, if omitted, the characters will be leftjustified at the output location.

Before each curve displayed during plotting, the user will be asked for a

decision as to plotting the curve in a continuous or point plot fashion:

ENTER 1 FOR CONTINUOUS CURVE

ENTER 2 TO PLOT AS POINTS

At this point the curves are output to the peripheral device for plotting.

The x and y axes are drawn, and an appropriate scale by which to label the axes

is chosen. Input to the scaling routine are the number of intervals into which

each axis should be divided (this is hard-coded to i0 sections on the x-axls

and 7 sections on the y-axls for the automatic scaling mode) and the flag selecting automatic or specific scaling. The exponent of the scale base, the tic

mark spacing, or step size, and the minimum tic mark values are computed by the

same process for both automatic and user-specified scaling. The minimum value,

XI, to be used for the scale, and DX, the scale increment between tic marks,

are chosen to satisfy the following constraints:

A) Xl(initial x-axis tic value) .LE. XMIN(the x minimum)

B) [XI + ANX(the number of axis tic mark intervals) *DX(the step size)]

•GE. XMAX(the x maximum)

C) DX - i, 2, 4, 5, or 8 times a power of i0.

D) XI is an integral multiple of DX

E) ANX*DX is a minimum

In searching the file for maximum and minimum values to use in scaling the

axes of the plot, the whole plot file is read by a routine, and the total X and

Y minimum and maximum are found for the set of parameters the user has prechosen for plotting. The values for the variables not being plotted are read

into dummy arrays. If the minimum and maximum for an axis are both found to be

#

A-209
zero, a value of -0.001 is assigned to the minimum and 0.001 assigned to the

maximum. An attempt to center the curves on the plot involves taking i0 percent of the range of the values and subtracting it from the true parameter mlnimum and adding it to the true parameter maximum.

The brief plot package. - Th/s plot file can be written by the requirements or simulation analysis tools function. If the user chooses the brief

plot package format for plotting, the parameters available for display are the

basic robotic state values:

Joint angular displacements,

Joint angular velocities,

Joint angular accelerations,

Drive torques.

The header record on this file contains information for printout to the

user's terminal that will allow a view of the data array order of the plot

file. The text header appears as:

ENTRY 1 IS THE THETA VALUE

ENTRY 2 IS THE THETA DOT VALUE

ENTRY 3 IS THE THETA DOUBLE DOT VALUE

ENTRY 4 IS THE ACTUATOR TORQUE VALUE (for requirements)

ENTRY 1 IS THE THETA VALUE

ENTRY 2 IS THE THETA DOT VALUE

ENTRY 3 IS THE THETA DOUBLE DOT VALUE

ENTRY 4 IS THE DRIVE TORQUE VALUE (for response simulation)

The end-effector plot packase. - This plot file can be written by the requirements or simulation analysis tools function. The end-effector package

concerns the robot tool specification and includes:

End-effector translational position,

Force vector at the end-effector,

Torque vector at the end-effector.

This plot package description header record Will print as:

ENTRY 1 IS THE END-EFF. X POSITION

ENTRY 2 IS THE END-EFF. Y POSITION

ENTRY 3 IS THE END-EFF. Z POSITION

ENTRY 4 IS THE END-EFF. X FORCE

ENTRY 5 IS THE END-EFF. Y FORCE

ENTRY 6 IS THE END-EFF. Z FORCE

ENTRY 7 IS THE END-EFF. X TORQUE

ENTRY 8 IS THE END-EFF. Y TORQUE

ENTRY 9 IS THE END-EFF. Z TORQUE

A-210
The Joint positions plot package. - This plot file can be written by the

requirements or simulation analysis tools function. This plot file version entails only:

• Translational Jolnt positions.

The text header that will be written to the terminal to assist the user in

making a decision of the parameter(s) for plot, will be:

ENTRY 1 IS THE JOINT X POSITION VALUE

ENTRY 2 IS THE JOINT Y POSITION VALUE

ENTRY 3 IS THE JOINT Z POSITION VALUE

The reaction forces plot package. - This plot file can be written by the

requirements or simulation analysis tools function. The reaction forces plot

file is portrayed as:

Force joint vectors,

Torque joint vectors.

The header description encountered is:

ENTRY 1 IS THE JOINT FORCE X VALUE

ENTRY 2 IS THE JOINT FORCE Y VALUE

ENTRY 3 IS THE JOINT FORCE Z VALUE

ENTRY 4 IS THE JOINT TORQUE X VALUE

ENTRY 5 IS THE JOINT TORQUE Y VALUE

ENTRY6 IS THE JOINT TORQUE Z VALUE

The combination plot package. - This plot file can be written by the requirements or simulation analysis tools function. It writes all of the parameters in all of the four packages explained above:

Joint angular displacements,

Translational Joint positions,

Joint angular velocities,

Joint angular accelerations,

Force joint vectors,

Torque joint vectors,

Drive torques,

End-effector translational position,

Force vector at the end-effector,

Torque vector at the end-effector.

The header record contains:

ENTRY 1 IS THE THETA VALUE

ENTRY 2 IS THE JOINT X FOS. VALUE

ENTRY 3 IS THE JOINT Y POS. VALUE

ENTRY 4 IS THE JOINT Z POS. VALUE

ENTRY 5 IS THE THETA DOT VALUE

ENTRY 6 IS THE THETA DOUBLE DOT VALUE

ENTRY 7 IS THE JOINT X FORCE VALUE

A-211
ENTRY 8 IS THE JOINT Y FORCE VALUE

ENTRY 9 IS THE JOINT Z FORCE VALUE

ENTRY 10 IS THE JOINT X TORQUE VALUE

ENTRY Ii IS THE JOINT Y TORQUE VALUE

ENTRY 12 IS THE JOINT Z TORQUE VALUE

ENTRY 13 IS THE ACTUATOR TORQUE VALUE (for requirements)

Or

ENTRY 13 IS THE DRIVE TORQUE VALUE (for response slmulation)

ENTRY 14 IS THE END-EFF. X POSITION

ENTRY 15 IS THE END-EFF. Y POSITION

ENTRY 16 IS THE END-EFF. Z POSITION

ENTRY 17 IS THE END-EFF. X FORCE

ENTRY 18 IS THE END-EFF. Y FORCE

ENTRY 19 IS THE END-EFF. Z FORCE

ENTRY 20 IS THE END-EFF. X TORQUE

ENTRY 21 IS THE END-EFF. Y TORQUE

ENTRY 22 IS THE END-EFF. Z TORQUE

The PID control plot package. - This plot file can be written by the simulation analysis tools function only. The format is:

Amplifier voltages,

Joint reference positions,

Joint position errors,

End-effector reference position,

End-effector position error.

In describing the PID control effects, the header record plot parameter

choices are as follows:

ENTRY 1 IS THE AMPLIFIER VOLTAGE VALUE

ENTRY 2 IS THE JOINT REFERENCE ANGLE

ENTRY 3 IS THE JOINT POSITION ERROR

ENTRY 4 IS THE END-EFF. REF. X POSITION

ENTRY 5 IS THE END-EFF. REF. Y POSITION

ENTRY 6 IS THE END-EFF. REF. Z POSITION

ENTRY 7 IS THE END-EFF. X POS. ERROR

ENTRY 8 IS THE END-EFF. Y POS. ERROR

ENTRY 9 IS THE END-EFF. Z POS. ERROR

ENTRY i0 IS END-EFF. X ROT. POS. ERROR

ENTRY ii IS END-EFF. Y ROT. POS. ERROR

ENTRY 12 IS END-EFF. Z ROT. POS. ERROR

The force/torque plot package. - This plot file can be written by the the

simulation analysis tools function only. The force/torque references are llmited to the list of variables:

Amplifier voltages,

Reference position,

Reference force,

End-effector translational posltlon,

Force vector at the end-effector,

Torque vector at the end-effector,

Error in position,

Error in force/torque.

A-212
The actual arrangement of the parameters for plot consideration with this

file are:

ENTRY i IS THE AMPLIFIER VOLTAGE VALUE

ENTRY 2 IS THE REF. X POSITION VALUE

ENTRY 3 IS THE REF. Y POSITION VALUE

ENTRY 4 IS THE REF. Z POSITION VALUE

ENTRY 5 IS THE USER GIVEN REFo X FORCE

ENTRY 6 IS THE USER GIVEN REF. Y FORCE

ENTRY 7 IS THE USER GIVEN REF. Z FORCE

ENTRY 8 IS REF. FORCE ROT. VECT. X

ENTRY 9 IS REF. FORCE ROT. VECT. Y

ENTRY I0 IS REF. FORCE ROT. VECT. Z

ENTRY ii IS THE END-EFF. X POSITION

ENTRY 12 IS THE END-EFF. Y POSITION

ENTRY 13 IS THE END-EFF. Z POSITION

ENTRY 14 IS THE END-EFF. X FORCE

ENTRY 15 IS THE END-EFF. Y FORCE

ENTRY 16 IS THE END-EFF. Z FORCE

ENTRY 17 IS THE END-EFF. X TORQUE

ENTRY 18 IS THE END-EFF. Y TORQUE

ENTRY 19 IS THE END-EFF. Z TORQUE

ENTRY 20 IS THE ERROR IN X POSITION

ENTRY 21 IS THE ERROR IN Y POSITION

ENTRY 22 IS THE ERROR IN Z POSITION

ENTRY 23 IS ERROR IN POS. X ROT. VALUE

ENTRY 24 IS ERROR IN POS. Y ROT. VALUE

ENTRY 25 IS ERROR IN POS. Z ROT. VALUE

ENTRY 26 IS THE ERROR IN X FORCE/TORQUE

ENTRY 27 IS THE ERROR IN Y FORCE/TORQUE

ENTRY 28 IS THE ERROR IN Z FORCE/TORQUE

ENTRY 29 IS ERROR IN X ROT. FORCE/TORQUE

ENTRY 30 IS ERROR IN Y ROT. FORCE/TORQUE

ENTRY 31 IS ERROR IN g ROT. FORCE/TORQUE

Sample run. - Samples of several of these plot types (Example A-13) are

included, along with a printout of the runtlme prompts that generated them.

Figures A-36 through A-38 are the plots obtained from the interactive run.

A-213

/ ;
Example A-13

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING POST PROCESSING FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

i0

11

14

15

16

17

18

19

2O

21

22

23

24

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED OUTPUT UNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

PROGRAMS OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOGICAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<CA>

SELECT MODE OF OPERATION DESIRED

MODE

1

2

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

THIS PROGRAM USES THE DI3000 GRAPHICS SYSTEM

THE FOLLOWING SETUP PROCEDURES MUST HAVE BEEN

PERFORMED:

RUN THE COMMAND FILE FOR DI3000 SETUP:

@SYS DI:DI3000

FOR HP 7221 PLOTTING RUN COMMAND FILE:

KPSETUP

FOR VTI25 PLOTTING RUN COMMAND FILE:

VTSETUP

A-214

/
ENTER 1 TO TERMINATE PLOT SUBROUTINE IF THIS

HAS NOT BEEN DONE

ENTER RETURN TO CONTINUE

< CR>

ENTER NAME OF FILE CONTAINING DATA FOR PLOTS

MAX OF 40 CHARACTERS EXAMPLE - ROBDEVICE:[ROBDIR]PLANSIM.PLT

PLNDETS.PLT

Y

DO YOU WISH AUTOMATIC SCALING?

ENTER Y FOR YES

ENTER N FOR NO

THERE ARE i ARMS IN THIS SYSTEM

ARM 1 HAS 2 JOINTS

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

TO BE DRAWN FROM THIS PLOT FILE.

FOR WHICH JOINT OF ARM 1 WOULD YOU LIKE TO PLOT VALUES?

FOR END-EFFECTOR VALUES,ENTER VALUE THAT IS

ONE MORE THAN THE NUMBER OF JOINTS.

IF NOT A JOINT OR END-EFFECTOR VALUE, ENTER ZERO.

THERE ARE 22 Y VALUES AVAILABLE FOR PLOTTING.

ENTRY 1 IS THE THETA VALUE

ENTRY 2 IS THE JOINT X IOS. VALUE

ENTRY 3 IS THE JOINT Y POS. VALUE

ENTRY 4 IS THE JOINT Z IOS. VALUE

ENTRY 5 IS THE THETA DOT VALUE

ENTRY 6 IS THE THETA DOUBLE DOT VALUE

ENTRY 7 IS THE JOINT X FORCE VALUE

ENTRY 8 IS THE JOINT Y FORCE VALUE

ENTRY 9 IS THE JOINT Z FORCE VALUE

ENTRY i0 IS THE JOINT X TORQUE VALUE

ENTRY Ii IS THE JOINT Y TORQUE VALUE

ENTRY 12 IS THE JOINT Z TORQUE VALUE

ENTRY 13 IS THE DRIVE TORQUE VALUE

ENTRY 14 IS THE END-EFF. X POSITION

ENTRY 15 IS THE END-EFF. Y POSITION

ENTRY 16 IS THE END-EFF. Z POSITION

ENTRY 17 IS THE END-EFF. X FORCE

ENTRY 18 IS THE END-EFF. Y FORCE

ENTRY 19 IS THE END-EFF. Z FORCE

ENTRY 20 IS THE END-EFF. X TORQUE

ENTRY 21 IS THE END-EFF. Y TORQUE

ENTRY 22 IS THE END-EFF. Z TORQUE

A-215
13

ENTER Y VALUE TO BE PLOTTED

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

TO BE DRAWN FROM THIS PLOT FILE.

FOR WHICH JOINT OF ARM 1 WOULD YOU LIKE TO PLOT VALUES?

FOR END-EFFECTOR VALUES,ENTER VALUE THAT IS

ONE MORE THAN THE NUMBER OF JOINTS.

IF NOT A JOINT OR END-EFFECTOR VALUE, ENTER ZERO.

THERE ARE 22 Y VALUES AVAILABLE FOR PLOTTING.

ENTRY I IS THE THETA VALUE

ENTRY 2 IS THE JOINT X POS. VALUE

ENTRY 3 IS THE JOINT Y POS. VALUE

ENTRY 4 IS THE JOINT Z POS. VALUE

ENTRY 5 IS THE THETA DOT VALUE

ENTRY 6 IS THE THETA DOUBLE DOT VALUE

ENTRY 7 IS THE JOINT X FORCE VALUE

ENTRY 8 IS THE JOINT Y FORCE VALUE

ENTRY 9 IS THE JOINT Z FORCE VALUE

ENTRY i0 IS THE JOINT X TORQUE VALUE

ENTRY ii IS THE JOINT Y TORQUE VALUE

ENTRY 12 IS THE JOINT Z TORQUE VALUE

ENTRY 13 IS THE DRIVE TORQUE VALUE

ENTRY 14 IS THE END-EFF. X POSITION

ENTRY 15 IS THE END-EFF. Y POSITION

ENTRY 16 IS THE END-EFF. Z POSITION

ENTRY 17 IS THE END-EFF. X FORCE

ENTRY 18 IS THE END-EFF. Y FORCE

ENTRY 19 IS THE END-EFF. Z FORCE

ENTRY 20 IS THE END-EFF. X TORQUE

ENTRY 21 IS THE END-EFF. Y TORQUE

ENTRY 22 IS THE END-EFF. Z TORQUE

ENTER Y VALUE TO BE PLOTTED

13

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

TO BE DRAWN FROM THIS PLOT FILE.

ENTER DESIRED PLOT TITLE

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "$" ***

TIME VS. JOINT DRIVE TORQUES$

A-216
ENTER DESIRED HORIZONTAL (X) AXIS LABEL

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "_" ***

TL_Z_.

ENTER DESIRED VERTICAL (Y) AXIS LABEL

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "$" ***

JOINT 1 AND JOINT 2 DRIVE TORQUES$

***** DI-3000 ..- HP 7221 DEVICE DRIVER  

Please enter paper size (1 OR 2)

(1) --- 11 BY 8 1/2 INCHES (DEFAULT)

(2) --- 16 1/2 BY 11 INCHES

1

Please enter pen velocity (i, 2, or 3)

(1) --- i0 CM/SEC

(2) --- 20 CM/SEC

(3) --- 36 CMISEC (DEFAULT)

2

PLEASE ENTER PAPER TYPE (i OR 2)

(i) --- SINGLE SHEET - MANUAL FEED

(2) --- CONTINUOUS FEED ROLL (7221S ONLY)

FOR SINGLE SHEET YOU WILL BE PROMPTED TO ENTER A

NEW SHEET OF PAPER AFTER EACH PICTURE.

FOR CONTINUOUS FEED THE PAPER WILL ADVANCEAUTOMATICALLY AFTER EACH PICTURE

1

Ready for graphics. Please turn on plotter and

insert paper for first plot.

Hit [RETURN] when ready to continue

<CR>

ENTER 1 FOR CONTINUOUS CURVE

ENTER 2 TO PLOT AS POINTS

Pause requested. Hit [RETURN] to continue.

<CR>

1

ENTER 1 FOR CONTINUOUS CURVE

ENTER 2 TO PLOT AS POINTS

• A-217
Pause requested. Hit

<CR>

Pause requested, Hit

<CR>

[RETURN] to continue.

[RE_RN] Co conClnue.

Normal termination. Please remove plot.

/

J

SELECT MODE OF OPERATION DESIRED

MODE

1

2

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

•TERMINATE POST PROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

THIS PROGRAM USES THE DI3000 GRAPHICS SYSTEM

THE FOLLOWING SETUP PROCEDURES MUST HAVE BEEN

PERFORMED:

RUN THE COMMAND FILE FOR DI3000 SETUP:

@SYS_DI:DI3000

FOR HP 7221 PLOTTING RUN COMMAND FILE:

RPSETUP

FOR VTI25 PLOTTING RUN COMMAND FILE:

VTSETUP

ENTER 1 TO TERMINATE PLOT SUBROUTINE IF THIS

HAS NOT BEEN DONE

ENTER RETURN TO CONTINUE

<CR>

ENTER NAME OF FILE CONTAINING DATA FOR PLOTS

MAX OF 40 CHARACTERS EXAMPLE - ROBDEVICE:[ROBDIR]PLANSIH.PLT

PLNDET6.PLT

DO YOU WISH AUTOMATIC SCALING?

ENTER Y FOR YES

ENTER N FOR NO

THERE ARE 1 ARMS IN THIS SYSTEM

ARM i HAS 2 JOINTS

1

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

..TOBE DRAWN FROM THIS PLOT FILE.

• i_

• : ' A-218

,"" .. •
1

FOR WHICH JOINT OF ARM 1 WOULD YOU LIKE TO PLOT VALUES?

FOR END-EFFECTOR VALUES,ENTER VALUE THAT IS

ONE MORE THAN THE NUMBER OF JOINTS.

IF NOT A JOINT OR END-EFFECTOR VALUE, ENTER ZERO.

THERE ARE 12 Y VALUES AVAILABLE FOR PLOTTING.

ENTRY i IS THE AMPLIFIER VOLTAGE VALUE

ENTRY 2 IS THE JOINT REFERENCE ANGLE

ENTRY 3 IS THE JOINT POSITION ERROR

ENTRY 4 IS THE END-EFF. REF. X POSITION

ENTRY 5 IS THE END-EFF. REF. Y POSITION

ENTRY 6 IS THE END-EFF. REF. Z POSITION

ENTRY 7 IS THE END-EFF. X POS. ERROR

ENTRY 8 IS THE END-EFF. Y POS. ERROR

ENTRY 9 IS THE END-EFF. Z POS. ERROR

ENTRY i0 IS END-EFF. X ROT. POS. ERROR

ENTRY ii IS END-EFF. Y ROT. POS. ERROR

ENTRY 12 IS END-EFF. Z ROT. POS. ERROR

2

ENTER Y VALUE TO BE PLOTTED

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

TO BE DRAWN FROM THIS PLOT FILE.

FOR WHICH JOINT OF ARM 1 WOULD YOU LIKE TO PLOT VALUES?

FOR END-EFFECTOR VALUES,ENTER VALUE THAT IS

ONE MORE THAN THE NUMBER OF JOINTS.

IF NOT A JOINT OR END-EFFECTOR VALUE, ENTER ZERO.

THERE ARE 12 Y VALUES AVAILABLE FOR PLOTTING.

ENTRY 1 IS THE AMPLIFIER VOLTAGE VALUE

ENTRY 2 IS THE JOINT REFERENCE ANGLE

ENTRY 3 IS THE JOINT POSITION ERROR

ENTRY 4 IS THE END-EFF. REF. X POSITION

ENTRY 5 IS THE END-EFF. REF. Y POSITION

ENTRY 6 IS THE END-EFF. REF. Z POSITION

ENTRY 7 IS THE END-EFF. X POS. ERROR

ENTRY 8 IS THE END-EFF. Y POS. ERROR

ENTRY 9 IS THE END-EFF. Z POS. ERROR

ENTRY i0 IS END-EFF. X ROT. POS. ERROR

ENTRY ii IS END-EFF. Y ROT. POS. ERROR

ENTRY 12 IS END-EFF. Z ROT. POS. ERROR

ENTER Y VALUE TO BE PLOTTED

A-219
FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

TO BE DRAWN FROM THIS PLOT FILE.

ENTER DESIRED PLOT TITLE

MAXIMUM OF 40 CHARACTERS

** * LAST CHARACTER MUST BE "$" ***

TIME VS. JOINT REF. ANGLE AND POS. ERR.$

ENTER DESIRED HORIZONTAL (X) AXIS LABEL

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "_" ***

TIMES

ENTER DESIRED VERTICAL (Y) AXIS LABEL

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "$" ***

JOINT i REF. ANGLE AND POS. ERRORS

***** DI-3000 ... HP 7221 DEVICE DRIVER  

Please enter paper size (i OR 2)

(i) --- Ii BY 8 1/2 INCHES (DEFAULT)

(2) --- 16 1/2 BY Ii INCHES

1

Please enter pen velocity (i, 2, or 3)

(1) --- 10 CM/SEC

(2) --- 20 CMISEC

(3) --- 36 CM/SEC (DEFAULT)

2

PLEASE ENTER PAPER TYPE (I OR 2)

(i) --- SINGLE SHEET - MANUAL FEED

(2) --- CONTINUOUS FEED ROLL (7221S ONLY)

FOR SINGLE SHEET YOU WILL BE PROMPTED TO ENTER A

NEW SHEET OF PAPER AFTER EACH PICTURE.

FOR CONTINUOUS FEED THE PAPER WILL ADVANCE AUTOMATICALLY AFTER EACH PICTURE

Ready for graphics. Please turn on plotter and

insert paper for first plot.

Hit RETURN I when ready to continue

<CR>

ENTER 1 FOR CONTINUOUS CURVE

ENTER 2 TO PLOT AS POINTS

Pause requested. Hit [RETURN] to continue.

< CR>

A-220
ENTER 1 FOR CONTINUOUS CURVE

ENTER 2 TO PLOT AS POINTS

1

Pause requested. :Hit [RETURN] to continue.

<CR>

Pause requested.:H1t [RETURN] to continue.

<CR>

<Normal termination. Please remove plot.

SELECT MODE OF OPERATION DESIRED

MODE

1

2

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

THIS PROGRAM USES THE DI3000 GRAPHICS SYSTEM

THE FOLLOWING SETUP PROCEDURES MUST HAVE BEEN

PERFORMED:

RUN THE COMMAND FILE FOR DI3000 SETUP:

@SYS_DI:DI3000

FOR HP 7221 PLOTTING RUN COMMAND FILE:

HPSETUP

FOR VTI25 PLOTTING RUN COMMAND FILE:

VTSETUP

ENTER 1 TO TERMINATE PLOT SUBROUTINE IF THIS

HAS NOT BEEN DONE

ENTER RETURN TO CONTINUE

<CR>

ENTER NAME OF FILE CONTAINING DATA FOR PLOTS

MAX OF 40 CHARACTERS EXAMPLE - ROBDEVICE:[ROBDIR]PLANSIM.PLT

PLNDET7.PLT

DO YOU WISH AUTOMATIC SCALING?

ENTER Y FOR YES

ENTER N FOR NO

THERE ARE 1 ARMS IN THIS SYSTEM

ARM " I HAS 2 JOINTS

A-221
1

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

TO BE DRAWN FROM THIS PLOT FILE.

FOR WHICH JOINT OF ARM i WOULD YOU LIKE TO PLOT VALUES?

FOR END-EFFECTOR VALUES,ENTER VALUE THAT IS

ONE MORE THAN THE NUMBER OF JOINTS.

IF NOT A JOINT OR END-EFFECTOR VALUE, ENTER ZERO.

THERE ARE 31 Y VALUES AVAILABLE FOR PLOTTING.

ENTRY I IS THE AMPLIFIER VOLTAGE VALUE

ENTRY 2 IS THE PEP. X POSITION VALUE

ENTRY 3 IS THE REF. Y POSITION VALUE

ENTRY 4 IS THE REF. Z POSITION VALUE

ENTRY 5 IS THE USER GIVEN REF. X FORCE

ENTRY 6 IS THE USER GIVEN REF. Y FORCE

ENTRY 7 IS THE USER GIVEN REF. Z FORCE

ENTRY 8 IS REF. FORCE ROT. VECT. X

ENTRY 9 IS REF. FORCE ROT. VECT. Y

ENTRY i0 IS REF. FORCE ROT. VECT. Z

ENTRY ii IS THE END EFF. X POSITION

ENTRY 12 IS THE END EFF. Y POSITION

ENTRY 13 IS THE END EFF. Z POSITION

ENTRY 14 IS THE END EFF. X FORCE

ENTRY 15 IS THE END EFF. Y FORCE

ENTRY 16 IS THE END EFF. Z FORCE

ENTRY 17 IS THE END EFF. X TORQUE

ENTRY 18 IS THE END EFF. Y TORQUE

ENTRY 19 IS THE END EFF. Z TORQUE

ENTRY 20 IS THE ERROR IN X POSITION

ENTRY 21 IS THE ERROR IN Y POSITION

ENTRY 22 IS THE ERROR IN Z POSITION

ENTRY 23 IS THE ERROR IN POS. X ROT. VALUE

ENTRY 24 IS THE ERROR IN POS. Y ROT. VALUE

ENTRY 25 IS THE ERROR IN POS. Z ROT. VALUE

ENTRY 26 IS THE ERROR IN X FORCE/TORQUE

ENTRY 27 IS THE ERROR IN Y FORCE/TORQUE

ENTRY 28 IS THE ERROR IN Z FORCE/TORQUE

ENTRY 29 IS THE ERROR IN X ROT. FORCE/TORQUE

ENTRY 30 IS THE ERROR IN Y ROT. FORCE/TORQUE

ENTRY 31 IS THE ERROR IN Z ROT. FORCE/TORQUE

ENTER Y VALUE TO BE PLOTTED

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

T0 BE DRAWN FROM THIS PLOT FILE.

A-222
0

FOR WHICH JOINT OF ARM 1 WOULD YOU LIKE TO PLOT VALUES?

FOR END-EFFECTOR VALUES,ENTER VALUE THAT IS

ONE MORE THAN THE NUMBER OF JOINTS.

IF NOT A JOINT OR END-EFFECTOR VALUE, ENTER ZERO.

THERE ARE 31 Y VALUES AVAILABLE FOR PLOTTINGENTRY 1 IS THE AMPLIFIER VOLTAGE VALUE

ENTRY 2 IS THE REF. X POSITION VALUE

ENTRY 3 IS THE REF. Y POSITION VALUE

ENTRY 4 IS THE REF. Z POSITION VALUE

ENTRY 5 IS THE USER GIVEN REF. X FORCE

ENTRY 6 IS THE USER GIVEN REF.-Y FORCE

ENTRY 7 IS THE USER GIVEN REF. Z FORCE

ENTRY 8 IS REF. FORCE ROT. VECT. X

ENTRY 9 IS REF. FORCE ROT. VECT. Y

ENTRY i0 IS REF. FORCE ROT. VECT. Z

ENTRY Ii IS THE END EFF. X POSITION

ENTRY 12 IS THE END EFF. Y POSITION

ENTRY 13 IS THE END EFF. Z POSITION

ENTRY 14 IS THE END EFF. X FORCE

ENTRY 15 IS THE END EFF. Y FORCE

ENTRY 16 IS THE END EFF. Z FORCE

ENTRY 17 IS THE END EFF. X TORQUE

ENTRY 18 IS THE END EFF. Y TORQUE

ENTRY 19 IS THE END EFF. Z TORQUE

ENTRY 20 IS THE ERROR IN X POSITION

ENTRY 21 IS THE ERROR IN Y POSITION

ENTRY 22 IS THE ERROR IN Z POSITION

ENTRY 23 IS THE ERROR IN POS. X ROT. VALUE

ENTRY 24 IS THE ERROR IN POS. Y ROT. VALUE

ENTRY 25 IS THE ERROR IN POS. Z ROT. VALUE

ENTRY 26 IS THE ERROR IN X FORCE/TORQUE

ENTRY 27 IS THE ERROR IN Y FORCE/TORQUE

ENTRY 28 IS THE ERROR IN Z FORCE/TORQUE

ENTRY 29 IS THE ERROR IN X ROT. FORCE/TORQUE

ENTRY 30 IS THE ERROR IN Y ROT. FORCE/TORQUE

ENTRY 31 IS THE ERROR IN Z ROT. FORCE/TORQUE

ENTER Y VALUE TO BE PLOTTED

FOR WHICH ARM WOULD YOU LIKE TO PLOT VALUES?

INPUT 0 WHEN FINISHED ENTERING ALL PLOTS

TO BE DRAWN FROM THIS PLOT FILE.

ENTER DESIRED PLOT TITLE

MAXIMUM OF 40 CHARACTERS

** * LAST CHARACTER MUST BE "$" ***

TIME VS. JOINT VOLTAGES$

A-223
ENTER DESIRED HORIZONTAL (X) AXIS LABEL

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "_" ***

Tn_$

ENTER DESIRED VERTICAL (Y) AXIS LABEL

MAXIMUM OF 40 CHARACTERS

*** LAST CHARACTER MUST BE "$" ***

JOINT 1 AND JOINT 2 VOLTAGES$

***** DI-3000 ... HP 7221 DEVICE DRIVER  

Please enter paper size (1 OR 2)

(i) --- Ii BY 8 1/2 INCHES (DEFAULT)

(2) --- 16 1/2 BY Ii INCHES

1

Please enter pen velocity (I,

(I) --- 10 C_/SEC

(2) --- 20 CM/SEC

(3) --- 36 CM/SEC (DEFAULT)

2

2, or 3)

PLEASE ENTER PAPER TYPE (i OR 2)

(i) --- SINGLE SHEET - MANUAL FEED

(2) --- CONTINUOUS FEED ROLL (7221S ONLY)

FOR SINGLE SHEET YOU WILL BE PROMPTED TO ENTER A

NEW SHEET OF PAPER AFTER EACH PICTURE.

FOR CONTINUOUS FEED THE PAPER WILL ADVANCE AUTOMATICALLY AFTER EACH PICTURE

1

Ready for graphics. Please turn on plotter and

insert paper for first plot.

Hit KETURNI when ready to continue

<CR>

ENTER 1 FOR CONTINUOUS CURVE

ENTER 2 TO PLOT AS POINTS

Pause requested. Hit [RETURN] to continue.

<CR>

ENTER 1 FOR CONTINUOUS CURVE

ENTER 2 TO PLOT AS POINTS

A-224
Pauserequested. Hit RETURN[ to continue.

<CR>

Pause requested. Hit RETURN[ to continue.

<CR>

Normal termination. Please remove plot.

SELECT MODE OF OPERATION DESIRED

MODE

1

2

3

4

DEFINITION

REPLAY GRAPHIC SIMULATION MOTION ONLY

REPLAY GRAPHIC SIMULATION VERSUS

HARDWARE MOTION

PARAMETER VERSUS PARAMETER PLOTS

TERMINATE POST PROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM KELP LIBRARY)

EXITING FROM POST PROCESSING FUNCTION

FORTRAN STOP

INPUT (Y) TO RUN SYSTEM DEFINITION FUNCTION AGAIN, (OTHERWISE, RETURN) <CR>

INPUT (Q) IF YOU WISH TO EXIT THE PROGRAM (OTHERWISE, RETURN)Q

A-225
TIME MS. JOINT DRIVE TORQUES

I I I I

TIME

Figure A-36. - Postprocessor sample plot of combination package option.

A-226
TIME

II0 -I

,a

0

"IN

T

I

I=I

E

F

I=I

N

G

I._

E

I=I

N

El

I=

0

S

I=

"R

i-'I

I=I

VS. JOINT REF. RNGLE RND POS. ERR.

I I

-4.

-8

T'I"ME

Figure A-37. - Postprocessor sample plot of PID control package option.

A-227
TIME VS. JOINT VOLTAGES

_J

0

N

T

1

N

D

J

0

"I"

N

T

2

V

O

L.

T

G

s

8

-4

I t

8 20 24 28

T'I'ME

Figure A-38. - Postprocessor sample plot of force/torque package option.

A-228
Rev A, October 1985

THE PREPROCESSOR USER'S GUIDE

This portion of the users guide describes the use of the preprocessor

function of ROBSIM that allows a user to access and utilizes CAD/CAM geometry

information for display or for later use in defining system detailed

geometry. The graphics display device used is an Evans and Sutherland

multipicture system.

To use this ROBSIM option, the user must first have a file of CAD/CAM

data formatted according to Initial Graphics Exchange Specification (IGES)

version 2.0. If the data are to be used to specify the detailed geometry,

each link must have been defined in a separate "layer" when initially created

on the CAD/CAM system. The layering attaches a layer flag to each component

and this allows the ROBSIM user to separate the different link geometries.

Before the user can actually run the ROBSIM preprocessor, the IGES file of

CAD/CAM data must be slightly edited.

Each IGES format data file consists of five sections that must appear in

the following order:

I) Start section;

2) Global section;

3) Directory entry section;

4) Parameter data section;

5) Terminate section.

When looking at a file each section may be differentiated by a letter that

appears in column 73 of each line. This letter is an S for the start section,

a G for the global section, a D for the directory section, a P for the

parameter section, and a T for the terminate section.

The section that needs to be edited is the parameter section. Any

information in column 66 to the end of the line must be deleted.

After this has been done, the file may be used with the ROBSIM

preprocessor option. The first choice the user must make is between creating

a CAD data file or exiting this section of ROBSIM:

SELECT MODE OF OPERATION DESIRED

MODE

i

2

DEFINITION

CREATE/MODIFY CAD OBJECT DATA FILE

TERMINATE PREPROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

If a i is input in response to this question, the user is then asked for the

name of the file containing CAD/CAM data conforming to the IGES specification:

ENTER NAME OF FILE CONTAINING INPUT CAD

IGES DATA: MAX OF 40 CHARACTERS

A-229
Rev A, October 1985

The user now has the option to just display the CAD/CAM data on the Evans and

Sutherland or to write the data to another reformatted file that may be used

later to define detailed graphics components for a manipulator system:

ENTER I TO JUST DISPLAY IGES DATA

ENTER 2 TO WRITE DATA TO A WORLD MODEL SAVE FILE

If the user chooses option 2, the object is still displayed on the Evans and

Sutherland. The user is also prompted for the name of a file to write the

reformatted graphics data to:

ENTER FILENAME IN WHICH TO STORE GRAPHICS DATA

Now the user has four run options that may be modified. These are debug

level, on/off status of the Evans and Sutherland monitor and dials, and the

layers to be written and/or displayed. Default values for these options are:

Default level: 0

Evans and Sutherland: on

E & S dials: on

Layers to display: 0 thru 7

The debug level, which may be set to an integer from 0 to 8, determines how

much intermediate data are displayed to the user terminal during program

execution (level 0 debug does not display any intermediate or debug data to

the user terminal):

WISH TO CHANGE IDEGBUG? NO--0,YES--I

ENTER IDEBUG LEVEL

The Evans and Sutherland monitor and control dials default on, to display the

CAD/CAM data. However, the user may turn them off by inputting the

appropriate answer to the following prompts:

WISH TO CHANGE IEVS OPTION? N0--0,YES--I

ENTER IEVS OPTION; E&S 0FF--0,0N--I

WISH TO CHANGE IDLS OPTION? NO--0,YES--I

ENTER IDLS OPTION; DIALS 0FF--0,ON--I

A-230
RevA, October 1985

Layers are used to separate different parts or componentswithin a drawing.

Oneuse for this would be to differentiate between the links of a

manipulator. Eachdifferent part must be placed in a specific layer when

first drawn on the CAD/CAMsystem. The preprocessor portion of ROBSIMreads

the layer flags, and, using these flags, displays or writes only the parts of

drawing the user needs:

WISHTOCHANGE GRAPHING LEVEL RANGE? NO--0,YES--I

ENTER ILEVMN VALUE; NUMBER MINIMUM LAYER TO GRAPH

ENTER ILEVMX VALUE; NUMBER MAXIMUM LAYER TO GRAPH

When the display and/or file write is completed, the user may process another

file, or exit;

SELECT MODE OF OPERATION DESIRED

MODE

I

2

DEFINITION

CREATE/MODIFY CAD OBJECT DATA FILE

TERMINATE PREPROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

The utility of this ROBSIM section is its capability to use the geometry data

from CAD/CAM drawings to define detailed geometry for different system

components.

Example A-14 and figure A-39 show the use of this option to display a

IGES-formatted CAD/CAM data file.

Example A-14

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING PREPROCESSOR FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU

5

6

7

8-9

I0

II

14

15

16

17

18

USE

READ UNIT (TERMINAL)

WRITE UNIT (TERMINAL)

PRINTED'0UTPUT UNIT

SIMULATION INPUT FILE

SIMULATION OUTPUT FILE

ACTUATOR PARAMETERS INPUT FILE

LOAD OBJECTS DATA FILE

ERROR MESSAGE FILE

GAIN CONSTANTS FILE

TORQUE DATA INPUT FILE

ACC-VEL-THETA FILE

A-231
Rev A, October 1985

19

20

21

22

23

24

PROGRAM OPTIONS FILE

PLOT DATA FILE

MOTION TIME HISTORY FILE

HARDWARE CONTROL SIGNALS

CONTROL OPTIONS INPUT FILE

CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOCAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<cR>

SELECT MODE OF OPERATION DESIRED

MODE

1

2

DEFINITION

CREATE/MODIFY CAD OBJECT DATA FILE

TERMINATE PREPROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FORTHE ROBSIM HELP LIBRARY)

ENTER NAME OF FILE CONTAINING INPUT CAD

IGES DATA; MAX OF _0 CHARACTERS

T3CAD.DAT

ENTER 1 TO JUST DISPLAY IGES DATA

ENTER 2 TO WRITE DATA TO A WORLD MODEL SAVE FILE

WISH TO CHANGE IDEBUG? NO--0,YES--I

WISH TO CHANGE IEVS OPTION? NO--O,YES--I

0

WISH TO CHANGE IDLS OPTION? NO--O,YES--I

0

A-232
0

<CR>

<CR>

ORIGI?JAL PAGE IS

OF POOR QUALITY

WISH TO CHANGE GRAPHING LEVEL RANGE? NO--O,YES--I

RETURN TO TERMINATE GRAPHICS

** * HARD COPY ***

ENTER ".PIC" FILE NAME PREFIX

(<CR>=NONE) :

SELECT MODE OF OPERATION DESIRED

MODE

I

2

DEFINITION

CREATE/MODIFY CAD OBJECT DATA FILE

TEPd_INATE PREPROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXITING FROM THE PREPROCESSOR FUNCTION

Rev A, October 1985

J

i

!

i

ill

Figure A-39. - Display of T3 robot from CAD/CAM data.

A-233
Rev A, October 1985

Example A-15 and Figures A-40 and A-41 demonstrate using this option to write

data files of different layers for later use in system detailed graphics. The

layers £or which files were written are the base (layer 0) and the first link

(layer I).

Example A-15

ROBOTIC SYSTEM SIMULATION PROGRAM (ROBSIM)

ENTERING PREPROCESSOR FUNCTION

DEFAULT LOGICAL UNIT ASSIGNMENTS USED WITHIN ROBSIM

LU USE

5 READ UNIT (TERMINAL)

6 WRITE UNIT (TERMINAL)

7 PRINTED OIYrPUT UNIT

8-9 SIMULATION INPUT FILE

I0 SIMULATION OUTPUT FILE

Ii ACTUATOR PARAMETERS INPUT FILE

14 LOAD OBJECTS DATA FILE

15 ERROR MESSAGE FILE

16 GAIN CONSTANTS FILE

17 TORQUE DATA INPUT FILE

18 ACC-VEL-THETA _ILE

19 PROGRAM OPTIONS FILE

20 PLOT DATA FILE21 MOTION TIME HISTORY FILE

22 HARDWARE CONTROL SIGNALS

23 CONTROL OPTIONS INPUT FILE

24 CONTROL MODULE OUTPUT FILE

USER WILL BE PROMPTED FOR FILENAMES

TO ASSOCIATE WITH EACH LOCAL UNIT

WHEN REQUIRED

ENTER RETURN TO CONTINUE

<ca>

SELECT MODE OF OPERATION DESIRED

MODE DEFINITION

1 CREATE/MOD_FY CAD OBJECT DATA FILE

2 TERMINATE PREPROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

ENTER NAME OF FILE CONTAINING INPUT CAD

IGES DATA; MAX OF 40 CHARACTERS

T3CAD.DAT

ENTER i TO JUST DISPLAY IGES DATA

ENTER 2 TO WRITE DATA TO A WORLD MODEL SAVE FILE

A-234
ENTERFILENAMEIN WHICH TO STORE GRAPHICS DATA

BASETST. CAD

0

0

0

0

0

<CR>

<CR>

WISH TO CHANGE IDEBUG? NO--O, YES--I

WISH TO CHANGE IEVS OPTION? NO--O,YES--I

WISH TO CHANGE IDLS OPTION? NO--0,YES--I

WISH TO CHANGE GRAPHING LEVEL RANGE? NO--0,YES--I

ENTER ILEVMN VALUE; NUMBER MINIMUM LAYER TO GRAPH

ENTER ILEVMX VALUE; NUMBER MAXIMUM LAYERT TO GRAPH

RETURN TO TERMINATE GRAPHICS

*** HARD COPY ***

ENTER ".PIC" FILE N_E PREFIX

(<CR>=NONE) :

SELECT MODE OF OPERATION DESIRED

MODE DEFINITION

I CREATE/MODIFY CAD OBJECT DATA FILE

2 TERMINATE PREPROCESSOR EXECUTION

ENTER INTEGER VALUE FOR MODE DESIRED

(911 FOR THE ROBSIM HELP LIBRARY)

EXITING FROM PREPROCESSOR FUNCTION

Rev A, October 1985

A-235
N:P

0

Figure A-40. - Display of base data - layer 8.

\

Figure A-41. - Jisplay of fin!: 1 da:a - layer i.

A-236
Standard Bibliographic Page

I. n,,_ 2. Go,mwmm A_.mam No.

NASA CR-178051

4. r,,ma_dit,' Evaluation of Automated Decisionmaking

Methodologies and Development of an Integrated

Robotic System Simulation - Appendix A - ROBSIM User's

Guide

7.A,thort,JD. C. Haley, B. J. Almand, M. M. Thomas, L. D.

Krauze, K. D. Gremban, J. C. Sanborn, J. H. Kelley,

T. M. Depkovich, W. J. Wolfe, and T. Nguyen

9. Pwfornwn90rganizatio, Name and _aJ(Wms

Martin Marietta Aerospace

Denver Aerospace

P. O. Box 179

Denver, CO 80201

12. Sl_onwri_AgmncyNanmandAdd_m

National Aeronautics and Space Administration

Washington, DC 20546

3. Racipamt's _taw_q No.

S. Rq:xw10ete

March 1986

6."P_o¢m4rw; Orgmnizatm.

8. P_rformi_ O¢_nizati_ Rel_rt No.

MCR-S5-665

I0. Work Unit No.

11. Contract or Grant No.

NASl-16759

13. Type of Report and PeriodCovered

Contractor Report

14. _i_ _ Code

506-45-21-01

1_ _31,mmu_ Norm

This report consists of three volumes: Study Results, NASA CR-178050; Appendix A -

User's Guide, NASA CR-178051; and Appendix B - Programmer's Guide, NASA CR-178052.

Supersedes NASA CR-172401, NASA CR-172402, and NASA CR-172403.

m. A_,_ The report describes the implementation of a generic computer simulation for

manipulator systems (ROBSIM). The program is written in FORTRAN, and allows the user t,

1. Interactive]y define a manipulator system consisting of multiple arms,

load objects, targets, and an environment.

2. Request graphic display or replay of manipulator motion.

3. Investigate and simulate various control methods including manual force/torque

and active compliance control.

4. Perform kinematic analysis, requirements analysis, and response simulation

of manipulator motion.

Previous reports (NASA CR 172401-172403) have described the algorithms and procedures

for using ROBSIM. This report supersedes these reports and describes additional featur

which have been added:

1. The ability to define motion profiles and compute loads on a common base to

which manipulator arms are attached.

2. Capability to accept data describing manipulator geometry from a

Computer Aided Design (CAD) data base using the Initial Graphics

Exchange Specification (IGES) format.

3. A manipulator control algorithm derived from processing the TV image of

known reference points on a target.

4. A vocabulary of simple high-level task commands (e.g., move, grasp, approach)

which can be used to define task scenarios.

Unclassified 303

22. FNice