Development of a knowledge base for an expert system supporting the decision of industrial mobile robot selection

With the growth of industrial mobile robots, more and more manufacturing companies are producing such robots. As a result, there is a growing market variety for companies wanting to adopt these robots. It is an economic advantage if a robot selected for a specific task can be operated optimally. To this end, the selection process must already be carried out with optimal operation in mind. In my research, I develop such an industrial mobile robot selection support system, which generates a knowledge base from a database and then supports the selection decision with an expert system. In this paper, I describe the structure, interrelationship and test results of this database and knowledge base.


Introduction
Expert systems have been developed since the late 1950s and their aim is to model the experience of human experts in a given field, and thus use computers to derive conclusions characteristic of human experts.
A very concise but good summary of expert systems can be found in Tan's article [1].He describes four types of expert systems: the rule-based system, the framework-based system, the fuzzy logicbased system, and the neural network-based system.The basic structure of these systems is the following: the inference engine performs operations from the knowledge base in the working memory, providing the result to the interface.In the development of expert systems, researchers have recognized that knowledge representation, knowledge utilization and knowledge acquisition are the three core issues of artificial expert systems.
Ritou et al. used a knowledge base-based and multi-level approach to mine and manage the data generated during the milling process [2].The problem of Big Data is the management of a lot of data, this can be helped by processing the data in real time and hence bringing a much smaller amount of intelligent data to the decision support tools.The small amount of intelligent information about the machining process is used to develop decision-support indicators according to expert judgment and business context.
In a following paper, Al-Mahturi et al. used a type-2 fuzzy system to control mobile robots in high uncertainty environments [3].The type-1 fuzzy logic controller provides the specific behavior of mobile robots while the type-2 provides the adaptation to the uncertain environment.The authors have successfully implemented a self-learning algorithm in type-2, reducing the computational complexity and memory requirements, leading to an optimized fuzzy control system.
Because the mined data is not always interpretable by the machine, or is stored in data stores that are related but not represented, formal knowledge representation methods are still needed to help understand and extract knowledge.Cao et al. developed and tested a hybrid system that uses both statistical and symbolic artificial intelligence tools to predict maintenance [4].It establishes a link between the cause and the effect by creating rules using a chronological sequence of failures.
In modern manufacturing environments, machine learning-based models for analyzing the huge amounts of data generated have better predictive ability, but worse transparency, than traditional knowledge-or model-driven methods.The review article by Makris et al. provides a comprehensive overview of research that has considered the application of causal discovery in manufacturing [5].
Imran et al. described a knowledge-based virtual modeling and simulation framework for industry 4.0 [6].They systematically summarized the characteristics and technical challenges of Industry 4.0 and also presented different scenarios.The technical challenges include the processing of large amounts of data to support decisions.In other words, new research is needed in the field of data analysis and interpretation and the application of the results obtained.In the paper, real-time data capture of objects at the process and factory levels was investigated.The case study presented the realtime analysis and visualization of this captured data, helping engineers to find hidden correlations.
Among the most forward-looking developments in manufacturing systems, Janícek et al. have solved the control of a collaborative robot by voice control [7].This control method is becoming increasingly popular, just think of smart homes.An interesting question is whether voice control will become part of the daily practice of operating manufacturing systems.In this article, reliability and repeatability were investigated in a human-robot collaboration process.The results of the analysis, run in 2200 simulations, are summarized in a table showing the relationship between successfully and less successfully interpreted commands.The characteristics of a well-interpreted ideal command are: more than one word and not too short.
The integration of digital twins into production was investigated by Sobrino et al. in their paper [8].In general, one of the shortcomings of simulations is that they are not related to real data, which is changed by Simulation 4.0 using the concept of digital twins.The technology uses a variety of tools, IoT, big data, cloud services, and actual data.The Real Time Location System (RTLS) developed will increase flexibility and efficiency at the shop floor level in real time.
The author of this paper has prepared a test version of an expert framework system to support the design of welding special purpose machines based on previously designed and manufactured machines [9].The system matched a pattern to the customer needs that emerged and compared these with the patterns of previous machines stored in the knowledge base.Exact matches and uncertainties were handled by a FUZZY-like numeric number.
Simonova et al. have developed an expert system for creating manufacturing technology paths using a frame model [10].They listed four advantages of this concept: first, the frame represents a standard situation and is heuristic compared to formal models.The second is that frames can be called and fitted as a semantic structure according to the specific situation.The third is that properties are inherited according to the semantic nets, which is convenient enough for describing similar technological processes.Finally, the main advantage of this model is that it reflects the conceptual basis, flexibility and transparency of the organization of human memory.
The literature review shows that the use of expert systems has a long history, but their widespread use is limited by the complexity of the real-world tasks to be solved.The research related to the present study aims to support an industrial mobile robot selection process with an expert system.As part of this work, a simple representation approach using propositional logic is discussed in this paper using knowledge representation models.

