Svenja Korder

Barbara Tropschuh

Gunther Reinhart

A Competence-Based Description of Employees in Reconfigurable Manufacturing Systems

Keywords: Human-centered reconfigurable manufacturing systems (RMS), competence-based classification, human-machine-interaction

The increasing demand for customer-specific, cost-effective products with shorter production times is shaping the industrial production environment. Therefore, both human workers and machines must react to these changes with greater flexibility and productivity. This paper shows a procedure to plan the employee ideally into the Reconfigurable Manufacturing Systems (RMS). The approach systematizes the competences of employees and enables an assessment of different expertise levels to finally realize a flexible integration of them into the constantly changing work environment. Therefore, the competencies of employees must be opposed with the needed skills so that the work processes can be executed adequate according to the product requirements. When this procedure is finally described digitally, companies will be able to realize a flexible workforce planning in the RMS, which is not possible so far.

Introduction

Today's production environment is characterized by individual customer requirements, shorter product life cycles, increasing cost and time pressure [START_REF] Qin | A Categorical Framework of Manufacturing for Industry 4.0 and Beyond[END_REF]. RMS enable to cope with this high variance of customized products with variable work processes in a flexible work system. RMS are flexible, rapidly adaptable assembly systems regarding production capacity, functionality and system structure [START_REF] Koren | Reconfigurable Manufacturing Systems[END_REF][START_REF] Michniewicz | CAD-Based Automated Assembly Planning for Variable Products in Modular Production Systems[END_REF]. Capacitive oversupply and a lack of capacity can thus be avoided [START_REF] Koren | Reconfigurable Manufacturing Systems[END_REF]. Due to the variable manufacturing system, the workplaces and the work tasks change in a frequent manner for the employee [START_REF] Elmaraghy | Quality prediction for reconfigurable manufacturing systems via human error modelling[END_REF]. In the context of this paper, a procedure for a competence-based integration of workers into a RMS is presented. The detailed digital description of human competences is part of the virtual representation ("Digital Twin") of workers, which can be used for an automated workforce scheduling. Following the introduction, the paper is structured in four further sections. Section two gives an overview of the current state of research and the objectives we want to achieve. Afterwards, section three introduces the development of a model to describe the employees' competences to simplify personnel planning in RMS. Section four discusses possible application scenarios of the developed assessment including solutions to compensate competence gaps of worker. Finally, section five summarizes the paper and gives an outlook on further research contents.

Current State of Research and Research Goal

In this paragraph, five approaches for possible descriptions of machine skills and competences of human workers in a production environment are presented.

Reference [START_REF] Hammerstingl | Skills in Assembly[END_REF] presents a taxonomy for the digital description of skills of automation devices in assembly. The aim is to optimize their comparison with the requirements of the work task. The assembly machinery offer their capabilities to the manufacturing system. Subsequently, other systems can search for required functions and use them to perform their working tasks. A functional analysis of both, the production process and the operating resources, leads to more flexibility in planning and application of resources. This allows an automated configuration and ad-hoc integration of equipment according to the plug & produce approach. The focus of this approach lies on the reconfiguration capability of assembly systems, for which reason the employee and his capabilities are not taken into account.

A more human-oriented way to digitally describe capabilities, but still not adaptable to the aim of the present project is considered by [START_REF] Tarasov | Ontology-Based Competence Management for Team Configuration[END_REF]. This approach uses an ontological representation to identify and configure team members for interdisciplinary teams in production networks based on competence profiles. They take into account competences such as problem solving, planning, technical, or language expertise as well as general and specific information of the individual team members i.e. their geographical location and phone number. The method of [START_REF] Vernim | Sind unsere Mitarbeiter für einen Einsatz in der digitalen Fabrik richtig qualifiziert? Ermittlung zukünftiger Mitarbeiteranforderungen in der Smart Factory[END_REF] includes a comparison between employee qualifications and job requirements. The comparison focuses on changes caused by digitization and thus new challenges for the employee. The approach is prospective and provides companies with guidelines in the changing world of work. After applying the method, companies can derive qualification measures to prepare their employees for work in digital production.

A similar procedure was developed in the research project by [START_REF] Decius | The Competence Management Tool (CMT) -A New Instrument to Manage Competences in Small and Medium-sized Manufacturing Enterprises[END_REF]. The resulting procedure is used for strategic personnel development, especially in small and medium-sized enterprises (SMEs). In order to meet future challenges, SMEs can strategically align the competence profiles of their employees using the competence management tool developed. Professional, interpersonal, methodical and knowledge-based competences are the basic categories of the developed tool, into which the different tasks of the job description can be placed. The comparison of actual and target profiles on the basis of four different competence levels then shows the competence gaps that SMEs have to close. Since these approaches consider future changes in the digitized world of work, and do not take into account the requirements of an employee-matching to machine skills, it cannot be applied exactly to the conditions for employees in RMS.

A further human-centered approach is outlined by [START_REF] Vernim | Towards Capability-Based Worker Modelling in a Smart Factory[END_REF], in which individual capabilities of a human worker are described using a standardized taxonomy. The worker model contains two main aspects: individual human-related information and work-related capabilities. The latter contains the competences necessary for the concrete task execution, e.g. filling or joining by reforming. Three performance levels are distinguished for each competence: beginner, advanced and expert. Human-related information contains for example core capabilities or an individual fatigue level. The focus of this taxonomy is on the first conceptual presentation of a comparison between the abilities of humans and those of machines. However, the detailed level and a transferable description of human and machine capabilities are not yet sufficient for a precise matching. In summary, it can be stated that there are already approaches that describe the employee and its competencies. However, among these there is no approach suitable for a digital description and thus an automatic planning and distribution of work tasks between men and machine. There is a lack of a standardized system for the optimal matching in the RMS. Such an approach is introduced in greater detail below.

Development of a Competence-Based Classification for Employees in Reconfigurable Manufacturing Systems

Argumentation of the positioning of the approach. As already described, RMS help to meet challenges such as short innovation cycles or products with many variants. By being able to react quickly and economically to sudden changes in market, RMS provide a remedy [START_REF] Wiendahl | Changeable Manufacturing -Classification, Design and Operation[END_REF]. However, changes in the manufacturing system also affect other actors in the work system. The employee is a central component of it. If individual modules or functions i.e. in an assembly line change, it must be verified whether the employee is still able to fulfill his work task accordingly [START_REF] Elmaraghy | Quality prediction for reconfigurable manufacturing systems via human error modelling[END_REF]. With this in mind, a procedure is required which simplifies the way to perform this verification. As shown by [START_REF] Hammerstingl | Skills in Assembly[END_REF], there are already attempts to describe machine skills to execute an automated resource planning. The aim of this article is to enable automated resource planning not only for production machines but also for employees in the work system. Therefore, a system has been developed which classifies, structures and assesses the competences of the worker in order to enable an easy and flexible personnel deployment planning.

