Shenzhen Elephant Robotics Technology Co., Ltd.

Elephant Robot
Operation and Programming Manual
RoboFlow Operating System

Version 2.0
Language: English
Compiled in 2019/01© Copyright 2017-2019 Shenzhen Elephant Robotics Technology Co., Ltd.
All rights reserved.

Shenzhen Elephant Robotics Technology Co., Ltd.

Copyright Declaration
No unit or individual may extract, compile, translate or reproduce any
contents of this manual (technical documentation, software, etc.), nordisseminate in any form (including materials and publications) without thewritten permission of Shenzhen Elephant Robot Technology Co., Ltd.
(hereinafter referred to as “Elephant robotics”).
In addition, the product information and related resources mentioned inthis manual are for reference only and the contents are subject to change
without notice.
Except as expressly stated in this manual, nothing in this manual should beconstrued as any warranty or guarantee by the Elephant Robotics of personalloss, damage to property, or fitness for a particular purpose.
All rights reserved!

Shenzhen Elephant Robotics Technology Co., Ltd.

Catalog
Overview of the manual.................................................................................................................. - 1 About the manual.................................................................................................................... - 1 Reading objects of the manual.............................................................................................. - 1 How to use.................................................................................................................................- 1 Main contents of the manual.................................................................................................. - 1 Before the official reading of the manual..............................................................................- 2 1 Security...........................................................................................................................................- 4 1.1 Introduction......................................................................................................................... - 4 1.2 Safety alert symbol description....................................................................................... - 4 1.3 Hazard identification..........................................................................................................- 5 1.4 Safety Precautions............................................................................................................ - 6 1.5 Warning label introduction................................................................................................- 8 1.6 Avoid misuse...................................................................................................................... - 9 1.7 Emergency stop................................................................................................................. - 9 1.7.1 Emergency button.................................................................................................. - 9 1.7.2 Impact checking................................................................................................... - 10 1.8 Urgent handling............................................................................................................... - 10 2 Introduction to the RoboFlow....................................................................................................- 11 2.1 Overview........................................................................................................................... - 11 2.2 Main interface introduction.............................................................................................- 11 2.2.1 User login interface..............................................................................................- 11 2.2.2 MAIN MENU......................................................................................................... - 12 2.2.3 Run Program........................................................................................................ - 13 2.2.4Edit Program .................................................................................................- 14 2.2.5 Statistic.................................................................................................................. - 21 2.2.6 Setting....................................................................................................................- 24 3 Introduction to common tools....................................................................................................- 31 3.1 Quickmove........................................................................................................................- 31 3.2 Installation........................................................................................................................ - 36 3.3 Input and output configuration.......................................................................................- 38 3.4 Variable............................................................................................................................. - 39 3.5 Log..................................................................................................................................... - 40 3.6 Basic Settings.................................................................................................................. - 41 4 Function instruction.................................................................................................................... - 43 4.1 Basic function...................................................................................................................- 43 4.1.1 Waypoint................................................................................................................- 43 4.1.2 Gripper................................................................................................................... - 49 4.1.3 Wait........................................................................................................................ - 51 4.1.4 Set.......................................................................................................................... - 51 4.1.5 Group..................................................................................................................... - 52 4.2 Logic function................................................................................................................... - 53 4.2.1 Loop....................................................................................................................... - 53 4.2.2 If/Else..................................................................................................................... - 54 4.2.3 Subprogram.......................................................................................................... - 55 4.2.4 Thread....................................................................................................................- 56 4.2.5 Halt......................................................................................................................... - 57 4.2.6 Switch.....................................................................................................................- 58 4.3 Advanced function...........................................................................................................- 59 4.3.1 Pallet...................................................................................................................... - 59 4.3.2 Assign to var......................................................................................................... - 62 4.3.3 Script...................................................................................................................... - 63 4.3.4 Popup.....................................................................................................................- 64 4.3.5 Sender................................................................................................................... - 65 5 Quickly create a new runnable project.................................................................................... - 67 -Shenzhen Elephant Robotics Technology Co., Ltd.

5.1 Flow Description.............................................................................................................. - 67 5.1.1 Ready to work.......................................................................................................- 67 5.1.2 Flow chart..............................................................................................................- 67 5.2 Specific steps................................................................................................................... - 68 5.2.1 Login...................................................................................................................... - 68 5.2.2 Power on............................................................................................................... - 69 5.2.3 New blank program..............................................................................................- 71 5.2.4 Add and edit instructions.................................................................................... - 72 5.2.5 Program debugging............................................................................................. - 74 5.2.6 Save and run the program..................................................................................- 76 -Shenzhen Elephant Robotics Technology Co., Ltd.

Overview of the manual
About the manual

Welcome to use Elephant Robotics cooperative robot products, and thankyou for your purchase.
This manual describes the issues to be aware of when operating andprogramming an Elephant Collaborative Robot.
Please read this manual and other related manuals carefully before
operating and programming using the Elephant Collaborative Robot. Afterreading, please keep it in a safe place so that you can access it at any time.

Reading objects of the manualThis manual is targeted to:
Robot operator.
Technical support staff.
Programmer.

Those who operate and program the Elephant Cooperative Robot must be trainedin Elephant Robotics and have the knowledge required for operation andprogramming.

How to use
This manual should be used when doing the following works:
Operation of the robot: basic operations including switching the power
supply, shutting down the operating system, and manual operation
control of the robot using the teach pendant;
Programming and debugging: Write the program according to theproduction process, and debug and test the program;Start and run the program: For the program that has been debugged,
start and run the program in actual production, monitor its runningstatus, and record relevant information.

Main contents of the manual

Robot safety operation programming considerations.
Introduction to the interface and basic functions of the RoboFlow-1-

Shenzhen Elephant Robotics Technology Co., Ltd.



operating system.
Basic operating instructions for the RoboFlow operating system.
Introduction to the functional instructions of the RoboFlow operating
system.

Before the official reading of the manual

Before you officially read the manual, you need to know:
1. About the RoboFlow operating system
The operating system (referred to as OS) is a computer program thatmanages computer hardware and software resources, and is also the kernel andcornerstone of the computer system. The operating system needs to handle basic
tasks such as managing and configuring memory, prioritizing system resource
supply and demand, controlling input and output devices, operating the network,and managing file systems. The operating system also provides an operator
interface that allows the user to interact with the system.
Just like the Windows operating system, even if the user does notunderstand the underlying working principle of the computer and the machinecode, the corresponding function can still be realized through the upper layer
application. Because the original intention of the operating system is to provide
a simple job sorting ability.
The Elephant Collaborative Robot is equipped with the RoboFlow
operating system, and even if the user does not fully understand the underlying
principle, the target function can be achieved through simple operation. Because
the engineer who built the system simplifies the operation process for the user,
it provides a friendly interface. The emergence of the RoboFlow operating
system makes it easy for users to quickly master the gameplay skills and help
users to complete operations and programming work efficiently.
2. Instructions for RoboFlow operating system before use
1) Each robot's RoboFlow operating system may have different
parameters set during use. Do not replace the RoboFlow operating
system at will until the parameters are backed up to avoid data loss.
2) If the teach pendant is used, since the teach pendant is equipped with atouch screen, be careful to prevent RoboFlow malfunction caused byhuman error.
3) About product warranty
During the warranty period of the delivered product, the company will only
repair the failures that occur when the robot is normally used. However, in thefollowing cases, the customer will be charged for repairs (even during the-2-Shenzhen Elephant Robotics Technology Co., Ltd.

warranty period):
1) Damage or malfunction caused by incorrect use and improper use of themanual.
2) Failure caused by unauthorized removal by the customer.
3) Damage caused by improper adjustment or unauthorized repair.
4) Damage caused by natural disasters such as earthquakes and floods.
Therefore, please operate the robot in strict accordance with the
instructions in this manual and related manuals.
4) About help
For any questions or suggestions on the contents of the manual, you canquery on the official website of the Elephant Robotics to submit the relevant
information: https://www.elephantrobotics.com.

