Kemro: Kemotion Workspace Monitoring User Manual V 3.04A
Kemro: Kemotion Workspace Monitoring User Manual V 3.04A
KeMotion
Workspace Monitoring
User manual V 3.04a
© KEBA 2015
Specifications are subject to change due to further technical developments. Details presented may be subject to correction.
Gewerbepark Urfahr, 4041 Linz, Austria, Phone: +43 732 7090-0, Fax: +43 732 7309-10,
KEBA AG Headquarters:
[email protected]
Record of Revision
Table of contents
4 Examples..................................................................................................................... 28
4.1 Example 1 ........................................................................................................ 28
4.2 Example 2 ........................................................................................................ 28
4.3 Example 3 ........................................................................................................ 29
4.4 Example 4 ........................................................................................................ 30
4.5 Example 5 ........................................................................................................ 31
4.6 Example 6 ........................................................................................................ 33
4.7 Example 7 ........................................................................................................ 34
4.8 Example 8 ........................................................................................................ 35
4.9 Example 9 ........................................................................................................ 36
4.10 Example 10 ...................................................................................................... 37
4.11 Example 11 ...................................................................................................... 38
4.12 Example 12 ...................................................................................................... 39
Glossary ...................................................................................................................... 45
Index ............................................................................................................................ 47
1 General information
1.1 Abstract
Information about the position of the robot is provided by the robot controller.
Therefore, robot position monitoring is possible. It is common to specify work
areas and blocked areas as well as shared areas. The TCP must not leave
allowed areas and must not enter prohibited areas. Shared areas can only
be entered by one robot at the same time.
In addition to monitoring the tool center point (TCP), further points on the ro-
bot can be monitored. In simple applications with Cartesian robots it may be
sufficient to check the endpoints and connection line of trajectories with re-
spect to work area or blocked area violation. In complex applications – espe-
cially with 6-axis-arms – it is necessary in most cases to monitor the whole
course of the path, as violations can also occur in a small section of the
path.
1.2 Details
This chapter gives an overview of possible adjustments and the behavior of
the workspace monitoring.
1.2.1 Checkpoints
Checkpoints are points on the robot which are used for collision detection
with work areas and blocked areas. For the time being, the tool center point
is exclusively used for the monitoring. An extension to additional checkpoints
on the robot, which can be parameterized freely, is possible.
A shared area can only be entered by one robot at the same time. There is
no need of additional configuration to use this feature. It is only necessary to
create the shared area itself. If one robot is located inside the shared area
and another robot attempts to move into the same shared area the dynamic
of the outside located robot will be reduced respectively stopped as well.
Information
Homing of the drives is a prerequisite for workspace monitoring. Without
homing it is not enabled.
Information
Starting a program is not possible as long as a violation of the work area or
blocked area is pending.
2 TeachView operation
TeachView operation
The area symbol in the status bar shows a collective state of all active work
areas and blocked areas. In the following, the collective state in the status
bar will be referred to as total collective state.
Additionally, every single state of all work areas and blocked areas gets cal-
culated and shown in the mask.
State Reason
No monitoring, because
● this work area is deacti-
vated
unknown
● no checkpoints are
gray specified
● drives are not homed
State Reason
No monitoring, because
● this shared area is deac-
tivated
unknown
● no checkpoints are
gray specified
● drives are not homed
All checkpoints are outside of
this shared area. In addition
occupied (outside)
another robot is located in-
gray/green side this shared area.
All checkpoints are outside of
this shared area but the robot
wants to enter this area. As
waiting (outside) another robot is located in-
side this shared area, the ro-
gray/yellow
bot has to wait until the area
is free.
All area parameters can be configured via this mask. There is the opportu-
nity to create pre-defined areas which are not editable with normal user lev-
els. Changes of such areas require the highest user level 16.
Illustration 2-5: Setup mask - advanced settings for work areas and signaling areas
Illustration 2-7: Setup mask - advanced settings for temporary active blocked areas
Select Area
This area's variable name. This is the area's name which cannot be
changed. It is only used to select the correct area mask.
Active
The flag indicates whether the area is activated or not.
Shape / Dimensions
You have the choice between a block-shaped and cylindrical area. Depend-
ing on the shape different dimension parameters appear.
Type
Selecting the area type: Selects the area type, like work area or blocked
area, signaling work area, signaling blocked area or shared area.
Reference system
Selects a reference system for the area base position. The reference system
must be available. If not, there is at least a pre-defined WORLD system
available.
Auto-activate
If the flag is set the area becomes automatically active after a restart of the
controller.
Activate / Deactivate
To activate or deactivate the monitoring of the area manually. All parameters
are checked for their validity if the area gets activated. In the case of an error
a message is displayed.
Activate variable
Selects a Boolean variable for edge-triggered activation/deactivation of the
area. When the variable is set, the area is activated. When the variable is re-
set, the area is deactivated. The specification of an activate variable is op-
tional.
State variable
Selects a Boolean variable to show the actual area state. For work areas this
variable is set, whenever the robot is inside this area and for blocked areas
whenever it is outside this area. The specification of a state variable is op-
tional.
Timeout
With this option a blocked area can be declared as temporarily active. If a ro-
bot tries to enter such an area while it is active, no error message is set. In-
stead the robot waits on the area boundaries until it gets the permission to
enter. Only after the waiting time exceeds the timeout given here, an error is
set.
Lock time
Average timespan from getting active until being deactivated again for this
blocked area. This value is used for the dynamic adjustment in a way that
the robot does not reach the boundaries of the area before this time has
elapsed. By activating the lock time, the automatic dynamic adjustment in
case of entering a temporarily active blocked area is enabled.
Smoothness
Smoothness of the performed dynamic adjustment in case of active tempo-
rarily blocked areas.
Time in area
Average time the robot will be located in this shared area. This value will be
used for the automatic dynamic adjustment in case that the robot's leaving
time cannot be predicted by the system.
Move smoothly
If this flag is set, the automatic dynamic adjustment will be performed.
Smoothness
Smoothness of the performed dynamic adjustment in case of occupied
shared areas.
3.1 Macros
Activate Activate area
Deactivate Deactivate area
IsPosInArea Position check in one area
PosHasSpaceViola-
Position check in all areas
tion
Connect Connect to an activate variable
Disconnect Disconnect form an activate variable
AllowEnter Allow entry of an temporarily active blocked area
ActivateSmoothMove Activates the automatically speed reduction
StartLockTimeCount-
Starts countdown of block time
down
WaitRobInside Waiting until robot is inside of an area
SetTransformation Sets start position of work space
SetBoxSize Sets size of an prismatic area
SetCylinderSize Sets size of an cylindrical area
Deactivate ()
Example
Area1.Activate() // activates the area
Area1.Deactivate() // deactivates the area
Return value
TRUE / FALSE, if the provided position is inside / outside the area.
IF Area1.IsPosInArea(pos0) THEN
// the provided position (pos0) is inside of Area1
ELSE
// the provided position (pos0) is outside of Area1
END_IF
Parameter
Return value
TRUE / FALSE, if the provided position is / is not violating a work space or
blocked space.
Example
IF PosHasSpaceViolation(pos0) THEN
// the provided position (pos0) is violating a work space or
ELSE
// the provided position (pos0) is not violating a work space or
// blocked space
END_IF
Parameter
Disconnect ()
Example
Area1.Connect(triggerVar) // Connection is established
Area1.Disconnect() // Connection is cut
Example
Area1.AllowEnter()
Parameter
Example
Area1.ActivateSmoothMovement(movementVar) // Enable smooth movement
Example
Area1.StartLocktimeCountdown() // Block time - timer will be started
Example
Area1.WaitRobInside() // Wait until the robot is inside
Parameter
Parameter
Example
Area1.SetBoxSize(500, 1200, 500) // Set the area dimension
Parameter
Example
Area1.SetCylinderSize(200, 1200) // Set the area dimension
3.2.1 isInside
TRUE for work areas: all checkpoints are inside the work area.
TRUE for blocked areas: at least one checkpoint is inside the blocked area.
3.2.2 active
TRUE / FALSE: the area is activated / deactivated.
3.2.3 areaType
This variable returns the area type. The used enumeration type is
AREATYPE.
3.2.4 areaShape
This variable returns the area shape. The used enumeration type is AR-
EASHAPE.
3.2.5 refSys
This variable returns the reference system for the area base position. The
used type is REFSYS.
3.2.6 startPos
This variable returns the area base position.
3.2.7 initialActive
If the Boolean flag is TRUE, the area becomes automatically active after a
restart of the controller. FALSE implies that the area is not activated.
3.2.10 activateVar
This variable is used as external trigger to activate/deactivate the area.
3.2.11 stateVar
This variable indicates whether the area is active or not.
3.2.12 allowEnterVar
This variable is used to control the release of a temporarily active block area.
3.2.13 isDisengageable
Area can be deactivated.
3.2.14 moveSmoothly
Enables the automatic dynamic adjustment if the shared area is occupied by
another robot.
3.2.15 workingTime_s
Average time the robot will be within this shared area.
3.2.16 smoothnessFactor
Smoothness of the performed dynamic adjustment in case of occupied
shared areas.
4 Examples
In this chapter, examples for possible states of the workspace monitoring,
are presented. All examples are using an articulated-arm robot with a check-
point placed on the center of the flange. Further two block-shaped work ar-
eas (w0, w1) and one cylindrical blocked area (b0) are specified. Due to clar-
ity reasons, signaling areas and signaling blocked areas are skipped here.
Anyway, they just return the states inside/outside, which behave like work
areas and blocked areas, respectively.
4.1 Example 1
In this example, drives are not homed. This implies that the state of the work
areas (w0, w1) and the blocked area (b0) is unknown.
4.2 Example 2
The flange of the robot (and thus the checkpoint) is inside the work areas
(green) and outside the blocked area (red).
Illustration 4-10: Robot with two work areas (green) and one blocked area (red).
4.3 Example 3
The flange of the robot is inside the work area w0 but outside the blocked
area.
4.4 Example 4
The flange of the robot is outside of both work areas but also outside the
blocked area.
The state of the work areas w0 and w1 is violated (outside) because for
avoiding a work space violation at least one checkpoint has to be inside a
work area. The collective state of the work space and the total collective
state return violated.
4.5 Example 5
In this example, the flange of the robot is positioned inside work area w0 and
a motion command is used to move the robot out of this work area. The
checkpoint is leaving the work space. It is assumed that no look ahead is
configured.
It is assumed that no look ahead is configured. The state of the work areas
w0 and w1 is violated (outside) because for avoiding a work space violation
at least one checkpoint has to be inside a work area. The collective state of
the work space and the total collective state return violated. Without look
ahead the robot cannot be stopped before leaving a work area and entering
a blocked area, respectively. On the one hand, the last entered work area is
shown in the displayed error message, on the other hand the state symbol in
the area state mask is flashing (in this case work area w0).
4.6 Example 6
In this example, the flange of the robot is positioned inside work area w0 and
a motion command is used to move the robot out of this work area. The
checkpoint is leaving the work space. It is assumed that the look ahead is
configured.
The state of work area w0 is collision detected (inside) (the state symbol is
flashing) and of work area w1 is ok (outside) because for avoiding a work
space violation at least one checkpoint has to be inside a work area. The
collision of the checkpoint with work area w0 is detected by the look ahead
which executes an emergency stop. So, the robot stops before really violat-
ing the blocked area. Thus, the collective state of the blocked space and the
total collective state return collision detected.
4.7 Example 7
In this example, the flange of the robot is positioned inside work area w0 and
an attempt is being made to jog out of this work area and therefore out of the
work space.
The state of the work area w0 is ok (inside) because the robot is being
stopped before leaving the work area. In other words, it is not possible to vi-
olate the work space with jogging. The collective state of the work space and
the total collective state return ok because no work area violation happened.
However, an info message is generated.
4.8 Example 8
The flange of the robot is inside the work area w1 but also inside the blocked
area b0.
The state of the work area w0 is ok (outside) because the checkpoint is not
inside w0 but inside the work area w1. Thus, the state of work area w1 is ok
(inside). The collective state of the work space returns ok because no work
space violation happened. The collective state of the blocked space and the
total collective state return violated because the robot is inside the blocked
space. A blocked space violation occurs if at least one checkpoint is inside a
blocked area. That is what happened in this case (the state symbol of the
blocked area b0 is flashing).
4.9 Example 9
In this example, the flange of the robot is inside work area w1 and a motion
command is used to move the robot into the blocked area. It is assumed that
no look ahead is configured.
The state of the blocked area is violated (inside) (the state symbol is flash-
ing) because at least one checkpoint is inside the blocked area. The collec-
tive state of the blocked space and the total collective state return violated.
Without look ahead the robot cannot be stopped before leaving a work area
and entering a blocked area, respectively.
4.10 Example 10
In this example, the flange of the robot is inside work area w1 and a motion
command is used to move the robot into the blocked area. It is assumed that
the look ahead is configured.
The state of the blocked area is collision detected (outside) (the state
symbol is flashing) because for avoiding a blocked space violation all check-
points have to be outside the blocked areas. The collision of the checkpoint
with blocked area b0 is detected by the look ahead which executes an emer-
gency stop. So, the robot stops before really violating the blocked area.
Thus, the collective state of the blocked space and the total collective state
return collision detected.
4.11 Example 11
In this example, the flange of the robot is inside work area w1 and an at-
tempt is being made to jog into the blocked area.
The state of the blocked space is ok (outside) because the robot gets
stopped before entering the blocked area. In other words, it is not possible to
violate the blocked space with jogging. The collective state of the blocked
space and the total collective state return ok because no blocked area viola-
tion happened. However, an info message is generated.
4.12 Example 12
In this example, the only checkpoint of the robot, which is the flange, is ex-
actly at the border of work area w1 and blocked area b0. In other words, the
flange has contact to the surface of box w1 and cylinder b0.The checkpoint
is exactly at the intersection point of both areas.
In this case, no violation of work areas and blocked areas occurred because
the border of a work area belongs to the work area itself and the border of a
blocked area does not belong to the blocked area itself.
5 Additional Checkpoints
The tool center point (TCP) is always relevant for workspace monitoring.
Still, there is the possibility to define additional checkpoints. These points
can refer to a workpiece, a tool or to the robot itself. Groups of additional
checkpoints are denominated as "guard". Up to now guards can in general
contain 24 checkpoints at most.
5.1.1 Workpiece
Workpieces are represented as instances of the type "WORKPIECE". This
type contains an element "guard" of the type "GUARD". With guards belong-
ing to workpieces both rectangles in the standard-definition relate to the ref-
erence-system "OFFSETTCP". A workpiece is assigned to a robot by calling
the macro "Workpiece(workpiece : WORKPIECE)":
Workpiece(workpiece0) // choose the workpiece 'workpiece0'
The guard of the workpiece is then considered for all further segments of
paths of the robot. Segments which were already submitted are not influ-
enced.
The predefined workpiece "noWp" has no active checkpoints and can there-
fore be used to deactivate observation.
5.1.2 Tool
Tools are represented as instances of the type "TOOL". This type contains
an element "guard" of the type "GUARD". With guards belonging to tools in
the standard-definition the base-rectangle relates to the reference-system
"OFFSETFLANGE", whereas the top-rectangle relates to the reference-sys-
tem "OFFSETTCP". A tool is assigned to a robot by calling the macro
"Tool(tool : TOOL_)". The guard of the tool is then considered for all further
segments of paths of the robot. Segments which were already submitted are
not influenced.
Illustration 5-14: Example for a picture on the 'Guard'-tab. From the parameter 'a' result 8
checkpoints at the corners of the depicted cube.
The checkpoints can then be found in the catalog. For experts it is possible
to define robot-checkpoints by manually creating the appropriate catalog-en-
tries.
The entry 'offsetType' indicates which reference-system is valid for the point:
● 0: TCP
● 1: Elbow
● 2: Flange
● 3: JointFrame
If 'JointFrame' is used, then the used axis has to be specified in the addi-
tional entry 'jointNr'.
Glossary
Index