The RMS is an operating resource and represents as such an element in the work system (see Figure 1). According to [START_REF] Refa | Planung und Gestaltung komplexer Produktionssysteme[END_REF], further elements of the work system are the human worker, the work piece, the work task, the workflow, the input and output as well as environmental influences. These elements interact with each other. For example, the work task is fulfilled through the interaction of people and resources. The replacement of individual modules of RMS results in a change of the operating resource and thus in a change of a system element in the work system. Since this interacts with the human worker, the company must verify what this change means for him/her, and whether the human worker is still able to fulfill his or her task. The analysis of the working system and the interaction of its elements help not only to achieve an optimization of the entire system, but also to meet the human criteria of good work and valid legislation. For example, the Civil Law Code enshrines the employer's duty of care [START_REF] Schlick | Arbeitswissenschaft[END_REF]. Ergonomic evaluation methods of work want to provide a damagefree work for humans and evaluate physical and anthropometric aspects and has to be realized when changes become effective at the work place. With RMS in the work system, however, the demands on people with regard to the required competences can also change, which are neglected in ergonomic evaluation methods. Thus, a method is needed to do so.

Competence modelling and characterization approach. Humans in the working system can be described by the four types of competences [START_REF] Tropschuh | Ableitung von Kompetenzanforderungen: Methode für die manuelle, digitalisierte Montage[END_REF][START_REF] Erpenbeck | So werden wir lernen![END_REF]. The employee needs personal competences, activity-and implementation-oriented competences, technicalmethodical competences as well as social-communicative competences in order to be able to fulfill the work task with the aid of resources (see Figure 1). Personal competences are skills to be wise and critical of oneself, to develop productive attitudes, values and ideals. Activity-and implementation-oriented competences are abilities to implement all knowledge, the results of social communication as well as personal values and ideals in a strong and active way as well as to integrate all other competences. Technical-methodical competences are abilities combined with technical and methodical knowledge, to creatively master even almost unsolvable problems. People with social-communicative competences are able to work together and interact with others, they can cooperate creatively and communicate. [START_REF] Erpenbeck | So werden wir lernen![END_REF] These four types of competences represent the basic characterization of the systematics for the competence-based employee description in the RMS (see Figure 2). The types of competences can be further differentiated. From the competence atlas according to [START_REF] Erpenbeck | So werden wir lernen![END_REF], subcategories can be taken which are exemplarily shown in Figure 2 (e.g. loyalty, execution readiness, communication skills, etc.). If a company wants to match the changed requirements with the employee's competences, specific subcategories that are required at the given workplace can be chosen from the competence atlas. The technical-methodological competences of the employee are particularly important in this comparison, as they enable the employee to implement a work task operationally. Within the scope of this contribution, these will therefore be examined in focus and detail. In the context of the application field, the assembly, activities can be seen under the technical and methodical competences recording to German standards (VDI 2860, DIN 8593 and DIN 8580) [START_REF] Lotter | Montage in der industriellen Produktion: Ein Handbuch für die Praxis; mit 16 Tabellen[END_REF]. These are joining, handling, checking, adjusting, and special operations and have also been included with their individual activity modules in the depicted system. Based on the system described, the changed requirements can now be compared with the competences of the employee.

Figure 2: Systematics for a competence-based employee description

Comparison between available and required competences. In order to enable the user to assess the level of expertise additionally, the system is to be supplemented by the expertise model according to [START_REF] North | Kompetenzmanagement in der Praxis[END_REF]. In this model the qualitative development of competences is described in three stages:

Stage A (competences are poorly developed). At level A, the employees have basic knowledge with little application experience and are able to carry out specified tasks in a familiar learning and working situation with preparation.

Stage B (distinctive competences). Multiple experience in applying the knowledge in concrete professional situations, projects or processes is existing. The employees react to new, unforeseen situations with appropriate professionalism. They have differentiated knowledge and understand tasks and problems in their familiar working environment. They choose from a repertoire of possible actions to work on and solve tasks independently.

Stage C (strong competences).

Employees have broad and in-depth specialist knowledge as well as diverse experience from various contexts. They are therefore able to anticipate problems completely self-organized, intuitively and find new solutions. They master the management of complex and new tasks and make valuable contributions to the further development of their organization, their field of work or discipline. An evaluation of the requirements of the work system and the competences of the employee is depicted in Figure 3. The grey dots present the given requirements according to the level of expertise in order to make them comparable by supplementing the competences of the employee, represented by the squares. The comparison reveals gaps that need to be closed to continue the deployment of the employee at the workplace. Up to now, there has been no approach that enables flexible personnel deployment planning in RMS. The combination of the four types of competences, the assembly activities and the stages of expertise presented in this paper now enables an automated scheduling.

Possible Application Scenarios

The presented assessment (Figure 3) shows a competence gap in assembling, where the employee experiences are poor and the requirements are high. In order to ensure that the work tasks are fulfilled in an appropriate quality, the company has to close the given gap. Below, three application scenarios of the given assessment with solution approaches to close the gap are presented:

Usage of an individual worker information system.

In reconfigurable, flexible manufacturing systems, the worker has to adapt constantly to the changed work tasks, which significantly increases the complexity for the employees. According to [START_REF] Teubner | Improving Worker Information -Proposal of a Dynamic and Individual Concept[END_REF], a generally valid presentation of worker information is not sufficient for a successful execution of a task. Consequently, the displayed information should be adapted to the individual experience of the worker and the production context. Therefore, an individual information system guides the employees through the working process at the best. By the usage of such a system, lower competences of the worker could easily be balanced out.

Qualification measures for employees. If the worker's competences do not match the skills required to perform the task, specific training measures can be used to provide selective employee qualification. On the job or off the job trainings would be suitable to educate the employee further. Additionally on the job trainings could bridge idle times, which is a further benefit for the company. Development of a rotation plan. Another possibility to close the gap created would be a rotation plan. By establishing a competence matrix of all employees of a company a simple algorithm could reassign the employees to the work stations changed by the RMS. However, this would mean a high initial effort and is only practicable if the working environment and work organization allow a rotation. A balanced workload of the employees should also be taken into account, as well as the willingness of the employees to change stations frequently or flexibly.

To decide which of the three proposed solutions fits best, the needs of the employees as well as those of the company should be considered. If, for example, the employee is not willing to perform the work steps with an assistance system and is not familiar with the operation of such a system, the first scenario would not be recommendable. On the other hand, an assistance system could be too expensive for the company or the setup of such a system could be too time-consuming for the corresponding use case. The situation is similar with scenario two and three. In order to achieve a good and productive work system, it is always necessary to balance the economic aspects of a company with the availability, motivation and willingness of its employees.

Conclusion and Outlook

The presented assessment is an approach to a description of worker abilities. The combination of the four types of competences with the defined assembly activities and the three stages of expertise is a completely new approach and should lead in the long term to automated and flexible personnel deployment planning. In the coming years this assessment will be further developed at the Institute for Machine Tools and Industrial Management at the Technical University of Munich.

For the implementation of such an assessment, competences of the worker cannot be included on a one-off basis in the assessment, since the dynamic acquisition of competences must also be taken into account. In order to keep the maintenance effort of the assessment as low as possible, an automatic recording of the competence development would be conceivable. For example, competence development would be recorded by an individual error rate or by regular performance appraisals of the supervisor using a standardized, digital evaluation sheet.

In addition, it would be possible to integrate the presented assessment into the production cost planning by taking into account not only the conversion times of the plants, set-up costs and downtimes, but also the availability and competence level-dependent costs of the workers. An extension of the automated and optimized assembly planning of [START_REF] Hashemi | Decision Support System for Joint Product Design and Reconfiguration of Production Systems. Under Review[END_REF] would be possible.

