General information for KUKA-KRL-Toolbox



The online documentation was developed to explain the functionality of the KUKA-KRL-Toolbox. The documentation is subdivided into several topics reachable by the appropriate tab. A detailed list of all available toolbox commands provides the tab Function Reference.
NOTE: For accessing to Function Reference, you need shockwave flash plugin.

Syntax and usage of toolbox commands is comparable with the KRL (KUKA Robot Language). Detailed information, that exceed the content of the online documentation are available in the KUKA manual: Expert Programming. Up to now, the KUKA-KRL-Toolbox was installed successfully on a KUKA KR3 and KUKA KR16 robot.


The KUKA-KRL-Toolbox enables the usage of Scientific and technical Computation Environments (SCEs) like Matlab® or Scilab for robot control programming. Figure 1 shows the extension of the KUKA environment by adding a PC including Matlab or Scilab.

Fig. 1: Integration of PC including Matlab® or Scilab into KUKA environment

The KUKA controller is connected with the PC via serial interface. Subsequently, an interpreter was implemented in KRL to realise a bi-directional communication. The interpreter runs on the KUKA controller and is responsible for the identification and execution of commands that are transmitted by the PC. The control program is developed using Matlab or Scilab on the basis of the KUKA-KRL-Toolbox. Hence it runs on the PC.

Syntax and usage of KUKA-KRL-Tbx commands

In general, the first parameter of all available toolbox commands is a handle hnd to the serial interface except for the function for initialization of serial communication ComInit:

Initialization of serial communication:

e.g.: [hnd,s]=ComInit('Com1',19200,8,0,1);

The function for initialization ComInit establishes a link to serial interface and returns a handle hnd. Subsequently, the handle variable is used to execute toolbox commands until the serial communication is closed by ComClose. Following example illustrates the usage of KUKA-KRL-Tbx commands:


initialization of serial communication: [hnd,s]=ComInit('Com1',19200,8,0,1);
common syntax of commands: [...] = COMMAND (hnd,...);
close serial communication: ComClose(hnd);

Disclaimer of warrenty

The research group CEA assumes no liability for accuracy and completeness of the provided information. This refers to damages of substantial or ideational form, that are caused by the usage of the KUKA-KRL-Toolbox. By reason that the KUKA-KRL-Toolbox is constantly evolving there is no warranty for operability.

December 2012, G. Maletzki