以下、作業分析装置、シミュレーション装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、2以上の領域内の各作業者が存在していた時間に関する情報である存在時間情報を自動取得し、当該存在時間情報を用いて、時間別の作業状況の情報を取得し、出力する作業分析システム等について説明する。
図1は、本実施の形態における作業分析システムの概念図である。作業分析システムは、製造現場の作業を分析するシステムであり、1以上のカメラ10と作業分析装置11とを具備する。1以上のカメラ10は、製造現場で行われる2以上の工程の領域をすべて撮影できるように配置されている。また、通常、一のカメラ10で、2以上の領域を撮影できるように配置されている。また、作業分析装置11は、ここでは、カメラ10と通信可能であるが、通信可能でなくても良い。作業分析装置11がカメラ10と通信できない場合、作業分析装置11は、記録媒体等を経由して、カメラ10が撮影した映像を保持している、とする。また、作業分析装置11は、通常、複数の工程から製品を生産する作業であり、移動型作業について、自動的に分析する装置である。
図2は、本実施の形態における作業分析システムのブロック図である。
作業分析装置11は、勤務情報格納部111、時間帯別作業者情報格納部112、存在時間情報取得部113、製品生産時刻情報取得部114、解析部115、出力部116を具備する。
存在時間情報取得部113は、カメラ映像格納手段1131、領域定義情報格納手段1132、検知手段1133、時刻取得手段1134、存在時間情報取得手段1135を具備する。
解析部115は、時間帯別作業効率情報取得手段1151、人グループ作業情報取得手段1152、時間帯別作業者割合情報取得手段1153、時間帯別製品生産状況情報取得手段1154を具備する。
勤務情報格納部111は、2以上の勤務情報を格納し得る。勤務情報は、人(通常、作業者)の勤務に関する情報である。勤務情報は、人識別子またはグループ識別子またはグループ情報と、領域識別子と、人作業時間情報とを有する。人識別子は人を識別する情報であり、例えば、氏名やIDなどである。グループ識別子は、2以上の人が所属するグループを識別する情報であり、例えば、グループ名やIDなどである。グループ情報は、2以上の人識別子と一のグループ識別子とを有する情報である。領域識別子は、各人または各グループが作業を行う領域を識別する情報であり、例えば、領域名や工程名や領域IDや工程IDなどである。人作業時間情報とは、各人または各グループの領域における作業時間に関する情報である。人作業時間情報とは、例えば、各人または各グループが勤務(作業)する時間帯を示す情報である。
勤務情報格納部111は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。勤務情報格納部111に勤務情報が記憶される過程は問わない。例えば、記録媒体を介して勤務情報が勤務情報格納部111で記憶されるようになってもよく、通信回線等を介して送信された勤務情報が勤務情報格納部111で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された勤務情報が勤務情報格納部111で記憶されるようになってもよい。
時間帯別作業者情報格納部112は、時間帯別作業者情報を格納している。時間帯別作業者情報は、作業時間帯別の作業者に関する情報である。時間帯別作業者情報とは、時間帯別に作業を行うとしてアサインされている作業者の数、時間帯別に作業を行うとしてアサインされている作業者を識別する人識別子、時間帯別に作業を行うとしてアサインされているグループのグループ識別子などである。なお、時間帯別作業者情報格納部112は、勤務情報格納部111の一部を構成しても良い。つまり、時間帯別作業者情報は、勤務情報の一部でも良い。
時間帯別作業者情報格納部112は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。時間帯別作業者情報格納部112に時間帯別作業者情報が記憶される過程は問わない。
存在時間情報取得部113は、存在時間情報を2以上の各領域ごとに取得する。存在時間情報とは、予め決められた領域に人が存在している時間に関する情報である。存在時間情報は、例えば、領域識別子と動きがあった時刻とを有する情報でも良いし、領域識別子と動きがあった時刻と動いていた時間を示す情報とを有する情報でも良い。また、存在時間情報は、人が存在していない時間に関する情報であっても良い。また、存在時間情報は、人の存在/非存在が切り替わった時刻に関する情報などでも良い。また、存在時間情報が有する時間は、実際に人が動いていた時間(作業していた時間)であることは好適である。なお、領域は、二次元でも三次元でも良い。存在時間情報取得部113は、カメラ映像格納手段1131、領域定義情報格納手段1132、検知手段1133、時刻取得手段1134、および存在時間情報取得手段1135により、存在時間情報を取得することは好適であるが、他の方法により存在時間情報を取得しても良い。つまり、存在時間情報取得部113は、例えば、赤外線の発信手段と受信手段とを具備し、その発信手段と受信手段の間に人(物体)が存在しているか否か(受信手段が赤外線を受信できるか否か)を判断することにより、人の存在/不存在を判断し、人が存在している時間、または人が不存在の時間を計測することにより存在時間情報を取得しても良い。また、存在時間情報取得部113は、例えば、人に付与されたIRタグからの信号を受信することにより、一の領域に人が存在することを検知し、その人の存在の時間を計測することにより存在時間情報を取得しても良い。
存在時間情報取得部113は、通常、MPUやメモリ等から実現され得る。存在時間情報取得部113の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
カメラ映像格納手段1131は、2以上の作業領域を撮影したカメラ映像を格納し得る。また、カメラ映像は、一の作業領域を撮影した映像でも良い。カメラ映像は、時刻が対応付けられている、とする。
領域定義情報格納手段1132は、2以上の領域定義情報を格納し得る。領域定義情報とは、存在時間情報を取得する2以上の領域を特定する情報である。領域定義情報は、例えば、領域識別子と領域を示す情報を有する。領域を示す情報とは、領域を特定する情報であり、例えば、矩形領域を特定する2点((x1,y1)、(x2,y2))、円領域を特定する中心点と半径などの情報である。また、領域の形状は矩形、円、楕円など、問わない。
検知手段1133は、2以上の各領域定義情報が示す領域ごとに、カメラ映像の中の人の動きを検知する。人の動きの検知は、通常、動きがあるか否かの検知である。人の動きの検知は、人の動きがあったことを検知しても良いし、人の動きがないことを検知しても良い。
時刻取得手段1134は、検知手段1133が人の動きを検知した時刻を取得する。この時刻は、カメラ映像に対応付いている時刻である。時刻取得手段1134は、人の動きが停止した時刻や、人の静/動が切り替わった時刻を取得しても良い。かかることも、人の動きを検知した時刻の取得である、とする。
存在時間情報取得手段1135は、時刻取得手段1134が取得した人の動きを検知した時刻を用いて、領域ごとの存在時間情報を取得する。
製品生産時刻情報取得部114は、2以上の製品生産時刻情報を取得する。製品生産時刻情報とは、一の製品の生産時刻に関する情報である。製品生産時刻情報は、時刻だけでも良い。この時刻は、製品が生産された時刻である。製品生産時刻情報取得部114は、例えば、製品が完成した後に、当該製品が通過する領域の映像を撮影し、当該映像の動きを検知し、動きがあった場合に、一つの製品が完成したと判断し、その際の時刻を図示しない時計から取得する。また、製品生産時刻情報取得部114は、例えば、製品が完成した後に、当該製品が通過する領域に通っている赤外線を物体(ここでは、製品)が横切ったことを検知し、その際の時刻を図示しない時計から取得する。
解析部115は、存在時間情報取得部113が取得した2以上の各領域に対する存在時間情報を用いて、作業情報を取得する。作業情報とは、作業に関する情報であり、例えば、後述する時間帯別作業効率情報、時間帯別製品生産状況情報、時間帯別作業者割合情報、および人グループ作業情報のうちの1以上の情報を含む。また、作業情報とは、例えば、2以上の各領域に対応する作業工程の時間帯別の作業状況を示す情報である。作業状況を示す情報とは、作業効率、作業量などに関する情報である。なお、解析部115は、時間帯別作業効率情報取得手段1151、人グループ作業情報取得手段1152、時間帯別作業者割合情報取得手段1153、および時間帯別製品生産状況情報取得手段1154のうち、1以上の手段を具備すれば良い。
解析部115は、通常、MPUやメモリ等から実現され得る。解析部115の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
時間帯別作業効率情報取得手段1151は、存在時間情報取得部113が取得した2以上の各領域に対する存在時間情報を用いて、時間帯別作業効率情報を取得する。時間帯別作業効率情報取得手段1151は、2以上の各領域に対する存在時間情報、および製品生産時刻情報を用いて、時間帯別作業効率情報を取得しても良い。時間帯別作業効率情報とは、2以上の各領域に対応する作業工程の時間別の作業状況を示す情報である。時間帯別作業効率情報は、例えば、時間帯別のスループットを示す情報である。時間帯別のスループットを示す情報とは、例えば、時間帯別の1個あたりの生産に要する作業時間の平均を示す情報である。
人グループ作業情報取得手段1152は、2以上の勤務情報と、2以上の各領域ごとの存在時間情報とを用いて、人グループ作業情報を取得する。人グループ作業情報取得手段1152は、2以上の勤務情報と、2以上の各領域ごとの存在時間情報と、製品生産時刻情報を用いて、人グループ作業情報を取得しても良い。人グループ作業情報は、領域ごと、および人またはグループごとの作業状況を示す情報である。ここでの作業状況は、例えば、時間帯ごとの各人、または各グループの作業効率、作業量などである。また、人グループ作業情報とは、各人、または各グループがどれぐらいの時間、各時間帯で作業しているかを示す情報などである。
時間帯別作業者割合情報取得手段1153は、2以上の各領域ごとの存在時間情報および時間帯別作業者情報を用いて、時間帯別の作業者および非作業者の割合に関する情報である時間帯別作業者割合情報を取得する。時間帯別作業者割合情報とは、例えば、時間帯別の作業者または/および非作業者の割合を示す情報である。時間帯別作業者割合情報は、例えば、「作業者がx%、非作業者が(100−x)%」という情報である。または、時間帯別作業者割合情報は、割合を算出する元になる作業者数や非作業者数の情報でも良く、例えば、作業者がx人、非作業者がy人などという情報ででも良い。
時間帯別製品生産状況情報取得手段1154は、製品生産時刻情報取得部114が取得した2以上の製品生産時刻情報を用いて、時間帯ごとの製品の生産状況に関する情報である時間帯別製品生産状況情報を取得する。ここで生産状況とは、製品の生産数や製品の生産割合などである。つまり、時間帯別製品生産状況情報は、例えば、時間帯別の製品の生産数や時間帯別の製品の生産割合などである。
出力部116は、解析部115が取得した作業情報を出力する。作業情報の出力態様は問わない。作業情報は、例えば、上述した時間帯別作業効率情報、人グループ作業情報、時間帯別作業者割合情報、時間帯別製品生産状況情報のうちの1以上の情報である。また、作業情報は、例えば、グラフや表により出力される。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。また、出力部116は、1以上のカメラ10が記録した映像も出力しても良い。かかる場合の映像は、カメラ映像格納手段1131に格納されているカメラ映像である。また、図示しない受付手段が、ユーザからタイムスタンプの入力を受け付けた場合、出力部116は、当該タイムスタンプに対応するカメラ映像を出力することは好適である。なお、タイムスタンプとは、例えば、後述する図14のトリガーデータ(存在時間情報)が有する時刻や、図15のカウンターデータが有する時刻などである。また、図示しない受付手段が、ユーザからタイムスタンプおよびカメラ識別子の入力を受け付けた場合、出力部116は、当該タイムスタンプおよびカメラ識別子に対応するカメラ映像を出力することは好適である。さらに、カメラ映像を出力する場合、出力部116は、カメラ映像中の人の動きを線で軌跡として出力することは好適である。かかる場合、検知手段1133は、人の動きを取得する処理を行う。なお、映像中の人の動きを取得する処理、および軌跡を出力する処理は公知技術であるので、詳細な説明は省略する。
出力部116は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部116は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、作業分析システムを構成する作業分析装置11の動作について、図3のフローチャートを用いて説明する。
(ステップS301)存在時間情報取得部113は、存在時間情報を取得する。存在時間情報取得処理について、図4、図5のフローチャートを用いて説明する。
(ステップS302)製品生産時刻情報取得部114は、2以上の製品生産時刻情報を取得する。かかる製品生産時刻情報取得処理について、図6のフローチャートを用いて説明する。
(ステップS303)時間帯別作業効率情報取得手段1151は、時間帯別作業効率情報の取得処理を行う。時間帯別作業効率情報取得処理について、図7のフローチャートを用いて説明する。
(ステップS304)人グループ作業情報取得手段1152は、人グループ作業情報の取得処理を行う。人グループ作業情報取得処理について、図8のフローチャートを用いて説明する。
(ステップS305)時間帯別作業者割合情報取得手段1153は、時間帯別作業者割合情報の取得処理を行う。時間帯別作業者割合情報取得処理について、図9のフローチャートを用いて説明する。
(ステップS306)時間帯別製品生産状況情報取得手段1154は、時間帯別製品生産状況情報の取得処理を行う。時間帯別製品生産状況情報取得処理について、図10のフローチャートを用いて説明する。
(ステップS307)出力部116は、ステップS303からステップS306で取得された作業情報を出力する。処理を終了する。
なお、図3のフローチャートのステップS306において、出力する作業情報はすべての作業情報でなくても良いし、ユーザからの指示に基づいて作業情報を出力しても良い。
また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS301の存在時間情報取得処理について、図4、図5のフローチャートを用いて説明する。
(ステップS401)存在時間情報取得部113を構成する検知手段1133は、カウンタiに1を代入する。
(ステップS402)検知手段1133は、i番目のカメラのカメラ映像が、カメラ映像格納手段1131に存在するか否かを判断する。i番目のカメラのカメラ映像が存在すればステップS403に行き、存在しなければ上位処理にリターンする。
(ステップS403)検知手段1133は、カウンタjに1を代入する。
(ステップS404)検知手段1133は、j番目の領域定義情報が領域定義情報格納手段1132に格納されているか否かを判断する。格納されていればステップS405に行き、格納されていなければステップS410に行く。
(ステップS405)検知手段1133は、領域定義情報格納手段1132から、j番目の領域定義情報を読み出す。
(ステップS406)検知手段1133は、ステップS405で読み出したj番目の領域定義情報から、j番目の領域定義情報で特定される領域が、i番目のカメラのカメラ映像が撮影していた領域であるか否かを判断する。i番目のカメラのカメラ映像が撮影していた領域であればステップS407に行き、i番目のカメラのカメラ映像が撮影していた領域でなければステップS408に行く。なお、通常、領域定義情報がカメラID(カメラを識別する識別子)を有し、かつ、カメラ映像がカメラIDと対応付けられて、カメラ映像格納手段1131に格納されている。そして、検知手段1133は、j番目の領域定義情報が有するカメラIDと、i番目のカメラのカメラ映像に対応するカメラIDとが一致するか否かにより、j番目の領域定義情報で特定される領域が、i番目のカメラのカメラ映像が撮影していた領域であるか否かを判断する。
(ステップS407)検知手段1133は、j番目の領域定義情報を、図示しないバッファに一時蓄積する。
(ステップS408)検知手段1133は、カウンタjを1、インクリメントする。ステップS404に戻る。
(ステップS409)検知手段1133は、カウンタkに1を代入する。
(ステップS410)検知手段1133は、ステップS407でバッファに蓄積された領域定義情報のうち、k番目の領域定義情報が存在するか否かを判断する。k番目の領域定義情報が存在すればステップS411に行き、k番目の領域定義情報が存在しなければステップS430に行く。
(ステップS411)検知手段1133は、カウンタlに2を代入する。
(ステップS412)検知手段1133は、カメラ映像格納手段1131のi番目のカメラ映像の中に、l番目のフィールドが存在するか否かを判断する。l番目のフィールドが存在すればステップS413に行き、l番目のフィールドが存在しなければステップS429に行く。
(ステップS413)検知手段1133は、(l−1)番目のフィールド中のk番目の領域定義情報が示す領域の映像を切り出す。なお、フィールド(画像)から、予め決められた領域(ここでは、二次元の領域)の画像を切り出すことは公知技術であるの詳細な説明を省略する。
(ステップS414)検知手段1133は、l番目のフィールド中のk番目の領域定義情報が示す領域の映像を切り出す。
(ステップS415)検知手段1133は、カウンタmに1を代入する。
(ステップS416)検知手段1133は、ステップS413またはステップS414で取得した映像(静止画像)がm番目の画素を含むか否かを判断する。m番目の画素を含めばステップS417に行き、含まなければステップS421(図5)に行く。
(ステップS417)検知手段1133は、ステップS413で取得された(l−1)番目のフィールドの画像の中のm番目の画素と、ステップS414で取得されたl番目のフィールドの画像の中のm番目の画素とを比較する。なお、比較する画素は、2つの画像の中の、同じ位置の画素であることは言うまでもない。
(ステップS418)検知手段1133は、ステップS417における比較結果が「一致する」との比較結果であるか否かを判断する。一致すればステップS419に行き、一致しなければステップS420に行く。
(ステップS419)検知手段1133は、一致カウンタに1を加える。なお、一致カウンタとは、前フィールドの画素と一致する画素の数をカウントするための変数であり、初期値は0である。なお、ここで、前フィールドの画素と一致する画素の数をカウントしているが、前フィールドの画素と一致しない画素の数をカウントしても良いし、一致する画素の数と一致しない画素の数の両方をカウントしても良い。
(ステップS420)検知手段1133は、カウンタmを1、インクリメントする。ステップS416に戻る。
(ステップS421)検知手段1133は、一致カウンタの値、およびk番目の領域定義情報が示す領域の全画素数から、(l−1)番目のフィールドの画像と、l番目のフィールドの画像との一致度(例えば、「一致カウンタの値/k番目の領域定義情報が示す領域の全画素数」)を算出する。そして、検知手段1133は、一致度が閾値以下(閾値未満も含む概念である、とする)であるか否かを判断する。閾値以下であればステップS422に行き、閾値より大きければステップS427に行く。なお、検知手段1133は、閾値(例えば、90%や0.9)を予め保持している、とする。
(ステップS422)検知手段1133は、先の比較結果(更新前の状態変数の値)が「動きなし」であるか否かを判断する。「動きなし」であればステップS423に行き、「動きなし」でなければステップS425に行く。
(ステップS423)時刻取得手段1134は、i番目のカメラ画像のl番目のフィールドに対応する時刻を取得する。
(ステップS424)時刻取得手段1134は、ステップS423で取得した時刻を、ファイル等の記憶領域に書き込む。
(ステップS425)時刻取得手段1134は、時間を1フィールド分、カウントアップする。
(ステップS426)カウンタlを1、インクリメントする。ステップS412に戻る。なお、また、検知手段1133は、ステップS421の判断結果の、一致度が閾値以下であれば、「動きあり」と状態変数に記録し、一致度が閾値より大きければ、「動きなし」と状態変数に記録する、とする。状態変数とは、動きの有無を管理する変数である。
(ステップS427)検知手段1133は、先の比較結果(更新前の状態変数の値)が「動きなし」であるか否かを判断する。「動きなし」であればステップS426に行き、「動きなし」でなければステップS428に行く。
(ステップS428)時刻取得手段1134は、ステップS425でカウントアップされて、保持されていた時間をファイル等の記憶領域に書き込む。ステップS426に行く。
(ステップS429)カウンタkを1、インクリメントする。ステップS402に戻る。
(ステップS430)カウンタiを1、インクリメントする。ステップS410に戻る。
なお、図5のフローチャートにおいて、一致度の閾値は問わない。
次に、ステップS302製品生産時刻情報取得処理について、図6のフローチャートを用いて説明する。図6のフローチャートにおいて、図4、図5のフローチャートと同一のステップについて、説明を省略する。
(ステップS601)製品生産時刻情報取得部114は、予め保持している領域定義情報を読み出す。この領域定義情報は、生産された製品が通過する領域を示す情報である。この領域定義情報は、例えば、カメラ映像を識別する識別子(カメラ映像ID)、および領域を示す2つの座標値(((x1,y1)(x2,y2))を有する。2つの座標値は、例えば、領域を示す矩形の左上座標と右下座標である。
(ステップS602)製品生産時刻情報取得部114は、製品生産時刻情報を取得するために、検査するカメラ映像を決定する。製品生産時刻情報取得部114は、例えば、ステップS601で読み出した領域定義情報が有するカメラ映像IDを取得する。
(ステップS603)製品生産時刻情報取得部114は、変数「比較結果」に「動きなし」を代入する。なお、変数「比較結果」の初期値は「動きなし」である。また、例えば、ステップS424で時刻が書き込まれた後、変数「比較結果」は、「動きあり」に更新される。
次に、ステップS303の時間帯別作業効率情報取得処理について、図7のフローチャートを用いて説明する。
(ステップS701)時間帯別作業効率情報取得手段1151は、カウンタiに1を代入する。
(ステップS702)時間帯別作業効率情報取得手段1151は、i番目の時間帯が存在するか否かを判断する。i番目の時間帯が存在すればステップS703に行き、存在しなければ上位処理にリターンする。なお、解析部115は、その時間帯の作業状況を解析するかについて、予め情報を保持している、とする。かかる情報は、例えば、「9:00:00−9:59:59,10:00:00−10:59:59,11:00:00−11:59:59,12:00:00−12:59:59,13:00:00−13:59:59,・・・」(時分秒までの時刻と間隔の情報)である。また、かかる情報は、例えば、「9,10,11,・・・」(時間帯を示す時の情報)である。
(ステップS703)時間帯別作業効率情報取得手段1151は、i番目の時間帯の存在時間情報を、すべて読み出す。なお、存在時間情報は、ステップS301で取得された存在時間情報である。時間帯別作業効率情報取得手段1151は、ステップS703で読み出した存在時間情報の中で、存在時間情報が有する時刻がi番目の時間帯に含まれている場合、当該存在時間情報を取得する。
(ステップS704)時間帯別作業効率情報取得手段1151は、ステップS704で取得したすべての存在時間情報の中の時間をすべて取得し、当該時間の合計を算出する。
(ステップS705)時間帯別作業効率情報取得手段1151は、i番目の時間帯の製品生産時刻情報の数を取得する。なお、製品生産時刻情報は、ステップS302で取得された情報である。また、製品生産時刻情報の数は、生産された製品の数である。
(ステップS706)時間帯別作業効率情報取得手段1151は、i番目の時間帯の1個あたりの平均作業時間を取得する。例えば、時間帯別作業効率情報取得手段1151は、「時間の合計/製品生産時刻情報の数」により、1個あたりの平均作業時間を算出する。
(ステップS707)時間帯別作業効率情報取得手段1151は、i番目の時間帯と、ステップS707で算出した平均作業時間とを対応付けて、図示しないバッファに書き込む。
(ステップS708)時間帯別作業効率情報取得手段1151は、カウンタiを1、インクリメントする。ステップS702に戻る。
次に、ステップS303の人グループ作業情報取得処理について、図8のフローチャートを用いて説明する。図8のフローチャートにおいて、図7のフローチャートと同一のステップについて、その説明を省略する。
(ステップS801)人グループ作業情報取得手段1152は、カウンタjに1を代入する。
(ステップS802)人グループ作業情報取得手段1152は、j番目のグループが存在するか否かを、勤務情報格納部111から判断する。j番目のグループが存在すればステップS803に行き、存在しなければ上位処理にリターンする。
(ステップS803)人グループ作業情報取得手段1152は、j番目のグループがi番目の時間帯に作業を行っている領域(工程)を識別する領域識別子を勤務情報格納部111から取得する。
(ステップS804)人グループ作業情報取得手段1152は、j番目のグループのグループ識別子、i番目の時間帯、平均作業時間、領域識別子を図示しないバッファに書き込む。
(ステップS805)人グループ作業情報取得手段1152は、カウンタkに1を代入する。
(ステップS806)人グループ作業情報取得手段1152は、k番目のまとまりの時間帯群が存在するか否かを判断する。k番目のまとまりの時間帯群が存在すればステップS807に行き、存在しなければステップS811に行く。なお、人グループ作業情報取得手段1152は、どの時間帯を一まとまりの時間帯群とするかに関する情報を、予め保持している、とする。なお、k番目のまとまりの時間帯群とは、例えば、午前の前半、午前の後半、午後の前半、午後の後半などである。
(ステップS807)人グループ作業情報取得手段1152は、k番目のまとまりの時間帯群が有するすべての時間帯の平均作業時間を取得する。この平均作業時間は、ステップS706で算出された平均作業時間である。そして、人グループ作業情報取得手段1152は、k番目のまとまりの時間帯群が有するすべての時間帯の平均作業時間の平均値を算出する。かかる平均値が、k番目のまとまりの時間帯群の平均作業時間である。
(ステップS808)人グループ作業情報取得手段1152は、ステップS807で取得したすべての時間帯の平均作業時間から、標準偏差を算出する。
(ステップS809)人グループ作業情報取得手段1152は、k番目のまとまりの時間帯群を識別する情報、平均作業時間、標準偏差、領域識別子を対応付けて、図示しないバッファに蓄積する。
(ステップS810)人グループ作業情報取得手段1152は、カウンタkを1、インクリメントする。ステップS806に戻る。
(ステップS811)人グループ作業情報取得手段1152は、カウンタjを1、インクリメントする。ステップS802に戻る。
次に、ステップS305の時間帯別作業者割合情報取得処理について、図9のフローチャートを用いて説明する。
(ステップS901)時間帯別作業者割合情報取得手段1153は、カウンタiに1を代入する。
(ステップS902)時間帯別作業者割合情報取得手段1153は、i番目の時間帯が存在するか否かを判断する。i番目の時間帯が存在すればステップS903に行き、存在しなければ上位処理にリターンする。
(ステップS903)時間帯別作業者割合情報取得手段1153は、i番目の時間帯の時間帯別作業者情報を、時間帯別作業者情報格納部112から読み出す。
(ステップS904)時間帯別作業者割合情報取得手段1153は、i番目の時間帯の時間帯別作業者情報から、i番目の時間帯に作業者としてアサインされている者の総時間を算出する。総時間は、「人数×60分」である。
(ステップS905)時間帯別作業者割合情報取得手段1153は、i番目の時間帯の存在時間情報を、すべて読み出す。なお、存在時間情報は、ステップS301で取得された存在時間情報である。
(ステップS906)時間帯別作業者割合情報取得手段1153は、ステップS906で取得したすべての存在時間情報の中の時間をすべて取得し、当該時間の合計を算出する。
(ステップS907)時間帯別作業者割合情報取得手段1153は、ステップS904で取得した総時間、およびステップS906で取得した時間(作業時間)から、非作業時間を算出する。時間帯別作業者割合情報取得手段1153は、「総時間−作業時間」により、非作業時間を算出する。
(ステップS908)時間帯別作業者割合情報取得手段1153は、i番目の時間帯、作業時間、および非作業時間を対応付けてバッファに蓄積する。
(ステップS909)時間帯別作業者割合情報取得手段1153は、カウンタiを1、インクリメントする。ステップS902に戻る。
次に、ステップS306の時間帯別製品生産状況情報取得処理について、図10のフローチャートを用いて説明する。
(ステップS1001)時間帯別製品生産状況情報取得手段1154は、カウンタiに1を代入する。
(ステップS1002)時間帯別製品生産状況情報取得手段1154は、勤務情報格納部111の勤務情報から、i番目の作業者が存在するか否かを判断する。i番目の作業者が存在すればステップS1003に行き、存在しなければ上位処理にリターンする。
(ステップS1003)時間帯別製品生産状況情報取得手段1154は、カウンタjに1を代入する。
(ステップS1004)時間帯別製品生産状況情報取得手段1154は、j番目の時間帯が存在するか否かを判断する。j番目の時間帯が存在すればステップS1005に行き、存在しなければステップS1012に行く。
(ステップS1005)時間帯別製品生産状況情報取得手段1154は、勤務情報格納部111の勤務情報から、i番目の作業者がj番目の時間帯に作業している領域(工程)を示す領域識別子を取得する。
(ステップS1006)時間帯別製品生産状況情報取得手段1154は、ステップS1005で領域識別子が取得できたか否かを判断する。取得できればステップS1007に行き、取得できなければステップS1011に行く。
(ステップS1007)時間帯別製品生産状況情報取得手段1154は、ステップS1005で取得した領域識別子およびj番目の時間帯に対応するすべての存在時間情報を読み出す。
(ステップS1008)時間帯別製品生産状況情報取得手段1154は、ステップS1007で読み出した存在時間情報から、時間をすべて取得し、当該すべての時間の合計を算出する。
(ステップS1009)時間帯別製品生産状況情報取得手段1154は、i番目の作業者の作業者識別子、領域識別子、j番目の時間帯、およびステップS1008で算出した時間の合計を、図示しないバッファに蓄積する。
(ステップS1010)時間帯別製品生産状況情報取得手段1154は、カウンタjを1、インクリメントする。ステップS1004に戻る。
(ステップS1011)時間帯別製品生産状況情報取得手段1154は、合計の時間に「0」を代入する。ステップS1009に行く。
(ステップS1012)時間帯別製品生産状況情報取得手段1154は、カウンタiを1、インクリメントする。ステップS1002に戻る。
以下、本実施の形態における作業分析システムの具体的な動作について説明する。作業分析システムの概念図は図1である。なお、ここでの作業分析システムは、移動型作業を行う製品の製造現場における作業分析システムである。移動型作業とは、人が移動して行う作業を含む。
今、作業分析装置11の勤務情報格納部111は、図11に示す勤務情報管理表を保持している。勤務情報管理表は、「ID」「グループ識別子」「人識別子」「作業時間帯」の属性値を有するレコードを2以上管理している。「ID」は、レコードを識別する情報である。「グループ識別子」は、ここでは工程名と一致している。「人識別子」は、人を識別する情報であるが、ここでは、グループ内の人を特定する情報である。また、全体で、人を特定するためには、グループ識別子と人識別子とが必要である。さらに、「作業時間帯」は、作業する時間帯を示す。作業時間帯「9」は、9時から9時59分59秒を意味する。また、作業時間帯「10」は、10時から10時59分59秒を意味する。作業時間帯の属性値「1」は、対応する作業者が、その時間帯に作業を行うことが予定されていることを示す。また、作業時間帯の属性値「0」は、対応する作業者が、その時間帯に作業を行うことが予定されていないことを示す。なお、作業時間帯の属性値は「9:00−18:00」など、単に時間の幅を示す情報でも良い。
また、時間帯別作業者情報格納部112は、図12に示す時間帯別作業者情報管理表を保持している。時間帯別作業者情報管理表は、「時間帯」「作業者数」の属性値を有するレコードを管理している。図12において、9時から17時は19名勤務し、14時から22時は7名勤務することを示す。なお、両レコードが重なっている時間帯(例えば、15時)は、26名勤務になっている。
さらに、領域定義情報格納手段1132は、図13に示す領域定義情報管理表を保持している。領域定義情報管理表は、「ID」「領域定義情報」を有するレコードを2以上格納している。「領域定義情報」は、「カメラ識別子」「領域識別子」「領域特定情報」を有する。「カメラ識別子」は領域が撮影されているカメラを特定する情報である。「カメラ識別子」は、カメラ映像に付加されているか、カメラ映像に対応付けて蓄積されている、とする。「領域識別子」は、作業を行う領域を識別する情報であり、「工程識別子」「作業者識別子」を有する。「工程識別子」は工程を特定する情報である。また、「作業者識別子」はここでは作業者を特定する情報であるが、工程内の一作業を特定する情報で良い。「領域特定情報」は、カメラ映像内の領域を特定する情報である。ここでは、「領域特定情報」は、矩形を特定する2点の情報からなる。ただし、「領域特定情報」は、(x1,y1,w1,h1)など、矩形の1点を特定する情報と、幅と高さなどの情報でも良い。また、「領域特定情報」で特定される領域の形状は、矩形、円形、楕円形など、問わない。
なお、カメラ映像格納手段1131は、カメラ識別子とそれに対応付けられている1以上のカメラ映像を格納している。そして、カメラ映像は、カメラ10により、生産現場を撮影した際に取得した映像である。ここでは、7台のカメラにより撮影された7つのカメラ映像が、カメラ映像格納手段1131に格納されている、とする。また、カメラ映像の各フィールドは、時刻と対応付けられている、とする。
そして、現在、カメラ映像格納手段1131には、2010/5/12のカメラ映像が格納されている、とする。
かかる状況において、ユーザは、解析開始の指示を作業分析装置11に入力した、とする。そして、作業分析装置11の図示しない受付部が解析開始の指示を受け付ける。
次に、存在時間情報取得部113は、1番目のカメラ映像から順に、以下のように存在時間情報を取得する。
まず、存在時間情報取得部113を構成する検知手段1133は、カメラ識別子「1」を有する「ID=1」から「ID=4」までの領域定義情報を、図13の領域定義情報管理表から読み出す。
そして、検知手段1133は、領域定義情報管理表の「ID=1」の領域特定情報「(x11,y11)(x12,y12)」に対応する領域の画像を、1番目のカメラ映像の1番目のフィールドから切り出す。また、検知手段1133は、領域特定情報「(x11,y11)(x12,y12)」に対応する領域の画像を、1番目のカメラ映像の2番目のフィールドから切り出す。
次に、検知手段1133は、切り出した2つの画像の各画素(同じ位置の2つの画素)を比較し、同一か否かを判断する。検知手段1133は、かかる比較判断をすべての画素について行う。そして、検知手段1133は、2つの画像の一致度を「98%」と算出した、とする。次に、検知手段1133は、2つの画像の一致度「98%」は閾値「90%」以上であるので、「動きなし」と評価する。なお、検知手段1133は、閾値「90%」を予め保持しており、2つの画像の一致度が閾値以上であれば「動きなし」、閾値未満であれば「動きあり」と判断する、とする。
また、検知手段1133は、画像を比較するフィールドを一つずつ進めながら、上記の画像の比較処理を繰り返し、2時12分21秒になって、「動きあり」と判断した、とする。そして、時刻取得手段1134は、日付「12.05.2010」、および1番目のカメラ画像のそのフィールドに対応する時刻「02:12:21」を取得する。そして、時刻取得手段1134は、取得した日付「12.05.2010」、時刻「02:12:21」を、予め決められたファイルに書き込む。次に、時刻取得手段1134は、時間を1フィールド分(例えば、「0.1」)、カウントアップし、時間「0.1」を得る。なお、時間の初期値は「0」である。
そして、検知手段1133は、同様に、次の2つのフィールドについて、「動きあり」と判断した、とする。そして、時間は「0.3」までカウントアップされた、とする。
次に、検知手段1133は、次のフィールドで、「動きなし」と判断した、とする。次に、時刻取得手段1134は、カウントアップされて、保持されていた時間「0.3」をファイルに書き込む。そして、ファイルには、日付「12.05.2010」、時刻「02:12:21」、時間「0.3」が対応付けて蓄積された。
以上の処理を繰り返し、図14に示すトリガーデータが得られる。トリガーデータは、動きのあった領域の日付、時刻、および動きの時間の情報を有するデータである。トリガーデータは、上述の存在時間情報である。つまり、領域内の動きがある、ということは領域内に人が存在している、ということである。図14において、2010年5月12日の2時12分22秒から1.5秒、人が対応する領域に存在していた(動いていた)ことを意味する。また、図14のトリガーデータには、カメラ識別子「1」と領域識別子(1次組立工程,作業識別子)とが対応付けられている、とする。なお、トリガーデータに、図13のIDが対応付けられていても良い。ここでのIDは、カメラ識別子と領域識別子に相当する。
次に、製品生産時刻情報取得部114は、予め保持している領域定義情報(例えば、カメラ識別子「7」、および領域を特定する情報(xa,ya)(xb,yb)を含む情報)を読み出す。なお、この領域を特定する情報は、生産された製品が通過する領域を特定する情報である。
次に、製品生産時刻情報取得部114は、製品生産時刻情報を取得するために、検査するカメラ映像を決定する。つまり、製品生産時刻情報取得部114は、領域定義情報が有するカメラ識別子「7」が付与されているカメラ映像を取得する。そして、上記の検知手段1133等の処理と同様に、製品生産時刻情報取得部114は、カメラ画像の各フィールドの(xa,ya)(xb,yb)の領域の変化を検知し、「動きなし」から「動きあり」に変化した時刻を記録する。ここでは、製品生産時刻情報取得部114は、まず、日付「12.05.2010」、および時刻「01:06:49」を記録した、とする。そして、製品生産時刻情報取得部114は、図15に示すカウンターデータを得た、とする。なお、カウンターデータとは、製品生産時刻情報の集合である。製品生産時刻情報は、ここでは日付と時刻を有する。
以上により、作業分析装置11は、製造現場の作業を分析するための元になるデータ(トリガーデータとカウンターデータ)を得た。
次に、時間帯別作業効率情報取得手段1151は、以下のように時間帯別作業効率情報の取得処理を行う。なお、時間帯別作業効率情報取得手段1151は、時間帯情報「9,9:00:00−9:59:59」「10,10:00:00−10:59:59」「11,11:00:00−11:59:59」,・・・「22,22:00:00−22:59:59」を保持している、とする。そして、時間帯別作業効率情報取得手段1151は、1番目の時間帯情報「9」に対応する存在時間情報をすべて読み出す。つまり、時間帯別作業効率情報取得手段1151は、「9」の時間帯「9:00:00−9:59:59」の時刻を含むレコード(存在時間情報)をトリガーデータから読み出す。
次に、時間帯別作業効率情報取得手段1151は、取得したすべての存在時間情報の中の時間をすべて取得し、当該時間の合計を算出する。
次に、時間帯別作業効率情報取得手段1151は、1番目の時間帯「9」の製品生産時刻情報の数を取得する。
次に、時間帯別作業効率情報取得手段1151は、「時間の合計/製品生産時刻情報の数」により、1個あたりの平均作業時間(ここでは、「9.3」)を算出し、予め決められたバッファに蓄積した、とする。
同様に、時間帯別作業効率情報取得手段1151は、2番目の時間帯情報「10」以上の1個あたりの平均作業時間も算出し、予め決められたバッファに蓄積する。そして、時間帯別作業効率情報取得手段1151は、図16に示す時間帯別作業効率情報管理表を得る。時間帯別作業効率情報管理表は、「ID」「時間帯」「平均作業時間」を有するレコードを2以上管理している。「ID」はレコードを識別する情報である。「時間帯」は時間帯を識別する情報である。「平均作業時間」は対応する時間帯の、1個の製品製造のために要する平均作業時間である。
次に、人グループ作業情報取得手段1152は、人グループ作業情報の取得処理を行う。なお、人グループ作業情報取得手段1152は、時間帯情報「9,9:00:00−9:59:59」「10,10:00:00−10:59:59」「11,11:00:00−11:59:59」,・・・「22,22:00:00−22:59:59」を保持している、とする。また、人グループ作業情報取得手段1152は、まとまりの時間帯群の情報「午前(前半),9−10」「午前(後半),11−12」「午後(前半),13−15」「午後(後半),16−18」を保持している、とする。まとまりの時間帯群の情報は、まとまりの時間帯群を識別する情報(例えば、「午前(前半)」「午後(後半)」)、およびまとまりの時間帯群を示す情報(例えば、「9−10」、「16−18」)を保持している。まとまりの時間帯群を示す情報の「9−10」は、9:00:00−10:59:59の間を示す。
そして、人グループ作業情報取得手段1152は、図8のフローチャートに従って、以下のように動作する。つまり、人グループ作業情報取得手段1152は、各領域(領域識別子で識別される各領域)および各時間帯について、すべての存在時間情報を図14に示すトリガーデータから読み出す。次に、人グループ作業情報取得手段1152は、各領域および各時間帯について、すべての存在時間情報の中の時間をすべて取得し、当該時間の合計を算出する。次に、人グループ作業情報取得手段1152は、各領域および各時間帯について、製品生産時刻情報の数を取得する。そして、人グループ作業情報取得手段1152は、各領域および各時間帯について、「時間の合計/製品生産時刻情報の数」により、1個あたりの平均作業時間を算出する。
そして、人グループ作業情報取得手段1152は、各時間帯、各時間帯の平均作業時間、領域識別子などの情報をセットで書き込む。
次に、人グループ作業情報取得手段1152は、各まとまりの時間帯群ごとに、まとまりの時間帯群が有するすべての時間帯の平均作業時間を取得する。つまり、人グループ作業情報取得手段1152は、第一のまとまりの時間帯群の情報「午前(前半),9−10」が示す時間帯「9」「10」の平均作業時間を取得し、2つの平均作業時間の平均を算出する。ここでは、例えば、人グループ作業情報取得手段1152は、「9.4」を算出した、とする。
次に、人グループ作業情報取得手段1152は、第一のまとまりの時間帯群に対応するすべての時間帯の平均作業時間(時間帯「9」「10」の平均作業時間)から、標準偏差「2.27」を算出した、とする。
同様に、人グループ作業情報取得手段1152は、2番目以降のまとまりの時間帯群に対して、平均作業時間「9.7」、標準偏差「3.50」を算出した、とする。
同様に、人グループ作業情報取得手段1152は、3番目、4番目のまとまりの時間帯群に対して、平均作業時間「13.9」「12.4」、標準偏差「3.71」「2.73」を算出した、とする。
そして、人グループ作業情報取得手段1152は、図17に示す人グループ作業情報を得た、とする。人グループ作業情報は、ここでは、まとまりの時間帯群ごとの平均作業時間、および標準偏差を有する。
次に、時間帯別作業者割合情報取得手段1153は、時間帯別作業者割合情報の取得処理を行う。なお、時間帯別作業者割合情報取得手段1153は、時間帯情報「9,9:00:00−9:59:59」「10,10:00:00−10:59:59」「11,11:00:00−11:59:59」,・・・「22,22:00:00−22:59:59」を保持している、とする。
まず、時間帯別作業者割合情報取得手段1153は、各時間帯の時間帯別作業者情報を、時間帯別作業者情報管理表(図12)から読み出す。例えば、時間帯別作業者割合情報取得手段1153は、時間帯「9」の時間帯別作業者情報「19」(19名の勤務)を時間帯別作業者情報管理表から読み出す。
次に、時間帯別作業者割合情報取得手段1153は、各時間帯の時間帯別作業者情報から、各時間帯に作業者としてアサインされている者の総時間を算出する。例えば、時間帯別作業者割合情報取得手段1153は、時間帯「9」の時間帯別作業者情報「19」を用いて、「19×60分=1140分」を算出する。
次に、時間帯別作業者割合情報取得手段1153は、各時間帯の存在時間情報を、図14に示すトリガーデータから、すべて読み出す。ここで、時間帯別作業者割合情報取得手段1153は、カメラ識別子と領域識別子に関わらず、時間帯のみをキーとして、該当する存在時間情報を取得する。
そして、時間帯別作業者割合情報取得手段1153は、各時間帯ごとに、取得したすべての存在時間情報の中の時間をすべて取得し、当該時間の合計を算出する。例えば、時間帯別作業者割合情報取得手段1153は、時間帯「9」の時間の合計「545分」を算出する。
次に、時間帯別作業者割合情報取得手段1153は、取得した総時間(例えば、時間帯「9」の1140分)、および取得した作業時間(例えば、545分)から、「総時間−作業時間」により、非作業時間(例えば、595分)を算出する。
そして、時間帯別作業者割合情報取得手段1153は、各時間帯を識別する情報、各時間帯の作業時間、および各時間帯の非作業時間を対応付けてバッファに蓄積する。そして、例えば、時間帯別作業者割合情報取得手段1153は、図18に示す時間帯別作業者割合情報を得る。図18において、時間帯別作業者割合情報は、「ID」「時間帯」「作業時間(分)」「非作業時間(分)」を有する。
次に、時間帯別製品生産状況情報取得手段1154は、時間帯別製品生産状況情報の取得処理を行う。なお、時間帯別製品生産状況情報取得手段1154は、時間帯情報「9,9:00:00−9:59:59」「10,10:00:00−10:59:59」「11,11:00:00−11:59:59」,・・・「22,22:00:00−22:59:59」を保持している、とする。
まず、時間帯別製品生産状況情報取得手段1154は、勤務情報格納部111の勤務情報を読み出し、各時間帯ごと、各作業領域ごと(各作業者ごと)に、作業している時間を算出する。つまり、時間帯別製品生産状況情報取得手段1154は、例えば、作業領域「工程:1次組立工程,作業者:作業者1」の領域および時間帯「9」に対して、以下のように処理を行う。まず、時間帯別製品生産状況情報取得手段1154は、作業領域「工程:1次組立工程,作業者:作業者1」の領域および時間帯「9」に対応するすべての存在時間情報を、図14に示すトリガーデータから読み出す。
次に、時間帯別製品生産状況情報取得手段1154は、読み出した存在時間情報から、時間をすべて取得し、当該すべての時間の合計を算出する。ここでは、例えば、時間帯別製品生産状況情報取得手段1154は、合計時間「40分」を得た、とする。
次に、時間帯別製品生産状況情報取得手段1154は、上記の処理を各時間帯、各作業領域に対して繰り返し、時間帯ごと、作業領域ごとに合計時間を蓄積していく。そして、時間帯別製品生産状況情報取得手段1154は、図19に示す時間帯別製品生産状況情報を得た、とする。なお、図19の時間帯別製品生産状況情報は、領域識別子(工程識別子+作業者識別子)と時間帯ごとの合計時間(合計の作業時間)を有する。図19において、時間帯別製品生産状況情報は、「番号」「工程」「作業者」「時間帯」を有する。「番号」は、グループ(工程と言っても良い)を識別する情報である。「作業者」は、工程の中の一領域(作業者)を識別する情報である。「時間帯」は、「9」から「21」まである。「9」は9時台である。
次に、出力部116は、取得された作業情報を出力する。つまり、出力部116は、時間帯別作業効率情報(例えば、図16の表)、人グループ作業情報(例えば、図17の表)、時間帯別作業者割合情報(例えば、図18の表)、時間帯別製品生産状況情報(例えば、図19の表)を出力する。
なお、時間帯別作業効率情報の出力は、図16の表から得られた図20のグラフでも良い。また、人グループ作業情報の出力は、図17の表から得られた図21のグラフでも良い。また、時間帯別作業者割合情報の出力は、図18の表から得られた図22のグラフでも良い。さらに、時間帯別製品生産状況情報の出力は、図23の表のように、時間の範囲によって、表示態様を変更しても良い。例えば、図23において、各セルの背景色を、「0−9分」までは白、「10−29分」までは薄いグレイ、「30−45分」までは中程度のグレイ、「46−60分」までは濃いグレイとしている。
以上、本実施の形態によれば、製造現場の作業分析を簡易に行え、作業改善のための効果的な定量的評価が行える。
また、本実施の形態によれば、実際に人が動いていた時間を正確に取得するので、緻密な作業分析が可能となる。さらに具体的には、本実施の形態によれば、24時間、365日、常に、人が動いていた時間を正確に取得することができる。つまり、従来の人手による方法では、精度高く、短時間の作業の切り替わり(例えば、1作業15秒)を長期間(例えば、1時間)連続して取得することができないところ、本システムによれば、短時間の作業の切り替わりを長時間に渡って精度高く取得できる。そのため、極めて精度の高い緻密な作業分析が可能となる。
また、本実施の形態によれば、図20のように時間帯別作業効率情報を出力するので、効率的な時間、非効率な時間が簡単に、明瞭に把握できる。
また、本実施の形態によれば、図21にように人グループ作業情報を出力するので、効率的に製造するときの条件(チーム構成、製品等)を抽出できる。また、統計的に処理することで標準時間が算出できる。つまり、製造効率のばらつきや、異常な状況(異常値)を発見できる。
また、本実施の形態によれば、図22にように時間帯別作業者割合情報を出力するので、配置されている作業者が効率的に作業できている時間と、非効率な時間とが明瞭に把握できる。
また、本実施の形態によれば、図23にように時間帯別製品生産状況情報を出力するので、密度高く作業している人、グループ、および時間帯が明瞭となり、作業改善、シフトの改善に役立つ。
さらに、本実施の形態において、存在時間情報取得部113および解析部115のみをハードウェアボードに書き込み、単体の装置として配布しても良い。
なお、本実施の形態において、存在時間情報や製品生産時刻情報の取得方法は種々あり得る。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、予め決められた領域に人が存在している時間に関する情報である存在時間情報を、2以上の各領域ごとに取得する存在時間情報取得部と、前記存在時間情報取得部が取得した2以上の各領域に対する存在時間情報を用いて、作業に関する情報である作業情報を取得する解析部と、前記解析部が取得した作業情報を出力する出力部として機能させ、前記解析部は、前記存在時間情報取得部が取得した2以上の各領域に対する存在時間情報を用いて、2以上の各領域に対応する作業工程の時間帯別の作業効率を示す時間帯別作業効率情報を取得する時間帯別作業効率情報取得手段を具備し、前記作業情報は、前記時間帯別作業効率情報であるプログラム、である。
また、上記プログラムにおいて、コンピュータを、一の製品の生産時刻に関する情報である製品生産時刻情報を、2以上取得する製品生産時刻情報取得部としてさらに機能させ、前記解析部は、前記時間帯別作業効率情報取得手段に代えて、または前記時間帯別作業効率情報取得手段に加えて、前記製品生産時刻情報取得部が取得した2以上の製品生産時刻情報を用いて、時間帯ごとの製品の生産状況に関する情報である時間帯別製品生産状況情報を取得する時間帯別製品生産状況情報取得手段を具備するものとして機能させ、前記作業情報は、前記時間帯別製品生産状況情報を含むプログラム、であることは好適である。
また、上記プログラムにおいて、記憶媒体に、作業時間帯別の作業者に関する情報である時間帯別作業者情報を格納しており、コンピュータを、前記解析部は、前記時間帯別作業効率情報取得手段に代えて、または前記時間帯別作業効率情報取得手段に加えて、前記2以上の各領域ごとの存在時間情報および前記時間帯別作業者情報を用いて、時間帯別の作業者および非作業者の割合に関する情報である時間帯別作業者割合情報を取得する時間帯別作業者割合情報取得手段を具備するものとして機能させ、前記作業情報は、前記時間帯別作業者割合情報を含むプログラムであることは好適である。
また、上記プログラムにおいて、記憶媒体に、人を識別する人識別子または2以上の人が所属するグループを識別するグループ識別子または2以上の人識別子と一のグループ識別子とを有するグループ情報と、各人または各グループが作業を行う領域を識別する領域識別子と、各人または各グループの当該領域における作業時間に関する情報である人作業時間情報とを有する勤務情報を2以上格納しており、コンピュータを、前記解析部は、前記時間帯別作業効率情報取得手段に代えて、または前記時間帯別作業効率情報取得手段に加えて、前記2以上の勤務情報と、前記2以上の各領域ごとの存在時間情報とを用いて、領域ごと、人またはグループごとの作業の状況を示す情報である人グループ作業情報を取得する人グループ作業情報取得手段を具備するものとして機能させ、前記作業情報は、前記人グループ作業情報を含むプログラムであることは好適である。
また、上記プログラムにおいて、前記存在時間情報取得部は、2以上の作業領域を撮影したカメラ映像を格納し得るカメラ映像格納手段と、存在時間情報を取得する2以上の領域を特定する2以上の領域定義情報を格納し得る領域定義情報格納手段と、前記2以上の各領域定義情報が示す領域ごとに、前記カメラ映像の中の人の動きを検知する検知手段と、前記検知手段が人の動きを検知した時刻を取得する時刻取得手段と、前記時刻取得手段が取得した人の動きを検知した時刻を用いて、領域ごとの存在時間情報を取得する存在時間情報取得手段とを具備するものとして、コンピュータを機能させるプログラムであることは好適である。
(実施の形態2)
本実施の形態において、ビデオカメラを設置前にでも、作業分析を行うためにビデオカメラを設置する適切な場所が分かるシミュレーションを行うシミュレーション装置1について説明する。本実施の形態において説明するシミュレーション装置1を用いてビデオカメラの設置台数、設置位置を確定する。そして、作業中にビデオカメラを用いて撮影し、ビデオカメラごとに、カメラ映像を得る。そうして得られたカメラ映像が、実施の形態1で説明したカメラ映像格納手段1131に格納される。なお、以下、ビデオカメラを適宜、カメラとも言う。
本シミュレーション装置1は、画角等のカメラパラメータ、レイアウト図面、情報取得部分領域の情報を格納しており、カメラの位置および取り付け角度を受け付け、撮影領域をレイアウト図面上に出力する装置である。
また、本シミュレーション装置1は、電源位置も格納しており、制約に基づいて、ビデオカメラの電源ケーブルの配線を自動定義できる。
さらに、本シミュレーション装置1は、画角と画角のうちの信頼性のある範囲を示す情報を有し、ビデオカメラが撮影可能な領域と、作業分析を行う場合に信頼性のある領域との両方の領域を区別して出力するシミュレーション装置1である。
図24は、本実施の形態におけるシミュレーション装置1のブロック図である。
シミュレーション装置1は、パラメータ格納部10、レイアウト画像格納部12、情報取得領域情報格納部13、電源位置情報格納部14、制約情報格納部15、受付部16、撮影領域情報取得部17、ケーブル位置情報生成部18、および出力部19を具備する。
撮影領域情報取得部17は、撮影領域取得手段171、および信頼領域取得手段172を具備する。
パラメータ格納部10は、1以上のカメラパラメータを格納し得る。カメラパラメータは、例えば、ビデオカメラの画角を含むパラメータである。また、カメラパラメータは、例えば、カメラの種類を示すカメラ種である。また、カメラパラメータは、例えば、信頼性のある範囲を特定する信頼性範囲情報である。信頼性範囲情報は、中心からの角度の範囲であり、画角より狭い範囲の角度であっても良いし、画角が作り出す領域中の中心からの割合の情報等でも良い。また、パラメータ格納部10は、1以上のカメラパラメータの組であるカメラパラメータセットを2組以上格納していても良い。なお、カメラパラメータセットは、例えば、「標準レンズ,画角「50°から25°」」、「広角レンズ、画角「100°から60°」」、「望遠レンズ、画角「15°から10°」」、「魚眼レンズ、画角「最大180°」」等である。
パラメータ格納部10は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。パラメータ格納部10にカメラパラメータが記憶される過程は問わない。例えば、記録媒体を介してカメラパラメータがパラメータ格納部10で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたカメラパラメータがパラメータ格納部10で記憶されるようになってもよい。
レイアウト画像格納部12は、撮影対象の作業領域を示す画像であるレイアウト画像を格納し得る。レイアウト画像は、生産現場の図面、生産現場の写真などである。レイアウト画像は、生産現場のイラスト画像などでも良い。また、レイアウト画像は、二次元の画像でも三次元を示す画像(例えば、三次元CG画像)でも良い。
レイアウト画像格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。レイアウト画像格納部12にレイアウト画像が記憶される過程は問わない。
情報取得領域情報格納部13は、2以上の情報取得領域情報を格納し得る。情報取得領域情報は、情報取得領域を特定する情報である。情報取得領域は、作業領域中の領域であり、情報を取得する領域である。ここで、取得される情報は、作業者分析のための情報である。また、取得される情報は、例えば、実施の形態1で説明した情報であり、作業者が領域を出入りした時刻や領域に居た時間等である。また、情報を取得する領域は、作業者が入って作業する領域である。情報取得領域情報は、作業領域を示す矩形でも良いし、作業机でも良いし、作業者のアイコン等でも良い。
情報取得領域情報格納部13は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。情報取得領域情報格納部13に情報取得領域情報が記憶される過程は問わない。
電源位置情報格納部14は、1以上の電源の位置を示す1以上の電源位置情報を格納し得る。電源位置情報は、例えば、レイアウト画像上での位置(x,y)や、レイアウト画像上での三次元の位置(x,y,z)や、(経度,緯度)や、領域を特定する領域IDなどである。三次元の位置(x,y,z)の「z」は、床からの高さや天井との差異の情報である。
電源位置情報格納部14は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。電源位置情報格納部14に電源位置が記憶される過程は問わない。
制約情報格納部15は、ビデオカメラと電源を接続するケーブルに関する制約についての情報である制約情報を格納し得る。制約情報は、例えば、「ビデオカメラから最も近い電源に電源ケーブルを接続する」「すべてのビデオカメラの電源を1箇所に集め、かつ、全ケーブル長を最短にする電源にすべてのビデオカメラの電源ケーブルを接続する」「2以上のグループ化されたビデオカメラが一の電源を使用し、かつ、グループ化されたビデオカメラが使用する2以上のケーブルの長さの合計が最短になる」などである。なお、ビデオカメラと電源との2点間の距離は、直線距離でも良いし、カメラ位置情報が示すカメラの地点から、床または壁または天井を這って、水平または垂直に、電源位置情報が示す電源の地点まで最短の折れ線を延ばして、その折れ線の合計の距離(長さ)でも良い。
制約情報格納部15は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。制約情報格納部15に制約情報が記憶される過程は問わない。
受付部16は、1以上のビデオカメラの位置を示すカメラ位置情報と、1以上のビデオカメラの取り付け角度を示すカメラ角度情報とを受け付ける。また、受付部16は、1以上の各ビデオカメラについて、カメラパラメータセットを識別するカメラパラメータセット識別子とカメラ位置情報とカメラ角度情報とを受け付けても良い。また、受付部16は、その他の入力を、ユーザから受け付ける。なお、カメラ位置情報は、通常、(x,y,z)の三次元での位置を示す情報であるが、レイアウト画像上の2次元上の位置を示す情報(x,y)でも良い。また、カメラ角度情報とは、通常、平面上の向き(水平方向の向き)、および高さ方向の向き(垂直方向の向き)の両方である。平面上の向きとは、方角(東西南北)や基準方向からのずれ(角度)などである。高さ方向の向きとは、床や天井に対する高さ方向の角度などである。
ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。カメラ位置情報等の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部16は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
撮影領域情報取得部17は、1以上のビデオカメラごとに、撮影領域情報を取得する。撮影領域情報取得部17は、ビデオカメラのカメラ位置情報とカメラ角度情報とカメラパラメータとを用いて、ビデオカメラが撮影するレイアウト画像上の領域に関する情報である撮影領域情報を、ビデオカメラごとに取得する。また、撮影領域情報取得部17は、受付部16が受け付けたカメラパラメータセット識別子で識別されるパラメータセットとカメラ位置情報とカメラ角度情報とを用いて、1以上の各ビデオカメラが撮影するレイアウト画像上の領域に関する情報である1以上の撮影領域情報を取得しても良い。また、撮影領域情報取得部17は、後述する信頼領域取得手段172により、1以上の信頼領域情報を取得しても良い。
撮影領域情報取得部17は、通常、MPUやメモリ等から実現され得る。撮影領域情報取得部17の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
撮影領域取得手段171は、カメラ位置情報とカメラ角度情報と画角とを用いて、ビデオカメラが撮影するレイアウト画像上の領域に関する情報である撮影領域情報を、ビデオカメラごとに取得する。具体的には、例えば、カメラ位置情報(x1,y1,z1)、カメラ角度情報(θ11,θ12)、画角(水平画角α,垂直画角β)である場合、撮影領域取得手段171は、二次元のレイアウト画像上の撮影領域を示す情報(P1,P2,P3,P4)を、以下の数式1により取得する。なお、x1は三次元座標上のx座標値,y1は三次元座標上のy座標値,z1は三次元座標上の高さである。また、例えば、θ11はX軸正方向のカメラの傾きの角度、θ12はY軸正方向のカメラの傾きの角度である。
信頼領域取得手段172は、カメラ位置情報とカメラ角度情報と信頼性範囲情報とを用いて、ビデオカメラが撮影する信頼性のあるレイアウト画像上の領域に関する情報である1以上の信頼領域情報を、ビデオカメラごとに取得する。具体的には、例えば、カメラ位置情報(x2,y2,z2)、カメラ角度情報(θ21,θ22)、画角(水平画角α,垂直画角β)である場合、信頼領域取得手段172は、二次元のレイアウト画像上の信頼性のある撮影領域を示す情報(Q1,Q2,Q3,Q4)を取得する。なお、x2は三次元座標上のx座標値,y2は三次元座標上のy座標値,z2は三次元座標上の高さである。また、例えば、θ21はX軸正方向のカメラの傾きの角度、θ22はY軸正方向のカメラの傾きの角度である。
ケーブル位置情報生成部18は、1以上の各ビデオカメラの各カメラ位置情報と、1以上の電源位置情報とを用いて、制約情報に合致するようにケーブルの位置を示すケーブル位置情報を生成する。ケーブル位置情報は、例えば、ケーブルを示す折れ線を示す点の定義の集合である。点の定義は、始点(x1,y1,z1)、終点(x2,y2,z2)などである。制約情報が「ビデオカメラから最も近い電源に電源ケーブルを接続する」である場合、ケーブル位置情報生成部18は、カメラ位置情報と各電源の電源位置情報から、ビデオカメラと電源とを接続するケーブルの長さであり、床、壁、または天井を、一定のルールに基づいてケーブルが這った場合の最短の長さを、電源ごとに算出する。なお、一定のルールとは、「床について、隅以外はケーブルが通らない」「壁も天井も床も、縦または横方向にはケーブルが通り得るが、斜めにはケーブルは通らない」「まず、最も近い面(床、天井、壁)に面に対して垂直にケーブルが這い、次に面を縦または横方向に(斜めには這わない)他の面までケーブルが這う、という処理をビデオカメラから電源まで繰り返す」等である。具体的には、カメラ位置情報(x1,y1,z1)、電源位置情報(x2,y2,z2)、天井高(h)とが与えられている、とする。かかる場合、ケーブル位置情報生成部18がケーブル位置情報を生成する3つのケースについて、図39を用いて説明する。
まず、第一のケース(a)は、最短距離でケーブルを通したい場合である。本ケースでは、空間中の斜めにケーブルを通すケースである。そして、本ケースでは、ケーブル位置情報生成部18は、ケーブル位置情報「(x1,y1,z1)(x2,y2,z2)」を構成する。そして、ケース(a)では、ケーブル長は、「((x1−x2)2+(y1−y2)2+(z1−z2)2)1/2」により算出される。
次に、第二のケース(b)は、天井裏にケーブルを通したい場合である。本ケースでは、電源から天井に通し、天井裏を通してカメラに垂直に下ろすケースである。そして、本ケースでは、ケーブル位置情報生成部18は、ケーブル位置情報「(x1,y1,z1)(x1,y1,h)(x2,y2,h)(x2,y2,z2)」を構成する。そして、ケース(b)では、ケーブル長は、「2h−(z2+z1)+((x1−x2)2+(y1−y2)2)1/2」により算出される。
次に、第二のケース(c)は、壁からカメラへの距離を最短にしたい場合である。本ケースでは、電源から天井にケーブルを通し、壁づたいにケーブルを通し、壁から最短距離でカメラにケーブルを通し、垂直に下ろすケースである。そして、本ケースでは、ケーブル位置情報生成部18は、ケーブル位置情報「(x1,y1,z1)(x1,y1,h)(x2,y1,h)(x2,y2,h)(x2,y2,z2)」を構成する。そして、ケース(b)では、ケーブル長は、「2h−(z2+z1)+|x1−x2|+|y1−y2|」により算出される。
ケーブル位置情報生成部18は、通常、MPUやメモリ等から実現され得る。ケーブル位置情報生成部18の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部19は、1以上の撮影領域情報が示す撮影領域が視覚的に認識可能なように、かつ、2以上の情報取得領域情報で示す情報取得領域が視覚的に認識可能なように、レイアウト画像を出力する。なお、「視覚的に区別」とは、撮影領域と情報取得領域とが分かれば良い趣旨である。また、どのように撮影領域と情報取得領域を出力するかは問わない。
出力部19は、レイアウト画像上に、電源位置情報が示す位置に電源を出力し、かつ、ケーブル位置情報が示す位置にケーブルをも出力する。
出力部19は、レイアウト画像上に、撮影領域情報が示す撮影領域と、信頼領域情報が示す信頼領域とを視覚的に区別して出力する。上記の「視覚的に区別」とは、撮影領域と信頼領域とが分かれば良い趣旨である。また、どのように撮影領域と信頼領域を出力するかは問わない。
出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。出力部19は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部19は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、シミュレーション装置1の動作について、図25のフローチャートを用いて説明する。
(ステップS2501)受付部16は、カメラパラメータ識別子を受け付けたか否かを判断する。カメラパラメータ識別子を受け付ければステップS2502に行き、カメラパラメータ識別子を受け付けなければステップS2501に戻る。
(ステップS2502)撮影領域情報取得部17は、ステップS2501で受け付けたカメラパラメータ識別子で識別されるカメラパラメータセットを、パラメータ格納部10から読み出す。
(ステップS2503)受付部16は、ビデオカメラの位置を示すカメラ位置情報と、ビデオカメラの取り付け角度を示すカメラ角度情報とを受け付けたか否かを判断する。カメラ位置情報等を受け付ければステップS2504に行き、カメラ位置情報等を受け付けなければステップS2508に行く。
(ステップS2504)撮影領域情報取得部17の撮影領域取得手段171は、撮影領域情報を取得する。かかる撮影領域情報取得処理について、図26のフローチャートを用いて説明する。
(ステップS2505)信頼領域取得手段172は、信頼領域情報を取得する。かかる信頼領域情報取得処理について、図27のフローチャートを用いて説明する。
(ステップS2506)ケーブル位置情報生成部18は、各ビデオカメラのケーブル位置情報を生成する。ケーブル位置情報生成処理について、図28のフローチャートを用いて説明する。
(ステップS2507)出力部19は、レイアウト画像をレイアウト画像格納部12から読み出し、出力する。また、出力部19は、レイアウト画像上に、撮影領域情報が示す撮影領域と、信頼領域情報が示す信頼領域とを視覚的に区別して出力する。また、出力部19は、電源位置情報が示す位置に電源を出力し、かつ、ケーブル位置情報が示す位置にケーブルをも出力する。ステップS2503に戻る。
(ステップS2508)受付部16は、ユーザからカメラ位置情報とカメラ角度情報とが確定したことを示し確定指示を受け付けたか否かを判断する。確定指示を受け付ければステップS2501に行き、確定指示を受け付けなければステップS2503に戻る
なお、図25のフローチャートにおいて、ステップS2505、ステップS2506は必須ではない。かかる場合、ステップS2507において、出力部19は、レイアウト画像、撮影領域情報が示す撮影領域を出力する。
また、図25のフローチャートにおいて、受付部16が情報等を受け付ける順序は問わない。
さらに、図25のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS2504の撮影領域情報取得処理について、図26のフローチャートを用いて説明する。
(ステップS2601)撮影領域取得手段171は、カメラパラメータの一つである画角を取得する。
(ステップS2602)撮影領域取得手段171は、カメラ位置情報を取得する。
(ステップS2603)撮影領域取得手段171は、カメラ角度情報を取得する。
(ステップS2604)撮影領域取得手段171は、画角、カメラ位置情報、およびカメラ角度情報を用いて、撮影領域情報を算出する。上位処理にリターンする。
次に、ステップS2505の信頼領域情報取得処理について、図27のフローチャートを用いて説明する。図27のフローチャートにおいて、図26のフローチャートと同一のステップについて説明を省略する。
(ステップS2701)信頼領域取得手段172は、信頼性範囲情報を取得する。
(ステップS2702)信頼性範囲情報は、信頼性範囲情報、カメラ位置情報、およびカメラ角度情報を用いて、撮影領域情報を算出する。上位処理にリターンする。
なお、図27のステップS2702において、画角に代えて、信頼性範囲情報を用いる以外は、ステップS2604と同一の算出方法である。
次に、ステップS2506のケーブル位置情報生成処理について、図28のフローチャートを用いて説明する。
(ステップS2801)ケーブル位置情報生成部18は、カメラ位置情報を取得する。
(ステップS2802)ケーブル位置情報生成部18は、カウンタiに1を代入する。
(ステップS2803)ケーブル位置情報生成部18は、i番目の電源が存在するか否かを判断する。i番目の電源が存在すればステップS2804に行き、i番目の電源が存在しなければステップS2809に行く。なお、i番目の電源が存在するか否かは、電源位置情報格納部14に、i番目の電源位置情報が格納されているか否かにより判断する。
(ステップS2804)ケーブル位置情報生成部18は、i番目の電源位置情報を電源位置情報格納部14から読み出す。
(ステップS2805)ケーブル位置情報生成部18は、ステップS2801で取得したカメラ位置情報と、ステップS2804で取得したi番目の電源位置情報を用いて、制約情報格納部15の制約情報に合致するようにライン(ケーブル位置情報)を生成する。ケーブル位置情報生成部18は、カメラ位置情報と電源位置情報とからなるケーブル位置情報を取得しても良い。また、ケーブル位置情報生成部18は、カメラ位置情報が示す点から、床または壁または天井を這って、水平または垂直に、電源位置情報まで最短の折れ線を延ばして、その折れ線を構成するすべての点の情報をケーブル位置情報として取得しても良い。
(ステップS2806)ケーブル位置情報生成部18は、ケーブル位置情報からケーブルの長さを算出する。
(ステップS2807)ケーブル位置情報生成部18は、ステップS2805で取得したケーブル位置情報、ステップS2806で取得したらケーブルの長さを、対応付けて図示しないバッファに一時格納する。
(ステップS2808)ケーブル位置情報生成部18は、カウンタiを1、インクリメントする。ステップS2803に戻る。
(ステップS2809)ケーブル位置情報生成部18は、ケーブルの長さが最も短いライン(ケーブル)の情報を、ケーブル位置情報としてバッファに蓄積する。上位処理にリターンする。
以下、本実施の形態におけるシミュレーション装置1の具体的な動作について説明する。
今、パラメータ格納部10は、図29に示すパラメータ管理表を保持している。パラメータ管理表は、「ID」「カメラパラメータセット」の属性を有するレコードを1以上格納している。「カメラパラメータセット」は、「カメラ種」「画角」「信頼性範囲情報」を有する。「信頼性範囲情報」の属性値「−」は、NULLである。
また、図30に示すレイアウト画像がレイアウト画像格納部12に格納されている、とする。このレイアウト画像は、製品の生産現場のレイアウト画像である。図30において、矩形で網掛けの図形は、作業を行う机である。
さらに、制約情報格納部15は、「ビデオカメラから最も近い電源に電源ケーブルを接続する」、および「カメラの位置から、床または壁または天井を這って、水平または垂直に、電源の位置まで最短の折れ線を延ばす」ということを示す制約情報を格納している、とする。
かかる状況において、ユーザは、シミュレーション装置1を起動させた、とする。すると、シミュレーション装置1の受付部16は、起動命令を受け付ける。次に、出力部19は、レイアウト画像をレイアウト画像格納部12から読み出し、出力する。かかる状況を、図31に示す。なお、図31は、シミュレーション装置1の画面である。本シミュレーション装置1の画面において、ユーザは、ファイルメニュー311を操作して、レイアウト画像を読み込んだ。また、ツールボックス312には、机、棚、コンセント等のアイコンがあらかじめ定義されている。そして、ユーザは、例えば、マウス操作でそれらのアイコンをレイアウト画像上にドラッグすると配置される。また、アイコンはマウス操作で位置及びサイズが変更できる。なお、図31の画面は、二次元であるが、机、棚、コンセント等の高さ情報を、ユーザが入力し、定義できる、とする。また、ツールボックスに登録された作業者アイコン313を、ユーザがマウス操作でレイアウト画像上にドラッグすると配置される、とする。この作業者アイコン313は、情報取得領域となる。つまり、作業分析において、作業者が作業する領域が情報取得領域となる。また、ツールボックスに登録されたカメラアイコン314をマウス操作でレイアウト画像上にドラッグすると配置される。なお、ドラッグ後、ユーザは、カメラパラメータセット識別子を選択し、ビデオカメラの高さ情報を入力する、とする。
なお、図31において、計測機器リスト作成メニュー315を選択すると、図示しない手段が、レイアウト画像上に配置した計測機器のリストを自動作成する、とする。なお、計測機器とは、ビデオカメラ、レンズ、ケーブル等のことである。
かかる状況において、レイアウト画像上の2点をマウスクリックし、実際の距離(m)を入力した、とする(図32の321参照)。そして、シミュレーション装置1の図示しない縮尺取得手段は、レイアウト画像上の距離と、入力された実際の距離(m)から、レイアウト画像の縮尺を取得する。かかる処理は、公知技術である。
そして、次に、ユーザは、5つの作業者アイコン313をマウス操作でレイアウト画像上にドラッグして、配置した、とする(図32の322参照)。つまり、5つの情報取得領域が定義された。そして、図示しない手段は、5つの作業者アイコン313の位置、および大きさから、5つの情報取得領域情報を生成し、情報取得領域情報格納部13に蓄積する。そして、情報取得領域情報格納部13には、図33に示す情報取得領域情報管理表が格納されるに至る。なお、図32の情報取得領域情報は、情報取得領域が円形を示す情報であるが、情報取得領域は矩形や他の形状でも良い。
次に、ユーザは、2つの電源アイコンをマウス操作でレイアウト画像上にドラッグして、配置した、とする(図32の323、324参照)。そして、ユーザは、2つの電源アイコンの高さ情報(床からの高さ)を「50」と入力した、とする。つまり、2つの電源位置情報が定義され、図示しない手段により、電源位置情報格納部14に蓄積された、とする。ここで定義された電源位置情報は、電源アイコン323は(100,600,50)、電源アイコン324は(1000,50,50)であった、とする。
次に、ユーザは、カメラアイコン314をレイアウト画像上の、図34の341の位置にドラッグした、とする。そして、ユーザは、カメラの高さ情報と、カメラ角度情報(平面上の向き,高さ方向の向き)も入力した、とする。また、ユーザは、カメラパラメータ識別子「標準レンズ」を入力した、とする。なお、入力されたカメラの高さ情報は「300」、入力されたカメラ角度情報(平面上の向き,高さ方向の向き)は(315°,45°)である、とする。ここでは、平面上の向き「315°」は、北(上)を基準として、時計回りの角度である。また、高さ方向の向き「45°」は、天井から下に向かうカメラの角度である。
すると、受付部16は、カメラパラメータ識別子「標準レンズ」を受け付ける。そして、撮影領域情報取得部17は、カメラパラメータ識別子「標準レンズ」で識別されるカメラパラメータセット(画角「20°〜50°」)を、図29のパラメータ管理表から読み出す。
そして、受付部16は、ビデオカメラの位置を示すカメラ位置情報(900,225,300)と、ビデオカメラの取り付け角度を示すカメラ角度情報(315°,45°)とを受け付ける。
そして、撮影領域取得手段171は、図26のフローチャートに従って、撮影領域情報を取得する。具体的には、数式1により、撮影領域情報を取得する。なお、カメラパラメータ識別子「標準レンズ」に対応する信頼性範囲情報はNULLであるので、ここでは、信頼領域取得手段172は、信頼領域情報を取得しない。
次に、ケーブル位置情報生成部18は、制約情報「ビデオカメラから最も近い電源に電源ケーブルを接続する」および「カメラの位置から、床または壁または天井を這って、水平または垂直に、電源の位置まで最短の折れ線を延ばす」に従って、図28のフローチャートの動作により、ビデオカメラ341のケーブル位置情報を、以下のように生成する。つまり、まず、ケーブル位置情報生成部18は、カメラ位置情報(900,225,300)を取得する。ケーブル位置情報生成部18は、1番目の電源位置情報(100,600,50)を電源位置情報格納部14から読み出す。
次に、ケーブル位置情報生成部18は、取得したカメラ位置情報(900,225,300)と、取得した1番目の電源位置情報(100,600,50)を用いて、制約情報「カメラの位置から、床または壁または天井を這って、水平または垂直に、電源の位置まで最短の折れ線を延ばす」に合致するようにライン(ケーブル位置情報)を生成する。そして、ケーブル位置情報生成部18は、例えば、ケーブル位置情報「(900,225,300)(900,600、300)(100,600,300)(100,600,50)」を得る。つまり、ケーブル位置情報生成部18は、制約情報「カメラの位置から、床または壁または天井を這って、水平または垂直に、電源の位置まで最短の折れ線を延ばす」を満たすように、ビデオカメラ341(天井に設置されている)から天井を這って、画面の下の壁351に向かって、1番目の電源352と壁351との距離と同じ距離になるまでラインを伸ばし、次に、壁351と平行に電源352に向かって天井を這いながらラインを伸ばし、電源352の真上にきたところで、壁351に沿って、電源352まで下にラインを伸ばす。かかるラインを示すケーブル位置情報が「(900,225,300)(900,600、300)(100,600,300)(100,600,50)」である。また、かかるラインを示したのが、図35の353である。
次に、ケーブル位置情報生成部18は、ケーブル位置情報からケーブルの長さ(L1)を算出する。そして、ケーブル位置情報生成部18は、取得したケーブル位置情報「(900,225,300)(900,600、300)(100,600,300)(100,600,50)」、ケーブルの長さ(L1)を、対応付けて図示しないバッファに一時格納する。なお、ケーブル位置情報生成部18は、点(900,225,300)と点(900,600、300)との距離、点(900,600、300)と点(100,600,300)との距離、点(100,600,300)と点(100,600,50)との距離を算出し、それらの距離を合成し、L1を得る。後述するL2、L3、L4の算出方法も同様である。
次に、ケーブル位置情報生成部18は、2番目の電源位置情報(1000,50,50)を電源位置情報格納部14から読み出す。
次に、ケーブル位置情報生成部18は、取得したカメラ位置情報(900,225,300)と、取得した2番目の電源位置情報(1000,50,50)を用いて、制約情報「カメラの位置から、床または壁または天井を這って、水平または垂直に、電源の位置まで最短の折れ線を延ばす」に合致するようにライン(ケーブル位置情報)を生成する。そして、ケーブル位置情報生成部18は、例えば、ケーブル位置情報「(900,225,300)(1000,225、300)(1000,50,300)(1000,50,50)」を得る。つまり、ケーブル位置情報生成部18は、制約情報「カメラの位置から、床または壁または天井を這って、水平または垂直に、電源の位置まで最短の折れ線を延ばす」を満たすように、ビデオカメラ341(天井に設置されている)から天井を這って、画面の右の壁354に向かって、2番目の電源355と壁354との距離と同じ距離になるまでラインを伸ばし、次に、壁354と平行に電源355に向かって天井を這いながらラインを伸ばし、電源355の真上にきたところで、壁354に沿って、電源355まで下にラインを伸ばす。かかるラインを示すケーブル位置情報が「(900,225,300)(1000,225、300)(1000,50,300)(1000,50,50)」である。また、かかるラインを示したのが、図35の356である。
次に、ケーブル位置情報生成部18は、ケーブル位置情報からケーブルの長さ(L2)を算出する。そして、ケーブル位置情報生成部18は、取得したケーブル位置情報「(900,225,300)(1000,225、300)(1000,50,300)(1000,50,50)」、ケーブルの長さ(L2)を、対応付けて図示しないバッファに一時格納する。
次に、ケーブル位置情報生成部18は、ケーブルの長さ(L1)とケーブルの長さ(L2)とを比較し、ケーブルの長さが最も短い(L2)に対応するケーブル位置情報「(900,225,300)(1000,225、300)(1000,50,300)(1000,50,50)」をバッファに蓄積する。
次に、出力部19は、レイアウト画像上に、撮影領域情報が示す撮影領域を視覚的に区別して出力する。また、出力部19は、電源位置情報が示す位置に電源を出力し、かつ、ケーブル位置情報が示す位置にケーブルを示すラインをも出力する。かかる出力例が図36である。
次に、ユーザは、2つ目のカメラアイコンをレイアウト画像上の、図37の371の位置にドラッグした、とする。そして、ユーザは、カメラの高さ情報と、カメラ角度情報(平面上の向き,高さ方向の向き)も入力した、とする。また、ユーザは、カメラパラメータ識別子「広角レンズ」を入力した、とする。なお、入力されたカメラの高さ情報は「300」、入力されたカメラ角度情報(平面上の向き,高さ方向の向き)は(180°,80°)である、とする。ここでは、平面上の向き「180°」は、北(上)を基準として、時計回りの角度であり、南(下)である。また、高さ方向の向き「80°」は、天井から下に向かうカメラの角度であり、真下に近い角度である。
すると、受付部16は、カメラパラメータ識別子「広角レンズ」を受け付ける。そして、撮影領域情報取得部17は、カメラパラメータ識別子「広角レンズ」で識別されるカメラパラメータセット(画角「60°〜100°」、信頼性範囲情報「65°〜95°」)を、図29のパラメータ管理表から読み出す。
そして、受付部16は、ビデオカメラの位置を示すカメラ位置情報(220,180,300)と、ビデオカメラの取り付け角度を示すカメラ角度情報(180°,80°)とを受け付ける。
そして、撮影領域取得手段171は、図26のフローチャートに従って、撮影領域情報を取得する。具体的には、数式1により、撮影領域情報を取得する。
また、信頼領域取得手段172は、図27のフローチャートに従って、信頼領域情報を取得する。具体的には、数式2により、信頼領域情報を取得する。
次に、ケーブル位置情報生成部18は、制約情報「ビデオカメラから最も近い電源に電源ケーブルを接続する」および「カメラの位置から、床または壁または天井を這って、水平または垂直に、電源の位置まで最短の折れ線を延ばす」に従って、図28のフローチャートの動作により、ビデオカメラ341のケーブル位置情報を、以下のように生成する。つまり、まず、ケーブル位置情報生成部18は、カメラ位置情報(220,180,300)を取得する。ケーブル位置情報生成部18は、1番目の電源位置情報(100,600,50)を電源位置情報格納部14から読み出す。
次に、ケーブル位置情報生成部18は、上記の処理と同様に、ケーブル位置情報「(220,180,300)(100,180、300)(100,600,300)(100,600,50)」を得る。
次に、ケーブル位置情報生成部18は、ケーブル位置情報からケーブルの長さ(L3)を算出する。そして、ケーブル位置情報生成部18は、取得したケーブル位置情報「(220,180,300)(100,180、300)(100,600,300)(100,600,50)」、ケーブルの長さ(L3)を、対応付けて図示しないバッファに一時格納する。
次に、ケーブル位置情報生成部18は、2番目の電源位置情報(1000,50,50)を電源位置情報格納部14から読み出す。
次に、ケーブル位置情報生成部18は、上記の処理と同様に、ケーブル位置情報「(220,180,300)(220,50、300)(1000,50,300)(1000,50,50)」を得る。
次に、ケーブル位置情報生成部18は、ケーブル位置情報からケーブルの長さ(L4)を算出する。そして、ケーブル位置情報生成部18は、取得したケーブル位置情報「(220,180,300)(220,50、300)(1000,50,300)(1000,50,50)」、ケーブルの長さ(L4)を、対応付けて図示しないバッファに一時格納する。
次に、ケーブル位置情報生成部18は、ケーブルの長さが最も短い(L3)ライン(ケーブル)の情報「(220,180,300)(100,180、300)(100,600,300)(100,600,50)」を、ケーブル位置情報としてバッファに蓄積する。
次に、出力部19は、レイアウト画像上に、撮影領域情報が示す撮影領域と、信頼領域情報が示す信頼領域とを視覚的に区別して出力する。撮影領域情報が示す撮影領域を視覚的に区別して出力する。また、出力部19は、電源位置情報が示す位置に電源を出力し、かつ、ケーブル位置情報が示す位置にケーブルを示すラインをも出力する。かかる出力例が図38である。なお、図38において、381が撮影領域、382が信頼領域、383がケーブル位置情報である。
以上、本実施の形態によれば、ビデオカメラを設置前にでも、作業分析を行うためにビデオカメラを設置する適切な場所が分かる。
また、本実施の形態によれば、電源位置をも考慮して、ビデオカメラを設置前に、作業分析を行うためにビデオカメラを設置する適切な場所を検討できる。
さらに、本実施の形態によれば、作業分析を行う場合に、カメラの信頼性の高い領域である信頼領域をも出力できることにより、ビデオカメラを設置前に、作業分析を行うためにビデオカメラを設置するより適切な場所を詳細に検討できる。
なお、本実施の形態において、図示しない検査手段が、撮影領域情報取得部17が取得した1以上の撮影領域情報が示す1以上の撮影領域が、すべての情報取得領域を包含しているか否かを検査し、出力部19がすべての情報取得領域を包含していることを示す情報、または/および包含していないことを示す情報を出力しても良い。なお、1以上の撮影領域情報と、1以上の情報取得領域を与えられた場合、1以上の撮影領域情報が示す1以上の撮影領域が、すべての情報取得領域を包含しているか否かを検査する処理は、公知技術により可能であるので、説明を省略する。
また、本実施の形態において、シミュレーション装置1は、実施の形態1で述べた勤務情報格納部111、時間帯別作業者情報格納部112、存在時間情報取得部113、製品生産時刻情報取得部114、解析部115、および出力部116(ここでは、第二出力部とも言う)をも具備しても良い。また、シミュレーション装置1は、実施の形態1で述べた上記の構成要素の中で、解析部115の結果を格納している解析結果格納部(図示しない)と、第二出力部を具備しても良い。そして、実施の形態1で述べた各種の分析レポートの出力イメージを確認できることは好適である。分析レポートの例とは、図20から図23で示したグラフなどである。
さらに、本実施の形態におけるシミュレーション装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、ビデオカメラの画角を含むパラメータであるカメラパラメータと、撮影対象の作業領域を示す画像であるレイアウト画像と、前記作業領域中の領域であり、情報を取得する領域である情報取得領域を特定する2以上の情報取得領域情報とを格納しており、コンピュータを、1以上のビデオカメラの位置を示すカメラ位置情報と、前記1以上のビデオカメラの取り付け角度を示すカメラ角度情報とを受け付ける受付部と、前記1以上のビデオカメラの前記カメラ位置情報と前記カメラ角度情報と前記カメラパラメータとを用いて、前記1以上の各ビデオカメラが撮影する前記レイアウト画像上の領域に関する情報である1以上の撮影領域情報を取得する撮影領域情報取得部と、前記1以上の撮影領域情報が示す領域が視覚的に認識可能なように、かつ、前記2以上の情報取得領域情報で示す情報取得領域が視覚的に認識可能なように、前記レイアウト画像を出力する出力部として機能させるためのプログラム、である。
また、上記プログラムにおいて、記録媒体に、1以上のカメラパラメータの組であるカメラパラメータセットを2組以上格納しており、前記受付部は、1以上の各ビデオカメラについて、カメラパラメータセットを識別するカメラパラメータセット識別子とカメラ位置情報とカメラ角度情報とを受け付け、前記撮影領域情報取得部は、前記受付部が受け付けたカメラパラメータセット識別子で識別されるパラメータセットと前記カメラ位置情報と前記カメラ角度情報とを用いて、前記1以上の各ビデオカメラが撮影する前記レイアウト画像上の領域に関する情報である1以上の撮影領域情報を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、記録媒体に、1以上の電源の位置を示す1以上の電源位置情報と、ビデオカメラと電源を接続するケーブルに関する制約についての情報である制約情報とを格納しており、前記1以上の各ビデオカメラの各カメラ位置情報と、前記1以上の電源位置情報とを用いて、前記制約情報に合致するようにケーブルの位置を示すケーブル位置情報を生成するケーブル位置情報生成部をさらに具備し、前記出力部は、前記レイアウト画像上に、前記電源位置情報が示す位置に電源を出力し、かつ、前記ケーブル位置情報が示す位置にケーブルをも出力するものとして、コンピュータを機能させるプログラムであることは好適である。
また、上記プログラムにおいて、前記カメラパラメータは、ビデオカメラの画角、および信頼性のある範囲を特定する信頼性範囲情報を有し、前記撮影領域情報取得部は、前記カメラ位置情報と前記カメラ角度情報と前記画角とを用いて、前記1以上の各ビデオカメラが撮影する前記レイアウト画像上の領域に関する情報である1以上の撮影領域情報を取得する撮影領域取得手段と、前記カメラ位置情報と前記カメラ角度情報と前記信頼性範囲情報とを用いて、前記1以上の各ビデオカメラが撮影する信頼性のある前記レイアウト画像上の領域に関する情報である1以上の信頼領域情報を取得する信頼領域取得手段とを具備し、前記出力部は、前記レイアウト画像上に、前記撮影領域情報が示す撮影領域と、前記信頼領域情報が示す信頼領域とを視覚的に区別して出力するものとして、コンピュータを機能させるプログラムであることは好適である。
また、図40は、本明細書で述べたプログラムを実行して、上述した実施の形態のシミュレーション装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図40は、このコンピュータシステム340の概観図であり、図41は、コンピュータシステム340のブロック図である。
図40において、コンピュータシステム340は、FDドライブ、CD−ROMドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図41において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態のシミュレーション装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態のシミュレーション装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。