Software:
ABB RobotStudio, Visual Studio (or something similar)
Software/Package | Link |
---|---|
ABB RobotStudio | https://new.abb.com/products/robotics/robotstudio/downloads |
Visual Studio | https://visualstudio.microsoft.com/downloads/ |
Programming Language:
C#, Another Language (Python, C/C++ -> similar implementation as C#)
Packages:
C# (.NET Framework 4.6.1)
Application Manual - Robot Web Services:
Link: https://developercenter.robotstudio.com/api/rwsApi/index.html
The project is focused on a simple demonstration of client-server communication via RWS (Robot Web Services). In this case, it is a industrial robot ABB IRB 120 (server), which communicates with the client via the C# application. An example of an application is reading data (Joint / Cartesian position) using multiple approaches (JSON, XML). However, it is possible to use JSON to read the joint position and XML to read the Cartesian position, or to use both in one approach (XML / JSON to read joints and Cartesian position).
The project also includes data control through RWS, which is located in the Control folder. The control application is aimed at a simple demonstration of data exchange between a C# application and the ABB RobotStudio simulation environment.
The application was tested on some of the robot types (ABB IRB 120 -> real hardware + simulation, ABB IRB 140, etc.)
The application uses performance optimization using multi-threaded programming. Communication (C# application) can be used in Unity3D for digital twins / augmented reality or in other relevant applications.
Sample application in the Unity3D program (Digital-Twin):
ABB IRB 120 - Unity3D Robotics
The project was realized at the Institute of Automation and Computer Science, Brno University of Technology, Faculty of Mechanical Engineering (NETME Centre - Cybernetics and Robotics Division).
Client JSON (C#) - Repository [/ABB_Robot_data_processing/Stream/ABB_RWS_JSON/]:
[ Main Program ] /Program.cs/
Client XML (C#) - Repository [/ABB_Robot_data_processing/Stream/ABB_RWS_XML/]:
[ Main Program ] /Program.cs/
Client XML (C#) - Repository [/ABB_Robot_data_processing/Control/]:
[ Main Program C# ] /Program.cs/
[ RAPID program ABB RS] /T_ROB_1
@misc{RomanParak_DT_ABB,
author = {Roman Parak},
title = {Data collection from the ABB controller using Robot Web Services (RWS)},
year = {2020-2022},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/rparak/ABB_Robot_data_processing/}}
}