A Real-Time Receding Horizon Sequence Planner for Disassembly in A Human-Robot Collaboration Setting

Product disassembly is a labor-intensive process and is far from being automated. Typically, disassembly is not robust enough to handle product varieties from different shapes, models, and physical uncertainties due to component imperfections, damage throughout component usage, or insufficient product information. To overcome these difficulties and to automate the disassembly procedure through human-robot collaboration without excessive computational cost, this paper proposes a real-time receding horizon sequence planner that distributes tasks between robot and human operator while taking real-time human motion into consideration. The sequence planner aims to address several issues in the disassembly line, such as varying orientations, safety constraints of human operators, uncertainty of human operation, and the computational cost of large number of disassembly tasks. The proposed disassembly sequence planner identifies both the positions and orientations of the to-be-disassembled items, as well as the locations of human operator, and obtains an optimal disassembly sequence that follows disassembly rules and safety constraints for human operation. Experimental tests have been conducted to validate the proposed planner: the robot can locate and disassemble the components following the optimal sequence, and consider explicitly human operator's real-time motion, and collaborate with the human operator without violating safety constraints.



There are no comments yet.


page 3

page 6

page 7

page 8


Designing Human-Robot Coexistence Space

When the human-robot interactions become ubiquitous, the environment sur...

Considering Human Behavior in Motion Planning for Smooth Human-Robot Collaboration in Close Proximity

It is well-known that a deep understanding of co-workers' behavior and p...

Tethered Tool Manipulation Planning with Cable Maneuvering

In this paper, we present a planner for manipulating tethered tools usin...

Human-Aware Navigation Planner for Diverse Human-Robot Contexts

As more robots are being deployed into human environments, a human-aware...

On-line feasible wrench polytope evaluation based on human musculoskeletal models: an iterative convex hull method

Many recent human-robot collaboration strategies, such as Assist-As-Need...

Learn from Human Teams: a Probabilistic Solution to Real-Time Collaborative Robot Handling with Dynamic Gesture Commands

We study real-time collaborative robot (cobot) handling, where the cobot...

Anytime Game-Theoretic Planning with Active Reasoning About Humans' Latent States for Human-Centered Robots

A human-centered robot needs to reason about the cognitive limitation an...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.


Environmentally conscious manufacturing (ECM) [9] and product recycling over the past decade have become an obligation for many manufacturers to follow government regulations [22]. And enterprises increase attention to recycle end of life (EOL) products [20] by consumers and develop cost-efficient ways for recycling and/or recovering them. Therefore, the efficiency and cost-effectiveness play a crucial role in both product disassembly and reassembly processes.

Assembly/disassembly sequences consist of actions with ordering. An action is usually determined from an engineering point of view, such as the manufacturing of a product from sub-assemblies into one complete unit, or the separation of finished goods into sub-assemblies [11]. Multiple feasible assembly/disassembly sequences may exist in an ordinary product, like the hard disk and the CD player. The number of sequence grows larger as the complexity of the product increases. Because it is difficult to represent every sequence on an individual basis, a systematic and efficient approach to illustrate all possible sequences and to achieve the optimal one is required. Subsequently, many algorithms like incidence matrix [6] [15], AND/OR graphs [5], directed graphs [7], graph visualization [3], mixed-integer nonlinear programming [2], and precedence relationships [10] [17] have been proposed. Several studies also use assembly drawings from computer-aided design models [14] for task planning. For instance, to find the optimal disassembly sequence, many researches are carried out based on the modified Traveling Salesman Problem [18], which explores the sequence of a salesperson traveling from one city to other cities without passing the same city twice. Most of the studies aim to automatically find the optimal sequence based on information that is not unknown, such as a fixed initial task, several common/parallel tasks, and the rules for the assembly/disassembly tasks [22]. However, these studies take no consideration for the human-robot collaboration or the safety constraints.


Typically, the assembly method is unique [19]: the assembly line is conducted by a work-cell format with serial workstations and distinctive fixtures [4] such that the orientation of all the disassembling objects will be consistent. This is usually processed by robots that are programmed for repetitive tasks [23, 24]. The disassembly process, on the contrary, is more challenging for many reasons: (1) a range of used products (e.g., electronic wastes) may be delivered to the same disassembly line to minimize the cost of building separate disassembly lines; (2) disassembly is sometimes carried out incompletely to collect valuable parts [11]; likewise, (3) the products to be recycled may have components with dangerous substances and need to be handled cautiously; (4) different products may be imported to the same disassembly line with inconsistent orientations; (5) a robot may take unnecessary or longer trips to execute the designated disassembly sequence, regardless of other existing disassembly sequences that may have a shorter path or working time. Thus, the majority of the disassembly lines are operated by human operators [21] rather than by automated systems.

