Scholarly article on topic 'Adaptive and Device Independent Planning Module for Task-Oriented Programming of Assembly Systems'

Adaptive and Device Independent Planning Module for Task-Oriented Programming of Assembly Systems Academic research paper on "Materials engineering"

CC BY-NC-ND
0
0
Share paper
Academic journal
Procedia CIRP
OECD Field of science
Keywords
{"Flexible manufacturing system (FMS)" / Robot / "Artifical intelligence"}

Abstract of research paper on Materials engineering, author of scientific article — J. Backhaus, G. Reinhart

Abstract The ability to enable a fast modification and system-change, in order to fulfil quickly changing market needs, is one of the essential requirements of future production systems. Two basic steps for an adaption of an automated production system to a new task are the reconfiguration and the reprogramming. Against this background, the central objective of this paper is the discussion of a new concept to simplify the application of task-oriented programming for assembly systems. Only abstract tasks are described in the task-oriented programming. The deduction of control code is done in a programming system. The advantages of task-oriented programming in means of time and complexity are often negated by the necessary effort to adapt a task-oriented programming system to the components and processes in a specific production system. Therefore, an adaptable task- oriented programming system that can be customized easily is the current research focus of the authors. The core of a task-oriented programming system is a planning module, in which the task description is transferred in code for the control of the system. Main subjects in the planning process are the separation in sub-steps as well as the identification of appropriate parameters and the chronological sequence of the sub-steps. Depending on the application (for example welding, gluing or pick and place operations) different algorithms and process knowledge are necessary. In this article a highly adaptable planning module based on a blackboard architecture and vendor independent device descriptions is discussed. The structural design of the planning module, its constituent parts and the description techniques for skills as well as products and processes are outlined. The advantages of the concept are illustrated by adapting the planning module for an industrial welding process.

Academic research paper on topic "Adaptive and Device Independent Planning Module for Task-Oriented Programming of Assembly Systems"

Available online at www.sciencedirect.com

ScienceDirect

Procedía CIRP 33 (2015) 544 - 549

9th CIRP Conference on Intelligent Computation in Manufacturing Engineering

Adaptive and device independent planning module for task-oriented programming of assembly systems

Backhaus, J. a*; Reinhart, G.a

a Technische Universität München, Institute for Machine Tools and Industrial Management; Bolzmannstraße 15, 85748 Garching, Germany * Corresponding author. Tel.: +49 89 289 154 52; E-Mail: Julian.Backhaus@iwb.tum.de_

Abstract

The ability to enable a fast modification and system-change, in order to fulfil quickly changing market needs, is one of the essential requirements of future production systems. Two basic steps for an adaption of an automated production system to a new task are the reconfiguration and the reprogramming. Against this background, the central objective of this paper is the discussion of a new concept to simplify the application of task-oriented programming for assembly systems. Only abstract tasks are described in the task-oriented programming. The deduction of control code is done in a programming system.

The advantages of task-oriented programming in means of time and complexity are often negated by the necessary effort to adapt a task-oriented programming system to the components and processes in a specific production system. Therefore, an adaptable task-oriented programming system that can be customized easily is the current research focus of the authors. The core of a task-oriented programming system is a planning module, in which the task description is transferred in code for the control of the system. Main subjects in the planning process are the separation in sub-steps as well as the identification of appropriate parameters and the chronological sequence of the sub-steps. Depending on the application (for example welding, gluing or pick and place operations) different algorithms and process knowledge are necessary. In this article a highly adaptable planning module based on a blackboard architecture and vendor independent device descriptions is discussed. The structural design of the planning module, its constituent parts and the description techniques for skills as well as products and processes are outlined. The advantages of the concept are illustrated by adapting the planning module for an industrial welding process.

© 2014 Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).

Selection and peer-review under responsibility of the International Scientific Committee of "9th CIRP ICME Conference" Keywords: Flexible manufacturing system (FMS); Robot; Artifical intelligence

1. Introduction and scope

The simplification and automation of the programming of automated production systems and industrial robots has been in the research focus for almost 40 years [1]. Especially the assembly with its high due of production time [2] and cost [3] was the topic of many research projects [4] [5] [6] [7].

One approach to follow the mentioned objective is the implicit or task-oriented programming, which was basically developed for industrial robots [8] but is also used for the programming of programmable logic control (PLC)-based systems in more recent projects [9]. The most important benefit is that users of the programming system do not have to specify "how" the

