International Journal of Computer Integrated Manufacturing Vol. 00, No. 00, Month 2009, 1 10 RESEARCH ARTICLE Virtual Robot Program Development for Assembly Tasks with a physics-based Approach Mario Rossdeutscher a, Michael Zuern a and Ulrich Berger b a production and materials application technology, PWT/VFT - Daimler AG, Stuttgart, Germany; b chair of automation technology, Brandenburg University of Technology Cottbus, Cottbus, Germany (Received 00 Month 200x; final version received 00 Month 200x) This paper presents a concept for the virtual robot program development (VIPD) for assembly processes with industrial robots. The concept aims to the possibility to completely create and validate robot programs for assembly processes with the help of a simulation environment. VIPD provides a consistent communication platform for the cooperative work of different project teams during the system engineering workflow. The paper focuses on the analysis and identification of the practically relevant requirements (see Section 3), which are described by a use-case from the automobile industry and the explanation of a suitable software architecture and its functional components such as a behavior component and a rigid-body simulator. Keywords: virtual assembly; offline-programming; industrial robots; virtual commissioning; virtual robot program development 1. Introduction The virtual commissioning of production lines has come to the fore as a future technology during the last 5 years (Harbach et al. 2007). The advantages of more stable commissioning and production start-ups, a consistent communication platform for cooperating project teams and a higher level of maturity for robot programs constitute the motivation for the further adoption of virtual commissioning (Zaeh et al. 2006, Ehrenstraßer 2006, Kiefer 2007, Wuensch 2008). The system engineer, electric and pneumatic planners, construction engineer and the robot programmer are able to work at a consistent uniform mechatronic system model. The validation of interacting control programs concerning the behavior of a production cell is seen as focus in previous publications to the Corresponding author. Email: mario.rossdeutscher@daimler.com ISSN: 0951-192x print/issn 1362-3052 online c 2009 Taylor & Francis DOI: 10.1080/0951192YYxxxxxxxx http://www.informaworld.com
2 virtual commissioning topic (Zaeh et al. 2006, Ehrenstraßer 2006, Kiefer 2007, Wuensch 2008). Concrete concepts for the validation of robot programs for assembly applications are currently not published. The validation of a program in this context is defined as a proof of program behavior against a mechatronic model of the production cell (Mertke 2004). At first, the program validation assumes the creation of program code. During the execution of assembly tasks by industrial robots, robot programs contain a certain part of program logic (sensor/ actor interaction) and of alternative program paths, in order to ensure a robust process cycle. The special program logic and the resulting program structure cause great demands on a simulation environment for the virtual robot program development. Virtual robot program development is defined as the complete creation and validation of robot programs without the existence of the real production cell. The joining of a pin or a screw into consecutively located boreholes is described as a practical use-case for an assembly procedure. A simulation environment, which achieves the requirements mentioned in Section 3, is currently not available. 2. Analysis of robot programs for assembly tasks For the sophisticated definition of requirements for the VIPD of assembly tasks, the structure of robot programs for assembly tasks has to be known. Due to this fact, a robot program code analysis was accomplished at a high-automated rear axle assembly of the new Mercedes Benz C-class, in order to group and quantify the different program modules that cannot developed offline today. The rear axle assembly line consists of 40 robots in 12 production cells. The robots execute tasks such as work piece positioning, material handling, assembling and screwing. The schematic layout and the final rear axle are illustrated in Figure 1. Figure 1. Rear axle assembly line and final rear axle of the C-Class The analysis is based on 99415 lines of code. A robot program can be divided into the following groups: Simple movement instructions (point to point, linear, circular, etc.) Variable declaration and syntactical instructions External communication to PLC etc. Program modules for assembly procedures
3 To execute these assembly tasks with high process reliability, several program modules such as retrieval strategies, active and passive tolerance compensation, Not-Okay (NOK) strategies and plausibility checks are implemented. The structure of robot programs for assembly tasks is illustrated in Figure 2. The coherent sectors of the pie chart (in all Figure 2. Exemplary robot program structure of rear axle assembly tasks in automobile industry 73%) can be developed offline with today s simulation environments. The remaining 27% are essential program modules for the execution of assembly tasks. It is not possible to do a virtual robot program development with the separate 73% without accomplishing these program modules. VIPD enables the robot programmer to create and validate
4 program modules such as retrieval strategies, active and passive tolerance compensation, NOK Strategies and plausibility checks for scanning and gripping procedures. A retrieval strategy is defined as a cyclic sensor monitoring for the test of a condition during a given trajectory. With fulfilled condition, it emits target coordinates for the dynamical robot positioning. This is used, in order to determine the exact position of an assembly component within a material provision. Tolerance compensation with yieldingness leads to a guaranteed force-controlled joining of parts with position and form tolerances. NOK strategies are alternative program sequences for the case of incorrect positioning, gripping or joining states. The sequences contain all procedures to restore an admissible process status. Plausibility checks are implemented to prevent inadmissible and dangerous states while gripping or moving, which can damage work pieces, operational resources or the robot itself. This can be for instance a check, whether with opened gripper, a component present sensor returns the implausible value true. All of these program modules have a high interaction of sensor / actuator signals and a usage of logic robot language instructions with influence on the robot trajectory. 3. Requirements for VIPD The goal of VIPD is the simulation of complete robot programs for assembly tasks that includes the creation and validation of programs against a mechatronic model of the production cell. The entire program sectors according Figure 2 shall be created and validated with the help of the simulation environment. The simulation of program modules for assembly tasks causes high demands to the time response of logic signals in dependency of the robot trajectory. Additionally the entire set of the robot language elements must be available. 3.1 Usage of the original robot control (RC) The usage of the original robot control supplied from robot manufacturer possesses various advantages. The robot programmer obtains a familiar control interface and can use his existing expert knowledge with the entire set of robot language elements. Moreover, the model accuracy of system parameters and the robot model (path and time accuracy of robot trajectory and logic signal processing) is ensured (see VDI3633-8 2007, Drath et al. 2008). The program transfer of the developed robot program into the real robot control takes place without any conversion efforts (post-processing etc.) due to identical control environments. 3.2 Plausible reactions of the robotic peripherals Robotic peripherals are defined as all mechatronic devices, which are controlled unshared, and directly by the robot (e.g. actuating elements or sensor systems located at the gripper or at material provisions). Both the robot trajectory and the signal behavior of the mechatronic components have to be represented by the simulation environment. For signal generation for the robot control is a behavioral model required. It describes the temporal and logical behavior of a mechatronic component e.g. pneumatic cylinder, parallel gripper or position sensor (see 4.2 and 5.1). Inputs for the behavioral model are e.g. robot signals and geometrical model information like the plunger position of the cylinder.
5 The kinematic simulation of the robots and robotic peripherals can be distinguished in rule-oriented and physics-based approaches (see Egermeier 2008, Reinhart et al. 2008, Spitzweg 2009). When using the rule-oriented approach a set of rules has to be defined before starting the simulation. It contents data which joining or contact points of several objects interact with one another in which way. With the majority of well-known software solutions with rule-oriented approach for the assembly simulation, rules have to be defined manually for each object contact. The physics-based approach computes object movements during simulation exclusively over the object parameters such as mass, friction, inertia, kinematic constraints and contact conditions (see Egermeier 2008). In the later application of VIPD, different object geometries (e.g. while gripping procedures) go with one another into contact. Thus, a physics-based solution without previous manual contact rule creation is necessary. 3.3 Interaction with the simulation environment For the control and programming of the robot in the simulation environment, a visualization of the virtual world is needed. Subjective, visual feeling of the operator for a moved scene depends considerably on the frames per second and speed of moveable objects. Based on this coherency it has to be examined which simulation clock rates are necessary for certain process speeds and an appropriate operator acceptance. 4. Concept for the virtual robot program development The overall simulation environment consists of the functional subsystems of the simulation model, robotic control and a marketable interface for the exchange of actuator / sensor signals and values of the robot axes. According to Kiefer (2007) the concept for a VIPD run time environment is introduced in Figure 3 with the extension by physical parameters. The simulation model has to react against the signal and axis values from the robot like the real production cell regarding end position information, sensor reactions and object motions caused by actuators (see Kiefer 2007). For the representation and visualization of the system behavior, the following kinds of model data must be present: Data about the mechanical structure (3D-geometry and kinematic constraints between parts and assemblies) Behavioral models of mechatronic components (electrical, pneumatic and hydraulic function description of operational resources) Data about the signal flow (connecting characteristics of actuating elements and sensor systems) and their signal linkage Object data for rigid body simulation (mass, center of mass, moment of inertia, coefficient of static and sliding friction, collision relevance of certain parts) In order to compute contacts between objects, a physics-based rigid body simulation is used for process-relevant model objects such as robot grippers, workpiece carriers, material provisions and the focused assembly parts. The robot trajectory is not computed in the simulation environment, but is provided by connecting the robot control. The signal behavior of the robotic peripherals is represented by state-controlled behavioral models, which assume the signal processing and generation on the side of the simulation environment.
6 4.1 Data about the mechanical structure Data about the mechanical structure of parts, like 3D geometries are already digitally available in the today s development process during the detailing phase (see Kiefer 2007). During the construction of the robotic peripherals such as grippers, material provisions or other process-relevant operational resources 3D geometries are generated and merged for the setting up of entire production cells. The enrichment of this data with kinematic constraints is done in terms of motion analysis [... ] for analyzing installation spaces and assembly paths [... ] (Kiefer 2007, p. 14). To reduce the modeling effort, operational resource libraries with kinematic standard components are built and already integrated in the engineering workflow. Kinematic robot models of the major manufacturers are already predefined in libraries of well-known simulation environments such as Dassault DELMIA Robotics R or Siemens PLM Process Simulate R. The use of object parameters, which are stored in engineering drawings during the development process for component manufacturing, is described in Section 4.4. 4.2 Behavioral modeling of mechatronic components In order to process received signal data from the robot control and correctly return generated signals, a behavioral model of mechatronic components is necessary. A behavioral model describes the logic and temporal component behavior against a control. For the description of behavioral models the Unified Modeling Language (UML2) especially state-charts are used. Generally, the UML standard is used for modeling, documentation, specification and visualization of complex software systems independently of their technical and realization area (Jeckle 2004). In Section 5.1 the model creation of a state-chart is described exemplary with a pneumatic cylinder behavior. 4.3 Signal data and the connection between components Between the modular behavioral models of the mechatronic model components must be provided - as in the reality - a wiring of the components. The representation of pneumatic, electrical and hydraulic connections takes place in simulation via the allocation and the exchange of values of variables. Here a connection of component in- and outputs among themselves and with the robot is made (see Figure 4). The generation of necessary connection data takes already place during the development process in form of circuit diagrams and pneumatic schematics. With the connection of source and target the delay times (e.g. field bus durations or delays due to physical conditions) have to be considered. In the case of suitable designation of the input and output signals according to defined rules the connection of mechatronic components can be done automatically (see Drath et al. 2008). 4.4 Object parameters for the rigid body simulation Object parameters such as mass, center of mass, moment of inertia, coefficient of static and sliding friction are essential to perform a rigid body simulation. During the construction of operational resources, material properties are assigned to the parts for the manufacturing. Based on that data, the most CAD systems compute automatically due to the known geometry the center of mass, mass and inertia matrix. Furthermore, coefficients of friction for different material combinations can be stored. For an optimal use
7 of the available computing power, the rigid body simulation is limited to the assemblyprocess-relevant objects. The definition of the collision relevance defines whether the object participates in the computation for collision detection and handling or not. The collision relevance is made available by a parameter export (XML) of the CAD system without changes of the existing development process. 4.5 Unified data-storage and import via AutomationML A suitable solution for the uniform storage of the different model information is offered by AutomationML. AutomationML is a neutral, XML-schema-based data format, which has the vendor-independent storage of all engineering data of the plant engineering under use of existing standards as a goal (see Drath 2010). The existing COLLADA specification of the Khronos Group was integrated for the storage of geometry, kinematics, physical parameters and motion sequences. Furthermore, the AutomationML group integrates the storage of logic information via PLCOpenXML that can mainly be divided into behavior and sequencing. This includes the VIPD-relevant storage of signal information, signal wiring and behavioral models (uncontrolled behavior). 5. Case study for retrieval strategies in robot programs As a case study for the explanation of the requirements defined in Section 3 the assembly of a pin or a screw in one or more consecutively located boreholes is chosen, which is often realized manually in today s automobile industry assembling. For automated accomplishment of this assembly task a tactile force-controlled method is used, in that the joining part remains in constant contact with the base part (see Schweigert 1992). Screw contact is sustained through the pneumatic cylinder compressive force F Z that presses the screw against the gripper jaws. The robot controls the gripper and the compressive force of the pneumatic cylinder. A position measuring system supplies a decimal value to the robot cyclically concerning the plunger position of the cylinder. For the model representation of the mechatronic components behavior (e.g. parallel gripper, pneumatic cylinder and position measuring system), state-controlled behavioral models are used (see Section 5.1). The pair of gripper jaws acts as screw adjustment and positioning of the screw, but no clamping force is performed. To test the retrieval strategy, both borehole alignment and borehole position of the plate and the bearing block in Y and Z-direction can be changed (see Figure 5). For a successful execution of these assembly task strategies, which ensure the framing of the joining part into the base part and a release of deadlocks at alignment differences become necessary. Based on the described conditions, different geometrical retrieval strategies can be validated. Following Schweigert (1992) some possible retrieval strategies are shown in Figure 6. Depending upon application scenario, the retrieval strategies are parametrical on different grid spacings a r, a s, a I and the number of search points. In Figure 6 for principle representation, only one partition of the borehole is searched. How effectively a programmed strategy can be used in a concrete assembly scenario, is appreciable without a validation only by means of empirical values under acknowledgement of the process boundary conditions.
8 5.1 Behavioral modeling by the example of a pneumatic cylinder The modeling of component behavior using state-charts as behavioral models is described at a double-acting pneumatic cylinder with end position sensors (see Figure 7). The robot control of the cylinder pressure is realized by a proportional valve and the control of the moving direction via binary signals to a 5/3 directional control valve. The cylinder model can return the binary signals for open and closed end position to the robot. The parameterization of the cylinder stroke and the diameter of the plunger face with optional use of the end position signals enable a geometry-independent use of the behavioral model for the majority of pneumatic cylinder types. Since the rigid body simulation emits the computation of movements in dependence of influencing forces, in the cyclically updated condition converting the resulting compressive force based on the chamber pressures is computed. For the computation in simulation a simplified time-independent equation is used which can be modified later if necessary. This force value is committed to the rigid body simulation and it returns the updated plunge position in the next iteration. Based on the plunge position the signals for the end position status are generated and sent to the robot control. 5.2 Virtual robot program validation with the VIPD environment During the program development process, it has to be determined whether the program handles error cases in the desired way. For the developed retrieval strategy in the presented scenario arises the question, whether these works efficiently within given process boundary conditions. The following geometrical process boundary conditions can be changed for the test of the search strategy: Borehole offset between strut and bearing block Absolute position of the inlet borehole Angular offset between borehole axis and screw axis The number of simulation runs becomes fast extensive with the rising number of boundary conditions or variables. Statistic test procedures like the Monte-Carlo simulation offer suitable possibilities for an efficient test. With the Monte Carlo technique, the interaction of multiple boundary conditions can be efficiently simulated with a distribution-based random value selection. For the start of the validation, probability distributions of the focused boundary conditions and a target value e.g. the elapsed search time are needed. Special random number generators determine random values as input variables for the process boundary conditions. Afterwards the simulation run starts. As a result of the simulation run, the duration for the successful screw assembly with determined values is logged. Under n-fold repetition of these steps, a probability distribution of the search time is generated for the evaluation of the robustness and efficiency of the tested process step in the robot program. For the increase of the software quality and the avoidance of crashes due to incorrect sensor information, the program sequence can also be tested with failure scenarios of the robotic periphery. Before a gripping procedure is started, an examination of valid gripper end positions should be made. Via the systematic manipulation of gripper end positions, an automated check of crashes can be made by collision detection between geometries. As the further potential of the simulation environment, the robot programmer achieves the possibility of changing the robotic peripherals for improvements still during the construction phase. Contrary to the real commissioning of the system it is at this time still possible to accept changes of the programmer for the construction process of the operational resources and save thus subsequent costs.
REFERENCES 9 6. Summary and outlook This contribution presents a concept for a virtual robot program development. The structure of robot programs for assembly procedures was analyzed in Section 2. With todays simulation-environments for offline-programming program modules such as retrieval strategies, active and passive tolerance compensation, NOK strategies and plausibility checks for scanning and gripping procedures cannot be generated. Based on the identified requirements for the simulation of automated assembly processes the structure of a suitable simulation environment is described. To the simulation of plausible reactions of the robotic peripherals during the part assembling, a physics-based approach with state-controlled behavioral models is introduced for the representation of the movementand signal behavior. Subsequently the necessary model data are assumed in reference to an existing development process in the automobile industry. In future work the presented concept has to be examined on the basis a prototypical implementation. In this connection, further analyses become necessary about user interaction, real time ability requirements for the interaction with robot controls and performance requirements with the rigid body simulation. Based on a prototype the discussed approaches for the program validation have to be implemented and evaluated. In the case of supplying probability distributions from process parameters to the validation of retrieval strategies future work has to be done. References Drath, R., Weber, P., and Mauser, N., 2008. An evolutionary approach for the industrial introduction of virtual commissioning. In: 13th IEEE Conference on Emerging Technologies and Factory Automation (ETFA 2008) IEEE, 5 8. Drath, R., ed., 2010. Datenaustausch in der Anlagenplanung mit AutomationML: Integration von CAEX, PLCopen XML und COLLADA. 1. ed. VDI-Buch Heidelberg: Springer. Egermeier, H.C., 2008. Entwicklung eines Virtual-Reality-Systems für die Montagesimulation mit kraftrückkoppelnden Handschuhen (Development of a virtual reality system for the assembly simulation with force-feedback gloves). Thesis (PhD). TU- München, München. Ehrenstraßer, M., 2006. Virtuelle Inbetriebnahme Schlüsseltechnologie für die mechatronische Betriebsmittelkonstruktion (Virtual commissioning - key technology for the mechatronic resource construction). In: M.F. Zaeh, ed. Virtuelle Inbetriebnahme., Vol. 84 of Seminarberichte / Iwb, Institut für Werkzeugmaschinen und Betriebswissenschaften München: Utz, 6 1 6 21. Harbach, F., et al., 2007. Herausfordernde Anwendungsgebiete der Automatisierungstechnik (Challenging application areas of automation technology). Automatisierungstechnik, 55 (5), 260 265. Jeckle, M., ed., 2004. UML 2 glasklar: Unified Modeling Language - UML. München, Wien: Hanser. Kiefer, J., 2007. Mechatronikorientierte Planung automatisierter Fertigungszellen im Bereich Karosserierohbau (Mechatronic-oriented planning of automated manufacturing cells within the automotive welding range). Thesis (PhD). Universität des Saarlandes, Saarbrücken. Mertke, T., 2004. Formale Spezifikation reaktiver Systeme mit einer Sicherheitsfach-
10 REFERENCES sprache (Formal specification of reactive systems with a safety language). Thesis (PhD). Brandenburgische Technische Universität Cottbus, Cottbus. Reinhart, G., Lacour, F., and Spitzweg, M., 2008. Einsatz eines Physikmodells zur Simulation des Materialflusses einer Produktionsanlage (Application of a physics model to the simulation of the flow of materials for a production plant). Information Technology, 50 (3), 192 198. Schweigert, U., 1992. Toleranzausgleichssysteme für Industrieroboter am Beispiel des feinwerktechnischen Bolzen-Loch-Problems (Tolerance compensation units for industrial robots by the example of a fine mechanics pin hole problem). Thesis (PhD). Universität Stuttgart, Stuttgart. Spitzweg, M., 2009. Methode und Konzept für den Einsatz eines physikalischen Modells in der Entwicklung von Produktionsanlagen (Method and concept for the approach of a physics model to the development of production lines). Thesis (PhD). Technische Universität München, München. VDI3633-8, Simulation of systems in materials handling, logistics and production, part 8 machine-oriented simulation., April 2007., Technical report 3633-8, VDI, Düsseldorf. Wuensch, G., 2008. Methoden für die virtuelle Inbetriebnahme automatisierter Produktionssysteme (Methods for the virtual commissioning of automated production systems). Thesis (PhD). TU-München, München. Zaeh, M.F., et al., 2006. Nutzen der virtuellen Inbetriebnahme: Ein Experiment. Zeitschrift fuer wirtschaftlichen Fabrikbetrieb, 101 (10), 595 599.
REFERENCES 11 Figure 3. Structure of simulation environment
12 REFERENCES Figure 4. Signal connection between robot and gripper Figure 5. Schematic sketch of the screw borhole scenario
REFERENCES 13 Figure 6. Different borehole retrieval strategies (Schweigert 1992) Figure 7. State-chart of a pneumatic cylinder