-3-Shenzhen Elephant Robotics Technology Co., Ltd.

1 Security
1.1 Introduction
1. Introduction to this chapter
This chapter details general safety information for people who perform
installation, maintenance, and repair work on elephant robots. Please read andunderstand the contents and precautions of this chapter before handling,
installation and use.
As described in GB 11291.1-2011, whether it is a robot manufacturer,
system integrator, or individual user, it is necessary to carry out hazard
identification and risk assessment before using the robot. It is required to
conduct a hazard analysis to identify any hazards that may arise; and for hazards
identified in hazard identification, a risk assessment should be performed tomaximize personal safety and property safety.
This chapter provides a basic guide to safe use by introducing different
safety alert symbols and precautions.
2. Interpretation of related terms
1) Collaborative operation
A specially designed robot that works directly with people in a defined
workspace.
2) Collaborative workspace
In the safety protection space of the robot work unit, the robot and theperson can complete the task at the same time in the production activity.

1.2 Safety alert symbol description
As shown in Table 1-1, this section describes the safety alert symbols usedin this manual. You can find the corresponding symbols described in thischapter in other chapters, please note the meaning of these symbols and their
meanings.
Table1- 1 Safety Warning Symbol Table
Danger: A dangerous situation that is likely to result in death or serious
injury if not avoided.

-4-Shenzhen Elephant Robotics Technology Co., Ltd.

WARNING: Conditions that may cause a hazard that, if not avoided,
could result in personal injury or serious damage to the equipment.

Be careful of electric shock: It may cause dangerous use of electricity. If it
is not avoided, it may cause personal injury or serious damage toequipment.

Prohibited: Things that are not allowed to do.

Caution: Important things to be noted.

1.3 Hazard identification
The safety of the collaborative robot is based on the premise of proper
configuration and use of the robot, and even if all safety instructions areobserved, the injury or damage caused by the operator may still occur.
Therefore, it is very important to understand the safety hazards of robot use,which is beneficial to prevent problems before they occur.
Tables 1-2 to 1-4 below are common safety hazards that may exist in thecontext of using robots:
Table1- 2 Dangerous safety hazards

Failure to properly configure the safety function of the robot, or lack of relevant safety
protection tools, may cause the failure of the safety function of the robot to play its role andcause danger.

-5-Shenzhen Elephant Robotics Technology Co., Ltd.

Table1- 3 Warning level security risks

1
2
3
4
5

6

Play around the robot, you may be hit by a running robot, or be tripped by an obstacle
such as a cable to cause personal injury.
Unauthorized personnel change the security configuration parameters, causing thesafety function to fail or danger.
Scratches and punctures caused by sharp surfaces such as other devices in the work
environment or robot end effector.
The robot is a precision machine and pedaling may cause damage to the robot.
If the clamp is not in place or before the power supply of the robot is turned off or thegas source is turned off (it is not determined whether the end effector firmly holds theobject without falling off due to loss of power). If the clamped object is not removed,
it may cause danger, such as people being injured by crashing.
There is a risk of accidental movement of the robot. Under no circumstances should
you stand under any axis of the robot!
Table1- 4 Potential safety hazards that may result in electric shock

1
2
3
4

Using a non-original cable may pose an unknown hazard.
Contact with liquids by electrical equipment may result in a risk of electric leakage.
There may be an electric shock hazard when the electrical connection is incorrect.
Be sure to handle replacement work after turning off the power to the controller andrelated equipment and unplugging the power cord. If the work is performed while thepower is on, it may cause electric shock or malfunction.

1.4 Safety Precautions
In general, compared with ordinary machinery, robots have thecharacteristics of larger working range and faster speed, so they areaccompanied by the dangers that ordinary machinery does not have. Wheninstalling, using, and maintaining the robot, please pay attention to thefollowing items shown in Table 1-5 and Table 1-6 (the followings are some of
the common precautions listed):-6-

Shenzhen Elephant Robotics Technology Co., Ltd.

Table1- 5 Safety precautions on acts that need to be banned

12
3

It is forbidden to modify the robot or use non-original accessories.
Untrained non-professionals are prohibited from entering the robot work area at will,pressing any button or doing other operations at will.
The relevant personnel shall not maintain, repair or use the robot after being affectedby drinking, taking drugs or stimulating drugs.
Table1- 6 General safety precautions

1
2
3

4

5

6

7
8

Anyone responsible for installing and maintaining the robot must read and follow
these safety instructions.
Ensure that safety measures and robot safety configuration parameters are defined as
required in the risk assessment to protect programmers, operators, and bystanders.
Production operators should not loosen long hair (long hair must be picked up) andwear a work cap, not wearing jewelry.
Operators operating in conjunction with the robot must be familiar with andunderstand the content and exact location of the various warning signs and warning
symbols on the equipment and ensure that all warning signs and warning symbols arecomplete and clear, and that all safety devices are secured before opening and starting
the equipment. And make sure the relevant accessories are normal and no one is in adangerous location where the equipment is activated. When the robot runs
abnormally, it should be stopped immediately and the situation must be reported it intime.
The operator must clarify the scope of duties, do not allow arbitrary changes to theoperating procedures and teaching, other personnel must not enter the collaborative
operation space and danger zone.
When the operator enters the safety zone of the equipment protected by the safety
guard door, it is absolutely guaranteed that the safety guard door will always open
when working in this area, and the door must be locked in the open position with thelock.
When the operator is in production, it should be ensured that each starting device isnormal and cannot be started at will.
When the operator maintains the equipment, the main power switch must be turned-7-Shenzhen Elephant Robotics Technology Co., Ltd.

9
10
11
12
13
14
15
16

17

18

off for maintenance work.
No objects should be stacked in the robot working area, and no debris should beplaced in the control box.
After the operation is completed, the safety protection door should be closed
immediately, and the various switches of gas and electricity should be closed
according to the procedure, and the work site should be cleaned up.
Do not shake the robot hard and hang heavy objects on the robot.
There are no dangerous behaviors or games around the robot.
Make sure that the robot does not collide with itself or other objects during exercise.
If the robot is damaged, do not continue to use it.
Please use the robot within the robot's parameter range and service life, otherwise it
will cause serious safety problems.
After the emergency stop state is canceled, and before the servo power is turned on, it
is necessary to remove the obstacles and faults that cause the emergency stop, andthen turn on the servo power.
Please pay attention to the rotating shaft of the robot to prevent the cable and the airtube from being entangled. Keep a distance from the shaft to prevent hair or clothingfrom getting entangled.
It is best for programmers to use the test run mode when running the program for the
first time to avoid collisions with paths that are not expected or cause otherunexpected conditions.

1.5 Warning label introduction
Robots are high-precision equipment, and they are more dangerous thanordinary machines when they are unfamiliar or not in accordance with themanual. As shown in Figure 1-1, the labels are attached to the controller toremind the operator to read the relevant operating manual before use.

Figure 1- 1 Reading manual before the operation

