Sie sind auf Seite 1von 33

FTCtrl

User Manual
User Manual for the RSI Force Control Package for
KUKA Robot Control KR C1, KR C2 and KR C3
Software Version V4.0 and higher

Version:
Date:

Amatec Robotics GmbH


Landsberger Str. 63a
D-82110 Germering
e-mail: info@amatec.de
Tel.: +49 (0)89 / 894393-0
Fax: +49 (0)89 / 894393-10

1.1
25.1.2005

FTCtrl Documentation / English

1
Product Description .......................................................................................................... 4
2
Setup ................................................................................................................................. 6
2.1 Hardware Requirements ................................................................................................... 6
2.2 Software Requirements..................................................................................................... 6
2.3 Installation Procedure ....................................................................................................... 7
2.4 Mounting the Sensor......................................................................................................... 7
2.5 Safety Notes ...................................................................................................................... 8
3
Programming Instructions................................................................................................. 9
3.1 Principle of Force Control ................................................................................................ 9
3.2 Classic Example: Cube on Sloping Plane....................................................................... 11
3.2.1 Pressing (Figure 5)...................................................................................................... 11
3.2.2 Pressing with orientation compensation (Figure 6) .................................................... 12
3.2.3 Pressing towards a joining bevel (Figure 8) ............................................................... 13
3.2.4 Pressing towards a joining bevel with orientation compensation (Figure 9).............. 14
3.3 Configuration Program FTCtrlConfig ............................................................................ 15
3.3.1 Property Sheet Sensor Settings ................................................................................... 17
3.3.2 Property Sheet Force Control...................................................................................... 18
3.3.3 Property Sheet Break Condition ................................................................................. 18
3.3.4 Property Sheet Path Limit........................................................................................... 19
3.3.5 Property Page Controller Tuning ................................................................................ 20
3.4 Integration of Force Control into KRL ........................................................................... 21
3.4.1 Force Control on User Layer (FTCtrlTech)................................................................ 21
3.4.1.1 FTCtrlInit................................................................................................................. 22
3.4.1.2 FTCtrlInitComp ....................................................................................................... 22
3.4.1.3 FTCtrlCalibSens ...................................................................................................... 23
3.4.1.4 FTCtrlOnBreak ........................................................................................................ 23
3.4.1.5 FTCtrlOnCP............................................................................................................. 23
3.4.1.6 FTCtrlOffCP............................................................................................................ 23
3.4.1.7 FTCtrlForce ............................................................................................................. 23
3.4.1.8 FTCtrlTorque........................................................................................................... 23
3.4.1.9 FTCtrlEnable ........................................................................................................... 23
3.4.1.10
FTCtrlBreakTime ................................................................................................. 24
3.4.2 Force Control On Expert Layer .................................................................................. 24
3.4.2.1 RSI Basics................................................................................................................ 24
3.4.2.2 RSI Structure of the Force Control.......................................................................... 24
3.4.2.3 Combination of Technology Package and Expert Programming ............................ 26
3.4.2.4 Motion Programming .............................................................................................. 26
3.4.3 Gravity Compensation ................................................................................................ 27
3.5 Visualization of measurements....................................................................................... 28
3.5.1 RSIMonitor ................................................................................................................. 28
3.5.2 User layer commands for RSIMonitor with FTCtrl.................................................... 29
3.5.2.1 FTCtrlMonitorInit.................................................................................................... 29
3.5.2.2 FTCtrlMonitorStart.................................................................................................. 29
3.5.2.3 FTCtrlMonitorStop.................................................................................................. 29
3.5.3 Network configuration for RSIMonitor ...................................................................... 29
3.5.3.1 RSIMonitor running on robot controller ................................................................. 30
FTCtrl User Manual

-2-

Version 1.1

FTCtrl Documentation / English

3.5.3.2 Monitor running on external PC.............................................................................. 30


3.5.3.3 Functionality of RSIMonitor ................................................................................... 32
4
Appendix......................................................................................................................... 33
4.1 Abbreviations.................................................................................................................. 33
4.2 References....................................................................................................................... 33
4.3 Utility Programs.............................................................................................................. 33

FTCtrl User Manual

-3-

Version 1.1

FTCtrl Documentation / English

Product Description

The control and programming of robots is usually done by specifying positions (PTP) or trajectories (LIN, CIRC) that the robot shall move to or shall execute. This is basically only possible if the robot has no contact to its environment and thereby the positions can be reached
without collisions. However as soon as the robot has contact to a work piece, a decisive role
befits the contact forces and torques particularly if these forces and torques have an influence
on the process to be carried out. These process forces can not or can only be insufficiently
influenced by conventional mechanisms of robot programming. Therefore tools are often used
that at least can limit the process forces by mechanical compliances. Although there are expensive tools it is still difficult to set the nominal process forces and to keep them during the
complete process. In particular component tolerances and position tolerances also can have a
considerable influence on the process forces.
Force control offers a solution to these problems. The force control extends the KUKA robot
by the ability to control process forces, contact forces and torques at programmable nominal
values. Thereby the force-controlled robot can autonomously move to the position where the
programmable forces are applied to a work piece or tool without programming an explicit
move command (e.g. LIN {}). The appearing contact forces and torques are measured and
processed with a high frequency (every 12 ms). The necessary software is implemented in the
real time core of the robot control. This guarantees a high quality of the force control. It can
correspondingly be reacted very fast to deviations of the required nominal forces or torques.
Some application examples help to clarify the variety of usage possibilities:

