Skip to main content
Skip table of contents

Module Structure Overview

In this section, we will explain the key components of the Module structure using a simple diagram.

Before diving into the explanation, there are a few basic concepts you should know.

Comprehending the Module Architecture

Comprehending the Module Architecture

Dart-Suite Hardware and Software

The Dart-Suite's Hardware and Software are structured as follows.

Hardware

Software

Software Description

1

Teach Pendant
(or Laptop)

Dart-Platform

Robot operation software for installing and running Modules(a type of robot app)

2

Robot Controller

Dart-Framework

Robot control software that supports control and communication interfaces

3

Robot(Doosan Cobot)

Dart-Suite Module

In the Dart-Platform, software called "Module" can be installed and run like apps on a smartphone.

  • Modules can be developed using Dart-IDE or the Dart-IDE VS Code Extension.

There are three main types of Modules.

Module Type

Description

1

User Module

App-like Modules that run on the Dart-Platform and are accessible to users

  • Development language: React/TypeScript

2

Framework Module

A Module for running and communicating with *.So libraries that operate on the Dart-Framework in an Ubuntu-20.04 environment

  • Development language: C++

3

Dart Module

A single Module that combines the User Module and the Framework Module

Module Structure Diagram

Consider designing a Module that allows you to execute personalized robot task(DRL) with a simple button press on the screen.

DRL(Doosan Robot Language)?

DRL(Doosan Robot Language)?

  • A programming language for operating robot task.

  • DRL’s syntax is similar to Python’s, but it doesn’t include all of Python’s features and syntax.

  • For more details, please refer to the DRL Programming Manual.

It works in a more complex way, but simply put, it can be described as follows.

  • 1. [Module Screen] Click the UI Button for running the robot program.

    • Condition: The robot's status and mode must be as follows

      • servo state: ON

      • robot mode: AUTO

  • 2. [Module] Call runProgram() Dart-APIs to asking the function to Dart-Platform.

  • 3. [Dart-Platform] Request the command to Dart-Framework.

  • 4. [Dart-Framework] Run the robot program.

  • 5. [Robot Control&DRL Scheduler] Schedule and execute DRL to control the robot system.

  • 6. [Dart-Framework] When the set_digital_output() command is executed, the robot controller will output a digital signal to external devices.

  • 7. [Dart-Framework] When the moveL() command is executed, the robot will initiate movement.​

The remarkable features of Dart-Suite Modules are as follows:

  • When the functionality of a Module is modified or changed, it can be updated through the Dart-Store (or installed locally).

  • Compatibility support for the SDK(including Dart APIs) used in the Module ensures operation on the latest Dart-Platform.

  • DRL is encrypted within the Module, protecting the assets of the Module developer.

  • By using Dart-APIs, there is no need to separately develop database, communications and more; you can simply use them.

  • Screens or services of one Module can be bound to screens or services of another Module, allowing Modules to exchange event messages based on actions and categories.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.