Even if the creation of such an automated employee planning tool means a high initial effort for a company, it should not be neglected that without such a tool the flexibility trends in a digitized working environment will be difficult to meet. The developments in production lead to a constant flexibilization of work processes, therefore it is of great importance to also make the work organization more flexible in the future.

Figure 1 :

 1 Figure 1: Human and RMS in the work system

Figure 3 :

 3 Figure 3: Comparison of the work system requirements and the employee's competences


Shunsuke Iitsuka
email: iitsuka@kaede.cs.kobe-u.ac.jp

Nobutada Fujii
email: nfujii@phoenix.kobe-u.ac.jp

Daisuke Kokuryo
email: kokuryo@port.kobe-u.ac.jp

Toshiya Kaihara
email: kaihra@kobe-u.ac.jp

Shinichi Nakano
email: shinichi_nakano@pref.hyogo.lg.jp

CNN-based Growth Prediction of Field Crops for Optimizing Food Supply Chain

Keywords: agriculture, convolutional neural networks, food supply chain

Along with the aging of the Japanese agricultural population in recent years, the nation's food self-sufficiency rate has declined. The vitality of agriculture has also declined. This study specifically examines the food supply chain to integrate farm production, manufacturing, and sales. For the food supply chain, it is necessary to ascertain the harvest time of field crops for establishing proper sales strategies. A method to predict harvest time from field crop images using convolutional neural networks (CNN) is proposed. Then the effectiveness of the proposed method is verified using computer experiments. Results show that the discrimination rate is high in the early stage of the growth, even if misclassification occurs. Labels close to the correct answer are predicted. However, the discrimination rate is not so high and the deviation from the correct answer becomes greater in later stages of growth.

Introduction

Along with the aging of Japanese agricultural population in recent years, the food self-sufficiency rate has also declined. The vitality of agriculture has also declined [1]. Revitalizing agriculture requires optimization of the food supply chain, which combines agriculture as a primary industry, manufacturing industry as a secondary industry, and retail industry as a tertiary industry [START_REF]Logic and development direction of sixth industrialization -Construction of value chain and promotion of innovation[END_REF]. The food supply chain has four main actors: farmer, farmer manager, vendor, and consumer. To fulfill their role of establishing proper sales strategies for sellers, managers must infer the harvest time of field crops. At present, managers visit farmers to infer harvest times. Such visits entail time costs and other costs. Therefore, a method to predict field crops' growth from these images is proposed to support managers.

In recent years, deep learning has prospered. Convolutional neural networks (CNN) are said to be effective for image recognition [START_REF] Krizhevsky | Imagenet classification with deep convolutional neural networks[END_REF]. For this study, a CNN is used to address difficulties of growth inference for head lettuce.

An earlier report [START_REF] Kamilaris | Prenafeta-boldu: Deep learning in agriculture: A survey[END_REF] described studies of crop classification, disease detection, crop counting, etc. Nevertheless, few reports have described studies that have predicted growth. Furthermore, no report of the relevant literature has described a study of head lettuce. This study specifically examines head lettuce growth prediction.

Proposed method

An overview of the proposed method is portrayed in Fig. 1. The lettuce image is input with all pixels for each channel of RGB. Then the leaf age is output, which represents the number of leaves. The proposed method has two stages: the image processing stage before forming input images and the image discrimination stage in CNN. In the image processing stage, all image ratios are adjusted, the target ranges of all images are cut out. The image size is changed. Furthermore, the image is classified into 𝐺 group (𝐺 = 21 in this research) according to the leaf age. Subsequently, one image is selected randomly in each leaf age group and is used as a testing image. The remaining images are used as training images. To improve the discrimination accuracy, training images in each group are increased to 𝑁 (𝑁 = 100 for this study). Subsequently, the image is input to CNN for discrimination.

The breed of target lettuce is "elegant," cultivated in Minamiawaji city during 2015. The photograph frequency is once weekly.

Image processing

Adjusting image ratio and cutting out. The lettuce's image is adjusted and cut to 30 cm × 26 cm size to fit the gap separating two lettuces, as presented in Fig. 2. Image size change. The image size is changed to input CNN. The 30 cm × 26 image size is changed to 75 pixels × 65 pixels.

Image classification.

A label is added to the image. In the previous research, the number of weeks after planting was given as a label [START_REF] Iitsuka | Growth prediction of farm products using convolutional neural networks[END_REF]. At this time, labels should be grouped according to the leaf age. The number of groups is 21 from four leaf ages to 30 leaf ages. Table 1 shows the number of images for each leaf age. Data augmentation. In CNN, a large dataset must be used to obtain high recognition accuracy [START_REF] Krizhevsky | Imagenet classification with deep convolutional neural networks[END_REF]. To get a large dataset, data augmentation that changes a few images to increase the images is said to be effective [START_REF] Wang | Effectiveness of Data Augmentation in Image Classification using Deep Learning[END_REF]. The number of training images is increased until the number of images in each leaf age group reaches 100 by data augmentation. To increase the number, we reverse the image, and change the brightness and contrast of the image until the number of images reaches 100.

Image discrimination

The CNN used in the proposed method is depicted in Fig. 3. As depicted in Fig. 3, there are two convolutional layers, two pooling layers, and three fully connected layers.

The convolutional layer performs an operation to convolve the filter on the input. The input sized 𝐻×𝑊 in each channel is convolved with 𝐿×𝐿 sized filters. The output for one channel is calculated such as Equation (1) if the input is set as 𝑦 ,-. 𝑖, 𝑗, 𝑘 ∈ 1, 𝐻 × 1, 𝑊 × 1, 𝑁 and the filter as ℎ ,-. 𝑖, 𝑗, 𝑘 ∈ 1, 𝐿 × 1, 𝐿 × 1, 𝑁 .

In this study, the input size is set to 75×65×3. The first convolutional filter size is 5×5×40. The second convolutional filter size is 5×5×50.

𝑥 ,-= 𝑦 ,;<,-;=,. ℎ <=. > =?@ > <?@ + 𝑏 .

C

.?@

(1)

Pooling is defined as discarding extra information for recognition from extracted features and converting it into a new representation that retains information necessary for recognition. Unit 𝑖, 𝑗 of the pooling layer collects the output 𝑦 <= of the internal unit 𝑝, 𝑞 ∈ 𝑃 ,-for a small area 𝑃 ,-of a part of the input layer. In this study, maximum pooling is used as expressed by Equation [START_REF]Logic and development direction of sixth industrialization -Construction of value chain and promotion of innovation[END_REF]. In this study, the size of 𝑃 ,-is set to 2×2 in each pooling layer.

𝑦 ,-. = max ∈J KL 𝑦 <=.

(2)

In addition, the ReLU function expressed by Equation ( 3) is used after the output of the convolutional layers and the fully connected layers. In Equation ( 3), 𝑥 -represents the input.

𝑓 𝑥 -= max (𝑥 -, 0)

(3) Furthermore, in the classification problem such as the one examined for this study, the final output is assigned the same number of units as the classification group. The output of these units is not the activation function but the softmax function expressed by Equations ( 4) and [START_REF] Iitsuka | Growth prediction of farm products using convolutional neural networks[END_REF]. At the time of discrimination, the index 𝑗 = argmax -𝑝 -, in which 𝑝 -takes the maximum value, is output as the expected group.