programmable component should fulfill a task but only "what" task it should perform. Users do not need any skills of different programming-languages and can focus on providing their process knowledge. The main elements of a task-oriented programming system are the task model, the world model and the planning module [4]. The high level planning of a production process is not included in commercial programming systems at the moment [10].

The lack of industrial distribution in the topic shows that there is still a need for research. Previous concepts seem inapplicable for the industrial transfer due to their complexness and required effort. It is necessary to develop new concepts, in particular to achieve industrial application. Many aspects in other research fields which possibly could provide a starting point for new concepts

2212-8271 © 2014 Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).

Selection and peer-review under responsibility of the International Scientific Committee of "9th CIRP ICME Conference" doi: 10.1016/j .procir.2015.06.073

and facilitate the task-oriented programming were developed and deployed in during the last years. Examples include the integrated development with digital tools like CAD-software even in small and medium sized enterprises [11], model-based systems engineering [12], standardized component descriptions like Electronic Device Description Language (EDDL) [13], standardized product attributes in the ISO 10303 or standardized exchange formats for the engineering process [14]. The utilization of these recent developments could facilitate the industrial transfer of the task-oriented programming by reducing the effort to set up the programming system and the continuous use of data in the engineering process.

A concept for the efficient application of task-oriented programming for assembly systems based on the prospects mentioned above is currently developed at the institute for machine tools and industrial management [15]. In this publication one main element of the concept, an adaptive and device independent planning module, is outlined. The chapters below are ordered in a section about the state of the art, a short description of the relevant parts of the overall programming system, the main part about the planning module, the description of an application and an outlook for further developments.

2. Literature review

The computer-based planning of assembly processes is a rather old research field, as outlined in the introduction. Therefore, the most relevant recent approaches are described in the following. An implicit approach was developed in the EU-project SMErobot™ to enable the use of industrial robots in small and medium sized enterprises (SMEs) [5]. The core of the model is a software module that evaluates digital device and process descriptions to identify executable processes and to generate executable code. The main control is designed corresponding to service oriented architectures. A planning from abstract process description to the device function is handled by using descriptions that are defined by programming experts. The advance of the result in the SMErobotTM project is the aim in the following project ROSETTA. Herein, robotic applications are generated using a knowledge integrated framework. Tasks are described by the user in an informal way. All available information like device descriptions or planning algorithms are used by the knowledge integrated framework to generate a formal description. The steps of the planning process are not outlined in detail. The executable code is generated based on the formal description [16]. In the EU-project SIARAS skills are used and modeled to achieve a reconfigurable production system. Robot code is

generated by using a skill server that has a connection to ontology, in which the devices are described. Utility functions support the main loop in the skill server for solving domain specific problems. The task is described as a sequential function chart. The main planning steps are not described [17]. [6] and [18] delineate a robot control architecture that is based on skill primitives. The planning program HlghLAP uses an assembly by disassembly concept to deconstructed complex tasks into skill primitives. The concept is focused on robots and it requires a special robot control. The segmentation of a task in skill primitives is also described in the concept of a holonic assembly system (HAS) by [19] [20]. This concept also covers the distribution of the task to the relevant resources like a robot in a multi-agent-system. A method for the knowledge representation and programming of robot assembly tasks is outlined in [7]. The proposed control hierarchy consists of four levels. These are control primitive level, control skill level, skill level and task level. The structure of the assembly is modelled by using the functional element concept and a constraint reduction system which is used to plan the tasks. The main planning steps and the architecture of the constraint reduction systems are not specified. A system for the task-oriented programming of PLCs is presented in [21]. The main steps in the planning process are the generation of the assembly sequence, the deduction of the control sequence, the optimization of the control path, the separation of control function, the generation of the PLC programming and the check for correctness. The architecture of the planning system is not described. The project AutoAssem [22] includes a considerably planning system including the planning of assembly sequences, assembly paths, visualization and simulation of assembly plans based on CAD-data. The focus of the description is on the flowchart and not on the architecture or the adaption of the planning system to complex processes.

Several approaches can be found in further references mentioned below. Examples include an approach for the constraint based programming of industrial robots [23], a concept for the sensor integration in task-level programming in an open robot control system [24], a 3D-CAD data oriented automatic planning systems for robot cells [25] or a cognition-integrated hybrid planning and control system [26]. Process specific task-oriented concepts can be found in [27] or [28].

3. State of the art analysis and resulting requirements

