(19)
(11)EP 3 802 015 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
21.09.2022 Bulletin 2022/38

(21)Application number: 19737243.6

(22)Date of filing:  07.06.2019
(51)International Patent Classification (IPC): 
B25J 9/16(2006.01)
(52)Cooperative Patent Classification (CPC):
G05B 2219/40413; B25J 9/1602
(86)International application number:
PCT/IB2019/054763
(87)International publication number:
WO 2019/234700 (12.12.2019 Gazette  2019/50)

(54)

A PREDICTIVE CONTROL METHOD OF A ROBOT AND RELATED CONTROL SYSTEM

VERFAHREN ZUR PRÄDIKTIVEN STEUERUNG EINES ROBOTERS UND ENTSPRECHENDES STEUERUNGSSYSTEM

PROCÉDÉ DE COMMANDE PRÉDICTIVE D'UN ROBOT ET SYSTÈME DE COMMANDE ASSOCIÉ


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 08.06.2018 IT 201800006156

(43)Date of publication of application:
14.04.2021 Bulletin 2021/15

(73)Proprietors:
  • Politecnico di Milano
    20133 Milano (IT)
  • Smart Robots S.r.l.
    20122 Milano (MI) (IT)

(72)Inventors:
  • ZANCHETTIN, Andrea Maria
    20132 Milano MI (IT)
  • PIRODDI, Luigi
    20121 Milano MI (IT)
  • ROCCO, Paolo
    20122 Milano MI (IT)
  • CASALINO, Andrea
    13100 Vercelli VC (IT)

(74)Representative: Barbaro, Gaetano et al
Società Italiana Brevetti S.p.A. Via G. Carducci, 8
20123 Milano
20123 Milano (IT)


(56)References cited: : 
WO-A2-2012/065175
  
  • KELSEY P. HAWKINS ET AL: "Probabilistic human action prediction and wait-sensitive planning for responsive human-robot collaboration", 2013 13TH IEEE-RAS INTERNATIONAL CONFERENCE ON HUMANOID ROBOTS (HUMANOIDS), 1 October 2013 (2013-10-01), pages 499-506, XP055553578, DOI: 10.1109/HUMANOIDS.2013.7030020 ISBN: 978-1-4799-2619-0
  • ZANCHETTIN ANDREA MARIA ET AL: "Probabilistic inference of human arm reaching target for effective human-robot collaboration", 2017 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), IEEE, 24 September 2017 (2017-09-24), pages 6595-6600, XP033266723, DOI: 10.1109/IROS.2017.8206572
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

TECHNICAL FIELD



[0001] The present disclosure relates to robot control methods and more particularly a method for controlling a robot intended to cooperate with a human operator, predicting the activity that the human operator is about to perform in order to be prepared to comply with it, as well as a system a control microprocessor of a robot and a related computer program.

TECHNOLOGICAL BACKGROUND



[0002] With the development of robotics, it is foreseeable that in the future the presence of robots designed to collaborate with human operators will increase, in order to help operators during execution of their work. In particular, robots may conveniently be used to quickly accomplish tasks in a substantially mechanical manner, while human operators may accomplish the most difficult tasks to be performed autonomously from robots.

[0003] Thanks to the improved motion control procedures of industrial robots, it has been possible to realize robots that can autonomously perform tasks sharing a work space with one or more human operators. This solution allows the coexistence of a robot with a human operator in a same environment, in which however each or the two subjects must complete his task independently of the other, achieving his own objective. However, this type of subdivision is not always practicable when a job to be performed is composed of both operations that require human intelligence, as well as mechanical operations, which can be individually performed without knowing all the work to be done and the purposes to be achieved. In general, in all those jobs where there are operations that require a high level of understanding, which human operators can easily perform but which robots cannot easily accomplish unless sophisticated and expensive technology is used, which would require significant investments and would increase production costs, the assignment of the entire work to a human operator appears indispensable.

[0004] To overcome this limitation, collaborative robots are realized, sometimes called with the neologism "cobot" or "co-robot" , that can collaborate with human operators sharing the same work space and interacting closely and synergistically with them to achieve a desired result. For example, a task that could be performed by a "cobot" could be the one schematically illustrated in figure 1. The human operator can act in one of the four work sectors identified with the numbers from 1 to 4, working in the sectors from 1 to 3 and releasing a piece in sector 4, and the robot must perform another task while the human operator works in sectors 1 to 3, and interrupt his task to take the piece from sector 4 and move it elsewhere as soon as it is deposited.