Additionally, if there is more than one starting point for a disassembly, more than one hierarchical graph model [16] may be represented for the precedence relation of disassembly tasks. For example, given seven tasks: , , , , we assume there are two disassembly rules applied:

  • Rule 1: Remove or or Remove

  • Rule 2: Remove Remove or or

where Rule 1 states that task , and must be executed before task ; Likewise, Rule 2 shows that task must proceed prior to task , and . The associated directed-graph is shown in Figure 1, where the arcs are the disassembly tasks and the arrows represent the precedence relations among the seven tasks. The tasks can be defined as “parallel tasks” or “common tasks” [22]; in this example, , and in Rule 1 are “parallel tasks” and the , and in Rule 2 are also “parallel tasks” while in both Rule 1 and Rule 2 is a “common task”.

Because either , or can be chosen as the beginning task and , or will become the final task, the graph model is represented as Figure 2. The task sequence will not be unique because there are many possible starting and ending points.


In addition, it is assumed that the products with varied orientation would be fed into the disassembly line. Therefore, a feasible sequence with multiple starting points and ending points implies the existence of options to improve disassembly task efficiency. The working time at each disassembly task affects the cost of tasks [22]. For instance, the actions of targeting, grabbing, and releasing a screw could take different lengths of time based on whether they are performed by a robot or by a human. Apart from the working time, other factors such as component geometric complexity should also be considered. If the product requires a diverse set of orientations and safe conditions, it is evident that both complexity of task execution and travel time between each disassembly may not remain constant. Moreover, human operation may be prohibited due to either unsafe work environment [10] or potentially hazardous materials. Thus, a decision-maker capable of considering safety constraints and assigning disassembly tasks between human and robot workers should be developed.

A conventional product will have an initially high computational cost if it has a considerable number of disassembly tasks. Unfortunately, considering optimization for a given optimal disassembly sequence solution may often increase this computational cost significantly. To overcome this issue, we adapt the receding horizon control technique such that it can not only solve the optimal sequence locally with manageable computational costs, but also consider real-time human motion when executing the first task from the local optimal sequence. The receding horizon control functions follow three main steps. Assuming that there are total disassembly tasks and the receding horizon is set as where and , , (1) the sequence planner generates the possible sequences at each step, (2) the local optimal sequence with minimum cost is obtained, and (3) the first sequence of the local optimal sequence determined by the sequence planner is executed by either the robot or the human operator. Additionally, an example of using the receding horizon method to reduce the computational cost can be outlined. Assuming that all the tasks are parallel tasks without using receding horizon method, the number of feasible sequences will be , where = . The term is generated by the number of parallel tasks and term is caused by the collaboration of two workers: the human operator and the robot. By contrast, if the technique of receding horizon is used, the number of feasible sequences at each step will become . In this case, the optimal sequence search tree will be smaller because is less than , contributing to computational cost reduction.

We summarize here the main contributions of this paper. This paper formulates the disassembly sequence planning into an optimization problem and solves it online in a receding horizon way via considering the uncertainty of human operation. The formulation explicitly considers various product orientations, geometric disassembly rules, safety constraints of the human operator, the quantification of the cost of human operation and robot operation, and targeting to optimize the distribution of the disassembly task between human and robot in a human-robot collaborative setting.

The remaining of this paper is structured as follows: Section 2 introduces disassembly progress considerations, including formulation of disassembly rules, conduction cost by robot and/or human operations, and consideration of safety constraints for human worker. Section 3 describes the proposed sequence planning. Section 4 presents experimental verification to validate the proposed disassembly planning. Section 5 concludes the paper.

Disassembly Process Considerations

In this paper, a wooden toy box shown in Fig. 3 is used as the to-be-disassembled object using human-robot collaboration. Before generating the disassembly sequences of the wooden box, acquiring the information of the to-be-disassembled product is essential. This includes the conditions and coordinates of its components. If this data is not captured correctly, the robot can not locate the parts to-be-disassembled and unsafe tasks may be accidentally allocated to the human operator.