As a result of deficiencies of the approaches presented above and the mentioned current developments, several specific requirements, which must be fulfilled by an adaptive and device independent planning module, were elaborated. Overall requirements

like the efficient set up of programming system and the use of standard components are outlined in [15]. The following requirements for the planning module had been identified.

• Complexnessflexibility: The planning module should be adaptable for complex CAD-based assembly description but also for the direct programming of specific parts by a user.

• Process flexibility: The adaption of the module for the planning of new processes should be simple with low effort.

• Software flexibility : It should be possible to integrate existing software for example a tool for robot offline programming for sub tasks. This leads to a higher acceptance in companies.

• Device flexibility: The planning module should be device independent to handle heterogenic device functions and syntax by different producers.

• System flexibility: The module should be applicable not only for robot cells but also for complex assembly systems that consist of several robots, PLCs, conveyor belts or other peripheral equipment.

• Standardization and integration: The description of products, processes and devices should be designed based on existing standards. This leads to an easy integration in existing engineering processes, which are based on these standards as well.

A comparison of these requirements with existing concepts shows, that there are powerful and detailed approaches for the automatic planning of assembly processes like [22] or [6]. But the adaptability, the flexibility and the integration of existing standards were not in the focus of previous researches.

4. Product, process and device description

Since an overview of the whole concept was already described in [15], only relevant parts for the planning module, in particular the task and world model, are described in the following sections.

The main elements of the concept product, process and resource, had been adopted from [14] and had been extended with the entity skill, which was presented in [29]. A relevant concept with a similar idea could be found in [30] but the concept contains different relations between the entities compared to the description in the following. The relevant terms regarding the task and world model are:

• Task model: Overall combination of several processes, products, their relations and sequences.

• World model: Description of the assembly system, represented through its resources and skills.

• Process: Abstract description of an operation in the assembly system. A process always has relations to one or more products and is solution-neutral.

Therefore, it can be executed by one or more skills respectively resources, depending on the system architecture. In addition to the skill taxonomy modeled with a class chart [29], a basic process taxonomy had been developed. All instantiated processes in this taxonomy have relations to their corresponding necessary skills. New processes are easily integrated with this concept.

• Product: An object that ought to be handled in an assembly process.

• Resource: A machine or component which transports or handles sub-products or products [14]. A resource might have controllable functions, which are represented through skills.

• Skill: The ability to perform an activity or operation that is necessary to support the production process [31]. A skill represents an abstract and vendor independent functions and can be mapped to device functions including the semantic interpretation of relevant parameters. The abstraction of vendor specific device functions is therefore integrated in the world model. As described in [29], a skill taxonomy had been developed. Functions and the corresponding resources are mapped to the skills by using the taxonomy. Device descriptions must

O Mapping in the device description

•---• No direct relation^ Mapping with predefined " class diagramms ^ Relation defined in the task modell

Fig. 1. Main relations of entities used in this concept

contain the classification in the taxonomy and syntax

mapping of the function.

The main relations of the entities described above are displayed in figure 1. The adaptable planning module uses these descriptions of the task and world model. The basic mapping between these entities is directly possible with the described concept. Information's gaps are between processes and skills as well as skills and resources respectively their functions, which have to be closed by the planning module.

Task and world model are represented in Automation Markup Language (AutomationML). AutomationML is a quite new XML-based data format for data exchange during the engineering of automated systems [14]. The design of AutomationML for the engineering and programming as well as the machine-readable XMLformat are the main reasons for this decision. An use of

AutomationML in a company enables an integration of the programming system without any data discontinuity.

5. Adaptive and device independent planning module

The architecture of the planning module was selected in a first step. Architectural patterns provide the reuse of basic structures of existing software systems with similar problems and contribute to the transparency of the system. Examples are the layer architecture, service-oriented architecture or the blackboard architecture [33]. Taking into account the requirements, the blackboard architecture was selected for the planning module. Similar to all knowledge-based systems the blackboard-concept consist of three main components: The knowledge sources with problem-specific rules, algorithms and heuristics for the planning process, the inference engine with a controller and control data and the global data base (blackboard) with all problem-specific facts and interim solutions [32].

^ Knowedge Sourcej ^ Knowedge

Source

Fig. 2. Basic structure of a blackboard architecture (Own figure based on [34])