The controller provides the power supply of the entire robot system, so it
must be operated correctly to prevent electric shock. Figure 1-2 is the anti-shockwarning label attached to the controller, in order to remind the operator to notice
the danger of electric shock when touching it. It needs to be used correctly toprevent electric shock.
-8-Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 1- 2 Label to caution preventing electric shock

1.6 Avoid misuse
Please do not use the elephant robot for the following purposes.
 Medical and life-critical applications.
 In environment that may cause an explosion.
 Used directly without risk assessment.
 Insufficient use of safety function levels.
 Inconsistent use of robot performance parameters.

1.7 Emergency stop
This section describes two types of emergency stop for robots:
 If you feel abnormal during the robot's motion, immediately press the
emergency stop switch.
 When the force generated by the collision of the robot with the person
or object is greater than the threshold, the robot detects the force
generated by the collision, thereby stopping or moving to a certain
position (collision return).
1.7.1 Emergency button
When the emergency stop button on the teach pendant is pressed, the drive
will be stopped, the brake will start, and the motor power will be turned off.
And the electromagnetic brake will stop the inertial motion of the robot The
robot will stop all movement. Programs that are running on the RoboFlow
operating system are also stopped.
However, during normal operation, do not press the emergency stop switch
at will. If the emergency stop switch is pressed during the operation, thetrajectory of the robot before stopping will be different from the trajectoryduring normal operation, and may hit a peripheral device or the like.
When the vehicle is in an emergency stop state (normal), if the robot
system is to be placed in an emergency stop state, press the emergency stop
switch when the robot does not operate.
Before using the emergency stop switch, you need to know the followings:
 The emergency stop (E-STOP) switch can only be used to stop the-9-Shenzhen Elephant Robotics Technology Co., Ltd.

robot in an emergency.
 To stop the robot running the program in a non-emergency situation,
use the Pause or STOP command. The Pause and STOP commands
will not turn off the motor. Therefore, the brake will not work.
 Do not use the E-STOP circuit for safety system.
1.7.2 Impact checking
During the operation of the robot, it is possible to touch people or objects.
It can be protected by setting a protection threshold. The specific operation
mode is as follows: When the force generated by the collision of the robot withthe person or the object is greater than the threshold, the robot detects the force
generated by the collision, thereby stopping or moving to a certain position(collision return).
Please note that when the protection threshold is set too high, a large force
is required to stop the robot, which will reduce the sensitivity of the collision
detection to a certain extent. When the protection threshold is set too low, therobot may stop when it is holding the load due to the excessive torque generated
by its own motion. Please set the threshold of protection under guidance.
In addition, you can set the protection threshold for each movement andeach movement of the robot, and set the two protection threshold directions
including the X-Y plane (horizontal direction) and the Z plane (verticaldirection).

1.8 Urgent handlingIf the software pops up with a fatal error message, please activate the emergency
stop quickly, write down the condition that caused the error, and contact yoursupplier.
In the event of a fire, use a carbon dioxide (CO2) fire extinguisher!

- 10 -

Shenzhen Elephant Robotics Technology Co., Ltd.

2 Introduction to the RoboFlow
2.1 Overview
The RoboFlow is the operating system of the Elephant Collaborative Robot.
It provides a human-computer interaction interface, which is convenient for
operators to interact with the elephant robot and use the elephant robot correctly.
That is to say, when the user uses the robot, most of the time is achieved byusing the RoboFlow operating system. For example, since the RoboFlow
operating system runs in the teach pendant, the user can use the carrier of theteach pendant to perform manual robotics, programming, and other operations.
The operating system OS can also be used to communicate with other robots ordevices. All in all, with the advantages of friendly interface and rich functions,the appearance of the RoboFlow operating system makes it easier for users tostart using the elephant robot. It makes everyone a commander of robots.

2.2 Main interface introduction
2.2.1 User login interface
When the controller is powered up and the system startup button on theteach pendant is pressed, the login page is entered. Figure 2-1 shows the login
page of the RoboFlow operating system.

①- Login account selection②- password input box

Figure 2- 1 login interface- 11 -

Shenzhen Elephant Robotics Technology Co., Ltd.

As shown in the login page, "TAUGHT BY PEOPLE, PERFORMED BY
ROBOT", this is the concept that the Elephant Robotics has always insisted on
making the operator become the commander of the robot. Let robots replace
people with simple but repetitive tasks, work in harsh working conditions, andwork that people can't do well (such as scenes with very high operational
accuracy).
There are two types of login users for the RoboFlow operating system, one
is the administrator and the other is the operator. The administrator has thehighest authority to perform all operations, programming and setup. The
operator can only load and run existing programs and check the statistical data
information.
Administrators can add and modify multiple accounts in the settings,
including operator accounts.
By clicking on the "Shutdown" button, the RoboFlow operating system canbe turned off, and then the power supply can be turned off, thus the robot
system can be shut down.
2.2.2 MAIN MENU
When the login is successful, it will go to the main menu page. The main
menu of the RoboFlow operating system is shown in Figure 2-2.

①-Run Program②- Program Robot③-Statistics

Figure 2- 2 Main menu
- 12 -④-SettingsShenzhen Elephant Robotics Technology Co., Ltd.

On the left side of the main menu, there are four different options available:
1. Run Program
Load an existing program directly and control the program to run. In thiswindow, the user is not allowed to edit the program, but can only control the
program running (such as control program running, pausing, stopping). At thesame time, you can view the log and other related information during therunning process of the program.
2. Edit Program
Users can choose to load an existing program in this window for
modification, or they can choose to create a new blank program for editing.
This window is the most frequently used function window for users.
Besides programming, it can also perform other operations, such as manual
manipulation of robots with "fast moving" function, forced control of IO signals,
new variables, etc.
If you need to leave this window in the process of writing the program, please pay
attention to saving the program.
It is suggested that the program be debugged in the "trial run" mode before the firstrun, so as to avoid collision caused by point or path inconsistencies withexpectations!
Non-operators should not use this window to avoid modifying importantparameters and causing unexpected behavior during operation.
It is recommended to use low speed during commissioning, which can effectively
reduce the negative impact in the event of an emergency.

3. Statistics
In this window, users can not only view the existing running data of thesystem, but also view related information saved before.
4. Settings
In this window, the user can make basic settings for the robot. Such as
robot open, robot off, account management, default program settings, etc.
In addition to these four main options, in the right window of the main
menu, the user can see and open the most recently run program files. It isconvenient for users to quickly find the most recently run program and control
the program to run.
Click the "Shutdown" button to close the RoboFlow operating system;
click the "Logout" button to log out.
2.2.3 Run Program
If the user selects "Run Program" in the main menu, it will enter the Run- 13 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Program window. The running program window of the RoboFlow operating
system is shown in Figure 2-3.
①

②

③

④
①- Running program
basic information②- Operational
statistics③- Display window

Figure 2- 3 Program editing window option④- Program run
control bar

Users can enter the program window by loading the program they need torun. In this window, users can:
1. Get the basic information of the current (ready) running program, including
program name, running status, user type.
2. Understand the statistical information of the current running program, suchas the total number of runs and the rhythm, etc.
3. Read the relevant information of the current running program through thedisplay window, such as IO, variables, logs, etc.
4. The most important thing is that the running program window is the channel
for the user to load and run the program that has been debugged.
2.2.4 Edit Program
As shown in Figure 2-4, if the user selects "Write Program" in the main
menu, two options will appear in the right window. The first is to create a
program (optional blank or template) and the second is to load the program.

- 14 -

Shenzhen Elephant Robotics Technology Co., Ltd.

①-Blank program②-Pick and place③-Load program

Figure 2- 4 Program Editing Window Options

