Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

On the one hand, developing a distributed control system that can operate with ambiguous and vague information is still an open problem, due to it’s complexity. But with rapid progress of computer capacity, new earlier unavailable technologies and solutions are taken into account.

On the other hand, the high-value products and infrastructure require engineering services, such as maintenance support throughout the life cycle. The future product life cycle management system should provide loosely coupled integration with design process (productive maintenance support on the stage of design, control of the design mistakes, and feedback) [3].

Smart industry, a key trend in manufacturing, is the ability of machines and devices to be self-organized, to communicate independently with each other, and to provide agile and adaptive design and manufacturing environment. One of the main ideas proposed in this paper is the new approach of communication and integration of the engineering design, manufacturing and planning systems’ fuzzy self-oriented entities.

This paper proposes a new way of organizing manufacturing/control and design scene by including fuzzy logic approach in design and control subsystems. Unlike the traditional fuzzy multiagent scheduling systems, such system includes integration with design process agents to solve design process problems and fuzzy resource–goal approach to interact with agents.

2 Agent-Based Reconfigurable Model

The design principles of large-scale systems composed of heterogeneous working in real-time components require unified theory of real-time operations that includes existing results and novel solutions. Also, the cross-layer design is reached, specifying that each device should be designed based on hardware, operating system, middleware, sensing, actuation, as well as communication as a whole. One of the most appropriate technologies for creation such system is multiagent systems. The main benefits of multiagent systems are their decentralization and simplicity of development of agents.

In this paper, general three-layer architecture of multiagent system with design (D-), manufacturing (M-), and control (C-) agents including fuzzy logic approach of M-agent is presented. Resource–goal network approach is used for interaction of agents on M-layer, controlling and distributing resources among the agents.

Concept framework can be presented formally as follows:

$$ {\text{CF}} = {\text{MP}}_{1} , \ldots , {\text{MP}}_{t} , \ldots , {\text{MP}}_{n} , $$

\( {\text{MP}}_{t} \) is the t-manufacturing part, \( t = 1,2, \ldots , n \).

$$ {\text{AP}} = {\text{DA}}_{1} , \ldots ,{\text{DA}}_{i} , \ldots ,{\text{DA}}_{m} , \ldots ,{\text{MA}}_{1} , \ldots ,{\text{MA}}_{f} , \ldots ,{\text{MA}}_{k} , \ldots , {\text{CA}}_{1} , \ldots ,{\text{CA}}_{j} , \ldots ,{\text{CA}}_{n} . $$

2.1 Agent Types

For defining this framework, three types of agents were defined:

\( {\text{DA}}_{i} \) :

is the ith Design Agent (D-agent), \( i = 1,2, \ldots , m \).

\( {\text{MA}}_{f} \) :

is the fth Manufacturing Agent (M-agent), \( f = 1,2, \ldots , k \).

\( {\text{CA}}_{j} \) :

is the jth Control Agent (C-agent), \( j = 1,2, \ldots , n \).

Each \( {\text{DA}}_{i} \) consists of five elements: FB—facts base, which includes information about geometric characteristics of the part and material type; KB—knowledge base; K—corrector block, which adapts knowledge base, as a result of communications with any other agents; I—inference engine; and LI—local interface mechanism.

Manufacturing agent \( {\text{MA}}_{f} \) represents execution unit of the manufacturing system and consists of actuator and fuzzy multiagent control system. Fuzzy inference engine in each \( {\text{MA}}_{f} \) is responsible for routing and scheduling mechanism. Communication with each other implements with resource–goal fuzzy network approach.

Each \( {\text{CA}}_{j} \) consists of the following: MB—metaknowledge base; knowledge base of control agent; inference engine; corrector block; and local and global interface mechanism (GI).

On this layer, agents are using FIPA-compliant communication languages (ACL); global and local interface translates messages from external ACL to internal description and from internal description to external representation. K—corrector is realized for internal adaptation of knowledge and fact bases that will be described later in this report.

Each M-agent operates as an independent entity and processes associated manufacturing parts.

2.2 Resource–Goal Network Approach

Resource–goal network [4] as formalism for the MAS specification integrated to manufacturing environment is weighted directed graph:

$$ {\text{NET}}_{RG} = \left( {A, C, K, {\text{RES}}, G, W, t} \right) $$

where set of vertex is a set of agents A, set of arcs C consist of goal links \( C_{G} \) and resource links \( C_{\text{RES}} \), \( C = C_{G} \cup C_{\text{RES}} \), \( C_{G} \cap C_{\text{RES}} = \emptyset \), K—types of agents A, RES—set of resources in MAS, G—set of goals, W—set of conduction for resources and goals, and t—set of discrete time moments.

Every agent as a vertex of resource–goal network \( a_{i} \epsilon \,A \) characterized by type of agent \( k_{j} \epsilon \,K \) and amount of resources \( {\text{RES}}(a_{i} )\,\epsilon \,{\text{RES}} \). Every vertex \( c_{ij}\, \epsilon \,C \) is characterized by conductivity (capacity) \( w_{ij}\, \epsilon \,W \). Conductivity of agent defines the maximum value of resource that one agent can transfer to another during one time interval. For resource–goal network is defined weight matrix along arcs \( W_{c} = \left[ {w_{c} \left( {a_{i} a_{j} } \right)} \right] \) and weight matrix along resources \( W_{\text{res}} = \left[ {w_{\text{res}} \left( {a_{i} a_{j} } \right)} \right] \).

