Functional Modules of SDK
RPC, RTDE, and SCRIPT are the three major functional modules of AUBO SDK. They are independent of each other and can be used in combination to achieve more flexible and efficient robot control solutions.
RPC Module
RPC (Remote Procedure Call) is a remote procedure call protocol used to achieve remote command transmission and data communication between external devices (such as computers) and the robot controller. To view the introduction to the JSON-RPC protocol, please read the document JSON-RPC Protocol Description.
The RPC module in the SDK uses the JSON-RPC 2.0 protocol for data exchange. It supports the client/server mode and request/response mode, featuring simplicity, lightweight, cross-platform, extensibility, etc. Moreover, it supports multiple programming languages and operating systems.
The RPC module supports various types of commands, such as motion commands, status commands, and IO commands, meeting various needs in different application scenarios. External devices (such as computers) can send command requests to the controller through the RPC module in the SDK, and the controller can perform corresponding actions based on the content of the command, such as motion, pause and stop, and return the execution results to the external devices (such as computers).
At the same time, the RPC module can also work with the RTDE module or SCRIPT module to implement more complex robot applications. For example, users can use the RPC module to call motion command interfaces (such as moveJoint and moveLine), and subscribe to obtain the robot's real-time status, such as actual position and attitude, through the RTDE module.
RTDE Module
RTDE (Real-Time Data Exchange) is a real-time data exchange protocol used to achieve real-time data transmission between external devices (such as computers) and the robot controller, including the robot's joint angle, speed, acceleration, and other status information. The RTDE module in the AUBO SDK achieves real-time data exchange between the controller and external devices based on the RTDE protocol. In addition, the RTDE module can be used simultaneously with the RPC module or SCRIPT module without compromising the system's real-time performance. To view the introduction to the RTDE protocol, please read the document RTDE Protocol Description.
The RTDE module in the SDK can transfer data from the controller to external devices (such as computers) and can also transfer data from external devices to the controller. External devices can obtain real-time data such as the robot's joint angle, speed and acceleration through the RTDE module, and can also write data to the controller's registers via the RTDE module.
The RTDE menu is a file format used to configure the RTDE data stream. It defines information such as the names and types of data, for example, the robot's position, joint angle, speed, current, etc., and supports various data types including boolean, integer, floating-point, etc. To view the definitions, please read the document RTDE Menu.
SCRIPT Module
The SCRIPT module in the SDK supports sending local script programs to the robot controller, which will then load and execute the script program. To view the introduction to the script protocol, please read the document Script Protocol Description.
The SCRIPT module supports Lua scripts, including basic statements, control structures, function definitions, etc. It provides a rich set of robot control APIs, such as motion control, algorithms, and obtaining robot status. In addition, the SCRIPT module offers debugging and error handling features for script programs, such as setting breakpoints.
The SCRIPT module can also be used in conjunction with the RTDE module or RPC module. For example, users can write script programs locally and send the local script programs to the robot controller for execution via the SCRIPT module, while using the RTDE module to monitor the robot's status in real-time.