The user selects one as needed and then enters the program editing page asshown in Figure 2-5.
When first entering the program edit page, the user sees the initial page asshown in figure 2-5. In this page, common tools, initialization group and file
management functions are provided. The role of the initialization group is tomake it easy for the user to set the program content to run at the beginning of
the program and run only once. For example, set the initial point, Io State, andso on before the robot starts formal work. File management provides users witha way to manage files. Users can manage program files here, and can copy themto the U disk, or from the U disk to the system memory. If the user wants to go
back to the initial page during the programming process, click "Back".
After entering the program editing page, users can save, create and savefiles.
Users can also edit programs in this interface.
At the same time, users are allowed to teach points, create new variables,
view IO, view logs, set important parameters, and add functional instructions,debugging programs and so on.

- 15 -

Shenzhen Elephant Robotics Technology Co., Ltd.

①
②

③

④
①- Function bar②- Program
Display Window③- Functional
Editing Window

Figure 2- 5 Program Editing Interface④- Program
Running Control Bar

The program editing page is divided into four parts:
1. Function bar
As shown in Figure 2-6, the function bar has seven sub-options, which are
divided into two categories, one is the program editing toolbar, and the other isthe function editing column.

Figure 2- 6 Function bar

1) Program editing toolbar: Includes file option bar, edit option bar, and- 16 -

Shenzhen Elephant Robotics Technology Co., Ltd.

tool options bar.
A. File：As shown in Figure 2-7, you can edit the program file. There
are several operation options: Save, Save As, New, Load, Rename,and Exit.

Figure 2- 7 File option bar

B. Edit：As shown in Figure 2-8, you can edit the specific commandcontent in the program file. There are cut, copy, paste, delete,disable, delete all, redo, undo options.

Figure 2- 8 Edit option bar

C. Tool options bar：As shown in Figure 2-9, it is a shortcut toolbar.
When editing a robot program, the user often uses other tools to
operate the robot. The tool options bar provides tools commonlyused in program editing. Tools provided include: Quickmove,
install, input and output, variables, logs, basic settings. For example,
when editing a motion command, the user needs to manuallyoperate the robot to a working position and teach the point. Then,the “Quickmove” tool in the toolbar can be selected to manuallyoperate the robot to move to the position.

Figure 2- 9 Tool options bar2) Functional Editing Window
The RoboFlow operating system provides a rich set of features that allow
users to perform complex functions with simple operations. Simple, but not
simple functions, thus reducing the time workers to learn programming,
efficient accomplish their goals. The function editing bar includes basic
functions, logic functions, advanced functions, and extended functions.
A. Basic functions：As shown in Figure 2-10, the basic functions
include Waypoint, Gripper, Wait, Set, and Group, which are some- 17 -

Shenzhen Elephant Robotics Technology Co., Ltd.

basic functions commonly used by users.

Figure 2- 10 Basic functionsa) Waypoint: “Create new waypoints → Manually operate the robot tomove the robot to the target point → Save current point → Running
program”. With this series of operations, the user completes thegoal of controlling the movement of the robot to the target point. If
you create multiple waypoints, the motion of the robot will form a
trajectory when you run the program.
b) Gripper: The user can use this function to set the end effector. For
example, it holds the workpiece or releases the workpiece.
c) Wait: Users can use this function to delay, or wait for signals,
conditions, and so on.
d) Set: Users can use this function to set the input and output signals
and custom conditions.
e) Group: Users can use this function to edit the programs in thegroup.。
B. Logic function： As shown in Figure 2-11, the logic functions
include Loop, If/Else, Subprogram, Thread, Halt, Switch, tocomplete the program running process control.

Figure 2- 11 Logic functiona) Loop: The user can use this function to set a block to run cyclicallymultiple times.
b) If/Else: The user can use this function to make conditional
judgments, such as the determination of an input signal.
c) Subprogram: The user can use this function to call a subroutine.
d) Thread: Users can use this function to achieve robot multi-thread
control.
e) Halt: The user can use this function to control the program to pause,stop, restart, and pop up the window to display the corresponding
prompt information.
f) Switch: The user can use this function to make a condition- 18 -

Shenzhen Elephant Robotics Technology Co., Ltd.

selection and determine the content to be executed according to thevalue of the selected object.
C. Advanced function: As shown in Figure 2-12, advanced functions
include Pallet, Assign to Var, Script, Popup, and Sender, all ofwhich perform more complex operations.

Figure 2- 12 Advanced functiona) Pallet: Users can use this function to realize the robot to perform
regular point movements. For example, the handling of workpieces
in pallets, palletizing, etc. It is also possible to implement the fixed
but irregular rendezvous motion of the robot in sequence.
b) Assign to Var: Users can use this function to implement theassignment of a variable.
c) Script: With the scripting feature, users can use the other common
functions to achieve simple tasks while using the elephant robot,
and can also use script programming to complete more complex
tasks.
d) Popup: Users can use this function to customize the pop-up window
to display related information. This helps the operator to analyze
the status of the current robot running program.
e) Sender: Users can use this function to achieve TCP/IP
communication between the elephant robot and other devices.
D. Extended function: To adapt to different application scenarios, theRoboFlow operating system provides some extension functions,and even customizes functions according to important application
scenarios proposed by users.

Figure 2- 13 Extended function

These extensions do not exist in every version, but are chosen based on user needs.

1. Program Display Window- 19 -

Shenzhen Elephant Robotics Technology Co., Ltd.

On the left side of the program editing page, there is a program display
window as shown in Figure 2-14. The upper part is the name of the currently
open program file, and the lower part is the program tree, which records the
specific instructions and related information.

Figure 2- 14 Program Display Window

2. On the right side of the program editing page, there is a function editing
window as shown in Figure 2-15, which shows the specific contents of thefunction instructions.

Figure 2- 15 Functional Editing Window- 20 -

Shenzhen Elephant Robotics Technology Co., Ltd.

The user can make specific settings for the function instructions in thiswindow. Quick control and current command renaming, deletion, and disabling
are also provided here.
3. At the bottom of the program editing page, there is a program running
control bar as shown in Figure 2-16. When debugging a program, users can use
it to run, pause, stop and limit the running speed of the program.

Figure 2- 16 Program run control bar

2.2.5 Statistic
When users use elephant robots, they can not only program and control therobot to complete the corresponding tasks, but also get some valuable statistical
data in the statistical report window for analysis and statistics.
The statistical report window is divided into four sub-windows.
As shown in Figure 2-17, the general class counts the total running time,
the number of active programs, and the specific information of active programs.

Figure 2- 17 Conventional statistics

As shown in Figure 2-18, the program class counts the total running time
and times of different programs.
- 21 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 2- 18 Procedural statistics

As shown in Figure 2-19, the log lists the general information, warning
information and error information recorded by the system during the user's useof RoboFlow operating system. This information helps users to determine whatchanges and feedback the system has made during the operation of the
RoboFlow operating system.
In particular, error information can help users quickly locate the possible
causes of errors, so as to solve problems according to error information andresume normal use.

- 22 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 2- 19 Log statistics

As shown in Figure 2-20, security statistics can help users to countsecurity-related information, such as collision information, number of stops, etc.

Figure 2- 20 Security statistics- 23 -

Shenzhen Elephant Robotics Technology Co., Ltd.

2.2.6 Setting
In the configuration center, users can configure the robot. For example,
power the robot, turn off the robot, set the load, time, network and so on.
1. Initialization
The initialization configuration page is shown in Figure 2-21.
When robot movement is required, the user needs to enter theconfiguration center → initialize the robot, or shut down the robot. In theinitialization page, you can also set the load and installation, these two areimportant configuration content before other operations, such as configuration
errors may cause unexpected situations.

