|
Fast Research Interface Library
Manual and Documentation
|
The Fast Research Interface Library intends to provide a simple user interface to the KUKA Light-Weight Robot IV and hides all communication and set-up issues behind interface. It is only an interface and it does not contain any control functionalities. Without much installation efforts, access to different controller interfaces of the KUKA system is provided:
The Fast Research Interface Library runs on a remote PC node with is connected to the KRC (KUKA Robot Controller) via an Ethernet connection. In intervals of 1 to 100 milliseconds, UDP packages are periodically sent from the KRC unit to the remote host. These packages contain a complete set of robot control and status data (e.g., joint positions, joint torques, drive temperatures, etc.; cf. FRI User Documentation). The remote host (e.g., with QNX Neutrino RTOS) has to instantaneously send a reply message after the reception of each package. A reply message contains input data for the applied controllers (e.g., joint position set-points, joint stiffness set-points, etc.). This way, users become able to set-up own control architectures and/or application-specific controllers for the light-weight arm as it is often desired at research institutions.
The Fast Research Interface Library is available for
The Fast Research Interface Library can be used in two different ways:
The following section briefly describes how to get started with the robot and this library.
This section gives a very brief overview about all required steps for quickly getting started with the Fast Research Interface (see also FRI User Documentation).
C:\KRC\Roboter\Log\lbrBoot.logC:\Windows\vxwin.ini on the KRC node and enter its IP address (e.g., 192.168.0.20):[Boot]\n Bootline=elPci(0,1)pc:vxworks h=192.0.1.2 b=192.0.1.1 e=192.168.0.20 u=target pw=vxworks
C:\KRC\Roboter\INIT\dlrrc.ini may contain[DLRRC] FRIHOST=192.168.0.100 FRISOCK=49938,0
ping 192.168.0.20 and ping 192.168.0.100 on either node to check whether the connection was successfully established. In order to achieve minimum latencies between both nodes, you may simply use a crossed Ethernet cable.C:\KRC\Roboter\KRC\R1\Program\FRIDemo
Step 4: Check out the Sample Applications.
Depending on your needs, you may choose one of these simple sample applications in the folder
src/FastResearchInterfaceTest
or
src/LWRGettingStartedExamples
to start with. The first folder only contains one sample application, FastResearchInterfaceTest.cpp that makes use of the class FastResearchInterface and shows, how this generic API can be used. The second folder contains a number of very simple sample applications, all which make use of one of these interface classes:
The respective user APIs for the controller interfaces are defined by the classes
which are all derived from the class LWRBaseControllerInterface. This class contains an object of the class FastResearchInterface, which constitutes the actual interface and provides the full set functionalities. The class LWRBaseControllerInterface and its three derivatives only act as a wrapper and hide the actual (rather voluminous) library with all its relevant communication issues. Only necessary and required functionalities are provided for each controller.
Optionally, a real-time capable printf() function (LWRBaseControllerInterface::printf()) and a low-level real-time data logger may be useful (class DataLogging).
Step 6: Execute your first application on the remote host.
Remark: Make sure, all network settings are correct (here is an example). The provided KRL file (FRIControl.src) and the initialization file (980039-FRI-Driver.init) are prepared for a sample time of 2 milliseconds.