Tension-free positioning (assembly)


The robot positions a work piece. Contact forces and torques are minimized by a corresponding robot movement such that no external forces act on the work piece at the
ending positions. Moving to stop

Keeping of process forces independently of the parts position and tolerance (sticking,
polishing)
Setting and keeping an accurate-defined force, even if the environment conditions are
changing, for instance due to displacement of sticking material, or due to carry off material by a polishing disk.

Keeping of complex force profiles during processing (grinding, roll-folding)


An accurately defined force profile is superimposed on a programmable trajectory
such that suitable forces are always applied according to the current robot position

Compensation of part tolerances by programming an active compliance of the robot


(joining processes)
For instance soft switching of the robot enables the sliding down a joining bevel without having to program the necessary compensating movement.

FTCtrl User Manual

-4-

Version 1.1

FTCtrl Documentation / English

Delicate collision monitoring (Handling)


If the programmable force/torque limits are exceeded a free programmable error
handling can be invoked.

Besides the flexible, configurable contact force control the FTCtrl-Package offers a series of
safety relevant monitoring functions:

Sensor load monitoring


At overload of the sensor the robot is stopped and a destruction is prevented by that.

Programmable tolerance intervals for the programmed forces and torques


If the measured force is within the tolerance region of the nominal force (e.g. 5 N
for a nominal force of 20 N), the control goal is reached and the force control will be
stopped. The robot control switches back to its normal position-controlled operating
mode. Thereby a robust design of the force control can be realized.

Timer-supervised control on programmed forces


If the programmed nominal forces are not reached before expiration of a programmable timer, the force control can be stopped and error handling can be called.

Timer-controlled hold of nominal force


The programmed forces can be hold for a programmable time interval. After expiration of the timer the robot control switches back to position-controlled operating
mode.

Travel limitation of force-controlled movement


Position changes of the robot at force control operating mode due to external forces
can be limited. If the traveled distance exceeds a programmable upper limit the force
control will be aborted and error handling will be called.

The FTCtrl- package is completely integrated (both hardware and software) into the KUKArobot control. The usage is organized in several layers: A graphical user interface is provided
to enter robot-specific and application dependent characteristic quantities and parameters.
Based on these inputs a configuration file is produced that contains all settings for the forcecontrolled processing step. The actual processing step can be programmed as usual with the
robot programming language KRL whereby a set of selected force/torque KRL-commands are
available. In addition, there is the possibility to program freely the force control on an RSI
expert level.

FTCtrl User Manual

-5-

Version 1.1

FTCtrl Documentation / English

Setup

2.1

Hardware Requirements

KUKA Robot Control KR C1, KR C2 or KR C3 with


- at least 400 MHz CPU
- 128 MB RAM
- free ISA slot for JR3 or ATI-adapter card if necessary - depending on used sensor

One Force-/Torque-Sensor
Force-/Torque-sensors are available for load ranges from few [N] up to several [kN]
and thus a wide application spectrum is covered. More information on request from
Amatec Robotics GmbH.

2.2

Software Requirements

Control software KR C Release 4.0 or higher

RSI-Software Interface Release 2.0 or higher

FTCtrl package is based on RSI- Interface. RSI (Robot- Sensor- Interface) is the KUKA
Interface for integration of real-time sensor systems to the robot controller.

FTCtrl User Manual

-6-

Version 1.1

FTCtrl Documentation / English

2.3

Installation Procedure

The force control software will be installed by calling the Setup.exe in root directory of the
installation media. In a dialog window (Figure 1) RSI has to be chosen first when it isnt still
installed in a valid version. If the KR C software is still running when the installer is started a
reboot is necessary to finish installation.

Figure 1: Installation program FTCtrlSetup

2.4

Mounting the Sensor

In order to avoid mechanical overload it is recommended to mount the sensor as narrow as


possible to the point where the forces and torques apply. Thereby unnecessary high torques
(long levers!) are avoided (Figure 2). The mounting position and orientation of the sensor
coordinate system with respect to the robot flange coordinate system should be noted down.
Later this information is needed at initialization of the software.
The sensor has to be mounted free of tensions. Tighten the screws evenly and crosswise.

FTCtrl User Manual

-7-

Version 1.1

FTCtrl Documentation / English

good

bad
robot
flange

robot
flange
sensor
sensor

Figure 2: Mounting the sensor

2.5

Safety Notes

Improper or non-dedicated usage can result in

Danger for body and life and

