The organization control in MRS for manufacturing and logistics is mostly centralized in the state of the art with few exceptions like dec1 ; slidingDec ; panRobotics ; FarinelliMRS where the architecture is decentralized, as it is relatively easy than a distributed control. However, the decentralized architecture in panRobotics is focused on only the planning of route to generate feasible, sub-optimal and collision-free paths for multiple MRs. Thus, the system architecture is not general enough to handle different kinds of control and planning functions. In slidingDec , the linear dynamic model is generated for a specific task of collectively transporting load in automated factories. The sliding mode controller is provided through a non-linear terms with bounds. This kind of stochastic control using dynamic model of the robot is useful in simple cases where the controller depends on minimal information which is available to the robot, unaware of the dynamics of the environment.
On the other hand, there are various investigations conducted using partially observable Markov decision processes (POMDPs) to solve the general decentralised control and planning problems in MRSauctionPOMDP ; mitPOMDP , due to the the improvement of the general concepts of multi-agent systems (MAS). However, these solutions are computationally expensive and provide sub-optimal solution. Also, the requirements of scalability and robustness in a smart factory is not met with these solutions. Likewise, the problems solved in latter case using POMDP ignore the aspect of improving the cooperative functions based on performances or state of individual MRs and their environment.
Thus, the problem still persists where a decentralized system architecture is necessary for MRS which will be scalable and robust, yet computationally inexpensive.
The robot computational architecture in an MRS is classified into 4 categories, such as, deliberative, reactive, hybrid and behavior-basedMichaud2016 . Though, all the four categories of control have their advantages and limitations, each contribute with interesting but different insights and not a single approach is ideal Michaud2016 . Nevertheless, current demands of smart factories are adaptability, real-time response and modularity which is served excellently by behavior-based control Michaud2016 . Moreover, decentralized control can be efficiently designed, implemented and handled through behavior-based systems. Numerous investigations have been carried out recently towards solving the problems of formation control in MRS using behavior-based systems Lee2018 , while much attention is not paid toward behavior-based control of MRS in logistics and transportation tasks. There are few investigations where this direction is investigated icraBehavior , gonzalez2016behavioral , but these behavior-based MRSs lack the much needed involvement of support and help by other MRs to each MR in decision making. This help can be successful when cost incurred by one robot for a particular performance can be shared to other robots to estimate their costs to carry out the same performance. These costs arise through the different battery and floor conditions while performances. Thus, the time to complete performance is dependent on all these factors and thus reflects the costs incurred. When movement is a performance, travel time of an edge is the performance time. When travel times can be estimated to obtain close-to-real values, they become different than heuristics costs and depict the real states which are impossible to obtain from heuristics. Nevertheless, a good estimation is dependent on historical data which are close in time. But, there are situations when all the travel times for one or more edge(s) are not available for the entire duration of operation of the MRS to an individual robot. Then, it is imperative for that robot to gather the necessary travel times from others in the system as a reference observation. We demonstrate this concept with the following example.
Figure 1 illustrates a scaled down MRs-based internal transportation system in a factory. Traversing a path is considered as a task in this example. Let, at any instance of time, , 1 is assigned to carry some material to 1 through the computed path marked by the dotted line. Again, at time ( ¿ 0), 1 needs to carry same material to 1. But at , 1 will need more time and energy to reach 1 than at due to mainly two reasons. First, the battery capability of 1 has decreased due to execution of previous tasks. Also, the condition of the part of the floor, designated by the given path, can get deteriorated (as marked by black dotted lines). As said previously, travel times of edges depict states of battery and floor condition wafPragna . So, the travel times at previous instances are useful to estimate travel time at , if only battery state has changed. But, condition of floor has also changed. This can only be anticipated through travel times at if the robot has traversed that part of the floor in the previous or nearly previous time instance. Nevertheless, travel time from other MRs who has traversed that part in nearly previous instance can be useful to 1, along with its own travel times at previous instances to estimate its travel time at current. Thus, travel times of these two sources are useful to estimate it’s future travel time. This work addresses this area of investigation where each MR get information like travel time of edges from other MRs in order to make better decisions.
The above example explains that the amount of time and energy required to complete a task has an existing correlation with state of charge of batteries and environmental conditions. These time and energy can be formed as cost coefficients to express state of battery’s charge and environment. These cost coefficients can be of various forms like travel time of edges, rotating time, loading time, et cetera depending on the functions. Further, they can serve as a deciding factor in several planning decisions for better cost efficient decisions. However, these cost coefficients need to be either known apriori or estimated to be used in decision making. In case of knowing apriori, observations of these costs in various forms like travel time of edges, rotating time, et cetera need to be measured for all possibilities, which is not only cumbersome but also impractical. Hence, estimating them during run-time is a good solution. But, estimation requires observation of the same at previous instances. The observations values can be gathered from the beginning of first decision making and can be used in subsequent calls for estimation. The first few iterations of decision making is a learning phase to gather few observations to start the estimation. But, an MR may need to estimate the travel time of one or more edge which it did not traverse previously. This can be mitigated by sharing the observation value from other MR who has travelled that edge in nearly previous instance. This way the knowledge sharing can help an MR to estimate the travel cost for an unexplored edge at current instance. In the example, 1 has travelled the edges in the region (marked by dotted line) towards 1 long back at and hence it does not have the latest information about its condition at . In this case, travel time of edges, annotated with time stamps, along the region marked by dotted line from other MRs who has travelled it in nearly previous instance, must be communicated to 1, so that 1 can utilize it while estimating it’s own cost at .
The travel times have inherent contexts like time stamp and the edge between pair of nodes. This underlying context has been exploited to form a semantic knowledge sharing mechanism to communicate the costs of edges inform of travel times in this work. This is instrumental in deriving more accurate estimates of travel times to ascertain cost at current time in each MR. This improves decisions in each MR for efficiency where MRs help each other to gather states of environment and other factors. Moreover, all the MRs are autonomous and have their own control separately, which make the whole system decentralized. This type of control is implemented using a behavior-based system, to utilize the benefits of both decentralized architecture and behavior-based system.
The subsequent sections elaborate on the background (Section 1), problem statement and contribution (Section 2), methodology (Section 3.1 and Section 4.2) and implementation (Section 3.2 and Section 4.4). Results of utilising the proposed methodology is tabulated and analyzed on Section 6, while discussions and conclusions are put forward in
2 Problem statement and contribution
This work addresses the problem of building a decentralized system architecture where the planning decisions can be based on the dynamically changing state of MRs and their environment. This paves the way towards robustness and scalability in the MRS. One of the most suitable methods of control for MRS is behavior-based system as it can handle significant dynamic changes with fast response and enforce adaptability, few of the major requirements of current smart factories Michaud2016 . The system architecture for the MRS in current work is developed using concepts of behavior-based system with specific behaviors for planing and task execution.
Current work implements an MRS for automated logistics where each robot need to transport materials to designated placeholders or racks, termed as ports. Also, reaching a particular port by an MR is considered as a task, along with route computing being considered as a decision making process. Thus an MR is required to traverse from one node to another in a floor, described by a topological map. This enables the MRs to perform single task at a time.
The travel time of each arc (like , ) in a floor map given in Figure 2 is influenced by energy exhaustion, condition of floors, physical parameters of robot, among others, which incurs cost. Thus time to traverse an arc by an MR or travel time can be conceptualized as its cost coefficients. In this work, travel time is considered as weight or cost for an edge. This is formalized as to denote travel cost from to , where is the instance of time of traversing an edge. is time-varying from the perspective that at a particular instance of the time, the cost of that particular arc is dependent on battery discharge and condition of the floor which changes over passage of time. A path is formed as a series of arcs between connecting nodes for an MR and thus can be defined as
Now, the cost of traversing can be written in a form of
The elements of are required to be identified for each call of path planning. From now on, will be written as for simplicity. For continuous performance of the MR, path needs to be computed for the MR after it reaches a destination. Let, at th call of path planning, path cost was
Now, in any instance, an MR may need to traverse an arc which it had traversed in previous instances. Let at th (>+1) call of path planning, estimation of for is required. As , the MR do not have the observation of for at the previous instance. It can only use the for obtained during traversing after th call. In this scenario, the obtained estimate can be significantly inaccurate which has the potential to produce inaccurately optimized path. Thus, the observation of for at th call can be also obtained from other robots performing in the system which has traversed that arc in the previous instance or in a nearly previous past instance. Moreover, at th call, estimation of for some edge may be needed which that MR has not been yet traversed during all its previous traversals. This can be also solved by fetching the observation data of for the required edge from other robots which have traversed that at previous or nearly previous instances.
Improved estimated values of can be obtained by transferring the right knowledge from one robot to another, which will generate more cost efficient decision. Thus, an information sharing framework is imperative to be formed in order to improve the estimation and in turn improve the decisions where robots can support and help each other in their decisions.
The contribution of this work include the following
A completely decentralised system architecture is developed based on behavior-based system in a hierarchical model for each robot, which ensures scalability and improves robustness
A semantic knowledge sharing mechanism is devised in each robot to share estimated values of travel times of one robot to others. This eventually helps in obtaining better estimates of travel times in each robot, which produces for more optimal path with minimum path costs.
3 Behavior-based decentralised multi-robot system
The objective of this work is to form an MRS with a decentralized flow of control, suitable to logistics. The flow of control is based on the concept of sub-sumption, where each robot has the same sub-sumption model. Each robot is capable of taking the decision itself, with the capability of gathering information about the environment from other MRs. This sub-sumption model achieves the goal making each MR autonomous. The sub-sumption model involves the control structure to be organized in layers one above the other with increasing level of competencies and each level can interact with all other levels with messages. This technique of flow of control is described in Figure 3, which consists of two major control layers.
The top most layer is 1 level and the 0 level is below it. The 0 level is divided into two sub levels 0.1 and 0.0 levels respectively. The 1 level is the agent level control layer where it functions on all the agents in the transportation system and is engaged in controlling more complex functions like finding path, organizing task, finding destination poses, et cetera for each of the robots. The 0 level functions on each of the agents individually and controls the movements. Each robot has its own 0.0 and 0.1 levels respectively which controls the movements in each of them. Here, the 0.0 level communicates with the 0.1 level and have no communication with the 1 level. The 0.1 level is the intermediate level which communicates both with 0.0 level and 1 level. The control levels functions in co-ordination with each other to control the movements of the robots in the environment Norouzi2013 . Thus, essentially the MRs in the system are autonomous. Moreover, the top most 1 level is responsible for intelligent decision making for task assignments and path traversal, based on the available travel time, which represents knowledge about the individual robot and the environment.
The control technique Ismael2015 ,Ismael2017 , described in previous section, is achieved using behaviors as the building block of both decision-making level (1 level) and action execution level (0 level). Separate sets of behaviors are designed for two layers as illustrated in Figure 4, which is based on the control framework proposed by R. Brooks in brookControl86 . The hierarchical control framework has three behavioral levels and each level has an objective and a corresponding output, formed as commands or replies. Moreover, the process of execution of all levels start simultaneously. However, the output in the form of commands from the highest level (1) need to pass on to the next priority level (0.1) for it to start execution, and similar process is followed in 0.0 level. This happens because of the hierarchical framework and the command from the highest-priority behavioral level is required as input to process the low-priority behavioral level. On the other hand, the replies from the lower level act as a feed back to the control rules of the higher level which determines the final decision and output of the control framework.
The general design of an MR is considered in the prototype system which consists of servo-motors to rotate wheels and camera. The sensing is conducted with infra-red sensors and camera. The beagle-bone forms the processor for the robot. Each MR in the system is autonomous with its own three level of behavioral control framework. The following are the behaviors developed in each level.
In 0.0 level, actuation behaviors are developed. This behavior conducts the starting of motors for wheel rotation, camera movements and infra-red sensor movements. The commands which refer to target poses are obtained from 0.1 level in this behavior using extended finite state machines to conduct the movement of the individual robots. The sensor readings are transferred to 0.1 for processing as feedback of commands.
In 0.1 level, three behaviors are developed. They are generating target poses from high level commands like destination port, finding obstacle and obstacle avoidance, processing sensor data to be used in planning and decision in 1. All these behaviors are developed using extended finite state machine.
In 1 level, decision making behaviors are developed which are finding paths and assigning tasks. These behaviors are developed using extended finite stacked-state machine. Also, behavior of maintaining and sharing the knowledge of travel time is developed. More details about the sharing mechanism is provided in next sections.
All these three levels of behavior correspond to a singular behavior for a single robot and this is repeated for each MR. Thus, the control flow in the MRS is decentralized. The knowledge sharing mechanism is incorporated in the behavior of so that each robot can communicate through them. The highest level (1 level) is implemented on the desktop computer in our model to reduce communication costs among the 1 level agents in each MR. The next two lower levels are implemented on body on individual MR using embedded system techniques. The decisions for planning need the information about the states of itself and environment. As behavior in level conducts the process of decision, the knowledge sharing process is realized in in each level which provides each robot an opportunity to seek help about states of environment from other MRs.
As discussed in Section 1, travel time () (Section 2) for a particular edge provides the necessary representation of state of robots and environment. A direct correlation has been found between () with state of charge of batteries and conditions of floor in the prototype system. This is depicted in Figure 5. Part (a) plots the cell voltage of Li-ion batteries over time, Part (b) plots the progressive mean of observed values of () for th edge with the change of state of charge of batteries and Part (c) plots the observed value of () for the same edge with both the change of state of the charge of batteries and the floor condition. The floor is changed from rough at the beginning to smooth during the experiment.
The plot (b) shows that progressive mean of () increase first, then steadily decrease and then increase gradually till complete discharge. Thus values of () first increase due to sudden fall of cell voltage at beginning, then decreasing fast due to cell voltage increasing fast to a steady level and the values gradually decrease towards complete discharge of batteries. Thus, a correlation between () is observed through plots (a) and (b). On the other hand, the increase in progressive mean of () is longer than that of plot (b) at equal battery capacity. The longer increase of values of () in (c) can be attributed to the rough floor, as more energy is required to traverse in rough surface. Plot of () in different conditions of floor demonstrate that travel time can reflect not only state of charge of batteries wafPragna but also environmental conditions.
During the run-time of MRS, the estimation of () is conducted for all necessary edges while finding the optimal path. Thus, estimated values of () will be generated at every instance of control decisions, producing a pool of estimated values. More significantly, every estimated value of travel time has inherent context associated with it, which when shared with the other MRs help in the estimation of () in them. This concept is elaborated in the next section.
4 Information sharing in behavior-based control
4.1 Semantics in travel time
An MRS is dynamic as its states change over time. Also, it is evolving as it gathers more and more knowledge about its states through the course of its operation. Moreover, the source of knowledge of an MRS is distributed to each of its constituent robots. The behavior in 1 has the role of finding paths using Dijkstra’s algorithm. Dijkstra’s algorithm needs to know the estimated () for the concerned edges to decide the path as () designates the cost of traveling the edge. Now, there are possibilities when an MR has not yet traversed many edges. The estimation of () for these edges depends on the obtained travel cost of them from other MRs. Thus, knowledge sharing mechanism improves the estimation of () for accuracy. This will be instrumental to Dijkstra’s algorithm to produce better optimal paths with minimum path costs.
The ()s originate from each MR depending on the instance of travelling, zone of the floor, previously traversed edge, neighboring AGVs, state of charge, et cetera. All these factors provide context to the estimated values of ().
For example, in Figure 6, the () of an edge by 1 at will be different than that at due to discharging of batteries as explained in Figure 5. On the other hand, () for th edge ( ) by 2 in a different zone (marked by double dotted line) will be different than that of th edge, though both th and th edge can have same lenghth. This happens due to different states of floor. Moreover, () for th edge by 1 will be different than that by 2 at any because of differently discharged batteries for different previous tasks. Thus, estimated travel time provides contextual information representing state of charge, condition of floor, instance of travelling.
These values of () at a particular instance for a particular edge of one MR provide contextual information about cost for that edge to other MRs when communicated. Hence, semantics can be built from these knowledge of travel time as they have inherent contextual information. They convey information about the costs of traversing through different edges in the topological map, which describes the factory floor.
4.2 Using semantics for knowledge sharing
Semantic relationships are built in this work to form semantic sentences in order to fetch the values of travel times with the inherent contextual information. This concept is illustrated in Figure 7.
From the above example, a semantic sentence can be derived as
Cost from node to node is at time instance
where, is the instance of estimation. and refer to specific nodes, travel time refer to specific kind of cost. Cost refer to specific kind of utility expenditure while performing the task. Thus, cost establishes the relationship between nodes and and travel time . When the system knows the meaning of nodes, utility cost, travel time, then the above sentence will convey some meaning to the system. This is precisely the method of developing semantics in the MRS in order to convey the contextual meaning instilled in travel time to the level controller.
4.3 Ontology to represent semantics
The most traditional, flexible and useful method of representing knowledge using semantics is expressions based on subject, predicate and object logic SegaranPTSW . Positioning the obtained knowledge is the next progressive step which is defined in philosophical terms as ontology. Ontology helps to create order and define relationships among things useful to an application. A domain specific ontology is developed in this work to efficiently store, access and communicate meaningful semantics across all the MRs in the system regarding the real-time travel costs of edges.
There are significant advantages of implementing ontology for the already mentioned application of this work.
Conceptualization of information: An ontology is defined explicitly to form a specification for a shared conceptualization of a pool of knowledge sageOnto , ontoGRUBER1993 , ontoSTUDER1998 . Ontologies define the concepts of the domain formally and explicitly making further modifications or reversals less cumbersome.
Data representation: Ontology is based on dynamic data representation where a new instance definition is not constrained to a definite rule. Thus adding new elements is easy and fast as and when required. This virtue of ontology is essentially beneficial to share the knowledge of travel time in MRS. The number of travel time grows with the increase of operation time. Moreover, reasoners in ontology solve the problem of data parity, integrity and adhering to constraints. When a new element is added to an ontology, the reasoner performs to check the integrity of the information. This capability of ontology makes the knowledge sharing method in the MRS flexible yet robust. Data addition in MRS is not required to be done on all instances and when it is added the reasoner checks for data integrity and new information can be added smoothly without adhering to rules, previously defined.
Modeling technique: Ontology possesses the capability to express semantic concepts. In case of MRS, conveying the contextual information inherent to any cost parameter like travel time requires this semantic expressiveness than just defining or extracting data. Moreover, the pool of knowledge gathered in the MRS through travel time or similar parameters need to be reused which is only possible through the descriptive logic models of ontology.
In nutshell, ontology provide an unrestricted framework to represent a machine readable reality, which assumes that information can be explicitly defined, shared, reused or distributed. Moreover, information can also be interchanged and used to make deductions or queries. Such representation is imperative for representing the travel time for reasons described above.
4.4 Application of ontology
Semantics is an efficient way to communicate enough meaning which can actuate some action. The focus on representing semantic data is through entities. Semantic models are property oriented and semantic entities are members of a class. Semantic classes are defined on properties, it is also possible to define classes in terms of value of a property. A property type is object property when it signifies some abstract property like character, contribution, virtue et cetera. A property type is a data property when it signifies some literal value. On the other hand, classes can have any of the type of properties. The subclasses are defined which can avail all the properties of the superclass. The properties have range and domain. Range is the source type of a property, while domain is the destination type of the property.
Based on these concepts, the ontology stores and shares the knowledge of travel time (Figure 8). The ontology has two types of classes (owl:Class), NS:Edge and NS:Node, as shown in Figure 8. Thus, NS:Edge and NS:Node are subclasses of owl:Class. There are two properties a class can possess, owl:ObjectProperty and owl:DatatypeProperty. NS:Origin and NS:Destination are of types of owl:ObjectProperty, while NS:tt, timeStamped are of types of owl:DatatypeProperty.
The range of NS:Origin is subclass NS:Node, being the source type of a property, while domain is NS:Edge being the destination type of the property. Similarly, the range of NS:Destination is subclass NS:Node, being the source type of a property, while domain is NS:Edge being the destination type of the property. On the other hand, the range of NS:tt is a float, being the source type of a property, while domain is NS:Edge being the destination type of the property. Similar is the case for timeStamped. The tupled relationships are formed by using these domain and range connections. For example, let th edge be between nodes and . () for th edge at can be formed as NS:tt value at timeStamped value for the th individual of subclass NS:Edge whose NS:Origin is individual of subclass NS:Node and NS:Destination is individual of subclass NS:Node. This semantic sentence can be disintegrated into several subject, predicate and object logic to derive the necessary (). For example,
individual th edge is of type NS:Edge
individual is of type NS:Node
individual is of type NS:Node
th edge has NS:Origin
th edge has NS:Destination
th edge has NS:tt ()
th edge has timeStamped
This way the owl:ObjectProperty and owl:DatatypeProperty of the subclass NS:Edge provides the () for the th edge. Also, the () gets a context about its edge (between a pair of nodes) and time stamp. The advantage of this ontology lies in this formation, as discussed in previous Section 4.3, where any new element can be inserted through these property formations without being restrained semantically. With the use of ontology, travel time () can be efficiently stored annotated with a pair of nodes demarcating the edge and the time stamp of traversing it.
The structure illustrated in Figure 8 shows the formation of ontology which is replicated in each robot in the MRS. Thus, when the information of travel cost for any edge for any time instance is required by any MR, () for that edge at the required time stamp can be retrieved from ontology of other MRs. This shared information from other MRs can provide as observation or historical data for those edges which either have not been yet travelled or have been travelled long back. This helps in achieving accurate estimates of () of these edges.
For example, in Figure 6, when 2 requires to estimate () for edges through the marked zone (marked by dotted line), the historical observation data of () in that zone can be obtained from the ontology of 1 whi h as traversed those edges in previous or nearly previous instance. The estimated values at current instance become more accurate using () of the same edges by 1 at previous instances.
This information can be sought by the 1 level behaviors in any MR to other 1 level behaviors in other MRs. Thus, this ontology fulfills the mechanism of knowledge sharing inside the level behaviors. A co-operative approach in achieved through this knowledge sharing for better cost efficient decisions in each MR, which in turn enhances the cost efficiency of the MRS.
5 Retrieval of travel time and using in estimation
The sharing of travel time to all MRs is implemented through ontology in each of them to generate better estimate of travel time among all (Section LABEL:need2share). This section describes the methodology of using travel time of others in the estimation process of an MR.
The travel time of an MR is modelled using bi-linear state dependent time series priestley1988, which is described in Section 6.3 in Chapter LABEL:costPathPln. This is again produced here for convenience.
The bi-linear model, provided in equation 4, is used
to model the change of travel costs depending upon all the
previous travel costs.
The model described in equation 4 is a special case of the general class of non-linear models called state dependent model (SDM) priestley1988. In equation 4, () denotes the edge travel cost at and at denotes the inherent variation of the edge travel cost. In equation 4, () depends on all the previous values of and , whose number is provided by the variables and . However, a fixed number of previous values of and is used for estimation of current like an window which moves with increase of time. This fixed size of this window is termed as regression number and it is chosen as a design parameter, designated by and . The double summation factor over and in equation 4 provides the nonlinear variation of due to state of batteries and changes in environment.
, the state vector() is of the form . The state vector contains the edge costs obtained progressively over time from to . The variable provides values of innovation or evolution of edge costs over the time as the exploration proceeds. Here, denote number of previous edge costs to be included in the state vector among all edges included in the path till th instance. Also, denotes the number of previous evolution values of these edges. The values are specific for each MR and originate from the changes in travel time of the particular MR. The values of are obtained by sampling using the observation data of travel time. This observation data is obtained for the static online estimation of travel time (Section 6.1 in Chapter LABEL:costPathPln). The values obtained through this method represents the projection of change of travel time. Though, these sampling method does not produce the perfect data to represent the change of travel time, this is suitable to this simple case where cost factor of one task is considered. This method should be improved for the case where cost factors of two or more tasks are to be considered.
The matrices of equation 5 are , and which are explained in the following.
The number of rows of depends on the number of and given by (2* + 1). The matrix contains many new terms like , , . The terms are denoted as in equation 7
All the terms in are constants. The term is the average value of till th instance. Thus, the state transition matrix depends on the travel times of the previously traversed edges. Also, the matrix is denoted as
The observation is formed by multiplying the matrix with the state vector and added with the innovation at the current instance. In both equation 5 and equation 6, (-1) denotes the state vector at current instance. Here, (-1) is of the form . The values in this vector are the travel times obtained for the edges which are already explored and included in the path. But, the available travel times may not be enough to fulfill all the data till the previous instance. Thus, the travel times for the previous instance which are not available are gathered from other MRs. In order to gather this data, the relevant edge costs are queried in the ontology of other MRs. Then after retrieval of the data they are filled in the state vector for both equation 5 and equation 6. Both the equations have which corresponds to the innovation or change of travel time. Thus, this factor plays the role of projecting the travel time of the particular MR at some particular instance. In equation 5, this factor contributes not only to the formation of state but also forms the state equation to predict the next state. In equation 6, this is added to the product of and (-1) to form observation. The product of and (-1) is The addition of , and error term produces the observation (
). In this way, the travel time of other MRs are used in the model for estimation of travel time. The estimation is done by Kalman filtering. The equations obtained after applying Kalman filtering this bi-linear model are explained in Section6.3 in Chapter LABEL:costPathPln. The same process is continued to obtain the travel time of relevant edges.
This travel times are the instruments to decide the path using Dijkstra’s algorithm. This whole process is summarized in Algorithm 1.
6 Experiment and Results
This work proposes a behavior-based control method which uses online estimated travel time as a decision parameter for computing optimal routes between pairs of ports.
6.1 Experiment-I: Behavior-based decentralized control system for MRS based logistics
A prototype multi-robot system for logistics in factory is developed based on the proposed behavior-based decentralized planning and control method. The experimentation platform is briefly described in this section to provide elaborate explanation of the experiment. A scaled down prototype of automated indoor logistics system is built.
An environment has been developed using uniform sized boxes as shown in Figure 9 for the robots to work, doing single task at a time and is named as single-task robot. The boxes create a closed labyrinth path to navigate. Also designated ports are marked on the boxes. The floor is described in three different topological maps. These maps are provided in Figure 10.
The control structure is same in each MR which consists of two layers of sub-sumption structure (Section 3). The lowest 0.0 level is implemented in the body of each MR inside the beagle board which forms the main processor of each robot. The middle 0.1 level and 1 are implemented in desktop PCs where each level is separated for each MR. Thus, the entire two-layer control architecture is formed through the designated behaviors (Fig 4) for each MR in the system.
The MRs carry out the task of pick-up or drop and carrying materials between different pair of ports. The 1 level controller in each MR is responsible for planning decisions to make them reach designated ports. The optimal path between different pair of ports is found out using Dijsktra’s algorithm. These functions are carried out through the DECISION BEHAVIOR (Fig 4) in 1 level. Dijsktra uses () as weight of an edge at every step of forming the path. () is estimated on real-time by Kalman Filtering at required in each MR. It was stated in Section 1 that online estimation of () requires observation of the same at -1. In this experiment, these observations are gathered from the beginning of first decision making and are used in subsequent calls for estimation. But, an MR may need to estimate the travel time of one or more edge which it did not traverse previously or has traversed long back. In this case, the observation of () for the concerned edge is not available. In this experiment, observation of () for the concerned edge at -1 could not be obtained always and thus the available observation for the concerned edge is used. Thus, ()s are estimated solely based on the historical observation of the concerned MR. Dijsktra’s algorithm uses the estimated ()s for each edge. Then it chooses the predecessor node of the current node, from which arrival to current node becomes least cost expending. This way the optimal path is formed using (). These paths are shown in Section 6.4
The resultant paths (Figure 11) form a high level command or macro-command to be transferred to the next lower level 0.1.
In 0.1, these high level commands or paths are disintegrated into macro-actions like turn-left, turn-right, move-ahead, stop-left, stop-right, et cetera. This disintegration happens due to the functions of three behaviors in 0.1 level (Fig 4). Further, these macro-actions are processed in 0.1 level to produce easy and low-level commands like GO-angle-distance which can be easily understood by the lowest level controller 0.0. These low-level commands enable the behaviors in 0.0 for accurate and prompt servo actions to generate movements in MR. This process is shown in Figure LABEL:pathByMR where the MR traverses the path. Figure LABEL:pathByMR shows different sections of the path in different steps 111Video of path traversal is available at ….. from beginning (Part (A)) to end (Part (H)).
In this way, the decentralized control is performed where each MR is the master of their own decision with the facility which is enabled due to the two layer subs-sumption control architecture based on behaviors.
In this experiment, ontological data sharing is incorporated. The MRs are made to traverse repeatedly between different pairs of nodes. The pairs are designated previously from a list in order to suit the carriage necessity. The route computation between different pairs of node are done similarly as in Experiment 1 in Section 6.1, using online estimated values of () as weight of edge.
Online estimation of () at requires observation of the same at (-1). In both Experiment I and Experiment II, these observations are gathered from the beginning of first decision making and are used in subsequent calls for path planning. However, when an MR needs to estimate the travel time of one or more edge(s) which it did not traverse previously, the available observation of for the concerned edge is at some previous instance which may not be (-1) or close to that in many cases. These observations of distant past are used in experiment I for estimating () at . Thus, this will generate less accurate estimates.
This is mitigated in this experiment II by sharing the observation value from other MR who has travelled that edge in nearly previous instance. This way the observation of for the concerned edge at (-1) or close will be available during estimation at . The knowledge sharing contributes to estimate the travel cost for an unexplored edge at current instance in an MR. The behavior in 1 layer in each robot can ask the 1 level of other neighboring robots for observation values of () whenever required. ()s are estimated for the necessary edges using observations either from the own MR or from neighbors.
Meanwhile, before deployment of the behavior-based system and ontology, some legacy data for travel times of different edges at different instances are obtained. These pool of date gathered by recording the travel times during the operation of MRS correspond to experiences of the MRs in the system. The estimated () values are compared to these legacy data to measure the accuracy which is discussed in Section 6.4.
On the other hand, estimated () values of the relevant edges are used by Dijsktra’s algorithm as weights of edges. These estimates are the main instrument at every step of deciding the predecessor to the current node. Dijsktra’s algorithm makes a node predecessor to current, when weight or cost from the former to later becomes minimum. Thus, accurate estimated value of () plays a vital role in deciding the predecessor to current node, in turn deciding the path. More accurate estimates contributes to generate paths with less total cost. Optimal paths are obtained with (experiment II) and without (experiment I) sharing the () values. These paths are compared in Section 6.4.
This section tabulates the results of experiment II. ()s were estimated for each required edge at every step of Dijkstra’s algorithm. These estimates are obtained using a non-linear model and Kalman filtering, with observation data being shared from other MRs. These estimates are compared with that of experiment I where estimation is done without sharing data among MRs. Figure LABEL:accuracy plots the comparison of estimated () at different for different edges with that of legacy data obtained.
This section illustrates the comparison of paths and their costs obtained with and without sharing the travel times in the MRS. The path planning is done for 100 repetitions while increasing the from 4 to 7.
Figure 12 illustrates average total path costs of 100 paths obtained in both Experiment I and Experiment II in four MRs operating in all three maps (Figure 10). The average path costs of 100 paths obtained by sharing (Experiment II) and not sharing (Experiment I) travel times are plotted for each regression, namely 4, 5, 6 and 7.
For each regression in Map 1, the average of path costs obtained through collective intelligence are 40% less than the average of path costs obtained without it. For each MR, the average of total path costs is almost same or vary in small margin with the increase of regression number. The reason of this is the lack of variation in environmental conditions. The travel times are varying on battery condition and floor. No other factor for affecting travel time could be incorporated in the laboratory set-up.
On the other hand, the save of total path costs are same for all MRs in a single map. This signifies that paths found through collective intelligence in each MR is 40% more cost efficient than the paths obtained without it. Thus, collective intelligence using travel time can affect to find more cost efficient paths in MRS. The average path costs decrease in case of Experiment II as through collective intelligence more relevant observation of travel times are obtained in each MR. These values are instrumental for obtaining more accurate estimates of travel time. As a matter of fact, more accurate estimated values result in more optimal path with less cost than in that of obtained in Experiment I. Few examples of these paths are discussed in the next section.
Moreover, the save on total path costs is consistent in all the maps. Thus, the travel time is estimated better due to sharing of travel times from other MRs and this is true for all the representative structures of the floor. This signifies that more accurate estimation is possible through collective intelligence and this is independent of the structure of the floor.
6.5 Analysis of obtained paths
This section illustrates few paths obtained in Experiment I and Experiment II under the same condition of regression no and MR.
Figure 13 plots two paths, and obtained in Map 1 for MR 1. and both have same source and destination. is obtained in Experiment I in the third iteration of path planning, while is obtained in Experiment II at the same iteration. Thus, they are both obtained at the same battery level and in the same map. Still, both the paths are different and have different total path cost. As described in Section2, denotes the cost of a path. and denote cost of and of Figure 13 respectively. The results show = 66.5326 and = 39.5385. Thus,
Figure 14 plots two paths, and obtained in Map 2 for MR 2. and both have same source and destination. is obtained in Experiment I in the third iteration of path planning, while is obtained in Experiment II at the same iteration. Thus, they are both obtained at the same battery level and in the same map. Still, both the paths are different and have different total path cost. and denote cost of and of Figure 14 respectively. The results show = 58.0729 and = 33.5707. Thus,
From these two comparisons, it is evident that after sharing the travel times among the MRs, the path obtained in each MR have improved and are of less cost than that obtained without the sharing.
7 Discussion and Conclusion
The new method to compute cost parameter to be used in transportation and automation industry is proposed. With this new method, parameters now reflect the states of individual robots, their batteries and their environment. They usually arise locally at the robots as a result of performances of task.
In case of planning, the current state of robots and environment plays crucial role. The usual practice is to decide path using Euclidean distance and a path is considered optimal with optimal length or distance. Many industries (like BlueBotics Blue:2009 ) use topology maps to describe the floor and employs a depth-first search to generates a length-optimal path. However, the true cost of traversing a path is not accounted in this case. The cost involved in traversing the path is generated from condition of floor, state of batteries, mechanical parts of robots. It is intuitive that an edge of same length will incur more cost in a rough floor than in smooth one. Thus, travel time is a better tool to decide a path than heuristics based on Euclidean distance.
In this work, the decision making of each robot is based solely on the travel costs of its own. In the dynamic estimation process, there are possibilities of not being able to learn observation of few edges due to lack of experience. Also, the observation gathered for a particular edge is too old to be relevant at the current instance of estimation. To address this, the sharing of travel time is incorporated to be able to share data of travel time from one MR to others. This enables the MR to generate more accurate estimation for travel times.
-  BlueBotics, 2001 (accessed April 12, 2018).
-  C. Amato, G. Konidaris, G. Cruz, C. A. Maynor, J. P. How, and L. P. Kaelbling. Planning for decentralized control of multiple robots under uncertainty. In 2015 IEEE International Conference on Robotics and Automation (ICRA), pages 1241–1248. IEEE, 2015.
-  R. Brooks. A robust layered control system for a mobile robot. IEEE Journal on Robotics and Automation, 2(1):14–23, 1986.
-  J. Capitan, M. T.J. Spaan, L. Merino, and A. Ollero. Decentralized multi-robot cooperation with auctioned pomdps. The International Journal of Robotics Research, 32(6):650–671, 2013.
-  I. F. Chaile and L.R. Xirgo. Agent simulator-based control architecture for rapid development of multi-robot systems. In International Conference on Systems, Control, Signal Processing and Informatics (SCSI 2015), INASE Joint ConferencesBarcelona, Spain, 2015.
-  I. F. Chaile and L.R. Xirgo. Running agent-based-models simulations synchronized with reality to control transport systems. Automatika, 57:452–465, 2017.
-  Pragna Das and Lluís Ribas-Xirgo. Predicting battery level analysing the behaviour of mobile robot. In XVII Workshop of Physical Agents Book of Proceedings, pages 91–98, 2016.
-  V. Digani, L. Sabattini, C. Secchi, and C. Fantuzzi. Towards decentralized coordination of multi robot systems in industrial environments: A hierarchical traffic control strategy. In 2013 IEEE 9th International Conference on Intelligent Computer Communication and Processing (ICCP), pages 209–215. IEEE, 2013.
-  A. Farinelli, L. Iocchi, and D. Nardi. Multirobot systems: a classification focused on coordination. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 34(5):2015–2028, 2004.
-  H. Farivarnejad, S. Wilson, and S. Berman. Decentralized sliding mode control for autonomous collective transport by multi-robot systems. In 2016 IEEE 55th Conference on Decision and Control (CDC), pages 1826–1833. IEEE, 2016.
-  E. A. B. González, M. R. P. Pereira, and G. R. B. Bohórquez. Behavioral control of a lego nxt robot oriented by searching tasks and avoiding obstacles. Visión electrónica, (2):12, 2016.
-  Thomas R. Gruber. A translation approach to portable ontology specifications. Knowledge Acquisition, 5(2):199–220, 1993.
-  G. Lee and D. Chwa. Decentralized behavior-based formation control of multiple robots considering obstacle avoidance. Intelligent Service Robotics, 11(1):127–138, 2018.
-  F. Michaud and M. Nicolescu. Behavior-Based Systems, pages 307–327. Springer, 2016.
-  A. Norouzi and C. A. Acosta. An approach to design a robust software architecture and an intelligent model for multi-agent systems. In 2013 3rd Joint Conference of AI Robotics and 5th RoboCup Iran Open International Symposium, pages 1–7. IEEE, 2013.
-  D. Panagou, D. M. Stipanović, and P. G. Voulgaris. Distributed coordination control for multi-robot networks using lyapunov-like barrier functions. IEEE Transactions on Automatic Control, 61(3):617–632, 2016.
-  Toby Segaran, Colin Evans, Jamie Taylor, Segaran Toby, Evans Colin, and Taylor Jamie. Programming the Semantic Web. O’Reilly Media, Inc., 1st edition, 2009.
-  Rudi Studer, V.Richard Benjamins, and Dieter Fensel. Knowledge engineering: Principles and methods. Data and Knowledge Engineering, 25(1):161–197, 1998.
-  D. Sun, A. Kleiner, and B. Nebel. Behavior-based multi-robot collision avoidance. In 2014 IEEE International Conference on Robotics and Automation (ICRA), pages 1668–1673. IEEE, 2014.
-  Daya C. Wimalasuriya and Dejing Dou. Ontology-based information extraction: An introduction and a survey of current approaches. Journal of Information Science, 36(3):306–323, 2010.