Skip to main content
Skip table of contents

V3.2.0 Official

Hello. This is Dr.Dart Manager.
Please note that all Dart-Suite products updated from Dart-Suite V3.2.0BETA to V3.2.0.

Note.

  • Connection may not be possible during Dart-IDE, Dart-Store, Dart-APIs, and Dart-Developers server maintenance and updates.

New Features

The main features of Dart-Suite V3.2.0 are as follows.

<Dart-Platform & Module>

1.Improved User Interface

  1. Change header and footer.

  2. Added Coach Mark Popup explains the various functions of the platform. Popup will appear when you first open the platform.

image-20240318-050444.png
  1. Add supported languages

  1. Improved Jog Plus

image-20240321-233748.png
  1. Now you can use three tabs : jog, move, and align.

  2. Add screen setting : left-hand, right-hand, both-hands.

image-20240322-064036.png
  1. Support ‘Export Log’

  1. Support ‘Data Export & Import’

image-20240322-064442.png

image-20240322-064418.png

<Dart-IDE>

  1. Edit package.json and manifest.json

  1. Visual scripting

  1. From now on, you can edit package.json and manifest.json in the IDE.

  2. If you want to use external library in package.json, please check our Whitelist usage guide .

  1. Added more basic component nodes

  2. Added user command data node in visual scripting. Please remember that this function is beta!

Release Note

  • Version: Dart-Suite V3.2.0

  • Released at:

1. Dart-SDK

  • Version: V3.2.0

Click here to expand...

※ Please check https://apis.drdart.io/

Categories

Features

1

New

"Monitorable: Change so that data is not transmitted to modules that are not visible on the screen for some monitor variables, such as robot posture information, etc."

2

"Add API for checking Servo status."

3

"Add API for invoking External Browser."

4

"Add the ability to specify icons for each ModuleScreen component."

CODE
/**
 * Information you can retrieve about a particular module screen.
 * This corresponds to information collected from the manifest.json's 'screens'.
 *
 * @api-version 1
 * @user
 */
export interface IModuleScreenInfo extends IModuleComponentInfo {
    /**
     * An icon file path that represented the screen component.
     * It must be set as a reference to image resource like as: 'assets/images/icon.png"
     *
     * @api-version 2
     * @user
     */
    icon: string;
}

5

"Add API for integration with external AI Processes."

CODE
export interface IAiProcessMessenger {
    ...
}
6

"Add API for receiving events and sending responses when the message_to_dp() drl function is executed."

CODE
export interface IProgramManager extends ISystemManager {
    /**
     * {@link Monitorable} for 'message_to_dp' DRL.
     *
     * @api-version 2
     * @user
     */
    readonly userEvent: Monitorable<{ eventName: string, data: string }>;
    
    /**
     * After 'message_to_dp' ({@link userEvent}) drl-command during DRL program operation, it ends and resumes the next paused program.
     *
     * @param eventName Event name to send to DRL program.
     * @param data Data to transfer to DRL program.
     *
     * @return Return true if the request has been operated successfully, otherwise false.
     *
     * @api-version 2
     * @user
     */
    sendUserEventResponse(eventName: string, data: string): Promise<boolean>
}

 "Related DRL"

CODE
resp = message_to_dp(...) # wait response from dart-platform
7

"Add API for file management (IFilePicker)."

CODE
/**
 * An interface to show file picker.
 *
 * @api-version 2
 * @user
 */
export interface IFilePicker {
    /**
     * Show file picker dialog to read.
     *
     * @param options An {@link FilePickerOptions} for picker.
     * @return Return <Promise> Fulfills with {@link FileHandler} if the request has been operated successfully, otherwise {@link FilePickerErrorCode}.
     *
     * @api-version 2
     * @user
     */
    showFilePicker(options?: FilePickerOptions): Promise<{ handlers?: FileHandler[], errorCode?: FilePickerErrorCode }>;

    /**
     * Show file picker dialog to write.
     *
     * @param options An {@link SaveFilePickerOptions} for picker.
     * @return Return <Promise> Fulfills with {@link SaveFileHandler} if the request has been operated successfully, otherwise {@link FilePickerErrorCode}.
     *
     * @api-version 2
     * @user
     */
    showSaveFilePicker(options?: SaveFilePickerOptions): Promise<{ handler?: SaveFileHandler, errorCode?: FilePickerErrorCode }>;

    /**
     * Show directory picker dialog to handle files in the picked directory.
     *
     * @return Return <Promise> Fulfills with {@link DirectoryHandler} if the request has been operated successfully, otherwise {@link FilePickerErrorCode}.
     *
     * @api-version 2
     * @user
     */
    showDirectoryPicker(): Promise<{ handler?: DirectoryHandler, errorCode?: FilePickerErrorCode }>;
}
8

"Change the permissions for the following APIs within IRobotParameterManager from system to user permission."

CODE
export interface IRobotParameterManager extends ISystemManager {
     * @api-version 1
     * @user
     */
    getAllName(): Promise<string[]>;
    get(name: string): Promise<RobotParameter | null>;
    getAll(): Promise<{ name: string; data: RobotParameter }[]>;
    getInitialValue(robotModel: RobotModel): RobotParameter;
    getRobotLimit(robotModel: RobotModel): RobotLimit;
    getMaxPayload(robotModel: RobotModel): number;
    getSystem(): RobotParameter;
    getControllerDigitalIoAlias(): Promise<ControllerDigitalIoAlias | null;
    getFlangeDigitalIoAlias(): Promise<FlangeDigitalIoAlias | null>;
    getControllerAnalogIoAlias(): Promise<ControllerAnalogIoAlias | null>;
    getFlangeAnalogIoAlias(): Promise<FlangeAnalogIoAlias | null>;
    getSystemVariables():Promise<SystemVariable[]>;
    getHomingOption(): Promise<HomingOption>;
}
9