𝑝 -= 𝑒 T L 𝑒 T U V .?@ (4)
𝑝 -= 1 V -?@

(5) Adam [START_REF] Kingma | Adam, A method for stochastic optimization[END_REF] is used as a learning algorithm. By this learning method, batch processing is used to reduce the processing time for each image. The algorithm is not used to input images one by one, but to input and process plural images. At this time, the number of input images is called the batch size. In addition, one learning term is found from the input of the image for the batch size until the update of the weight is completed. Furthermore, the number of times during which all training images are input and the weight update is completed is called the epoch.

Computational experiment

To confirm the effectiveness of the proposed method, computer experiments were conducted. The leaf age of the 21 groups above is discriminated using the proposed method. One image randomly extracted from each group is used as the testing image. The remaining images are used as training image. Learning is performed using the training image. The training images and the test images are discriminated.

Experiment conditions

The experiments were performed under the following conditions. • Learning rates: 0.001

Result

First, results for the discrimination rate are shown. Table 2 presents the mean and standard deviation of the discrimination rates for the five trials, and shows the results for the 20th epoch. 2, the discrimination rate at the end of the 20th epoch was 99.8% for the training image and 30.5% for the testing image. It is apparent that the testing image does not improve the discrimination rate even as the learning of the training image progresses.

Table 3 shows the discrimination rate for each leaf age in the testing images. Table 3 shows that the discrimination rate is high when the leaf age is less and not so high when the leaf age is greater. When the leaf age is less, i.e., less than leaf age 14, the difference from the correct answer is within 2, even if it is misclassified. By contrast, when the leaf age is greater, i.e., leaf age 15 or more, the label which is far from the correct answer is predicted, when it is misclassified. It is considered that the original number of images affects the results obtained for each leaf age. As Table 1 shows, it is apparent that the images of leaf age 15 or greater are fewer than the images of leaf age 14 or less. Learning is insufficiently achieved because the original images are few.

The anomaly of the discrimination rate for leaf age 11 and 24 is explained next. The reason for the low discrimination rate even though the number of leaf age 11 images is 28 might be an error in labeling. As described above, the image of leaf age 11 is also predicted within 2 before and after the correct label. The discrimination rate of leaf age 24 is higher than that of the front and rear leaves because the number of images is greater than that of the front or rear leaves: CNN can learn the training images on a relative basis.

Conclusion

A method to predict leaf age has been proposed. Predicting leaf age engenders knowledge of the harvest time to optimize the food supply chain. The results obtained using the computer experiments showed a high discrimination rate for less leaf age. However, for greater leaf age, the discrimination rate is not so high, partly because the number of original images is small. Future studies will include consideration of the increase in the number of images and application to the food supply chain.

Fig. 1 .

 1 Fig. 1. Overview of the proposed method.

Fig. 2 .

 2 Fig. 2. Trimming to 30 cm × 26 cm.

Fig. 3 .

 3 Fig. 3. CNN used in the proposed method.

Table 1 .

 1 Number of images for each leaf age.

	Leaf age	4	5	6	7	8	9	10	11	12	13
	No. images	48	46	35	13	28	19	24	28	19	32
	14	15	16	17	18	21	22	23	24	27	30	sum
	22	10	6	5	4	2	2	2	3	2	2	352

Table 2 .

 2 Discrimination result (%).

		avg.	S.D.
	training	99.8	0.003
	testing	30.5	0.06
	From Table

Table 3 .

 3 Discrimination rate for each leaf age (%).

	leaf age	4	5	6	7	8	9	10	11	12	13
	avg.	100	60	80	40	60	20	40	0	20	80
	S.D.	0	0.49	0.4	0.49 0.49	0.4	0.49	0	0.4	0.4
	14	15	16	17	18	21	22	23	24	27	30
	60	20	20	0	0	0	0	0	40	0	0
	0.49	0.4	0.4	0	0	0	0	0	0.49	0	0


Marius Greger

Daniel Palm
email: daniel.palm@reutlingen-university.de

Louis Louw

Konrad Von Leipzig

Konrad Von Leipzig

Classification of optical technologies for the mapping of production environments

Keywords: Optical Indoor Localization Systems, Cameras, Marker-based Tracking, changeable and reconfigurable manufacturing

scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

In order to meet the requirements of Industry 4.0, a high degree of adaptability of production systems is required [1]. In this context, there is a focus on the so-called smart factory, in which people, machines, objects and products are intelligently linked with each other through the provision of hardware and software. This enables increasing automation and autonomous reaction to unpredictable events. [2] For this purpose, embedded systems are integrated into objects, devices, buildings, forklifts as well as into production facilities and logistics components, whereby these become cyber-physical systems (CPS). These systems, also known as intelligent objects, can then autonomously and decentrally communicate with each other and optimize themselves. The result is a virtual image of reality, which is continuously updated with the help of real-time data. [3] Westkämper [START_REF] Westkämper | Zukunftsperspektiven der digitalen Produktion[END_REF][START_REF] Westkämper | Integration in der digitalen Produktion[END_REF] considers the ability to unambiguously identify and localize objects and the individuality of systems, processes, objects and products as well as the controllability of the increasing complexity to be particularly important. Indoor positioning systems (IPS) are architectures of tags, location sensors, a locating engine and a locating application that can be used to determine the position of a person or an object in buildings [START_REF] Hohenstein | Systementwurf und Umsetzung einer funktionsintegrierenden Gabelstaplerlokalisierung für eine wandlungsfähige und effiziente Transportausführung[END_REF]. Tags are used as spatial reference points or for unambiguous identification and the location sensor provides ID and position values. The location engine uses this data to derive the actual position of the specific location object. The location application is the software solution for further processing the position data [START_REF] Malik | RTLS for dummies[END_REF].

Positioning can be relative or absolute. The relative positioning determines the position of the location object relative to a reference point. In absolute position determination, the position is specified in a global coordinate system [START_REF] Youssef | Indoor Localization[END_REF]. A variety of systems and technologies using different algorithms, techniques and technologies are available for the unambiguous identification and localization of objects, which differ in their degree of maturity and their performance [START_REF] Sakpere | A State-of-the-Art Survey of Indoor Positioning and Navigation Systems and Technologies[END_REF][START_REF] Lymberopoulos | A realistic evaluation and comparison of indoor location technologies[END_REF][START_REF] Brena | Evolution of Indoor Positioning Technologies: A Survey[END_REF]. Due to the high cost of these systems, they are actually only applied in a limited amount of scenarios, such as the navigation of autonomous transport vehicles [START_REF] Bubeck | Vom fahrerlosen Transportsystem zur intelligenten mobilen[END_REF]. In particular, optical indoor positioning systems (OIPS), which use cameras or other optical sensors to determine the position of localization objects in their field of view, [START_REF] Klopschitz | Visual tracking for Augmented Reality[END_REF][START_REF] Mautz | Survey of optical indoor positioning systems[END_REF], have proven to be precise and robust in industrial applications [START_REF] Essati | Staplerortung und -navigation[END_REF][START_REF]TotalTrax: Vehicle Tracking and Fleet Management[END_REF][START_REF] Logivations | Kamerabasierte Objekterkennung[END_REF]. Compared to radio-based approaches, which have also gained popularity, they are not influenced by reflections on metal, multipath propagation, interferences, scattering or absorption by liquids [START_REF] Mautz | Indoor positioning technologies[END_REF]. They are highly scalable and can work with tags that can be printed by the user inexpensively, or even without any tags. Therefore, they seem to be especially promising for the application within small and medium sized enterprises (SME).

