Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 1 (June 2017) 41–44___________________________________________________________________________________________________________UNARM System to Decide Units Locations of Cell-type
Assembly Machines with Dual Arm Robots
Hidehiko Yamamoto*Department of Mechanical Engineering, Gifu University, Yanagido 1-1
Gifu, Gifu 501-1194, Japan
Hirotaka Moribe

TOYOTA AUTO BODY CO.,LTD,Kariya, Aichi, Japan

Takayoshi Yamada**

Department of Mechanical Engineering, Gifu University, Yanagido 1-1
Gifu, Gifu 501-1194, Japan
E-mail: *yam-h@gifu-u.ac.jp, **yamat@gifu-u.ac.jp

AbstractThis study develops the system called UNARM which assists the unit placement decision of the automatic
assembling equipment to assemble efficiently. The unit is a part supply or a robot hand constituting assembling
equipment. It is the system which decides these unit placements where of the assembling equipment you place
without preventing the interference of the both arms of the robot by using reinforcement learning.
Keywords: Reinforcement Learning, Unit placement decision, Dual arm robot, Assembly machine

to a cell type assembly machine with the robot andascertain the usefulness of UNARM.

1. Introduction
In recent years, automations of the assembly works withdual arm robots have been performed in the production
area. As for the automatic assembly machine with therobots, the production efficiency changes by theplacement of each unit. However, because theplacement of units is determined by the experience ofengineers in many factories, it is questionable whether
the determined placement is good or not. In theresearches of dual arms robot assemble works, theirrobot layouts are still decided and they do not deal witheach arm operations schedule [1]. To solve the problem,
we develop the system, Units-layout Nomination for
Assembly with Robot Mechanism (UNARM), to assist
the unit placement decision of the assembly machinewith a dual arm robot. In addition, we apply UNARM

2. UNARM
UNARM is the system to decide each unit placement of
the assembly machine using reinforcement learning. For
deciding the placement of each unit chosen by every
learning, UNARM calculates the assembly time andimproves the unit placement using machine learning andthe calculate time.
2.1. Structure of UNARM
UNARM consists of two modules, (ⅰ)the conditions
making module and (ⅱ)the learning module as shownin Fig.1.