[0005] Solutions are available that are essentially based on careful planning of the different tasks assigned to the human operator rather than the robot, but they prove not particularly flexible or efficient. In particular, a limit to the close collaboration between robots and human operators is the fact that human operations are not always strictly repeated in a same way or with a same duration. For example, small delays on the planned working times of the human operator cause a loss of the robot working efficiency, which can remain stationary relatively long waiting a piece in sector 4, instead of interrupting its activity only when the human operator is actually to release the workpiece.

SUMMARY



[0006] To overcome these limitations, a procedure has been devised for predicting the activity of a human operator, usable in a control method of a robot so as to make it ready to perform a task in collaboration with the human operator only when the latter is about to move into a work sector to carry out the task collaborating with the robot.

[0007] The predictive control method of the present disclosure can be implemented by means of a control system comprising detection devices, such as for example one or more cameras or a mat equipped with sensors, which detect the position of the hands or of the entire body of the operator in the work space, a memory in which to store identifying data of the sectors of work engaged by the human operator, of the residence times in them and of the subsequent work sectors in which the human operator moves, as well as a control unit to microprocessor which processes these data stored in the memory according to the method of this disclosure to predict in which field of work the operator will move his hands and when that will happen, and that controls a robot based on this prediction information.

[0008] The method of this disclosure can be implemented by means of software executed by a microprocessor unit.

[0009] The detailed definition of the invention is set out in the claims.

BRIEF DESCRIPTION OF THE DRAWINGS



[0010] 

Figure 1 shows an example of a work station of a human operator supported by a robot that cooperates with the operator.

Figure 2 illustrates a control system, according to an embodiment of the present disclosure, of a fixed robotic arm which cooperates with an operator at a work table and which moves only his hands between two work sectors.

Figure 3 shows another control system, according to another embodiment of the present disclosure, of a fixed robotic arm and a mobile robot which cooperate with an operator.

Figure 4 shows an exemplary time chart that identifies the succession of occupation of the work sectors by a human operator.

Figure 5 illustrates an example of a reachability tree with representative branches of sequences of transitions that lead to a sector of work of interest passing through other work sectors in which the work space of the human operator is divided.

Figure 6 is a flow chart which illustrates a procedure for determining the branches of a reachability graph that lead to a sector of interest before the expiry of a predetermined time horizon.

Figure 7 shows a block diagram which synthetically illustrates the execution of steps of the control method according to the present disclosure.

Figure 8 describes an exemplary cyclical work sequence of a human operator, which successively engages the work sectors 1, 2, 3, 4 shown in Figure 1.


DETAILED DESCRIPTION



[0011] To improve the performance of a job that requires the synergistic cooperation of a human operator with a collaborative robot ("cobot"), a method has been devised to predict the activities of the human operator so that the robot can prepare to perform its task when the human operator is about to finish his task, using the remaining time in other activities, as well as to be ready when the operation needs to be carried out simultaneously by the operator and by the robot (such as the transport of a bulky or heavy object). Substantially, the method of this disclosure allows:
  • to predict which activity of the human operator will most likely be undertaken at the end of the current activity;
  • to predict when a given human operator activity will start for which robot assistance or synchronization with this is required.


[0012] For example, the method of this disclosure can be usefully implemented in assembly tasks in which both the human operator and the robot have individual sub-tasks to be performed and a joint action must be performed to finalize the assembly. The task to be performed in collaboration requires that the human operator and the robot be available at the same time, while other sub-tasks assigned individually to the robot and to the human operator can be performed at any other time.