Characteristics and Requirements of Indoor Location Systems

The wide field of application of indoor localization systems leads to a multitude of requirements. An overview of requirements mentioned in literature is given in Table 1.

The authors have been assigned to the requirements mentioned in their works. In the following section, a short description of the requirements is provided.

 Continuity refers to the ability of a system to repeat a certain function in time and space. An IPS is continuous if position determination is not limited to a few predefined measurements [START_REF] Hohenstein | Systementwurf und Umsetzung einer funktionsintegrierenden Gabelstaplerlokalisierung für eine wandlungsfähige und effiziente Transportausführung[END_REF].  Output data refers to the location data provided by an IPS, e.g. 2D or 3D coordinates, orientation, ID, etc.  Required infrastructure refers to the infrastructure needed for position determination that goes beyond the location sensor and the location engine. Mautz [START_REF] Mautz | Indoor positioning technologies[END_REF] distinguishes between OIPS with or without markers.  Accuracy refers to a numerical measure in a given metric unit and results from the deviation between nominal and actual position.  Coverage refers to the maximum range between an IPS and a location object, in which the object can still be identified and its position be determined.  Repeat accuracy or precision, describes the repeatability of a measurement result, given that the measurement is carried out under the same conditions.  Update rate refers to the frequency at which the position data can be determined by a system. An important aspect of the update rate is the latency, which is the time required by a system to determine the actual position of a localization object.  Scalability refers to the achievable number of localizable objects and structures.  Availability refers to the amount of time a system is available for use with the required accuracy and integrity.  Robustness refers to the resistance towards unwanted influences of a system, e.g. changes in temperature, reflections, occlusion, etc.  Architecture refers to the fact that systems can be realized in a way that the localization system is attached to the localization object, the position data are thus recorded directly at the object to be located (inside-out). In contrast to this approach in an outside-in approach, the localization system is attached to the infrastructure. Moreover, the number of localization objects, the required computing power and power supply are important aspects, as they influence the costs and the components of a system. Based on a literature review (see e.g. [START_REF]TotalTrax: Vehicle Tracking and Fleet Management[END_REF][START_REF] Mautz | Indoor positioning technologies[END_REF][START_REF] Zhang | Localization and navigation using QR code for mobile robot in indoor environment[END_REF][START_REF] Tilch | CLIPS -a camera and laser-based indoor positioning system[END_REF][START_REF] Hohenstein | Systementwurf und Umsetzung einer funktionsintegrierenden Gabelstaplerlokalisierung für eine wandlungsfähige und effiziente Transportausführung[END_REF]), the characteristics of the requirements were determined. The results are shown in Figure 1.

Application scenarios of OIPS

After the introduction of the requirements for OIPS in section 2, this section presents various application scenarios explored in the literature and clustered according to their main application area. A short description of the application scenario is given (see Table 2 and Table 3). The list of scenarios represents the use cases mentioned in literature.

The objective of the collection was not so much absolute completeness, but rather a representative selection, which makes it possible to assign the application scenarios to basic system configurations in the following section. Intelligent tool control Through the localization of tools and the intelligent analysis of this data, it is possible to determine and optimize the utilization. [START_REF] Schmidt | GeoCEP -RTLS und GIS unterstütztes Event Processing[END_REF][START_REF] Bespoon | Use Case Fabrik: Bringen Sie Intralogistik auf die nächste Stufe[END_REF] Inventory management Stocks are often unnecessarily increased because the storage location or filling level of containers cannot be determined. [START_REF]Management logistischer Informationsflüsse[END_REF] Navigation and localization of mobile robots

Equipped with an RTLS, mobile robots can find their way around in industrial environments. The determination of their absolute position at any time is crucial for optimal navigation. [START_REF] Siemens | Real-Time Locating Systems (RTLS) in der Produktion: Für ein digitales Unternehmen in Bewegung[END_REF] Optimization of routes Optimization of in-house transport routes to avoid empty runs and traffic jams.

Quality management

Reduction of picking errors, packed goods are counted and compared with the packing list. [START_REF] Logivations | Kamerabasierte Objekterkennung[END_REF][START_REF]Management logistischer Informationsflüsse[END_REF] Route inspection Before a transport process is started, the system checks whether the route is blocked or not.

Tracking of intralogistics transport vehicles

Current position determination of transport vehicles (e.g. forklifts, tugger trains) and their status. Optimization of availability, assignment, routes and transparency. [START_REF]Management logistischer Informationsflüsse[END_REF] Tracking of material flows, load carriers or workpieces Material movements can be recorded with Real-Time Locating Systems (RTLS) and passed on to higher-level system for analysis purposes and process optimisation. [START_REF] Hohenstein | Systementwurf und Umsetzung einer funktionsintegrierenden Gabelstaplerlokalisierung für eine wandlungsfähige und effiziente Transportausführung[END_REF][START_REF]Management logistischer Informationsflüsse[END_REF][START_REF] Pelka | [END_REF] Table 3. Application scenarios of optical indoor positioning systems (OIPS) in Production and Production-related Areas

Area Application scenario Description

Production Automation in production lines

The position data of work pieces or containers are used to improve automation in transportation and feeding processes avoiding delays in the production process. [START_REF] Schmidt | GeoCEP -RTLS und GIS unterstütztes Event Processing[END_REF] Digital twin of factory, layout of the production system Creation of the digital twin of the production system. The constant position determination of machines and vehicles enables the digital representation of the physical production system and the proactive reconfiguration of production systems. This information plays a decisive role especially in the case of increasing automation or even the introduction of autonomous system components. [START_REF] Schmidt | GeoCEP -RTLS und GIS unterstütztes Event Processing[END_REF] Intelligent tool control Depending on the position of a tool (e.g. a screwdriver) relative to a work piece to be machined, its control is automatically enabled. For instance the torque is adjusted depending on the tool position. [START_REF]Management logistischer Informationsflüsse[END_REF] Operational optimization The position determination of every single batch, tool and employee enables extensive process optimization by means of analysis. [START_REF] Bespoon | Use Case Fabrik: Bringen Sie Intralogistik auf die nächste Stufe[END_REF] Quality management Observation and reduction of assembly errors, [START_REF]Management logistischer Informationsflüsse[END_REF] Security Access control Monitoring of safety areas, increasing workplace safety. [START_REF]Management logistischer Informationsflüsse[END_REF][START_REF] Schmidt | GeoCEP -RTLS und GIS unterstütztes Event Processing[END_REF] Anti-theft protection Continuous presence check, inspection of a known object. [START_REF] Mautz | Indoor positioning technologies[END_REF] Evacuation management In emergencies (e.g. fire, release of dangerous substances, danger of terrorism, etc.) companies must be able to determine whether employees are still in the building and ideally in which areas. [START_REF] Lachmann | Indoor / Outdoor Lokalisierung -Anwendungsbeispiele[END_REF] 4