"Add IRobotManager.getControllerIpAddress() API."

CODE
export interface IRobotManager extends ISystemManager {
    /**
     * Get controller IP Address
     * @return Promise<boolean> return true if ip query succeeds, false if unsuccessful.
     *
     * @api-version 2
     * @user
     */
    getControllerIpAddress(): Promise<SystemIpAddress>;
}
10

"Add an API to receive location information when dragging a PopupScreen in a ModuleScreen of the PopupScreen type."

CODE
export abstract class ModuleScreen extends React.Component<ModuleScreenProps, any> {
    /**
     * Called when the screen has been dragged.
     * This event only occurs if the module screen type is {@link ScreenType.POPUP_SCREEN}.
     *
     * @param dragEvent A {@link PopupScreenDragEvent}.
     *
     * @api-version 2
     * @system
     */
    onScreenDragged(dragEvent: PopupScreenDragEvent): void {
        // empty
    }
}

/**
 * The interface represents events that occur due to the user interacting with a popup screen component.
 *
 * @api-version 2
 * @user
 */
export type PopupScreenDragEvent = {
    /**
     * The event's screen top coordinate.
     *
     * @api-version 2
     * @user
     */
    readonly top: number;
    /**
     * The event's screen left coordinate.
     *
     * @api-version 2
     * @user
     */
    readonly left: number;
}
11

"Add API for monitoring current robot speed, target position, and speed."

CODE
export interface IPositionManager extends ISystemManager {
    /**
     * {@link Monitorable} current joint velocity.
     *
     * @api-version 2
     * @user
     */
    readonly jointVelocity: Monitorable<SixNumArray>;

    /**
     * {@link Monitorable} target joint pose
     *
     * @api-version 2
     * @user
     */
    readonly targetJointPose: Monitorable<SixNumArray>;

     /**
      * {@link Monitorable} target joint velocity.
      *
      * @api-version 2
      * @user
      */
    readonly targetJointVelocity: Monitorable<SixNumArray>;
    /**
     * {@link Monitorable} current tool velocity.
     *
     * @api-version 2
     * @user
     */
    readonly toolVelocity: Monitorable<SixNumArray>;

    /**
     * {@link Monitorable} target tool position.
     *
     * @api-version 2
     * @user
     */
    readonly targetToolPosition: Monitorable<SixNumArray>;

    /**
     * {@link Monitorable} target tool velocity.
     *
     * @api-version 2
     * @user
     */
    readonly targetToolPosittoolVelocityion: Monitorable<SixNumArray>;
}
12

"Add motion functions that allow specification of solution space, turn number, and orientation type."