Figure 2 displays the main components of the blackboard concept. Problem-specific rules are represented through knowledge sources. Each of these sources consists of a condition and an action part, which can be regarded as independent programs. The actual solution of the sub-problem takes place in the action part. A communication with external programs (e.g. simulation programs) is possible via suitable interfaces. The blackboard serves as a data structure for a hierarchical representation of the problem solving state and as a communication medium between the individual knowledge sources. The control component is used to monitor the changes in the blackboard and to decide what action should be taken next [34].

The adaption of this generic concept for an adaptable planning module for the task-oriented programming is described in the following. At first the hierarchy in the planning process is outlined. Afterwards the specific blackboard, control and the knowledge sources of the concept are described. The hierarchy levels used in this system are an advancement of similar expression in previous systems for task-oriented programming of assembly systems like [20], [18] or [21].

The hierarchy consists of five levels:

• Task level (1): Only the joining (primary) processes and the relation to the product and product parts are described.

• Assembly sequence level (2): In addition to the information in the task level the sequence of the joining processes is defined.

• Process level (3): All relevant primary processes are assigned to skills and necessary secondary processes as well as associated skills are identified based on the assembly sequence level.

• Skill level (4): The sequence of all elemental operations is planned based on the skills which includes the parameter for the call ups of a skill.

• Code level (5): The code level represents the vendor specific code for all controls in the assembly system.

5.1. Blackboard

Blackboard

H Resource ])

H PPrroocceessss