Figure 2- 21 Initialization

2. Default program
Figure 2-22 shows the default program settings page.

- 24 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 2- 22 Default programThis function allows the user to set a default running program. As long as
the system starts, the robot directly enters the running program window, and canstart running the program and perform corresponding actions to complete thespecified task.
If the user does not want the system to start and the startup program starts
running, you can choose not to run.
This function is mainly for the program that the user has debugged according to
the project content, and directly enters the running program interface after eachboot, simplifying the operation steps and facilitating the user. If the program has
not been debugged, please choose not to run.

3. Version update
Figure 2-23 shows the version update settings page.

- 25 -

Shenzhen Elephant Robotics Technology Co., Ltd.

RoboFlow3.3

Figure 2- 23 Version update

This page allows users to update the RoboFlow operating system in twoways, one for local file updates and one for network updates.
4. Account management
Figure 2-24 shows the account management page.

- 26 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 2- 24 Account management

Users can add new users, delete expired users, or change passwords on thispage. On this page, the user can get all the account information.
5. Language and unit
The “language and unit” setting page is shown in Figure 2-25. At present,
the RoboFlow operating system supports Chinese and English and metric units.
Other languages and units are increasing, so stay tuned!

Figure 2- 25 Language and unit

6. TimeFigure 2-26 shows the time setting page.

- 27 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 2- 26 TimeThe user can set the system time on the current page. If the "24-hoursystem" is not checked, the time display format defaults to 12-hour system.
7. Touch screen calibration
Figure 2-27 shows the touch screen calibration instructions. The user clicks
on "Start to Calibrate" to enter the calibration interface. The calibrationinterface will appear in sequence with four circles, as shown in the figure. The
user needs to click the center of the circle with a touch pen, and each time thebutton is clicked, the next circle will appear until all four circles appear. A popup window will appear indicating that the calibration is complete, and you canexit the calibration screen after confirming the pop-up.
If the calibration times out or the steps are wrong, a pop-up prompts thecalibration failure. At this point, you can confirm to exit the calibration interface
and return to the page in Figure 2-27 to recalibrate.

- 28 -

Shenzhen Elephant Robotics Technology Co., Ltd.

图 2- 27 Touch Screen

8. About us
As shown in Figure 2-28, it is about our page.

Figure 2- 28 About us- 29 -

Shenzhen Elephant Robotics Technology Co., Ltd.

This page shows basic information about the operating system of the
RoboFlow operating system. For example, the model of the robot used is the
Elephant series, version information, and so on.
For more information, please visit the official website
https://www.elephantrobotics.com.

- 30 -

Shenzhen Elephant Robotics Technology Co., Ltd.

3 Introduction to common tools
3.1 Quickmove
Quickmove is a tool that users use frequently when they operate the robot
quickly and manually. Therefore, every user must be very familiar with the useof Quickmove using methods. The wrong operation may result in damage to therobot and its peripheral equipment, and even injuries to personnel.
As shown in Figure 3-1, Quickmove are mainly composed of 11 parts,
which are described below.

①

②

⑧

⑨

③
④
⑥

⑩

④
⑤
⑦

①- Coordinate control②- 3D View④- Stepping motion⑦- Freemove⑩- Coordinate position⑤- Speed⑧-Return
11 - Status display button○⑪⑤③- User coordinate
system⑥- Move to origin⑨- Joint control

Figure 3- 1 Quickmove

1. Motion Control Mode in Cartesian Coordinate System
As shown in Figure 3-2, over-fixed-point O, three axes perpendicular toeach other, all with O as the origin and generally with the same unit of length.
These three axes are called x-axis (horizontal axis), y-axis (vertical axis), and zaxis (vertical axis), which are collectively referred to as coordinate axes. The xaxis and y-axis are usually arranged on a horizontal plane, while the z-axis is a
- 31 -

Shenzhen Elephant Robotics Technology Co., Ltd.

plumb line. Their positive direction is in accordance with the right-hand rule,that is, holding the z-axis with the right hand. When the four fingers of the righthand turn from the positive x-axis to the positive y-axis from the π/2 angle, thethumb is pointed to the positive direction of the z-axis. Such three axes form aspatial Cartesian coordinate system, and point O is called the coordinate origin.
This constitutes a Cartesian coordinate.
There are three planes in the three-dimensional Cartesian coordinate
system, XY-plane, YZ-plane, and XZ-plane. These three planes divide thethree-dimensional space into eight parts, called octant spaces. The threecoordinates of each point of the first limit are positive values.

Figure 3- 2 Cartesian coordinate system Direction callout diagram

As shown in Figure 3-3, the robot can be controlled to move in the
direction of the Cartesian coordinate system by clicking the key corresponding
to the direction of the Cartesian coordinate system.

(a)x-y-z(b)Rx-Ry-Rz

Figure 3- 3 Cartesian coordinate system motion control mode button- 32 -

Shenzhen Elephant Robotics Technology Co., Ltd.

It should be noted that if the coordinate control button is pressed and the robot
does not respond, please release the button and press it again.
During the process of pressing the button, the user needs to observe the movement
trend of the robot to prevent the robot from hitting other equipment or obstacles
and causing damage.
The time when the coordinate control button is pressed determines the distance therobot moves. Do not press and hold it.

2. 3D View
This window marks the direction of movement of the six joints of the robot.
3. User coordinate system
User coordinate system can be selected under this window. This function isunder debugging. Please look forward to it!
4. Motion mode switching
There are two main motion modes for manual manipulation robots.
1） Continuous motion mode: The user presses the motion control
button and allows the robot to move until the user releases the button
and the robot stops. For example, if you press the + X direction
motion control button, you need to hold the button all the time. The
time of pressing the motion control key determines the distance ofthe robot in the + X direction.
2） Stepping motion mode: Manual manipulation robot step motion,
click "step motion" and open the step setting window as shown in
Figure 3-4. Then the user chooses the step in this window and clicks
the key of the target control direction. Every time he clicks, the robot
takes a step. For example, choose a 1 mm step, click the X-direction
movement control button, and every time you click the button, therobot will move 1 mm in the + X direction.

Figure 3- 4 Step-by-step motion step setting window- 33 -

Shenzhen Elephant Robotics Technology Co., Ltd.

5. Speed
As shown in Figure 3-5, the control speed of the manual manipulator canbe set here. Speed can be set from 0 to 100%.

Figure 3- 5 Speed setting window
The speed here refers to the speed of the manual manipulation robot, including
continuous motion control speed and stepping motion control speed.
Please choose the right speed according to the actual needs. If you are not familiar
with fast movement control, please try to choose low speed.

6. Move to origin
By selecting the icon shown in Figure 3-6, the robot can be controlled toreturn to its original position and posture.

Figure 3- 6 Move to origin

In the process, you need to keep the state of the icon button selected, otherwise therobot will stop in the middle.

7. Freemove
Select the icon shown in Figure 3-7 to switch to the drag mode.

Figure 3- 7 Freemove

8. ReturnClick on the icon shown in Figure 3-8 to return to the programming
operation window.
Figure 3- 8 Return- 34 -

Shenzhen Elephant Robotics Technology Co., Ltd.

