特許第6013756号(P6013756)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立情報通信エンジニアリングの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6013756
(24)【登録日】2016年9月30日
(45)【発行日】2016年10月25日
(54)【発明の名称】シミュレータ
(51)【国際特許分類】
   G01S 7/497 20060101AFI20161011BHJP
【FI】
   G01S7/497
【請求項の数】2
【全頁数】19
(21)【出願番号】特願2012-90778(P2012-90778)
(22)【出願日】2012年4月12日
(65)【公開番号】特開2013-217873(P2013-217873A)
(43)【公開日】2013年10月24日
【審査請求日】2015年4月1日
(73)【特許権者】
【識別番号】000233295
【氏名又は名称】株式会社日立情報通信エンジニアリング
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜特許業務法人
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール特許業務法人
(72)【発明者】
【氏名】大本 馨
(72)【発明者】
【氏名】稲垣 俊
(72)【発明者】
【氏名】疋田 光一郎
(72)【発明者】
【氏名】池田 絵吏子
(72)【発明者】
【氏名】帷子 京市郎
【審査官】 横井 亜矢子
(56)【参考文献】
【文献】 特開2008−076234(JP,A)
【文献】 特開2007−333693(JP,A)
【文献】 特開2002−150270(JP,A)
【文献】 特開2009−085927(JP,A)
【文献】 特開2007−126025(JP,A)
【文献】 特開2005−233639(JP,A)
【文献】 特開2012−047575(JP,A)
【文献】 特開2010−235218(JP,A)
【文献】 実公平06−020240(JP,Y2)
【文献】 特開2007−309975(JP,A)
【文献】 特開2002−081935(JP,A)
【文献】 米国特許出願公開第2010/0208234(US,A1)
【文献】 米国特許第06754368(US,B1)
【文献】 米国特許出願公開第2003/0043363(US,A1)
【文献】 特表2002−536646(JP,A)
【文献】 特開2008−134257(JP,A)
【文献】 特開2000−149197(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/48−7/51
G01S 17/00−17/95
(57)【特許請求の範囲】
【請求項1】
レーザセンサのレーザ光の照射によって取得される測距データを用いて計測範囲に存在する物体を検知するレーザシステムのシミュレータであって、
入力される情報を受け付けるユーザ入力部と、
該物体の位置と形状に関する情報を記憶する物体設定データベースと、
該レーザセンサの計測範囲に関する情報を記憶するセンサ設定データベースと、
前記物体設定データベースの情報と前記センサ設定データベースの情報に基づいて、該物体及び該レーザセンサにオブジェクト識別子を付与する環境構築部と、
前記環境構築部によってオブジェクト識別子が付与された、該物体及び該レーザセンサの位置座標を記憶するオブジェクトデータベースと、
前記オブジェクトデータベースから該物体の位置座標を読み込み、該物体と該レーザセンサから照射されるレーザ光との交点演算を実施して、該交点の座標を示す測距データを生成するデータシミュレータ部と、
前記データシミュレータ部によって生成される該測距データを登録する測距データベースと、
前記オブジェクトデータベースに登録された該物体及び該レーザセンサの位置座標を用いて該物体及び該レーザセンサを画面に描画し、前記測距データベースに登録された該測距データを用いて該レーザセンサから照射される複数のレーザ光を該画面に描画するデータ表示部と、
を有することを特徴とするシミュレータ。
【請求項2】
請求項1に記載のシミュレータであって、
前記レーザセンサのレーザ光の1スキャン単位に対応してフレーム単位を設定し、
さらに、予め定めた周期で発生する第1のタイマ割り込みにより、値をインクリメントするフレームカウンタと、
予め定めた周期で発生する第2のタイマ割り込みにより、値をインクリメントするシミュレータカウンタと、を備え、
マウスの操作によって該画面に配置される該物体を該画面上で任意に移動することができ、
前記ユーザ入力部は、該物体の移動を受け付け、該画面におけるマウスの座標を該移動した物体の座標として、前記物体設定データベースにおける該物体の形状と位置に関する情報を更新し、
前記環境構築部は、前記前記物体設定データベースから該移動した該物体の形状と位置に関する情報を取得して、取得した該物体の位置座標を、前記フレームカウンタが示すフレーム単位で該オブジェクトデータベースに登録し、
前記データシミュレータは、前記オブジェクトデータベースから前記シミュレータカウンタが示すフレーム番号の該物体の位置座標を取得して、該物体と該レーザセンサから照射されるレーザ光との交点演算を実施して、前記測距データを生成することを特徴とするシミュレータ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レーザ光の照射によって取得される測距データを用いて計測領域に存在する物体を検知するレーザシステムのシミュレータに関し、特に検知物体およびレーザセンサ設定(レーザセンサの設置位置、レーザ光の照射角度)条件を以て、擬似的な測距データを生成し、これらを用いて計測へのシミュレーションするシミュレータに関する。
【背景技術】
【0002】
特許文献1は、レンジデータから得られる距離情報から対象点と該対象点に隣接する点との高低差を算出し、その高低差が或る特定のパターンとなる形状のエッジに関する特徴量を算出するエッジ特徴量算出処理手順と、算出された形状のエッジに関する特徴量から、エッジに囲まれる領域に含まれる対象点を探索し、探索した対象点の領域に関する特徴量を算出する領域特徴量算出処理手順と、算出された形状のエッジに関する特徴量、算出された対象点の領域に関する特徴量から、形状を抽出する形状抽出処理手順と、抽出された形状の閉領域に対して、閉領域内のレンジデータから勾配に関する特徴量を算出する勾配特徴量算出処理手順と、算出された勾配に関する特徴量から閉領域の分割を行ない、抽出形状から3次元形状を、レンジデータから3次元形状を各々算出して3次元モデルを生成する。
【0003】
特許文献2は、レーザセンサを用いて領域の背景に相当する物体の情報を背景データとして取得し、領域内にある物体の測距データを取得し、測距データと背景データの差分を計算して物体の存在位置を算出し、物体の形状を連続する座標値であるポイントデータとしこれに近接した周辺ポイントデータの中心座標であるクラスタを検出し、このクラスタのデータを用いて領域の物体の存在位置を検出する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−150270号公報
【特許文献2】特開2009−085927号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1、特許文献2では、レーザセンサのレーザ光の照射性能によって、物体検知への精度が左右される。これまで、実環境にて計測領域において発生する死角などを考慮してレーザセンサを設置することは難しく、計測現場への視察の結果と計測現場の図面から読み取れる、背景を含む常設物の位置を元に、各レーザセンサの設置位置および照射角度を検討している。
【0006】
レーザシステムにおいて、計測領域でのレーザセンサの設置位置およびレーザ光の照射は、計測時に死角の発生が考えられ、事前に詳細に死角を検出することは困難な場合が有る。このため、レーザセンサ設置への良し悪しの正確な判断は、実際にレーザセンサを設置、計測をする必要があった。
【0007】
具体的な死角が発生する要因は、以下の通りである。
(1)レーザセンサの設置向きによる照射範囲の差異による死角。
(2)常設物による死角。
(3)人の滞留、導線により発生する死角。
【0008】
特に照射角度を複数レイヤ有するレーザセンサを取り扱う際および単レイヤのレーザセンサにおいても複数のレーザセンサを取扱う際には、計測領域における死角イメージ出しが困難である。
【0009】
本発明のシミュレータは、上記問題点の解決を図り、シミュレータの中で構成されるオブジェクトデータデータベース(以下DB)、物体設定DBから条件を読出して設定することにより、測距データ生成部およびデータ処理部にて当該環境におけるシミュレーションを実施する。最終的には、測距データDB、およびセンサ設定DBに出力され、記憶された結果を以て、レーザセンサ設置およびレーザ光の照射角度の最適化をすることができる。レーザセンサを任意の位置および向きに設定、物体(常設物、移動物)を任意の位置に設定、設定した移動物を任意に移動、レーザセンサ毎にレーザ光の照射範囲をイメージ化、照射イメージが物体(常設物および移動物)によって遮蔽された状況のイメージ化の効果が得られる。これによって、本発明は、レーザセンサと構造物を任意に設置し、設置状況へのシミュレーションができるシミュレータを提供する。
【0010】
シミュレーション情報は、フレーム(レーザセンサの1スキャン単位)単位での設定を可能とする。フレームとは、レーザセンサの計測周期の1回分の計測単位を示す。移動物は、フレームごとに移動することで、位置座標が変化し、フレームごとにレーザ光の照射状況が変化する様子をシミュレーションすることができる。
【課題を解決するための手段】
【0011】
上述した課題は、物体の位置と形状と、レーザセンサの位置と方向とを受け付け、それぞれ物体設定データベースとセンサ設定データベースとに登録するユーザ入力部と、物体設定データベースとセンサ設定データベースとに基づいて、オブジェクト識別子を付与して、オブジェクトデータベースに登録する環境構築部と、オブジェクトデータベースに基づいて、物体との測距データを生成し、測距データベースに登録するデータシミュレータ部と、オブジェクトデータベースに基づいて物体を描画し、測距データベースに基づいて、複数のレーザビームを描画するデータ表示部と、を含むシミュレータにより、達成できる。
【発明の効果】
【0012】
本発明によれば、レーザセンサと構造物を任意に設置し、設置状況へのシミュレーションができるシミュレータを提供することができる。
【図面の簡単な説明】
【0013】
図1】シミュレータの全体構成を示すブロック図である。
図2】CPUの処理の機能ブロック図である。
図3】フレームを説明する図である。
図4】物体設定DBのフォーマットを説明する図である。
図5】センサ設定DBの情報とフォーマットを説明する図である。
図6】オブジェクトデータDBの情報とフォーマットを説明する図である。
図7】測距データDBの情報とフォーマットを説明する図である。
図8】測距データの詳細な構成を説明する図である。
図9】測距データの生成処理を説明するフローチャートである。
図10】計測環境を説明する斜視図である。
図11A】レーザセンサのオブジェクト情報を説明する図である。
図11B】レーザセンサのレーザ照射を説明する図である。
図12A】円柱のオブジェクトデータを説明する図である。
図12B】角柱のオブジェクトデータを説明する図である。
図12C】レーザセンサ1のオブジェクトデータを説明する図である。
図12D】レーザセンサ2のオブジェクトデータを説明する図である。
図12E】レーザセンサ1の死角確認を説明する図である。
図12F】レーザセンサ2の死角確認を説明する図である。
図12G】死角確認を説明する図である。
図13A】レーザセンサ1のオブジェクトデータを説明する図である。
図13B】レーザセンサ2のオブジェクトデータを説明する図である。
図13C】レーザセンサ1の死角確認を説明する図である。
図13D】レーザセンサ2の死角確認を説明する図である。
図13E】死角の解消を説明する図である。
図14】矩形とレーザ照射光の交点演算を説明する図である。
図15】円形とレーザ照射光の交点演算を説明する図である。
図16】シミュレータの移動物体情報の入力を説明する図である。
図17】シミュレータの移動物体情報の出力を説明する図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、実施例を用い図面を参照しながら詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【実施例1】
【0015】
図1を参照して、実施例1のレーザシステム設置シミュレータのハードウェア構成を説明する。図1において、シミュレータ100は、中央演算装置(CPU)101と、入力装置102と、表示装置103とから構成されている。CPU101は、シミュレーション処理の計算を実行する。入力装置102は、シミュレーションにおける各種条件を入力する。表示装置103は、実行結果を描画する。なお、シミュレータ100は、さらに図示しないメモリ、外部記憶装置等を備えている。
【0016】
図2を参照して、レーザシステム設置シミュレータの機能ブロックを説明する。図2において、CPU101の内部の処理は、大きく8つで構成される。その構成は、ユーザ入力部110と、物体設定DB120と、センサ設定DB130と、環境構築部140と、オブジェクトDB150と、データシミュレータ部160と、測距DB170と、データ表示部180とである。
【0017】
ユーザ入力部110は、入力装置102からキーボードによるレーザセンサの位置、計測領域内の物体の位置などデータおよびマウスによる物体の移動情報を処理する。物体設定DB120は、入力された検知対象の物体形状を楕円形または矩形にて表して任意の存在する設定位置と設置角度に関する情報を記憶する。
【0018】
センサ設定DB130は、入力された計測領域内の各レーザセンサにおけるxyz座標でのレーザセンサ設定位置と照射角度に関する情報を記憶する。センサ設定DB130を利用して、各レーザセンサ位置のより詳細な設定をするため(ピッチ角、ロール角、ヨー角による姿勢決定)として、外部パラメータにてシミュレーション上の測距データの回転または換算をすることもできる。
【0019】
環境構築部140は、入力された物体設定DB120、センサ設定DB130の情報を基に、物体、レーザセンサの情報にオブジェクトIDを割り付けて、オブジェクトDB150を生成する。オブジェクトDB150は、オブジェクトID単位に構成され、オブジェクトの位置座標をフレームごとに保持する。
【0020】
データシミュレータ部160は、入力されたデータを基に複数のレーザセンサ設置に際し、計測領域に固定的に存在する物体に対して、計測領域における死角を考慮したレーザセンサ設置のシミュレーションをするため、擬似的な測距データの生成し、測距DB170に登録する。データシミュレータ部160は、物体の移動に伴う変化に対して経時的に物体とレーザセンサから照射されるレーザ光との交点演算を行なう。データシミュレータ部160は、交点演算結果に基づいて、測距データを更新する。
【0021】
測距DB170は、計測シミュレータの交点演算結果、レーザセンサと各物体と交点座標を計測データとして、フレームごとに保持する。フレームごとの要素として、レーザセンサが照射しているレーザ光の本数分の測距データを(x,y,z)座標で記録する。レーザセンサのレーザ光の本数は、センサ設定DB130のデータメンバである計測範囲133と計測分解能134により、式1で求まる。
レーザ光の本数=計測範囲/計測分解能+1…(式1)
データ表示部180は、レーザセンサの設置位置の確認のための機能として、オブジェクトDB150の情報を基に、矩形、円を指定して作成された物体およびレーザセンサを設定された座標、向きで描画する。また、データ表示部180は、レーザセンサから任意の範囲(距離、角度、分解能)にレーザ光の照射イメージを表示する。データ表示部180は、さらに、常設物に影響確認のための機能として、測距DB150に保持されている計測データの各座標(x,y,z)とレーザセンサを結ぶ直線を描画することで、レーザ光の照射イメージが矩形、円形の物体に照射状況を視覚化する。
【0022】
図3を参照して、フレームを説明する。図3において、フレームは、計測周期(センサ設定DB130に設定された時間)ごとに形成されている。フレーム1ないしフレームNは、データストリームを形成する。
【0023】
図4を参照して、物体設定DBを説明する。図4において、物体設定DB120は、矩形121と円形125に大別できる。矩形121のデータメンバは、4頂点122と、軸長123とである。一方、円形125のデータメンバは、楕円頂点126と、楕円径127とである。4頂点122は、矩形を構成する4つの座標である。軸長123は、矩形の2辺の長さである。楕円頂点126は、円の左上と右下の座標である。楕円径127は、長径と短径である。
【0024】
図5を参照して、センサ設定DBを説明する。図5において、センサ設定DB130は、計測距離131と、向き132と、計測範囲133と、計測分解能134と、計測周期135とから構成されている。計測距離131は、レーザセンサが計測できる距離である。向き132は、レーザセンサの向きである。計測範囲133は、計測範囲角度(度)である。計測分解能134は、計測分解角度(度)である。計測周期135は、計測間隔時間(ms)である。
【0025】
図6を参照して、オブジェクトデータDBを説明する。図6において、オブジェクトデータ150は、データメンバとして、オブジェクトID151と、オブジェクトタイプ152と、オブジェクトデータ153と、中心位置154とを含んで構成されている。オブジェクトID151は、オブジェクトの識別子である。オブジェクトタイプ152は、オブジェクトの種別(センサ、矩形、円形)である。オブジェクトデータ153は、オブジェクトタイプ別の要素データである。中心位置154は、オブジェクトの中心座標(フレーム数分)である。
【0026】
図7図8を参照して、測距データDBを説明する。図7において、測距データDB170は、データメンバとして、タイムスタンプ171と、計測開始角度172と、計測終了角度173と、測距データ174とを含んで構成されている。タイムスタンプ171は、フレームの時刻である。なお、以下のデータメンバはフレーム数分繰り返す。計測開始角度172は、レーザセンサの計測開始角度(度)である。計測終了角度173は、レーザセンサの計測終了角度(度)である。測距データ174は、図8で説明する。
【0027】
図8を参照して、測距データを説明する。図8において、測距データ174は、ポイント番号1741と、座標(x,y,z)1742とで構成されている。ポイント数は、Nである。
【0028】
図9を参照して、測距データの生成処理を説明する。図9において、シミュレータ100は、常設物のみではなく、任意に人の滞留、導線による影響確認のための機能として、任意の座標、向き、大きさで物体を設定できる。具体的には、オペレータは、画面に配置した物体を、マウスにより任意に動かす。この動作について、ユーザ入力部301は、入力を受け付ける(S301)。計測周期タイマ割り込み(S302)は、設定されたセンサ設定DB130のレーザセンサの計測周期135を基に、一定周期に発生する。シミュレータ100は、発生した計測周期タイマ割り込み(S302)に基づいて、フレームカウンタ190を更新する(S303)。シミュレータ100は、計測周期タイマ割り込み(S302)の受信により、現時点で選択されている物体のIDとマウスの座標を取得し、物体のIDおよび移動位置(環境情報)を得る。
【0029】
シミュレータ100は、オブジェクトDB150の物体のIDと一致するオブジェクトID151の中心位置154のフレームカウンタ190の示すフレーム番号の領域に、マウスの座標を入力する(S304)。シミュレータ100は、シミュレーション開始を判定する(S306)。ステップ306でNOのとき、シミュレータ100は、ステップ301に遷移する。シミュレーション開始(S306:YES)まで、シミュレータ100は、本処理を繰り返すことで、物体の移動をオブジェクトDB150に入力する。
【0030】
入力されたオブジェクトDB150を基に、シミュレータ100は、複数のレーザセンサ設置に際し、擬似的な測距データの生成のため、1フレームごとの物体とレーザセンサから照射されるレーザ光との交点演算を行ない、測距データを測距データDB170に出力するシミュレーション処理を実行する(S307)。なお、処理されるオブジェクトDB150の読み取り領域および出力される測距データDB170を記録する領域は、シミュレータカウンタ195が示すフレーム番号の領域を使用する。
【0031】
シミュレータ100は、測距データを表示するか判定する(S308)。YESのとき、シミュレータ100は、オブジェクトDB150および測距データDB170よりシミュレータカウンタ195が示すフレーム番号の情報を取得して描画処理を行なう(S309)。ステップ309の後およびステップ308でNOのとき、シミュレータ100は、データ生成の終了を判定する(S311)。YESのとき、シミュレータ100は、終了する。ステップ311でNOのとき、シミュレータ100は、ステップ307に遷移する。
【0032】
シミュレータカウンタ195は、シミュレータタイマ割り込みにより、更新される(S312)。なお、ステップ311において、シミュレータカウンタ195が、フレームカウンタ190と同値になった時点で、データ生成を終了する。
【0033】
図10を参照して、シミュレーション環境を説明する。図10において、シミュレーション環境は、10m×10mの部屋である。部屋の左下の角を基準として、高さ方向をz軸として、xy平面を右手系で定義する。xy平面の座標(4.5,7.5)(単位:m)には、直径1mの円柱300が立っている。また、座標(7.5,5.0)には、一辺1mの角柱310が立っている。なお、座標位置は、円柱300と角柱310の中央基準である。
【0034】
図11を参照して、レーザセンサ照射を説明する。図11Aにおいて、レーザセンサのオブジェクト情報は、オブジェクトID151と、オブジェクトタイプ152と、オブジェクトデータ153と、中心位置154とから構成されている。オブジェクトデータ153は、さらに計測距離と、向きと、計測範囲と、計測分解能と、計測周期とを含む。中心位置154は、フレーム1ないしフレームNを含む。
【0035】
オブジェクトID151は、3である。オブジェクトタイプ152は、センサである。計測距離は、20mである。向きは、ロール角:0度、ピッチ角:0度、ヨー角:0度である。計測範囲は、270度である。計測分解能は、0.5度である。計測周期は、40msである。また、フレーム1は、(0,0,0)である。なお、レーザセンサ200は、移動しないので、フレーム2以降のデータは、無効値が設定されている。
【0036】
図11Bにおいて、レーザセンサ200は、20m×20mの部屋の中央付近にy軸方向に向けて設置されている。ヨー角:0度は、y軸方向である。レーザセンサ200は、±135度方向に、541本のビームを送り、反射波を検出する。しかし、図11Bは、反射波を検出しない状態を表示している。
【0037】
なお、図11Bのみ、20m×20mの部屋であり、他のシミュレーション環境は、図10の通りである。また、レーザセンサ200の周辺は、レーザ光(ビーム)の記載を省いた。これは、図面の簡略化のためであり、他の図面でも同様である。
【0038】
図12を参照して、図10のシミュレーション環境で不適切にレーザセンサを任意に配置した場合に死角が検出されたシミュレーション結果を説明する。まず、図12Aおよび図12Bを参照して、物体のオブジェクトDBを説明する。
【0039】
図12Aにおいて、円柱300のオブジェクトDB150Aは、オブジェクトID151として1を保持する。オブジェクトタイプ152は、円形である。円形は、円柱300の平面図での形状である。オブジェクトデータ153として、楕円頂点と、楕円形とを保持する。中心位置154のフレーム1に(450,750,0)(単位:cm)を保持する。
【0040】
図12Bにおいて、角柱310のオブジェクトDB150Bは、オブジェクトID151として2を保持する。オブジェクトタイプ152は、矩形である。矩形は、角柱310の平面図での形状である。オブジェクトデータ153として、4頂点と、軸長とを保持する。中心位置154のフレーム1に(750,500,0)(単位:cm)を保持する。
【0041】
図12C図12Dを参照して、レーザセンサのオブジェクトDBを説明する。図12Cにおいて、レーザセンサ200−1のオブジェクトDB150Cは、オブジェクトID151として3を保持する。オブジェクトタイプ152は、センサである。オブジェクトデータ153として、計測距離と、向きと、計測範囲と、計測分解能と、計測周期とを保持する。計測距離は、20mである。向きは、ヨー角が−45度であり、x軸となす角である。計測範囲は、270度である。計測分解能は、0.5度である。計測周期は、40msである。中心位置154のフレーム1に(0,1000,0)(単位:cm)を保持する。
【0042】
図12Dにおいて、レーザセンサ200−2のオブジェクトDB150Dは、オブジェクトID151として4を保持する。オブジェクトタイプ152は、センサである。オブジェクトデータ153として、計測距離と、向きと、計測範囲と、計測分解能と、計測周期とを保持する。計測距離は、20mである。向きは、ヨー角が135度であり、x軸となす角である。計測範囲は、270度である。計測分解能は、0.5度である。計測周期は、40msである。中心位置154のフレーム1に(1000,0,0)(単位:cm)を保持する。
【0043】
図12E図12Fを参照して、レーザセンサの死角確認を説明する。図12Eにおいて、図の左上角である座標(0,1000,0)(単位:cm)に設置され、ヨー角−45度のレーザセンサ200−1は、円柱300と、角柱310の背後のセンシングができない。
【0044】
図12Fにおいて、図12Fの右下角である座標(1000,0,0)(単位:cm)に設置され、ヨー角135度のレーザセンサ200−2は、円柱300と、角柱310の背後のセンシングができない。
【0045】
図12Gを参照して、レーザセンサシステムの死角を説明する。図12Gは、図12E図12Fとを重ね合わせた図である。レーザセンサ200−1、円柱300、角柱310、レーザセンサ200−2がこの順で円弧上に載っており、円柱300と角柱310の間に、レーザセンサ200−1からもレーザセンサ200−2からも見えない死角が存在する。
【0046】
図13を参照して、図12の結果から、レーザセンサの配置を変更した結果、死角が解消されることを説明する。まず、図13Aを参照して、レーザセンサ200−1のオブジェクト情報を説明する。レーザセンサ200−1のオブジェクト情報150Eにおいて、オブジェクトデータ153の向きはヨー角45度(x軸から反時計回り)である。また、中心位置154のフレーム1は座標(0,0,0)である。すなわち、レーザセンサ200−1は、左下角に配置され、センシングの中心を右上角に向けている。
【0047】
図13Bを参照して、レーザセンサ200−2のオブジェクト情報を説明する。レーザセンサ200−2のオブジェクト情報150Fにおいて、オブジェクトデータ153の向きはヨー角225度である。また、中心位置154のフレーム1は座標(1000,1000,0)(単位:cm)である。すなわち、レーザセンサ200−2は、右上角に配置され、センシングの中心を左下角に向けている。
【0048】
図13C図13Dを参照して、レーザセンサ200の死角を説明する。図13Cにおいて、レーザセンサ200−1の死角は、円柱300と角柱310のレーザセンサ200−2側に広がっている。図13Dにおいて、レーザセンサ200−2の死角は、円柱300と角柱310のレーザセンサ200−1側に広がっている。
【0049】
図13Eを参照して、レーザセンサシステムの死角を説明する。図13Eは、図13D図13Eとを重ね合わせた図である。レーザセンサ200−1と、レーザセンサ200−2の死角は、それぞれ相手側に広がっており、レーザセンサ200−1とレーザセンサ200−2とが同時に見えないシステムとしての死角は、存在しない。
【0050】
図14図15を参照して、交点演算を説明する。図14において、矩形ABCDについて、その4頂点(A、B、C、D)で定義する。基本的に矩形ABCDの4辺に対して、線分SEの交点Pを求める。具体的には、照射点Sからもっとも線分SPの長さが短くなる交点をレーザ光が照射した座標とする。
【0051】
線分ABと線分SEの交点を以下のように求める。
P=A+r(B−A)…(式2)(ここで、rは0〜1の値)
P=S+s(B−S)…(式3)(ここで、sは0〜1の値)
Pが等しいとして、
A+r(B−A)=S+s(E−S)…(式4)
座標を(Ax,Ay)、(Bx,By)、(Sx,Sy)、(Ex,Ey)として、
Ax+r(Bx−Ax)=Sx+s(Ex−Sx)…(式5)
Ay+r(By−Ay)=Sy+s(Ey−Sy)…(式6)
r、sについて、解くと式7、式8となる。
r = ((Ey-Sy)(Sx-Ax)-(Ex-Sx)(Sy-Ay)) / ((Bx-Ax)(Ey-Sy)-(By-Ay)(Ex-Sy)) …(式7)
s = ((By-Ay)(Sx-Ax)-(Bx-Ax)(Sy-Ay)) / ((Bx-Ax)(Ey-Sy)-(By-Ay)(Ex-Sy))…(式8)
交点Pの座標を(x,y)として、式9、式10を得る。
x=Ax+r(Bx−Ax)…(式9)
y=Ay+r(By−Ay)…(式10)
シミュレータ100は、同様に線分BC、CD、DAについても、交点を求める。計測範囲において、もっとも、照射点Sからの距離が短い線分AB、BC、CD、DAとの交点をシミュレータ100は、照射座標とする。
【0052】
図15を参照して、楕円形との交点演算を説明する。図15において、長径aと短径bを有する楕円Oに対して、線分SEの交点Pを以下で求める。なお、照射点Sからもっとも線分SPの長さが短くなる交点をレーザ光が照射した座標とする。
【0053】
直線の方程式をパラメータm、nを使って表すと式12となる。ここで、mは傾き、nはy切片である。
y=mx+n…(式11)
楕円の方程式は、楕円中心の座標(Ox,Oy)と径a、bを使って、
((x−Ox)^2/a^2)+((y−Oy)^2/b^2)=1…(式12)
なお、^はべき乗である。パラメータm、nを(Sx,Sy)(Ex,Ey)で置き換えると、
m=(Sy−Ey)/(Sx−Ex)…(式13)
n=Sy−mSx…(式14)
楕円の方程式(式12)にパラメータを入力
((x−Ox)^2/a^2)+((mx+n−Oy)^2/b^2)=1…(式15)
方程式を整理して、
px^2−2qx+r=0…(式16)
p=(1/a^2)+(m^2/b^2)…(式17)
q=(m(Oy−n)/b^2)−(Ox^2/a^2)…(式18)
r=(Ox^2/a^2)+((Oy−n)^2/b^2)−1…(式19)
xについての解は、式20となる。
x=(q±(√q^2−pr))/p…(式20)
同様に交点Pは、下記の2点となる。
(x1,y1)
=((q+(√q^2−pr))/p,((m(q+(√q^2−pr))/p)+n))…(式21)
(x2,y2)
=((q−(√q^2−pr))/p,((m(q−(√q^2−pr))/p)+n))…(式22)
シミュレータ100は、両者を比較して、照射点Sからの距離が短い交点を照射座標とする。
【0054】
シミュレータ100は、死角ができない設定条件を見つけた時点で、レーザセンサ200−1、レーザセンサ200−2の座標、向きを記憶する。
なお、上述した実施例では、センサシステムとして2台のレーザセンサを説明したが、単独のレーザセンサの死角確認用に1台のレーザセンサ用のシミュレータとしても活用できる。
【0055】
本実施例によって、対象物体に対してレーザセンサの設置位置をシミュレーションして、実際のレーザセンサ設置前にて、死角への確認をすること、環境に適したレーザセンサの設置位置を設計することができる。
【0056】
本実施例は、ソフトウェアのプログラムを実行することにより実現されるシミュレータであって、これまでのレーザセンサの設置位置検討、レーザ光の照射角の最適設計において、計測条件を人手検討から時間を要していたものを、センサ設定、物体データ設定、オブジェクトデータの各種設定についてDBを用いて、その中でレーザセンサ位置および計測範囲におけるレーザの照射角範囲までを任意に設定できるようにしたことで、簡単、容易にシミュレーションにてレーザ計測システムの検討ができる。
【0057】
レーザセンサの設置位置検討およびレーザ光の照射角の最適においては、検討における条件抜けなどについては、DBにてセンサ設定DB130、物体設定DB120から読み出して、オブジェクトデータDB150へ投影され、計測環境を擬似する作用がある。上記の作用によって、DBからの条件設定に対して、最適な測距データ、およびセンサ設定の結果を得ることができる。
【0058】
これらの結果は、DBとして測距データDB170をシミュレーションすることができる。これにより、レーザセンサの設置位置およびレーザ光の照射角について、煩雑な処理を伴うことなく誰でも高速で正しい設計をすることができる。
【実施例2】
【0059】
実施例2について、図9図16図17を参照して、説明する。しかし、実施例1で説明した図9の説明は省く。
実施例1では、図9の説明を除いて、物体は座標系に固定されていた。一方、実施例2では、移動物体に係るシミュレーションを説明する。移動物体のシミュレーションの手順は大きく“移動物体の環境情報の入力”と“移動物体のシミュレーション”の2つに分かれる。
【0060】
図16を参照して、“移動物体の環境情報の入力”を説明する。“移動物体の環境情報の入力”について、ユーザ入力部110は、シミュレーションを開始する前に入力装置102からシミュレーション範囲、物体、レーザセンサの配置、情報を実施例1と同様に受け付け、物体設定DB120に初期入力として、物体情報120−0を入力する。
【0061】
入力完了後、計測周期タイマ割り込みの発生が開始され、割り込みi1〜割り込みiNが一定周期で発生する。割り込みi1発生をトリガーに環境構築部140は、フレームカウンタ190を+1更新する。フレームカウンタ更新後、環境構築部140は、物体設定DB120から、時点最新の物体情報120−0を取得する。環境構築部140は、取得した物体情報120−0を元に、オブジェクトデータDB150にフレームカウンタ190が示す値のフレーム番号の領域にオブジェクトデータ150−1を格納する。以後、環境構築部140は、割り込みi2〜割り込みiNが発生する度に同様の動作を繰り返し、フレームごとにオブジェクトデータDB150に移動体のオブジェクトデータ150−1〜オブジェクトデータ150−5を設定する。
【0062】
物体の移動情報は、入力装置102を使用して、ユーザが表示装置上103の物体P0をマウスでクリックし、マウスをドラッグすることで、物体の移動情報P0〜P3を入力する。マウスの移動によって、イベントt1〜イベントt3が発生する。イベントt1をトリガーにユーザ入力部110は、イベントt1発生時の画面のマウスの座標情報を取得し、マウスの座標を物体の座標として、物体設定DB120に物体情報120−0を更新する。ユーザ入力部110は、イベントt2〜イベントt3が発生する度に同様の動作を行ない、物体設定DB120の物体情報120−1〜物体情報120−3を更新する。
【0063】
図17を参照して、“移動物体のシミュレーション”を説明する。“移動物体のシミュレーション”について、シミュレーションの開始により、シミュレータタイマ割り込みの発生が開始され、シミュレータタイマによる割り込みi1〜割り込みiNが一定周期で発生する。割り込みi1発生をトリガーに、データシミュレータ部160は、シミュレータカウンタ195をインクリメントする。シミュレータカウンタ更新後、データシミュレータ部160は、オブジェクトデータDB150からシミュレータカウンタ195が示すフレーム番号のオブジェクトデータ150−1を取得する。取得したオブジェクトデータ150−1を元に、データシミュレータ部160は、測距データDB170のシミュレータカウンタ195が示す値のフレーム番号の領域に、測距データ170−1を格納する。以後、データシミュレータ部160は、割り込みi2〜割り込みiNが発生する度に同様の動作を繰り返し、フレームごとに測距データDB170に移動体の測距データ170−1〜測距データ150−5を設定する。
【0064】
シミュレーションされた結果は、表示装置103上で描画される。データシミュレータ部160の処理に同期して、描画要求f1〜描画要求fNが発生する。描画要求f1をトリガーに、データ表示部180は、シミュレータカウンタ195が示すフレーム値の測距データ170−1とオブジェクトデータ150−1を取得する。取得した座標情報を元に、データ表示部180は、物体OP1と計測点MP1を描画する。以後、データ表示部180は、描画要求f1〜描画要求fNが発生する度に同様の動作を繰り返し、フレームごとのシミュレーション結果として、物体OP1〜物体OPNおよび計測点MP1〜計測点MPNを描画する。
【0065】
実施例2によれば、入力を受け付けた物体の移動を忠実に再現するシミュレータを得ることができる。
【符号の説明】
【0066】
100…シミュレータ、101…CPU、102…入力装置、103…表示装置、110…ユーザ入力部、120…物体設定DB、130…センサ設定DB、140…環境構築部、150…オブジェクトDB、160…データシミュレータ部、170…測距データDB、180…データ表示部、190…フレームカウンタ、195…シミュレータカウンタ、200…レーザセンサ、300…円柱、310…角柱。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図12A
図12B
図12C
図12D
図12E
図12F
図12G
図13A
図13B
図13C
図13D
図13E
図14
図15
図16
図17