Professional Documents
Culture Documents
Graduation Thesis: Application of Collaborative Robot in Assembling Car'S Components
Graduation Thesis: Application of Collaborative Robot in Assembling Car'S Components
GRADUATION THESIS
HANOI, 07/2021
MINISTRY OF TRAINING AND EDUCATION SOCIALIST REPUBLIC OF VIETNAM
HANOI UNIVERSITY OF SCIENCE AND Independence – Freedom – Happiness
TECHNOLOGY –––––––––––––––––
––***––
......./......../2021
HEAD OF DEPARTMENT INSTRUCTOR
(Signature and full name) (Signature and full name)
STUDENT
(Signature and full name)
Acknowledgement
This graduation project has been completed in 5 months, from February 22, 2021
to June 28, 2021. With the thoughtful instruction from teachers, we have been
able to complete this project:
“Application of collaborative robot in assembling car’s components”
First of all, we would like to express our most sincere thanks to our instructor –
Mrs. Nguyen Thu Ha - who gave us various of useful guides and enthusiastic
supports during the implementation of this graduation project.
Secondly, we would like to thank to the director and colleagues of Cuong Linh
Trading and Technical Service Co., Ltd, where we were assigned a professional
apprenticeship. Especially, Mr. Nguyen Xuan Son who directly lead us to
participate, study the practical equipment and work tasks at company.
Last but not least, we would like to thank the Department of Automatic Control
for enabling us to have this important and rewarding graduation project. Finally,
we are grateful that our families and friends provide us supports and help to
complete our project. Thank you all for everything!
Due to the limited time and practical knowledge of a student, this thesis can not
avoid shortcomings. We look forward to receiving the advices and suggestions
from the teachers so that we have the opportunity to supplement our knowledge,
better at practical work in the future.
Our Sincerely.
Hanoi, July, 2020
Abstract
The project target is to make a study of collaborative robot and apply to assembly
car components. In order to achieve this purpose, the implementation to the
problem is organized as follow:
1. Research the brief history, structure and some applications of
industrial robot.
• Industrial robots play an important role in today's industrial
production lines. Understanding the structure and operating
principle will help a lot in the process of designing and using
robots.
2. Introducing and programming the TM14 OMRON collaborative
robot.
• Hardware: Structure and specifications of TM14 Cobot.
• Software: TMflow-Specialized software to program the Cobot
OMRON.
3. Applying to the problem of assembling relays in car fuse boxes.
• Study structure and how the car fuse box works.
• Program the robot arm to perform the process of fitting the relay to
the fuse on TM flow software.
4. Practical results
• Scientific significance: Theoretical research on structure,
operational process of an industrial robot as well as collaborative
robot.
• Practical significance: The thesis contributes to factual application
for assembling relays in the fuse box.
TABLE OF CONTENT
LIST OF TABLE
Table 1-1 Basic types of joints ............................................................................... 1
Table 2-1 Specifications of TM Robot arm [3].................................................... 18
Table 2-2 Function of Robot stick [3] .................................................................. 20
Table 2-3 Specification of control box [3] ........................................................... 22
Introduction to Industrial Robot
2 Slip joint T 1
3 Rotary joint R 1
4 Cylindrical C 2
joint
5 Threaded H 2
joint
1
• Rectilinear Robot has 3 orders of translational motion along 3
perpendicular axes.
2
• Spherical robot includes 1 translational motion and 2 rotational motions
3
Characteristic:
- Using switches and pistons
- Opened-loop control
- Commonly used in pick-place applications
• Second-generation robots: robot with programmed control but can self-
adjust to adapt to changes in the operating environment (equipped with
sensors that allow feedback to the control system)
Characteristic:
- Closed-loop control of manipulator movements
- Program can be selected based on sensor feedback
- The robot's operation is programmable
• Third-generation robots: The robots are equipped with algorithms that
handle adaptive logical reflexes according to information and the impact
of the environment on them; so the robot knows what to do to complete
the job that has been set for them; equipped with an image acquisition
system in the control (vision systems- camera).
Characteristic:
- Has low-level recognition capabilities such as distinguishing
objects of quite different shapes and sizes.
- Control base on processing information that received from vision
system.
• Fourth-generation robots: Includes robots using adaptively controlled
robots and algorithms that are initially equipped with the ability to select
responses according to a defined computational model in order to generate
behaviors which are suitable for the conditions of the operating
environment.
Characteristic:
• Capable of reprogramming operations based on the signals received
from the sensor.
• Has relatively large memory to solve optimization problems with
undefined boundary conditions.
1.3 General structure of industrial robot
Basic components
Some basic components of robot arm include:
• Manipulator: are the mechanical structures that include the skeleton of the
entire robot arm and the engines that perform the task. This component is
main responsible for the work.
• Drive System: it can be electric, hydraulic, pneumatic supplying the
working mechanism.
• Controller: The controller is responsible for controlling all the arm's
operations.
4
Figure 1.5 Structure of Industrial Robot
Manipulator
Is a mechanical structure consisting of stitches and joints. They form arms to
create the basic movements, the wrist for dexterity and flexibility, and the hand
(End Effector) to directly complete operations on the object.
6
implement these technologies, the tool can be clamped on the robot hand
or a tool is fixed to the robot's wrist. Some types of tools are: drill bit,
cutting tool, grinding wheel, spot welding mechanism, arc welding…
Coupling between robot and hand: Normally, the robotic hand is mechanically
coupled to the wrist by means of a flange. That coupling structure must satisfy
three requirements: rigidity, flexibility and overload protection. The robotic hand
needs energy to perform the tasks of the technological chain and control signals
to modify the operation of the hand mechanism. The main methods of
transmitting energy and signals to the hand are: pneumatic, electrical, hydraulic
and mechanical; in which the pneumatic transmission method is the most widely
used.
Drive system
Drive system used to create motion for the steps of the manipulator. The driving
source of the actuators is the motor of all kinds: electric, hydraulic, pneumatic or
combined. Movement of the joints in the manipulator is performed by the drive
system, it has the following parts: power supply, amplifier power, engine, engine
transmission.
Electric drive system
The electric drive system in a robot is a set of devices including electrical,
electro-magnetic and electronic equipment for converting electrical energy into
mechanical energy.
In robotics, many different electric motors can be used, but in fact, there are two
most common types: DC motor and AC motor
a. DC motor
DC motor has 2 main parts: Stator and rotor
There are 4 commonly used DC motor:
- Separately excited dc motor
- Shunt wound DC motor
- Series wound DC motor
- Compound wound DC motor
b. AC motor
Produced in many different models and capacities which can be divided into two
types: 3-phase and 1-phase motors.
- 3- phase AC motor: The rotating magnetic field is created by passing a
three-phase current into three electromagnets that are placed apart on a
circle. When the motor is connected to a three-phase network, the rotating
magnetic field caused by the stator causes the rotor to rotate on the axis.
The rotation of the rotor is transmitted out by the machine and used to
operate the machine tools or other moving devices.
- 1-phase AC motor: The stator of this type of motor consists of two
windings set apart at an angle, one wire is connected directly to the
electrical network, the other wire is connected to the electrical network
7
through a capacitor. This connection causes the two currents in two coils
are out of phase and create a rotating magnetic field. Single-phase motors
only achieve small, medium power.
• Advantages:
o Fast and precise action
o Apply complex control techniques
o High torque, reduced weight and fast response
• Disadvantages:
o Quite high speed
o Cause overheating when overloaded
o Need to use brake to pin position and joint
Hydraulic drive system
8
Pneumatic drive system
Pneumatic drive system: widely used in the mounting industry assembly and
processing, especially in areas where hygiene, explosion-proof or toxic
environments are required. For example, the field of electronic assembly; food
processing; the stages of product classification and packaging belong to
automatic production lines. There are 2 types of drives using pneumatic: straight
drive and rotary drive.
• Advantages:
o Compact
o Easy to use and turn around
• Disadvantages:
o The movement is often accompanied by oscillation, requiring
additional lubricating equipment.
o Difficult to control speed, inaccurate stopping.
Controller
The robot controller consists of a central processing unit, memory and
input/output unit combined with a display screen divided into modules.
a) Central processing unit (CPU)
The center of the controller is a CPU which is responsible for managing
information about memory, managing input and output, processing information
and controlling each axis of the robot; then implement control algorithms and
output control signals to the signal converter.
It can be:
• Using a whole small computer
• Using existing computer circuit modules
• Using an 8 or 16-bit processor
• Using a separate computer to communicate with the robot controller
9
b) Memory
Memory used to store programs and feedback from the operating environment
c) Input/output unit
• I/O is used to put the program into the processor, check and monitor the
operation during manipulation.
• I/O usually includes a monitor, keyboard, and communication ports
d) Types of controller
• Robot controller in open system
Open-loop system is also known as non-servo system. Open control uses
step motion where the distance or angle of displacement is proportional to
the number of control pulses. This type is simple, but low accuracy.
• Robot controller in close system
Closed-loop system is also known as servo system. Closed control uses
position feedback to increase control accuracy. There are two types of
servo control: point-to-point control and line control (contour)
- Point-to-point control: robot moves from one point to another in a
straight line at a low speed. It only works at breakpoints. This type
of control is used on spot welding, transport, riveting, nail shooting
robots…
- Line control (contour) ensures that the robot moves in any
trajectory, at a controllable speed. This type of control can be
encountered on arc welding and paint spraying robots.
1.4 Controlling AC Servo Motor
The difference of AC Servo Motor from conventional motors is that it is
integrated with many electronic tools and sensors to transmit information and
control such as amplifiers, controllers, encoders and monitors. This increases
accuracy as well as ease of control, which is one of the requirements for
industrial production in the current era of industrial revolution 4.0.
Control Servo Motor Configuration
A servomotor is a linear actuator or rotary actuator that allows for precise control
of linear or angular position, acceleration, and velocity.
For correct operation, the servo motor must be combined with:
➢ Controller: is used to run the specific program to satisfy system
requirements.
➢ Motor drive: Electronic device sufficiently supply energy to motor.
➢ Encoder: generates feedback for motor operation.
Function of Servo Motor Drive
The main task of servo motor is to supply energy sufficiently at the right time
with the right amount to control position, speed and torque correspond to input
from controller and the feedback from encoder.
10
Also, the servo drive is responsible for receiving command signal (pulse) from
controller and transmitting the command to the servo motor to control the servo
motor to operate according to the command. At the same time, it continuously
receives the current position and speed of servo motor from encoder. From the
feedback signal, the servo drive will compare with the command signal and make
appropriate adjustments, ensuring the servo motor works properly as required.
The sub-task of servo drive is processing I/O signal from safety devices or output
signal of operational status.
Servo Motor Control Signal
Depend on requirement for controlling servo motor, the controller receive signals
to perform a specific motion.
Signal from use to control servo has the following types:
• Analog signal.
• Pulse signal.
• Serial packet signal.
11
Figure 1.12 Control loop [2]
a. Current loop:
Current control is needed when the system requires time response. The primary
goal of the current loop is to control torque, which influences speed, and
therefore, position.
The current loop takes a current command (usually just the output of the velocity
loop) and compares it to a current feedback signal and generates an output that is
essentially a voltage command. If the system needs more torque, the current loop
responds by increasing the voltage applied to the motor until the right amount of
current is produced.
12
b. Velocity loop:
The velocity loop is the most common servo control loop. It compares the
commanded velocity to the actual velocity via an encoder and issues commands
to increase or decrease the motor’s speed accordingly. The velocity loop
produces a torque command to minimize the error between velocity command
and velocity feedback.
c. Position loop:
The position of servo motor can be described as the absolute angular position of
the servo motor shaft, or in some cases, is the position of the device driven by the
servo motor.
The position loop determines the following error, which is the deviation between
the actual and commanded positions, and issues velocity commands to reduce or
eliminate the following error. For applications that require control of position, a
position loop can be added in cascade or series with the velocity loop. In a
cascaded system, the position loop typically uses only a proportional gain.
Encoder
Encoder is a sensing device that provides feedback about rotation angle and
linear displacement. It converts motion to an electrical signal that can be read by
controller. That signal can be called as feedback signal that can be used to
determine position, count, speed, or direction.
There are 2 types of encoders:
• Incremental encoder.
• Absolute encoder.
1.5 Applications of industrial robots
Robots are widely used in many different industries. Industrial applications of
robots can be classified into the following main areas: transportation, material
handling, machining, exploration assembly and etc…
Robot application in material transportation and handling
In the transport application, the robot is responsible for moving the object from
one location to another. This task of the robot is performed by picking and
placing objects. The robot picks up the part from one location and transfers it to
another. The robot can pick up a part in a fixed position or on a moving conveyor
and place it in another fixed position or place it on another moving conveyor
with part orientation. The robot is capable of loading and unloading and
transporting parts of different shapes and sizes thanks to standard part
information stored in memory, and the robot uses sensors to recognize the real
part. In the production line, robots are used to take the part in and take the part
out of a metalworking machine, CNC machine, plastic injection machine or
casting line. In the packaging stage, the robot is responsible for stacking
materials (rectangular blocks) on a shelf (pallet) and packing; unloading
materials from pallets; put products in a carton or pick up parts out of the box.
13
Figure 1.14 Stacking box on a pallet
14
used to paint the surface of automobiles, machine equipment surfaces, household
appliances, etc. In the production line, the painting robot is a part of the system,
working with conveyor systems carrying parts to be painted. Therefore, the
synchronous work between the painting robot and other stages in the line is also
set out in the design of automation of the paint line.
In addition to the above basic applications, robots are also used in metal
processing lines such as drilling, grinding, polishing, in electric spark cutting
machines, laser cutting.
15
Robots are also used in testing and inspection. One of the applications is
coordinate measurement machine (CMM). CMM machines are widely used to
check the size, position and shape of machine parts or mechanical parts. In the
automotive manufacturing industry, CMMs are used to measure and inspect
automotive components. In the steel smelting industry, CMMs equipped with 3D
sensors to determine dimensions will be used for accurate measurement in high
temperature environments. Thereby reducing production costs by saving
redundant materials.
16
Overview of Collaborative Robot Omron
In industry, many production lines require us to identify, sort and select product
to package. Using human resource do not guarantee having high productivity and
accurate yet, in addition consume much money on salary. Therefore, the Omron
Tm collaborative robot is designed to work with both humans and machines, this
robot is the latest in a long line of innovations in automation technology for
industrial applications. Safe and transportable, with built-in vision, this robot
allows for quick start-ups and rapid changeovers. Its intuitive software enables
the robot to be easily trained to perform almost any task wherever you may need
it. In this chapter, structure and operation of collaborative robot Omron are
presented.
2.1 System Hardware
This chapter introduces the mechanical interface of the TM Robot System. TM
robot is made up of the robot arm and control box (including a robot stick).
Robot arm
As introduced in the previous chapter, the robotic arm plays an important role in
the collaborative robot system.
TM14 series are the robots which have 6 degree of freedom to improve dexterity
and flexibility. Six DOFs usually include 3 positioning movements and 3
directional movements. The figure above shows us 6 joints and each joint has its
own source of drive. At the end of robot arm, a camera is attached that makes the
robot work more informative as images are transmitted directly through the
camera to the controller without using external vision.
17
To operate the robot safely and efficiently, we need to take care of the robot's
specifications. The table below will indicate some parameters:
Table 2-1 Specifications of TM Robot arm [3]
Joint 3 ±163°
Joint 6 ±270°
Joint Joint 1,2 120°/s
Speeds Joint 3 180°/s
Joint 4,5 150°/s
Joint 6 180°/s
Integrated Camera 5M pixels, 5M pixels, 5M pixels,
color color color
Power supply 100-240 22-60VDC 22-60VDC
VAC, 50-
60Hz
Payload
The maximum allowed payload of the robot arm is related to its center of gravity
offset, which is defined as the distance from the center point of tool flange to the
payload’s center of gravity.
The following figure shows the relationship between payload and the center of
gravity offset:
18
Robot end module components
On the robot end module is equipped with push buttons which provides the
convenience to move the robot as well as shortens the robot movement time
while programming:
+ Hold the FREE Button on the End Module to release the brakes and manually
move the robot to a relatively safe position by hand guiding.
+ Press the POINT Button to let the project flow generate the point.
+ Press the VISION or GRIPPER button to use vision and gripper node in TM
flow.
Whenever you hold or press any button above, these nodes will appear
respectively with the name of the button in TM flow.
19
Figure 2.4 EIH camera [3]
Control box
Robot stick
The Robot Stick has 6 function buttons, 3 indicator lights, 1 Emergency Switch,
and 1 QR-code. Their functions are as follow:
Table 2-2 Function of Robot stick [3]
20
Mode Indicator One is Manual Mode, the other one is Auto Mode.
Lights They show the robot's current operating mode. Once
boot up is complete only one will always be on
QR Code Label The content of the SSID is also the robot's name in
TCP/IP network.
• Emergency switch: If any accidents occur during the operation of the
robot, the user can stop all movement by pressing the Emergency Switch.
When the robot stops, the user must ensure that all fault conditions are
eliminated before manually restarting the robot. The Emergency Switch is
only used in critical conditions. When the user presses the emergency
switch, the TM Robot product will disconnect the power of robot and
activate the brake after the robot motion is stopped. The indication light
ring of the robot will not display light, and the three lights from the robot
stick will be constantly blinking.
• To stop the robot during normal operations use the Stop Button on the
system controller.
• When the robot performs trial run in Manual Mode, the project speed will
start with the initial speed at 5%. Therefore, in the process of teaching
robot, we have to choose manual mode.
Electrical Interface
The control box is designed with I/O for connecting to peripheral devices.
• Digital I/O: Inputs and outputs can be set to either sink or source by
selection.
• The USB port of the control box is used for connecting the keyboard,
mouse and external storage devices.
21
Table 2-3 Specification of control box [3]
22
Operation Interface
This part will introduce the operation interface of TM flow, including the icons
in the function menu: Login/Logout, Connect, View, Run Setting, Project,
Setting, and System.
23
This part will define the physical meaning of the Robot Base, so that users can
understand the Base of robot, and use the controller system to move the robot in
the specified Base.
Base and Right-hand Rule
a) Right-hand Rule
The Right-hand Rule is a method of determining the direction of the three-
dimensional Base. In the system of Base of robot, the right-hand coordinate
system can be used to determine the positive direction of the Z-axis, as shown in
the illustration, the thumb, index finger, and middle finger represent the right
hand coordinate X-axis, Y-axis, and Z-axis respectively, and three fingers are
perpendicular to each other. In addition, the Right-hand Rule also determines the
positive rotation direction of the coordinate axis in the three-dimensional space,
bending finger. The direction pointed by the finger is the positive rotation
direction of the coordinate axis.
b) Types of Base
The Bases defined in the robot are Robot Base, Custom Base, Vision Base and
Tool Coordinate according to the purpose. Users can complete the point planning
and application in the space using intuitive methods, according to these different
base applications.
• Robot base: is also called the world coordinate system. It is defined as the
Base of the robot. When the robot is running, no matter how the position
or posture is changed, it will not affect the direction and position of the
initial point of the coordinates.
24
Figure 2.11 Robot base [4]
• Vision base: can be further divided into visual servoing positioning and
fixed-point positioning. The concept of visual servoing positioning is to
approach the object with camera, so the Base is created on the camera. In
fixed-point positioning, the relationship between the image coordinate and
the robot is known to calculate the positioning object with absolute
coordinates and its Base is created on the object.
The robot's vision can be simply built with the Base in parallel to the operation
plane, allowing users to complete assembly, processing, and other related
applications on an inclined plane, and can also use the Vision Base to position
the robot in the space.
25
• Tool coordinate: is used to define the position and orientation of the robot
TCP (Tool Centre Point). Normally, the flange center point will be used as
the origin of the Base.
26
Assembling relays in car’s fuse box
Before applying a collaborative robot, the important task is to study what the fuse
box in detail. In this chapter, we will give a general opening about a typical car’s
fuse box by showing the structure and working principle of a Fuse Box.
3.1 What is a Fuse Box?
Most vehicles are equipped with two fuse boxes. One is located in the engine
compartment and is used to protect engine components such as the cooling
system, anti-lock brake pump, and the engine control unit. The other is often
found in the cabin area in or under the dashboard, on the driver’s side to protect
interior electrical items. The fuse box houses a variety of fuses and relays in one
convenient place, protected from outside elements. Car fuse box replacement
isn’t often necessary unless the vehicle has experienced severe physical damage
or electrical problems.
27
headlights and accessory driving lights use them too. It's important to know this
because many electrical failures occur in the relays themselves.
Fuses
Almost everything in a car is wired through a fuse. Fuses come in all shapes,
sizes, and colors and are used to even out and reduce the electrical current that
flows through wires to prevent damaging electronics from too much electricity.
Often, fuses come in a rectangular or tube-like shape. A rectangular fuse is
composed of two push in-connectors linked by a fuse wire in a protective
covering, typically made of plastic, which will burn through or blow, as it is
often referred to, when overloaded. Tube fuses have a similar likeness to a
fluorescent light bulb, on a much smaller scale, where the tube portion is long
and at either end is a protective housing made of glass between them. Running
between the metal ends and protected by the glass, is a thin fuse wire which
burns through and will blow when overloaded.
Without fuses, a large, overloaded electrical current could cause the wires to
overheat, melt the insulation, and could result in fire. A high current to any
28
component equals instant failure, therefore, the fuse ensures that current stays at
a reasonable level for the component to continue to function. Still, if the current
is too high, the fuse will blow. Drivers will notice trouble with fuses when the
vehicle’s windshield wipers, headlights, interior lights, seat warmers, or radio do
not function. In some cases, the vehicle may also have difficulty starting.
If there is overcurrent in the circuit, a fuse blows, disconnecting an appliance
from the power supply. Thus, it protects the appliance from failure. If one of your
car’s electrical devices got out of order, the blown fuse may be the issue. In this
case, you need simply to replace it to solve the problem.
We discuss the control of robots when their dynamical model is uncertain. This
may arise because of the robot is carrying an unknown load or because the exact
evaluation of the robot’s dynamics is too costly. The robust controllers in this
chapter are obtain from modifications to the controllers.
3.3 Programming with TM14 Collaborative Robot
Problem Proposal
Our task is to use the robot's camera to determine the coordinates of the relays,
then pick up the relay and place it in the corresponding positions on the fuse box.
Object
In this project, we use relays with 3 different colors: 6 black relays, 1 blue relay
and 1 brown relay with size 20mm*30mm. These objects are selected because:
➢ Size is fitted to the gripper which is available on the collaborative robot
(cobot) to facilitate for pick&place.
➢ Relay with three striking colors on the white background of robot desk.
Vision will check the shape and color of the product, is a rectangular product
with black, blue and brown; so other objects will not be picked up.
29
Programming
Algorithm diagram
Explain:
- Counter variables are created at the beginning to keep track of the
number of relays which was successfully placed:
o Black_Relays_Counter = 0
o Brown_Relays_Counter = 0
o Blue_Relays_Counter = 0
- By pressing the power button on the robot stick, robot will go to the
location where the TM landmark has been set up before.
o If it couldn’t detect the TM landmark in search range, robot
will warn user and stop right away.
o If the TM landmark was detected, its coordinate will be
recorded and become a vision base system for fuse box.
- Robot then move onto workplace where camera can capture object.
30
o If robot couldn’t detect object, it will remind users to put
object in workspace before standing idle for 5 seconds. Then
robot will capture workspace again.
o If relay is detected, the robot will classify color of the
object.
- Before picking up the object, we need to compare the
corresponding counter value of each color with the max value
where is the maximum number of relay positions on the fuse box.
- Robot arm will pick up object.
- After picking up object: [corresponding color]_Relays_Counter =
[corresponding color]_Relays_Counter + 1.
- Place object in the corresponding position on the fuse box. In the
following step, robot will to check quality of object.
o If the relays are successfully placed in the right position, the
robot will continue to pick and place until the job is
completed.
o If not, robot will stop immediately.
Vision node
The Vision node is the most important part of this project. It provides the
creation of plane with fixed-point type, object type as well as a variety of AOI
identification functions. The display of a Vision node in flow is shown in the
figure below:
The Base icon on the right side is for which Base is to record the Vision node of
this Vision Job, and the Base icon on the left side is for which Base is to be
generated by this Vision Job.
a) Landmark
Landmark provides a fast, simple and flexible base system positioning method as
a reference to the environment. Capturing Landmark with TM Robot will
generate the position information of six degrees of freedom (including X, Y, Z,
RX, RY, RZ) once to build a base system accordingly for users to record
following points and motions. When the robot is repurposed or relocated, when
the relative position of the robot and landmark changed, it's simple - use the robot
to take a photo of Landmark again, to regain 6 DOF of the new location and
31
renew the landmark base system. The recorded points and motions on the
Landmark base system will be converted to the base system automatically to
make the robot move to the same positions as before.
In this node, vision will take pictures to determine the direction and location of
the landmark. Therefore, a vision base will be created. In the next step, when we
want to place relays into corresponding position, we will set up node base on this
vision base. These positions are defined based on its relative position to TM
landmark.
b) Calibration function
The fixed positioning function is designed with a pre-set object placement area
and pre-set height for vision jobs. We can create a workspace with the TM
calibration plate. When using the TM calibration plate for fixed-point alignment,
the relative height of the camera and the work plane is also defined. When using
fixed-point alignment to establish a workspace, we have to ensure that the
absolute height of camera and object is equal to the workspace created by the TM
32
calibration plate. Workspace calibration includes automatic and manual
calibration to help users create workspaces for fixed-point vision jobs.
➢ This function uses the geometrical shape of the object as its pattern model
and matches it to the input image to find the object in the image.
➢ Because relays are symmetrical object, so we have to set rotation angle
smaller: rectangles (-90~90), squares (-45~45), and circles (0~1)
➢ Minimum score: Smaller minimum scores reduces omissions from
judgments at the cost of more misjudgments. So we used value fall
between 0.75 and 0.85 to get better results.
d) Color classifier
After finding pattern from image, we used “color classifier” function to assist
users in dealing with a color identification.
Users are required to set up color classification area and select the color feature
area for identification before starting the training process. In addition, we are
required to place patterns of different colors as prompted and name each color
during the training process: Black, blue and brown
33
Figure 3.10 Classification result
Once trained successfully, the TM vision can classify color of the object to its
most suitable category. This works by matching the list of color with color
classification area to get a matching score.
Motion programming
We chose to use point node, which the robot will use to determine the mode of
moving to the point according to setting.
a) Point to point
- The point to point (PTP) mode determines the robot’s motion by
calculating the angular variation of each axis, and is not limited by
the singularity point. The robot’s motion in this project is not
limited, so we chose to use PTP movement.
- The PTP speed is based on the motion joint that takes the longest
time. Speed percentage and time to top speed can be set in PTP
speed setting.
b) Line
- A straight line is the shortest distance between two points. The Line
mode specifies that the path between two points is planned as a
straight line.
- Line mode may cause joint speeding, so we chose to use it only on
approaching – departing object’s situation to avoid speeding close
34
to a singularity point or make a posture large-angle movements
over a short distance.
Logic programming
We will introduce the logic nodes which we chose to use in the project, in order
to explain its basic features and use methods.
a) Local variables
- We used local variables which can only call in a single project, and
effect only on the project where they were created.
- Six types: int, float, string, double, bool, byte
- Two categories: single, array
36
After applying these nodes, we have got the whole project which shows in the
figure below:
38
REFERENCES
[1] Ph.D Nguyen Manh Tien, "Dieu khien Robot cong nghiep", Hanoi University
of science and technology.
[2] OMRON, TM12/TM14 Series Manual, 02/2020.
[3] OMRON, TMflow software Manual, 04/2021.
[4] OMRON, TMvision software Manual, 04/2021.
[5] OMRON, "Elearning," OMRON, [Online]. Available:
https://omronlearning.com/.
39
APPENDIX
40
❖ Ratio of blinking time period
The table below shows the rule of ratio of blinking time period between
Operation Mode Light Color and Auxiliary Light Color.
Blinking Ratio
Status Operation Mode Auxiliary Light
Light Indication Indication
Error 50% 50%
The table below show shows all combination of Regular Light Indication.
Operation Running status Space/Status of Operation Auxiliary Light
mode Safety Trigger Mode Light Indication
Indication
Full Speed Space Green (10%) Light Off (90%)
/Normal
Paused
Reduced Space Green (10%) White (90%)
(Trip User
Trip User Green (10%) Purple (90%)
Connected
Connected
External
External
Safeguard
Safeguard Input
Input Port Port
Port for Human -
or paused in
Machine Safety
Trial Run)
Settings
Error Green (50%) Red (50%)
Project is not Full Speed Space Blue (100%) -
running /Normal
41
Reduced Space Blue (90%) White (10%)
Trip User Blue (90%) Purple (10%)
Connected
External
Safeguard Input
Port for Human -
Machine Safety
Settings
Error Blue (50%) Red (50%)
Full Speed Space Blue (50%) Light Off (50%)
/Normal
Reduced Space Blue (50%) White (50%)
Trip User Blue (50%) Purple (50%)
Project is Connected
running External
Safeguard Input
Port for Human -
Machine Safety
Settings
Error Blue (50%) Red (50%)
Full Speed Space Blue (10%) Light Off (90%)
/Normal
Paused
Reduced Space Blue (10%) White (90%)
(Trip User
Trip User Blue (10%) Purple (90%)
Connected
Connected
External
External
Safeguard
Safeguard Input
Input Port or
Port for Human -
paused in
Machine Safety
project)
Settings
Error Blue (50%) Red (50%)
The table below is a quick reference of how to recover from different kinds of
error/ status.
43
1