(57)【特許請求の範囲】
【請求項１】
作業者である第１の監視対象と、第２の監視対象とが存在する共存空間を監視する３次元空間監視装置であって、
センサ部により前記共存空間を計測することで取得された前記第１の監視対象の時系列の第１の計測情報と前記第２の監視対象の時系列の第２の計測情報とから、前記第１の監視対象及び前記第２の監視対象の動作パターンを機械学習することによって、前記作業者の習熟度及び前記作業者の疲労度を含む学習結果を生成する学習部と、
前記第１の計測情報に基づいて前記第１の監視対象が存在できる仮想的な第１の動作空間を生成し、前記第１の動作空間は前記作業者の頭部を完全に覆う多角柱の空間と前記頭部を頂点とした多角形の錐体の空間とを有し、前記第２の計測情報に基づいて前記第２の監視対象が存在できる仮想的な第２の動作空間を生成する動作空間生成部と、
前記第１の監視対象から前記第２の動作空間までの第１の距離と前記第２の監視対象から前記第１の動作空間までの第２の距離とを算出する距離算出部と、
前記学習部の学習結果に基づいて、前記習熟度が高いほど小さくなり前記習熟度が低いほど大きくなる、且つ前記疲労度が低いほど小さくなり前記疲労度が高いほど大きくなる距離閾値を決定し、前記第１の距離と前記第２の距離と前記距離閾値とに基づいて前記第１の監視対象と前記第２の監視対象との接触可能性を予測する接触予測判定部と、を備え、
前記接触可能性に基づく処理を実行する
ことを特徴とする３次元空間監視装置。
【請求項２】
前記学習部は、前記第１の計測情報に基づいて生成された前記第１の監視対象の第１の骨格情報と前記第２の計測情報に基づいて生成された前記第２の監視対象の第２の骨格情報とから、前記動作パターンを機械学習することによって前記学習結果を出力し、
前記動作空間生成部は、前記第１の骨格情報から前記第１の動作空間を生成し、前記第２の骨格情報から前記第２の動作空間を生成する
ことを特徴とする請求項１に記載の３次元空間監視装置。
【請求項３】
前記第２の監視対象はロボットであることを特徴とする請求項１又は２に記載の３次元空間監視装置。
【請求項４】
前記第２の監視対象は他の作業者であることを特徴とする請求項１又は２に記載の３次元空間監視装置。
【請求項５】
前記学習部から出力される前記学習結果は、前記作業者の協調レベルをさらに含むことを特徴とする請求項１から４のいずれか１項に記載の３次元空間監視装置。
【請求項６】
前記学習部は、
前記第１の距離が大きいほど大きな報酬を受け取り、
前記第２の距離が大きいほど大きな報酬を受け取り、
前記ロボットの加速度の大きさが大きいほど小さな報酬を受け取り、
前記ロボットの力が大きいほど小さな報酬を受け取る
ことを特徴とする請求項３に記載の３次元空間監視装置。
【請求項７】
前記作業者に情報を提供する情報提供部をさらに備え、
前記情報提供部は、前記接触可能性に基づく処理として、前記作業者への情報の提供を行う
ことを特徴とする請求項１から４のいずれか１項に記載の３次元空間監視装置。
【請求項８】
前記情報提供部は、前記学習結果に基づいて、前記作業者への提供される表示情報に関して、前記作業者が気づきやすい配色、前記作業者が判別しやすい背景色と前景色の組み合わせ、前記作業者が読みやすい文字の量、前記作業者が認識しやすい文字の大きさを決定することを特徴とする請求項７に記載の３次元空間監視装置。
【請求項９】
前記ロボットの動作を制御する機械制御部をさらに備え、
前記機械制御部は、前記接触可能性に基づく処理として、前記ロボットの制御を行う
ことを特徴とする請求項３に記載の３次元空間監視装置。
【請求項１０】
前記動作空間生成部は、
前記第１の骨格情報に含まれる関節の３次元位置データによって決まる第１の平面を用いて前記第１の動作空間を生成し、
前記第２の骨格情報に含まれる関節の３次元位置データによって決まる第２の平面を前記第２の平面に垂直な方向に移動させることで前記第２の動作空間を生成する
ことを特徴とする請求項２に記載の３次元空間監視装置。
【請求項１１】
作業者である第１の監視対象と、第２の監視対象とが存在する共存空間を監視する３次元空間監視方法であって、
センサ部により前記共存空間を計測することで取得された前記第１の監視対象の時系列の第１の計測情報と前記第２の監視対象の時系列の第２の計測情報とから、前記第１の監視対象及び前記第２の監視対象の動作パターンを機械学習することによって、前記作業者の習熟度及び前記作業者の疲労度を含む学習結果を生成するステップと、
前記第１の計測情報に基づいて前記第１の監視対象が存在できる仮想的な第１の動作空間を生成し、前記第１の動作空間は前記作業者の頭部を完全に覆う多角柱の空間と前記頭部を頂点とした多角形の錐体の空間とを有し、前記第２の計測情報に基づいて前記第２の監視対象が存在できる仮想的な第２の動作空間を生成するステップと、
前記第１の監視対象から前記第２の動作空間までの第１の距離と前記第２の監視対象から前記第１の動作空間までの第２の距離とを算出するステップと、
前記学習結果に基づいて、前記習熟度が高いほど小さくなり前記習熟度が低いほど大きくなる、且つ前記疲労度が低いほど小さくなり前記疲労度が高いほど大きくなる距離閾値を決定し、前記第１の距離と前記第２の距離と前記距離閾値とに基づいて前記第１の監視対象と前記第２の監視対象との接触可能性を予測するステップと、
前記接触可能性に基づく動作を実行するステップと
を有する
ことを特徴とする３次元空間監視方法。
【請求項１２】
コンピュータに、作業者である第１の監視対象と、第２の監視対象とが存在する共存空間を監視させる３次元空間監視プログラムであって、
前記コンピュータに、
センサ部により前記共存空間を計測することで取得された前記第１の監視対象の時系列の第１の計測情報と前記第２の監視対象の時系列の第２の計測情報とから、前記第１の監視対象及び前記第２の監視対象の動作パターンを機械学習することによって、前記作業者の習熟度及び前記作業者の疲労度を含む学習結果を生成する処理と、
前記第１の計測情報に基づいて前記第１の監視対象が存在できる仮想的な第１の動作空間を生成し、前記第１の動作空間は前記作業者の頭部を完全に覆う多角柱の空間と前記頭部を頂点とした多角形の錐体の空間とを有し、前記第２の計測情報に基づいて前記第２の監視対象が存在できる仮想的な第２の動作空間を生成する処理と、
前記第１の監視対象から前記第２の動作空間までの第１の距離と前記第２の監視対象から前記第１の動作空間までの第２の距離とを算出する処理と、
前記学習結果に基づいて、前記習熟度が高いほど小さくなり前記習熟度が低いほど大きくなる、且つ前記疲労度が低いほど小さくなり前記疲労度が高いほど大きくなる距離閾値を決定し、前記第１の距離と前記第２の距離と前記距離閾値とに基づいて前記第１の監視対象と前記第２の監視対象との接触可能性を予測する処理と、
前記接触可能性に基づく動作を実行する処理と
を実行させることを特徴とする３次元空間監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の監視対象と第２の監視対象とが存在する３次元空間（以下「共存空間」とも言う）を監視するための３次元空間監視装置、３次元空間監視方法、及び３次元空間監視プログラムに関する。
【背景技術】
【０００２】
近年、製造工場などにおいて、人（以下「作業者」とも言う）と機械（以下「ロボット」とも言う）とが、共存空間で協働作業を行うことが増えている。【０００３】
特許文献１は、作業者とロボットの時系列の状態（例えば、位置座標）を学習して得られた学習情報を保持し、作業者の現在の状態とロボットの現在の状態と学習情報とに基づいてロボットの動作を制御する制御装置を記載している。【０００４】
特許文献２は、作業者とロボットのそれぞれの現在位置と移動速度とに基づいて作業者とロボットのそれぞれの将来位置を予測し、この将来位置に基づいて作業者とロボットの接触可能性を判断し、この判断の結果に応じた処理を行う制御装置を記載している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１５９４０７号公報（例えば、請求項１、要約、段落０００８、図１及び２）
【特許文献２】特開２０１０−１２０１３９号公報（例えば、請求項１、要約、図１〜４）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の制御装置は、作業者とロボットの現在の状態が、作業者とロボットの学習時の状態と異なるときに、ロボットの動作を停止もしくは減速させる。しかし、この制御装置は、作業者とロボットとの間の距離を考慮していないため、作業者とロボットとの接触可能性を正確に判定できない。例えば、作業者がロボットから離れる方向へ動いた場合であっても、ロボットの動作が停止又は減速する。つまり、不必要なときにロボットの動作が停止又は減速することがある。【０００７】
特許文献２の制御装置は、作業者とロボットの予測された将来位置に基づいてロボットを制御する。しかし、作業者の行動及びロボットの動作が多種類存在する場合又は作業者の行動の個人差が大きい場合には、作業者とロボットとの接触可能性を正確に判定できない。このため、不必要なときにロボットの動作が停止したり、必要なときにロボットの動作が停止しなかったりすることがある。【０００８】
本発明は、上記課題を解決するためになされたものであり、第１の監視対象と第２の監視対象との接触可能性を高い精度で判定することができる３次元空間監視装置、３次元空間監視方法、及び３次元空間監視プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様に係る３次元空間監視装置は、作業者である第１の監視対象と、第２の監視対象とが存在する共存空間を監視する装置であって、センサ部により前記共存空間を計測することで取得された前記第１の監視対象の時系列の第１の計測情報と前記第２の監視対象の時系列の第２の計測情報とから、前記第１の監視対象及び前記第２の監視対象の動作パターンを機械学習することによって、前記作業者の習熟度及び前記作業者の疲労度を含む学習結果を生成する学習部と、前記第１の計測情報に基づいて前記第１の監視対象が存在できる仮想的な第１の動作空間を生成し、前記第１の動作空間は前記作業者の頭部を完全に覆う多角柱の空間と前記頭部を頂点とした多角形の錐体の空間とを有し、前記第２の計測情報に基づいて前記第２の監視対象が存在できる仮想的な第２の動作空間を生成する動作空間生成部と、前記第１の監視対象から前記第２の動作空間までの第１の距離と前記第２の監視対象から前記第１の動作空間までの第２の距離とを算出する距離算出部と、前記学習部の学習結果に基づいて、前記習熟度が高いほど小さくなり前記習熟度が低いほど大きくなる、且つ前記疲労度が低いほど小さくなり前記疲労度が高いほど大きくなる距離閾値を決定し、前記第１の距離と前記第２の距離と前記距離閾値とに基づいて前記第１の監視対象と前記第２の監視対象との接触可能性を予測する接触予測判定部と、を備え、前記接触可能性に基づく処理を実行することを特徴とする。
【００１０】
また、本発明の他の態様に係る３次元空間監視方法は、作業者である第１の監視対象と、第２の監視対象とが存在する共存空間を監視する方法であって、センサ部により前記共存空間を計測することで取得された前記第１の監視対象の時系列の第１の計測情報と前記第２の監視対象の時系列の第２の計測情報とから、前記第１の監視対象及び前記第２の監視対象の動作パターンを機械学習することによって、前記作業者の習熟度及び前記作業者の疲労度を含む学習結果を生成するステップと、前記第１の計測情報に基づいて前記第１の監視対象が存在できる仮想的な第１の動作空間を生成し、前記第１の動作空間は前記作業者の頭部を完全に覆う多角柱の空間と前記頭部を頂点とした多角形の錐体の空間とを有し、前記第２の計測情報に基づいて前記第２の監視対象が存在できる仮想的な第２の動作空間を生成するステップと、前記第１の監視対象から前記第２の動作空間までの第１の距離と前記第２の監視対象から前記第１の動作空間までの第２の距離とを算出するステップと、前記学習結果に基づいて、前記習熟度が高いほど小さくなり前記習熟度が低いほど大きくなる、且つ前記疲労度が低いほど小さくなり前記疲労度が高いほど大きくなる距離閾値を決定し、前記第１の距離と前記第２の距離と前記距離閾値とに基づいて前記第１の監視対象と前記第２の監視対象との接触可能性を予測するステップと、前記接触可能性に基づく動作を実行するステップとを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、第１の監視対象と第２の監視対象との接触可能性を高い精度で判定することができ、接触可能性に基づく適切な処理を行うことが可能になる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係る３次元空間監視装置及びセンサ部の構成を概略的に示す図である。
【図２】実施の形態１に係る３次元空間監視装置及びセンサ部の動作を示すフローチャートである。
【図３】実施の形態１に係る３次元空間監視装置の学習部の構成例を概略的に示すブロック図である。
【図４】３層の重みを有するニューラルネットワークを概念的に示す模式図である。
【図５】（Ａ）から（Ｅ）は、監視対象の骨格構造と動作空間の例を示す概略斜視図である。
【図６】（Ａ）及び（Ｂ）は、実施の形態１に係る３次元空間監視装置の動作を示す概略斜視図である。
【図７】実施の形態１に係る３次元空間監視装置のハードウェア構成を示す図である。
【図８】実施の形態２に係る３次元空間監視装置及びセンサ部の構成を概略的に示す図である。
【図９】実施の形態２に係る３次元空間監視装置の学習部の構成例を概略的に示すブロック図である。
【発明を実施するための形態】
【００１３】
以下の実施の形態では、３次元空間監視装置、３次元空間監視装置によって実行させることができる３次元空間監視方法、及びコンピュータに３次元空間監視方法を実行させる３次元空間監視プログラムを、添付図面を参照しながら説明する。以下の実施の形態は、例にすぎず、本発明の範囲内で種々の変更が可能である。
【００１４】
また、以下の実施の形態においては、３次元空間監視装置が、第１の監視対象としての「人」（すなわち、作業者）と第２の監視対象としての「機械又は人」（すなわち、ロボット又は作業者）とが存在する共存空間を監視する場合を説明する。ただし、共存空間に存在する監視対象の数は、３以上であってもよい。
【００１５】
また、以下の実施の形態では、第１の監視対象と第２の監視対象とが接触することを防ぐために、接触予測判定が行われる。接触予測判定では、第１の監視対象と第２の監視対象との間の距離（以下の説明では、監視対象と動作空間との間の距離が用いられる）が距離閾値Ｌより小さいかどうか（すなわち、第１の監視対象と第２の監視対象とが、距離閾値Ｌより接近しているか否か）を判定する。そして、３次元空間監視装置は、この判定（すなわち、接触予測判定）の結果に基づく処理を実行する。この処理は、例えば、作業者に対する接触回避のための情報提示のための処理、及び接触回避のためにロボットの動作を停止又は減速させるための処理である。
【００１６】
また、以下の実施の形態においては、共存空間内の作業者の行動パターンを機械学習することで学習結果Ｄ２が生成され、学習結果Ｄ２に基づいて接触予測判定に用いる距離閾値Ｌが決定される。ここで、学習結果Ｄ２は、例えば、作業者が作業に対してどの程度熟練しているかを示す指標である「習熟度」、作業者の疲労の程度を示す指標である「疲労度」、作業者の作業の進捗状況が相手方（すなわち、共存空間内におけるロボット又は他の作業者）の作業の進捗状況と一致しているかどうかを示す指標である「協調レベル」などを含むことができる。
【００１７】
実施の形態１．
〈３次元空間監視装置１０〉
図１は、実施の形態１に係る３次元空間監視装置１０及びセンサ部２０の構成を概略的に示す図である。図２は、３次元空間監視装置１０及びセンサ部２０の動作を示すフローチャートである。図１に示されるシステムは、３次元空間監視装置１０と、センサ部２０とを有する。図１には、共存空間３０内において、第１の監視対象としての作業者３１と第２の監視対象としてのロボット３２とが協働作業を行う場合が示されている。
【００１８】
図１に示されるように、３次元空間監視装置１０は、学習部１１と、学習データＤ１などを記憶する記憶部１２と、動作空間生成部１３と、距離算出部１４と、接触予測判定部１５と、情報提供部１６と、機械制御部１７とを有する。
【００１９】
３次元空間監視装置１０は、３次元空間監視方法を実行することができる。また、３次元空間監視装置１０は、例えば、３次元空間監視プログラムを実行するコンピュータである。３次元空間監視方法は、例えば、
（１）センサ部２０により共存空間３０を計測することで取得された作業者３１の時系列の計測情報（例えば、画像情報）３１ａに基づく第１の骨格情報４１とロボット３２の時系列の計測情報（例えば、画像情報）３２ａに基づく第２の骨格情報４２とから、作業者３１及びロボット３２の動作パターンを機械学習することによって学習結果Ｄ２を生成するステップ（図２におけるステップＳ１〜Ｓ３）と、
（２）第１の骨格情報４１から作業者３１が存在できる仮想的な第１の動作空間４３を生成し、第２の骨格情報４２からロボット３２が存在できる仮想的な第２の動作空間４４を生成するステップ（図２におけるステップＳ５）と、
（３）作業者３１から第２の動作空間４４までの第１の距離４５とロボット３２から第１の動作空間４３までの第２の距離４６とを算出するステップ（図２におけるステップＳ６）と、
（４）学習結果Ｄ２に基づいて距離閾値Ｌを決定するステップ（図２におけるステップＳ４）と、
（５）第１の距離４５と第２の距離４６と距離閾値Ｌとに基づいて作業者３１とロボット３２との接触可能性を予測するステップ（図２におけるステップＳ７）と、
（６）予測された接触可能性に基づく処理を実行するステップ（図２におけるステップＳ８，Ｓ９）とを有する。
なお、図１に示される第１の骨格情報４１、第２の骨格情報４２、第１の動作空間４３、及び第２の動作空間４４の各形状は、例示であり、より具体的な形状の例は、後述の図５（Ａ）から（Ｅ）に示される。
【００２０】
〈センサ部２０〉
センサ部２０は、作業者３１の行動とロボット３２の動作を３次元計測する（図２におけるステップＳ１）。センサ部２０は、例えば、第１の監視対象である作業者３１と第２の監視対象であるロボット３２の色画像と、センサ部２０から作業者３１までの距離とセンサ部２０からロボット３２までの距離とを、赤外線を用いて同時に測定することができる距離画像カメラを有する。また、センサ部２０に加えて、センサ部２０と異なる位置に配置された他のセンサ部を備えてもよい。他のセンサ部は、互いに異なる位置に配置された複数台のセンサ部を含んでもよい。複数のセンサ部を備えることにより、センサ部によって測定することができない死角領域を減らすことができる。
【００２１】
センサ部２０は、信号処理部２０ａを含む。信号処理部２０ａは、作業者３１の３次元データを第１の骨格情報４１へ変換し、ロボット３２の３次元データを第２の骨格情報４２へ変換する（図２におけるステップＳ２）。ここで、「骨格情報」とは、作業者又はロボットを関節を持つ骨格構造とみなした場合における、関節の３次元位置データ（又は、関節と骨格構造の端部の３次元位置データ）で構成される情報である。第１及び第２の骨格情報へ変換することにより、３次元空間監視装置１０における３次元データに対する処理の負荷を軽減することができる。センサ部２０は、第１及び第２の骨格情報４１，４２を情報Ｄ０として学習部１１と動作空間生成部１３に提供する。
【００２２】
〈学習部１１〉
学習部１１は、センサ部２０から取得した作業者３１の第１の骨格情報４１とロボット３２の第２の骨格情報４２と記憶部１２に記憶された学習データＤ１とから、作業者３１の行動パターンを機械学習し、その結果を学習結果Ｄ２として導出する。同様に、学習部１１は、ロボット３２の動作パターン（又は他の作業者の行動パターン）を機械学習し、その結果を学習結果Ｄ２として導出してもよい。記憶部１２には、作業者３１とロボット３２の時系列の第１及び第２の骨格情報４１，４２に基づく機械学習によって取得された教師情報及び学習結果などが、学習データＤ１として随時格納される。学習結果Ｄ２は、作業者３１が作業に対してどの程度熟練しているか（つまり、慣れているか）を示す指標である「習熟度」、作業者の疲労の程度（つまり、体調）を示す指標である「疲労度」、作業者の作業の進捗状況が相手方の作業の進捗状況と一致しているかどうかを示す指標である「協調レベル」の内の１つ以上を含むことができる。
【００２３】
図３は、学習部１１の構成例を概略的に示すブロック図である。図３に示されるように、学習部１１は、学習装置１１１と、作業分解部１１２と、学習装置１１３とを有する。
【００２４】
ここでは、製造工場におけるセル生産方式の作業を例として説明する。セル生産方式では、１人又は複数人の作業者のチームで作業を行う。セル生産方式における一連の作業は、複数種類の作業工程を含む。例えば、セル生産方式における一連の作業は、部品設置、ネジ締め、組立、検査、梱包などの作業工程を含む。したがって、作業者３１の行動パターンを学習するためには、まず、これら一連の作業を個々の作業工程に分解する必要がある。
【００２５】
学習装置１１１は、センサ部２０から取得された計測情報である色画像情報５２から得られた時系列の画像間の差分を用いて特徴量を抽出する。例えば、作業机上で一連の作業が行われる場合、作業工程ごとに、作業机上にある部品、工具、製品の形状などが異なる。したがって、学習装置１１１は、作業者３１及びロボット３２の背景画像（例えば、作業机上の部品、工具、製品の画像）の変化量と背景画像の変化の推移情報を抽出する。学習装置１１１は、抽出された特徴量の変化と動作パターンの変化とを組み合わせて学習することにより、現在の作業が、どの工程の作業に一致するかを判定する。なお、動作パターンの学習には、第１及び第２の骨格情報４１，４２を用いる。
【００２６】
学習装置１１１によって行われる学習である機械学習には様々な手法がある。機械学習としては、「教師なし学習」、「教師あり学習」、「強化学習」などを採用することができる。
【００２７】
「教師なし学習」では、作業机の多数の背景画像から、似た背景画像どうしを学習し、多数の背景画像をクラスタリングすることにより、背景画像を作業工程ごとの背景画像に分類する。ここで、「クラスタリング」とは、予め教師データを用意せずに、大量のデータの中で似たデータの集まりを見つける手法又はアルゴリズムである。
【００２８】
「教師あり学習」では、個々の作業工程における作業者３１の時系列の行動データと作業工程ごとのロボット３２の時系列な動作データとを予め学習装置１１１へ与えることにより、作業者３１の行動データの特徴を学習し、作業者３１の現在の行動パターンを行動データの特徴と比較する。
【００２９】
図４は、機械学習を実現する一手法である深層学習（ディープラーニング）を説明するためのもので、それぞれが重み係数ｗ１，ｗ２，ｗ３を持つ３層（すなわち、第１層、第２層、及び第３層）からなるニューラルネットワークを示す模式図である。第１層は、３つのニューロン（すなわち、ノード）Ｎ１１，Ｎ１２，Ｎ１３を有し、第２層は、２つのニューロンＮ２１，Ｎ２２を有し、第３層は、３つのニューロンＮ３１，Ｎ３２，Ｎ３３を有する。第１層に複数の入力ｘ１，ｘ２，ｘ３が入力されると、ニューラルネットワークが学習を行い、結果ｙ１，ｙ２，ｙ３を出力する。第１層のニューロンＮ１１，Ｎ１２，Ｎ１３は、入力ｘ１，ｘ２，ｘ３から特徴ベクトルを生成し、対応する重み係数ｗ１が乗算された特徴ベクトルを第２層へ出力する。第２層のニューロンＮ２１，Ｎ２２は、入力に、対応する重み係数ｗ２が乗算された特徴ベクトルを第３層へ出力する。第３層のニューロンＮ３１，Ｎ３２，Ｎ３３は、入力に、対応する重み係数ｗ２が乗算された特徴ベクトルを結果（即ち、出力データ）ｙ１，ｙ２，ｙ３として出力する。誤差逆伝播法（バックプロパゲーション）では、重み係数ｗ１，ｗ２，ｗ３は、結果ｙ１，ｙ２，ｙ３と教師データｔ１，ｔ２，ｔ３との差分を小さくするように重み係数ｗ１，ｗ２，ｗ３を最適な値に更新する。
【００３０】
「強化学習」は、現在の状態を観測し、取るべき行動を決定する学習方法である。「強化学習」では、行動又は動作するたびに報酬が帰ってくる。そのため、報酬が最も高くなるような行動又は動作を学習するこができる。例えば、作業者３１とロボット３２との間の距離情報は、距離が大きくなると接触する可能性が小さくなる。つまり、距離が大きくなるほど大きい報酬を与えることにより、報酬を最大化するように、ロボット３２の動作を決定することができる。また、ロボット３２の加速度の大きさが大きいほど、作業者３１と接触した場合に作業者３１へ与える影響度が大きいため、ロボット３２の加速度の大きさが大きいほど、小さな報酬を設定する。また、ロボット３２の加速度と力が大きいほど、作業者３１と接触した場合に作業者３１へ与える影響度が大きいため、ロボット３２の力が大きいほど、小さな報酬を設定する。そして、学習結果をロボット３２の動作にフィードバックする制御を行う。
【００３１】
これらの学習方法、つまり、「教師なし学習」、「教師あり学習」、「強化学習」などを組み合わせて用いることにより、学習を効率的に行い、良い結果（ロボット３２の行動）を得ることができる。後述する学習装置も、これら学習方法を組み合わせて用いたものである。
【００３２】
作業分解部１１２は、センサ部２０で得られた時系列の画像の相互の一致性又は行動パターンの一致性などに基づいて、一連の作業を個々の作業工程へ分解し、一連の作業の切れ目のタイミング、すなわち、一連の作業を個々の作業工程に分解するときの分解位置を示すタイミングを出力する。
【００３３】
学習装置１１３は、第１及び第２の骨格情報４１，４２と学習データＤ１として記憶されている作業者３１の属性情報である作業者属性情報５３とを用いて、作業者３１の習熟度、疲労度、及び作業速度（つまり、協調レベル）などを推定する（図２におけるステップＳ３）。「作業者属性情報」とは、作業者３１の年齢及び作業経験年数など作業者３１の経歴情報と、身長、体重、視力などの作業者３１の身体的な情報と、作業者３１のその日の作業継続時間及び体調などが含まれる。作業者属性情報５３は、予め（例えば、作業の開始前に）記憶部１２に格納される。深層学習では、多層構造のニューラルネットワークが使われ、様々な意味を持つニューラル層（例えば、図４における第１層〜第３層）で処理が行われる。例えば、作業者３１の行動パターンを判定するニューラル層は、計測データが教師データと大きく異なる場合に、作業の習熟度が低いと判定する。また、例えば、作業者３１の特性を判定するニューラル層は、作業者３１の経験年数が短い場合又は作業者３１が高齢である場合に、経験レベルが低いと判定する。多数のニューラル層の判定結果を重み付けすることより、最終的に、作業者３１の総合的な習熟度が求められる。
【００３４】
同じ作業者３１であっても、その日の作業継続時間が長い場合は、疲労度が高くなり集中力に影響を与える。さらに、疲労度はその日の作業時刻又は体調によっても変化する。一般に、作業を開始した直後又は午前中は、疲労度が少なく高い集中力で作業を行うことができるが、作業時間が長くなるにつれて集中力が低下し作業ミスを起こしやすくなる。また、作業時間が長くても、就業時間が終了する直前には、逆に集中力が高まることが知られている。
【００３５】
得られた習熟度及び疲労度は、作業者３１とロボット３２の接触可能性を推測するときの判定基準である距離閾値Ｌの決定に用いる（図２におけるステップＳ４）。
【００３６】
作業者３１の習熟度が高く技能が上級レベルと判断された場合、作業者３１とロボット３２との間の距離閾値Ｌを小さめに設定（つまり、低い値Ｌ１に設定）することにより、不必要なロボット３２の動作の減速及び停止を防ぎ、作業効率を高めることができる。逆に、作業者３１の習熟度が低く技能が初級レベルと判断された場合、作業者３１とロボット３２との間の距離閾値Ｌを大きめに設定（つまり、低い値Ｌ１よりも高い値Ｌ２に設定）することにより、不慣れな作業者３１とロボット３２との接触事故を未然に防ぐことができる。
【００３７】
また、作業者３１の疲労度が高い場合は、距離閾値Ｌを大きめに設定（つまり、高い値Ｌ３に設定）することにより互いに接触し難くなる。逆に、作業者３１の疲労度が低く集中度が高い場合は、距離閾値Ｌを小さめに設定（つまり、高い値Ｌ３より低い値Ｌ４に設定）して不必要なロボット３２の動作の減速及び停止を防ぐ。
【００３８】
また、学習装置１１３は、作業者３１の行動パターンである作業パターンとロボット３２の動作パターンである作業パターンの時系列の全体的な関係を学習し、現在の作業パターンの関係を学習で得られた作業パターンと比較することにより、作業者３１とロボット３２の協働作業の協調の度合いである協調レベルを判定する。協調レベルが低い場合、作業者３１及びロボット３２のいずれか一方の作業が他方より遅れていると考えることができるため、ロボット３２の作業速度を速くする必要がある。また、作業者３１の作業速度が遅い場合は、作業者３１に対して、効果的な情報を提示することにより、作業を速めることを促す必要がある。
【００３９】
このように、学習部１１は、理論又は計算式では算出が困難な、作業者３１の行動パターン、習熟度、疲労度、協調レベルを、機械学習を用いることによって求める。そして、学習部１１の学習装置１１３は、得られた習熟度及び疲労度などに基づいて、作業者３１とロボット３２の接触判定を推測するときに用いる基準値である距離閾値Ｌを決定する。決定された距離閾値Ｌを用いることにより、作業者３１の状態及び作業状況に合わせて、不必要にロボット３２を減速又は停止させることなく、作業者３１とロボット３２とが互いに接触することなく且つ効率的に作業を進めることができる。
【００４０】
〈動作空間生成部１３〉
図５（Ａ）から（Ｅ）は、監視対象の骨格構造と動作空間の例を示す概略斜視図である。動作空間生成部１３は、作業者３１及びロボット３２の個々の形状に合わせて仮想的な動作空間を形成する。
【００４１】
図５（Ａ）は、作業者３１又は人型双腕型のロボット３２の第１及び第２の動作空間４３，４４の例を示す。作業者３１は、頭部３０１と、肩３０２、肘３０３、手首３０４の各関節とを用いて、頭部３０１を頂点とした三角形の平面（例えば、平面３０５〜３０８）を作る。そして、作成した三角形の平面を結合し、多角形の錐体（ただし、底面は平面でない）の頭部周り以外の空間を構成する。作業者３１の頭部３０１は、ロボット３２に接触した場合の作業者３１への影響度が大きい。このため、頭部３０１の周りの空間は、頭部３０１を完全に覆うような四角柱の空間とする。そして、図５（Ｄ）に示されるように、多角形の錐体の空間（すなわち、頭部周り以外の空間）と四角柱の空間（すなわち、頭部周りの空間）とを組み合わせた仮想的な動作空間を生成する。頭部の四角柱の空間は、四角柱以外の多角柱の空間とすることも可能である。
【００４２】
図５（Ｂ）は、単純アーム型のロボット３２の動作空間の例を示す。アームを構成する３つの関節Ｂ１，Ｂ２，Ｂ３を含む骨格によって形成される平面３１１を、平面３１１の垂直方向に移動させて平面３１２と平面３１３を作成する。移動させる幅は、ロボット３２が動く速度、ロボット３２が他の物体に付与する力、ロボット３２の大きさなどに応じて、予め決定する。この場合、図５（Ｅ）に示されるように、平面３１２と平面３１３を上面と底面として作成された四角柱が動作空間となる。ただし、動作空間は、四角柱以外の多角柱の空間とすることも可能である。
【００４３】
図５（Ｃ）は、多関節型のロボット３２の動作空間の例を示す。関節Ｃ１，Ｃ２，Ｃ３から平面３２１を、関節Ｃ２，Ｃ３，Ｃ４から平面３２２を、関節Ｃ３，Ｃ４，Ｃ５から平面３２３を作成する。図５（Ｂ）の場合と同様に、平面３２２を平面３２２の垂直方向に移動させて平面３２４と平面３２５を作り、平面３２４と平面３２５を上面と底面とする四角柱を作成する。同様に、平面３２１及び平面３２３の各々からも四角柱を作成し、これらの四角柱を組み合わせたものが動作空間となる（図２におけるステップＳ５）。ただし、動作空間は、四角柱以外の多角柱の空間の組み合わせとすることも可能である。
【００４４】
なお、図５（Ａ）から（Ｅ）に示される動作空間の形状及び形成手順は、例にすぎず、種々の変更が可能である。
【００４５】
〈距離算出部１４〉
距離算出部１４は、動作空間生成部１３が生成した、作業者３１又はロボット３２の仮想的な第１及び第２の動作空間４３，４４（図１におけるＤ４）から、例えば、第２の動作空間４４と作業者３１の手との間の第２の距離４６、及び第１の動作空間４３とロボット３２のアームとの間の第１の距離４５を算出する（図２におけるステップＳ６）。具体的には、ロボット３２のアームの先端部から作業者３１までの距離を算出する場合、図５（Ａ）の第１の動作空間４３の錐体部分を構成する平面３０５〜３０８の各々からロボット３２のアームの先端までの垂直方向の距離、図５（Ａ）の第１の動作空間４３の四角柱（頭部）部分を構成する各面からアームの先端まで垂直方向の距離を算出する。同様に、作業者３１の手からロボット３２までの距離を算出する場合、第２の動作空間４４の四角柱を構成する各平面から手までの垂直方向の距離を算出する。
【００４６】
このように、作業者３１又はロボット３２の形状を単純な平面の組み合わせで模擬し、仮想的な第１及び第２の動作空間４３，４４を生成することにより、センサ部２０に特殊な機能を持たせることなく、監視対象までの距離を少ない演算量で算出することができる。
【００４７】
〈接触予測判定部１５〉
接触予測判定部１５は、距離閾値Ｌを用いて第１及び第２の動作空間４３，４４と作業者３１又はロボット３２との干渉の可能性を判定する（図２におけるステップＳ７）。距離閾値Ｌは、学習部１１による判定の結果である学習結果Ｄ２に基づいて決定される。したがって、距離閾値Ｌは、作業者３１の状態（例えば、習熟度、疲労度など）又は作業状況（例えば、協調レベルなど）に応じて変化する。
【００４８】
例えば、作業者３１の習熟度が高い場合、その作業者３１はロボット３２との協働作業に慣れており、互いの作業テンポを把握していると考えられるため、距離閾値Ｌを小さくしてもロボット３２と接触する可能性は低い。一方、習熟度が低い場合、その作業者３１はロボット３２との協働作業に不慣れであり、作業者３１の不用意な動きなどにより、熟練者の場合よりもロボット３２と接触する可能性が高くなる。そのため、互いに接触することのないように、距離閾値Ｌを大きくする必要がある。
【００４９】
また、同一の作業者３１においても、体調が悪いとき又は疲労度が高いときは、作業者３１の集中力が低下するため、ロボット３２との距離が通常と同じ場合でも接触する可能性が高くなる。そのため、距離閾値Ｌを大きくして、ロボット３２と接触する可能性があることを通常より早く伝える必要がある。
【００５０】
〈情報提供部１６〉
情報提供部１６は、光による図形の表示、光による文字の表示、音、振動など様々なモーダルを用いて、すなわち、人間の五感などによる感覚の情報を組み合わせたマルチモーダルにより、作業者３１へ情報を提供する。例えば、接触予測判定部１５が、作業者３１とロボット３２が接触すると予測した場合、作業机の上に警告のためのプロジェクションマッピングを行う。警告をより気づきやすく且つ分かりやすく表現するため、図６（Ａ）及び（Ｂ）に示されるように、動作空間４４とは反対向きの大きな矢印４８をアニメーション表示して、作業者３１がとっさに直感的に矢印４８方向に手を移動させる動作を促す。また、作業者３１の作業速度が、ロボット３２の作業速度より遅い場合又は製造工場における目標作業速度を下回る場合、その内容を作業の邪魔にならない形で効果的に言葉４９で提示することにより、作業を速めることを作業者３１へ促す。
【００５１】
〈機械制御部１７〉
機械制御部１７は、接触予測判定部１５において接触する可能性があると判定された場合、ロボット３２へ減速、停止、又は退避などの動作指令を出力する（図２におけるステップＳ８）。退避動作は、作業者３１とロボット３２が接触しそうな場合、ロボット３２のアームを作業者３１と反対の方向へ動かす動作である。作業者３１は、このロボット３２の動作を見ることにより、自分の動作が間違っていることを認識しやすくなる。
【００５２】
〈ハードウェア構成〉
図７は、実施の形態１に係る３次元空間監視装置１０のハードウェア構成を示す図である。３次元空間監視装置１０は、例えば、製造工場におけるエッジコンピュータとして実装される。或いは、３次元空間監視装置１０は、現場フィールドに近い製造機器に組み込まれたコンピュータとして実装される。
【００５３】
３次元空間監視装置１０は、情報処理手段であるプロセッサとしてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１、情報記憶手段としての主記憶部（例えば、メモリ）４０２、画像情報処理手段としてのＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０３、情報記憶手段としてのグラフィックメモリ４０４、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インターフェース４０５、外部記憶装置としてのハードディスク４０６、ネットワーク通信手段としてのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｏｗｏｒｋ）インターフェース４０７、及びシステムバス４０８を備える。
【００５４】
また、外部機器／コントローラ２００は、センサ部、ロボットコントローラ、プロジェクタディスプレイ、ＨＭＤ（ヘッドマウントディスプレイ）、スピーカ、マイク、触覚デバイス、ウェアラブルデバイスなどを含む。
【００５５】
ＣＰＵ４０１は、主記憶部４０２に格納された機械学習プログラムなどを実行するためのもので、図２に示す一連の処理を行う。ＧＰＵ４０３は、情報提供部１６が作業者３１へ表示するための２次元又は３次元グラフィック画像を生成する。生成された画像はグラフィックメモリ４０４へ格納され、Ｉ／Ｏインターフェース４０５を通して外部機器／コントローラ２００のデバイスへ出力される。ＧＰＵ４０３は、機械学習の処理を高速化するためにも活用できる。Ｉ／Ｏインターフェース４０５は、学習データを格納するハードディスク４０６及び、外部機器／コントローラ２００に接続され、様々なセンサ部、ロボットコントローラ、プロジェクタ、ディスプレイ、ＨＭＤ、スピーカ、マイク、触覚デバイス、ウェアラブルデバイスへの制御又は通信のためのデータ変換を行う。ＬＡＮインターフェース４０７は、システムバス４０８に接続され、工場内のＥＲＰ（Ｅｎｔｅｒｐｒｉｓｅ  Ｒｅｓｏｕｒｃｅｓ  Ｐｌａｎｎｉｎｇ）、ＭＥＳ（Ｍａｎｕｆａｃｔｕｒｉｎｇ  Ｅｘｅｃｕｔｉｏｎ  Ｓｙｓｔｅｍ）又はフィールド機器と通信を行い、作業員情報の取得又は機器の制御などに使用される。
【００５６】
図１に示される３次元空間監視装置１０は、ソフトウェアとしての３次元空間監視プログラムを格納するハードディスク４０６又は主記憶部４０２と、３次元空間監視プログラムを実行するＣＰＵ４０１とを用いて（例えば、コンピュータにより）実現することができる。３次元空間監視プログラムは、情報記録媒体に格納されて提供されることができ、又は、インターネットを経由したダウンロードによって提供されることもできる。この場合には、図１における学習部１１、動作空間生成部１３、距離算出部１４、接触予測判定部１５、情報提供部１６、及び機械制御部１７は、３次元空間監視プログラムを実行するＣＰＵ４０１によって実現される。なお、図１に示される学習部１１、動作空間生成部１３、距離算出部１４、接触予測判定部１５、情報提供部１６、及び機械制御部１７の一部を、３次元空間監視プログラムを実行するＣＰＵ４０１によって実現してもよい。また、図１に示される学習部１１、動作空間生成部１３、距離算出部１４、接触予測判定部１５、情報提供部１６、及び機械制御部１７を、処理回路によって実現してもよい。
【００５７】
〈効果〉
以上に説明したように、実施の形態１によれば、第１の監視対象と第２の監視対象との接触可能性を高い精度で判定することができる。
【００５８】
また、実施の形態１によれば、学習結果Ｄ２に基づいて距離閾値Ｌを決定しているので、作業者３１とロボット３２の接触可能性を、作業者３１の状態（例えば、習熟度、疲労度など）及び作業状況（例えば、協調レベルなど）に合わせて適切に予測することができる。よって、不必要なときにロボット３２の停止、減速、退避が生じる状況を減らすことができ、必要なときにロボット３２の停止、減速、退避を確実に行うことができる。また、不必要なときに作業者３１に注意喚起情報を提供する状況を減らすことができ、必要なときに作業者３１に確実に注意喚起情報を提供することができる。
【００５９】
また、実施の形態１によれば、作業者３１とロボット３２の距離を動作空間を用いて算出しているので、演算量を減らすことができ、接触可能性の判定に要する時間を短縮できる。
【００６０】
実施の形態２
図８は、実施の形態２に係る３次元空間監視装置１０ａ及びセンサ部２０の構成を概略的に示す図である。図８において、図１に示される構成要素と同一又は対応する構成要素には、図１に示される符号と同じ符号が付される。図９は、実施の形態２に係る３次元空間監視装置１０ａの学習部１１ａの構成例を概略的に示すブロック図である。図９において、図３に示される構成要素と同一又は対応する構成要素には、図３に示される符号と同じ符号が付される。実施の形態２に係る３次元空間監視装置１０ａは、学習部１１ａが学習装置１１４をさらに備えた点及び情報提供部１６が学習部１１ａからの学習結果Ｄ９に基づいた情報を提供する点が、実施の形態１に係る３次元空間監視装置１０と相違する。
【００６１】
図９に示されるデザインガイド学習データ５４は、作業者３１が容易に認識することができるデザインの基本ルールが格納された学習データである。デザインガイド学習データ５４は、例えば、作業者３１が気づきやすい配色、作業者３１が判別しやすい背景色と前景色の組み合わせ、作業者３１が読みやすい文字の量、作業者３１が認識しやすい文字の大きさ、作業者３１が理解しやすいアニメーションの速度などが格納された学習データＤ１である。例えば、学習装置１１４は、「教師あり学習」を用いて、デザインガイド学習データ５４と画像情報５２とから、作業者３１の作業環境に応じて、作業者３１が識別しやすい表現手段又は表現方法を求める。
【００６２】
例えば、学習装置１１４は、作業者３１へ情報提示するときの色使いの基本ルールとして、以下のルール１〜３を用いる。
（ルール１）青色は「問題なし」。
（ルール２）黄色は「注意」。
（ルール３）赤色は「警告」。
このため、学習装置１１４は、提示する情報の種別を入力して学習を行うことにより、使用すべき推奨の色を導き出す。
【００６３】
また、学習装置１１４は、緑又は灰色など暗い色（つまり、黒に近い色）の作業机へプロジェクションマッピングする場合、白系統の明るい文字色にしてコントラストをはっきりさせることにより識別しやすい表示を行うことができる。学習装置１１４は、作業机の色画像情報（背景色）から学習を行い、最も好ましい文字色（前景色）を導き出すこともできる。一方、学習装置１１４は、作業机の色が白系統の明るい色の場合は、黒系統の文字色を導き出すこともできる。
【００６４】
プロジェクションマッピングなどで表示する文字サイズは、警告表示の場合、大きな文字を用いて一目で識別できる表示にする必要がある。このため、学習装置１１４は、表示内容の種別又は表示する作業机の大きさを入力して学習することにより、警告に適した文字サイズを求める。一方、学習装置１１４は、作業指示内容又はマニュアルを表示する場合は、全ての文字が表示領域に収まるような最適な文字の大きさを導き出す。
【００６５】
以上に説明したように、実施の形態２によれば、デザインルールの学習データを用いて、表示する色情報又は文字サイズなどを学習することにより、環境が変化しても作業者３１が直感的に識別しやすい情報表現手法を選択することができる。
【００６６】
なお、実施の形態２は、上記以外の点に関して、実施の形態１と同じである。
【符号の説明】
【００６７】
１０，１０ａ  ３次元空間監視装置、  １１  学習部、  １２  記憶部、  １２ａ  学習データ、  １３  動作空間生成部、  １４  距離算出部、  １５  接触予測判定部、  １６  情報提供部、  １７  機械制御部、  ２０  センサ部、  ３０  共存空間、  ３１  作業者（第１の監視対象）、  ３１ａ  作業者の画像、  ３２  ロボット（第２の監視対象）、  ３２ａ  ロボットの画像、  ４１  第１の骨格情報、  ４２  第２の骨格情報、  ４３，４３ａ  第１の動作空間、  ４４，４４ａ  第２の動作空間、  ４５  第１の距離、  ４６  第２の距離、  ４７  表示、  ４８  矢印、  ４９  メッセージ、  １１１  学習装置、  １１２  作業分解部、  １１３  学習装置、  １１４  学習装置。
【要約】
３次元空間監視装置（１０）は、第１の監視対象（３１）の第１の計測情報（３１ａ）と第２の監視対象（３２）の第２の計測情報（３２ａ）とから第１の監視対象と第２の監視対象の動作パターンを機械学習することによって学習結果を生成する学習部（１１）と、第１の監視対象（３１）の第１の動作空間（４３）と第２の監視対象（３２）の第２の動作空間（４４）とを生成する動作空間生成部（１３）と、第１の監視対象（３１）から第２の動作空間（４４）までの第１の距離（４５）と第２の監視対象（３２）から第１の動作空間（４３）までの第２の距離（４６）を算出する距離算出部（１４）と、学習結果（Ｄ２）に基づいて距離閾値（Ｌ）を決定し、第１及び第２の距離（４５，４６）と距離閾値（Ｌ）に基づいて第１の監視対象（３１）と第２の監視対象（３２）との接触可能性を予測する接触予測判定部（１５）とを備え、接触可能性に基づく処理を実行する。【図１】
0006403920.tif 000002
【図２】
0006403920.tif 000003
【図３】
0006403920.tif 000004
【図４】
0006403920.tif 000005
【図５】
0006403920.tif 000006
【図６】
0006403920.tif 000007
【図７】
0006403920.tif 000008
【図８】
0006403920.tif 000009
【図９】
0006403920.tif 000010