-{ Sequence J

| Process Sequence! f Skill Sequence J

Fig. 3. Basic structure of the blackboard

The blackboard, as the hierarchical image of the problem-solving process, is an AutomationML-file which encapsulates the information from tasks and world model as well as the hierarchy and serves as a template. This template is illustrated in figure 3. Resources and skills correspond to the world model, processes, products and a possible process sequence correlate to the task model. Interim results are also saved in blackboard. Data about decisions during the planning process are saved in an extra database of the control. Only decisions and results are stored during the optimization process to avoid saving an AutomationML-file for each possible solution

5.2. Control

An event-driven control is used in this planning concept. Its main task is to analyze the current state of the blackboard and the call up of appropriate knowledge sources. It is possible to identify which further sub-steps must be planned based on the hierarchical structure in the blackboard. The control sequence, displayed in figure 4, follows a bottom-up approach for the analyses

of the blackboard based on the hierarchy in the blackboard. Therefore the planning module is independent from the task complexity used in a specific case. If the content of a level is already available, the control continues the planning in the next lower level. As described above, decisions are stored in a control database. This database is also used for the optimization process. The optimization follows an iterative concept at the moment. Bad path decisions are discarded using performance indexes concerning key figures like cycle time or energy consumption. Specific knowledge for example with regard to the selection of competing knowledge sources or the order of planning of certain

Activation of knowledge sources for level 2

^^ Activation of knowledge sources for level 1

^^ Activation of knowledge sources for level 3 Activation of knowledge sources for level 4

Fig. 4. Main sequence in the control of the planning module processes can be integrated using control knowledge sources.

5.3. Knowledge Sources

In the generic concept the detailed contents of knowledge sources are not defined. A predefined interface consisting of the attributes name, description, trigger condition and level of the hierarchy as well as the functions in order to check the trigger condition and the execution of the action, allows the flexible integration of diverse knowledge sources. Trigger conditions are for example associated process classes, such as welding. The action part can be represented by either an algorithm or an external program. It is also possible to integrate the user as a knowledge source for the solution of a sub problem.

A total of four knowledge sources were implemented for the scenario. The first knowledge source contains a collision and singularity free path planning based on an inverse kinematic solver in OpenRave (http://openrave.org/). Main inputs are the CAD-model of the workpiece and weld seam (in the first implementation only hollow seams) in Collada [14] as well as the resource description including the restriction of the welding burner concerning gravity angle or

Fig. 5. Robot cell and an excerpt of the AutomationML-file for the application

welding distance. A path for the robot which consists of a sequence of skill call ups described in sequential functions charts (SFC) is the output. A planning algorithm for the rotary tilting table is implemented in the second one. Inputs are the start-position, endposition and orientation of the workpiece, outputs is the necessary skill call up. The third knowledge source uses the robot path to plan the process commands like the switch-on of the electric tension for the welding burner. These are also described in a SFC. The last one translates the skill sequence in vendor specific code. The first two knowledge sources are competing because their results depend on each other. Thereby the optimization ought to be tested.

These knowledge sources were integrated in the basic structure using the described interfaces. The control is implemented in visual basic and an access database for the control data. The application example has shown that the developed structure provides a highly flexible basis for the planning module in a task-oriented programming system.

6. Application

The demonstrator is a robotic cell consisting of an industrial robot, a rotary tilting table and welding burner as well as their controls. Figure 5 illustrates the cell and a part of the associated AutomationML-file of the blackboard. In the context of the application, the task is the description of a workpiece, the associated weld seams and its fixed position. The task is modeled with AutomationML however the description of the user interface is not part of this paper.

7. Outlook

The described welding scenario was the first prototype for validating the concept of the adaptive planning module. The buildup of knowledge sources for pick and place processes including a camera system for the product detection will be developed and integrated in future developments. Another focus will be on the optimization concept in the control. The use of learning algorithms might be a possible solution for a more efficient problem solving process.

Acknowledgements

The authors of this paper would like to thank the German Federal Ministry of Education and Research (BMBF) and the Project Management Agency Research Center Karlsruhe (PTKA-PFT) for the sponsoring (Funding code 02PR2081).

References

[1] Lieberman LI, Thomas J. AUTOPASS: An Automatic Programming System for Computer Controlled Mechanical Assembly. IBM Journal of Research and Development, New York 1977; 21(4); p. 321-333.

[2] Nevins JL, Whitney DE. Concurrent Design of Product and Process. New York: McGraw-Hill, 1989.

[3] Martin-Vega LA, Brown H.K, Shaw WH, Sanders TJ. Industrial perspective on the research needs and opportunities in manufacturing assembly. Journal of Manufacturing Systems 1995; 14(1); p. 45-48.

[4] Kleineidam G. CAD/CAP: Computerbasierte Montagefeinplanung. Ph.D. dissertation, Universität Erlangen -Nürnberg, Reihe Fertigungstechnik - Erlangen, Vol. 12; München, Wien: Hanser Verlag; 1990.

[5] Naumann M, Wegener K, Schraft K. Control Architecture for Robot Cells to Enable Plug'n'Produce. In: S. Hutchinson, editors. IEEE International Conference on Robotics and Automation (ICRA 2007). Rom, Italy; 2007; p. 287-292.

[6] Thomas U, Wahl FM, Maass J, Hesselbach J. Towards a new concept of robot programming in high speed assembly applications. In: Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems 2005 (IROS 2005); Alberta, Canada; p. 3827 - 3833.

[7] Nagai T, Aramaki S, Nagasawa, I. Representation and Programming for a Robotic Assembly Task Using an Assembly Structure. In: 7th IEEE International Conference on Computer and Information Technology. Fukushima, Japan; 2007; p. 909914.

[8] Rozenblit JW, Jacak W. Simulation-based planning of robot tasks in flexible manufacturing. In: Proceedings of the Second Annual Conference on AI, Simulation and Planning in High Autonomy Systems. Cocoa Beach, USA; 1991; p. 166-173.

[9] Ehrmann M, Schlick J, Seckner M, Zühlke D. PRIMOS - a novel concept to program complex assembly processes. In: Proceedings of the 2nd International Conference on Informatics in Control, Automation and Robotics 2005 (ICINCO). Barcelona, Spain; 2005; p. 107-112.

[10] Pan Z, Polden J, Larkin N, Van Duin S, Norrish J. Recent Progress on Programming Methods for Industrial Robot. In 41st International Symposium on Robotics and 6th German Conference on Robotics. Munich, Germany; 2010; p. 1-8.

[11] Bharati P. Studying the current status of technology adoption. Communications of the ACM 2006; 49(10); p. 88-93.

[12] Estefan JA. Survey of Model-Based Systems Engineering (MBSE) Methodologies. INCOSE MBSE Focus Group 25; 2007.

[13] Riedl M; Simon R; Thron M. EDDL - Electronic Device Description Language. München: Oldenburg Industrieverlag; 2002.

[14] Draht R. Datenaustausch in der Anlagenplanung mit AutomationML. Heidelberg: Springer Verlag; 2010.

[15] Backhaus J, Reinhart G. Efficient application of task-oriented programming for assembly systems. In: International Conference on Advanced Intelligent Mechatronics (AIM) IEEE/ASME. Wollongong, Australia; 2013; p. 750-755.

[16] Naumann M, Bengel M, Verl A. Automatic Generation of Robot Applications Using a Knowledge Integration Framework. In: Proceedings for the joint conference of ISR 2010, 41st International Symposium on Robotics, Berlin: VDE-Verlag; 2010: p. 631-638.

[17] Malec J, Nilsson A, Nilsson K, Nowaczyk S. Knowledge-Based Reconfiguration of Automation Systems. In: Proceedings of the 3rd Annual IEEE Conference on Automation Science and Engineering. Scottsdale, USA; 2007; p. 170-174.

[18] Mosemann H. Beiträge zur Planung, Dekomposition und Ausführung von automatisch generierten Roboteraufgaben. Ph.D. dissertation, Technische Universität Braunschweig; Aachen: Shaker Verlag; 2000.

[19] Arai T, Aiyama Y, Maeda Y, Sugi M, Ota J. Agile Assembly Systems by Plug and Produce. CIRP Annals Manufacturing Technology 2000; 49(1); p. 1-4.

[20] Arai T, Izawa H, Maeda Y, Kikuchi H, Ogawa H, Sugi M. RealTime Task Decomposition and Allocation for a Multi-Agent Robotic Assembly Cell. In: Proceedings of the 5' IEEE International Symposium on Assembly and Task Planning. Besanpon, France; 2003; p. 42-47.

[21] Park HS, Anh DBH, Lee GB. Development for Automatic Control System. In: Proceedings of the Third International Forum on Strategic Technologies (IFOST 2008). Novosibirsk, Russia; 2008; p. 421-424.

[22] Xu LD, Wang C, Bi Z, Yu J. AutoAssem: An Automated Assembly Planning System for Complex Products. IEEE Transactions on Industrial Informatics 2012; 8(3); p. 669-678.

[23] Decré W, De Laet T, Rutgeerts J, Bruyninckx H, De Schutter J. Application of a Generic Constraint-Based Programming Approach to an Industrially Relevant Robot Task with Geometric Uncertainties. In: International Conference on Computer as a Tool EUROCON. Warsaw, Poland; 2007; p. 2620-2626.

[24] Johansson R, Robertsson A, Nilsson K, Brog1ardh T, Cederberg P, Olsson M, Olsson T, Bolmsjö G. Sensor integration in task-level programming and industrial robotic task execution control', Industrial Robot: An International Journal 2004; 31(3); p. 284-296.

[25] Kojima S, Hashimoto H. 3-D CAD Data Oriented Self-planning of Assembly Robot Cell Systems. In: Proceedings of the IEEEYASME International Conference on Advanced Intelligent Mechatronics, Atlanta, USA; 1999; p. 484-489.

[26] Büscher C, Kuz S, Ewert D, Schilberg D, Jeschke S. Kognitive Planungs- und Lernmechanismen in selbstoptimierenden Montagesystemen. In: Automation 2011, 12. Branchentreff der Mess- und Automatisierungstechnik. Baden-Baden, Germany; 2011; p. 335-338.

[27] Chen H, Xi N, Sheng W, Chen Y, Roche A, Dahl J. A general framework for automatic CAD-guided tool planning for surface manufacturing. In: 2003 IEEE International Conference on Robotics and Automation (ICRA). Taipeh, Taiwan; 2003; p. 3504-3509.

[28] Reinhart G, Zaeh MF, Hatwig J. Automated Task Planning for Industrial Robots and Laser Scanners for Remote Laser Beam Welding and Cutting. Production Engineering 2010; 4; p. 327332.

[29] Backhaus J, Ulrich M, Reinhart G. Classification, Modelling and Mapping of Skills in Automated Production Systems. In: Proceedings of the 5th International Conference on Changeable, Agile, Reconfigurable and Virtual Production (CARV 2013), Munich, Germany; 2013; p 85-89.

[30] Prommer J, Schleipen M, Beyerer J. PPRS: Production skills and their relation to product, process, and resource. In: Proceedings of the 18th IEEE Conference on Emerging Technologies and Factory Automation ETFA. 2013; p. 1-4.

[31] Cândido G, Barata J. A Multiagent Control System for Shop Floor Assembly. In: Proceedings of the 3rd international conference on Industrial Applications of Holonic and MultiAgent Systems; 2007; p. 293-302.

[32] Levi P. Aufbau des aufgabenorientierten Planungssystems für optimal Montagefolgen APOM. Planen für autonome Montageroboter, Informatik Fachberichte. 1988; 191; p. 93-175.

[33] Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M. A System of Patterns.1rd ed. New York: Wiley; 1996.

[34] Humburger R. Konzeption eines Systems zur aufgabenorientierten Roboterprogrammierung. Ph.D. dissertation, RWTH Aachen. Aachen :Shaker Verlag; 1997.