Classification of OIPS

The biggest challenge for (potential) users is the fundamental definition of the architecture and identification method of the overall system. While the technological capabilities of individual components can easily be adapted on the basis of the specific requirements of the scenarios, the decision whether the camera system is located on the object to be localized or not and if a marker-based system or a non-marker based like a feature-based-tracking system should be used. Therefore, four classes were formed based on their characteristics (see Table 4) and the application scenarios are evaluated to determine, which of these classes could be used to implement the respective scenario (see Table 5). The results show that the outside-in architecture where the localization system is attached to the infrastructure (Class 1 and 2) covers a significantly wider range of scenarios than the inside-out architecture. In practice, this gives an initial indication of a technology to be introduced if the concrete application is still unspecified. All scenarios except the self-navigation of mobile robots can be solved with the outside-in architecture. For a detailed specification, further aspects of Figure 1 have to be considered.

Table 5. Classification of optical indoor positioning system (OIPS)-scenarios

The minimum specification of an OIPS that can meet the requirements of all the scenarios listed in Class 1 must have an accuracy of better than 5 cm, a coverage of at least 10 meter, a frame rate of more than 15 frames per second (fps) to track moving objects, a periodic update rate, a latency of under 1 second, a high scalability, the ability to identify more than 50 objects, and use an active power supply. This gives users an indication how to set up an OIPS with a maximum of flexibility in relation to the scenarios. Individual application requirements of each scenario are shown in Figure 2.

Summary and Conclusion

In this paper, the literature in regard to IPS and OIPS was analyzed and application scenarios as well as their requirements and characteristics were derived. The classification framework can be used by practitioners to determine the technical requirements to realize a specific application scenario. It was shown that OIPS is a relevant technology that can cover a wide range of scenarios and that an outside-in architecture with localization system attached to the infrastructure (mounted set of cameras and marker-or non-marker-based identification and localization of the objects) covers a significant higher range of scenarios in the production environment that the inside-out architecture.

Here it could be proven that this architecture has the broader application possibilities.

The high proportion of low-cost computing power and image sensor chips on the market make cost-effective positioning solutions that can meet the requirements more attractive for a wider range of scenarios. This in combination with the possibility to paper-print a marker for identification purposes for literally no costs, opens up a costefficient realization of high number of scenarios presented and characterized.

  [START_REF] Hohenstein | Systementwurf und Umsetzung einer funktionsintegrierenden Gabelstaplerlokalisierung für eine wandlungsfähige und effiziente Transportausführung[END_REF]

Fig. 1 .

 1 Fig. 1. Requirements towards indoor positioning systems (IPS) and their characteristics

Fig. 2 .1

 2 Fig. 2. Optical indoor positioning system (OIPS)-application scenarios and their characteristics

Table 1 .

 1 Identified requirements towards indoor positioning systems (IPS)

	Author	Günthner	Hohenstein	Mautz	Liu et.al.	Han [21]	Malik [7]
		et.al.[19]	[6]	[18]	[20]
			Localization function
	Continuity		x	x			x
	Output data		x	x			x
	Required infrastructure		x	x			x
			Localization performance
	Accuracy	x	x	x	x	x
	Coverage	x	x		x	x
	Repeat accuracy	x		x
	Update rate	x	x		x	x
			Overall system
	Scalability	x	x	x	x	x	x
	Availability			x
	Robustness	x	x	x	x		x

Table 2 .

 2 Application scenarios of optical indoor positioning systems (OIPS) in Logistics

	Area Application scenario	Description
	Automatic goods recog-	Delivered goods can be automatically identified and posted directly
	nition at arrival	at the arrival. [17]
	Component search	Comprehensive localization of components and intermediate prod-
		ucts. [27]
	Logistics

Table 4 .

 4 OIPS-classes based on architecture and infrastructure

	Class	Architecture	Required infrastructure
	OIPS Class 1	outside-in	markers
	OIPS Class 2	outside-in	none
	OIPS Class 3	inside-out	markers
	OIPS Class 4	inside-out	none


Lisa Heuss
email: lisa.heuss@iwb.mw.tum.de

Andreas Blank

Sebastian Dengler

Georg Lukas Zikeli

Prof. Dr -Ing Gunther Reinhart

-Ing Jörg Franke

Modular Robot Software Framework for the Intelligent and Flexible Composition of Its Skills

Keywords: Autonomous robot, Configurability, Skills

Current trends such as mass customization necessitate an agile and transformable production. In this context, robotic technologies are seen as a key enabler. But, to date, industrial robots lack the flexibility to easily adapt to changing needs. Therefore, a modular skill-based software framework aiming for free configurability is presented here. A generic task control allows varying incoming tasks to be processed, based on the actual skills of the robot. In this way, the flexible composition of a robot's skills can be achieved, according to the actual situation.

Motivation

Customized products combined with the shortening and dynamization of product life cycles are challenging trends for the manufacturing industry [START_REF] Elmaraghy | Flexible and reconfigurable manufacturing systems paradigms[END_REF]. To stay competitive, robotic technologies are seen as a key driver towards achieving an agile and transformable production [START_REF]SPARC: Robotics 2020 Mulit-Annual Roadmap[END_REF]. Future robotic systems must be able to complete a wide variety of tasks at short intervals. Autonomous mobile robots in particular therefore demonstrate great potential [START_REF] Bøgh | Identifying and evaluating suitable tasks for autonomous industrial mobile manipulators (AIMM)[END_REF]. However, this is contrary to the current situation. Today's robots lack the flexibility and reconfigurability to respond to changing needs. Great system complexity requires well trained experts to develop and operate those systems [START_REF] Hvilshøj | Autonomous industrial mobile manipulation (AIMM): past, present and future[END_REF][START_REF]SPARC: Robotics 2020 Mulit-Annual Roadmap[END_REF]. Promising to overcome these shortcomings is the skill paradigm [START_REF] Hammerstingl | Skills in Assembly[END_REF][START_REF] Herrero | Skill based robot programming: Assembly, vision and Workspace Monitoring skill interaction[END_REF][START_REF] Kootbally | Implementation of an Ontology-Based Approach to Enable Agility in Kit Building Applications[END_REF][START_REF] Pfrommer | Modelling and orchestration of service-based manufacturing systems via skills[END_REF][START_REF] Rovida | SkiROS-A Skill-Based Robot Control Platform on Top of ROS[END_REF][START_REF] Stenmark | From Demonstrations to Skills for High-level Programming of Industrial Robots[END_REF][START_REF] Thomas | A new skill based robot programming language using UML/P Statecharts[END_REF][START_REF] Wenger | A model based engineering tool for ROS component compositioning, configuration and generation of deployment information[END_REF]. A skill refers to a functionality or service a system offers. By first dividing the robots' functionalities into these skills, they can be freely orchestrated regarding the given task. Within the scope of this paper, mobile robots should be enabled to autonomously take over varying production tasks, as coordinated and assigned by an superordinate planning system [START_REF] Heuss | Autonome mobile Roboter in der Smart Factory[END_REF]. The tasks considered include commissioning diverse machine parts, pre-assembling these during transport or supporting workers during assembly. The focus of this paper lies on the skill-based software framework of the robots and addresses two main goals. First, the robot's skills should be freely configurable and easily adjustable to the changing requirements. Second, the robot should be flexible regarding the task handed over by intelligently composing its skills based on generic task control. The following section presents the related work. Then, the skill-based software framework will be introduced in detail and evaluated within two applications. Finally, a conclusion will be given.