Danger for the robot system and further assets of the user
All safety regulations of a robot system have to be applied without exceptions for a system
with force control [1].
In addition the integration of sensors into the robot system requires an extension of the general safety regulations:
At sensor mode unexpected movements and path corrections may occur if a
KRL program is selected that contains instructions of the FTCtrl package and
the drives are switched on!
At normal robot operating the robot moves exactly on a programmed trajectory (program operating mode) or the robot is controlled by the operator via pressing keys of the operating
panel (Setup mode). In any case the operator can anticipate the behavior of the robot. However if using force control, the robot proceeds due to sensor measurements. Thus the movements of the robot are not in principle foreseeable absolutely, because external and sometimes
unknown factors (e.g. contact forces) influence the robot trajectory.
Unexpected movements can be also caused by:

Sensor failure, cable damage

Wrong controller tuning, this means wrong controller parameters  instable controller

FTCtrl User Manual

-8-

Version 1.1

FTCtrl Documentation / English

To avoid risks for body and life no persons are being allowed to stay within the
workspace of a force-controlled robot. This yields also for the T1- mode, since
by the consideration of the sensor data for the computation of the robot trajectory, running the robot with reduced speed is not guaranteed.
The following safety regulations have to be taken care at application of the force control:

Always check programs first in operating mode test (T1, T2)


(Confirm key!)

Adjust software- and hardware-end-switches to limit workspace

Limit region of sensor motion by workspace monitoring

Controller tuning with care and expertise

Staying within the workspace of the robot is forbidden!

Programming Instructions

3.1

Principle of Force Control

The generalized task of force control is to execute a robot motion depending on external
forces and torques acting on the robot tool/work piece. In principle the following cases are
relevant for practical applications:

Controlling external forces to zero


Forces are avoided by moving into the direction of force.
Practical example: Compensation of position inaccuracies
With the help of joining bevel devices a work piece can exactly positioned, although
the counterpart lies in a not exactly defined position.

Setting external forces


The robot moves into the direction of the nominal forces up to the desired set values
are reached. Application example: Applying of defined process forces (sticking, rollfolding)

In analogy for torque control a rotation is carried out into the direction of torque.

Controlling external torques to zero


Torques are avoided by rotation in the direction of torque.

FTCtrl User Manual

-9-

Version 1.1

FTCtrl Documentation / English

Practical example: Pressing flatly the underside of a work piece on a pad (sticking,
polishing, grinding)

Setting external torques


Practical example: Tighten a screw with a defined torque.

The torque having an effect on a body always refers to a defined reference point. Thereby a
torque around the reference point leads to rotation around this point. At use of the FTCtrl
package the current TCP is fixed as a reference point automatically. As usual the application
programmer can adjust the reference point of the force control as TCP [2]. He only has to take
care that the measured TCP also is selected during the force-controlled processing step.
For the spatial description of the force acting on the tool in the reference point, the introduction of the control coordinate system is necessary (Figure 3). This force can be divided into
the three components of an orthogonal coordinate system. The force control is done by three
single controllers for the directions of the control coordinate system. In analogy the torque
vector acting on the tool is divided into three components and is feed into three independent
torque controllers. In summary up to six independent controllers can be involved for
force/torque control. The control coordinate system is optionally positioned either in the origin of the tool center point or in a coordinate system with origin at the tool center point but
with same orientation as the base coordinate system.
It is possible to limit degrees of freedom of the sensor motion by switching on or switching
off the individual controllers working in the control coordinate system. If for example only
the controller in X-direction is activated the force control system only reacts on forces in Xdirection with a movement to this direction. If in contrary all six degrees of freedom are active the tool can move to any arbitrary position by the appropriate load. The task of the user is
to determine a proper configuration for his application.

TCP
control coordinate system

Figure 3: Control coordinate system


In conclusion the application of the force/torque control requires the following considerations:
FTCtrl User Manual

- 10 -

Version 1.1

FTCtrl Documentation / English

About which point shall be controlled (reference point) ?


Where can the control coordinate system be positioned ?
Which nominal forces and torques must be programmed in which direction to get the
desired motion profile ?

Illustrative examples about this topic can be found in chapter 3.2


A conventional CP robot movement can be superimposed over the resulting movement due to
force/torque control. Take into account that the overall movement is ended at the point of time
where the originally planned trajectory would reach its target point. Therefore in practice it is
recommended to decouple the motions. This means a force control is superimposed orthogonal over a Cartesian trajectory to the current movement vector. In Figure 4 a force-controlled
degree of freedom is superimposed over the programmed trajectory (horizontal) in orthogonal
direction.

degree of
freedom
for FT
control

programmed
path

Figure 4: Superimposed sensor motion

3.2
3.2.1
Fx
-

Classic Example: Cube on Sloping Plane


Pressing (Figure 5)
Fy
-

Fz
50

Mz
-

My
-

Mx
-

Motion:
The cube drives into Z- direction as far as its right bottom edge reaches the sloping plane.
Explanation:
After reaching the contact position the nominal force of 50 N is applied and the robot comes
to standstill since the difference between nominal and actual force is controlled to zero.
FTCtrl User Manual

- 11 -

Version 1.1

FTCtrl Documentation / English

Figure 5: Pressing a cube

3.2.2
Fx
-

Pressing with orientation compensation (Figure 6)


