(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-07-07
(45)【発行日】2025-07-15
(54)【発明の名称】情報処理装置および情報処理方法、並びにプログラム
(51)【国際特許分類】
B25J 19/06 20060101AFI20250708BHJP
【FI】
B25J19/06
(21)【出願番号】P 2021040409
(22)【出願日】2021-03-12
【審査請求日】2024-01-16
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】三嶋 一馬
(72)【発明者】
【氏名】馬場 洋一
【審査官】神山 貴行
(56)【参考文献】
【文献】特開2020-069572(JP,A)
【文献】特開2020-075325(JP,A)
【文献】特開2003-150219(JP,A)
【文献】特開2014-079824(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
(57)【特許請求の範囲】
【請求項1】
センサによって測定された距離情報を取得する距離情報取得手段と、
前記センサの測定可能領域内に設定されている仮想的な3次元の防護エリアの情報を取得するエリア情報取得手段と、
前記距離情報に基づいて、前記センサの死角となる3次元の死角領域を算出する死角算出手段と、
前記防護エリア及び前記死角領域を仮想的な3次元空間に表示する表示手段と、
前記測定可能領域内に設置されたロボットを動かしながら複数のタイミングで前記センサにより測定した距離情報から前記ロボットの動作範囲を認識する認識手段と、
を有し、
前記死角算出手段は、前記
認識手段により認識した前記ロボットの
前記動作範囲に基づいて、前記ロボットにより生じる死角領域を算出することを特徴する情報処理装置。
【請求項2】
前記表示手段は、さらに、前記距離情報に基づく点群を前記仮想的な3次元空間に表示することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記エリア情報取得手段は、前記測定可能領域内に存在する物体の3Dモデルを取得し、
前記表示手段は、さらに、前記3Dモデルを前記仮想的な3次元空間に表示することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記死角領域の少なくとも一部が前記防護エリア内にある場合に警告を行う警告手段をさらに備えることを特徴とする請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
前記警告手段は、前記防護エリア内における前記死角領域の大きさが閾値以上である場合に危険警告を行うことを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記仮想的な3次元空間に表示された前記防護エリアの範囲は、ユーザ操作により変更可能であることを特徴とする請求項1~5のいずれか1項に記載の情報処理装置。
【請求項7】
前記表示手段は、
前記ロボットの前記動作範囲を前記仮想的な3次元空間に重畳して表示することを特徴とする請求項
1~6のいずれか1項に記載の情報処理装置。
【請求項8】
前記ロボットにより生じる死角領域が前記防護エリア内にある場合、前記死角領域が減少するように前記動作範囲を変更させる指示を前記ロボットに対して送信する指示送信手段を更に備えることを特徴とする請求項
7に記載の情報処理装置。
【請求項9】
前記認識手段は、
前記複数のタイミングで前記センサにより測定された前記距離情報の夫々を、前記測定可能領域における各物体の占める範囲を示す物体範囲情報に変換し、
前記物体範囲情報から、前記測定可能領域における前記ロボット以外の物体の占める範囲を示す周辺環境情報を除いて、前記測定可能領域における前記ロボットの占める範囲を示す実動作情報を生成し、
前記複数のタイミングでの前記実動作情報を重ね合わせて、前記ロボットの動作範囲を算出することを特徴とする請求項
8に記載の情報処理装置。
【請求項10】
前記ロボットを停止させた状態で前記センサにより測定された前記距離情報に基づき、前記周辺環境情報を設定する設定手段を更に有することを特徴とする請求項
9に記載の情報処理装置。
【請求項11】
前記複数のタイミングで前記センサにより測定された前記距離情報は、実作動中と同じ動作で前記ロボットを動かしながら前記センサにより測定された距離情報であることを特徴とする請求項
9又は
10に記載の情報処理装置。
【請求項12】
前記死角算出手段は、前記周辺環境情報に基づいてさらに前記死角領域を算出することを特徴とする請求項
9~
11のいずれか1項に記載の情報処理装置。
【請求項13】
前記ロボットの最大可動範囲から、前記センサの死角となりうる第2の死角領域を算出する第2の死角算出手段を更に備え、
前記表示手段は、前記第2の死角領域を、前記ロボットの動作範囲から算出された死角領域と識別可能な状態で、前記仮想的な3次元空間にさらに重畳して表示することを特徴とする請求項
9~
12のいずれか1項に記載の情報処理装置。
【請求項14】
前記ロボットの最大可動範囲から、前記センサの死角となりうる第2の死角領域を算出する第2の死角算出手段を更に備え、
前記表示手段は、前記ロボットの動作範囲から算出された死角領域と前記第2の死角領域とを切り替えて、前記仮想的な3次元空間に重畳して表示することを特徴とする請求項
9~
12のいずれか1項に記載の情報処理装置。
【請求項15】
センサによって測定された距離情報を取得するステップと、
前記センサの測定可能領域内に設定されている仮想的な3次元の防護エリアの情報を取得するステップと、
前記距離情報に基づいて、前記センサの死角となる3次元の死角領域を算出するステップと、
前記防護エリア及び前記死角領域を仮想的な3次元空間に表示するステップと、
前記測定可能領域内に設置されたロボットを動かしながら複数のタイミングで前記センサにより測定した距離情報から前記ロボットの動作範囲を認識するステップと、
を有し、
前記死角領域を算出するステップでは、
認識された前
記ロボットの
前記動作範囲に基づ
いて、前記ロボットにより生じる死角領域を算出することを特徴する情報処理方法。
【請求項16】
請求項
15に記載の情報処理方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【0002】
生産現場のような監視が必要な場面において、人体等の物体を検出するためにセンサが用いられている。物体を確実に検出するために、センサを適切な位置や向きに設置したり、監視対象となるエリアを適切に設定することが求められる。しかし、距離センサの設置位置や向きが適切かどうか、監視対象となるエリアが適切に設定されているかをユーザが判断するのは容易でない。
【0003】
特許文献1には、3Dセンサを使用して、安全目的のために作業空間を監視するシステムが開示されている。このシステムでは、3Dセンサによって監視される円錐の立体空間は、いかなる障害物も検出されなかった「非占有」とマーキングされる空間と、物体の検出された「占有」とマーキングされる空間と、検出された物体のために3Dセンサの死角領域となった「未知」とマーキングされる空間とに分類されて表示される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1で「未知」とマーキングされる空間がクリティカルな死角領域であるかをユーザが認識するのは容易でない。
【0006】
そこで本発明は、ユーザがクリティカルな死角領域を容易に認識することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために本発明は、以下の構成を採用する。
【0008】
本発明の第一側面は、センサによって測定された距離情報を取得する距離情報取得手段と、前記センサの測定可能領域内に設定されている仮想的な3次元の防護エリアの情報を取得するエリア情報取得手段と、前記距離情報に基づいて、前記センサの死角となる3次元の死角領域を算出する死角算出手段と、前記防護エリア及び前記死角領域を仮想的な3次元空間に表示する表示手段と、有することを特徴する情報処理装置を提供する。
【0009】
「センサ」は、3次元情報を測定可能なセンサであり、一例としてTOF(Time of Flight)センサである。
【0010】
この構成によれば、センサで測定された距離情報に基づいて、センサの死角となる3次元の死角領域の算出を行い、防護エリア及び死角領域を仮想的な3次元空間に表示する。これにより、防護エリアと死角領域が可視化され、ユーザが、防護エリアと死角領域の位置や大きさの関係を視覚的に確認することができるので、クリティカルな死角領域を容易に認識することができる。
【0011】
前記表示手段は、さらに、前記距離情報に基づく点群を前記仮想的な3次元空間に表示
してもよい。点群を構成する各々の点は、センサによって距離が測定された物体表面上の点(計測点)に対応するものである。したがって、点群を仮想的な3次元空間に表示することで、測定可能領域内に存在する物体(の外形)を表すことができる。これにより、防護エリアの内側や近傍に存在する物体との位置・大きさの関係や、当該物体により生じる死角領域なども把握することができる。
【0012】
前記エリア情報取得手段は、前記測定可能領域内に存在する物体の3Dモデルを取得し、前記表示手段は、さらに前記3Dモデルを前記仮想的な3次元空間に表示してもよい。「3Dモデル」は、センサで測定して得られたデータではなく、例えばCADデータのような、物体の外形を定義する3次元データである。このような3Dモデルを用いて表示を行うことにより、測定可能領域内に存在する物体をより精細かつ正確に表すことができる。これにより、防護エリアの内側や近傍に存在する物体との位置・大きさの関係や、当該物体により生じる死角領域なども把握することができる。
【0013】
また、前記死角領域の少なくとも一部が前記防護エリア内にある場合に警告を行う警告手段をさらに備えてもよい。防護エリア内にセンサの死角が存在する場合、防護エリアに侵入した侵入物を検知できないおそれがあるため、防護エリア内に死角領域が含まれている状態はクリティカルな問題である。したがって上記のように警告を行うことにより、ユーザは、クリティカルな死角領域をより容易に認識することができる。
【0014】
また、前記警告手段は、前記防護エリア内における前記死角領域の大きさが閾値以上である場合に危険警告を行ってもよい。これにより、防護エリア内にある死角領域が例えば人が入れるほどの大きさである場合、ユーザに対し、危険度が高いセンサ配置となっていることを知らせることができる。
【0015】
また、前記仮想的な3次元空間に表示された前記防護エリアの範囲は、ユーザ操作により変更可能であってもよい。これにより、防護エリアの適切な設定が容易になる。
【0016】
前記測定可能領域内に、作業機械が設置されており、前記死角算出手段は、前記作業機械により生じる死角領域を算出してもよい。作業機械の近くに作業者が近寄る可能性は高いため、作業機械により生じる死角領域はクリティカルな場合が多いからである。
【0017】
また、前記作業機械はロボットであって、前記ロボットを動かしながら複数のタイミングで前記センサにより測定した前記距離情報から前記ロボットの動作範囲を認識する認識手段を更に備え、前記死角算出手段は、前記ロボットの動作範囲から前記死角領域を算出し、前記表示手段は、前記動作範囲を前記仮想的な3次元空間に重畳して表示してもよい。これにより、ロボットの作動により生じるセンサから視た死角領域をユーザは容易に認識することが可能となる。
【0018】
また、前記ロボットにより生じる死角領域が前記防護エリア内にある場合、前記死角領域が減少するように前記動作範囲を変更させる指示を前記ロボットに対して送信する指示送信手段を更に備えてもよい。これにより、ロボットにセンサによる測定結果のフィードバックを与えることができる。
【0019】
また、前記認識手段は、前記複数のタイミングで前記センサにより測定された前記距離情報の夫々を、前記測定可能領域における各物体の占める範囲を示す物体範囲情報に変換し、前記物体範囲情報から、前記測定可能領域における前記ロボット以外の物体の占める範囲を示す周辺環境情報を除いて、前記測定可能領域における前記ロボットの占める範囲を示す実動作情報を生成し、前記複数のタイミングでの前記実動作情報を重ね合わせて、前記ロボットの動作範囲を算出してもよい。これにより、ロボットの動作範囲の決定を短
時間で行うことができる。
【0020】
また、前記ロボットを停止させた状態で前記センサにより測定された前記距離情報に基づき、前記周辺環境情報を設定する設定手段を更に有してもよい。これにより、測定可能領域における物体の位置をセンサを用いて簡便に検知することができる。
【0021】
前記複数のタイミングで前記センサにより測定された前記距離情報は、実作動中と同じ動作で前記ロボットを動かしながら前記センサにより測定された距離情報であってもよい。これにより、実作動中に生じるものと同じ死角領域を設定することができる。
【0022】
前記死角算出手段は、前記周辺環境情報に基づいてさらに前記死角領域を算出してもよい。これにより、ユーザが、クリティカルな死角領域をより容易に認識することができる。
【0023】
前記ロボットの最大可動範囲から、前記センサの死角となりうる第2の死角領域を算出する第2の死角算出手段を更に備え、前記表示手段は、前記第2の死角領域を、前記ロボットの動作範囲から算出された死角領域と識別可能な状態で、前記仮想的な3次元空間にさらに重畳してもよい。これにより、ロボットの最大可動範囲での死角領域のうちクリティカルなものをユーザが把握することができる。
【0024】
前記ロボットの最大可動範囲から、前記センサの死角となりうる第2の死角領域を算出する第2の死角算出手段を更に備え、前記表示手段は、前記ロボットの動作範囲から算出された死角領域と前記第2の死角領域とを切り替えて、前記仮想的な3次元空間に重畳して表示してもよい。これにより、ロボットの最大可動範囲での死角領域のうちクリティカルなものをユーザが把握することができる。
【0025】
本発明の第二側面は、センサによって測定された距離情報を取得するステップと、前記センサの測定可能領域内に設定されている仮想的な3次元の防護エリアの情報を取得するステップと、前記距離情報に基づいて、前記センサの死角となる3次元の死角領域を算出するステップと、前記防護エリア及び前記死角領域を仮想的な3次元空間に表示するステップと、有することを特徴する情報処理方法を提供する。
【0026】
本発明の第三側面は、上記情報処理方法の各ステップをコンピュータに実行させるためのプログラムを提供する。
【0027】
本発明は、上記手段の少なくとも一部を有する情報処理装置、死角表示装置、死角確認装置などとして捉えてもよいし、これらの装置とセンサとを含む物体検知システム、監視システムなどとして捉えてもよい。また、本発明は、上記処理の少なくとも一部を有する情報処理方法、死角表示方法、死角確認方法、物体検知方法、監視方法、制御方法として捉えてもよい。また、本発明は、かかる方法を実現するためのプログラムやそのプログラムを非一時的に記録した記録媒体として捉えることもできる。尚、上記手段ないし処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【0028】
本発明によれば、ユーザがクリティカルな死角領域を容易に認識することができる。
【図面の簡単な説明】
【0029】
【
図1】
図1は、本発明の一実施の形態に係る情報処理装置及びセンサを含む監視システムのブロック図である。
【
図3】
図3は、監視システムが用いられる現場の模式的な立体図である。
【
図5】
図5は、死角領域表示処理を示すフローチャートである。
【発明を実施するための形態】
【0030】
<適用例>
図1~
図3を参照して、本発明に係る情報処理装置の適用例を説明する。
図1は、本発明の一実施の形態に係る情報処理装置50及びセンサ10を含む監視システムのブロック図である。
図2は、制御部30の機能ブロック図である。
図3は、監視システムが用いられる現場の模式的な立体図である。
【0031】
図3に示すように、3次元の距離情報を測定・出力する3次元距離センサ10(以下、センサ10と記す)が用いられる現場として、ロボット302や製造装置などの作業機械(「危険源」とも呼ばれる)が作業者と協働しながら生産を行う生産現場のように、物体の監視が必要な場所が想定される。センサ10による物体の監視は、センサ10の設置位置や向き、ロボット302の配置、及び安全距離等を考慮して定められる、仮想的な3次元の防護エリア305において行われる。
【0032】
一方、ロボット302が、作業台303の上に設置され、実作動中に3次元の動作範囲である動線306(
図3においては、センサ10から視て、動線306の奥側の領域のみ図示)上を動く場合、実作動中においてセンサ10の死角となる死角領域306a(
図3)が生じる。死角領域306aのような防護エリア305内に存在する死角領域は、防護エリア305にもかかわらずセンサ10による物体の検知ができないクリティカルな死角領域となる。よって、ユーザは、このようなクリティカルな死角領域の安全確認を行う必要があるが、現場のどの領域がクリティカルな死角領域であるかをユーザが認識するのは容易でない。
【0033】
そこで、本実施の形態では、
図3に示すように、ユーザは、センサ10を、その測定可能領域301にロボット302の少なくとも一部が入るように設置する。この状態で、距離情報取得手段としての制御部30のセンシング部201(
図2)は、センサ10で測定・出力された距離情報(3次元情報)を取得する。そして、エリア設定手段としての制御部30の防護エリア設定部202(
図2)は、センサ10の設置位置や向き、ロボット302の配置、及び安全距離等に基づいて、測定可能領域301内に仮想的な3次元の防護エリア305を設定する。エリア情報取得手段としての制御部30のエリア情報取得部203(
図2)は、記憶部あるいは外部のコンピュータなどから、防護エリア305の情報や、測定可能領域301に存在する各物体(
図3の例の場合、ロボット302、作業台303、及び棚304)の3Dモデルを取得する。また、死角算出手段としての制御部30の死角判別部204(
図2)は、センサ10で測定された距離情報に基づいて、センサ10の死角となる3次元の死角領域(
図3の例の場合、作業台303、ロボット302の動線306、及び棚304の夫々により生じる死角領域303a,304a,306a)を算出する。表示手段としての制御部30の3次元空間座標表示部205(
図2)は、防護エリア305及び死角領域を仮想的な3次元空間に表示する。3次元空間座標表示部205は、さらに、センサ10で測定された距離情報に基づく点群や、エリア情報取得部203が取得した物体の3Dモデルなどを、防護エリア305及び死角領域とともに、仮想的な3次元空間に表示してもよい。
【0034】
ここで、警告手段としての制御部30の警告部206(
図2)が、死角領域の少なくとも一部が防護エリア305内にある場合に警告を行うようにしてもよい。
【0035】
図1に示すように、センサ10は、発光部41、受光部42および演算部43を備える
。発光部41は光(例えば、赤外光)を出射し、受光部42は反射光を受光する。センサ10には、一例として、光の飛行時間(Time of Flight:TOF)から距離画像を取得する
TOFセンサが採用される。例えば、投影光と反射光の位相差から時間差を推定する間接型TOFセンサが採用される。センサ10は、測定可能領域301内の各位置の3次元の距離情報を測定結果として出力する。測定結果は情報処理装置50におけるセンサI/F44を介して制御部30に供給される。センサ10は、センサI/F44を介して制御部30によって制御される。
【0036】
以上の適用例は、本発明の理解を補助するための例示であり、本発明を限定解釈することを意図するものではない。
【0037】
<実施形態>
次に、本発明の実施形態における情報処理装置50の構成、及び制御部30の各機能等を詳細に説明する。
【0038】
まず、
図1で、情報処理装置50の構成を説明する。情報処理装置50は、制御部30、センサI/F44、表示部34、操作入力部35、記憶部36、通信I/F37を備える。制御部30は、CPU31、ROM32、RAM33および不図示のタイマ等を備える。ROM32には、CPU31が実行する制御プログラムが格納されている。ROM32にはまた、各種閾値などの値が格納されている。RAM33は、CPU31が制御プログラムを実行する際のワークエリアを提供する。
【0039】
表示部34は、液晶ディスプレイ等で構成され、各種情報を表示する。表示部34は、2つ以上の画面を有するか、または画面分割により2つ以上の画面を表示する機能を有してもよい。操作入力部35は、ユーザからの各種指示の入力を受け付け、入力情報をCPU31に送る。また、操作入力部35は、CPU31からの指示に基づきユーザに対して音声やランプ等による警告を行う機能を有してもよい。記憶部36は例えば不揮発メモリで構成される。記憶部36は外部メモリであってもよい。通信I/F37は、制御部30とロボット302との間で有線または無線による通信を行う。
【0040】
次に、
図2で、制御部30の各機能について説明する。制御部30は、センシング部201、防護エリア設定部202、エリア情報取得部203、死角判別部204、3次元空間座標表示部205、警告部206を有する。これらの各機能は、ROM32に格納されたプログラムによってソフトウェア的に実現される。つまり、CPU31が必要なプログラムをRAM33に展開し実行して、各種の演算や各ハードウェア資源の制御を行うことによって、各機能が提供される。言い換えると、センシング部201の機能は、主としてCPU31、ROM32、RAM33およびセンサI/F44の協働により実現される。防護エリア設定部202及びエリア情報取得部203の機能は、主としてCPU31、ROM32、RAM33、表示部34、及び操作入力部35の協働により実現される。死角判別部204の機能は、主としてCPU31、ROM32およびRAM33の協働により実現される。警告部206の機能は、主としてCPU31、ROM32、RAM33、操作入力部35、及び通信I/F37の協働により実現される。
【0041】
センシング部201は、
図3に示すように、測定可能領域301にロボット302の少なくとも一部が入るように設置されたセンサ10から距離情報をセンサI/F44を介して取得する。距離情報は、例えば、各画素にセンサ10からの奥行距離の情報が対応付けられた距離画像でもよいし、点群データでもよい。センシング部201は、ロボット302の実作動を行う前に、ロボット302の停止時にセンサ10で測定された距離情報(1)の取得と、ロボット302を動かしながら複数のタイミングにおいてセンサ10で測定された距離情報(2)の取得を行う。これら、取得した距離情報(1),(2)はRAM
33内に一次保存される。
【0042】
距離情報(1)は、
図3に示す作業台303や棚304の他、床や壁、安全柵等、測定可能領域301におけるロボット302以外の物体(周辺物体ともよぶ)を認識するとともに、それらの物体により形成される死角領域303a、304aを算出するために用いられる。
【0043】
距離情報(2)は、ロボット302の動線306を認識するために用いられ、死角領域306aは動線306に基づいて算出される。よって、実作動中のロボット302によって生じる死角領域と同じものを認識するため、距離情報(2)は、ロボット302を実作動中と同じ動作で動かしながら取得されるのが好ましい。
【0044】
防護エリア設定部202は、センサ10の設置位置・向き、ロボット302の設置位置、及び安全距離を考慮して、測定可能領域301内に仮想的な3次元の防護エリア305を設定する。具体的には、防護エリア設定部202は、防護エリア305のデータとして、例えば、
図3に示すような、五角柱の各頂点のXYZ座標で定義されたデータを生成し、記憶部36に格納する。
【0045】
ここで、安全距離とは、防護エリア305への侵入物がロボット302に到達するまでにロボット302が減速・停止を完了することを保証できる距離であり、センサ10の応答速度や、ロボット302の動作速度や制動性能などを考慮して安全規格により定められる。
【0046】
よって、防護エリア設定部202は、記憶部36から、使用ロボット情報(ロボット302の動作速度や制動性能等の情報)や使用する安全規格情報を読み出し、これらに基づき安全距離を算出する。
【0047】
また、記憶部36には、センサ10の設置位置・向きや、ロボット302の設置位置の情報も予め保持されている。防護エリア305を設定する際、これらの情報も防護エリア設定部202は記憶部36から読み出す。
【0048】
エリア情報取得部203は、防護エリア設定部202により設定された防護エリアの情報を取得する。あるいは、エリア情報取得部203は、設定済みの防護エリアの情報を記憶部36から取得してもよい。また、エリア情報取得部203は、測定可能領域301に存在する物体(例えば、ロボット301、作業台303、棚304等)の3Dモデルのデータを記憶部36から取得する。3Dモデルは、例えばCADデータのような、物体の3次元形状を定義するデータである。なお、防護エリアの情報や物体の3Dモデルは、記憶部36ではなく、外部のコンピュータや外部ストレージなどから取得されてもよい。
【0049】
死角判別部204(認識手段)は、まず、ロボット302の動線306を認識する。ロボット302の作動により生じるセンサ10から視た死角領域306aは、動線306の範囲に基づき算出されるからである。
【0050】
具体的には、死角判別部204は、センシング部201が取得した距離情報(2)をRAM33から読み出し、グローバル座標系での直交XYZ座標系の点群情報(物体範囲情報)に変換する。同様に、死角判別部204は、センシング部201が取得した距離情報(1)をRAM33から読み出し、グローバル座標系での直交XYZ座標系の点群情報(周辺環境情報)に変換する。そして、死角判別部204は、物体範囲情報から周辺環境情報を除く。これにより、距離情報(2)が測定された各タイミングにおけるロボット302を示す点群情報(実動作情報)を生成する。その後、死角判別部204は、距離情報(
2)が測定された各タイミングにおけるロボット302の点群情報を順次プロットし、プロットされた全点群情報を全て取り囲むような3次元形状401をロボット302の動線306(
図4)として認識する。これにより、ロボット302の動作範囲が動線306として認識されるため、正確な死角領域306aを算出することができる。
【0051】
次に、死角判別部204は、測定可能領域内に存在する周辺物体(作業台303や棚304)やロボット302の動線306により生じるセンサ10から視た死角の領域である、死角領域303a,304a,306aを算出する。具体的には、死角判別部204は、センサ10の設置位置や向きの情報を記憶部36から読み出し、これらの情報と、距離情報(1)から求めた周辺環境情報や、
図4に示す動線306の3次元形状に基づき、死角領域303a,304a,306aを算出する。具体的には、センサ10から視て作業台303の上面の奥側の領域が死角領域303aとなり、センサ10から視て棚304の上面の奥側の領域が死角領域304aとなり、センサ10から視てロボット302の動線306の奥側の領域が死角領域306aとなる。
【0052】
また、死角判別部204は、死角領域303a,304a,306aの少なくとも一部が防護エリア305内にあるか判定し、ある場合は警告部206に対して死角検出通知を行う。
【0053】
3次元空間座標表示部205は、
図3に示す立体図を表示部34上の仮想的な3次元空間に表示する。尚、
図3においては情報処理装置50や測定可能領域301が表示されているが、これらは表示部34上の仮想的な3次元空間においては非表示としてもよい。
【0054】
具体的には、3次元空間座標表示部205は、
図3に示す立体図の表示部34上の3次元空間への表示を以下のように行う。
【0055】
まず、3次元空間座標表示部205は、エリア情報取得部203により取得された防護エリア305のデータに基づき、防護エリア305を表すCGを生成し、表示部34上の3次元空間に表示する。
図3の例では、五角柱の各頂点のXYZ座標で定義された防護エリア305の外形がワイヤフレームで描画されている。
【0056】
また、3次元空間座標表示部205は、死角判別部204で算出された死角領域303a,304a,306aを表すCG(例えばワイヤフレーム)を生成し、上記仮想的な3次元空間に重畳表示する。
【0057】
さらに、3次元空間座標表示部205は、センシング部201が取得した距離情報(1)から生成した点群を、上記仮想的な3次元空間に重畳表示してもよい。点群を構成する各々の点は、センサ10によって距離が測定された物体表面上の点(計測点)に対応するものである。したがって、点群を仮想的な3次元空間に表示することで、測定可能領域301内に存在する物体(の外形)を表すことができる。これにより、防護エリア305の内側や近傍に存在する物体303,304との位置・大きさの関係や、当該物体303,304によりどのような死角領域303a,304bが生じているのかなども把握することができる。
【0058】
さらに、3次元空間座標表示部205は、エリア情報取得部203により取得された物体の3Dモデルを、上記仮想的な3次元空間に重畳表示してもよい。このような3Dモデルを用いて表示を行うことにより、測定可能領域301内に存在する物体をより精細かつ正確に表すことができる。なお、点群と3Dモデルの両方を重畳表示してもよいし、いずれか一方のみを表示したり切替表示できるようにしてもよい。
【0059】
尚、表示部34に表示される防護エリア305の範囲は、ワイヤフレームの頂点を操作入力部35を用いたユーザ操作により移動させる等の方法で変更可能である。これにより、防護エリア305の適切な設定が容易になる。例えば、ロボット302のアームが入らないため、棚304の下の領域は危険がない場合等は、ユーザは防護エリア305からかかる領域を外すことができる。
【0060】
また、本実施形態では、防護エリア305及び死角領域303a,304a,306aのCGはワイヤフレームとして表示される場合を例示したが、ユーザがこれらの領域の形状や範囲を認識できればこれに限定されない。例えば、ワイヤフレームではなく、箱状フレーム、球状フレーム、又はポリゴンフレームであってもよい。
【0061】
また、死角判別部204(第2の死角算出手段)で、記憶部36から読み出したロボット302の3次元の最大可動範囲の情報と、記憶部36に格納される周辺環境情報とから、前記3次元距離センサの死角となりうる3次元の死角領域306a’(不図示:第2の死角領域)を算出し、3次元空間座標表示部205で、死角領域306a,306a’を色分け等により識別可能な状態で上記仮想的な3次元空間に重畳表示したり、ユーザによるモード切り替えに応じて、死角領域306aを死角領域306a’に切り替えて、上記仮想的な3次元空間に重畳して表示したりするようにしてもよい。これにより、ロボット302の最大可動範囲での死角領域306a’のうちクリティカルなものをユーザが把握することができる。
【0062】
警告部206は、死角判別部204から死角検出通知を受けると、操作入力部35によりユーザに対して警告を行う。これによりユーザはクリティカルな死角領域をより容易に認識することができる。
【0063】
また、警告部206は、防護エリア305における死角領域の大きさが閾値以上である場合に危険警告を行ってもよい。これにより、防護エリア内にある死角領域が例えば人が入れるほどの大きさである場合、ユーザに対し、危険度が高いセンサ配置となっていることを知らせることができる。
【0064】
また警告部206(指示送信手段)は、死角領域が防護エリア305内にある場合、死角領域306aが減少するように動線306を変更させる指示を通信I/F37を介してロボット302に対して送信する。これにより、ロボット302にセンサ10による測定結果のフィードバックを与えることができる。
【0065】
図5は、死角領域表示処理を示すフローチャートである。
【0066】
本処理は、ROM32に格納されたプログラムをCPU31がRAM33に展開して実行することにより実現される。本処理は、ユーザが、センサ10を、その測定可能領域301にロボット302の少なくとも一部が入るように設置した後、ユーザの指示により開始される。
【0067】
まず、ステップS500では、防護エリア設定部202が、記憶部36から、使用ロボット情報、使用する安全規格情報、及びセンサ10の設置位置・向きやロボット302の設置位置の情報を読み出し、これらの情報に基づき測定可能領域301内に仮想的な3次元の防護エリア305を設定する。なお、防護エリア305が既に設定済みの場合は、ステップS500の処理は省略してもよい。
【0068】
ステップS501では、ユーザが、ロボット302を停止させた状態で、距離情報(1)の取得指示を操作入力部35を用いて入力する。距離情報(1)の取得指示があると、
センシング部201がセンサ10で測定された距離情報(1)を取得する。
【0069】
ステップS502では、ユーザが、実作動中と同じ動きをロボット302に開始させた後、距離情報(2)の取得指示を操作入力部35を用いて入力する。距離情報(2)の取得指示があると、センシング部201がセンサ10で測定された距離情報(2)を取得する。
【0070】
ステップS503では、エリア情報取得部203が、防護エリアの情報、物体の3Dモデルなどのデータを記憶部36から取得する。
【0071】
ステップS504では、死角判別部204において、距離情報(1)及び距離情報(2)に基づきロボットの動線306を認識する。
【0072】
ステップS505では、死角判別部204において、周辺物体(作業台303や棚304)やロボット302の動線306により生じる死角領域303a,304a,306aを算出する。
【0073】
ステップS506では、3次元空間座標表示部205において、ステップS503で取得された防護エリア305、及びステップS505で算出された死角領域303a,304a,306aを、表示部34上の仮想的な3次元空間に表示する。さらに、距離情報(1)から生成された点群や、ステップS503で取得された3Dモデルなどを、仮想的な3次元空間に重畳表示してもよい。
【0074】
ステップS507では、死角判別部204において、死角領域303a,304a,306aの少なくとも一部が防護エリア305内にあるか否かを判別する。死角領域303a,304a,306aの少なくとも一部が防護エリア305内にある場合(ステップS507でYES)、死角検出通知を警告部206に行った後、ステップS508に進む。一方、防護エリア305内に死角領域がない場合(ステップS507でNO)、本処理をそのまま終了する。
【0075】
ステップS508では、警告部206において、死角判別部204からの死角検出通知を受けると、操作入力部35によりユーザに対して警告を行うと共に、通信I/F37を介してロボット302に死角領域306aが減少するように動線306を変更させる指示を送信し、本処理を終了する。
【0076】
本実施の形態によれば、制御部30は、センサ10がその測定可能領域301にロボット302の少なくとも一部が入るように設置されると、測定可能領域301内に仮想的な3次元の防護エリア305を設定し、センサ10で測定された距離情報に基づいて、各物体により生じる死角領域の算出を行う。その後、制御部30は、表示部34上の仮想的な3次元空間に、防護エリア305死角領域を表示する。これにより、ユーザがクリティカルな死角領域を容易に認識することができる。
【0077】
尚、センサ10として用いる3次元距離センサは、距離情報(3次元情報)を測定し出力するセンサであれば、他の種類のセンサを採用してもよい。TOFセンサを採用する場合、直接型(ダイレクト型)と間接型(インダイレクト型)のいずれでもよい。また、電波等、光以外を用いるセンサも適用可能である。
【0078】
尚、情報処理装置50は、例えば、プロセッサ、メモリ、ストレージなどを備えるコンピュータにより構成することができる。その場合、
図2に示す構成は、ストレージに格納されたプログラムをメモリにロードし、プロセッサが当該プログラムを実行することによ
って実現される。かかるコンピュータは、パーソナルコンピュータ、サーバコンピュータ、タブレット端末、スマートフォンのような汎用的なコンピュータでもよいし、オンボードコンピュータのように組み込み型のコンピュータでもよい。あるいは、
図2に示す構成の全部または一部を、ASICやFPGAなどで構成してもよい。あるいは、
図2に示す構成の全部または一部を、クラウドコンピューティングや分散コンピューティングにより実現してもよい。
【0079】
<付記>
〔1〕センサ(10)によって測定された距離情報を取得する距離情報取得手段(201)と、
前記センサの測定可能領域内に設定されている仮想的な3次元の防護エリアの情報を取得するエリア情報取得手段(202)と、
前記距離情報に基づいて、前記センサの死角となる3次元の死角領域を算出する死角算出手段(204)と、
前記防護エリア及び前記死角領域を仮想的な3次元空間に表示する表示手段(205)と、
を有することを特徴する情報処理装置(50)。
【0080】
〔2〕センサ(10)によって測定された距離情報を取得するステップ(S501,S503)と、
前記センサの測定可能領域内に設定されている仮想的な3次元の防護エリアの情報を取得するステップ(S500)と、
前記距離情報に基づいて、前記3次元距離センサの死角となる3次元の死角領域を算出するステップ(S505)と、
前記防護エリア及び前記死角領域を仮想的な3次元空間に表示するステップ(S506)と、
を有することを特徴する情報処理方法。
【符号の説明】
【0081】
10:センサ
30:制御部
50:情報処理装置
201:センシング部
202:防護エリア設定部
203:エリア情報取得部
204:死角判別部
205:3次元空間座標表示部
206:警告部
301:測定可能領域
302:ロボット
303:作業台
304:棚
305:防護エリア
306:動線
303a,304a,306a:死角領域