Related Work

In reviewing related work [START_REF] Hammerstingl | Skills in Assembly[END_REF][START_REF] Rovida | SkiROS-A Skill-Based Robot Control Platform on Top of ROS[END_REF][START_REF] Stenmark | From Demonstrations to Skills for High-level Programming of Industrial Robots[END_REF][START_REF] Thomas | A new skill based robot programming language using UML/P Statecharts[END_REF][START_REF] Wenger | A model based engineering tool for ROS component compositioning, configuration and generation of deployment information[END_REF] about the modeling of skills, hierarchical decomposition can be identified as a common key principle. Thereby, the primitives at the lowest level are the reoccurring sub-functions. Skills are composed of primitives and considered as reoccurring robot behaviors. Tasks refer to an ordered sequence of skills aiming to achieve a specific goal. Input and output parameters are used to permit the parametrization of skills [START_REF] Hammerstingl | Skills in Assembly[END_REF][START_REF] Stenmark | From Demonstrations to Skills for High-level Programming of Industrial Robots[END_REF]. The definition of preconditions and effects for individual skills allows for planning a skill sequence to achieve a given task [START_REF] Kootbally | Implementation of an Ontology-Based Approach to Enable Agility in Kit Building Applications[END_REF][START_REF] Rovida | SkiROS-A Skill-Based Robot Control Platform on Top of ROS[END_REF]. A common state machine can be used to provide generic status information during the execution of skills [START_REF] Hammerstingl | Skills in Assembly[END_REF]. Multiple approaches have been introduced for the application of the skill paradigm. Taking into account a whole production system, [START_REF] Pfrommer | Modelling and orchestration of service-based manufacturing systems via skills[END_REF] introduces a holistic framework for the flexible orchestration of devices, based on their offered skills. In a similar context, [START_REF] Hammerstingl | Skills in Assembly[END_REF] defines skills as solution-neutral and describes them in this way, semantically correlating to the tasks of a product assembly. Automated matchmaking thus becomes possible. These ideas correlate with the job the superordinate planning system should assume within this work. With regard to industrial robots itself, skill-based approaches play a significant role in facilitating robot programming, e.g in developing programming languages [START_REF] Thomas | A new skill based robot programming language using UML/P Statecharts[END_REF], skill-based programming systems [START_REF] Herrero | Skill based robot programming: Assembly, vision and Workspace Monitoring skill interaction[END_REF] or combining these with programming by demonstration techniques [START_REF] Stenmark | From Demonstrations to Skills for High-level Programming of Industrial Robots[END_REF]. [START_REF] Wenger | A model based engineering tool for ROS component compositioning, configuration and generation of deployment information[END_REF] introduce a development platform to configure the robot skills by choosing from reusable software modules which are then deployed as apps. These approaches provide a good insight into how to make the robot software freely configurable or how to teach the robot new skills. Some generic task control is however needed in order to coordinate the function call of its skills according to varying tasks sent by a planning system. [START_REF] Rovida | SkiROS-A Skill-Based Robot Control Platform on Top of ROS[END_REF] follows the trend of cognitive robotics and introduces SkiROS as a skillbased software architecture for robots, which allows them to autonomously plan and execute tasks based on their skills. [START_REF] Kootbally | Implementation of an Ontology-Based Approach to Enable Agility in Kit Building Applications[END_REF] present a similar concept, while their focus is more on the information models used. Both approaches show the potentials of superordinate task management within the robot architecture. However, to date, these approaches are only applied to kitting tasks and there is a need to extend these to other production domains. In summary, the initially stated requirements can not be fulfilled by the current state of the art. In order to be flexible regarding the tasks handed over, there is a need to encapsulate the software realizing a specific skill and provide a generic interface to use it. In addition, generic task management is needed, which works independently from the underlying skills. This is the prerequisite for allowing the easy composition of the robot's skills across the different domains of production.

Skill-based Robot Software Framework

In order to enable robots to autonomously complete varying tasks, a skill-based software framework is presented (see also [START_REF] Heuss | Autonome mobile Roboter in der Smart Factory[END_REF]). An overview is given in figure 1. The modular robot software framework consists of three consecutive layers. At the lowest level, the hardware components of the overall system are integrated, with the aim of hardware abstraction. The application layer provides the skills that enable the robot to achieve tasks. It is expected that robots in the future will have to achieve a diverse range of tasks within short time cycles. Furthermore, there are almost unlimited possibilities for combining the skills in different ways. As a result, it is not possible to store all related knowledge permanently in the robot. Therefore, thematically related skills are combined in an app. Similarly to in the consumer sector, a robot's apps can be freely configured in terms of the current task, or can even be downloaded on a situation-specific basis. Tasks are handed over to and processed by the task management layer. The skill-set manager is responsible for drawing up a list of all the skills the robot offers. It passes this list to the planning and control system. Based on a semantically correlating description of skills and tasks, automated matchmaking as suggested by [START_REF] Hammerstingl | Skills in Assembly[END_REF] or [START_REF] Pfrommer | Modelling and orchestration of service-based manufacturing systems via skills[END_REF] can be performed. In this way, tasks to be completed get assigned to suitable and available robots. These are then handed over to and processed by the task controller of the individual robot, which subsequently coordinates the execution of its skills. The application layer is further explained in section 3.1 and 3.2 and section 3.3 describes the task management layer.

Skill Set Manager

Modeling of Skills

Derived from the related work, primitive skills refer to the capabilities of a robot at the lowest level, which can not be further divided. Composite skills arise through the combination of primitive or lower-level composite skills and thus allow the modeling of complex robot behaviors on different hierarchy levels. As an example, by composing primitive skills like "move", "grip" and "measure pose", composite skills for "handling" can be achieved. As well as modeling skills on different hierarchy levels, skills can be described on different levels of abstraction. Within this context, abstract skills describe the robot capabilities independently of the executing hardware and the underlying operating principles, whereas specific skills inherit from abstract skills and take these into account. [START_REF] Heuss | Autonome mobile Roboter in der Smart Factory[END_REF] Thus, specific skills provide an opportunity to implement different building blocks for an abstract skill, which can be flexibly used depending on task-specific boundary conditions. For example, a gripper offers the primitive skill "grip"; by taking the operating principle into account, it can be separated between the two specific primitive skills "grip by force" and "grip by shape". Within this work an extended version of the skill taxonomy of [START_REF] Hammerstingl | Skills in Assembly[END_REF] is used as a basis for the abstract primitive and composite skills.

Modularization of Algorithms into Apps and Strategic Applets