Fy
-

Fz
50

Mz
-

My
0

Mx
-

Motion:
The cube drives into negative Z-direction. At contact of the right bottom edge the cube rotates
about the Y axis till it is laid up flat.
Explanation:
At the edge a force acts on the cube in normal direction of the plane. This forces leads to a
torque around the control point. Since the nominal value for the torque around Z is zero, the
acting pull-out torque is avoided by rotation around Y.

FTCtrl User Manual

- 12 -

Version 1.1

FTCtrl Documentation / English

Figure 6: Pressing a cube with orientation compensation


The example shown in Figure 7 helps to clarify the influence of the control coordinate system:
Tool coordinate system:
The tool coordinate system is the reference system for setting of nominal values. It rotates
with the tool. Thereby the direction of the force to be applied also changes with the rotation of
the tool. This yields in an arched trajectory.
Base coordinate system:
The settings of nominal values refer to the coordinate system independent of the orientation of
the tool. Thereby there will be no change in the direction of the nominal force and the tool
moves on a straight line.
Also the contact force of the cube to the sloping plane depends on the chosen control coordinate system. With the tool coordinate system used as control coordinate system the nominal
force of 50N is applied as normal force to the surface. On the other hand, if controlled with
respect to the base coordinate system the normal force Fz * sin() is applied only.

base

tool

Figure 7: Influence of the control coordinate system on the robot motion

3.2.3
Fx
0

Pressing towards a joining bevel (Figure 8)


Fy
-

Fz
50

Mz
-

My
-

Mx
-

Motion:
The cube is moved into negative Z direction. After the right bottom edge touches the plane,
the cube glides down the sloping plane.

FTCtrl User Manual

- 13 -

Version 1.1

FTCtrl Documentation / English

Explanation:
At the edge a force acts on the cube in normal direction of the plane. This force contains a Xcomponent in the control coordinate system. Because the nominal force is zero, the control
evades by moving into negative X-direction.

Figure 8: Pressing a cube towards a joint bevel

3.2.4

Pressing towards a joining bevel with orientation compensation


(Figure 9)

Fx
0

Fy
-

Fz
50

Mz
-

My
0

Mx
-

Case 1: Control coordinate system = tool coordinate system


Motion:
The Cube is moved into Z-direction. At contact with the right bottom edge the cube starts
rotating and simultaneously sliding down the slope. The movement ends when the cube lies
flat on the plane.
Explanation:
At the edge a force acts on the cube in the normal direction of the plane. The motion arises
from the superimposing of the motions from 3.2.2 and 3.2.3.
It is not clearly foreseeable how far the cube will glide down the plane, since with ending of
the rotational motion also the translation motion will be ended.
Case 2: Control coordinate system = base coordinate system
Motion:
see above

FTCtrl User Manual

- 14 -

Version 1.1

FTCtrl Documentation / English

The translation in negative X-direction does not end with the alignment of the cube on the
sloping plane but the cube continues gliding. The desired set values can not be reached with
that arrangement.

Figure 9: Pressing towards a joining bevel with orientation compensation

3.3

Configuration Program FTCtrlConfig

The force control can be flexibly configured for the specific application requirements through
an extensive set of parameters. The Windows program FTCtrlConfig serves for input of these
parameters. It can be started from the KUKA BOF in menu <Monitor> (Figure 10).

Figure 10: Menu item FTCtrlConfig

FTCtrl User Manual

- 15 -

Version 1.1

FTCtrl Documentation / English

Figure 11: FTCtrlConfig


A parameter set for a force-controlled robot motion can be comfortably entered into five
property sheets and saved on file (Figure 11). In KRL the force control is initialized with the
corresponding file name.
The input and navigation through the program is possible via KCP.
Important key shortcuts for usage of FTCtrlConfig with the KCP are:
User:
Key combination
TAB key:
Shift + TAB key:
CTRL key + TAB key:
Windows Key:
ALT key + <letter>:
ESC key:

Expert:
Key combination
ALT key + TAB key:
FTCtrl User Manual

Function
Switches the input focus to the next control
Switches back the input focus to the previous control
Switches to the next property sheet
Returns from FTCtrlConfig to BOF (user)
Opens a menu (e.g. ALT + f: file menu)
Closes an open menu

Function
Changes to arbitrary application
- 16 -

Version 1.1

FTCtrl Documentation / English

ALT key + ESC key:


CTRL key + ESC key:
CTRL key + E:

3.3.1

Changes to next application


Opens the Windows start menu
Starts the Windows Explorer

Property Sheet Sensor Settings

Setting Arrangement:
Describes the assembly of the sensor regarding the robot. The position and orientation of the
sensor coordinate system are specified with respect to the flange coordinate system. The rotations are specified by Euler angles in ZYX-representation.
Setting Maximum Load:
In order to protect the sensor from overload and therefore from damage, the admissible measuring range of the sensor has to be defined. Thereby the maximum values to be entered refer
to the sensor coordinate system and not to the control coordinate system. If the maximum load
is exceeded a confirmation message pops up. The movement of the robot and the execution of
the KRL program will be stopped. After confirmation the robot motion can be continued provided that the measuring values are again in the admissible region. The monitoring also works
if the force control is not active, but only in the program region between ST_ON and
ST_OFF. See also [3].

