CIRP Journal of Manufacturing Science and Technology 4 (2011) 96–100
Contents lists available at ScienceDirect
CIRP Journal of Manufacturing Science and Technology journal homepage: www.elsevier.com/locate/cirpj
Integrating digital manufacturing and simulation tools in the assembly design process: A cooperating robots cell case N. Papakostas *, K. Alexopoulos, A. Kopanakis Laboratory for Manufacturing Systems and Automation, Department of Mechanical Engineering and Aeronautics, University of Patras, Patras 265 00, Greece
A R T I C L E I N F O
A B S T R A C T
Article history: Available online 20 July 2011
This paper addresses the challenges encountered in the process of integrating simulation tools in the process of designing cooperating robots-based assembly cells, particularly focusing on the issues related to the automotive Body in White (BIW) assembly lines. A short overview about cooperating robots is presented, emphasizing on the requirements posed by the increasing need for mass customization in the automotive industry. A novel simulation-based approach is introduced for supporting engineers in the process of designing cooperating robots cells. It is demonstrated in a realistic BIW assembly case. Alternative cell configurations are generated and evaluated in an integrated way. The outlook of the proposed approach against current practice is discussed. ß 2011 CIRP.
Keywords: Automotive assembly Design Flexibility Robotic cell Assembly technologies
1. Introduction Manufacturing industry is in the centre of a continuous process of transforming itself towards a more flexible and responsive operation scheme [1,2]. This scheme would allow for meeting the diversified and increasingly personalized market demand, while balancing costs, time and quality constraints: more customised products and variants need to be produced, with less resources and materials, and in shorter cycles [3]. Automation technology has reached a high degree of maturity, enabling the fast and reliable operation of large assembly lines. In particular, industrial robots have become an essential part of the assembly process, since specific tasks may be carried out in a fast and reliable manner. In the automotive industry, robots are usually working sequentially on the assembly line or in the form of cells, preparing the sub assemblies that will be used later on in the production line. The efficient assembly in motion is one of the key factors in enabling cost effective automation in flow assembly lines [4]. Cooperating robots, i.e. robots communicating with each other for carrying out common tasks, have started to appear in assembly lines, aiming at expanding their own overall capabilities. Cooperating robots may be used for reducing the number of required fixtures, allowing, for instance, the processing of both sides of a complex part without having to remove and re-clamp the part on the fixture. At the same time, their use may lead to shortening the process cycle time, while addressing the accessibility constraints introduced by the use of fixtures [5]. They are
* Corresponding author. Tel.: +30 2610 997262, fax: +30 2610 997744. E-mail address:
[email protected] (N. Papakostas). 1755-5817/$ – see front matter ß 2011 CIRP. doi:10.1016/j.cirpj.2011.06.016
capable of performing a variety of processes with different parts and variants, thus providing flexible alternative cell configurations, especially where different types of cooperation are needed among different groups of resources. They can carry out different operations more efficiently in a coordinated fashion, such as handling, transportation and machining and they can be jointly used for carrying heavier parts. Their control is based either on the use of single controllers, which are capable of multi-tasking and controlling multiple robots or on the use of special control frameworks, allowing standard controllers to cooperate with each other, by exchanging motion data, as well as synchronization and safety signals [6]. This way, for instance, in a flexible cell, some of the spot welding robots may be involved in transportation activities and some others in workspace sharing or in collision avoidance [6]. However, the process of designing a cooperating robots cell, ensuring that their coordinated motion achieves all technical and safety specifications, is much more complex [7]. The motion planning of multiple manipulators, in particular, is still considered an open problem due to the complexity of specific trajectories, the dynamic environment and the computational requirements [7]. Furthermore, the high number of variety and build-combinations in the assembly induce further difficulties in the design process [8,9]. For these reasons, the most common design method, employed in industrial practice, is a kind of trial and error in which an assembly process configuration is proposed and then tested using computer simulation [10]. At the same time, an increasing number of manufacturing organisations attempt to complete the tasks of digital planning and validation of assembly processes prior to any physical installations [11,12]. Modern digital manufacturing
N. Papakostas et al. / CIRP Journal of Manufacturing Science and Technology 4 (2011) 96–100
applications provide a series of features for machine off-line programming as well as for validation for both software and hardware elements of an assembly cell. Many publications, since the early nineties, have focused on the advantages of using 3D simulation-enabled digital platforms for implementing robotbased processes. These platforms are used for simulating and validating alternative process configurations, originally designed by a user. The Application Programming Interface (API) of these platforms is used for enhancing the capabilities of the interactive environment they provide to the users [13,14]. Overall, the existing commercial digital manufacturing platforms and applications are not exploited yet to their full potential, mostly due to (a) the highly complex process of taking advantage of their API, (b) the computational requirements and (c) compatibility and integration issues.
Stage 1 - Initialization Initial solution Definition of constraints Definition of search parameters
User
Stage 2 - Simulation Generation of alternatives Simulation of alternatives
2. Methodology Body in White (BIW) in the automotive industry refers to a car body’s sheet metal components that have been assembled together before painting. The use of cooperating robots in BIW assembly processes has been intensified in the last few years as a result of the automakers’ effort to increase the production flexibility. However, the design of the assembly process is still based on engineering intuition and is primarily a trial and error function. We have attempted to integrate the capabilities of existing digital manufacturing platforms though their APIs in the assembly design process. In particular, we have selected a cooperating robots cell case in the BIW assembly, since the geometric complexity of both parts and robotic manipulators and the difficulty to model the motion of the cooperating robots using analytical approaches make this one of the most challenging assembly design tasks to deal with. Through the use of the advanced features of these platforms, including the interactive 3D simulation environment, the different modes of real-time clash detection as well as the capability for fast experimentation with different tools and equipment, in theory, it would be possible to address the problem of designing a cooperating robots cell in a holistic, integrated manner. For the purpose of this paper, we have limited ourselves in the study of the base position of the cooperating robots in the cell and in the investigation of the paths of their Tool Centre Points (TCP). For simplicity’s sake, we have excluded other process variables from our experiments, such as the velocity or acceleration, although they could be easily integrated in the proposed approach. We have selected an open digital manufacturing solution [15], as the principle simulation platform for validating our approach. The outline of our proposed three-stage methodology is depicted in Fig. 1. We opted for an approach that could be applied in a straightforward manner in a wide range of cases, being capable of addressing even more constraints and engineering criteria. We have, therefore, selected the stochastic hill climbing algorithm that can be adapted to the requirements of a complex design task, such as the one encountered in this paper (Fig. 2). Within the initialization stage, the user develops the model of the robotic cell, choosing the appropriate robot types and devices (grippers, welding guns, fixtures) as well as their kinematic control configurations. Based on this model, the user defines a first, principle solution within the simulation platform, identifying the base position of the cooperating robots and the tags, i.e. the points and their orientation (pose) followed by the TCPs of the robots in their motion path. Each pose is represented by two vectors: pi,r and ai,r denoting the Cartesian coordinates of the TCP and the orientation of the end effector along each axis for the pose i of robot r respectively, where i 2 [2,Nr + 1] and Nr is the total number
97
Stage 3 - Validation Evaluation / Validation of alternatives
Desktop Assistant
Best alternative tuning Fig. 1. Outline of the proposed approach.
of tags of the path of robot r. The vectors with index i = 1 are reserved for representing the base position of each robot r. The definition of constraints comprises the identification of all possible states where a clash may take place and the interrelation among all poses i. The clash states are represented by a q q matrix C, where q is the total number of parts, robots, devices and obstacles that may interfere with each other during the motion of the robots. Each element of C denotes the index of a defined clash type or is equal to 0 when no clash detection is required. Poses are
PROCEDURE RobotCellDesign sbest = scurrent[0] = sinit = InitialSolution( ); ctimebest = Evaluate(sinit); for v = 1 to vtotal scurrent[v] = sbest for r = 1 to rtotal for i = 1 to itotal[r] if m[i,r] = = [0,0] pi,r[v] = pi,r[v] + RAND(-δpi,r, δpi,r); ai,r[v] = ai,r[v] + RAND(-δai,r, δai,r); for r = 1 to rtotal for i = 1 to itotal[r] if m[i,r] < > [0,0] [i',r’] = m[i,r]; pi,r[v] = pi,r[0] + pi’,r’[v] - pi’,r’[0]; ai,r[v] = ai,r[0] + ai’,r’[v] - ai’,r’[0]; if Simulate(scurrent[v], C) = = true g = Evaluate(scurrent[v]); if g < ctimebest ctimebest = g; sbest = scurrent[v]; #End of Generation of Alternatives PresentBestAlternative(sbest); TuneBestAlternative(sbest); Fig. 2. Pseudo-code model of the proposed approach.
N. Papakostas et al. / CIRP Journal of Manufacturing Science and Technology 4 (2011) 96–100
98
classified into three distinct categories, according to whether their coordinates and orientation, as defined in the initial solution, may be modified: The ones that cannot be altered, such as the pose of the TCP of a gripper, when picking a part up from a fixed position. Those that depend on another pose. A typical example is the welding tags that have to remain at the same distance and orientation in relation with the TCP of the gripper when holding a part for having a spot welding process carried out by another robot. This relationship is represented by mi,r = (i0 , r0 ), denoting the pose i0 of the robot r0 , the pose i of robot r depends on. The poses, which may be modified. A representative example is the pose of an intermediate tag of a path used for moving the TCP of a welding gun. The differences of the values the vectors pi,r and ai,r may have in an alternative are bounded by the search vectors dpi,r and dai,r. Fig. 3. Test case cell configuration.
The next step includes the random generation of a user defined,
vtotal, number of alternatives as well as their simulation in the digital platform environment, activating all pre-defined real-time operational constraints (clashes) of matrix C. The alternatives may then be validated as feasible if no clash or out of reach status has been detected. Due to the high geometrical complexity of both parts and robotic manipulators, it is hard to guide the search locally at each iteration in a knowledge-based manner: for instance, one potential alternative, which could be generated with the aid of a mathematical model or a series of rules, presumably leading to the reduction of the overall cycle time by shortening the proposed path locally, could prove infeasible because of a collision at a following point of the path. The feasible alternatives may be evaluated according to a set of user-defined criteria, such as the overall cycle time, ctime, of the assembly process. Whenever a better alternative in terms of these criteria is formed, it may be presented to the user. All alternatives and the user interaction required by the digital platform are handled by an intelligent desktop assistant, a digital add-on, interacting with the simulation platform. This way, a massive number of alternatives may be generated, tested and validated without any user interaction. An iterative pattern is followed and the approach may be repeated for any part of the process until a termination condition, such as the generation of a user-defined number of alternatives, is reached. It could also be a computational time limit or the achievement of a predefined objective, such as a specific cycle time target value. Users are also allowed to interrupt the generation of alternatives so that they can examine the details of each alternative proposed by the desktop assistant, discard an alternative, accept or decline the proposal for a new best alternative, or proceed with the generation of new alternatives. Since clash detection during simulation is computationally expensive, the user may select certain parts of the process to be included in the alternatives’ generation procedure, so that certain clashes may be examined within a bounded simulation period of time.
A3 and A4, down to pose A5, where it holds both parts, while robot 2 (R2) coming from pose 2, passing through pose 3, performs a tack weld in pose 4. Then, after R2 moves back to pose 3, R1 places the TCP of its gripper to pose A6. R1 holds the two parts so that a series of welding spots may be carried out by R2 (Fig. 4). R2 moves the TCP of its welding gun to pose 5 and then performs six welding spots (poses 6–11). Then it retreats to pose 12, while R1 moves its gripper to pose A7 and rotates it to pose A8, so that the other side of the two parts may be welded. R2 moves to pose 13 and then performs six welding spots (poses 14–19). Then it moves to pose 21 through pose 20 and performs the last five spots (poses 22–26). It returns to pose 2, passing through pose 27. R1 returns back to pose A3, drops the welded parts through A5 and finally moves back to the initial pose A2. An initial solution has been developed, following the physical deployment of a similar robotic cell. Taking into account the geometry of the parts, the robots and their end effectors as well as the relevant motion of both robots, two different clash types have been identified as the most likely: Clash 1: A collision between the gripper and the upper part of the floor from poses A3 to A5; Clash 2: An authorized penetration less than 1 mm for the welding gun and the parts for all welding spots.
Other clash types could also be defined, including, for instance, the joints, but since clash detection during the simulation is computationally expensive, only the likely ones were considered.
3. Implementation 3.1. Case description Our approach has been tested in a realistic industrial case scenario, where the objective is to weld two parts of the floor of the BIW of a commercial vehicle in a real robotic cell (Fig. 3). Two industrial robots are utilized [16]: the first carries a gripper and the second carries a welding gun for performing the spot welding process. At first, the handling robot 1 (R1), with its base position set at A1, moves the TCP of the gripper from pose A2, passing through
Fig. 4. R1 holding the parts and R2 performing a series of welding spots.
N. Papakostas et al. / CIRP Journal of Manufacturing Science and Technology 4 (2011) 96–100
99
Table 3 Overall results for experiments.
Table 1 Details of the first iteration of experiments. PoseA
Constraint (pos)
dp (mm)
Best Alt. dp (mm)
Iteration
Sim. step (s)
Initial cycle time (s)
Final cycle time (s)
A1 (robot base) A2 A3 A4 A5
0 A1 0 0 0
(5, 0, 0) (0, 0, 0) (10, 10, 10) (5, 5, 10) (0, 0, 0)
(4.9, 0, 0) (4.9, 0, 0) (38.3, 46.9, 51.8) (10.1, 2.9, 67.2) (0, 0, 0)
1 2
0.5 0.1
84.77 84.36
84.36 83.87
The proposed Desktop Assistant and the associated ‘RobotCellDesign’ procedure were implemented with the aid of the API of the digital platform selected [15]. Whenever any of the above clash types is detected during the simulation of an alternative, the Desktop Assistant automatically discards the alternative. 3.2. Experiments Two iterations of experiments were carried out. In the first, the base position of robot R1 and its motion from A2 to A5 were examined. This part of the R1 path does not affect the path of R2. The pose A2 is constrained by the pose A1 and the Cartesian coordinates were modified only. Column 3 of Table 1 depicts the maximum absolute change of the coordinates of each pose at each step. Clash 1 was activated during the simulation with a step set equal to 0.5 s, which is considered enough for checking clash type 1. The best alternative is shown in the fourth column of Table 1. Pose A2, the starting position of the R1 TCP, for instance, is moved by 4.9 mm on the x axis, since it has to follow A1 (base position of R1) as a constraint. Having modified the configuration of the cell, according to the best alternative results (fourth column of Table 1) of the first iteration of the experiments, the second iteration addressed the rest of the motion of R1 and the entire motion of R2. In particular, R1 holds the two parts and brings them close to R2, so that the welding spots may be carried out by R2. The first group of the welding spots (6–11) performed by R2 have to remain at the same distance from the position of the gripper of R1 (pose A6) and the second and third group of spots (14–19, 22–26) have to remain at the same distance from pose A8 of the gripper for each axis. Cartesian coordinates were modified only (column 3 of Table 2) and Clash 2 was activated during the simulation. The simulation step was set to 0.1 s, much less than the step chosen for the first iteration of experiments, since in this part of the experiments, the welding gun performs a series of movements very close to the parts to be welded. The two iterations of the experiments lasted in total circa 16.5 h. 625 alternatives were generated in total, from which 396 Table 2 Details of the second iteration of experiments. Pose
Constraint (pos)
dp (mm)
Best Alt. dp (mm)
A6 A7 A8 1–4 5 6–11 12 13 14–19 20 21 22–26 27
0 0 0 0 0 A6 0 0 A8 0 0 A8 0
(10, 10, 0) (5, 5, 5) (10, 10, 10) (0, 0, 0) (10, 10, 10) (0, 0, 0) (10, 10, 10) (10, 10, 10) (0, 0, 0) (10, 10, 10) (10, 10, 10 (0, 0, 0) (10, 10, 10)
(23.9, 42.1, 13.8) (8.7, 10.9, 20.2) (82.9, 19.1, 11.2) (0, 0, 0) (0.2, 16.4, 55.5) (23.9, 42.1, 13.8) (20.0, 9.8, 26.9) (6.7, 17.1, 1.3) (82.9, 19.1, 11.2) (20.4, 82.0, 37.0) (3.9, 53.5, 5.5) (82.9, 19.1, 11.2) (151.6, 7.4, 75.1)
were validated as feasible. We have assumed that the digital simulation model of the cell will have to be developed anyway, since this is the current practice towards exchanging assembly process information among different departments as well as among organisations, such as the Original Equipment Manufacturer (OEM), the system integrator and the tool suppliers. The manual generation of a similar number of alternatives by a user is estimated to last about 30 h. An experienced user would probably try out a lesser number of alternatives; however, experimenting with such subtle variations of the coordinates in a digital environment is a tedious task and a better solution cannot be guaranteed. In fact, the initial solution, presented in this paper, was the best alternative an experienced user could come up with, using the same digital manufacturing platform in a conventional way. Since the system would allow the automatic generation and evaluation of alternatives, this would mean that the user would save precious engineering time for the generation of a better alternative. Namely the system allows the significant reduction of the engineering time. An overall improvement of the cycle time by 0.9 s (1.06%) was achieved (Table 3). Given that the time required for performing the welding spots and cannot be reduced is in total 45 s, the improvement over the rest of the time (84.77 s 45.00 s = 39.77 s) utilised for moving the end effectors is equal to 2.26%. Fig. 5 depicts how the utility (the best cycle time achieved vs. the initial cycle time as represented by Eq. (1)) improves with increased computational time (min). While at the beginning the improvement is constant, then the algorithm is ‘trapped’ in a local optimum from 350 (min) to 800 (min) at which point it ‘escapes’ to another optimum, before settling down to a new plateau. Uv ¼
ctimeinit ctimev ctimeinit ctimebest
(1)
3.3. Outlook In this paper we have attempted to address the challenges encountered in the process of designing a cooperating robots cell for assembly. Cooperating robots exhibit a series of advantages and their use in complicated assembly processes is expected to be extended in the near future. However, the complexity of designing and controlling their coordinated motion requires the use of advanced software applications that may simulate accurately their operation. We have utilized the advanced features of existing digital manufacturing platforms and their API, which exposes
1 0.8 0.6 Uv 0.4 0.2 0 0
200
400
600
800
[min] Fig. 5. Utility vs. computational effort (min).
1000
100
N. Papakostas et al. / CIRP Journal of Manufacturing Science and Technology 4 (2011) 96–100
many of their capabilities to common programming frameworks. In this context, we have shown that engineering intuition may be combined with the capabilities of these platforms in a more efficient way for improving the performance of an assembly cell. Other lifecycle criteria could also be used for the evaluation of different assembly configurations [17]. We also believe that it would be possible to extend the proposed approach to other stages of the design process, including the automatic evaluation of alternative resources in earlier stages, utilizing suitable techniques, such as skeleton modelling [18]. Tightly coupling the digital model with the actual production environment would also provide a series of other advantages in the design and production planning phases [19]. One of the most challenging and time-consuming processes during the installation of new robot-based assembly cells, is the fine tuning of the Programmable Logic Controllers (PLC) software. In particular, allowing the cooperating robots to exchange signals as well as to synchronise their operations is a demanding and timeconsuming task. The ability to perform off-line programming tasks and to include software elements form PLCs in an integrated validation model may lead to a more efficient planning process, since the testing and validation of the PLC functionality may be carried out in a digital platform, prior to the installation phase. In the future, it is anticipated that digital validation will be an integral part of the overall design process. Acknowledgments This work has been partially supported by the research project ‘‘MyCar’’, funded by the CEU.
References [1] Chryssolouris, G., 2006, Manufacturing Systems – Theory and Practice, 2nd ed. Springer-Verlag, New York.
[2] Scholz-Reiter, B., Freitag, M., 2007, Autonomous Processes in Assembly Systems, Annals of the CIRP 56/2, 712–729. [3] Chryssolouris, G., Papakostas, N., Mavrikios, D., 2008, A Perspective on Manufacturing Strategy: Produce More With Less, CIRP Journal of Manufacturing Science and Technology, 1:45–52. [4] Reinhart, G., Werner, J., 2007, Flexible Automation for the Assembly in Motion, Annals of the CIRP, 56/1: 25–28. [5] Ranky, G.P., 2003, Collaborative, Synchronous Robots Serving Machines and Cells, Industrial Robot An International Journal, 30/3: 213–217. [6] Koeppe, R., Engelhardt, D., Hagenauer, A., Heiligensetzer, P., Kneifel, B., Knipfer, A., Stoddard, K., 2005, Robot–Robot and Human–Robot Cooperation in Commercial Robotics Applications, Robotics Research, Springer Verlag, Berlin Heidelberg. [7] Liu, H., Dai, F.S., Seneviratne, L.D., 2008, A Model-based Approach to Cooperative Operation of Multirobot Systems, Industrial Robot An International Journal, 35/1: 37–45. [8] Hu, S.J., Zhu, X., Wang, H., Koren, Y., 2008, Product Variety and Manufacturing Complexity in Assembly Systems and Supply Chains, CIRP Annals – Manufacturing Technology, 57:45–48. [9] Wang, H., Hu, S.J., 2010, Manufacturing Complexity in Assembly Systems with Hybrid Configurations and Its Impact on Throughput, CIRP Annals – Manufacturing Technology, 59:53–56. [10] Whitney, D.E., 2004, Mechanical Assemblies: Their Design, Manufacture and Role in Product Development, Oxford University Press, New York. [11] Michalos, G., Makris, S., Papakostas, N., Mourtzis, D., Chryssolouris, G., 2010, Automotive Assembly Technologies Review: Challenges and Outlook for a Flexible and Adaptive Approach, CIRP Journal of Manufacturing Science and Technology, 2/2: 81–91. [12] Maropoulos, P.G., Ceglarek, D., 2010, Design Verification and Validation in Product Lifecycle, CIRP Annals – Manufacturing Technology, 59:740–759. [13] Dvila-Ros, I., Torres-Trevio, L.M., Lpez-Jurez, I., 2008, Proceedings of the 2008 Electronics, Robotics and Automotive Mechanics Conference, pp.283–287. [14] Neto, P., Pires, J.N., 2010, Robot Path Simulation: a Low Cost Solution based on CAD, in: Proceedings of the 2010 Conference on Robotics Automation and Mechatronics, pp.333–338. [15] Dassault Syste`mes, 2010, DELMIA1 V5 R20 online documentation. [16] COMAU SpA, 2010, Smart Robots Series, http://www.comau.com. [17] Duflou, J.R., Seliger, G., Kara, S., Umeda, Y., Ometto, A., Willems, B., 2008, Efficiency and Feasibility of Product Disassembly: A Case-based Study, CIRP Annals – Manufacturing Technology, 57:583–600. [18] Bley, H., Bossmann, M., 2006, Automated Assembly Planning Based on Skeleton Modelling Strategy, IFIP International Federation for Information Processing, Precision Assembly Technologies for Mini and Micro Products, 198:121– 131. [19] Ka´da´r, B., Lengyel, A., Monostori, A., Suginishi, Y., Pfeiffer, A., Nonaka, Y., 2010, CIRP Annals – Manufacturing Technology, 59:437–440.