9. Joint control
Serial robot is an open kinematic chain of the robot. It is formed by a seriesof connecting rods connected in series with a rotating joint or a moving joint.
The elephant cooperative robot belongs to a 6-axis serial robot. It drives therelative motion of the connecting rod by using motor drivers to drive themovement of 6 joints, allowing the end operator to reach the right posture. The
Joint control window shown in Figure 3-9 provides the keys used by theoperator to manually manipulate the robot and control the robot for joint
movement using the instructor. The control buttons for each joint are divided
into 2 directions, and the angle data of each axis can be seen.

Figure 3- 9 Joint motion mode control window

10. Coordinate position
As shown in Figure 3-10, this window displays the coordinate position
corresponding to the coordinate control.

Figure 3- 10 Coordinate position display window

11. Status display button: The button has two states, "OK" (displays green) and"Reset" (displays red). When the display is normal, it indicates that the robot is- 35 -

Shenzhen Elephant Robotics Technology Co., Ltd.

working properly, and when the reset is displayed, the robot is abnormal, theanomaly needs to be lifted and the key is clicked for reset.

3.2 Installation
As shown in Figure 3-11, there are three submenus inside the installation
tool. It is used to implement the loading/saving installation configuration,
security configuration, and network configuration of the elephant robot.
1. Load/save: As shown in Figure 3-11, users can choose to save or load
the installation configuration on this page.

Figure 3- 11 Load/save installation

2. Security configuration: As shown in Figure 3-12, set the torque limit
and brake control of the elephant robot.

- 36 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 3- 12 Security configuration

3. Network Configuration: As shown in Figure 3-13, configure the IP
address and port number of the Ethernet communication here.

Figure 3- 13 Network settings- 37 -

Shenzhen Elephant Robotics Technology Co., Ltd.

3.3 Input and output configuration
The robot system has a total of 16 digital input signals and 16 digital
output signals. As shown in Figure 3-14, the input and output signals can be
configured and monitored in this window, and the output signals can be forcibly
output. IO configuration files can also be saved and loaded on this page. As
shown in Figure 3-15, it is an input/output interface description corresponding
to the page shown in Figure 3-14.

Figure 3- 14 Input and output configuration

Figure 3- 15 Input and output interface description- 38 -

Shenzhen Elephant Robotics Technology Co., Ltd.

It should be noted that the input public terminal needs to be connected to
24V power supply. It can be determined whether the input is active high or
active low according to the common configuration (hardware connection
determines 24V or 0V). As shown in Figure 3-16, when the common terminal isconnected to 24V, once an external device inputs 0V, the input signal is in the“High” state, otherwise it is in the “Low” state; vice versa.

Figure 3- 16 Input signal application diagram

As shown in Figure 3-17, the output is 24V when there is no output. Oncethe output is turned on (that is, the output is High), the output is 0V.

Figure 3- 17 Output signal application diagram

3.4 Variable
As shown in Figure 3-18, in the variable editing window, you can add, edit,- 39 -

Shenzhen Elephant Robotics Technology Co., Ltd.

and delete variables.

Figure 3- 18 Variable editing

As shown in Figure 3-19, there are 5 types of editable variable types. They
are string variables, pose variables, floating point variables, integer variables,
and Boolean variables. On this page, you can edit the variable name and initialvalue.

Figure 3- 19 New variable interface

3.5 Log
As shown in Figure 3-20, you can view information about the robot- 40 -

Shenzhen Elephant Robotics Technology Co., Ltd.

running status, error information, and alarm information in the running log
window. Click the "Information", "Warning" and "Error" buttons to sort thecorresponding logs.
Users can save logs to a local folder. Log files are a record of how thesystem is performing, helping users to have a clearer understanding of thesystem and also helping to troubleshoot errors.

Figure 3- 20 Running log

3.6 Basic Settings
As shown in Figure 3-21, the basic settings page provides a common
setting channel, allowing the user to quickly set up some functions, such as freemovement related parameter settings, even when leaving the programming
window while writing the program.

- 41 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 3- 21 Basic Settings- 42 -

Shenzhen Elephant Robotics Technology Co., Ltd.

4 Function instruction
4.1 Basic function
4.1.1 Waypoint
There are four types of waypoints: Absolute points, Relative points, Sharedpoints, and Variables. These four types are side-by-side. Under one waypointcommand, you can only choose one.
1. Absolute point: The absolute point is a description of the actual pose of therobot.
That is, as long as the robot records the absolute point, the next time theinstruction is executed, regardless of the position of the robot (other settings
unchanged), will reproduce the original teaching of the absolute point of posture.
The specific configuration page for absolute points is shown in Figure 4-1.

Figure 4- 1 Absolute point

1) Road Point coordinates
As shown in Figure 4-2, there are two formats for the representation ofabsolute points, namely Cartesian coordinate system coordinate values
and joint angles. Among them, the Cartesian coordinate systemcoordinate value records the position and attitude of the robot TCP
relative to the base coordinate system (in mm),.The joint angle is a
- 43 -

Shenzhen Elephant Robotics Technology Co., Ltd.

direct record of the actual angle of each axis (in degree, degrees).

①- Coordinate②- Angle

Figure 4- 2 Absolute point Position data

2) Waypoint control
A. Save current point
This button is used to save the current pose data of the robot.
B. Move to this point
If you need to verify the teaching point or move to the teaching
point for some operations, press and hold the button until the robot
moves to the current teaching point.
C. Clear saved points
If the current teaching point is no longer needed, this button is used
to clear the current teaching point.
3）Advanced Features
A. Shared configuration: This feature is being debugged, so stay tuned!
B. Advanced configuration
As shown in Figure 4-3, in the advanced configuration page, theuser can set the movement mode, proximity mode, command speed,
and torque limit.

- 44 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 3 Advanced configuration

3. Relative point: Figure 4-4 shows the specific configuration page of therelative point.

Figure 4- 4 Relative point

The relative point is used in a situation where a certain displacement isrequired based on a corresponding point of the movement instruction on the- 45 -

Shenzhen Elephant Robotics Technology Co., Ltd.

robot/an absolute point/variable point offset. The displacement can be a distancein a single direction, or a superposition of displacements in multiple directions,and can also teach a segment to offset.
1) Direct input (relative movement)
As shown in Figure 4-5, you can directly enter the coordinate value /joint angle.

①- Directly enter
coordinate values②- Directly input joint
angle

Figure 4- 5 Two forms of direct input

Regardless of whether the coordinate value or the joint angle is input, one
or more of the six values are selected according to the offset requirement, andnot every value is required to be input.
For example, as shown in Figure 4-6, in the actual pickup and placement
process, it is necessary to set a transition point above the target placement
position. At this time, we can set a path command as absolute point, control therobot (at this time the robot should be holding the state of the workpiece) tomove to the placement point, click to save the current point, which generates thecommand line 2 shown in Figure 4-6. Then click on the basic function waypoint: select the relative point, set the z-direction of the icon to increase therelative point of 50mm, then the robot will move to the position of the transition
point after running the last sentence. In the actual pickup and placement process,other instructions, such as setting instructions, may be added between the two
instructions to open the gripper.

- 46 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 6 Application examples of direct input coordinate values

In addition to offset based on the position of the last motion instruction,
relative point instruction can also be offset based on a Waypoint or Variable
point.
The "Move to this" button verifies the offset motion, and "Clear Saved
Points" clears the currently entered content.
2) Reference move: By teaching two points, a path is generated, based on
the current point, and the track is reproduced.
3) Advanced Features: The advanced configuration of the absolute point
is not repeated here.
4. Shared point: The share point can use the location of other waypoints. Figure
4-7 shows the specific configuration page of the share point.

- 47 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 7 Shared point