Figure 12: Sensor settings

FTCtrl User Manual

- 17 -

Version 1.1

FTCtrl Documentation / English

3.3.2

Property Sheet Force Control

Setting Control Coordinate System:


The control coordinate system has always its origin at the TCP. The orientation is defined as
follows:
Base:
Tool:

Orientation of base coordinate system


Orientation of tool coordinate system

Setting Component / Nominal Value:


The feedback control is internally implemented by three single controllers (3 force controllers, 3 torque controllers) for the three components of the control coordinate system. With that
the user can activate or deactivate the control of single axes of the control coordinate system.
If one controller is activated a nominal value adjustment is planned.
It is recommended to fix the control coordinate system such that as few as possible component controllers have to be activated. If a tool shall be force-controlled in the direction of impact, one defines the tool coordinate system with one axis in the direction of impact and activates this axis for force control.

Figure 13: Force control

3.3.3

Property Sheet Break Condition

Setting Break Tolerance:


For each active component of the control coordinate system a tolerance interval around the
nominal value can be defined. If the actual values of all defined components are within this
FTCtrl User Manual

- 18 -

Version 1.1

FTCtrl Documentation / English

tolerance interval, the so-called break condition is fulfilled and the control goal is reached.
The control process will be ended.
Setting Timer: Waiting Time
With the first fulfillment of the break condition a timer is started. After expiry of the predefined time interval the break signal is set.
Setting Timer: Max. Time:
If the sensor motion is not finished within the maximum time the break signal will be set also.

Figure 14: Break Condition

3.3.4

Property Sheet Path Limit

It is possible to limit the maximum travel distance of the force control in all directions of the
control coordinate system. In case of overstepping, the break signal is fired. The path that is
moved due to a superimposed CP movement, remains unconsidered at the monitoring.

FTCtrl User Manual

- 19 -

Version 1.1

FTCtrl Documentation / English

Figure 15: Path Limit

3.3.5

Property Page Controller Tuning

Each of the six controllers can be individually configured.


Input of System Stiffness:
Here the stiffness of the complete system consisting of the robot including tool (e. g. robot +
cube in figure 9) and basis (e.g. sloping plane in figure 9) are registered. Stiffness can either
entered in predefined characteristics steps or if the exact value is known it can be directly
typed in.
Input of Velocity:
This setting influences the dynamic of the control. A fast control approaches faster the nominal value, but tends to overshoot and to become instable. A slow control needs more time to
reach the nominal value, but is more stable.
Input of Dead Time:
Characteristic value of the robot. Time delay until the robot reacts on a position correction.
Adjust 12 ms for all KUKA robots.
Input of Rising Time:
Characteristic value of the robot that determines the dynamics of a position correction. This
value depends on the robot type and on the machine data.

FTCtrl User Manual

- 20 -

Version 1.1

FTCtrl Documentation / English

Figure 16: Controller Tuning

3.4

Integration of Force Control into KRL

RSI is the basis of the FTCtrl software. It is the software interface for the sensor integration
into the KRC. The functionality of the force control may be used via the KRL on two different levels depending on knowledge stand of the user.
Technology Package FTCtrl (User):
Via menu items inline-forms for the FTCtrl-instructions are. Thereby a quick integration of
force control is possible without having detailed knowledge. Mostly all force control applications can be programmed on this level.
RSI Programming FTCtrl (Expert):
Programming on base of the RSI interface. Also applications that exceed the standard application case can be programmed with the necessary expert knowledge.
In principle it is possible to combine both methods. It can absolutely make sense to extend a
base application programmed with technology package functions by RSI programming if necessary.

3.4.1

Force Control on User Layer (FTCtrlTech)

Menu <Technology> contains the technology package <FTCtrl Tech> after installation of
FTCtrl.

FTCtrl User Manual

- 21 -

Version 1.1

FTCtrl Documentation / English

Figure 17: Menu item FTCtrl-Tech


With the functions contained in it the user simply can integrate force control instructions into
a KRL program.

3.4.1.1

FTCtrlInit

Initializes the force control. Can be called multiple times in the KRL program if a new Initfile has to be read. At calling time the sensor will be offset-compensated. For that reason the
robot must be in the start position of the force control. No outer forces and torques must act
on the tool yet, because otherwise these are added to the static force/moment parts (sensor
offset, mass of the tool). However these forces/torques shall just be eliminated by the compensation.
Input field Initfile:
List field Sensor:

3.4.1.2

Name of the parameter file for initialization generated by FTCtrlConfig;


The extension .ftc must not be entered.
Applied Sensor;

FTCtrlInitComp

The force control is initialized with dynamic forces due to gravity (see also 3.4.3). Therefore
details on the load are necessary:
FTCtrl User Manual

- 22 -

Version 1.1

FTCtrl Documentation / English

Input field Load:


Input field Cog X:
Input field Cog Y:
Input field Cog Z:

3.4.1.3

Force due to gravity of load in [N];


Center-of-gravity coordinate w.r.t. sensor coordinate system X direction
Center-of-gravity coordinate w.r.t. sensor coordinate system Y direction
Center-of-gravity coordinate w.r.t. sensor coordinate system Z direction

FTCtrlCalibSens

Calibrates sensor to zero for actual position.


Input field Wait:

3.4.1.4

Delay time before calibration to eliminate effects of vibration from deceleration.

FTCtrlOnBreak

Executes a pure sensor-guide movement. This is ended either by satisfying the break conditions or by occurring of a path or time transgression.

3.4.1.5

FTCtrlOnCP

Activates force control. The following CP movements of the KRL program are executed with
superimposed force control.

3.4.1.6

FTCtrlOffCP

Deactivates force control after a leading FTCtrlOnCP.

3.4.1.7

FTCtrlForce

Nominal value of one force component;


List box Axis:
Input field Force:

3.4.1.8

Force component w.r.t. control coordinate system;


Value of component;

FTCtrlTorque

Nominal value of one torque component;


List field Axis:
Torque component w.r.t. control coordinate system;
Input field Torque: Value of component;

3.4.1.9

FTCtrlEnable

(De)activates the degrees of freedom of the control;


List field Fx:
List field Fy:
List field Fz:
List field Mz:
List field My:
List field Mx:

FTCtrl User Manual

(De)activate X- direction of control coordinate system;


(De)activate Y- direction of control coordinate system;
(De)activate Z- direction of control coordinate system;
(De)activate rotation around Z- direction of control coordinate system;
(De)activate rotation around Y- direction of control coordinate system;
(De)activate rotation around X- direction of control coordinate system;

- 23 -

Version 1.1

FTCtrl Documentation / English

3.4.1.10

FTCtrlBreakTime

Sets the timer value. If a break condition is fulfilled the timer started. After its expiry an "OnBreak" movement is ended;
List field Time:

3.4.2

3.4.2.1

Value of timer in [s];

Force Control On Expert Layer

RSI Basics

The functional operating of the FTCtrl Tech Software is connected closely to the RSI. A
deeper understanding requires a certain knowledge of this interface for the sensor integration.
RSI enables to create a structure of objects from the KRL environment that are connected
with each other through a signal bus. These RSI objects are evaluated in parallel to the execution of the KRL program in the order defined by the signal flow in real time. New RSI objects
can be added to the per default available objects by so-called RSI drivers. Thereby the system
is arbitrarily expandable.
At creation a handle is assigned to the object. With this handle the object can be referenced in
the remaining KRL program.
A detailed explanation can be found in the RSI-documentation [3].
The force control requires a RSI-driver for the F/T Sensor ( ATI, JR3 or DLR) as well as the
driver for the force control. These are automatically loaded after installation and therefore the
programmer can apply these objects in his KRL program.

3.4.2.2

RSI Structure of the Force Control

The basic structure of the force control is quite simple (Figure 18)
Fx
Fy

DLRSENS

Fz
Mz

FTCTRL

My
Mx

Figure 18: RSI Structure of the force control


A sensor object provides the measuring values at its outputs. These are processed by the force
control object that is connected to the sensor object.
The corresponding KRL code section:
;-------------------------------------------------------------------------------------------------...
FTCtrl User Manual

- 24 -

Version 1.1

FTCtrl Documentation / English

;Declarations
INT HSens, HFT
;Variables for storing handles of RSI-objects
CHAR StrIniFile[2];Variable for storing configuration file name
DECL RSIERR err
;Variable for storing return value
DECL FTCSTAT reas ;Variable for storing break reason of sensor motion
...
;Create a DLRSENS object
err=ST_DLRSENS(HSens,0)
;Assigning the configuration file name
StrIniFile[]=inifile.ftc
;Create a FTCTRL object. Connect inputs with
;outputs of DLRSENS object
err=ST_FTCTRL(HFT,0,HSens,1,HSens,2,HSens,3,HSens,4,HSens,5,HS
ens,6,RSIBREAK,StrIniFile[])
...
;Switching on sensor data processing (RSI command)
err=ST_ON()
;Sensor-guided motion (RSI command)
ST_SKIPSENS()
;Query break reason
err=ST_FTCTRL_GETBREAKREASON(HFT,reas)
...
;-------------------------------------------------------------------------------------------------Explanations to creation of FTCtrl object:
1. The parameters1-14 of ST_FTCTRL serve for the integration in RSI (Handle, Container,
signal connection).
2. Parameter 15 of ST_FTCTRL defines the index of a digital output. This output is set by the
object if a break condition of the sensor motion is fulfilled.
3. Parameter 16 of ST_FTCTRL defines the initialization file of the object. It contains the
parameters of the objects key functionalities.

Intrusion of force control motion


Monitoring of input values concerning sensor overload
Monitoring of the break conditions
Monitoring of travel- and time limits

FTCtrl User Manual

- 25 -

Version 1.1

FTCtrl Documentation / English

