0% found this document useful (0 votes)
433 views48 pages

Kemro: Kemotion Workspace Monitoring User Manual V 3.04A

Manual Estun robot

Uploaded by

luis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
433 views48 pages

Kemro: Kemotion Workspace Monitoring User Manual V 3.04A

Manual Estun robot

Uploaded by

luis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

Kemro

KeMotion
Workspace Monitoring
User manual V 3.04a

Translation of the original manual


Document: V 3.04a / Article No.: 1005217
Filename: KeMotion_WorkspaceMonitoring_UserManual_en.pdf
Pages: 48

© KEBA 2015
Specifications are subject to change due to further technical developments. Details presented may be subject to correction.

All rights reserved.

Gewerbepark Urfahr, 4041 Linz, Austria, Phone: +43 732 7090-0, Fax: +43 732 7309-10,
KEBA AG Headquarters:
[email protected]

For information about our subsidiaries please look at www.keba.com.


KeMotion Record of Revision

Record of Revision

Version Date Change in chapter Description changed by


V1.0 19.01.2009 newly created slgh
TeachView operation
V2.30 19.01.2009 and KAIRO program- Functional enhancement pend
ming interface
V2.40 22.09.2011 Kemro_Automation 2.40 nmr
V2.50 02.04.2012 Kemro_Automation 2.50 pend
KeMotion 2.55, additional check points for tool and work-
V2.55 23.01.2013 nmr
piece
V2.60 14.06.2013 Kemro_Automation 2.60 nmr
V2.62 17.04.2013 2.3 Blocked areas with timeout nmr
V2.64 12.11.2014 Kemro_Automation 2.64 nmr
02.66 21.05.2015 Kemro_Automation 2.66 nmr
03.04 22.10.2015 KeMotion3 3.04, temporarily activ blocked areas nmr
3.04a 20.11.2015 5 KeMotion3 3.04a, max. number of checkpoints: 8 -> 24 nmr

User manual V3.04a 3


© KEBA 2015
KeMotion

4 User manual V3.04a


© KEBA 2015
KeMotion Table of contents

Table of contents

1 General information ................................................................................................... 9


1.1 Abstract............................................................................................................ 9
1.2 Details .............................................................................................................. 9
1.2.1 Checkpoints ....................................................................................... 10
1.2.2 Work areas and blocked areas .......................................................... 10
1.2.3 Signaling areas .................................................................................. 10
1.2.4 Area shapes....................................................................................... 10
1.2.5 Area base position ............................................................................. 10
1.2.6 Maximum number of areas ................................................................ 11
1.2.7 Monitoring requirements .................................................................... 11
1.2.8 Behavior for switched-off drives......................................................... 11
1.2.9 Behavior during jogging ..................................................................... 11
1.2.10 Behavior in operating mode "automatic"............................................ 11
1.2.11 Global and program-sensitive areas .................................................. 11
1.3 Functional scope.............................................................................................. 12

2 TeachView operation ................................................................................................. 13


2.1 Area state in the status bar .............................................................................. 13
2.2 State mask ....................................................................................................... 13
2.2.1 States of work areas and blocked areas............................................ 14
2.2.2 States of signaling areas ................................................................... 16
2.2.3 States of shared areas....................................................................... 16
2.3 Setup mask ...................................................................................................... 17
2.3.1 Basic parameters ............................................................................... 19
2.3.2 Advanced parameters for all kind of areas ........................................ 20
2.3.3 Advanced parameters for blocked areas only ................................... 21
2.3.4 Advanced parameters for shared areas only ..................................... 21

3 KAIRO programming interface.................................................................................. 22


3.1 Macros ............................................................................................................. 22
3.1.1 Activate / deactivate an area ............................................................. 22
3.1.2 Checking if a position is inside an area ............................................. 22
3.1.3 Checking if a position is inside a work space or blocked space ........ 23
3.1.4 Establish/cut connection between area and activation variable ........ 23
3.1.5 Allow entry of temporarily blocked area ............................................. 23
3.1.6 Activate smooth movement ............................................................... 24
3.1.7 Start block time countdown................................................................ 24
3.1.8 Wait until robot is within the area ....................................................... 24