CODE
 export interface IMotionManager extends ISystemManager {
    /**
     * (movel) linear moving function
     *
     * @param targetPose set {@link ManipulatorPose}
     * @param targetVelocity set two velocity (Linear velocity, Rotational velocity)
     * @param targetAcceleration set two acceleration (Linear acceleration, Rotational acceleration)
     * @param targetTime sets arrival time [sec]. if you want to ignore this parameter, input the number lower then zero.
     * @param moveMode sets move mode.
     * Enumerated constant which means the definition reference about the position to be moved when performing motion control based on the work zone at the robot controller.
     * - 0: Absolute
     * - 1: Relative
     * - `default` 0
     * @param moveReference sets coordinate.
     * Enumerated constants which means the definition standard about the position to go when the robot controller performs the motion control based on the work space.
     * - 0: Robot base
     * - 1: Robot TCP
     * - `default` 0
     * @param blendingRadius set blend radius
     * - `default` 0
     * @param blendingType set blend type
     * Enumerated constants which means blending speed type of each stopover point when motion control is performed at the robot controller.
     * - 0: Overlays the speed of preceding motion and following motion
     * - 1: Overrides the speed of preceding motion into the speed of following motion
     * - `default` 0
     *
     * @return Promise<boolean>
     *
     * @api-version 2
     * @user
     */
    moveLinear(targetPose: ManipulatorPose, targetVelocity: TwoNumArray, targetAcceleration: TwoNumArray, targetTime: number, moveMode: number, moveReference: number, blendingRadius: number, blendingType: number): Promise<boolean>;
    
    /**
     * (movejx) Joint moving function from Task Pose.
     * Moves the robot to the target position within the joint area with robot controller. The target position moves same as the movel as it is the location within the workspace. However, because the robot motion acts inside the joint area, the straight path to the target position cannot be guaranteed. Additionally, one of the 8 robot configurations that responds to one work space coordinate, must be assigned to the solutionSpace (solution space).
     *
     * @param targetPose sets {@link Manipulator}
     * @param targetVelocity sets velocity. This value can be set for each joint or collectively.
     * @param targetAcceleration sets acceleration. This value can be set for each joint or collectively.
     * @param targetTime sets arrival time [sec]. if you want to ignore this parameter, input the number lower then zero.
     * @param moveMode sets move mode.
     * Enumerated constant which means the definition reference about the position to be moved when performing motion control based on the work zone at the robot controller.
     * - 0: Absolute
     * - 1: Relative
     * - `default` 0
     * @param moveReference sets coordinate.
     * Enumerated constants which means the definition standard about the position to go when the robot controller performs the motion control based on the work space.
     * - 0: Robot base
     * - 1: Robot TCP
     * - `default` 0
     * @param blendingRadius sets blend radius
     * - `default` 0
     * @param blendingType sets blend type
     * Enumerated constants which means blending speed type of each stopover point when motion control is performed at the robot controller.
     * - 0: Overlays the speed of preceding motion and following motion
     * - 1: Overrides the speed of preceding motion into the speed of following motion
     * - `default` 0
     *
     * @return Promise<boolean>
     *
     * **Remarks**
     * - When assigning targetTime, targetVelocity and targetAcceleration are ignored and handled based on the targetTime.
     * - About the path of blending status according to the option blendingType, targetVelocity, and targetAcceleration, refer to the movej () motion description.
     * - When inputting relative motion (moveMode= 1), it cannot be blended to the processing motion, so it is recommended to blend by using amovej () or amovel.
     *
     * @api-version 2
     * @user
     */
    moveJointPosx(targetPose: ManipulatorPose, targetVelocity: number|SixNumArray, targetAcceleration: number|SixNumArray, targetTime: number, moveMode: number, moveReference: number, blendingRadius: number, blendingType: number): Promise<boolean>;
    
        /**
     * (servol) linear moving function.
     * Moves the robot from the current task position to the targeted task position.
     * Generates the path of moving to corresponding task position even if the target changes every moment. Unlike movel, it is in order to instantly respond to outer environment change during the movement of robot from client to the robot controller.
     *
     * @param targetPose {@link ManipulatorPose}
     * @param targetVelocity Two speed information: Maximum Translation speed (mm/sec), Maximum Rotation speed (unit: deg/sec2  )
     * @param targetAcceleration Acceleration information -Two acceleration information: Maximum Translation acceleration, and Maximum Rotation acceleration(unit: deg/sec2  )
     * @param targetTime sets arrival time [sec]. if you want to ignore this parameter, input the number lower then zero.
     *
     * @return Promise<boolean>
     *
     * **Remarks**
     * - When assigning targetTime, targetVelocity and targetAcceleration are ignored and instead handled based on the targetTime.
     *
     * @api-version 2
     * @user
     */
    moveServoLinear(targetPose: ManipulatorPose, targetVelocity: TwoNumArray, targetAcceleration: TwoNumArray, targetTime: number): Promise<boolean>;
    
        /**
     * Hold to run
     * (movel) linear moving function
     *
     * @param targetPose {@link ManipulatorPose}
     * @param targetVelocity set two velocity (Linear velocity, Rotational velocity)
     * @param targetAcceleration set two acceleration (Linear acceleration, Rotational acceleration)
     * @param targetTime sets arrival time [sec]. if you want to ignore this parameter, input the number lower then zero.
     * @param moveMode sets move mode.
     * Enumerated constant which means the definition reference about the position to be moved when performing motion control based on the work zone at the robot controller.
     * - 0: Absolute
     * - 1: Relative
     * - `default` 0
     * @param moveReference sets coordinate.
     * Enumerated constants which means the definition standard about the position to go when the robot controller performs the motion control based on the work space.
     * - 0: Robot base
     * - 1: Robot TCP
     * - `default` 0
     * @param blendingRadius set blend radius
     * - `default` 0
     * @param blendingType set blend type
     * Enumerated constants which means blending speed type of each stopover point when motion control is performed at the robot controller.
     * - 0: Overlays the speed of preceding motion and following motion
     * - 1: Overrides the speed of preceding motion into the speed of following motion
     * - `default` 0
     *
     * @return Promise<boolean>
     *
     * @api-version 2
     * @user
     */
    moveLinearH2R(targetPose: ManipulatorPose, targetVelocity: TwoNumArray, targetAcceleration: TwoNumArray, targetTime: number, moveMode: number, moveReference: number, blendingRadius: number, blendingType: number): Promise<boolean>;

    /**
     * Hold to run
     * (movejx) Joint moving function from Task Pose.
     * Moves the robot to the target position within the joint area with robot controller. The target position moves same as the movel as it is the location within the workspace. However, because the robot motion acts inside the joint area, the straight path to the target position cannot be guaranteed. Additionally, one of the 8 robot configurations that responds to one work space coordinate, must be assigned to the solutionSpace (solution space).
     *
     * @param targetPose sets {@link Manipulator}
     * @param targetVelocity sets velocity .This value can be set for each joint or collectively.
     * @param targetAcceleration sets acceleration. This value can be set for each joint or collectively.
     * @param targetTime sets arrival time [sec]. if you want to ignore this parameter, input the number lower then zero.
     * @param moveMode sets move mode.
     * Enumerated constant which means the definition reference about the position to be moved when performing motion control based on the work zone at the robot controller.
     * - 0: Absolute
     * - 1: Relative
     * - `default` 0
     * @param moveReference sets coordinate.
     * Enumerated constants which means the definition standard about the position to go when the robot controller performs the motion control based on the work space.
     * - 0: Robot base
     * - 1: Robot TCP
     * - `default` 0
     * @param blendingRadius sets blend radius
     * - `default` 0
     * @param blendingType sets blend type
     * Enumerated constants which means blending speed type of each stopover point when motion control is performed at the robot controller.
     * - 0: Overlays the speed of preceding motion and following motion
     * - 1: Overrides the speed of preceding motion into the speed of following motion
     * - `default` 0
     *
     * @return Promise<boolean>
     *
     * **Remarks**
     * - When assigning targetTime, targetVelocity and targetAcceleration are ignored and handled based on the targetTime.
     * - About the path of blending status according to the option blendingType, targetVelocity, and targetAcceleration, refer to the movej () motion description.
     * - When inputting relative motion (moveMode= 1), it cannot be blended to the processing motion, so it is recommended to blend by using amovej () or amovel.
     *
     * @api-version 2
     * @user
     */
    moveJointPosxH2R(targetPose: ManipulatorPose, targetVelocity: number|SixNumArray, targetAcceleration: number|SixNumArray, targetTime: number, moveMode: number, moveReference: number, blendingRadius: number, blendingType: number): Promise<boolean>;

    /**
     * Hold to run
     * (servol) linear moving function.
     * Moves the robot from the current task position to the targeted task position.
     * Generates the path of moving to corresponding task position even if the target changes every moment. Unlike movel, it is in order to instantly respond to outer environment change during the movement of robot from client to the robot controller.
     *
     * @param targetPose {@link ManipulatorPose}
     * @param targetVelocity Two speed information: Maximum Translation speed (mm/sec), Maximum Rotation speed (unit: deg/sec2  )
     * @param targetAcceleration Acceleration information -Two acceleration information: Maximum Translation acceleration, and Maximum Rotation acceleration(unit: deg/sec2  )
     * @param targetTime sets arrival time [sec]. if you want to ignore this parameter, input the number lower then zero.
     *
     * @return Promise<boolean>
     *
     * **Remarks**
     * - When assigning targetTime, targetVelocity and targetAcceleration are ignored and instead handled based on the targetTime.
     *
     * @api-version 2
     * @user
    */
    moveServoLinearH2R(targetPose: ManipulatorPose, targetVelocity: TwoNumArray, targetAcceleration: TwoNumArray, targetTime: number): Promise<boolean>;
}

