JP7462195B2 - ROBOT INTERFERENCE DETECTION DEVICE, ROBOT INTERFERENCE DETECTION METHOD, ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, HUMAN OPERATION PREDICTION DEVICE, AND HUMAN OPERATION PREDICTION METHOD - Google Patents

ROBOT INTERFERENCE DETECTION DEVICE, ROBOT INTERFERENCE DETECTION METHOD, ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, HUMAN OPERATION PREDICTION DEVICE, AND HUMAN OPERATION PREDICTION METHOD Download PDF

Info

Publication number
JP7462195B2
JP7462195B2 JP2023003855A JP2023003855A JP7462195B2 JP 7462195 B2 JP7462195 B2 JP 7462195B2 JP 2023003855 A JP2023003855 A JP 2023003855A JP 2023003855 A JP2023003855 A JP 2023003855A JP 7462195 B2 JP7462195 B2 JP 7462195B2
Authority
JP
Japan
Prior art keywords
robot
worker
time
learning
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023003855A
Other languages
Japanese (ja)
Other versions
JP2023029629A (en
Inventor
霄光 寧
純一 出澤
志門 菅原
康滉 菅原
天海 金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Iwate University
AISing Ltd
Original Assignee
Omron Corp
Iwate University
AISing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Iwate University, AISing Ltd filed Critical Omron Corp
Publication of JP2023029629A publication Critical patent/JP2023029629A/en
Application granted granted Critical
Publication of JP7462195B2 publication Critical patent/JP7462195B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ロボットと作業者などの検出対象物とが共存する環境下において、両者が接触等する可能性を判定するロボット干渉判定装置等に関する。 The present invention relates to a robot interference detection device that detects the possibility of contact between a robot and a detection target such as a worker in an environment where the two coexist.

従来、工場等の生産現場においてロボットと作業者とが不用意に接触するのを回避するための各種の試みが知られている。例えば、安全柵などによって人の作業エリアとロボットの作業エリアとを隔離する方法が知られているが、この方法では人とロボットとの協調作業が実行できず、生産効率およびスペース効率が低い。また、例えば、下掲の特許文献1および2には、ロボットの周囲に予め設けておいた領域内への人の侵入を監視してロボットの動作を制御したり、ロボットのトルクを制限したりする試みが開示されている。 Conventionally, various attempts have been known to prevent accidental contact between robots and workers at production sites such as factories. For example, a method is known in which a safety fence or the like is used to separate the human work area from the robot work area, but this method does not allow for collaborative work between humans and robots, resulting in low production efficiency and space efficiency. For example, Patent Documents 1 and 2 listed below disclose attempts to monitor for the intrusion of humans into a predefined area around the robot and control the robot's operation or limit the robot's torque.

特開2010-208002号公報JP 2010-208002 A ドイツ公開特許公報第 DE 102016222245 A1German Patent Publication No. DE 102016222245 A1

そもそも、ニューラルネットワーク等を用いた学習アルゴリズム(例えばDeep Learning等)では、追加学習によって学習済モデルの更新を行うために、学習のためのパラメータを手動で調整する必要がある。作業者(人)が同じ作業を繰り返し行う場合であっても、作業者の動作パターンは、作業者の疲労等に応じて変化し得る。そのため、精度の高い予測を行うためには、学習済モデルの更新を行う必要がある。しかしながら、手動でパラメータ調整が必要な学習アルゴリズムを用いると、リアルタイムで学習済モデルの更新を適切に行うことが難しい。 In the first place, in learning algorithms that use neural networks, etc. (e.g., deep learning, etc.), in order to update the trained model through additional learning, it is necessary to manually adjust the learning parameters. Even when a worker (person) repeatedly performs the same task, the worker's movement pattern may change depending on the worker's fatigue, etc. Therefore, in order to make highly accurate predictions, it is necessary to update the trained model. However, when using a learning algorithm that requires manual parameter adjustment, it is difficult to properly update the trained model in real time.

本発明の一態様は、前記の問題点に鑑みてなされたものであり、自動でリアルタイムに学習済モデルの更新を行い、人の動作を予測することを目的としている。 One aspect of the present invention was made in consideration of the above problems, and aims to automatically update a trained model in real time and predict human behavior.

上記の課題を解決するために、本発明の一態様に係るロボット干渉判定装置は、所定の領域内に存在する対象物の現時点における、現時点までの位置の変化を示す情報を取得する対象物状態取得部と、ロボットにおける所定の可動部の所定時間後における予測位置および予測速度ベクトルを取得するロボット状態取得部と、前記対象物の、現時点までの位置の変化を示す情報に基づいて、前記所定時間後における前記対象物の予測位置および予測速度ベクトルを算出する予測部と、前記対象物の前記予測位置および前記予測速度ベクトルと、前記可動部の前記予測位置および前記予測速度ベクトルとに基づき、前記対象物と前記可動部との接触が生じる可能性があるか否かをリアルタイムで判定する干渉判定部と、を備えている。 In order to solve the above problems, a robot interference determination device according to one embodiment of the present invention includes an object state acquisition unit that acquires information indicating the change in the position of an object present within a predetermined area up to the present time, a robot state acquisition unit that acquires a predicted position and predicted velocity vector of a predetermined moving part of the robot after a predetermined time, a prediction unit that calculates a predicted position and predicted velocity vector of the object after the predetermined time based on the information indicating the change in the position of the object up to the present time, and an interference determination unit that determines in real time whether or not there is a possibility of contact between the object and the moving part based on the predicted position and predicted velocity vector of the object and the predicted position and predicted velocity vector of the moving part.

前記の構成によれば、前記ロボット干渉判定装置は、前記対象物の、現時点までの位置の変化を示す情報を取得し、この現時点までの位置の変化を示す情報を用いて、前記対象物の前記予測位置および前記予測速度ベクトルを算出する。前記対象物の、現時点までの位置の変化を示す情報は、例えば、前記対象物の現時点における位置(現在位置)、および、前記対象物の現時点における速度ベクトル(現在速度ベクトル)である。また、後述する図15の表において入力として示す各種の情報も、各々、前記対象物の、現時点までの位置の変化を示す情報の例である。 According to the above configuration, the robot interference determination device acquires information indicating the change in the position of the object up to the present time, and calculates the predicted position and predicted velocity vector of the object using the information indicating the change in the position up to the present time. The information indicating the change in the position of the object up to the present time is, for example, the position of the object at the present time (current position) and the velocity vector of the object at the present time (current velocity vector). In addition, the various pieces of information shown as input in the table of FIG. 15 described later are each examples of information indicating the change in the position of the object up to the present time.

そして、前記ロボット干渉判定装置は、算出した前記対象物の前記予測位置および前記予測速度ベクトルと、前記可動部の前記予測位置および前記予測速度ベクトルとに基づき、前記対象物と前記可動部との接触が生じる可能性があるか否かをリアルタイムで判定する。 The robot interference determination device then determines in real time whether or not there is a possibility of contact between the object and the movable part based on the calculated predicted position and predicted velocity vector of the object and the predicted position and predicted velocity vector of the movable part.

前記ロボット干渉判定装置は、安全柵を用いずに前記ロボットと前記対象物との干渉を回避することができるので、生産現場等の省スペース化を実現することができる。 The robot interference determination device can avoid interference between the robot and the object without using a safety fence, thereby realizing space savings in production sites, etc.

また、前記ロボット干渉判定装置は、前記ロボットと前記対象物との、前記所定時間後(つまり、未来)における干渉の可能性を現時点で判定するので、干渉の可能性があると判定した場合にも、干渉回避のための処理を現時点で余裕を持って実行できる。 In addition, the robot interference determination device determines the possibility of interference between the robot and the object at the specified time (i.e., in the future) at the present time, so even if it determines that there is a possibility of interference, it can currently execute processing to avoid the interference with ample time.

ここで、現時点での干渉の可能性を現時点で判定する装置が、現時点での干渉の可能性があると判定した場合、現時点での干渉を回避するためには、前記ロボットの急減速および急停止等の動作が必要となり、どうしても生産効率が低下する。 Here, if the device that currently determines the possibility of interference determines that there is a possibility of interference at the present time, then in order to avoid the current interference, the robot will need to suddenly decelerate and stop, among other actions, which will inevitably result in a decrease in production efficiency.

これに対し、前記ロボット干渉判定装置は、未来における干渉の可能性を現時点で判定するので、現時点での干渉の可能性を現時点で判定する場合に比べて、干渉を回避するために必要な前記ロボットの動作を、円滑かつ必要最小限のものにすることができる。つまり、前記ロボット干渉判定装置は、前記ロボットと前記対象物との干渉を回避しつつ、前記ロボットの急減速および急停止等による生産効率の低下を抑制することができる。 In contrast, the robot interference determination device determines the possibility of future interference at the present time, and therefore the robot's movements required to avoid interference can be made smoother and to a minimum, compared to when the possibility of current interference is determined at the present time. In other words, the robot interference determination device can prevent interference between the robot and the object, while suppressing a decrease in production efficiency due to sudden deceleration and sudden stopping of the robot, etc.

したがって、前記ロボット干渉判定装置は、工場等の生産現場において、例えば作業者等である前記対象物と前記ロボットとの干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 The robot interference determination device therefore has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between the robot and the object, such as a worker, at a production site such as a factory.

前述の通り、前記対象物は、例えば作業者等の人であり、具体的には、人の全体または人の一部であり、また、人以外のモノ(例えば、モバイルロボットなど)であってもよい。前記対象物の位置とは、前記対象物が人の全体である場合には、例えば、人の重心の位置である。前記対象物が人の一部または人以外のモノである場合には、前記対象物の位置とは、人の一部の位置、または、人以外のモノの位置である。 As mentioned above, the object may be, for example, a person such as a worker, and more specifically, may be an entire person or part of a person, or may be a non-human object (for example, a mobile robot). If the object is an entire person, the position of the object is, for example, the position of the center of gravity of the person. If the object is part of a person or a non-human object, the position of the object is the position of a part of the person, or the position of the non-human object.

前記予測部による対象物の予測速度ベクトルの算出は、対象物の各時点における位置および速度ベクトルの履歴を学習した結果を利用するものであってもよいし、また、単純予測を利用するもの、つまり、現在速度ベクトルの継続を前提とするものであってもよい。 The prediction unit may calculate the predicted velocity vector of the object using the results of learning the history of the object's position and velocity vector at each point in time, or it may use simple prediction, i.e., assume that the current velocity vector will continue.

本発明の一態様に係るロボット干渉判定装置について、前記ロボットは、複数のアームが複数の関節で接続されている多関節マニピュレータを備えており、前記可動部は、前記多関節マニピュレータの所定の1以上の部分であってもよい。 In a robot interference detection device according to one aspect of the present invention, the robot may be equipped with a multi-joint manipulator in which multiple arms are connected by multiple joints, and the movable part may be one or more predetermined parts of the multi-joint manipulator.

前記の構成によれば、前記ロボット干渉判定装置は、複数のアームが複数の関節で接続されている多関節マニピュレータを備えた前記ロボットと、前記対象物との、前記所定時間後(つまり、未来)における干渉の可能性を、現時点で判定する。 According to the above configuration, the robot interference determination device currently determines the possibility of interference between the robot, which is equipped with a multi-joint manipulator in which multiple arms are connected at multiple joints, and the target object after the specified time (i.e., in the future).

したがって、前記ロボット干渉判定装置は、工場等の生産現場において、例えば作業者等である前記対象物と、多関節マニピュレータを備えた前記ロボットとの干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 The robot interference determination device therefore has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between the target object, such as a worker, and the robot equipped with a multi-joint manipulator in a production site such as a factory.

本発明の一態様に係るロボット干渉判定装置において、前記干渉判定部は、現時点から前記所定時間が経過した時点から、前記可動部の移動停止動作が開始し、前記可動部の移動が停止するまでの時間における、前記対象物の推定位置と前記可動部の推定位置との距離が所定値以内となる場合に、前記対象物と前記可動部との接触が生じる可能性があると判定してもよい。 In a robot interference determination device according to one aspect of the present invention, the interference determination unit may determine that there is a possibility of contact between the object and the moving part if the distance between the estimated position of the object and the estimated position of the moving part during the time from when the predetermined time has elapsed from the current time until the moving part stops moving after the movement stopping operation of the moving part starts is within a predetermined value.

前記の構成によれば、前記ロボット干渉判定装置は、現時点(t)から前記所定時間(Δt)が経過した時点(t+Δt時点)から、前記可動部の移動が停止するまでの時間における、前記対象物の推定位置と前記可動部の推定位置との距離が所定値以内となると、前記対象物と前記可動部との接触が生じる可能性があると判定する。 According to the above configuration, the robot interference judgment device determines that there is a possibility of contact between the object and the moving part when the distance between the estimated position of the object and the estimated position of the moving part is within a predetermined value from the point ( t0 + Δt) when the predetermined time (Δt) has elapsed from the current time (t0) to the time when the movement of the moving part stops.

つまり、前記ロボット干渉判定装置は、前記可動部の移動が停止した時点での前記対象物の推定位置と前記可動部の推定位置との距離だけでなく、その途中までの各時点における前記対象物の推定位置と前記可動部の推定位置との距離を用いて、前述の判定を行う。 In other words, the robot interference determination device makes the above-mentioned determination using not only the distance between the estimated position of the object and the estimated position of the movable part at the time when the movement of the movable part stops, but also the distance between the estimated position of the object and the estimated position of the movable part at each point along the way.

したがって、前記ロボット干渉判定装置は、現時点(t)から前記所定時間(Δt)が経過した時点(であるt+Δt時点)から、前記可動部の移動が停止するまでの各時点における接触の可能性を考慮した判定を行うことができるとの効果を奏する。 Therefore, the robot interference judgment device has the effect of being able to make judgments that take into account the possibility of contact at each point from the point when the predetermined time (Δt) has elapsed from the current point ( t0 ) (that is, the point t0 + Δt) until the movement of the movable part stops.

ここで、ISO/TC15066の5.5.4.2.3において、安全距離Spは、「Sp(t)=S+S+S+c+Z+Z」と規定されている。そして、上記の規格においては、実際の分離距離が安全距離Sp以下となると、不用意な干渉の可能性があると判定することになる。これは、ロボットの移動停止時点における、人の推定位置(人が存在すると推定される位置)とロボットの推定位置(ロボットが存在すると推定される位置)との距離が、所定値(c+Zd+Zr)以下(以内)となると、人とロボットとが干渉すると判定するものと読み替えることができる。 Here, in 5.5.4.2.3 of ISO/TC15066, the safety distance Sp is defined as "Sp( t0 ) = Sh + Sr + Ss + c + Zd + Zr ". In the above standard, if the actual separation distance is equal to or less than the safety distance Sp, it is determined that there is a possibility of inadvertent interference. This can be interpreted as determining that there will be interference between a person and a robot when the distance between the estimated position of the person (the position where the person is estimated to be present) and the estimated position of the robot (the position where the robot is estimated to be present) at the time when the robot stops moving is equal to or less than a predetermined value (c + Zd + Zr).

上述の定義式において、「S」は「現時点からロボットの移動が停止する時点までに、人が移動する距離」を、「S」は「現時点からロボットが停止動作を開始するまでに、ロボットが移動する距離」を示すものとする。「S」は「ロボットが停止動作を開始する時点からロボットの移動が停止する時点までに、ロボットが移動する距離」を示すものとする。「c」は、「Depth penetration factor」と呼ばれる、例えば、「人の中心(重心)等の検知位置から、その人の腕などの部分までの距離」等を示すものとする。「Z」は「人体を検知するセンサの測定誤差」を、「Z」は「ロボット制御における制御位置の誤差」を示すものとする。 In the above definition formula, "S h " indicates "the distance a person moves from the current time to the time when the robot stops moving", and "S r " indicates "the distance a robot moves from the current time to the time when the robot starts its stopping action". "S s " indicates "the distance a robot moves from the time when the robot starts its stopping action to the time when the robot stops moving". "c" indicates "depth penetration factor", for example, "the distance from a detection position such as the center (center of gravity) of a person to a part of the person such as an arm". "Z d " indicates "the measurement error of the sensor that detects the human body", and "Z r " indicates "the error of the control position in controlling the robot".

安全距離Spに即して前記ロボット干渉判定装置の備える前記の構成を整理すれば、「前記対象物の推定位置」は「S」、「前記可動部の推定位置」は「S+S」、「前記所定値」は「c+Z+Z」に相当する。 If the configuration of the robot interference determination device is rearranged in accordance with the safe distance Sp, the "estimated position of the object" corresponds to "S h ," the "estimated position of the movable part" corresponds to "S r +S s ," and the "predetermined value" corresponds to "c + Z d +Z r ."

本発明の一態様に係るロボット干渉判定装置において、前記予測部は、前記対象物の各時点における位置、速度ベクトル、および加速度ベクトルの少なくとも1つの履歴を学習することによって学習済モデルを生成する学習部を備え、前記学習済モデルによって前記対象物の前記予測位置および前記予測速度ベクトルを算出してもよい。 In a robot interference determination device according to one aspect of the present invention, the prediction unit may include a learning unit that generates a trained model by learning at least one history of the position, velocity vector, and acceleration vector of the object at each point in time, and calculates the predicted position and the predicted velocity vector of the object using the trained model.

前記の構成によれば、前記ロボット干渉判定装置は、前記対象物の各時点における位置、速度ベクトル、および加速度ベクトルの少なくとも1つの履歴を学習して学習済モデルを生成する。そして、前記ロボット干渉判定装置は、生成した学習済モデルを用いて、前記対象物の前記予測位置および前記予測速度ベクトルを算出する。 According to the above configuration, the robot interference determination device learns at least one history of the position, velocity vector, and acceleration vector of the object at each point in time to generate a trained model. Then, the robot interference determination device calculates the predicted position and the predicted velocity vector of the object using the generated trained model.

したがって、前記ロボット干渉判定装置は、前記履歴の学習によって生成した前記学習済モデルを用いて、前記対象物の前記予測位置および前記予測速度ベクトルを高精度に算出することができるとの効果を奏する。 Therefore, the robot interference determination device has the effect of being able to calculate the predicted position and the predicted velocity vector of the object with high accuracy using the learned model generated by learning the history.

本発明の一態様に係るロボット干渉判定装置において、前記学習部は、前記対象物の、現時点までの位置の変化を示す情報を入力とし、前記対象物の加速度またはその後の位置を出力とする学習を行うことによって前記学習済モデルを生成してもよい。 In a robot interference determination device according to one aspect of the present invention, the learning unit may generate the learned model by performing learning in which information indicating the change in the position of the object up to the current time is used as input and the acceleration or the subsequent position of the object is output.

前記の構成によれば、前記ロボット干渉判定装置は、前記対象物の、現時点までの位置の変化を示す情報を入力とし、前記対象物の加速度またはその後の位置を出力とする学習を行う。 According to the above configuration, the robot interference determination device performs learning by taking information indicating the change in the object's position up to the present time as input and outputting the acceleration or subsequent position of the object.

例えば、前記ロボット干渉判定装置は、時刻ごとの(つまり、各時点における)、前記対象物の位置および速度ベクトルを入力とし、時刻ごとの、前記対象物の加速度を出力とする学習用データについて、学習を行う。 For example, the robot interference determination device learns learning data that takes the position and velocity vector of the object for each time (i.e., at each point in time) as input and the acceleration of the object for each time as output.

前記ロボット干渉判定装置は、前記対象物の、現時点までの位置の変化を示す情報を入力とし、前記対象物の加速度またはその後の位置を出力とする学習用データを学習することで、前記対象物の前記予測位置および前記予測速度ベクトルを算出するための、高精度な学習済モデルを生成することができるとの効果を奏する。 The robot interference determination device has the effect of being able to generate a highly accurate trained model for calculating the predicted position and predicted velocity vector of the object by learning training data that receives as input information indicating the change in the object's position up to the current time and outputs the acceleration or subsequent position of the object.

本発明の一態様に係るロボット干渉判定装置は、前記対象物を識別する識別部をさらに備え、前記予測部は、前記識別部による識別結果に応じて前記対象物の予測位置および予測速度ベクトルの算出方法を変更してもよい。 The robot interference determination device according to one aspect of the present invention may further include an identification unit that identifies the object, and the prediction unit may change the method of calculating the predicted position and predicted velocity vector of the object depending on the identification result by the identification unit.

前記の構成によれば、前記ロボット干渉判定装置は、複数の前記対象物の各々を識別し、複数の前記対象物の各々の予測位置および予測速度ベクトルを、複数の前記対象物の各々に応じて、算出する。 According to the above configuration, the robot interference determination device identifies each of the multiple objects and calculates a predicted position and a predicted velocity vector for each of the multiple objects.

ここで、例えば複数の作業者の各々は、身長、体重等が異なり、また、各々に特有の動作の癖などを備えている。したがって、複数の作業者の各々について、予測位置および予測速度ベクトルを高精度に算出するには、複数の作業者の各々の状態・動作の履歴情報を学習し、その学習結果を利用するのが望ましい。 For example, each of the multiple workers has a different height, weight, etc., and each has their own unique movement habits. Therefore, in order to calculate the predicted position and predicted speed vector for each of the multiple workers with high accuracy, it is desirable to learn the historical information of the state and movement of each of the multiple workers and use the learning results.

前記ロボット干渉判定装置は、複数の前記対象物の各々を識別し、各々に応じた算出方法により各々の予測位置および予測速度ベクトルを算出するので、各々の予測位置および予測速度ベクトルを高精度に算出することができるとの効果を奏する。 The robot interference determination device identifies each of the multiple objects and calculates the predicted position and predicted velocity vector of each object using a calculation method appropriate for each object, thereby achieving the effect of being able to calculate the predicted position and predicted velocity vector of each object with high accuracy.

本発明の一態様に係るロボット干渉判定装置において、前記対象物状態取得部は、非接触で前記対象物の二次元または三次元位置を計測する計測装置による計測結果の履歴に基づき、前記対象物の、現時点までの位置の変化を示す情報を取得してもよい。 In a robot interference determination device according to one aspect of the present invention, the object state acquisition unit may acquire information indicating changes in the object's position up to the present time based on a history of measurement results obtained by a measurement device that measures the object's two-dimensional or three-dimensional position in a non-contact manner.

前記の構成によれば、前記ロボット干渉判定装置は、前記対象物の計測位置の履歴を用いて、前記対象物の、現時点までの位置の変化を示す情報を取得する。前記ロボット干渉判定装置は、前記対象物の、現時点までの位置の変化を示す情報として、例えば、現時点における、前記対象物の位置および速度ベクトルを取得する。 According to the above configuration, the robot interference determination device uses the history of the measured positions of the object to obtain information indicating the change in the position of the object up to the present time. The robot interference determination device obtains, for example, the position and velocity vector of the object at the present time as information indicating the change in the position of the object up to the present time.

したがって、前記ロボット干渉判定装置は、前記対象物の、現時点までの位置の変化を示す情報を、前記対象物の計測位置の履歴を用いて高精度に算出し、取得することができるとの効果を奏する。 The robot interference determination device therefore has the effect of being able to calculate and obtain information indicating the change in the object's position up to the present time with high accuracy using the history of the object's measured positions.

本発明の一態様に係るロボット干渉判定装置において、前記ロボット状態取得部は、前記ロボットの動作を制御するロボット制御装置から制御情報を取得することにより、前記可動部の前記予測位置および前記予測速度ベクトルを取得してもよい。 In a robot interference determination device according to one aspect of the present invention, the robot state acquisition unit may acquire the predicted position and the predicted velocity vector of the movable part by acquiring control information from a robot control device that controls the operation of the robot.

前記の構成によれば、前記ロボット干渉判定装置は、前記ロボット制御装置から、前記ロボットに対する制御を規定する制御情報を取得することにより、前記可動部の前記予測位置および前記予測速度ベクトルを取得する。したがって、前記ロボット干渉判定装置は、前記制御情報から、前記可動部についての、高精度な前記予測位置および前記予測速度ベクトルを取得することができるとの効果を奏する。 According to the above configuration, the robot interference determination device obtains the predicted position and the predicted velocity vector of the moving part by obtaining control information that specifies the control of the robot from the robot control device. Therefore, the robot interference determination device has the effect of being able to obtain the predicted position and the predicted velocity vector of the moving part with high accuracy from the control information.

前記制御情報は、例えば、前記ロボット制御装置が前記ロボットに対する制御を実行する際に用いる動作プログラム等であり、前記ロボット干渉判定装置は、動作プログラム等を解析して、前記可動部の予測位置および予測速度ベクトルを算出する。 The control information is, for example, an operation program used by the robot control device to execute control over the robot, and the robot interference determination device analyzes the operation program and calculates the predicted position and predicted velocity vector of the moving part.

本発明の一態様に係るロボット干渉判定装置は、前記干渉判定部が、前記対象物と前記可動部との接触が生じる可能性があると判定した場合に、前記ロボットの動作を制御するロボット制御装置に対して干渉回避を指示する指示信号を送信する指示部をさらに備えてもよい。 The robot interference determination device according to one aspect of the present invention may further include an instruction unit that transmits an instruction signal to a robot control device that controls the operation of the robot to instruct the robot to avoid interference when the interference determination unit determines that there is a possibility of contact between the object and the movable part.

前記の構成によれば、前記ロボット干渉判定装置は、前記対象物と前記可動部との接触が生じる可能性があると判定した場合、前記ロボットの動作を制御するロボット制御装置に対して干渉回避を指示する指示信号を送信する。したがって、前記ロボット干渉判定装置は、接触が生じる可能性があると判定すると、前記ロボット制御装置に前記指示信号を送信して、接触を回避することができるとの効果を奏する。 According to the above configuration, when the robot interference determination device determines that there is a possibility of contact between the object and the movable part, it transmits an instruction signal to the robot control device that controls the operation of the robot to instruct the robot to avoid interference. Therefore, when the robot interference determination device determines that there is a possibility of contact, it transmits the instruction signal to the robot control device, thereby achieving the effect of being able to avoid contact.

前記指示信号は、単に干渉の可能性を警告するだけの信号(警告信号)であってもよく、接触を回避するためのロボットの具体的な動作の決定は、前記ロボット制御装置に実行させてもよい。また、前記指示信号は、前記ロボットの動作内容を指示する信号であってもよく、例えば、前記ロボットの動作を停止させ、または、前記ロボットに干渉を回避させることを指示する信号であってもよい。さらに、前記指示信号は、前記ロボットの動作を詳細に規定する制御指令であってもよく、例えば、動作を停止させるまでの時間、干渉を回避するための動作の方向・時間・距離などの内容を含む信号であってもよい。 The instruction signal may be a signal (warning signal) that simply warns of the possibility of interference, and the robot control device may determine the specific robot movement to avoid contact. The instruction signal may also be a signal that instructs the robot to move, for example, to stop the robot's movement or to instruct the robot to avoid interference. Furthermore, the instruction signal may be a control command that specifies the robot's movement in detail, for example, a signal that includes information such as the time until the movement is stopped, and the direction, time, and distance of the movement to avoid interference.

本発明の一態様に係るロボット干渉判定装置において、前記干渉判定部が、前記対象物と前記可動部との接触が生じる可能性があると判定した場合に、前記指示部は、前記ロボット制御装置に対して、前記可動部の移動速度および軌道の少なくともいずれか一方の調整指示を示す前記指示信号を送信してもよい。 In a robot interference determination device according to one aspect of the present invention, when the interference determination unit determines that there is a possibility of contact between the object and the movable part, the instruction unit may transmit the instruction signal to the robot control device, which indicates an instruction to adjust at least one of the moving speed and trajectory of the movable part.

前記の構成によれば、前記ロボット干渉判定装置は、前記対象物と前記可動部との接触が生じる可能性があると判定した場合、前記ロボット制御装置に対して、前記可動部の移動速度および軌道の少なくとも一方の調整指示を示す前記指示信号を送信する。したがって、前記ロボット干渉判定装置は、接触が生じる可能性があると判定すると、前記可動部の移動速度および軌道の少なくとも一方を調整させ、接触を回避することができるとの効果を奏する。 According to the above configuration, when the robot interference determination device determines that there is a possibility of contact between the object and the movable part, it transmits the instruction signal indicating an instruction to adjust at least one of the moving speed and trajectory of the movable part to the robot control device. Therefore, when the robot interference determination device determines that there is a possibility of contact, it adjusts at least one of the moving speed and trajectory of the movable part, thereby achieving the effect of being able to avoid contact.

本発明の一態様に係るロボット干渉判定装置において、前記指示部による前記調整指示の後に、前記干渉判定部が、前記対象物と前記可動部との接触が生じる可能性がないと判定した場合に、前記指示部は、前記ロボット制御装置に対して、前記可動部の移動速度および軌道の少なくともいずれか一方を、前記調整指示が行われる前の状態に戻す指示を示す前記指示信号を送信してもよい。 In a robot interference determination device according to one aspect of the present invention, if the interference determination unit determines that there is no possibility of contact between the object and the movable part after the adjustment instruction is given by the instruction unit, the instruction unit may transmit the instruction signal to the robot control device indicating an instruction to return at least one of the moving speed and trajectory of the movable part to the state before the adjustment instruction was given.

前記の構成によれば、前記ロボット干渉判定装置は、前記調整指示の後に、前記対象物と前記可動部との接触が生じる可能性がなくなると、前記可動部の移動速度および軌道の少なくとも一方を、調整の前の状態に戻すように、前記ロボット制御装置に指示する。したがって、前記ロボット干渉判定装置は、前記調整指示の後に、前記対象物と前記可動部との接触が生じる可能性がなくなると、前記可動部の移動速度および軌道の少なくとも一方を、調整の前の状態に戻すことができるとの効果を奏する。 According to the above configuration, when there is no longer any possibility of contact between the object and the movable part after the adjustment instruction, the robot interference determination device instructs the robot control device to return at least one of the moving speed and trajectory of the movable part to the state before the adjustment. Therefore, the robot interference determination device has the effect of being able to return at least one of the moving speed and trajectory of the movable part to the state before the adjustment when there is no longer any possibility of contact between the object and the movable part after the adjustment instruction.

本発明の一態様に係るロボット干渉判定装置において、前記干渉判定部が、前記対象物と前記可動部との接触が生じる可能性を示す可能性評価値が第1の閾値以上であると判定した場合に、前記指示部は、前記ロボット制御装置に対して、前記可動部の移動速度および軌道の少なくともいずれか一方の調整指示を示す前記指示信号を送信するとともに、前記可能性評価値が、前記第1の閾値よりも高い第2の閾値以上となったと前記干渉判定部が判定した場合に、前記指示部は、前記ロボット制御装置に対して、前記可動部を停止させる指示を示す前記指示信号を送信してもよい。 In a robot interference determination device according to one aspect of the present invention, when the interference determination unit determines that a possibility assessment value indicating the possibility of contact between the object and the movable part is equal to or greater than a first threshold, the instruction unit may transmit to the robot control device the instruction signal indicating an instruction to adjust at least one of the moving speed and trajectory of the movable part, and when the interference determination unit determines that the possibility assessment value is equal to or greater than a second threshold higher than the first threshold, the instruction unit may transmit to the robot control device the instruction signal indicating an instruction to stop the movable part.

前記の構成によれば、前記ロボット干渉判定装置は、前記可能性評価値が第1の閾値以上であると、前記可動部の移動速度および軌道の少なくとも一方の調整を指示し、前記可能性評価値が第2の閾値以上となると、前記可動部の停止を指示する。つまり、前記ロボット干渉判定装置は、前記対象物と前記可動部との接触が生じる可能性に応じて、前記可動部の移動を制御する。前記対象物と前記可動部との接触が生じる可能性がそれほど高くない(つまり、第1の閾値以上で第2の閾値未満である)場合、前記ロボット干渉判定装置は、前記可動部を停止させずに、前記可動部の移動速度および軌道の少なくともいずれか一方を調整する。前記対象物と前記可動部との接触が生じる可能性が第2の閾値以上である場合、前記ロボット干渉判定装置は、前記可動部を停止させる。 According to the above configuration, when the possibility evaluation value is equal to or greater than a first threshold, the robot interference determination device instructs adjustment of at least one of the moving speed and trajectory of the movable part, and when the possibility evaluation value is equal to or greater than a second threshold, instructs stopping of the movable part. In other words, the robot interference determination device controls the movement of the movable part according to the possibility of contact between the object and the movable part. When the possibility of contact between the object and the movable part is not very high (i.e., equal to or greater than the first threshold and less than the second threshold), the robot interference determination device adjusts at least one of the moving speed and trajectory of the movable part without stopping the movable part. When the possibility of contact between the object and the movable part is equal to or greater than a second threshold, the robot interference determination device stops the movable part.

したがって、前記ロボット干渉判定装置は、接触が生じる可能性に応じて、接触を回避するに必要十分な動作を前記ロボットに実行させるので、接触を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 The robot interference determination device therefore has the robot perform the necessary and sufficient actions to avoid contact depending on the possibility of contact occurring, thereby achieving the effect of preventing a decrease in production efficiency and space efficiency while avoiding contact.

上記の課題を解決するために、本発明の一態様に係るロボット干渉判定方法は、所定の領域内に存在する対象物の、現時点までの位置の変化を示す情報を取得する対象物状態取得ステップと、ロボットにおける所定の可動部の所定時間後における予測位置および予測速度ベクトルを取得するロボット状態取得ステップと、前記対象物の、現時点までの位置の変化を示す情報に基づいて、前記所定時間後における前記対象物の予測位置および予測速度ベクトルを算出する予測ステップと、前記対象物の前記予測位置および前記予測速度ベクトルと、前記可動部の前記予測位置および前記予測速度ベクトルとに基づき、前記対象物と前記可動部との接触が生じる可能性があるか否かをリアルタイムで判定する干渉判定ステップと、を含んでいる。 In order to solve the above problems, a robot interference determination method according to one aspect of the present invention includes an object state acquisition step of acquiring information indicating a change in the position of an object present within a predetermined area up to the present time, a robot state acquisition step of acquiring a predicted position and a predicted velocity vector of a predetermined moving part of the robot after a predetermined time, a prediction step of calculating a predicted position and a predicted velocity vector of the object after the predetermined time based on the information indicating the change in the position of the object up to the present time, and an interference determination step of determining in real time whether or not there is a possibility of contact between the object and the moving part based on the predicted position and the predicted velocity vector of the object and the predicted position and the predicted velocity vector of the moving part.

前記の方法によれば、前記ロボット干渉判定方法は、前記対象物の、現時点までの位置の変化を示す情報を取得し、この現時点までの位置の変化を示す情報を用いて、前記対象物の前記予測位置および前記予測速度ベクトルを算出する。前記対象物の、現時点までの位置の変化を示す情報は、例えば、前記対象物の現時点における位置(現在位置)、および、前記対象物の現時点における速度ベクトル(現在速度ベクトル)である。また、図15の表において入力として示す各種の情報も、各々、前記対象物の、現時点までの位置の変化を示す情報の例である。 According to the method, the robot interference determination method acquires information indicating the change in the position of the object up to the present time, and calculates the predicted position and predicted velocity vector of the object using the information indicating the change in the position up to the present time. The information indicating the change in the position of the object up to the present time is, for example, the position of the object at the present time (current position) and the velocity vector of the object at the present time (current velocity vector). In addition, the various pieces of information shown as input in the table of FIG. 15 are each examples of information indicating the change in the position of the object up to the present time.

そして、前記ロボット干渉判定方法は、算出した前記対象物の前記予測位置および前記予測速度ベクトルと、前記可動部の前記予測位置および前記予測速度ベクトルとに基づき、前記対象物と前記可動部との接触が生じる可能性があるか否かをリアルタイムで判定する。 The robot interference determination method then determines in real time whether or not there is a possibility of contact between the object and the moving part based on the calculated predicted position and predicted velocity vector of the object and the predicted position and predicted velocity vector of the moving part.

前記ロボット干渉判定方法は、安全柵を用いずに前記ロボットと前記対象物との干渉を回避することができるので、生産現場等の省スペース化を実現することができる。 The robot interference determination method can avoid interference between the robot and the object without using a safety fence, thereby realizing space savings in production sites, etc.

また、前記ロボット干渉判定方法は、前記ロボットと前記対象物との、前記所定時間後(つまり、未来)における干渉の可能性を現時点で判定するので、干渉の可能性があると判定した場合にも、干渉回避のための処理を現時点で余裕を持って実行できる。 The robot interference determination method also determines the possibility of interference between the robot and the object at the specified time (i.e., in the future) at the present time, so that even if it is determined that there is a possibility of interference, processing to avoid interference can be executed at the present time with ample time to spare.

ここで、現時点での干渉の可能性を現時点で判定する方法が、現時点での干渉の可能性があると判定した場合、現時点での干渉を回避するためには、前記ロボットの急減速および急停止等の動作が必要となり、どうしても生産効率が低下する。 Here, if the method for determining the possibility of current interference determines that there is a possibility of current interference, then in order to avoid the current interference, the robot will need to suddenly decelerate and stop, which will inevitably result in a decrease in production efficiency.

これに対し、前記ロボット干渉判定方法は、未来における干渉の可能性を現時点で判定するので、現時点での干渉の可能性を現時点で判定する場合に比べて、干渉を回避するために必要な前記ロボットの動作を、円滑かつ必要最小限のものにすることができる。つまり、前記ロボット干渉判定方法は、前記ロボットと前記対象物との干渉を回避しつつ、前記ロボットの急減速および急停止等による生産効率の低下を抑制することができる。 In contrast, the robot interference determination method determines the possibility of future interference at the present time, and therefore the robot's movements required to avoid interference can be made smoother and to a minimum, compared to when the possibility of interference at the present time is determined at the present time. In other words, the robot interference determination method can prevent interference between the robot and the object, while suppressing a decrease in production efficiency due to sudden deceleration and stopping of the robot, etc.

したがって、前記ロボット干渉判定方法は、工場等の生産現場において、例えば作業者等である前記対象物と前記ロボットとの干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 The robot interference determination method thus has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between the robot and the object, such as a worker, at a production site such as a factory.

上記の課題を解決するために、本発明の一態様に係るロボット制御装置は、前記ロボット干渉判定装置から前記指示信号を受信する受信部と、前記指示信号に基づき、前記ロボットの動作を制御するロボット制御部と、を備えている。 In order to solve the above problems, a robot control device according to one aspect of the present invention includes a receiving unit that receives the instruction signal from the robot interference determination device, and a robot control unit that controls the operation of the robot based on the instruction signal.

前記の構成によれば、前記ロボット制御装置は、前記ロボット干渉判定装置から前記指示信号を受信し、受信した前記指示信号に基づいて、前記ロボットの動作を制御する。したがって、前記ロボット制御装置は、工場等の生産現場において、例えば作業者等である前記対象物と前記ロボットとの干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 According to the above configuration, the robot control device receives the instruction signal from the robot interference determination device and controls the operation of the robot based on the received instruction signal. Therefore, the robot control device has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between the robot and the object, such as a worker, at a production site such as a factory.

上記の課題を解決するために、本発明の一態様に係るロボット制御システムは、前記ロボット干渉判定装置と、前記ロボット制御装置と、非接触で前記対象物の二次元または三次元位置を計測し、計測結果を前記ロボット干渉判定装置に送信する計測装置と、を含んでいる。 To solve the above problems, a robot control system according to one aspect of the present invention includes the robot interference determination device, the robot control device, and a measurement device that measures the two-dimensional or three-dimensional position of the object in a non-contact manner and transmits the measurement results to the robot interference determination device.

前記の構成によれば、前記ロボット制御システムは、前記ロボット干渉判定装置と、前記ロボット制御装置と、前記計測結果を前記ロボット干渉判定装置に送信する前記計測装置とを含む。したがって、前記ロボット制御システムは、工場等の生産現場において、例えば作業者等である前記対象物と前記ロボットとの干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 According to the above configuration, the robot control system includes the robot interference determination device, the robot control device, and the measurement device that transmits the measurement results to the robot interference determination device. Therefore, the robot control system has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between the robot and the object, such as a worker, at a production site such as a factory.

本発明の一態様に係る人動作予測装置は、対象物である人の、位置の変化を示す情報を取得する対象物状態取得部と、前記対象物の位置の変化を示す情報に基づいて、その後における前記対象物の予測位置、予測速度ベクトルまたは予測加速度ベクトルを、学習済モデルによって予測する予測部と、を備え、前記予測部は、パラメータ調整を必要としないオンライン追加学習により前記学習済モデルを更新する学習部を備え、前記学習部は、前記対象物の各時点における位置、速度ベクトル、および加速度ベクトルの少なくとも1つの履歴を学習することによって前記学習済モデルを更新する。 A human motion prediction device according to one aspect of the present invention includes an object state acquisition unit that acquires information indicating a change in position of a human object, and a prediction unit that predicts a future predicted position, predicted velocity vector, or predicted acceleration vector of the object based on the information indicating the change in position of the object using a trained model, the prediction unit including a learning unit that updates the trained model through online additional learning that does not require parameter adjustment, and the learning unit updates the trained model by learning at least one history of the object's position, velocity vector, and acceleration vector at each point in time.

前記の構成によれば、パラメータ調整なしに学習済モデルを更新することができるので、動作パターンが時間経過と共に変化し得る人の動作を適切に予測することができる。 The above configuration allows the trained model to be updated without parameter adjustment, making it possible to appropriately predict human movements whose movement patterns may change over time.

前記学習部は、学習アルゴリズムとしてDLT(Dynamics Learning Tree)またはDBT(Deep Binary Tree)を用いてもよい。 The learning unit may use DLT (Dynamics Learning Tree) or DBT (Deep Binary Tree) as a learning algorithm.

前記学習部は、前記対象物の、ある時点までの位置の変化を示す情報を入力とし、前記対象物の加速度またはその後の位置を出力とする学習を行うことによって前記学習済モデルを更新してもよい。 The learning unit may update the trained model by performing learning using information indicating the change in the position of the object up to a certain point in time as input and outputting the acceleration or the subsequent position of the object.

前記予測部は、所定期間における前記対象物の位置の変化を示す情報を前記学習済モデルの入力とすることで、前記対象物の前記予測位置、前記予測速度ベクトル、または予測加速度ベクトルを予測してもよい。 The prediction unit may predict the predicted position, the predicted velocity vector, or the predicted acceleration vector of the object by inputting information indicating a change in the position of the object over a predetermined period of time into the trained model.

前記対象物は、複数の作業を行う作業者であり、前記所定期間が、予測直前の第1作業の期間だけでなく、前記第1作業の前の第2作業の期間も含むように、前記所定期間が設定されていてもよい。 The object may be a worker performing multiple tasks, and the specified period may be set to include not only the period of a first task immediately before the prediction, but also the period of a second task prior to the first task.

前記の構成によれば、学習部は、複数の作業の関連性を学習することができる。そのため、作業者の動きを適切に予測することができる。 With the above configuration, the learning unit can learn the relationships between multiple tasks. This allows the movement of the worker to be predicted appropriately.

前記予測部は、前記所定期間における前記対象物の位置の変化を示す情報に、第1時間方向重み付きフィルタを適用したものを、前記学習済モデルの入力とすることで、前記対象物の前記予測位置、前記予測速度ベクトル、または予測加速度ベクトルを予測してもよい。 The prediction unit may predict the predicted position, the predicted velocity vector, or the predicted acceleration vector of the object by applying a first time-direction weighting filter to information indicating a change in the position of the object during the specified period and using the result as an input to the trained model.

前記学習部は、対象時刻の前後を含む期間における前記対象物の位置の変化を示す情報に、前記第1時間方向重み付きフィルタとは異なる第2時間方向重み付きフィルタを適用したものを前記対象時刻に関する入力として、学習を行い、前記予測部は、対象時刻以前の期間における前記対象物の位置の変化を示す情報に、前記第1時間方向重み付きフィルタを適用したものを、前記学習済モデルの入力とすることで、前記対象時刻より後の前記対象物の前記予測位置、前記予測速度ベクトル、または予測加速度ベクトルを予測してもよい。 The learning unit may perform learning by applying a second time-direction weighting filter different from the first time-direction weighting filter to information indicating a change in the position of the object during a period including before and after the target time, and the learning unit may predict the predicted position, the predicted velocity vector, or the predicted acceleration vector of the object after the target time by applying the first time-direction weighting filter to information indicating a change in the position of the object during a period before the target time and using the result as an input for the trained model.

前記の構成によれば、学習時に用いる時間方向重み付きフィルタと、予測時に用いる時間方向重み付きフィルタとを、それぞれ最適化することができる。すなわち、学習に適した時間方向重み付きフィルタと、予測に適した時間方向重み付きフィルタとを用いることができ、予測の精度を向上させることができる。 According to the above configuration, the time-direction weighting filter used during learning and the time-direction weighting filter used during prediction can be optimized. In other words, it is possible to use a time-direction weighting filter suitable for learning and a time-direction weighting filter suitable for prediction, thereby improving the accuracy of prediction.

前記対象物の位置の変化を示す情報は、前記人の部位の位置、速度ベクトルまたは加速度ベクトルを含んでもよい。 The information indicating the change in the position of the object may include the position of a part of the person, a velocity vector, or an acceleration vector.

前記対象物の位置の変化を示す情報は、前記人の複数の部位の位置、速度ベクトルまたは加速度ベクトルを含んでもよい。 The information indicating the change in the position of the object may include the positions of multiple parts of the person, a velocity vector, or an acceleration vector.

本発明の一態様に係る人動作予測方法は、対象物である人の、位置の変化を示す情報を取得する対象物状態取得ステップと、前記対象物の位置の変化を示す情報に基づいて、その後における前記対象物の予測位置、予測速度ベクトルまたは予測加速度ベクトルを、学習済モデルによって予測する予測ステップと、パラメータ調整を必要としないオンライン追加学習により前記学習済モデルを更新する学習ステップであって、前記対象物の各時点における位置、速度ベクトル、および加速度ベクトルの少なくとも1つの履歴を学習することによって前記学習済モデルを更新する学習ステップと、を含む。 A human motion prediction method according to one aspect of the present invention includes an object state acquisition step of acquiring information indicating a change in position of a human object, which is an object; a prediction step of predicting a future predicted position, predicted velocity vector, or predicted acceleration vector of the object using a trained model based on the information indicating the change in position of the object; and a learning step of updating the trained model by online additional learning that does not require parameter adjustment, in which the trained model is updated by learning at least one history of the object's position, velocity vector, and acceleration vector at each point in time.

本発明の一態様によれば、工場等の生産現場において作業者等の安全を確保しつつ、生産効率およびスペース効率の低下を回避することができるとの効果を奏する。 According to one aspect of the present invention, it is possible to avoid a decrease in production efficiency and space efficiency while ensuring the safety of workers at production sites such as factories.

本発明の実施形態1に係る干渉判定装置等の要部構成を示すブロック図である。1 is a block diagram showing a configuration of a main part of an interference detection device according to a first embodiment of the present invention. 図1の干渉判定装置を含む制御システムの全体概要を示す図である。FIG. 2 is a diagram showing an overall outline of a control system including the interference detection device of FIG. 1 . 図2の制御システムにおいて実行される処理の概要を示すフロー図である。FIG. 3 is a flow chart showing an overview of a process executed in the control system of FIG. 2 . 図3のフロー図における人軌道計算処理までの詳細を示すフロー図である。FIG. 4 is a flow chart showing details up to the human trajectory calculation process in the flow chart of FIG. 3. 図3のフロー図における未来干渉判定処理からアームコントロール処理までの詳細を示すフロー図である。FIG. 4 is a flowchart showing details of a process from a future interference determination process to an arm control process in the flowchart of FIG. 3. 図1の干渉判定装置が実行する学習処理と、学習処理の結果を利用した人軌道予測処理とについて説明する図である。2 is a diagram illustrating a learning process executed by the interference determination device in FIG. 1 and a human trajectory prediction process using a result of the learning process. 図1の干渉判定装置が実行する未来干渉判定処理の一例を説明する図である。2 is a diagram illustrating an example of a future interference detection process executed by the interference detection device of FIG. 1 . 図2の制御システムを適用する環境の一例を示す図である。FIG. 3 is a diagram illustrating an example of an environment in which the control system of FIG. 2 is applied. センサの計測結果を利用して作業者の重心を算出する方法の一例を説明する図である。11 is a diagram illustrating an example of a method for calculating the center of gravity of a worker by using the measurement results of a sensor. FIG. 学習処理の前に実行する学習用データの整形方法の一例を示す図である。FIG. 13 is a diagram illustrating an example of a method for shaping learning data executed before a learning process. 学習処理によって生成した予測用データの整形方法の一例を示す図である。FIG. 11 is a diagram illustrating an example of a method for shaping prediction data generated by a learning process. 図1の干渉判定装置が実行する人軌道予測処理の精度を示す図である。4 is a diagram showing the accuracy of a human trajectory prediction process executed by the interference determination device of FIG. 1; 図1の干渉判定装置が実行する人軌道予測処理の精度を示す、図12とは別の図である。13 is a diagram different from FIG. 12 , showing the accuracy of the human trajectory prediction process executed by the interference determination device of FIG. 1 . 図8に例示したセンサの配置例とは異なる配置例を示す図である。FIG. 9 is a diagram showing an example of a sensor arrangement different from the example of the sensor arrangement shown in FIG. 8 . 図1の干渉判定装置が学習する学習用データの例を示す図である。4 is a diagram showing an example of learning data learned by the collision detection device in FIG. 1; 人動作予測装置の要部構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of a main part of a human action prediction device. 参考例の入力データと予測結果とを示す図である。FIG. 13 is a diagram showing input data and prediction results of a reference example. 動作例の人動作予測装置60の入力データと予測結果とを示す図である。11A and 11B are diagrams illustrating input data and prediction results of the human movement prediction device 60 in an operation example. 時間窓の幅と予測誤差との関係を示す図である。FIG. 13 is a diagram illustrating the relationship between the width of a time window and a prediction error.

固定の監視エリア内への人の侵入を検知してロボット動作を抑制する従来技術は、監視エリア内に人が侵入すると、人の安全が確保されている場合であっても、ロボット動作を抑制するので、生産効率およびスペース効率が低下する傾向がある。また、ロボットのトルクを制限する従来技術は、人の安全が確保されている場合であっても、ロボットのトルクを制限するので、生産効率が低下する傾向がある。
〔実施形態1〕
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図1から図15に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。本実施の形態においては、例えば干渉判定装置10をロボット干渉判定装置の典型例として説明を行う。本発明の一態様に係る干渉判定装置10についての理解を容易にするため、先ず、干渉判定装置10を含む制御システム1の概要を、図2を用いて説明する。
Conventional technology that detects the intrusion of a person into a fixed monitoring area and suppresses robot operation tends to reduce production efficiency and space efficiency because it suppresses robot operation when a person intrudes into the monitoring area even when the safety of the person is ensured. Also, conventional technology that limits the torque of a robot tends to reduce production efficiency because it limits the torque of a robot even when the safety of the person is ensured.
[Embodiment 1]
An embodiment according to one aspect of the present invention (hereinafter also referred to as "the present embodiment") will be described below with reference to Figs. 1 to 15. Note that the same or corresponding parts in the figures are given the same reference numerals and their description will not be repeated. In this embodiment, for example, an interference detection device 10 will be described as a typical example of a robot interference detection device. To facilitate understanding of the interference detection device 10 according to one aspect of the present invention, first, an overview of a control system 1 including the interference detection device 10 will be described with reference to Fig. 2.

§1.適用例
(制御システムの全体概要)
図2は、制御システム1の全体概要を示す図である。図2に例示するように、制御システム1は、干渉判定装置10と、ロボット制御装置であるコントローラ20と、センサ40(計測装置)とを含んでいる。図2においては、センサ40として、センサ40(1)およびセンサ40(2)が描かれているが、制御システム1が含むセンサ40が複数であることは必須ではなく、制御システム1が含むセンサ40は1つであってもよい。以下の説明において、センサ40(1)とセンサ40(2)とを区別する必要がない場合には、単に「センサ40」と表記する。
§1. Application example (overall overview of the control system)
Fig. 2 is a diagram showing an overall overview of the control system 1. As illustrated in Fig. 2, the control system 1 includes an interference detection device 10, a controller 20 which is a robot control device, and a sensor 40 (measurement device). In Fig. 2, a sensor 40(1) and a sensor 40(2) are depicted as the sensor 40, but it is not essential that the control system 1 includes a plurality of sensors 40, and the control system 1 may include only one sensor 40. In the following description, when there is no need to distinguish between the sensor 40(1) and the sensor 40(2), they will simply be referred to as "sensor 40".

制御システム1は、図2に示すような、ロボット30と作業者50(対象物)とが共存する工場等の生産現場において、ロボット30と作業者50とが不用意に接触するのを回避するための制御を実行する。特に、制御システム1は、作業者50と、ロボット30のアーム等、多関節マニピュレータを備えるロボット30の所定部分(例えば、所定の可動部)とが不用意に接触するのを回避するための制御を実行する。ただし、以下の説明においては、記載の簡潔性を担保するため、作業者50と「ロボット30の所定部分」との接触を回避することを、作業者50とロボット30との接触を回避すると記載することがある。つまり、以下の説明において、「ロボット30」との語は、ロボット30の全体だけでなく、作業者50との接触が回避されるべき「ロボット30の所定部分」を指す場合にも用いる。同様に、以下の説明においては、「速度ベクトル」および「加速度ベクトル」は、各々、「速度」および「加速度」と略記することがある。 The control system 1 executes control to avoid inadvertent contact between the robot 30 and the worker 50 (object) in a production site such as a factory where the robot 30 and the worker 50 (object) coexist, as shown in FIG. 2. In particular, the control system 1 executes control to avoid inadvertent contact between the worker 50 and a predetermined part (e.g., a predetermined movable part) of the robot 30 equipped with a multi-joint manipulator, such as the arm of the robot 30. However, in the following description, in order to ensure conciseness of the description, avoiding contact between the worker 50 and the "predetermined part of the robot 30" may be described as avoiding contact between the worker 50 and the robot 30. In other words, in the following description, the term "robot 30" is used not only to refer to the entire robot 30, but also to the "predetermined part of the robot 30" that should be avoided from contacting with the worker 50. Similarly, in the following description, the "velocity vector" and the "acceleration vector" may be abbreviated to "velocity" and "acceleration", respectively.

センサ40は、主として作業者50(対象物)の二次元位置または三次元位置を非接触方式で計測し、特に、時間ごとの作業者50の二次元位置または三次元位置を非接触方式で計測し、計測結果を干渉判定装置10に通知する。センサ40は、例えば、公知のライダー(LiDAR、Light Detection and Ranging)またはレーダー(RADAR、Radio Detection
and Ranging)などを用いて実現することができ、例えば、作業者50の可動領域、つまり、作業領域全体を監視できるように配置される。センサ40は、例えばEthernet(登録商標)等の産業用ネットワークを介して、干渉判定装置10に接続している。
The sensor 40 mainly measures the two-dimensional or three-dimensional position of the worker 50 (object) in a non-contact manner, and in particular measures the two-dimensional or three-dimensional position of the worker 50 at each time in a non-contact manner, and notifies the collision detection device 10 of the measurement result. The sensor 40 may be, for example, a known LiDAR (Light Detection and Ranging) or RADAR (Radio Detection
The sensor 40 can be realized by using a method such as a Wireless Communication System (WCS) and a Ranging System (WRAN), and is arranged so as to monitor, for example, the entire movable area of the worker 50, that is, the entire working area. The sensor 40 is connected to the interference determination device 10 via an industrial network such as Ethernet (registered trademark).

図2に示すように、制御システム1は、複数のセンサ40を用いて、作業者50の二次元位置または三次元位置を計測してもよく、その場合、異なる種類の複数のセンサ40を組み合わせてもよく、つまり、異種FUSION構成としてもよい。例えば、図2において、センサ40(1)およびセンサ40(2)の一方を二次元センサとし、他方を三次元センサとしてもよい。異なる種類の複数のセンサ40を組み合わせて用いることにより、多元的な計測が可能となる。また、制御システム1は、同種の複数のセンサ40を用いることによって、計測する作業者50の二次元位置または三次元位置の精度を向上させてもよい。ただし、前述の通り、制御システム1が含むセンサ40が複数であることは必須ではなく、制御システム1は1つのセンサ40によって、作業者50の二次元位置または三次元位置を計測してもよい。 2, the control system 1 may use multiple sensors 40 to measure the two-dimensional or three-dimensional position of the worker 50. In this case, multiple sensors 40 of different types may be combined, that is, a heterogeneous fusion configuration may be used. For example, in FIG. 2, one of the sensors 40 (1) and 40 (2) may be a two-dimensional sensor, and the other may be a three-dimensional sensor. By combining and using multiple sensors 40 of different types, multi-dimensional measurement becomes possible. In addition, the control system 1 may improve the accuracy of the two-dimensional or three-dimensional position of the worker 50 to be measured by using multiple sensors 40 of the same type. However, as described above, it is not essential that the control system 1 includes multiple sensors 40, and the control system 1 may measure the two-dimensional or three-dimensional position of the worker 50 using one sensor 40.

コントローラ20は、ロボット30の動作を制御するロボット制御装置であり、例えば、後述するアームタスク23に格納されている目標軌道および動作プログラムなどのデータに従って、ロボット30の動作を制御する。また、コントローラ20は、干渉判定装置10からの指示信号に従って、ロボット30の動作を制御する。例えば、コントローラ20は、目標軌道を用いて生成したロボット30への指令値を、干渉判定装置10からの指示信号に従って修正し、修正した指令値に従った動作をロボット30に実行させる。コントローラ20は、例えばPLC(Programmable Logic Controller)、IPC(Industrial PC)などを用いて実現することができる。 The controller 20 is a robot control device that controls the operation of the robot 30, and controls the operation of the robot 30 according to data such as a target trajectory and an operation program stored in the arm task 23 described below. The controller 20 also controls the operation of the robot 30 according to an instruction signal from the interference detection device 10. For example, the controller 20 modifies a command value for the robot 30 generated using the target trajectory according to the instruction signal from the interference detection device 10, and causes the robot 30 to perform an operation according to the modified command value. The controller 20 can be realized using, for example, a PLC (Programmable Logic Controller), an IPC (Industrial PC), etc.

ロボット30は、コントローラ20と接続しており、コントローラ20によって動作を制御され、例えば、複数のアームが複数の関節で接続されている多関節マニピュレータを備える。 The robot 30 is connected to the controller 20 and its operation is controlled by the controller 20, and is equipped with, for example, a multi-joint manipulator in which multiple arms are connected by multiple joints.

干渉判定装置10は、センサ40から取得する「時間ごとの作業者50の二次元位置または三次元位置」を用いて、作業者50の未来の(言い換えれば、将来の)「位置(二次元位置または三次元位置)および速度ベクトル」を予測する。例えば、干渉判定装置10は、t時点の「作業者50の、位置および速度ベクトル」を用いて、t+Δt時点の「作業者50の、位置および速度ベクトル」を、t時点で予測する。 The interference detection device 10 predicts the future (in other words, future) "position (two-dimensional or three-dimensional position) and velocity vector" of the worker 50, using the "two-dimensional or three-dimensional position of the worker 50 at each time" acquired from the sensor 40. For example, the interference detection device 10 predicts the "position and velocity vector of the worker 50" at time t0 + Δt, using the "position and velocity vector of the worker 50" at time t0 .

また、干渉判定装置10は、コントローラ20(特に、アームタスク23)から、例えば、ロボット30の動作を規定する「目標軌道および動作プログラム」などの情報(制御情報)を取得する。干渉判定装置10は、取得した情報を用いて、ロボット30(例えば、ロボット30のアーム)の未来の「位置(二次元位置または三次元位置)および速度ベクトル」を予測する(算出する)。例えば、干渉判定装置10は、ロボット30の制御情報を用いて、t+Δt時点の「ロボット30の、位置および速度ベクトル」を、t時点で予測する。 Furthermore, the interference detection device 10 acquires information (control information) such as a "target trajectory and motion program" that defines the motion of the robot 30 from the controller 20 (particularly the arm task 23). The interference detection device 10 uses the acquired information to predict (calculate) the future "position (two-dimensional position or three-dimensional position) and velocity vector" of the robot 30 (e.g., the arm of the robot 30). For example, the interference detection device 10 uses the control information of the robot 30 to predict, at time t0, the "position and velocity vector of the robot 30 " at time t0 + Δt.

干渉判定装置10は、作業者50の未来(t+Δt時点)の速度ベクトルとロボット30の未来の速度ベクトルとを用いて、未来における安全距離を算出する。また、干渉判定装置10は、作業者50の未来(t+Δt時点)の位置とロボット30の未来の位置とを用いて、未来における分離距離を算出する。干渉判定装置10は、算出した「未来(t+Δt時点)における安全距離」と「未来(t+Δt時点)における分離距離」とを比較して、作業者50とロボット30との未来における干渉の可能性を判定し、判定結果をコントローラ20に通知する。「安全距離」および「分離距離」の概念について、詳細は図6を用いて後述する。 The interference detection device 10 calculates a safe distance in the future using a velocity vector of the worker 50 in the future (at time t 0 + Δt) and a velocity vector of the robot 30. The interference detection device 10 also calculates a separation distance in the future using a position of the worker 50 in the future (at time t 0 + Δt) and a position of the robot 30 in the future. The interference detection device 10 compares the calculated "safe distance in the future (at time t 0 + Δt)" with the "separation distance in the future (at time t 0 + Δt)" to determine the possibility of future interference between the worker 50 and the robot 30, and notifies the controller 20 of the determination result. The concepts of "safety distance" and "separation distance" will be described in detail later with reference to FIG. 6.

具体的には、「未来における分離距離」が「未来における安全距離」よりも大きい場合、干渉判定装置10は、作業者50とロボット30とが未来において干渉する可能性はないと判定し、この判定結果をコントローラ20に通知する。また、「未来における分離距離」が「未来における安全距離」以下である場合、干渉判定装置10は、作業者50とロボット30とが未来において干渉する可能性があると判定し、干渉を回避する指示をコントローラ20に送信する。干渉判定装置10は、干渉を回避する指示と共に、作業者50の未来の「位置および速度ベクトル」等の干渉状態情報を、コントローラ20に送信してもよい。 Specifically, if the "future separation distance" is greater than the "future safe distance", the interference detection device 10 determines that there is no possibility of interference between the worker 50 and the robot 30 in the future, and notifies the controller 20 of this determination result. Also, if the "future separation distance" is equal to or less than the "future safe distance", the interference detection device 10 determines that there is a possibility of interference between the worker 50 and the robot 30 in the future, and transmits an instruction to avoid interference to the controller 20. The interference detection device 10 may transmit interference state information, such as the future "position and velocity vector" of the worker 50, to the controller 20 along with the instruction to avoid interference.

干渉判定装置10により干渉可能性があると判定されると、干渉判定装置10またはコントローラ20は、ロボット30の動作の予定(軌道計画)を修正して、未来における作業者50とロボット30との干渉を回避する。 When the interference detection device 10 determines that there is a possibility of interference, the interference detection device 10 or the controller 20 modifies the planned operation (trajectory plan) of the robot 30 to avoid future interference between the worker 50 and the robot 30.

例えば、干渉判定装置10は、「作業者50とロボット30とが未来(t=t+Δt)において干渉し得る」と現時点(t=t)で判定すると、「未来における安全距離」を「未来における分離距離」以下とする指示(指示信号)を、コントローラ20に送信してもよい。すなわち、干渉判定装置10は、「未来における安全距離」を「未来における分離距離」以下とする指示を、コントローラ20に現時点で送信してもよい。干渉判定装置10は、ロボット30の、現時点から未来までの「速度ベクトルおよび目標軌道」の少なくとも一方を調整するように、コントローラ20に現時点で指示することで、「未来における安全距離」を「未来における分離距離」以下の大きさにしてもよい。 For example, when the interference detection device 10 determines at the present time (t=t 0 ) that "the worker 50 and the robot 30 may interfere with each other in the future (t=t 0 +Δt)", it may transmit an instruction (instruction signal) to the controller 20 to set the "safe distance in the future" to be equal to or less than the "separation distance in the future". That is, the interference detection device 10 may transmit an instruction to the controller 20 at the present time to set the "safe distance in the future" to be equal to or less than the "separation distance in the future". The interference detection device 10 may set the "safe distance in the future" to be equal to or less than the "separation distance in the future" by instructing the controller 20 at the present time to adjust at least one of the "velocity vector and target trajectory" of the robot 30 from the present time to the future.

ただし、干渉可能性があると判定した干渉判定装置10は、この判定結果と干渉状態情報とをコントローラ20に送信し、干渉回避のための軌道計画の具体的な修正内容の決定については、コントローラ20に実行させるようにしてもよい。 However, if the interference determination device 10 determines that there is a possibility of interference, it may transmit this determination result and interference status information to the controller 20, and allow the controller 20 to determine the specific corrections to be made to the trajectory plan to avoid interference.

(干渉判定装置についての整理)
干渉判定装置10は、「未来における安全距離」および「未来における分離距離」の算出を動的に(つまり、随時)算出し、未来における干渉可能性の判定(干渉判定)を動的に行って、判定結果をコントローラ20に通知する。干渉判定装置10は、干渉の可能性があると判定すると、適宜、干渉の回避をコントローラ20に指示し、例えば、ロボット30の速度ベクトルおよび軌道の少なくとも一方を修正させる。言い換えれば、干渉判定装置10は、時々刻々に、未来における干渉判定を行って、ロボット30の速度ベクトルおよび軌道の少なくとも一方の修正などを、時々刻々に指示する。
(Interference detection device)
The interference detection device 10 dynamically (i.e., at any time) calculates the "future safety distance" and the "future separation distance", dynamically determines the possibility of interference in the future (interference detection), and notifies the controller 20 of the determination result. When the interference detection device 10 determines that there is a possibility of interference, it instructs the controller 20 to avoid the interference as appropriate, for example, by correcting at least one of the velocity vector and the trajectory of the robot 30. In other words, the interference detection device 10 performs future interference detection from moment to moment, and instructs the controller 20 to correct at least one of the velocity vector and the trajectory of the robot 30 from moment to moment.

したがって、干渉判定装置10は、安全柵を用いずにロボット30と作業者50との干渉を回避することができるので、生産現場等の省スペース化を実現することができる。また、干渉判定装置10は、未来における干渉可能性の判定に基づいて、現在から未来までのロボット30の速度ベクトルおよび目標軌道の少なくとも一方を調整するので、ロボット30によるスムーズな干渉回避動作を計画することができる。言い換えれば、未来についての予測情報を用いてロボット30の動作を計画するので、ロボット30の急減速、無駄な減速、無駄な停止などの発生を抑制することができ、成功率の高い軌道(つまり、動作の計画)を生成することが可能となる。「成功率が低い」とは、例えば、ロボット30と作業者50との干渉を回避するために、ロボット30の動作の計画(軌道)を何度も作り直す必要があることをいう。ユーザは、干渉判定装置10を用いることにより、生産現場等の省スペース化および生産効率の向上を実現することができる。 Therefore, the interference determination device 10 can avoid interference between the robot 30 and the worker 50 without using a safety fence, thereby realizing space saving in production sites, etc. Furthermore, the interference determination device 10 adjusts at least one of the speed vector and the target trajectory of the robot 30 from the present to the future based on the determination of the possibility of interference in the future, so that a smooth interference avoidance operation by the robot 30 can be planned. In other words, since the operation of the robot 30 is planned using prediction information about the future, it is possible to suppress the occurrence of sudden deceleration, unnecessary deceleration, unnecessary stopping, etc. of the robot 30, and it is possible to generate a trajectory (i.e., an operation plan) with a high success rate. "Low success rate" means, for example, that it is necessary to remake the operation plan (trajectory) of the robot 30 many times in order to avoid interference between the robot 30 and the worker 50. By using the interference determination device 10, a user can realize space saving in production sites, etc. and improvement of production efficiency.

すなわち、干渉判定装置10(ロボット干渉判定装置)は、所定の領域内に存在する作業者50(対象物)の、現時点(t)までの位置の変化を示す情報(例えば、現時点における現在位置x(t)および現在速度ベクトルv(t))を取得する人状態情報生成部112(対象物状態取得部)と、ロボット30(ロボットにおける所定の可動部)の所定時間Δt後における予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を取得するロボット状態取得部121と、作業者50の現時点までの位置の変化を示す情報に基づいて、所定時間Δt後における作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を算出する人軌道予測部113(予測部)と、作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)と、ロボット30の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)とに基づき、作業者50とロボット30との接触が生じる可能性があるか否かをリアルタイムで判定する未来干渉判定部122(干渉判定部)と、を備えている。 That is, the interference detection device 10 (robot interference detection device) includes a human state information generation unit 112 (object state acquisition unit) that acquires information indicating a change in the position of a worker 50 (object) present within a predetermined area up to the present time (t 0 ) (for example, a current position x h (t 0 ) and a current speed vector v h (t 0 ) at the present time), a robot state acquisition unit 121 that acquires a predicted position x r (t 0 + Δt) and a predicted speed vector v r (t 0 + Δt) of the robot 30 (a predetermined movable part of the robot) a predetermined time Δt later, a human trajectory prediction unit 113 (prediction unit) that calculates a predicted position x h (t 0 + Δt) and a predicted speed vector v h (t 0 + Δt) of the worker 50 a predetermined time Δt later based on the information indicating the change in the position of the worker 50 up to the present time, and a human trajectory prediction unit 114 (prediction unit) that calculates a predicted position x h (t 0 + Δt) and a predicted speed vector v h ( t 0 + Δt) of the worker 50 a predetermined time Δt later. and a future interference determination unit 122 ( interference determination unit) that determines in real time whether or not there is a possibility of contact between the worker 50 and the robot 30 based on the predicted position xr ( t0 +Δt) and the predicted velocity vector vr ( t0 +Δt) of the robot 30.