1) Shared point: Select the point you want to share in the box, you cankeep pressing the "Move to this point" button to control the robot tomove to that point. If you click "Clear Saved Points" to clear thecurrent share point.
2) Advanced Features: The advanced configuration of the absolute point
is not repeated here.
5. Variable: The waypoint can be assigned by a variable. The user can use thecommunication method to obtain the waypoint location from other devices.
Figure 4-8 shows the specific configuration page of the variable point.
1) Variable assignment: The user can select the associated pose variable,and "Move to this point" can check whether the pose is the target pose.
2) Advanced Features: The advanced configuration of the absolute point
is not repeated here.

- 48 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 8 Variable

4.1.2 Gripper
Figure 4-9 shows the specific configuration page of the gripper.

Figure 4- 9 Gripper- 49 -

Shenzhen Elephant Robotics Technology Co., Ltd.

The user defines and controls the gripper through a simple function.
1. Select gripper
1) Set existing grippers
Select the gripper, you can edit or delete the existing gripper.
2) Define new grippers
As shown in Figure 4-10, the gripper can be named and multiple input
signals can be controlled simultaneously. What needs to be set is: Set
the number of output signals that need to be controlled, select the set ofseveral signals in settings, set the status (related to the specificexecution corresponding to the "open" or "off" function), set thecorresponding output signal. After the setup is complete, you can also
select a wait condition.

Figure 4- 10 Define new grippers

2. Set the saved state
1) Fully open: The option in the execution gripper definition is the "open"state.
- 50 -

Shenzhen Elephant Robotics Technology Co., Ltd.

2) Completely off: The option in the execution gripper definition is "off"status.
3. Debug control
1) Open the gripper: Manual operation performs the option of the "Open"state in the gripper definition.
2) Close the gripper: Manual operation performs the option of the "Close"
state in the gripper definition.
4.1.3 Wait
As shown in Figure 4-11, there are four modes for waiting for instructions.
1. Waiting time: The delay time can be set in seconds.
2. Waiting for the input signal: The state of the input signal is judged and waits
until it meets the set input signal state condition.
3. Waiting for the output signal: The state of the output signal is judged andwaits until it meets the set output signal state condition.
4. Waiting conditions: You can customize the wait condition and wait until the
wait condition is met.

Figure 4- 11Wait

4.1.4 Set
As shown in Figure 4-12, the setup command has four modes of selection.
1. Set IO: Set the state of the output signal. In addition to selecting the set- 51 -

Shenzhen Elephant Robotics Technology Co., Ltd.

output signal to determine whether it is on or off, you can also set the time thatthe signal is held.
2. Set conditions: Customize the content of the settings.
3. Set TCP (i.e. tool center point).
4. Set the load.

Figure 4- 12 Set

4.1.5 GroupAs shown in Figure 4-13, the group instructions provide common
combination templates, such as grabbing and placing combinations.

- 52 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 13 Group

When users use group instruction, such as grabbing and placing
combinations, they can modify parameters and teach Waypoints directly on thebasis of template programs, or they can add or delete instructions freely
according to their needs.
The user can simplify the process of finding instructions by using thegroup instruction. And it is more convenient and quicker to complete theprogramming of the corresponding project.

4.2 Logic function
4.2.1 Loop
Loop instructions can repeat all instructions within a loop for a certain
number of times. As shown in Figure 4-14, the number of loops can be
represented by a constant or a variable or an expression.

- 53 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 14 Loop

4.2.2 If/Else
Judging the set conditions allows the program to read the data, determineand determine what to do next.
If/Else can be used to determine the I/O signal and can also be used todetermine other conditions.
If/Else consists of three parts: If, Else If, and Else. The relationshipbetween these three parts is as follows:
1. Except that If is an integral part, the remaining two are optional parts;
2. If both If, Else If, and Else exist, the program will first read If, then read ElseIf, Else If ... Else. The relationship between the three is shown in Figure 4-15:

Figure 4- 15 Relationship between If, Else If, and Else

Both If and Else If judge the determined conditions, and Else corresponds
to all cases except the above conditions.
3. There can be more than one Else If, but there is only one If, and if you
choose to add Else, you can only have one Else.
- 54 -

Shenzhen Elephant Robotics Technology Co., Ltd.

4. You can delete Else If or Else, but if you delete If, delete all Else If and Else.
Figure 4-16 shows the setting page of the conditional judgment command.

Figure 4- 16 If/Else

As shown in the figure above, if the condition following "If" is met, therobot will move to waypoint 1; if it meets the condition followed by "Else if", itwill move to waypoint 2; if both conditions are not met, the "Else"corresponding block will be executed, that is, the robot will move to the
waypoint 3.
4.2.3 Subprogram
As shown in Figure 4-17, other subroutines can be called using this
instruction. The main program can use multiple subroutines, but there are no
subroutines in the subprogram.
As shown in Figure 4-18, you can view and edit subroutines in the main
program. If you edit the subroutine, please note that it will not take effect until it
is saved.

- 55 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 17 Subprogram

Figure 4- 18 Display subroutine

4.2.4 Thread
The thread runs along the main program. It is used to check signals such as- 56 -

Shenzhen Elephant Robotics Technology Co., Ltd.

emergency buttons or safety light curtains. As shown in Figure 4-19, you can
set the running interval of threads.
Note that motion instructions are not allowed in threads.

Figure 4- 19 Thread

4.2.5 Halt
The pause command is used to control the robot to pause, stop, and resume.
Figure 4-20 shows the specific configuration page for the pause command.
When setting the pause and stop status, you can also select “Show Popup”
to customize the contents displayed by the popup.
Set the restart state. When the program runs to this instruction, it will startrunning again from the first instruction at the beginning.

- 57 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 20 Halt

4.2.6 Switch
As shown in Figure 4-21, the conditional selection instruction is used tojudge the value of a variable.

Figure 4- 21 Switch- 58 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Corresponding to different conditional values, how many conditional
values need to be judged to add how many cases, you can open each case,increase the corresponding execution instructions. For example, to judge theinteger variable A, set two cases, if A is 1, execute the first route instruction, if
A is 2, execute the second route instruction.
If only a few variables are judged and other cases are handled uniformly,
we need to select "default" and add corresponding instructions to the switch.

4.3 Advanced function
4.3.1 Pallet
The pallet instruction allows the user to teach only a few points, throughwhich the position of the other points can be calculated by the robotic system.
Running this instruction can control the movement of the robot to these points.
As shown in Figure 4-22, you can select a line, plane, cube, discrete point.

Figure 4- 22 Pallet type Selection

As shown in Figure 4-23, after you select line, select the number of points,
and the line will be split evenly based on the number of points. These points are
the split point. The user determines this line by teaching two points.

- 59 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 23 LineAs shown in Figure 4-24, after selecting “Plane”, select the number ofpoints of the two axes, and the plane is divided equally. These points are thedividing points. This plane is determined by teaching four points.

Figure 4- 24 Plane- 60 -

Shenzhen Elephant Robotics Technology Co., Ltd.

As shown in Figure 4-25, after selecting "Cube", select the number ofpoints of the three axes, and the cube is divided equally. These points are thedividing points. Determine this cube by teaching eight points.

