Simulink Blockset for RSI Control of KUKA KRC4

  • Hi all,


    I've developed a blockset for Matlab's Simulink Desktop Real-Time environment which enables control of KUKA KRC4 controllers over RSI. It's *extremely* rudimentary right now, but supports basic task-space control and returns joint- and task-space position feedback. I couldn't find any comparable tool available when I started my project, so I figured I would share my work in the hope that it's useful to someone else.


    The Simulink blocks & RSI configuration files for this system are available at: https://github.com/mitmedialab/kukaslxctrl. My system is based on a similar system developed by Bootsman over at the German Robot-Forums site (https://www.roboterforum.de/ro…n/13802/msg66254#msg66254), and with additional help from Bootsman. The system has been tested on a KR10 R1100 sixx + KRC4 controller, and under MATLAB r2016a and r2016b.


    I hope this is helpful! Please let me know if you have any questions or suggestions - and please reach out if you're interested in contributing to expand the system's capabilities.

  • Hello,


    Thank you for your note. I hope you're finding my toolbox helpful! I'm glad to see it's in use. I graduated from MIT last fall, and so unfortunately do not have access to our KUKA any more. I'll do my best to answer your question, though.


      • First, the examples provided with my toolbox were not configured to read joint positions (AIPos) into Simulink, even though they are sent from the robot (I believe). Have you modified your version of the Simulink blockset to read/control on angular position? If so, would you mind posting it on GitHub so I can see it (and others can benefit from your work?)

      • Second, the precision of the DEF_AIPos output: I believe this is defined in RSI, not in Simulink. If you look at line 197 in kukaslxctrl.rsi, there is a parameter for the ETHERNET object called Precision, which is currently set to 1. If you increase this value, does that increase the number of decimal places shown? (Note: I would *strongly* recommend doing this in RSIVisual).


    I hope this helps. Please let me know if you have further questions.

Advertising from our partners