前記の構成によれば、干渉判定装置10は、「作業者50の、現時点までの位置の変化を示す情報」を取得し、この「現時点までの位置の変化を示す情報」を用いて、所定時間Δt後における作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を予測する(算出する)。「作業者50の、現時点までの位置の変化を示す情報」は、例えば、作業者50の現在位置x(t)および現在速度ベクトルv(t)である。また、図15の表において入力として示す各種の情報も、各々、前記対象物の、現時点までの位置の変化を示す情報の例である。 According to the above configuration, the collision detection device 10 acquires "information indicating changes in the position of the worker 50 up to the present time" and predicts (calculates) a predicted position xh ( t0 +Δt) and a predicted speed vector vh ( t0 +Δt) of the worker 50 a predetermined time Δt later using this "information indicating changes in the position of the worker 50 up to the present time." The "information indicating changes in the position of the worker 50 up to the present time" is, for example, the current position xh ( t0 ) and current speed vector vh ( t0 ) of the worker 50. In addition, the various pieces of information shown as inputs in the table of FIG. 15 are also examples of information indicating changes in the position of the object up to the present time.

そして、干渉判定装置10は、算出した作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)と、ロボット30の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)とに基づき、作業者50とロボット30との接触が生じる可能性があるか否かをリアルタイムで判定する。 Then, the interference determination device 10 determines in real time whether or not there is a possibility of contact between the worker 50 and the robot 30 based on the calculated predicted position xh ( t0 +Δt) and predicted velocity vector vh ( t0 +Δt) of the worker 50 and the predicted position xr ( t0 +Δt) and predicted velocity vector vr ( t0 +Δt) of the robot 30.

