JP2022122712A - キャリブレーション方法、プログラム、及びキャリブレーション装置 - Google Patents

キャリブレーション方法、プログラム、及びキャリブレーション装置 Download PDF

Info

Publication number
JP2022122712A
JP2022122712A JP2021020135A JP2021020135A JP2022122712A JP 2022122712 A JP2022122712 A JP 2022122712A JP 2021020135 A JP2021020135 A JP 2021020135A JP 2021020135 A JP2021020135 A JP 2021020135A JP 2022122712 A JP2022122712 A JP 2022122712A
Authority
JP
Japan
Prior art keywords
sensor
position information
measurement object
information
sensors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021020135A
Other languages
English (en)
Other versions
JP7209755B2 (ja
Inventor
匠 藤田
Takumi Fujita
瑞穂 竹内
Mizuho Takeuchi
成寿 亀尾
Shigetoshi Kameo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Logisnext Co Ltd
Original Assignee
Mitsubishi Logisnext Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Logisnext Co Ltd filed Critical Mitsubishi Logisnext Co Ltd
Priority to JP2021020135A priority Critical patent/JP7209755B2/ja
Publication of JP2022122712A publication Critical patent/JP2022122712A/ja
Application granted granted Critical
Publication of JP7209755B2 publication Critical patent/JP7209755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

【課題】作業者の負荷を低減する。【解決手段】キャリブレーション方法は、移動体に備えられて周囲を検出する複数のセンサのキャリブレーション方法であって、複数のセンサのうちの少なくとも2つのセンサに、同じ測定対象物の位置情報を検出させるステップと、同じ測定対象物の位置情報に基づき、センサ同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、移動体の設計情報に基づき、移動体の基準位置に対する、複数のセンサのうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得するステップと、センサ間位置情報及び基準センサ位置情報に基づき、移動体の基準位置に対する、それぞれのセンサの位置及び姿勢の情報であるセンサ位置情報を取得するステップと、を含む。【選択図】図8

Description

本開示は、キャリブレーション方法、プログラム、及びキャリブレーション装置に関する。
移動体には、周囲を検出するセンサが備えられる場合がある。特許文献1には、車両に設けられた各センサのキャリブレーションを実行する旨が記載されている。特許文献1には、センサが地面を走査する走査線の交点に、反射板が設けられたランドマークを設置し、それぞれのセンサに走査線の交点の位置を検出させる旨が記載されている。特許文献1においては、それぞれのセンサの座標系における走査線の交点の位置に基づき、センサのキャリブレーションを行っている。
特開2020-064011号公報
しかし、特許文献1においては、走査線の交点の位置を特定するための専用の機器を用いて、走査線の交点の位置を特定する作業を実行する必要があり、作業者の負荷が高くなる。そのため、移動体に設けられた複数のセンサをキャリブレーションする際に、作業者の負荷を低減することが求められている。
本開示は、上述した課題を解決するものであり、作業者の負荷を低減可能なキャリブレーション方法、プログラム、及びキャリブレーション装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本開示に係るキャリブレーション方法は、移動体に備えられて周囲を検出する複数のセンサのキャリブレーション方法であって、前記複数のセンサのうちの少なくとも2つのセンサに、同じ測定対象物の位置情報を検出させるステップと、前記同じ測定対象物の位置情報に基づき、前記センサ同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、前記移動体の設計情報に基づき、前記移動体の基準位置に対する、前記複数のセンサのうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得するステップと、前記センサ間位置情報及び前記基準センサ位置情報に基づき、前記移動体の基準位置に対する、それぞれの前記センサの位置及び姿勢の情報であるセンサ位置情報を取得するステップと、を含む。
上述した課題を解決し、目的を達成するために、本開示に係るプログラムは、移動体に備えられて周囲を検出する複数のセンサのキャリブレーション方法をコンピュータに実行させるプログラムであって、前記複数のセンサのうちの少なくとも2つのセンサに、同じ測定対象物の位置情報を検出させるステップと、前記同じ測定対象物の位置情報に基づき、前記センサ同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、前記移動体の設計情報に基づき、前記移動体の基準位置に対する、前記複数のセンサのうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得するステップと、前記センサ間位置情報及び前記基準センサ位置情報に基づき、前記移動体の基準位置に対する、それぞれの前記センサの位置及び姿勢の情報であるセンサ位置情報を取得するステップと、を、コンピュータに実行させる。
上述した課題を解決し、目的を達成するために、本開示に係るキャリブレーション装置は、移動体に備えられて周囲を検出する複数のセンサのキャリブレーション装置であって、前記複数のセンサのうちの少なくとも2つのセンサに、同じ測定対象物の位置情報を検出させる測定対象物位置取得部と、前記同じ測定対象物の位置情報に基づき、前記センサ同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するセンサ間位置情報取得部と、前記移動体の設計情報に基づき、前記移動体の基準位置に対する、前記複数のセンサのうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得する基準センサ位置情報取得部と、前記センサ間位置情報及び前記基準センサ位置情報に基づき、前記移動体の基準位置に対する、それぞれの前記センサの位置及び姿勢の情報であるセンサ位置情報を取得するセンサ位置情報取得部と、を含む。
上述した課題を解決し、目的を達成するために、本開示に係るキャリブレーション方法は、移動体に備えられて周囲を検出するセンサのキャリブレーション方法であって、治具の基準位置に対して、前記移動体の基準位置の位置及び姿勢を固定させるステップと、前記センサに、前記治具の基準位置に対する位置及び姿勢が既知である測定対象物の位置情報を検出させるステップと、前記測定対象物の位置情報の検出結果と、前記移動体の基準位置に対する前記測定対象物の位置情報とに基づき、前記移動体の基準位置に対する、前記センサの位置及び姿勢の情報であるセンサ位置情報を取得するステップと、を含む。
本開示によれば、作業者の負荷を低減できる。
図1は、本実施形態に係る移動体の模式図である。 図2は、移動体のセンサの検出範囲を説明する模式図である。 図3は、本実施形態に係るキャリブレーション装置の模式的なブロック図である。 図4は、測定対象物の位置情報の検出を説明する模式図である。 図5は、センサ間位置情報の算出を説明するための模式図である。 図6は、基準センサ位置情報を説明するための模式図である。 図7は、第2パスを説明する模式図である。 図8は、本実施形態に係るキャリブレーション処理のフローを説明するフローチャートである。 図9は、基準センサ位置情報の算出の他の例を説明する模式図である。 図10は、基準センサ位置情報の算出の他の例を説明する模式図である。 図11は、測定対象物の形状例を説明する図である。 図12は、測定対象物の検出方法を説明する模式図である。 図13は、測定対象物位置情報の算出方法を説明する図である。 図14は、一方のセンサの座標系から他方のセンサの座標系に変換するための変換量の算出を説明するための図である。 図15は、変換量の算出の他の例を説明するための図である。 図16は、センサ間位置情報の算出を説明するための模式図である。 図17は、点群の選択方法を説明するための模式図である。 図18は、第4実施形態における点群の選択方法を説明するフローチャートである。 図19は、第5実施形態に係る治具の模式図である。 図20は、第5実施形態に係るキャリブレーション処理のフローを説明するフローチャートである。
以下に添付図面を参照して、本発明の好適な実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではなく、また、実施形態が複数ある場合には、各実施形態を組み合わせて構成するものも含むものである。
(第1実施形態)
(移動体)
図1は、本実施形態に係る移動体の模式図である。本実施形態においては、移動体10は、自動で移動可能な装置である。より詳しくは、移動体10は、フォークリフトであり、さらにいえば、いわゆるAGF(Automated Guided Forklift)である。ただし、移動体10は、移動可能な任意の装置であってよく、フォークリフトであることに限られない。また、移動体10は、自動で移動する装置に限られず、ユーザの運転によって移動する装置であってもよい。
(移動体の構成)
図1に示すように、移動体10は、車体20と、マスト22と、フォーク24と、複数のセンサ26と、制御装置28とを備えている。車体20は、車輪20Aを備えている。マスト22は、車体20の前後方向における一方の端部に設けられている。マスト22は、前後方向に直交する上下方向に沿って延在する。フォーク24は、マスト22に方向Zに移動可能に取付けられている。フォーク24は、マスト22に対して、車体20の横方向(上下方向及び前後方向に交差する方向)にも移動可能であってよい。フォーク24は、一対のツメ24A、24Bを有している。ツメ24A、24Bは、マスト22から車体20の前方向に向けて延在している。ツメ24Aとツメ24Bとは、マスト22の横方向に、互いに離れて配置されている。以下、前後方向のうち、移動体10においてフォーク24が設けられている側の方向を、前方向とし、フォーク24が設けられていない側の方向を、後方向とする。
制御装置28は、移動体10の移動を制御する。制御装置28は、コンピュータであり、例えば図示しない記憶部と制御部とを含む。制御装置28の制御部は、演算装置、すなわちCPU(Central Processing Unit)であり、記憶部からプログラム(ソフトウェア)を読み出して実行することで、処理を実行する。制御部の処理としては、例えば移動体10を自動で移動させる処理などがある。
(センサ)
センサ26は、車体20の周辺に存在する対象物の位置及び姿勢の少なくとも1つを検出する。センサ26は、移動体10に対する対象物の位置と、移動体10に対する対象物の姿勢とを検出するともいえる。本実施形態では、センサ26は、マスト22と、車体20の四隅とに、すなわち車体20の前方向側の左右の端部と後方向側の左右の端部とに、設けられている。すなわち、本実施形態では、センサ26として、センサ26A、26B、26C、26Dの4つが設けられている。センサ26A、26Bは、フォーク24と対向する支持部25の先端に設けられ、センサ26C、26Dは、車体20の後方向側に設けられる。ただし、センサ26の設けられる位置はこれに限られず、任意の位置に設けられてもよい。また、センサ26の数も4つに限られず、任意であってよい。また例えば、移動体10に設けられる安全センサを、センサ26として流用してもよい。安全センサを流用することで、新たにセンサを設ける必要がなくなる。
図2は、移動体のセンサの検出範囲を説明する模式図である。図2に示すように、以下、鉛直方向の上方を方向Zとし、方向Zに直交する一方向を方向Xとし、方向X及び方向Zに直交する一方向を方向Yとする。本実施形態においては、移動体10が走行する床面は、方向X及び方向Yに沿っていることが好ましい。なお、本実施形態における「位置」とは、特に断りが無い限り、Z方向に直交する平面上における位置(座標)を指し、「姿勢」とは、Z方向に直交する平面の面内における姿勢(Z方向から対象を見た場合の対象の向き)を指す。
センサ26は、周囲の対象物からの反射光を検出(受光)することで、対象物の位置及び姿勢を検出する。さらに言えば、センサ26は、レーザ光を照射するセンサである。センサ26は、照射したレーザ光の反射光を検出することで、対象物の位置及び姿勢を検出する。センサ26は、一方向に走査しつつレーザ光を照射し、照射したレーザ光の反射光から、対象物の位置及び姿勢を検出する。すなわち、センサ26は、いわゆる2D-LiDAR(Light Detection And Ranging)であるともいえる。本実施形態では、センサ26は、水平方向に、すなわち方向Zに直交する方向に、レーザ光を走査する。また、本実施形態では、それぞれのセンサ26は、光軸がZ方向に直交する平面に沿うように、すなわちセンサ26が鉛直方向の上方や下方を向かずに水平方向を向くように、移動体10に取り付けられていることが好ましい。言い換えれば、センサ26の鉛直軸と、移動体10の鉛直軸とが、同じ向きとなっていることが好ましい。
本実施形態では、隣り合うセンサ26の検出範囲が重複する。検出範囲とは、センサ26がレーザ光を照射可能な範囲を指し、言い換えれば、対象物の位置及び姿勢を検出可能な範囲を指す。すなわち、センサ26は、検出範囲内の対象物から反射された反射光を受光して、対象物の位置及び姿勢を検出可能である。図2の例では、センサ26Aの検出範囲CRAとセンサ26Bの検出範囲CRBとが一部で重複しており、センサ26Bの検出範囲CRBとセンサ26Cの検出範囲CRCとが一部で重複しており、センサ26Cの検出範囲CRCとセンサ26Dの検出範囲CRDとが一部で重複しており、センサ26Dの検出範囲CRDとセンサ26Aの検出範囲CRAとが一部で重複している。検出範囲CRAと検出範囲CRBとが重なる領域においては、センサ26A、26Bの両方が、対象物の位置及び姿勢を検出可能であり、検出範囲CRBと検出範囲CRCとが重なる領域においては、センサ26B、26Cの両方が、対象物の位置及び姿勢を検出可能であり、検出範囲CRCと検出範囲CRDとが重なる領域においては、センサ26C、26Dの両方が、対象物の位置及び姿勢を検出可能であり、検出範囲CRDと検出範囲CRAとが重なる領域においては、センサ26D、26Aの両方が、対象物の位置及び姿勢を検出可能である。なお、図2の例では、隣り合う2つのセンサ26の検出範囲のみが重複していたが、3つ以上のセンサ26の検出範囲が重複してもよい。
また、本実施形態では、全てのセンサ26の検出範囲を合わせると、移動体10の周囲の全域が検出可能となっていることが好ましい。すなわち例えば、Z方向から見て移動体10の中心から径方向外側に所定距離離れた位置にある円周CIは、全区間に亘って、少なくとも1つのセンサ26の検出範囲内にあることが好ましい。
なお、センサ26は、以上のものに限られず任意の方法で対象物を検出するセンサであってよく、例えば、複数の方向に走査されるいわゆる3D-LiDARであってもよいし、カメラであってもよい。
(キャリブレーション装置)
本実施形態に係るキャリブレーション装置30は、以上のような移動体10に設けられるセンサ26のキャリブレーションを実行する装置である。すなわち、キャリブレーション装置30は、本実施形態に係るキャリブレーション方法を実行する装置である。センサ26のキャリブレーションとは、移動体10の基準位置Pに対する移動体10に搭載されたセンサ26の位置及び姿勢(基準位置Pとセンサ26との相対位置及び相対姿勢)を算出して、センサ26の座標系を移動体10の基準位置Pの座標系に合わせる処理である。例えば、図2の例では、移動体10の座標系において、基準位置Pの座標と基準方向AXPとが、予め設定されている。図2の例では、基準位置Pは、フォーク24A、24Bの間の位置であるが、移動体10の任意の位置であってもよい。図2の例では、基準方向AXPは、移動体10の進行方向であるが、移動体10に対して任意の方向であってもよい。以下、センサ26Aの位置を位置PAとし、センサ26Aの向いている方向を方向AXAとし、センサ26Bの位置を位置PBとし、センサ26Bの向いている方向を方向AXBとし、センサ26Cの位置を位置PCとし、センサ26Cの向いている方向を方向AXCとし、センサ26Dの位置を位置PDとし、センサ26Dの向いている方向を方向AXDとする。なお、それぞれのセンサ26の向いている方向は、図2の例では、Z方向から見て検出範囲の中央の線に沿った方向であるが、それに限られない。
キャリブレーション装置30は、キャリブレーションを実行して、基準位置Pの座標に対するセンサ26Aの位置PAの座標(移動体10の座標系における位置PAの座標)を、基準位置Pに対するセンサ26Aの位置として算出し、基準方向AXPに対するセンサ26Aの向いている方向AXA(移動体10の座標系における方向AXAの向き)を、基準位置Pに対するセンサ26Aの姿勢として算出する。同様に、キャリブレーション装置30は、基準位置Pの座標に対するセンサ26Bの位置PBの座標(移動体10の座標系における位置PBの座標)を、基準位置Pに対するセンサ26Bの位置として算出し、基準方向AXPに対するセンサ26Bの向いている方向AXB(移動体10の座標系における方向AXBの向き)を、基準位置Pに対するセンサ26Bの姿勢として算出する。また、キャリブレーション装置30は、基準位置Pの座標に対するセンサ26Cの位置PCの座標(移動体10の座標系における位置PCの座標)を、基準位置Pに対するセンサ26Cの位置として算出し、基準方向AXPに対するセンサ26Cの向いている方向AXC(移動体10の座標系における方向AXCの向き)を、基準位置Pに対するセンサ26Cの姿勢として算出する。また、キャリブレーション装置30は、基準位置Pの座標に対するセンサ26Dの位置PDの座標(移動体10の座標系における位置PDの座標)を、基準位置Pに対するセンサ26Dの位置として算出し、基準方向AXPに対するセンサ26Dの向いている方向AXD(移動体10の座標系における方向AXDの向き)を、基準位置Pに対するセンサ26Dの姿勢として算出する。
(キャリブレーション装置の構成)
図3は、本実施形態に係るキャリブレーション装置の模式的なブロック図である。キャリブレーション装置30は、コンピュータであり、図3に示すように、記憶部32と通信部34と制御部36とを含む。記憶部32は、制御部36の演算内容やプログラムなどの各種情報を記憶するメモリであり、例えば、例えば、RAM(Random Access Memory)と、ROM(Read Only Memory)のような主記憶装置と、HDD(Hard Disk Drive)などの外部記憶装置とのうち、少なくとも1つ含む。記憶部32が保存する制御部36用のプログラムは、キャリブレーション装置30が読み取り可能な記録媒体に記憶されていてもよい。通信部34は、制御部36に用いられて、移動体10などの外部の装置と通信するモジュールであり、例えばアンテナなどを含んでよい。通信部34による通信方式は、本実施形態では無線通信であるが、通信方式は任意であってよい。なお、キャリブレーション装置30は、ユーザの入力を受け付ける入力部や、情報を出力する出力部を備えていてもよい。入力部としては、例えばタッチパネルやキーボード、マウスなどが挙げられ、出力部としては、例えば画像を表示するディスプレイが挙げられる。
制御部36は、演算装置、すなわちCPUである。制御部36は、測定対象物位置取得部40と、センサ間位置情報取得部42と、基準センサ位置情報取得部44と、センサ位置情報取得部46とを含む。制御部36は、記憶部32からプログラム(ソフトウェア)を読み出して実行することで、測定対象物位置取得部40とセンサ間位置情報取得部42と基準センサ位置情報取得部44とセンサ位置情報取得部46とを実現して、それらの処理を実行する。なお、制御部36は、1つのCPUによってこれらの処理を実行してもよいし、複数のCPUを備えて、それらの複数のCPUで、処理を実行してもよい。また、測定対象物位置取得部40とセンサ間位置情報取得部42と基準センサ位置情報取得部44とセンサ位置情報取得部46の少なくとも一部を、ハードウェアで実現してもよい。
(測定対象物位置取得部)
測定対象物位置取得部40は、センサ26に測定対象物Bの位置情報を検出させる。より詳しくは、測定対象物位置取得部40は、センサ26から測定対象物Bの表面Baへレーザ光を照射させて、センサ26に、その測定対象物Bの表面Baからのレーザ光の反射光を受光させる。測定対象物位置取得部40は、センサ26が受光した測定対象物Bからのレーザ光の反射光の情報に基づき、測定対象物Bの位置情報を算出する。測定対象物Bの位置情報とは、その測定対象物Bの位置情報を検出したセンサ26に対する、測定対象物Bの位置(センサ26の座標系における測定対象物Bの座標)の情報を指す。測定対象物Bの位置情報は、センサ26に対する測定対象物Bの姿勢の情報も含んでいてもよい。以下、測定対象物Bの位置情報を、適宜、測定対象物位置情報と記載する。なお、測定対象物Bとは、キャリブレーションを行うために用いられる部材である。
測定対象物位置取得部40は、複数のセンサ26のうちの少なくとも2つのセンサ26に、同じ測定対象物Bの位置情報を検出させる。以下、具体的に説明する。
図4は、測定対象物の位置情報の検出を説明する模式図である。図4に示すように、測定対象物位置取得部40は、移動体10の近傍に測定対象物Bが配置された状態で、センサ26に、測定対象物位置情報を検出させる。より詳しくは、測定対象物位置取得部40は、測定対象物Bが隣り合うセンサ26の検出範囲同士が重複する領域に配置された状態で、センサ26に測定対象物位置情報を検出させる。図4の例では、センサ26Aとセンサ26Bの検出範囲が重複する位置に、測定対象物B1が配置され、センサ26Bとセンサ26Cの検出範囲が重複する位置に、測定対象物B2が配置され、センサ26Cとセンサ26Dの検出範囲が重複する位置に、測定対象物B3が配置されている。
測定対象物位置取得部40は、複数のセンサ26のうちの少なくとも2つのセンサ26に、同じ測定対象物Bの検出を行わせる。すなわち、測定対象物位置取得部40は、複数のセンサ26のうちの少なくとも2つのセンサ26に、同じ測定対象物Bへレーザ光Lを照射させて、その測定対象物Bからのレーザ光Lの反射光を受光させることで、同じ測定対象物Bの測定対象物位置情報を取得する。本実施形態の例では、測定対象物位置取得部40は、2つのセンサ26に、同じ測定対象物Bの検出を行わせる。すなわち、測定対象物位置取得部40は、一方のセンサ26に検出させた測定対象物Bの測定対象物位置情報と、他方のセンサ26に検出させた同じ測定対象物Bの測定対象物位置情報とを取得する。図4の例では、測定対象物位置取得部40は、センサ26Aとセンサ26Bに、測定対象物B1に対してレーザ光Lを照射させて、測定対象物B1からのレーザ光Lの反射光を受光させることで、測定対象物B1の測定対象物位置情報を取得する。測定対象物位置取得部40は、測定対象物B1についての測定対象物位置情報として、センサ26Aが検出したセンサ26Aに対する測定対象物B1の位置情報と、センサ26Bが検出したセンサ26Bに対する測定対象物B1の位置情報(センサ26Bに対する測定対象物B1の位置)とを算出する。同様に、測定対象物位置取得部40は、センサ26Bとセンサ26Cに、測定対象物B2に対してレーザ光Lを照射させて、測定対象物B2からのレーザ光Lの反射光を受光させることで、測定対象物B2の測定対象物位置情報を取得する。測定対象物位置取得部40は、測定対象物B2についての測定対象物位置情報として、センサ26Bが検出したセンサ26Bに対する測定対象物B2の位置情報と、センサ26Cが検出したセンサ26Cに対する測定対象物B2の位置情報とを算出する。同様に、測定対象物位置取得部40は、センサ26Cとセンサ26Dに、測定対象物B3に対してレーザ光Lを照射させて、測定対象物B3からのレーザ光Lの反射光を受光させることで、同じ測定対象物B3の測定対象物位置情報を取得する。測定対象物位置取得部40は、測定対象物B3についての測定対象物位置情報として、センサ26Cが検出したセンサ26Cに対する測定対象物B3の位置情報と、センサ26Dが検出したセンサ26Dに対する測定対象物B3の位置情報とを算出する。
このように、本実施形態では、センサ26A、26Bに測定対象物B1を検出させ、センサ26B、26Cに測定対象物B2を検出させるなど、一対のセンサ26毎に、異なる測定対象物Bを検出させているが、それに限られず、一対のセンサ26と、別の一対のセンサ26に、同じ測定対象物Bを検出させてもよい。また、本実施形態では、隣り合う2つのセンサ26に、同じ測定対象物Bを検出させたが、それに限られず、3つ以上のセンサ26に、同じ測定対象物Bを検出させてもよい。
(センサ間位置情報取得部)
図5は、センサ間位置情報の算出を説明するための模式図である。センサ間位置情報取得部42は、同じ測定対象物Bの測定対象物位置情報に基づき、センサ26同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得する。センサ間位置情報取得部42は、同じ測定対象物Bの測定対象物位置情報に基づき、その測定対象物Bを検出したセンサ26同士のセンサ間位置情報を算出する。例えば、本実施形態の例では、センサ間位置情報取得部42は、測定対象物B1の測定対象物位置情報に基づき、言い換えればセンサ26Aが検出した測定対象物B1の位置情報と、センサ26Bが検出した測定対象物B1の位置情報とに基づき、センサ26Aとセンサ26Bとのセンサ間位置情報を算出する。センサ26Aとセンサ26Bとは、同じ測定対象物B1を検出しているため、センサ26Aが検出したセンサ26Aに対する測定対象物B1の位置と、センサ26Bが検出したセンサ26Bに対する測定対象物B1の位置とから、センサ26Aに対するセンサ26Bの位置及び姿勢が算出できる。センサ間位置情報取得部42は、センサ26Aとセンサ26Bとのセンサ間位置情報として、センサ26Aに対するセンサ26Bの位置及び姿勢(センサ26Aの座標系におけるセンサ26Bの位置及び姿勢)を算出する。さらに言えば、センサ間位置情報取得部42は、図5に示すように、センサ26Aとセンサ26Bとのセンサ間位置情報として、センサ26Bの座標系をセンサ26Aの座標系に変換するための変換量(tXB、tYB、θ)を算出する。なお、tXBが、センサ26Aの座標系に対するセンサ26Bの座標系のX軸方向の変位量、tYBが、センサ26Aの座標系に対するセンサ26Bの座標系のY軸方向の変位量であり、θが、センサ26Aの座標系に対するセンサ26Bの座標系の回転量である。
同様に、センサ間位置情報取得部42は、測定対象物B2の測定対象物位置情報に基づき、言い換えればセンサ26Bが検出した測定対象物B2の位置情報と、センサ26Cが検出した測定対象物B2の位置情報とに基づき、センサ26Bとセンサ26Cとのセンサ間位置情報を算出する。センサ間位置情報取得部42は、センサ26Bとセンサ26Cとのセンサ間位置情報として、センサ26Bに対するセンサ26Cの位置及び姿勢(センサ26Bの座標系におけるセンサ26Cの位置及び姿勢)を算出する。さらに言えば、センサ間位置情報取得部42は、センサ26Bとセンサ26Cとのセンサ間位置情報として、センサ26Cの座標系をセンサ26Bの座標系に変換するための変換量(tXC、tYC、θ)を算出する。同様に、センサ間位置情報取得部42は、測定対象物B3の測定対象物位置情報に基づき、言い換えればセンサ26Cが検出した測定対象物B3の位置情報と、センサ26Dが検出した測定対象物B3の位置情報とに基づき、センサ26Cとセンサ26Dとのセンサ間位置情報を算出する。センサ間位置情報取得部42は、センサ26Cとセンサ26Dとのセンサ間位置情報として、センサ26Cに対するセンサ26Dの位置及び姿勢(センサ26Cの座標系におけるセンサ26Dの位置及び姿勢)を算出する。さらに言えば、センサ間位置情報取得部42は、センサ26Cとセンサ26Dとのセンサ間位置情報として、センサ26Dの座標系をセンサ26Cの座標系に変換するための変換量(tXD、tYD、θ)を算出する。
(基準センサ位置情報取得部)
図6は、基準センサ位置情報を説明するための模式図である。基準センサ位置情報取得部44は、移動体10の基準位置Pに対する基準センサの位置及び姿勢の情報である、基準センサ位置情報を取得する。基準センサ位置情報は、移動体10の座標系における、基準センサの位置及び姿勢の情報ともいえる。基準センサとは、複数のセンサ26のうちで基準となるセンサ26である。本実施形態では、センサ26Aを基準センサとするが、基準センサとするセンサは任意に選択されてよい。基準センサ位置情報取得部44は、移動体10の設計情報に基づき、基準センサ位置情報を取得する。基準センサ位置情報取得部44は、記憶部32に予め記憶されていた移動体10の設計情報を読み出してもよいし、通信部34を介して、外部の装置から、移動体10の設計情報を取得してもよい。移動体10の設計情報とは、移動体10の寸法などの設計値が含まれる情報であり、本実施形態では、移動体10への基準センサの取り付け位置(座標)及び取り付け角度(姿勢)の設計値を含む。より詳しくは、本実施形態では、移動体10の設計情報には、移動体10の座標系における、移動体10の基準位置Pに対する基準センサの位置(本例ではセンサ26Aの位置PA)と、移動体10の基準方向AXPに対する基準センサの向いている方向(本例では方向AXA)の角度に関する情報が含まれている。基準センサ位置情報取得部44は、移動体10の座標系における、移動体10の基準位置Pに対する基準センサの位置(座標)と、移動体10の基準方向AXPに対する基準センサの向いている角度とを、基準センサ位置情報として取得する。図6の例では、基準センサ位置情報取得部44は、基準センサ位置情報として、基準センサ(センサ26A)の座標系を移動体10の座標系に変換するための変換量(tXA、tYA、θ)を算出する旨が示されている。tXAが、センサ26Aの座標系におけるX座標を移動体10の座標系におけるX座標に変換するための値であり、tYAが、センサ26Aの座標系におけるY座標を移動体10の座標系におけるX座標に変換するための値であり、θが、センサ26Aの座標系における姿勢(角度)を移動体10の座標系における姿勢(角度)に変換するための値である。
(センサ位置情報取得部)
図7は、センサ位置情報の算出を説明するための模式図である。センサ位置情報取得部46は、センサ間位置情報取得部42が取得したセンサ間位置情報と、基準センサ位置情報取得部44が取得した基準センサ位置情報とに基づき、移動体10の基準位置Pに対する、それぞれのセンサ26の位置及び姿勢の情報であるセンサ位置情報を取得する。センサ位置情報は、移動体10の座標系における、それぞれのセンサ26の位置及び姿勢を指すともいえ、それぞれのセンサ26の座標系を移動体10の座標系に変換するための変換量であるともいえる。基準センサ位置情報で、移動体10の基準位置Pに対する基準センサの位置及び姿勢が示され、センサ間位置情報で、基準センサに対する他のセンサの位置及び姿勢が示されているので、基準センサ位置情報及びセンサ間位置情報に基づいて、基準位置Pに対するそれぞれのセンサ26の位置及び姿勢を算出できる。
本実施形態では、センサ位置情報取得部46は、基準センサ位置情報を、すなわちここでは変換量(tXA、tYA、θ)を、センサ26A(基準センサ)のセンサ位置情報とする。
また、本実施形態では、センサ位置情報取得部46は、センサ26Aとセンサ26Bとのセンサ間位置情報と基準センサ位置情報とに基づいて、センサ26Bのセンサ位置情報(移動体10の座標系におけるセンサ26Bの位置及び姿勢)を算出する。例えば、センサ位置情報取得部46は、図7に示すように、変換量(tXB、tYB、θ)と変換量(tXA、tYA、θ)をこの順で乗じた値を、センサ26Bのセンサ位置情報として算出する。
また、本実施形態では、センサ位置情報取得部46は、センサ26Aとセンサ26Bとのセンサ間位置情報と、センサ26Bとセンサ26Cとのセンサ間位置情報と、基準センサ位置情報とに基づいて、センサ26Cのセンサ位置情報(移動体10の座標系におけるセンサ26Cの位置及び姿勢)を算出する。例えば、センサ位置情報取得部46は、変換量(tXC、tYC、θ)と変換量(tXB、tYB、θ)と変換量(tXA、tYA、θ)とをこの順で乗じた値を、センサ26Cのセンサ位置情報として算出する。
また、本実施形態では、センサ位置情報取得部46は、センサ26Aとセンサ26Bとのセンサ間位置情報と、センサ26Bとセンサ26Cとのセンサ間位置情報と、センサ26Cとセンサ26Dとのセンサ間位置情報と、基準センサ位置情報とに基づいて、センサ26Dのセンサ位置情報(移動体10の座標系におけるセンサ26Dの位置及び姿勢)を算出する。例えば、センサ位置情報取得部46は、変換量(tXD、tYD、θ)と変換量(tXC、tYC、θ)と変換量(tXB、tYB、θ)と変換量(tXA、tYA、θ)とをこの順で乗じた値を、センサ26Dのセンサ位置情報として算出する。
センサ位置情報取得部46は、算出した各センサ26のセンサ位置情報を記憶部32に記憶させる。また、センサ位置情報取得部46は、算出した各センサ26のセンサ位置情報を、通信部34を介して、移動体10や別の機器などに送信してもよい。これにより、各センサ26のキャリブレーション処理が終了する。なお、以上の説明では、センサ26D、センサ26C、センサ26B、センサ26A、基準位置Pの順で座標変換を行っていたが、座標変換の順はこれに限られず任意であってよい。
(キャリブレーションフロー)
以上説明した、キャリブレーション装置30によるキャリブレーション処理のフローを説明する。図8は、本実施形態に係るキャリブレーション処理のフローを説明するフローチャートである。図8に示すように、キャリブレーション装置30は、測定対象物位置取得部40により、一対のセンサ26に同じ測定対象物Bを検出させて、測定対象物位置情報を算出する(ステップS10)。測定対象物位置取得部40は、一対のセンサ26毎に、すなわち隣り合う2つのセンサ26毎に、同じ測定対象物Bを検出させる。測定対象物位置取得部40は、一対のセンサ26による同じ測定対象物Bの検出結果から、その測定対象物の測定対象物位置情報を算出する。
キャリブレーション装置30は、センサ間位置情報取得部42により、測定対象物位置情報に基づき、センサ26同士のセンサ間位置情報を算出する(ステップS12)。センサ間位置情報取得部42は、同じ測定対象物Bの測定対象物位置情報に基づき、その測定対象物Bを検出させたセンサ26同士のセンサ間位置情報を算出する。センサ間位置情報取得部42は、一対のセンサ26毎に、センサ間位置情報を算出する。
キャリブレーション装置30は、基準センサ位置情報取得部44により、移動体10の設計情報に基づき、基準センサ位置情報を取得する(ステップS14)。なお、ステップS14は、ステップS10、12の後に実行されることに限られず、ステップS14とステップS10、12の実行順は任意であってよい。例えば、ステップS14は、ステップS10の前に実行されてもよい。
次に、キャリブレーション装置30は、センサ位置情報取得部46により、センサ間位置情報と基準センサ位置情報とに基づき、それぞれのセンサ26のセンサ位置情報(移動体10の基準位置Pに対するそれぞれのセンサ26の位置及び姿勢)を算出する(ステップS16)。これにより、キャリブレーション処理が終了する。
(効果)
以上説明したように、本実施形態に係るキャリブレーション装置30は、少なくとも2つのセンサ26に同じ測定対象物Bを検出させて、その検出結果に基づき、センサ26同士の相対位置及び姿勢(センサ間位置情報)を算出し、センサ26同士の相対位置及び姿勢と、設計情報から取得した基準位置Pに対する基準センサの相対位置及び姿勢(基準センサ位置情報)とから、基準位置Pに対する各センサ26の相対位置及び姿勢を算出する。本実施形態によると、一対のセンサ26に同じ測定対象物Bを検出させるだけで、基準位置Pに対する各センサ26の相対位置及び姿勢を算出することが可能となる。そのため、本実施形態によると、一対のセンサ26の検出範囲に測定対象物Bがあれば、各センサ26のキャリブレーションが可能となるため、測定対象物Bの設置位置を特定するための専用の機器が不要となり、また、測定対象物Bの設置位置を特定するための作業負荷が高くなることを抑制でき、作業者の負荷を低減できる。また、本実施形態によると、キャリブレーション精度が作業者の熟練度に依存する度合いを減らして、キャリブレーション精度の低下も抑制できる。
なお、本実施形態の例では、キャリブレーション装置30は、移動体10に搭載されない、移動体10とは別体の装置であるが、それに限られず、移動体10に搭載されたものであってもよい。すなわち、移動体10の制御装置28が、キャリブレーション装置30として、キャリブレーション装置30の処理を実行するものであってもよい。
(他の例)
以上の説明では、基準センサ位置情報を、移動体10の設計情報のみから取得していたが、それに限られない。例えば、基準センサ位置情報取得部44は、移動体10の設計情報と、基準センサと他のセンサ26とのセンサ間位置情報とに基づき、基準センサ位置情報を算出してよい。以下、具体的に説明する。
図9及び図10は、基準センサ位置情報の算出の他の例を説明する模式図である。図9は、基準位置Pに対するセンサ26A(基準センサ)の位置を算出する方法の例を示している。図9に示すように、基準センサ位置情報取得部44は、センサ間位置情報に基づき、センサ26Aの位置PAとセンサ26Dの位置PDとの中点P0の座標を算出する。例えば、基準センサ位置情報取得部44は、センサ26Aとセンサ26Bとのセンサ間位置情報、センサ26Bとセンサ26Cとのセンサ間位置情報、及びセンサ26Cとセンサ26Dとのセンサ間位置情報に基づき、センサ26Aの座標系におけるセンサ26Dの位置PDの座標を算出する。基準センサ位置情報取得部44は、センサ26Aの座標系におけるセンサ26Aの位置PAの座標と、センサ26Aの座標系におけるセンサ26Dの位置PDの座標から、センサ26Aの座標系における中点P0の座標を算出する。図9の距離D1は、位置PAと位置PDとの距離の半分の距離を指している。そして、基準センサ位置情報取得部44は、設計情報から、基準方向AXPの情報と、距離D2の情報とを取得する。距離D2は、基準方向AXPに沿った方向における、センサ26Aの位置PAと基準位置Pとの間の距離を指す。基準センサ位置情報取得部44は、中点P0の座標から、基準方向AXPに沿って距離D2だけ離れた位置を、基準位置Pの座標として算出する。基準センサ位置情報取得部44は、算出した基準位置Pの座標から、基準位置Pに対するセンサ26Aの位置を算出する。
図10は、基準方向AXPに対するセンサ26A(基準センサ)の向きを算出する方法の例を示している。図10に示すように、基準センサ位置情報取得部44は、移動体10の設計情報から、基準方向AXPと線分L0とのなす角度αを算出する。線分L0は、センサ26Aの位置PAとセンサ26Dの位置PDとを結ぶ線分である。基準センサ位置情報取得部44は、移動体10の設計情報から取得したセンサ26Aの位置PAの座標とセンサ26Dの位置PDの座標とに基づき、線分L0の方向を算出する。そして、基準センサ位置情報取得部44は、移動体10の設計情報から取得した基準方向AXPの情報を取得して、基準方向AXPと線分L0とのなす角度αを算出する。また、基準センサ位置情報取得部44は、センサ間位置情報に基づき、センサ26Aの向いている方向AXAと線分L0とのなす角度βを算出する。基準センサ位置情報取得部44は、センサ26Aとセンサ26Bとのセンサ間位置情報、センサ26Bとセンサ26Cとのセンサ間位置情報、及びセンサ26Cとセンサ26Dとのセンサ間位置情報に基づき、センサ26Aの座標系におけるセンサ26Dの位置PDの座標を算出し、センサ26の位置PAの座標とセンサ26Dの位置PDの座標とから、線分L0の方向を算出する。そして、基準センサ位置情報取得部44は、算出した線分L0の方向と、方向AXAとのなす角度を、角度βとして算出する。基準センサ位置情報取得部44は、角度αと角度βとに基づき、基準方向AXPに対するセンサ26Aの向きを算出する。すなわち、基準センサ位置情報取得部44は、角度αと角度βとを足し合わせた角度を、基準方向AXPに対するセンサ26Aの向きとして算出する。
以上のように、基準センサと他のセンサ26とのセンサ間位置情報にも基づき、基準センサ位置情報を算出することで、例えば基準センサの位置や姿勢が設計情報からずれていた場合にも、実際の基準センサの位置や姿勢を反映できるため、キャリブレーション精度を向上できる。なお、上記で説明した基準センサと他のセンサ26とのセンサ間位置情報にも基づいたセンサ間位置情報の算出方法は、一例である。
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態においては、測定対象物Bの形状が既知である点で、第1実施形態とは異なる。第2実施形態において第1実施形態と構成が共通する箇所は、説明を省略する。
図11は、測定対象物の形状例を説明する図である。第2実施形態においては、測定対象物Bの表面Baの形状が既知となっている。すなわち、キャリブレーション装置30は、測定対象物Bの表面Baの形状に関する情報を、取得可能である。測定対象物Bの形状は任意であってよいが、例えば平面状であってもよい。すなわち、測定対象物Bは、図11の左側に示すように、Z方向から見た場合の表面Baが、直線状であってもよい。また例えば、測定対象物Bは、平面が交差した形状であってもよい。すなわち、測定対象物Bは、図11の中央に示すように、Z方向から見た場合の表面Baが、直線同士が交差する形状となっていてもよい。また、測定対象物Bは、円筒状であってもよい。すなわち、測定対象物Bは、図11の右側に示すように、Z方向から見た場合の表面Baが、円弧形状となっていてもよい。
(測定対象物位置情報の算出方法)
次に、第2実施形態における測定対象物位置情報の算出方法について説明する。図12は、測定対象物の検出方法を説明する模式図である。図12に示すように、測定対象物位置取得部40は、センサ26に、測定対象物Bの表面Baへレーザ光Lを走査しつつ照射させる。すなわち、測定対象物位置取得部40は、表面Baの異なる位置のそれぞれに、レーザ光Lを照射させる。測定対象物位置取得部40は、表面Baの各位置で反射されたレーザ光Lを、反射光としてセンサ26に受光させる。以下、表面Baでレーザ光Lが反射された位置(レーザ光Lが照射された位置)を、適宜、反射位置と記載する。測定対象物位置取得部40は、センサ26が受光したそれぞれの反射光の情報に基づき、それぞれの反射位置の座標を算出して、測定対象物位置情報とする。なお、図12は、センサ26A、26Bに、同じ測定対象物B1を検出させた場合を例示している。
図13は、測定対象物位置情報の算出方法を説明する図である。図13の(A)は、センサ26Aによって検出された反射位置の座標の例を示している。すなわち、図13の(A)は、センサ26Aが、図12に示すように測定対象物B1にレーザ光Lを照射し、測定対象物B1の各反射位置で反射された反射光を受光した場合に、測定対象物位置取得部40によって算出された反射位置の座標を、点群Mとしてプロットした図を示している。すなわち、点群Mとは、反射位置の座標を示す点(計測点)といえる。図13の(A)の横軸は、センサ26Aの座標系でのX座標を示し、縦軸は、センサ26Aの座標系でのY座標を示している。測定対象物位置取得部40は、それぞれの点群Mの座標を、測定対象物B1の測定対象物位置情報として算出する。また例えば、測定対象物位置取得部40は、それぞれの点群Mを繋ぐ線分LIを生成し、線分LIの座標及び方向を、測定対象物位置情報(測定対象物Bの位置及び姿勢の情報)として算出してもよい。線分LIは、点群Mを通る線分であることに限られず、例えば点群M同士の近似線であってもよい。線分LIは、点群Mの座標に基づき任意の方法で生成してもよい。
このように、測定対象物位置取得部40は、測定対象物Bで反射された光をセンサ26に検出させ、センサ26が検出した光の情報に基づき、測定対象物Bの反射位置の、センサ26の座標系における座標の情報を、測定対象物Bの位置情報として算出するといえる。
ここで、センサ26は、測定対象物Bではない箇所にも向けてレーザ光Lを照射し、測定対象物Bではない箇所からの反射光を検出する場合がある。しかし、測定対象物Bではない箇所から反射された反射光に基づいて測定対象物位置情報を算出してしまうと、実際の測定対象物Bの表面Baに対する誤差が大きくなるため、測定対象物位置情報に基づいて算出されるセンサ間位置情報の算出精度が低下するおそれがある。そのため、本実施形態に係る測定対象物位置取得部40は、測定対象物Bの表面Baの形状に基づき、センサ間位置情報を算出するために用いる点群M(反射位置の座標)を、選択する。具体的には、測定対象物位置取得部40は、検出された点群Mのうちから、表面Baの形状に相当する複数の点群Mを抽出し、抽出した複数の点群Mの座標を測定対象物位置情報とする。表面Baの形状に相当する点群Mを選択する方法は任意であるが、例えば、点群M間の線分LIと、Z方向から見た場合の表面Baに沿った線分との差分が所定値以下となる点群Mを、表面Baの形状に相当する点群Mとして選択してよい。
なお、測定対象物Bの形状は既知であることに限られない。この場合、測定対象物位置取得部40は、表面Baの形状に相当する複数の点群Mを抽出する処理を行わなくてもよい。この場合には、例えばセンサ26に対する測定対象物Bのおおよその位置は既知であるため、検出された点群Mのうちから、測定対象物Bのおおよその位置にある点群Mを、表面Baに対応する点群Mとして抽出して、抽出した点群Mの座標を、測定対象物位置情報としてよい。
また、本実施形態では、一対のセンサ26に、同じ測定対象物Bの検出を複数回実行させることが好ましい。例えば、測定対象物位置取得部40は、センサ26A、26Bに、測定対象物B1の検出を複数のスキャン分行わせる。そして、移動体10に対する測定対象物B1の相対位置及び姿勢の少なくとも一方を変化させて、センサ26A、26Bに、測定対象物B1の検出を更に複数のスキャン分行わせる。この場合、以上の処理を任意の回数繰り返してもよい。測定対象物位置取得部40は、このようにして検出された複数の検出データのそれぞれについて、点群M(反射位置の座標)を算出して、測定対象物位置情報とする。測定対象物位置取得部40は、全ての一対のセンサ26に対して、これらの処理を行わせる。このように、同じ測定対象物Bの検出を複数回実行させて、同じ測定対象物Bについて測定対象物位置情報を複数算出することで、測定対象物位置情報に基づいて算出されるセンサ間位置情報の算出精度を向上できる。
(センサ間位置情報の算出方法)
次に、第2実施形態におけるセンサ間位置情報の算出方法について説明する。図13の(A)は、上述のように、センサ26Aが検出した点群Mを示しており、より詳しくは、図12に示すように測定対象物B1にレーザ光Lを照射した場合に検出された、測定対象物B1の表面Baの各反射位置の座標を示す点群Mを、センサ26Aの座標系においてプロットしたものである。一方、図13の(B)は、センサ26Bが検出した点群Mを示しており、より詳しくは、センサ26Bが図12に示すように測定対象物B1にレーザ光Lを照射した場合に検出された、測定対象物B1の表面Baの各反射位置の座標を示す点群Mを、センサ26Bの座標系においてプロットしたものである。ここで、センサ26Aとセンサ26Bとは、同じ測定対象物B1を検出している。そのため、センサ26Aが検出した点群Mをセンサ26Bの座標系に変換した場合には、図13の(C)に示すように、それらの点群(センサ26Bの座標系に変換された点群M)の線分LIと、センサ26Bによって検出されたセンサ26Bの座標系の点群Mの線分LIとは、一致する。第2実施形態に係るセンサ間位置情報取得部42は、この原理に基づいて、一方のセンサ26の座標系から他方のセンサ26の座標系に変換するための変換量を算出する。
以下、具体的に説明する。ここで、一方のセンサ26(例えばセンサ26B)によって検出された一方のセンサ26の座標系における測定対象物B(例えば測定対象物B1)の反射位置の座標を、第1座標とする。また、第1座標を、他方のセンサ26(例えばセンサ26A)の座標系に変換した座標を、第1変換座標とする。また、他方のセンサ26によって検出された他方のセンサ26の座標系における同じ測定対象物B(例えば測定対象物B1)の同じ反射位置の座標を、第2座標とする。この場合、例えば、センサ間位置情報取得部42は、第1変換座標と第2座標の差分が、すなわち第1変換座標と第2座標との間の距離が、所定値以下となるような、一方のセンサ26の座標系から他方のセンサ26の座標系への変換量(例えば変換量(tXB、tYB、θ))を、算出する。
図14は、一方のセンサの座標系から他方のセンサの座標系に変換するための変換量の算出を説明するための図である。上記のように第1変換座標及び第2座標から変換量を算出する場合には、例えば、図14に示すように、センサ26に、点群Mを結んだ線分LI同士が交差するように、レーザ光Lを走査させてよい。そして、一方のセンサ26の線分LI同士の交点MAの座標を第1座標とし、他方のセンサ26の線分LI同士の交点MBの座標を第2座標として、センサ26同士の座標の変換量を算出する。
以下、センサ26Bの座標系をセンサ26Aの座標系に変換するための変換量(t、t、θ)を算出する場合を例にして、より具体的に説明する。以下では、センサ26Bが検出した測定対象物B1の反射位置の座標である第1座標を(x2、y2)とし、センサ26Aが検出した測定対象物B1の同じ反射位置の座標である第2座標を(x1、y1)とする。
第2座標(x1、y1)と第1座標(x2、y2)が実空間上で同じ点である場合、以下の式(1)が成り立つ。
Figure 2022122712000002
センサ26A、26Bに同じ測定対象物Bの検出をN回測定させて、第1座標と第2座標とがN回算出されたとする。この場合、センサ間位置情報取得部42は、次の式(2)に示すJ(t、ty、θ)が最小となるような、変換量(t、t、θ)を算出する。すなわち、センサ間位置情報取得部42は、最小二乗法を用いて、それぞれの第1変換座標と第2座標との差分の合計値の二乗が最小となるような、変換量(t、t、θ)を算出するといえる。ただし、センサ間位置情報取得部42は、最小二乗法を用いることに限られず、例えば、それぞれの第1変換座標と第2座標との差分に基づいた任意の方法で、変換量(t、t、θ)を算出してよい。
Figure 2022122712000003
次に、変換量の算出方法の他の具体例について説明する。図15は、変換量の算出の他の例を説明するための図である。ここで、一方のセンサ26によって検出された一方のセンサ26の座標系における測定対象物B1の点群Mを結ぶ線分LIを、線分LIBとし、他方のセンサ26によって検出された他方のセンサ26の座標系の点群Mを結ぶ線分LIを、線分LIAとする。この場合、本例のセンサ間位置情報取得部42は、線分LIBを他方のセンサ26の座標系に変換した場合に、その線分LIB(他方のセンサ26の座標系に変換された線分LIB)と線分LIAとの差分が、所定値以下となるような、一方のセンサ26の座標系から他方のセンサ26の座標系への変換量を算出する。なお、線分LI同士の差分とは、例えば、線分LIの行列同士の差分を指してもよい。
ここで、センサ26Aが検出した測定対象物B1の点群Mを結ぶ線分LIAが、以下の式(3)で表されるとし、センサ26Bが検出した測定対象物B1の点群Mを結ぶ線分LIBが、以下の式(4)で表されるとする。この場合、線分LIAと線分LIBとが実空間で一致する場合には、次の式(5)が成り立つ。
Figure 2022122712000004
Figure 2022122712000005
Figure 2022122712000006
式(5)をセンサ26Aの座標系の線分LIAに適用すると、次の式(6)のようになる。
Figure 2022122712000007
センサ26A、26Bに同じ測定対象物Bの検出をN回測定させて、線分LIAと線分LIBとがN回算出されたとする。この場合、センサ間位置情報取得部42は、次の式(7)に示すJ(t、ty、θ)が最小となるような、変換量(t、t、θ)を算出する。すなわち、センサ間位置情報取得部42は、最小二乗法を用いて、それぞれの線分LIAと線分LIBとの差分の合計値の二乗が最小となるような、変換量(t、t、θ)を算出するといえる。
Figure 2022122712000008
センサ間位置情報取得部42は、以上説明したような方法で、一対のセンサ26毎に、座標系を変換させるための変換量を算出する。ただし、上述で説明した変換量の算出方法は一例であり、他の方法で変換量を算出してもよい。
(効果)
以上説明したように、第2実施形態においては、測定対象物Bの形状が既知であり、測定対象物Bの形状に基づき、センサ間位置情報を算出するために用いる点群M(反射位置の座標)を、選択する。これにより、センサ間位置情報の算出精度の低下を抑制できる。また、第2実施形態においては、一方のセンサ26によって検出された点群Mや線分LIを他方のセンサ26の座標系に変換した場合に、他方のセンサ26によって検出された点群Mや線分LIとの差分が所定値以下となるように、一方のセンサ26の座標系から他方のセンサ26の座標系への変換量を算出する。そのため、第2実施形態によると、センサ間位置情報の算出精度の低下を抑制できる。
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態においては、センサ26Dの座標系からセンサ26Aの座標系への変換量も算出する点で、つまり、全てのセンサ間のセンサ間位置情報を考慮する点で、第2実施形態とは異なる。第3実施形態において第2実施形態と構成が共通する箇所は、説明を省略する。なお、第3実施形態は、第1実施形態にも適用可能である。
第3実施形態においては、センサ26Dの座標系からセンサ26Aの座標系への変換量を算出するために、センサ26Dとセンサ26Aとに同じ測定対象物B4(図示略)を検出させる。すなわち、第4実施形態においては、センサ26Dとセンサ26Aの検出範囲が重複する位置に、測定対象物Bとしての測定対象物B4を配置する。測定対象物位置取得部40は、センサ26Dとセンサ26Aに、測定対象物B4に対してレーザ光Lを照射させて、測定対象物B4からのレーザ光Lの反射光を受光させることで、同じ測定対象物B4の測定対象物位置情報を取得する。測定対象物位置取得部40は、測定対象物B4についての測定対象物位置情報として、センサ26Dに対する測定対象物B4の位置情報と、センサ26Aに対する測定対象物B4の位置情報とを算出する。
図16は、センサ間位置情報の算出を説明するための模式図である。第3実施形態においては、センサ間位置情報取得部42は、測定対象物B4の測定対象物位置情報に基づき、言い換えればセンサ26Dに対する測定対象物B4の位置情報と、センサ26Aに対する測定対象物B4の位置情報とに基づき、センサ26Dとセンサ26Aとのセンサ間位置情報を算出する。センサ間位置情報取得部42は、図16に示すように、センサ26Dとセンサ26Aとのセンサ間位置情報として、センサ26Dに対するセンサ26Aの位置及び姿勢(センサ26Dの座標系におけるセンサ26Aの位置及び姿勢)を算出する。センサ間位置情報取得部42は、センサ26Dとセンサ26Aとのセンサ間位置情報として、センサ26Aの座標系をセンサ26Dの座標系に変換するための変換量(tXA1、tYA1、θA1)を算出する。
ここで、センサ26Aの座標系におけるセンサ26Dの位置及び姿勢は、センサ26Dの座標系におけるセンサ26Dの位置及び姿勢を、変換量(tXD、tYD、θ)で変換し、さらに変換量(tXC、tYC、θ)で変換し、さらに変換量(tXB、tYB、θ)で変換することで算出される。このようにして算出したセンサ26Aの座標系におけるセンサ26Dの位置及び姿勢は、変換量(tXA1、tYA1、θA1)で変換して、センサ26Dの座標系におけるセンサ26Dの位置及び姿勢に戻した場合に、元々検出していたセンサ26Dの座標系におけるセンサ26Dの位置及び姿勢と合致することが好ましい。すなわち、各変換量を用いた座標系の変換は、恒等変換であることが好ましい。そのため、センサ間位置情報取得部42は、座標系の変換が恒等変換に近づくように、各変換量を算出して、各センサ26同士のセンサ間位置情報を算出する。例えば、センサ26Dの座標系における任意の位置及び姿勢を、座標変換によってセンサ26Aの座標系における位置及び姿勢に変換し、さらに、変換量(tXA1、tYA1、θA1)で変換してセンサ26Dの座標系に戻した場合の、位置及び姿勢を、回帰位置及び回帰姿勢とする。この場合、センサ間位置情報取得部42は、回帰位置及び回帰姿勢と、座標変換を経なかった元々のセンサ26Dの座標系における位置及び姿勢との差分が、所定値以下となるように、変換量を算出することが好ましい。以下、具体例を説明する。
ここで、センサ26同士の座標系を変換するための変換量を、(tix、tiy、θ)とする。ただし、iは1、2、3、4のいずれかである。iが1の場合の変換量(t1x、t1y、θ)が、センサ26Bの座標系をセンサ26Aの座標系に変換するための変換量(tXB、tYB、θ)に相当し、iが2の場合の変換量(t2x、t2y、θ)が、センサ26Cの座標系をセンサ26Bの座標系に変換するための変換量(tXC、tYC、θ)に相当し、iが3の場合の変換量(t3x、t3y、θ)が、センサ26Dの座標系をセンサ26Cの座標系に変換するための変換量(tXD、tYD、θ)に相当し、iが4の場合の変換量(t4x、t4y、θ)が、センサ26Aの座標系をセンサ26Dの座標系に変換するための変換量(tXA1、tYA1、θA1)に相当するとする。この場合、次の式(8)を満たす場合に、座標系の変換が恒等変換を満たすといえる。
Figure 2022122712000009
第3実施形態に係るセンサ間位置情報取得部42は、次の式(9)に示すJ(t1x、t1y、θ、t2x、・・・、θ)が最小となるような、変換量(tix、tiy、θ)を算出する。なお、式(9)の右辺の1項目(左側の項)は、第1実施形態で示したJ(t、ty、θ)の、一対のセンサ26毎の合計値である。
Figure 2022122712000010
(効果)
以上説明したように、第3実施形態に係るセンサ間位置情報取得部42は、第1センサ(例えばセンサ26D)の座標系から第2センサ(例えばセンサ26A)の座標系への変換量(例えば、変換量(tXD、tYD、θ)、変換量(tXC、tYC、θ)及び変換量(tXB、tYB、θ)を用いて、第1センサの座標系における任意の位置及び姿勢を第2センサの座標系における位置及び姿勢に変換し、第2センサの座標系から第1センサの座標系への変換量(例えば変換量(tXA1、tYA1、θA1))を用いて、第2センサの座標系における位置及び姿勢を第1センサの座標系における位置及び姿勢に変換した場合に、変換前の第1センサの座標系における位置及び姿勢と、変換後の第1センサの座標系における位置及び姿勢との差分が所定値以下となるように、第1センサの座標系から第2センサの座標系への変換量を設定する。このように、第3実施形態においては、座標系の変換が恒等変換に近づくように、変換量を算出するため、センサ間位置情報の算出精度の低下を適切に抑制できる。
(第4実施形態)
第4実施形態においては、レーザ光Lの走査方向における両端の一部の点群Mを除外して、残った点群Mを測定対象物位置情報として用いる点で、第2実施形態とは異なる。第4実施形態において、第2実施形態と構成が共通する箇所は、説明を省略する。なお、第4実施形態は、第1実施形態や第3実施形態にも適用可能である。
センサ26は、走査方向に沿って走査させながら、測定対象物Bにレーザ光Lを照射させて、点群Mを検出する。この場合、走査方向における測定対象物Bの端部付近では、検出が不安定となり、キャリブレーション精度が低下する可能性がある。それに対して、第4実施形態においては、走査方向における測定対象物Bの端部付近の点群Mを除外することで、キャリブレーション精度の低下を抑制している。以下、具体的な処理を説明する。
図17は、点群の選択方法を説明するための模式図であり、図18は、第4実施形態における点群の選択方法を説明するフローチャートである。測定対象物位置取得部40は、センサ26に、走査方向に沿った表面Baの異なる位置のそれぞれに向けて、レーザ光Lを照射させて、走査方向に沿ったそれぞれの反射位置で反射された反射光を、受光させる。従って、点群M(反射位置の座標)は、図17に示すように、走査方向SCに沿って並ぶ。言い換えれば、測定対象物位置取得部40は、点群Mが走査方向SCに並ぶように、センサ26に走査方向SCに沿って反射光を受光させる。図18に示すように、測定対象物位置取得部40は、点群Mを選択する際には、最初に、測定対象物Bの表面Baの形状に基づき、センサ26が検出した複数の点群M(反射位置の座標)のうちから、使用する点群Mを抽出する(ステップS20)。測定対象物位置取得部40は、表面Baの形状に相当する複数の点群Mを、使用する点群Mとして抽出する。図17の例では、表面Baの形状に相当しない点群M0が除外されて、表面Baの形状に相当する点群Mのみが、使用する点群Mとして抽出されている。
次に、測定対象物位置取得部40は、抽出した点群Mに対して、走査方向SC(点群Mが並ぶ方向)における両端部から順に付番する(ステップS22)。すなわち、測定対象物位置取得部40は、抽出した点群Mに対し、走査方向SCに沿った最も一方側に位置する点群M1、走査方向SCに沿った最も他方側に位置する点群M2、走査方向SCに沿った最も一方側の点群に対して他方側に隣り合う点群M3、走査方向SCに沿った最も他方側の点群に対して一方側に隣り合う点群M4、・・・の順で、それぞれの点群Mに番号を付与する。また、測定対象物位置取得部40は、抽出した点群Mに基づき、測定対象物Bの形状を推定する(ステップS24)。言い換えれば、測定対象物位置取得部40は、抽出した点群Mを結ぶ線分LIを生成する。図17の例では、点群M1~M4を含む、抽出した全体の点群Mから、線分LIを生成している。なお、ステップS24は、ステップS22の後に行われることに限られず、ステップS22、S24の処理順番は任意であってよい。
その後、測定対象物位置取得部40は、抽出した点群Mのうちの一部を、番号順に除去する(ステップS26)。測定対象物位置取得部40は、番号が若い点群Mから、すなわち走査方向SCに沿った両端側から順に、所定数だけ点群Mを除去する。ここでの所定数は、任意に設定してよい。そして、測定対象物位置取得部40は、除去されずに残った点群Mに基づき、測定対象物Bの形状を推定する(ステップS28)。言い換えれば、測定対象物位置取得部40は、除去されずに残った点群Mを結ぶ線分LIを生成する。図17の例では、点群M1~M4が除去されて、点群M1~M4以外の点群Mを結ぶ線分LIを生成している。
測定対象物位置取得部40は、除去前後で形状が閾値以上異なるかを判断する(ステップS30)。すなわち、測定対象物位置取得部40は、ステップS24で点群Mから生成した線分LIと、ステップS28で除去されずに残った点群Mから生成した線分LIとの差分が、閾値以上であるかを判断する。線分LI同士の差分とは、例えば線分LIの行列同士の差分であってもよい。また、閾値は任意に設定してよい。除去前後で形状が閾値以上異ならない場合(ステップS30;No)、すなわち線分LI同士の差分が閾値未満である場合、残っている点群Mを、測定対象物位置情報として用いる(ステップS32)。センサ間位置情報取得部42は、測定対象物位置情報として用いるとして決定された点群Mに基づき、センサ間位置情報を算出する。すなわち、測定対象物位置取得部40は、両端部の点群Mの除去前後で線分LIの変化が少ない場合には、検出が安定しない点群Mを除去できたと判断して、残った点群Mを測定対象物位置情報として用いる。一方、除去前後で形状が閾値以上異なる場合(ステップS30;Yes)、すなわち線分LI同士の差分が閾値以上である場合、ステップS26に戻り、残っている点群Mの一部を、番号が若い順に所定数除去する処理を繰り返す。この場合、測定対象物位置取得部40は、ステップS30において、前回生成した線分LIと、今回更に点群Mを除去して生成された線分LIとの差分が閾値以上かを判断する。すなわち、測定対象物位置取得部40は、両端部の点群Mを所定数ずつ除去しながら、線分LIの形状を都度比較して、線分LIの形状差が小さくなったら、その時点で残っている点群Mを、測定対象物位置情報として用いる。
(効果)
このように、第4実施形態においては、走査方向SC(所定方向)における両端の所定数の点群M(反射位置の座標)以外の点群Mに基づき、センサ間位置情報を算出する。第4実施形態によると、走査方向における測定対象物Bの端部付近の点群Mを除外することで、キャリブレーション精度の低下を抑制できる。
(第5実施形態)
次に、第5実施形態について説明する。第5実施形態は、測定対象物Bとの位置及び姿勢が既知の治具に移動体10を固定させて、キャリブレーションを実行する点で、第1実施形態とは異なる。第5実施形態において第1実施形態と構成が共通する箇所は、説明を省略する。なお、第5実施形態は、第2~第4実施形態にも適用可能である。
(治具)
図19は、第5実施形態に係る治具の模式図である。治具100は、移動体10の位置を固定するための治具である。治具100には、固定部100Aが設けられている。固定部100Aは、移動体10を治具100に対して固定する機能を有している。例えば、固定部100Aは、移動体10の一部が挿入される窪みであってよい。この場合、移動体10は、一部が窪みである固定部100A内に挿入されることで、治具100に対する位置が固定される。図19の例では、固定部100Aは、支持部25の先端が挿入可能な窪みであり、移動体10は、支持部25が窪みである固定部100A内に挿入されることで、治具100に対する位置が固定される。
このように、治具100は、移動体10を固定するため、移動体10が治具100に対して固定された状態においては、治具100の基準位置PJに対して、移動体10の基準位置Pの位置及び姿勢が固定されるといえる。基準位置PJは、図19の例では、移動体10が治具100に対して固定された状態において移動体10の基準位置Pと重なる位置となっているが、それに限られない。
また、治具100は、基準位置PJに対する測定対象物Bの位置及び姿勢が既知となっている。本実施形態では、測定対象物Bが治具100に取り付けられることで、治具100の基準位置PJに対する測定対象物Bの位置及び姿勢が固定されている。ただし、測定対象物Bは、基準位置PJに対する位置及び姿勢が既知であれば、治具100に取り付けられていることに限られない。また、測定対象物Bの位置及び姿勢は、治具100の基準位置PJに対して固定されていることに限られず、治具100の基準位置PJに対して可変であってもよい。例えば、図19に示すように、測定対象物Bは、レール102を介して治具100に取り付けられており、レール102に沿って移動可能となっていてもよい。この場合例えば、レール102には、レール102の延在方向に沿って複数のストッパが設けられており、測定対象物Bは、いずれかのストッパによって位置が固定されることが好ましい。ストッパの位置及び姿勢は、治具100の基準位置PJに対して固定されているため、測定対象物Bを移動させたとしても、いずれかのストッパで位置を固定した状態でキャリブレーションを実行することで、基準位置PJに対する測定対象物Bの位置及び姿勢が既知のまま、キャリブレーションを実行できる。
なお、以上説明した治具100の構造や、治具100に対する測定対象物Bの取り付け状態は、一例である。例えば、治具100は、基準位置PJに対して、移動体10の基準位置Pの位置及び姿勢が固定可能なものであれば、任意の構造であってもよい。また、治具100に対する測定対象物Bの取り付け状態は、基準位置PJに対する測定対象物Bの位置及び姿勢が既知となる任意のものであってよい。
(キャリブレーション処理)
図20は、第5実施形態に係るキャリブレーション処理のフローを説明するフローチャートである。図20に示すように、第5実施形態においては、最初に、移動体10の基準位置Pを、治具100の基準位置PJに対して固定する(ステップS40)。この場合、例えば移動体10を治具100の固定部100Aで固定することで、移動体10の基準位置Pの位置及び姿勢を、治具100の基準位置PJに対して固定させる。
次に、キャリブレーション装置30は、移動体10の基準位置Pが治具100の基準位置PJに対して固定された状態で、測定対象物位置取得部40により、センサ26に測定対象物Bの位置情報(測定対象物位置情報)を検出させる(ステップS42)。測定対象物位置取得部40は、センサ26の座標系における測定対象物Bの位置情報を、測定対象物位置情報として取得する。測定対象物位置取得部40は、移動体10の基準位置Pが治具100の基準位置PJに対して固定された状態で、センサ26に測定対象物Bへ向けてレーザ光Lを照射させ、測定対象物Bからの反射光を受光させて、測定対象物位置情報を算出する。この処理は第1実施形態から第4実施形態と同様である。
次に、キャリブレーション装置30は、センサ位置情報取得部46により、移動体10の基準位置Pに対する測定対象物Bの位置情報と、センサ26に対する測定対象物Bの位置情報である測定対象物位置情報とに基づき、移動体10の基準位置Pに対するセンサ26の位置及び姿勢の情報であるセンサ位置情報を取得する(ステップS44)。
以下、ステップS44の処理を具体的に説明する。ここで、移動体10の基準位置Pに対する測定対象物Bの位置は、治具100の基準位置PJに対する移動体10の基準位置Pの位置と、基準位置PJに対する測定対象物Bの位置とから算出できる。移動体10が治具100に対して固定されたら、治具100の基準位置PJに対する移動体10の基準位置Pの位置は、一義に定まるため、予め算出できる。また、基準位置PJに対する測定対象物Bの位置も、既知であるため、予め算出できる。そのため、移動体10の基準位置Pに対する測定対象物Bの位置も、予め算出可能といえる。センサ位置情報取得部46は、予め算出された、移動体10の基準位置Pに対する測定対象物Bの位置情報を、取得する。センサ位置情報取得部46は、移動体10の基準位置Pに対する測定対象物Bの位置情報として、移動体10の座標系における測定対象物Bの位置情報を取得するともいえる。
センサ位置情報取得部46は、移動体10の座標系における測定対象物Bの位置情報と、センサ26の座標系における測定対象物Bの位置情報(測定対象物位置情報)とから、移動体10の座標系におけるセンサ26の位置及び姿勢を、センサ位置情報として算出する。言い換えれば、センサ位置情報取得部46は、センサ26の座標系を移動体10の座標系に変換するための変換量を、センサ位置情報として算出する。
このように、第5実施形態によれば、移動体10の位置及び姿勢を治具100に対して固定した状態でキャリブレーションを実行するため、移動体10の座標系における測定対象物Bの位置が既知となる。そのため、センサ26の座標系における測定対象物Bの位置情報を検出させるだけで、センサ位置情報を算出してセンサ26のキャリブレーションを行うことができる。すなわち、第3実施形態では、治具100を用いてキャリブレーションを実行するため、第1実施形態のように設計情報を用いた基準センサ位置情報を用いる必要がなくなる。第5実施形態によると、設計情報を用いる必要がないため、例えば設計情報と実際の状態がずれている場合などでも、センサ位置情報の算出精度の低下を抑制できる。
また、第5実施形態においては、全てのセンサ26に、治具100に対して位置が固定された測定対象物Bを検出させてよい。この場合、全てのセンサ26について、図20で説明した処理を実行することで、センサ26毎にセンサ位置情報を直接算出することが可能となる。この場合、第1~第4実施形態のような、センサ26間のキャリブレーション、すなわちセンサ間位置情報の算出が不要となる。なお、複数のセンサ26に治具100に対して位置が固定された測定対象物Bを検出させる場合には、複数のセンサ26に、同じ測定対象物Bを検出させてもよいし、治具100に対して位置が固定された異なる測定対象物Bを検出させてもよい。
ただし、第5実施形態においては、少なくとも一部のセンサ26に、治具100に対して位置が固定された測定対象物Bを検出させればよい。この場合、治具100に対して位置が固定された測定対象物Bを検出させなかったセンサ26に対しては、第1~第4実施形態と同様の方法で、センサ位置情報を算出すればよい。すなわちこの場合、図20で説明した処理によってセンサ位置情報が算出されたセンサ26と、他のセンサ26とに、位置及び姿勢が未知の測定対象物B(対象物)を検出させて、センサ間位置情報を算出し、そのセンサ間位置情報に基づき、他のセンサ26のセンサ位置情報を算出できる。
(効果)
以上説明したように、本開示に係るキャリブレーション方法は、移動体10に備えられて周囲を検出する複数のセンサ26のキャリブレーションを行う。本キャリブレーション方法は、複数のセンサ26のうちの少なくとも2つのセンサ26に、同じ測定対象物Bの位置情報(測定対象物位置情報)を検出させるステップと、同じ測定対象物Bの位置情報に基づき、センサ26同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、移動体10の設計情報に基づき、移動体10の基準位置Pに対する、複数のセンサ26のうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得するステップと、センサ間位置情報及び基準センサ位置情報に基づき、移動体10の基準位置Pに対する、それぞれのセンサ26の位置及び姿勢の情報であるセンサ位置情報を取得するステップと、を含む。本方法によると、少なくとも2つのセンサ26に同じ測定対象物Bを検出させるだけで、基準位置Pに対する各センサ26の相対位置及び姿勢を算出することが可能となる。そのため、本方法によると、一対のセンサ26の検出範囲に測定対象物Bがあれば、各センサ26のキャリブレーションが可能となるため、作業者の負荷を低減できる。また、本方法によると、キャリブレーション精度が作業者の熟練度に依存する度合いを減らして、キャリブレーション精度の低下も抑制できる。
基準センサ位置情報を取得するステップにおいては、基準センサと他のセンサ26とのセンサ間位置情報にも基づき、基準センサ位置情報を取得する。本方法によると、移動体10の設計情報に加えて、センサ間位置情報にも基づき基準センサ位置情報を取得するため、キャリブレーション精度の低下が抑制できる。
測定対象物Bの位置情報を検出させるステップにおいては、測定対象物Bで反射された光をセンサ26に検出させ、センサ26が検出した光の情報に基づき、センサ26の座標系における反射位置の座標を算出し、反射位置の座標に基づき、測定対象物Bの位置情報を算出する。本方法によると、測定対象物Bの反射位置の座標に基づき測定対象物Bの位置情報を算出するため、センサ26のキャリブレーションを適切に実行できる。
また、本開示では、測定対象物Bの形状が既知であり、センサ間位置情報を取得するステップにおいては、測定対象物Bの形状に基づき、センサ間位置情報を算出するために用いる反射位置の座標(点群M)を選択する。本方法によると、センサ間位置情報の算出精度の低下を抑制できる。
センサ間位置情報を取得するステップにおいては、第1センサ(例えばセンサ26B)によって検出された第1センサの座標系における反射位置の第1座標を第2センサ(例えばセンサ26B)の座標系に変換した第1変換座標と、第2センサによって検出された第2センサの座標系における反射位置の第2座標との差分が、所定値以下となるように、第1センサの座標系から前記第2センサの座標系への変換量を設定する。本方法によると、第1変換座標と第2座標との差分が所定値以下となるように座標系の変換量を設定するため、センサ26のキャリブレーション精度の低下を抑制できる。
測定対象物Bの位置情報を検出させるステップにおいては、第1センサ(例えばセンサ26B)と第2センサ(例えばセンサ26A)とに、反射位置の座標を複数回検出させる。そして、センサ間位置情報を取得するステップにおいては、それぞれの第1変換座標と第2座標との差分に基づいて、変換量を設定する。本方法によると、複数のデータを用いて変換量を設定するため、センサ26のキャリブレーション精度の低下を抑制できる。
センサ間位置情報を取得するステップにおいては、第1センサ(例えばセンサ26D)の座標系から第2センサ(例えばセンサ26A)の座標系への変換量を用いて、第1センサの座標系における任意の位置及び姿勢を、第2センサの座標系における位置及び姿勢に変換し、第2センサの座標系から第1センサの座標系への変換量を用いて、第2センサの座標系における位置及び姿勢を第1センサの座標系における位置及び姿勢に変換した場合に、変換前の第1センサの座標系における位置及び姿勢と、変換後の第1センサの座標系における位置及び姿勢との差分が所定値以下となるように、第1センサの座標系から第2センサの座標系への変換量を設定する。本方法によると、座標系の変換が恒等変換に近づくように変換量を設定するため、センサ26のキャリブレーション精度の低下を抑制できる。
測定対象物Bの位置情報を検出させるステップにおいては、反射位置の座標を示す点群Mが所定方向(走査方法SC)に並ぶように、センサ26に所定方向に沿って光を検出させる。また、センサ間位置情報を取得するステップにおいては、所定方向における両端の所定数の点群M(反射位置の座標)以外の反射位置の座標に基づき、センサ間位置情報を算出する。本方法によると、走査方向における測定対象物Bの端部付近の点群Mを除外することで、キャリブレーション精度の低下を抑制できる。
センサ間位置情報を取得するステップにおいては、両端の座標を除去する前の点群Mに基づいて特定された測定対象物Bの形状(線分LI)と、両端の座標を除去した後の点群Mに基づいて特定された測定対象物Bの形状(線分LI)との差が、閾値以上であるかを判定する。そして、差が閾値以上である場合には、両端の座標の除去前後で特定された測定対象物Bの形状(線分LI)の差が閾値未満となるまで、両端の座標を除去した後の点群Mからさらに両端の座標を除去する処理を繰り返し、差が閾値未満となった際に残っている点群Mに基づき、センサ間位置情報を算出する。本方法によると、特定される形状が安定するまで点群Mの除去を行うため、精度が低い点群Mを適切に除去して、キャリブレーション精度の低下を抑制できる。
本開示に係るプログラムは、移動体10に備えられて周囲を検出する複数のセンサ26のキャリブレーション方法をコンピュータに実行させる。本プログラムは、複数のセンサ26のうちの少なくとも2つのセンサ26に、同じ測定対象物Bの位置情報(測定対象物位置情報)を検出させるステップと、同じ測定対象物Bの位置情報に基づき、センサ26同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、移動体10の設計情報に基づき、移動体10の基準位置Pに対する、複数のセンサ26のうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得するステップと、センサ間位置情報及び基準センサ位置情報に基づき、移動体10の基準位置Pに対する、それぞれのセンサ26の位置及び姿勢の情報であるセンサ位置情報を取得するステップと、を、コンピュータに実行させる。本プログラムによると、作業者の負荷を低減できる。
本開示に係るキャリブレーション装置30は、移動体10に備えられて周囲を検出する複数のセンサ26のキャリブレーションを実行するものであり、測定対象物位置取得部40と、センサ間位置情報取得部42と、基準センサ位置情報取得部44と、センサ位置情報取得部46とを含む。測定対象物位置取得部40は、複数のセンサ26のうちの少なくとも2つのセンサ26に、同じ測定対象物Bの位置情報(測定対象物位置情報)を検出させる。センサ間位置情報取得部42は、同じ測定対象物Bの位置情報に基づき、センサ26同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得する。基準センサ位置情報取得部44は、移動体10の設計情報に基づき、移動体10の基準位置Pに対する、複数のセンサ26のうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得する。センサ位置情報取得部46は、センサ間位置情報及び基準センサ位置情報に基づき、移動体10の基準位置Pに対する、それぞれのセンサ26の位置及び姿勢の情報であるセンサ位置情報を取得する。本装置によると、作業者の負荷を低減できる。
本開示に係るキャリブレーション方法は、移動体10に備えられて周囲を検出するセンサ26のキャリブレーション方法である。本キャリブレーション方法は、治具10の基準位置PJに対して、移動体10の基準位置Pの位置及び姿勢を固定させるステップと、センサ26に、治具100の基準位置PJに対する位置及び姿勢が既知である測定対象物Bの位置情報を検出させるステップと、測定対象物Bの位置情報の検出結果と、移動体10の基準位置に対する測定対象物Bの位置情報とに基づき、移動体10の基準位置Pに対する、センサ26の位置及び姿勢の情報であるセンサ位置情報を取得するステップと、を含む。本方法によると、作業者の負荷を低減できる。
また、移動体10は複数のセンサ26を備えており、本開示に係るキャリブレーション方法は、複数のセンサ26のうちの少なくとも2つのセンサ26に、同じ対象物の位置情報を検出させるステップと、同じ対象物の位置情報に基づき、センサ26同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、をさらに含む。また、センサ位置情報を取得するステップにおいては、測定対象物Bの位置情報の検出結果と、センサ間位置情報と、移動体10の基準位置Pに対する測定対象物Bの位置情報とに基づき、それぞれのセンサ26についてのセンサ位置情報を取得する。本方法によると、作業者の負荷を低減できる。
以上、本発明の実施形態を説明したが、この実施形態の内容により実施形態が限定されるものではない。また、前述した構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。さらに、前述した構成要素は適宜組み合わせることが可能である。さらに、前述した実施形態の要旨を逸脱しない範囲で構成要素の種々の省略、置換又は変更を行うことができる。
10 移動体
26、26A、26B、26C、26D センサ
30 キャリブレーション装置
40 測定対象物位置取得部
42 センサ間位置情報取得部
44 基準センサ位置情報取得部
46 センサ位置情報取得部
B 測定対象物
P 基準位置

Claims (13)

  1. 移動体に備えられて周囲を検出する複数のセンサのキャリブレーション方法であって、
    前記複数のセンサのうちの少なくとも2つのセンサに、同じ測定対象物の位置情報を検出させるステップと、
    前記同じ測定対象物の位置情報に基づき、前記センサ同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、
    前記移動体の設計情報に基づき、前記移動体の基準位置に対する、前記複数のセンサのうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得するステップと、
    前記センサ間位置情報及び前記基準センサ位置情報に基づき、前記移動体の基準位置に対する、それぞれの前記センサの位置及び姿勢の情報であるセンサ位置情報を取得するステップと、
    を含む、キャリブレーション方法。
  2. 前記基準センサ位置情報を取得するステップにおいては、前記基準センサと他の前記センサとの前記センサ間位置情報にも基づき、前記基準センサ位置情報を取得する、請求項1に記載のキャリブレーション方法。
  3. 前記測定対象物の位置情報を検出させるステップにおいては、前記測定対象物で反射された光を前記センサに検出させ、前記センサが検出した光の情報に基づき、前記センサの座標系における、前記測定対象物の前記光が反射された箇所である反射位置の座標を算出し、前記反射位置の座標に基づき、前記測定対象物の位置情報を算出する、請求項1又は請求項2に記載のキャリブレーション方法。
  4. 前記測定対象物は形状が既知であり、
    前記センサ間位置情報を取得するステップにおいては、前記測定対象物の形状に基づき、前記センサ間位置情報を算出するために用いる前記反射位置の座標を選択する、請求項3に記載のキャリブレーション方法。
  5. 前記センサ間位置情報を取得するステップにおいては、第1センサによって検出された前記第1センサの座標系における前記反射位置の第1座標を第2センサの座標系に変換した第1変換座標と、前記第2センサによって検出された前記第2センサの座標系における前記反射位置の第2座標との差分が、所定値以下となるように、前記第1センサの座標系から前記第2センサの座標系への変換量を設定する、請求項3又は請求項4に記載のキャリブレーション方法。
  6. 前記測定対象物の位置情報を検出させるステップにおいては、前記第1センサと前記第2センサとに、前記反射位置の座標を複数回検出させ、
    前記センサ間位置情報を取得するステップにおいては、それぞれの前記第1変換座標と前記第2座標との差分に基づいて、前記変換量を設定する、請求項5に記載のキャリブレーション方法。
  7. 前記センサ間位置情報を取得するステップにおいては、前記第1センサの座標系から前記第2センサの座標系への変換量を用いて、前記第1センサの座標系における任意の位置及び姿勢を前記第2センサの座標系における位置及び姿勢に変換し、前記第2センサの座標系から前記第1センサの座標系への変換量を用いて、前記第2センサの座標系における位置及び姿勢を前記第1センサの座標系における位置及び姿勢に変換した場合に、変換前の前記第1センサの座標系における位置及び姿勢と、変換後の前記第1センサの座標系における位置及び姿勢との差分が所定値以下となるように、前記第1センサの座標系から前記第2センサの座標系への変換量を設定する、請求項5又は請求項6に記載のキャリブレーション方法。
  8. 前記測定対象物の位置情報を検出させるステップにおいては、前記反射位置の座標を示す点群が所定方向に並ぶように、前記センサに前記所定方向に沿って光を検出させ、
    前記センサ間位置情報を取得するステップにおいては、前記所定方向における両端の所定数の前記反射位置の座標以外の前記反射位置の座標に基づき、前記センサ間位置情報を算出する、請求項3から請求項7のいずれか1項に記載のキャリブレーション方法。
  9. 前記センサ間位置情報を取得するステップにおいては、
    両端の座標を除去する前の点群に基づいて特定された前記測定対象物の形状と、両端の座標を除去した後の点群に基づいて特定された前記測定対象物の形状との差が、閾値以上であるかを判定し、
    前記差が閾値以上である場合には、両端の座標の除去前後で特定された前記測定対象物の形状の差が閾値未満となるまで、両端の座標を除去した後の点群からさらに両端の座標を除去する処理を繰り返し、前記差が閾値未満となった際に残っている点群に基づき、前記センサ間位置情報を算出する、請求項8に記載のキャリブレーション方法。
  10. 移動体に備えられて周囲を検出する複数のセンサのキャリブレーション方法をコンピュータに実行させるプログラムであって、
    前記複数のセンサのうちの少なくとも2つのセンサに、同じ測定対象物の位置情報を検出させるステップと、
    前記同じ測定対象物の位置情報に基づき、前記センサ同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、
    前記移動体の設計情報に基づき、前記移動体の基準位置に対する、前記複数のセンサのうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得するステップと、
    前記センサ間位置情報及び前記基準センサ位置情報に基づき、前記移動体の基準位置に対する、それぞれの前記センサの位置及び姿勢の情報であるセンサ位置情報を取得するステップと、
    を、コンピュータに実行させる、
    プログラム。
  11. 移動体に備えられて周囲を検出する複数のセンサのキャリブレーション装置であって、
    前記複数のセンサのうちの少なくとも2つのセンサに、同じ測定対象物の位置情報を検出させる測定対象物位置取得部と、
    前記同じ測定対象物の位置情報に基づき、前記センサ同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するセンサ間位置情報取得部と、
    前記移動体の設計情報に基づき、前記移動体の基準位置に対する、前記複数のセンサのうちの基準となるセンサである基準センサの位置及び姿勢の情報である基準センサ位置情報を取得する基準センサ位置情報取得部と、
    前記センサ間位置情報及び前記基準センサ位置情報に基づき、前記移動体の基準位置に対する、それぞれの前記センサの位置及び姿勢の情報であるセンサ位置情報を取得するセンサ位置情報取得部と、
    を含む、キャリブレーション装置。
  12. 移動体に備えられて周囲を検出するセンサのキャリブレーション方法であって、
    治具の基準位置に対して、前記移動体の基準位置の位置及び姿勢を固定させるステップと、
    前記センサに、前記治具の基準位置に対する位置及び姿勢が既知である測定対象物の位置情報を検出させるステップと、
    前記測定対象物の位置情報の検出結果と、前記移動体の基準位置に対する前記測定対象物の位置情報とに基づき、前記移動体の基準位置に対する、前記センサの位置及び姿勢の情報であるセンサ位置情報を取得するステップと、
    を含む、キャリブレーション方法。
  13. 前記移動体は、複数の前記センサを備えており、
    前記複数のセンサのうちの少なくとも2つのセンサに、同じ対象物の位置情報を検出させるステップと、
    前記同じ対象物の位置情報に基づき、前記センサ同士の相対位置及び相対姿勢の情報であるセンサ間位置情報を取得するステップと、をさらに含み、
    前記センサ位置情報を取得するステップにおいては、前記測定対象物の位置情報の検出結果と、前記センサ間位置情報と、前記移動体の基準位置に対する前記測定対象物の位置情報とに基づき、それぞれの前記センサについての前記センサ位置情報を取得する、請求項12に記載のキャリブレーション方法。
JP2021020135A 2021-02-10 2021-02-10 キャリブレーション方法、プログラム、及びキャリブレーション装置 Active JP7209755B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021020135A JP7209755B2 (ja) 2021-02-10 2021-02-10 キャリブレーション方法、プログラム、及びキャリブレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021020135A JP7209755B2 (ja) 2021-02-10 2021-02-10 キャリブレーション方法、プログラム、及びキャリブレーション装置

Publications (2)

Publication Number Publication Date
JP2022122712A true JP2022122712A (ja) 2022-08-23
JP7209755B2 JP7209755B2 (ja) 2023-01-20

Family

ID=82939268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021020135A Active JP7209755B2 (ja) 2021-02-10 2021-02-10 キャリブレーション方法、プログラム、及びキャリブレーション装置

Country Status (1)

Country Link
JP (1) JP7209755B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012253758A (ja) * 2011-06-01 2012-12-20 Harman Becker Automotive Systems Gmbh 車両視覚システムの較正方法および車両視覚システム
JP2018017617A (ja) * 2016-07-28 2018-02-01 株式会社神戸製鋼所 建設機械
CN109308714A (zh) * 2018-08-29 2019-02-05 清华大学苏州汽车研究院(吴江) 基于分类惩罚的摄像头和激光雷达信息配准方法
WO2019082700A1 (ja) * 2017-10-26 2019-05-02 パイオニア株式会社 制御装置、制御方法、プログラム及び記憶媒体
WO2020003497A1 (ja) * 2018-06-29 2020-01-02 株式会社小松製作所 撮像装置の校正装置、監視装置、作業機械および校正方法
KR20200139407A (ko) * 2019-06-04 2020-12-14 현대모비스 주식회사 라이다 센서의 신뢰성에 따른 차량 제어 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012253758A (ja) * 2011-06-01 2012-12-20 Harman Becker Automotive Systems Gmbh 車両視覚システムの較正方法および車両視覚システム
JP2018017617A (ja) * 2016-07-28 2018-02-01 株式会社神戸製鋼所 建設機械
WO2019082700A1 (ja) * 2017-10-26 2019-05-02 パイオニア株式会社 制御装置、制御方法、プログラム及び記憶媒体
WO2020003497A1 (ja) * 2018-06-29 2020-01-02 株式会社小松製作所 撮像装置の校正装置、監視装置、作業機械および校正方法
CN109308714A (zh) * 2018-08-29 2019-02-05 清华大学苏州汽车研究院(吴江) 基于分类惩罚的摄像头和激光雷达信息配准方法
KR20200139407A (ko) * 2019-06-04 2020-12-14 현대모비스 주식회사 라이다 센서의 신뢰성에 따른 차량 제어 장치 및 방법

Also Published As

Publication number Publication date
JP7209755B2 (ja) 2023-01-20

Similar Documents

Publication Publication Date Title
US10203402B2 (en) Method of error correction for 3D imaging device
CN111742241B (zh) 光测距装置
US9046599B2 (en) Object detection apparatus and method
CN107710094B (zh) 自主车辆运行期间的在线校准检查
US8917942B2 (en) Information processing apparatus, information processing method, and program
CN108562908A (zh) 激光导航混合定位方法、机器人导航方法及激光导航系统
JP2006322937A (ja) オブジェクトの表面の3d座標を判定する方法
US20140003671A1 (en) Object recognition device
JP2010271166A (ja) 障害物検出装置
KR20170001148A (ko) 레이저 스캐너를 이용한 센서 중심 좌표계의 점유 격자 지도를 작성하는 시스템 및 방법
JP2011027598A (ja) 環境認識装置及びそれを備えた移動体
JP7209755B2 (ja) キャリブレーション方法、プログラム、及びキャリブレーション装置
JP5874252B2 (ja) 対象物との相対位置計測方法と装置
JP5763986B2 (ja) 移動体および移動体の制御方法
KR20140040469A (ko) 스캐너 보정 시스템 및 그 보정 방법
JP2012008114A (ja) 測定装置、位置測定システム、測定方法、較正方法及びプログラム
JP6825093B2 (ja) 動力車両のための検知装置、運転支援システム、動力車両、及び方法
US9062975B2 (en) Carrier
US20230280451A1 (en) Apparatus and method for calibrating three-dimensional scanner and refining point cloud data
US11162776B2 (en) Measuring device
CN116685866A (zh) 用于校准激光扫描仪的方法和技术设施
CN109752730B (zh) 一种基于v槽检测的激光定位方法及系统
CN113050103A (zh) 一种地面检测方法、装置、电子设备、系统及介质
JP6539958B2 (ja) 搬送車
JP2008180646A (ja) 形状測定装置および形状測定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230110

R150 Certificate of patent or registration of utility model

Ref document number: 7209755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150