Decision-making of the agent about the use of resources or relocating it in this network is based on negotiations between agent and network characteristics at the moment.

3 Design Agent: Inference

To include fuzzy logic approach in MA-set fuzzy resource–goal routing among the manufacturing agents (MA) within order processing restrictions is implemented. Reconfigurable model works with several similar machines and tools that control the agent are able to vary in order to achieve the optimal route.

On the other hand, another restriction of the model is mismatching that can occur within manufacturing process. Design is multidisciplinary process and involves several stages such as conceptual design, basic structural design, detail design, production design, manufacturing processes analysis, and documentation. Design agent (DA) must detect and resolve two main types of mismatches:

  • mismatches of integration

  • concurrency mismatches [511].

Mismatches of integration are assembly mismatches. These types of mismatches detect geometric, material characteristics of the part for checking assembly possibility.

According to [12], “Concurrent engineering is getting the right people together at the right time to identify and resolve design problems. Concurrent engineering is designing for assembly, availability, cost, customer satisfaction, maintainability, manageability, manufacturability, operability, performance, quality, risk, safety, schedule, social acceptability, and all other attributes of the product.”

Concurrency mismatches are controlled by the design agents. Such type of agent stores knowledge base, facts base, and inference engine. There is information about sequences part’s structure parameters. Details of D-agents are presented in [13].

4 Manufacturing Agent: Fuzzy Resource–Goal Network Approach

Configuration of the manufacturing system consists of warehouse (W), robocara (R), two milling machines (\( {\text{MM}}_{1} \), \( {\text{MM}}_{2} \)), two turning lathe (\( {\text{TL}}_{1} \), \( {\text{TL}}_{2} \)), two industrial robots (\( M_{1} \), \( M_{2} \)) and control system (C). Parts require a different set of operations {\( op_{1} \), \( op_{2} \), \( op_{3} \), …} and can be routed for several different ways according to processing route and weight coefficient of link between agents.

Resource–goal network as a model of agent’s interaction is based on matrix of goals and matrix of resources. To interact with other agents and route parts in different stages of manufacturing process, agents must exchange information about their resources, goals, and state of the environment. However, the problems occur when information about agent’s resources or state of the environment is incomplete, ambiguous, and vague. One way of solving this problem is using fuzzy logic approach to present resource’s state of agent. Unlike the classical logic propositions in fuzzy logic are not limited to one of the two values \( {\text{True, False}}_{1} \) (or 0, 1) [14].

Every two agents \( {\text{a}}_{i} \) and \( {\text{a}}_{j} \) in resource–goal network has Goal conductivity \( w_{c } \left( {a_{i} a_{j} } \right) \) and Resource conductivity \( w_{\text{res }} \left( {a_{i} a_{j} } \right) \).

To include fuzzy logic approach in resource–goal formalism is defined fuzzy variables [15]:

Fuzzy resource conductivity indicates capacity of the vertex in the goal–resource network. Physical sense of this variable is the maximum value of resource that one agent can transfer to another during one time interval.

$$ {\text{FRC}}_{ij} \, = {\text{ minimum, low, middle, large, max}} $$

If \( {\text{FRC}}_{ij} \) of two agents is known, it is possible to define Weight matrix along resources in manufacturing system.

For example, fuzzy weight matrix between three actuators can be defined as:

$$ \left( {\begin{array}{*{20}c} {\text{low}} & {\text{middle}} & {\text{low}} \\ {\text{middle}} & {\text{high}} & {\text{high}} \\ {\text{low}} & {\text{middle}} & {\text{low}} \\ \end{array} } \right) $$

Fuzzy resource amount

$$ {\text{FRC}} = {\text{low}},{\text{middle}},{\text{large}} $$

Fuzzy workload

$$ {\text{FW}} = {\text{low}},{\text{middle}},{\text{large}} $$

Fuzzy workload of the \( {\text{MA}}_{f} \) indicates quantity of parts requested for this agent. Quantitative representation of this value is queue size of the \( {\text{MA}}_{f} \).

Generally, fuzzy sets depend on the type of the manufacturing: Resource conductivity of industrial robot and milling tool is different. Also workload level of each actuator is different. In this work, it is considered that parts group by similar resource requirements.

As the fuzzy output variable is defined Fuzzy Requirement variable represented by sets:

$$ {\text{FR}}_{ij} = {\text{low}},{\text{average}},{\text{high}},{\text{critical}} $$

Fuzzy Requirement variable shows demand of resource that \( {\text{MA}}_{i} \) should transfer to \( {\text{MA}}_{j} \).

For every pair of manufacturing agents \( {\text{MA}}_{f} \) and \( {\text{MA}}_{j} \), conditional fuzzy propositions were presented in this form :