Even though we state that it is possible to proceed with the disassembly sequence planning for distinctive products in the same disassembly line, the scope is narrowed down to a wooden toy box with known components in order to highlight the optimal sequence planning and its validation. In this paper it is also assumed that the identification of the locations of these components on the wooden toy box is sufficient for planning the disassembly task sequence.

Disassembly rules

To understand the precedence constraints among each component, we have made the disassembly sample shown in Fig. 3 and the corresponding graph model is conducted in Fig. 1. The properties of the graph model have been briefly introduced in the previous chapter. We further define the operator to be the action of disassembling a component, and the notations of and mean that the tasks on both sides of must be completed before executing the task on the right hand side of . The initial rules for disassembling the toy box are (1) , (2) , (3) , (4) , (5) . Screw 1, Screw 2 and Screw 3 are the first objects to be dismantled because of no other components stacking on these screws. Similarly, Screw 5, Screw 6 and Screw 7 are the last ones to be unloaded because they support the weight of all the other screws and rectangular parts. Furthermore, we will take away the rectangular parts V, W, X, Y, and Z right after the corresponding screws being removed, so the disassembly rules can be simplified as:

  • Rule 1:

  • Rule 2:

Rule 1 shows that Screw 1, Screw 2 and Screw 3 must all be removed in advance of Screw 4. Similarly, Rule 2 means Screw 5, Screw 6 or Screw 7 can be disassembled after the removal of Screw 4.

Cost of operations by robot and human

To find the optimal sequence of disassembling a product, we need to define the cost for each disassembly action. It is reasonable to parameterize the cost as the combination of the traveling distance between the tasks and the robot/human operator, as well as the geometric complexity of the product. While the traveling distance between each disassembly task and the robot/human operator is measurable, the determination of geometric complexity requires some preliminary tests.

Consideration of human operator safety

We assume that the removal of hazardous materials may be required during the disassembly sequence. In this instance, the task planner should assign the robot to disassemble the component instead of the human operator to avoid potential injuries. Safety requirements should be taken into account regardless of the potentially higher disassembly cost generated by the robot.

Consideration of computational cost

In a previous study [12], an optimal disassembly planning is formulated to minimize the total disassembly cost from the starting node to the final node. This method is practical only if the number of disassembly tasks is relatively small. As the number of disassembly tasks rises, the task planner may suffer from taking a significant amount of time to search for the task sequence with minimum cost. Therefore, it is necessary to determine the optimal feature sequence without explicitly evaluating all the possible uniquely ordered task sequences.

Disassembly Sequence Planning


This section first formulates the disassembly sequence planning problem into an optimization problem considering human-robot collaboration and real-time human behavior. The disassembly cost, that is assumed to be the summation of travel distances between disassembly tasks and the effort spent at each disassembly task (i.e., time and complexity) by the human operator or the robot, is minimized. We first introduce the parameters, operators, states, decision variables of the disassembly sequence planner, followed by the objective function below.

: The number of total disassembly tasks,
: The current step of performing a disassembly task,
: The -th disassembly task (as shown in Fig. 4)
: The number of tasks for prediction
: Disassembly cost of task after is completed
: Weighting factor in disassembly cost quantification

: Location of disassembly task
: Position of human operator after is completed
: Position of robot after is completed

: Human’s traveling cost to after finishing
: Robot’s traveling cost to after finishing
: Human’s labor effort spent on
: Robot’s labor effort spent on

Decision Variables:
(see Fig. 4)

Cost function:




As we briefly introduced earlier, determines whether Screw will be disassembled right after disassembling Screw , where . In constraint (2) the terms inside the square bracket represent two constraints: (a) the number of workflow into a task is equal to the number of workflow out of the same task except for the starting task and final task of a disassembly sequence; (b) the number of workflow out of the starting task is equal to that of the workflow into the final task. Constraints (3) and (4) ensure that each disassembly is executed for only one time and all the tasks would be conducted.

Next, we consider the human-robot collaboration setting by adding constraint (5). Here, the disassembly cost is defined by both the robot’s cost and the human operator’s cost , and each of them is presumably defined by two terms as expressed in (8) and (9): (a) the distance between task and the robot/human operator after leaving task respectively; (b) the effort spent on removing screw by robot/human operator, respectively. Moreover, the decision variable in (5) and (6) are used to determine whether the task will be done by robot or by a human operator. If an unsafe condition is detected at task , the corresponding decision variable will trigger constraint (7), so that the robot will be forced to execute the unsafe task . For example, task of in Fig. 4 is labeled as unsafe for human operation, the sequence planner in this situation will set the decision variables and to be 1, forcing Screw 3 to be disassembled by the robot instead of the human operator. Lastly, the denotes the weighting factor to balance the two terms in (8) and (9).


