Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
The simulation of the MAHO-700S milling machine by the useof the software package roboticsCitation for published version (APA):Vernooij, J. W. G. (1991). The simulation of the MAHO-700S milling machine by the use of the software packagerobotics. (TH Eindhoven. Afd. Werktuigbouwkunde, Vakgroep Produktietechnologie : WPB; Vol. WPA1088).Eindhoven: Technische Universiteit Eindhoven.
Document status and date:Published: 01/01/1991
Document Version:Publisher’s PDF, also known as Version of Record (includes final page, issue and volume numbers)
Please check the document version of this publication:
• A submitted manuscript is the version of the article upon submission and before peer-review. There can beimportant differences between the submitted version and the official published version of record. Peopleinterested in the research are advised to contact the author for the final version of the publication, or visit theDOI to the publisher's website.• The final author version and the galley proof are versions of the publication after peer review.• The final published version features the final layout of the paper including the volume, issue and pagenumbers.Link to publication
General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.
If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, pleasefollow below link for the End User Agreement:www.tue.nl/taverne
Take down policyIf you believe that this document breaches copyright please contact us at:[email protected] details and we will investigate your claim.
Download date: 12. May. 2020
REPORT
Subject: The simulation of the MAHO-700S
milling machine by the use of the
software package Robotics.
John Vernooij
WPA report 1088
June 1991
Student identity number: 242960
Supervisory team:
Date:
Prof.Dr.lr. A.C.H. van der Wolf
Ir. J.A.W. Hijink
Ing. J.J.M. Schrauwen
F.J.G. Soers
12 June 1991
SUMMARY
In the scope of the automation project FALC, the division of Production Engineering and Automation
(YVPA) of the Eindhoven University of Technology has procured the software system Robotics of the
company McDonnell Douglas. The purpose is to determine if required motions can be simulated by a
robot, If off-line programming can be accomplished and if estimated cycle times can be met.
The subject of this work is to evaluate whether Robotics can be used for the five-axis simulation of
the available MAHO-700S milling machine. Robotics is divided into five modules of which PLACE and
BUILD, together with UNIGRAPHICS II, describe the robot geometry and motion.
During this project the restrictions for creating a device have been examined as well as the way
desired motions can be performed. The geometrical parts can be designed with UNIGRAPHICS II
and transformed to a motion device by BUILD. The inverse kinematics. which convert all orientations
and positions into joint values of a device. proved not to work properly In case of a four axis device.
However, the desired joint positions can be reached. Therefore a simulation had to be found using
forward kinematics. A geometrical model of a fIVe-axis milling machine is developed which Is able to
reach a predefined set of joint values. To control this a sequence is written which describes the
motion simulation for a five axis machined product.
To perform the simulation a spatial tpoint is created which is the orientation point for both created
devices. With respect to this tpolnt NC-information for an existing product has been entered in a
sequence. This sequence controls the motion simulation. All joint zero values have been added up
with the joint values in the NC-sentence. The toolpath entered in the PLACE sequence has been
done manual. It is recommended to generate a tool which can automatically translate NC-information
to PLACE-sequence commands.
Finally the collision detection mode has been examined in order to find the regulations for a collision
detection simulation.
TABLE OF CONTENTS
Summary
Page
1. Preface 1
2. Problem description
2.1
2.2
2.32.4
The MAHO-700S milling machine
The Robotic system
The CAD/CAM system
The heart of the problem
2
3
3
4
3. Results
3.1
3.2
3.3
3.4
3.5
4.
5.
The simulation configuration
The alignment between the 'goto tpolnt' and
'working tpoint'
Orientation of the product zero point
The simulation
Collision detection
Conclusions and recommendations
Literature
5
7
7
8
9
10
11
Appendices
1.
2.
3.
4.
5.6.
The MAHO-700S milling machine
Architecture of Robotics
PLACE
BUILD
Instructions for a succeedeing student
BUILD-files of devices 1 and 2
12
15
17
25
31
32
1. PREFACE
CAD, Computer Aided Design, Is the computer supported design of products in which specific
geometrical information is digitally stored. The design can be performed in 2-, 2Yo! and 3 dimensions.
Within a 3 dimensional product design a distinction is made into three technics of modelling:
wireframe, surface and solid modelling.
CAM, Computer Aided Manufacturing, is computer supported manufacturing of products. Within the
stretch of manufacturing a distinction can be made into two specific fields:
a) The computer supported generation of product informa
tion for NC-machines, the NC-programme. This kind of
activities is executed by a CAM-system.
b) The computer supported execution of this information
within the NC-machine, which is being performed by the
control system of the machine.
In the scope of the automation project FALC, the division of Production Engineering and Automation
has procured the software system Robotics. The purpose is to determine if required motions can be
simulated by a robot, if off-line programming can be accomplished and if estimated cycle times can
be met.
Right now a connection between the CAD/CAM system and the MAHO-700S milling machine without
any intervention of paper has been achieved. On an available PC a test can be performed of NC
programmes by means of a simulation. However only simulations up to 3 Yo! axis can be executed.
Owing to the complexity of NC-fiIes for 5-axis processing, collisions and failures are hard to
recognize.
The purpose of this work is to look if a 5-axis simulation can be performed with the available
software. The installed Robotic-system of McDonnell Douglas is being examined on its suitability for
five-axis simulation.
2. PROBLEM DESCRIPTION
2.1. The MAHQ-700S
The MAHO-700S milling machine is a universal machiningcenter with an automatically changing of
the head spindle and tool. The system Is supplied with a fIVe-axis path control system: the CNC 432
of Philips. For technical data see appendix 1.
The machine is controlled by a NC-programme which includes all information necessary to transform
the rough material Into the desired product. The control unit reading this programme, translates it to
mechanical movementS of the machine.
The NC-programme consists of sentences. Each sentence is constructed of words. Each word is a
machine instruction and contains an adresscapital and a number. The capital defines the kind of
information. An example of a NC-sentence is:
NIO GOI X20 Y35 F200 51000 M3
number of sentence is 10 ~path conditionpath informationfeed rate 200 rom/minnumber of revolutions 1000 r.p.m.help mode: spindle spins clock wise
The MAHO contains a rectangular coordinate system (see fig.1). The tool performs its relative motion
with respect to the milling table In Z-direction. The translations along the X- and Y-axIs. and the
rotations about the A- and B-axis are being performed by the milling table. containing the product,
with respect to the tool.
2
figure 1: The coordinate system of the MAHO 700S.
2.2. The Robotic system
Robotics is an industrial simulation and off-line programming system. The software package is suited
for three purposes: - Simulation of robot motion
- Off-line programming
- Ergonomy simulation
Robotics contains five modules: PLACE, BUILD, ADJUST, COMMAND and CTA. For an architecture
of the system see appendix 2.
Only PLACE and BUILD are used for the simulation in this project. For a description of PLACE and
BUILD see appendices 3 and 4.
In this project the Robotics release 7.0 is used.
2.3. The CAD/CAM system
The CAD/CAM-system available at the division WPA has been developed by the aircraft company
McDonnell Douglas. The system can be described as follows:
3
CADCLS- Pre CL- NC-
• : postprocessorI
CAM ~ Processor Ifile file file
I FEATURES
figure 2: The realization of a Nt-file
The input of the system is separated into 3 parts:
- The CAD-data. The design on the CAD-system can be performed 3-dimensional. Three
types of modelling are distinguished: wireframe, surface and solid modelling.
The CAM data. As It is an Integrated CAD/CAM system the CAD-data can directly be
retrieved within the CAM-module.
The Feature data. This part of the CAD/CAM system has been developed at the division
WPA The creation of geometry is integrated with the generation of tooling
information. After having created a product not only the geometry is fixed but the
tooling information as well.
The pre-processor transforms the CLS-file to the CL-file. In this all simulation commands are being
removed. With the help of a post-processor the machine-independent CL-file can be transformed to a
machine-specific NC-file.
2.4. The heart of the problem
A connection between the CAD/CAM system UG II and the MAHO-700S milling machine without any
Intervention of paper was achieved In 1990 at the division WPA Owing to the complexity of
5-axis processing a simulation to detect collisions and failures is desired. The combination of UG II
with PLACE and BUILD should be used to define the machine geometry, inverse- and forward
kinematics and to perform a simulation. A CLS-file describes the toolpath of the processing of a
prodUCt. To achieve a full simulation the machine independent CLS-file has to be adapted to the
MAHO by adding machine specific information.
4
3. RESULTS
3.1. The simulation configuration.
Device 1
Device 2
figure 3: The simulated workcell.
5
The MAHO-700S milling machine uses 5 axis, the translation axis X, Y and Z and the rotation axis A
and B. This can be interpreted two chains connected to a fixed base. like a floor in a plant. The
chain which contains the machining tool derives its motion along the Z-axis. The second chain,
containing the product performs translations in X- and Y direction and rotations over the axis A and
B. Therefore. during this simulation a cell is created by combining two devices describing the five
degrees of freedom. Each device is constructed of frames. Device 1 performs Its motion in Z
direction and device 2 moves over the four axis left (see fig.3). For the BUILD flies see appendix 6.
The concept of a connection tree is used to describe the connectivity relationships between the
frames within a cell. ~hen a frame Is connected to another frame, the connected frame is called a
son frame, and the frame that the son is connected to is called the frame's father. Only the WORLD
frame has no father. Furthermore when a frame moves all descendents will move and no ancestors
of that frame will move. The construction of this simulation model agrees with the real configuration
of the MAHO-700S which in fact also can be seen as a construction of parts all translating or rotating
in just one direction. See fig.4 for the connection tree of the developed devices.
o WORLD
(Device 1)
1 FreesbO: porchcolumn
2 Freesb1 : Z-carriage
3 Freesb2 : None
(Device 2)
1 Freesta11 : Porchcolumn
2 Freesta10 : Y-carriage
3 Freestaf9 : X-carriage
4 FreestafS : turning table A
5 Freestaf7 : rotation table B
6 Fr~staf6 : None
figure 4: The connection tree of the two devices.
6
3.2. The alignment between the 'goto tpoint' and 'working tpoint'.
The configuration of the simulation model of the MAHO as explained In section 3.1 Is desired to
perform a motion. Therefore the restrictions within PLACE and the concepts PLACE uses will be
explained in this section.
To align a robot PLACE uses the concept of 'tpoints'. Tpoints are the positioning entities in a PLACE
cell. A tpoint fully describes six degrees of freedom in space. A tpoint always represents a position
and an orientation.
In order to come to a proper alignment between the two devices the working tpoints and the goto
tpoints should be attuned to one another. The working tpoint of a device is the tpolnt which is
directed to align with the goto tpoint after a goto tpoint command. A goto tpoint can be any position
in space which a device is desired to move to. When more goto tpoints are required to describe a
toolpath, a sequence of tpoints should be made.
PLACE does not require the working tpoint to be connected to the faceplate. The faceplate Is the
end link of device 2. Any tpoint within the working cell may be chosen to be the working tpoint of a
device. If the working tpoint is not connected to the faceplate the goto tpoint must be connected to
the faceplate or a frame that is descendent of the faceplate in the connection tree.
In case of the simulation of the MAHO it is desired to direct the tooltip of the milling machine to the
cutter positions of the product. The most realistic situation when using inverse kinematics is when
the CLS-file, which is in fact the goto tpoint sequence, is connected to the faceplate. The working
tpoint of device 1 can be its tip of the milling tool. The faceplate is desired to be directed to the tip of
the milling tool of device 1. Therefore the working tpoint of device 2 should be located along the
translation axis (z-axis) of device 1 and be connected to fatherframe wor1d. When a motion
simulation is performed the goto tpoint of device 2 (a tpoint connected to the faceplate) will be
directed to Its working tpoint along the z-axis and the goto tpoint of device 1 (also the tpoint
connected to the faceplate) will be directed to its working tpoint which is the tip of the milling tool.
The concept of alignment is necessary to direct the axis crosses of both devices to one another to
make sure that both orientations are the same. The setting of the working tpoint only needs to be
done one time to suit the model of the milling machine for simulations.
3.3. Orientation of the product zeropoint
A postprocessor has been developed at the division WPA which transforms the machine independent
CL-file to the machine specific Ne-file. It requires the zero-point of the product to be chosen at the
faceplate and in the center of the turning table. This because the product zero-point Is considered to
be the position of the B-axis. The link between the moving and the resting wor1d is in the center of
the A-axis. The NC-files are being generated with respect to this resting point. So the difference
between the zero-points of the machine and product with the use of this 5-axis postprocessor always
7
is: (X; Y; Z) = (0; 255,077; 0,03). In case no rotations are being corrected but only translations, a
movement of the product zero-point is not allowed. As a result of this the product always needs to
be aligned In both the X, Y, and Z directions.
In the developed model of the the MAHO an orientation tpoint connected to fatherframe world is
created along the translation axis of device 1. The joint values when reaching this position are
considered to be the zero values of the product. With respect to this tpoint desired toolpaths can be
defined by adding up joint values. In NG-programmes the same principle is used.
3.4. The iimulation
In this project the five-axis cell "freesbank" has been developed. The cell is composed of two
devices. Device 1 translates along the Z-axis, device 2 performs translations along the X- and Y-axis,
and rotations around the X- and Y axis (see fig.3).
The standard kinematics of the developed device 2 allow a motion to any joint position. When the
device is instructed to go to a predefined set of joints values, no alignment problem will occur.
However, when an arbitrary tpoint is created and connected to the faceplate and when both devices
are ordered to align their working tpolnt with the created goto tpoint. an alignment problem occurs.
This is due to the inverse kinematics which occasionally yield alignment problems when using
devices with less then six degrees of freedom. A tpoint created by three translations and two
rotations describes six degrees of freedom in space. Any device with less than six degrees of
freedom can therefore usually not align.
To this, PLACE offers a possibility to add joints to a similar device which will cause it to work
properly. The device with four degrees of freedom has now been extended to a device with six
degrees of freedom. PLACE computes the desired joints of the similar device and a coordinated
mapping file will map this joints on device 2 and remove the unwanted joints. When using this option
in case of device 2 this results in a core-dump. The research center of McDonnell Douglas in Paris
answered that this lack will be remedied in the Robotics version 8.1 which will be released in June
1991. Tpoints with three translational values and only one rotational value did not cause any
alignment problem.
The forward kinematics of both devices work properly. Any joint position in space within the limits of
the device can be reached. A tpoint has been created along the translation axis of device 1 which
can be reached by both devices. However, the simulation can only be performed for straight line
motion. A circular toolpath should be cutted into small straight pieces in order to perform to a
simulation.
All information to direct the devices to a specific set of joint positions is included in a sequence
which data in fact controls the simulation.
8
3.5. Collision detection
The collision detection may be split up into four parts:
1) Collisions which occur between the tip of the milling tool and the
faceplate. The geometry needs to be entered for an accurate model of
the MAHO.
2) Collisions which occur between the tip of the milling tool and the
clip. A library should be made containing all types of clips which
are available to the MAHO.
3) Collisions which occur between the arm of the Z-axe and the faceplate.
The joint limits should be entered in the accurate model.
4) Collisions which occur between the tip of the milling machine and the
product. Both machine specific data and the CLS-file should be entered.
How a collision test can be performed within PLACE is described in the PLACE-appendix.
9
4. CONCLUSIONS AND RECOMMENDATIONS
The Robotics software package has proved to be dedicated to perform simulations of robot devices.
Two ways to perlonn a motion simulation have been examined:
The inverse solution does not yield a desired result for a four axis device. An arbitrary tpoint
in space has usually six degrees of freedom. A four axis device combined with another
device can not align with tpoint of six degrees of freedom. A developed device with six
degrees of freedom had no difficulties with aligning.
The forward solution yield amazing pictures. A motion simulation with a model of the MAHO
can be controlled properly. In this. a tpoint in space has been created which serves as the
orientation point for both devices. Any toolpath can be defined with respect to this tpoint by
adding up joint values. In an NC-programme the same principle is used. It Is recommended
to develop a programmme to translate NC-sentences to PLACE-sequence infonnation.
To perfonn the simulation a spatial tpoint is created which is the orientation point for both created
devices. With respect to this tpoint NC-information for an existing product has been entered in a
sequence. This sequence controls the motion simulation. All joint zero values have been added up
with the joint values in the NC-sentence. The tooipath entered in the PLACE sequence has been
done manual. It is recommended to generate a tool which can automatically translate NC-infonnation
to PLACE-sequence commands. In Appendix 5 all instructions for a succeeding student to start the
simulation of an arbitrary chosen product have been summarised.
To make things more surveyable, some software should be written which takes into account the
substraction of rough material when a toolpath has been runned out. Also an indicator to detect
what kind of mistakes occur is desired.
The next Robotics version 8.1 which will be released in June 1991 contains several different NC
machines in the user library which are supposed to perform a proper simulation.
10
5. UTERATURE
1. Molengraft G.J.G. van de, Programmeerhandleiding MAHO-700S. T.U. Eindhoven,
WPA rapport 0712, 1989.
2. Senden R., Realiseren van een CAD/CAM koppeling. T.U. Eindhoven, WPA rapport 0930,
1990.
3. Manual PLACE version 6.1, McDonnell Douglas Manufacturing & Engineering Systems
Company.
4. Manual BUILD version 6.1, McDonnell Douglas Manufacturing & Engineering Systems
Company.
11
APPENDIX The MAHo-700S milling machine
1
4
10
9
2
De MAHO 700 S
3
5
6
rIILII
8
7
,. Schuildeur rechlS2. Toegangsluik hydrauliek3. Toegangsluik venlielblok hydrauliek. pneumaliek4. Schulldeur voor5. Schulldeur link S6. Toegangsluik koelmiddelleidingen en gereedschapwisselaar7. Toegangsluik gereedschapmagazijn en cenlraalsmering8. Bedieningspaneel en beeldscherm9. Koelvloeislof reservoir, O. Verfichlmg, 1. Kanletbare rondtafel12. Kanlelbare vertikale kop
12
MAHOMH 700 SDe MH 7005 Is een universele frees en boormachlne mel een universele gereedschapwisselaar.voorzlen van een S-assige conlourbesturing. de CNC 432 van de firma Philips. Voor hef posllionerenIn de assen X, Y en Z beschikt de machine over lineaire meelsyslemen en voor de assen A en B overrota tie meetsystemen.
Technische gegevens:Machine bereik:
langsvertikaaldwarsrondlalelzwenkas
X-as 700mmV-as 500mmZ-as 600mmB-as n • 360 gr.A-as -20 lot +45 gr.
Hooldspil :aandrljving: regelbare wisselstroommolor met een vermogen van 10 kWtoerenrallenreeks: 20-6300 omw/mintoerentallen: trappeloos regelbaar binnen 4 reeksen.
Freesspilfen:automatisch weg Ie draaien verlikale freeskopgereedschapsconus ISO 40gereedschapsopspanning hydro-mechanisch
Aanzelbe"egingen:individuele gelijkstroomaandriJving. per as regelbaar.aanzelsnelheid in X. Y en Z: 1-4000 mmlmin
A en B-as: 1-3000 graden/min
IJIgang:X en Z-asYeasB-asA-as
12 mlmin10 mlmin150mw/min16 gr/sec
Meelsysleem:X. Y en Z-as:A en B-as:oplossend vermogen:
inkrementeel - Iineair.inkrementeel - roterend.X, Y en Z-as 0.001 mm.A en B-as 0.001 graad.
Gereedschap"isselaar:aanlal gereedschappen In hel magazijn: 36
Tafel:zwenk-rond·talel. diameter 520mm
Beslurlng:Philips CNC 432 contourbesturing mel beeldscherm
Ge"ichl:machine compleet ongeveer 8500 kg.
13
MAHOAKTJEHGESEUSCHAFT
ME:SSPROTOKO LL
M.-Typ: .....11~,tI...;....l.;;.....;;;tJ~~~'---_M.-Nr.: 77PS-S-
Bemerk.: _
°MaOversa tz:A-Achse Drehachse zuE-Achse Drehach~c
_++-_+ O.O]!) .
MAHO I q.Ob-~/37~O
AKTIENGESEllSCHAFT Jofi 700 S
I, HC-~~ - lRBEI'T'SRAtJ4~
II
15
APPENDIX 2 Architecture of ROBOTICS
OESICN 10---01 COMPONENT'SROBOTOESICN BUILD
CAD
ORArnNC WORKCELLI..AYOlTI'
TASKOESCRlmON
SIMULATION
TRANsunON
PLACE
COMMAND+TRANSLATOR
ADJUSTerA
CAUBRATION
OOWNLOADlNC 10
ROBOT CON'\~OLl.ER
Work cell
16
APPENDIX 3 PLACE
In this PLACE summary a system overview and a short manual of the main functions used in this
project are regarded. For the complete extend of the PLACE possibilities, see the PLACE manual.
System overview
PLACE, Positioner Layout And Cell Evaluator, is a software package designed to create, analyze and
modify robotic cells graphically through use of a high speed, vector refresh or rast~r colour graphics
display station. PLACE allows to determine If required motions can be accomplished by the robot
and if estimated cycle times can be met.
PLACE uses wireframe or solid graphic models to represent robots, equipment, workpleces, and
tooling within a cell. The user can position these graphics within a cell either Individually, as in the
case of a workpiece, or together, as in the case of a multi-segment robot.
PLACE uses the concept of a generalized tool tip called the WORKING TPOINT. The robot can be
commanded to a desired location in terms of this working tpoint. The system determines robot joint
angles.
The PLACE software displays equipment repositioning and robot motion trajectories at the robotics
design station. Visual collision detection is also available with PLACE. You can change views of the
cell easily or use the zoom feature. With these viewing capabilities collision between the different
items within a cell can be identified qUickly and avoided.
After the cell has been laid out, various data can be requested from PLACE. Any relationship
between two tpoints, two frames, or between a tpoint and a frame is readily accessible to the user.
Furthermore PLACE maintains a library of commercially available robots. Any robot in the library can
be requested for evaluation and robot motion analyzes. By using the BUILD programme the user can
also insert a new robot.
17
Short manual
Accessing PLACE
After you have turned on the system you will be asked to enter your username and password. To
enter PLACE pick:
> 22 Simulation/Robotics, Enter
> 2 Place, Enter
The PLACE main menu will appear (see fig. 6):
McOonnell Douglas PLACE bl....e 6.0Main Menu
1 Cell Edi~ing
2 Oevice Motion Control3 Hove Frames!Tpoints4 I/O and Variables5 Branching an~ Conditional Execu~ion
6 Sequence Editing and Control, View and Display ControlS Dimensional Analysis9 Collision Detection
10 File Management11 Time Con~rol
12 File Cell!Terminate
,..,..,..,..,..,..,..,..,..,....,..........
*****~~~~~.~~~~~~~~*~~*~~~~.~~~~*~~~~~.*~~~~
,....,..,..,..,....,..,..,..,............
figure 6
Retrieving a cell
To retrieve a cell you have to pick from the main menu:
> 1 Cell editing, EC
> 1 Merge cell, EC
The system will ask you the cell name and to which father frame the cell is connected to. The world
frame always is the default fatherframe. In the same way you can retrieve a device. To delete a cell.
device or tpoint press the desired option from menu followed by entering the entity. The delete
functions can also be executed by picking the object on the graphics screen with the mouse. To
create a t-point pick:
> 1 cell editing, EC
> 4 create tpoint, EC
18
The default tpoint will appear on the screen. A move of the tpoint can easily be performed.
If you want to save the contents of the current PLACE working cell and create a cell file in the user
directory, then pick:
> 12 Save Cell, EC
The cell will be saved and the PLACE main menu will appear again.
Robot motion and alignment
There are three types of robot motion:
- straight line motion
- joint interpolated
- slew
In case of straight line motion the working tpoint of the robot is constrained to follow a straight line
with respect to the robot base when aligning with the goto tpoint.
In the algorithm Euler's theorem is used. 'Euler's theorem states that given two coordinate systems
with the same origin but different axis directions, one of the coordinated systems can be rotated into
the other by rotating about a line through the origins. PLACE calculates this line and angle before
moving. The tool axis are rotated about this Euler-line. At the start of the move the rotation angle is
zero. At the end of the move the rotation change is equal to the Euler angle.
When Joint Interpolated is selected the robot will move all of Its Joints such that each of the joints
starts and stops at the same time. The set of joint values the robot moves toward are determined at
the beginning of the move. If there is more than one solution which will case the robot to align,
PLACE will always attempt to determine one that is within the limits of the joint.
Slew motion is similar to joint interpolation. The only difference is that each joint will move Indepen
dently at a constant speed. Some of the joints may complete their motion before others.
If a device motion is desired pick from the PLACE main menu:
> 2 Device motion contro', EC
19
The next menu will appear:
-***********.***************************** .... McDonnell Douglas PLAC! Aelaase 6.0 .... Device Motion Control ..* 1 Active Device .... 2 Yorking !point .... 3 Coto Tpoint .... 4 Coto Joint Position$ .... 5 Coto Home .... 6 Coordinated Goto .... 7 Coto Position .... 8 Set nevice Mo~ion Mode .... 9 Set nevice Speed .... 10 Tracking On/Off .... 11 Connect Frames .... 12 Disconnect Frames .... 13 Set nevice Kotion Parameters .... l~ Goto Circle .... ..*********.**••• *•••••~.*.*.*********••
figure 7
To perform the 'goto tpoint'-command, the device must have a working tpoint defined. The working
tpoint is the tpoint that aligns with the goto tpoint at the end of a successful 'goto tpoint command'.
Usually the working tpoint of a robot is either connected to the faceplate of the robot or is connec
ted to a frame that is descendent of the faceplate in the connection tree. In the simulation the
working tpoint Is connected to fatherframe world. As the CLS-file already is connected to the
faceplate and the goto- and working tpoint never can be connected to the same fatherframe when
alignment is desired, the working tpoint of device 2 is connected to world.
Goto tpoint may now be used to direct the active device to align its working tpoint with one or more
tpoints in the cell. The path the robot performs when aligning a tpoint depends on:
- the device type
- on the motion mode currently in effect for the device (I.e. straight line, joint
Interpolated, slew)
- on the position of the tpoint
- the relative position of the goto and working tpoint.
20
Compound devices
A Compound Device describes a device composed of two or more simple kinematic devices. A
Coordinated Motion Device is a compound device which allows the simulation and programming of
more than one device using simultaneous motion. The coordinated motion is used to cause all of the
sub-devices of the coordinated motion device to move. The motion of each sub-device will be
prorated such that each sub-device will start and stop at the same time.
A Dependent Motion Device is a compound device whose Joint solution is always dependent on the
position of some other devices in a cell. This allows the capability of the simulation of closed loop
mechanisms and the driving of linkages of robots.
In this project a coordinated motion device is used. To perform a coordinated goto first a compound
device has to be defined. So pick:
> 2 Device Motion Control, EC
To define a compound device press:
> 13 Set device motion parameters, EC
> 11 Define compound device, EC
> 1 Define coordinated motion device, EC
> Enter compound device name, EC
The following menu will appear:
"""'**""""'*'*"*'*"**"**""'**"'*'**""""""""*"; ;
; McDonnell Douglas PLACE ~ele&Se 6.0 ;; Select Editing Mode for Coordinated Motion Device COMPDEV ;; 1 Add Sub· Devices to Compound Device ;; 2 l.elDove Sub-Devices froD eo.pound Device ;; 3 Examine Sub-Devices of CoIrpound Device ;; 4 Update Compound Device Definition ;; ;
'*****'***'*'*""""*""""""*"","""*"""""*"*"'*'
figure 8
Add the sub-devices to the compound device:
> 1 Add sub-devices to compound device, EC
The system will ask to enter the device names:
> name device 1, EC
> name device 2, EC
21
Now the compound device has to be updated:
> Term
> 1 Define coordinated motion device, EC
> 4 Update compound device, EC
Pick two times Term to return to the main menu.
Before using the coordinate motion command, set the working tpoints for both active devices. Pick:
> 2 Device motion control, EC
>1 Active device, EC
> Enter device name or pick with the mouse on the screen
> 2 Working tpoint, EC
> Enter working tpoint or pick with the mouse on the screen
For the second device the same procedure has to be followed.
To perform the coordinated goto pick:
> 6 Coordinated goto, EC
This option allows you to specify the desired motion device for each component of the compound
device. For each sub-device within the compound device you must select in which way the motion
will be performed (goto joints, goto home, etc.). After having defined the motion specifications for
each sub-device, the coordinated motion can be performed.
Sequences
A PLACE sequence is a stored series of PLACE functions that may be replayed to simulate a robotic
workcell process. Generally a sequence includes all information about the motion within a specific
cell. Sequence editing allows you to create a new device or to modify an existing device. To create a
sequence choose from the PLACE main menu:
> 6 sequence editing and control, EC
> 3 edit sequence, EC
As the sequence editing mode is active now, all sequence statements may be defined by using
PLACE options.
22
UG II CLSF to PLACE conversion
The CAM-module of UG II is capable of generating CLS-files. Within PLACE there is an option
available to convert a CLS-file from UG II to PLACE. Pick:
> 10 File Management, EC
> 3 Unigraphics 11 CLSF to PLACE conversion, EC
The system will ask for a UG II username and password as well as the .CLS file. A cell containing a
frame with all tpoints that represent the tooling of the product and a sequence which directs a robot
to follow the path will be generated. To set the CLS-file to the center of the faceplate its fatherframe
has to be changed. So pick:
> 1 Cell editing, EC
> 10 Connect tpoint, EC
The system will ask for the tpoint to connect to and the new fatherframe. Enter tpolnt 1 of the CLS
file as the tpoint to connect to and the faceplate frame as the new fatherframe. Finish with EC. Now
the move of tpoints can be performed. Pick:
> 3 Move framesjtpoints, EC
> 4 Align tpoints, EC
Enter tpoint 1 of the generated CLS-file cell as the tpoint to align and the faceplate orientation tpoint
as the tpoint to align with. The simulation can now be performed.
Collision detection
To operate the collision detection, It is determined if two parts occupy the same space at the same
time.
Collision detection is initiated by picking from the PLACE main menu:
> 9 Collision detection
The procedure is as follows. First the solids for the frame parts which might collide must be defined.
> 3 Define solids, EC
Then the pairs of frames to be involved in the collision detection have to be selected.
> 4 AllowjDisallow collisions. EC
> 5 Select pair of frames not allowed to collide. EC
Pick the desired frames with the mouse on the screen.
The collision detection can now be turned on:
> 1 Collision detection Onj Off
23
The method for the collision detection must be chosen now. This can be whether a velocity detection
or a fixed interval check. Pick:
> 2 Select collision detection method, EC
> 1 Fixed interval, EC
The simulation may now be initiated by performing a device goto or executing a sequence.
24
APPENDIX 4 BUILD
In this BUILD summary a system overview and a short manual of the main options used in this
project are regarded. For the complete extend of the BUILD possibilities, see the BUILD manual.
System overview
The BUILD-Module enables the user to describe new robots or other kinematic motion devices.
Using BUILD the geometric model of a robot is automatically combined with Its unique kinematic
description for animation in PLACE. With a minimal knowledge of robot kinematics you are able to
add new devices to the PLACE library.
BUILD is capable of automatically generating the kinematic equations from devices which have up to
6 degrees of freedom. BUILD supports devices up to 12 degrees of freedom, but it does not
automatically generate the kinematic control equations. The BUILD user may optionally write a
programme which defines the kinematic equations for any device with up to 12 axes. To obtain
complete functionality, the device must be separable into arm and wrist components.
The BUILD menu structure adhere to the same rules as PLACE. The user must fill in menu items in
order to fully describe the characteristics of the device. Once all necessary information has been
entered. BUILD may be directed to create the files which contain the description of the device. This
robot or device can now be used in PLACE.
An outline of the steps required for creating robots or devices is as follows:
- The user creates a model of robot or device on UG II.
- The user collects the input data for the BUILD module.
- The user transfers the CAD data to the PLACE data base.
- The user inputs the parameters which define the device in BUILD.
- The BUILD software generates the kinematic data which is used to simulate
the motion of the robot or device in PLACE.
BUILD directs the user to define the kinematic model of a device. which is used by PLACE to drive
the simulation. Additional controller information is supplied which is used by COMMAND to provide
for off-line programming. BUILD places restrictions on the types of linkages which may be automati
cally modeled with complete functionality, what is meant to be all inverse solutions. If a device does
not meet these restrictions it may still be modeled, but with a much more limited functionality. The
user may retain complete functionality by writing a programme which supplies the kinematic
algorithms needed for simulation.
25
BUILD file types:
There are three file types which are created by BUILD. These are the files used by BUILD to describe
a robot or device.
- BUILD-file (.BLD) : The BUILD-file contains the basic device description.
It keeps a record of all information which has been entered into BUILD. This file may be
used to edit the parameters of an existing device or simply by means of displaying device
parameters. The BUILD file is not used by PLACE, COMMAND or ADJUST
- DEVICE-file (.DEY) : The Device-file contains the connection tree which
describes the device along with the link names and the associated part
names. The Device file points at the Device Control Information-file.
- DEVICE CONTROL INFORMATION-file (.DCI): The Device Control
information-file defines device characteristics for the device. Such
Information as the kinematic attributes of the device. the allowable motion
modes, the maximum joint speeds and accelerations, and more is stored In
this file. PLACE, COMMAND and ADJUST obtain their kinematics from this device.
The next files are referred to by BUILD but not actually used.
- PART-file (.PAR): The part file contains the graphical display data for each
link of the device. This file is created by the UG II to PLACE utilities.
- COORDINATED SYSTEM INFORMATION (.CRD): Coordinated System
Information files define the attributes of particular ·coordinate
systems· that are used to represent robot arm positions. tool tip position
constraints, etc. Crd-files are also used for Dependent Joints Mapping and
Similar Device Kinematics Mapping. These files can be defined by using the text
editor.
26
Accessing BUILD
Build may be accessed in two ways. The First way is to run the module directly from the operating
system. The second method is to run BUILD from the PLACE file management Menu. In this case
BUILD is running separately from PLACE, so any action which occurs in BUILD will have no effect on
the PLACE session.
To enter BUILD select from the PLACE main menu:
> 10 file management, EC
> 8 BUILD, EC
Besides having easier access to BUILD, the ability to access BUILD from PLACE also allows the
user to examine device characteristics without haVing to exit PLACE. It is not needed if not desired
to generate new device description files when examining this data.
Part file creation for BUILD:
The creation of a device in BUILD is accomplished by specifying a series of transformations which
describe the relationships between the links of the device. The geometry for each part must be
created on a CAD-system as a separate part. Each part should be modeled such that the axis of
motion is located in the absolute coordinate system. This allows the motion of each link to be
defined as either a translation along or a rotation about its absolute coordinate system.
Take care that the axis pointing out of the end of the device has to be the X-axis as this Is a device
requirement. The orientation tpoint should be positioned at the faceplate as the CLS-file will be
connected to this tpoint.
Once the location of each link coordinate system is known, the transformations between these
coordinate systems may be defined. The user must determine the relationship between each
consecutive link. This relationship must be described as a series of constant and/or variable
transformations. A constant transformation describes either a translational or rotational offset that
never changes, regardless of the positioning of the joints of the device. A variable transformation
defines the motion of a joint and may be either translations or rotations. All transformations are
defined using the right hand rule. This rule defines the direction of a positive rotation.
27
After having entered BUILD, the system will ask a device name. Then the user has to choose
whether to edit an existing device or to define a new device. When defining a new device. BUILD will
ask for the type of device and the distance units. After pressing EC, the BUILD main menu will
appear (fig. 9) .
•••••••• *•••• *.** ••• **** •• *************************.************ McDonnell Douglas BUILD Release 6.1* Robo~ "ABC" Defini~ion Main Menu Uni~s - (IN)* l>*Kinema~ic Transform&~ions
* 2 *Arm Configurations* 3 Mo~ion Modes* 4 Tool Tpoin~ Informa~ion
* 5 Off· line Programming Coord1na~e Sy.~ems
* 6 Device Po.i~ion with Respec~ ~o Father Frame* 7 *Link/Par~ Names* 8 Source of Inver•• Kinema~ic.
* 9 Se~ Dis~ance Uni~5
* 10 Exi ~ BUILD*
**************
******.*************************************************'*'***
figure 9
Each of these items should be selected in order to fully describe the device. To input all kinematic
transformations pick:
> 1 Kinematic transformations, EC
After having entered the type of information (constant, variable joint or dependent joint) one can
specify the connected data.
In case of more alignment solutions, the arm configuration must be chosen which may be obtainable
to the device. Pick:
> 2 Arm configurations, EC
The motion mode (straight line, joint interpolated or slew) can be set by picking:
> 3 Motion modes
Modes 4 and 5 are not actually used in this project but may in some cases be necessary to be
entered.
When designing a cell it might be desired to position a device not in the origin of the fatherframe.
Option 6 has to be entered to set a device with respect to its fatherframe.
Using option 7 the part-files can be linked to the .BLD file.
28
In case the robot does not yield a proper alignment option 8 has to be used. Pick:
> 8 Source of inverse kinematics, EC
> 4 Kinematics from similar device, EC
The system will ask the similar device name and the joint mapping .CRD file. The similar device used
during this simulation was a six axis device with two dummy axis. The .CRD file removes these
dummy axis.
Option 9 may be selected to set the distance units.
When all data has been entered pick:
> 10 Exit BUILD, EC
BUILD will automatically generate the .BLD, the .DCI and the .DEV files. All entered information will
be used in the display of the device in PLACE. The link names will be used as the frame names in
PLACE.
Sources of inverse kinematics
Inverse kinematics is the process used to convert a position and orientation (Le. t-points) into the
joint values of a device. Although PLACE uses built-in algorithms that will support most robots, it is
possible to obtain the analysis from other sources.
- Standard kinematics: The normal mode for device modelling is to use BUILD to automatically
generate the inverse kinematic parameters to be used by the PLACE kinematic analyzer.
- No inverse kinematics: If BUILD for some reason could not generate the inverse kinematic
parameters for a particular device, the PLACE kinematic analyzer will not be able to perform the in
verse kinematics. Such a device can only be simulated in PLACE in a limited manner. A device
without inverse kinematics can not be directed to move to a tpolnt. The only motion specifiers
supported are : goto joint position and goto home.
- External inverse kinematics: A device may be defined which obtains its inverse
kinematics from an external programme. When this option is used, the automatically generated
kinematic algorithms will not be used. This option is useful when the PLACE kinematic analyzer does
not give the desired results. An external kinematics programme may be the only way to simulate for
example a seven degrees of freedom robot, which BUILD doesn't support. The external programme
should be able to compute joint angles when given a position and orientation.with which to align
with.
- Similar Device Kinematics: Similar Device Kinematics allow the inverse kinematics of a device to
come from a definition of a different device. During the simulation, whenever PLACE needs an
29
inverse kinematic solution, it will use the kinematic solution defined for a similar device. The results of
the inverse kinematics are then mapped to a new set of joint values via a coordinated system file. All
joint limits will be checked against this new set of values. The automatic kinematic algorithms derived
by BUILD occasionally do not yield the desired alignment results for devices with less than six
degrees of freedom. In this, PLACE offers a possibility to add joints to a similar device which will
cause it to work properly when 6 degrees of freedom are being defined. PLACE computes the
desired joints of the similar device and a coordinated mapping file will map this joints on device 2
and remove the unwanted joints.
30
Appendix 5 Instructions for 8 succeeding student
In this work the cell freesbank has been created. The cell is composed of two devices, freestafS and
freesb. To retrieve the cell the next instructions have to be followed.
> Enter PLACE
> 10 File management, EC
> 7 Change search directory, EC
> Enter /users/vern/freesba5, Enter
> Return to ~he PLACE main menu
> 1 Cell editing, EC
> 1 Merge cell, EC
> Enter freesbank, EC
The cell Freesbank will be displayed.
In case only a device is desired to be displayed follow the same procedure as for retrieving a cell but
Instead of 1 Merge cell press 2 Merge device followed by entering the device name.
To start the simulation the sequence 'freesbank' has to be retrieved. This can be done by picking
from the main menu:
> 6 Sequence editing and control
> 1 Run sequence
> Pick with the mouse the option Int/Res
The simulation will now be performed.
The created orientation tpolnt has the next joint values:
Device freestafS: Joint1: -230
Joint2: 272
Joint3: 0
Joint4: 0
Device freesb: Joint1: 237
Joint2: 0
The parts of the devices in UG II are stored named freestafS and freesb. Each frame is drafted on a
different layer.
31
Appendix 6 The Build files
32
;**~*** BUILD Release 7.0 ***~*~
DEVICE NAME = FREESBDEVICE TYPE = ROBOTUNITS = MILLIMETERS
*******
ConstantRotation aboutZ axisAmount = -90.0000 (DEG)
*******
ConstantTranslation alongX axisAmount = -1480.0000 (MH)
ConstantTranslation alongY axisAmount = 525.0000 (HH)
*******
ConstantTranslation alongZ axisAmount = 1250.0000 (HH)
*******
VariableTranslation along-z axisJoint Name = FREESBlJoint Constraints --High Value = 1000.0000 (HH) Low Value = -1000.0000 (HM)Home Position = 0.0000 (HH)Joint Speed = 100.0000 (HH/SEC)Joint Acceleration = 10.0000 (MH/SEC/SEC)END OF LINK
*******
Constant,Rotation aboutX axisAmount = 90.0000 (DEG)
*******
VariableRotation aboutZ axisJoint Name = FREESB2
Joint Constraints --High Value = 360.0000 (DEG) Low Value = -360.0000 (DEG)Home Position = 0.0000 (DEG)Joint Speed = 100.0000 (DEG/SEC)Joint Acceleration = 10.0000 (~EG/SEC/SEC)
END OF LINKEND OF DEVICE
INVERSE KINEMATICS DATA -SOURCE -- STANDARD
CONFIGURATIONS==
SHORT REACH OF JT 1 = SHORT REACH OF JT 1LONG REACH OF JT 1 = LONG REACH OF JT 1
==
Initial Configuration = 1
MOTION TYPESNUMBER OF TYPES = 1JOINTHOME MOTION TYPE = JOINT
TOOL COORDINATE SYSTEM =MAX TOOL SPEED = 0.0000 (MM/SEC)MAX TOOL ACCEL = 0.0000 (MM/SEC/SEC)
COORDINATE SYSTEM REPRESENTATIONSNUMBER OF COORDINATE SYSTEMS = 0
World to Robot Base Transformation -Translations
0.0000 0.0000 0.0000 (MM)Rotations --
0.0000 45.0000 0.0000 (DEG)
Link HamesNumber of Links = 3
1. FREESBO2. FREESBI3. FREESB2
Part Names --Number of Parts = 3
1. FREESBO2. FREESBl3.
;****** BUILD Release 7.0 ******
DEVICE NAME = FREESTAF6DEVICE TYPE = ROBOTUNITS = MILLIMETERS
*******
ConstantTranslation alongZ axisAmount = 500.0000 (HH)
*******
ConstantTranslation alongY axisAmount = 500.0000 (MM)
*******
ConstantTranslation alongX axisAmount = -600.0000 (MH)
VariableTranslation along-Y axisJoint Name = FREESTOJoint Constraints --High Value = 1000.0000 (HM) Low Value = -1000.0000 (HM)Home Position = 0.0000 (HM)Joint Speed = 100.0000 (HM/SEC)Joint Acceleration = 10.0000 (MM/SEC/SEC)END OF LINK
*******
ConstantTranslation alongZ axisAmount = 250.0000 (HM)
*******
ConstantTranslation alongX axisAmount = 500.0000 (HM)
*******
VariableTranslation alongX axisJoint Name = FREEST2
Joint Constraints --High Value = 1000.0000 (MM) Low Value = -1000.0000 (MM)Home Position = 0.0000 (MM)Joint Speed = 100.0000 (MM/SEC)Joint Acceleration = 10.0000 (MM/SEC/SEC)END OF LINK
*******
ConstantTranslation alongX axisAmount = 50.0000 (MM)
*******
ConstantTranslation alongY axisAmount II: 400.0000 (MM)
*******
ConstantTranslation alongZ axisAmount = 250.0000 (HM)
*******
VariableRotation aboutX axisJoint Name = FREEST3Joint Constraints --High Value = 150.0000 (DEG) Low Value = -150.0000 (DEG)Home Position = 0.0000 (DEG)Joint Speed. 100.0000 (DEG/SEC)Joint Acceleration = 10.0000 (DEG/SEC/SEC)END OF LINK
ConstantRotation aboutZ axisAmount = 90.0000 (DEG)
*******
ConstantTranslation alongY axisAmount = -160.0000 (MM)
*******
ConstantTranslation alongX axis
Amount = 180.0000 (MM)
VariableRotation about-x axisJoint Name = FREEST4Joint Constraints --High Value = 150.0000 (DEG) Low Value = -150.0000 (DEG)Home Position = 0.0000 (DEG)Joint Speed = 100.0000 (DEG/SEC)Joint Acceleration = 10.0000 (DEG/SEC/SEC)END OF LINK
*******
ConstantTranslation alongX axisAmount = 234.0000 (MM)
*******
ConstantTranslation alongY axisAmount s 26.3120 (MM)
*******
ConstantTranslation alongZ axisAmount = -93.2250 (MM )
*******
ConstantRotation aboutZ axisAmount s -90.0000 (DEG)END OF LINKEND OF DEVICE
*******
INVERSE KINEMATICS DATA -SOURCE -- STANDARD
*******
CONFIGURATIONS=====
Initial Configuration = 2
******:It
MOTION TYPESNUMBER OF TYPES =STRAIGHTJOINTHOME MOTION TYPE = JOINT
TOOL COORDINATE SYSTEM =MAX TOOL SPEED = 0.0000 (MM/SEC)MAX TOOL ACCEL = 0.0000 (MM/SEC/SEC)
*******
COORDINATE SYSTEM REPRESENTATIONSHUMBER OF COORDINATE SYSTEMS = 0
*******
World to Robot Base Transformation -Translations
110.0000 100.0000 -91.0000 (MM)Rotations --
0.0000 45.0000 0.0000 (DEG)
*******
Link HamesNumber of Links = 6
1. FREESTAFO2. FREESTAFl3. FREESTAF24. FREESTAF3S. FREESTAF46. FREESTAFS
Part NamesHumber of Parts = 6l. FREESTO... FREESTl~ .3. FREEST24. FREEST3S. FREEST46. BOLBOB