JP2017042897A - ロボットシステム、ロボット、及びロボット制御装置 - Google Patents
ロボットシステム、ロボット、及びロボット制御装置 Download PDFInfo
- Publication number
- JP2017042897A JP2017042897A JP2015169819A JP2015169819A JP2017042897A JP 2017042897 A JP2017042897 A JP 2017042897A JP 2015169819 A JP2015169819 A JP 2015169819A JP 2015169819 A JP2015169819 A JP 2015169819A JP 2017042897 A JP2017042897 A JP 2017042897A
- Authority
- JP
- Japan
- Prior art keywords
- point
- feature
- scene
- point group
- model
- 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.)
- Pending
Links
Images
Abstract
【課題】シーン点群から特徴点を検出するために要する時間を短縮することができるロボットシステムを提供すること。
【解決手段】ロボットシステムは、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた前記領域に含まれる前記シーン点群の一部から特徴点をシーン特徴点として検出するロボット制御装置と、ロボット制御装置に制御されるロボットと、を備える。
【選択図】図3
【解決手段】ロボットシステムは、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた前記領域に含まれる前記シーン点群の一部から特徴点をシーン特徴点として検出するロボット制御装置と、ロボット制御装置に制御されるロボットと、を備える。
【選択図】図3
Description
この発明は、ロボットシステム、ロボット、及びロボット制御装置に関する。
対象物の三次元情報に基づいてロボットに対象物を把持させる技術の研究や開発が行われている。
これに関し、対象物の三次元情報である三次元点群の全体から特徴点を検出し、検出した特徴点と、モデルの三次元点群から検出された特徴点とに基づいて、対象物の位置及び姿勢を算出する方法が知られている(特許文献1参照)。
しかしながら、この方法では、対象物の三次元点群から特徴点を検出する際、特徴点が検出されない領域や、検出される特徴点が少ない領域に対する特徴点の検出処理を抑制することが考慮されていなかったため、対象物の三次元点群から特徴点を検出するために要する時間を短縮することが困難な場合があり、その結果、対象物の位置及び姿勢の算出に要する時間を短縮することが困難な場合があった。
上記課題の少なくとも一つを解決するために本発明の一態様は、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた前記領域に含まれる前記シーン点群の一部から特徴点をシーン特徴点として検出するロボット制御装置と、前記ロボット制御装置に制御されるロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれるシーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボットシステムは、シーン点群から特徴点を検出するために要する時間を短縮することができる。
この構成により、ロボットシステムは、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれるシーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボットシステムは、シーン点群から特徴点を検出するために要する時間を短縮することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記ロボット制御装置は、前記シーン特徴点に基づいて、前記対象物のモデルの点群であるモデル点群に対応する部分点群を前記一部から検出する、構成が用いられてもよい。
この構成により、ロボットシステムは、シーン特徴点に基づいて、モデル点群に対応する部分点群をシーン点群の一部から検出する。これにより、ロボットシステムは、モデル点群に対応する部分点群をシーン点群から検出するために要する時間を短縮することができる。
この構成により、ロボットシステムは、シーン特徴点に基づいて、モデル点群に対応する部分点群をシーン点群の一部から検出する。これにより、ロボットシステムは、モデル点群に対応する部分点群をシーン点群から検出するために要する時間を短縮することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記ロボット制御装置は、前記シーン特徴点に基づいて、前記一部から前記部分点群を抽出できなかった場合、前記シーン点群の点のうちの前記第1点とは異なる点である第2点の特徴量に対応付けられた前記領域に含まれる前記一部から前記シーン特徴点を検出する、構成が用いられてもよい。
この構成により、ロボットシステムは、シーン特徴点に基づいて、シーン点群の一部から部分点群を抽出できなかった場合、シーン点群の点のうちの第1点とは異なる点である第2点の特徴量に対応付けられた領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボットシステムは、より確実にシーン点群の一部からシーン特徴点を検出することができる。
この構成により、ロボットシステムは、シーン特徴点に基づいて、シーン点群の一部から部分点群を抽出できなかった場合、シーン点群の点のうちの第1点とは異なる点である第2点の特徴量に対応付けられた領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボットシステムは、より確実にシーン点群の一部からシーン特徴点を検出することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記ロボット制御装置は、前記シーン特徴点に基づいて、前記シーン点群の中から前記部分点群を検出できた場合、検出した当該部分点群に基づいて得られる前記対象物の位置及び姿勢に基づいて前記対象物に対して所定の作業を前記ロボットに行わせる、構成が用いられてもよい。
この構成により、ロボットシステムは、シーン特徴点に基づいて、シーン点群の中から部分点群を検出できた場合、検出した当該部分点群に基づいて得られる対象物の位置及び姿勢に基づいて対象物に対して所定の作業をロボットに行わせる。これにより、ロボットシステムは、対象物に対してロボットに所定の作業を行わせるために要する時間を短縮することができる。
この構成により、ロボットシステムは、シーン特徴点に基づいて、シーン点群の中から部分点群を検出できた場合、検出した当該部分点群に基づいて得られる対象物の位置及び姿勢に基づいて対象物に対して所定の作業をロボットに行わせる。これにより、ロボットシステムは、対象物に対してロボットに所定の作業を行わせるために要する時間を短縮することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記領域は、2以上の部分領域を含んでおり、前記部分領域には、前記シーン点群から前記シーン特徴点を検出する優先順位が決められており、前記ロボット制御装置は、所定の第1条件が満たされるまで前記優先順位に基づいて選択された前記部分領域に含まれる前記一部から前記シーン特徴点を検出する、構成が用いられてもよい。
この構成により、ロボットシステムは、所定の第1条件が満たされるまで優先順位に基づいて選択された部分領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボットシステムは、シーン特徴点を検出するために要する時間を、より確実に短縮することができる。
この構成により、ロボットシステムは、所定の第1条件が満たされるまで優先順位に基づいて選択された部分領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボットシステムは、シーン特徴点を検出するために要する時間を、より確実に短縮することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記部分領域の少なくとも1つには、特徴点が含まれており、前記優先順位は、前記部分領域に含まれる特徴点の数に応じて決められている、構成が用いられてもよい。
この構成により、ロボットシステムは、所定の第1条件が満たされるまで、部分領域に含まれる特徴点の数に応じて決められている優先順位に基づいて選択された部分領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボットシステムは、部分領域に含まれる特徴点の数に応じて決められている優先順位に基づいて、シーン特徴点を検出するために要する時間を短縮することができる。
この構成により、ロボットシステムは、所定の第1条件が満たされるまで、部分領域に含まれる特徴点の数に応じて決められている優先順位に基づいて選択された部分領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボットシステムは、部分領域に含まれる特徴点の数に応じて決められている優先順位に基づいて、シーン特徴点を検出するために要する時間を短縮することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記ロボット制御装置は、前記対象物のモデルの点群であるモデル点群の点の特徴量に対応付けられた第1分布であって、前記モデル点群から検出された特徴点であるモデル特徴点の前記モデル点群上における前記第1分布と、当該特徴量と類似する特徴量に対応付けられた第2分布であって、前記モデル特徴点の前記モデル点群上における前記第2分布とに基づいて、前記領域を示す情報を生成する、構成が用いられてもよい。
この構成により、ロボットシステムは、モデル点群の点の特徴量に対応付けられた第1分布であって、モデル特徴点のモデル点群上における第1分布と、当該特徴量と類似する特徴量に対応付けられた第2分布であって、モデル特徴点のモデル点群上における第2分布とに基づいて、特徴量に対応付けられた領域を示す情報を生成する。これにより、ロボットシステムは、特徴量に対応付けられた領域を示す情報を生成し、生成した当該領域を示す情報に基づいて、シーン点群から特徴点を検出するために要する時間を短縮することができる。
この構成により、ロボットシステムは、モデル点群の点の特徴量に対応付けられた第1分布であって、モデル特徴点のモデル点群上における第1分布と、当該特徴量と類似する特徴量に対応付けられた第2分布であって、モデル特徴点のモデル点群上における第2分布とに基づいて、特徴量に対応付けられた領域を示す情報を生成する。これにより、ロボットシステムは、特徴量に対応付けられた領域を示す情報を生成し、生成した当該領域を示す情報に基づいて、シーン点群から特徴点を検出するために要する時間を短縮することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記ロボット制御装置は、前記シーン点群から前記シーン特徴点を検出する方法と同じ方法によって前記モデル点群から前記モデル特徴点を検出し、前記シーン点群の点の特徴量を得る方法と同じ方法によって前記モデル点群の点の特徴量を得て、検出した前記モデル特徴点と、得られた当該特徴量とに基づいて、前記第1分布及び前記第2分布を生成する、構成が用いられてもよい。
この構成により、ロボットシステムは、シーン点群からシーン特徴点を検出する方法と同じ方法によってモデル点群からモデル特徴点を検出し、シーン点群の点の特徴量を得る方法と同じ方法によってモデル点群の点の特徴量を得て、検出した当該モデル特徴点と、得られた当該特徴量とに基づいて、第1分布及び第2分布を生成する。これにより、ロボットシステムは、検出した当該モデル特徴点と、算出した当該特徴量とに基づいて、シーン点群から特徴点を検出するために要する時間を短縮することができる。
この構成により、ロボットシステムは、シーン点群からシーン特徴点を検出する方法と同じ方法によってモデル点群からモデル特徴点を検出し、シーン点群の点の特徴量を得る方法と同じ方法によってモデル点群の点の特徴量を得て、検出した当該モデル特徴点と、得られた当該特徴量とに基づいて、第1分布及び第2分布を生成する。これにより、ロボットシステムは、検出した当該モデル特徴点と、算出した当該特徴量とに基づいて、シーン点群から特徴点を検出するために要する時間を短縮することができる。
また、本発明の他の態様は、ロボットシステムにおいて、前記点群は、三次元点群である、構成が用いられてもよい。
この構成により、ロボットシステムは、特徴量に対応付けられた領域を示す情報に基づいて対象物の三次元点群である三次元シーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれる三次元シーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボットシステムは、三次元シーン点群から特徴点を検出するために要する時間を短縮することができる。
この構成により、ロボットシステムは、特徴量に対応付けられた領域を示す情報に基づいて対象物の三次元点群である三次元シーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれる三次元シーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボットシステムは、三次元シーン点群から特徴点を検出するために要する時間を短縮することができる。
また、本発明の他の態様は、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた前記領域に含まれる前記シーン点群の一部から特徴点をシーン特徴点として検出する、ロボットである。
この構成により、ロボットは、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれるシーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボットは、シーン点群から特徴点を検出するために要する時間を短縮することができる。
この構成により、ロボットは、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれるシーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボットは、シーン点群から特徴点を検出するために要する時間を短縮することができる。
また、本発明の他の態様は、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた前記領域に含まれる前記シーン点群の一部から特徴点をシーン特徴点として検出する、ロボット制御装置である。
この構成により、ロボット制御装置は、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれるシーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボット制御装置は、シーン点群から特徴点を検出するために要する時間を短縮することができる。
この構成により、ロボット制御装置は、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれるシーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボット制御装置は、シーン点群から特徴点を検出するために要する時間を短縮することができる。
以上により、ロボットシステム、ロボット、及びロボット制御装置は、特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた当該領域に含まれるシーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボットシステム、ロボット、及びロボット制御装置は、シーン点群から特徴点を検出するために要する時間を短縮することができる。
<実施形態>
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボット20の一例を示す構成図である。
まず、ロボット20の構成について説明する。
以下、本発明の実施形態について、図面を参照して説明する。図1は、本実施形態に係るロボット20の一例を示す構成図である。
まず、ロボット20の構成について説明する。
ロボット20は、第1アームと第2アームを備える双腕ロボットである。双腕ロボットは、この一例における第1アームと第2アームのような2本のアーム(腕)を備えるロボットである。なお、ロボット20は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットは、1本のアームを備えるロボットである。例えば、単腕ロボットは、この一例における第1アームと第2アームのいずれか一方を備える。
また、ロボット20は、第1撮像部21と、第2撮像部22と、第3撮像部23と、第4撮像部24と、ロボット制御装置30を備える。
また、ロボット20は、第1撮像部21と、第2撮像部22と、第3撮像部23と、第4撮像部24と、ロボット制御装置30を備える。
第1アームは、物体を把持可能な爪部を備える第1エンドエフェクターE1と、第1マニピュレーターM1と、第1撮像部21と、図示しない複数のアクチュエーターである第1アクチュエーターによって構成される。第1アームは、7軸垂直多関節型のアームである。具体的には、第1アームは、支持台と、第1エンドエフェクターE1と、第1マニピュレーターM1が第1アクチュエーターによる連携した動作によって7軸の自由度の動作を行う。なお、第1アームは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
第1アームが7軸の自由度で動作する場合、第1アームは、6軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第1アームは、例えば、動作が滑らかになり、更に第1アームの周辺に存在する物体との干渉を容易に回避することができる。また、第1アームが7軸の自由度で動作する場合、第1アームの制御は、第1アームが8軸以上の自由度で動作する場合と比較して計算量が少なく容易である。このような理由から、第1アームは、7軸の自由度で動作することが望ましい。
各第1アクチュエーターは、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、第1アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、第1エンドエフェクターE1と第1マニピュレーターM1を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。また、第1アクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
第1撮像部21は、例えば、集光された光を電気信号に変換する撮像素子であるCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等を備えたカメラである。この一例において、第1撮像部21は、第1マニピュレーターM1の一部に備えられる。そのため、第1撮像部21は、第1アームの動きに応じて移動する。また、第1撮像部21が撮像可能な範囲は、第1アームの動きに応じて変化する。第1撮像部21は、当該範囲の静止画像を撮像してもよく、当該範囲の動画像を撮像してもよい。
また、第1撮像部21は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第1撮像部21は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
第2アームは、物体を把持可能な爪部を備える第2エンドエフェクターE2と、第2マニピュレーターM2と、第2撮像部22と、図示しない複数のアクチュエーターである第2アクチュエーターによって構成される。第2アームは、7軸垂直多関節型のアームである。具体的には、第2アームは、支持台と、第2エンドエフェクターE2と、第2マニピュレーターM2が第2アクチュエーターによる連携した動作によって7軸の自由度の動作を行う。第2アームは、第1アームが7軸の自由度で動作することが望ましい理由と同様の理由により、7軸の自由度で動作することが望ましい。なお、第2アームは、6軸以下の自由度で動作する構成であってもよく、8軸以上の自由度で動作する構成であってもよい。
各第2アクチュエーターは、ケーブルによってロボット制御装置30と通信可能に接続されている。これにより、第2アクチュエーターは、ロボット制御装置30から取得される制御信号に基づいて、第2エンドエフェクターE2と第2マニピュレーターM2を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB(Universal Serial Bus)等の規格によって行われる。なお、第2アクチュエーターのうちの一部又は全部は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
第2撮像部22は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。この一例において、第2撮像部22は、第2マニピュレーターM2の一部に備えられる。そのため、第2撮像部22は、第2アームの動きに応じて移動する。また、第2撮像部22が撮像可能な範囲は、第2アームの動きに応じて変化する。第2撮像部22は、当該範囲の静止画像を撮像してもよく、当該範囲の動画像を撮像してもよい。
また、第2撮像部22は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第2撮像部22は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
第3撮像部23は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第3撮像部23は、ロボット20が第1アームと第2アームのうちいずれか一方又は両方により作業を行う領域を含む範囲である撮像範囲を撮像可能な位置に設置される。なお、第3撮像部23は、撮像範囲の静止画像を撮像してもよく、撮像範囲の動画像を撮像してもよい。
また、第3撮像部23は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第3撮像部23は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
第4撮像部24は、例えば、集光された光を電気信号に変換する撮像素子であるCCDやCMOS等を備えたカメラである。第4撮像部24は、第3撮像部23が撮像可能な撮像範囲を第3撮像部23とともにステレオ撮像可能な位置に設置される。なお、第4撮像部24は、撮像範囲の静止画像を撮像してもよく、撮像範囲の動画像を撮像してもよい。
また、第4撮像部24は、ケーブルによってロボット制御装置30と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット(登録商標)やUSB等の規格によって行われる。なお、第4撮像部24は、Wi−Fi(登録商標)等の通信規格により行われる無線通信によってロボット制御装置30と接続される構成であってもよい。
上記で説明したロボット20が備えるこれらの各機能部は、この一例において、ロボット20に内蔵されたロボット制御装置30から制御信号を取得する。そして、当該各機能部は、取得した制御信号に基づいた動作を行う。なお、ロボット20は、ロボット制御装置30を内蔵する構成に代えて、外部に設置されたロボット制御装置30により制御される構成(ロボットシステム)であってもよい。
ロボット制御装置30は、ロボット20に制御信号を送信することにより、ロボット20を動作させる。これにより、ロボット制御装置30は、ロボット20に所定の作業を行わせる。
以下、ロボット20が行う所定の作業について説明する。
図1に示した作業台TBは、例えば、テーブルである。作業台TBの上面には、1以上の対象物Oがバラ積みされている。なお、作業台TBは、テーブルに変えて、1以上の対象物Oをバラ積みすることが可能な床面等の物体であれば他の物体であってもよい。
図1に示した作業台TBは、例えば、テーブルである。作業台TBの上面には、1以上の対象物Oがバラ積みされている。なお、作業台TBは、テーブルに変えて、1以上の対象物Oをバラ積みすることが可能な床面等の物体であれば他の物体であってもよい。
対象物Oは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。図1において、対象物Oは、図の簡略化のためL字型の形状を有した物体として表している。なお、対象物Oは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。また、対象物Oの形状は、L字型の形状に代えて、他の形状であってもよい。
ロボット20は、例えば、作業台TBの上面にバラ積みされた1以上の対象物Oを1つずつ第1エンドエフェクターE1により把持する。ロボット20は、把持した対象物Oを、図1に示した作業台TBの上面における給材領域Aに給材(配置)する。ロボット20は、これを繰り返すことにより、所定の作業として1以上の対象物Oのうちの一部又は全部を給材領域Aに給材する。
なお、ロボット20は、所定の作業において対象物Oを第1エンドエフェクターE1により把持する構成に代えて、対象物Oを第2エンドエフェクターE2により把持する構成であってもよく、第1エンドエフェクターE1と第2エンドエフェクターE2の両方により対象物Oを把持する構成であってもよい。
以下、ロボット20に所定の作業を行わせるためにロボット制御装置30が行う処理の概要について説明する。
ロボット制御装置30は、特徴量に対応付けられた領域を示す情報である領域情報に基づいて、1以上の対象物Oの点群が含まれるシーン点群の点の特徴量に対応付けられた当該領域に含まれる当該シーン点群の一部から特徴点をシーン特徴点として検出する。なお、特徴量は、点群の各点に応じた特徴的な量のことである。また、特徴点は、点群の点のうちの特徴的な点のことである。このようなシーン特徴点の検出により、ロボット制御装置30は、シーン点群の一部からシーン特徴点を検出することができ、例えば、当該シーン点群の一部から所望の数以上のシーン特徴点を検出することが出来た場合、シーン点群の全体から所望の数以上のシーン特徴点を検出する場合と比較して、シーン点群からシーン特徴点を検出するために要する時間を短縮することができる。
シーン点群からシーン特徴点を検出するために要する時間は、対象物Oのモデルの点群であるモデル点群に対応する部分点群をシーン点群の中から検出し、検出した部分点群に基づいて対象物Oの位置及び姿勢を算出する処理において短縮することが困難な場合が多い。このため、このようなシーン点群からシーン特徴点を検出するために要する時間の短縮は、当該位置及び姿勢を算出するために要する時間の短縮に繋がる。
以下では、一例として、上記において説明した点群が、三次元点群である場合について説明する。すなわち、対象物Oのモデル点群は、三次元モデル点群であり、対象物Oのシーン点群は、三次元シーン点群である。なお、上記において説明した点群は、これに代えて、二次元点群や、四次元以上の多次元点群であってもよい。
三次元シーン点群の点の特徴量に対応付けられた領域に含まれる当該三次元シーン点群の一部からシーン特徴点を検出した後、ロボット制御装置30は、当該シーン特徴点に基づいて、三次元シーン点群の中から三次元モデル点群に対応する部分点群を検出する。そして、ロボット制御装置30は、当該部分点群に基づいて対象物Oの位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいて対象物Oに対して所定の作業をロボット20に行わせる。
このような処理によって、ロボット制御装置30は、ロボット20に所定の作業を行わせる。以下では、当該処理のうち、ロボット制御装置30が領域情報に基づいて、三次元シーン点群の点の特徴量に対応付けられた領域に含まれる前記シーン点群の一部からシーン特徴点を検出する処理と、領域情報を生成する処理とについて詳しく説明する。なお、三次元モデル点群に対応する部分点群に基づいて算出される対象物Oの位置及び姿勢は、モデル点群に対応する部分点群に基づいて得られる対象物の位置及び姿勢の一例である。また、この一例において、三次元シーン点群における三次元モデル点群と対応する部分点群は、この一例において、三次元シーン点群の中の三次元モデル点群と略一致する部分の三次元点群のことである。
次に、図2を参照し、ロボット制御装置30のハードウェア構成について説明する。図2は、ロボット制御装置30のハードウェア構成の一例を示す図である。ロボット制御装置30は、例えば、CPU(Central Processing Unit)31と、記憶部32と、入力受付部33と、通信部34と、表示部35を備える。また、ロボット制御装置30は、通信部34を介してロボット20と通信を行う。これらの構成要素は、バスBusを介して相互に通信可能に接続されている。
CPU31は、記憶部32に格納された各種プログラムを実行する。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、ロボット制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
記憶部32は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、ROM(Read−Only Memory)、RAM(Random Access Memory)等を含む。なお、記憶部32は、ロボット制御装置30に内蔵されるものに代えて、USB等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
記憶部32は、ロボット制御装置30が処理する各種情報や画像、プログラム、三次元モデル点群の情報(三次元モデル点群を示す情報)、給材領域Aの位置を示す情報等を格納する。また、記憶部32は、モデル記憶部321を備える。
モデル記憶部321は、記憶部32の記憶領域の一部であり、三次元モデル点群の情報を格納する記憶領域である。この一例では、モデル記憶部321は、三次元モデル点群の情報を予め記憶している場合について説明する。なお、モデル記憶部321は、ユーザーから受け付けられた操作に基づいて、三次元モデル点群の情報を記憶する構成であってもよい。
モデル記憶部321は、記憶部32の記憶領域の一部であり、三次元モデル点群の情報を格納する記憶領域である。この一例では、モデル記憶部321は、三次元モデル点群の情報を予め記憶している場合について説明する。なお、モデル記憶部321は、ユーザーから受け付けられた操作に基づいて、三次元モデル点群の情報を記憶する構成であってもよい。
入力受付部33は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部33は、タッチパネルとして表示部35と一体に構成されてもよい。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
通信部34は、例えば、USB等のデジタル入出力ポートやイーサネット(登録商標)ポート等を含んで構成される。
表示部35は、例えば、液晶ディスプレイパネル、あるいは、有機EL(ElectroLuminescence)ディスプレイパネルである。
次に、図3を参照し、ロボット制御装置30の機能構成について説明する。図3は、ロボット制御装置30の機能構成の一例を示す図である。ロボット制御装置30は、記憶部32と、入力受付部33と、表示部35と、制御部36を備える。
制御部36は、ロボット制御装置30の全体を制御する。制御部36は、撮像制御部40と、画像取得部42と、三次元計測部44と、ロボット制御部46を備える。制御部36が備えるこれらの機能部は、例えば、CPU31が、記憶部32に記憶された各種プログラムを実行することにより実現される。また、これらの機能部のうち一部又は全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェア機能部であってもよい。
撮像制御部40は、作業台TBの上面にバラ積みされた1以上の対象物Oを含む撮像範囲を第3撮像部23と第4撮像部24にステレオ撮像させる。
画像取得部42は、第3撮像部23と第4撮像部24がステレオ撮像したステレオ撮像画像を、第3撮像部23と第4撮像部24から取得する。
画像取得部42は、第3撮像部23と第4撮像部24がステレオ撮像したステレオ撮像画像を、第3撮像部23と第4撮像部24から取得する。
三次元計測部44は、特徴点検出部50と、特徴量算出部51と、領域情報生成部52と、点群情報生成部53と、部分点群検出部54と、位置姿勢算出部55を備える。
特徴点検出部50は、三次元シーン点群の一部から1以上のシーン特徴点を検出する。また、特徴点検出部50は、三次元モデル点群から1以上の特徴点を当該1以上のモデル特徴点として検出する。
特徴量算出部51は、三次元シーン点群の点の特徴量を算出する。また、特徴量算出部51は、三次元モデル点群の点の特徴量を算出する。
領域情報生成部52は、特徴点検出部50が検出したモデル特徴点と、特徴量算出部51が算出した三次元モデル点群の各点の特徴量とに基づいて領域情報を生成する。
特徴量算出部51は、三次元シーン点群の点の特徴量を算出する。また、特徴量算出部51は、三次元モデル点群の点の特徴量を算出する。
領域情報生成部52は、特徴点検出部50が検出したモデル特徴点と、特徴量算出部51が算出した三次元モデル点群の各点の特徴量とに基づいて領域情報を生成する。
点群情報生成部53は、第3撮像部23と第4撮像部24から画像取得部42が取得したステレオ撮像画像に基づいて、作業台TBの上面にバラ積みされた1以上の対象物Oの三次元シーン点群を生成する。より具体的には、点群情報生成部53は、当該ステレオ撮像画像に基づいて、当該ステレオ撮像画像に含まれる1以上の対象物Oの表面の各点のロボット座標系における三次元位置を検出し、検出した三次元位置に基づいて対象物Oの三次元形状を表す三次元シーン点群を生成する。すなわち、三次元シーン点群の各点は、ロボット座標系における三次元位置を示す。
なお、点群情報生成部53は、ToF(Time of Flight)や三角測量法等の従来の手法に基づいて距離画像を生成する装置から、三次元シーン点群の情報を取得する構成であってもよい。また、この一例では、三次元モデル点群が予めモデル記憶部321に記憶されている場合について説明しているが、これに代えて、対象物OのCAD(Computer Aided Design)モデル等に基づいて点群情報生成部53が三次元モデル点群を生成する構成であってもよい。
部分点群検出部54は、三次元シーン点群の中から三次元モデル点群に対応する部分点群を検出する。
位置姿勢算出部55は、部分点群検出部54が検出した部分点群に基づいて、対象物Oの位置及び姿勢を算出する。
ロボット制御部46は、位置姿勢算出部55が算出した対象物Oの位置及び姿勢に基づいて、対象物Oに対してロボット20に所定の作業を行わせる。
位置姿勢算出部55は、部分点群検出部54が検出した部分点群に基づいて、対象物Oの位置及び姿勢を算出する。
ロボット制御部46は、位置姿勢算出部55が算出した対象物Oの位置及び姿勢に基づいて、対象物Oに対してロボット20に所定の作業を行わせる。
以下、図4を参照し、制御部36が行う処理について説明する。図4は、制御部36が行う処理の流れの一例を示すフローチャートである。
特徴点検出部50と、特徴量算出部51と、領域情報生成部52は、それぞれが連携して領域情報生成処理を行うことにより領域情報を生成する(ステップS100)。次に、領域情報生成部52は、対象物Oの位置及び姿勢を算出するか否かを判定する(ステップS110)。例えば、領域情報生成部52は、ステップS100における領域情報の生成に成功した場合、対象物Oの位置及び姿勢を算出すると判定し、ステップS100における領域情報の生成に失敗した場合、対象物Oの位置及び姿勢を算出しないと判定する。なお、ステップS110における判定は、領域情報生成部52が行う構成に代えて、制御部36が備える他の機能部が行う構成であってもよい。
対象物Oの位置及び姿勢を算出しないと領域情報生成部52が判定した場合(ステップS110−No)、特徴点検出部50と、特徴量算出部51と、領域情報生成部52は、ステップS100に遷移し、再び領域情報生成処理を行う。一方、対象物Oの位置及び姿勢を算出すると領域情報生成部52が判定した場合(ステップS110−Yes)、特徴点検出部50と、特徴量算出部51と、部分点群検出部54と、位置姿勢算出部55は、それぞれが連携して位置姿勢算出処理を行うことにより対象物Oの位置及び姿勢を算出する(ステップS120)。
次に、ロボット制御部46は、ステップS120において位置姿勢算出部55が算出した対象物Oの位置及び姿勢に基づいて、対象物Oに対してロボット20に所定の作業を行わせる(ステップS130)。ステップS130において、ロボット制御部46は、前述したように、ロボット20を動作させ、ロボット20に対象物Oを把持させる。そして、ロボット制御部46は、ロボット20に当該対象物Oを給材領域Aに給材させる。次に、ロボット制御部46は、ステップS130において給材領域Aに給材した対象物Oの数が所定数以上であるか否かを判定する(ステップS140)。
ステップS130において給材領域Aに給材した対象物Oの数が所定数以上ではないとロボット制御部46が判定した場合(ステップS140−No)、特徴点検出部50と、特徴量算出部51と、部分点群検出部54と、位置姿勢算出部55は、ステップS120に遷移し、再び位置姿勢算出処理を行う。一方、ステップS130において給材領域Aに給材した対象物Oの数が所定数以上であるとロボット制御部46が判定した場合(ステップS140−Yes)、制御部36は、処理を終了する。
このような流れにより、制御部36は、領域情報を生成し、生成した領域情報に基づいて対象物Oの位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいて対象物Oに対してロボット20に所定の作業を行わせる。なお、制御部36は、領域情報を生成し、生成した領域情報に基づいて対象物Oの位置及び姿勢を算出する構成に代えて、予め記憶部32に記憶された領域情報を読み出し、読み出した領域情報に基づいて対象物Oの位置及び姿勢を算出する構成であってもよい。また、制御部36は、他の装置において生成された領域情報を取得し、取得した領域情報に基づいて対象物Oの位置及び姿勢を算出する構成であってもよい。
以下、図5から図18を参照し、図4に示したステップS100における領域情報生成処理と、ステップS120における位置姿勢算出処理とについて説明する。
まず、図5から図11を参照し、図4に示したステップS100において制御部36が行う領域情報生成処理について説明する。図5は、図4に示したステップS100において制御部36が行う領域情報生成処理の流れの一例を示すフローチャートである。
領域情報生成部52は、モデル記憶部321から三次元モデル点群の情報を読み出す(ステップS200)。三次元モデル点群の情報は、対象物Oの三次元全周モデルである。三次元全周モデルは、例えば、CADモデルに基づいて生成されたCG(Computer1 Graphics)のことである。なお、三次元モデル点群の情報は、過去に対象物Oがステレオ撮像されたステレオ撮像画像に基づいて生成された点群の情報であってもよい。
領域情報生成部52は、モデル記憶部321から三次元モデル点群の情報を読み出す(ステップS200)。三次元モデル点群の情報は、対象物Oの三次元全周モデルである。三次元全周モデルは、例えば、CADモデルに基づいて生成されたCG(Computer1 Graphics)のことである。なお、三次元モデル点群の情報は、過去に対象物Oがステレオ撮像されたステレオ撮像画像に基づいて生成された点群の情報であってもよい。
次に、特徴点検出部50は、ステップS200において記憶部32から読み出された三次元モデル点群からモデル特徴点を検出する(ステップS210)。ここで、図6を参照し、ステップS210の処理について説明する。図6は、三次元モデル点群の一例を示す図である。図6では、三次元モデル点群OMは、三次元モデル点群OMから検出されたモデル特徴点Pを明確に示すため、対象物Oの三次元形状を表す点の集まり(すなわち、三次元点群)ではなく、実線によって当該三次元形状を描いている。図6に示した三次元モデル点群OMの表面における複数の白抜きの丸は、三次元モデル点群OMから特徴点検出部50が検出したモデル特徴点Pである。特徴点検出部50は、三次元モデル点群OMから図6に示したような1以上のモデル特徴点Pを検出する。
特徴点検出部50は、例えば、ISS(Intrinsic Shape Signatures)法等の従来の手法に基づいて三次元モデル点群OMから1以上のモデル特徴点Pを検出する。ISS法は、三次元点群から算出される共分散行列の固有値の比に基づいて当該三次元点群の形状を評価し、当該三次元点群において点群の偏りがある点を特徴点として検出する手法である。なお、図6に示した各モデル特徴点Pの位置は、ISS法によって三次元モデル点群OMからモデル特徴点Pが検出された位置を表しているが、実際にISS法によってモデル特徴点Pが検出される三次元モデル点群OM上の位置と必ずしも一致しない。また、特徴点検出部50は、ISS法に代えて、三次元点群から特徴点を検出する他の従来の手法や、今後新たに開発される手法によって三次元モデル点群OMからモデル特徴点Pを検出する構成であってもよい。
ステップS210において特徴点検出部50が三次元モデル点群OMからモデル特徴点Pを検出した後、特徴量算出部51と領域情報生成部52は、当該モデル特徴点Pに基づいて領域情報を生成する(ステップS220)。ここで、図7〜図11を参照し、ステップS220において特徴量算出部51と領域情報生成部52が、ステップS210において三次元モデル点群OMから検出されたモデル特徴点Pに基づいて領域情報を生成する処理について説明する。
領域情報生成部52は、ステップS200において読み出した三次元モデル点群OMの全ての点に対して、それぞれの点を原点とする図7に示したような局所座標系を設定する。図7は、三次元モデル点群OMの点のうちの点PT1に対して設定される局所座標系の一例を示す図である。図7において、三次元モデル点群OMの点PT1には、点PT1を原点とする局所座標系として三次元直交座標系が設定されている。なお、局所座標系は、三次元直交座標系に代えて、三次元極座標系や三次元円筒座標系等の他の三次元座標系であってもよい。
また、局所座標系の各座標軸の方向は、所定の規則に基づいて三次元モデル点群OMの各点に応じた方向を向いている。ここで、説明の便宜上、三次元モデル点群OMの点のうちの領域情報生成部52が局所座標系を設定しようとしている点を設定対象点と称して所定の規則について説明する。例えば、所定の規則は、設定対象点における法線方向をZ軸方向とする規則である。また、所定の規則は、設定対象点を中心とする所定半径の球領域内に含まれる三次元モデル点群OMの点が広範に分布する方向をX軸方向とし、当該X軸方向と当該Z軸方向に直交する方向をY軸方向とする規則である。三次元モデル点群OMの点が広範に分布する方向は、当該球領域内に含まれる三次元モデル点群OMの点に対する主成分分析に基づいて算出される。より具体的には、三次元モデル点群OMの点が広範に分布する方向は、設定対象点を通る平面であってZ軸に垂直な平面に対して写像された当該球領域内に含まれる三次元モデル点群OMの点が最も多く存在している方向のことである。当該平面に写像された複数の点が最も多く存在している方向は、当該平面に写像された点に対する主成分分析によって導出することができる。このような所定の規則に従い、領域情報生成部52は、三次元モデル点群OMの全ての点に対して、それぞれの点を原点とする図7に示したような局所座標系を設定する。なお、当該法線方向は、三次元モデル点群OMの各点が表わす三次元モデル点群OMの表面に対する法線方向である。また、所定の規則は、これに代えて、他の規則であってもよい。ただし、所定の規則は、三次元モデル点群OMの各点に応じて局所座標系の各座標軸の方向を一意に決定する規則でなければならない。
領域情報生成部52は、三次元モデル点群OMの各点に設定した局所座標系によって表される空間を、複数の部分領域に分割する。例えば、領域情報生成部52は、三次元モデル点群OMの点PT1に設定した局所座標系が表わす空間を、8つの部分領域に分割する。領域情報生成部52は、この一例において、局所座標系の原点、すなわち点PT1から+Z方向の空間を4つの部分領域に分割し、点PT1から−Z方向の空間を4つの部分領域に分割して合計8つの部分領域に分割する。
局所座標系の原点から+Z方向の空間における4つの部分領域は、点PT1から+X方向、点PT1から+Y方向、点PT1から+Z方向の領域である+第1象限領域と、点PT1から−X方向、点PT1から+Y方向、点PT1から+Z方向の領域である+第2象限領域と、点PT1から−X方向、点PT1から−Y方向、点PT1から+Z方向の領域である+第3象限領域と、点PT1から+X方向、点PT1から−Y方向、点PT1から+Z方向の領域である+第4象限領域との合計4つの部分領域である。
局所座標系の原点から−Z方向の空間における4つの部分領域は、点PT1から+X方向、点PT1から+Y方向、点PT1から−Z方向の領域である−第1象限領域と、点PT1から−X方向、点PT1から+Y方向、点PT1から−Z方向の領域である−第2象限領域と、点PT1から−X方向、点PT1から−Y方向、点PT1から−Z方向の領域である−第3象限領域と、点PT1から+X方向、点PT1から−Y方向、点PT1から−Z方向の領域である−第4象限領域との合計4つの部分領域である。
なお、領域情報生成部52は、これに代えて、三次元モデル点群OMの各点に設定した局所座標系によって表される空間を、所定の立体角毎に分割する等の他の方法によって分割する構成であってもよい。また、領域情報生成部52は、当該空間を8つの部分領域に分割する構成に代えて、7以下の部分領域に分割する構成であってもよく、9以上の部分領域に分割する構成であってもよい。
三次元モデル点群OMの各点に設定した局所座標系によって表される空間を8つの部分領域に分割した後、領域情報生成部52は、これら8つの部分領域のそれぞれに含まれるモデル特徴点Pの数をカウントする。図7に示した例では、モデル特徴点Pは、2つの座標軸によって形成される面内に含まれる場合がある。そのため、この一例では、領域情報生成部52は、所定のカウント規則に基づいて、このようなモデル特徴点Pがどの部分領域に含まれるかを決定する。所定のカウント規則は、例えば、2つの座標軸によって形成される面内に含まれるモデル特徴点Pは、モデル特徴点Pが含まれる面と直交する座標軸の−側に含まれると決定するルールである。この所定のカウント規則に従うと、例えば、Y軸とZ軸によって形成されるYZ平面に含まれるモデル特徴点Pは、全てX軸の−側に含まれることになる。
また、特徴量算出部51は、図7に示した局所座標系の原点である点PT1の特徴量を算出する。特徴量算出部51は、例えば、当該特徴量として、SHOT(Signature of Histograms of OrienTations)特徴量等の従来の手法に基づいて算出される特徴量を算出する。SHOT特徴量は、選択された点に設定された局所座標系(上記において説明した局所座標系と同じ局所座標系であってもよく、異なる局所座標系であってもよい)に基づき、周辺点群の法線方向をヒストグラム化することで記述される特徴量であり、当該ヒストグラムに基づいて算出される複数の特徴的な量のそれぞれを各成分として有するベクトルである。例えば、SHOT特徴量は、選択された点の周囲の点の数や、当該点の法線方向等をベクトルの成分として有する。また、特徴量算出部51は、SHOT特徴量に代えて、他の従来の手法によって算出される他の特徴量や、今後新たに開発される手法によって算出される特徴量を算出する構成であってもよい。
点PT1の特徴量を算出した後、領域情報生成部52は、特徴量算出部51が算出した点PT1の特徴量と、点PT1に設定された局所座標系を示す情報と、当該局所座標系によって表される空間を示す情報と、当該空間が分割された8つの部分領域のそれぞれを示す情報と、当該8つの部分領域のそれぞれに含まれるモデル特徴点Pの数とを対応付けた対応情報を生成する。領域情報生成部52は、このような対応情報の生成処理を、三次元モデル点群OMの各点のそれぞれに対して行う。すなわち、対応情報は、三次元モデル点群OMの点の数だけ生成される。
例えば、三次元モデル点群OMの点がn個の場合、対応情報は、図8に示したようにn個生成される。図8は、三次元モデル点群OMの各点について生成された対応情報を例示する図である。図8では、対応情報は、領域情報生成部52が行う処理を視覚化するため、情報が格納されたテーブルや他の形式の情報として表すのではなく、三次元モデル点群OMの点毎に設定された局所座標系の座標軸と、当該座標軸によって表される空間内に含まれるモデル特徴点とによって表している。例えば、図8に示した対応情報MPT1は、図7に示した点PT1に設定された局所座標系の座標軸と、当該座標軸によって表される空間内に含まれるモデル特徴点とによって表されている。ここで、説明の便宜上、点PT1は、三次元モデル点群OMの各点を識別する番号を当該各点に付与した場合における1つ目の点として説明する。すなわち、三次元モデル点群OMは、点PT1〜点PTnのn個の点によって構成される点群である。図8に示した対応情報MPTnは、三次元モデル点群OMの各点を識別する番号を当該各点に付与した場合におけるn個目の点である点PTnに設定された局所座標系の座標軸と、当該座標軸によって表される空間内に含まれるモデル特徴点とによって表されている。対応情報は、モデル点群の点の特徴量に対応付けられた分布であってモデル特徴点のモデル点群上における分布(第1分布又は第2分布)の一例である。
三次元モデル点群OMの点毎に対応情報を生成した後、領域情報生成部52は、三次元モデル点群OMの点を1以上のグループに分類する。すなわち、領域情報生成部52は、三次元モデル点群OMの点の対応情報を1以上のグループに分類する。この一例として、領域情報生成部52は、三次元モデル点群OMの点を、図9において説明する所定の分類規則に従って分類する。図9は、所定の分類規則の一例を説明するための図である。三次元モデル点群OMの点のそれぞれは、対応情報を生成する際に特徴量算出部51によって特徴量が算出されている。この特徴量は、前述した通り、1以上の成分を有するベクトルである。以下では、説明の便宜上、当該特徴量が2つの成分を有する場合、すなわち成分F1と成分F2を有する場合について説明する。当該特徴量を表すベクトルを特徴量ベクトルF0とすると、特徴量ベクトルF0=(F1,F2)である。なお、ここでは、特徴量ベクトルを横ベクトルとして表したが、縦ベクトルとして表してもよい。
これら2つの成分の大きさを表す座標軸によって表される2次元空間が、図9に示した特徴量多次元空間CSである。図9に示した特徴量多次元空間CSの横軸は、特徴量ベクトルF0の成分F1の大きさを表す座標軸であり、特徴量多次元空間CSの縦軸は、特徴量ベクトルF0の成分F2の大きさを表す座標軸である。領域情報生成部52は、特徴量多次元空間CSを生成し、生成した特徴量多次元空間CSを所定の第2分割規則に基づいて複数の分割領域に分割する。所定の第2分割規則は、例えば、特徴量多次元空間CSにおいて縦軸を所定の第1間隔毎に区切り、横軸を所定の第2間隔毎に区切った格子状に分割する規則である。図9に示した一点鎖線は、特徴量多次元空間CSを当該格子状に分割した際の境界線を示している。また、図9に示した分割領域R1は、このようにして特徴量多次元空間CSが分割された領域の1つである。
領域情報生成部52は、このようにして分割した特徴量多次元空間CS内に、三次元モデル点群OMの点を、当該点の特徴量に基づいて配置することにより、各分割領域(すなわち、前述のグループ)に分類する。例えば、分割領域R1内には、三次元モデル点群OMの点PT11〜点PT14が配置されている。この一例において、三次元モデル点群OMの点PT13の特徴量ベクトルは、成分F1として量f1を有し、成分F2として量f2を有している。このため、領域情報生成部52は、点PT13を、図9において横軸の値がf1であり、縦軸の値がf2である特徴量多次元空間CS内の位置に配置している。このような配置方法(前述の所定の分類規則)に基づいて、領域情報生成部52は、分割した特徴量多次元空間CS内に、三次元モデル点群OMの点を全て配置(分類)する。なお、領域情報生成部52は、これに代えて、分割した特徴量多次元空間CS内に、三次元モデル点群OMの点の一部を配置する構成であってもよい。
特徴量多次元空間CSの分割領域毎に含まれている三次元モデル点群OMの点のそれぞれの特徴量ベクトルは、特徴量ベクトルが有する成分同士の値の差が小さい。分割領域の格子の大きさを小さくすればするほど、当該分割領域内に含まれている複数の点のそれぞれの特徴量ベクトルが有する成分同士の値の差は小さくなる。この一例では、このように特徴量ベクトルの成分同士の値の差が小さい点同士を、似た点として特定する。
領域情報生成部52は、特徴量多次元空間CSの分割領域毎に、三次元モデル点群OMの点のうちの分割領域に含まれている点のそれぞれの対応情報を重ね合わせることによって領域情報を生成する。例えば、三次元モデル点群OMの点PT21と点PT22が似た点である(同じ分割領域に含まれていた)場合、領域情報生成部52は、図10に示すように、点PT21の対応情報MPT21と、点PT22の対応情報MPT22とを重ね合わせて領域情報MFを生成する。図10は、複数の対応情報から領域情報を生成する方法を説明するための図である。
図10に示した対応情報MPT21では、三次元モデル点群OMの点PT21を原点とした局所座標系が表わす空間において、+第3象限領域に3つのモデル特徴点Pが含まれており、+第1象限領域に1つのモデル特徴点Pが含まれている。また、図10に示した対応情報MPT22では、三次元モデル点群OMの点PT22であって点PT12と似た点PT22を原点とした局所座標系が表わす空間において、+第3象限領域に3つのモデル特徴点Pが含まれており、+第1象限領域に1つのモデル特徴点Pが含まれている。
三次元モデル点群OMの点における似た2つの点それぞれの位置は、似ていない2つの点それぞれの位置と比べて空間的に近い場合が多い。換言すると、三次元モデル点群OMの点のうちの空間的に位置が近い点同士は、当該点それぞれの特徴量同士の差が小さい、すなわち当該点それぞれの特徴量が略同じである場合が多い。このため、対応情報MPT21が表わす空間においてモデル特徴点Pが含まれている部分領域と、対応情報MPT22が表わす空間においてモデル特徴点Pが含まれている部分領域とは、一致する場合が多い。このような理由から、この一例では、複数の対応情報を重ね合わせることによって生成される領域情報は、モデル特徴点Pが検出される可能性の高い部分領域、すなわち原点からのモデル特徴点Pが検出される可能性が高い方向を、原点と、モデル特徴点Pが多く含まれている部分領域とによって表せている可能性が高い。
これを利用し、領域情報生成部52は、特徴量多次元空間CSの分割領域毎に、三次元モデル点群OMの点のうちの当該分割領域に含まれている点、すなわち似た点それぞれの対応情報を重ね合わせることによって領域情報を生成する。また、領域情報生成部52は、複数の対応情報を重ね合わせて領域情報を生成する場合、対応情報に含まれている原点の位置と、各座標軸の方向とが一致するように重ね合わせる。例えば、図10に示した対応情報MPT21と、対応情報MPT22とを重ね合わせる場合、領域情報生成部52は、原点である点PT21の位置と、原点である点PT22の位置とを一致させる。また、領域情報生成部52は、この場合、対応情報MPT21のX軸の方向と、対応情報MPT22のX軸の方向とを一致させ、対応情報MPT21のY軸の方向と、対応情報MPT22のY軸の方向とを一致させ、対応情報MPT21のZ軸の方向と、対応情報MPT22のZ軸の方向とを一致させる。
図10に示した領域情報MFは、このようにして対応情報MPT21と対応情報MPT22とを重ね合わせることにより生成された領域情報である。なお、図10において説明した2つの対応情報MPT21と対応情報MPT22との重ね合わせは、領域情報を生成する処理を視覚的に表したものである。実際には、領域情報生成部52は、複数の似た点それぞれの対応情報の中から基準となる対応情報を、例えば、ランダムに基準対応情報として選択する。また、領域情報生成部52は、当該似た点それぞれの対応情報に含まれる8つの部分領域のそれぞれに含まれるモデル特徴点Pの数に基づいて、8つの部分領域のそれぞれ毎にモデル特徴点Pの数を足し合わせる。例えば、領域情報生成部52は、対応情報MPT21に含まれる+第1象限領域に含まれるモデル特徴点Pの数と、対応情報MPT22に含まれる+第1象限領域に含まれるモデル特徴点Pの数とを足し合わせる。領域情報生成部52は、足し合わせたモデル特徴点Pの数を+第1象限領域に対応付ける。領域情報生成部52は、このような処理を、+第2象限領域、+第3象限領域、+第4象限領域、−第1象限領域、−第2象限領域、−第3象限領域、−第4象限領域のそれぞれに対しても同様に行う。
そして、領域情報生成部52は、8つの分割領域のそれぞれに対して新たに対応付けたモデル特徴点Pの数と、選択した基準対応情報に含まれる局所座標系と、当該局所座標系によって表される空間と、当該空間が分割された8つの部分領域のそれぞれを示す情報とを対応付けた情報を領域情報として生成する。
領域情報生成部52は、生成した領域情報に含まれる8つの部分領域のそれぞれに対して、優先順位を設定する。より具体的には、領域情報生成部52は、生成した領域情報に含まれる8つの部分領域のそれぞれに対して、モデル特徴点Pが含まれている数が多い順に高い優先順位を設定する。例えば、領域情報生成部52は、図10に示した領域情報MFにおいて、6個のモデル特徴点Pが含まれている+第3象限領域に対して最も高い優先順位を設定する。また、領域情報生成部52は、図10に示した領域情報MFにおいて、2個のモデル特徴点Pが含まれている+第1象限領域に対して2番目に高い優先順位を設定する。また、領域情報生成部52は、図10に示した領域情報MFにおいて、モデル特徴点Pが含まれていない他の部分領域に対して最も低い優先順位を設定する。
なお、領域情報生成部52は、モデル特徴点Pが含まれていない他の部分領域に対して最も低い優先順位を設定する構成に代えて、当該他の部分領域に対して、選択不可であることを示す情報を対応付ける構成であってもよい。また、領域情報生成部52は、モデル特徴点Pが含まれている数が同じである複数の部分領域に対して、例えば、ランダムに優先順位を設定する構成や、所定の選択規則に基づいて優先順位を設定する構成等の他の構成であってもよい。また、領域情報生成部52は、モデル特徴点Pが含まれていない他の部分領域を、領域情報から除外する構成であってもよい。この場合、領域情報は、8つの部分領域のうちの一部を示す情報のみを含む。
また、領域情報生成部52は、生成した領域情報に対して特徴量を対応付ける。より具体的には、領域情報生成部52は、例えば、三次元モデル点群OMの点のうち、生成した領域情報を生成する際に重ね合わせた対応情報それぞれの原点である点が含まれていた分割領域を規定している特徴量ベクトルの各成分の最小値から最大値までの範囲を領域情報に対応付ける。例えば、領域情報生成部52は、領域情報MFを生成する際に重ね合わせた対応情報MPT21及び対応情報MPT22それぞれの原点である点PT21と点PT22とが含まれていた分割領域を規定している特徴量ベクトルの成分F1の最小値f1minから最大値f1maxまでの範囲、及び当該特徴量ベクトルの成分F2の最小値f2minから最大値f2maxまでの範囲を、領域情報MFに対応付ける。なお、領域情報生成部52は、これに代えて、生成した領域情報を生成する際に重ね合わせた対応情報それぞれの原点である点の特徴量の平均値や、当該特徴量に基づく他の値や他の範囲等を領域情報に対応付ける構成であってもよい。
このようにして、領域情報生成部52は、生成した全ての領域情報に対して特徴量(この一例において、特徴量の各成分の範囲)を対応付け、特徴量が対応付けられた複数の領域情報を生成する。図11は、特徴量が対応付けられた複数の領域情報を例示する図である。図11には、特徴量が対応付けられたm個の領域情報MF1〜領域情報MFmが示されている。なお、図11において、原点の点は、全て点Cによって表している。以下では、説明の便宜上、特徴量が対応付けられた領域情報を、単に領域情報と称して説明する。領域情報生成部52は、生成した複数の領域情報を、記憶部32に記憶し、図5に示したステップS220における処理を終了する。
次に、図12から図18を参照し、図4に示したステップS120において制御部36が行う位置姿勢算出処理について説明する。図12は、図4に示したステップS120において制御部36が行う位置姿勢算出処理の流れの一例を示すフローチャートである。図12に示したフローチャートの処理では、制御部36が、後述する重心特徴点の検出及び統合重心特徴量の算出を三次元モデル点群に対して事前に行っている場合について説明する。なお、制御部36は、図12に示したフローチャートの処理と並行して重心特徴点の検出及び統合重心特徴量の算出を行う構成であってもよい。
撮像制御部40は、作業台TBの上面にバラ積みされた1以上の対象物Oを含む領域を第3撮像部23と第4撮像部24にステレオ撮像させる(ステップS300)。次に、画像取得部42は、ステップS300において第3撮像部23と第4撮像部24がステレオ撮像したステレオ撮像画像を、第3撮像部23と第4撮像部24から取得する(ステップS310)。
次に、点群情報生成部53は、ステップS310において画像取得部42が取得したステレオ撮像画像に基づいて、作業台TBの上面にバラ積みされた1以上の対象物Oの三次元シーン点群を生成する(ステップS320)。次に、部分点群検出部54は、ステップS320において点群情報生成部53が生成した三次元シーン点群の点から、例えば、ランダムに1つの点を対象点として選択する(ステップS330)。なお、ステップS330の処理は、部分点群検出部54が行う構成に代えて、制御部36が備える他の機能部(図3に示した機能部、又は図3に示されていない他の機能部)が行う構成であってもよい。
次に、特徴量算出部51は、ステップS330において部分点群検出部54が選択した対象点の特徴量(前述のSHOT特徴量)を算出する(ステップS340)。ステップS340において、特徴量算出部51は、三次元モデル点群OMの点の特徴量と比較可能なようにするため、三次元モデル点群OMの各点の特徴量を算出した(得た)手法と同じ手法に基づく特徴量を算出しなければならない。
次に、部分点群検出部54は、ステップS340において算出された対象点の特徴量と、記憶部32に記憶された領域情報とを比較し、対象点の特徴量に対応する領域情報を記憶部32から読み出す(ステップS350)。対象点の特徴量に対応する領域情報は、対応付けられている特徴量の各成分の範囲内に対象点の特徴量の各成分が含まれる領域情報である。なお、ステップS350の処理は、部分点群検出部54が行う構成に代えて、制御部36が備える他の機能部(図3に示した機能部、又は図3に示されていない他の機能部)が行う構成であってもよい。
次に、特徴点検出部50は、ステップS350において記憶部32から読み出した領域情報と、対象点とに基づいて、三次元シーン点群の一部から1以上のシーン特徴点を検出する(ステップS360)。ここで、図13及び図14を参照し、ステップS360において特徴点検出部50が三次元シーン点群の一部からシーン特徴点を検出する処理について説明する。図13は、ステレオ撮像画像に基づいて生成された三次元シーン点群の一例を示す図である。図13では、ステップS360において行われる処理が明確に表されるようにするため、三次元モデル点群OMが、ステレオ撮像画像に含まれていた対象物Oが1つのみの場合において当該ステレオ撮像画像に基づいて生成された三次元シーン点群である例を用いて説明する。
特徴点検出部50は、ステップS350において記憶部32から読み出した領域情報の原点を、三次元シーン点群OSからステップS330において選択された対象点C0に一致させる。また、特徴点検出部50は、ステップS350において記憶部32から読み出した領域情報が表わす局所座標系の各座標軸の方向を、対象点C0において所定の規則に基づいて決定される各座標軸の方向に一致させる。より具体的には、特徴点検出部50は、当該領域情報が表わす局所座標系のX軸の方向を、対象点C0において所定の規則に基づいて決定されるX軸の方向に一致させ、当該領域情報が表わす局所座標系のY軸の方向を、対象点C0において所定の規則に基づいて決定されるY軸の方向に一致させ、当該領域情報が表わす局所座標系のZ軸の方向を、対象点C0において所定の規則に基づいて決定されるZ軸の方向に一致させる。このようにして、位置姿勢算出部55は、領域情報が表わす局所座標系を対象点C0に設定する。
図13に示した局所座標系は、このようにして対象点C0に設定された領域情報が表わす局所座標系である。特徴点検出部50は、当該局所座標系が表わす空間が分割された8つの部分領域のうち、優先順位が最も高い部分領域から特徴点をシーン特徴点として検出する。また、特徴点検出部50は、三次元シーン点群OSからシーン特徴点を検出する際、特徴点検出部50が三次元モデル点群OMからモデル特徴点を検出する手法と同じ手法(この一例において、前述のISS法)によって三次元シーン点群OSからシーン特徴点を検出する。以下では、この一例として、当該8つの部分領域のうちの優先順位が最も高い部分領域が、+第2象限領域である場合について説明する。
図14は、優先順位が最も高い部分領域からシーン特徴点が検出された様子の一例を示す図である。図14には、対象点C0に設定された局所座標系が表わす空間が分割された8つの部分領域のうちの+第2象限領域からシーン特徴点C1〜シーン特徴点C4を特徴点検出部50が検出した様子が示されている。
ステップS360において三次元シーン点群OSからシーン特徴点を検出した後、特徴点検出部50は、三次元シーン点群OSから検出されたシーン特徴点の累積数が第1所定数以上であるか否かを判定する(ステップS365)。この一例において、第1所定数は、4である。なお、第1所定数は、2以上の数であれば他の数であってもよい。これは、ステップS370以降の処理において必要なシーン特徴点の最低数が2であるためである。なお、三次元シーン点群OSから検出されたシーン特徴点の累積数が第1所定数以上であることは、所定の第1条件の一例である。
三次元シーン点群OSから検出されたシーン特徴点の累積数が第1所定数以上ではないと特徴点検出部50が判定した場合(ステップS365−No)、部分点群検出部54は、ステップS330に遷移し、三次元シーン点群OSの点のうちの対象点C0とは異なる点を次の対象点として選択する。そして、特徴点検出部50と、特徴量算出部51と、部分点群検出部54は、シーン特徴点の累積数が第1所定数以上となるまでステップS330からステップS365までの処理を繰り返し行う。三次元シーン点群OSから検出されたシーン特徴点の累積数が第1所定数以上であると特徴点検出部50が判定した場合(ステップS365−Yes)、部分点群検出部54は、ステップS365において(ステップS365−Yes)の判定になるまでに累積された第1所定数以上のシーン特徴点に基づいて、1以上の重心特徴点を特定する(ステップS370)。重心特徴点は、特徴点検出部50により検出されたシーン特徴点に基づく立体(本実施形態では、2つのシーン特徴点に基づく直線を含む)の重心の位置を示す点である。
ここで、ステップS370の処理について説明する。部分点群検出部54は、ステップS365において(ステップS365−Yes)の判定になるまでに累積された第1所定数以上のシーン特徴点のうちの第2所定数のシーン特徴点の組み合わせを選択する。第2所定数は、第1所定数以下の数であり、この一例において、4である。なお、第2所定数は、2以上の数であれば他の数であってもよい。部分点群検出部54は、選択した組み合わせに含まれる第2所定数のシーン特徴点のそれぞれが示す位置を頂点とする立体の重心の位置を算出する。部分点群検出部54は、算出した重心の位置を示す点を重心特徴点として特定する。
部分点群検出部54は、ステップS365において(ステップS365−Yes)の判定になるまでに累積された第1所定数以上のシーン特徴点のうちの第2所定数のシーン特徴点の組み合わせ毎に重心特徴点を特定する処理を実行することにより、当該組み合わせ毎に重心特徴点を特定する。例えば、三次元モデル点群OMから検出したシーン特徴点の数がN個であり、且つ第2所定数がM個である場合、N個のシーン特徴点からM個のシーン特徴点の組み合わせを選択する場合の数は、NCM個である。なお、Nは、M以上の数である。部分点群検出部54は、このNCM個の組み合わせのそれぞれ毎に、重心特徴点を特定する処理を実行する。これにより、部分点群検出部54は、当該組み合わせ毎に重心特徴点を特定する。なお、重心特徴点が示す位置は、シーン特徴点が示す位置に基づいて算出されるため、シーン特徴点が示す位置と一致するとは限らない。
ここで、図15を参照し、ステップS370における重心特徴点を特定する処理について説明する。なお、以下では、ステップS360において特徴点検出部50が、第1所定数(この一例において、4)以上のシーン特徴点として、図14に示したように三次元シーン点群OSから4つのシーン特徴点C1〜シーン特徴点C4を検出している場合について説明する。このため、部分点群検出部54は、検出された第1所定数以上のシーン特徴点のうちの第2所定数のシーン特徴点の組み合わせとして、1つの組み合わせ、すなわちシーン特徴点C1〜シーン特徴点C4しか選択することができない。部分点群検出部54は、検出された第1所定数以上のシーン特徴点が5以上の場合、検出された第1所定数以上のシーン点群のうちの第2所定数のシーン特徴点の組み合わせとして、2以上の組み合わせを選択することができる。
図15は、ステップS360において特徴点検出部50が三次元モデル点群OMから検出した4つのシーン特徴点を例示する図である。図15では、当該4つのシーン特徴点の幾何学的位置関係を明確に示すため、三次元シーン点群OSを省略している。図15では、4個のシーン特徴点C1〜シーン特徴点C4の位置関係を明確にするため、各シーン特徴点間をそれぞれ直線で結んでいる。また、図15では、シーン特徴点C3とシーン特徴点C4の間を結ぶ直線は、シーン特徴点C2とシーン特徴点C3の間を結ぶ直線よりも奥側であることを点線によって示している。
この一例において、部分点群検出部54は、図15に示した4個のシーン特徴点C1〜シーン特徴点C4のそれぞれが示す位置を頂点とする立体の重心の位置を算出する。図15に示した例では、各シーン特徴点間を結ぶ直線は、三角錐を形成している。すなわち、部分点群検出部54は、4個のシーン特徴点C1〜シーン特徴点C4のそれぞれが示す位置に基づいて、図15に示した4個のシーン特徴点C1〜シーン特徴点C4のそれぞれが示す位置を頂点とする立体である当該三角錐の重心の位置を算出する。部分点群検出部54は、算出した当該位置が示す点を重心特徴点Gとして特定する。
部分点群検出部54は、検出された第1所定数以上のシーン特徴点の数が第2所定数よりも多かった場合、当該シーン特徴点から抽出可能な第2所定数の組み合わせが2以上となるため、当該組み合わせ毎に、このような重心特徴点を特定する処理を実行する。これにより、位置姿勢算出部55は、当該組み合わせ毎に重心特徴点を特定する。
ステップS370において重心特徴点を特定した後、部分点群検出部54は、ステップS370において特定した重心特徴点毎に、当該重心特徴点に応じた特徴的な量である第1重心特徴量を算出する(ステップS380)。第1重心特徴量は、重心特徴点に応じた特徴的な1以上の量を成分として有するベクトルである。
ここで、ステップS380の処理について説明する。部分点群検出部54は、ステップS370において特定した重心特徴点毎に、当該重心特徴点の位置を算出するために用いられた第2所定数のシーン特徴点の幾何学的関係に基づく特徴を表す量である第1重心特徴量を算出する。第1重心特徴量は、W個の幾何学的特徴量(幾何学的に特徴的な量)を成分として有するW次元ベクトルである。Wは1以上の整数である。すなわち、部分点群検出部54は、1以上の幾何学的特徴量を成分として有するベクトルを第1重心特徴量として算出する。
幾何学的特徴量は、例えば、2個のシーン特徴点を結ぶ直線の長さ(すなわち、2個のシーン特徴点間の距離)や、当該直線に対して他のシーン特徴点から引いた垂線の長さや、シーン特徴点間を結ぶ直線同士が交わった点における挟角、すなわち3つ以上のシーン特徴点のうちの2点間を結ぶ線分に基づいて形成される角度等である。なお、幾何学的特徴量は、これら以外にも、重心特徴点の位置を算出するために用いた第2所定数のシーン特徴点の幾何学的関係に基づいて算出することが可能な量であれば如何なる量であってもよい。
部分点群検出部54が幾何学的特徴量を算出する処理は、幾何学的特徴量の種類によって異なる。そのため、以下では、部分点群検出部54が算出する幾何学的特徴量の具体例毎に幾何学的特徴量を算出する処理について説明する。
<幾何学的特徴量の具体例1>
幾何学的特徴量の具体例1は、重心特徴点を算出するために用いられた第2所定数のシーン特徴点から選択可能な2個のシーン特徴点の組み合わせにおけるシーン特徴点間の距離である。
幾何学的特徴量の具体例1は、重心特徴点を算出するために用いられた第2所定数のシーン特徴点から選択可能な2個のシーン特徴点の組み合わせにおけるシーン特徴点間の距離である。
以下、図16を参照し、幾何学的特徴量の具体例1について説明する。図16は、図15に示した重心特徴点Gの位置を算出するために用いた4個のシーン特徴点C1〜シーン特徴点C4の幾何学的関係の一例を示した図である。すなわち、ここでは、図15に示した重心特徴点Gと、重心特徴点Gの位置を算出するために用いた4個(この一例における第2所定数個)のシーン特徴点C1〜シーン特徴点C4を例に挙げて説明する。部分点群検出部54は、当該シーン特徴点C1〜シーン特徴点C4から選択可能な2個のシーン特徴点の組み合わせのそれぞれ毎に、当該組み合わせにおけるシーン特徴点間の距離を算出する。図16では、図15と同様に各シーン特徴点間をそれぞれ直線で結んでいる。
以下では、説明の便宜上、シーン特徴点X1とシーン特徴点X2を端点として有するベクトルを、ベクトル(X1,X2)と表し、ベクトル(X1,X2)のノルムをノルム(X1,X2)と表して説明する。また、以下では、ベクトルのノルムのみが重要であるため、ベクトル(X1,X2)=ベクトル(X2,X1)であるとして説明する。このベクトルのノルムはすなわち、シーン特徴点X1とシーン特徴点X2の間の距離を表す。また、以下の説明において、ノルム(X1,X2)を算出するために用いたベクトルと称した場合、当該ベクトルは、ノルム(X1,X2)を算出する際に内積を行ったベクトル(X1,X2)を示すとする。
この表記法を用いると、図16に示した4個のシーン特徴点C1〜シーン特徴点C4によって、6個のベクトルが定義できる。当該6個のベクトルは、ベクトル(C1,C2)と、ベクトル(C1,C3)と、ベクトル(C1,C4)と、ベクトル(C2,C3)と、ベクトル(C2,C4)と、ベクトル(C3,C4)である。部分点群検出部54は、これらのベクトルそれぞれのノルムを、それぞれのシーン特徴点間の距離として算出する。より具体的には、部分点群検出部54は、ノルム(C1,C2)と、ノルム(C1,C3)と、ノルム(C1,C4)と、ノルム(C2,C3)と、ノルム(C2,C4)と、ノルム(C3,C4)のそれぞれを算出する。
部分点群検出部54は、算出したこれら6個のノルムのうちの一部又は全部を、第1重心特徴量の成分とする幾何学的特徴量として選択する。この一例では、部分点群検出部54は、算出した6個のノルムのうち、最大のノルムを幾何学的特徴量GF1として選択する。図16に示した例では、最大のノルムは、ノルム(C1,C3)である。すなわち、部分点群検出部54は、算出した6個のノルムのうちの最大のノルムがノルム(C1,C3)であることを特定し、特定したノルム(C1,C3)を、第1重心特徴量の成分とする幾何学的特徴量GF1として選択する。図16では、ノルム(C1,C3)を、シーン特徴点C1とシーン特徴点C3の間を結ぶ直線D1の長さによって表した。
ここで、このような6個のノルムから最大のノルムを特定する処理を、更に詳しく説明する。部分点群検出部54は、例えば、重心特徴点を算出するために用いた4個のシーン特徴点それぞれの位置を、位置ベクトルFPi(i=1〜4)によって表す。この一例において、位置ベクトルFP1は、シーン特徴点C1の位置を示す位置ベクトルである。また、位置ベクトルFP2は、シーン特徴点C2の位置を示す位置ベクトルである。また、位置ベクトルFP3は、シーン特徴点C3の位置を示す位置ベクトルである。また、位置ベクトルFP4は、シーン特徴点C4の位置を示す位置ベクトルである。
部分点群検出部54は、これら4個の位置ベクトルFPiと、以下に示した式(1)とに基づいて、4個のシーン特徴点C1〜シーン特徴点C4のうちの最も距離が離れている2個のシーン特徴点間を結ぶベクトルのノルム、すなわち当該2個のシーン特徴点間の距離を算出する。
上記の式(1)においては、j=1〜4であり、且つi≠jである。すなわち、部分点群検出部54は、4個のシーン特徴点C1〜シーン特徴点C4のうちの2個のシーン特徴点の組み合わせ毎に、当該組み合わせに含まれる2個のシーン特徴点間を結ぶベクトルのノルムを算出する。この一例において、部分点群検出部54は、6個のノルムを算出する。そして、部分点群検出部54は、算出した6個のノルムのうちの最大のノルムを、4個のシーン特徴点C1〜シーン特徴点C4のうちの最も距離が離れている2個のシーン特徴点間を結ぶベクトルのノルムとして特定する。部分点群検出部54は、特定したノルム、すなわち最も距離が離れている2個のシーン特徴点間の距離を、幾何学的特徴量GF1として選択する。
<幾何学的特徴量の具体例2>
幾何学的特徴量の具体例2は、第2所定数のシーン特徴点のうちの最も距離が離れている2個のシーン特徴点間を結ぶ直線から、他の2個のシーン特徴点のそれぞれまでの最短距離である。ここで、図17を参照し、当該距離を算出する処理を視覚的に示す。図17は、4個のシーン特徴点C1〜シーン特徴点C4の位置関係の一例と、具体例2において部分点群検出部54が算出する距離とを示す図である。図17では、図16に示した4個のシーン特徴点C1〜シーン特徴点C4のうち、最も距離が離れている2個のシーン特徴点を直線D1によって結んでいる。
幾何学的特徴量の具体例2は、第2所定数のシーン特徴点のうちの最も距離が離れている2個のシーン特徴点間を結ぶ直線から、他の2個のシーン特徴点のそれぞれまでの最短距離である。ここで、図17を参照し、当該距離を算出する処理を視覚的に示す。図17は、4個のシーン特徴点C1〜シーン特徴点C4の位置関係の一例と、具体例2において部分点群検出部54が算出する距離とを示す図である。図17では、図16に示した4個のシーン特徴点C1〜シーン特徴点C4のうち、最も距離が離れている2個のシーン特徴点を直線D1によって結んでいる。
また、図17では、図16に示した4個のシーン特徴点C1〜シーン特徴点C4のうち、最も距離が離れている2個のシーン特徴点ではない他の2個のシーン特徴点(シーン特徴点C2、シーン特徴点C4)のそれぞれから、直線D1に対して垂線を引いている。ある直線Yから、直線Y上には存在していない点までの最短距離は、当該点から直線Yまでの垂線の長さとなる。すなわち、部分点群検出部54は、図17に示した直線D1に対してシーン特徴点C2及びシーン特徴点C4からそれぞれ引いた垂線の長さを算出する。
部分点群検出部54は、このようにして算出された垂線の長さのうちの一部又は全部を第1重心特徴量の成分とする幾何学的特徴量として選択する。この一例において、部分点群検出部54は、算出された垂線の長さのうち、最も長い垂線の長さを第1重心特徴量の成分とする幾何学的特徴量GF2として選択する。図17に示した例では、最も長い垂線は、直線D2である。すなわち、部分点群検出部54は、直線D2の長さを幾何学的特徴量GF2として選択する。
<幾何学的特徴量の具体例3>
幾何学的特徴量の具体例3は、第2所定数のシーン特徴点からランダム、又は所定の規則に基づいて選択した3個のシーン特徴点の全てを含む平面から、他のシーン特徴点までの最短距離である。ここで、図18を参照し、当該距離を算出する処理を視覚的に示す。図18は、図16に示した4個のシーン特徴点C1〜シーン特徴点C4の位置関係の一例と、具体例3において部分点群検出部54が算出する距離とを示す図である。図18では、4個のシーン特徴点C1〜シーン特徴点C4のうち、直線D1の両端であるシーン特徴点C1及びシーン特徴点C3と、直線D2の起点であるシーン特徴点C2とを含む平面Mに対して、残りの1個のシーン特徴点C4から垂線を引いている。図18に示した例では、当該垂線は、直線D3である。
幾何学的特徴量の具体例3は、第2所定数のシーン特徴点からランダム、又は所定の規則に基づいて選択した3個のシーン特徴点の全てを含む平面から、他のシーン特徴点までの最短距離である。ここで、図18を参照し、当該距離を算出する処理を視覚的に示す。図18は、図16に示した4個のシーン特徴点C1〜シーン特徴点C4の位置関係の一例と、具体例3において部分点群検出部54が算出する距離とを示す図である。図18では、4個のシーン特徴点C1〜シーン特徴点C4のうち、直線D1の両端であるシーン特徴点C1及びシーン特徴点C3と、直線D2の起点であるシーン特徴点C2とを含む平面Mに対して、残りの1個のシーン特徴点C4から垂線を引いている。図18に示した例では、当該垂線は、直線D3である。
ここで、平面Mから、平面M上には存在していない点までの最短距離は、当該点から平面Mまでの垂線の長さとなる。すなわち、部分点群検出部54は、図18に示した直線D3の長さを算出する。部分点群検出部54は、このようにして算出された直線D3の長さを第1重心特徴量の成分とする幾何学的特徴量GF3として選択する。
以上のように、この一例における部分点群検出部54は、直線D1の長さと、直線D2の長さと、直線D3の長さとを算出し、算出したこれらの距離のそれぞれを重心特徴点Gの第1重心特徴量の成分とする幾何学的特徴量GF1〜幾何学的特徴量GF3として選択する。すなわち、重心特徴点には、3つの幾何学的特徴量GF1〜幾何学的特徴量GF3のそれぞれを成分として有する第1重心特徴量が対応付けられる。なお、部分点群検出部54は、直線D1の長さと、直線D2の長さと、直線D3の長さとのうちの一部を第1重心特徴量の成分とする幾何学的特徴量として選択する構成であってもよい。また、部分点群検出部54は、直線D1の長さと、直線D2の長さと、直線D3の長さとの3つの成分のうちの一部又は全部を他の成分と代えた場合のそれぞれの成分を、第1重心特徴量の成分とする幾何学的特徴量として選択する構成であってもよい。また、部分点群検出部54は、直線D1の長さと、直線D2の長さと、直線D3の長さとの3つの成分と、1以上の他の成分との4以上のそれぞれの成分を、第1重心特徴量の成分とする幾何学的特徴量として選択する構成であってもよい。部分点群検出部54は、このような幾何学的特徴量の算出及び選択を、ステップS370において特定された全ての重心特徴点について行う。
ステップS380において第1重心特徴量が算出された後、特徴量算出部51は、ステップS370において特定した重心特徴点毎に、当該重心特徴点に応じた特徴的な量であり、第1重心特徴量とは異なる第2重心特徴量を算出する(ステップS390)。第2重心特徴量は、重心特徴点に応じた特徴的な2以上の量を成分として有するベクトルである。
ここで、ステップS390の処理について説明する。特徴量算出部51は、ステップS365において(ステップS365−Yes)の判定になるまでに累積された第1所定数以上のシーン特徴点それぞれのSHOT特徴量を算出する。なお、特徴量算出部51は、当該シーン特徴点それぞれのSHOT特徴量を算出する構成に代えて、他の従来の手法によって算出される他の特徴量や、今後新たに開発される手法によって算出される特徴量を算出する構成であってもよい。ただし、特徴量算出部51は、三次元モデル点群OMの各点の特徴量を算出する手法と同じ手法によって、当該シーン特徴点の特徴量を算出しなければならない。そして、特徴量算出部51は、ステップS370において部分点群検出部54が特定した重心特徴点毎に、当該重心特徴点を算出するために用いた第2所定数以上のシーン特徴点それぞれのSHOT特徴量を成分として有するベクトルを第2重心特徴量として算出(生成)する。
この一例において、特徴量算出部51は、4個のシーン特徴点C1〜シーン特徴点C4それぞれのSHOT特徴量FC1〜SHOT特徴量FC4を算出する。なお、これは、シーン特徴点C1のSHOT特徴量をSHOT特徴量FC1とし、シーン特徴点C2のSHOT特徴量をSHOT特徴量FC2とし、シーン特徴点C3のSHOT特徴量をSHOT特徴量FC3とし、シーン特徴点C4のSHOT特徴量をSHOT特徴量FC4として定義したものである。そして、特徴量算出部51は、重心特徴点Gを算出するために用いた当該4個のシーン特徴点C1〜シーン特徴点C4それぞれのSHOT特徴量FC1〜SHOT特徴量FC4を各成分として有するベクトルを第2重心特徴量として算出する。
ステップS390において第2重心特徴量が算出された後、部分点群検出部54は、ステップS370において特定した重心特徴点毎に、当該重心特徴点の第1重心特徴量及び第2重心特徴量に基づいて、統合重心特徴量を生成する(ステップS400)。ここで、ステップS400の処理について説明する。統合重心点特徴量は、ステップS370において部分点群検出部54が特定した重心特徴点毎に、当該重心特徴点の第1重心特徴量及び第2重心特徴量を成分として有するベクトル(配列記述子)である。例えば、上記で例に挙げている重心特徴点Gの統合重心特徴量は、以下の(2)式によって表されるベクトルである。
(重心特徴点Gの統合重心特徴量)=(重心特徴点Gの第1重心特徴量,重心特徴点Gの第2重心特徴量) ・・・(2)
なお、上記の式(2)に示した重心特徴点Gの統合重心特徴量が有する成分は、重心特徴点Gの第1重心特徴量と重心特徴点Gの第2重心特徴量との位置が逆であってもよい。また、上記の式(2)は、横ベクトルとして記載しているが、縦ベクトルであってもよい。
上記の式(2)は、第1重心特徴量と第2重心特徴量それぞれが有する成分をあらわに書くと、以下の式(3)のようになる。
(重心特徴点Gの統合重心特徴量)=(幾何学的特徴量GF1,幾何学的特徴量GF2,幾何学的特徴量GF3,SHOT特徴量FC1,SHOT特徴量FC2,SHOT特徴量FC3,SHOT特徴量FC4) ・・・(3)
ステップS400において統合重心特徴量が生成された後、部分点群検出部54は、三次元シーン点群OSの重心特徴点及び重心特徴点に対応付けられた統合重心特徴量と、三次元モデル点群OMの重心特徴点及び重心特徴点に対応付けられた統合重心特徴量とに基づいて、三次元シーン点群OSから、三次元モデル点群OMに対応する部分点群を検出する(ステップS410)。
ここで、ステップS410の処理について説明する。以下では、説明の便宜上、ステップS370において部分点群検出部54が特定した重心特徴点をシーン重心特徴点と称し、三次元モデル点群OMから予め特定しておいた重心特徴点をモデル重心特徴点と称して説明する。例えば、部分点群検出部54は、未選択のシーン重心特徴点を1つずつ選択する。部分点群検出部54は、選択したシーン重心特徴点毎に、当該シーン重心特徴点に対応する1以上のモデル重心特徴点の候補を検出する。
より具体的には、部分点群検出部54は、選択したシーン重心特徴点に対応付けられた統合重心特徴量と、モデル重心特徴点に対応付けられた統合重心特徴量との差を算出する。選択したシーン重心特徴点に対応づけられた統合重心特徴量と、モデル重心特徴点に対応付けられた統合重心特徴量とは、ともにベクトルであるため、これらの差もベクトルである。部分点群検出部54は、算出した差のノルムを算出する。そして、部分点群検出部54は、当該ノルムが所定の閾値未満であるか否かの判定を行う。
当該判定において、部分点群検出部54は、以下の式(4)を満たすモデル重心特徴点、すなわち当該ノルムが所定の閾値未満となるモデル重心特徴点を、選択したシーン重心特徴点に対応するモデル重心特徴点の候補として全て検出する。なお、部分点群検出部54は、以下の式(4)を満たすモデル重心特徴点の一部を、選択したシーン重心特徴点に対応するモデル重心特徴点の候補として検出する構成であってもよい。また、以下に示した式(4)では、選択したシーン重心特徴点に対応付けられた統合重心特徴量をベクトルGM1によって表し、モデル重心特徴点に対応付けられた統合重心特徴量をベクトルGM2によって表し、所定の閾値をεによって表した。
ここで部分点群検出部54は、対応するモデル重心特徴点の候補が検出されなかったシーン重心特徴点を、三次元モデル点群OMに対応する部分点群を検出する処理において無視する。部分点群検出部54は、対応するモデル重心特徴点の候補が検出された1以上のシーン重心特徴点と、当該1以上のシーン重心特徴点のそれぞれに対応する1以上のモデル重心特徴点の候補とに基づいて、シーン重心特徴点とモデル重心特徴点の候補とのマッチングを行い、三次元シーン点群OSから三次元モデル点群OMに対応する部分点群を検出する。なお、部分点群検出部54は、三次元シーン点群OSから三次元モデル点群OMに対応する部分点群が検出されない場合、当該部分点群が検出されないことを示す情報を生成する。
部分点群検出部54は、当該マッチングにおいて、RANSAC等を用いることにより、対応するモデル重心特徴点の候補が検出されたシーン重心特徴点に対応する1以上のモデル重心特徴点の候補のうち、当該シーン重心特徴点に対応することが一番尤もらしいモデル重心特徴点を選択する。そして、部分点群検出部54は、選択したモデル重心特徴点と、当該モデル重心特徴点に対応するシーン重心特徴点とに基づいて回転変換行列を生成し、生成した回転変換行列を用いて三次元シーン点群OSから三次元モデル点群OMに対応する部分点群を検出する。なお、部分点群検出部54は、三次元シーン点群OSから三次元モデル点群OMに対応する部分点群が検出されない場合、当該部分点群が検出されないことを示す情報を生成する。
次に、部分点群検出部54は、ステップS410において三次元シーン点群OSからの三次元モデル点群OMに対応する部分点群の検出に成功したか否かを判定する(ステップS420)。ステップS410において三次元シーン点群OSからの三次元モデル点群OMに対応する部分点群の検出に成功していないと判定した場合(ステップS420−No)、部分点群検出部54は、当該部分点群が検出されないことを示す情報を、エラー情報として表示部35に表示(出力)する(ステップS450)。一方、ステップS410において三次元シーン点群OSからの三次元モデル点群OMに対応する部分点群の検出に成功したと部分点群検出部54が判定した場合(ステップS420−Yes)、位置姿勢算出部55は、当該部分点群に基づいて対象物Oの位置及び姿勢を、ロボット20に把持させる対象物Oの候補である把持対象の位置及び姿勢として算出する(ステップS430)。
次に、ロボット制御部46は、ステップS430において算出した把持対象の位置及び姿勢に基づいて、第1エンドエフェクターE1に把持対象を把持させる。また、ロボット制御部46は、記憶部32から給材領域Aの位置を示す情報を読み込む。ロボット制御部46は、読み込んだ給材領域Aの位置を示す情報に基づいて第1アームを動作させることにより、第1エンドエフェクターE1が把持した把持対象を、給材領域Aに給材し(ステップS440)、処理を終了する。
以上のように、制御部36は、領域情報生成処理と、位置姿勢算出処理とを行う。なお、制御部36は、図12に示したステップS370からステップS410までの処理に代えて、ステップS360において検出されたシーン特徴点と、三次元モデル点群OMから検出されたモデル特徴点とに基づいた他のマッチングの手法によって三次元シーン点群OSのから三次元モデル点群OMに対応する部分点群を検出する構成であってもよい。
また、制御部36は、ステップS350において読み出した領域情報が表わす局所座標系をステップS330において選択した対象点に設定し、優先順位が最も高い部分領域を選択した後、選択した当該部分領域内における三次元シーン点群OSの一部に対してステップS330からステップS360までの処理を行う構成であってもよい。すなわち、制御部36は、選択した部分領域の中から更に部分領域を選択し、選択した当該部分領域に含まれる三次元シーン点群OSの一部からシーン特徴点を検出する。これにより、制御部36は、三次元シーン点群OSの一部から三次元モデル点群OMに対応する部分点群をより高い精度で検出することができる。その結果、制御部36は、対象物Oの位置及び姿勢をより高い精度で算出することができる。
また、制御部36は、ステップS430において算出された対象物Oの位置及び姿勢を初期値としてICP(Iterated Closest Points)法を行うことにより対象物Oの位置及び姿勢を算出する構成であってもよい。ICP法では、2つの点群のうちの一方の点群を構成する各点に対し、他方の点群における最近傍点を探索し、これらを仮の対応点とする(対応点探索)。また、ICP法では、このような対応点間の距離を最小化するような剛体変換を推定する(剛体変換推定)。ICP法では、これらの対応点探索、剛体変換推定を繰り返すことにより、2つの点群の位置合わせを行う。ICP法により、制御部36は、対象物Oの位置及び姿勢を高い精度で算出することができる。
以上説明したように、実施形態におけるロボット20のロボット制御装置30は、特徴量に対応付けられた領域を示す情報(この一例において、領域情報)に基づいて対象物Oの点群であるシーン点群(この一例において、三次元シーン点群OS)の点である第1点(例えば、上記の対象点C0)の特徴量に対応付けられた当該領域(例えば、上記の対象点C0に設定された局所座標系が表わす空間)に含まれるシーン点群の一部から特徴点をシーン特徴点として検出する。これにより、ロボット制御装置30は、シーン点群から特徴点を検出するために要する時間を短縮することができる。
また、ロボット制御装置30は、シーン特徴点に基づいて、モデル点群(この一例において、三次元モデル点群OM)に対応する部分点群をシーン点群の一部から検出する。これにより、ロボット制御装置30は、モデル点群に対応する部分点群をシーン点群から検出するために要する時間を短縮することができる。
また、ロボット制御装置30は、シーン特徴点に基づいて、シーン点群の一部から部分点群を抽出できなかった場合、シーン点群の点のうちの第1点とは異なる点である第2点の特徴量に対応付けられた領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボット制御装置30は、より確実にシーン点群の一部からシーン特徴点を検出することができる。
また、ロボット制御装置30は、シーン特徴点に基づいて、シーン点群の中から部分点群を検出できた場合、検出した当該部分点群に基づいて対象物Oの位置及び姿勢を算出し、算出した当該位置及び姿勢に基づいて対象物Oに対して所定の作業をロボット20に行わせる。これにより、ロボット制御装置30は、対象物Oに対してロボット20に所定の作業を行わせるために要する時間を短縮することができる。
また、ロボット制御装置30は、所定の第1条件(この一例において、三次元シーン点群OSから検出されたシーン特徴点の累積数が第1所定数以上であること)が満たされるまで優先順位に基づいて選択された部分領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボット制御装置30は、第1所定数以上のシーン特徴点を確実に確保することができる。
また、ロボット制御装置30は、所定の第1条件が満たされるまで、部分領域に含まれる特徴点の数に応じて決められている優先順位に基づいて選択された部分領域に含まれるシーン点群の一部からシーン特徴点を検出する。これにより、ロボット制御装置30は、部分領域に含まれる特徴点の数に応じて決められている優先順位に基づいて、シーン特徴点を検出するために要する時間を短縮することができる。
また、ロボット制御装置30は、モデル点群の点の特徴量に対応付けられた第1分布であって、モデル特徴点のモデル点群上における第1分布(この一例において、ある分割領域に含まれる点の対応情報)と、当該特徴量と類似する特徴量に対応付けられた第2分布であって、モデル特徴点のモデル点群上における第2分布(この一例において、当該対応情報とは異なる対応情報であって当該分割領域に含まれる点の対応情報)とに基づいて、特徴量に対応付けられた領域を示す情報を生成する。これにより、ロボット制御装置30は、特徴量に対応付けられた領域を示す情報を生成し、生成した当該領域を示す情報に基づいて、シーン点群から特徴点を検出するために要する時間を短縮することができる。
また、ロボット制御装置30は、シーン点群からシーン特徴点を検出する方法と同じ方法によってモデル点群からモデル特徴点を検出し、シーン点群の点の特徴量を算出する方法と同じ方法によってモデル点群の点の特徴量を算出し、検出した当該モデル特徴点と、算出した当該特徴量とに基づいて、第1分布及び第2分布を生成する。これにより、ロボット制御装置30は、検出した当該モデル特徴点と、算出した当該特徴量とに基づいて、シーン点群から特徴点を検出するために要する時間を短縮することができる。
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
また、以上に説明した装置(例えば、ロボット20のロボット制御装置30)における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD(Compact Disk)−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
20 ロボット、21 第1撮像部、22 第2撮像部、23 第3撮像部、24 第4撮像部、30 ロボット制御装置、31 CPU、32 記憶部、33 入力受付部、34 通信部、35 表示部、36 制御部、40 撮像制御部、42 画像取得部、44 三次元計測部、46 ロボット制御部、50 特徴点検出部、51 特徴量算出部、52 領域情報生成部、53 点群情報生成部、54 部分点群検出部、55 位置姿勢算出部、321 モデル記憶部
Claims (11)
- 特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた前記領域に含まれる前記シーン点群の一部から特徴点をシーン特徴点として検出するロボット制御装置と、
前記ロボット制御装置に制御されるロボットと、
を備えるロボットシステム。 - 前記ロボット制御装置は、前記シーン特徴点に基づいて、前記対象物のモデルの点群であるモデル点群に対応する部分点群を前記一部から検出する、
請求項1に記載のロボットシステム。 - 前記ロボット制御装置は、前記シーン特徴点に基づいて、前記一部から前記部分点群を抽出できなかった場合、前記シーン点群の点のうちの前記第1点とは異なる点である第2点の特徴量に対応付けられた前記領域に含まれる前記一部から前記シーン特徴点を検出する、
請求項2に記載のロボットシステム。 - 前記ロボット制御装置は、前記シーン特徴点に基づいて、前記シーン点群の中から前記部分点群を検出できた場合、検出した当該部分点群に基づいて得られる前記対象物の位置及び姿勢に基づいて前記対象物に対して所定の作業を前記ロボットに行わせる、
請求項2又は3のうちいずれか一項に記載のロボットシステム。 - 前記領域は、2以上の部分領域を含んでおり、
前記部分領域には、前記シーン点群から前記シーン特徴点を検出する優先順位が決められており、
前記ロボット制御装置は、所定の第1条件が満たされるまで前記優先順位に基づいて選択された前記部分領域に含まれる前記一部から前記シーン特徴点を検出する、
請求項1から4のうちいずれか一項に記載のロボットシステム。 - 前記部分領域の少なくとも1つには、特徴点が含まれており、
前記優先順位は、前記部分領域に含まれる特徴点の数に応じて決められている、
請求項5に記載のロボットシステム。 - 前記ロボット制御装置は、前記対象物のモデルの点群であるモデル点群の点の特徴量に対応付けられた第1分布であって、前記モデル点群から検出された特徴点であるモデル特徴点の前記モデル点群上における前記第1分布と、当該特徴量と類似する特徴量に対応付けられた第2分布であって、前記モデル特徴点の前記モデル点群上における前記第2分布とに基づいて、前記領域を示す情報を生成する、
請求項1から6のうちいずれか一項に記載のロボットシステム。 - 前記ロボット制御装置は、前記シーン点群から前記シーン特徴点を検出する方法と同じ方法によって前記モデル点群から前記モデル特徴点を検出し、前記シーン点群の点の特徴量を得る方法と同じ方法によって前記モデル点群の点の特徴量を得て、検出した前記モデル特徴点と、得られた当該特徴量とに基づいて、前記第1分布及び前記第2分布を生成する、
請求項7に記載のロボットシステム。 - 前記点群は、三次元点群である、
請求項1から8のうちいずれか一項に記載のロボットシステム。 - 特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた前記領域に含まれる前記シーン点群の一部から特徴点をシーン特徴点として検出する、
ロボット。 - 特徴量に対応付けられた領域を示す情報に基づいて対象物の点群であるシーン点群の点である第1点の特徴量に対応付けられた前記領域に含まれる前記シーン点群の一部から特徴点をシーン特徴点として検出する、
ロボット制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015169819A JP2017042897A (ja) | 2015-08-28 | 2015-08-28 | ロボットシステム、ロボット、及びロボット制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015169819A JP2017042897A (ja) | 2015-08-28 | 2015-08-28 | ロボットシステム、ロボット、及びロボット制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017042897A true JP2017042897A (ja) | 2017-03-02 |
Family
ID=58209339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015169819A Pending JP2017042897A (ja) | 2015-08-28 | 2015-08-28 | ロボットシステム、ロボット、及びロボット制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017042897A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107414829A (zh) * | 2017-07-28 | 2017-12-01 | 安徽爱依特科技有限公司 | 机器人多场景应用系统及方法 |
JP2019098405A (ja) * | 2017-11-28 | 2019-06-24 | 株式会社デンソーウェーブ | 教示データ表示装置、教示データ表示方法 |
DE112018001253T5 (de) | 2017-03-07 | 2019-12-12 | Denso Corporation | Basisflüssigkeit für ein wärmemedium, wärmeübertragungssystem unter verwendung der basisflüssigkeit und wärmepumpensystem unter verwendung der basisflüssigkeit |
WO2020217878A1 (ja) | 2019-04-26 | 2020-10-29 | オムロン株式会社 | 対象物の位置姿勢を検出する装置、方法およびプログラム |
-
2015
- 2015-08-28 JP JP2015169819A patent/JP2017042897A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112018001253T5 (de) | 2017-03-07 | 2019-12-12 | Denso Corporation | Basisflüssigkeit für ein wärmemedium, wärmeübertragungssystem unter verwendung der basisflüssigkeit und wärmepumpensystem unter verwendung der basisflüssigkeit |
CN107414829A (zh) * | 2017-07-28 | 2017-12-01 | 安徽爱依特科技有限公司 | 机器人多场景应用系统及方法 |
JP2019098405A (ja) * | 2017-11-28 | 2019-06-24 | 株式会社デンソーウェーブ | 教示データ表示装置、教示データ表示方法 |
WO2020217878A1 (ja) | 2019-04-26 | 2020-10-29 | オムロン株式会社 | 対象物の位置姿勢を検出する装置、方法およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6546618B2 (ja) | 学習装置、学習方法、学習モデル、検出装置及び把持システム | |
JP5835926B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
JP5977544B2 (ja) | 情報処理装置、情報処理方法 | |
JP6427972B2 (ja) | ロボット、ロボットシステム及び制御装置 | |
JP6000579B2 (ja) | 情報処理装置、情報処理方法 | |
Song et al. | CAD-based pose estimation design for random bin picking using a RGB-D camera | |
JP2013217893A (ja) | モデル生成装置、位置姿勢推定装置、情報処理装置、モデル生成方法、位置姿勢推定方法、情報処理方法 | |
US20170277167A1 (en) | Robot system, robot control device, and robot | |
JP2017042897A (ja) | ロボットシステム、ロボット、及びロボット制御装置 | |
JP2013217893A5 (ja) | 位置姿勢推定装置、情報処理装置、情報処理方法 | |
JP6885856B2 (ja) | ロボットシステムおよびキャリブレーション方法 | |
US20180215044A1 (en) | Image processing device, robot control device, and robot | |
Chen et al. | Random bin picking with multi-view image acquisition and cad-based pose estimation | |
CN111745639B (zh) | 信息处理方法及装置、物体检测装置以及机器人系统 | |
JP2022502791A (ja) | ロボットの姿勢を推定するシステムおよび方法、ロボット、並びに記憶媒体 | |
JP2017202549A (ja) | ロボット制御装置、ロボット、及びロボットシステム | |
JP2014053018A (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2015182212A (ja) | ロボットシステム、ロボット、制御装置、及び制御方法 | |
JP2015135333A (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
JP2013137591A (ja) | 最近傍点探索装置およびその方法、プログラム、3次元位置・姿勢認識装置およびその方法 | |
US11964400B2 (en) | Device and method for controlling a robot to pick up an object in various positions | |
JP2019164836A (ja) | 学習装置、学習方法、学習モデル、検出装置及び把持システム | |
JP6836628B2 (ja) | ピッキングまたはデバンニング用対象物認識装置、ピッキングまたはデバンニング用対象物認識方法、ならびにプログラム | |
JP2018017610A (ja) | 三次元計測装置、ロボット、ロボット制御装置、及びロボットシステム | |
JP2021061014A (ja) | 学習装置、学習方法、学習モデル、検出装置及び把持システム |