DART-Studio Manual v2.10.1 v2.1 en
DART-Studio Manual v2.10.1 v2.1 en
1
Document version : V2.1
Translation of the original(en_US)
1 Preface .........................................................................................5
1.1 Copyright ...................................................................................................5
1.2 Open Source Software License Information (OSS)..........................................5
1 Preface
Thank you for choosing this Doosan Robotics product. Before installing the product, please read through this
manual and follow the instructions for each installation process provided in this manual. The contents of this
manual are current as of the date this manual was written, and product-related information may be modified
without prior notification to the user.
1.1 Copyright
The copyright and intellectual property rights of the contents of this manual are held by Doosan Robotics. It is
therefore prohibited to use, copy, or distribute the contents without written approval from Doosan Robotics. In
the event of abuse or modification of the patent rights, the user will be solely responsible for the consequences.
While the information in this manual is reliable, Doosan Robotics will not be held accountable for any damage
that occurs due to errors or typos. The contents of this manual may be modified according to product
improvement without prior notification.
Details about the free/open source software license can be found on the OSS use page on the Doosan Robotics
website (www.doosanrobotics.com/kr/oss/license2).
1 https://robotlab.doosanrobotics.com/
2 https://www.doosanrobotics.com/kr/oss/license
3 mailto:[email protected]
2.1 Setup
RAM 4 GB 8 GB or more
Graphic Card Intel HD Graphics 620 or similar Intel UHD Graphics 620 or similar
Caution
This software may have compatibility problems with a lower controller version than GF020400.
2.1.2 Installation
Install
1. Download and run the installer for DART-Studio.
2. On the Select Destination Location screen, accept or change the location for storing the DART-Studio
program files, and then Click.
3. On the Select Additional Tasks screen, select or do not create a desktop shortcut, and then click Next
4. On the Ready to Install screen, click Install.
5. On the Completing the DART-Studio Setup Wizard screen, select or do not launch DART-Studio, and the
click Finish.
Uninstall
1. Depending on your device and version of Windows, access Uninstall or change a program screen from the
Control Panel.
2. In the list view of programs, find and select your version of DART-Studio, and then click Uninstall.
3. On the Uninstallation Successful screen, click OK.
2.1.3 Licensing
The purpose of the license may vary depending on the user. In addition, the features available may vary
depending on the intended use of the license. In addition, It is installed as a 30-day limited trial on the initial
installation of the program and will no longer be available when the license expires.
Standalone License
A standalone license is a product key that can be used to run DART-Studio on your device. The license must be
validated and activated prior to its use.
3. Click the Copy to Clipboard button of License Information. Inform your license provider about the
generated license information key so you can obtain a license file.
4. Copy the license file to the installation path of DART-Studio to complete the license registration.
(Generally, the installation path is C: \ Program Files \ Doosan Robotics \ DART-Studio.)
5. If you want to obtain a license file before the license error window appears, please inform the license
provider about the generated the license information that you have copied by clicking the Copy
Information button in the License Info. as shown below. The program information window pops up when
you click the Help-> Info-> Program Info button on the top menu.
Main menu
Monitoring bar
Task manager
Monitoring pane
Massage pane
Status bar
Main Menu
The main menu has 6 categories.
Caution
The Util menu may not be visible depending on the license you have or SW version.
Monitoring Bar
The monitoring bar shows information on main system status. Detailed information is explained in Monitoring
Bar(p. 25).
Task Manager
Task Manager manages panes for robot control. There are three types of panes: Project Explorer, DRL Editor
and Variable Watch. Detailed use is explained in System Control(p. 39).
Monitoring Window
The Monitoring window manages panes for robot monitoring. There are three types of panes: Monitoring,
Graph and Motion Monitoring. Detailed use is explained in System Monitoring(p. 25).
Message Window
Or select View on the main menu and uncheck the checkbox for each window.
To show a window that is hidden, tick the checkbox for the window.
To add a tab group, right-click a tab and select New Horizontal Tab Group or New Vertical Tab Group on the
context menu.
If you add a new horizontal (or vertical) tab group and select Arrange Tab Groups Horizontally (Vertically),
the tab group is added horizontally (or vertically).
To move the tab to another tab group, select Move to Next Tab Group.
To initialize layout, select View on the main menu and click the Default Layout button.
1. Go to Help on the main menu and click the Language Setting ... button.
2. Select a language and click the OK button. The setting will be promptly applied.
If it is successfully connected to the controller, the connection state is updated on the monitoring bar.
• It is also possible to disconnect from the controller by clicking the connection state and selecting
Disconnect on the monitoring bar.
After the connection is disconnected from the controller, you must connect to the controller manually to
connect to the controller.
To connect to the controller, select Home on the main menu and click the Connect button.
• It is also possible to connect to the controller by clicking the connection state and selecting Connect on
the monitoring bar.
• Before changing the connection configuration, make sure that the connection is disconnected from the
controller.
1. Select Home on the main menu and click the Setting button.
2. Type a new address in the Controller IP Address field and click the Apply button.
To connect to the virtual controller, change the controller IP address to 127.0.0.1 and try connection.
Or, if you select the simulator in the connection target, it will be connected to the simulator automatically
without any separate IP setting.
1. Select Home on the main menu and click the Setting button.
2. Select the address for the virtual controller in the connection list and click the Apply button.
The virtual controller runs in the background. When the controller starts, the running status is updated.
To change the robot model type, select Home on the main menu and click the Set Robot Type menu, and then
select a robot model.
2.2.8 IO Simulator
Even without a physical device connected, it is possible to perform an IO simulation of the GPIO and Modbus IO
using a virtual controller. In the case of Modbus, it performs the Modbus Slave (Server) function and only
supports TCP/IP.
When the simulator window opens with a virtual controller connected, the IO simulator run status icon changes
to Running.
Click the Close IO Simulator button to close the simulator window and end the simulation.
GPIO Simulation
Click the Run GPIO Simulator button to open the simulator window as shown below.
1. Flange Version 1
3.
The digital IO status of the controller and flange are displayed.
The analog IO status and IO type of the controller and flange are displayed.
• Enter the signal value and press the Set button to set the value.
• Select the IO type and press the Set button to set the type.
• There are current type and voltage type.
• The voltage type will limit the signal value range to 0-10.
• The current type will limit the signal value range to 4-20.
Modbus IO Simulation
Click the Run Modbus IO Simulator button to open the simulator window as shown below.
Take caution of the fact that if more than 2 DART-Studio instances are running, only the first DART-Studio
instance can run the Modbus IO Simulator, and the simulator cannot run in subsequent DART-Studio
instances and the following log message will be displayed in the log window.
1. Add a Modbus IO to run the simulation in a robot environment. Refer to the Modbus IO(p. 79) for how to
add a Modbus IO. Take note that only the TCP/IP Device is supported.
2. When adding a Modbus IO, add it as a TCP device, and set the IP address as 127.0.0.1 (or the IP of the PC
running DART-Studio), the port number as 503, the slave ID as 255, the desired IO type and index (0-100),
and the initial value. In case of Multiple Holding Register and Multiple Coil, set the IO Start Index and
Count instead of the index and initial value. Click the Confirm button (Apply Item) after setting to apply
them to the virtual controller. It is also possible to simulate the Modbus IO applied on an actual controller,
so add a Modbus IO using the IP of the actual controller. All other settings are identical.
3. Change the cell value of the IO index set on the IO type column corresponding to the added Modbus IO and
click the Set button as shown below to apply the changed values. The setting ranges for Discrete Inputs,
Colis is 0-1, and for Input Registers, Holding Registers is 0-65535. In case of Discrete Inputs, Colis, 0 or 1 can
be selected from the combo box type input window or can be entered with a direct key in of 0 or 1 after
clicking the input window. Setting 0 or 1 with a toggle is also possible after double-clicking the input
window.
4. It is also possible to monitor the value of the cell on the Modbus slave simulator window, as it applies the
value changed from the Modbus IO Setting popup window displayed by clicking the Control -> IO Control
-> Modbus button as shown below.
5. Enter the index value (0-100) to search in the index input window of the Find Index on the top right and
click the Find button to move the focus to the corresponding row.
6. Move the mouse cursor over the index column header to display filtering options as shown below. Select
the checkbox of the items to display only the filtered items on the grid.
Each row shows a monitoring item and each row’s column size varies for each monitoring item dimension. For
example, “Joint Angle” needs six columns to display values from joint axis 1 to 6 and Controller Digital Input
needs 16 columns to display its state from port 1 to 16.
Most of the status values are updated every 100 milliseconds. In the case of IO status, the values are updated
when its value is changed.
In each data graph, the X axis is time in milliseconds and the Y axis is the value of the data. Data is updated every
100 milliseconds and as new data is added, the graph flows from right to left.
• X-Direction Zoom In: Scroll the mouse wheel upward while the mouse cursor is over a graph.
• X-Direction Zoom Out: Scroll the mouse wheel downward while the mouse cursor is over a graph.
• Y-Direction Zoom In: Scroll the mouse wheel upward while the mouse cursor is over a graph and holding
down the Ctrl key.
• Y-Direction Zoom Out: Scroll the mouse wheel downward while the mouse cursor is over a graph and
holding down the Ctrl key.
• Move: Use the scroll to move the data window position. Or move the mouse cursor to the left or right while
pushing the left mouse button.
Caution
If the data window doesn’t include the new data position, the graph is fixed. If you move the data
window so that it includes the new data position, it starts to flow.
• It supports from 1 by 1 to 2 by 3.
Control Monitoring
To initialize the zoom scale, click the Init Zoom Level button on the toolbar.
Visualized Objects
• Tool Coordination
• Motion Trajectory
• Robot Body Bounding Volume: Bounding Volume is a simplified body shape and is used to check collisions
against the safety zone.
• Safety Zone
Move
Click the Move button or press the F4 key and move the mouse cursor while clicking the left mouse
button. It is also possible to move the mouse cursor while clicking the middle mouse button.
Rotate
Click the Rotate button or press the F2 key and then move the mouse cursor while clicking the left mouse
button.
Key Action
If you want to change the center of rotation, hold down the Ctrl key and click on the object you want to focus
on.
Zoom
• Zoom In: Click the Zoom In button on the menu or scroll the mouse wheel upward.
• Zoom Out: Click Zoom Out button on the menu or scroll the mouse wheel downward.
Select
Click the Select button on the menu or press the F3 key, and then click the left mouse button over the
object to select.
Fit scene
To reset the zoom ratio and rotation center, click the Fit Scene button or press the F5 key.
F2 Rotate
F3 Select
F4 Move
F5 Fit scene
Projection Mode
• To make the selected object transparent, click the Transparent button on the toolbar.
• To make the selected object opaque, click the Opaque button on the toolbar.
So, if you want to manipulate the robot with the Service Tool, you must first get control authority.
To acquire control authority, select Home on the main menu and click the Request button.
• It is also possible to acquire control authority by clicking the Request button on the status bar.
Then, in another client program that currently has control authority, a query window pops up.
If you want to yield the authority, click the OK button and the authority is given to the requesting client and the
state UI is updated.
Note that the project must first be opened to open the Robot Configuration window.
Robot Configuration UI
The Safety Configuration UI is composed of a tree control and the tree has two main nodes, User Setting and
System Setting.
Robot Configuration is composed of five categories: Safety Parameter, Safety Zone, Tool, Modbus IO and
Coordinate System.
If User Setting and System Setting are different, the node icons for the User Setting items are displayed with
And then if you apply the change by selecting Apply Item, the node icon changes to .
To get the current safety configuration, click the Get Current Setting button on the toolbar.
Then the current settings are updated to the System Setting tree.
1. Select a configuration item in the tree and click the Modify Item button on the toolbar.
• It is also possible to edit by right-clicking a configuration item in the tree and selecting Modify Item
on the context menu.
2. After editing the settings, click the Confirm Then the edit window closes and the setting is applied to the
system. If the setting is successfully set in the system, System Setting is updated.
Safety Parameter
Joint Limit
• Joint Angle Range: This is a limit for joint angle by degree. If the angle of an axis exceeds the limit, a
JOINT_SLP violation error is invoked.
• Joint Speed: This is a limit for joint speed by degree/sec. If the speed of an axis exceeds the limit, a
JOINT_SLS violation error is invoked.
You need to set the limits for Normal Speed Mode and Reduced Speed Mode. Normal speed mode limit is
applied when the system is in a state of Manual operation, Hand-guiding operation or Stand-alone autonomous
operation. In contrast, Reduced Speed Mode limit is applied when the system is in a state of Collaborative
autonomous operation.
TCP/Robot Limit
• TCP Force: It is a limit for force on TCP in N. If the force on TCP exceeds the limit, a TCP_SLF violation error
is invoked.
• Power: It is a limit for power on TCP in W. If the power exceeds the limit, TCP_POWER violation error is
invoked.
• TCP Speed: It is a limit for TCP speed in mm/sec. If the TCP speed exceeds the limit, TCP_SLS violation
error is invoked.
• Momentum: It is a limit for TCP momentum in Kg∙m/sec. If the momentum exceeds the limit,
TCP_MOMENTUM violation error is invoked.
• Collision sensitivity: It is a criterion for collision detection in percent units. The higher the value, the
smaller the external force the robot stops with. If a collision is detected, a COLLISION violation error is
invoked.
If the Collision detection mute zone is configured and TCP is inside a collision detection mute zone, the collision
sensitivity for the zone is applied.
You need to set the limits for Normal speed mode and Reduced Speed Mode. Normal speed mode limit is
applied when the system is in a state of Manual operation, Hand-guiding operation or Stand-alone autonomous
operation. In contrast, Reduced Speed Mode limit is applied when the system is in a state of Collaborative
autonomous operation.
0 Not Used
A signal is invoked for the corresponding normal input port when the configured normal input action occurs.
0 Not Used
1 Power On (H)
0 Not Used
5 Abnormal (L)
A signal is invoked for the corresponding normal output port when the configured normal output action occurs.
0 Not Used
Installation Pose
When the robot is mounted on a side wall or ceiling, you must set the install pose.
• Tilting Angle: Tilting angle in degrees between the ground and the robot base frame.
Cockpit Button
It provides the editing function to set the teaching mode of the cockpit button.
• TCP-Z
• TCP-XY
• Orientation Only
• Position Only
To use the clamping escape function, select Clamping Escape Enale in Button1+2 mode.
Nudge
It provides the editing function to set the following property items for Nudge.
To only change the servo off time, set the Off Time value.
Operating Space
Operating Space is a safety zone where robot operation is limited.
If any part of the robot including tool goes beyond the zone, a TCP_SLP violation error is invoked. It is
geometrically defined as one of Cuboid, Circular Prism, and Planar Prism.
Collaborative Workspace
Collaborative Workspace is a safety zone where the user cooperates with the robot. Its complement is called
Standalone Workspace, which is a space where the robot operates autonomously.
When the robot is moving in the autonomous mode and TCP is in Collaborative Workspace, the operation speed
mode is changed to Reduced Speed Mode.
Protected Zone
Protected Zone is a safety zone to protect environmental objects near the robot.
If any part of the robot including tool collides with the shape the zone defines, a TCP_SLP violation error is
invoked. It is geometrically defined as one of Cuboid, Sphere, and Polygonal Prism.
It is geometrically defined as one of Cuboid, Sphere, Cylinder, Tilted Cuboid and Polygonal Prism.
• Collision Detection On/Off: If the property is OFF, Collision detection is disabled when TCP is inside the
zone. If the property is ON, the local Collision Sensitivity property is applied to collision detection.
• Collision Sensitivity: Local collision sensitivity is applied to collision detection.
• Dynamic Zone Enable: If the property is set, the collision mute zone is only enabled when the
corresponding safety input channel is enabled.
It is geometrically defined as one of Cuboid, Sphere, Cylinder, Tilted Cuboid and Polygonal Prism.
Limit Direction and Angle comprise a cone shape. If the tool direction goes beyond the limit range, a TCP_SLO
violation error is invoked.
To modify a safety zone, click the Modify Item button on the toolbar. It is also possible to modify it by
selecting Modify Item on the context menu.
If the Shape Type is selected, the Shape Property field is updated for the type.
If you want to cancel the editing result, click the Cancel button.
Get Pose
For position properties like XYZ, XY, Z coordinates, there is a Get Current Coordinates button as shown. Clicking
the button sets the position field to Current TCP.
• Move: Click the Move button or press the F4 key and move the mouse cursor while clicking left
mouse button..
• Rotate: Click the Rotate button or press the F2 key and then move the mouse cursor while clicking
the left mouse button.
• View Direction: To change the viewpoint, click one of the View Direction If you click the To –X button, the
scene rotates so that the forwarding direction directs to the –X direction.
• Show Safety Zone: Select the zone type to show on the screen in the Context menu that appears when the
Show Safety Zone button is clicked.
• Select: Click the Select button on the menu or press the F3 key, and then click the left mouse button
over the object to select.
• Zoom: Scroll the mouse wheel upward to zoom in. Scroll the mouse wheel downward to zoom out.
• Scene Fitting: Press the F5 key.
Apply an Item
If a zone is confirmed, the zone is applied to the system.
If the setting is successfully applied to the controller, the current system setting is updated.
If the setting fails, a system alarm message that explains why the setting failed pops up.
To enable a safety zone, select a disabled zone and select Modify Item on the context menu or click the Modify
Then, the Item Edit window for the safety zone appears on the right side.
To change the safety zone activation, turn on the Activate Zone button.
If the zone is enabled without a problem, the zone setting is applied to the system and the Current System
Setting is updated.
If a zone is disabled, the zone setting is applied to the system, which means the setting is removed from the
system.
To display the safety zone settings, select Safety Zone and click the Display Item button on the toolbar or
select Display Item on the context menu.
Then, the selected safety zone is displayed in the 3D viewer of the Motion Monitoring tab.
The shape of a zone is geometrically defined as one of Sphere, Cylinder, Cuboid, Tilted Cuboid and Multi Plane.
The properties of each shape is as below.
Tilted Cuboid Tilted cuboid is defined as an origin point and three orthogonal
vertex points.
Po: Origin Point (X, Y, Z)
Pu: Vertex point along U axis (X, Y, Z)
Pv: Vertex point along V axis (X, Y, Z)
Pw: Vertex point along W axis (X, Y, Z)
Multi Plane P1~P6: A plane orthogonal to XY plane. Defined as start and end
points on XY plane.
h1: Lower Height (Z)
h2: Upper Height (Z)
S: Space point(X, Y). The Space point decides a valid space among
spaces divided by planes.
Property Description
Valid space A shape divide the space into inner space and outer space. The user can select which
space is valid.
If the outer space is valid, the robot cannot reside inside the shape which means that it
defines a protection zone.
Property Description
Joint Angle Limit It defines whether to override joint angle limit inside the zone.
Override
Dynamic Enable By It defines whether to dynamically enable the zone based on the safety input signal.
Safety Input
If the option is enabled, the safety zone is enabled when the assigned safety input
channel is invoked
Dynamic Enable By It defines whether to dynamically enable the zone based on the safety output signal.
Safety Output
If the option is enabled, the safety zone is enabled when the assigned safety output
channel is invoked
Local Zone
Local zone is a safety zone which overrides safety parameters when TCP is inside the zone.
The shape of a zone is geometrically defined as one of Sphere, Cylinder, Cuboid, Tilted Cuboid and Multi Plane.
The properties of each shape are as described in Space Limit Zone.
Property Description
Prior to other zones It decides the priority of zones when local zones are overlapped.
If this flag is enabled, the zone is prior to other zones.
Prior to Reduced mode If the reduced speed mode safety input is invoked while the robot is operating in
Auto mode, the safer limit between global reduced speed mode limit and the
local safety limit is applied.
If this flag is enabled, the local safety limit is applied.
Joint Angle Limit Override It defines whether to override joint angle limit inside the zone.
Joint Speed Limit It defines whether to override joint speed limit inside the zone.
Override
TCP Speed Limit Override It defines whether to override TCP speed limit inside the zone.
Power Limit Override It defines whether to override Power limit inside the zone.
Momentum Limit It defines whether to override Momentum limit inside the zone.
Override
TCP Force Limit Override It defines whether to override Force limit inside the zone.
Collision Sensitivity It defines whether to override Collision sensitivity inside the zone.
Override
TCP SLF Violation Stop It defines whether to override TCP SLF Violation Stop Mode inside the zone.
Mode Override
COLLISION Violation Stop It defines whether to override COLLISION Violation Stop Mode inside the zone.
Mode Override
Speed Rate Override It defines the operation speed rate inside the zone.
Tool Orientation Limit It defines whether to limit the tool orientation inside the zone.
To limit the tool orientation, the limit axis and the angle should be defined.
Dynamic Enable By Safety It defines whether to dynamically enable the zone based on the safety input
Input signal.
If the option is enabled, the safety zone is enabled when the assigned safety
input channel is invoked
Dynamic Enable By Safety It defines whether to dynamically enable the zone based on the safety output
Output signal.
If the option is enabled, the safety zone is enabled when the assigned safety
output channel is invoked
Caution
If the TCP is inside the zone, the safety limit of the local zone is applied.
To add a safety zone click Add Item button on the toolbar or select the Add Item menu on the context
menu.
Set properties of the shape. If the shape is properly set, the shape is displayed in the shape view.
The user can manipulate the 3d shape view by using the functions below.
• Move: Click the Move button or press the F4 key and move the mouse cursor while clicking left
mouse button..
• Rotate: Click the Rotate button or press the F2 key and then move the mouse cursor while clicking
the left mouse button.
• View Direction: To change the viewpoint, click one of the View Direction If you click the To –X button, the
scene rotates so that the forwarding direction directs to the –X direction.
• Show Safety Zone: Select the zone type to show on the screen in the Context menu that appears when the
Show Safety Zone button is clicked.
• Select: Click the Select button on the menu or press the F3 key, and then click the left mouse button
over the object to select.
• Zoom: Scroll the mouse wheel upward to zoom in. Scroll the mouse wheel downward to zoom out.
• Scene Fitting: Press the F5 key.
If the user confirm the setting, a new safety zone item is added to the configuration tree.
If the DART Studio is connected to the controller, the setting is applied to the system. Or if it is not connected to
the controller, the setting is just saved to the configuration file.
To modify setting of a safety zone click Modify Item button on the toolbar or select the Modify Item
menu on the context menu.
If the button is clicked, the editing window is displayed. After editing the setting click the Confirm button to
confirm the setting.
To delete a safety zone click Remove Item button on the toolbar or select the Remove Item menu on the
context menu.
To display a safety zone click Display Item button on the toolbar or select the Display Item menu on the
context menu.
Tool
To register a tool setting, select Tool Weight, Tool Center or Tool Shape and click the Add Item button on
the toolbar.
• It is also possible to add an item by selecting Add Item on the context menu.
You can automatically measure the tool weight by clicking the Measure button.
If measurement is done, the measure result is filled in the tool weight fields.
You can automatically calculate the TCP by clicking the Calculate button. If you click it, the TCP Calculating
window opens. After filling in the four reference values required for TCP calculation, press the measure button
to start the measurement motion. During motion, the measure button changes to a stop button, and the
measurement motion stops when the stop button is pressed.
Starting with GF0210001 and later versions, there is a function to set a weight above the maximum payload
instead of limiting the acceleration.
For robot models that offer this feature, instead of limiting the maximum weight and acceleration, the
maximum weight that can be set is displayed as a warning.
Activate a tool
To activate a tool, select a tool item and click the Apply Item button on the toolbar, or select Apply Item
on the context menu.
Unselect a tool
Click the Unselect Tool button on the toolbar or select Unselect Tool on the context menu.
To set tool shape setting, select an added item and click the Modify Item button on the toolbar.
Tool shape is composed of at most five parts, and each part’s shape is one of Box, Sphere or Capsule. To
configure the shape of a part, you must set its validity flag and shape.
5. Define shape
• It is assumed that the origin of the tool shape is in the “Tool Flange Center” and its X, Y, Z direction
is the same as the Base coordinate system X, Y, Z direction.
• If every field is filled and the shape is valid, it is displayed in the Tool Shape Display Window.
button.
• It is also possible to display the tool shape by selecting Display Item on the context menu.
Modbus IO
Modbus IO has two types, TCP device and RTU Device.
From the controller version GF02060300, up to 100 Modbus IOs can be added regardless of device, IP, port
number.
To add a Modbus monitoring item, select a tool item (TCP device or RTU Device) and click the Add Item
button on the toolbar or select Add Item on the context menu.
• I/O Index
When a new item is added to the tree, select the item and click the Apply Item button on the toolbar or
select Apply Item on the context menu.
If the setting item is successfully applied, the value of the item is displayed in the Input Value field in the tree.
To remove monitoring items, select an item node in the tree and click the Delete Item button on the
toolbar or select Delete Item on the context menu.
Then, the selected items are removed from the tree and controller.
Coordinate System
World Coordinate
To configure the world coordinate, click Modify Item button on the toolbar or select the Modify Item
menu on the context menu after selecting the World Coordinate item.
Configure the world-base relation in the editing window. World-Base relation means the position and the
orientation of the robot based on the world coordinate system.
Item Description
X Coordinates of the relative position of the robot base in the X axis direction of the world coordinate
system
Y Coordinates of the relative position of the robot base in the Y axis direction of the world coordinate
system
Z Coordinates of the relative position of the robot base in the Z axis direction of the world coordinate
system
A Angle of the XY coordinate axis of the robot base rotated with the Z axis of the world coordinate
system as the rotation axis
B Angle of ZX coordinate axis of robot base rotated with Y axis rotated above
C Angle of XY coordinate axis of robot base rotated with Z axis rotated above
To add a user coordinate, click Add Item button on the toolbar or select the Add Item menu on the
context menu after selecting the User Coordinate item.
Set the properties of the user coordinate and click the Confirm button.
Property Description
ID At most 100 user coordinates can be defined. The id of the coordinate is pre-assigned. So
select the id of the coordinate. It cannot be duplicated with other coordinate setting.
Basis Coordinate Set the basis coordinate system among the World coordinate system and the Base
System. coordinate system.
Coordinate Set the origin position and the orientation of the user coordinate system based on the
Setting basis coordinate system.
X, Y, Z: the origin position based on the basis coordinate system.
A, B, C: the orientation of the coordinate based on the basis coordinate system.
To modify a user coordinate, click Modify Item button on the toolbar or select the Modify Item menu on
the context menu after selecting the item to modify.
To delete a user coordinate, click Delete Item button on the toolbar or select the Delete Item menu on
the context menu after selecting the item to delete.
Joint Jog, Joint Move (MoveJ), Task Jog, Task Move (MoveL) and Align Motion are available in the Manual
Motion window.
And then you can perform the servo on/off, change real / virtual mode using the button on the left upper side. It
is also possible to see the current control state and system mode in the right upper side.
All manual motions are run by the user’s Hold To Run operation. Hold To Run means that the robot moves only
when the operation button is pushed. If the button is released, the robot stops immediately.
In motion control, every joint angle value is displayed in degree units and its speed is displayed in degree/
second units. For task pose, the translation part (X, Y, Z position) is displayed in mm units and orientation part
(A, B, C orientation) is displayed in degree units. For task speed, the speed of the translation part is displayed in
mm/second units and speed of the orientation part is displayed in degree/second units.
Joint Jog
Select Joint Jog in the Manual Motion list. Then, the current joint angle and TCP position are displayed and
updated in 100 milliseconds.
Joint Move
Select Joint Move in the Manual Motion list. Then, the current joint angles and TCP position are displayed and
updated in 100 milliseconds.
• To load the current angle in the Target Angle field, click the Get Current Angle
Start motion
Click and hold the Move To Target button to move the robot to the target angles in the way of “MoveJ.” If the
button is released, the robot will stop.
Task Jog
Select Task Jog in the Manual Motion list. Then, the current joint angles and TCP position are displayed and
updated in 100 milliseconds.
• Base: The TCP of robot will move along the corresponding axis of base coordination.
• Tool: The TCP of robot will move along the corresponding axis of tool coordination.
• World: The TCP of robot will move along the corresponding axis of world coordination.
• User_Coordinate: The TCP of robot will move along the axis of coordinates added in the robot
environment setting.
Start Motion
Click and hold the Plus(+) or Minus(-) button for the axes and direction to move. If you release the button, the
motion stops.
Task Move
Select Task Move in the Manual Motion list. Then, the current joint angles and TCP position are displayed and
updated in 100 milliseconds.
To load the current target coordinates in the Target coordinates field, click the Get Pose button.
Start Motion
If you click and hold the Move To Target button, the robot will move to the target position in the way of
“MoveL”. If you release the button, robot will stop.
Align Motion
Select Align Motion in the Manual Motion list. Then, the current joint angles and TCP position are displayed and
updated in 100 milliseconds.
To get the current pose, click the corresponding Get Pose button.
The reference coordinate system of the alignment direction is the coordinate system set in Coordinate.
Pressing the Calculate button brings up a dialog that provides a normal direction calculation function.
The alignment direction is the normal direction of the three points.(V = (P2-P1) X (P3-P1) )
When a plane point is entered, the calculated normal direction is displayed. If the direction vector is not valid,
an error message is displayed.
If two of the three points are the same point or are on a straight line, an error is not returned and (0,1,0) is
returned.
Start Motion
If you click and hold the Move To Align button, the robot will change its tool direction until you release the
button.
Homing
Though the homing motion is one of the manual motions, it has its own menu because it is used frequently.
Select Control on the main menu and click the Homing button.
Homing
Select Homing in the Homing Motion list. Then, the current joint angles are displayed and updated in 100
milliseconds.
If you click and hold the Move To Home button, the robot will move to the home position until you release the
button.
If homing is completed, you can see the “Homing mode complete” message on the Monitoring bar or message
pane.
Custom Homing
Select Custom Homing in the Homing Motion list. Then, the current joint angles are displayed and updated in
100 milliseconds.
To set the current joint angle of the robot to the user's home, do the following.
1. Click the Set Current Pose as Home button to set the current pose to the custom home position.
2. Click the Set Target Angle to Controller button to apply to the controller.
3. If you click and hold the Move to user Home button, the robot will move to the custom home position
until you release the button.
4. If homing is completed, you can see the “Homing mode complete” message on the Monitoring bar or
message pane like Homing.
2.4.4 Packing
Packing or Unpacking
To control the robot packing mode, select Control on the main menu and click the Packing/Unpacking button.
Caution
Control is available when entering recovery mode and the window is activated when control is available.
Packing/Unpacking
Select Packing or Unpacking in the Packing Motion list. Then, the current joint angles are displayed and
updated in 100 milliseconds.
To pack or unpack the robot into the set specified packaging pose, Click and hold the Move To Target button.
2.4.5 IO Control
To monitor or set the IO of the controller and the robot arm flange, select Control on the main menu and click
the GPIO button.
The IO Monitoring / Control window is composed of three parts: Controller Digital/Analog setting and Flange
Digital/Analog Setting.
1. Flange Version 1
2. Flange Version 2
Controller Digital
The Digital IO state of the controller is displayed in the Input State/Output State field.
To set output, click the 0 or 1 button for each channel in Individual Setting.
To set all outputs at once, set the desired value in each channel at the bottom of the Batch Setting button and
click the Batch Setting button.
Controller Analog
The Analog IO state of the controller is displayed in the Input State/Output State field
To set output, set Output Setting and click the corresponding Set button.
To set all output values at once, set the analog output fields and click the Batch Setting button.
You can set the value type of analog input and output. It can be current or voltage.
To set the value type, select the type and click the Set button for the input/output type that you want to set in
Input/Output Type Setting.
Flange Digital
The Digital IO state of the flange is displayed in the Input State, Output State field. As with the Controller
Digital, the IO state color is green if the signal is high and gray if the signal is low.
To set all outputs at once, select value for the flange digital and click the Batch Setting button.
Flange Analog
There is no analog output from the flange. Input is expressed as a real number.
You can set the value type of analog input. It can be current or voltage.
To set the value type, select the type and click the Set button for the inputtype that you want to set in Input
Type Setting.
SS1 Motor power is cut off after the robot motion Servo Off
stops completely.
SS2 The robot motion stops without motor power Safety Stop
off.
To recover the controller state from “Servo Off,” select Control on the main menu and click the Servo On
button.
To recover the controller state from “Safety Stop,” select Control on the main menu and click the Reset Safety
Stop button.
When a position-related error such as JOINT_SLP, TCP_SLP or TCP_SLO occurs, even if you click the Servo On
or Reset Safety Stop button, the same fault occurs again and the state goes back to the fault state. In that case,
you must change the robot pose to avoid the violation.
Recovery Motion
To change the robot pose in the fault situation, select Control on the main menu and click the Recovery Mode
button.
If the button is clicked, the Recovery Motion window pops up. And then click the Start Recovery Mode button,
servo on and the controller state changes to Recovery mode. And each control becomes active and can be
controlled.
Recovery motion supports two types of manual motion, Joint Jog and Joint Move. Their use is the same as
Manual Motion. For information about Joint Jog and Joint Move, refer to “Joint Jog” and “Joint Move.”
Caution
In recovery mode, no position violation inspection is performed. So, you can move the robot joint to its
hardware limit.
You can visually check whether there is a position violation in the 3D viewer. If you ensure that there is no
position violation, click the Change to Manual Motion button or just close the Recovery Motion window to go
back to the manual mode.
Backdrive Mode
When a fault occurs and you need to move the robot by releasing the brake, select Control on the main menu
and click the Backdrive Mode button.
If the Backdrive Mode button is clicked, the Backdrive Recovery window pops up. And then click the Start
Back Drive Mode button, and the controller state goes to Backdrive mode.
Caution
You must restart the system to release backdrive mode.
Other functions of the SW cannot be operated until the system is restarted.
You can see the current brake status for each axis on the left side of the window.
And then to release the brake so that you can move the robot joint manually, click the Release button. To set
the brake, click the Lock button.
If recovery is done, click the System Shutdown button to shut down the system.
If you make a new project, main.drl file and Robot Configuration item are created automatically. Also, robot
setting and DRL programs including safety zones are stored and managed on a project basis.
Text editing
Running a program
Bookmark
Edit window
➊ Show bookmarks or break points. If you want to add a break point, just click the
position to add.
Message window
see the log messages that occur when the DRL program is running in the DRL Log tab. If necessary, you can
delete the entire log by using the Clear All menu that appears when you right-click on the added row.
If you select the Variable Watch tab, you can see the variable value that is added in Project Explorer.
Syntax Highlighting
Comment
DRL function
DRL constant
If you were editing a program, the Save Query Window pops up before clearing the contents.
To save a program, click the Save button or Save As button. If you want to open a program, first you
must open a project. Please refer to Project Explorer(p. 118)
To import a program file from another project, select Source Files in the tree node of Project Explorer and right-
click, and then select Import Existing File on the context menu.
Comment
After selecting text, click the Comment button on the toolbar or press Ctrl + J.
Uncomment
After selecting commented text, click the Uncomment button on the menu or press Ctrl + L.
Toggle Comment
To toggle comment, press Ctrl + K after selecting text.
Bookmark
Toggle Bookmark
To add or remove a bookmark, set the cursor at the text line and click the Toggle Bookmark button on
the toolbar or press the F2 key.
If the cursor line has no bookmark, a new bookmark is added and the Bookmark List is updated.
If the cursor line has a bookmark, the bookmark is removed and the Bookmark List is updated.
Go to Bookmark
If you click the Go to Next Bookmark button on the toolbar or press Ctrl + F2, the cursor goes to the
nearest next bookmark from the current cursor position.
If you click the Go to Previous Bookmark button on the toolbar or press Shift + F2, the cursor goes to the
nearest previous bookmark from the current cursor position.
If you select a bookmark from the Bookmark List, the cursor goes to the bookmark.
To insert the current joint position, click the Insert Current Joint Angle Text button on the toolbar or
press the Ctrl+Q keys. Or select Insert Current Joint Angle Text on the context menu.
The current joint angle value is then inserted into the current cursor position.
To insert the current task position, click the Insert Current Base Task Pose Text or Insert Current World
Task Pose Text button on the toolbar or select Insert Current Base Task Pose Text (Ctrl+E) or Insert
Current World Task Pose Text (Ctrl+W) on the context menu.
Then, the current task position value is inserted into the current cursor position.
Function Outline
If you define a function and save the file, the Function Outline list is updated.
And if you select a function in the Function Outline list, the cursor goes to the line where the function is defined.
To sort the Function Outline list in alphabetical order, click the Sort Function List By Name button.
To sort the Function Outline list in order of line numbers, click the Sort Function List By Line No button.
Code Completion
Code completion completes the rest of a command, variable, or function name after you have entered enough
characters to disambiguate the term. You can use Code completion by pressing Ctrl + Space key or alphabet
key.
Go to definition
You can go to the definition of the selected symbol by pressing the F12 key.
Find References
You can find references to the selected symbol by pressing Shift + F12 key. A list of references appears in the
Find All References window.
At this time, the main program's extension is txt, and the sub program's extension is drl.
At this time, the main program's extension is txt, and the sub program's extension is drl.
If you click the DRL Help button on the toolbar or press the F1 key, the DRL Guide window appears.
If you select text and click the DRL Help button or press the F1 key, the DRL Guide window appears and
shows the search results.
To search the DRL command, Type a keyword and click the Search button
Click a command from the list, and then the guide for the command is shown in the right pane.
To set the command list in alphabetical order, click the Command List button.
Ctrl + P Print
Shift + F5 Stop
F9 Toggle Breakpoint
Caution
From Controller GF02070000 version, the user must change to the automatic mode before running the
program.
When connected to the simulator, there is no need to switch modes.
If the program starts without error, the current execution line is displayed in the editor.
To pause the program, click the Pause Program Run (Ctrl+Alt+Break) button.
To resume the program, click the Continue to Run Program (F5) button.
If you click the Stop Program Run (Shift+F5) button while the program is running, the program is
stopped.
When the program running is paused, if you click the Run Next Program Line (F10) button, the program
running is paused again when it reaches the next program line.
When the program running is paused, the selected line means the next running line, which means it is not
executed yet.
When the program runs, the yellow trace moves along the execution line as shown above. If you do not want to
use this function, uncheck the Display DRL Execution Line as shown below.
When the cursor is at a line with no break point, if you click the Toggle Break Point button or press the F9
key, a break point is added to the line.
When there is no break point in that marker line, if you click the marker area, a break point is added to the line.
When the cursor is at the line with a break point, click the Toggle Break Point button or press the F9 key
to remove the break point from the line.
• The break point can be also removed by clicking a break point in the marker area.
• To remove all break points at once, click the Remove All Break Points button or press the Ctrl +
Shift + F9
If you change the speed ratio, the program running speed will decrease by that ratio. If the speed ratio is set to
40 (%), the robot moves with 40% of its original speed.
Debug Variables
Double-click the Debug Variables item in the project explorer.
System Parameters
Double-click the System Variables item in the project explorer.
Type Range
String String
Posj 6-Axis Joint Angle. posj(x1, x2, x3, x4, x5, x6)
Posx 6-Axis Task Coordinates. posx(x1, x2, x3, x4, x5, x6)
View Control
Initialize Initialize the zoom scale so that the whole objects can
be fit in the scene.
Object visibility
Hide objects
Viewpoint
Projection
Orthogonal projection
Perspective projection
Object selection
In selection mode, the user can select objects by mouse clicking or dragging.
• If the user clicks the mouse left button on an object, the object is selected.
• If the user clicks the mouse button while pressing Ctrl key, the user can select multiple objects.
• If the user drags the mouse, all the objects inside the dragging region are selected.
Selection inversion
The function inverts the selection. The objects except the currently selected object in the parent group are
selected.
Object deletion
The function deletes all the selected objects.
1. Select objects.
Object transformation
The program provides functions to transform the selected objects.
Object translation
The function moves the selected objects by offset.
Object rotation
The function rotates the selected objects along an axis.
X Axis (1, 0, 0)
Y Axis (0, 1, 0)
Z Axis (0, 0, 1)
Direction of selected object If two points selected, the direction from starting point
to the end point is set.
Provides normal direction lookup function. The options for selecting objects for lookup are:
• If two points selected, the direction from starting point to the end point is set.
• If a line is selected, the direction of the line is set.
• If the direction vector of a path segment is selected, the direction vector is set.
• If a plane is selected, the normal vector of the plane is set.
4. Select objects to mirror.
5. Select the [Mirroring] button.
1. Select an object.
2. Check the properties of the object in the properties window.
Note
IGES, STEP files are standard CAD file formats used widely. If the format of a CAD file is not one of them,
translate the cad format by using CAD software.
Note
Select [Create Surface Edge] menu on the 3D view context menu or Click [Create curve] button
in the menu bar and select [Create Surface Edge] option.
If the user wants to create a path sweeping more than 2 surfaces, first merge the surface in a
surface. Please refer to [Create shape >> Plane/Surface creation] chapter.
3. Open the path generation window.
Click [Create Path] button and select the [Create Glue Path] option.
Note
You can also select the face you want to create a path for, then
choose Create Glue Path from the context menu.
• Group: a group which newly created paths belong. If the [Create Group] check box is check, a new
group named the name of the selected surface is created.
• Offset: Offset from the surface edge. If the value is positive, the path is created inside the edge
along the surface or the value is negative the path is created outside the edge.
• Avoid Hole: When there is a hole inside the surface, the user can decide that the path ignores the
hole or not. If the flag is the checked, the holes which its radius is less than the Radius value are
ignored.
Preserve original curves Each original curve becomes a path segment. When
creating a script code, a line segment is translated into a
MoveL motion and a curve segment is translated into a
MoveSX motion. When a curve has edges which its angle
is 90 degree, the motion cannot be run. In that case, the
user should modify the path before creating a script.
Merge as the spline motion path Merge whole curves into a curve which can be translated
into a spline motion. If the angle between two curves is
greater than the merge allowance angle, the path
segment is split.
Merge as the blend motion path Split the curves into lines and arcs so to create a blend
motion. The curve is split into arcs based on the arc
tolerance.
A path segment is a list of path points. The robot controller creates motion trajectory based on the points.
Each path point defines position and direction vector. The direction vector means orientation at the
position. The direction vector of a path point is initially set as the normal vector of the surface at the
position.
Note
To reverse the whole direction vector, try to create a path again after reversing the surface.
• Group: a group which newly created paths belong. If the [Create Group] check box is check, a new
group named the name of the selected surface is created.
• Tool Diameter: It means offset or distance between pattern. The negative value or zero is not
allowed.
• Avoid Hole: When there is a hole inside the surface, the user can decide that the path ignores the
hole or not. If the flag is the checked, the holes which its radius is less than the Radius value are
ignored.
Preserve Each original curve becomes a path segment. When creating a script code, a line
original segment is translated into a MoveL motion and a curve segment is translated
curves into a MoveSX motion. When a curve has edges which its angle is 90 degree, the
motion cannot be run. In that case, the user should modify the path before
creating a script.
Merge as Merge whole curves into a curve which can be translated into a spline motion. If
the spline the angle between two curves is greater than the merge allowance angle, the
motion path segment is split.
path
Merge as Split the curves into lines and arcs so to create a blend motion. The curve is split
the blend into arcs based on the arc tolerance.
motion
path
is created.
A path segment is a list of path points. The robot controller creates motion trajectory based on the points.
Each path point defines position and direction vector. The direction vector means orientation at the
position. The direction vector of a path point is initially set as the normal vector of the surface at the
position.
Note
To reverse the whole direction vector, try to create a path again after reversing the surface.
To create a zigzag pattern, A guide curve should be defined. The pattern extends to the normal direction of the
guide curve.
• Group: a group which newly created paths belong. If the [Create Group] check box is check, a new
group named the name of the selected surface is created.
• Tool Diameter: It means offset or distance between pattern. The negative value or zero is not
allowed.
• Avoid Hole: When there is a hole inside the surface, the user can decide that the path ignores the
hole or not. If the flag is the checked, the holes which its radius is less than the Radius value are
ignored.
• Merge mode: It decides the motion type of the created path.
Preserve Each original curve becomes a path segment. When creating a script code, a line
original segment is translated into a MoveL motion and a curve segment is translated into a
curves MoveSX motion. When a curve has edges which its angle is 90 degree, the motion
cannot be run. In that case, the user should modify the path before creating a script.
Merge as Merge whole curves into a curve which can be translated into a spline motion. If the
the spline angle between two curves is greater than the merge allowance angle, the path
motion segment is split.
path
Merge as Split the curves into lines and arcs so to create a blend motion. The curve is split into
the blend arcs based on the arc tolerance.
motion
path
The curve is a starting point of the zigzag pattern. The pattern extends to both direction of the normal
direction of the curve.
A path segment is a list of path points. The robot controller creates motion trajectory based on the points.
Each path point defines position and direction vector. The direction vector means orientation at the
position. The direction vector of a path point is initially set as the normal vector of the surface at the
position.
Note
To reverse the whole direction vector, try to create a path again after reversing the surface.
Perpendicular to the Tangent direction The direction perpendicular to both the tangent
direction and the head-up direction.
• Rotation Axis: The direction when [Axis Option] is selected as [User Setting]
• Rotation angle: Angle in degree
3. Select path point objects to rotate.
To split the path curve on a point, select [Split Path Curve (On Point)] option.
2. Select a path point object.
If the angle between two segments is greater than the tolerance, the merge failed.
4. Click the [Run] button.
Create point
Provides the ability to create points at specific locations for path creation or other geometry creation.
6. If the creation job is done, select the [Disable] button or close the window.
Surface The Start point and the end point of all curves which belong to the surface.
Note
Before creating a point, the user needs to check the TCP and coordination configuration.
1. Click [Create Point] button in the menu bar.
2. Select [Create Center Point(From Points)], [Create Center Point(From Curve)] or [Create Center Point(From
Mesh/Surface)] option in the active window.
3. Set creation option.
• Group: A group to which newly created object belongs.
4. Select target objects.
The input condition is as below according to the selected function.
2. Select [Create Circle Center Point(From Points)] or [Create Center Point(From Curve)] option in the active
window.
3. Set creation option.
• Group: A group to which newly created object belongs.
4. Select target objects.
The input condition is as below according to the selected function.
2. Select [Create Intersection Point(From Line-Line)], [Create Intersection Point(From Line-Plane)] or [Create
Intersection Point(From 3 Planes)] option in the active window.
3. Set creation option.
• Group: A group to which newly created object belongs.
4. Select target objects.
The input condition is as below according to the selected function.
2. Select [Create Projection Point(From Curve)] or [Create Projection Point(From Mesh/Surface)] option in
the active window.
3. Set creation option.
• Group: A group to which newly created object belongs.
4. Select target objects.
The input condition is as below according to the selected function.
From Curve A point object and a curve (or path segment) object.
Note
If the point is located outside the curve and surface so that the projection is impossible, a new
point is created at the nearest position from the point to the target object.
Create line/curve
It provides the ability to create straight lines/curves.
Edit line/curve
It provides the ability to edit straight lines/curves.
Merge Curves
The function merges 2 or more selected curves into a curve.
Reverse Curve
The function reversed the direction of the selected curves.
Create Plane/Surface
It provides the ability to create planes/surfaces.
Create Plane
The function creates a plane from the selected points or curves.
2. Select [Create Plane (From Points)] or [Create Plane (From Curves)] option in the active window.
3. Set creation option.
• Group: A group to which newly created object belongs.
4. Select target objects.
The input condition is as below according to the selected function.
From Curves 1 or more curve (or path segment) objects. The curves should be
on the same plane and compose a loop.
The function can be used when .STL file is used to create a path.
Edit Plane/Surface
It provides the ability to edit planes/surfaces.
Merge Surface
The function merges surfaces into a surface.
Split Surface
The function splits a surface into 2 surfaces.
Reverse Surface
The function reverses the direction of loops which composed the surface. The direction of the loop decides the
direction of normal vector of the surface. So the function can be used to reverse the initial path orientation
when creating a path.
Create Group
Create Group
The function creates a group object.
Change Group
The function changes the owner group of the selected objects. In other words, the selected objects move into
the selected group.
1. The user should find common points both in CAD model and the real model in the robot space.
2. The user should measure the coordinates of the common points in the robot coordinates.
3. The program calculates the transformation matrix from the source points in CAD space to the target points
in robot space.
4. If the user applies the transformation matrix to the CAD model, the model is transformed into the robot
space.
The procedure to calculate the transformation from source points to target points is called registration. The
program provides several functions for registration.
The transformation first coordinates the origin point and the main axis on the plane and the normal direction of
the plane.
• The first point and the second point compose a line (line 1).
• The third point and the fourth point compose a line (line 2).
• The line 1 decides the main axis on the plane.
• The product of the line 1 and line 2 decides the normal direction of the plane.
• The intersection of the line 1 and the line 2 decides the origin point of the plane.
Note
The number of source points and the number of target points should greater or equal than 3
but may be different.
4. Set error tolerance.
The error means the distance between corresponding matching points. The tolerance means the
maximum error allowed and decides when the matching iteration stops.
The function calculates a matrix from the source points to the target points. The [Also Create Inverse
Matrix] flag allows to create additional interse transformation matrix from the target points to the source
points. The inverse matrix is named “MatrixName_Inverse”
6. Set the matrix name and click the [Create Matrix] button.
If the matrix is created, the error between the source point and the target point is displayed. The user
should evaluate the error to decide whether to use the matrix or not. If the error is beyond the allowance
error, add more points or delete outlier points.
Apply Matrix
The usage of the function is same as the [Points To Points Registraton]. Please refer to the [Points To Curves
Registration] section above.
The usage of the function is same as the [Points To Points Registraton]. Please refer to the [Points To Curves
Registration] section above.
Create Script
The function create a DRL script from the path objects.
Time Applied in case that velocity type is ‘Time. The unit of time is second.
Blending Radius If the value is greater than 0, the current motion will be blended when the
TCP reaches the point where the distance from the next motion’s starting
position is less than the radius.
If the value is 0, no blending occurs.
A path segment is translated into a motion script. Initially all motion script follows the global property. If
the user changes the property type to ‘Local’, the motion follows the local property.
The user can define initial joint pose and joint motion speed.
When editing is complete, click the Reflect Attributes button. Changes are reflected in the script only when
properties are reflected.
Copy and paste the script to the DRL project source editor.
Note
Run Script
The program provides functions to verify the motion and the trajectory of the generated script.
If the program is connected to the controller, the shape of currently connected robot model is display.
5. If the simulation is done, click the [Turn Off Simulation] button in the menu bar.
5. Create source points for registration. User ‘Create Circular Center Point’ function.
6. Measure the target points in the robot space. User the ‘Create Point On TCP Position’.
7. Create a transformation matrix from the source points in CAD space to the target points in the robot space.
Use the ‘Points To Points Registration’ function.
8. Move the path data and the shape data into the robot space. Use the ‘Apply Registration Matrix’ function.
3. If the user selects a menu, the corresponding operation windows is activated and the control for the target
objects are filled.
3. If the user selects a menu, the corresponding operation windows is activated and the control for the target
objects are filled.
The program provides a function to open another operation window. To open another operation window, click
[Open a New Work Pane] menu in the menu bar. Then a new empty operation is shown.
If there are more than 1 operation window, the Active operation is updated when the user clicks an operation
menu.
The operation window can be overlapped with another operation window. In other word the usr can compose a
tab window.
The operation window can be cloned. If the user clicks [Open A Cloned Panel] button, a clone panel is shown up.
At most 30 operations are stored and can be canceled (Undo) or restored (Redo) again.
The user can undo the last operation by clicking the [Undo] button in the menu bar or by pressing [Ctrl + Z] key.
The user can redo the canceled operation by clicking the [Redo] button in the menu bar or by pressing [Ctrl + Y]
key.
The displayed information depends on the type and the number of the selected items. The type and the number
of the selected items and displayed information are as below.
1 point Coordinates.
1 curve Coordinates of start and end point. Length of Curve, Tangent direction of start and end
point.
Task List Select the task list currently being used or one used before
Change Attribute Change the attributes of the plate and product templates It is possible to
change by right-button click at plate and product tab.
Change Name Change the name of the selected item It is possible to change the name of
patterns and layouts.
Plate setup
It is possible to add additional information about the plate size and border margin in the Plate Setup window.
The plate border margin is the parameter that determines whether the product is exposed to the plate outline
or not.
Product setup
It is possible to determine product size and setup distance between products in the Product Setup window.
Calibration setup
This is the setup window where the user can execute calibration of a user-created pattern. Only one calibration
can be set per pattern, and the calibration can be set through the starting point and positions to be designated
by the X-axis and Y-axis. It is possible to see a preview in the right-view window by pressing the Preview button.
In addition, it is possible to save the calibration result by giving it a name and clicking Create.
The Layout window is used to deploy products onto the plate area that were created in the Create Pattern
window. It also is possible to set the direction and distance to/from the products when operating a robot.
Products shown on the screen are displayed with capital letters in the alphabetical order of the products, and
the forward direction of each product is marked with a blue box.
Auto Create Product Deploy products onto the current working layout automatically
Change Product Order Change the order of products deployed on the current layout
Products are sorted in ascending order according to the order in
which they were clicked.
Change Approaching Set the approaching and retreating direction and distance to/
Properties from a product
Show work order The order of operations of the products is indicated by arrows.
Distribute Horizontally Space the selected multiple products out horizontally with an
equal distance between
Distribute Vertically Space the selected multiple products out vertically with an equal
distance between
Single Move Single relative move the selected (single, multiple) product(s) to
the X- or Y-axis (can move to the absolute point with options)
In the Product Layout screen, it is possible to select object(s) by clicking or dragging with the mouse. It is
possible to move the selected object(s) by dragging them with the mouse. There are additional shortcuts
available.
Mouse click + ctrl Cancel Project Selection Cancel the selection of the selected project
Mouse drag + shift Paste Product Paste the selected product to another product or plate
The Product layout screen has a function for detecting collisions. When product outlines overlap, their color
changes to red.
The Product Order window can be enabled using the View Product Order toggle button, and it is possible to
modify currently deployed product(s). You can modify the order and approaching distance, and add or delete a
product(s).
Batch application of approach direction and approach distance can be set using the right-click menu that
appears when you right-click the value you want to assign all.
The Auto Create Product window automatically deploys products onto the selected plate(s). The deployment of
products is applied to all plates, and there are four deployment rules.
Direct Determines the creation direction of a pattern. There are Horizontal bases and Vertical bases. For
ion Horizontal, the pattern is created from bottom left to bottom right, and for Vertical, from bottom left
to top left.
Patter Determines the creation rule for a pattern For Parallel, the same pattern is applied to all rows, and
n for Zigzag, the inverted pattern is applied to each row.
Start Select start position. It is possible to start from the bottom left, top left, bottom right or top right.
Positi
on
Spaci This option that is applicable when the total area of products to be deployed is small. If Medium is
ng selected, the spacing between the products is equalized so that the plate can be filled.
Optio
n
First of all, in order to use the function, you must select the product you want to set up.
The Approaching property setup is used to issue a command to approach/retreat to a certain distance to
prevent collision between products or outlines while palletizing products. From this window, it is possible to set
up the approaching direction and distance. There are nine approaching directions, and approaching distance is
the distance from the center of the object.
In this window, you can set up layers based on the prepared layout. When adding a new layer, it is possible to
select the layout to be applied. It is possible to add/delete layer(s), and to rotate (right 90º, left 90º, right 180º) /
flip (horizontally, vertically) currently created layer(s). In addition, there is the option to set a gap between
layers so that it is possible to insert a shim paper. It is possible to assign a color to a layer, so that the layer can
be distinguished from other layers on the 3D screen.
Rotation Options, Layer Gaps, and Assign All are available by using the right-click menu.
The created layer is displayed in the 3D Screen Manipulation window in real-time. It also displays the facing and
approaching direction of the product. The following options are available.
Screen Control
Zoom Out Enlarge the area where the mouse pointer is located
Screen Initialization Resize the screen size so that the object fills the entire screen
ETC.
Create Path
It is possible to create a path based on the created pattern and calibration. During creation, DRL code is
generated as shown above. Multiple grasp and release patterns can be set for use. It is possible to select
whether to execute based on the layer or height.
The rate of movement between patterns can be configured with Joint Speed and Acceleration, and the working
speed for approaching and retreating in the pattern varies according to the task speed.
Allow Approach Distance 0 option is available when approach/retreat directions are not used, and Insert
Simulation Code enables logging for checking simulation logs. Lift option can add the height adjustment
function when the T-axis is added. Create Script creates a pallet path based on the settings above.
It is possible to run the generated script by copying (CTRL+C) and pasting (CTRL+V) from DRL editor of the Task
Manager. In addition, the DRL code can be directly applied to the Teach Pendant by inserting it into the custom
code on the TB/TW using the “Upload to Smart TP” button in the Task Manager.
23
24 #define device cleanup
25 def end_device():
26 pass #remove pass and code here
27
28 #define Robot Initial Configuration
29 def initial_configuration():
30 pass #remove pass and code here
31
32
33 #define minimum joint IK solution function
34 def min_jvector_sol(targetpose, coordinate):
35 jcur = get_current_posj()
36 sumjsol = [0, 0, 0, 0, 0, 0, 0, 0]
37 for i in range(0, 8):
38 jsol = ikin(targetpose, i, coordinate)
39 sumjsol[i] = abs(jcur[1] - jsol[1]) + abs(jcur[2] - jsol[2]) + abs(
jcur[4] - jsol[4])
40 minsol_idx = sumjsol.index(min(sumjsol))
41 return minsol_idx
42
43 #define job motion
44 def job_motion(userAppPose, userJobPose, userRetPose, userCoord,
worldCoord, action):
45 overwrite_user_cart_coord(worldCoord, posx(0,0,0,0,0,0), ref= DR_BASE)
46 appPose = coord_transform(userAppPose, userCoord, coord_w)
47 jobPose = coord_transform(userJobPose, userCoord, coord_w)
48 retPose = coord_transform(userRetPose, userCoord, coord_w)
49 #go to intermediate approach position
50 curPose, sol = get_current_posx(DR_BASE)
51 if appPose[2] < curPose[2]:
52 interPose = trans(appPose, [0,0,curPose[2]-appPose[2],0,0,0],DR_BA
SE)
53 interPoseSol = min_jvector_sol(interPose, DR_BASE)
54 movejx(interPose, vel=g_jointVel, acc=g_jointAcc, sol=interPoseSol
, ref=DR_BASE)
55 else:
56 interPose = trans(curPose, [0,0,appPose[2]-curPose[2],0,0,0],DR_BA
SE)
57 interPoseSol = min_jvector_sol(interPose, DR_BASE)
58 movejx(interPose, vel=g_jointVel, acc=g_jointAcc, sol=interPoseSol
, ref=DR_BASE)
59
60 #go to approach position
61 appPoseSol = min_jvector_sol(appPose, DR_BASE)
62 movejx(appPose, vel=g_jointVel, acc=g_jointAcc, sol=appPoseSol, ref=DR
_BASE)
63
64 #go to source working pose
65 movel(jobPose, vel=g_appVel, acc=g_appAcc, ref=DR_BASE)
66
67 #do gripper action
68 action()
69
PlacePattern_ret_poses[PlacePattern_loopCount],
PlacePattern_coord_plate_to_base, coord_w, release_gripper)
166 PlacePattern_loopCount = PlacePattern_loopCount + 1
167
168
169 #check escape condition
170 if PickPattern_loopCount == PickPattern_productCount and
PlacePattern_loopCount == PlacePattern_productCount:
171 break
172
173 #clean up device
174 end_device()
Caution
This function is a paid option function, and the menu for using this function appears on the menu only if
you have obtained a corresponding license from the SW provider.
1. Select the Util tab in the main menu and click the Realtime Welding Condition However, the function is a
paid option function, and the corresponding menu is displayed only when the license is issued to the SW
provider in advance.
2. The Realtime welding condition window as below will open.
Output Signal Items corresponding to output signals such as Feed Forward/Feed Backward/
Gas/Arc are checked
Increment The increment value for Voltage, Current, Speed, Offset Y, Offset Z
Adjust Target Adjustment target value of Voltage, Current, Speed, Offset Y, Offset Z
Actual Target Actual target value of Voltage, Current, Speed, Offset Y, Offset Z
Controller version This function cannot be used with a lower controller version than GFx20600
Caution
This function cannot be used with a lower controller version than GFx20600.