/**
 * Robot pose expression type.
 *
 * @api-version 2
 * @user
 */
 export const OrientationType = {
    /**
     * (x,y,z,rz1,ry,rz2)
     * RotZ*RotY*RotZ
     *
     * @api-version 2
     * @user
     */
    EULER_ZYZ: 0,
    /**
     * (x,y,z,rz,ry,rx)
     * RotZ*RotY*RotX
     *
     * @api-version 2
     * @user
     */
    EULER_ZYX: 1,
    /**
     * (x,y,z,rx,ry,rz)
     * RotX*RotY*RotZ
     *
     * @api-version 2
     * @user
     */
    EULER_XYZ: 2,
    /**
     * (x,y,z,rx,ry,rz)
     * RotZ*RotY*RotX
     *
     * @api-version 2
     * @user
     */
    FIXED_XYZ: 3,
    /**
     * (x,y,z,vx,vy,vz,theta)
     *
     * @api-version 2
     * @user
     */
    ROTVEC: 4,
    /**
     * (x,y,z,q0,q1,q2,q3)
     *
     * @api-version 2
     * @user
     */
    QUATERNION: 5,
    /**
     * using default orientation type. (EULER_ZYX)
     *
     * @api-version 2
     * @user
     */
    NONE: 255,
}as const;

/**
 * Manipulator pose
 *
 * @api-version 2
 * @user
 */
 export type ManipulatorPose = {
    /**
     * pose variables
     *
     * @api-version 2
     * @user
     */
    pose: number[],

    /**
     * solution space that determines robot pose
     *
     * @api-version 2
     * @user
     */
    solutionSpace: SolutionSpace | 255;


    /**
     * turn no that determines robot pose
     * if set 255. robot will move to the nearest target position.
     *
     * @api-version 2
     * @user
     */
    turnNo: number | 255;

    /**
     * Orientation Type
     *
     * @api-version 2
     * @user
     */
    orientationType:OrientationType;
}
13

"Add TCP Server/Client communication library.

Note: This API is not compatible with DRL."

CODE
    /**
     * Use with {@link getSystemLibrary} to retrieve {@link ITcpSocketLibrary}.
     *
     * @api-version 2
     * @user
     */
    static readonly TCP_SOCKET_LIBRARY = "TcpSocketLibrary";
14

Bug

"Modify to ensure that when moving the robot via the motion API, if the vel and acc values are entered outside the limit range, it operates within the limit range."

15

"Fix the issue where calling IRobotManager.getSerialPortList() API results in a permission error, making it unusable."

16

"Fix the issue where the robotParameter.userCoordinates value does not update correctly when user coordinate items are added, deleted, or changed."

17

"Fix the issue where the parityBit value of the IModbusGeneral.queryModbusDataList() API is returned as ascii instead of a string."

2. Dart-IDE

  • Version: V2.1.0 (3/15 Release)

Click here to expand...

Categories

Features

1

General

Improvement

"Modified to allow modifications to below files in code view."

  • manifest.json

  • package.json

    • You can use external library in package.json within the whitelist which allowed in Dart-IDE. (Whitelist usage guide )

2

"Modified framework module template contents."

3

UX/UI

Improvement

"[UI Preview] Modified to allow free placement when component drag&drop in new tsx file."

4

Project Setting

New

"Added UI preview feature when using Redux library."

  • Path: Dart-IDE > File > Project Setting > Third-party libraries

  • Function: Applied for the User module that uses Redux as a state management tool. If choose this option, the UI preview will display the state according to initialized value in the Redux Store

5

Visual Scripting

New

"More Basic component nodes are added."

6

"Import Visual Scripting Component."

7

"String Generating Node is implemented."

8

"User Command Interface Group Node (Beta Test) is implemented."

9

"Define User Command Data Node (Beta Test) is implemented."

10

"Load User Command Data Node (Beta Test) is implemented."

11

"Save User Command Data Node (Beta Test) is implemented."

3. Dart-Platform

  • Version: V3.2.0

Click here to expand...

Categories

Features

1

UX

New

"Provide a coach mark popup on the first startup of Dart-Platform 3."

image-20240318-050444.png
2

Theme

Bug

