Professional Documents
Culture Documents
INTERFERENCE AVOIDANCE
16.1 Overview
The Interference Avoidance option uses a method of collision avoidance that maps
each motion line in a user program to an AutoZone. The AutoZone approximates the
total volume that is occupied at any time during the execution of the motion line. This
volume can be visualized as a cavern-like shape that is carved out of a defined
AutoZone space. The AutoZone space is a rectangular box aligned with a user frame
coordinate system’s major axes.
Up to 16 robots can be protected from collision with each other in the common
AutoZone space. The robots can be on the same controller, or on multiple controllers.
AutoZone setup requires a two step process. After initial setup, a program is executed
with AutoZone Mastering turned on. During this execution, the AutoZone software
monitors the space occupied by the robot and tool model. This occupied space is
digitized and efficiently stored in a file. Mastering is turned off and the robot will be
protected from collision in the defined AutoZone space during execution with other
similarly defined programs in other robot groups or other robot controllers.
The Interference Avoidance option is built on top of the Interference Check (IC) software.
The IC robot model and tool model for the robots on each controller are used by the
Interference Avoidance option. The other IC setup is not required for Interference
Avoidance to function, but the IC functionality is fully compatible with the Interference
Avoidance option. Therefore, in addition to AutoZones, the Interference Check software
can protect against arm-to-arm collisions within the same controller and against entry to
an occupied critical zone and against collision with a defined obstacle.
During program execution, the data representing the space occupied during a single
motion statement execution is sent to the AutoZone manager. The AutoZone manager
checks this 3-dimensional occupied space against the spaces already reserved and
occupied by other robots. If there is no intersection between the spaces then the
requesting program is allowed to execute the motion line. If there is an intersection then
the requesting program motion will not be started until the robot responsible for the
intersecting space requests a new space that has no intersections. Multiple motion
statements can be grouped together to form a process zone or Interference Avoidance
space. The robot is not allowed to enter this AutoZone Region until there is no
intersection with the entire region with any other robot occupied space. The AutoZone
setup requires the following steps:
ITEM DESCRIPTION
Model Setup This item allows you to display the Model Setup screen.
Check Combination Setup This item allows you to display the Check Combination Setup screen.
Multiple Controller Setup This item allows you to display the Multiple Controller Setup screen.
AutoZone Setup This item allows you to display the AutoZone Setup screen.
ITEM DESCRIPTION
Robot Model Setup This item allows you to set up models for the robot and dressout.
Tool Model Setup This item allows you to set up model(s) for the end of arm tooling.
Obstacle Model Setup This item allows you to set up model(s) for obstacles.
Procedure 16.1
Steps
1. Press MENUS.
2. Select SETUP.
3. Press F1, [TYPE].
4. Select Interference. The existing Interference Check menus are used to define
and enable the robot and tool models. You will see a screen similar to the
following.
6. Robot models are already set up by the system and cannot be changed. Each
link model can be enabled or disabled. You can add models for arm dressout
from this menu if desired. Select Tool model setup, and press ENTER. You will
see a screen similar to the following.
9. Each group utool can share a common tool model or they can reference different
tool models. Press F4, UT_DATA. You will see a screen similar to the following.
The space is aligned with respect to the specified Uframe of group[1] of the zone
manager controller. The origin or Zone Reference of the AutoZone space is at the
specified location with respect to Uframe. The Space Side Length can be specified as
positive or negative numbers and indicate whether the zone edge is along the positive
or negative direction from the Zone Reference along the Uframe axis. The space is
represented by volumetric pixels, or voxels. The maximum number of voxels is fixed at
7040 for the AutoZone space. The default number along the X axis is 32, along the Y
axis is 44, and along the Z axis is 5. The voxels can have different resolution or side
length along each axis. The default side length is 50mm for the X and Y sides and
200mm for the Z side. This constructs the default Space Side Length to be 1600mm X,
2200mm Y, and 1000mm Z. You can increase or decrease the voxel side length or the
space side length to change the number of voxels along each axis, adjust the length
along the X axis first, Y axis second, then Z axis, the minimum number of voxels along
each axis is 1.
Each voxel is represented by 1 bit in memory. The memory required for each voxelized
space is 880 bytes plus some additional space for a total of 1 kilobyte. This is stored in
compressed form in the file, FR5:\azprogname.bin occupying about 125 bytes of FROM.
Additional data is stored in FR5:\azprogname.dat. However, the DRAM consumption of
each voxelized motion statement is about 1KB per enabled space.
Refer to Table 16.3 AutoZone Space Setup Items and Table 16.4 AutoZone Space
DETAIL Setup Items for information on the AutoZone Space setup items. Use
Procedure 16.2 Setting Up the AutoZone Space to set up the AutoZone Space.
ITEM DESCRIPTION
ITEM DESCRIPTION
AutoZone Space Setup This item allows you to display the AutoZone Space Setup Screen.
AutoZone Schedule This item allows you to display the AutoZone Schedule Setup Screen.
AutoZone Manager Setup This item allows you to display the AutoZone Manager Setup Screen.
AutoZone Test-Run This item allows you to display the AutoZone Test-Run Setup
Setup Screen.
ITEM DESCRIPTION
Space Id This item indicates the number of the Space Id.
Enabled/Disabled This item indicates the space is enabled or disabled.
Taught Member This item indicates the member that taught the space.
Host Name This item indicates the host name of the taught member.
Group This item indicates the motion group number of the taught member.
This item indicates the user frame number of the taught group with which
Uframe
the space is aligned.
Zone Reference in This item indicates the origin corner of the taught space with respect to the
Uframe specified Uframe.
This item indicates the side length of the taught space. Either positive or
negative number can be used to indicate the space edge is along the positive
Space Side Length or negative direction of the specified Uframe. You can adjust the space side
length to change the number of voxels along each axis, adjust along the X
axis first, Y axis second, then Z axis.
This item indicates the side length of the voxel. The default side length is
50mm for the X and Y sides and 200mm for the Z side. You can adjust the
Voxel Side Length
voxel side length to change the number of voxels along each axis, adjust
along the X axis first, Y axis second, then Z axis.
This item indicates the margin which system can tolerate without re-
Voxel Side Margin
mastering after a point has been re-touched up.
The default number of voxels along the X axis is 32, along the Y axis is 44,
Number of
and along the Z axis is 5. The minimum number of voxels along each axis is
Elements
1.
1. Press MENUS.
2. Select SETUP.
3. Press F1, [TYPE].
4. Select Interference. You will see a screen similar to the following.
Interference Check G1 JOINT 100%
1/4
Setup list of Interference Check
1 Model setup <*DETAIL*>
2 Check combination setup <*DETAIL*>
3 Multiple controller setup <*DETAIL*>
4 AutoZone setup <*DETAIL*>
5. Select AutoZone setup. You will see a screen similar to the following.
6. Select AutoZone Space Setup. You will see a screen similar to the following.
Procedure 16.3
1. Press MENUS.
2. Select SETUP.
3. Press F1, [TYPE].
4. Select Interference.
5. Select AutoZone Setup.
6. Select AutoZone Manager Setup. You will see a screen similar to the following.
7. The Interference Avoidance Manager setup includes defining the controllers and
robots that will be included in the Interference Avoidance function. If multiple
controllers are used, RIPE must be already set up. For this case, press F4,
[CHOICE] to display a list of robots included in the RIPE setup, the rosipcfg.xml
file.
8. The Zone Manager Host Name should be the first robot listed in rosipcfg.xml.
The first Member should be the same Host Name as the Manager. The first
Member group should be 1. The first member is the Reference Group for future
calibration menus. All the calibration frame go from the first Member world frame
to the other Calibration Member world frame. See the following screen for an
example.
9. Press F3, CALIB, softkey to display the Calibration Direct Entry screen. This
screen displays the reference group and the calibration group. The reference
group is the same host as the zone manager and is group 1. The calibration
group is the group that is being calibrated. If you want to directly enter the
calibration numbers then press F4, [CHANGE].
10. Type in the calibration numbers, and press F4, COMPLETE when finished. This
calibration frame is from the reference group world frame to the calibration group
world frame.
11. From the Calibration Direct Entry screen, press F2, METHOD, and select the
Three Point calibration method. You will see a screen similar to the following.
12. The Reference group and calibration group current calibration data is displayed.
If you want to record the calibration points, press F4, [CHANGE].
When you press F5, RECORD, the current position of the selected robot will be
recorded to the selected position. This record will work across controllers or on
the same controller. You should touch three points which are far apart and
encompass as much of the shared workspace as possible. The three points
should not be co-linear. You can record the points by touching the TCP of robots
to each other and record both robots. You need to cursor to one robot, press
SHIFT-RECORD then cursor to the other robot and SHIFT-RECORD. You can
also record them independently by touching points in the workspace first with
one robot then with the other. Press F2, COMPLETE, when finished to calculate
the calibration data. Press F3, CLEAR, to clear any existing data. Press F4,
EDIT, to edit the point without having to move the robot if the target point
coordinates are known.
ITEM DESCRIPTION
ITEM DESCRIPTION
The program AutoZone schedule number is specified in the program header. A
AutoZone
different AutoZone schedule number can be specified in each AutoZone Start
Sch
instruction.
AutoZone Recording
The recording interval governs how often the robot position data is voxelized
Recording during the motion when the Master Flag is ON. If the controller has heavy CPU
Interval loading because of many options or for other reasons, you can increase this
interval to speed up the voxelization process.
Not Available.
Priority
This item is the priority to resolve deadlock.
The Progressive flag is used in a Process Zone or AutoZone Region section of a
program. This is between the AutoZone Start and AutoZone End instruction. A
Process Zone allows a robot to be guaranteed to complete a process without being
halted by another robot. For most process applications, the robot should remain
running along the path without interruption until the process (welding, cutting,
routing, grinding, etc) is completed.
Progressive
FALSE indicates that one voxelized space will be used to represent the whole
Flag
region. No other robot will be able to enter any portion of the region until the robot
currently inside the region exits the region. Using the Progressive flag = FALSE
Default:
also saves memory since only one voxelized space is used to represent all the
FALSE
motion lines between the AutoZone Start and AutoZone End instruction.
If the Progressive flag is TRUE then as each motion statement executes between
the AutoZone Start and AutoZone End instruction, only the space occupied by the
remainder of the Process Zone will be reserved. This allows another robot to enter
a region of the Process Zone after the first robot has passed the area and if it will
not return to that area inside the Process Zone.
Procedure 16.4
1. Press MENUS.
2. Select SETUP.
3. Press F1, [TYPE].
4. Select Interference.
3 Priority 1
4 Progressive flag: FALSE
This is an example of a program with AutoZone Start and AutoZone End. This region is
known as a Process Zone or AutoZone Region. After the robot is granted permission to
move to P[3] in Line 4, the whole space occupied by the robot until reaching P[8] on
Line 9 is reserved. This guarantees that any welding or other process can be completed
without interruption. If the Progressive flag in the AutoZone schedule is TRUE then
when P[4], Line 5 is started the space occupied between P3 and P4 is released (unless
the remainder of the motions re-enter the area).
ITEM DESCRIPTION
This item indicates global master flag. Set the global master flag to TRUE before
Global master
the program mastering, and set the global master flag to FALSE after mastering
override
the program.
This item indicates master append mode. When the append mode is enabled, re-
Master mastering process will not delete the previous voxel data file, instead it will
append mode append the new voxel data to the existing data file, it is useful to support multiple
program execution paths with the branch instruction.
AutoZone This item indicates AutoZone jogging enabled. When AutoZone jogging is
jogging enabled, the jogged robot will be checked against other robots on the same or
enabled different controllers
In this example of a four-group system with a running program for each group, the main
program (lines 1..4) for each group has called a subprogram (lines 5..8). The status of
the teach pendant program R4_47PER indicates it is waiting on index 7 which
corresponds to the teach pendant program R1_47PER. R4_47PER will not continue
execution until the interference with R1_47PER is removed. Note that a paused
program still retains the ownership of the AutoZone associated with the paused line.
This example shows a deadlock condition. R2_47F10 and R1_47PER are both waiting
on R3_47PER but R3_47PER is waiting on R2_47F10. This deadlock condition could
be prevented by using AutoZone regions (using AutoZone Start / AutoZone End) to
reserve space needed by future motions.
This example shows a running program being blocked by an idle robot that is not
running a program. The waiting program, R3_47F01, is blocked by group 2. The waiting
program can be resumed once group 2 is moved outside the AutoZone space
requested by R3_47F01.
If you press F3, VIEW , the display toggles to XZ and YZ views. These are projections
of the AutoZones onto the XZ and YZ planes. Example iPendant displays and
associated ROBOGUIDE images for each of the AutoZone status views follow. The
ROBOGUIDE images are a snapshot during the execution of a program. As is apparent
from the AutoZone status images, some robot paths are longer and reserve more
AutoZone space than others. See Figure 16.1 Interference Avoidance Display through
Figure 16.5 Interference Avoidance Display 5 .
Actual robot 3-D snapshot postures are displayed on the right hand side of Figure 16.1
Interference Avoidance Display through Figure 16.3 Interference Avoidance Display 3 ,
3-D AutoZone data of one motion segment within the specified space projected on the
2-D plane are displayed on the left hand side of the corresponding figures.
Figure 16.4 Interference Avoidance Display 4 is a 2-D Y-Z plane projection of one
motion segment associated with actual robot snapshot postures of Figure 16.5
Interference Avoidance Display 5 .