干渉判定装置10は、安全柵を用いずにロボット30と作業者50との干渉を回避することができるので、生産現場等の省スペース化を実現することができる。 The interference detection device 10 can avoid interference between the robot 30 and the worker 50 without using a safety fence, thereby realizing space saving in production sites, etc.

また、干渉判定装置10は、ロボット30と作業者50との、所定時間Δt(つまり、未来)における干渉の可能性を現時点tで判定するので、干渉の可能性があると判定した場合にも、干渉回避のための処理を現時点tで余裕を持って実行できる。 Furthermore, the interference determination device 10 determines the possibility of interference between the robot 30 and the worker 50 at a predetermined time Δt (i.e., in the future) at the current time t0 . Therefore, even if it is determined that there is a possibility of interference, processing to avoid interference can be executed at the current time t0 with ample time to spare.

ここで、現時点tでの干渉の可能性を現時点tで判定する装置が、現時点tでの干渉の可能性があると判定した場合、現時点tでの干渉を回避するためには、ロボット30の急減速および急停止等の動作が必要となり、どうしても生産効率が低下する。 Here, if a device that determines the possibility of interference at the current time t0 determines that there is a possibility of interference at the current time t0 , then in order to avoid the interference at the current time t0 , it will be necessary to perform actions such as sudden deceleration and sudden stopping of the robot 30, which will inevitably reduce production efficiency.

これに対し、干渉判定装置10は、未来における干渉の可能性を現時点tで判定するので、現時点tでの干渉の可能性を現時点tで判定する場合に比べて、干渉を回避するために必要なロボット30の動作を、円滑かつ必要最小限のものにすることができる。つまり、干渉判定装置10は、ロボット30と作業者50との干渉を回避しつつ、ロボット30の急減速および急停止等による生産効率の低下を抑制することができる。 In contrast, the interference detection device 10 determines the possibility of future interference at the current time t 0 , and therefore can make the operation of the robot 30 necessary to avoid interference smoother and to a minimum, compared to a case in which the possibility of interference at the current time t 0 is determined at the current time t 0. In other words, the interference detection device 10 can prevent a decrease in production efficiency due to sudden deceleration and sudden stopping of the robot 30, while avoiding interference between the robot 30 and the worker 50.

したがって、干渉判定装置10は、工場等の生産現場において、例えば作業者50等である人(対象物)とロボット30との干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 Therefore, the interference determination device 10 has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between a person (object), such as a worker 50, and the robot 30 at a production site such as a factory.

前述の通り、対象物は、例えば作業者50等の人であり、具体的には、人の全体または人の一部であり、また、人以外のモノ(例えば、モバイルロボットなど)であってもよい。対象物の位置とは、対象物が人(作業者50)の全体である場合には、例えば、人の重心の位置である。対象物が人の一部または人以外のモノである場合には、対象物の位置とは、人の一部の位置、または、人以外のモノの位置である。 As mentioned above, the object may be a person, such as a worker 50, and more specifically, may be an entire person or part of a person, or may be an object other than a person (such as a mobile robot). If the object is an entire person (worker 50), the position of the object is, for example, the position of the center of gravity of the person. If the object is part of a person or an object other than a person, the position of the object is the position of a part of the person, or the position of the object other than a person.

人軌道予測部113による予測速度ベクトルv(t+Δt)の算出は、対象物の各時点における位置x(t)および速度ベクトルv(t)の履歴を学習した結果を利用するものであってもよい。また、人軌道予測部113による予測速度ベクトルv(t+Δt)の算出は、単純予測を利用するもの、つまり、現在速度ベクトルv(t)の継続を前提とするものであってもよい。 The calculation of the predicted speed vector vh ( t0 +Δt) by the human trajectory prediction unit 113 may utilize the results of learning the history of the object's position xh (t) and speed vector vh (t) at each point in time. Also, the calculation of the predicted speed vector vh ( t0 +Δt) by the human trajectory prediction unit 113 may utilize simple prediction, that is, assume the continuation of the current speed vector vh ( t0 ).

干渉判定装置10について、ロボット30は、複数のアームが複数の関節で接続されている多関節マニピュレータを備えている。干渉判定装置10によって作業者50との干渉が判定される対象は、ロボット30の全体であってもよいし、ロボット30における所定の可動部、例えば、ロボット30の多関節マニピュレータの所定の1以上の部分であってもよい。 Regarding the interference detection device 10, the robot 30 is equipped with a multi-joint manipulator in which multiple arms are connected at multiple joints. The object for which the interference detection device 10 detects interference with the worker 50 may be the entire robot 30, or a predetermined movable part of the robot 30, for example, one or more predetermined parts of the multi-joint manipulator of the robot 30.

前記の構成によれば、干渉判定装置10は、複数のアームが複数の関節で接続されている多関節マニピュレータを備えたロボット30と、作業者50との、所定時間Δt後(つまり、未来)における干渉の可能性を、現時点tで判定する。 According to the above-described configuration, the interference determination device 10 determines, at a current time t0, the possibility of interference between the robot 30 equipped with a multi-joint manipulator having multiple arms connected at multiple joints and the worker 50 after a predetermined time Δt (i.e., in the future).

したがって、干渉判定装置10は、工場等の生産現場において、例えば作業者50等である対象物と、多関節マニピュレータを備えたロボット30との干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 Therefore, the interference detection device 10 has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between an object, such as a worker 50, and a robot 30 equipped with a multi-joint manipulator at a production site such as a factory.

干渉判定装置10において、人軌道予測部113は、各時点における、作業者50の位置x(t)、速度ベクトルv(t)、および、加速度ベクトルa(t)の少なくとも1つの履歴を学習することによって予測用データ(学習済モデル)を生成する学習部114を備える。人軌道予測部113は、予測用データによって、作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を算出する。 In the interference determination device 10, the human trajectory prediction unit 113 includes a learning unit 114 that generates prediction data (trained model) by learning at least one history of the position xh (t), velocity vector vh (t), and acceleration vector ah (t) of the worker 50 at each time point. The human trajectory prediction unit 113 calculates a predicted position xh ( t0 +Δt) and a predicted velocity vector vh ( t0 +Δt) of the worker 50 based on the prediction data.

前記の構成によれば、干渉判定装置10は、作業者50の各時点における位置x(t)、速度ベクトルv(t)、および、加速度ベクトルa(t)の少なくとも1つの履歴を学習して学習済モデル(予測用データ)を生成する。そして、干渉判定装置10は、生成した学習済モデルを用いて、作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を算出する。 According to the above configuration, the collision detection device 10 learns at least one history of the position xh (t), velocity vector vh (t), and acceleration vector ah (t) of the worker 50 at each time point to generate a trained model (prediction data). Then, the collision detection device 10 calculates the predicted position xh ( t0 +Δt) and predicted velocity vector vh ( t0 +Δt) of the worker 50 using the generated trained model.

したがって、干渉判定装置10は、作業者50の状態・動作(位置、速度ベクトル、加速度ベクトルの少なくとも1つ)に係る履歴の学習によって生成した予測用データを用いて、作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を高精度に算出することができるとの効果を奏する。 Therefore, the interference determination device 10 has the advantage of being able to calculate the predicted position xh(t0+Δt) and predicted velocity vector vh ( t0 +Δt) of the worker 50 with high accuracy by using prediction data generated by learning the history related to the state and movement (at least one of the position, velocity vector, and acceleration vector) of the worker 50 .

干渉判定装置10において、学習部114は、作業者50の、現時点までの位置の変化を示す情報(例えば、作業者50の現在位置x(t)および現在速度ベクトルv(t)の少なくとも一方)を入力とし、作業者50の加速度またはその後の位置x(t+Δt)を出力とする学習を行うことによって、予測用データを生成する。 In the interference detection device 10, the learning unit 114 receives as input information indicating the change in the position of the worker 50 up to the present time (for example, at least one of the current position xh ( t0 ) and the current velocity vector vh ( t0 ) of the worker 50) and generates prediction data by performing learning that outputs the acceleration or the subsequent position xh ( t0 + Δt) of the worker 50.

前記の構成によれば、干渉判定装置10は、作業者50の、現時点までの位置の変化を示す情報を入力とし、作業者50の加速度またはその後の位置x(t+Δt)を出力とする学習を行う。 According to the above configuration, the interference detection device 10 performs learning by receiving information indicating the change in the position of the worker 50 up to the present time as input, and outputting the acceleration or the subsequent position x h (t 0 + Δt) of the worker 50.

例えば、干渉判定装置10は、時刻ごとの(つまり、各時点における)、作業者50の位置および速度ベクトルを入力とし、時刻ごとの、作業者50の加速度を出力とする学習用データについて、学習を行う。 For example, the interference detection device 10 learns learning data in which the position and velocity vector of the worker 50 for each time (i.e., at each point in time) are input, and the acceleration of the worker 50 for each time is output.

干渉判定装置10は、作業者50の、現時点までの位置の変化を示す情報を入力とし、作業者50の加速度またはその後の位置x(t+Δt)を出力とする学習用データを学習することで、作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を算出するための、高精度な予測用データを生成することができるとの効果を奏する。 The interference determination device 10 receives as input information indicating the change in the position of the worker 50 up to the present time, and learns learning data that outputs the acceleration or subsequent position xh ( t0 +Δt) of the worker 50, thereby achieving the effect of being able to generate highly accurate prediction data for calculating the predicted position xh ( t0 +Δt) and predicted velocity vector vh ( t0 +Δt) of the worker 50.

干渉判定装置10は、作業者50を識別する識別部115をさらに備え、人軌道予測部113は、識別部115による識別結果に応じて作業者50の予測位置および予測速度ベクトルの算出方法を変更する。 The interference determination device 10 further includes an identification unit 115 that identifies the worker 50, and the human trajectory prediction unit 113 changes the method of calculating the predicted position and predicted velocity vector of the worker 50 depending on the identification result by the identification unit 115.

前記の構成によれば、干渉判定装置10は、複数の作業者50の各々を識別し、複数の作業者50の各々の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を、複数の作業者50の各々に応じて、算出する。 According to the above-described configuration, the interference detection device 10 identifies each of the multiple workers 50, and calculates the predicted position xh ( t0 +Δt) and predicted velocity vector vh ( t0 +Δt) of each of the multiple workers 50 according to each of the multiple workers 50.

ここで、例えば複数の作業者50の各々は、身長、体重等が異なり、また、各々に特有の動作の癖などを備えている。したがって、複数の作業者50の各々について、予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を高精度に算出するには、複数の作業者50の各々の状態・動作の履歴情報を学習し、その学習結果を利用するのが望ましい。 Here, for example, each of the multiple workers 50 has a different height, weight, etc., and each has a unique movement habit, etc. Therefore, in order to calculate the predicted position xh ( t0 +Δt) and the predicted velocity vector vh ( t0 +Δt) for each of the multiple workers 50 with high accuracy, it is desirable to learn the state/movement history information of each of the multiple workers 50 and use the learning results.

干渉判定装置10は、複数の作業者50の各々を識別し、各々に応じた算出方法により、つまり、各々についての予測用データを用いて、各々の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を算出する。したがって、干渉判定装置10は、複数の作業者50の各々の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を、各々についての学習済モデル(予測用データ)を用いて、高精度に算出することができるとの効果を奏する。 The interference detection device 10 identifies each of the multiple workers 50 and calculates the predicted position xh (t0+Δt) and predicted speed vector vh ( t0 +Δt) of each of the multiple workers 50 by a calculation method appropriate for each of them, that is, by using prediction data for each of them. Therefore, the interference detection device 10 has the effect of being able to calculate the predicted position xh ( t0 +Δt) and predicted speed vector vh ( t0 + Δt) of each of the multiple workers 50 with high accuracy by using a learned model (prediction data) for each of them.

干渉判定装置10において、人状態情報生成部112は、非接触で作業者50の二次元または三次元位置を計測するセンサ40(計測装置)による計測結果の履歴に基づき、作業者50の、現時点までの位置の変化を示す情報(例えば、現在位置x(t)および現在速度ベクトルv(t))を取得する。 In the interference detection device 10, the human status information generation unit 112 acquires information indicating the change in the position of the worker 50 up to the present time (e.g., the current position xh(t0) and the current velocity vector vh ( t0 )) based on the history of measurement results from a sensor 40 (measuring device) that measures the two-dimensional or three-dimensional position of the worker 50 in a non-contact manner.

前記の構成によれば、干渉判定装置10は、作業者50の計測位置x(t)の履歴を用いて、作業者50の、現時点までの位置の変化を示す情報を取得する。干渉判定装置10は、作業者50の、現時点までの位置の変化を示す情報として、例えば、現時点における、作業者50の現在位置x(t)および現在速度ベクトルv(t)を取得する。 According to the above configuration, the collision detection device 10 acquires information indicating changes in the position of the worker 50 up to the present time, using the history of the measured position xh (t) of the worker 50. The collision detection device 10 acquires, for example, the current position xh ( t0 ) and current velocity vector vh ( t0 ) of the worker 50 at the present time, as information indicating changes in the position of the worker 50 up to the present time.

したがって、干渉判定装置10は、作業者50の、現時点までの位置の変化を示す情報を、作業者50の計測位置x(t)の履歴を用いて高精度に算出し、取得することができるとの効果を奏する。 Therefore, the interference detection device 10 has the advantage of being able to calculate and acquire information indicating the change in the position of the worker 50 up to the present time with high accuracy using the history of the measured positions x h (t) of the worker 50.

干渉判定装置10において、ロボット状態取得部121は、ロボット30の動作を制御するコントローラ20(ロボット制御装置)から制御情報を取得することにより、ロボット30の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を取得する。 In the interference determination device 10, a robot state acquisition unit 121 acquires control information from a controller 20 (robot control device) that controls the operation of the robot 30, and thereby acquires a predicted position xr ( t0 +Δt) and a predicted velocity vector vr ( t0 +Δt) of the robot 30.

前記の構成によれば、干渉判定装置10は、コントローラ20から、ロボット30に対する制御を規定する制御情報を取得することにより、ロボット30の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を取得する。したがって、干渉判定装置10は、前記制御情報から、ロボット30についての、高精度な予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を取得することができるとの効果を奏する。前記制御情報は、例えば、コントローラ20がロボット30に対する制御を実行する際に用いる動作プログラム等であり、干渉判定装置10は、動作プログラム等を解析して、ロボット30の予測位置および予測速度ベクトルを算出する。 According to the above configuration, the interference detection device 10 obtains the predicted position xr ( t0 +Δt) and predicted speed vector vr ( t0 +Δt) of the robot 30 by obtaining control information that specifies control over the robot 30 from the controller 20. Therefore, the interference detection device 10 has the effect of being able to obtain a highly accurate predicted position xr ( t0 +Δt) and predicted speed vector vr ( t0 +Δt) for the robot 30 from the control information. The control information is, for example, an operation program or the like used when the controller 20 executes control over the robot 30, and the interference detection device 10 analyzes the operation program or the like to calculate the predicted position and predicted speed vector of the robot 30.

また、ロボット状態取得部121は、ロボット30(特に、ロボット30の可動部)の位置情報を解析して、ロボット30(特に、ロボット30の可動部)の予測位置および予測速度ベクトルを算出してもよい。例えば、ロボット状態取得部121は、コントローラ20から、ロボット30(特に、ロボット30の可動部)の位置情報を取得し、位置情報の履歴に基づいて、予測位置および予測速度ベクトルを算出してもよい。 The robot state acquisition unit 121 may also analyze position information of the robot 30 (particularly, the moving parts of the robot 30) and calculate a predicted position and a predicted speed vector of the robot 30 (particularly, the moving parts of the robot 30). For example, the robot state acquisition unit 121 may acquire position information of the robot 30 (particularly, the moving parts of the robot 30) from the controller 20, and calculate a predicted position and a predicted speed vector based on the history of the position information.