"Fix the issue where styles imported by the module are duplicated every time the module is updated or reinstalled."

3

Header/Footer

 

 

 

 

 

 

 

 

 

 

New

"Improve the usability of the Header/Footer."

4

"Change so that the backdrive function operates only when an actual robot is connected."

5

Bug

"Fix the issue where the Header or Footer area, which is on a lower layer than the System Dialog that appears, is touchable after the Dialog occurs."

6

"Fix the issue where selecting the Play button to choose a Module does not trigger a toast popup."

7

"Fix the issue where the servo switch is deactivated for 10 seconds when Servo On fails due to STO/SS1 status."

8

"Fix the issue where attempting to Servo On after running Dart-Simulator with A/E series models causes a Real mode activation dialogue popup."

9

"Fix the intermittent issue where the status information in the Header is displayed as 'Disconnected'."

10

"Fix the issue where a parameter mismatch icon appears when setting Flange I/O in the robot parameter module."

11

"Fix the issue where servo on does not work at once in virtual mode after connecting to A/E robot models."

12

"Fix the issue where a parameter mismatch icon appears under certain conditions when setting tool center, tool weight, tool shape, and safety area in the robot parameter module."

13

"Fix the intermittent issue where information is not updated when entering the dashboard through the simulation button in the Footer during program execution and checking information."

14

"Fix the issue where entering recovery mode does not work in virtual mode."

15

Update

 

 

 

 

 

 

 

 

New

"Improve to shorten system update time."

16

Bug

"Fix the issue where the installation popup does not appear upon robot reboot, even though there is a campaign registered on the OTA server."

17

"Fix the issue where a toast popup occurs for campaign download failure on the Dart-Platform without control authority."

18

"Fix the issue where, after a module package update, when control is gained on a different Dart-Platform, the module does not appear as updated."

19

"Fix the issue where the update toast popup closes when switching to automatic mode while the popup is displayed."

20

"Fix the issue where, if a campaign expires while a campaign download/update toast popup is displayed, the related toast for the expired campaign does not appear."

21

"Fix the issue where a white screen appears shortly after uploading an OS update package file in Teaching Pendant > Settings > Update."

22

"Fix the issue where the message displayed during update/deletion does not match the screen definition document when both the module to be deleted/updated and the linked modules are running."

23

"Fix the crash that occurs when updating after selecting a large update file in the Teaching Pendant."

24

power off

 

 

 

New

"Fix the issue where the Dart-Service simulator does not reconnect to Dart-Platform 3 after restarting."

25

Bug

"Prevent shutdown via the power button during program execution."

26

"Prevent shutdown via Normal I/O signal during program execution."

27

"Fix the intermittent issue where the shutdown popup via the power button is not displayed before program execution."

28

"Fix the intermittent issue where the shutdown popup does not appear after powering off."

29

Paid module

New

"Develop support for paid modules in Dart-Store."

30

control

 

Bug

"Fix the issue where the control request popup remains when the Dart-Platform that sent the request is closed before the request is accepted/rejected."

31

"Fix the issue where control cannot be requested again if there is no response after a control request.

Allow forced recall during control retrieval."

32

Keyboard

Bug

"Fix intermittent keyboard input issues in the Teaching Pendant."

33

Safety

Bug

"Fix the issue where the pinch escape popup does not appear when the pinch escape button is activated in Cockpit."

34

"Fix the issue where the pinch escape popup does not close at a specific path."

35

Etc

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

New

"Improve to prevent module installation when installation is not supported."

36

"Enhance to display a connection error popup when changing the robot connected to the controller, and enable data backup or initialization."

37

"Improve to display a popup and prevent UI manipulation during Handguiding mode."

38

"Modify to prevent the toast popup from appearing when the robot parameter settings information does not match the robot information."

39

"Improve to allow module installation even in safety stop/emergency stop states."

40

"Apply module installation scenarios based on the status of the connected robot in Dart-IDE."

41

"Fix the issue where Dart-Platform 3 crashes when a crash occurs in a Dart-Module at a specific path."

42

"Modify to activate the Modbus slave function of the controller during boot."

43

"Improve Dart-IDE so that when building & running a module, it updates if the module version is the same or greater."

44

Bug

"Change to disable context menu support in the text UI area."

45

"Fix the issue where the default modules are not installed after deleting and restarting the container in Dart-Service, then reconnecting to Dart-Platform."

46

"Fix the issue where a factory reset failure popup occurs in Dart-Platform for Mac or Dart-Platform for Windows, but the actual factory reset process is successful."

47

"Fix the issue where executing Build & Run on a module package in Dart-IDE that does not contain ACTION_MAIN and CATEGORY_SCREEN results in a failed execution."

48

"Fix the issue where the message indicating the Nudge feature activation appears in the Protective Stop popup even when the Nudge feature is disabled."

49

"Fix the issue where, when multiple Protective Stop signals are set in Safety Input settings, all Protective Stop port numbers are displayed, not just the signals that entered a specific port."

image-20240318-082945.png
50

"Fix the intermittent issue where the connection is occasionally interrupted and reconnected when installing large module files."

51

"Fix the issue where, when an error occurs in Handguiding mode, the robot status is incorrectly displayed as Handguiding."

52

"Fix the issue where a data synchronization error popup occurs intermittently when connection is occasionally unavailable during boot."

53

"Fix the issue where the Jog function does not stop when a control request is received during Jog operation."

54

"Fix the intermittent issue where the connection between Dart-Platform and the controller is occasionally lost when the Jog button is touched quickly."

55

"Fix the intermittent issue where the language set by the user in settings is occasionally changed late during boot."

56