User manual V3.04a 5


© KEBA 2015
Table of contents KeMotion

3.1.9 Set position and orientation ............................................................... 24


3.1.10 Set size of box-shaped areas ............................................................ 25
3.1.11 Set size of cylinder-shaped areas...................................................... 25
3.2 Unit variables ................................................................................................... 25
3.2.1 isInside............................................................................................... 25
3.2.2 active ................................................................................................. 25
3.2.3 areaType............................................................................................ 26
3.2.4 areaShape ......................................................................................... 26
3.2.5 refSys................................................................................................. 26
3.2.6 startPos.............................................................................................. 26
3.2.7 initialActive ......................................................................................... 26
3.2.8 lenX, lenY, lenZ ................................................................................. 26
3.2.9 height, radius ..................................................................................... 26
3.2.10 activateVar ......................................................................................... 26
3.2.11 stateVar ............................................................................................. 27
3.2.12 allowEnterVar .................................................................................... 27
3.2.13 isDisengageable ................................................................................ 27
3.2.14 moveSmoothly ................................................................................... 27
3.2.15 workingTime_s................................................................................... 27
3.2.16 smoothnessFactor ............................................................................. 27

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

5 Additional Checkpoints ............................................................................................. 40


5.1 Definition at runtime ......................................................................................... 40
5.1.1 Workpiece .......................................................................................... 41
5.1.2 Tool .................................................................................................... 42
5.2 Definition in the configuration........................................................................... 43

Glossary ...................................................................................................................... 45

6 User manual V3.04a


© KEBA 2015
KeMotion Table of contents

Index ............................................................................................................................ 47

User manual V3.04a 7


© KEBA 2015
Table of contents KeMotion

8 User manual V3.04a


© KEBA 2015
KeMotion General information

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.

Illustration 1-1: Robot with blocked areas.

1.2 Details
This chapter gives an overview of possible adjustments and the behavior of
the workspace monitoring.

User manual V3.04a 9


© KEBA 2015
General information KeMotion

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.

1.2.2 Work areas and blocked areas


A work area may not be left by a checkpoint. A violation of a work area is
present if at least one checkpoint is outside the work space (includes all
work areas). The border of a work area belongs to the work area itself.

A blocked area may not be entered by a checkpoint. A violation of a blocked


area is present if at least one checkpoint is inside a blocked area. The bor-
der of a blocked area belongs not to the blocked area itself.

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.

A temporarily active blocked area is functionally most like a shared area. In


contrast to a shared area a temporarily blocked area is not split between ro-
bots, but one robot and one external resource share the area. That means
the robot can only enter in the area if the external resource does not block
the area itself.

1.2.3 Signaling areas


A signaling work area is acting like a work area, however, no error occurs if
the checkpoint is leaving a signaling work area. A signaling blocked area is
acting like a blocked area, however, no error occurs if the checkpoint is en-
tering a signaling blocked area.

1.2.4 Area shapes


Area shapes with block-shaped or cylindrical dimensions are available. They
can be positioned at any place in space. Partly or totally overlapping of area
shapes is allowed.

1.2.5 Area base position


All work areas and blocked areas possess an area base position. It consists
of a position (x, y, z) and orientation (a, b, c) with a freely chosen static or
moving reference system. For a block-shaped area the base position is a
corner and for a cylindrical area it is the center of the base circle.

10 User manual V3.04a


© KEBA 2015
KeMotion General information

1.2.6 Maximum number of areas


The maximum number of areas is depending on the controller. The perfor-
mance requirements of the controller rise with the number of monitored ar-
eas.

1.2.7 Monitoring requirements


The workspace monitoring assumes checkpoints with absolute positions and
can, therefore, only be used with homed drives.

Information
Homing of the drives is a prerequisite for workspace monitoring. Without
homing it is not enabled.

1.2.8 Behavior for switched-off drives


