Difference between revisions of "Apps for the Robot Control"

From Wiki
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''''Right now the App function is in test mode '''''
+
The app interface (since [[IgusRobotControl-Release14-EN|iRC/CPRog V14]]) allows custom extensions for the robot control. Apps can access and change the robot's state, add functions to the program editor and add user interface components for interaction and configuration.
==Summary==
 
  
If you want to install apps, you need Version 14.0.
+
The app interface is based on GRPC which supports many different programming languages. We have prepared sample APIs for C++ and Python with a minimal sample app that can be used as a base for new apps. See section Minimal App below.
You can download and add apps to your robot. You will find available apps on this page. It is possible to create your own apps. An easy example is shown in the minimal App.
 
  
==Vision App==
+
Please note that the app interface still is quite new and does not provide all features like [[CRI Ethernet Interface|CRI]] or [[Modbus Server|Modbus]]. We will extend it in near future.
 +
 
 +
= Installing Apps =
 +
Apps come as ZIP packages. To install an app connect iRC/CPRog to the robot, then click "File" -> "Configure Interfaces" -> "Apps" -> "Install" and select the ZIP package.
 +
 
 +
Note that apps may support being installed to both embedded control and simulation on PC or only one of them. This depends on whether the creator of the app has included binaries for both systems.
 +
 
 +
= Minimal App examples and source code =
 +
As a starting point to develop your own robot control apps you can use our Minimal App (available for C++ and Python). These include a simplified API, documentation and examples. The examples show how to read and write variables, how extend the robot program with new functions and how to create a user interface that integrates into iRC/CPRog.
 +
 
 +
Download the source code and find the documentation [https://github.com/CommonplaceRobotics/RobotControlApps on GitHub].
 +
The interface will be extended with new functions in future.
 +
 
 +
= Socket App =
 +
The Socket App extends the robot control with a network interface for receiving and sending text-based messages.
 +
 
 +
Features:
 +
* TCP client
 +
* TCP server
 +
* UDP
 +
* Parse text-based messages for numbers, access these numbers in the robot program
 +
* Send text-based messages with optional numbers from program variables
 +
 
 +
Use Cases:
 +
* Receiving position values from object recognition cameras or other data sources
 +
* Synchronizing values between robots
 +
* etc...
 +
 
 +
Downloads:
 +
* [https://wiki.cpr-robots.com/images/5/53/Socket_App_User_Guide.pdf Documentation]
 +
* [https://wiki.cpr-robots.com/images/6/64/Socket_App_V1.0.1.zip Socket App package]
 +
 
 +
= Vision App =
 +
 
 +
''Only available for embedded control, not in simulation mode.''
  
 
The Vision App is created for 2D Object Detection. The app uses a standard USB camera which can be connected to your robot.  
 
The Vision App is created for 2D Object Detection. The app uses a standard USB camera which can be connected to your robot.  
  
Download calibration sheet: https://wiki.cpr-robots.com/images/c/c9/CalibrationSheed.pdf
+
Download calibration sheet: [https://wiki.cpr-robots.com/images/c/c3/CalibrationSheetV3.pdf CalibrationSheetV3.pdf]
 +
 
 +
Download user manual: [https://wiki.cpr-robots.com/images/c/cd/VisionApp_Manual_EN.pdf UserManual_VisionApp_EN.pdf]
 +
 
 +
Download .zip for robot: [https://wiki.cpr-robots.com/images/2/29/Vision2d_V6.zip Vision2D_V6.zip]
  
Download user manual: https://wiki.cpr-robots.com/images/f/fc/Anleitung_VisionApp_EN.pdf (NOT FINISHED)
+
What has changed: [https://wiki.cpr-robots.com/images/1/1c/ChangeLogVisionApp.txt ChangeLog]
  
Download .zip for robot: https://wiki.cpr-robots.com/images/1/11/Vision2d.zip (TEST VERSION)
+
There are three Video Tutorials (German) how to use the Vision App:
 +
* [https://www.youtube.com/watch?v=RV6W3cHTwMs Calibration]
 +
* [https://www.youtube.com/watch?v=L-CbLLiDD8E Settings for Object Detection]
 +
* [https://www.youtube.com/watch?v=CjtXqH9r4zI Programming] The .xml File of the example programm you can download [https://wiki.cpr-robots.com/images/1/11/Tutorial.zip here]
  
==Minimal App==
+
In the video and for tests we used the ELP-USB4K03-SFV (5-50 mm). You can use all USB Cameras, which do not have an auto focus or wide angle.
This app includes the basics to create your own app.
 

Revision as of 16:18, 22 April 2024

The app interface (since iRC/CPRog V14) allows custom extensions for the robot control. Apps can access and change the robot's state, add functions to the program editor and add user interface components for interaction and configuration.

The app interface is based on GRPC which supports many different programming languages. We have prepared sample APIs for C++ and Python with a minimal sample app that can be used as a base for new apps. See section Minimal App below.

Please note that the app interface still is quite new and does not provide all features like CRI or Modbus. We will extend it in near future.

Installing Apps

Apps come as ZIP packages. To install an app connect iRC/CPRog to the robot, then click "File" -> "Configure Interfaces" -> "Apps" -> "Install" and select the ZIP package.

Note that apps may support being installed to both embedded control and simulation on PC or only one of them. This depends on whether the creator of the app has included binaries for both systems.

Minimal App examples and source code

As a starting point to develop your own robot control apps you can use our Minimal App (available for C++ and Python). These include a simplified API, documentation and examples. The examples show how to read and write variables, how extend the robot program with new functions and how to create a user interface that integrates into iRC/CPRog.

Download the source code and find the documentation on GitHub. The interface will be extended with new functions in future.

Socket App

The Socket App extends the robot control with a network interface for receiving and sending text-based messages.

Features:

  • TCP client
  • TCP server
  • UDP
  • Parse text-based messages for numbers, access these numbers in the robot program
  • Send text-based messages with optional numbers from program variables

Use Cases:

  • Receiving position values from object recognition cameras or other data sources
  • Synchronizing values between robots
  • etc...

Downloads:

Vision App

Only available for embedded control, not in simulation mode.

The Vision App is created for 2D Object Detection. The app uses a standard USB camera which can be connected to your robot.

Download calibration sheet: CalibrationSheetV3.pdf

Download user manual: UserManual_VisionApp_EN.pdf

Download .zip for robot: Vision2D_V6.zip

What has changed: ChangeLog

There are three Video Tutorials (German) how to use the Vision App:

In the video and for tests we used the ELP-USB4K03-SFV (5-50 mm). You can use all USB Cameras, which do not have an auto focus or wide angle.