"Fix the issue where the device continues to reboot after a failed update by adding rollback functionality in case of update failure."

57

"Fix the issue where Dart-Platform for Mac or Dart-Platform for Windows does not automatically restart after completing an update."

58

"Fix the intermittent issue where a synchronization error popup occurs occasionally when the robot connection is disconnected and then reconnected."

59

"Fix the issue where the popup message for terminating connected modules does not appear when deactivating the Pip module."

60

"Remove the restart button from the inverter connection error popup."

61

"Fix the intermittent occurrence of robot series compatibility errors during boot."

62

"Fix the issue where safety data is not initialized during Factory Reset."

63

"Fix the issue where Restore Point is not displayed after Application Update following Factory Reset."

4. Dart-Services

  • Version: V2.1.0

Click here to expand...

Categories

Features

1

General

Change

"Unify version name of Dart-Serivces."

2

Improvement

"Modify to enable communication modules(TCP/IP, Modbus TCP) in simulator."

5. Dart-Module

Click here to expand...

Module

Features

1

Jog Plus

2

New

"Overall UI/UX improvement.

Support three tabs: jog, move, and align, providing functionality equivalent to legacy.

Add functionality for left-handed, right-handed, and ambidextrous operation."

image-20240322-064036.png

3

footer

4

Bug

"Fix the issue where some phrases do not immediately change when the language is changed during execution."

5

"Improve usability of Copy Pose and Copy Position buttons."

6

"Enhance the 3D simulator."

7

"Fix the issue where Force Monitoring values are not displayed according to the selected coordinate item"

8

backdrive

9

Bug

"Fix the issue where servo on fails in backdrive mode at specific paths."

10

"Fix the issue where Force Monitoring values are not displayed according to the selected coordinate item"

11

Recovery

12

Bug

"Fix the issue where the drop-down items in the Display Coordinates drop-down menu are displayed in the wrong position on the recovery screen."

13

Settings

14

New

"Add support for 11 additional languages beyond English and Korean: Dutch, Italian, Chinese, German, French, Spanish, Czech, Hungarian, Polish, and Portuguese."

image-20240322-064513.png

15

"Add system restore functionality."

16

"Add Data Export & Import functionality."

image-20240322-064418.png

17

"Develop 'Export Log' feature."

image-20240322-064442.png

18

"Improve usability of the Update popup."

19

"Hide the System Update/Restore menu when not connected to an actual robot."

20

"Improve UX on the Update screen."

21

"Add Inverter, Safety Board, and Platform version information to the System Update screen."

22

Bug

"Fix the issue where the Controller settings IP change value is not saved at a specific path."

23

"Fix the issue where opening a local OS package file fails when selected from the system update screen."

24

"Fix the issue where the application version is not displayed when performing a system restore at a specific path."

25

"Disable Update and Restore functionality in Virtual Mode."

26

"Fix the issue where campaign information is displayed incorrectly when campaign validation fails."

27

"Fix the issue where the button displays 'Download' after completing campaign download."

28

"Fix the issue where selecting .gz files is not possible when performing Robot Update > Update > Find File."

29

"Fix the issue where selecting inaccessible menus during Task Play results in a toast icon displayed as a Warn Icon."

30

"Fix to not display the changeNote in the system update package if it exists."

31

Task Editor

32

New

Enhancement Property of Set Command.

33

Add new signal commands(Add, Get, Set, Delete)

Currently Support digital I/O, Modbus TCP and Modbus RTU. Other protocols will be supported soon.

34

"Enable task saving by pressing Ctrl+S after editing the task name."

35

“Provide a function to overwrite multiple files with the same name when importing multiple Task files.”

36

Bug

Add missing drl auto completion on custom code command

37

"Fix the issue where the Move command is inconsistently disabled based on the Relative/Absolute option values at a specific path."

38

"Fix the issue where the Task Stop button is active in Hand Guide Popup HGC Running state and causes a Protective stop when clicked."

39

"Fix the issue where, after setting Wait Digital Input Tool_In in the Wait command and then moving from the Command tab to the Property tab, the Command row incorrectly displays as Digital In."

40

“Fix UI error when playing and stopping two motion commands with different Speed Separate values.”

41

"Fix the issue where coordinates are not initialized when using the Cockpit GetPose button in motion commands."

42

“Fix the issue where the annotation value is not displayed in the Popup and Sub Task Command."

43

"Fix the issue where the Move To button does not work to move to arbitrary positions in Move L, C, JX, SX commands."

44

"Fix the issue where it's possible to create variables with the same name in the Global Variable command block."

45

"Fix the issue where the Move command does not move as configured when set to Relative mode."

46

"Fix the issue where the value entered in Set Command > Analog Output Signal is incorrectly input."

47

"Fix the issue where Pose type variables registered in System, Global, Define variables do not move to the correct position when linked in motion commands."

48

"Fix the issue where global variable values registered in the Monitoring tab do not update after program termination at a specific path."

49

"Fix the issue where the Variable Name created in Custom Code on A/E models is not displayed in the autocomplete field."

50

"Fix the issue where the Variable value set in User Command is maintained even after deletion until re-entering the User Command Property tab."

51

"Correct the naming error for Controller Digital Input. Change Digital Input 17-20 to SI 1-4."

52

"Fix the issue where coordinates are not updated when pressing the Cockpit Get Pose button in motion commands."

53

"Fix the issue where the Array Type of Variable Type changes to dl in System variables after program play."

54

"Fix the issue where deleting a Global Variable added to the Monitoring tab triggers a 'Missing System Variable' popup."

55

"Fix the issue where icons registered in the User Command module are not displayed."

56