$$ {\text{If}}\;{\text{FRC}}_{ij} \;{\text{is}}\;*\;{\text{and}}\;{\text{FW}}_{i} \;{\text{is}}\;*\;{\text{and}}\;{\text{FRA}}_{j} \;{\text{is}}\;*\;{\text{then}}\;{\text{FR}}_{ij} \;{\text{is}}\;* $$

The set of fuzzy rules consists of 27 (\( 3*3*3 \)) rules. This set is constructed for every \( {\text{FR}}_{ij} \) variable. The simple subset for two manufacturing agents is presented on Fig. 1 (Tables 1 and 2).

Fig. 1
figure 1

Fuzzy sets for FW i variable

Table 1 Fuzzy variables
Table 2 Fuzzy rules for FR ij variable

Resource demands information required to solve problems:

  • Routing parts to actuators with satisfied resource demands and high value of workload;

  • Normalize amount of resources for \( {\text{MA}}_{f} \).

Final routing between actuators provided by \( {\text{CA}}_{i} \) combined fuzzy inference engine and depends on manufacturing process, collisions during processing, and resource demands of the \( {\text{MA}}_{f} \).

5 Control Agent: Inference

Control agent stores metaknowledge values about technological environment such as map of the production system, distance between machines, stages of the design process, and overall design time. Also control agent stores actual knowledge base (amount, state and location of the parts, and resource demands of \( {\text{MA}}_{f} \)) and overall state of environment.

One of the main functions of the control agent is final routing parts through manufacturing line. Based on manufacturing agent’s workload, resource demands, state and design agent’s information, a combined inference engine of this agent can be defined (Fig. 2).

Fig. 2
figure 2

Multiagent framework architecture

Knowledge base in control agent is responsible for order processing and routing parts between manufacturing agents. Generally, order processing in this case is strictly defined by technologist, but in case of several same machine tools, control agent must route part on the least loaded machine tool with low demand of resources. So, order processing is the restriction of our model.

According to mismatches restrictions in design agent, intermediate route has been produced. Then on the final step, selected routings are the input to the control agent that produces string route of the part based on its metaknowledge base and state of the part.

6 Prototype Implementation

In this research, a prototype of the control system which is capable of integrating with hardware devices is proposed. Such subsystem provides flexible configuration of each device. Rules of communication, ontology, knowledge base, and facts base are configured separately by an engineer of corresponding domain.

The initial multiagent system consists of different types of agents, group of agents, and objects. In the designed subsystem, the universal circuit board can be embedded in any device, controlled by a UNIX class operating system which contains an agent platform.

As a manufacturing agent, an implementation with RFID readers to store real-time information about the product is used. Such information (destination, state, and location of the part) influences the control agent inference engine.

6.1 Hardware Overview

Prototype of the control system consists of a single board computer, RFID reader, and actuator. The scheme of the control system is presented on the Fig. 3.

Fig. 3
figure 3

Schema of the control/routing device

The single board computer holds UNIX OS on board, provides the software for controlling the agent, and power supply to the whole system.

The RFID reader is connected by means of SPI (serial peripheral interface) via development board. This interface proves to be the most suitable for the kind of task, which the constructed device (the agent) fulfills. The interface can handle data speeds up to 10 Mbit/s. It works in full-duplex mode.

It also allows arbitrary choice of message size, content, and purpose. SPI is preferable for energy consumption factor as well, because in the current design, the device’s peripherals do not use any outer power supply. Devices communicate in master/slave mode, where the master device initiates the data frame. In the present design, the microcontroller of the single board computer plays a role of master device.

The exemplary executive device is Mitsubishi industrial robot (RV-1A series). It is a compact 6-axis robot-manipulator, which gives excellent options for building a flexible manufacturing system. You can see the device in Fig. 4. The robots controller supports RS-232 interface, so TxD and RxD pins of the single board computer are used to connect it.

Fig. 4
figure 4

Mitsubishi industrial robot

6.2 Software Overview

After hardware connection, there is a need to set a convenient software interface of communicating with RFID. The reader requires interface with registers and its native instructions. From the point of high-level code, it is inconvenient. Another level of abstraction for communicating with RFID is needed.

In order to control and to interact with RFID reader, a third-party Python library is used. Python allows importing GPIO and SPI wrapper. It hides low-level abstractions and provides quite a convenient interface of communication with RFID.

It operates 64 registers of the RFID device and uses native instructions, common for SPI interaction.

The functions of software are as follows:

  • Reading part’s data and store current information of it’s state;

  • Updating data during processing;

  • Realization of resource–goal formalism;

  • Communicating with other \( MA_{f} \) and \( {\text{CA}}_{j} \).

7 Conclusions

In this paper, a new multiagent framework with fuzzy logic approach was developed. This framework includes distributed control system based on multiagent technologies which allows solving problems related with ambiguous or missing information. The research presents approach that integrates design, manufacturing, and control process using resource-based fuzzy network to agent’s interaction. Prototype of the system is presented. This model is applicable to work with various manufacturing agents in conjunction with different design agents and control systems.