さらに、ロボット状態取得部121は、コントローラ20からロボット30に送信される制御信号から、ロボット30(特に、ロボット30の可動部)の予測位置および予測速度ベクトルを算出してもよい。例えば、ロボット状態取得部121は、コントローラ20からロボット30に送信される制御信号の内容(各関節のモータ制御信号など)を解析して、ロボット30(特に、ロボット30の可動部)の予測位置および予測速度ベクトルを算出してもよい。 Furthermore, the robot state acquisition unit 121 may calculate a predicted position and a predicted speed vector of the robot 30 (particularly, the movable parts of the robot 30) from the control signal transmitted from the controller 20 to the robot 30. For example, the robot state acquisition unit 121 may analyze the contents of the control signal transmitted from the controller 20 to the robot 30 (such as the motor control signal for each joint) to calculate a predicted position and a predicted speed vector of the robot 30 (particularly, the movable parts of the robot 30).

干渉判定装置10は、未来干渉判定部122が、作業者50とロボット30との接触が生じる可能性があると判定した場合に、ロボット30の動作を制御するコントローラ20に対して干渉回避を指示する指示信号を送信する制御指示調整部123(指示部)をさらに備える。 The interference determination device 10 further includes a control instruction adjustment unit 123 (instruction unit) that transmits an instruction signal to the controller 20 that controls the operation of the robot 30 to instruct the robot 30 to avoid interference when the future interference determination unit 122 determines that there is a possibility of contact between the worker 50 and the robot 30.

前記の構成によれば、干渉判定装置10は、作業者50とロボット30との接触が生じる可能性があると判定した場合、ロボット30の動作を制御するコントローラ20に対して干渉回避を指示する指示信号を送信する。したがって、干渉判定装置10は、接触が生じる可能性があると判定すると、コントローラ20に前記指示信号を送信して、接触を回避することができるとの効果を奏する。 According to the above configuration, when the interference detection device 10 determines that there is a possibility of contact between the worker 50 and the robot 30, it transmits an instruction signal to the controller 20 that controls the operation of the robot 30 to instruct the controller 20 to avoid interference. Therefore, when the interference detection device 10 determines that there is a possibility of contact, it transmits the instruction signal to the controller 20, thereby achieving the effect of being able to avoid contact.

前記指示信号は、単に干渉の可能性を警告するだけの信号(警告信号)であってもよく、接触を回避するためのロボット30の具体的な動作の決定は、コントローラ20に実行させてもよい。また、前記指示信号は、ロボット30の動作内容を指示する信号であってもよく、例えば、ロボット30の動作を停止させ、または、ロボット30に干渉を回避させることを指示する信号であってもよい。さらに、前記指示信号は、ロボット30の動作を詳細に規定する制御指令であってもよく、例えば、動作を停止させるまでの時間、干渉を回避するための動作の方向・時間・距離などの内容を含む信号であってもよい。 The instruction signal may be a signal (warning signal) that simply warns of the possibility of interference, and the controller 20 may determine the specific operation of the robot 30 to avoid contact. The instruction signal may also be a signal that instructs the robot 30 to stop operating the robot 30 or to avoid interference, for example. The instruction signal may also be a control command that specifies the operation of the robot 30 in detail, and may also be a signal that includes, for example, the time until the operation is stopped, and the direction, time, and distance of the operation to avoid interference.

干渉判定装置10において、未来干渉判定部122が、作業者50とロボット30との接触が生じる可能性があると判定した場合に、制御指示調整部123は、コントローラ20に対して、ロボット30の移動速度および軌道の少なくともいずれか一方の調整指示を示す前記指示信号を送信してもよい。 In the interference determination device 10, when the future interference determination unit 122 determines that there is a possibility of contact between the worker 50 and the robot 30, the control instruction adjustment unit 123 may transmit to the controller 20 the instruction signal indicating an instruction to adjust at least one of the movement speed and trajectory of the robot 30.

前記の構成によれば、干渉判定装置10は、作業者50とロボット30との接触が生じる可能性があると判定した場合、コントローラ20に対して、ロボット30の移動速度および軌道の少なくとも一方の調整指示を示す前記指示信号を送信する。したがって、干渉判定装置10は、接触が生じる可能性があると判定すると、ロボット30の移動速度および軌道の少なくとも一方を調整させ、接触を回避することができるとの効果を奏する。 According to the above configuration, when the interference determination device 10 determines that there is a possibility of contact between the worker 50 and the robot 30, it transmits to the controller 20 the instruction signal indicating an instruction to adjust at least one of the movement speed and trajectory of the robot 30. Therefore, when the interference determination device 10 determines that there is a possibility of contact, it adjusts at least one of the movement speed and trajectory of the robot 30, thereby achieving the effect of being able to avoid contact.

コントローラ20(ロボット制御装置)は、干渉判定装置10から前記指示信号を受信する受信部22と、前記指示信号に基づき、ロボット30の動作を制御するロボット制御部21と、を備えている。 The controller 20 (robot control device) includes a receiver 22 that receives the instruction signal from the interference detection device 10, and a robot control unit 21 that controls the operation of the robot 30 based on the instruction signal.

前記の構成によれば、コントローラ20は、干渉判定装置10から前記指示信号を受信し、受信した前記指示信号に基づいて、ロボット30の動作を制御する。したがって、コントローラ20は、工場等の生産現場において、例えば作業者50等である対象物とロボット30との干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 According to the above configuration, the controller 20 receives the instruction signal from the interference determination device 10 and controls the operation of the robot 30 based on the received instruction signal. Therefore, the controller 20 has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between the robot 30 and an object such as a worker 50 at a production site such as a factory.

制御システム1(ロボット制御システム)は、干渉判定装置10と、コントローラ20と、非接触で作業者50の二次元または三次元位置を計測し、計測結果を干渉判定装置10に送信するセンサ40(計測装置)と、を含んでいる。 The control system 1 (robot control system) includes an interference detection device 10, a controller 20, and a sensor 40 (measurement device) that non-contactly measures the two-dimensional or three-dimensional position of a worker 50 and transmits the measurement results to the interference detection device 10.

前記の構成によれば、制御システム1は、干渉判定装置10と、コントローラ20と、計測結果(測域データ)を干渉判定装置10に送信するセンサ40とを含む。したがって、制御システム1は、工場等の生産現場において、例えば作業者50等である対象物とロボット30との干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 According to the above configuration, the control system 1 includes an interference detection device 10, a controller 20, and a sensor 40 that transmits measurement results (range data) to the interference detection device 10. Therefore, the control system 1 has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between an object, such as a worker 50, and the robot 30 at a production site such as a factory.

これまでに図2を用いて概要を説明してきた干渉判定装置10等について、次に、その構成の詳細について図1を参照しながら説明し、その後、干渉判定装置10等が実行する処理について、図3から図5を参照しながら説明していく。 The configuration of the interference detection device 10, etc., which has been outlined above using FIG. 2, will now be described in detail with reference to FIG. 1, and the processing executed by the interference detection device 10, etc., will then be described with reference to FIG. 3 to FIG. 5.

§2.構成例
(干渉判定装置の詳細)
図1は、干渉判定装置10等の要部構成を示すブロック図である。図1に示すように、干渉判定装置10は、記憶部130以外の機能ブロックとして、人軌道処理部110と、調停部120と、を備えている。
§2. Configuration example (details of the collision detection device)
Fig. 1 is a block diagram showing the main configuration of the interference detection device 10. As shown in Fig. 1, the interference detection device 10 includes a human trajectory processing unit 110 and an arbitration unit 120 as functional blocks other than a storage unit 130.

人軌道処理部110は、作業者50の未来の「位置(二次元位置または三次元位置)および速度ベクトル」の予測等を実行し、予測した作業者50の未来の「位置および速度ベクトル」を、調停部120に通知する。人軌道処理部110は、センサ情報取得部111と、人状態情報生成部112と、人軌道予測部113と、学習部114と、識別部115とを含む。 The human trajectory processing unit 110 performs prediction of the future "position (two-dimensional position or three-dimensional position) and velocity vector" of the worker 50, and notifies the arbitration unit 120 of the predicted future "position and velocity vector" of the worker 50. The human trajectory processing unit 110 includes a sensor information acquisition unit 111, a human state information generation unit 112, a human trajectory prediction unit 113, a learning unit 114, and an identification unit 115.

調停部120は、作業者50およびロボット30の各々についての、未来の「位置(二次元位置または三次元位置)および速度ベクトル」を用いて、作業者50とロボット30との未来における干渉の可能性を判定する。調停部120は、作業者50とロボット30とが未来において干渉する可能性があると判定すると、例えば、コントローラ20に、未来における作業者50とロボット30との干渉を回避するように指示する。調停部120は、ロボット状態取得部121と、未来干渉判定部122と、制御指示調整部123とを含む。 The arbitration unit 120 uses the future "position (two-dimensional position or three-dimensional position) and velocity vector" of each of the worker 50 and the robot 30 to determine the possibility of future interference between the worker 50 and the robot 30. When the arbitration unit 120 determines that there is a possibility of future interference between the worker 50 and the robot 30, it instructs, for example, the controller 20 to avoid future interference between the worker 50 and the robot 30. The arbitration unit 120 includes a robot state acquisition unit 121, a future interference determination unit 122, and a control instruction adjustment unit 123.

干渉判定装置10は、上述の各機能ブロックに加えて、判定結果を表示する構成などを備えていてもよいが、記載の簡潔性を担保するため、本実施の形態に直接関係のない構成は、説明およびブロック図から省略している。ただし、実施の実情に則して、干渉判定装置10は、当該省略された構成を備えてもよい。図1に例示した上述の各機能ブロックは、例えば、CPU(central processing unit)等が、ROM(read only memory)、NVRAM(non-Volatile random access memory)等で実現された記憶装置(記憶部130)に記憶されているプログラムを不図示のRAM(random access memory)等に読み出して実行することで実現できる。以下、干渉判定装置10における各機能ブロックについて説明する。 In addition to the above-mentioned functional blocks, the interference detection device 10 may also include a configuration for displaying the determination result, but in order to ensure conciseness of the description, configurations that are not directly related to this embodiment are omitted from the description and block diagram. However, in accordance with the actual situation of the implementation, the interference detection device 10 may also include the omitted configuration. The above-mentioned functional blocks illustrated in FIG. 1 can be realized, for example, by a central processing unit (CPU) or the like reading out a program stored in a storage device (storage unit 130) realized by a read only memory (ROM), a non-volatile random access memory (NVRAM), or the like, into a random access memory (RAM) (not shown) and executing the program. Each functional block in the interference detection device 10 will be described below.

(記憶部以外の機能ブロックの詳細)
センサ情報取得部111は、センサ40から、センサ40の計測した「作業者50の時間ごとの二次元位置または三次元位置」を示すデータ(測域データ)を取得し、取得した測域データを、人状態情報生成部112に出力する。図2に例示するセンサ40(1)およびセンサ40(2)のように、センサ40が複数のセンサ40(1)~(n)(nは2以上の整数)を含む場合、センサ情報取得部111は、複数のセンサ40の各々から取得した測域データを統合する。センサ情報取得部111は、例えば、複数のセンサ40の各々から、複数のセンサ40の各々のセンサ視点からの測域データを取得し、取得した複数の測域データの各々の角度および座標を変換し、複数の測域データを統合する。一例として、センサ情報取得部111は、X軸方向の測域データと、Y軸方向の測域データとを統合して、X-Y平面上の位置データを取得する。センサ情報取得部111は、統合した測域データを、人状態情報生成部112に出力する。
(Details of functional blocks other than the memory unit)
The sensor information acquisition unit 111 acquires data (range data) indicating the "two-dimensional or three-dimensional position of the worker 50 at each time" measured by the sensor 40 from the sensor 40, and outputs the acquired range data to the human state information generation unit 112. When the sensor 40 includes a plurality of sensors 40(1) to (n) (n is an integer of 2 or more), such as the sensor 40(1) and the sensor 40(2) illustrated in FIG. 2, the sensor information acquisition unit 111 integrates the range data acquired from each of the plurality of sensors 40. For example, the sensor information acquisition unit 111 acquires range data from the sensor viewpoint of each of the plurality of sensors 40 from each of the plurality of sensors 40, converts the angle and coordinates of each of the acquired plurality of range data, and integrates the plurality of range data. As an example, the sensor information acquisition unit 111 integrates the range data in the X-axis direction and the range data in the Y-axis direction to acquire position data on the X-Y plane. The sensor information acquisition unit 111 outputs the integrated range data to the human state information generation unit 112 .

人状態情報生成部112は、センサ情報取得部111から取得した測域データを用いて、「作業者50の時間ごとの二次元位置または三次元位置」を算出し、算出した「作業者50の時間ごとの二次元位置または三次元位置」を人状態履歴データ131に格納する。また、人状態情報生成部112は、人状態履歴データ131の格納データと、センサ情報取得部111から取得した測域データを用いて算出した「作業者50の時間ごとの二次元位置または三次元位置」とから、「作業者50の時間ごとの速度ベクトル」を算出する。人状態情報生成部112は、算出した「作業者50の時間ごとの速度ベクトル」を人状態履歴データ131に格納する。 The human status information generation unit 112 calculates the "two-dimensional or three-dimensional position of the worker 50 at each time" using the range data acquired from the sensor information acquisition unit 111, and stores the calculated "two-dimensional or three-dimensional position of the worker 50 at each time" in the human status history data 131. The human status information generation unit 112 also calculates the "velocity vector of the worker 50 at each time" from the stored data of the human status history data 131 and the "two-dimensional or three-dimensional position of the worker 50 at each time" calculated using the range data acquired from the sensor information acquisition unit 111. The human status information generation unit 112 stores the calculated "velocity vector of the worker 50 at each time" in the human status history data 131.

つまり、人状態情報生成部112は、センサ40から取得した測域データを用いて、「作業者50の時間ごとの、位置および速度ベクトル」を算出し(取得し)、取得した「作業者50の時間ごとの、位置および速度ベクトル」を人軌道予測部113に出力する。以下の説明においては、「作業者50の、位置および速度ベクトル」を「作業者50の状態」とも称し、「作業者50の時間ごとの、位置(および速度ベクトル)」の履歴を「作業者50の状態履歴(動作履歴)」とも称する。 That is, the human state information generating unit 112 calculates (acquires) the "position and velocity vector of the worker 50 at each time" using the range data acquired from the sensor 40, and outputs the acquired "position and velocity vector of the worker 50 at each time" to the human trajectory predicting unit 113. In the following description, the "position and velocity vector of the worker 50" is also referred to as the "state of the worker 50", and the history of the "position (and velocity vector) of the worker 50 at each time" is also referred to as the "state history (motion history) of the worker 50".

ここで、センサ40からの測域データには、例えば、作業者50以外の対象についての計測結果等がノイズとして含まれている。そこで、人状態情報生成部112は、測域データからノイズを除去して、「作業者50の時間ごとの位置」を算出する。 Here, the range data from the sensor 40 contains, for example, measurement results of objects other than the worker 50 as noise. Therefore, the human status information generating unit 112 removes the noise from the range data to calculate the "position of the worker 50 at each time point."

人状態情報生成部112は、例えば、「作業者50の時間ごとの位置(二次元位置または三次元位置)」として、「時間ごとの、作業者50の重心の位置(重心位置)」を算出する。「重心」は「体幹」と言い換えてもよい。すなわち、人状態情報生成部112が人軌道予測部113に出力し、人状態履歴データ131に格納する「作業者50の時間ごとの位置」は、「時間ごとの、作業者50の重心位置」である。同様に、人状態情報生成部112が人軌道予測部113に出力し、人状態履歴データ131に格納する「作業者50の時間ごとの速度ベクトル」は、「時間ごとの、作業者50の重心の速度ベクトル」である。 The human status information generating unit 112 calculates, for example, the "position of the center of gravity of the worker 50 at each time (center of gravity position)" as the "position of the worker 50 at each time (two-dimensional position or three-dimensional position)". The "center of gravity" may be rephrased as the "trunk". In other words, the "position of the worker 50 at each time" that the human status information generating unit 112 outputs to the human trajectory predicting unit 113 and stores in the human status history data 131 is the "center of gravity position of the worker 50 at each time". Similarly, the "velocity vector of the worker 50 at each time" that the human status information generating unit 112 outputs to the human trajectory predicting unit 113 and stores in the human status history data 131 is the "velocity vector of the center of gravity of the worker 50 at each time".

人状態情報生成部112による重心位置の算出方法について、詳細は図9を用いて後述するが、人状態情報生成部112は、測域データが示す作業者50の存在位置情報(作業者50の存在を示す点群)から、作業者50の重心の位置を算出する。 Details of the method for calculating the center of gravity position by the human status information generating unit 112 will be described later using Figure 9, but the human status information generating unit 112 calculates the position of the center of gravity of the worker 50 from the presence position information of the worker 50 indicated by the range measurement data (a point cloud indicating the presence of the worker 50).

人状態情報生成部112は、識別部115から、複数の作業者50の各々を識別する情報(識別情報)を取得し、取得した識別情報を、「作業者50の時間ごとの、位置および速度ベクトル」と組み合わせて、人状態履歴データ131に格納する。人状態情報生成部112は、複数の作業者50の各々について、その「時間ごとの、位置および速度ベクトル」を、人状態履歴データ131に格納する。つまり、人状態情報生成部112は、複数の作業者50の各々の「時間ごとの、位置および速度ベクトル」の履歴を人状態履歴データ131に格納する。 The human status information generating unit 112 acquires information (identification information) identifying each of the multiple workers 50 from the identifying unit 115, and stores the acquired identification information in combination with the "position and velocity vectors of the workers 50 at each time" in the human status history data 131. The human status information generating unit 112 stores the "position and velocity vectors at each time" for each of the multiple workers 50 in the human status history data 131. In other words, the human status information generating unit 112 stores the history of the "position and velocity vectors at each time" for each of the multiple workers 50 in the human status history data 131.

また、人状態情報生成部112は、識別部115から取得する作業者50の識別情報と、「現在の、作業者50の位置および速度ベクトル」とから、複数の作業者50の各々の「現在の、位置および速度ベクトル」を生成する。人状態情報生成部112は、生成した、複数の作業者50の各々の「現在の、位置および速度ベクトル」を、人軌道予測部113に通知する。 The human status information generating unit 112 also generates a "current position and velocity vector" for each of the multiple workers 50 from the identification information of the worker 50 acquired from the identification unit 115 and the "current position and velocity vector of the worker 50." The human status information generating unit 112 notifies the human trajectory prediction unit 113 of the generated "current position and velocity vector" for each of the multiple workers 50.

人軌道予測部113は、人状態情報生成部112から通知される「現在の、作業者50の位置および速度ベクトル」を、学習部114が生成した学習済モデル(予測用データ)に入力して、「未来の、作業者50の位置および速度ベクトル」を予測する。人軌道予測部113は、予測した「未来の、作業者50の位置および速度ベクトル」を、調停部120(特に、未来干渉判定部122)に通知する。 The human trajectory prediction unit 113 inputs the "current position and speed vector of the worker 50" notified by the human state information generation unit 112 into the learned model (prediction data) generated by the learning unit 114, and predicts the "future position and speed vector of the worker 50." The human trajectory prediction unit 113 notifies the arbitration unit 120 (particularly the future interference determination unit 122) of the predicted "future position and speed vector of the worker 50."

ここで、人軌道予測部113は、例えば、人状態情報生成部112から通知される「現在の、作業者50の重心の位置および速度ベクトル」を用いて、「未来の、作業者50の重心の位置および速度ベクトル」を予測する。 Here, the human trajectory prediction unit 113 predicts the "future position and velocity vector of the center of gravity of the worker 50" using, for example, the "current position and velocity vector of the center of gravity of the worker 50" notified by the human state information generation unit 112.

言い換えれば、人軌道予測部113は、現在までの作業者50の重心位置を示す情報から、作業者50の未来の(つまり、将来の)人軌道(重心位置の移動を示す軌道)を予測し、予測した未来の人軌道を調停部120(特に、未来干渉判定部122)に通知する。 In other words, the human trajectory prediction unit 113 predicts the future (i.e., future) human trajectory (trajectory indicating the movement of the center of gravity position) of the worker 50 from information indicating the center of gravity position of the worker 50 up to the present, and notifies the arbitration unit 120 (particularly, the future interference determination unit 122) of the predicted future human trajectory.

特に、人軌道予測部113は、複数の作業者50の各々の「現在の、位置および速度ベクトル」から、複数の作業者50の各々の予測用データ(学習済モデル)を用いて、複数の作業者50の各々の「未来の、位置および速度ベクトル」を予測する。人軌道予測部113は、予測した、複数の作業者50の各々の「未来の、位置および速度ベクトル」を、調停部120(特に、未来干渉判定部122)に通知する。 In particular, the human trajectory prediction unit 113 predicts the "future position and speed vector" of each of the multiple workers 50 from the "current position and speed vector" of each of the multiple workers 50 using the prediction data (trained model) of each of the multiple workers 50. The human trajectory prediction unit 113 notifies the arbitration unit 120 (in particular, the future interference determination unit 122) of the predicted "future position and speed vector" of each of the multiple workers 50.

人軌道予測部113は、学習部114による作業者50の状態履歴の学習の結果を用いて、「現在の、作業者50の重心の位置および速度ベクトル」から、「未来の、作業者50の重心の位置および速度ベクトル」を予測する。 The human trajectory prediction unit 113 uses the results of learning the state history of the worker 50 by the learning unit 114 to predict the "future position and velocity vector of the center of gravity of the worker 50" from the "current position and velocity vector of the center of gravity of the worker 50".

学習部114は、時刻ごとの(特に、現在の)、作業者50の位置(特に、重心位置)および速度ベクトルを入力とし、時刻ごとの、作業者50の加速度を出力とする学習用データについて、学習を行う。 The learning unit 114 inputs the position (particularly, the center of gravity position) and velocity vector of the worker 50 for each time (particularly, the current time) and learns learning data in which the acceleration of the worker 50 for each time is output.

ただし、学習用データが、「入力;時刻ごとの、作業者50の位置および速度ベクトル」と、「出力:時刻ごとの、作業者50の加速度」との組み合わせであることは必須ではない。詳細は図15を用いて後述するが、学習用データは、時刻ごとの(特に、現在の)、作業者50の位置および速度ベクトルの少なくともいずれか一方を入力とし、作業者50の加速度またはその後の位置を出力とするものであればよい。 However, it is not essential that the learning data is a combination of "input: position and velocity vector of worker 50 at each time" and "output: acceleration of worker 50 at each time". Details will be described later using FIG. 15, but the learning data may take at least one of the position and velocity vector of worker 50 at each time (particularly the current time) as input, and output the acceleration or subsequent position of worker 50.

学習部114は、学習によって、予測用データ(特に、後述する「予測用フィルタ前データ」)を生成する。学習部114は、例えば、DBT(Deep Binary Tree)と呼ばれる学習アルゴリズムを用いた学習によって、学習済モデルとして、予測用データを生成する。言い換えれば、学習部114は、学習済モデルとして予測用データを生成する。人軌道予測部113は、この予測用データを用いて、「現在の、作業者50の重心の位置および速度ベクトル」から、「未来の、作業者50の重心の位置および速度ベクトル」を予測する。 The learning unit 114 generates prediction data (particularly, "pre-filter data for prediction" described later) through learning. The learning unit 114 generates prediction data as a learned model through learning using, for example, a learning algorithm called DBT (Deep Binary Tree). In other words, the learning unit 114 generates prediction data as a learned model. The human trajectory prediction unit 113 uses this prediction data to predict "future position and velocity vector of the center of gravity of the worker 50" from "current position and velocity vector of the center of gravity of the worker 50".

学習部114は、例えばバッチ学習を行う場合、必要十分な量の作業者50の状態履歴(動作履歴)が蓄積されてから、学習を開始する。必要十分な量の作業者50の状態履歴(動作履歴)が蓄積された後は、学習部114は、時々刻々と最新のものに更新される作業者50の状態履歴(動作履歴)を用いて生成した最新の学習用データを学習して、時々刻々と学習済モデル(予測用データ)を更新する。作業者50の動作は時々刻々と変化するため、或る時点から所定時間後の「作業者50の、位置および速度ベクトル」を高精度に予測するには、その或る時点の最新の状態履歴を用いて生成した最新の学習用データを学習して得た学習済モデルを用いるのが望ましい。 When performing batch learning, for example, the learning unit 114 starts learning after a necessary and sufficient amount of state history (movement history) of the worker 50 has been accumulated. After a necessary and sufficient amount of state history (movement history) of the worker 50 has been accumulated, the learning unit 114 learns the latest learning data generated using the state history (movement history) of the worker 50, which is constantly updated to the latest, and updates the learned model (prediction data) from moment to moment. Since the movements of the worker 50 change from moment to moment, in order to predict with high accuracy the "position and velocity vector of the worker 50" a predetermined time after a certain point in time, it is desirable to use the learned model obtained by learning the latest learning data generated using the latest state history at that certain point in time.

学習部114がバッチ学習を行うことは必須ではなく、学習部114は、オンライン学習を行ってもよい。また、学習部114は、学習の方法を、バッチ学習からオンライン学習に切り替えてもよい。例えば、制御システム1の試験運転時に蓄積し、または、実運用の開始から所定期間の間に蓄積した作業者50の状態履歴(動作履歴)について、学習部114は、バッチ学習を行ってもよい。そして、実運用を開始した後、または、「実運用の開始後、バッチ学習により学習済モデルを生成した」後は、学習部114は、オンライン学習によって時々刻々と学習済モデル(予測用データ)を更新してもよい。 It is not essential that the learning unit 114 performs batch learning, and the learning unit 114 may perform online learning. The learning unit 114 may also switch the learning method from batch learning to online learning. For example, the learning unit 114 may perform batch learning on the state history (operation history) of the operator 50 accumulated during test operation of the control system 1 or accumulated for a predetermined period of time from the start of actual operation. Then, after the start of actual operation, or after "generating a trained model by batch learning after the start of actual operation," the learning unit 114 may update the trained model (prediction data) from moment to moment by online learning.

学習部114は、人状態履歴データ131に格納された、複数の作業者50の各々の状態履歴(動作履歴)から、複数の作業者50の各々の学習用データを生成し、この「複数の作業者50の各々の学習用データ」を学習する。学習部114は、複数の作業者50の各々の学習用データを学習して、複数の作業者50の各々の予測用データ(学習済モデル)を生成し、つまり、複数の作業者50の各々について、「未来の、位置および速度ベクトル」を予測するための学習済モデルを生成する。 The learning unit 114 generates learning data for each of the multiple workers 50 from the state history (motion history) of each of the multiple workers 50 stored in the human state history data 131, and learns this "learning data for each of the multiple workers 50." The learning unit 114 learns the learning data for each of the multiple workers 50 and generates prediction data (trained model) for each of the multiple workers 50, that is, generates a trained model for predicting "future position and velocity vectors" for each of the multiple workers 50.

識別部115は、複数の作業者50の各々を識別する情報(識別情報)を取得し、取得した識別情報を人状態情報生成部112に通知する。識別部115は、例えば、複数の作業者50の各々が携帯するIDカードから識別情報を取得してもよい。また、識別部115は、例えば、複数の作業者50の各々について顔認証等を実行して、識別情報を取得してもよい。 The identification unit 115 acquires information (identification information) that identifies each of the multiple workers 50, and notifies the acquired identification information to the human status information generation unit 112. The identification unit 115 may acquire the identification information, for example, from an ID card carried by each of the multiple workers 50. The identification unit 115 may also acquire the identification information, for example, by performing face recognition or the like on each of the multiple workers 50.

ロボット状態取得部121は、未来(つまり、所定時間後)における「ロボット30の、位置および速度ベクトル」を取得し、取得した未来における「ロボット30の、位置および速度ベクトル」を、未来干渉判定部122に通知する。例えば、ロボット状態取得部121は、コントローラ20(特に、アームタスク23)から、コントローラ20がロボット30を制御する際に用いる制御情報(ロボット30の動作を規定する「目標軌道および動作プログラム」などの情報)を取得する。ロボット状態取得部121は、取得した制御情報を解析して、未来における「ロボット30の、位置および速度ベクトル」を取得する。 The robot state acquisition unit 121 acquires the "position and velocity vector of the robot 30" in the future (i.e., after a predetermined time), and notifies the future interference determination unit 122 of the acquired "position and velocity vector of the robot 30" in the future. For example, the robot state acquisition unit 121 acquires control information (information such as the "target trajectory and operation program" that specifies the operation of the robot 30) used by the controller 20 when controlling the robot 30 from the controller 20 (particularly the arm task 23). The robot state acquisition unit 121 analyzes the acquired control information to acquire the "position and velocity vector of the robot 30" in the future.