During manual movement of the robot with homed and switched-off drives,
the actual values are used for checking work areas and blocked areas.
When entering a blocked area no error will be executed. However, the state
of every single area is calculated and visualized.

1.2.9 Behavior during jogging


When attempting to jog out of a work area or into a blocked area an info-
message appears and the robot stops at the work area border and blocked
area border, respectively. Jogging into the work area is possible if the robot
is inside a blocked area after switching-on the drives.

1.2.10 Behavior in operating mode "automatic"


In the case of a violation of the work area or blocked area during operating
mode "automatic" the program gets interrupted and the robot is stopping with
an error-message. The cause of the violation has to be solved before restart-
ing the program. E.g., a tool center point position is outside the work area.

Information
Starting a program is not possible as long as a violation of the work area or
blocked area is pending.

1.2.11 Global and program-sensitive areas


Global areas are utilized by all KAIRO-Programs. Loading a KAIRO-Program
activates program-sensitive areas, closing the program deactivates these ar-
eas.

User manual V3.04a 11


© KEBA 2015
General information KeMotion

1.3 Functional scope


Summary:

Checkpoints Tool center point (TCP)


Areas Work areas and blocked areas
Signaling areas Signaling work areas and blocked areas
Areas which are shared between various ro-
Shared areas bots. Only one robot is permitted to be inside
this area.
Area shapes block-shaped and cylindrical areas
Area base position static and moving areas
Program-sensitive areas global and program-sensitive areas
Maximum number of areas KeMotion r2000: 5, KeMotion r5000: 30

12 User manual V3.04a


© KEBA 2015
KeMotion TeachView operation

2 TeachView operation
TeachView operation

2.1 Area state in the status bar

Illustration 2-2: Total Collective area state in the status bar

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.

Symbol State Reason

Work area and blocked area,


ok
respectively, are not violated.
gray
No monitoring, because
● all areas are deactivated
unknown ● no checkpoints are
gray specified
● drives are not homed
At least one violation of an
area during preliminary calcu-
collision detected lation of the movement. How-
ever, the robot gets stopped
yellow inside the permitted area.

There is at least one violation


violated of a work area and blocked
area, respectively.
red

Area states in the status bar

2.2 State mask


The area state mask of the workspace monitoring is available through the
variable menu (x=). The state mask contains an overview of all work-,
blocked- and shared areas. The areas are shown in a sorted order depend-
ing on their type.

User manual V3.04a 13


© KEBA 2015
TeachView operation KeMotion

Illustration 2-3: State mask

2.2.1 States of work areas and blocked areas


The collective state of work space and blocked space is shown in the upper
section of the area state mask.

Symbol State Reason

Work area and blocked area,


ok
respectively, are not violated.
green
No monitoring, because
● all areas are deactivated
unknown ● no checkpoints are
gray specified
● drives are not homed
At least one violation of an
area during preliminary calcu-
collision detected lation of the movement. How-
ever, the robot gets stopped
yellow inside the permitted area.

14 User manual V3.04a


© KEBA 2015
KeMotion TeachView operation

There is at least one violation


violated of a work area and blocked
area, respectively.
red

Additionally, every single state of all work areas and blocked areas gets cal-
culated and shown in the mask.

States of work areas:


State Reason

There is no work area viola-


ok (inside) tion. All checkpoints are in-
side of this work area.
green

At least one checkpoint is


ok (outside) outside of this work area but
inside another work area.
green
No monitoring, because
● this work area is deacti-
vated
unknown
● no checkpoints are
gray specified
● drives are not homed
At least one violation of an
area during preliminary calcu-
collision detected (inside) lation of the movement. How-
ever, the robot gets stopped
yellow
inside the permitted area.

There is at least one work


violated (outside)
area violation.
red

States of blocked areas:


State Reason

There is no blocked area vio-


ok (outside) lation. All checkpoints are
outside of this blocked area.
green
No monitoring, because
● this work area is deacti-
vated
unknown
● no checkpoints are
gray specified
● drives are not homed

User manual V3.04a 15


© KEBA 2015
TeachView operation KeMotion

At least one violation of an