4. Via the outputs 1-6 of the FTCTRL object one gets the load that is transformed into the
control coordinate system. An additional functionality can be realized by connecting further signal processing RSI objects. Example: User-defined break condition.
5. Via output 7 one gets the status of the force control.
1.Bit
2.Bit
3.Bit
4.Bit
5.Bit
6.Bit

Running: CP Motion active


Sensor overload
Break condition is fulfilled
Timer is expired
Travel limit violation
Time limit violation

Table 1: Bit mask of status output

3.4.2.3

Combination of Technology Package and Expert Programming

The FTCtrlTech instructions simplify the usage by encapsulating the real RSI instructions into
folders. For instance the sensor object and the FTCtrl object are created and connected together by technology instruction Init. Input is simplified by using inline forms.
To access the RSI objects created with FTCtrlTech (e.g. to set new parameter values), one
uses the global variables that are defined in file rsiLib.dat:
INT
INT
INT
INT

FTCtrlHFT
FTCtrlHSens
FTCtrlHFT
FTCtrlContainer

Handle on RSI FTCTRL- object used for FTCtrlTech


Handle on RSI sensor- object used for FTCtrlTech
Handle on RSI FTCTRL- object used for FTCtrlTech
Handle on RSI container object of FTCtrlHFT and FTCtrlHSens

Table 2: Global RSI Handles of FTCtrlTech

3.4.2.4

Motion Programming

It is relatively circumstantial to stop the robot movement in KRL [4]. According to the user
friendliness RSI encapsulates the stopping mechanism. Special RSI motion instructions carry
out movements that can be stopped by setting a defined output ($OUT[RSIBREAK]) [3].
The force control sets the RSI break output if one of the following three conditions is fulfilled:

Break condition
Path limit violation
Time limit violation

In case of a RSI-movement and if the force control sets the RSI break output, the movement
will be interrupted.
If the reason for the break shall be subsequently used in further KRL program, the global
variable FTCtrlBreak can be used.
FTCtrl User Manual

- 26 -

Version 1.1

FTCtrl Documentation / English

3.4.3

Gravity Compensation

In principle the F/T Sensor measures the resultant of external force acting on the tool and the
force due to its gravity. Since the control shall only relate to the contact forces there is a necessity to compensate the gravity.
If the orientation of the sensor does not change during the force control, then a compensation
is possible by simple calibration of the sensor. For that purpose the corresponding function of
its RSI object is called (Table 3) for the sensor at load free tool in the desired orientation
FTC Compliance
JR3 F/T Sensor
ATI Sensor

ST_FTCSENS_CALIB(ObjID)
ST_JR3SENS_CALIB(ObjID)
ST_ATISENS_CALIB(ObjID)

Table 3: Calibration functions of the F/T sensors


If the direction of the gravity measured in the sensor changes since the sensor changes its orientation, then a static compensation is no longer permitted. The contribution of the force due
to gravity in the sensor measurement must permanently be recalculated into dependence of
the orientation from the tool load data.
This functionality is realized on expert level through the so-called FTCOMP RSI object
(Figure 19)

DLRSENS

Fx Mess

Fx Komp

Fy Mess

Fy Komp

Fz Mess
Mz Mess

FTCOMP

Fz Komp
Mz Komp

My Mess

My Komp

Mx Mess

Mx Komp

FTCTRL

Figure 19: RSI structure of the force control with gravity compensation
Usage of the FTCOMP-object requires accurate details on the load at the sensor:

Force due to gravity [N]


Coordinates of center of mass w.r.t. sensor coordinate system
Orientation of sensor with respect to robot flange

While the orientation of the sensor should be known from the assembly, the tools weight and
center of mass are frequently not given. The KRL utility program RSIFTLoadDetermination allows the determination of the required data by measuring the sensor for certain orientations. Note that the orientation of the sensor coordinate system has been entered with respect to the flange coordinate system also for this KRL program.

FTCtrl User Manual

- 27 -

Version 1.1

FTCtrl Documentation / English

3.5
3.5.1

Visualization of measurements
RSIMonitor

A useful functionality is the visualization of forces and torques. Windows program RSIMonitor supports to show RSI- signals in a scrollchart diagram. It can be started from KUKABOF in menu <Monitor> (Figure 20). Monitor receives data from the real-time part of the
controller via TCP/IP. So the monitor program is able to run on any computer in a network
area with the controller.

Figure 20: Menu item RSIMonitor

Figure 21: RSIMonitor

FTCtrl User Manual

- 28 -

Version 1.1

FTCtrl Documentation / English

3.5.2

3.5.2.1

User layer commands for RSIMonitor with FTCtrl

FTCtrlMonitorInit

Initialisation of data transfer in real-time kernel.


Input field IP Address:
Input field Port:
Input field Refresh:
List field Source:

3.5.2.2

Address of computer with RSIMonitor program running;


IP- Address of the controller itself is 192.0.1.2.
Port for TCP/IP connection; Has to fit to setting in RSIMonitor
program.
Multiple of IPO- cycle to send data (1: every 12 ms)
Determines what data should be shown:
FTSens:
Measurements of sensor
FTCCS:
In control coordinate system (CCS) transformed
values
FCORR:
Forces in CCS and resulting position corrections
TCORR:
Torques in CCS and resulting rotational corrections

