以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
図1は、実施形態の生産性向上支援システムの機能構成を説明するための説明図である。
この生産性向上支援システム1(以下単に、システム1と称することもある)は、サーバー10と、サーバー10に接続されたカメラ20と、サーバー10との間で通信を行う端末31および端末32を有する。
サーバー10はその機能として、取得部11、検出部12、判定部13、通知部14、および記録出力部15を有する。
取得部11は、加工機などの設備50と接続されており、設備50の稼働状態を取得する。設備50の稼働状態は、設備50から稼働状態を示す信号が出力されている場合はその信号を取得すればよい。また、たとえば、設備50に備え付けられている積層信号灯51のスイッチング信号から取得することもできる。積層信号灯51は、3色積層灯、シグナルタワーなどとも称されており、その多くは、緑色、黄色、赤色の3色のランプが設備50の稼働状態に合わせて発光する。通常、設備50が正常に稼働中の場合は緑色、正常に停止中の場合は黄色、不具合発生時には赤色となるように設定されている。サーバー10と設備50との接続は有線だけでなく、無線によるものであってもよい。
設備50の稼働状態の取得は、カメラ20の映像からも取得可能である。カメラ20の撮影領域に積層信号灯51が入るようにする。そしてカメラ20の映像の中から積層信号灯51の発光色を検知する。これにより設備50とサーバー10を接続することなく、設備50の稼働状態を取得することができる。この場合、カメラ20は設備50の稼働状態を取得する取得部11の一部の機能を担うものとなる。
検出部12は、カメラ20の映像から作業者の位置および向きを検出する。
図2は、設備に対する作業者の位置と向きを説明するための説明図である。
カメラ20は、設備50を含む撮影領域40を撮影する位置に設置される。この撮影領域40を作業領域ともいう。そして、カメラ20の映像から作業者の位置および向きを検出する。
作業者の位置および向きの検出には、既存の技術を用いることができる。たとえば、オープンポーズ(Open Pose(https://github.com/CMU-Perceptual-Computing-Lab/openpose など参照))、ディープポーズ(Deep Pose(https://www.slideshare.net/mitmul/deeppose-human-pose-estimation-via-deep-neural-networks など参照))など2次元の映像(動画)から人の骨格を推定して姿勢を認識する技術(以下、骨格認識技術という)を用いることができる。また、骨格認識技術としては、他にも、たとえばマイクロソフト社のキネクト(登録商標)など、デプスカメラ(RBG-Dカメラ)やTOF(Time of Flight)を使用した技術を用いることができる。
骨格認識技術は2次元の映像から人の姿勢を判断できるので、いわゆるムービーカメラを用いるだけで、作業者の位置および向きの検出が可能となる。このためシステム1の構成が簡単になるので好ましい技術である。
まず、骨格認識技術を用いた作業者の位置の検出は、撮影領域40の中に、図2に示すように、第1領域41と第2領域42を設定する。第1領域41は設備50の付近ではあるが設備50に対して直接作業できない(手の届かない)範囲である。第2領域42は設備50に対して作業者が直接作業できる範囲であり、作業者が手を伸ばせば設備50に届く範囲である。この第2領域42は、後述する判定において設備を含む所定領域となる。
具体的には、上述した骨格認識技術においては、映像の中にいる骨格認識した人の3次元での位置を特定可能である。したがって、各領域は、たとえば、カメラ20からの映像の中に、あらかじめ上述した骨格認識技術に対応した3次元座標系を設定しておき、第1領域41および第2領域42の範囲を、その3次元座標系内に3次元の座標値として設定する。
このとき、まず、第2領域42を設備50の周囲に、設備50の外面(たとえば操作パネルや外面の扉、原材料供給口、アクセスパネルなどがある部分)から水平方向に、たとえば1m程度の範囲(図示bの範囲)に設定する。そして第1領域41を、この第2領域42の外周端からさらに外側に1m程度の範囲(図示aの範囲)に設定する。もちろん、このような具体的な範囲はあくまでも一例であり、任意に設定すればよい。
また、2次元座標系を用いることもできる。たとえば、カメラ20を、作業者の上(斜め上方からでもよい)から撮影する位置に設置する。つまり、カメラ20で撮影された映像から、設備50からの水平距離がわかる位置にカメラ20を設置するのである。そのうえで、映像の中に2次元座標系を設定し、上記同様に第1領域41および第2領域42を2次元座標系の中に座標値として設定する。
そして、作業者の位置の検出は、骨格認識技術を用いて得られた作業者の頭や肩などの要部骨格の座標値が、どの領域内に存在するか、または両方に存在しないかで判断する。第1領域41と第2領域42の境界を跨ぐように作業者がいる場合は、たとえば作業者の要部骨格が、より多く入っている方の領域に、その作業者がいるものとする。これにより作業者の位置がどちらの領域内かまたはどちらの領域にも存在しないかが検出される。
なお、このような作業者の位置の検出は、3次元座標系の場合も2次元座標系の場合も同様である。また、作業者の位置の検出には、頭や肩以外にもたとえば足の骨格からどの領域にいるかを判断してもよい。
検出部12は、さらに、作業者が第2領域42に存在する場合に、その作業者の向きも検出する。これも3次元座標系の場合も2次元座標系の場合も同様である。
骨格認識技術を用いた作業者の向きの検出は、頭や肩などの要部骨格に対して腕(特に肘から先の部分)が突出している方向が、その人が向いている方向であると判断できる。本実施形態では、少なくとも一方の腕の骨格が要部骨格に対して、設備50の方向に突出していれば、作業者が設備を向いていると判断する。これは設備に対しての作業中は、作業者の両腕が設備50の方向に突出している場合もあるが、片手作業のこともあるためである。片手作業とは、具体的にはたとえば、プログラムの設定変更や再起動などがある。このような作業は、設備の操作パネルに対して片手でも行い得る作業のため、もう一方の腕は作業者自身の身体に沿って下げていることがある。このような場合、一方の腕は設備50の方向に突出しているが、他方の腕は突出していないことになる。そこで、本実施形態では、上記のように、少なくとも一方の腕が設備を向いている場合には、作業者が設備を向いていると判断するものとした。
図2においては、実線で示した作業者30aは両腕が突出している方向が設備50の方向であるので設備50を向いていると判断できる。一方、点線で示した作業者30bは、両腕が設備50以外の方向(図では斜め後ろ向き)を向いている。このため作業者30bは、設備50の方を向いていないと判断できる。
複数の作業者が撮影領域40内にいる場合は、それぞれについて位置を検出し、さらに第2領域42内に複数いる場合は、それぞれの向きを検出する。
図1および図2においては、1つの設備50を含む作業領域をカメラ20の撮影領域40としているが、カメラ20の撮影領域40は、複数の設備50を一度に撮影できる範囲としてもよい。そのような場合、第1領域41および第2領域42はそれぞれの設備50ごとに設定することが好ましい。複数の設備50ごとに設定した第1領域41および第2領域42は設備50間で重複してもよい。たとえば、複数の設備がある場合に領域の重複する部分に作業者がいるとしても、本実施形態では、作業者の向きも含めて判定しているため、作業者がどの設備に対して作業しているか、または作業していないかを判定できる。
なお、ここでは第1領域41と第2領域42は排他的に設定しているが、第1領域41が第2領域42を包含するように設定してもよい。このような2つの領域の関係(排他的か包含するか)の違いは、後述する処理手順において若干の違いが出るだけでどちらにしてもよい。
判定部13は、設備50の稼働状態と、作業者の位置および向きの組み合わせパターンから、設備50に対する作業者による作業状態や人員の配置が適切な状態か否かを判定する。
ここで判定部13による判定基準となる、設備50の稼働状態と、作業者の位置および向きの関係について説明する。
本実施形態では、既に説明したように、設備50の稼働状態は、積層信号灯51の色に対応している。したがって、ここでは、設備50の稼働状態を積層信号灯51の色によって分類する。以下、設備50の稼働状態と作業者の関係を説明する。
「緑色」は、正常に稼働している状態である。通常、このような状態においては、設備50に対する作業者による作業は不要である。したがって、「緑色」の場合は、設備50の方向を向いた作業者がいる場合、不適切となる。
「黄色」は、正常に停止して非稼働中(停止中)であることを示しており、設備50に仕掛けた工程や作業が完了して、設備50が停止し、次の段取りを待っている状態である。たとえば、自動加工機などでは、次に行う加工のための原材料の投入やツールの交換、加工用プログラムやパラメーターの設定や変更などが必要で停止している状態である。これらの作業は、作業者が設備50に対面して行う必要がある。したがって、「黄色」の場合は、設備50の方向を向いた作業者がいない場合、不適切となる。
「赤色」は、異常停止して非稼働中(停止中)となったことを示しており、設備50に何らかの異常が発生した場合である。たとえば、自動加工機などでは、予期せぬ原材料切れや、冷却不良(または加熱不足)、ツール破損、加工用電力の停止、その他の故障などが起こった場合である。このような場合は、その設備50を修理する必要がある。したがって、設備50に対する作業者の対応が必要となる。修理対応のためには設備50に対面して作業者が作業を行うこと多いが、修理に必要なツールや部品を取りに行くなど、常時、設備50に対面しているとは限らない。このため「赤色」のときには、一時的に作業者が設備から離れる可能性もある。しかし、作業者が長時間、設備50付近にいないことは、修理対応されていない可能性もある。したがって、「赤色」の場合は、設備50の方向を向いた作業者がいない場合、不適切となる可能性がある。
消灯の場合は、正常、異常にかかわらず、非稼働中(停止中)である。この場合、設備を停止している理由は様々である。たとえば、原材料やツールの供給が間に合わずにやむを得ず停止している場合、また、元は黄色や赤色の点灯を作業者が消してしまった場合、さらに設備50の電源を落として計画的に停止されている場合などもある。これらの場合、作業者が設備50に対面して作業している場合は、設備50の復帰作業中であると考えられる。しかし、作業者が対面していない時間が長い場合は、復帰作業もなく放置されている可能性もある。したがって、「消灯」の場合は、設備50の方向を向いた作業者がいない場合、不適切となる可能性がある。ただし、計画的な停止においてはその旨を判定部13に記憶させることで、監視対象から除外してもよい。
上記の設備稼働状態と作業者の状態から、それらの組み合わせが適切な状態か否かを判定するパターンを決定する。図3は判定部13が判定する基準となる設備50の稼働状態と作業者の位置および向きの組み合わせパターンを示したマトリックス図である。
このマトリックス図では、横に設備50の稼働状態、縦に作業者の状態をとり、それぞれの組み合わせによって適切な状態か不適切な状態かを判定するために使用する。
ここでは、設備50の状態を積層信号灯51の色として説明するが、実際の処理では色ではなく、それぞれの稼働状態を示す符号などを使用してもよい。
緑色(正常稼働)においては、作業者が第2領域42内で設備50に向いている場合は、不適切な状態である。一方、作業者が第2領域42内で設備50に向いていない場合、第1領域41内にいる場合、第1領域41にも第2領域42にも存在しない場合は適切な状態である。
黄色(正常停止)においては、作業者が第2領域42内で設備50に向いている場合は、適切な状態である。一方、作業者が第2領域42内で設備50に向いていない場合、第1領域41内にいる場合、第1領域41にも第2領域42にも存在しない場合は不適切な状態である。
赤色(異常停止)においては、作業者が第2領域42内で設備50に向いている場合は、適切な状態である。一方、作業者が第2領域42内で設備50に向いていない場合、第1領域41内にいる場合、第1領域41にも第2領域42にも存在しない場合は不適切な可能性のある状態である。これは、上記のように作業者が設備50に対面していないことだけをもって不適切となるものではない。このため不適切である可能性(以下、「不適切可能性」という)があると判定する。
消灯(停止中)においては、作業者が第2領域42内で設備50に向いている場合は、適切な状態である。一方、作業者が第2領域42内で設備50に向いていない場合、第1領域41内にいる場合、第1領域41にも第2領域42にも存在しない場合は不適切な可能性のある状態である。しかし、消灯の場合は、既に説明したように、作業者が設備50に対面していないことだけをもって不適切となるものではない。そこで、赤色同様に、不適切である可能性があると判定する。
なお、複数の作業者が撮影領域40内に存在する場合は、黄色、赤色、および消灯では、適切な状態を満たす組み合わせになる作業者が1人でもいれば、適切と判定する(不適切としない)。一方、緑色では、不適切な状態を満たす組み合わせになる作業者が1人でもいれば、不適切と判定する。もちろん、このような複数の作業者が存在する場合の判定内容は、装置に対する作業内容に合わせて設定すればよい。
通知部14は、判定部13の判定結果が不適切となった場合に、その結果を端末31および32に通知する。その際、不適切となった設備50を特定する情報(たとえば設備50のID番号、設備名称など)を一緒に通知する。また、作業領域を撮影している場合は不適切の判定結果とそのときの映像を紐付けして記録出力部15に記憶しておいて、その映像を一緒に送信する。
通知部14からの不適切の通知は、端末31および32へ送られる。端末31は作業者30aおよび30bが携帯できる、たとえばスマートフォンやタブレットなどの情報端末であり、画像を表示し得る端末であることが好ましい。端末32も同様に画像表示可能な端末であり、たとえば、端末31同様にスマートフォンやタブレットでもよいし、ノートパソコンやデスクトップパソコン、その他コンソール式コンピューターや工程管理装置などであり、作業者30cが見たり操作したりできる端末である。ここでは、作業者30aおよび30bはたとえば設備50がある現場を行き来している作業者であり、作業者30cはたとえば工程管理業務などを行う作業者(管理者)である。
端末31として上記の情報端末を用いる場合、通知部14との間は、無線通信とすることが好ましく、たとえば無線LAN(Local Area Network)(WiFiともいわれている)や携帯電話回線を利用することができる。一方、端末32とは、同様の無線通信でもよいし、有線のLANであってもよい。
図4は、端末への通知例を説明する説明図である。ここではスマートフォンを例に説明する。図4では、積層信号灯51に黄色が点灯し、設備50近くに作業者がいないことで不適切通知を行った場合の通知例である。図示するように、端末31のスクリーン301に、設備番号「#×××」、稼働状態「黄」、不適切である旨とその理由「不適切:作業者不存在」が文字情報として表示される。さらにスクリーン301には、その設備50を含む撮影領域40の映像が映し出される。もちろん、端末31以外の端末32へも、同様に、設備番号、稼働状態、不適切の判定結果と、設備50を含む映像データを送信する。
このとき送信する映像データは、たとえば、不適切と判定された時点の映像データとして静止画でもよいし、また、不適切と判定された時点以降のカメラ20が撮影しているリアルタイムの映像データ(ライブ映像の動画)を端末31および32へ送信してもよい。特に、リアルタイムのライブ映像を送信することで、不適切と判定された以降の設備50周辺における作業者の有無を映像で確認することができる。なお、不適切と判定された以降のライブ映像は、判定部による不適切の判定が解消された時点で送信を終了してもよい。この場合、端末31または32からライブ映像送信のリクエストがあれば送信を再開してもよい。または、ライブ映像停止の指示が端末31または32からサーバー10(通知部14)へあるまで(不適切状態が解消した後も)継続してもよい。
これにより端末31および32を見た作業者30a~30cは、不適切と判定された状態と、その設備付近の作業者の状態を的確に判断することができる。
たとえば、端末31を見た作業者30aまたは30bは、設備50の状態とその位置から、黄色になっている設備50に駆けつけることができる。たとえば第1領域41にいたり、第2領域42にいて設備に向いていない場合などは、即刻その設備に対しての作業に移ることも可能になる。また、端末32を見た作業者30cが管理者として設備50へ、他の作業者を急行させることも可能になる。
記録出力部15は、設備50の稼働状態、作業者の位置および向き、判定部13の判定結果を記録する。また、記録出力部15は、カメラ20からの映像も記録する(記録部となる)。そして後からこれらのデータを取り出して見られるように出力する(出力部となる)。
設備50の稼働状態、作業者の位置および向き、判定部13の判定結果は、それぞれを時系列に並べて表示することでわかりやすくなる。図5は、設備50の稼働状態、作業者の位置および向き、判定部13の判定結果を時系列に並べたタイムチャートの一例を示すタイムチャート図である。このタイムチャートの横軸は時間である。
タイムチャートは、図示するように、判定結果が不適切の状態、設備50の稼働状態、作業者の位置および向きがそれぞれ時系列に表示される。ここで図示したタイムチャートの中の一部分を例に、タイムチャートから分析される内容を説明する。図において、「バーB番号」は説明に必要なバーにのみ、発生時刻の早い順に付した。
このタイムチャートを見ると、判定結果不適切の項目にあるバーB4から、14:50に不適切な状態が発生していることがわかる。このような不適切な状態の発生要因を分析する。
タイムチャートを見ると、正常稼働を示す緑色の項目のバーB1が続いたのち、14:50に、稼働状態が黄色になったことがバーB3からわかる。また、バーB1が続いている間、第1領域の項目のバーB2から、作業者が第1領域41にいたことがわかる。バーB1とバーB2が重なる時間帯(8:10~14:50)は、適切な状態である。
そして、設備50の稼働状態が緑色から黄色に変化してバーB3が発生しても、しばらくの間、バーB2が続いている。つまり、設備50の状態が黄色になったにも関わらず、作業者が設備50に向かっていない状態が発生している。このため、不適切な状態と判定されて、バーB4が記されたことが判明する。
その後、作業者の第2領域設備向きの項目のバーB5から作業者が第2領域42に来て設備50に向いたことがわかる。この時点(16:00)で、不適切な状態も解消している。したがって、バーB4もこの時点で終了している。
その後、僅かな時間消灯することが消灯の項目のバーB6からわかる。しかし、緑色の項目のバーB7から、消灯後すぐに正常稼働となったことがわかる。また、作業者は第2領域非設備向きの項目のバーB8から、設備が正常稼働後(バーB7の発生後)、すぐに設備以外の方向を向いていることがわかる。
その後、第1領域の項目のバーB9から、作業者が第1領域41に移動したことがわかる。これらから、バーB7の時間帯に対する作業者の位置および向きは適切であることがわかる。
さらに説明する。18:00過ぎ頃に、正常稼働である緑色(バーB7)から黄色になっている(バーB10)。その直後、作業者が設備50の方向を向いている(バーB11)。そして積層信号灯が不明な消灯となっている(バーB12)。この黄色(バーB10)になってから消灯(バーB12)までの間、設備に向かって作業者がいるため(バーB11)、不適切とはなっていない。当然にこの時間帯に不適切の項目にバーは存在しない。
その後、不明な消灯(バーB12)から計画的な消灯(バーB13)に変更されている。これは、たとえば作業者が設備50の電源を落とし、かつ、計画停止であることを記録したためである。その後、作業者は第1領域41に移って(バーB14)、さらに第1、2領域共に不在となる(バーB15)。バーB13の時間帯は、設備50に向かっている作業者がいないが、計画的な停止であることがわかっているため、適切な状態と判定されている。
計画停止については、サーバー10の判定部13に、予定として、または計画停止に入った時点で、その旨を記録する。計画停止中は、その設備50に対しての判定は行わないようにする。または、図3に示したマトリックス図には示していないが、計画停止が判定部13に記録された場合は、第1領域41および第2領域42に作業者がいる組み合わせを不適切のパターンとしてもよい。
このようなタイムチャートは、記録出力部15が通知部14を介して端末31および32へ出力することで、設備50の稼働時間だけでなく作業者の配置および向きを含めた分析がしやすくなる。
また、記録出力部15は、このようなタイムチャートと映像を紐付けして記憶している。そして、タイムチャートと共に(またはリクエストに応じて)、映像を端末31および32へ出力する。たとえば、作業者が持つ端末31および32にタイムチャートを表示させる。そして端末31および32からタイムチャートに示されているバー、たとえば不適切を示しているバーB4がクリック(またはタッチ)されることで、その時間帯(またはクリックした時間)の映像を端末31および32へ出力する。端末31および32ではその映像がスクリーンに表示させる。タイムチャートと映像の紐付けは、不適切と判定されている時間帯だけでもよいが、記憶容量の許す限りの映像を記憶しておいて、タイムチャートのどこかのバーまたは時間軸が指定されることで、それらを指定した端末31または32へ出力するようにしてもよい。
以上、本実施形態におけるサーバー10の機能を説明したが、サーバー10は一般的なコンピューターである。図6は、コンピューターであるサーバー10のハードウェア構成を示すブロック図である。
サーバー10(コンピューター)は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、および外部接続のためのインターフェース(IF)105を備える。そのほか図示しないが、キーボードやマウスなど入力装置、ディスプレイなどを備えていてもよい。このようなサーバー10としてのコンピューターの構成はあくまでも一例であり、たとえば、CPU101はマルチコアCPUであり、さらに特定の機能を専用に処理するCPUやGPU(Graphics Processing Unit)などを備えていてもよい。また、HDDに代えて他の不揮発性メモリを使用してもよい。そのほか周知のハードウェアを用いることができる。
そして、CPU101がHDD104に記憶されている上記した各機能を達成するためのプログラムを実行することで、各機能が実現される。このプログラムは後述する処理手順に基づき作成される。
また、HDD104は、CPU101の指令により、上述したタイムチャート作成に必要な設備50の稼働状態のデータ、および映像データを記憶する。
IF105は、設備50、カメラ20、端末31および32と、サーバー10との通信を行う。具体的には、たとえば、イーサネット(登録商標)、SATA、PCI Express、USB、IEEE1394などの規格によるネットワークインターフェース、Bluetooth(登録商標)、IEEE802.11などの無線通信インターフェースなどの各種ローカル接続インターフェースである。また、設備50およびカメラ20とはローカルなアナログ回線でもよい。端末31とは、無線LAN(WiFi)や携帯電話回線での接続が好ましい。また、端末32とは、同様の無線回線でもよいし、有線のネットワークによる接続でもよい。
なお、ROM102は通常のコンピューター同様に、サーバー10を起動させるために必要な基本プログラムを記憶している。また、RAM103は、CPU101のワークエリアとしてプログラムやデータを一時記憶する。
このようなコンピューターが上述した本実施形態による機能を達成のための処理手順を説明する。図7は、生産性向上支援の処理手順を示すメインルーチンのフローチャートである。図8は図7における判定部分の処理手順を示すサブルーチンのフローチャートである。
まず、サーバー10は、設備50の状態を取得する(S1)。ここでは、設備50の状態を積層信号灯51の色として判定処理に使用する。もちろん、設備50の状態は色以外で表されるものであってもよい。
続いて、サーバー10は、作業者の位置および向きを検出する(S2)。作業者の位置および向きの検出は、既に説明した通り周知の技術を使用する。このために必要なプログラムは、このS2の段階より前までに実行されて、その処理結果として位置および向きが検出される。このとき、カメラ20により作業現場を撮影している場合は、カメラ20からの映像も取得して、HDD104に記憶しておく。
続いて、サーバー10は、設備50の状態、および作業者の位置および向きの組み合わせから設備50と作業者の状態を判定する(S3)。この判定の処理手順は後述する。
続いて、サーバー10は、判定結果が不適切または不適切可能性となった場合(S4:YES)、各端末31および32へその旨を通知する(S5)。一方、判定結果が不適切または不適切可能性ではない、すなわち適切な場合(S4:NO)は、そのままS6へ進む。
続いて、サーバー10は、設備50の状態、作業者の位置、向き(映像)、および判定結果をHDD104へ記録する(S6)。このとき、不適切との判定結果が来ていれば、映像とその結果を紐付けして記憶する。その後、S1へ戻り、この処理手順を継続する。なお、この処理手順は繰り返し処理であるため、不適切の判定があった後、不適切な状態が解消されれば、不適切との判定結果も解消する。
次に、図8を参照して、判定の処理手順を説明する。この判定の処理手順は、上述した設備50の状態と作業者の位置および向きの組み合わせのパターンによる判定をコンピューターで処理できるように手順化したものである。
サーバー10は、設備50の状態を積層信号灯51の色により判断する(S11)。この判断の結果、緑色の場合、サーバー10は、第1領域41に作業者がいるか否かを判断する(S21)。ここで第1領域41に作業者がいる場合(S21:YES)、設備50付近に作業者がいることを認識する(S22)。このS22の段階は、作業者の適正配置を行う際に使用する。たとえば、他の設備50に不適切な状態が発生した場合に、正常稼働している設備50付近に作業者は不要であるからS22で認識した作業者に対して、優先的に他の設備50に不適切な状態が発生していることを通知するようにしてもよい。
サーバー10は、S21で第1領域41に作業者がいないと判断した場合(S21:NO)、またはS22に続いて、第2領域42に作業者がいるか否かを判断する(S23)。
第2領域42に作業者がいない場合(S23:NO)は、適正であるので、そのままリターンする。一方、第2領域42に作業者がいる場合(S23:YES)、サーバー10は、作業者が設備50の方向を向いているか否かを判断する(S24)。作業者が設備50の方向を向いていない場合は(S24:NO)、適正であるので、そのままリターンする。一方、作業者が設備50の方向を向いている場合は(S24:YES)、所定時間経過したか否かを判断する(S25)。ここで時間の経過を待つのは、設備50に対する動作とそれ以外の動作を誤認識しないためである。たとえば設備50の方向を向いたといっても、通りすがりに僅かな時間、設備50の方向を向くことがある。しかし、そのようなことは設備50に対しての動作ではないし、設備50の稼働率や作業者の適正配置に影響を与えるものでもない。そこで、このS24によって、このようなことを除外する。所定時間としては、正常稼働中の設備に向かっている作業者ができるだけいない方がよいので、所定時間は短い方がよい。しかし、作業者の移動にかかる時間、あるいは正常稼働になる前に行っていた作業の後片付けの時間なども考慮すれば、たとえば、1~5分程度である。このような時間待つことで、たまたま作業者が設備50の方を向いたような場合を除外できる。もちろんこの所定時間は、このような時間に限定されず、作業者の適正配置を考慮して決めればよい。
S25において、所定時間が経過していなければ(S25:NO)、メインルーチンへそのままリターンする。なお、所定時間のカウントは、このS25に入ったことでカウントを開始し、所定時間経過するまでは、繰り返しリターンして、再びS25に入ればカウントを継続する。しかし、カウントの途中で他の色に処理が移った場合および第2領域42から作業者がいなくなった場合(S23:NO)は、所定時間のカウントをリセットする。
S25において、所定時間が経過したなら(S25:YES)、サーバー10は判定結果を不適切とする(S26)。その後、メインルーチンへリターンする。したがって、リターン後、不適切の通知が行われる(S4:YES,S5)。
この場合における不適切な状態(正常稼働で設備50向きの作業者がいる)は、たとえば現場における余剰人員の可能性もあるので、人員の適正配置に役立てることができる。しかし、このような状態は余剰人員のためとは限らない。たとえば、たまたま通りかかった作業者が、設備50が異常停止(信号灯赤色)となるほどではないが、何らかの異常(異音、異臭、光、振動など)を感じて設備50を見ている可能性もある。したがって、正常稼働において不適切な状態が発生した場合は、作業者から聴取して、設備50の異常発生を未然に防ぐのに役立てることができる。
なお、このS21~S23の処理は、第1領域41および第2領域42を排他的に設定したため、S21:NOとなった場合、S23で第2領域42での作業者の有無を判断している。しかし、第1領域41に第2領域42が包含されるように設定してもよい。その場合の手順は、S21:NOとなれば、第1領域41にも第2領域42にも作業者がいないということになるので、そのままリターンする(すなわち適正の判定結果)。そして、S21:YESとなった場合に上述したS22以降の処理を行うようにする。
次に、S11の判断が黄色の場合、サーバー10は、第1領域41に作業者がいるか否かを判断する(S31)。第1領域41に作業者がいる場合(S31:YES)、設備50付近に作業者がいることを認識する(S32)。このS32の段階も、作業者の適正配置を行う際に使用する。ここでは、たとえば、非稼働中の設備50の近くに作業者がいると認識される。そこで、この後の処理(S33~S36)で、不適切と判定された場合に、このS32で認識された作業者に対して、近くの黄色となっている設備50へ向かうように、優先的に不適切の通知を行うようにしてもよい。
一方、サーバー10は、S31で第1領域41に作業者がいないと判断した場合(S31:NO)、またはS32に続いて、第2領域42における作業者の有無(S33)および向き(S34)を判断する。
第2領域42に作業者がいない場合は(S33:NO)、サーバー10は判定結果を不適切とする(S36)。リターン後、不適切の通知が行われることになる(S4:YES,S5)。
一方、第2領域42に作業者がいて(S33:YES)、設備50の方向を向いていれば(S34)、適正であるので、そのままリターンする。
第2領域42に作業者がいる場合に(S33:YES)、作業者の向きが設備50の方向を向いていない場合(S34:NO)、サーバー10は、所定時間経過したか否かを判断する(S35)。ここで時間の経過を待つのは、作業中に、僅かな時間設備50以外の方を向いたような場合に、それを不適切と判定してしまうのを除外するためである。ここでも所定時間としては、たとえば、1~3分程度である。もちろんこの所定時間も、作業者の適正配置、または黄色の点灯中における作業内容を考慮して決めればよい。また、この所定時間は、S25の所定時間と違っていてもよい。
S35において、所定時間が経過していなければ(S35:NO)、適正であるので、メインルーチンへそのままリターンする。なお、所定時間のカウントはS25同様であり、黄色以外の色へ処理が移った場合、第2領域42から作業者がいなくなった場合(S33:NO)は、所定時間のカウントをリセットする。
S35において、所定時間が経過したなら(S35:YES)、サーバー10は判定結果を不適切とする(S36)。その後、メインルーチンへリターンし、リターン後、不適切の通知が行われる(S4:YES,S5)。
ここでもS31~S33の処理は、第1領域41および第2領域42を排他的に設定したための流れとなっており、第1領域41に第2領域42が包含されるように設定した場合は、S31:NOとなれば、第1領域41にも第2領域42にも作業者がいないということになるので、すぐに不適切の判定とする。そして、S31:YESとなった場合に上述したS32以降の処理を行うようにする。
次に、S11の判断が赤色の場合は、処理の流れ(S41~46)は黄色の場合(S31~36)と同様であるので説明を省略する。ただし、赤色の場合は、S46の判定結果は不適切可能性となる。これは既に説明した通り、赤色の場合、修理対応などによっては設備50付近にいない場合(不適切ではない)もあるからである。したがって、判定結果は不適切可能性(S46)としている。また、S45において時間待ちをする所定時間は、既に説明した修理対応のために設備50から離れる時間が長くなる可能性があるので、それを考慮して、たとえばS35より長くしてもよい。
次に、S11の判断が消灯の場合も、処理の流れ(S51~56)は黄色の場合(S31~36)と同様であるので説明を省略する。また、消灯の場合は、赤色の場合と同様に、S56の判定結果は不適切可能性となる。また、S55における所定時間は、S35、およびS45と異なっていてもよく、たとえばS35、S45より長くしてもよい。
なお、フローチャートとしては図示していないが、消灯の場合は、上述のタイムチャートのところで説明したように、計画停止の場合もある。そこで、計画停止の指示が入っている場合(RAM103またはHDD104に計画停止の指示が記憶されている)、判定処理そのもの(S51~56)を実行しないか、または設備50付近に作業者がいないことを適切と判定するように処理手順を変えてもよい。
このような処理手順は、映像から骨格認識技術を用いて作業者の位置および向きを判断する場合、たとえば30フレーム/秒の映像において、1フレームごとに1回処理が回る(S1~6)ように行ってもよい(つまり映像の各フレームごとに判定する)。また、30フレーム/秒の映像において、数~数十フレームごとに行ってもよい。ただし、判定間隔があまりに長いと設備状態に合わせた判定ができなくなるので、1分未満の間に1回は判定することが好ましい。
(事例)
さらに事例を挙げて本実施形態を説明する。ここでは、設備50として数値制御工作機械(いわゆるNCマシン(numeral control machine))を例に説明する。数値制御工作機械は、多くの場合、1つの加工ごとに、その加工に適したプログラムを運転していて、1つの加工が終わるごとに、作業者が加工用プログラムの入れ替え後、起動する作業が必要となっている(入れ替えずに再起動する場合もある)。ここではこのようなプログラムの入れ替え、再起動を例に説明する。
<判定例:適切>
図9~11は、適切判定時の事例を説明するための説明図である。
図9に示すように、設備50の加工用プログラムが終了することで、積層信号灯51の黄色が点灯する。この状態をサーバー10が取得する。また、サーバー10はカメラ20から設備50を含む作業領域の映像も取得する。
続いて、図10に示すように、作業者が独自に積層信号灯51の黄色が点灯したことに気づき、次の加工のための加工用プログラムを起動する。この間、サーバー10は、カメラ20の映像から作業者30aが設備50に向いていることを認識する。したがって、不適切との判定は行われない(すなわち適切な状態と判定する。以下同様)。
続いて、図11に示すように、積層信号灯51の緑色が点灯する。この状態をサーバー10が取得する。また、サーバー10はカメラ20から設備50の周辺に作業者がいないと判断し、不適切との判定は行わない。たとえば、作業者30aは、別の作業に移るため作業領域から立ち去った後である。
<判定例:不適切>
図12~14は、不適切判定時の事例を説明するための説明図である。
図12に示すように、設備50の加工用プログラムが終了することで、積層信号灯51の黄色が点灯する。この状態をサーバー10が取得する。また、サーバー10はカメラ20から設備50を含む作業領域の映像も取得する。
その後、所定時間が経過しても作業者が現れない。このため、サーバー10は、不適切と判定し、図13に示すように、端末31および32へ不適切の通知を行う(たとえば、端末31では図4に示した画面表示が行われる)。
そして、端末31を見た作業者30aが、この設備50に駆けつけて、次の加工のための加工用プログラムを起動する。これにより、サーバー10は、図14に示すように、カメラ20の映像から作業者30aが設備50の方向に向いていることを認識する。したがって、不適切な状態は解消する。
その後は、図11に示したと同様の状態となれば、積層信号灯51の緑色が点灯し、作業者はいないので、サーバー10は不適切と判定しない。
以上説明した本実施形態によれば、以下の効果を奏する。
本実施形態では、設備50の稼働状態を取得すると共に、作業者の位置および向きを検出して、設備50の稼働状態と、作業者の位置および向きの組み合わせが適切な状態か不適切な状態かを判定し、不適切な状態であれば、その結果を作業者に通知することとした。これにより設備50の稼働状態に合わせて、作業者を適切に移動させることができるようになり、設備50が非稼働状態となっている時間を低減し、設備50の稼働率を上げて生産性を向上させることができる。
たとえば、作業現場において作業者が複数の設備50を扱っていたり、作業者が複数の作業を行っていたりする場合に、設備50での1つの工程(たとえば自動加工機による加工)の完了や設備停止に気づかず、運転再開や復旧作業が遅れ、結果として加工機の稼働率が下がっているケースがある。このようなケースにおいて本実施形態は特に効果を発揮する。すなわち、作業者が現場内での目視や音などから設備50での1つの工程の完了を見逃しているような場合に、本実施形態によって、そのような状態を不適切な状態と判定して、作業者が持っている端末31に通知することができる。作業者はその通知を見て設備50に行って、早期の運転再開や復旧作業を行うことができるようになる。これにより作業者の動作や配置を含めて設備50の稼働率を上げて、生産性を向上することができる。また、管理者として作業者30cなどが作業現場とは別にいる場合、その作業者30cが持つ端末32へも不適切状態が通知されるので、作業者30cは不適切と判定された設備へ他の作業者を急行させることができる。
また、実施形態では、作業者の位置だけでなく、向きを判定要素として判定することとした。不適切と判定する組み合わせは、設備50の状態を示す積層信号灯51が黄色や赤色で点灯している非稼働中において、設備50の周りに設けた第2領域42内に作業者が存在し、かつ、作業者が設備50の方向を向いていない組み合わせの場合である。このように作業者の向きを含めて判定することで、実際に設備50に対して作業を行っているか否かという細かな判断が可能となる。これによりさらに設備50の稼働率を上げることができる。
また、設備50の稼働状態、作業者の位置および向き、そして判定結果を時系列に並べて、たとえばタイムチャートのようにして出力することとしたので、後から設備50の稼働状態と作業者の位置や向きの関係を分析しやすくなる。なお、タイムチャートに限らず、設備50の稼働状態、作業者の位置および向き、判定結果を時間と共にテキストにして出力してもよい。また、タイムチャートそのものの作成はサーバー10で行わなくてもよい。たとえば、サーバー10は設備50の稼働状態、作業者の位置および向き、判定結果の時系列データを端末31へ出力し、端末31内にタイムチャート(または類似する)の表示を行うようにしてもよい。
また、不適切な状態が発生した場合には、その結果を映像に紐付けして記録し、映像と共に通知することとしたので、不適切な状態が発生したときの現場の状態がわかりやすくなる。
また、通知を受信する端末31または32を作業者ごとに持たせることで、不適切な状態となった設備50へ、最寄りの作業者が急行できるようになる。
(変形例1)
次に、上述した実施形態の変形例1を説明する。
上述した実施形態においては向きを判定要素としていたが、変形例1では作業者の位置だけで不適切か否かを判定することとした。
変形例1において、システム1は、検出部12が作業者の位置だけ検出するものとなる(作業者の向きは検出しない)。その他の各部は実施形態と同様である。また、処理手順についても、向きを用いた判断を行っていないだけである。したがって、以下の説明においては、実施形態と同様の機能、構成、および処理手順についての説明は省略する。
ここでは位置だけから、判定するための判定基準となる組み合わせについて説明する。図15は、変形例1において、判定部13が判定する基準となる設備50の稼働状態と作業者の位置の組み合わせパターンを示したマトリックス図である。図15は、図3と同様に、横が設備50の状態、縦が作業者の位置である。
緑色(正常稼働)においては、作業者が第2領域42内にいると、不適切な状態である。これは正常稼働中の設備50は、通常作業者が必要ない。したがって、設備50に手が届くほど近い第2領域42に作業者がいるのは不適切と安定するのである。一方、作業者が第1領域41内にいる場合、第1領域41にも第2領域42にも存在しない場合は適切な状態である。
黄色(正常停止)においては、作業者が第2領域42にいれば適切な状態である。これは設備50に手が届くほど近い第2領域42に作業者がいるということは、何らかの作業を行っていると推定されるためである。一方、作業者が、第1領域41内にいる場合、および第1領域41にも第2領域42にも存在しない場合は不適切な状態である。
赤色(異常停止)においては、作業者が第2領域42内にいる場合は、適切な状態である。設備50の付近にいるということは、修理対応していると推定されるためである。一方、作業者が第1領域41内にいる場合、および第1領域41にも第2領域42にも存在しない場合は不適切な可能性のある状態である。
消灯(停止中)においても、赤色と同様に、作業者が第2領域42にいる場合は、適切な状態である。一方、作業者が第1領域41内にいる場合、および第1領域41にも第2領域42にも存在しない場合は不適切な可能性のある状態である。
このように、設備50の状態と作業者の位置の組み合わせから、設備50に対して作業者が作業を行っているか否かを、ある程度推定できるため、人員の配置を含めて生産性の向上に寄与することができる。
この変形例1においては、作業者の位置だけを検出している。このため、たとえば、カメラ20の映像から作業者の位置を検出する場合、周知の背景差分法を利用することができる。
これには、まず、映像の画面に2次元直交座標系を設定し、その中に第1領域41および第2領域42の範囲を示す座標値を設定する。そして作業者の位置は、ここでは設備を含む撮影領域40(図2参照)において、作業者が存在しない状態を撮影した画像を背景画像として記憶しておく。この背景画像とカメラ20から取得される画像を比較して、輝度や色などが異なる画素部分があれは、その画素部分を作業者として認識する。そしてその作業者として認識した画素部分の座標値と、第1領域41および第2領域42の座標値の範囲を比較して、作業者がどちらの領域にいるか判断する。
なお、複数の設備がある場合には、それぞれの設備に、各領域を設定するが、変形例1では、作業者の位置だけで、その設備に対する作業かを判別しているので、できるだけ重複する領域がないように設定することが好ましい。仮に、領域が重複する場合は、より近い設備に対しての作業であると判断するようにしてもよい。
また、作業者の位置は、カメラ20以外にも、たとえば、設備の周囲(たとえば第2領域に相当する部分)にフロアマットセンサーを設置して検出したり、超音波や赤外線による近接センサーなどを用いて検出したりすることもできる。
(変形例2)
次に、上述した実施形態の変形例2を説明する。変形例2は、サーバー10として、インターネット上のクラウドサーバーを利用する。図16は、変形例2のシステム構成を説明する説明図である。
図16に示すように、クラウドサーバー510を利用する場合は、インターネット500に接続されているクラウドサーバー510に、上述した処理手順を実施するためのプログラムをアプリケーションとして登録しておき、実行させる。
一方、設備50およびカメラ20にも、インターネット接続可能なインターフェースを設け、クラウドサーバー510に向けて設備50の稼働状態およびカメラ20の映像を送信する。設備50およびカメラ20のインターネットとの接続は無線接続でも、有線接続でもよい。
クラウドサーバー510では、上述した実施形態によるプログラムが実行されて、まず、設備50から稼働状態を取得し、映像から作業者の位置および向きを検出する。作業者の位置および向きの検出は、変形例2の専用のプログラムでなくてもよく、たとえばクラウド上(このクラウドサーバー510とは限らない)でアプリケーションとして提供されているプログラムを利用してもよい。
続いて、クラウドサーバー510は、設備50の稼働状態と作業者の位置および向きの組み合わせから、不適切な状態と判定されたなら、その結果を端末31および32へ通知する。端末31は無線によるインターネット接続可能なものであることが好ましい。また、端末32は無線または有線でインターネットに接続されている。
このような設備50、カメラ20にインターネット接続可能なインターフェースを設けて、情報を直接クラウドサーバーへ送信する仕組みは、いわゆるIoT(Internet of Things)を利用した形態である。
このようなクラウドサーバー510(インターネット500上のコンピューター)の利用によって、現場の設備50には殆ど手を加えることなく、また、サーバー10の設置も必要がない。また、カメラもいわゆるウェブカメラなどの利用が可能である。このため、本実施形態を実施するための初期投資を抑えることができる。
以上本発明の実施形態および変形例を説明したが、その他にも様々な変形が可能である。実施形態では各機能をサーバー10の機能として説明したが、このサーバー10の機能を実施する小型のコンピューター(ボードPCなど)をカメラ20に組み込んで(またはカメラ20と一体化させたコンピューター)、カメラ20内でプログラムを実行するようにしてもよい。このようにすることで、カメラ20の設置だけで、本実施形態を達成することが可能となる。
また、作業者の位置および向きの検出には、カメラ映像からの骨格認識技術だけでなく、その他のセンサーなどを用いてもよい。たとえば、物体までの距離値を得るライダー(LIDAR(Light Detection and Ranging))により人の各部位までの距離値を得て、人の姿勢を推定する技術を用いることができる。また、赤外線センサ(サーマルカメラ)を用いて人の顔の温度から人の向きを判定する技術などを用いることができる。
また、実施形態では、積層信号灯を例に説明したが、設備の稼働状態は積層信号灯がない場合でも、設備から取得すればよい。たとえば、設備の制御装置などから稼働状態を取得する。また、音で加工完了やプログラムの変更、異常停止などを知られる音響報知機が設備に付いている場合は、その音そのものや音を発するためのスイッチング信号などからも、その設備の稼働状態を取得できる。
また、積層信号灯がある場合においても、3色とは限らず、2色の積層信号灯、1色の信号灯などの場合でも適用可能である。たとえば、2色の積層信号灯の場合は、緑色の正常稼働と赤色の異常停止などである。このような設備に実施形態を対応させる際は、黄色による正常停止に関する判定を行わないようにすればよい。同じ2色の積層信号灯の場合でも、たとえば、黄色の正常停止と赤色の異常停止の場合もある。このような設備に実施形態を対応させる際は、消灯状態が正常稼働であれば、上述した実施形態における緑色の判定手順を消灯のときに行うことする。一方、上述した実施形態における消灯の判定手順は行わない。同様に、1色の場合、また、4色、5色といった積層信号灯が用いられている場合においても同様であり、設備の稼働状態に対応して判定手順を行えばよい。
また、設備の電源のオン、オフをセンサーなどで検知して、設備の電源がオフとなった場合に、上述した消灯に関する判定および処理の流れを行わないようにしてもよい。設備の電源がオフにされるのは、通常、作業者による作業である。したがって、そのような作業が行われたということは、その設備は計画停止されたもの推定できるためである。
また、作業者の位置を検出するために設定する領域は、第2領域42(設備を含む所定領域)だけとしてもよい。
また、実施形態および変形例の説明の中で使用した条件や数値などはあくまでも説明のためのものであり、本発明がこれら条件や数値に限定されるものではない。
本発明は特許請求の範囲に記載された構成に基づき様々な改変が可能であり、それらについても本発明の範疇である。