area during preliminary calcu-
collision detected (outside) lation of the movement. How-
ever, the robot gets stopped
yellow
inside the permitted area.

There is at least one blocked


violated (outside)
area violation.
red

2.2.2 States of signaling areas


These states are valid for signaling work areas as well as signaling blocked
areas. The transition between inside and outside is arranged in the same
way as for work areas and blocked areas.

State Reason
No monitoring, because
● this work area is deacti-
vated
unknown
● no checkpoints are
gray specified
● drives are not homed

There is at least one check-


inside point inside this signaling
area.
black

No Checkpoint inside of this


outside
signaling area.
black

2.2.3 States of shared areas


These states are valid for robots which are located inside and outside the
shared area. The transition between inside and outside is arranged in the
same way as for work areas and blocked areas.

State Reason

There is at least one check-


ok (inside)
point inside this shared area.
green

All checkpoints are outside of


ok (outside)
this shared area.
green

16 User manual V3.04a


© KEBA 2015
KeMotion TeachView operation

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.

2.3 Setup mask


The area setup mask of the workspace monitoring is available through the
variable menu (x=). It shows all available data for the selected area.

Illustration 2-4: Setup mask - basic settings

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.

User manual V3.04a 17


© KEBA 2015
TeachView operation KeMotion

The advanced settings are different, depending on the kind of


area

Illustration 2-5: Setup mask - advanced settings for work areas and signaling areas

Illustration 2-6: Setup mask - advanced settings for blocked areas

18 User manual V3.04a


© KEBA 2015
KeMotion TeachView operation

Illustration 2-7: Setup mask - advanced settings for temporary active blocked areas

Illustration 2-8: Setup mask - advanced settings for shared areas

2.3.1 Basic parameters

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.

User manual V3.04a 19


© KEBA 2015
TeachView operation KeMotion

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.

Area can be deactivated


If the flag is set the area can be deactivated.

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.

Usually, the activation is done by a macro in the KAIRO-Program. Should


the area become automatically active after a restart of the controller, the
"Auto-activate" flag has to be set.

2.3.2 Advanced parameters for all kind of areas

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.

20 User manual V3.04a


© KEBA 2015
KeMotion TeachView operation

2.3.3 Advanced parameters for blocked areas only

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.

Typically the permission to enter a temporarily blocked area is controlled


with a connected s are activated and deactivated with the help of a con-
nected allow-enter variable.

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.

2.3.4 Advanced parameters for shared areas only

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.

User manual V3.04a 21


© KEBA 2015
KAIRO programming interface KeMotion

3 KAIRO programming interface

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

3.1.1 Activate / deactivate an area


Activate ()

Deactivate ()

By using these macros it is possible to activate or deactivate the areas.

Example
Area1.Activate() // activates the area
Area1.Deactivate() // deactivates the area

3.1.2 Checking if a position is inside an area


IsPosInArea ( pos : POSITION ) : BOOL

This macro is used to check whether a position is in a certain area or not. It


can also be used for signaling areas. This check is performed only with the
geometric position (x, y, z).
Parameter

pos Position to check

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

22 User manual V3.04a


© KEBA 2015
KeMotion KAIRO programming interface

ELSE
    // the provided position (pos0) is outside of Area1
END_IF

3.1.3 Checking if a position is inside a work space or blocked space


This macro is used to check if a position is violating a work area or blocked
area. Signaling areas will not be considered. This check is performed only
with the geometric position (x, y, z).
PosHasSpaceViolation ( pos : POSITION ) : BOOL

Parameter

pos Position to check

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

3.1.4 Establish/cut connection between area and activation variable


With the help of these two macros it is possible to establish and cut a con-
nection between a Boolean activation variable and an area. When the vari-
able is set, the area is activated. When the variable is reset, the area is de-
activated. When a new variable connection is established, the activation
state of the area is instantly set according to the variables actual state.
Connect ( activateFlag : BOOL )

Parameter

activateFlag Trigger variable

Disconnect ()

Example
Area1.Connect(triggerVar) // Connection is established
Area1.Disconnect() // Connection is cut

