Journal of Robotics, Networking and Artificial Life
Vol. 6(4); March (2020), pp. 225–230
DOI: https://doi.org/10.2991/jrnal.k.200222.004; ISSN 2405-9021; eISSN 2352-6386
https://www.atlantis-press.com/journals/jrnal

Research Article

Cost-oriented Planning for Error Recovery in an
Automation Plant
Akira Nakamura1,*, Natsuki Yamanobe1, Ixchel Ramirez Alpizar1, Kensuke Harada1,2, Yukiyasu Domae1
Artificial Intelligence Research Center, National Institute of Advanced Industrial Science and Technology (AIST), Second Annex,
AIST Tokyo Waterfront, 2-4-7 Aomi, Koto-ku, Tokyo 135-0064 Japan
2
Robotic Manipulation Research Group, Systems Innovation Department, Graduate School of Engineering Science, Osaka University,
1-3 Machikaneyama, Toyonaka 560-8531, Japan
1

ARTICLE INFOABSTRACT

Article History

In an automation plant, errors are more likely to occur during complicated tasks. In the case of a major error, the task iscommonly re-executed after returning to the previous step. Therefore, deciding both the prior step that should be returned to andthe recovery approach after return are important problems to consider. In this paper, cost-oriented planning of error recovery
taking these two factors into account is proposed.