未来干渉判定部122は、未来(つまり、所定時間後)における「作業者50の、位置および速度ベクトル」と、未来における「ロボット30の、位置および速度ベクトル」とを用いて、作業者50とロボット30との接触が生じる可能性があるかを判定する。特に、未来干渉判定部122は、時々刻々に、未来における「作業者50の、位置および速度ベクトル」と、未来における「ロボット30の、位置および速度ベクトル」とを用いて、作業者50とロボット30との接触が生じる可能性があるかを判定する。未来干渉判定部122は、判定結果を制御指示調整部123に通知する。 The future interference determination unit 122 determines whether or not there is a possibility of contact between the worker 50 and the robot 30, using the "position and velocity vector of the worker 50" in the future (i.e., after a predetermined time) and the "position and velocity vector of the robot 30" in the future. In particular, the future interference determination unit 122 determines from moment to moment whether or not there is a possibility of contact between the worker 50 and the robot 30, using the "position and velocity vector of the worker 50" in the future and the "position and velocity vector of the robot 30" in the future. The future interference determination unit 122 notifies the control instruction adjustment unit 123 of the determination result.

前述の通り、人軌道予測部113は、現時点(t=t)で、現時点から所定時間(Δt)が経過した時点(t=t+Δt)における「作業者50の、位置および速度ベクトル」を予測し、予測結果を未来干渉判定部122に通知する。また、ロボット状態取得部121は、現時点(t=t)で、現時点から所定時間(Δt)が経過した時点(t=t+Δt)における「ロボット30の、位置および速度ベクトル」を取得し、取得した情報を未来干渉判定部122に通知する。 As described above, the human trajectory prediction unit 113 predicts, at the current time (t= t0 ), the "position and velocity vector of the worker 50" at a time (t= t0 +Δt) when a predetermined time (Δt) has passed from the current time, and notifies the future interference determination unit 122 of the prediction result. In addition, the robot state acquisition unit 121 acquires, at the current time (t= t0 ), the "position and velocity vector of the robot 30" at a time (t= t0 +Δt) when a predetermined time (Δt) has passed from the current time, and notifies the future interference determination unit 122 of the acquired information.

「t+Δt」時点から、ロボット30の移動が停止する時点までのいずれかの時点において、作業者50の推定位置とロボット30の推定位置との距離が所定値以内となると、未来干渉判定部122は、作業者50とロボット30とが接触し得ると判定する。作業者50およびロボット30の各々の推定位置の算出方法について、詳細は図7を用いて後述する。 If the distance between the estimated position of the worker 50 and the estimated position of the robot 30 falls within a predetermined value at any time from time " t0 + Δt" to the time when the movement of the robot 30 stops, the future interference determination unit 122 determines that there is a possibility of contact between the worker 50 and the robot 30. The method of calculating the estimated positions of the worker 50 and the robot 30 will be described in detail later with reference to FIG.

制御指示調整部123は、未来干渉判定部122によって「作業者50とロボット30とが接触し得る」と判定されると、作業者50とロボット30との干渉を回避するよう指示する指示信号を、コントローラ20に送信する。制御指示調整部123は、例えば、「ロボット30の動作を停止させずに、ロボット30の移動速度および軌道の少なくとも一方を調整するよう指示する指示信号」を、または、「ロボット30の動作を停止するよう指示する指示信号」を、送信する。 When the future interference determination unit 122 determines that "the worker 50 and the robot 30 may come into contact," the control instruction adjustment unit 123 transmits an instruction signal to the controller 20 to instruct the avoidance of interference between the worker 50 and the robot 30. The control instruction adjustment unit 123 transmits, for example, "an instruction signal to adjust at least one of the movement speed and trajectory of the robot 30 without stopping the operation of the robot 30" or "an instruction signal to stop the operation of the robot 30."

(記憶部の詳細)
記憶部130は、干渉判定装置10が使用する各種データを格納する記憶装置である。なお、記憶部130は、干渉判定装置10が実行する(1)制御プログラム、(2)OSプログラム、(3)干渉判定装置10が有する各種機能を実行するためのアプリケーションプログラム、および、(4)該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶してもよい。上記の(1)~(4)のデータは、例えば、ROM(read only memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(登録商標)(Electrically EPROM)、HDD(Hard Disc Drive)等の不揮発性記憶装置に記憶される。干渉判定装置10は、図示しない一時記憶部を備えていてもよい。一時記憶部は、干渉判定装置10が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、RAM(Random Access Memory)等の揮発性記憶装置で構成される。どのデータをどの記憶装置に記憶するのかについては、干渉判定装置10の使用目的、利便性、コスト、または、物理的な制約等から適宜決定される。記憶部130はさらに人状態履歴データ131を格納している。
(Details of the memory unit)
The storage unit 130 is a storage device that stores various data used by the collision detection device 10. The storage unit 130 may non-temporarily store (1) a control program, (2) an OS program, (3) an application program for executing various functions of the collision detection device 10, and (4) various data read when the application program is executed by the collision detection device 10. The above data (1) to (4) are stored in a non-volatile storage device such as a read only memory (ROM), a flash memory, an erasable programmable ROM (EPROM), an electrically EPROM (EEPROM (registered trademark)), or a hard disk drive (HDD). The collision detection device 10 may include a temporary storage unit (not shown). The temporary storage unit is a so-called working memory that temporarily stores data used for calculations and calculation results during various processes executed by the collision detection device 10, and is configured from a volatile storage device such as a random access memory (RAM). Which data is to be stored in which storage device is appropriately determined based on the purpose of use, convenience, cost, physical constraints, etc. of the collision detection device 10. The storage unit 130 further stores human state history data 131.

人状態履歴データ131には、「作業者50の時間ごとの、位置および速度ベクトル」(の履歴)が格納され、特に、複数の作業者50の各々の「時間ごとの、位置および速度ベクトル」(の履歴)が格納される。 The human condition history data 131 stores "the position and velocity vectors of the worker 50 over time" (history), and in particular stores "the position and velocity vectors of the worker 50 over time" (history).

(コントローラの詳細)
コントローラ20は、ロボット30の動作を制御するロボット制御装置であり、例えば、後述するアームタスク23に格納されている目標軌道および動作プログラムなどのデータに従って、ロボット30の動作を制御する。また、コントローラ20は、干渉判定装置10からの指示信号に従って、ロボット30の動作を制御する。すなわち、図1に例示するように、コントローラ20は、ロボット制御部21と、受信部22と、アームタスク23とを備えている。受信部22は、干渉判定装置10から指示信号を受信し、受信した指示信号をロボット制御部21に通知する。アームタスク23は、ロボット30の動作を規定する「目標軌道および動作プログラム」などの情報を格納している。ロボット制御部21は、受信部22から通知された指示信号と、アームタスク23に格納されている「目標軌道および動作プログラム」などの情報とに基づき、ロボット30の動作を制御する。
(Controller details)
The controller 20 is a robot control device that controls the operation of the robot 30, and controls the operation of the robot 30 according to data such as a target trajectory and an operation program stored in an arm task 23 described later. The controller 20 also controls the operation of the robot 30 according to an instruction signal from the interference determination device 10. That is, as illustrated in FIG. 1, the controller 20 includes a robot control unit 21, a receiving unit 22, and an arm task 23. The receiving unit 22 receives an instruction signal from the interference determination device 10 and notifies the robot control unit 21 of the received instruction signal. The arm task 23 stores information such as a "target trajectory and operation program" that specifies the operation of the robot 30. The robot control unit 21 controls the operation of the robot 30 based on the instruction signal notified from the receiving unit 22 and information such as a "target trajectory and operation program" stored in the arm task 23.

§3.動作例
図3は、制御システム1において実行される処理の概要を示すフロー図である。図3に示すように、制御システム1においては、先ず、センサ情報取得部111によってセンサ情報統合処理(S110)が実行され、次に、人状態情報生成部112によって人存在領域計算処理(S120)が実行される。人軌道予測部113によって人軌道計算処理(S130)が実行されると、未来干渉判定部122は、人軌道計算処理の結果等を用いて、未来干渉判定処理(S140)を実行する。未来干渉判定部122による未来干渉判定処理の結果、作業者50とロボット30とが未来において干渉する可能性があると判定されると、制御指示調整部123によって制御指示調整処理(S150)が実行される。そして、制御指示調整処理の結果等を用いて、コントローラ20はロボット30を制御し、例えば、ロボット30のアームを制御する処理であるアームコントロール(S160)を実行する。
§3. Operation Example Fig. 3 is a flow diagram showing an outline of the processing executed in the control system 1. As shown in Fig. 3, in the control system 1, first, the sensor information acquisition unit 111 executes a sensor information integration processing (S110), and then the human presence area calculation processing (S120) is executed by the human state information generation unit 112. When the human trajectory calculation processing (S130) is executed by the human trajectory prediction unit 113, the future interference determination unit 122 executes a future interference determination processing (S140) using the result of the human trajectory calculation processing, etc. As a result of the future interference determination processing by the future interference determination unit 122, when it is determined that there is a possibility that the worker 50 and the robot 30 will interfere in the future, the control instruction adjustment unit 123 executes a control instruction adjustment processing (S150). Then, using the result of the control instruction adjustment processing, etc., the controller 20 controls the robot 30, and executes, for example, arm control (S160), which is a processing for controlling the arm of the robot 30.

図4は、図3のフロー図における人軌道計算処理までの詳細を示すフロー図である。図4に示すように、図3のセンサ情報統合処理(S110)は、センサ40から、センサ40の計測した「作業者50の、時間ごとの(特に、現時点の)二次元位置または三次元位置」を示す測域データを取得する処理であるセンサ情報取得処理(S111)を含む。 Figure 4 is a flow diagram showing details up to the human trajectory calculation process in the flow diagram of Figure 3. As shown in Figure 4, the sensor information integration process (S110) in Figure 3 includes a sensor information acquisition process (S111) which is a process for acquiring from the sensor 40 range measurement data indicating "the two-dimensional or three-dimensional position of the worker 50 at each time point (particularly the current two-dimensional or three-dimensional position)" measured by the sensor 40.

前述の通り、センサ40が複数のセンサ(例えば、センサ40(1)およびセンサ40(2))を含む場合、センサ情報取得部111は、複数のセンサ40の各々から、複数のセンサ40の各々の測域データを取得する。そして、センサ情報取得部111は、取得した複数の測域データを統合する(測域データ統合処理、S112)。 As described above, when the sensor 40 includes multiple sensors (e.g., sensor 40(1) and sensor 40(2)), the sensor information acquisition unit 111 acquires range data of each of the multiple sensors 40 from each of the multiple sensors 40. Then, the sensor information acquisition unit 111 integrates the multiple acquired range data (range data integration process, S112).

図4に示すように、図3の人存在領域計算処理は、人推定処理(S121)、人重心計算処理(S122)、および、人重心バッファリング処理(S123)を含む。 As shown in FIG. 4, the human presence area calculation process in FIG. 3 includes a human estimation process (S121), a human center of gravity calculation process (S122), and a human center of gravity buffering process (S123).

先ず、人状態情報生成部112は、センサ情報取得部111から取得した測域データについて、ノイズ(作業者50以外の対象についての計測結果等)を除去し、測域データから作業者50の存在を示すデータだけを抽出する(人推定処理)。人状態情報生成部112は、例えば、人状態履歴データ131に格納された「作業者50の時間ごとの、位置」(の履歴)を用いて、センサ情報取得部111から取得した測域データ(作業者50の、現時点の位置を示すデータ)からノイズを除去する。 First, the human status information generating unit 112 removes noise (such as measurement results for objects other than the worker 50) from the range data acquired from the sensor information acquiring unit 111, and extracts only data indicating the presence of the worker 50 from the range data (human estimation process). The human status information generating unit 112 removes noise from the range data acquired from the sensor information acquiring unit 111 (data indicating the current position of the worker 50) by using, for example, the "time-by-time position of the worker 50" (history of the position) stored in the human status history data 131.

人状態情報生成部112は、ノイズ除去した測域データから、つまり、作業者50の存在を示すデータ(点群)から、作業者50の現時点の重心位置を計算する。例えば、人状態情報生成部112は、作業者50の存在を示す点群の平均から、作業者50の現時点の重心位置を算出する(人重心計算処理)。 The human state information generating unit 112 calculates the current center of gravity position of the worker 50 from the noise-removed range measurement data, i.e., from the data (point cloud) indicating the presence of the worker 50. For example, the human state information generating unit 112 calculates the current center of gravity position of the worker 50 from the average of the point cloud indicating the presence of the worker 50 (human center of gravity calculation process).

人状態情報生成部112は、算出した作業者50の現時点の重心位置を、現在時刻と共に人状態履歴データ131に格納する(人重心バッファリング処理)。また、人状態情報生成部112は、人状態履歴データ131に格納済の「作業者50の、時間ごとの位置」(の履歴)と、作業者50の現時点の位置とから、作業者50の現時点の速度を算出する。人状態情報生成部112は、算出した「作業者50の、現時点の速度」を、「作業者50の、現時点の位置(重心位置)」および現在時刻と共に、人状態履歴データ131に格納する。 The human status information generating unit 112 stores the calculated current center of gravity position of the worker 50 together with the current time in the human status history data 131 (human center of gravity buffering process). The human status information generating unit 112 also calculates the current speed of the worker 50 from the "time-wise position of the worker 50" (history) already stored in the human status history data 131 and the current position of the worker 50. The human status information generating unit 112 stores the calculated "current speed of the worker 50" together with the "current position (center of gravity position) of the worker 50" and the current time in the human status history data 131.

図3の人軌道計算処理は、図4に示すように、人軌道学習処理(S131)、学習結果を用いた人軌道予測処理(S132)、および、調停部への予測結果出力処理(S133)を含んでいる。 The human trajectory calculation process in FIG. 3 includes a human trajectory learning process (S131), a human trajectory prediction process using the learning results (S132), and a prediction result output process to the arbitration unit (S133), as shown in FIG. 4.

人軌道学習処理において、学習部114は、時刻ごとの(特に、現在の)、作業者50の位置(特に、重心位置)および速度ベクトルを入力とし、時刻ごとの、作業者50の加速度を出力とする学習用データについて、学習を行う。学習部114は、学習によって、学習済モデルとして予測用データを生成する。 In the human trajectory learning process, the learning unit 114 inputs the position (particularly, the center of gravity position) and velocity vector of the worker 50 for each time (particularly, the current time) and learns learning data in which the acceleration of the worker 50 for each time is output. Through learning, the learning unit 114 generates prediction data as a learned model.

人軌道予測処理において、人軌道予測部113は、作業者50の「現在の、位置および速度ベクトル」を、予測用データ(学習済モデル)に入力して、「未来の、作業者50の位置および速度ベクトル」を予測する。そして、人軌道予測部113は、人軌道予測処理の結果を、つまり、予測した「未来の、作業者50の位置および速度ベクトル」を、調停部120に通知する(S133)。 In the human trajectory prediction process, the human trajectory prediction unit 113 inputs the "current position and speed vector" of the worker 50 into prediction data (trained model) to predict the "future position and speed vector of the worker 50." The human trajectory prediction unit 113 then notifies the arbitration unit 120 of the result of the human trajectory prediction process, i.e., the predicted "future position and speed vector of the worker 50" (S133).

図5は、図3のフロー図における未来干渉判定処理からアームコントロール処理までの詳細を示すフロー図である。図3の未来干渉判定処理は、図5に示すように、ロボット軌道取得処理(S141)および未来の安全距離計算処理(S143)等を含んでいる。 Figure 5 is a flow diagram showing the details of the future interference determination process to the arm control process in the flow diagram of Figure 3. As shown in Figure 5, the future interference determination process of Figure 3 includes a robot trajectory acquisition process (S141) and a future safe distance calculation process (S143), etc.

ロボット軌道取得処理(S141)において、ロボット状態取得部121は、未来における「ロボット30の、位置および速度ベクトル」を取得し、取得した未来における「ロボット30の、位置および速度ベクトル」を、未来干渉判定部122に通知する。例えば、ロボット状態取得部121は、アームタスク23から、ロボット30に係る制御情報を取得し、取得した制御情報を解析して、未来(つまり、所定時間後)における「ロボット30の、位置および速度ベクトル」を取得する。 In the robot trajectory acquisition process (S141), the robot state acquisition unit 121 acquires the "position and velocity vector of the robot 30" in the future, and notifies the future interference determination unit 122 of the acquired "position and velocity vector of the robot 30" in the future. For example, the robot state acquisition unit 121 acquires control information related to the robot 30 from the arm task 23, analyzes the acquired control information, and acquires the "position and velocity vector of the robot 30" in the future (i.e., after a predetermined time).

未来干渉判定部122は、人軌道予測の結果がバッファリングされているか、つまり、人軌道予測部113から「未来の、作業者50の位置および速度ベクトル」が通知されているか、を判定する(S142)。人軌道予測部113から「未来の、作業者50の位置および速度ベクトル」が通知されていない場合(S142でfalse)、未来干渉判定部122は未来の安全距離計算処理を実行ができず、その旨を、制御指示調整部123を介してコントローラ20に通知する。 The future interference determination unit 122 determines whether the result of the human trajectory prediction is buffered, that is, whether the "future position and speed vector of the worker 50" has been notified from the human trajectory prediction unit 113 (S142). If the "future position and speed vector of the worker 50" has not been notified from the human trajectory prediction unit 113 (false in S142), the future interference determination unit 122 cannot execute the future safe distance calculation process, and notifies the controller 20 of this fact via the control instruction adjustment unit 123.

人軌道予測部113から「未来の、作業者50の位置および速度ベクトル」が通知されている場合(S142でtrue)、未来干渉判定部122は、未来の安全距離計算処理(S143)を実行する。例えば、未来干渉判定部122は、作業者50およびロボット30の各々の未来における速度ベクトルにより、未来における安全距離を算出する。また、作業者50およびロボット30の各々の未来における位置により、未来における分離距離を算出する。未来干渉判定部122は、算出した未来における安全距離と、未来における分離距離と比較し、未来において安全距離が保たれるかを、つまり、未来における分離距離が未来における安全距離よりも大きいかを、判定する(S144)。 When the "future position and velocity vector of the worker 50" has been notified from the human trajectory prediction unit 113 (true in S142), the future interference determination unit 122 executes a future safe distance calculation process (S143). For example, the future interference determination unit 122 calculates a future safe distance based on the future velocity vectors of the worker 50 and the robot 30. The future interference determination unit 122 also calculates a future separation distance based on the future positions of the worker 50 and the robot 30. The future interference determination unit 122 compares the calculated future safe distance with the future separation distance to determine whether the safety distance will be maintained in the future, that is, whether the future separation distance is greater than the future safe distance (S144).

未来において安全距離が保たれる場合(S144でtrue)、未来干渉判定部122は、制御情報に従って動作するロボット30の動作を修正する必要はないと判定し、その旨を、制御指示調整部123を介してコントローラ20に通知する。未来において安全距離が保たれない場合(S144でfalse)、つまり、「作業者50とロボット30とが接触し得る」と判定すると、未来干渉判定部122は、「作業者50とロボット30とが接触し得る」との判定結果を、制御指示調整部123に通知する。 If the safe distance will be maintained in the future (true in S144), the future interference determination unit 122 determines that there is no need to modify the operation of the robot 30 operating in accordance with the control information, and notifies the controller 20 of this via the control instruction adjustment unit 123. If the safe distance will not be maintained in the future (false in S144), that is, if it is determined that "the worker 50 and the robot 30 may come into contact," the future interference determination unit 122 notifies the control instruction adjustment unit 123 of the determination result that "the worker 50 and the robot 30 may come into contact."

「作業者50とロボット30とが接触し得る」との判定結果を未来干渉判定部122から通知されると、制御指示調整部123は、安全軌道生成処理(S151)を実行する。例えば、制御指示調整部123は、未来における安全距離と、未来における分離距離とを比較して、ロボット30を停止させる指示信号を、または、ロボット30の速度および軌道の少なくとも一方を調整させる指示信号を、コントローラ20に送信する。 When the future interference determination unit 122 notifies the control instruction adjustment unit 123 of the determination result that "the worker 50 and the robot 30 may come into contact," the control instruction adjustment unit 123 executes a safe trajectory generation process (S151). For example, the control instruction adjustment unit 123 compares the future safe distance with the future separation distance, and transmits to the controller 20 an instruction signal to stop the robot 30 or an instruction signal to adjust at least one of the speed and trajectory of the robot 30.

コントローラ20(特に、ロボット制御部21)は、ロボット30(例えば、ロボット30のアーム)の動作を制御するアームコントロール処理(S160)を実行する。受信部22が、干渉判定装置10から、未来の安全距離計算処理を実行していないとの報告、または、未来において安全距離が保たれるとの報告を受信すると、ロボット制御部21は、アームタスク23に格納されている制御情報に基づき、ロボット30を制御する。受信部22が、干渉判定装置10から、指示信号と作業者50とロボット30とが接触し得るとの報告とを受信すると、ロボット制御部21は、アームタスク23に格納されている制御情報に従ったロボット30に対する制御を、指示信号に従って修正する。 The controller 20 (particularly, the robot control unit 21) executes an arm control process (S160) that controls the operation of the robot 30 (e.g., the arm of the robot 30). When the receiving unit 22 receives a report from the interference detection device 10 that the future safe distance calculation process has not been executed, or that the safe distance will be maintained in the future, the robot control unit 21 controls the robot 30 based on the control information stored in the arm task 23. When the receiving unit 22 receives an instruction signal and a report from the interference detection device 10 that the worker 50 and the robot 30 may come into contact with each other, the robot control unit 21 modifies the control of the robot 30 according to the control information stored in the arm task 23 in accordance with the instruction signal.

これまでに図3、図4、および図5を参照しながら説明してきた干渉判定装置10が実行する処理(言い換えれば、干渉判定装置10が実行するロボット干渉判定方法)は、以下のように整理することができる。すなわち、干渉判定装置10が実行する制御方法(ロボット干渉判定方法)は、所定の領域内に存在する作業者50(対象物)の、現時点(t)までの位置の変化を示す情報(例えば、現時点における現在位置x(t)および現在速度ベクトルv(t))を取得する対象物状態取得ステップ(人存在領域計算処理、S120)と、ロボット30(ロボットにおける所定の可動部)の所定時間Δt後における予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を取得するロボット状態取得ステップ(ロボット軌道取得処理、S141)と、作業者50の現時点までの位置の変化を示す情報に基づいて、所定時間Δt後における作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を算出する予測ステップ(人軌道予測処理、S132)と、作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)と、ロボット30の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)とに基づき、作業者50とロボット30との接触が生じる可能性があるか否かをリアルタイムで判定する干渉判定ステップ(S144)と、を含んでいる。 The processing executed by the interference detection device 10 that has been described with reference to Figures 3, 4, and 5 (in other words, the robot interference detection method executed by the interference detection device 10) can be summarized as follows. That is, the control method (robot interference detection method) executed by the interference detection device 10 includes an object state acquisition step (human presence area calculation process, S120) of acquiring information indicating a change in the position of the worker 50 (object) present in a predetermined area up to the present time (t 0 ) (for example, a current position x h (t 0 ) and a current speed vector v h (t 0 ) at the present time), a robot state acquisition step (robot trajectory acquisition process, S141) of acquiring a predicted position x r (t 0 +Δt) and a predicted speed vector v r (t 0 +Δt) of the robot 30 (a predetermined movable part of the robot) a predetermined time Δt later, a prediction step (human trajectory prediction process, S132) of calculating a predicted position x h (t 0 +Δt) and a predicted speed vector v h (t 0 +Δt) of the worker 50 a predetermined time Δt later based on the information indicating the change in the position of the worker 50 up to the present time, and and an interference determination step (S144 ) of determining in real time whether or not there is a possibility of contact between the worker 50 and the robot 30 based on the predicted position xr(t0+Δt) and predicted velocity vector vr ( t0 + Δt ) of the robot 30.

前記の方法によれば、前記ロボット干渉判定方法は、「作業者50の、現時点までの位置の変化を示す情報」を取得し、この「現時点までの位置の変化を示す情報」を用いて、所定時間Δt後における作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)を予測する(算出する)。「作業者50の、現時点までの位置の変化を示す情報」は、例えば、作業者50の現在位置x(t)および現在速度ベクトルv(t)である。また、図15の表において入力として示す各種の情報も、各々、前記対象物の、現時点までの位置の変化を示す情報の例である。 According to the above method, the robot interference determination method obtains "information indicating changes in the position of the worker 50 up to the present time" and predicts (calculates) a predicted position xh ( t0 +Δt) and a predicted velocity vector vh ( t0 +Δt) of the worker 50 after a predetermined time Δt using this "information indicating changes in the position of the worker 50 up to the present time." The "information indicating changes in the position of the worker 50 up to the present time" is, for example, the current position xh ( t0 ) and current velocity vector vh ( t0 ) of the worker 50. Also, the various pieces of information shown as inputs in the table of FIG. 15 are each examples of information indicating changes in the position of the object up to the present time.

そして、前記ロボット干渉判定方法は、算出した作業者50の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)と、ロボット30の予測位置x(t+Δt)および予測速度ベクトルv(t+Δt)とに基づき、作業者50とロボット30との接触が生じる可能性があるか否かをリアルタイムで判定する。 The robot interference determination method determines in real time whether or not there is a possibility of contact between the worker 50 and the robot 30 based on the calculated predicted position xh ( t0 +Δt) and predicted velocity vector vh ( t0 +Δt) of the worker 50 and the predicted position xr ( t0 +Δt) and predicted velocity vector vr ( t0 +Δt) of the robot 30.

前記ロボット干渉判定方法は、安全柵を用いずにロボット30と作業者50との干渉を回避することができるので、生産現場等の省スペース化を実現することができる。 The robot interference determination method can avoid interference between the robot 30 and the worker 50 without using a safety fence, thereby realizing space saving in production sites, etc.

また、前記ロボット干渉判定方法は、ロボット30と作業者50との、所定時間Δt(つまり、未来)における干渉の可能性を現時点tで判定するので、干渉の可能性があると判定した場合にも、干渉回避のための処理を現時点tで余裕を持って実行できる。 Furthermore, the robot interference determination method determines the possibility of interference between the robot 30 and the worker 50 at a predetermined time Δt (i.e., in the future) at the current time t0 . Therefore, even if it is determined that there is a possibility of interference, processing to avoid interference can be executed at the current time t0 with ample time to spare.

ここで、現時点tでの干渉の可能性を現時点tで判定する装置が、現時点tでの干渉の可能性があると判定した場合、現時点tでの干渉を回避するためには、ロボット30の急減速および急停止等の動作が必要となり、どうしても生産効率が低下する。 Here, if a device that determines the possibility of interference at the current time t0 determines that there is a possibility of interference at the current time t0 , then in order to avoid the interference at the current time t0 , it will be necessary to perform actions such as sudden deceleration and sudden stopping of the robot 30, which will inevitably reduce production efficiency.

これに対し、前記ロボット干渉判定方法は、未来における干渉の可能性を現時点tで判定するので、現時点tでの干渉の可能性を現時点tで判定する場合に比べて、干渉を回避するために必要なロボット30の動作を、円滑かつ必要最小限のものにすることができる。つまり、前記ロボット干渉判定方法は、ロボット30と作業者50との干渉を回避しつつ、ロボット30の急減速および急停止等による生産効率の低下を抑制することができる。 In contrast, the robot interference determination method determines the possibility of future interference at the current time t 0 , and therefore can make the operation of the robot 30 necessary to avoid interference smoother and to a minimum, compared to a case in which the possibility of interference at the current time t 0 is determined at the current time t 0. In other words, the robot interference determination method can prevent interference between the robot 30 and the worker 50, while suppressing a decrease in production efficiency due to sudden deceleration and sudden stopping of the robot 30, etc.

したがって、前記ロボット干渉判定方法は、工場等の生産現場において、例えば作業者50等である人(対象物)とロボット30との干渉を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 The robot interference determination method thus has the effect of preventing a decrease in production efficiency and space efficiency while avoiding interference between a person (object), such as a worker 50, and the robot 30 at a production site such as a factory.

(学習処理および人軌道予測処理について)
図6は、干渉判定装置10が実行する学習処理と、学習処理の結果を利用した人軌道予測処理とについて説明する図である。具体的には、図6の(A)は、干渉判定装置10(特に、学習部114)が実行する学習処理を、図6の(B)は、干渉判定装置10(特に、人軌道予測部113)が実行する人軌道予測処理を、示している。
(Learning process and human trajectory prediction process)
6A and 6B are diagrams for explaining the learning process executed by the interference detection device 10 and the human trajectory prediction process using the results of the learning process. Specifically, (A) of Fig. 6 shows the learning process executed by the interference detection device 10 (particularly, the learning unit 114), and (B) of Fig. 6 shows the human trajectory prediction process executed by the interference detection device 10 (particularly, the human trajectory prediction unit 113).

(学習処理について)
学習部114は、人状態履歴データ131に格納された「作業者50の時間ごとの、位置(重心位置)」(の履歴)を用いて、以下の式により、「作業者50の時間ごとの、速度ベクトルおよび加速度ベクトル」を計算する。すなわち、「x」を「時刻tにおける、作業者50の位置(重心位置)」とし、「v」を「時刻tにおける、作業者50の速度ベクトル」とし、「Δt」を「微小時間」として、vは、
(About the learning process)
The learning unit 114 calculates "the velocity vector and acceleration vector of the worker 50 at each time" by the following formula, using (the history of) "the position (center of gravity position) of the worker 50 at each time" stored in the human state history data 131. That is, assuming that "x t " is "the position (center of gravity position) of the worker 50 at time t", "v t " is "the velocity vector of the worker 50 at time t", and "Δt" is "an infinitesimal time", v t is expressed as follows:

Figure 0007462195000001
Figure 0007462195000001

と定義する。 is defined as:

また、「時刻tにおける、作業者50の加速度ベクトル」を示す「a」は、 Furthermore, "a t " indicating "the acceleration vector of the worker 50 at time t" is expressed as follows:

Figure 0007462195000002
Figure 0007462195000002

と定義する。 is defined as:

学習部114は、上述の数式1および2を用いて計算した、「時刻tにおける、作業者50の速度ベクトルvおよび加速度ベクトルa」と、「時刻tにおける、作業者50の位置(重心位置)x」について、図6の(A)に示す学習を行う。すなわち、学習部114は、時刻tにおける位置xおよび時刻tにおける速度ベクトルvの入力に対し時刻tの加速度ベクトルaの出力を学習する。学習部114は、例えば、DBTと呼ばれる学習アルゴリズムを用いた学習の結果として、予測用データを生成する。 The learning unit 114 performs learning as shown in Fig. 6A on "the velocity vector vt and acceleration vector at of the worker 50 at time t" and "the position (center of gravity position) xt of the worker 50 at time t " calculated using the above-mentioned formulas 1 and 2. That is, the learning unit 114 learns the output of the acceleration vector at at time t in response to the input of the position xt at time t and the velocity vector vt at time t . The learning unit 114 generates prediction data as a result of learning using, for example, a learning algorithm called DBT.

(人軌道予測処理について)
図6の(B)に示すように、人軌道予測部113は、例えばDBTを用いた学習により学習部114が生成した学習済モデル(予測用データ)を用いて、「時刻tにおける、作業者50の加速度ベクトルの予測値ap」を取得する。すなわち、人軌道予測部113は、予測用データ(学習済モデル)に、「時刻tにおける、作業者50の位置x」および「時刻tにおける、作業者50の速度ベクトルv」を入力して、「時刻tにおける、作業者50の加速度ベクトルの予測値ap」を取得する(第1予測処理)。そして、人軌道予測部113は、「時刻t+Δtにおける、作業者50の速度ベクトルvt+Δt」および「時刻t+Δtにおける、作業者50の位置xt+Δt」の各々を以下の式により計算する(第2予測処理)。すなわち、「x」を「時刻tにおける、作業者50の位置(重心位置)」とし、「v」を「時刻tにおける、作業者50の速度ベクトル」とし、「ap」を「時刻tにおける予測加速度ベクトル」とし、「Δt」を「微小時間」として、vt+Δtは、
(About human trajectory prediction processing)
As shown in FIG. 6B, the human trajectory prediction unit 113 obtains "a predicted value apt of the acceleration vector of the worker 50 at time t" using a trained model (prediction data) generated by the learning unit 114 by learning using DBT, for example. That is, the human trajectory prediction unit 113 inputs "the position xt of the worker 50 at time t" and "the velocity vector vt of the worker 50 at time t " into the prediction data (trained model) to obtain "a predicted value apt of the acceleration vector of the worker 50 at time t " (first prediction process). Then, the human trajectory prediction unit 113 calculates each of "the velocity vector vt+ Δt of the worker 50 at time t+Δt" and "the position xt+Δt of the worker 50 at time t+Δt " using the following formula (second prediction process). That is, assuming that "x t " is the "position (center of gravity) of the worker 50 at time t",""v t " is the "velocity vector of the worker 50 at time t",""apt" is the "predicted acceleration vector at time t"," and "Δt" is the "infinite time," v t + Δt is expressed as follows:

Figure 0007462195000003
Figure 0007462195000003

として計算される。 It is calculated as:

また、「時刻t+Δtにおける、作業者50の位置」を示す「xt+Δt」は、 Furthermore, "x t+Δt " indicating "the position of the worker 50 at time t+Δt" is expressed as follows:

Figure 0007462195000004
Figure 0007462195000004

として計算される。 It is calculated as:

人軌道予測部113は、第1予測処理および第2予測処理を繰り返すことによって、人軌道予測を、つまり、作業者50の位置(重心位置)の変化の軌跡の予測を行う。 The human trajectory prediction unit 113 repeats the first prediction process and the second prediction process to perform human trajectory prediction, that is, predict the trajectory of change in the position (center of gravity position) of the worker 50.

(未来干渉判定処理について)
図7は、干渉判定装置10が実行する未来干渉判定処理の一例を説明する図である。干渉判定装置10は、例えば、ISO/TC15066の5.5.4.2.3に規定される「安全距離Sp」との概念を用いて、未来干渉判定処理を実行する。安全距離Spの概念について、以下に概要を説明する。
(Future interference detection process)
7 is a diagram for explaining an example of a future interference detection process executed by the interference detection device 10. The interference detection device 10 executes the future interference detection process using the concept of a "safety distance Sp" defined in 5.5.4.2.3 of ISO/TC15066, for example. The concept of the safety distance Sp will be outlined below.

(安全距離Spについて)
或る時点(時刻t)において、センサ等により、その或る時点における「人の、速度ベクトル(v(t))および位置(x(t))」と、その或る時点における「ロボット(ロボット可動部)の、速度ベクトル(v(t))および位置(x(t))」とを取得する。時刻t時点における、ロボットの速度ベクトルv(t)および位置x(t)は、ロボットの制御情報を用いて算出してもよい。
(Regarding safety distance Sp)
At a certain point in time (time t0 ), a sensor or the like is used to obtain the "human's velocity vector ( vh ( t0 )) and position ( xh ( t0 ))" at that point in time, and the "robot's (robot moving part's) velocity vector ( vr ( t0 )) and position ( xr ( t0 ))" at that point in time. The robot's velocity vector vr ( t0 ) and position xr ( t0 ) at time t0 may be calculated using the robot's control information.

(t)とx(t)との差により、その或る時点の「人とロボットとの分離距離(Dr(t))」を算出する。また、v(t)とv(t)とにより、以下に示す安全距離計算公式を用いて、その或る時点における「人に接触する前にロボットが停止するための、所要の最短距離(最短安全許容距離(Sp(t)))」を算出する。そして、Dr(t)とSp(t)とを比較し、「Dr(t)がSp(t)よりも大きい」場合、人とロボットとは干渉しないと判定し、「Dr(t)がSp(t)以下である」場合、干渉すると判定をする。 The "separation distance (Dr( t0 ))" between the human and the robot at that certain point in time is calculated from the difference between xh ( t0 ) and xr ( t0 ). Furthermore, the "shortest distance required for the robot to stop before coming into contact with the human (shortest allowable safe distance ( Sp ( t0 )))" at that certain point in time is calculated from vh ( t0 ) and vr( t0 ) using the safety distance calculation formula shown below. Then, Dr( t0 ) is compared with Sp( t0 ), and if "Dr( t0 ) is greater than Sp( t0 )", it is determined that there will be no interference between the human and the robot, and if "Dr( t0 ) is equal to or less than Sp( t0 )", it is determined that there will be interference.

ISO/TC15066の5.5.4.2.3において、安全距離Spは、以下の安全距離計算公式により定義される。すなわち、或る時点(時刻t)における安全距離Sp(t)は、「Sp(t)=S+S+S+c+Z+Z」と規定されている。以下の説明において、或る時点(時刻t)は、「センサ(例えば、センサ40)が人(例えば、作業者50)を検知した時間(時刻)」とも言い換えることができる。また、以下の説明において、時刻tからT経過した「時刻t+T」において、ロボット(例えば、ロボット30)が停止動作を開始し始めるものとし、ロボットが停止するのはさらにTが経過した「時刻t+T+T」であるものとする。また、ロボットが停止動作を開始し始めてから、ロボットが停止するまでのロボットの速度ベクトルを、つまり、減速動作中のロボットの速度ベクトルを、「v(t)」と表わすものとする。減速動作中のロボットの速度ベクトルv(t)は、ロボットの制御情報を用いて算出してもよい。 In 5.5.4.2.3 of ISO/TC15066, the safety distance Sp is defined by the following safety distance calculation formula. That is, the safety distance Sp( t0 ) at a certain time (time t0 ) is defined as "Sp( t0 )= Sh + Sr + Ss +c+ Zd + Zr ". In the following description, the certain time (time t0 ) can also be rephrased as "the time (time) when a sensor (e.g., sensor 40) detects a person (e.g., worker 50)". In the following description, it is assumed that a robot (e.g., robot 30) starts to start a stopping operation at "time t0 + Tr ", which is Tr after time t0 , and that the robot stops at "time t0 + Tr + Ts ", which is Ts after a further time. Also, the velocity vector of the robot from when the robot starts to stop until the robot stops, that is, the velocity vector of the robot during the deceleration motion, is represented as " vs (t)". The velocity vector vs (t) of the robot during the deceleration motion may be calculated using the control information of the robot.

図7に示すように、上述の安全距離計算公式において、「S」は、「現時点(時刻t)からロボットの移動が停止する時点(t+T+T)までに、人が移動する距離」を示しており、つまり、 As shown in FIG. 7, in the above-mentioned safe distance calculation formula, "S h " indicates "the distance that a person will travel from the current time (time t 0 ) to the time (t 0 +T r +T s ) when the robot stops moving," that is,

Figure 0007462195000005
Figure 0007462195000005

である。 It is.

「S」は、「現時点(時刻t)からロボットが停止動作を開始する時点t+Tまでに、ロボットが移動する距離」を示しており、つまり、 "S r " indicates "the distance that the robot moves from the current time (time t 0 ) to the time t 0 +T r when the robot starts the stopping operation", that is,

Figure 0007462195000006
Figure 0007462195000006

である。 It is.

「S」は、「ロボットが停止動作を開始する時点t+Tからロボットの移動が停止する時点t+T+Tまでに、ロボットが移動する距離」を示しており、つまり、 "S s " indicates "the distance that the robot moves from time t 0 +T r when the robot starts its stopping motion to time t 0 +T r +T s when the robot stops moving", that is,

Figure 0007462195000007
Figure 0007462195000007

である。 It is.

また、上述の安全距離計算公式において、「c」は、「Depth penetration factor」と呼ばれる、人の中心(重心)等の検知位置から、その人の腕などの部分までの距離を示している。「Z」は「人体を検知するセンサの測定誤差」を示しており、「Z」は「ロボット制御における制御位置の誤差」を示している。 In the above-mentioned safe distance calculation formula, "c" indicates the distance from a detection position such as the center of a person (center of gravity) to a part of the person such as an arm, which is called the "depth penetration factor.""Z d " indicates the "measurement error of the sensor that detects the human body," and "Z r " indicates the "control position error in robot control."

安全距離Spの概念において、或る時点(時刻t)の分離距離Dr(t)と、或る時点における、人およびロボットの各々の速度ベクトル(v(t)およびv(t))から算出される最短安全許容距離Sp(t)との大小が判定される。時刻tにおける分離距離Dr(t)が、最短安全許容距離Sp(t)よりも大きいと、人とロボットとは干渉しないと判定され、Dr(t)がSp(t)以下であると、干渉すると判定される。 In the concept of safe distance Sp, a comparison is made between the separation distance Dr( t0 ) at a certain point in time (time t0 ) and the shortest safe allowable distance Sp( t0 ) calculated from the respective velocity vectors ( vh ( t0 ) and vr ( t0 )) of the human and robot at the certain point in time. If the separation distance Dr( t0 ) at time t0 is greater than the shortest safe allowable distance Sp( t0 ), it is determined that there will be no interference between the human and robot, and if Dr( t0 ) is equal to or less than Sp( t0 ), it is determined that there will be interference.

図7に例示される通り、分離距離Dr(t)と最短安全許容距離Sp(t)とが等しい場合、「ロボットの移動が停止する時点(t+T+T)における、人の位置(推定位置)」と、「ロボットの移動が停止する時点(t+T+T)における、ロボットの位置(推定位置)」との差(距離)は、「c+Z+Z」に一致することになる。図7に示すように、「ロボットの移動が停止する時点(t+T+T)における、人の推定位置」は、「人が、現時点(時刻t)の位置からSだけ移動した位置」である。また、「ロボットの移動が停止する時点における、ロボットの推定位置」は、「ロボットが、現時点(時刻t)の位置からS+Sだけ移動した位置」である。 As illustrated in Fig. 7, when the separation distance Dr( t0 ) is equal to the minimum safe allowable distance Sp( t0 ), the difference (distance) between "the position (estimated position) of the person at the time ( t0 + Tr + Ts ) when the robot stops moving" and "the position (estimated position) of the robot at the time ( t0 + Tr + Ts ) when the robot stops moving" is equal to " c +Zd+ Zr ". As illustrated in Fig. 7, "the estimated position of the person at the time ( t0 + Tr + Ts ) when the robot stops moving" is "the position where the person has moved by Sh from the position at the current time (time t0 )". Also, "the estimated position of the robot at the time when the robot stops moving" is "the position where the robot has moved by Sr + Ss from the position at the current time (time t0 )".

ここで、c、Z、Zの各々を予め求めておくことにより、「c+Z+Z」は所定値として扱うことができる。つまり、安全距離Spの概念は、ロボットの移動停止時点(t+T+T)における、人の推定位置とロボットの推定位置との距離が、所定値(c+Z+Z)以下(以内)となると、人とロボットとが干渉すると判定するものと理解することができる。 Here, by calculating c, Zd , and Zr in advance, "c+ Zd + Zr " can be treated as a predetermined value. In other words, the concept of the safe distance Sp can be understood as determining that there will be interference between the human and the robot when the distance between the estimated position of the human and the estimated position of the robot at the time when the robot stops moving ( t0 + Tr + Ts ) is equal to or less than a predetermined value (c+ Zd + Zr ).

(干渉判定装置への適用)
干渉判定装置10は、未来(t+Δt)における「作業者50の位置および速度ベクトル」と、未来における「ロボット30の位置および速度ベクトル」とを用いて、未来における最短安全許容距離Sp(t+Δt)を算出する。そして、干渉判定装置10は、未来(t+Δt)における最短安全許容距離Sp(t+Δt)を用いて、未来における作業者50とロボット30との干渉の可能性を判定する。
(Application to interference detection device)
The interference detection device 10 calculates the shortest safe allowable distance Sp( t0 +Δt) in the future using the "position and velocity vector of the worker 50" in the future ( t0 +Δt) and the "position and velocity vector of the robot 30" in the future. Then, the interference detection device 10 uses the shortest safe allowable distance Sp( t0 +Δt) in the future ( t0 +Δt) to determine the possibility of interference between the worker 50 and the robot 30 in the future.

具体的には、先ず、人軌道予測部113が、「現時点(つまり、時刻t)の、作業者50の位置および速度ベクトル」を、学習部114が生成した予測用データに入力して、「未来(t+Δt)における、作業者50の位置および速度ベクトル」を予測する。また、ロボット状態取得部121は、制御情報を解析して、未来(t+Δt)における「ロボット30の、位置および速度ベクトル」を取得する。 Specifically, first, the human trajectory prediction unit 113 inputs the "position and velocity vector of the worker 50 at the current time (i.e., time t0 )" into the prediction data generated by the learning unit 114, and predicts the "position and velocity vector of the worker 50 in the future ( t0 + Δt)". In addition, the robot state acquisition unit 121 analyzes the control information to acquire the "position and velocity vector of the robot 30" in the future ( t0 + Δt).

次に、未来干渉判定部122は、未来(t+Δt)における、作業者50およびロボット30の各々の「位置および速度ベクトル」から、ロボットの移動停止時点(t+Δt+T+T)における、作業者50およびロボット30の各々の位置を算出する。未来干渉判定部122は、未来における、作業者50およびロボット30の各々の「位置および速度ベクトル」から、安全距離計算公式により、ロボットの移動停止時点における、作業者50およびロボット30の各々の推定位置を算出する。未来干渉判定部122は、ロボットの移動停止時点(t+Δt+T+T)における、作業者50の推定位置とロボット30の推定位置との距離が、所定値(c+Z+Z)以下であると、人とロボットとが干渉すると判定する。 Next, the future interference determination unit 122 calculates the positions of the worker 50 and the robot 30 at the time when the robot stops moving ( t0 +Δt+ Tr + Ts ) from the "position and velocity vectors" of the worker 50 and the robot 30 in the future (t0+Δt). The future interference determination unit 122 calculates the estimated positions of the worker 50 and the robot 30 at the time when the robot stops moving using a safe distance calculation formula from the "position and velocity vectors" of the worker 50 and the robot 30 in the future. The future interference determination unit 122 determines that the human and robot will interfere with each other if the distance between the estimated position of the worker 50 and the estimated position of the robot 30 at the time when the robot stops moving ( t0 +Δt+ Tr + Ts ) is equal to or less than a predetermined value (c+ Zd + Zr ).

未来干渉判定部122により、人とロボットとが干渉すると判定されると、制御指示調整部123は、両者の干渉を回避するよう指示する指示信号を生成し、例えば、未来における最短安全許容距離Sp(t+Δt)を小さくするよう指示する指示信号を生成する。言い換えれば、制御指示調整部123は、ロボット30の移動速度および軌道の少なくとも一方を調整して、ロボットの移動停止時点(t+Δt+T+T)における、ロボット30の推定位置を修正する指示信号を生成する。制御指示調整部123は、ロボットの移動停止時点(t+Δt+T+T)における、作業者50の推定位置とロボット30の推定位置との距離を、所定値(c+Z+Z)よりも大きくするための指示信号を、コントローラ20に送信する。 When the future interference determination unit 122 determines that there will be interference between the human and the robot, the control instruction adjustment unit 123 generates an instruction signal to avoid the interference between the two, for example, to reduce the shortest safe allowable distance Sp ( t0 +Δt) in the future. In other words, the control instruction adjustment unit 123 generates an instruction signal to adjust at least one of the moving speed and trajectory of the robot 30 to correct the estimated position of the robot 30 at the time when the robot stops moving ( t0 +Δt+ Tr + Ts ) . The control instruction adjustment unit 123 transmits an instruction signal to the controller 20 to make the distance between the estimated position of the worker 50 and the estimated position of the robot 30 at the time when the robot stops moving ( t0 + Δt + Tr + Ts ) greater than a predetermined value (c+Zd+Zr).

干渉判定装置10は、各時点で、「各時点の未来における、作業者50およびロボット30の各々の、位置および速度ベクトル」を用いて、作業者50とロボット30との干渉の可能性を判定する。そして、干渉の可能性があると判定した時点で、干渉判定装置10は、例えばロボット30の移動速度および軌道の少なくとも一方を調整して、未来における最短安全許容距離Sp(t+Δt)を小さくさせる。 The interference detection device 10 uses "the position and velocity vectors of the worker 50 and the robot 30 in the future at each time point" to determine the possibility of interference between the worker 50 and the robot 30. Then, when it is determined that there is a possibility of interference, the interference detection device 10 adjusts, for example, at least one of the moving speed and trajectory of the robot 30 to reduce the shortest safe allowable distance Sp( t0 +Δt) in the future.

図7を用いて説明してきた「安全距離Sp」との概念、および、この概念の干渉判定装置10への適用は、以下のように整理することができる。すなわち、干渉判定装置10において、未来干渉判定部122は、現時点(t)から所定時間Δtが経過した時点(t+Δt時点)から、ロボット30が移動停止動作を開始し、ロボット30の移動が停止するまでの時間における、作業者50の推定位置とロボット30の推定位置との距離が所定値以内となる場合に、作業者50とロボット30との接触が生じる可能性があると判定する。 The concept of the "safe distance Sp" described with reference to Fig. 7 and the application of this concept to the interference detection device 10 can be summarized as follows: In other words, in the interference detection device 10, the future interference detection unit 122 determines that there is a possibility of contact between the worker 50 and the robot 30 if the distance between the estimated position of the worker 50 and the estimated position of the robot 30 during the time from the current time ( t0 ) (time t0 + Δt) when a predetermined time Δt has elapsed from the present time (t0) until the robot 30 starts its movement stopping operation and stops moving is within a predetermined value.

前記の構成によれば、干渉判定装置10は、現時点tから所定時間Δtが経過した時点(t+Δt時点)から、ロボット30の移動が停止する時点までのいずれかの時点において、作業者50の推定位置とロボット30の推定位置との距離が所定値以内となると、作業者50とロボット30との接触が生じる可能性があると判定する。 According to the above-described configuration, the interference determination device 10 determines that there is a possibility of contact between the worker 50 and the robot 30 when the distance between the estimated position of the worker 50 and the estimated position of the robot 30 falls within a predetermined value at any time from the time point t0 after a predetermined time Δt has elapsed ( t0 + Δt) until the time point at which the movement of the robot 30 stops.

つまり、干渉判定装置10は、ロボット30の移動が停止した時点での作業者50の推定位置とロボット30の推定位置との距離だけでなく、その途中までの各時点における作業者50の推定位置とロボット30の推定位置との距離を用いて、前述の判定を行う。 In other words, the interference determination device 10 makes the above-mentioned determination using not only the distance between the estimated position of the worker 50 and the estimated position of the robot 30 at the time when the movement of the robot 30 stops, but also the distance between the estimated position of the worker 50 and the estimated position of the robot 30 at each point along the way.

したがって、干渉判定装置10は、「現時点tから所定時間Δtが経過した時点であるt+Δt時点」から、「ロボット30の移動が停止する時点」までの各時点における接触の可能性を考慮した判定を行うことができるとの効果を奏する。 Therefore, the interference determination device 10 has the effect of being able to make a determination that takes into account the possibility of contact at each point in time from "the point in time t 0 + Δt, which is the point in time when a predetermined time Δt has elapsed from the current point in time t 0" to "the point in time when the movement of the robot 30 stops."

(指示信号について)
制御指示調整部123は、未来干渉判定部122によって「作業者50とロボット30とが接触し得る」と判定されると、作業者50とロボット30との干渉を回避するよう指示する指示信号を、コントローラ20に送信する。制御指示調整部123は、以下のような指示信号をコントローラ20に送信することによって、干渉回避動作によるロボット30の生産性低下を回避・抑制してもよい。
(Regarding instruction signals)
When the future interference determination unit 122 determines that "the worker 50 and the robot 30 may come into contact with each other," the control instruction adjustment unit 123 transmits an instruction signal to the controller 20 to instruct the controller 20 to avoid interference between the worker 50 and the robot 30. The control instruction adjustment unit 123 may avoid or suppress a decrease in productivity of the robot 30 due to an interference avoidance operation by transmitting an instruction signal such as the following to the controller 20.

(生産性を向上するための調整)
干渉判定装置10は、「未来において、接触が発生し得る」との判定を「t=t」の時点において下した場合、未来における接触を回避するために、ロボット30の速度および軌道の少なくとも一方の調整を、「t=t」の時点において実行する。
(Adjustments to improve productivity)
If the interference detection device 10 determines at time "t= t0 " that "contact may occur in the future," it adjusts at least one of the speed and trajectory of the robot 30 at time "t= t0 " in order to avoid contact in the future.

干渉判定装置10は、「t=t」の時点での調整後に、「未来において、接触が発生し得る」との判定を「t=t+t’」の時点において下した場合、未来における接触を回避するために、ロボット30の速度および軌道の少なくとも一方の調整を、「t=t+t’」の時点で実行する。 If the interference detection device 10 determines at time "t=t 0 +t'" that "contact may occur in the future" after adjustment at time "t=t 0", it adjusts at least one of the speed and trajectory of the robot 30 at time "t= t 0 + t'" in order to avoid contact in the future.

干渉判定装置10は、「t=t」の時点での調整後に、「未来において、接触は発生しない」との判定を「t=t+t’」の時点において下した場合、生産性を向上するための調整を、ロボット30の速度および軌道の少なくともについて、「t=t+t’」の時点で実行する。生産性を向上するための調整とは、例えば、ロボット30の速度(加速)および軌道の少なくとも一方を、「t=t」の時点での調整の前の状態に戻す調整である。 If the interference detection device 10 determines at time "t=t 0 +t'" that "contact will not occur in the future" after the adjustment at time "t=t 0 ", it executes adjustment to improve productivity at time "t= t 0 +t'" for at least the speed and trajectory of the robot 30. An adjustment to improve productivity is, for example, an adjustment to return at least one of the speed (acceleration) and trajectory of the robot 30 to the state before the adjustment at time "t=t 0 ".

すなわち、干渉判定装置10において、制御指示調整部123による前記調整指示の後に、未来干渉判定部122が、作業者50とロボット30との接触が生じる可能性がないと判定した場合に、制御指示調整部123は、コントローラ20に対して、ロボット30の移動速度および軌道の少なくともいずれか一方を、前記調整指示が行われる前の状態に戻す指示を示す前記指示信号を送信してもよい。 In other words, in the interference determination device 10, if the future interference determination unit 122 determines that there is no possibility of contact between the worker 50 and the robot 30 after the adjustment instruction is given by the control instruction adjustment unit 123, the control instruction adjustment unit 123 may transmit to the controller 20 the instruction signal indicating an instruction to return at least one of the movement speed and trajectory of the robot 30 to the state before the adjustment instruction was given.

前記の構成によれば、干渉判定装置10は、前記調整指示の後に、作業者50とロボット30との接触が生じる可能性がなくなると、ロボット30の移動速度および軌道の少なくとも一方を、調整の前の状態に戻すように、コントローラ20に指示する。したがって、干渉判定装置10は、前記調整指示の後に、作業者50とロボット30との接触が生じる可能性がなくなると、ロボット30の移動速度および軌道の少なくとも一方を、調整の前の状態に戻すことができるとの効果を奏する。 According to the above configuration, when there is no possibility of contact between the worker 50 and the robot 30 after the adjustment instruction, the interference detection device 10 instructs the controller 20 to return at least one of the movement speed and trajectory of the robot 30 to the state before the adjustment. Therefore, the interference detection device 10 has the effect of being able to return at least one of the movement speed and trajectory of the robot 30 to the state before the adjustment when there is no possibility of contact between the worker 50 and the robot 30 after the adjustment instruction.

(距離に応じた調整内容)
「未来において、接触が発生し得る」と判定した場合であっても、ロボット30の動作を停止するのではなく、ロボット30の速度および軌道の少なくとも一方を調整すれば接触を回避できるときには、干渉判定装置10は、ロボット30の動作を停止させない。干渉判定装置10は、ロボット30の速度および軌道の少なくとも一方を調整して、ロボット30と作業者50との接触を回避する。
(Adjustments according to distance)
Even when it is determined that "contact may occur in the future," if the contact can be avoided by adjusting at least one of the speed and trajectory of the robot 30 rather than stopping the operation of the robot 30, the interference detection device 10 does not stop the operation of the robot 30. The interference detection device 10 adjusts at least one of the speed and trajectory of the robot 30 to avoid contact between the robot 30 and the worker 50.

ロボット30の速度および軌道の少なくとも一方を調整しただけでは接触を回避できないと判定した場合、干渉判定装置10は、ロボット30の動作を停止させる。例えば、ロボット30と作業者50との距離が予め設定しておいた制限距離以下となって、ロボット30の速度および軌道の少なくとも一方を調整しただけでは接触を回避できないと判定した場合、干渉判定装置10は、ロボット30の動作を停止させる。 If it is determined that contact cannot be avoided by simply adjusting at least one of the speed and trajectory of the robot 30, the interference detection device 10 stops the operation of the robot 30. For example, if the distance between the robot 30 and the worker 50 falls below a preset limit distance and it is determined that contact cannot be avoided by simply adjusting at least one of the speed and trajectory of the robot 30, the interference detection device 10 stops the operation of the robot 30.

すなわち、干渉判定装置10において、未来干渉判定部122が、作業者50とロボット30との接触が生じる可能性を示す可能性評価値が第1の閾値以上であると判定した場合に、制御指示調整部123は、コントローラ20に対して、ロボット30の移動速度および軌道の少なくともいずれか一方の調整指示を示す前記指示信号を送信する。また、前記可能性評価値が、前記第1の閾値よりも高い第2の閾値以上となったと未来干渉判定部122が判定した場合に、制御指示調整部123は、コントローラ20に対して、ロボット30を停止させる指示を示す前記指示信号を送信する。 That is, in the interference determination device 10, when the future interference determination unit 122 determines that the possibility evaluation value indicating the possibility of contact between the worker 50 and the robot 30 is equal to or greater than a first threshold, the control instruction adjustment unit 123 transmits to the controller 20 the instruction signal indicating an instruction to adjust at least one of the movement speed and trajectory of the robot 30. Also, when the future interference determination unit 122 determines that the possibility evaluation value is equal to or greater than a second threshold that is higher than the first threshold, the control instruction adjustment unit 123 transmits to the controller 20 the instruction signal indicating an instruction to stop the robot 30.