"Fix the issue where variables created in the Define Command are reset when the program is terminated."

57

"Fix the issue where Task Play is possible even when all Position values in the Move L Command are disabled."

58

"Fix the issue where some Task Files are not deleted after deleting all Task Files saved in Task Editor and restarting."

59

"Fix the issue where the Weight Measure Command is disabled when the program is terminated if it's set to a Global Variable."

60

"Fix the issue where the Current/Expand All/Collapse All/Debug/Log options in the navigation area on the left side of the screen cannot be selected during program execution."

61

"Fix the issue where the recommended function list in the If and Custom Code commands displays a different number of Flange digital input/output ports than the actual number."

62

"Fix the issue where log information executed in the Task Editor module is not displayed in the log module."

63

"Fix the issue where, when using the Save As feature to save a file, the original file is displayed instead of the saved file."

64

"Fix the issue where Define variables are not added in UserCommand."

65

"Fix the return handling error in the 'gen_command_call' interface of the User Command module.”

https://developers.drdart.io/en/document/ver/pub/implement-the-user-command-interface#UserCommand-2-4)RequesttosaveCommandsDefinitionassubprogram/GenerateCommandCallthroughModuleService

CODE
{
    componentId:string, 
    data: Record<string, any>
}
66

"Fix the issue where a pop-up for import failure does not occur when attempting to import an invalid drl file in Custom Code."

67

"Fix the issue causing Dart-Platform to crash when performing a search with regular expressions enabled in Task Editor, including the use of * for wildcard search."

68

"Fix the issue where values set in the Set Command are not reset to the default value in the dropdown box after deletion."

69

“The layout issue with the dropdown menu for Package Name in Compliance and Force Command has been fixed.”

70

"Icons are displayed in the project screen for the current file being used."

71

"When the Current button is pressed in the left navigation menu, fixed the issue where all closed Command blocks were expanded."

72

"Correct the layout issue in the Global/Define Variables Command where error messages prevent input in certain areas when they occur."

73

“The issue where the Get Pose, Move To, and Reset buttons are disabled when changing the Task Type Pose variable to Tool and then changing it to Joint Type in the Move Command has been resolved.”

74

“Change the default state of the Reset button in the Move J Command to be disabled.”

75

"Fixed the issue where the program could be executed without setting the Sub Task Start Command."

76

“Fix the issue where system variable data is not synchronized when control authority is changed.”

77

“Fix the issue where the updated coordinate values are not reflected when changing the coordinates after adding a Move Command.”

78

“Fix the issue where incorrect commands are highlighted in a specific path.”

79

“Implement a warning popup when deleting a currently used Global/Define/System Variable, and disable the corresponding commands that were in use.”

80

Robot Parameter

81

I/O Alias

Bug

“The labeling for Port 17-20 in Controller Digital I/O > Controller Digital Input has been changed to SI 1-4.”

82

Mount

Bug

"Fix the issue where pressing the Stop button during Auto Measure in Mount causes the Auto Measure Complete popup to occur."

83

User Coordinates

Bug

“The issue with the UI displaying incorrect user coordinate system axes in the 3D Simulator has been fixed.”

84

Home Position

Bug

“The issue where homing with the Home Position button would cause movement to the Default Position instead of the Custom Position has been resolved.”

85

Cockpit

Bug

“The issue where the image of the new Cockpit was displayed when connected to the old Cockpit has been resolved.”

86

Flange I/O

Bug

When checking the End Effector Power Interlock area in the Flange I/O tab on the E model, it is displayed as X1 / X2.

87

“The issue where default values were not being populated when entering Flange I/O has been fixed.”

88

“The issue where Flange I/O settings changes were incorrectly flagged as different from robot settings and module file settings has been resolved.”

89

Tool Settings

Bug

“The Tool Center Point will now display a toast popup notification upon completion of the Auto Calculate operation.”

90

“The issue causing a crash when deleting a Shape Type in Tool Shape Item editing mode has been resolved.”

91

“The issue preventing Tool Weight Auto Measurement on the A0509S model has been fixed.”

92

"Fix issues related to Auto Measure in Tool Weight."

93

Safety Zone

Bug

“The issue where changes made only in the module file to Safety Zone items were not synchronized with the robot, resulting in the previous settings still being indicated as changes in the module file, has been resolved.”

94

"In the parameter settings of the CustomZone item, when the 'collaboratize zone' use button toggle is turned on, the confirm button is disabled, making it impossible to change the settings."

95

"Fix the issue where the application crashes when setting and applying Tool Orientation in the Safety Zone / Edit Settings."

96

"Fix the issue where the robot does not appear in the 3D simulator when selecting the Z value of Point 1 after entering Point 1 and Point 2 in the Crushing zone setting popup in the Safety zone."

97

"Fix the issue where turning off and saving the Safety Zone activation toggle does not apply the change."

98

"Fix the issue where the 7th port is displayed as “Port Port7” when checking the Designated Zone Detection in the Safety Zone."

99

"Fix the issue where the application crashes when saving in the Parameter tab during zone settings in the Safety Zone without entering some values."

100

"Fix the issue where the Collision Sensitivity value is confirmed as 20% in the Parameter tab after adding a Collision Sensitivity Reduction Zone in the Safety Zone."

101

“Correct the mislabeling of the category name in the Safety Stop Modes area of the Safety Zone Parameter tab from 'TCP/ Robot Position Limit Violation' to 'TCP Force Limit Violation.'”

102

Review Popup

Bug

"Fix the issue where TCP/Robot and Collision are displayed when checking Robot Limit in the Safety Review pop-up."

103

