In this context, ontology-based knowledge acquisition and factual inference as well as multi-agent technology are well perceived as key enablers for the autonomous control of highly fault tolerant and reconfigurable manufacturing systems.
The approach utilizes ontology as a formal means of expressing the system’s possible valid states. Through such an approach, the significance of the discussed approach can be summarized as:
1.1. Literature Review
The literature survey revealed three streams that are highly relevant to the work discussed in the paper. These are agent-based manufacturing, service-oriented architecture and ontology.
The work in [3
] has defined Multi Agent System (MAS) as a set of agents that are able to represent the objects within a system that can interact with each other, with the aim of achieving their individual goals, especially in cases where they possess little knowledge and/or skills. For a long time, software agents have been considered as a key technology for manufacturing-control applications, thanks to their operating principle, which relies on distributed architectures. This allows them to be designed in a way that decentralizes the control of the manufacturing systems, promoting the reduction of complexity along with enhanced flexibility. In the scope of MAS, heuristic approaches are used for planning and optimization, including, but not limited to, genetic algorithms, neural networks and fuzzy logic [4
]. Algorithms implementing agent-based control and MAS exhibit major benefits such as robustness, application feasibility flexibility and redeployability [5
]. Nevertheless, the adoption of the agent-based approach in industrial applications has been held back by issues related to the interfacing, synchronization and data consistency with existing information systems. To a certain extent, agents have been applied to address challenges related to the real-time control of customized mass production [7
], there is a description of a scheduling method in which a negotiation process for decision-making, among multiple agents, is used instead of pre-planned processes. In [9
], a negotiation-based control approach is proposed to address variability within a production system, where the involved agents are able to perform their operation in direct communication and interaction with each other. A self-reactive, cloud-based, multi-agent architecture is presented in [10
] to enable the subscribed agents, clients and production entities to exchange information in real time. In [11
], they presented an agent-based method for dealing with decision-making tasks in a decentralized manufacturing environment; their method was implemented into software, which was deployed within the premises of a textile production plant. The PRIME framework presented in [12
] adopts a MAS approach that can implement the reconfiguration of a production system by supporting plug and produce, and inherent monitoring capabilities for heterogeneous systems. In [13
], a large number of MAS patterns were compared, leading to the conclusion that they could greatly benefit the Cyber-Physical-Production-System (CPPS) design. In the same work, it was discussed that production that is based on MAS is an efficient approach to handling the complexity of CPPS development.
Service Oriented Architecture (SOA) concepts are used for facing the problems of interoperability in autonomous multi-agent systems. The SOA approach utilizes services as fundamental elements, enabling platform-independent implementation. When using the SOA approach, the controller of each smart device, such as a robot, vision element or material-handling element, encapsulates the functions that the actual device can carry out, also including the services that it can provide (e.g., moving the robot along a trajectory). Such services can be updated, added or deleted and are available to be called by the controllers of other smart devices. A Service-Oriented integration architecture relying on agents was introduced by [14
] to provide scheduling services for virtual enterprises operating under a common network. In [15
], they proposed agent-based smart manufacturing objects, at that time being managed through Universal Description, Discovery and Integration (UDDI), which is able to provide capabilities including registering, publishing, binding and invoking. Service Oriented Architecture (SOA), in the field of industrial automation devices, is mainly implemented by OASIS’s Devices Profile for Web Services (DPWS) as well as the OPC Unified Architecture (OPC UA) [16
]. DPWS is a set of specification constraints for secure Web Service messaging, discovery, description and “eventing” on resource-constrained devices. OPC-UA is probably the dominant communication technology for the factory-floor era, as it provides unified communication and interaction, especially when it comes to linking Programmable Logic Controller (PLC) and sensor data with existing Supervisory Control and Data Acquisition (SCADA) and Manufacturing Execution Systems (MES). In the field of robotics applications, the Robot Operating System (ROS) is another implementation option to be considered for implementing SOA. As in the case of web services and their “request” and “response” documents, which are defined by Universal Resource Locators (URIs), a ROS service is also defined by its name and the relevant request/response messages.
As far as knowledge management and exchange is concerned, typical multi-agent architectures may be considered to be implicit and stiff (e.g., [17
]). A critical deficiency is that the interpretation of the messages received is not explicit but is strongly encapsulated in the core code of each agent. This further complicates the system’s expansion and the incorporation of additional agents, since it would dictate that existing agents are reprogrammed to acknowledge and handle the new entities and states. To address these problems and to allow MAS to process knowledge in an automatic way so that inference of facts can be enabled, it has been proposed that multi-agent systems be extended with semantics. The semantics are often captured by an ontology. An extensive presentation of how ontologies have been applied in agent-based control applications is presented in [18
] along with a discussion on the commonalities between the different integration approaches. The reason for the ontology’s integration with multi-agent systems is that the explicit expression of agent semantics will enable them to operate differently when the knowledge base changes, apart from enabling the integration of new agents without the need to modify the code of the existing ones. Several studies have been conducted on the issue of representing the manufacturing systems using a modelling language along with the tasks that are performed by this system. One approach reported in [19
] is using the Unified Modeling Language (UML) to describe the manufacturing system.
Another approach presented in [20
], suggests the automatic initialization of each agent with a pre-created knowledge-base relying on semantic web technologies. Such an approach allows specification consistency checks and more efficient communication that is focused on aspects requiring real-time handling. In [21
], they present scalable and flexible agent-based manufacturing systems whose production plan is created by autonomous agents that exploit a semantic description of web-based artifacts. Reinhart and Krug [22
] proposed an approach that transfers the robots’ configuration and control information to a Configuration Manager, where a state model is synthesized. In [23
], a manufacturing ontology structure is proposed and includes four different aspects of automation systems: the (i) resource structure, (ii) process structure, (iii) product structure and (iv) production-order structure. In [25
], they presented an interesting approach to an automated configuration/reconfiguration of control software. In this work, the knowledge base is used to represent equipment-related information, including low-level functions as well as the relations to other entities. However, it does not support information regarding any other important manufacturing parameters, such as production requirements and process-monitoring data, required in order for coherent situation awareness, concerning all the manufacturing components operating in the region of interest being maintained. In [26
], an approach to designing modular assembly systems using ontologies is described and presented as a key enabling technology, Evolvable Assembly Systems (EAS). In a similar manner, an ontology-based agent with intelligent reasoning capabilities was used to enable the adaptive behavior of the production system against dynamic changes in the manufacturing requirements [27
]. However, in their approach, the reconfiguration agent was not integrated with the embedded controllers. In [28
], they presented an ontology-based model for the abstraction of equipment and components as a way of enabling interaction between them and achieving a “plug and produce” functionality.
1.2. Case Study Overview and Technology Selection
The approach proposed in this work is applied in a case study that involves the automated configuration and real-time coordination of robotic operations for the welding of a car floor. A laboratory robotic assembly cell with typical industrial components and the use of real process data from the automotive industry is considered. This robotic assembly cell consists of two commercial robots, which are used to perform spot welding on passenger-vehicle floor parts. The layout of the assembly cell is depicted in Figure 1
. The cell comprises the following robots:
A Comau Smart NJ 130, which is equipped with a spot-welding gun (robot depicted on the left-hand side of Figure 1
A Comau Smart NJ 370, which uses a semi-flexible gripper that can hold both parts simultaneously (robot depicted on the right-hand side of Figure 1
b). The gripper is able to accommodate two variants of the vehicle floor, which differ in geometry but have common grasping points. The use of sensors to identify the grasped parts allows the gripper to adjust its behavior by actuating specific clamping units each time.
Moreover, a loading table is included in the cell (as shown at the bottom of Figure 1
b) for assisting the loading and unloading of parts.
The following process scenario is executed in the cell, and it is supported by the multi-agent framework proposed in this study. The scenario involves the welding of a car floor as follows:
The operator loads the parts of the floor on a loading table, which is located in the working area of the robots. The table is designed to provide adequate tolerance with respect to the positioning of the accommodated parts.
The handling Robot simultaneously picks up all the parts from the loading table by using a geo-gripper that can guarantee relative positioning accuracy and adequate grasping forces through simple pneumatic clamps that are controlled through an Input/Output (I/O) module. It allows the final product’s correct geometry to be achieved.
Inductive sensors mounted onto the gripper perform presence detection for the part throughout the execution of the welding operation.
The operation of the robots is cooperative in the sense that:
The handling robot manipulates the part in midair in order to achieve orientations that maximize the accessibility of the welding gun to all spot0weld locations.
The proposed framework is used to orchestrate the communication between the two robots, which are able to exchange content-rich messages to declare the start/end/progress of each task that they are executing.
This scenario considers four tasks, namely, two welding and two handling operations. More specifically, tasks “Weld1-1” and “Weld1-2” represent the Geo and spot-welding tasks on the part. Similarly, tasks “Grip1-1” and “Grip1-2” represent the parts’ movement in space (for accessibility purposes) and the placing of the part on the table. The sequence constraints that have been introduced in the system involve:
Task “Weld1-1” having to be carried out before “Weld1-2”.
Task “Grip1-1” being a prerequisite for the task “Weld1-2”.
Task “Weld1-2” needing to precede the task “Grip1-2”.
For the control and orchestration of activities among the entities of the case study, the MAS approach was selected. The development of multi-agent frameworks is often based upon frameworks that implement common standards. An approach is to use a framework that adheres to the Foundation for Intelligent Physical Agents (FIPA) standard, namely, the Jade and JACK Intelligent Agents. In our case, the MAS implementation relies on the open-source Robot Operating System (ROS) platform [29
], aimed at the development of robotics-related applications. In ROS, the framework agents may be represented as nodes, which are self-contained software modules that run independently and communicate with each other by passing messages over TCP/IP using the publish–subscribe pattern. In the context of this study, some initial experiments were executed to help the authors to identify the technology that would better suit their needs, especially with regards to the implementation environment. During these tests, the DPWS implementation provided by https://forge.soa4d.org/
was outperformed by the ROS service implementation, in terms of real-time performance. The average response time through the DPWS was approximately 50 ms, while with the ROS, the time dropped to a 5 ms average. Thus, the ROS Services mechanism was selected in support of SOA’s implementation along with MAS in this study.
In summary, the main reasons for selecting ROS in our implementation were:
It is oriented towards real-time or soft real-time applications.
It provides mechanisms for the implementation of services and a service-oriented architecture.
It facilitates the requirements of the case study since it provides the necessary libraries and drivers for the selected hardware.
The knowledge management and exchange among agents in the multi-agent system is supported by an ontology that is implemented on top of the Apache Jena Semantic Repository [30
], which serves the functionality of storing semantic data and performing semantic queries upon them.