前記の構成によれば、干渉判定装置10は、前記可能性評価値が第1の閾値以上であると、ロボット30の移動速度および軌道の少なくとも一方の調整を指示し、前記可能性評価値が第2の閾値以上となると、ロボット30の停止を指示する。つまり、干渉判定装置10は、作業者50とロボット30との接触が生じる可能性に応じて、ロボット30の移動を制御する。作業者50とロボット30との接触が生じる可能性がそれほど高くない(つまり、第1の閾値以上で第2の閾値未満である)場合、干渉判定装置10は、ロボット30を停止させずに、ロボット30の移動速度および軌道の少なくともいずれか一方を調整する。作業者50とロボット30との接触が生じる可能性が第2の閾値以上である場合、干渉判定装置10は、ロボット30を停止させる。 According to the above configuration, when the possibility evaluation value is equal to or greater than the first threshold, the interference detection device 10 instructs the adjustment of at least one of the movement speed and trajectory of the robot 30, and when the possibility evaluation value is equal to or greater than the second threshold, instructs the stopping of the robot 30. In other words, the interference detection device 10 controls the movement of the robot 30 according to the possibility of contact between the worker 50 and the robot 30. When the possibility of contact between the worker 50 and the robot 30 is not very high (i.e., equal to or greater than the first threshold and less than the second threshold), the interference detection device 10 adjusts at least one of the movement speed and trajectory of the robot 30 without stopping the robot 30. When the possibility of contact between the worker 50 and the robot 30 is equal to or greater than the second threshold, the interference detection device 10 stops the robot 30.

したがって、干渉判定装置10は、接触が生じる可能性に応じて、接触を回避するに必要十分な動作をロボット30に実行させるので、接触を回避しつつ、生産効率およびスペース効率の低下を抑制することができるとの効果を奏する。 The interference determination device 10 therefore causes the robot 30 to perform the necessary and sufficient actions to avoid contact depending on the possibility of contact occurring, thereby achieving the effect of preventing a decrease in production efficiency and space efficiency while avoiding contact.

(制御システムの適用環境について)
図8は、制御システム1を適用する環境の一例を示す図である。制御システム1を適用する環境として、例えば、図8に示すような、作業者50とロボット30とがそれぞれ机の前で作業し、作業の成果物を手前のベルトコンベアに流す状況を想定することができる。図8に示す例では、通路と作業領域との間の距離が1.6m程度であって、ベルトコンベアが存在すると仮定し、また、作業者50が立って作業できるように机の高さを1mと想定した。図8に示す例では、作業者50を挟むように、作業者50の両脇にセンサ40を配置することによって、センサ40によって検出することのできない作業者50の領域をできるだけ小さくした。
(Regarding the application environment of the control system)
FIG. 8 is a diagram showing an example of an environment to which the control system 1 is applied. As an environment to which the control system 1 is applied, for example, as shown in FIG. 8, a situation can be assumed in which a worker 50 and a robot 30 work in front of a desk and send the results of their work down a conveyer belt in front. In the example shown in FIG. 8, it is assumed that the distance between the passage and the work area is about 1.6 m, a conveyer belt is present, and the height of the desk is 1 m so that the worker 50 can work while standing. In the example shown in FIG. 8, the sensors 40 are arranged on both sides of the worker 50 so as to sandwich the worker 50, thereby making the area of the worker 50 that cannot be detected by the sensors 40 as small as possible.

センサ40の配置に際しては、センサ40を配置する高さについて、以下の点に留意した。すなわち、センサ40を作業者50の頭の高さに配置するのは、センサ40のレーザなどの測定波が作業者50の目に入射する可能性があるため、望ましくない。センサ40を作業者50の腰の高さに配置するのは、体幹計算(つまり、重心位置の算出)の結果が作業者50の状態に左右されにくいため、望ましい。センサ40を作業者50の太ももの高さに配置するのは、太ももの開き具合により体幹計算の結果がずれるため、望ましくない。センサ40を作業者50のくるぶしの高さに配置するのは、作業者50の足の幅(足をどの程度開いているか)によって体幹計算の結果がずれるため、望ましくない。 When placing the sensor 40, the following points were taken into consideration regarding the height at which the sensor 40 is placed. That is, placing the sensor 40 at the height of the head of the worker 50 is undesirable because the measurement waves from the laser or the like of the sensor 40 may be incident on the eyes of the worker 50. Placing the sensor 40 at the height of the waist of the worker 50 is desirable because the results of the core calculation (i.e., the calculation of the center of gravity position) are less likely to be affected by the state of the worker 50. Placing the sensor 40 at the height of the thighs of the worker 50 is undesirable because the results of the core calculation are distorted depending on the extent to which the thighs are spread apart. Placing the sensor 40 at the height of the ankles of the worker 50 is undesirable because the results of the core calculation are distorted depending on the width of the feet of the worker 50 (how far apart the feet are).

(重心の算出方法について)
図9は、センサ40の計測結果を利用して作業者の重心を算出する方法の一例を説明する図である。図9において、星印は作業者50の重心の位置(重心位置)を示しており、星印の周囲を囲む各点は、測域データが示す作業者50の存在位置(作業者50の存在を示す点)を示している。人状態情報生成部112は、図9に示すような作業者50の存在を示す点群から、公知の重心算出方法を利用して、星印で示す作業者50の重心位置を算出する。
(How to calculate the center of gravity)
Fig. 9 is a diagram for explaining an example of a method for calculating the center of gravity of a worker using the measurement results of the sensor 40. In Fig. 9, a star symbol indicates the position of the center of gravity of the worker 50 (center of gravity position), and each point surrounding the star symbol indicates the presence position of the worker 50 (points indicating the presence of the worker 50) indicated by the range measurement data. The human state information generating unit 112 calculates the center of gravity position of the worker 50 indicated by the star symbol from the point cloud indicating the presence of the worker 50 as shown in Fig. 9 using a known center of gravity calculation method.

(学習処理および人軌道予測処理についての留意点)
人軌道予測処理、および、人軌道予測処理の実行に際して利用する学習済モデルを生成する学習処理について、干渉判定装置10は、具体的には以下に示す処理を実行する。人状態情報生成部112は、「作業者50の時間ごとの、重心位置(体幹位置)」を取得し、この「作業者50の時間ごとの、重心位置(体幹位置)」の履歴から、学習部114が学習する学習用データが生成される。学習部114は、「作業者50の時間ごとの、重心位置(体幹位置)」の履歴から、「学習用フィルタ前データ(つまり、フィルタ処理の実行前の学習用データ)」を生成し、この学習用フィルタ前データを整形して、「学習用フィルタ済データ」を取得する。そして、学習部114は、この学習用フィルタ済データについて学習を行い、学習済モデルとして、「予測用フィルタ前データ」を生成する。人軌道予測部113は、「予測用フィルタ前データ」を整形して「予測用フィルタ済データ」を取得し、この「予測用フィルタ済データ」を用いて、「未来の、作業者50の重心の位置および速度ベクトル」を予測する。以下、図10および図11の各々を用いて、学習用データおよび予測用データの各々について、整形処理(フィルタ処理)を説明する。
(Notes on learning process and human trajectory prediction process)
Concerning the human trajectory prediction process and the learning process for generating a learned model used in executing the human trajectory prediction process, the interference determination device 10 specifically executes the processes shown below. The human state information generation unit 112 acquires the "center of gravity position (trunk position) of the worker 50 at each time" and generates learning data for the learning unit 114 to learn from the history of the "center of gravity position (trunk position) of the worker 50 at each time". The learning unit 114 generates "learning unfiltered data (i.e., learning data before execution of filter processing)" from the history of the "center of gravity position (trunk position) of the worker 50 at each time" and shapes the learning unfiltered data to acquire "learning filtered data". Then, the learning unit 114 learns from the learning filtered data and generates "prediction unfiltered data" as a learned model. The human trajectory prediction unit 113 shapes the "prediction unfiltered data" to acquire "prediction filtered data", and predicts "future position and velocity vector of the center of gravity of the worker 50" using the "prediction filtered data". Hereinafter, the shaping process (filter process) for each of the learning data and the prediction data will be described with reference to FIGS. 10 and 11. FIG.

(学習用データの整形について)
図10は、学習処理の前に実行する学習用データの整形方法の一例を示す図である。学習部114は、以下の2つの方針に従って、学習用データの整形を実行する。第一に、学習部114は、学習用データの整形に際して、元のデータ(つまり、学習用フィルタ前データ)にできるだけ沿うような波形を、「学習用フィルタ済データ」として生成する。
(Regarding the formatting of learning data)
10 is a diagram showing an example of a method for shaping learning data executed before the learning process. The learning unit 114 performs shaping of the learning data according to the following two policies. First, when shaping the learning data, the learning unit 114 generates, as "learning filtered data", a waveform that closely resembles the original data (i.e., learning unfiltered data) as much as possible.

また、図10の(A)に示すように、「実測値の加速度(つまり、フィルタ前の加速度)」は、ほぼノイズのようなデータとなる。そこで、第二に、学習部114は、図10の(B)に示す「フィルタ済の加速度」を、図10の(B)に示す「フィルタ済の速度」から計算して取得する。 Furthermore, as shown in FIG. 10A, the "actual acceleration (i.e., acceleration before filtering)" becomes almost noise-like data. Therefore, secondly, the learning unit 114 calculates and obtains the "filtered acceleration" shown in FIG. 10B from the "filtered speed" shown in FIG. 10B.

学習部114は、例えばバッチ学習をする場合、未来のデータも用いて、重み付け移動平均フィルタを適用して、学習用フィルタ前データから学習用フィルタ済データを生成する。学習部114は、生成した学習用フィルタ済データを学習用データとして、これを学習する。 When performing batch learning, for example, the learning unit 114 uses future data as well to apply a weighted moving average filter and generate filtered learning data from the unfiltered learning data. The learning unit 114 uses the generated filtered learning data as learning data and learns from it.

(予測用データの整形について)
図11は、学習処理によって生成した予測用データの整形方法の一例を示す図である。人軌道予測部113は、以下の2つの方針に従って、予測用データの整形を実行する。第一に、人軌道予測部113は、リアルタイムで予測を実行するため、過去のデータ(現時点よりも前の予測用データ)のみを用いる。
(Regarding data formatting for prediction)
11 is a diagram showing an example of a method for shaping prediction data generated by a learning process. The human trajectory prediction unit 113 performs shaping of prediction data according to the following two policies. First, the human trajectory prediction unit 113 performs prediction in real time, so it uses only past data (prediction data before the present time).

また、図11の(A)に示すように、「フィルタ前の加速度」は、ほぼノイズのようなデータとなる。そこで、第二に、人軌道予測部113は、図11の(B)に示す「フィルタ済の加速度」を、図11の(B)に示す「フィルタ済の速度」から計算して取得する。 Furthermore, as shown in FIG. 11(A), the "acceleration before filtering" becomes almost noise-like data. Therefore, secondly, the human trajectory prediction unit 113 calculates and obtains the "filtered acceleration" shown in FIG. 11(B) from the "filtered velocity" shown in FIG. 11(B).

人軌道予測部113は、学習部114による学習用データの整形と同様に、重み付け移動平均フィルタを適用して、予測用フィルタ前データから予測用フィルタ済データを生成する。人軌道予測部113は、生成した予測用フィルタ済データを学習済モデルとして用いて、「現在の、作業者50の重心の位置および速度ベクトル」を入力して、「未来の、作業者50の重心の位置および速度ベクトル」を予測する。 The human trajectory prediction unit 113 applies a weighted moving average filter to generate filtered prediction data from unfiltered prediction data, similar to the shaping of learning data by the learning unit 114. The human trajectory prediction unit 113 uses the generated filtered prediction data as a learned model, inputs the "current position and velocity vector of the center of gravity of the worker 50", and predicts the "future position and velocity vector of the center of gravity of the worker 50".

(人軌道予測処理の精度について)
工場等の生産現場では主に反復動作が行われると考えられるため、簡単な反復動作を予測対象として、干渉判定装置10の実行する人軌道予測処理について、予測精度を実験によって検証した。具体的には、「1分間に30往復程度、その場で体を左右に揺らし、体幹(重心)の移動範囲は約30cm」という内容の反復動作について、実験を行った。
(Accuracy of human trajectory prediction processing)
Since repetitive motions are considered to be the main activity in production sites such as factories, a simple repetitive motion was set as the prediction target, and the prediction accuracy of the human trajectory prediction process executed by the interference determination device 10 was verified through experiments. Specifically, an experiment was conducted on the repetitive motion of "swaying the body from side to side on the spot about 30 times per minute, with the range of movement of the trunk (center of gravity) being about 30 cm."

図12は、干渉判定装置10が実行する人軌道予測処理の精度を示す図であり、特に、0秒時点での予測用データから2秒先まで予測した結果の抜粋を示している。図12に示すように、ヒト位置予測結果が約0.5秒あたりまでは高精度な予測ができていることを確認することができた。 Figure 12 shows the accuracy of the human trajectory prediction process executed by the interference determination device 10, and in particular shows an excerpt of the results of prediction up to 2 seconds ahead based on prediction data at 0 seconds. As shown in Figure 12, it was confirmed that highly accurate predictions were possible for the human position prediction results up to approximately 0.5 seconds.

図13は、干渉判定装置10が実行する人軌道予測処理の精度を示す、図12とは別の図である。具体的には、図13は、予測モデル(関数)の精度の確認方法として、クロスバリデーションを実施した場合の結果を示している。すなわち、先ず、センサ40によって測定したデータを、トレーニングセットとテストセットとに分けた。次に、トレーニングセットを用いて構築した予測モデル(関数)に、テストセットの説明変数を代入して、目的変数の計算値を取得した。そして、取得した計算値と、テストセットの目的変数の測定値とを比較した。その際、予測値と実測値との絶対誤差を計算し、予測結果の数だけ平均を計算した。 Figure 13 is a different figure from Figure 12, showing the accuracy of the human trajectory prediction process executed by the interference determination device 10. Specifically, Figure 13 shows the results when cross-validation was performed as a method for confirming the accuracy of the prediction model (function). That is, first, the data measured by the sensor 40 was divided into a training set and a test set. Next, the explanatory variables of the test set were substituted into the prediction model (function) constructed using the training set to obtain the calculated value of the objective variable. The obtained calculated value was then compared with the measured value of the objective variable of the test set. At that time, the absolute error between the predicted value and the actual measured value was calculated, and the average was calculated for the number of prediction results.

図12に示すのと同様に、図13に示す検証結果においても、ヒト位置予測結果が約0.5秒あたりまでは高精度な予測ができていることを確認することができた。 As shown in Figure 12, the verification results shown in Figure 13 also confirmed that highly accurate human position prediction was possible up to about 0.5 seconds.

§4.変形例
(人位置検出方法について)
図14は、図8に例示したセンサ40の配置例とは異なる、センサ40の配置例を示す図である。図8に例示したように、複数または単数のセンサ40を作業者50の近傍に設置してもよいし、図14の(A)に例示するように、複数または単数のセンサ40をロボット30に設置してもよい。また、図14の(B)Bに例示するように、複数または単数のセンサ40を生産現場等の天井に設置してもよい。
§4. Modification (Human position detection method)
Fig. 14 is a diagram showing an example of the arrangement of the sensor 40, which is different from the example of the arrangement of the sensor 40 shown in Fig. 8. As shown in Fig. 8, a plurality or a single sensor 40 may be installed near the worker 50, or as shown in Fig. 14(A), a plurality or a single sensor 40 may be installed on the robot 30. Also, as shown in Fig. 14(B), a plurality or a single sensor 40 may be installed on the ceiling of a production site or the like.

(学習および人軌道予測について)
これまで、人軌道予測部113が、学習部114による作業者50の状態履歴の学習の結果を用いて、「現在の、作業者50の重心の位置および速度ベクトル」から、「未来の、作業者50の重心の位置および速度ベクトル」を予測する例を説明してきた。しかしながら、「未来の、作業者50の重心の位置および速度ベクトル」を予測するのに、学習部114による学習の結果を用いることは、人軌道予測部113にとって必須ではない。
(Learning and human trajectory prediction)
So far, an example has been described in which the human trajectory prediction unit 113 predicts "future position and velocity vector of the center of gravity of the worker 50" from "current position and velocity vector of the center of gravity of the worker 50" by using the result of learning of the state history of the worker 50 by the learning unit 114. However, it is not essential for the human trajectory prediction unit 113 to use the result of learning by the learning unit 114 to predict "future position and velocity vector of the center of gravity of the worker 50".

例えば、人軌道予測部113は、単純予測によって、つまり、「現在の、作業者50の速度ベクトル」が不変であると想定して、「未来の、作業者50の位置および速度ベクトル」を予測してもよい。 For example, the human trajectory prediction unit 113 may predict the "future position and velocity vector of the worker 50" by simple prediction, that is, by assuming that the "current velocity vector of the worker 50" remains unchanged.

また、学習部114による作業者50の状態履歴の学習について、学習用データは図6の(A)に示すものに限られるものではない。図15に、学習部114が学習する学習用データの例を示す。 In addition, the learning data used by the learning unit 114 to learn the state history of the worker 50 is not limited to that shown in FIG. 6(A). FIG. 15 shows an example of the learning data that the learning unit 114 learns.

図15は、干渉判定装置10が学習する学習用データの例を示す図である。図15において、「x」は「人(作業者50)の重心の位置(重心位置)」を、「v」は「人(作業者50)の重心の速度」を、「a」は「人(作業者50)の重心の加速度」を示している。また、「t」は「現在時刻」を、「c」は「時刻tまでに人が停止した時間」を示している。図15に示す表において、各データは、一次元ないし二次元のデータとする。図15において、複数時刻のデータを扱っているパターンではサンプリング間隔は線形だけでなく非線形な場合もあり、また、入力と出力とのサンプリング間隔が異なるパターンもある。図15に示す表における各データは、例えば、重み付き移動平均による整形データであるものとする。 Figure 15 is a diagram showing an example of learning data that the interference detection device 10 learns. In Figure 15, "x" indicates the "position of the center of gravity of the person (worker 50) (center of gravity position)," "v" indicates the "velocity of the center of gravity of the person (worker 50)," and "a" indicates the "acceleration of the center of gravity of the person (worker 50)." Also, "t" indicates the "current time," and "c" indicates the "time the person stopped by time t." In the table shown in Figure 15, each piece of data is one-dimensional or two-dimensional data. In Figure 15, in a pattern that handles data from multiple times, the sampling interval may be not only linear but also nonlinear, and there are also patterns in which the sampling intervals for input and output are different. Each piece of data in the table shown in Figure 15 is, for example, shaped data using a weighted moving average.

図15に示すように、学習部114は、各時点における、作業者50の位置x(t)、速度ベクトルv(t)、および、加速度ベクトルa(t)の少なくとも1つの履歴を学習する。図15には、学習用モデルについて、作業者50の各時点における位置、速度ベクトル、および、加速度ベクトルの少なくとも1つの履歴(「現時点の、位置、速度ベクトル、および、加速度ベクトルの少なくとも2つ」を含む)を入力とする例が示されている。同様に、図15には、学習用モデルについて、「作業者50の各時点における位置の履歴」または「現時点の加速度ベクトル」を出力とする例が示されている。 As shown in Fig. 15, the learning unit 114 learns at least one history of the position xh (t), velocity vector vh (t), and acceleration vector ah (t) of the worker 50 at each time point. Fig. 15 shows an example of a learning model in which at least one history of the position, velocity vector, and acceleration vector of the worker 50 at each time point (including "at least two of the position, velocity vector, and acceleration vector at the current time point") is input. Similarly, Fig. 15 shows an example of a learning model in which "the history of the position of the worker 50 at each time point" or "the acceleration vector at the current time point" is output.

前述の通り、学習部114は、例えば、作業者50の現在位置および現在速度ベクトルの少なくともいずれか一方を入力とし、作業者50の加速度またはその後の位置を出力とする学習用データについて、学習を行う。 As described above, the learning unit 114 learns learning data that, for example, takes at least one of the current position and the current velocity vector of the worker 50 as input and outputs the acceleration or the subsequent position of the worker 50.

ただし、学習部114の行う学習はこれに限られるものではない。図15に例示するように、学習部114は、「作業者50(対象物)の、現時点までの位置の変化を示す情報」を入力とし、「作業者50の、未来における位置の変化を示す情報」を出力とする学習データを学習すればよい。 However, the learning performed by the learning unit 114 is not limited to this. As illustrated in FIG. 15, the learning unit 114 may learn learning data in which "information indicating the change in the position of the worker 50 (target object) up to the present time" is input and "information indicating the change in the position of the worker 50 in the future" is output.

(学習アルゴリズムについて)
また、これまでに説明してきた例では、学習部114が学習アルゴリズムとしてDBT(Deep Binary Tree)を利用する例について説明してきたが、学習部114が利用する学習アルゴリズムは、DBTに限られるものではない。学習部114はニューラルネットワーク等を用いた学習を実行し、学習済モデルとして、予測用データを生成してもよい。
(About the learning algorithm)
In addition, in the examples described so far, the learning unit 114 uses DBT (Deep Binary Tree) as a learning algorithm, but the learning algorithm used by the learning unit 114 is not limited to DBT. The learning unit 114 may execute learning using a neural network or the like, and generate prediction data as a learned model.

〔ソフトウェアによる実現例〕
干渉判定装置10の機能ブロック(具体的には、センサ情報取得部111、人状態情報生成部112、人軌道予測部113、学習部114、識別部115、ロボット状態取得部121、未来干渉判定部122、および、制御指示調整部123)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(CenTral Processing Unit)を用いてソフトウェアによって実現してもよい。
[Software implementation example]
The functional blocks of the interference detection device 10 (specifically, the sensor information acquisition unit 111, the human status information generation unit 112, the human trajectory prediction unit 113, the learning unit 114, the identification unit 115, the robot status acquisition unit 121, the future interference detection unit 122, and the control instruction adjustment unit 123) may be realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like, or may be realized by software using a CPU (Central Processing Unit).

後者の場合、干渉判定装置10は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)等を備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 In the latter case, the interference determination device 10 includes a CPU that executes the commands of a program, which is software that realizes each function, a ROM (Read Only Memory) or storage device (these are referred to as "recording media") in which the program and various data are recorded so as to be readable by a computer (or CPU), and a RAM (Random Access Memory) in which the program is deployed. The object of the present invention is achieved when the computer (or CPU) reads the program from the recording medium and executes it. The recording medium may be a "non-transient tangible medium," such as a tape, a disk, a card, a semiconductor memory, or a programmable logic circuit. The program may also be supplied to the computer via any transmission medium (such as a communication network or a broadcast wave) capable of transmitting the program. The present invention may also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission.

〔実施形態2〕
本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。実施形態1では、作業者とロボットとの干渉を回避する例を説明した。ただしこれに限らず、作業者の軌道の予測結果を他の目的に使用してもよい。
[Embodiment 2]
Other embodiments of the present invention will be described below. For ease of explanation, the same reference numerals are given to members having the same functions as those described in the above embodiment, and the explanations thereof will not be repeated. In the first embodiment, an example in which interference between the worker and the robot is avoided is described. However, the present invention is not limited to this, and the predicted results of the worker's trajectory may be used for other purposes.

そもそも、ニューラルネットワーク等を用いた学習アルゴリズム(例えばDeep Learning等)では、追加学習によって学習済モデルの更新を行うために、学習のためのパラメータを手動で調整する必要がある。作業者(人)が同じ作業を繰り返し行う場合であっても、作業者の動作パターンは、作業者の疲労等に応じて変化し得る。そのため、精度の高い予測を行うためには、学習済モデルの更新を行う必要がある。しかしながら、手動でパラメータ調整が必要な学習アルゴリズムを用いると、リアルタイムで学習済モデルの更新を適切に行うことが難しい。 In the first place, in learning algorithms that use neural networks, etc. (e.g., deep learning, etc.), in order to update the trained model through additional learning, it is necessary to manually adjust the learning parameters. Even when a worker (person) repeatedly performs the same task, the worker's movement pattern may change depending on the worker's fatigue, etc. Therefore, in order to make highly accurate predictions, it is necessary to update the trained model. However, when using a learning algorithm that requires manual parameter adjustment, it is difficult to properly update the trained model in real time.

一方で、DLT(Dynamics Learning Tree)またはDBT(Deep Binary Tree)のような学習アルゴリズムは、パラメータ調整を必要としないオンライン追加学習により学習済モデルを更新する。それゆえ、DLTまたはDBTを学習アルゴリズムとして用い、リアルタイムで学習済モデルの更新を行うことで、作業者の動作を適切に予測することができる。ここで、オンライン追加学習は、単にネットワークを介して追加学習を行うことを指すのではなく、現場で生じる新しいデータ(人の動き)を用いてリアルタイムで追加学習を行うことを指している。 On the other hand, learning algorithms such as DLT (Dynamics Learning Tree) or DBT (Deep Binary Tree) update trained models through online additional learning that does not require parameter adjustment. Therefore, by using DLT or DBT as a learning algorithm and updating trained models in real time, it is possible to appropriately predict worker actions. Here, online additional learning does not simply refer to additional learning via a network, but rather to additional learning in real time using new data (human movements) generated at the site.

[構成例]
(人動作予測装置の構成)
図16は、人動作予測装置60の要部構成を示すブロック図である。人動作予測装置60は、人軌道処理部110、および記憶部130を備える。人軌道処理部110は、作業者50の未来の「位置(二次元位置または三次元位置)および速度ベクトル」の予測を実行し、予測した作業者50の未来の「位置および速度ベクトル」を、外部の他の装置に出力する。他の装置は、サーバ、ロボットを制御するコントローラ、または表示装置等であってよい。
[Configuration example]
(Configuration of the human movement prediction device)
16 is a block diagram showing the main components of the human motion prediction device 60. The human motion prediction device 60 includes a human trajectory processing unit 110 and a storage unit 130. The human trajectory processing unit 110 executes prediction of the future "position (two-dimensional position or three-dimensional position) and velocity vector" of the worker 50, and outputs the predicted future "position and velocity vector" of the worker 50 to another external device. The other device may be a server, a controller for controlling a robot, a display device, or the like.

人動作予測装置60の一態様では、人軌道予測部113は、所定期間における作業者50の位置の履歴を学習済モデル(予測用データ)の入力として、学習済モデルの更新および「未来の、作業者50の位置」の予測を行う。 In one aspect of the human movement prediction device 60, the human trajectory prediction unit 113 uses the history of the worker's 50 position over a specified period as input to the learned model (prediction data), updates the learned model, and predicts the "future position of the worker 50."

人状態情報生成部112は、複数の作業者50の各々の「時間ごとの、位置」の履歴を人状態履歴データ131に格納する。人状態情報生成部112は、生成した、複数の作業者50の各々の「現在の、位置」を、人軌道予測部113に通知する。また、人状態情報生成部112は、「現在を含む所定期間における作業者50の位置」(位置の履歴)を、人軌道予測部113に通知する。 The human status information generation unit 112 stores the history of the "position by time" of each of the multiple workers 50 in the human status history data 131. The human status information generation unit 112 notifies the human trajectory prediction unit 113 of the generated "current position" of each of the multiple workers 50. The human status information generation unit 112 also notifies the human trajectory prediction unit 113 of the "position of the worker 50 during a specified period including the present" (position history).

人軌道予測部113は、人状態情報生成部112から通知される「現在を含む所定期間における作業者50の位置」を、学習部114が生成した学習済モデル(予測用データ)に入力して、「未来の、作業者50の位置」を予測する。 The human trajectory prediction unit 113 inputs the "position of the worker 50 during a specified period including the present" notified by the human status information generation unit 112 into the trained model (prediction data) generated by the learning unit 114, and predicts the "future position of the worker 50."

ここで、人軌道予測部113は、例えば、人状態情報生成部112から通知される「現在を含む所定期間における作業者50の位置」(位置の履歴)を用いて、「未来の、作業者50の重心の位置」を予測する。 Here, the human trajectory prediction unit 113 predicts the "future position of the center of gravity of the worker 50" using, for example, the "position of the worker 50 during a specified period including the present" (position history) notified by the human status information generation unit 112.

言い換えれば、人軌道予測部113は、現在までの作業者50の重心位置を示す情報から、作業者50の未来の(つまり、将来の)人軌道(重心位置の移動を示す軌道)を予測する。 In other words, the human trajectory prediction unit 113 predicts the future (i.e., future) human trajectory (trajectory indicating the movement of the center of gravity position) of the worker 50 from information indicating the center of gravity position of the worker 50 up to the present.

学習部114は、所定期間における時刻ごとの作業者50の位置(特に、重心位置)を入力とし、所定期間より後の作業者50の位置を出力とする学習用データについて、学習を行う。学習部114は、例えばDLTまたはDBTと呼ばれる学習アルゴリズムを用いて、学習済モデルを生成する。また、実運用を開始した後(一度、学習済モデルを生成した後)、学習部114は、該学習アルゴリズムを用いて、学習済モデルを更新する。 The learning unit 114 learns from learning data in which the position of the worker 50 (particularly the center of gravity position) at each time during a specified period is input, and the position of the worker 50 after the specified period is output. The learning unit 114 generates a trained model using a learning algorithm called DLT or DBT, for example. After starting actual operation (after generating the trained model once), the learning unit 114 updates the trained model using the learning algorithm.