"Fix the issue where the 'New File' button appears when calling the 'Saved Files' popup by clicking the dropdown for 'Robot Parameter' file under Header."

104

etc

Bug

"Fix the issue where the 'Complete' popup appears immediately upon starting 'Auto Measure Start' without applying the 3-Pos signal."

105

"Fix the issue where after changing settings, selecting another configuration file from the Saved Files popup via the Meatball menu, and choosing 'open file' > 'continue without saving' without checking 'continue without saving', then selecting the Continue button does not open the selected file."

106

Status

107

New

"Modify to display the correct setting UI and fix setting value errors according to the Flange HW for each robot model."

108

Bug

"Disable the ability to test Digital / Analog Input when the Controller is in Analog Input / Real Mode On state."

109

"Fix the issue where the Controller Analog Output value intermittently reverts to the previous value when changed via slider movement."

110

"Fix the issue where a [1.5006] warning popup occurs upon first entering the Status module in robots equipped with the New Flange H/W."

111

"Change the display of Controller Digital Input to Port 17-20 - SI 1-4."

112

"Modify to ensure that input signals are preserved when switching from Real Mode ON to OFF in A/E models."

113

"Fix the issue where values do not update when converting between V and mA units."

114

Logs

115

Bug

“Fix issue that date filter is not displaying the current date.”

116

store

117

 Bug

"Fix the issue where the Copy button does not work when selected after choosing Share in a module."

118

Home

119

 Bug

"Fix the module icon alignment issue in specific situations."

120

Remote Control

121

New

"Change Control Input 16 ~ 20 to Safety Input 1 ~ 4."

122

Bug

"Fix the issue where remote control does not work after losing and regaining control authority."

123

"Fix the issue where the selected Task file remains even after it has been deleted in the TaskEditor."

124

"Fix the issue where information about the previous Task operation (only cycle count) remains when entering Remote mode."

125

"Fix the issue where moving to the Normal I/O menu leads to entering Flange I/O."

126

"Fix the issue where changes to selected Module or Task are not reflected when made externally."

127

"Fix the issue where entering Remote Control while in Servo On state causes Servo Off state, and even applying Servo On signal does not activate Servo On."

6. Dart-Store

  • Version: V2.1.0 (3/15 Release)

Click here to expand...

Categories

Features

1

General

New

"Release for payment system."

2

"Possible to upload paid module."

  • The maximum amount for a product is 500$.

3

"Add the number in "Audit" menu."

4

"Add Controller when download on DP."

5

Improvement

"Implementing for notifying to admin when receiving the module review via e-mail."

6

"Update Controller manage menu."

7

Change

"Update the download button on the detail module page."

8

Removed

"Delete the password text in menu of private information."

9

"Disable unused account and change password remind."

7. DRL

  • Version: V3.2.0

Click here to expand...

Categories

Features

1

General

New

"Add more supported orientation type in DRL"

8. Known Issues

Click here to expand...

Simulator issue

  • Issue: When moving the robot on the simulator in a task coordinate system, the robot in the simulator move with vibration.

    • Alternative: Use real robot when moving in a task coordinate system.

    • Plan : Scheduled to be modified so that it can be not trembled.

  • Issue: When update image to use ‘Update Images', all simulator’s installed module and database will delete like factory reset.

    • Plan : Scheduled to be modified so that it can be not reset.

Task Editor Module issue

  • Issue: System Array Type changes to Variable Type after Task Play.

    • Alternative: When using a variable array of system, global, or define type, use ‘[' ,']’.

    • Plan: Scheduled to be modified so that it can be used in 1, 2, and 3 formats.

Update guide

Here's how to update Dart-Suite V3.2.0BETA to V3.2.0.

In the next version, we plan to change the program to enable installation without deleting, and we plan to allow users to install multiple versions of Dart-Services and Dart-Platform by changing the folder name in the installation path.

  1. After deleting existing Dart-Services, download and install new Dart-Services.

  2. After deleting existing Dart-Platform, download and install new Dart-Platform.

  3. Updating my project from SDK1 to SDK2 in Dart-IDE:

  • Step 1. Access to the Dart-IDE.

  • Step 2. After opening the project, click FileProject Setting.

 Step 3. Change Dr.Dart-SDK Version from 1 to 2.

  • Info. The version name of Dart-Suite consists of the following rules:

    • Major : A major change that is not compatible with lower (older) versions
      (currently Dart-Platform 3)

    • SDK(API) : SDK version (version of Dart-API).

    • Patch : When fixing bugs while being compatible with same SDK versions.

If Dart-IDE fails to build an existing project even after changing SDK from 1 to 2

Note.

If Dart-IDE fails to build an existing project even after changing SDK from 1 to 2, Please follow the guide below.

  • Step 1. Replace webpack.config.js file to esbuild.config.js file in your project.

    • Path: Project Foldercom.your_project.name

  • Step 2. Replace package.json file to new one.

    • Path: Project Foldercom.your_project.name

  • Step 3. Change the “name” and “version“ in package.json file.

    • Path: Project Foldercom.your_project.namepackage.json

    • from: default the package name and version.

      CODE
      {
          "name": "com.example.mymodule",
          "version": "0.1.0",
          "main": "./src/index.tsx",
          "private": true,
          "license": "DOOSAN",
      
      ...
    • to: change the package name and version to the package name and version of your project.

      CODE
      {
          "name": "{your package name}",
          "version": "{your project version}",
          "main": "./src/index.tsx",
          "private": true,
          "license": "DOOSAN",
      
      ...
File Modified

JavaScript File esbuild.config.js

Oct 30, 2023

File package.json

Oct 30, 2023
JavaScript errors detected

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

If this problem persists, please contact our support.