Skip to content

Demonstration of client-server communication via ABB Robot Web Services (RWS).

License

Notifications You must be signed in to change notification settings

rparak/ABB_Robot_data_processing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot Web Services (RWS) Communication between ABB IRB 120 (Server) and simple Client (C#)

Requirements:

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

Project Description:

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).

Project Hierarchy:

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

Example of reading Joint position and Cartesian position using different approaches (ABB IRB 120):

Contact Info:

Roman.Parak@outlook.com

Citation (BibTex)

@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/}}
}

License

MIT

About

Demonstration of client-server communication via ABB Robot Web Services (RWS).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published