[動作例]
図4に示す処理フローと同様に、人動作予測装置60では、センサ情報取得部111によってセンサ情報統合処理(S110)が実行され、人状態情報生成部112によって人存在領域計算処理(S120)が実行され、人軌道予測部113によって人軌道計算処理(S130)が実行される。ただし、予測結果出力処理(S133)では、実施形態1の調停部の代わりに他の装置へ予測結果が出力される。
[Example of operation]
4, in the human motion prediction device 60, the sensor information acquisition unit 111 executes a sensor information integration process (S110), the human state information generation unit 112 executes a human presence area calculation process (S120), and the human trajectory prediction unit 113 executes a human trajectory calculation process (S130). However, in the prediction result output process (S133), the prediction result is output to another device instead of the arbitration unit of the first embodiment.

(学習済モデルの更新)
人軌道学習処理(S131、学習ステップ)において、学習部114は、所定期間における時刻ごとの作業者50の位置(位置の履歴)を入力とし、所定期間より後の作業者50の位置を出力とする学習用データについて、学習を行う。学習部114は、学習によって、学習済モデルを更新する。
(Updating a trained model)
In the human trajectory learning process (S131, learning step), the learning unit 114 receives the position (position history) of the worker 50 at each time during a predetermined period, and performs learning on learning data in which the position of the worker 50 after the predetermined period is output. The learning unit 114 updates the learned model through learning.

より具体的には、学習部114は、所定期間における「作業者50の時間ごとの、重心位置(体幹位置)」の履歴から、「学習用フィルタ前データ(つまり、フィルタ処理の実行前の学習用データ)」を生成し、この学習用フィルタ前データを整形して、「学習用フィルタ済データ」を取得する。学習部114は、学習用フィルタ前データに、学習用時間方向重み付きフィルタ(第2時間方向重み付きフィルタ)を適用し、学習用フィルタ済データを生成する。学習用時間方向重み付きフィルタは、時間方向の重み付き移動平均フィルタであり、例えば以下で示される。 More specifically, the learning unit 114 generates "learning unfiltered data (i.e., learning data before execution of filter processing)" from the history of "the center of gravity position (trunk position) of the worker 50 for each hour" over a predetermined period, and shapes this learning unfiltered data to obtain "learning filtered data". The learning unit 114 applies a learning time direction weighted filter (second time direction weighted filter) to the learning unfiltered data to generate learning filtered data. The learning time direction weighted filter is a weighted moving average filter in the time direction, and is shown below, for example.

=0.1xt-2+0.2xt-1+0.4x+0.2xt+1+0.1xt+2
xは学習用フィルタ前データにおける位置を示し、添字tは時刻を示し、Xは学習用フィルタ済データにおける位置を示す。学習用時間方向重み付きフィルタは、対象時刻tの前後を含む期間(時刻t-2からt+2)における位置xの履歴に重みを付けて平均したものを、対象時刻tのフィルタ後の位置Xとする。
Xt = 0.1xt -2 + 0.2xt -1 + 0.4xt + 0.2xt +1 + 0.1xt +2
x indicates a position in the pre-filter data for learning, the subscript t indicates time, and X indicates a position in the filtered data for learning. The learning time-direction weighting filter determines the filtered position Xt at the target time t by weighting and averaging the history of the position x in the period including both before and after the target time t (from time t-2 to t+2).

所定期間は、異なる複数の作業を順に行う作業者50の、複数の作業の期間が含まれるようにあらかじめ設定されている。学習部114は、この学習用フィルタ済データを学習済モデルに対する入力および出力として使用することで、学習済モデルを更新する。なお、学習済モデルを生成するときも、学習部114は、同様にして学習を行う。 The specified period is set in advance so as to include the period of multiple tasks performed by a worker 50 who performs multiple different tasks in sequence. The learning unit 114 updates the trained model by using this training filtered data as input and output for the trained model. Note that when generating a trained model, the learning unit 114 also performs training in a similar manner.

(人軌道予測)
人軌道予測処理(S132)において、人軌道予測部113は、所定期間(現時点を含む)における時刻ごとの作業者50の位置(位置の履歴)を、学習済モデルに入力して、「未来の、作業者50の位置」を予測する。
(People trajectory prediction)
In the human trajectory prediction process (S132), the human trajectory prediction unit 113 inputs the position (position history) of the worker 50 at each time during a specified period (including the present time) into the learned model and predicts the "future position of the worker 50."

より具体的には、人軌道予測部113は、所定期間における「作業者50の時間ごとの、重心位置(体幹位置)」の履歴から、「予測用フィルタ前データ(つまり、フィルタ処理の実行前の予測用データ)」を生成し、この予測用フィルタ前データを整形して、「予測用フィルタ済データ」を取得する。人軌道予測部113は、予測用フィルタ前データに、予測用時間方向重み付きフィルタ(第1時間方向重み付きフィルタ)を適用し、予測用フィルタ済データを生成する。予測用時間方向重み付きフィルタは、時間方向の重み付き移動平均フィルタであり、例えば以下で示される。 More specifically, the human trajectory prediction unit 113 generates "prediction unfiltered data (i.e., prediction data before execution of filter processing)" from the history of "the center of gravity position (trunk position) of the worker 50 for each hour" over a predetermined period, and shapes this prediction unfiltered data to obtain "prediction filtered data". The human trajectory prediction unit 113 applies a prediction time direction weighted filter (first time direction weighted filter) to the prediction unfiltered data to generate prediction filtered data. The prediction time direction weighted filter is a weighted moving average filter in the time direction, and is shown, for example, below.

=0.05xt-4+0.05xt-3+0.1xt-2+0.2xt-1+0.6x
xは予測用フィルタ前データにおける位置を示し、添字tは時刻を示し、Xは予測用フィルタ済データにおける位置を示す。予測用時間方向重み付きフィルタは、対象時刻t以前の期間(時刻t-4からt)における位置xの履歴に重みを付けて平均したものを、対象時刻tのフィルタ後の位置Xとする。
Xt = 0.05xt -4 + 0.05xt -3 + 0.1xt -2 + 0.2xt -1 + 0.6xt
x indicates a position in the prediction unfiltered data, the subscript t indicates time, and X indicates a position in the prediction filtered data. The prediction time-direction weighted filter weights and averages the history of the position x in the period before the target time t (from time t-4 to t), and sets the filtered position Xt at the target time t.

所定期間は、異なる複数の作業を順に行う作業者50の、複数の作業の期間が含まれるようにあらかじめ設定されている。人軌道予測部113は、この予測用フィルタ済データを学習済モデルに対する入力として使用することで、学習済モデルの出力として現時点より未来の作業者50の位置を得る。また、人軌道予測部113は、予測した未来の作業者50の位置を用いてさらに未来の作業者50の位置を予測することもできる。このようにして、人軌道予測部113は、「未来の、作業者50の位置」を予測する。 The specified period is set in advance so as to include the periods of multiple tasks performed by a worker 50 who performs multiple different tasks in sequence. The human trajectory prediction unit 113 uses this prediction filtered data as input to the trained model, thereby obtaining the position of the worker 50 in the future from the present time as the output of the trained model. The human trajectory prediction unit 113 can also predict the position of the worker 50 in the further future using the predicted future position of the worker 50. In this way, the human trajectory prediction unit 113 predicts the "future position of the worker 50."

ここでは、学習用時間方向重み付きフィルタが予測用時間方向重み付きフィルタと異なる例を示したが、同じフィルタ(予測用時間方向重み付きフィルタ)を用いてもよい。 Here, an example is shown in which the learning time direction weighting filter is different from the prediction time direction weighting filter, but the same filter (prediction time direction weighting filter) may be used.

(参考例の予測結果)
図17は、参考例の入力データと予測結果とを示す図である。横軸は時間[s]を示し、縦軸は作業者50の位置(x座標、y座標)[m]を示す。時刻t1が現時点であり、時刻t1以前の所定期間P1における作業者50の位置(x軸入力値、y軸入力値)が、直近の未来を予測するために学習済モデルへの入力データとして用いられる。時刻t1より後のx軸予測値、y軸予測値は、学習済モデルも出力として得られた作業者50の位置の予測結果である。時刻t1より後のx軸実測値、y軸実測値は、後に実際に測定された作業者50の位置を示す。なお位置のデータは0.04秒毎のデータである。
(Reference example prediction results)
FIG. 17 is a diagram showing input data and prediction results of a reference example. The horizontal axis indicates time [s], and the vertical axis indicates the position (x-coordinate, y-coordinate) [m] of the worker 50. Time t1 is the current time, and the position (x-axis input value, y-axis input value) of the worker 50 in a predetermined period P1 before time t1 is used as input data to the trained model to predict the immediate future. The x-axis predicted value and y-axis predicted value after time t1 are prediction results of the position of the worker 50 obtained as an output of the trained model. The x-axis actual measured value and y-axis actual measured value after time t1 indicate the position of the worker 50 that was actually measured later. The position data is data every 0.04 seconds.

参考例では、所定期間P1は、作業者50の予測直前の1つの作業Aの時間が含まれる程度に短く設定されている。1つの作業においては、作業者50はあまり動かない場合がある。そのような場合、予測の精度が低下し、予測値(ここではy軸予測値)は実測値と大きく異なってしまうことがある。 In the reference example, the predetermined period P1 is set short enough to include the time of one task A performed by the worker 50 immediately before the prediction. In one task, the worker 50 may not move much. In such a case, the accuracy of the prediction may decrease, and the predicted value (here, the y-axis predicted value) may differ significantly from the actual measured value.

(動作例の予測結果)
図18は、動作例の人動作予測装置60の入力データと予測結果とを示す図である。横軸は時間[s]を示し、縦軸は作業者50の位置(x座標、y座標)[m]を示す。時刻t2が現時点であり、時刻t2以前の所定期間P2における作業者50の位置(x軸入力値、y軸入力値)が、直近の未来を予測するために学習済モデルへの入力データとして用いられる。時刻t2より後のx軸予測値、y軸予測値は、学習済モデルも出力として得られた作業者50の位置の予測結果である。時刻t2より後のx軸実測値、y軸実測値は、後に実際に測定された作業者50の位置を示す。なお位置のデータは0.04秒毎のデータである。
(Prediction results for operation example)
FIG. 18 is a diagram showing input data and prediction results of the human action prediction device 60 in the action example. The horizontal axis indicates time [s], and the vertical axis indicates the position (x-coordinate, y-coordinate) [m] of the worker 50. Time t2 is the current time, and the position (x-axis input value, y-axis input value) of the worker 50 in a predetermined period P2 before time t2 is used as input data to the trained model to predict the immediate future. The x-axis predicted value and y-axis predicted value after time t2 are prediction results of the position of the worker 50 obtained as an output of the trained model. The x-axis actual measured value and y-axis actual measured value after time t2 indicate the position of the worker 50 that was actually measured later. The position data is data every 0.04 seconds.

動作例では、所定期間P2は、各作業の時間より長く設定されている。具体的には、所定期間P2は、作業者50の予測直前の1つの作業Aだけでなく、作業Aの前の作業Bの期間も含むように長く設定されている。そのため、学習済モデルへの入力データには、複数の作業A、Bに関する作業者50の位置の履歴が含まれる。また、入力データには、作業Aから別の作業Bへの遷移過程の作業者50の位置の履歴が含まれる。このように、予測直前の作業Aの前の作業Bにおける作業者50の情報も予測に使用することにより、予測の精度が向上する。動作例の予測値(x軸予測値、y軸予測値)は実測値とよく一致している。 In the operation example, the predetermined period P2 is set longer than the time of each task. Specifically, the predetermined period P2 is set long enough to include not only the period of one task A performed by the worker 50 immediately before the prediction, but also the period of task B performed before task A. Therefore, the input data to the trained model includes the history of the worker 50's location for multiple tasks A and B. The input data also includes the history of the worker's location during the transition from task A to another task B. In this way, the accuracy of the prediction is improved by using information about the worker 50 in task B immediately before task A for the prediction. The predicted values (x-axis predicted value, y-axis predicted value) in the operation example are in good agreement with the actual measured values.

(予測精度)
図19は、時間窓の幅と予測誤差との関係を示す図である。横軸は、時間窓の幅(入力データとして使用する所定期間の長さ)[s]を示す。縦軸は、未来のある時刻における作業者50の位置についての予測誤差(実測値と予測値との差)[m]を示す。時間窓の幅(所定期間P2の長さ)が小さいと、予測精度が落ちる(予測誤差が大きくなる)ことが分かる。一方で、異なる2つの作業A、Bを含む程度に時間窓の幅がある程度長ければ(この例では、8.96秒以上であれば)、時間窓の幅が少し変化しても、予測精度はあまり変わらない。
(Prediction accuracy)
FIG. 19 is a diagram showing the relationship between the width of the time window and the prediction error. The horizontal axis indicates the width of the time window (the length of the predetermined period used as input data) [s]. The vertical axis indicates the prediction error (the difference between the actual value and the predicted value) [m] for the position of the worker 50 at a certain time in the future. It can be seen that if the width of the time window (the length of the predetermined period P2) is small, the prediction accuracy decreases (the prediction error increases). On the other hand, if the width of the time window is relatively long enough to include two different tasks A and B (in this example, if it is 8.96 seconds or more), even if the width of the time window changes slightly, the prediction accuracy does not change much.

[変形例]
以上では、作業者50の位置の履歴を学習済モデルへの入力とし、未来の位置を出力させる例を説明したが、本発明はこれに限らない。例えば、作業者50の位置の履歴、速度ベクトルの履歴、および/または、加速度ベクトルの履歴を学習済モデルへの入力とし、未来の作業者50の位置、速度ベクトル、および/または、加速度ベクトルを学習済モデルからの出力としてもよい。作業者50の位置の履歴、速度ベクトルの履歴、および/または、加速度ベクトルの履歴は、作業者50の位置の変化を示す情報である。また、未来の期間の作業者50の位置の履歴、速度ベクトルの履歴、および/または、加速度ベクトルの履歴を学習済モデルからの出力としてもよい。
[Modification]
In the above, an example has been described in which the position history of the worker 50 is input to the trained model and the future position is output, but the present invention is not limited to this. For example, the position history, velocity vector history, and/or acceleration vector history of the worker 50 may be input to the trained model, and the future position, velocity vector, and/or acceleration vector of the worker 50 may be output from the trained model. The position history, velocity vector history, and/or acceleration vector history of the worker 50 are information indicating changes in the position of the worker 50. In addition, the position history, velocity vector history, and/or acceleration vector history of the worker 50 for a future period may be output from the trained model.

また、作業者50の位置は、作業者50の重心に限らず、作業者50の1つまたは複数の部位の位置であってもよい。 In addition, the position of the worker 50 is not limited to the center of gravity of the worker 50, but may be the position of one or more parts of the worker 50.

また、学習部114はニューラルネットワーク等を用いた学習を実行し、学習済モデルを生成してもよい。 The learning unit 114 may also perform learning using a neural network or the like to generate a trained model.

〔ソフトウェアによる実現例〕
人動作予測装置60の機能ブロック(具体的には、センサ情報取得部111、人状態情報生成部112、人軌道予測部113、学習部114、および識別部115)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
[Software implementation example]
The functional blocks of the human motion prediction device 60 (specifically, the sensor information acquisition unit 111, the human status information generation unit 112, the human trajectory prediction unit 113, the learning unit 114, and the identification unit 115) may be realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like, or may be realized by software using a CPU (Central Processing Unit).

後者の場合、人動作予測装置60は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)等を備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路等を用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 In the latter case, the human motion prediction device 60 includes a CPU that executes the commands of a program, which is software that realizes each function, a ROM (Read Only Memory) or storage device (these are referred to as "recording media") in which the program and various data are recorded so as to be readable by the computer (or CPU), and a RAM (Random Access Memory) in which the program is deployed. The object of the present invention is achieved by the computer (or CPU) reading and executing the program from the recording medium. The recording medium may be a "non-transient tangible medium," such as a tape, a disk, a card, a semiconductor memory, or a programmable logic circuit. The program may also be supplied to the computer via any transmission medium (such as a communication network or a broadcast wave) capable of transmitting the program. The present invention may also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission.

本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. The technical scope of the present invention also includes embodiments obtained by appropriately combining the technical means disclosed in different embodiments.

1 制御システム(ロボット制御システム)
10 干渉判定装置(ロボット干渉判定装置)
20 コントローラ(ロボット制御装置)
21 ロボット制御部
22 受信部
30 ロボット
40 センサ(計測装置)
50 作業者(対象物)
60 人動作予測装置
112 人状態情報生成部(対象物状態取得部)
113 人軌道予測部(予測部)
114 学習部
121 ロボット状態取得部
122 未来干渉判定部(干渉判定部)
115 識別部
123 制御指示調整部(指示部)
S120 人存在領域計算処理(対象物状態取得ステップ)
S141 ロボット軌道取得処理(ロボット状態取得ステップ)
S132 人軌道予測処理(予測ステップ)
S144 干渉判定ステップ
1. Control system (robot control system)
10 Interference detection device (robot interference detection device)
20 Controller (robot control device)
21 Robot control unit 22 Receiving unit 30 Robot 40 Sensor (measuring device)
50 Worker (object)
60 Human motion prediction device 112 Human state information generation unit (object state acquisition unit)
113 Person Trajectory Prediction Unit (Prediction Unit)
114 Learning unit 121 Robot state acquisition unit 122 Future interference determination unit (interference determination unit)
115 Identification unit 123 Control instruction adjustment unit (instruction unit)
S120: Person presence area calculation process (object state acquisition step)
S141 Robot trajectory acquisition process (robot state acquisition step)
S132 Human trajectory prediction process (prediction step)
S144 Interference determination step

Claims (10)

対象物である人の、位置の変化を示す情報を取得する対象物状態取得部と、
前記対象物の位置の変化を示す情報に基づいて、その後における前記対象物の予測位置、予測速度ベクトルまたは予測加速度ベクトルを、学習済モデルによって予測する予測部と、を備え、
前記予測部は、パラメータ調整を必要としないオンライン追加学習により前記学習済モデルを更新する学習部を備え、
前記学習部は、前記対象物の各時点における位置、速度ベクトル、および加速度ベクトルの少なくとも1つの履歴を学習することによって前記学習済モデルを更新する、人動作予測装置。
an object state acquisition unit that acquires information indicating a change in position of a person, which is an object;
A prediction unit that predicts a future predicted position, a predicted velocity vector, or a predicted acceleration vector of the object based on information indicating a change in the position of the object using a learned model,
The prediction unit includes a learning unit that updates the trained model by online additional learning that does not require parameter adjustment;
A human action prediction device, wherein the learning unit updates the learned model by learning at least one history of the position, velocity vector, and acceleration vector of the object at each point in time.
前記学習部は、学習アルゴリズムとしてDLT(Dynamics Learning Tree)またはDBT(Deep Binary Tree)を用いる、請求項1に記載の人動作予測装置。 The human movement prediction device according to claim 1, wherein the learning unit uses DLT (Dynamics Learning Tree) or DBT (Deep Binary Tree) as a learning algorithm. 前記学習部は、前記対象物の、ある時点までの位置の変化を示す情報を入力とし、前記対象物の加速度またはその後の位置を出力とする学習を行うことによって前記学習済モデルを更新する請求項1または2に記載の人動作予測装置。 The human motion prediction device according to claim 1 or 2, wherein the learning unit updates the learned model by performing learning using information indicating a change in the position of the object up to a certain point in time as input and outputting the acceleration or the subsequent position of the object. 前記予測部は、所定期間における前記対象物の位置の変化を示す情報を前記学習済モデルの入力とすることで、前記対象物の前記予測位置、前記予測速度ベクトル、または予測加速度ベクトルを予測する、請求項1から3のいずれか一項に記載の人動作予測装置。 The human motion prediction device according to any one of claims 1 to 3, wherein the prediction unit predicts the predicted position, the predicted velocity vector, or the predicted acceleration vector of the object by inputting information indicating a change in the position of the object over a predetermined period of time into the trained model. 前記対象物は、複数の作業を行う作業者であり、
前記所定期間が、予測直前の第1作業の期間だけでなく、前記第1作業の前の第2作業の期間も含むように、前記所定期間が設定されている、請求項4に記載の人動作予測装置。
the object is a worker performing a plurality of tasks,
The human movement prediction device according to claim 4 , wherein the predetermined period is set so as to include not only the period of a first task immediately before prediction, but also the period of a second task prior to the first task.
前記予測部は、前記所定期間における前記対象物の位置の変化を示す情報に、第1時間方向重み付きフィルタを適用したものを、前記学習済モデルの入力とすることで、前記対象物の前記予測位置、前記予測速度ベクトル、または予測加速度ベクトルを予測する、請求項4または5に記載の人動作予測装置。 The human motion prediction device according to claim 4 or 5, wherein the prediction unit predicts the predicted position, the predicted velocity vector, or the predicted acceleration vector of the object by applying a first time-direction weighting filter to information indicating a change in the position of the object during the predetermined period and inputting the result into the trained model. 前記学習部は、対象時刻の前後を含む期間における前記対象物の位置の変化を示す情報に、前記第1時間方向重み付きフィルタとは異なる第2時間方向重み付きフィルタを適用したものを前記対象時刻に関する入力として、学習を行い、
前記予測部は、対象時刻以前の期間における前記対象物の位置の変化を示す情報に、前記第1時間方向重み付きフィルタを適用したものを、前記学習済モデルの入力とすることで、前記対象時刻より後の前記対象物の前記予測位置、前記予測速度ベクトル、または予測加速度ベクトルを予測する、請求項6に記載の人動作予測装置。
the learning unit performs learning by applying a second time direction weighting filter different from the first time direction weighting filter to information indicating a change in position of the object during a period including before and after the target time as an input related to the target time, and
7. The human motion prediction device according to claim 6, wherein the prediction unit predicts the predicted position, the predicted velocity vector, or the predicted acceleration vector of the object after the target time by applying the first time direction weighting filter to information indicating a change in the position of the object in a period before the target time and using the result as an input of the trained model.
前記対象物の位置の変化を示す情報は、前記人の部位の位置、速度ベクトルまたは加速度ベクトルを含む、請求項1から7のいずれか一項に記載の人動作予測装置。 The human motion prediction device according to any one of claims 1 to 7, wherein the information indicating the change in the position of the object includes the position of a part of the person, a velocity vector, or an acceleration vector. 前記対象物の位置の変化を示す情報は、前記人の複数の部位の位置、速度ベクトルまたは加速度ベクトルを含む、請求項1から8のいずれか一項に記載の人動作予測装置。 The human motion prediction device according to any one of claims 1 to 8, wherein the information indicating the change in the position of the object includes the positions of multiple parts of the person, a velocity vector, or an acceleration vector. 対象物である人の、位置の変化を示す情報を取得する対象物状態取得ステップと、
前記対象物の位置の変化を示す情報に基づいて、その後における前記対象物の予測位置、予測速度ベクトルまたは予測加速度ベクトルを、学習済モデルによって予測する予測ステップと、
パラメータ調整を必要としないオンライン追加学習により前記学習済モデルを更新する学習ステップであって、前記対象物の各時点における位置、速度ベクトル、および加速度ベクトルの少なくとも1つの履歴を学習することによって前記学習済モデルを更新する学習ステップと、を含む人動作予測方法。
an object state acquisition step of acquiring information indicating a change in position of a person, which is an object;
a prediction step of predicting a future predicted position, a predicted velocity vector, or a predicted acceleration vector of the object based on information indicating a change in the position of the object using a learned model;
A human action prediction method comprising: a learning step of updating the trained model by online additional learning that does not require parameter adjustment, the learning step updating the trained model by learning at least one history of the position, velocity vector, and acceleration vector of the object at each point in time.
JP2023003855A 2018-12-14 2023-01-13 ROBOT INTERFERENCE DETECTION DEVICE, ROBOT INTERFERENCE DETECTION METHOD, ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, HUMAN OPERATION PREDICTION DEVICE, AND HUMAN OPERATION PREDICTION METHOD Active JP7462195B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018234628 2018-12-14
JP2018234628 2018-12-14
JP2019034202A JP7243979B2 (en) 2018-12-14 2019-02-27 Robot interference determination device, robot interference determination method, robot control device, robot control system, human motion prediction device, and human motion prediction method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019034202A Division JP7243979B2 (en) 2018-12-14 2019-02-27 Robot interference determination device, robot interference determination method, robot control device, robot control system, human motion prediction device, and human motion prediction method

Publications (2)

Publication Number Publication Date
JP2023029629A JP2023029629A (en) 2023-03-03
JP7462195B2 true JP7462195B2 (en) 2024-04-05

Family

ID=71105597

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019034202A Active JP7243979B2 (en) 2018-12-14 2019-02-27 Robot interference determination device, robot interference determination method, robot control device, robot control system, human motion prediction device, and human motion prediction method
JP2023003855A Active JP7462195B2 (en) 2018-12-14 2023-01-13 ROBOT INTERFERENCE DETECTION DEVICE, ROBOT INTERFERENCE DETECTION METHOD, ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, HUMAN OPERATION PREDICTION DEVICE, AND HUMAN OPERATION PREDICTION METHOD

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019034202A Active JP7243979B2 (en) 2018-12-14 2019-02-27 Robot interference determination device, robot interference determination method, robot control device, robot control system, human motion prediction device, and human motion prediction method

Country Status (1)

Country Link
JP (2) JP7243979B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11945117B2 (en) 2021-03-10 2024-04-02 Samsung Electronics Co., Ltd. Anticipating user and object poses through task-based extrapolation for robot-human collision avoidance
JP2022141028A (en) * 2021-03-15 2022-09-29 オムロン株式会社 Control device, control system, control method and program
US11833691B2 (en) 2021-03-30 2023-12-05 Samsung Electronics Co., Ltd. Hybrid robotic motion planning system using machine learning and parametric trajectories
WO2023089817A1 (en) * 2021-11-22 2023-05-25 三菱電機株式会社 Information processing device, simulation system, simulation method, and simulation program
JP2023151715A (en) 2022-04-01 2023-10-16 オムロン株式会社 Work management system, method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010120139A (en) 2008-11-21 2010-06-03 New Industry Research Organization Safety control device for industrial robot
JP2010208002A (en) 2009-03-12 2010-09-24 Ihi Corp Device and method for controlling robot device
JP2018012159A (en) 2016-07-21 2018-01-25 富士電機株式会社 Robot system, control method of robot system, and program
DE102016222245A1 (en) 2016-11-14 2018-05-30 Volkswagen Aktiengesellschaft Device and method for acting on objects

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6879736B2 (en) * 2016-12-28 2021-06-02 川崎重工業株式会社 Robot system
JP6393433B1 (en) * 2018-02-09 2018-09-19 株式会社ビコー Information processing apparatus, information processing method, and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010120139A (en) 2008-11-21 2010-06-03 New Industry Research Organization Safety control device for industrial robot
JP2010208002A (en) 2009-03-12 2010-09-24 Ihi Corp Device and method for controlling robot device
JP2018012159A (en) 2016-07-21 2018-01-25 富士電機株式会社 Robot system, control method of robot system, and program
DE102016222245A1 (en) 2016-11-14 2018-05-30 Volkswagen Aktiengesellschaft Device and method for acting on objects

Also Published As

Publication number Publication date
JP2023029629A (en) 2023-03-03
JP7243979B2 (en) 2023-03-22
JP2020097091A (en) 2020-06-25

Similar Documents

Publication Publication Date Title
JP7462195B2 (en) ROBOT INTERFERENCE DETECTION DEVICE, ROBOT INTERFERENCE DETECTION METHOD, ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, HUMAN OPERATION PREDICTION DEVICE, AND HUMAN OPERATION PREDICTION METHOD
US11376741B2 (en) Dynamically determining workspace safe zones with speed and separation monitoring
US10335964B2 (en) Method and system for controlling robot
US20190286145A1 (en) Method and Apparatus for Dynamic Obstacle Avoidance by Mobile Robots
US10953538B2 (en) Control device and learning device
US11478934B2 (en) Method and apparatus for controlling robot
KR102357168B1 (en) Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network
KR102139229B1 (en) Collision Detection Method and System of Robot Manipulator Using Artificial Neural Network
JP2020093373A (en) Robot interference determination device, robot interference determination method, robot control device, and robot control system
Pereira et al. Calculating human reachable occupancy for guaranteed collision-free planning
Kim et al. Transformable Gaussian Reward Function for Socially-Aware Navigation with Deep Reinforcement Learning
US20230196495A1 (en) System and method for verifying positional and spatial information using depth sensors
JP7064458B2 (en) Robot control method
EP4309857A1 (en) Clustering and detection system and method for safety monitoring in a collaborative workspace
US20230347518A1 (en) Method of improving a preplanned movement sequence for the control of a robot
EP4283335A1 (en) Detection and tracking of humans using sensor fusion to optimize human to robot collaboration in industry
WO2023037443A1 (en) Robot control device, learning device, and inference device
US20230202037A1 (en) System and method for determining allowable robot speed in a collaborative workspace
JP2022013038A (en) Robot and control device thereof, and movement range estimation device and program thereof
Duan et al. A rough-fuzzy perception-based computing for a vision-based wall-following robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240313