Copyright © 2017, the Authors. Published by Atlantis Press.
This is an open access article under the CC BY-NC license (http://creativecommons.org/licenses/by-nc/4.0/).
41

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 1 (June 2017) 41–44___________________________________________________________________________________________________________After the condition making module reads the work
data and the possible area of unit placements, themodule gets ready to learn in a learning module basedon it. The work data means the time between chuck andunchuck, the coordinates that both arms move and thework sequence. The learning module uses reinforcement
learning based on values and repeats the four processes,①to choose the tentative placements, ②to calculate theworking time, ③to evaluate the acquired cycle time,

Fig. 2. Divided placements.

Fig.3 Distributions of values
2.3. Learning module
The learning module carries out the following processes.
Step1. Make an initial values of the values.
Step2. Decide the placement of the unit by a rouletteselection.
Step3. Calculate the coordinates of each part.
Step4. Calculate the moving distances of the robot arms.
Step5. Calculate the working time of the robot arms.
Step6. Compare the calculated working times with thestandard value.
Step7. If the time is shorter, give the reward.
Step8. If the working time is shorter, update thestandard value.
Step9. Repeats Step2 from Step8 till a decided
reputation times.
We adopt the concept of waiting time not to
produce arm interferences because the two arms moveat the same time in Step5. In step6, the concept chooses
the longer working time as the next evaluation time.

Fig. 1. System construction of UNARM.

and ④ to repeat the four reward distribution operations.
Finally, the most suitable placement of the units can bedecided.
2.2. Condition making module
The condition making module carries out the following
processes.
Step1. Read each work data of the robot two arms.
Step2. Read the possible area of each unit placement.
As shown in Fig.2, the possible area of each unit
placement is divided as a lattice and the center of eachlattice becomes the center of the candidate place.
Step3. Give initial values to the candidate place createdin Step2.
Fig.3 is the example given the initial values.

3. Moving method of robot arms
To calculate the working time of the robot arms inStep5, the robot arm moving speed is necessary tocalculate. Therefore, we define the arm moving
locations as follows and see Fig.4, Apprpach-1: theupper point of the part that a robot will take, Approach2: the upper point closer to Approach-1 and Chuck
point: the point that the arms chuck, unchuck or put a42

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 1 (June 2017) 41–44___________________________________________________________________________________________________________The following shows the waiting time. We definethe two flags, Lp and P.

part. We also define the arm moving speed among theupper three points. The speed between Approach-2 andApproach-2 is defined as a fast forward speed. The
speed between Approach-2 and Approach-1 as approach
speed I, the speed between Approach-1 and chuck point
as approach speed II. In addition, as these three kinds ofspeed have different speeds whether the arm grasp apart or not, the six kinds of speed value definitions in
total must be chosen. In this study, we adopt that therobot arms always move by regular linear motion.

Lp(Look at Point): Job that starts to need the waiting

Fig. 5. Dual arms of robot.

time.
P(Point): Work corresponding to the waiting time of Lp.
In order not to make arm interferences, the works
that need the waiting time are given Lp and thecorresponding works are given P.
Fig. 6 No waiting time
Fig. 4. Robot arm movements.

For example, as shown in Fig.6, when the left arm starts

4. Concept of waiting time
The robot of this study has dual arms as shown in Fig.5.
When we use the dual arms, the most difficult point is tointerfere both arms each other. In other words, it isnecessary to decide the work sequence not to make theinterference of the right arm and the left. Therefore, weadopt the concept, the waiting time, to prevent arm
interferences in calculating working times of one cyclein Step5. in the learning module. For example, theassembly sequence exists that the assembly work A
must be set after the completion of the assembly work
X. In this case, when one of the two arms performs
assembly work A, the other arm must confirm thecompletion of assembly work X. In other words, theassembly work A must start after the completion ofassembly work X. We define this time lag as the waitingtime.

Lp, the left arm can continue the work as the right arm
still finished P. This is because waiting time is not given
to the left arm.
On the contrary, in the case of Fig.7, when the left
arm starts Lp, the work of P of the right arm is notfinished. This is because the left hand has to wait sevenseconds to start Lp. The seven seconds correspond towaiting time.

43

Journal of Robotics, Networking and Artificial Life, Vol. 4, No. 1 (June 2017) 41–44___________________________________________________________________________________________________________

the efficient units placement. The assembly machine isworking in the real industrial company. Compared with
its cycle time, UNARM’s time is 13 % shorter.

Fig. 7. Waiting time.

5. Simulation applications
We applied UNARM to the cell type assembly machinewith the dual arms of the robot to ascertain theusefulness of UNARM. The application example
adopted eight units (two of the eight are trays that many
parts were put), 10 initial values, 10 reward levels,600,000 times learning number, 36 left arm assemblyprocesses and 40 right arm assembly processes. Table 1
shows the moving speed of the robot arms. In addition,in order to compare the learning results, the simulations
randomly to choose unit placements were also carriedout.

Fig. 8. Placements of the minimum.

Table 1. Moving patterns of arms.
Without part
770mm/s
400mm/s
25mm/sApproach-2―Approach-2
Approach-2―Approach-1
Approach1―Chuck point

5.1.

With part
380mm/s
250mm/s
50mm/sFig. 9. Placements by a random method.

Simulation results

We carried out ten times simulations for each conditionand showed the mean and the minimum of two kinds
simulations in Table2.

6.

In this study, we developed UNARM system whichfinds the better unit placements and prevents theinterferences of both arms. To do this, UNARM adopted
the concept of waiting time. By applying UNARM to
the cell-type assembly machine that includes the dualarms robot, UNARM acquired the good unit placements.
It is ascertained that UNARM is useful.

Table 2. Simulation results.

Average time
The shortest time

UNARM(s)Random(s)237.4228
237.2925

243.9498
241.9623

Conclusions

Acquired placements of the minimum evaluation
time are shown in Fig.8. The placements acquired byrandom selections are shown in Fig.9.
Comparing the results of Table2, UNARM’sevaluation times are better than the random ones.
Especially, the mean evaluation time is shorter six
seconds. It is said that UNARM can continuously
acquire the better assembly cycle time corresponding toReferences
1. Panagiota Tsarouchi et al., Robotized assembly
process using dual arm robot, Procedia CIRP 23 (2014)47 – 52, Science Direct, Elsevier.

44