[0013] According to the present disclosure, the work space of the human operator is divided into work sectors that can be occupied by the operator's hands or by the entire body of the operator. It detects the positions of the hands or of the operator's body during the work, how much time hands (or the entire operator's body) remain in a certain work sector and what is the sector of the next task in which the operator will move when he leaves the current work sector. Observing the operator at work, records are stored in a database indicating at least the current work sector and the time spent in it.

[0014] The method is implemented by means of a control system, as shown in Figures 2 and 3, which includes detection devices which detect the position of the hands or of the entire body of the operator. For example, Figure 2 illustrates a control system, according to an embodiment of the present disclosure, of a fixed robotic arm 1 which cooperates with an operator 5, with the body substantially stationary compared to a work table, which moves only his hands between the two sectors 6 delimited by a dotted line. One or more cameras 2 detect the positions of the hands of the human operator 5 to establish in which of the sectors 6, respectively to the right and to the left of the operator, are the hands. The data on the position of the operator or his hands are processed so as to compose records that identify the current work sector, the time spent in it, and these records are stored in a database 8. A control unit 7 a microprocessor processes the records stored in the database 8 with the method of this disclosure to predict in which work sector the operator will move his hands and when that will happen, so as to command the robotic arm 1 so as to perform his sub-tasks as long as possible and not to be engaged when the operator needs his cooperation.

[0015] Figure 3 shows another control system, according to another embodiment of the present disclosure, of a fixed robotic arm 1 and a mobile robot 4 which cooperate with an operator 5 that moves between the various work sectors 6 delimited by a dotted line. In this case, the human operator 5 must perform certain tasks, including the one of picking up objects from one or more containers 3, filled by the mobile robot 4, and then moving to other work sectors, possibly cooperating with the fixed robotic arm 1. Differently from the previous example, the human operator 5 is not seated at the work table but moves from one sector to another. The position of the operator's body 5 can be detected with one or more cameras 2 or with other devices for detecting the position of the operator, such as for example a mat with built-in sensors which detect the pressure exerted by the feet of the operator 5.

[0016] Beyond the fact that the operator moves from one sector to another or that stands still and move only his hands, and regardless of the detectors used to detect the body position of the operator 5 or of his hands, there are records containing the current work sector and the time spent in this work sector.

[0017] According to the method of this disclosure, indicating with Ak a variable which represents the generic current work sector at the instant tk and with m the number of different work sectors in which the work space, in which the human operator 5 may act, is subdivided, we calculate the probability of a transition from the work sector Ak, occupied at the instant tk, to the next work sector Ak + 1 that will be occupied starting from the instant tk + 1 knowing that the operator has arrived at the work sector Ak passing through the work sectors A k-1, ..., A k-n . In formulas :

wherein a, k0, ..., kn are possible values that identify a work sector. In practice, the conditional probability is calculated that the operator at time tk + 1 occupies the work sector "a" (identified by any integer from 1 to m) knowing that at the previous instants tk, ..., tk-n the human operator occupied the work sectors k0, ..., kn. In general, the calculation of this transition probability poses considerable difficulties as the number of parameters to be considered increases exponentially with the length "n" of the sequence of previous transitions that are taken into account to predict the sector in which the operator will move at the time tk+1.

[0018] To simplify the calculation of a transition probability like the one described above, in the article by AE Raftery " A model for high-order Markov chains", Journal of the Royal Statistical Society, Series B (Methodological) pp. 528-539, 1985, herein incorporated by reference, the following approximation was proposed:

where the values of parameters λi , positive reals, are determined so that

i.e. the probability of transition to the generic sector Ak + 1 is a linear combination of the probability of transition from the sector Ak-i to the sector Ak+1 regardless of the succession followed through intermediate work sectors, greatly reducing the number of parameters to be stored.

[0019] Indicating with {Ak} the succession of work sectors who were engaged in terms of states and with Xk the generic state column vector at step k, so that for example if Ak=3 then Xk =[0 0 1 0 ...]T. The generic state column vector k+1 represents the distribution of occupation probabilities of the work sector that is expected will be occupied for the execution of the task following the current one. Therefore, the formula that allows to calculate the probability of occupation of a generic work sector is as follows:

in which Q is the matrix of transition probabilities



[0020] According to a more flexible mathematical model presented in the article by WK Ching et al., "Higher-order Markov chain models for categorical data sequences", Naval Research Logistics (NRL), vol. 51, no.4, pp. 557-574, 2004, incorporated herein by express reference, the transition probability matrix Q is updated at each step i:



[0021] In the method according to the present disclosure, by an appropriate choice of parameters λi it is estimated in the previous formula the probability distribution of occupation of the work sectors after the currently occupied one. The cited article by Ching et al. also provides a procedure for estimating the parameters λi based on the fact that the preceding formula admits a stationary distribution, but this procedure has proved to be unsuitable for use in the implementation of a control method of a "cobot", as it is less accurate than the one described in the present disclosure. To overcome this limitation and to implement a fast and accurate method to control a collaborative robot, the applicants verified that it is possible to quickly estimate the parameters λi and the transition probability matrices Qi updating them at every step through observation of the execution of the work of the human operator. These method steps are performed thanks to the detectors of the position of the human operator and/or of his hands. For example, referring to the case illustrated in figure 1, through the observation of the work performed by the human operator, a time chart is determined as that of figure 4 which identifies the succession of the work sectors engaged by the operator. In practice, by observing the work performed by the human operator, the products Qi ·Xk-i are determined which represent the probability that the operator is currently in a given work sector when at the time k-i the operator occupied a certain work sector, then the parameters λi are calculated so as to minimize the sum of square of differences, each one given by the following formula

for each database entry, with the condition that



[0022] Once the probability distribution k+1 that the operator moves in a generic work sector has been estimated, according to the method of this disclosure the robot is controlled on the basis of this probability distribution by making sure that the robot prepares to cooperate with the human operator if the probability that the operator is about to occupy a work sector dedicated to performing a cooperative task with a robot exceeds a preestablished threshold.

[0023] According to the method of the present disclosure, at the generic step k it is possible to estimate the probability distribution k+1. Subsequently, only after having seen the real value of the state Ak + 1, it is possible to recalculate the parameters λi of the model, in order to make a more accurate forecast of the probability distribution k+2 at the next step k+1.

[0024] The mathematical model, summarized by the two previous formulas, only allows to predict the probability of transition from one work sector to another work sector and does not consider the time spent by the operator in a work sector. These residence times must be estimated so that the robot can interrupt the sub-task it is performing independently, and can prepare to cooperate with the operator just in time when the operator is about to move. For this purpose, the residence time in a generic work sector "a" is estimated, i.e. the time required to perform the task in the sector "a", as a positive random variable Ta which cannot be less than a positive value

and this information is derived from the observation of the human operator at work.

[0025] The goal is to estimate a generic waiting time τa which is presumed it should pass before the human operator will go into a sector "a" in which he must perform an activity that requires the cooperation of the robot. The probability distribution of this waiting time τa is estimated knowing that the human operator is in the work sector Ak and that he arrived in the sector "a" passing through the sectors Ak, ..., Ak-n:



[0026] In theory, it would be necessary to construct a reachability tree that describes all the succession of transitions from one work sector to another sector and ending with the occupation of the work sector "a" to perform the related activity. Since this reachability tree could be infinite, the time horizon ΔT is limited i.e. the above indicated probability is calculated up to an instant t + ΔT wherein t is the current instant. Figure 5 illustrates an example of a reachability tree and the time horizon starting from the current instant t assuming that the human operator is in the work sector 2 and that the waiting time for the human operator to move into the work sector 4 to perform an activity that requires the collaboration of the robot is to be forecast. As shown in the tree of Figure 5, the operator can arrive in sector 4 coming from sector 2 or from sector 1. In the branch at left in the figure, when the operator has reached sector 2, only the oriented arc leading to the work sector 4 is considered since the other oriented arc leading to the work sector 1 does not lead to sector 4 within the time horizon ΔT.

[0027] In general, any procedure can be used that allows to identify all the branches of the reachability tree that lead to the sector of interest "a" in which the human operator must perform the activity that requires the cooperation of the robot. According to an embodiment of the present disclosure, such a procedure can be the one synthetically illustrated by the flow diagram of Figure 6, in which the numbers identify the operations indicated in the following table:
0 Begin
1 Mark the root node of the graph as a node not yet expanded
2 If all the nodes of the tree have been expanded
3 End
4 Choose a tree node not yet expanded
5 If the chosen node corresponds to the sought activity
6 Mark this node as expanded
7 Calculation of probability distribution of the next activity
8 Hanging m nodes of the tree to the current node and associating to each transition the probability calculated at the previous point
9 If all new hanging nodes have been processed
10 Choose a new unprocessed node
11 Calculates τbranch and pbranch
12 If the minimum τbranch is bigger than ΔT and/or pbranch is less than a minimum threshold ε
13 Mark the current node as expanded


[0028] Once the branches of the reachability tree leading to the sector of interest are explored, the probability associated with each arc of the reachability tree is calculated by multiplying the probability of each transition p(i, j) from sector i to sector j described by the considered branch:



[0029] The estimated waiting time to reach the end of the considered branch is given by the sum of the expected residence times in the various sectors of the branch, from sector i to sector j:



[0030] Given the distribution of the times associated with each branch, the overall distribution of the waiting times of the task to be performed in the work sector "a", in which the collaboration of the robot is required, can be calculated as the weighted sum of the waiting times associated with each branch (within the time horizon ΔT) that leads to sector "a" , that is:



[0031] When the method of this disclosure is performed continuously at a certain frequency, the estimates of waiting times and the probabilities of transition from one work sector to another can be updated iteratively.

[0032] A block diagram illustrating the method described above is shown in Figure 7. Through cameras or other detection means the work sectors Ak are identified as they are gradually occupied by the human operator in succession and the related residence times in each work sector. For example, the succession of occupied work sectors can be stored in a FIFO memory and the residence times in each work sector can be stored in a related database. Alternatively, records identifying a work sector that has been engaged by the operator and the relative permanence time can be stored. The parameters λi and the matrices of transition probabilities Qi of the proposed mathematical model are determined and the distribution of waiting times is estimated before the human operator reaches the work sector "a" in which a task that request an activity in collaboration with the robot is to be performed.

[0033] Assuming for example that the sector of interest in which the robot must work with the human operator is the work sector number 4, the activity of the human operator could be represented by the time chart of figure 8, which describes a cyclical work sequence involving the work sectors 1, 2, 3, 4 of figure 1 in the following succession
1-2-3-1-4 with the relative permanence times. The method according to the present disclosure allows to estimate the instant by instant waiting time τ4 before the human operator moves into the work sector 4 to carry out an activity that requires the collaboration of the robot.

[0034] Thanks to the proposed method, implemented through a software executed by a microprocessor unit, the robot can be controlled so as to stop or otherwise organize their autonomous activity to prepare to collaborate with the human operator just in time, minimizing the downtime in which the robot or the human operator is stopped waiting for the other subject to be ready to carry out the activity in collaboration.


Claims

1. A control method of at least one collaborative robot with a human operator, said method being implemented by means of a control system comprising detection devices, configured to detect a position of the operator's body or of his hands while the operator moves in a work space, a memory, a microprocessor control unit configured to process data stored in the memory and to control movements of a collaborative robot, the method comprising the following steps:

detecting a position of the operator's body or of his hands in distinct sectors of said work space;

storing in an orderly way first identifying data of occupied sectors of the work space occupied successively by the human operator while executing a task, and second identification data of respective permanence times in said occupied sectors of the work space;

calculating, at each step of said sequence, a respective first probability distribution P(Ak+1 = a|Ak-i = ki) of transition of the human operator in a generic first sector "a" of the work space, coming from a second sector "ki" of the work space previously occupied a number "i" of steps backward in said succession from a generic third sector "ko" currently occupied;

estimating, at each step of said sequence, a respective second probability distribution P(Ak+1 = a|Ak = k0,..., Ak-n = kn) of transition of said human operator in said first sector "a" coming from the third sector "ko" currently occupied, conditioned by the fact that at previous steps from 1 to n of said succession the human operator occupied the work sectors kl, ..., kn, respectively, as a linear combination of the probability distributions P(Ak+1 = a|Ak-i = ki) of transition estimated at each step of said sequence, weighed with respective real positive parameters λi determined so that

estimating a probability distribution of occupation k+1 of said generic first sector "a" coming from said generic third sector "ko" currently occupied, as a function of said second probability distribution P(Ak+1 = a|Ak = k0,...,Ak-n = kn) of transition;

determining values λi of said parameters so as to minimize a standard deviation between said probability distribution of occupation k+1 and an effective probability distribution of occupation Xk+1 detected by said succession of work sectors progressively occupied by the human operator;

estimating, on the basis of said stored permanence times, a future time of arrival of the human operator from the currently occupied third sector "k0" in said first sector "a";

controlling a robot upon said estimated probability distribution and said estimated time of arrival, so as to move the robot in said first sector "a" synchronously with the human operator's transition to said first sector "a",

wherein said future time of arrival is estimated through the following operations:

identifying successions of transitions between work sectors which from the currently occupied third sector "k0" lead to said first sector "a";

for each succession of transitions of said succession of transitions, calculating a respective probability for it to occur and calculating a respective waiting time to arrive in said first sector "a" as the sum of said permanence times in working sectors of the succession of considered transitions;

estimating said future time of arrival for each sequence of transitions in function of the respective probability of it of occurring and of said sum of permanence times.


 
2. The method according to claim 1, comprising the operations of:

discarding sequences of transitions whose respective waiting times from the current instant exceed a maximum value ΔT ;

discarding sequences of transitions whose respective probabilities of occurring are less than a minimum value ε.


 
3. A control system connectable to at least one collaborative robot for collaborating with a human operator, comprising:

detection devices configured to detect a body position of the human operator or of his hands while the human operator moves in a work space,

a memory,

a microprocessor control unit configured to process data stored in the memory and to control movements of the collaborative robot,

characterized in that a computer program is loaded in said microprocessor control unit and is configured to control the movements of a collaborative robot by causing the control system to perform the method of one of claims 1 to 2.
 
4. The system according to claim 3, wherein said detection devices comprise one or more cameras for detecting the hands of the human operator in said work space.
 
5. The system according to claim 3 or 4, wherein said detection devices comprise a mat equipped with sensors arranged in said work space on which the human operator walks.
 
6. A computer program loadable into the memory of the microprocessor unit of the control system of claim 3, comprising a software code configured to cause the microprocessor unit to perform operations of the method of any of claims 1 to 2 when the program is run by the microprocessor unit.
 


Ansprüche

1. Ein Verfahren zur Steuerung wenigstens eines kollaborativen Roboters mit einem menschlichen Operator, wobei das besagte Verfahren implementiert ist mittels eines Steuersystems, das Erkennungseinichtungen umfasst, welche zum Detektieren einer Position des Körpers des Operators oder seiner Hände ausgelegt sind, während der Operator sich in einem Arbeitsbereich bewegt, einen Speicher, eine Mikroprozessorsteuerungseinheit, die zum Bearbeiten von in dem Speicher gespeicherten Daten ausgelegt ist sowie zur Steuerung der Bewegungen des kollaborativen Roboters, wobei das Verfahren folgende Schritte umfasst:

- Erkennen einer Position des Körpers des Operators oder seiner Hände in verschiedenen Bereichen des Arbeitsbereichs;

- Speichern, auf geordnete Weise, von ersten identifizierenden Daten der besetzten Bereiche des Arbeitsraums, die von dem menschlichen Operator bei der Ausführung einer Aufgabe sukzessive besetzt werden, und von zweiten identifizierenden Daten betreffend die Verweilzeiten in den besagten besetzten Bereichen des Arbeitsraums;

- Berechnen, bei jedem Schritt der besagten Schrittfolge, einer zugeordneten ersten Wahrscheinlichkeitsverteilung P(Ak+1 = a|Ak-i = ki) für einen Übergang des menschlichen Operators in einen auswählbaren ersten Sektor "a" des Arbeitsraums, aus einem zweiten Sektor "ki" des Arbeitsraums kommend, der zuvor besetzt war vor einer Zahl "i" von Schritten in der besagten Abfolge von einem auswählbaren dritten Sektor "k0", welcher gegenwärtig besetzt ist;

- Abschätzen, bei jedem Schritt der besagten Schrittfolge, einer zugeordneten, zweiten Wahrscheinlichkeitsverteilung P(Ak+1 = a|Ak = k0, ..., Ak-n = kn) für einen Übergang des menschlichen Operators in den besagten ersten Bereich "a", von dem gegenwärtig eingenommenen dritten Bereich "k0" kommend, dadurch bedingt, dass bei vorangehenden Schritten von 1 bis n der besagten Abfolge der menschliche Operator jeweils die Arbeitsbereiche k1, ..., kn, eingenommen hatte, als eine Linearkombination von Wahrscheinlichkeitsverteilungen P(Ak+1 = a|Ak-i = ki) für einen Übergang, welche bei jedem Schritt der besagten Schrittfolge abgeschätzt werden, gewichtet mit den zugeordneten, realen positiven Parametern λi, welche derart festgelegt sind, so dass

- Abschätzen einer Wahrscheinlichkeitsverteilung k+1 für die Besetzung des besagten auswählbaren ersten Sektors "a", aus dem besagten auswählbaren dritten, gegenwärtig besetzten Sektor "k0" kommend, als eine Funktion der besagten zweiten Übergangswahrscheinlichkeitsverteilung P(Ak+1 = a|Ak = k0, ..., Ak-n = kn);

- Bestimmen von Werten λi der besagten Parameter, um so eine Standardabweichung zwischen der besagten Wahrscheinlichkeitsverteilung k+1 der Besetzung und einer effektiven Wahrscheinlichkeitsverteilung k+1 für eine Besetzung zu minimieren, die erkannt wurde durch die besagte Abfolge von Arbeitssektoren, welche von dem menschlichen Operator fortschreitend eingenommen werden;

- Schätzen, auf der Basis der besagten gespeicherten Verweilzeiten, einer zukünftigen Ankunftszeit des menschlichen Operators von dem aktuell besetzten dritten Sektor "k0" in dem besagten ersten Sektor "a";

- Steuern eines Roboters anhand der besagten, geschätzten Wahrscheinlichkeitsverteilung und der besagten, geschätzten Ankunftszeit, um den Roboter in den besagten ersten Sektor "a" synchron mit dem Übergang des menschlichen Operators in den besagten Bereich "a" zu bewegen;

wobei die besagte zukünftige Ankunftszeit anhand der folgenden Operationen abgeschätzt wird:

- Identifizieren der Abfolgen von Übergängen zwischen Arbeitssektoren, welche von dem aktuell besetzten dritten Arbeitsbereich "k0" zu dem besagten ersten Sektor "a" führen;

- für jede Abfolge von Übergängen der besagten Abfolgen von Übergängen, Berechnen einer zugeordneten Wahrscheinlichkeit für ihren Eintritt und Berechnung einer entsprechenden Wartezeit, um in dem besagten ersten Arbeitssektor "a" anzukommen, als die Summe der besagten Verweildauern in den Arbeitssektoren der Abfolge von betrachteten Übergängen;

- Schätzen der besagten zukünftigen Ankunftszeiten für jede Abfolge von Übergängen als Funktion der entsprechenden Wahrscheinlichkeit für ihren Eintritt und der besagten Summe der Verweildauern.


 
2. Das Verfahren gemäß Anspruch 1, umfassend die folgenden Schritte:

- Verwerfen der Abfolgen von Übergängen, deren zugeordnete Wartezeiten von dem aktuellen Zeitpunkt einen Maximalwert ΔT übersteigen;

- Verwerfen der Abfolgen von Übergängen, deren zugeordnete Wahrscheinlichkeiten des Eintritts kleiner sind als ein Minimalwert ε.


 
3. Ein Steuersystem, das an wenigstens einen kollaborativen Roboter für die Zusammenarbeit mit einem menschlichen Operator anschließbar ist, umfassend:

- Erkennungseinrichtungen, welche dazu ausgelegt sind, die Position des Körpers des menschlichen Operators oder seiner Hände zu erkennen, während sich der menschliche Operator in einem Arbeitsraum bewegt,

- einen Speicher,

- eine Mikroprozessorsteuerungseinheit, welche dazu ausgelegt ist, die in dem Speicher gespeicherten Daten zu verarbeiten und die Bewegungen des kollaborativen Roboters zu steuern,

dadurch gekennzeichnet, dass ein Computerprogramm in die besagte Mikroprozessorsteuerungseinheit geladen ist und dazu ausgelegt ist, die Bewegungen eines kollaborativen Roboters zu steuern, indem sie das Steuersystem veranlasst, das Verfahren nach einem der Ansprüche 1 bis 2 auszuführen.
 
4. Das System gemäß Anspruch 3, wobei die besagten Erkennungseinrichtungen eine oder mehrere Kameras zur Erkennung der Hände des menschlichen Operators in dem besagten Arbeitsraum umfassen.
 
5. Das System gemäß Anspruch 3 oder 4, wobei die besagten Erkennungseinrichtungen eine Matte umfassen, die mit in dem besagten Arbeitssektor angeordneten Sensoren ausgestattet ist, auf welcher der menschliche Operator geht.
 
6. Ein Computerprogramm, das in den Speicher der Mikroprozessoreinheit des Steuersystems nach Anspruch 3 geladen werden kann, umfassend einen Softwarecode, der dazu ausgelegt ist, die Mikroprozessoreinheit zu veranlassen, Operationen des Verfahren nach einem der Ansprüche 1 bis 2 auszuführen, wenn das Programm von der Mikroprozessoreinheit abgearbeitet wird.
 


Revendications

1. Procédé de commande d'au moins un robot collaboratif avec un opérateur humain, ledit procédé étant mis en œuvre au moyen d'un système de commande comprenant des dispositifs de détection, configurés pour détecter une position du corps de l'opérateur ou de ses mains pendant que l'opérateur se déplace dans un espace de travail, une mémoire, une unité de commande à microprocesseur configurée pour traiter des données stockées dans la mémoire et pour commander les mouvements d'un robot collaboratif, le procédé comprenant les étapes suivantes :

la détection d'une position du corps de l'opérateur ou de ses mains dans des secteurs distincts dudit espace de travail ;

le stockage, d'une manière ordonnée, de premières données d'identification de secteurs occupés de l'espace de travail occupés successivement par l'opérateur humain pendant qu'il exécute une tâche, et de secondes données d'identification de temps de séjour respectifs dans lesdits secteurs occupés de l'espace de travail ;

le calcul, à chaque étape de ladite séquence, d'une première distribution de probabilité respective P(Ak+1 = a | Ak-i = ki) de transition de l'opérateur humain dans un premier secteur générique « a » de l'espace de travail, en venant d'un deuxième secteur « ki » de l'espace de travail précédemment occupé un nombre « i » d'étapes en arrière dans ladite succession à partir d'un troisième secteur générique « k0 » actuellement occupé ;

l'estimation, à chaque étape de ladite séquence, d'une seconde distribution de probabilité respective P(Ak+1 = a | Ak = k0, ..., Ak-n = kn) de transition dudit opérateur humain dans ledit premier secteur « a » en venant du troisième secteur « k0 » actuellement occupé, tenant au fait qu'à des étapes précédentes de 1 à n de ladite succession, l'opérateur humain a occupé les secteurs de travail k1, ..., kn, respectivement, sous la forme d'une combinaison linéaire des distributions de probabilité P(Ak+1 = a | Ak-i = ki) de transition estimées à chaque étape de ladite séquence, pondérées avec des paramètres positifs réels Ai respectifs déterminés de sorte que

l'estimation d'une distribution de probabilité d'occupation k+1 dudit premier secteur générique « a » en venant dudit troisième secteur générique « k0 » actuellement occupé, en fonction de ladite seconde distribution de probabilité P(Ak+1 = a | Ak = k0, ... , Ak-n = kn) de transition ;

la détermination de valeurs λi desdits paramètres de façon à minimiser un écart type entre ladite distribution de probabilité d'occupation k+1 et une distribution de probabilité effective d'occupation k+1 détectée par ladite succession de secteurs de travail progressivement occupés par l'opérateur humain ;

l'estimation, sur la base desdits temps de séjour stockés, d'un temps d'arrivée futur de l'opérateur humain à partir du troisième secteur actuellement occupé « k0 » dans ledit premier secteur « a » ;

la commande d'un robot selon ladite distribution de probabilité estimée et ledit temps d'arrivée estimé, de façon à déplacer le robot dans ledit premier secteur « a » de manière synchrone avec la transition de l'opérateur humain vers ledit premier secteur « a »,

dans lequel ledit temps d'arrivée futur est estimé par le biais des opérations suivantes :

l'identification de successions de transitions entre des secteurs de travail qui, à partir du troisième secteur actuellement occupé « k0 », mènent audit premier secteur « a » ;

pour chaque succession de transitions de ladite succession de transitions, le calcul d'une probabilité respective qu'elle survienne et le calcul d'un temps d'attente respectif pour arriver dans ledit premier secteur « a » comme étant la somme desdits temps de séjour dans des secteurs de travail de la succession de transitions considérées ;

l'estimation dudit temps d'arrivée futur pour chaque séquence de transitions en fonction de la probabilité respective qu'elle survienne et de ladite somme de temps de séjour.


 
2. Procédé selon la revendication 1, comprenant les opérations de :

le rejet de séquences de transitions dont les temps d'attente respectifs à partir de l'instant actuel dépassent une valeur maximale ΔT ;

le rejet de séquences de transitions dont les probabilités respectives qu'elles surviennent sont inférieures à une valeur minimale ε.


 
3. Système de commande apte à être connecté à au moins un robot collaboratif pour une collaboration avec un opérateur humain, comprenant :

des dispositifs de détection configurés pour détecter une position de corps de l'opérateur humain ou de ses mains pendant que l'opérateur humain se déplace dans un espace de travail,

une mémoire,

une unité de commande à microprocesseur configurée pour traiter des données stockées dans la mémoire et pour commander les mouvements du robot collaboratif,

caractérisé en ce qu'un programme d'ordinateur est chargé dans ladite unité de commande à microprocesseur et est configuré pour commander les mouvements d'un robot collaboratif en amenant le système de commande à réaliser le procédé selon l'une des revendications 1 à 2.


 
4. Système selon la revendication 3, dans lequel lesdits dispositif de détection comprennent un ou plusieurs appareils de prise de vues pour la détection des mains de l'opérateur humain dans ledit espace de travail.
 
5. Système selon la revendication 3 ou 4, dans lequel lesdits dispositif de détection comprennent un tapis équipé de capteurs agencé dans ledit espace de travail sur lequel l'opérateur humain marche.
 
6. Programme d'ordinateur apte à être chargé dans la mémoire de l'unité à microprocesseur du système de commande selon la revendication 3, comprenant un code logiciel configuré pour amener l'unité à microprocesseur à réaliser des opérations du procédé selon l'une quelconque des revendications 1 à 2 lorsque le programme est lancé par l'unité à microprocesseur.
 




Drawing























Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Non-patent literature cited in the description