FTCtrlMonitorStart

Starts sending of data.

3.5.2.3

FTCtrlMonitorStop

Stops sending of data.

3.5.3

Network configurations for RSIMonitor

The robot controller is based on the two operating systems VxWorks (Real-time kernel) and
Windows (GUI) sharing the same hardware. Sensor data acquisition in real-time requires to
transfer data via a TCP/IP network to the Windows based RSIMonitor program. The different
kinds of network configurations are explained in the following.

FTCtrl User Manual

- 29 -

Version 1.1

FTCtrl Documentation / English

Windows
Router

IP see Windows
Network properties

IP: 192.0.1.2

Shared Memory
MFC Network Card
IP: 192.0.1.1

Visualisation PC
IP see entry
in VxWin.ini

VxWorks
Robot Controller

Figure 22: Network Topology Controller - External PC

3.5.3.1

RSIMonitor running on robot controller

The network connection between VxWorks and Windows on the robot controller is configured by default. The target IP- address to send sensor data to Windows is 192.0.1.2. It is
no further configuration necessary for running the RSIMonitor program on the robot controller itself.

3.5.3.2
3.5.3.2.1

Monitor running on external PC


Direct connection

For a direct connection from VxWorks to an external computer the network card integrated on
the MFC- card can be used. For this configuration the boot sequence in file
C:\Windows\Vxwin.ini has to be changed (s. Figure 23). With selection of the predefined line for MFC or MFC2 and with setting up parameter e to a IP- address for VxWorks
the network card is available for the real-time OS. Network setup is accomplished by establishing a physical connection between MFC network card and the target computer for example with a Cross Connect cable.

FTCtrl User Manual

- 30 -

Version 1.1

FTCtrl Documentation / English

Figure 23: Vxwin.ini


Please note:
The MFC network card can be used either from Windows operating system or from realtime kernel of the robot controller. A Windows network connection with the configuration
described above is only possible with a second network card.

3.5.3.2.2

Router connection

When using the MFC network card for a Windows network there is a way to send data first
from real-time kernel to Windows (IP: 192.0.1.2) and after that route data with a special router software to a target computer. In difference to a direct connection (3.5.3.2.1) no
more further network card is required to integrate both VxWorks and Windows on the robot
controller into a TCP/IP network.
The program router.exe is installed in C:\KRC\TP\FTCtrl\Util. If necessary it
should start automatically on booting with the Windows Autostart feature. When the main
window is minimized it can be opened with a double click on its symbol in the right part of
the Windows taskbar (left to the clock).
For the robot controller Windows OS a route has to be defined where TCP/IP packages
should be transferred to. This is done in the context menu of the node <localhost> with
the command Insert a new route (s. Figure 24).

Figure 24: Router.exe

FTCtrl User Manual

- 31 -

Version 1.1

FTCtrl Documentation / English

In a dialog window (Figure 25) the port and the target IP address is entered.

Figure 25: Router - Add route...


After configuration the settings of router.exe are saved with a click on the Save button. This
guarantees the settings are activated after restart.
Please note:

3.5.3.3

The real-time part of RSIMonitor still send the sensor data to the robot controller
Windows OS (IP: 192.0.1.2). That is set in the Inline form to initialize the RSIMonitor in the KRL code (s. 3.5.2.1)
The TCP/IP port set in the inline form, in the router program and in the RSIMonitor itself has to correspond.
The IP address has to be valid. Please take care that there are no IP address conflicts by using the same address for different devices.

Functionality of RSIMonitor

Online visualization in scroll chart view


Save measurements in binary format
Export of measurements in ASCII -files for further processing (e.g. with Matlab)
Visualization of any RSI signals (e.g. actual position) with simple RSI programming

FTCtrl User Manual

- 32 -

Version 1.1

FTCtrl Documentation / English

4
4.1

Appendix
Abbreviations

KRL:
TCP:
CP Motion:
KCP:
BOF:
MFC:
OS:

4.2
[1]
[2]
[3]
[4]
[5]

4.3

KUKA Robot Language


Tool reference point (Tool Center Point)
Cartesian Path (LIN, LIN_REL, CIRC,)
KUKA Control Panel
Graphical user interface of the robot control
Multi function card (special controller hardware)
Operating System

References
Seminar Manual: Basics of Robot Programming, Introduction, Safety, chapter 3, KUKA
Roboter GmbH
Seminar Manual: Basics of Robot Programming, Setup, chapter3, Security, KUKA Roboter GmbH
Documentation Robot Sensor Interface (RSI), KUKA Roboter GmbH
Seminar Manual: Advanced Robot Programming, Programming, chapter.3.9.4,
Breaking Interrupt- Procedures
FTCtrl KRL- Command Reference, Amatec Robotics GmbH

Utility Programs

RSIFTLoadDetermination:
Determination of load data with F/T Sensor.

FTCtrl User Manual

- 33 -

Version 1.1

Das könnte Ihnen auch gefallen