We aim to solve the above optimization problem to achieve the values of the decision variables and , such that the optimal sequence is obtained. However, directly solving the optimization is challenging especially when is large. Moreover, since the human position is changing in real-time, which may affect the optimal sequence obtained at the very beginning of the disassembly. Therefore, here we borrow the concept of model predictive control (MPC) [1] and solve this optimization problem for a shorter time horizon, denoted as , at every step, and implement only the first-step solution. MPC in control and planning domain consists of an iterative, finite-horizon optimization of a plant model.


Since there is no actual dynamics in the task sequence planning, we exploit the concept of state-feedback control law so that a receding-horizon performance index, as shown in Fig. 5, is minimized at each step using the following assertions. We assume that the “states” of the system are the positions of the robot and the human operator and the set of remaining disassembly tasks. The “performance index” explicitly considers the distances between disassembly tasks, robot and human operator and is changing based on real-time human motion. The “constraints” of MPC correspond to the rules of precedence relations between the disassembly tasks and the safety conditions for human operation. After each step of completing a disassembly task, the task will be removed from the set of remaining tasks and the human may move to different locations. This yields new initial conditions for the next step. Hence, there is some resemblance between MPC and the proposed local optimal sequence planner in this paper.

By using the receding horizon technique, the optimization problem can be solved at each step without excessive computational cost. Also, real-time human motion can be explicitly included in the real-time receding horizon planner. The overview of such a receding horizon disassembly planner is illustrated in Fig. 6 and its detail is shown in Fig. 7.