The skill-modeling gives a functional view of the robot capabilities. These given principles are further used to modularize the underlying software architecture of the robot by encapsulating it into apps or rather applets [START_REF] Heuss | Autonome mobile Roboter in der Smart Factory[END_REF]. These consider the implementation view, build on the same structure and provide a generic interface containing a set of common control algorithms applied for all skills. An applet refers to the software implementation of a specific skill. An app is used as a generic construct to group a set of thematically-related applets into a software package, which together aim to perform a defined abstract skill. Applying these concepts raises the central question of the robust and flexible programming of skill-building blocks at the outset when developing the robot's software architecture. By doing so, user-friendliness as well as constant extensibility of a multi-layer architecture are decisively influenced. In this respect, the conception of the architecture's lower levels already proves to be critical. For the realization of abstract skills as encapsulated apps, algorithms are first integrated into the system as independent functions. Of importance in this respect is the identification and definition of program sequences and interaction areas, which are representative for the algorithmic execution of functionalities offered by specific skills. Code fragments can be programmed or extracted from existing programs. Interfaces of separated functions are their prototypes and describe the data types of their return value. Depending on the semantic and functional nature of an abstract skill, several algorithms can be identified as its technical specification in the form of a specific skill. In order to guarantee a maximum degree of adaptability and the continuous modularization of the architecture, it makes sense to continue collecting such functions in classes according to the guidelines of object-oriented programming. In addition to its functional character, a class is also coherent regarding semantics. Ideally, each skill should create a class with strategically flexible algorithms available to it, thus giving the entire model an intuitive character. Generally, a skill-building block can then be implemented by creating the class object representing an abstract skill in combination with accessing one of its strategically specified skills in the form of a class method. The result of this concept can be transferred to the framework of apps and applets (see figure 2) and is exemplified based on a bin-picking task frequently used within commissioning. In the presented work, ROS is used as implementation basis. Thus, the applet for the exemplary specific skill "measure pose with linemod algorithm" packages all software to run this process within ROS. In this way, the app provides the class-based collection of its strategic algorithms, which are then integrated within the applet. Strategy-based algorithms are similarly defined and used as can be seen in [START_REF] Hoffmann | Serviceorientierte Automatisierung von Roboterzellen: Modularität und Wiederverwendbarkeit von Software in der Robotik[END_REF]. The app can further group a set of thematically-related applets, building on this same class into one software package. Applets are supposed to interact with all software and hardware resources in relevant system layers to adequately manipulate data. The call of the applet is done from the higher task controller or it can be further used to implement a higher-level composite skill. In this case it is integrated into an applet providing the scripted behavior of a picking skill. In both cases, the higher-lying calling entity handles the transfer of relevant messages via defined interfaces to the next applet.

Generic Task Control

In order to control the skills by the superordinate task controller, the idea is to include a standardized control interface to every applet. This is illustrated in the bottom part of figure 3 for the aforementioned applet to implement the composite skill "pick object". The control interface is defined by a state machine based on the PackML Interface State Model [START_REF] Nøkleby | OMAC PackML Unit Machine Implementation Guide[END_REF]. Similar to the concept introduced by [START_REF] Hammerstingl | Skills in Assembly[END_REF], the applet's state machine describes its current execution status. The state machine furthermore introduces a set of control functions (marked italic in figure 3) that can be used to start, stop, pause or reset the applet. Expected, as well as faulty behavior can be monitored via the applet's feedback messages in the form of the current state within the PackML-based state machine. The functionality that is provided by the application layer is used by the superordinate task management layer in order to perform given tasks. The task controller of the robot receives varying tasks from the superordinate planning and control system (see figure 3). Tasks have a complex, nested structure of sequential and parallel actions. Within the task controller, these are modeled as hierarchical finite state machines. The task controller dynamically builds these task state machines at runtime, by recursively iterating through the nested task structure and adding the actions as states to the state machine. Based on the generic control interface provided by each applet, the task controller is able to process the task independently of its structure and the actions it uses. Within each state of the task state machine, the applet that offers the corresponding skill is addressed and controlled via the standardized generic control functions (see figure 3). Through the interface, the task controller is furthermore able to monitor the applet's execution. Faulty behavior of an applet can be detected and handled at task level. The task controller can additionally inform the planning and control system about the faulty behavior via status feedback.

Application Examples

Modular, skill-based bin picking: The methodology for the object-oriented modularization of skills is evaluated based on an existing bin-picking demonstrator. Figure 2 already showed a potential sequencing of specific primitive skills to achieve a composite picking skill. The system set-up is primarily concerned with recognition, 6D pose determination and robust picking of texture-less metallic machine elements from an associated industrial partner. In this way, the six primitive skills are processed as applets by a SMACH state machine [START_REF] Bohren | The SMACH High-Level Executive [ROS News[END_REF]. As shown in figure 1, encapsulated, strategy-specific functions are aggregated in semantically coherent classes for apps, as their methods and several applets based on class methods were created for each app. The actionlib [START_REF] Janssen | Integrating planning and execution for ROS enabled service robots using hierarchical action representations[END_REF] provided by ROS is used in this case as the syntactic framework for the latter, resulting in an encapsulated and intuitive way of working when sequencing them within the composite skill.

A first approach to implementing primitive skills with a focus on the lower layers of an architecture was successfully evaluated by the demonstrator.

Flexible task-handling for logistic tasks: The generic task controller for the automatic building and processing of tasks as well as the standardized applet control interface are evaluated on a simulated TurtleBot [14] equipped with an OpenManipulator [13]. The mobile manipulator implements multiple primitive and composite skills for performing logistic tasks. By making use of these skills, the robot is able to process tasks as sets of actions. Through the use of the generic task controller, these tasks do not need to be manually programmed within the robot's control software but can be passed to the robot in form of a nested JSON object. The task controller is able to automatically build a SMACH [START_REF] Bohren | The SMACH High-Level Executive [ROS News[END_REF] state machine and control the required applets through the standardized control interface. Additionally, it is possible to halt a running task by sending hold commands to the task controller. When errors are detected within an applet's execution, the task controller gets passed the information about them and stops its execution as well. Further behaviors for error recovery need to be considered within the skill implementation, whereas the applet already provides the organizational structure. Feedback about the preemption or abortion of tasks also gets passed to the planning and control system.

Conclusion

In order to enable autonomous mobile robots to easily adapt to changing needs, and to flexibly complete varying tasks coordinated by an superordinate planning system, a modular skill-based software framework is presented. First, to reduce complexity, skills are hierarchically structured into primitive and composite skills and are modeled on different levels of abstraction. These concepts are used to encapsulate the robot's software according to the guidelines of object-oriented programming into independent building blocks, referred as apps and applets. The free configurability of the robot's skills is thus achieved. The PackML state model is introduced as a common interface to control and monitor the execution of the robot's skills. In this way, a generic task control able to process tasks independently of their content and structure is achieved. Thus, the proposed architecture fulfills the prerequisites for use within various production domains.

Fig. 1 .

 1 Fig. 1. Overview of the skill-based robot software framework

Fig. 2 .

 2 Fig. 2. Exemplary interaction of strategic applets within a skill-based system

Controller Planning and Control System

		Skill Set	Task	Feedback
	Task
	Management
	Layer
		Move	Grip	Measure Pose		Handling
	Application Layer	Move PTP	Grip by Force	Yolo Linemod		Pick Object Place Object
		Move LIN
		Move CIRC	Grip by Shape	Check Identity Check QR	Navigation Navigate
	Hardware
	Abstraction	Manipulator	Gripper	Camera		Mobile Plattform
	Layer

Acknowledgments. The results presented in this article were developed within the FORobotics (AZ-1225-16) research network. The authors would like to thank the Bavarian Research Foundation and all participating project partners for their funding and support of the project.