ForceTorqueControl

  • KRC4 8.3.29

    ForceTorqueControl 3.1.2

    Sensor: ATI omega 85


    Hello


    I'm trying make polishing application using agilus kr 10 with ft sensor. I have gotten quite far by just following kuka ftc manual, but I have some questions that I have not been able to find solution.


    I Have siemens PLC connected to the robot via profinet. I'm logging some data from robot by mapping it to profinet IO in sps. Position and speed logging is working just fine.

    Now I would like to add forces from the ft sensor to that log. FT signals are available in FTCtrl application signal monitoring window with graph (Fx, Fy, Fz, Tx, Ty, Tz)

    I have not been able to find variables in the robot containing the information from the sensor.

    Does such variables exist?


    Other problem that I have encounter so far is that when I run FTCtrl_LDD program to determine sensor load data, I get negative force value? (-4 N) To my understanding the value shoud be something like 30N because I'm using 3kg tool.

    Any ideas how to fix that?


    I welcome all the talk and tips of using FT sensors with robot.

    Thank you for the help.

  • How is the ATI sensor connected to the robot? If it is connected using the $ANINs or the digital $INs, copying them out to the PLC is simple.


    If the connection is Ethernet... that could take some hacking. But I think it can be done. Would probably involve determining what RSI Template file your FTC application is using, and using RSIVisual to alter the Template, followed by making some minor change to your FTC application to force a "re-compile." You could branch off the ATI sensor signals entering the FTC object to either grouped $OUTs directly to the PLC, or to the $SEN_PREA variables in the robots, which could then be copied out to the PLC from the SPS.

  • It's not hard to do in RSI -- the bigger issue here is that you're using FTC, which adds an extra layer of abstraction.


    The key factor here is that when you create/edit an FTC application on the teach pendant, FTC creates an package of RSI files that cannot be edited using RSIVisual.


    However, FTC does this by pulling up a Template file (T0, T1, etc) package located in KRC/TP/FTCtrl/Templates/. It generates your specific FTC application by making a copy of this Template, filling in values from the FTC menu you're using on the pendant, and generates the final FTC file that is then activated from inside your KRL program.


    The Template uses .RSI files that can be edited using RSIVisual, although it can be a bit tricky, since FTC adds special function blocks to RSI that are not documented and cannot be edited. However, it should be possible to "branch" the signal inputs to the FTC blocks out to $OUTs or to $SEN_Pxxx variables that KRL can access.


    Now, every time you create a new FTC application, the system creates a new "clean" Template, and generates your FTC application from that Template. So once you create your FTC application, you'll need to track down which Template it's using, make an edit to the Template, then go back into the FTC menu on the pendant, and make a small change inside the menu and save the change. This will force FTC to pull up the modified Template and reg-generate your FTC application using the new Template.

    Your FTC application should be located in /KRC/User/TP/FTCtrl/Data. The file name should looke like FTCtrl_TxMyNameHere. The Tx part is the Template.

  • Thank you for the instructions they were simple to follow.

    I made a branch from the RSI signal monitor inputs using MAP2SEN_PREA blocks.

    Then I copied the modified files back to robot controller KRC/TP/FTCtrl/Templates/T0 directory.

    Files:

    FTCtrl_T0RSIMon.rsi

    FTCtrl_T0RSIMon.rsi.diagram

    FTCtrl_T0RSIMon.rsi.xml


    I did minor changes to FTC application and ran my test program.

    RSI signal monitor still works fine and I get forces from the sensor.

    I used Display->Variable->Single : $SEN_PREA[11] from the robot controller to see if the mapping worked. I did not work.

    I also tried to do cold start to make sure the new files are loaded to the controller.

    What am I missing here?

  • Your screenshot shows you're modifying the T3 template, not the T0 template.


    Which template is your FTC application using? You need to determine that in order to know which Template files to modify.


    Then, after modifying the .RSI Template files, you still have to open your FTC application in the pendant FTC Configuration menu, and make some small change in order to force the FTC application to be re-generated.

  • Now it's working. It was a user error as usual.

    Display->Variable->Single : $SEN_PREA[11] type of monitoring is kind of difficult to do. Once I did SPS to PLC and HMI monitor mapping I noticed that it is working after all.

    I made the change to all Tx template files so i can get the force feedback in all the applications.


    For some reason I'm missing all the decimal numbers of the force value. I tried to multiply the force values by 1000 in RSIVisualShell to move the decimal dot, but wasn't able to do that.

  • Now it's working. It was a user error as usual.

    Display->Variable->Single : $SEN_PREA[11] type of monitoring is kind of difficult to do. Once I did SPS to PLC and HMI monitor mapping I noticed that it is working after all.

    I made the change to all Tx template files so i can get the force feedback in all the applications.


    For some reason I'm missing all the decimal numbers of the force value. I tried to multiply the force values by 1000 in RSIVisualShell to move the decimal dot, but wasn't able to do that.

    Dear Ironcow,


    Thanks for sharing your experience with configuring the RSIMon to gain force and torque measurements from the FTCtrl package.

    I have been trying to achieve the same functionality via two ways:

    Method 1: add an RSI Ethernet in the FTCtrl_TxRSIMon.rsi, and try to send the measurements to external PC. However, I have no idea why there is no RSI data created and sent via UDP.
    Method 2: As an alternative, I tried to map the force and torque measurements to $SEN_PREA[x]. However, I cannot see any value changes by looking at "Display->Variable->Single->$SEN_PREA[x]"


    Have you ever tried with the Method 1? Hope that there is anyone who knows why this does not work.

    In terms of the Method 2, Ironcow Could you please kindly share some tips about how to get the measurements written to $SEN_PREA[x]? Thanks in advance.

  • Method 2: As an alternative, I tried to map the force and torque measurements to $SEN_PREA[x]. However, I cannot see any value changes by looking at "Display->Variable->Single->$SEN_PREA[x]"

    Do you have zero values?

    If yes than I would expect that the data exchange is not active


    Do you have non zero values?

    When you open the display the data will be read by a ShowVar command (one time reading).

    Pushing the update button should change to SetInfoOn and everytime the variable is updated you will see the new values

  • Yes, I just found that no data actually was written by the FTCtrl rsi programme.

    This issue now has been resolved perfectly.


    I would like to share the steps about how to transmit data from a KUKA robot, which uses a netbox forcetorque sensor to facilitate KUKA.FTCtrl software functions.

    Step 1) After installing FTCtrl, use RSIVisual to modify the templates in KRC/TP/FTCtrl/Templates/Tx. Specifically, in each Tx folder, one just needs to apply the following changes for FTCtrl_T0RSIMon.rsi

    Step 2) In each FTCtrl_T0RSIMon.rsi, map the force and torque measurements to analogue values of the controller's programme, using MAP2SEN_PRE[x].

    Step 3) Build your own rsi_ethernet, and map the force torque measurements to RSI Ethernet inputs using SEN_PREA[x].

    Step 4) In the FT.src, introduce an additional RSI container that runs your own rsi_ethernet.

  • The default IP Address of the NetBox = 192.168.1.1 (when DIP Switch 9 is set to ON)

    You are using IP-Address 192.168.0.1 which is part of the SMEM (only internal comms)

    In FTC you must configure the KLI

    Check FTC documentation and check ATI documentation for correct settings

  • Thanks a lot. Now work but the version 3.1 (krc4) is very different to krc2 (2.1), in this version i can´t found the "calib" option (to set the sensor to zero) and the sensor work not well. i must to study the manual more.


    best regards

Advertising from our partners