Figure 4- 25 CubeAs shown in Figure 4-26, when “Discrete Point” is selected, the number ofpoints is selected to teach different points. That is, a discrete point is acollection of multiple points.
Whichever type is chosen, the robot will move to the first point when this
instruction is executed for the first time. The second time, the robot moves to thesecond point. The nth time the instruction is run, it moves to the nth point. Until all
the points have arrived, the robot will start again from the first point.
Note that if you need to control the position of the robot to reach each point
separately, this command needs to be used in conjunction with the loop instruction.
This instruction is only executed once and only controls the robot to reach the firstpoint.
If you select "Do not reset", then stop running the program before all points havebeen executed. When you run it again, it will start from the point of the lastinterruption, not from the first position.

- 61 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 26 Discrete point

4.3.2 Assign to var
As shown in Figure 4-27, this command can assign values to integer
variables and string variables. You can also use the "set variables" to directly set
the value of the variable according to the instruction.

- 62 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 27 Assign to var

4.3.3 Script
Script instructions can be used to edit complex instructions, providing aricher set of functional instructions. Figure 4-28 shows the specificconfiguration page of the script command. There are two types of setup scripts,
one is a single-line expression and the other is a multi-line script.

- 63 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 28 Script

4.3.4 Popup
The pop-up command allows the user to customize the pop-up window. In
other words, when this command is executed, a pop-up window appears, andthe pop-up content is user-defined content. As shown in Figure 4-29, there arethree types of pop-up windows, information, warnings, and errors. The user
selects one and customizes the pop-up content.
There are also three kinds of pop-up window control: continue the program(logging), that is, do not pop the window, just display the contents of the pop-up
window to the log, and the program continues to run; When the window ispopped, the program is paused, that is, the pop-up window appears, and theprogram is suspended; When the window is popped, the program stops, and the
pop-up window appears, and the program stops running.

- 64 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 29 Popup

4.3.5 Sender
If TCP/IP communication is to be performed, the robot system must set the
IP and port number as a client or server to communicate with other devices.
The sender allows the user to set up a TCP/IP connection. Figure 4-30
shows the specific configuration page of the Sender instruction.
If the robot system acts as a client, the IP address filled in is the IP addressof the external device of the server, and the port number corresponds to the port
number assigned to the robot system by the server. When the server is in thestate of monitoring, it can communicate with the server by clicking the"connection" button.
If the robot system serves as a server, the IP address filled in is the local IP
address, and the port number corresponds to the port number assigned to theclient device. Click on the "monitor" button, at which point the client device canconnect to the robot system. In the client list, you can view the IP addresses andport numbers of all clients.
After establishing communication, data can be sent and received.

- 65 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 4- 30 Sender- 66 -

Shenzhen Elephant Robotics Technology Co., Ltd.

5 Quickly create a new runnable project
5.1 Flow Description
5.1.1 Ready to work
1. Precondition
1) Complete robot system.
2) No problem.
2. Prepare content
1) Plug the power cord into the board that provides the AC 220V.
2) Turn on the power switch.
3) Press the start button on the teach pendant.
5.1.2 Flow chart
As shown in Figure 5-1, it is the program editing flowchart.

Figure 5- 1 Program editing flow chart- 67 -

Shenzhen Elephant Robotics Technology Co., Ltd.

5.2 Specific steps
5.2.1 Login
After the system is successfully started, it will enter the login interface of
the RoboFlow operating system as shown in Figure 5-2.

Figure 5- 2 Login interface

Select the login user name "Admin" or other administrator user name (onlyadministrator permissions are allowed to edit and debug the program), click on
the password box will pop up as shown in Figure 5-3.

Figure 5- 3 Input keyboard

The login password corresponding to the default administrator user
“Admin” is “aaa” (if the other administrator user name is selected, enter thecorresponding login password), enter the password and click “OK”, and returnto the interface of Figure 5-2. Then click "Login" to log in successfully.
- 68 -

Shenzhen Elephant Robotics Technology Co., Ltd.

5.2.2 Power on
After the login is successful, the main menu interface shown in Figure 5-4
will be displayed.

Figure 5- 4 Main menu

In the main menu interface, select “Settings”, it will enter the interface asshown in Figure 5-5 (this time has not been powered).
To ensure that the emergency stop knob is not pressed, click on the “Start
Robot” button as shown in Figure 5-5. The interface will change and the“Powering On” icon as shown in Figure 5-6 will appear. If the power is turnedon successfully, the “I’m OK!” status shown in Figure 5-7 will appear. If it fails,
check if you are missing any steps.
After completing the previous step, return to the main menu by pressing
the motor “<Main Menu” button in the configuration center.

- 69 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 5- 5 Unpowered state

Figure 5- 6 Powering up- 70 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 5- 7 Power on

5.2.3 New blank program
As shown in Figure 5-8, click “Program Robot” and then select “Empty
Program”.

Figure 5- 8 Select "Empty program"- 71 -

Shenzhen Elephant Robotics Technology Co., Ltd.

After performing the previous step, enter the program editing interface asshown in Figure 5-9.

Figure 5- 9 Enter the program editing interface

5.2.4 Add and edit instructions
As shown in Figure 5-10, add two waypoints: absolute point, and teach two
points (that is, use the Quickmove to manually operate the robot, control therobot to move to a certain pose, return, click "Save Current Point" The teachingsteps of the two points are the same. To verify the save point, press and hold the“Move to this point” button to manually control the robot to move to theteaching point.).
After editing is complete, please note that the program file is saved. Click“Save” in the file option bar as shown in Figure 5-10, and the window shown in
Figure 5-11 will pop up. Click on "File Name" and the input keyboard shown in
Figure 5-12 will appear. After entering the file name, click "OK". Then go backto the save interface, click "OK", the program file is saved successfully. Afterthe save is successful, as shown in Figure 5-13, the program name in the upper
left corner of the program editing interface will be changed.

- 72 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 5- 10 Program editing

Figure 5- 11- 73 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 5- 12 Enter the program nameFigure 5- 13 File saved successfully

5.2.5 Program debugging
As shown in Figure 5-14, in addition to the "Next" and "Run" functions
provided in the program run control bar, click "Advanced" to enter the moresettings interface.
Among them, the "Next" function corresponds to step by step execution of
the program, click to run only one step at a time, if you need to continue to run,continue to click "Next." The "Run" function corresponds to automaticallyrunning the program once.
In "Advanced ", you can set the number of cycles to run, or you can run in
an infinite loop. You can also control whether the program runs in automatic or
manual mode. In the automatic mode, you can use "Next", "Run" and cycle- 74 -

Shenzhen Elephant Robotics Technology Co., Ltd.

operation. In the interface shown in Figure 5-14, select "Manual Run Mode"and then select "Run" or "Infinite Loop" in the loop run. You can enter therunning interface in manual operation mode as shown in Figure 5-15.

Figure 5- 14 Program debugging

Figure 5- 15 Manual mode to debug the program- 75 -

Shenzhen Elephant Robotics Technology Co., Ltd.

If you use manual mode to debug the program, you need to keep pressingthe "Press Down" button to continue running. If you release the button, theprogram pauses and presses again to continue.
5.2.6 Save and run the programIf debugging is complete, make sure you have saved the debugged program.
After returning to the main menu, select "Run Program". The pop-up window
shown in Figure 5-16 will appear. Select the program to complete thedebugging and click “OK”.

Figure 5- 16 Selection procedure

After selecting the program, it will enter the running program interface asshown in Figure 5-17. In this interface, you can run the program to view the
program running information.
If you are sure that the program will continue to run in the near future, you
can also select it in the Settings - Default Program. In this way, as long as thesystem is started, it will automatically jump to the “Run Program” interface.
After the power is turned on successfully, click “Run” to run the program.

- 76 -

Shenzhen Elephant Robotics Technology Co., Ltd.

Figure 5- 17 Running program- 77 -