3.1.5 Allow entry of temporarily blocked area


This macro allows entering a temporarily blocked area once.
AllowEnter ()

User manual V3.04a 23


© KEBA 2015
KAIRO programming interface KeMotion

Example
Area1.AllowEnter()

3.1.6 Activate smooth movement


With the help of this macro the automatic dynamic adjustment in case of an
occupied working area can be activated.
ActivateSmoothMove ( CONST moveSmoothly : BOOL )

Parameter

moveSmoothly Trigger variable

Example
Area1.ActivateSmoothMovement(movementVar) // Enable smooth movement

3.1.7 Start block time countdown


This macro starts the countdown of block time. That means after this point in
time the area will be free until the configured workingTime expired. With this
the automatically dynamic adaptation can be used also for temporarily active
blocked areas.
StartLockTimeCountdown ()

Example
Area1.StartLocktimeCountdown() // Block time - timer will be started

3.1.8 Wait until robot is within the area


With the help of this macro it is possible to wait until the robot is within the
area.
WaitRobInside ( )

Example
Area1.WaitRobInside() // Wait until the robot is inside

3.1.9 Set position and orientation


With the help of this macro it is possible to set the position and orientation of
the area relative to the base reference system.
SetTransformation( pos : CARTFRAME)

Parameter

pos Position of starting point

Area1.SetTransformation(startPos) // Set the starting point

24 User manual V3.04a


© KEBA 2015
KeMotion KAIRO programming interface

3.1.10 Set size of box-shaped areas


With the help of this macro it is possible to set the dimension of a box-
shaped area.
SetBoxSize( CONST distX : REAL; CONST distY : REAL; CONST distZ : REAL)

Parameter

distX Dimension in X-direction


distY Dimension in Y-direction
distZ Dimension in Z-direction

Example
Area1.SetBoxSize(500, 1200, 500) // Set the area dimension

3.1.11 Set size of cylinder-shaped areas


With the help of this macro it is possible to set the dimension of a cylinder-
shaped area.
SetCylinderSize( CONST radius : REAL; CONST height : REAL)

Parameter

radius Radius of the cylinder-shaped area.


height Height of the cylinder-shaped area.

Example
Area1.SetCylinderSize(200, 1200) // Set the area dimension

3.2 Unit variables


The actual state and properties of the area can be accessed by these vari-
ables. The variables are read only for the KAIRO-Program. Use the area in-
formation mask to change them.

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.

FALSE: vice versa to the TRUE values, or if there is no monitoring carried


out.

3.2.2 active
TRUE / FALSE: the area is activated / deactivated.

User manual V3.04a 25


© KEBA 2015
KAIRO programming interface KeMotion

3.2.3 areaType
This variable returns the area type. The used enumeration type is
AREATYPE.

WORKAREA Work area


LOCKEDAREA Blocked area
SIGNALWORKAREA Signaling work area
SIGNAL-
Signaling blocked area
BLOCKEDAREA
SHAREDAREA shared Workspace

3.2.4 areaShape
This variable returns the area shape. The used enumeration type is AR-
EASHAPE.

BOX Block-shaped area


CYLINDER Cylindrical area

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.8 lenX, lenY, lenZ


Describes the dimensions of the cuboid area. These values are only defined
for cuboid area shapes.

3.2.9 height, radius


Describes the dimensions of the cylindrical area. These values are only de-
fined for cylindrical area shapes.

3.2.10 activateVar
This variable is used as external trigger to activate/deactivate the area.

26 User manual V3.04a


© KEBA 2015
KeMotion KAIRO programming interface

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.

User manual V3.04a 27


© KEBA 2015
Examples KeMotion

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.

Illustration 4-9: State mask

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).

28 User manual V3.04a


© KEBA 2015
KeMotion Examples

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.

User manual V3.04a 29


© KEBA 2015
Examples KeMotion

The state of work area w1 is ok (outside).However, this is a correct state


because for avoiding a work space violation at least one checkpoint has to
be inside a work area. Thus, the collective state of the work space is valid.

