Difference between revisions of "CRI Ethernet Interface"

From Wiki
m (Added Python example)
m (Link to Python library)
 
(3 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
==Documentation and Examples==
 
==Documentation and Examples==
 
* Video with short explanation: [https://www.youtube.com/watch?v=cxzvMmma97Q YouTube Video]
 
* Video with short explanation: [https://www.youtube.com/watch?v=cxzvMmma97Q YouTube Video]
* Documentation: [[Media:CPR_RobotInterfaceCRI.pdf|CRI Interface Documentation]]
+
* Documentation:
* Example code CRI client: [https://github.com/CommonplaceRobotics/CRI-DemoClient Repository with C# source code]
+
** [[Media:CPR_RobotInterfaceCRI_V17.pdf|CRI V17 (since iRC/CPRog V14)]]
* [[:File:Python_Minimal_Example.zip|Minimal example in Python]]
+
** [[Media:CPR_RobotInterfaceCRI.pdf|CRI V16 (until iRC/CPRog V13)]]
* [[CRI Client Structure|Programming guide]]: "How to create a CRI client with any programming language"
+
** [[CRI Client Structure]] - basic guide for any programming language
Load the example code with Visual Studio Express 2019 Community Edition. The code shows how to connect, how to send the control commands  and how to parse the robots answers. For a stable operation of course more means regarding fault detection and error recovery have to be taken. Please read the documentation in the link above.
+
** [[Transferring Robot Programs via CRI]] - advanced guide on how to send program files to the robot
 +
* Example code:
 +
** [https://github.com/CommonplaceRobotics/CRI-DemoClient CRI demo client] including source code in C#
 +
** [[:File:Python_Minimal_Example.zip|Minimal example in Python]]
 +
** [https://github.com/CommonplaceRobotics/CRI-Python-Lib/ Python library]
  
==CProg and iRC specific settings==
+
== Controlling a simulation via CRI ==
The new Version of CPRog and TinyCtrl (V902-11-007 and above) allows to configure the CRI interface in the backstage menu.
+
The CRI can be tested in simulation with iRC or CPRog. No real robot is needed.
  
To open the menu click File -> Interface Configuration -> CRI Interface (Datei -> Schnittstellenkonfiguration -> CRI-Schnittstelle).
+
=== Version 14 ===
 +
In version 14 the CRI is always available and does not need to be enabled.
 +
 
 +
Since the iRC user interface itself uses the CRI to control the simulation your CRI client will be connected passively first and must be set active before sending commands (see section "Multi client support" in the CRI documentation). This will make iRC a passive observer. Click "Reset" in iRC to make iRC become active again.
 +
 
 +
=== Version 11-13 ===
 +
In CPRog/iRC V11-007 to V13 the simulation can be controlled via CRI after enabling it in the backstage menu:
 +
* "File" -> "Configure Interfaces" -> "CRI Interface"
 +
* "Datei" -> "Schnittstellenkonfiguration" -> "CRI-Schnittstelle"
  
 
Click "Start" to enable the CRI server in CPRog/iRC. The status text will show the IP address and port that is being used. For local testing use the "Force IP address" checkbox and enter "127.0.0.1" into the text box.
 
Click "Start" to enable the CRI server in CPRog/iRC. The status text will show the IP address and port that is being used. For local testing use the "Force IP address" checkbox and enter "127.0.0.1" into the text box.
  
 
[[File:CRI_Server_Config.PNG|600px]]
 
[[File:CRI_Server_Config.PNG|600px]]
 +
 +
Unlike V14 the user interface does not use the CRI and therefore does not become passive.
  
 
==Further articles==
 
==Further articles==

Latest revision as of 13:34, 1 August 2024

The CRI ethernet interface allows remote applications to connect to a robot controller: iRC, CPRog or the embedded control.

CRI-Interface

The remote application can request the following operations:

  • Jog the robot arm in joint space or cartesian space (base or tool coordinate system xyzabc)
  • Send commands: joint motion, linear motion, digital outputs, ...
  • Change variables
  • Start and stop programs. These can be stored programs or the commands just send.

Requirements

  • Using this interface requires programming experience in the client-server area.
  • iRC / CPRog version V902-11-011 or higher
  • Embedded Control with TinyCtrl version V980-11-087 or higher
  • Updates can be found here: Software Updates

Documentation and Examples

Controlling a simulation via CRI

The CRI can be tested in simulation with iRC or CPRog. No real robot is needed.

Version 14

In version 14 the CRI is always available and does not need to be enabled.

Since the iRC user interface itself uses the CRI to control the simulation your CRI client will be connected passively first and must be set active before sending commands (see section "Multi client support" in the CRI documentation). This will make iRC a passive observer. Click "Reset" in iRC to make iRC become active again.

Version 11-13

In CPRog/iRC V11-007 to V13 the simulation can be controlled via CRI after enabling it in the backstage menu:

  • "File" -> "Configure Interfaces" -> "CRI Interface"
  • "Datei" -> "Schnittstellenkonfiguration" -> "CRI-Schnittstelle"

Click "Start" to enable the CRI server in CPRog/iRC. The status text will show the IP address and port that is being used. For local testing use the "Force IP address" checkbox and enter "127.0.0.1" into the text box.

CRI Server Config.PNG

Unlike V14 the user interface does not use the CRI and therefore does not become passive.

Further articles