The present disclosure relates to a technical field of a control system for performing a process of information observed by a robot.
A system in which a plurality of robots work together is called a multi-agent system. In the multi-agent system, the robots decide their own actions based on information sensed by their own sensors and local communications with other robots existing nearby. In a case where the action decision of each of the robots is made based on the sensed information of all of the robots, for example, it is necessary to propagate the sensed information such as a bucket relay by local communications among the robots, and to collect the sensed information of all of the robots. A method for collecting the sensed information is one found in a mobile sensor network or the like as described in Patent Document 1.
PRECEDING TECHNICAL REFERENCES patent DOCUMENT
In a case where action decision of each robot depends on observation information of all of the robots in a multi-agent system, it is necessary to propagate the observation information of all of the robots such as a bucket relay by local communications among the robots, and there is a problem that as the number of robots increases, a communication band is compressed, and a memory for storing sensed information increases.
It is one object of the present disclosure to provide a mechanism capable of efficiently collecting information necessary for the action decision of each robot based on the observation information of all of the robots, that is, with less communication band and memory.
According to an example aspect of the present disclosure, there is provided a control system including: a control apparatus; and a plurality of robots,
According to another example aspect of the present disclosure, there is provided a control apparatus including:
According to still another example aspect of the present disclosure, there is provided a control method, including:
According to a further example aspect of the present disclosure, there is provided a recording medium storing a program, the program causing a computer to perform a process including:
According to the present disclosure, it becomes possible to collect information necessary for action decision of each robot based on observation information of all robots.
In the following, example embodiments will be described with reference to the accompanying drawings.
The communication section 101 communicates with the robots R by wired or wireless means. The processor 102 is a computer such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or the like, and controls the entire control apparatus 100 by executing programs prepared in advance. In particular, the processor 102 performs a setting process of the robots to be described later.
The memory 103 is formed by a ROM (Read Only Memory), a RAM (Random Access Memory), or the like. The memory 103 stores various programs to be executed by the processor 102. The memory 103 is also used as a working memory during executions of various processes by the processor 102.
The recording medium 104 is a non-volatile and non-transitory recording medium such as a disk-shaped recording medium, a semiconductor memory, or the like, and is configured to be detachable from the control apparatus 100. The recording medium 104 records various programs executed by the processor 102.
The DB 105 stores functions and task information input by the user. In addition, the DB 105 stores information required for a conversion of a function form, conversion of variables, and the like which will be described later.
The input device 106 is, for instance, a keyboard, a mouse, a touch panel, or the like, and is used for a user to perform necessary instructions and inputs in connection with processes by the control apparatus 100. The display device 107 may be, for instance, a liquid crystal display, and displays a state of each of the robots, information concerning a control of each of the robots R, and the like.
The memory 203 is formed by a ROM, a RAM, and the like, and stores programs to be executed by the processor 202. The memory 203 is also used as a working memory during executions of various processes by the processor 202. The storage unit 204 stores various data related to an action performed by the robot in the storage unit 204 as needed.
Next, a first example embodiment of the present disclosure will be described.
(Functional Configuration)
The function input unit 111 corresponds to a device for receiving an input of a function from the user. In this function, information that each robot R observes with a sensor and the like is regarded as an input value. Also, a function value becomes a reference of an action decision of each robot.
Now, x1, x2, x3, , xn denote observation values representing information which robots R1, R2, R3, , R. observe. At this time, a function input by the user is expressed by F(xi, x2, x3, , x.). The observation values may be vector information. For instance, for location information from a GPS, the observation values are given as two-dimensional vectors.
A relationship between the input function and the action decision of the robot will be explained using a specific example. As an example, consider a multi-agent system that sounds an alert when an average temperature of an area exceeds 40° C. degrees. In this multi-agent system, robots as a group are scattered around the area, and sensors attached to respective robots detect temperature at that point. That is, in a case where the robot Ri observes temperature of 41° C. degrees, x1=41 is acquired. Since whether or not to sound the alert, which is regarded as the action decision of the robot, is decided based on the average temperature, the function to be input is expressed as
The function form conversion unit 112 converts the function received by the function input unit 111 into a distributed calculable form. An example of a conversion is to convert a function into a graph structure formed by points and arrows. In this example, the function form conversion unit 112 converts the function received by the function input unit 111 into a graph in which a node corresponds to a function value (vector value), an edge corresponds to a function to which a node value of a root is input, and a merge of edges (tips of a plurality of arrows are collected in one node) corresponds to a sum calculation of function values which the edges output. In this graph, a calculation proceeds in a direction of the edge (arrow). Nodes (points) arranged at a beginning of the calculation correspond to the observation values of respective robots R. The edge (arrow) from the node corresponds to a function which input a value of the node. Moreover, the function described here may be a vector value function. Furthermore, in a case where a plurality of arrows merge at one node, a value corresponding to that node is regarded as a sum of values of incoming edges.
As a basic process, based on a dependent relationship between a certain node and a node at a root of each edge pointing to the certain node in a graph obtained by the conversion, the function form conversion unit 112 assigns all nodes to respective affiliations by repeating
In the following, the conversion of the function form will be described using specific examples. Consider in a case where the input function is expressed as follows:
This is a function to calculate a variance of the observation values for each robot R. For instance, in a case of desiring to reduce unevenness of temperature in a hot spring, this function can be used to calculate values of the variance corresponding to the unevenness of the temperature.
For this function, in a case of five robots R now (robots Ri =R1 through R5), the function form conversion unit 112 converts a function being input into, for instance, a form in
and yi corresponds to the following formula 4:
Finally, a value corresponding to v is a function value.
As an example of a method for converting into a graph, there is a generative method based on the Kolmogorov-Arnold representation theorem. An example of this technique is detailed in Literature 1 below. However, in the present disclosure, the conversion is not the main focus and can be achieved by the existing method, and a description of the conversion method will be omitted. The following document 1 is incorporated herein by reference as part of this specification.
(Literature 1) Kiyotaka Yamamura, Yasuko Murayama, “An Algorithm for Representation of Non separable Functions in Separable Forms”, technical research report of the Institute of Electronic Information and Communications Engineers. CAS, circuitry and system 93(102), 67-74, 1993-06-19.
The variable conversion unit 113 corresponds to a device for setting variables for a distributed calculation from a function which form is converted. In detail, the device sends information of a group of the variables, to which a consensus control is needed, to the consensus control unit 211 provided on each of the robots R.
An example of a variable conversion will be described using the conversion from a graph form in
First, the variable conversion unit 113 clearly indicates to which robot the node corresponding to the observation value belongs. This result is illustrated in
In
On each side of the robots R, the consensus control unit 211 calculates the variables based on the consensus control. As an example of the consensus control, there is a technique proposed in the following document 2. This technique is regarded as a technique for obtaining an average of observation values. In the present disclosure, the conversion of the function form and the variable conversion as pre-processes therein are added and used for inferring a function value. The following document 2 is incorporated herein by reference as a part of this specification. (Literature 2) Demetri P. Spanos, Reza Olfati-Saber, Richard M. Murray.
In the multi-agent system considered in this example embodiment, not all the robots can communicate with all of the robots. For instance, consider a state where the robot Ri and the robot R3 can communicate with each other, but the robot Ri and the robot R2 cannot communicate with each other. However, it is assumed that the communication network is concatenated. Here, the concatenation means that all of the robots can be reached by tracing the communication network from a certain robot.
A set of robots with which the robots R, can communicate (directly) is denoted by N. An example of the consensus control is represented by the following formula illustrated in the above-mentioned document 2.
Here, a superscripted number represents the affiliation, and w denotes a value calculated from the node and the edge on which the variable depends. In this example,
w=n(fi(ci)+f2(c2)+ . . . )
Where f denotes a function of the edge and c corresponds to a value of the node. Multiplying by n corresponds to merging of the edges in an original graph; however, in the consensus control, this operation corresponds to a calculation of the average value. In a case where a variable z does not belong to the robot Ri, w′=0 is set. This operation will be described in detail with reference to
Here, f1 corresponding to the edge illustrated by a solid line in
[Formula 8]
yii(t)=xii(t)−si(t)/5
This is not the consensus control, but corresponds to a special process with respect to the variables which are unique in all of the robots. In a case where the variables are unique for all of the robots, values are derived directly from dependent ones. Here, fi(c)=f(c) and f2(c)=−c/5, and f2 corresponds to a dotted line. Finally, the consensus control of the variable v is expressed by the following formula 9:
Here, a function corresponding to the double line is expressed by f3(c)=c2/5. In this example, a continuous time is used as the consensus control; alternatively, the consensus control of a discrete time may be applied.
The function value inference unit 212 estimates function values using the variable group as inputs. In a case of the above-described example of the consensus control, the function value inference unit 212 of each robot R, may use v′ as it is as an inferred value of the function value. Other variables and observation values that belong to the robot R, may be used to infer the functional value. For instance, in a case of calculating a product of probabilities, that is, in a case where the following formula 10 is given:
the function value is always less than the observation value. In other words, by using information of each of the observation values for an inference of an observation and giving a condition that the function value is less than or equal to the observation value, it is possible to improve accuracy of the inference.
With reference to
(Process Flow)
Next, the process flow will be described according to the present example embodiment.
<Second Example Embodiment>
The task information input unit 114 receives information related to a task (hereinafter, referred to as “task information”) from the user. The task information indicates, for instance, a final purpose of the task, constraints that the robot group complies with, suitability of each of the robots for the task, and the like. The constraints that the robot group complies with indicates, for instance, that the communication network of the robot group is not interrupted, and the suitability of each of the robots for the task indicates, for instance, a distance between a destination for a robot to be instructed to move and each of the robots.
The function conversion unit 115 converts the task information input by the user into a function. Although not illustrated in
A process after the function conversion is the same as the first example embodiment. Processes up to the function conversion will be described with specific examples. The user assume that an ultimate objective is to distribute the robot group to a plurality of jobs. For instance, suppose that the number of robots is 10 and the number of jobs is 3, and it is desired to distribute three robots to a job A, five robots to a job B, and two robots to a job C.
As the task information, the user first inputs information concerning these three types of jobs, and the number of robots to assign to respective jobs. Next, the user inputs a degree of the suitability of each of the robots for each of the jobs. For instance, in a case where one job corresponds to a job for carrying luggage, the suitability is determined based on the information on how much the robot can carry and how fast the robot is. Now, suppose that due to a problem of a supported weight, the robots Ri=R1, R2, R3, R4, R5 are unable to perform the job C, but are able to move fast and suitable for work B. Conversely, the robots Ri=R6, R7, R8, R9, R10 are able to perform the job C, but move slowly and are not suitable for the job B. In addition, the job A does not need to be fast, and may be carried out by either type of the robots.
The suitability between each of the robots and each of the jobs in the case described above is, for instance, presented as illustrated in
For instance, the function conversion unit 115 first converts the input task information into an optimization problem. Since many studies have illustrated relationships between various real problems and optimization problems, one of the conversion methods to the optimization problems is that the function conversion unit 115 includes a database of these associations. The previously described problem is an optimization problem related to a task assignment, and specifically is expressed by the following formula 11.
Here, aij is a variable indicating whether or not a robot i performs a task j, a task j is executed when aij=1, and the task j is not executed when aij=0. Moreover, bij represents the degree of the suitability of the robot i for the task jj, and corresponds to the task information in
Next, this optimization problem is converted into a function. As an example of a conversion method from a constrained optimization problem into a simple unconstrained optimization problem, there is a method called a penalty method. This is a method for imposing a penalty such that an objective function degrades when the constraint is violated, and specifically is expressed as follows:
M>0 is a constant representing a weight of the penalty, and the larger this value is, the less likely the constraint is to be violated. In this formula, a constraint portion is deformed and is in M or less brackets.
Finally, considering that a maximization problem is solved based on a gradient method, a function corresponding to a gradient is derived, and this function is used as a converted function. A partial differential based on the a,j is expressed by the following formula 13.
In this task, this function corresponds to the converted function. Each of the robots can decide which task to perform by the robot itself by updating the variable aij based on this function. Moreover, for instance, each of the robots naturally reaches a task start location when the task assignment is determined, by keeping moving a location of the robot to a destination which is represented by a weighted average ‘αi1xA+ai2xB+αi3xc’ of points xA, xB, xc at which tasks A, B, and C are performed.
(Process Flow)
Next, a process flow will be described according to the second example embodiment.
<Third Example Embodiment>
In a third example embodiment, a configuration of an artificial force field control and a control barrier function using a function inference value, which are specific applications in the second example embodiment, will be described. A functional configuration of a control system ly in the third example embodiment is illustrated in
Both the artificial force field control and the control barrier function first design a function corresponding to a task, and determine a control input using a gradient and a function value of the function. For instance, in the artificial force field control, a function P is designed in which a state of each of the robots R is taken as a parameter according to the task. After that, based on the partial differential of each of the robots R, it determines the control input of the robot R. An example of a typical control input is expressed by the following formula 14:
Here, ui denotes the control input, x denotes a state of a robot Ri , and x denotes each state for all of the robots. On the other hand, as one example of the control barrier function, the function B is designed and is defined so that the control input satisfies the following formula.
By calculating these functions P and B and gradients of P and B based on the function inference illustrated in the first example embodiment, it is possible to control respective robots R in a distributed manner. For instance, suppose that functions P and B can be rewritten into functions in the following form:
This refers to an example of a function form conversion which is different from the specific examples of the function conversion in the first example embodiment. From this function, the variable conversion and the consensus control are expressed as follows:
The functions P and B and their gradients are inferred in the robot Ri, respectively, as follows:
and
Here, ΔΦk denotes a gradient of Φk. In a case of the artificial force field control, for instance, the control input determination unit 213 determines a control input based on a function value which is inferred such the following formula 20:
And in the control barrier function,
the above formula 21 gives a constraint to the control input based on an inferred value of the function and an inferred value of the gradient.
<Fourth Example Embodiment>
Each of the robot 60 includes a consensus control unit 61, and a function value inference unit 62. The consensus control unit 61 updates a variable value stored by itself based on the set variable while sending and receiving variable values with other communicable robots. The function value inference unit 62 infers the function value from the variable based on the set process.
While the disclosure has been described with reference to the example embodiments and examples, the disclosure is not limited to the above example embodiments and examples. It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/007942 | 2/27/2020 | WO |