Difference between revisions of "CRI Ethernet Interface"
m (Added Python example) |
|||
Line 15: | Line 15: | ||
* Updates can be found here: [[Software Updates]] | * Updates can be found here: [[Software Updates]] | ||
− | ==Documentation and | + | ==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: [[Media:CPR_RobotInterfaceCRI.pdf|CRI Interface Documentation]] | ||
* Example code CRI client: [https://github.com/CommonplaceRobotics/CRI-DemoClient Repository with C# source code] | * Example code CRI client: [https://github.com/CommonplaceRobotics/CRI-DemoClient Repository with C# source code] | ||
+ | * [[:File:Python_Minimal_Example.zip|Minimal example in Python]] | ||
* [[CRI Client Structure|Programming guide]]: "How to create a CRI client with any programming language" | * [[CRI Client Structure|Programming guide]]: "How to create a CRI client with 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. | 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. |
Revision as of 10:00, 10 October 2023
The CRI ethernet interface allows remote applications to connect to a robot controller: iRC, CPRog or the embedded control.
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
- Video with short explanation: YouTube Video
- Documentation: CRI Interface Documentation
- Example code CRI client: Repository with C# source code
- Minimal example in Python
- Programming guide: "How to create a CRI client with 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.
CProg and iRC specific settings
The new Version of CPRog and TinyCtrl (V902-11-007 and above) allows to configure the CRI interface in the backstage menu.
To open the menu click File -> Interface Configuration -> 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.