4.4 Example 4
The flange of the robot is outside of both work areas but also outside the
blocked area.

30 User manual V3.04a


© KEBA 2015
KeMotion Examples

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.

User manual V3.04a 31


© KEBA 2015
Examples KeMotion

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).

32 User manual V3.04a


© KEBA 2015
KeMotion Examples

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.

User manual V3.04a 33


© KEBA 2015
Examples KeMotion

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.

34 User manual V3.04a


© KEBA 2015
KeMotion Examples

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).

User manual V3.04a 35


© KEBA 2015
Examples KeMotion

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.

36 User manual V3.04a


© KEBA 2015
KeMotion Examples

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.

User manual V3.04a 37


© KEBA 2015
Examples KeMotion

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.

38 User manual V3.04a


© KEBA 2015
KeMotion Examples

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.

User manual V3.04a 39


© KEBA 2015
Additional Checkpoints KeMotion

5 Additional Checkpoints

Illustration 5-11: Presentation of a robot with numerous 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 Definition at runtime


Objects, which can be changed at runtime and can contain guards (namely
workpieces and tools) use the type "GUARD" to represent their guards. This
type contains the following elements:
● initialActive: Determines, whether the guard should initially be active or
not.
● active: Indicates, whether the guard is active at the moment or not. If the
guard is not active, then all its checkpoints are ignored.
● expert: Determines, whether the checkpoints are given using the expert-
or the standard-definition. It depends on this entry which further ele-
ments are visible.
Expert-definition: Vectors for the checkpoints are given directly. Visible ele-
ments:
● nrVectors: Number of active checkpoints.
● vector: Array of checkpoints. Each checkpoint has the following ele-
ments:
● active: Indicates, whether the checkpoint is active.
● x, y, z: Coordinates of the checkpoint.
● type: Reference-system used for the coordinates. Available reference-systems are
"OFFSETTCP" and "OFFSETFLANGE".

40 User manual V3.04a


© KEBA 2015
KeMotion Additional Checkpoints

Standard-definition: The checkpoints are the corners of two rectangles


(base- and top-rectangle). Each rectangle is situated parallel to the xy-plane
of its reference-system. The edges are oriented parallel to the x- and y-axes
of its reference-system. The center lies on the z-axis of its reference-system.
The associated reference-systems are mentioned in the following chapters.
Visible elements:
● d1: Distance between xy-plane and base rectangle.
● a1: Edge length of the base rectangle in x-direction.
● b1: Edge length of the base rectangle in y-direction.
● d2: Distance between xy-plane and top rectangle.
● a2: Edge length of the top rectangle in x-direction.
● b2: Edge length of the top rectangle in y-direction.

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.

The type "WORKPIECE" contains a Macro "GuardEnable(enable : BOOL)"


which can be used to deactivate or activate the associated guard:
workpiece0.GuardEnable(FALSE) // deactivate the guard of 'workpiece0'

User manual V3.04a 41


© KEBA 2015
Additional Checkpoints KeMotion

Illustration 5-12: Visualization of the standard-definition of a workpiece-guard

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-13: Visualization of the standard-definition of a tool-guard

42 User manual V3.04a


© KEBA 2015
KeMotion Additional Checkpoints

5.2 Definition in the configuration


Checkpoints belonging to the robot can possibly be specified in the robot-
configuration (KeStudio) on a separate tab "Guard". This tab is robot-specific
and contains a set of parameters and a picture demonstrating which check-
points result from these parameters.

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.

User manual V3.04a 43


© KEBA 2015
Additional Checkpoints KeMotion

Illustration 5-15: Presentation of a checkpoint in the catalog with the assistance of UosDiag-


nostics.

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'.

44 User manual V3.04a


© KEBA 2015
KeMotion Glossary

Glossary

User manual V3.04a 45


© KEBA 2015
Glossary KeMotion

46 User manual V3.04a


© KEBA 2015
KeMotion Index

Index

User manual V3.04a 47


© KEBA 2015
Index KeMotion

48 User manual V3.04a


© KEBA 2015

You might also like