PDF
AuboStudio SDK  0.6.3
AuboStudio SDK

Overview

AuboStudio SDK provides a complete set of interfaces for developing plugins and extending robot application capabilities.

Contents

  • How plugins are integrated into aubo_scope
  • SDK architecture
  • Examples
  • Namespaces

How plugins are integrated into aubo_scope

A plugin is a software package that runs as a subprocess of aubo_scope. aubo_scope registers plugins and interacts with them in different phases, such as during startup and when users operate aubo_scope.

Each plugin can contribute multiple new functions to aubo_scope. These functions are usually called services and generally fall into two categories:

Services:

  1. Installation node services.
  2. Program node services.

Example (aubo_caps gripper):

  1. Installation node service: configure gripper installation and connection.
  2. Program node service: provide program nodes such as opening and closing the gripper.

Plugin integration flow

Plugin integration process in aubo_scope
  • When aubo_scope starts, it searches for all installed aubo_caps packages.
  • aubo_scope calls the activator of each aubo_caps. The activator overrides start() and stop(). During startup, start() registers services through RegisterService; when aubo_scope stops, stop() is called.
  • After registration, the service provides functions for configuring node metadata, creating the user interaction view, and creating the contribution object for each node.
  • The contribution class provides node-specific APIs and generates the corresponding script code.
  • Service settings are usually static because they are used during startup and are not used directly while the robot program is running.

Program node integration in aubo_scope

Program node integration process in aubo_scope

A program node usually consists of a service, a view, and a contribution object.

ProgramNodeService

ProgramNodeService defines the static metadata and factory methods of a program node type. Typical responsibilities include:

  • Returning the node type ID through getId().
  • Returning the node title through getTitle().
  • Returning the node icon path through getIcon().
  • Configuring node behavior through configureContribution().
  • Creating the node view through createView().
  • Creating contribution instances through createNode().

ProgramNodeView

ProgramNodeView builds the user interface shown in the aubo_scope panel. There may be only one view instance for a node type, while multiple contribution instances can exist in a program.

ProgramNodeContribution

ProgramNodeContribution stores and updates node data, handles user interaction, determines whether the node is defined, and generates script code through generateScript().

Installation node integration in aubo_scope

Installation node integration process in aubo_scope

An installation node usually provides global installation-related settings. It also consists of a service, a view, and a contribution object.

SDK architecture

AuboStudio SDK exposes APIs under the aubo_caps namespace. These APIs can be used to register services, access system and UI capabilities, manage data models, and implement installation or program node behavior.

Examples

For plugin development examples and tutorials, see the documents in the doc/ directory and the sample code in the demo/ directory.

Namespaces

The main namespace is aubo_caps. Detailed classes, interfaces, and functions are documented in the API reference generated from header comments.