Received 06 November 2019
Accepted 12 December 2019
Keywords
Cost-oriented planningerror recovery
task stratification
error classification
automation plant© 2020 The Authors. Published by Atlantis Press SARL.
This is an open access article distributed under the CC BY-NC 4.0 license (http://creativecommons.org/licenses/by-nc/4.0/).

1. INTRODUCTION
In recent years, the automation of production plants has become
a popular phenomenon. As high-mix low volume production isincreasing, production methods differ from those in the case oflarge-scale mass production of the same products, and this has
resulted in an increase in the cases of manufacturing process failure. Thus, the development of techniques to recover the processes
is considered important.
Various studies on error recovery have been conducted in the manufacturing and robot research fields [1–6]. While several studies
have been conducted on techniques to add a correction to the inputof plants with a small error and perform recovery, there has been
insufficient research on methods to return to the previous step offailure occurrence in order to perform recovery.
In this study, we investigate returning to a previous step for error
recovery. We have considered methods of error recovery using task
stratification and error classification [7–9]. In particular, we haveshown techniques of plant correction which are performed using
an error cause derived by the proposed method, and a methodof planning for error recovery in consideration of cost has been
proposed. When deriving the recovery process, multiple possible
courses appear in several cases; in our method, the most suitablecourse is chosen by considering the cost of error recovery.
The remainder of this paper is organized as follows. The conceptof skill is described in Section 2. The technique of failure recovery
Corresponding author. Email: a-nakamura@aist.go.jp*

using error classification is explained in Section 3. A method of
cost-oriented planning for error recovery is proposed in Section 4.
Finally, in Section 5, a simple sample is shown using error occurrences in an assembly task.

2. CONCEPT OF SKILLSIn this paper, a “skill” implies the unit of motion. This section
explains skills which are components of human behavior andmachine motion [10–12].

2.1. Skill Primitives
We have derived the motion primitives which constitute tasks suchas assembly and transport by analyzing a person’s behavior. The
motion unit is defined as a “skill” [10–12]. Three basic skills, “moveto-touch,” “rotate-to-level,” and “rotate-to-insert,” are important(Figure 1). The representative person’s behavior can be composed ofthese three basic skills and similar ones. The units of machine motion
can be considered to be similar to the rudiments of human behavior.

2.2. Stratification of Tasks
In general, it is possible to regard a task performed by a machine
as following a hierarchical structure (Figure 2) [10–12]. One tierabove the layer “task(i)” is the layer “task(i+1)”. The “skill” layer islocated in the lowest layer, “task(0)”.

A. Nakamura et al. / Journal of Robotics, Networking and Artificial Life 6(4) 225–230

226

Figure 1 | Three fundamental skills. (a) Move-to-touch skill. (b) Rotateto-level skill. (c) Rotate-to-insert skill.
Figure 3 | Fundamental process flow with error recovery.

Figure 2 | Hierarchy of tasks.

3. ERROR RECOVERY
In the actual environment, unlike the ideal case, various factors can cause errors in machine performance. This section
describes an error classification concept and our error recovery
technique [7–9].

3.1. Error Classification
Errors can be classified into several groups based on the possible
causes. We consider four error groups: execution, planning, modeling, and sensing (Figure 3) [7–9].

3.2. Error Recovery based on Classification
First, when the error occurs, the cause is estimated. Next, suitable correction of the system is performed based on the tentativecause. The process returns to the previous step, and the task is
executed again from this step (Figure 3) [7–9]. The same error
is less likely to occur because the corrected process has been
executed.
If the scale of the error is small, the process returns to the previous step in the lowest layer of the hierarchy (Figures 3 and 4).
Conversely, if the scale of the error is large, the process returns to
the previous step in the highest-ranking layer of the hierarchy, and
it is executed again from this step (Figure 4).

Figure 4 | The expression of task stratification and the process flow of theerror recovery.

4. COST-ORIENTED ERROR RECOVERY
In this section, the candidate error recovery processes and theselection of the appropriate recovery process are explained.

4.1. Candidate Processes for Recovery
In the previous section, it was shown that the step to which the process returns after failure occurrences alters according to the scale ofthe error. However, it is possible to return further back than a single
step of necessity minimum.
Figure 5 shows various possible error recovery processes for failure
occurrences at Subtaskm in Task T [from Start S to Goal G], where Task
T consists of sequence [Subtask1, Subtask2, Subtask3, ..., Subtaskm, ...,
Subtaskn] and Subtaskk (k = 1, 2, 3, ..., n) consists of sequence [Skill k1,
Skill k2, Skill k3, ..., Skill kn_k(max)]. Subtaskm indicates the minimum traceable unit described in Nakamura et al. [8], i.e., the smallest unit inwhich it is necessary to return to the first node of a skill primitive
sequence if a failure occurs. A skill where a failure occurs is part ofthe sequence [Skill m1, Skill m2, Skill m3, ..., Skill mn_k(max)]. When no problems are encountered, there is possibility that the execution of several
skills has continued within Subtaskm, without returning to the previous step immediately after the failure occurrence.

A. Nakamura et al. / Journal of Robotics, Networking and Artificial Life 6(4) 225–230

227

Figure 6 | An assembly task in which a nameplate is stuck to a product byfour precision screws. (a–d) a tacking task, (e–f) an erecting task, (g–h) a
touching task, (i–m) an installation task.
Figure 5 | Various processes of error recovery considered for a failure
occurred in Subtaskm.

When the process returns to the node before Subtaskj (j is one of 1, 2,
3, …, m), the process [Subtaskj, Subtaskj+1, ..., Subtaskn] is executed in
the corrected system (the center bold arrows of Figure 5). However,re-execution using the same sequence of subtasks is not generally
possible owing to several factors such as the transformation of thetarget object and the change of arrangement of the objects. In such acase, the rerun is performed by using an equivalent task of the original sequence of subtasks (the right-side arrows of Figure 5). The
equivalent task is derived by large-scale re-planning.

4.2. Selection of the Lowest-cost Process
It is necessary to select one out of the multiple possible error recovery processes. Let us consider that it is most suitable to choose theprocess with minimum practical costs, where costs include material charges, parts charges, electricity bills, and planning expenses.
If failure occurs, error recovery is planned, several task sequences
for recovery are derived, these costs are calculated, and the mostsuitable recovery sequence is then chosen.

5. COST-ORIENTED RECOVERY IN
ASSEMBLY TASKSIn this section, the cost-oriented error recovery discussed in
Section 4 is observed through a simple sample exercise.

5.1. Candidate Processes for Recovery
Let us consider an assembly task in which a nameplate is stuck to
a product by four precision screws. Figure 6 shows a sequence ofthe task. First, a tacking task is performed (Figure 6a–6d) in whichthese four screws are fastened temporarily to the nameplate, placed
levelly; second, an erecting task is performed (Figure 6e and 6f) in
which the nameplate with four screws stands up; third, a touching task is performed (Figure 6g and 6h) in which the nameplate is

Figure 7 | An error in which a screw is dropped at (h) in Figure 6.

moved to the fixing location; and finally, an installation task is performed (Figure 6i–6m) in which the nameplate is fixed on a planeof the product.
Next, we will consider an error, as shown in Figure 7, in which a precision screw is dropped when a failure occurs at Figure 6h. It is possible to derive various processes for error recovery of this failure. In
this example, we consider three types of recovery courses as follows.
•• [ER-I] Error Recovery I
First, we will consider a recovery process that it is easy to understand. The method is rerun from Start S. The nameplate from which
one screw in four screws was omitted is discarded, and the re-startis executed using a new nameplate and four new screws, that is, thetacking task (Figure 6a–6d) is performed using new parts.
•• [ER-II] Error Recovery II
Now, we will consider a recovery process carried out by returning
to the previous step of a skill primitive (Figure 6d) in the tacking
task. Figure 8 shows the process with respect to recovery. The
sequence from Figure 8p–8r is an additional process required toreturn to the previous step. The de-touching task (Figure 8h–8p)
and leveling task (Figure 8q and 8r) are performed. It is noted thatthe sequence from Figure 8d–8m is essentially the same process asthat from Figure 6d–6m.
There are two types of methods for use of a precision screw at the holeof the fallen screw. One is the use of new screw from the parts box,
and another is the reuse of the fallen screw by searching and lifting.
The former is shown with [ER-II(N)] and the latter with [ER-II(F)].

A. Nakamura et al. / Journal of Robotics, Networking and Artificial Life 6(4) 225–230

228

5.2. Selection of Recovery Process
based on Cost
Next, the calculation of cost is performed for each recovery process. We consider three types of cost: recovery planning cost C(R),object searching cost C(S), and parts purchasing cost C(P). Here,a unit of cost is introduced for simplification; we assume that the
fixed number “U” indicates a unit of cost. However, in practicalterms, the cost cannot always be related to a fixed value.
First, we consider C(R), which represents the cost generated by theprocess added with a recovery. The C(R) value of [ER-I] is smaller
because it follows the same sequence to the original, and conversely, that of [ER-III] is larger because it follows a sequence witha difficult skill primitive. We suppose that C(R) of [ER-I] = U, C(R)of [ER-II] = 2U, and C(R) of [ER-III] = 3U.

Figure 8 | [ER-II] Error recovery II.

Second, we consider C(S), which represents the cost generated by
the process added for finding a screw. Then, let us assume that
[Sch-N] indicates the process of finding a new screw in the parts
box, and [Sch-F] indicates the process of finding the fallen screwin the working environment. The C(S) value of [Sch-N] is smaller
than that of [Sch-F], and thus, we suppose that C(S) of [Sch-N] =2U, and C(S) of [Sch-F] = 5U.
Third, we consider C(P), which represents the cost generated by thepurchase of parts. Then, let us assume that [Pch-S] indicates the purchase expense of a new screw, and [Pch-P] indicates the purchaseexpense of a new nameplate with four new screws. The C(P) valueof [Pch-P] is significantly larger than that of [Pch-S], and thus, we
suppose that C(P) of [Pch-S] = U, and C(P) of [Pch-P] = 8U.
We now calculate a cost for each case, considering the total cost
TC = C(R) + C(S) + C(P).

Figure 9 | [ER-III] Error recovery III.

•• [ER-III] Error Recovery III
For the third process, we will consider the method for a very small
scale of return, that is, a recovery process carried out by returning to a skill primitive in Subtaskm of the failure occurrence. The
method to immediately rerun the tacking task of a screw at the holefor the fallen screw (Figure 7) in order to regenerate the state of
Figure 6h is the easiest to understand. However, we will consider
the steady method in which the process of error recovery is carriedout after a section Subtaskm of the installation task (Figure 6i–6k)
is finished. Figure 9 shows the process with respect to recovery
after failure occurrence (Figure 7). Figure 9i–9m corresponds toFigure 7i–7m, respectively. The sequence from Figure 9u and 9v is
an additional process to tack a screw into the hole of the nameplateand is performed after the sequence from Figure 9i–9k because oftask reliability. In particular, the task to temporarily fasten a screw
to the hole of the nameplate is more difficult when the nameplate is
fixed perpendicularly than when it is placed levelly.
There are two types of methods for use of a screw at the holeintended for the fallen screw similar to [ER-II]; [ER-III(N)] and[ER-II(F)] show the methods using a new screw and reusing thefallen screw, respectively.

TC [ER-I] = C(R) of [ER-I] + 0 + C(P ) of [Pch-P]= U + 0 + 8U
	  

= 9U
TC [ER-II(N )] = C(R) of [ER-II] + C(S) of [Sch-N]+ C(P ) of [Pch-S]   = 2U + 2U + U= 5U
TC [ER-II(F )] = C(R) of [ER-II] + C(S) of [Sch-F] + 0= 2U + 5U + 0

= 7U

(1)

(2)

(3)

TC [ER-III(N )] = C(R) of [ER-III] + C(S) of [Sch-N]+ C(P ) of [Pch-S]= 3U + 2U + U
= 6U

(4)

TC [ER-III(F )] = C(R) of [ER-III] + C(S) of [Sch-F] + 0= 3U + 5U + 0
= 8U

(5)

  

The following relation is derived from Equations (1) by (5).
TC [ER-II(N )] < TC [ER-III(N )] < TC [ER-II(F )]< TC [ER-III(F )] < TC [ER-I]
Thus, TC [ER-II (N)] will have the smallest price, indicating thatthe case of [ER-II] Error Recovery II with use of a new screw
instead of the dropped screw has the lowest cost.

A. Nakamura et al. / Journal of Robotics, Networking and Artificial Life 6(4) 225–230

6. CONCLUSION
In this study, a cost-oriented planning for error recovery was proposed. In general, more than one sequence is derived when processof error recovery is considered. This paper explains the method of
selection from the multiple possible courses. In our method, themost suitable sequence is chosen based on cost.
In the future, we expect to conduct further research on the derivation of the error recovery process. A selection method besides thecost will be considered, such as working hours and available tools,
which are important in automation plants.

CONFLICTS OF INTEREST
The authors declare they have no conflicts of interest.

REFERENCES[1] B.R. Donald, Planning multi-step error detection and recovery
strategies, Int. J. Robot. Res. 9 (1990), 3–60.
[2] T. Fukuda, M. Nakaoka, T. Ueyama, Y. Hasegawa, Directteaching and error recovery method for assembly task basedon a transition process of a constraint condition, Proceedings
2001 ICRA, IEEE International Conference on Robotics andAutomation (Cat. No.01CH37164), Seoul, IEEE, South Korea,
2001, pp. 1518–1523.
[3] M. Scheutz, J. Kramer, Reflection and reasoning mechanisms for
failure detection and recovery in a distributed robotic architecture for complex robots, Proceedings 2007 IEEE International
Conference on Robotics and Automation, IEEE, Roma, Italy,
2007, pp. 3699–3704.
[4] P. Pastor, M. Kalakrishnan, S. Chitta, E. Theodorou, S. Schaal,
Skill learning and task outcome prediction for manipulation,

229

2011 IEEE International Conference on Robotics and Automation,
Shanghai, China, 2011, pp. 3828–3834.
[5] T. Matsuno, J. Huang, T. Fukuda, Fault detection algorithm forexter­nal thread fastening by robotic manipulator using liner
support vector machine classifier, 2013 IEEE International
Conference on Robotics and Automation, IEEE, Karlsruhe,
Germany, 2013, pp. 3443–3450.
[6] A.S. Wang, O. Kroemer, Learning robust manipulation strategies
with multimodal state transition models and recovery heuristics, 2019 International Conference on Robotics and Automation(ICRA), IEEE, Montreal, QC, Canada, 2019, pp. 1309–1315.
[7] A. Nakamura, T. Kotoku, Systematization of error recovery inskill-based manipulation, Artif. Life Robot. 14 (2009), 203–208.
[8] A. Nakamura, K. Nagata, K. Harada, N. Yamanobe, T. Tsuji,
T. Foissotte, et al., Error recovery using task stratification and error
classification for manipulation robots in various fields, 2013 IEEE/
RSJ International Conference on Intelligent Robots and Systems,
IEEE, Tokyo, Japan, 2013, pp. 3535–3542.
[9] A. Nakamura, K. Nagata, K. Harada, N. Yamanobe, Techniqueof recovery process and application of AI in error recovery using
task stratification and error classification, J. Robot. Netw. Artif.
Life 5 (2018), 56–62.
[10] T. Hasegawa, T. Suehiro, K. Takase, A model-based manipulation
system with skill-based execution, IEEE Trans. Robot. Autom.
8 (1992), 535–544.
[11] A. Nakamura, T. Ogasawara, T. Suehiro, H. Tsukune, Skill-based
backprojection for fine motion planning, Proceedings of IEEE/
RSJ International Conference on Intelligent Robots and Systems.
IROS ‘96, IEEE, Osaka, Japan, 1996, pp. 526–533.
[12] A. Nakamura, T. Ogasawara, K. Kitagaki, T. Suehiro, Using
robust and simplified geometric models in skill-based manipulation, Proceedings 2001 IEEE/RSJ International Conference onIntelligent Robots and Systems. Expanding the Societal Role ofRobotics in the Next Millennium (Cat. No.01CH37180), IEEE,
Maui, HI, USA, 2001, pp. 138–145.

AUTHORS INTRODUCTION
Dr. Akira Nakamura
He received the PhD degree in ElectricalEngineering from Keio University in 1991.
He is currently a research staff at National
Institute of Advanced Industrial Scienceand Technology (AIST). His researchinterests include robot planning, visionand control system.

Dr. Natsuki Yamanobe
She received the PhD degree from the
University of Tokyo in 2007. She is currently a Senior Research Scientist with
Artificial Intelligence Research Centerof Advanced Industrial Science andTechnology (AIST).

Dr. Ixchel Ramirez Alpizar
She received her PhD degree in MechanicalEngineering from the Graduate Schoolof Engineering, Osaka University, Japan,
in 2013. Since 2019, she has been working as a senior researcher at the Artificial
Intelligence Research Center of AIST. Her
research interests include robot learningfrom demonstration, robotic manipulation and human-robot collaboration. She
is a member of IEEE and RAS.
Prof. Kensuke Harada
He received his Doctoral degrees in
Mechanical Engineering from Kyoto
University in 1997. From 2016, he has
been working as a Professor at Graduate
School of Engineering Science, Osaka
University.

A. Nakamura et al. / Journal of Robotics, Networking and Artificial Life 6(4) 225–230

230

Dr. Yukiyasu Domae
He received his PhD degree from
Hokkaido University in 2014. He iscurrently a team leader with Artificial
Intelligent Research Center (AIRC),
National Institute of Advanced Industrial
Science and Technology (AIST).