DobotStudio Pro User Guide
DobotStudio Pro User Guide
DobotStudio Pro User Guide
DobotStudio Pro
User Guide
Issue: V2.1
Date: 2022-03-25
Disclaimer
To the maximum extent permitted by applicable law, the products described (including its
hardware, software, and firmware, etc.) in this document are provided AS IS, which may have
flaws, errors or faults. Yuejiang makes no warranties of any kind, express or implied, including but
not limited to, merchantability, satisfaction of quality, fitness for a particular purpose and
non-infringement of third party rights. In no event will Yuejiang be liable for any special,
incidental, consequential or indirect damages resulting from the use of our products and
documents.
Before using our product, please thoroughly read and understand the contents of this
document and related technical documents that are published online, to ensure that the robot is
used on the premise of fully understanding the robot and related knowledge. Please use this
document with technical guidance from professionals. Even if follow this document or any other
related instructions, damages or losses will be happening in the using process. Dobot shall not be
considered as a guarantee regarding all security information contained in this document.
The user has the responsibility to make sure of following the relevant practical laws and
regulations of the country, in order that there is no significant danger in the use of the robot.
1
3.3.13 Firmware Update 1.4.3.13
3.3.14 Home Calibration 1.4.3.14
3.3.15 IO Monitor 1.4.3.15
3.3.16 End-effector 1.4.3.16
4. Dobot MG400 1.5
4.1 Overview 1.5.1
4.2 DobotStudio Pro Connection 1.5.2
4.2.1 Wired Connection 1.5.2.1
4.2.2 Wireless Connection 1.5.2.2
4.3 Functions 1.5.3
4.3.1 Home Page 1.5.3.1
4.3.2 Alarm Description 1.5.3.2
4.3.3 Jogging 1.5.3.3
4.3.4 Teaching and Playback 1.5.3.4
4.3.5 Blockly 1.5.3.5
4.3.6 Script Programming 1.5.3.6
4.3.7 Remote Control 1.5.3.7
4.3.7.1 Description 1.5.3.7.1
4.3.7.2 Remote I/O 1.5.3.7.2
4.3.7.3 Remote Modbus 1.5.3.7.3
4.3.8 Basic Settings 1.5.3.8
4.3.9 Communication Settings 1.5.3.9
4.3.10 Coordinate System 1.5.3.10
4.3.10.1 User Coordinate System 1.5.3.10.1
4.3.10.2 Tool Coordinate System 1.5.3.10.2
4.3.11 Load Parameter Settings 1.5.3.11
4.3.12 Motion Parameter Settings 1.5.3.12
4.3.13 Collision Detection 1.5.3.13
4.3.14 Firmware Update 1.5.3.14
4.3.15 Home Calibration 1.5.3.15
4.3.16 Hand Calibration(M1 Pro) 1.5.3.16
4.3.17 I/O Monitor 1.5.3.17
2
Preface
Purpose
This document describes the functions and operations of DobotStudio Pro for users to fully understand and
use the software.
Intended Audience
Customer
Sales Engineer
Installation and Commissioning Engineer
Technical Support Engineer
Change History
Symbol Conventions
The symbols that may be found in this document are defined as follows:
Symbol Description
Indicates a hazard with a high level of risk which, if not avoided, could
DANGER result in death or serious injury
Indicates a hazard with a medium level or low level of risk which, if not
WARNING avoided, could result in minor or moderate injury, robotic arm damage
3
1 Product Introduction
DobotStudio Pro is a multi-functional control software of robot arm independently developed by Yuejiang,
which can control various types of robot arms, such as Dobot MG400, Dobot M1 Pro, Dobot CR series,
etc. With simple interface, easy-to-use functions and strong practicability, it helps you quickly master the
use of various robot arms.
The current version supports MG400, Dobot M1 Pro and Dobot CR robots. Functions of other types of
robot arms are under development and will be launched later.
4
2 DobotStudio Pro Installation
DobotStudio Pro supports the following operation systems:
Win7
Win8
Win10
Procedure
Step 3: Click One Click Install, or start installation after setting the installation path in Custom options.
5
Step 4: After installation, click Experience Now to enter DobotStudio Pro, or directly double-click
DobotStudio Pro to open the software.
6
3 Dobot CR
7
3.1 Overview
You can perform blockly programming, script programming and other operations on DobotStudio Pro to
control CR robot.
8
3.2 DobotStudio Pro Connection
9
3.2.1 Wired Connection
DobotStudio Pro can communicate with the controller directly through network cable. The IP address of
the controller should be in the same network segment as that of the PC.
The default IP address of the controller is 192.168.5.1. You need to modify the IP address of PC to make it
in the same network segment as the controller.
Step 1: Connect one end of the network cable to the LAN interface on the controller and the other end to
the PC.
Step 2: Click Start > Control Panel on the PC and select Network and Sharing Centre. Click Local
Area Connection on the Network and Sharing Center page.
Step 3: Click Properties on Local Area Connection page. Then double-click Internet Protocol Version
4(TCP/IPv4).
Step 4: Select Use the following IP address on Internet Protocol Version 4(TCP/IPv4) page, and change
the IP address, subnet mask, and gateway of the PC. You can change the IP address of the PC to make it on
the same network segment as that of the controller without conflict. The subnet mask and gateway of the
PC must be the same as that of controller.
Step 5: Start DobotStudio Pro. Select CR device and click Connect. Now you can control the robot arm
through the software.
10
11
3.2.2 Wireless Connection
Step 1: Search Dobot controller WiFi name and connect it. The WiFi name is prefixed with
Dobot_WIFI_XXX. The default WiFi password is 1234567890. You can modify the WIFI name and
password in DobotStudio Pro.
Step 2: Start DobotStudio Pro. Select CR device and click Connect. Now you can control the robot arm
through the software.
12
3.3 Functions
13
3.3.1 Home Page
The main interface of DobotStudio Pro is described as follows.
No. Description
2 Home page: You can click this button to return to the home page
3 Connection status
6 Global speed: You can set global speed by dragging the button. Range: 1%~100%
Emergency stop button: When there is an emergency during the operation, the emergency
7
stop switch can be pressed to stop running
Control panel: You can jog the robot arm by clicking the coordinate system buttons on the
8
panel
9 I/O monitor
11 Process module: It includes palletizing, vision system, retracing and conveyor tracking
12 Recent projects. You can open the recent project directly in this module
14
3.3.2 Alarm Description
If a point is saved incorrectly, for example, a robot moves to where a point is at a limited position or a
singular point, an alarm will be triggered.
If an alarm is triggered when a robot is running, the alarm icon turns into . You can check the
alarm information on the Alarm page.
In this case, you can double click the alarm information to view the cause and solution, and click Clear
Alarm.
15
16
3.3.3 Jogging
Jogging is used to control the movement of CR robot. By clicking or long pressing the point button, you
can control the robot arm to move to a target position or angle.
Click to enter the Control panel. After enabling CR, you can perform operations through the panel.
No. Description
Virtual simulation: When jogging or running a robot, you can view the robot movement in
4
real time in the virtual simulation interface.
17
5 system) for a single jog
5 represents the displacement of 5°(Joint coordinate system) or 5mm (Cartesian coordinate
system) for a single jog
10 represents the displacement of 10°(Joint coordinate system) or 10mm (Cartesian
coordinate system) for a single jog
Jog buttons and position data: The left column is jog buttons for Cartesian coordinate system,
and the right column is jog buttons for Joint coordinate system
Take X+, X- as an example under Cartesian coordinate system:
6 Click X+, X-: The robot arm moves along X-axis in the positive or negative direction.
18
3.3.4 Blockly Programming
DobotBlockly is a blockly programming platform, where you can program through dragging the blocks.
The description on DobotBlockly is listed below.
Drag blocks to this area and edit them. Click to zoom in, zoom
3 Code area
out and restore the blocks
4 Point list Save teaching points that can be called when you write a program
Now take MovJ mode an example to describe how to use Blockly to move MG400 from point P1 to P2
circularly under the basic coordinate system.
19
Prerequisites
The CR robot has been enabled.
Procedure
Step 1: Click DobotBlockly on the home page.
Step 2: Click to open the control panel. Click to open the point list.
Step 3: Click or long press the jog buttons on the Control panel to move the robot arm to point P1, and
then click Add on the Points page.
Step 4: Click or long press the jog buttons on the Control panel to move the robot arm to point P2, and
then click Add on the Points page.
20
Step 5: Click and again to close the two pages. Now you can start programming by dragging the
blocks to code area.
21
In addition, you can also click Motion > Advanced configuration to generate motion blocks with
advanced configuration.
1.Click Motion > Advanced configuration to enter the Settings panel. Select MovJ, and select P1 as the
coordinate of point P. You can directly set the speed, acceleration or CP.
22
2.Click Save, and you will see the new block in the code area.
23
Step 6: Click Save. Enter the project name, then click OK.
24
Step 7: Click Start to run the program. The CR robot will move from P1 to P2 circularly.
25
3.3.5 Script Programming
CR supports various APIs, such as motion commands, TCP/UDP commands etc., which uses Lua language
for secondary development.
No. Description
Command list: It displays motion commands of CR robot. You can double click
1
to insert advanced configuration, and click to view the commands
description.
Code area
In Script module, multiple threads are supported. Up to five threads can be executed
simultaneously. Scr0.lua is the main thread, and other Src*X*.lua are sub threads,
which run program parallel to the main thread, such as I/O control.
2
You can click to add sub threads. Motion commands cannot be called in sub
threads. Only the main thread supports motion commands.
Global variable module (global.lua) is only used to define global variables and
module functions. Motion commands cannot be called here.
3 Point list: Save teaching points that can be called when you write a program.
4 Jog panel
Now take MovJ mode as an example to describe how to use script to move CR robot from point P1 to P2
circularly under the basic coordinate system.
Prerequisites
26
The robot arm has been enabled.
Procedure
Step 1: Click Script on the home page.
Step 2: Click to open the control panel. Click to open the point list.
Step 3: Click or long press the jog buttons on the Control panel to move the robot arm to point P1, and
then click Add on the Points page.
Step 4: Click or long press the jog buttons on the Control panel to move the robot arm to point P2, and
then click Add on the Points page.
27
Step 5: Click and to close the two pages. Now you can start writing a program.
1.Double-click MovJ in the command list. Replace the parameter P with P1 in the code area (You can
check the help document of this command by clicking on the left side of MovJ.)
2.Double-click MovJ in the command list again. Replace the parameter P with P2 in the code area.
NOTE
28
on the right side of the command to insert it to the program, and you will see all the parameters
(required and optional) of this command. For example, double-click on the right side of MovJ,
as shown below. Option is the optional parameter of MovJ and only valid for MovJ (P, Option).
Step 6: Click Save. Enter the project name, then click OK.
29
Step 7: Click Start to run the program. The CR robot will move from P1 to P2 circularly.
If you want to debug this program, you can set a breakpoint (click the number of corresponding code).
Click
Debug
, and the program will start debugging.
30
31
3.3.6 Remote Control
32
3.3.6.1 Description
External equipment can send commands to a robot in different remote control modes, such as remote I/O
mode and remote Modbus mode. The default mode is Online mode when the robot is shipped out. You can
set it to remote mode on DobotStudio Pro if you need.
33
3.3.6.2 Remote IO
External equipment can control the robot arm in remote I/O mode. The Remote Control page is shown as
follows.
The details on how to connect and use external equipment are not described in this section.
Prerequisites
The external equipment has been connected to the robot arm by I/O interface. The specific description
on I/O interface is shown below. You can modify the specified I/O configuration on the Remote
Control page.
34
The robot arm has been powered on.
Procedure
Step 2: Select Remote I/O on the Current mode module and select a project (blockly or script) on the
Script to run module.
35
Step 3: Click Save.
Now the robot arm has entered remote IO status. Only the emergency stop button, Control panel and I/O
button are available.
The CR robot will be enabled automatically and move as the selected project. If the stop signal is triggered,
the robot arm will stop moving and be disabled.
36
3.3.6.3 Remote Modbus
External equipment can control the robot arm in the remote Modbus mode. The Remote Control page is
shown as follows.
Coil register
10001 0 Auto-exit
The details on how to connect and use external equipment are not described in this section.
Prerequisites
The IP address of the CR robot and the external equipment must be in the same network segment
without conflict. You can check and modify the IP address on the Settings > Communication
settings > **IP Configuration</b> page.
Procedure
Step 2: Select Remote Modbus on the Current mode module and select a project (Blockly or script) on
the Script to run module.
38
Step 3: Click Save. Now the robot arm has entered remote Modbus status. Only the emergency stop
button, control panel and I/O button are available.
The CR robot will be enabled automatically and move as the selected project. If the stop signal is triggered,
the robot arm will stop moving and be disabled.
39
3.3.7 Basic Settings
Click Settings > Basic to see the device information of CR robot.
DobotStudio Pro supports moving robot to common poses: initial pose, packing pose and home pose.
40
41
3.3.8 Communication Settings
IP Setting
The CR robot can communicate with external equipment by the LAN2 interface which supports TCP, UDP
and Modbus protocols. The default IP address is 192.168.5.1. In real applications, if the TCP or UDP
protocol is used, the robot system can be a client or a server based on site requirements; if the Modbus
protocol is used, the robot system can only be the Modbus slave, and the external equipment is the Modbus
master.
WiFi Setting
The robot system can communicate with external equipment by WiFi. You can modify the WiFi name and
password on Settings > Communication Setting > WiFi settings page and then restart the controller to
make it effective. The default password is 1234567890.
42
3.3.9 Coordinate System
43
3.3.9.1 User Coordinate System
When the position of workpiece is changed or a robot program needs to be reused in multiple processing
systems of the same type, you can create a coordinate system on the workpiece to simplify programming.
DobotStudio Pro supports 10 user coordinate systems, of which the first one is defined as the base
coordinate system by default and cannot be changed.
NOTE
When creating a user coordinate system, make sure that the reference coordinate system is the base
coordinate system.
The user coordinate system is created by three-point calibration method. Move the robot to three points: A
(x1, y1, z1), B (x2, y2, z2), and C (x3, y3, z3). Point A is defined as the origin and the line from point A to
point B is defined as the positive direction of X-axis. The line that point C is perpendicular to X-axis is
defined as the positive direction of Y-axis. The Z-axis can be defined based on the right-hand rule.
The procedure for creating a user coordinate system is similar to modifying a user coordinate system. This
section describes how to create a user coordinate system using three-point teaching method.
Prerequisites
Procedure
44
Step 3: Select Three points setting in "Add User Frame: index2" page.
Step 4: Jog the robot to the point P1 and click obtain on the P1 panel.
Step 5: Jog the robot to the point P2 and click obtain on the P2 panel.
45
Step 6: Jog the robot to the point P3 and click obtain on the P3 panel.
NOTE
When creating a user coordinate system, make sure that the reference coordinate system is the base
coordinate system, that is, the user coordinate system is 0 and the uool coordinate system is 0 when
you jog the robot.
Now you can select a user coordinate system and jog the robot arm.
NOTE
When creating or modifying a user coordinate system, you can also select Input settings in Step 3
and directly enter X, Y, Z, Rx, Ry and Rz values, then click OK.
46
3.3.9.2 Tool Coordinate System
When an end effector such as welding gun or gripper is mounted on the robot, the tool coordinate system is
required for programming and operating a robot. For example, when using multiple grippers to carry
multiple workpieces simultaneously, you can set a tool coordinate system for each gripper to improve the
efficiency.
DobotStudio Pro supports 10 tool coordinate systems. tool 0 coordinate system is the base coordinate
system which is located at the robot flange and cannot be changed.
NOTE
When creating a tool coordinate system, make sure that the reference coordinate system is the base
coordinate system.
The tool coordinate system of CR robot is created by three-point calibration method (TCP +ZX): After
mounting the end effector, adjust the direction of the end effector to make TCP (Tool Center Point) align
with the same point (reference point) in three different directions for obtaining the position offset of the
end effector. Then jog the robot to three other points (A, B, C) for obtaining the angle offset.
47
This section describes how to create a tool coordinate system using three-point calibration method.
Prerequisites
Procedure
Step 4: Select Six points setting in "Add Tool Frame: index2" page.
48
Step 5: Jog the robot to the reference point in the first direction, then click obtain on the P1 panel.
NOTE
When creating a tool coordinate system, make sure that the reference coordinate system is the base
coordinate system, that is, the user coordinate system is 0 and the tool coordinate system is 0 when
you jog the robot.
Step 6: Jog the robot to the reference point in the second direction, then click obtain on the P2 panel.
Step 7: Jog the robot to the reference point in the third direction, then click obtain on the P3 panel.
Step 8: Jog the robot to the reference point (point A) in the vertical direction, then click obtain on the P4
panel.
Step 9: Jog the Z-axis to a point (point B) along the positive direction, then click obtain on the P5 panel.
Step 10: Jog X-axis to move the robot arm to point P6 (not in the same line with P4 and P5). Click obtain
on the P6 panel.
Step 11: Click OK. The tool coordinate system is created successfully.
Now you can select a tool coordinate system and jog the robot arm.
49
NOTE
When creating or modifying a Tool coordinate system, you can also select Input settings or Three
points setting in Step 4.
50
3.3.10 Load Parameter Settings
To ensure optimum robot performance, it is important to make sure the load and eccentric coordinates of
the end effector are within the maximum range for the robot, and that Joint 6 does not become eccentric.
Setting load and eccentric coordinates improves the motion of robot, reduces vibration and shortens the
operating time.
The load weight includes the weight of the end effector and workpiece, which should not exceed the
maximum load of the robot arm. Please set load and eccentric coordinates properly. Otherwise, it may
cause errors or excessive shock, and shorten the life cycle of parts.
You need to set the eccentric coordinate of the load when J6 axis is 0°.
Every time you launch DobotStudio Pro and enable the CR robot, you need to set the load parameters
first. Or you can also set them on the Settings > Load Params page.
If you set the load parameters through APIs in a script or blockly program, the values will be
displayed on the Load Params page synchronously after the program runs.
51
3.3.11 Motion Parameter Settings
You can set the speed, acceleration or other parameters in different coordinate systems when jogging a
robot or running robot programs.
Jog Setting
Click Settings > Motion Parameter > Jog Setting. You can set the speed and acceleration in the Joint
coordinate system and Cartesian coordinate system.
Playback Setting
Click Settings > Motion Parameter > Playback Setting. You can set the velocity, acceleration and jerk
in the Joint coordinate system and Cartesian coordinate system.
52
Jump Setting
If the motion mode is Jump, you need to set start height (h1), end height (h2) and maximum lifting height
(zLimit). Click Settings > Motion Parameter > Jump Setting. You can set 10 sets of Jump parameters,
and double click any set of the parameters to modify it.
53
You can call Jump command during programming and select any set of Jump parameters through Arch
index, as shown below.
Script programming
Blockly programming
54
55
3.3.12 Security Setting
56
3.3.10.1 Collision Detection
Collision detection is mainly used for reducing the impact on the robot to avoid damage to the robot or
external equipment. If collision detection is activated, the robot arm will suspend running automatically
when hitting an obstacle.
Procedure
Step 2: Enable Collision Detection and select the collision detection sensitivity. There are five levels to
select. The higher level you select, the more sensitive the robot is. Meanwhile, you can select Enter drag
function after collision, that is, when the robot arm stops running after hitting an obstacle, you can drag
robot to a safe position.
57
58
3.3.10.2 Brake
Braking prevents the servo motor shaft from moving when the servo driver is not in operation, so that the
motor keeps its position locked and ensures that the moving part of the machine will not move because of
its self weight or external force. If you want to drag joints manually, please enable the brake function.
Procedure
Step 1: Click Settings > Security Setting > Articulated Brake, as shown below.
Step 2: Click the icon next to the joint to enable or disable the brake function.
NOTICE
When enabling the function, hold the joint with your hand to prevent it from moving.
59
3.3.10.3 Power Control
When the emergency stop switch is pressed, the robot will be powered off. You can click Power Control
on the Settings > Security Setting > Power Control page to power on the robot.
60
3.3.10.4 Installation
If the robot is mounted on a flat table or floor, you do not need to set in this page. However, if the robot is
ceiling mounted, wall mounted or mounted at an angle, you need to set the rotation angle and slop angle in
the disabled status.
Procedure
Step 2: Select an installation mode. Set the rotation angle and slop angle.
Slop angle is the angle that a robot rotates counterclockwise around X-axis at the origin point.
Rotation angle is the angle that a robot rotates counterclockwise around Z-axis at the origin point.
61
Step 3: Click Calibration, and the Calibration tip window will pop up. You need to adjust the robot
position through joint motion commands to move the end flange vertical to the ground.
62
3.3.10.5 Sensitivity
Sensitivity setting is mainly used to adjust the sensitivity of joints during running and dragging.
You can set the sensitivity on the Settings > Security Setting > Sensitivity page, and click Save.
63
3.3.9 Firmware Update
When the controller firmware needs to be updated, you can import the latest firmware on the Firmware
Update page.
DANGER
During the updating, DO NOT perform any other operations on the robot arm or power it off to
avoid it in an abnormal state. Otherwise, it may cause damage to devices or injury to people.
Procedure
Step 2: Click Open to import the latest controller firmware from local and click Update. The controller
firmware will be updated automatically.
Step 3: Reboot the robot arm after the controller firmware is updated.
64
3.3.13 Home Calibration
After some parts (motors, reduction gear units) of the robot arm have been replaced or the robot has been
hit, the home point of the robot will be changed. In this case you need to reset the home point.
Step 1: Click Settings > Home Calibration. Enter the password (default: 888888), then click Log on.
Step 2: Place the device in the vertical state, divide the head part into the Joint 1 rear cover, and place the
plug on Joint 6 vertically upward. Enable the robot arm and click Home Calibration.
65
DANGER
Home calibration is used only when the home position changes. Please operate cautiously.
After operating the homing procedure, you can check the joint coordinates on the Control panel. Now all
joint coordinates (J1-J6) are zero.
66
67
3.3.15 IO Monitor
Click to enter the I/O page, as shown below. You can set and monitor I/O status of the controller and
end effector.
68
69
Three functions can be achieved on the I/O page.
70
NOTE
In blockly or script programming, you can rename the I/O port only when the program is not
running.
71
3.3.16 End-effector
DobotStudio Pro is equipped with a variety of plug-ins. You can select a plug-in in Dobot+ page to install
based on site requirements.
72
The figure below shows the DH gripper page after installation.
73
Step 3: Set Baud to 115200 and click Init on the Setting tab.
74
Step 4: Set the opening and closing position and force of the gripper on the Control tab.
75
4 Dobot MG400
76
4.1 Overview
You can control Dobot MG400 and M1 Pro through DobotStudio Pro to perform teaching and playback,
blockly programming, script programming and other operations. As the control modes of M1 Pro and
MG400 are similar, this chapter takes MG400 as an example to introduce how to use DobotStudio Pro to
control the robot arm.
77
4.2 DobotStudio Pro Connection
78
4.2.1 Wired Connection
Step 1: Connect the required cables and power on the robot.
Step 2: Set the IP address of the PC to communicate with the robot. The IP address of robot's LAN1
interface is 192.168.1.6. You need to set the IP address of the PC to make it on the same network segment
as that of the robot arm without conflict.
Step 3: Start DobotStudio Pro. Select MG400 device and click Connect. Now you can control the robot
arm through the software.
79
80
4.2.2 Wireless Connection
Step 1: Connect the required cables and power on the robot.
Step 2: Search for WiFi name and connect it. The WiFi name is MagicianPro, and the initial WiFi
password is 1234567890.
81
Step 3: Start DobotStudio Pro. Select MG400 device and click Connect. Now you can control the robot
arm through the software.
82
4.3 Functions
83
4.3.1 Home Page
The main interface of DobotStudio Pro is described as follows.
No. Description
2 Home page: You can click this button to return to the home page
3 Connection status
6 Global speed: You can set global speed by dragging the button. range: 1%~100%
Emergency stop button: When there is an emergency in the operation, the emergency stop
7
switch can be pressed to stop running
8 Control panel: You can jog the robot arm by clicking coordinate system buttons on the panel
9 I/O monitor
10 Process module: It includes palletizing, vision system, aux joint and conveyor tracking
11 Recent projects: You can open the recent project directly in this module
Application modules: It includes Teach & Playback, DobotBlockly, Script and Remote
12
Control
84
4.3.2 Alarm Description
If a point is saved incorrectly, for example, a robot moves to where a point is at a limited position or a
singular point, an alarm will be triggered.
If an alarm is triggered when a robot is running, the alarm icon turns into . You can check the
alarm information on the Alarm page.
In this case, you can double click the alarm information to view the cause and solution, and click Clear
Alarm.
85
86
4.3.3 Jogging
Method 1
Jogging is used to control the movement of MG400. By clicking or long pressing the point button, you can
move the robot arm to a target position or angle.
Click to enter the Control panel. After enabling MG400, you can jog the robot by clicking coordinate
system buttons on the Control panel.
You can jog MG400 in Cartesian coordinate system after enabling it.
Click X+, X-: MG400 moves along X-axis in the positive or negative direction.
Click Y+, Y-: MG400 moves along Y-axis in the positive or negative direction.
Click Z+, Z-: MG400 moves along Z-axis in the positive or negative direction.
Click R+, R-: MG400 moves along R-axis in the positive or negative direction.
87
If you control MG400 in different User or Tool Cartesian coordinate systems, you need to create them in
advance on the Settings > Coordinate System page and select the right coordinate system to control
MG400.
You can also jog MG400 in Joint Coordinate system after enabling it.
Click J1+, J1-: The base motor rotates in the positive or negative direction.
Click J2+, J2-: The rear arm motor rotates in the positive or negative direction.
Click J3+, J3-: The forearm motor rotates in the positive or negative direction.
Click J4+, J4-: The end-effector rotates in the positive or negative direction.
When you want to fine-tune the MG400 by clicking the coordinate system buttons, you can select a proper
step in the Step mode. The step supports 0.5, 1, 5 and 10. In Cartesian coordinate system, the step unit is
mm, and in Joint coordinate system, the step unit is °.
In addition to jogging MG400 on the Control panel, you can click to make MG400 move to the
initial pose and click to enter the Settings panel.
Method 2
88
After enabling MG400, press the hand-teaching button on the forearm. Drag the forearm to a position and
then press the button again.
89
4.3.4 Teaching and Playback
The teaching & playback function supports tree programming. The interface displays different parameter
settings according to different program instructions you choose. Now Teach & Playback only supports
single thread. The commands are described in the table below.
Motion commands.
Choose different motion modes and set motion parameters.
Move to a certain
move to The motion mode supports MovJ, MovL, JointMovJ,
point or follow a
Jump, RelMovJ, RelMovL, Arc, Circle.
certain trajectory
Continuous path
CP Set Continuous path ratio. range: 0~100.
command
Synchronization
sync None
command.
DO I/O command Set the status of digital output port (Queue command)
DOInstance I/O command Set the status of digital output port (Immediate command)
Logical command.
90
if/else Set Judgment Logical processing based on I/O or variable value
conditions to trigger
robot movement
Waiting command.
The time can be set
wait Logical processing based on I/O or variable value
to make the robot
arm wait
Logical processing
loop based on I/O or Set the loop times and triggering condition
variable value
Create and set Create a new variable, and assign an initial value to the
set variable
variable value. variable according to the variable type
Now take MovJ mode as an example to describe how to use Teach & Playback to move MG400 from point
P1 to P2 circularly under the basic coordinate system.
Prerequisites
Procedure
Step 2: Click to open the control panel. Click to open the point list.
Step 3: Click or long press the jog buttons on the Control panel to move MG400 to point P1, and then
click Add on the Points page.
91
Step 4: Click or long press the jog buttons on the Control panel to move MG400 to point P2, and then
click Add on the Points page.
Step 5: Click and again to close the two pages. Now you can start writing a program.
1. Click Directive Type > Logic > Loop to enter the loop page. Select Repeat forever and then click
Add.
92
2. Click Directive Type > Motion > move to, and select MovJ. Select P1 as the coordinate of point P,
then click Add.
You can also set the speed, acceleration or CP directly in this step.
93
3. Click MovJ mode and select P2 as the coordinate of point P, then click Add.
94
Step 6: Click Save. Enter the project name, then click OK.
Step 7: Click Start to run the program. The MG400 will move from P1 to P2 circularly.
95
4.3.5 Blockly Programming
DobotBlockly is a block programming platform, where you can program through dragging the blocks. The
description on DobotBlockly is listed below.
Now take MovJ mode an example to describe how to use Blockly to move MG400 move from point P1 to
P2 circularly under the basic coordinate system.
Prerequisites
Procedure
96
Step 2: Click to open the control panel. Click to open the point list.
Step 3: Click or long press the jog buttons on the Control panel to move MG400 to point P1, and then
click Add on the Points page.
Step 4: Click or long press the jog buttons on the Control panel to move MG400 to point P2, and then
click Add on the Points page.
97
Step 5: Click and again to close the two pages. Now you can start writing a program by dragging
the blocks.
98
In addition, you can also click Motion > Advanced configuration to generate motion blocks with
advanced configuration.
1. Click Motion > Advanced configuration to enter the Settings panel. Select MovJ, and select P1 as
the coordinate of point P. You can directly set the speed, acceleration or CP.
99
2. Click Save, and you will see the new block in the code area.
100
Step 6: Click Save and enter the project name, then click OK.
101
Step 7: Click Start to run the program. The MG400 will move from P1 to P2 circularly.
102
4.3.6 Script Programming
MG400 supports various APIs, such as motion commands, TCP/UDP commands etc., which uses Lua
language for secondary development.
No. Description
Command list, which displays motion commands of MG400. You can double-
1
click to insert advanced configuration, and click to view the description of the
commands.
Programming area
In script, multiple threads are supported. Up to five threads can be executed
simultaneously. Scr0.lua is the main thread, and other Src*X*.lua are sub threads,
which run program parallel to the main thread, such as I/O control.
2
You can click to add the sub thread. In the sub threads, the motion commands
cannot be called. Only the main thread supports motion commands.
Global variable module (global.lua) is only used to define global variables and
module functions. The motion commands cannot be called here.
4 Jog panel
Now take MovJ mode as an example to describe how to use script programming to move MG400 from
point P1 to P2 circularly under the basic coordinate system.
103
Prerequisites
MG400 has been enabled.
Procedure
Step 1: Click Script on the home page.
Step 2: Click to open the control panel. Click to open the points list.
Step 3: Click or long press the jog buttons on the Control panel to move MG400 to point P1, and then
click Add on the Points page.
Step 4: Click or long press the jog buttons on the Control panel to move MG400 to point P2, and then
click Add on the Points page.
104
Step 5: Click and again to close the two pages. Now you can start writing a program.
1.Double-click MovJ in the command list. Replace the parameter P with P1 in the code area (You can
check the help document of this command by clicking on the left side of MovJ.)
105
2.Double-click MovJ in the command list again. Replace the parameter P with P2 in the code area.
NOTE
(required and optional) of this command. For example, double-click on the right side of MovJ,
as shown below. Option is the optional parameter of MovJ and only valid for MovJ(P, Option).
106
3.Add loop statement in the code area.
Step 6: Click Save. Enter the project name, then click OK.
107
Step 7: Click Start to run the program. The MG400 will move from P1 to P2 circularly.
If you want to debug this program, you can set a breakpoint (click the number of corresponding code).
Click Debug, and the program will start debugging.
108
109
4.3.7 Remote Control
110
4.3.7.1 Description
External equipment can send commands to a robot in different remote control modes, such as remote I/O
mode and remote Modbus mode. The default mode is Online mode when the robot is shipped out. You can
set it to remote mode on DobotStudio Pro if you need.
111
4.3.7.2 Remote I/O
External equipment can control the MG400 in remote I/O mode. The Remote Control page is shown as
follows.
The details on how to connect external equipment and use it are not described in this section.
Prerequisites
Procedure
112
Step 1: Click Remote Control on the Home page.
Step 2: Select Remote I/O on the Current Mode module and select a project (teaching & playback,
blockly or script) on the Script to run module.
113
Step 3: Click Save. Now the robot arm has entered remote IO status. Only the emergency stop button,
Control button and I/O button are available.
Step 4: Trigger the starting signal on the external equipment. The MG400 will be enabled automatically
and move as the selected project. If the stop signal is triggered, the MG400 will stop moving and be
disabled.
114
4.3.7.3 Remote Modbus
External equipment can control the MG400 in Remote Modbus mode. The Remote Control page is shown
as follows.
Coil register
10001 0 Auto-exit
115
10005 4 Alarm status
The details on how to connect and use external equipment are not described in this section.
Prerequisites
- The project to be running in the remote mode has been prepared.
- The MG400 has been connected to the external equipment with the LAN2 interface. You can connect
them directly or through a router.
The IP address of the MG400 and the external equipment must be in the same network segment without
conflict. You can modify the IP address on the Settings > Communication settings > IP Configuration
page.
- The MG400 has been powered on.
Procedure
Step 1: Click Remote Control on the Home page.
Step 2: Select Remote Modbus on the Current Mode module and select a project (teaching & playback,
blockly or script) on the Script to run module.
Step 3: Click Save. Now the robot arm has entered remote Modbus status. Only the emergency stop
button, control button and I/O button are available.
116
Step 4: Trigger the starting signal on the external equipment. The MG400 will be enabled automatically
and move as the selected project. If the stop signal is triggered, the MG400 will stop moving and be
disabled.
117
4.3.8 Basic Settings
On the Settings > Basic page, you can view the information of MG400, modify the device name, or reset
the initial pose.
118
4.3.9 Communication Settings
IP Setting
The MG400 can communicate with external equipment by the LAN2 interface which supports TCP, UDP
and Modbus protocols. The default IP address is 192.16.2.6. In real applications, if the TCP or UDP
protocol is used, the robot system can be a client or a server based on site requirements; if the Modbus
protocol is used, the robot system can only be the Modbus slave, and the external equipment is the Modbus
master.
You can modify the IP address on the Settings > Communication settings > IP Configuration page, as
shown below. The IP address of the MG400 must be in the same network segment of the external
equipment without conflict.
WiFi Setting
The robot system can communicate with external equipment by WiFi settings. You can modify the WiFi
name and password on Settings > Communication settings > WIFI settings page and then restart the
controller to make it effective. The default password is 1234567890.
119
120
4.3.10 Coordinate System
121
4.3.10.1 User Coordinate System
When the position of workpieces is changed or a robot program needs to be reused in multiple processing
systems of the same type, you can create coordinate systems on the workpiece to simplify programming.
DobotStudio Pro supports 10 user coordinate systems, of which the first one is defined as the base
coordinate system by default and cannot be changed.
NOTE
When creating a user coordinate system, make sure that the reference coordinate system is the base
coordinate system.
The user coordinate system is created by two-point calibration method. Move the robot to two points:
P0(x0, y0, z0) and P1(x1, y1, z1). Point P0 is defined as the origin and the line from point P0 to point P1 is
defined as the positive direction of X-axis. Then the Y-axis and Z-axis can be defined based on the right-
hand rule, as shown below.
This section describes how to create a user coordinate system using two-point calibration method.
Prerequisites
Procedure
122
Step 2: Click Add.
Step 3: Select Two points setting in "Add User Frame: index2" page.
123
Step 4: Jog MG400 to the point P1 and click obtain on the P1 panel.
Step 5: Jog MG400 to the point P2 and click obtain on the P2 panel.
124
NOTE
When creating a User coordinate system, make sure that the reference coordinate system is the base
coordinate system. Namely, the User coordinate system is 0 and the Tool coordinate system is 0
when you jog the robot.
Now, you can select a User coordinate system and jog MG400.
125
126
4.3.10.2 Tool Coordinate System
When an end effector such as welding gun or gripper is mounted on the robot, the tool coordinate system is
required for programming and operating a robot. For example, when using multiple grippers to carry
multiple workpieces simultaneously, you can set a tool coordinate system for each gripper to improve the
efficiency.
There are totally 10 groups of tool coordinate systems. Tool 0 coordinate system is the predefined tool
coordinate system which is located at the robot flange and cannot be changed.
NOTE
When creating a Tool coordinate system, make sure that the reference coordinate system is the base
coordinate system.
The Tool coordinate system of MG400 is created by two-point calibration method: After an end effector is
mounted, please adjust the direction of this end effector to make the TCP (Tool Center Point) align with
the same point (reference point) in two different directions, for obtaining the position offset to generate a
Tool coordinate system, as shown below.
This section describes how to create a tool coordinate system using two-point calibration method.
Prerequisites
127
Procedure
Step 4: Select Two points setting in "Add Tool Frame: index1" page.
128
Step 5: Jog the MG400 to the reference point in the first direction, and click obtain on the P1 panel.
Step 6: Jog the MG400 to the reference point in the second direction, and click obtain on the P2 panel.
129
NOTE
When creating a tool coordinate system, please make sure that the reference coordinate system is the
base coordinate system. Namely, the user coordinate system is 0 and the tool coordinate system is 0
when you jog the robot.
Now you can select a tool coordinate system and jog the robot arm.
130
NOTE
When creating or modifying a tool coordinate system, you can also select Input settings in Step 4.
131
4.3.11 Load Parameter Settings
To ensure optimum robot performance, it is important to make sure the load and eccentric coordinates of
the end effector are within the maximum range for the robot, and that Joint 4 does not become eccentric.
Setting load and eccentric coordinates improves the motion of robot, reduces vibration and shortens the
operating time.
The load weight includes the weight of the end effector and workpiece, which should not exceed the
maximum load of MG400 (750g). Please set load and eccentric coordinates properly. Otherwise, it may
cause errors or excessive shock, and shorten the life cycle of parts.
You need to set the eccentric coordinate of the load when J4 axis is 0°.
Every time you launch DobotStudio Pro and enable the MG400, you need to set the load parameters
first. Or you can set them on the Settings > Load Params page.
If you set the load parameters through APIs in a script or blockly program, the values will be
displayed on the Load Params page synchronously after the program runs.
132
4.3.12 Motion Parameter Settings
You can set the speed, acceleration or other parameters in different coordinate systems when jogging a
robot or running robot programs.
Jog Setting
Click Settings > Motion Parameter > Jog Setting. You can set the speed and acceleration in the Joint
coordinate system and Cartesian coordinate system.
Playback Setting
Click Settings > Motion Parameter > Playback Setting. You can set the speed, acceleration and jerk in
the Joint coordinate system and Cartesian coordinate system.
133
Jump Setting
134
If the motion mode is Jump, you need to set start height (h1), end height (h2) and maximum lifting height
(zLimit). Click Settings > Motion Parameter > Jump Setting. You can set 10 sets of Jump parameters,
and double-click any set of the parameters to modify it.
You can call Jump command during programming and select any set of Jump parameters through Arch
index, as shown below.
Script programming:
Blockly programming:
135
136
4.3.13 Collision Detection
Collision detection is mainly used for reducing the impact on the MG400 to avoid damage to the MG400
or external equipment. If the collision detection is activated, the MG400 will suspend running
automatically when hitting an obstacle.
You can enable collision detection function on the Settings > Security Setting page and set the collision
level.
Step 2: Enable Collision Detection and select the collision detection sensitivity. There are five levels to
select. The higher level you select, the more sensitive the robot is.
Step 3: Select the recovery method after collision detection. There are two ways to recover when the
MG400 suspends running after collision.
137
Automatically resume after 5s: The MG400 resumes running automatically after 5 seconds.
Pause: You can restore data through the project interface or configured I/O signals.
When using configured I/O signals for recovery, select Enable I/O and set the I/O port corresponding to
the collision signal and the continue signal. The port corresponding to the continue signal should be the
same as the continue I/O port in remote I/O mode.
138
4.3.14 Firmware Update
When the controller firmware needs to be updated, you can import the latest firmware on the Firmware
Update page.
DANGER
During the updating process ,please DO NOT perform any other operations on the MG400 or power
it off to avoid it in an abnormal condition. Otherwise, it may cause damage to devices or injury to
people.
Procedure
Step 2: Click Open to import the latest controller firmware from local and click Update. The controller of
MG400 will be updated automatically.
139
Step 3: Reboot the robot arm after the controller firmware is updated.
When the MG400 is restarted, the LED indicator on the base delays about 10 seconds before it starts to
work.
140
4.3.15 Home Calibration
After some parts (motors, reduction gear units) of the MG400 have been replaced or the robot has been hit,
the home point of the robot will be changed. In this case you need to reset the home point. The position of
the home point is shown in the figure below.
Step 1: Use the calibration block to move MG400 to a state that the upper arm is vertical to the forearm,
that is, adjust each axis to the mechanical home point.
Put the calibration block in the position shown below and close to the rotating plate. Rotate J1 axis to make
the rotating plate parallel and close to the calibration block.
141
Clamp the convex groove at the bottom of the calibration block in the gap shown in the figure below, and
make the short side of the calibration block face the upper arm. Press the hand-teaching button, drag J2
axis and J3 axis to make the upper arm parallel and close to the calibration block, and make the angle
between the upper arm and the forearm greater than 90°.
Put the calibration block in the position shown in the figure below, that is, the angle between the upper arm
and the forearm, and make the long edge of the calibration block parallel and close to the upper arm. By
jogging the J3 axis on the control panel, make the forearm parallel and close to the short edge of the
calibration block.
142
Step 2: Click Setting > Home Calibration. Enter the password (default: 888888), then click Log on.
143
DANGER
Home calibration is used only when the home position changes. Please operate cautiously.
After operating the homing procedure, you can check the joint coordinates on the Control panel. Now all
joint coordinates (J1-J4) are zero.
144
145
4.3.16 Hand Calibration(M1 Pro)
When using M1 Pro, you need to perform hand calibration if higher absolute precision is required.
In hand calibration, you need to move the robot to the same point with different arm orientations. The J2
coordinates should be axisymmetric. If not, the absolute precision will be decreased. So it is necessary to
make the J2 coordinates axisymmetric by compensating the joint angel of J2 to improve the absolute
precision.
Procedure
Step 1:Click Settings > Hand Calibration. Enter the password and click Log on. Now you have entered
Hand Calibration page.
146
Step 2:Jog or drag the robot to a point in left-hand direction, then click Get P1.
147
Step 3:Jog or drag the robot to the same point in Step 2 in right-hand direction, then click Get P2.
Step 4:Click Calibration. You will see Calibration Successful! if the calibration is completed.
148
4.3.17 I/O Monitor
NOTE
MG400 has two digital inputs and outputs in end IO. M1 Pro has four digital inputs and outputs in
end IO.
149
Set I/O alias: Click to rename I/O ports.
150