In this section, the validation of the proposed disassembly sequence planner considering human and robot collaboration is presented. First, the toy box is placed arbitrarily on the table and a camera is used to identify all the to-be-disassembled components on the toy box using image processing and deep learning techniques (e.g.,



Second, the task planner optimizes the next -step disassembly sequence over all feasible ones at round . After getting the -step local optimal sequence, one of the workers: the human operator or the robot, will be assigned to conduct the task. It is noteworthy that human operator in this experiment acts as an assistant when a disassembly task is performed by the robot. In these cases, the human operator will stay alongside the robot to complete the tasks collaboratively. And it is also assumed that all the screws are in reachable range of the human operator and the robot. More importantly, two variables of the toy box are arbitrarily given: the orientation and the component that contains hazard materials.

The experimental test that is used in this paper is as shown in Fig. 8. The experimental setup consists of a universal robot (UR) that collaborates with the human operator and the requisite cameras used to identify the locations of the screws on the toy box, the robot, and the human operator.


Case study scenario: Screw 2 is closest to the robot and Screw 7 is unsafe for the human operator.

We firstly examine the scenario: the toy box is placed on the desk such that Screw 2 is the closest to the human operator, as shown in Fig. 9. In addition, the condition of a safety constraint at Screw 7 is emulated by using a red screw. The locations of the seven screws are identified by the camera using binary square fiducial markers [8] and then the information is sent to the computer for sequence planning. The planner then generates all possible disassembly sequences for the next three steps as depicted in Fig. 10 (1a). Here, the hollow dots illustrate the positions of the robot and the human operator, and the screws that can be safely operated. The red dot denotes the screw that is unsafe for human operation. After receiving the information, the planner obtains the first three-step optimal sequence, in which the dashed arrows denote the feasible paths between the robot/human operator and the screws to be removed. Then, the solid arrow indicates the disassembly task of Screw 2 being assigned to the human operator as shown in Fig. 10 (1b). Finally, the sequence planner ends the first round by commanding the human operator to disassemble Screw2, as demonstrated in Fig. 10 (1c) and (1d).


Similarly, in the second round, the sequence planner firstly generates feasible sequences for the next three steps in Fig. 11 (2a), followed by the achieved local optimal sequence in Fig. 11 (2b). And the next disassembly task is determined and the worker, either the robot or the human operator, is assigned, as illustrated in Fig. 11 (2b). Subsequently, the robot or the human operator starts moving from the initial position of round two. Then, the disassembly task is executed as shown in Fig. 11 (2c) and (d). Because Screw 1 and Screw 3 have higher precedence relations than Screw 4, the task planner will always generate feasible sequences starting from Screw 1 and Screw 3.


Fig. 12 shows the process of determining the task and worker for the third disassembly task. The following local optimal sequence is found: Screw 3 being performed by the human operator, followed by Screw 4, and then Screw 6 disassembled by the human operator sequentially. Lastly, the sequence planner only picks the first task from the local optimal sequence and then executes with the human operator.


At round 4, the following local optimal sequence is found: Screw 4 to be removed by the robot, followed by Screw 6 being disassembled by the human operator, and then Screw 5 dismantled by human, as shown in Fig. 13. In this way, the first task in the local optimal sequence is picked and then executed by the robot.


At round 5, the following local optimal sequence is achieved: Screw 5 being performed by the robot, followed by Screw 6 being disassembled by the human operator, and then Screw 7 being dismantled by the robot, as shown in Fig. 14. In this round, the first task in the local optimal sequence is chosen and then executed by the robot.


At round 6, because there are only two remaining tasks left, the following local optimal sequence will be obtained: Screw 6 being taken by robot, followed by Screw 7 being disassembled by robot as depicted in Fig. 15. And the first task in the local optimal sequence is picked and then performed by the robot.


The last task is to disassemble the last screw that is assigned to the robot. In this experiment, Screw 7 is assumed to be unsafe for human operation. In consequence, the robot will be assigned to disassemble Screw 7 whether or not the disassembly cost of the robot is higher than the human operator. In other words, to ensure that the robot could handle the disassembly sequence safely, the decision variable in Fig. 15, is set to ‘1’, to force the robot to execute the task, where X = 1,2,…7.


After the wooden toy box is placed on the table and the locations of the screws are identified at round 0, the whole process in the figures from Fig. 10 to Fig. 16 can be concluded as follows, in which Steps (Xa) to (Xb) are processed in the computer and Steps (Xc) to (Xd) are executed by the human operator and the robot, where X = 1,2,…,7.

  • a. Possible three-step feasible sequences at each round are generated.

  • b. Local optimal disassembly sequence for the next three-step tasks is achieved.

  • c. The first task of the obtained sequence is selected and then the worker corresponding to the task is assigned.

  • d. Human operator or the robot receives the command to execute the first task of the obtained optimal sequence.

  • e. Human operator or the robot starts to work on the disassembly task.

The experimental validation video is available via the following link: http://zh.eng.buffalo.edu/PaperDemo/CalUBISFA2020ExpVideo.mp4.


This paper presents the formulation of a disassembly sequence planning problem in human-robot collaboration setting into an optimization problem. Several important considerations have been taken into account. These considerations include different initial orientations of the to-be-disassembled product, varying disassembly cost with robot and human operator, feasible operations of the robot, and safety consideration for human operators. The optimization problem is solved in an receding horizon way and the real-time human motion is taken into consideration. A wooden toy box is used to emulate a real used-product and validate the proposed algorithm. The experimental test shows that the human operator and the robot complete the disassembly tasks collaboratively without violating the disassembly rules and the safety constraints.

This material is based upon work supported by the National Science Foundation - USA under Grant EFMA No. 1928595 and University at Buffalo Sustainable Manufacturing and Advanced Robotic Technologies (SMART) Fund. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation and the University at Buffalo.


  • [1] F. Allgöwer and A. Zheng (2012) Nonlinear model predictive control. Vol. 26, Birkhäuser. Cited by: DISASSEMBLY SEQUENCE PLANNING.
  • [2] S. Behdad, L. P. Berg, D. Thurston, and J. Vance (2014) Leveraging virtual reality experiences with mixed-integer nonlinear programming visualization of disassembly sequence planning under uncertainty. Journal of Mechanical Design 136 (4), pp. 041005. Cited by: INTRODUCTION.
  • [3] L. P. Berg, S. Behdad, J. M. Vance, and D. Thurston (2013) Disassembly sequence evaluation using graph visualization and immersive computing technologies. In ASME 2012 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, pp. 1351–1359. Cited by: INTRODUCTION.
  • [4] T. De Fazio and D. Whitney (1987) Simplified generation of all mechanical assembly sequences. IEEE Journal on Robotics and Automation 3 (6), pp. 640–658. Cited by: INTRODUCTION.
  • [5] L. H. De Mello and A. C. Sanderson (1990) AND/or graph representation of assembly plans. IEEE Transactions on robotics and automation 6 (2), pp. 188–199. Cited by: INTRODUCTION.
  • [6] D. Fulkerson and O. Gross (1965) Incidence matrices and interval graphs. Pacific journal of mathematics 15 (3), pp. 835–855. Cited by: INTRODUCTION.
  • [7] E. R. Gansner, E. Koutsofios, S. C. North, and K. Vo (1993) A technique for drawing directed graphs. IEEE Transactions on Software Engineering 19 (3), pp. 214–230. Cited by: INTRODUCTION.
  • [8] S. Garrido-Jurado, R. Muñoz-Salinas, F. J. Madrid-Cuevas, and M. J. Marín-Jiménez (2014) Automatic generation and detection of highly reliable fiducial markers under occlusion. Pattern Recognition 47 (6), pp. 2280–2292. Cited by: VALIDATION.
  • [9] A. Gungor and S. M. Gupta (1999) Issues in environmentally conscious manufacturing and product recovery: a survey. Computers & Industrial Engineering 36 (4), pp. 811–853. Cited by: INTRODUCTION.
  • [10] A. J. Lambert (2002) Determining optimum disassembly sequences in electronic equipment. Computers & Industrial Engineering 43 (3), pp. 553–575. Cited by: INTRODUCTION, INTRODUCTION.
  • [11] A. J. Lambert (2003) Disassembly sequencing: a survey. International Journal of Production Research 41 (16), pp. 3721–3759. Cited by: INTRODUCTION, INTRODUCTION.
  • [12] M. Lee, X. Liang, S. Behdad, and M. Zheng (2019-07) Disassembly sequence planning considering human-robot collaboration. In 2020 American Control Conference, Denver, CO, USA. Cited by: Consideration of computational cost.
  • [13] X. Liang (2019) Image-based post-disaster inspection of reinforced concrete bridge systems using deep learning with bayesian optimization. Computer-Aided Civil and Infrastructure Engineering 34 (5), pp. 415–430. Cited by: VALIDATION.
  • [14] A. C. Lin and T. C Chang (1993) An integrated approach to automated assembly planning for three-dimensional mechanical products. The International Journal of Production Research 31 (5), pp. 1201–1227. Cited by: INTRODUCTION.
  • [15] D. G. Luenberger, Y. Ye, et al. (1984) Linear and nonlinear programming. Vol. 2, Springer. Cited by: INTRODUCTION.
  • [16] S. P. Mendez, F. T. Medina, and J. P. Baeza (2002) Product disassembly scheduling using graph models. In Environmentally Conscious Manufacturing II, Vol. 4569, pp. 63–70. Cited by: INTRODUCTION.
  • [17] K. E. Moore, A. Güngör, and S. M. Gupta (2001) Petri net approach to disassembly process planning for products with complex and/or precedence relationships. European Journal of Operational Research 135 (2), pp. 428–449. Cited by: INTRODUCTION.
  • [18] D. Navtn-Chandra (1994) The recovery problem in product design. Journal of Engineering Design 5 (1), pp. 65–86. Cited by: INTRODUCTION.
  • [19] N. Papakostas, G. Pintzos, C. Giannoulis, N. Nikolakis, and G. Chryssolouris (2014) Multi-criteria assembly line design under demand uncertainty. Procedia CIRP 25, pp. 86–92. Cited by: INTRODUCTION.
  • [20] D. Pullen, S. Kara, P. Pornprasitpol, and H. Kaebernick (2005) A selective disassembly methodology for end-of-life products. Assembly Automation. Cited by: INTRODUCTION.
  • [21] S. Soh, S. Ong, and A. Nee (2014) Design for disassembly for remanufacturing: methodology and technology. Procedia CIRP 15, pp. 407–412. Cited by: INTRODUCTION.
  • [22] F. Torres, S. Puente, and C. Díaz (2009) Automatic cooperative disassembly robotic system: task planner to distribute tasks among robots. Control Engineering Practice 17 (1), pp. 112–121. Cited by: INTRODUCTION, INTRODUCTION, INTRODUCTION, INTRODUCTION.
  • [23] C. Wang, M. Zheng, Z. Wang, C. Peng, and M. Tomizuka (2018) Robust iterative learning control for vibration suppression of industrial robot manipulators. Journal of Dynamic Systems, Measurement, and Control 140 (1), pp. 011003. Cited by: INTRODUCTION.
  • [24] C. Wang, M. Zheng, Z. Wang, and M. Tomizuka (2016)

    Robust two-degree-of-freedom iterative learning control for flexibility compensation of industrial robot manipulators

    In 2016 IEEE International Conference on Robotics and Automation (ICRA), pp. 2381–2386. Cited by: INTRODUCTION.