AuboStudio Plugin Development Guide v1.0.0
AuboStudio Plugins provide all necessary interfaces and configurations for plugin development in AUBO robot's ARCS software. Users can develop plugins based on the information provided in this manual, load them into the ARCS software, and enhance the functionality of AUBO robots.
Choose Your Platform by Requirements
ARCS can run on Linux, Android and browser platforms. These three platforms are developed with two technology stacks, and the plugin development methods for the two technology stacks are different; the resulting artifacts are also incompatible. Please choose the platform and technology stack to develop based on your requirements:
| Platform | Technology Stack | Development Guide |
|---|---|---|
| Linux | C++/Qt | C++/Qt Plugin Guide |
| Android/Browser | TypeScript/Node.js/Vue.js | Node.js Plugin Guide |
ARCS Workflow
Plugins ultimately run on the teach pendant, so certain functionalities of plugins (primarily in program nodes) need to coordinate with the teach pendant software.
Within the ARCS software architecture, there are mainly two components: the teach pendant and the controller. ARCS software communicates with the robotic arm through scripts, following these general steps:
- Users perform online programming or configure relevant parameters;
- Programs or configured parameters are recorded in the teach pendant;
- The teach pendant generates script files;
- The teach pendant sends all script files to the controller;
- The controller generates robot control commands, sends them to the robotic arm, and executes the corresponding operations.
Core Tasks of Plugin Development
As inferred from the ARCS workflow, the essence of plugin development is to provide scripts to the robotic arm controller through plugins. Within the teach pendant, scripts originate from installation nodes and program nodes. Therefore, the primary tasks of plugin development are to complete the installation node and program node modules of the plugin.
Installation Node
Installation nodes are mainly responsible for configuring and saving various parameters of the plugin. For example, when using a camera, basic parameters such as exposure time and camera intrinsics need to be configured, and the installation node is responsible for configuring such parameters.
Note:
Installation nodes only need to be instantiated once in the program. Plugin parameter configuration is a global configuration. Once configured, all subsequent operations of the physical robot are based on these parameters. Additionally, this feature can significantly enhance operational efficiency.
Program Node
Program nodes primarily generate scripts based on parameters to execute specific functions. For instance, when the robotic arm moves to a certain point, a program node at that point might be responsible for opening the gripper. Similarly, when the robotic arm moves to another point, another program node might be responsible for closing the gripper.