Manufacturing system with mobile robots
In a manufacturing system, the flow of material, energy and information must be ensured to turn the raw material into a finished product.The means of material transfer can be manual packing, conveyor belt transfer, robotic packing, or material transfer by mobile robots.Such systems can be flexible enough to meet rapidly changing needs or for small batches and customised production.There are many types of manufacturers to choose from, the choice of which is made on the basis of the optimal operation of your production system.Some mobile robots, from two manufacturers (https://industrial.omron.hu/hu/products/mobile-robot,and https://www.mobile-industrial-robots.com/) are shown in Figure 1.The model of the manufacturing systems should be written or adapted in terms of the mobile robot.Commonly used characteristics such as cycle time, availability, number of pieces, throughput, and so on, must all be reformulated into parameters that the robot-based model can understand.These parameters can then be used to form logical values.This can also be implemented for a new production system that has been designed.This may be called a requirements specification, which specifies the parameters that the production system should operate with, and which can be matched with the properties of the mobile robots.The requirements list will consist of variables such as requested_robot_size_small = true, requested_robot_outside = false, and so on.

Generating the mobile robot database
The mobile robot database contains the main characteristics of each robot, such as manufacturer, type, payload, space required to move, etc.This database was created by creating an Excel spreadsheet containing the characteristics.In each row are the specific robots, while the columns refer to the properties.The table looks similar to the one shown in the second figure.properties of each robot can be referenced, e.g.robot.manufactureror robot.loading_capacity.All robots are stored in an array, so they can be easily managed by loops, e.g.robot_array[i].manufactureror robot_array [i].inside.The database can be considered as processed, but the relationships between the data are not defined yet.
The robot to be selected for the manufacturing system can be handled in a similar way.It has its properties as well, which must be compared with the properties of the robots in the database.
The goal would be to form a set from these properties.Form a set of rules from the requirements and apply this set of rules to the data set.The rules applied in this way classify the elements of the set, reducing their number, thereby narrowing the set of robots that can be selected.Finally, only the robot that optimally satisfies the requirements remains in the set.This is the essence of how the expert system works.To do this, the robot properties described in the database must be converted into a knowledge base and a set of rules must be created.

Knowledge base creation opportunities
There are several ways to create a knowledge base from data, some of which are described below [11].The following tools for representing knowledge are investigated: propositional logic, first-order logic, temporal logic, probability theory, fuzzy logic.
In propositional logic, we define facts that either exist or do not exist, i.e. logical values that can have two states: true or false.This approach will be applied to the creation of the knowledge base in the next section.
First-order logic uses a more complex description.In this, the world is built up of objects, between relations that may or may not exist.This can be a very powerful tool for transforming a database into a knowledge base for mobile robots, and it will be worth exploring how to describe the problem using this logic in future work.
Temporal logic reveals that facts exist only at a given time or for a given period of time.We cannot exploit this in the present task, however, if we wanted to dynamically examine a robot's path, capacity utilization, or battery capacity, this method could potentially come to the fore.
Probability theory also gives us a tool to handle the problem.Statements have a degree of belief which can take a value between 0 and 1.This could be used to classify certain properties of robots in terms of requirements if 100% agreement is not achieved.However, if the individual attributes can only be met with a given probability, there is a risk of non-optimal fulfilment of the criteria, and therefore this method should not be used for this purpose.
Fuzzy logic defines a degree of truth, with a value between 0 and 1.Here you can specify the degree to which a certain robot belongs to the group to which the fuzzy value belongs.Such a value could be, for example, the payload: a set of robots with light, small, medium, large, extra-large and huge payloads can be classified, where there are no sharp boundaries between the individual payload weights.What is considered a small robot, for example, can carry even a medium load, provided that the load does not significantly exceed its allowed capacity.
Of the above logics, first-order logic and propositional logic may be the most suitable, the fuzzy system would require a different approach, but its widespread use and good practical utility make it worthwhile to prescribe a method for its use in the future.

Knowledge base implementation methods with propositional logic
In the propositional logic, every fact has two states: true or false.In some approaches, there may also be an uncertain state, but we do not consider this as a state for the moment.Along this idea I built the knowledge base based on the information in the database.
The statements are formulated as follows, in general terms: Given the i-th robot's j-th property, which is either takes a true/false value or takes some number value.If it can have a true or false value, it can easily be written directly into the propositional logic.Such a property could be, for example, whether the robot can be used inside.
We derive the rules from these properties.If we consider whether the robot is indoor or outdoor, we can easily establish a rule.If the robot is indoor, then the value of the logical variable "indoor" is true, if it is not applicable indoor then it is false.If the robot is suitable for outdoor applications, then the value of the variable " outdoor " will be true, if it is not suitable then this variable will be false.It is important to note that these two variables are not logically connected, since a robot can be both indoor and outdoor.If in the application we know that we are looking for a robot suitable for indoor application, we can say that Robot_searched_robot_indoor = true and robotX_indoor = true, then robot_suitable_location = true.We run this for all properties and all the rules created are considered.
The interesting thing about writing with propositional logic is when you want to transfer a nonlogical value from the database to the knowledge base.Such a value could be, for example, size or load.Load capacity can range from about 1 to 2000 kg in general cases, while size can be interpreted as mini, small, medium, large, extra-large characteristics, which can be represented by a logical value.For the load capacity we also need to make different classifications to interpret it in the propositional logic.
As can be seen, managing these many variables is a complex task.Therefore, a well-organized data structure is needed to identify each robot by its serial number, create a logical counterpart for each property and store them in an array.
The real strength of this method is the creation and application of rules that come from a human expert, for example, there may be a point in the production system where robots can pile up, so their number needs to be maximized.
The deduction machine can apply the rules to the knowledge base using different mechanisms.For instance, it could be priority-based rules, most applied rules.In the simplest case, consider that the program generates a truth table of all possible cases.In this case, we use the relation between perfect_robot_identity and robotX_identity and test the resulting value.If this value is true, then the selection is correct, i.e. the given property of the robot under test (indicated by 'X') satisfies the requirement.If it is true for all the properties under test, then the robot of the given sequence number (robotX) will be a perfect robot, i.e. a robotX_perfect_robot variable will be true for that robot.The optimal robot will be selected from these prefect robots, but the details of this need further research.

Case study for propositional logic
In this case study, we present the methodology described earlier.We have entered real commercially available robots into a knowledge base only for testing the methodology.Just two robots are entered into the knowledge base, based on the MIR100 and MIR250.The variable names for these robots are robot0 and robot1.To simplify the work for testing just two parameters are considered: size and capacity of the robots.Size could be three values: small, medium and large, Capacity could be three values as well: weak, normal, heavy.The logical parameters are described as symbols.The program was written in python and use the "logic.py"library found on "CS50's Introduction to Artificial Intelligence with Python" free online course on EDX.org.
The basic logical parameters are the following for "robot0": robot0_size_small, robot0_size_medium, robot0_size_large, robot0_capacity_weak, robot0_capacity_medium, robot0_capacity_heavy.For "robot1" the same parameters available as well.The searched robot name is: "robot_required" and have the same six logical symbols.
We also need a special logical variable for the "robot0" and "robot1": if a requirements fit with the robot parameters, it must know to store that information, so we made two more symbols for "robot0" and "robot1": "robot0_size_fit" and "robot0_capacity_fit", "robot1_size_fit" and "robot1_capacity_fit".Next step is fill up the knowledge base, based on the information is found on figure 3. The knowledge base is a list or tuple (named: knowledge) and consist of the logical symbols with additional information.It is easier to understand if we divide knowledge into two parts: facts and rules.Facts are real feature for a robot, in this case the size and the capacity.Rules are based on the additional knowledge that we know about the robots.For example, this is how a fact looks like: robot0_size_small = true, and to add it to the knowledge base just use this command: knowledge.add(robot0_size_small).There is relationship between the elements, it means if a robot is "small" it cannot be "medium" or "large", so that mean only one of this three symbols can be true.This could be implemented into a rule, like this: knowledge.add(Or(robot0_capacity_weak,robot0_capacity_heavy, robot0_capacity_normal)).If there are parameters which "robot0" and "robot_required" have the same value (true or false) that means that parameters are fit to each other.Logical is easy to implement this, just need an "And" operator between the two parameters, and use an "Implication" function to connect with the "Fit" parameter: robot0_size_small and robot_required_size_small => robot0_size_fit.In the code: knowledge.add(Implication(And(robot0_size_large,robot_required_size_large), robot0_size_fit)).
After that, the model_check function can be used to query the value of some logical variables based on the knowledge base.Its format is: model_check(knowledge, query).
Here we searched for symbols that show matches, i.e. we ran model_check for each "fit" symbol, and we can count how many "fit" symbol is true, and store it in the "robot0_passing" variable.In the code it looks like this: if model_check(knowledge, robot0_size_fit): robot0_passing += 1 print("Robot0 size fit!");These matches were written out and added together, so that we could calculate how closely each robot matched the requirements.In this example "robot0" has two matches (size and capacity) and "robot1" has one matches (capacity).
We can therefore declare the basic concept is working as expected.

Conclusion and future work
From the mobile robot database, a knowledge base can be created based on the prediction logic.However, it is clear that there are a lot of logical variables to work with.This makes the calculations very time consuming.It is worth exploring other alternatives in the future.This means that the following options should also be analysed: -First-order logic: the world is made up of objects and we define relations between them.
-Fuzzy: individual properties are grouped into sets.The handling of uncertainties could also be the subject of a subsequent analysis, for which probabilistic logic could be used.In this case, the probability of each property will have to be given in percentage values.In this way, the previously discussed propositional logic can be extended to the parameters of the production system, either by experience gained during application or from simulation.

Figure 1 .
Figure 1.Examples for industrial mobile robots

Figure 2 .
Figure 2. Mobile robot database example