IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 川崎重工業株式会社の特許一覧

特開2024-94664物体検出装置、ロボットシステム及び物体検出方法
<>
  • 特開-物体検出装置、ロボットシステム及び物体検出方法 図1
  • 特開-物体検出装置、ロボットシステム及び物体検出方法 図2
  • 特開-物体検出装置、ロボットシステム及び物体検出方法 図3
  • 特開-物体検出装置、ロボットシステム及び物体検出方法 図4
  • 特開-物体検出装置、ロボットシステム及び物体検出方法 図5
  • 特開-物体検出装置、ロボットシステム及び物体検出方法 図6
  • 特開-物体検出装置、ロボットシステム及び物体検出方法 図7
  • 特開-物体検出装置、ロボットシステム及び物体検出方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024094664
(43)【公開日】2024-07-10
(54)【発明の名称】物体検出装置、ロボットシステム及び物体検出方法
(51)【国際特許分類】
   G06T 7/70 20170101AFI20240703BHJP
   G06V 20/64 20220101ALI20240703BHJP
   G06T 7/60 20170101ALI20240703BHJP
   B25J 13/08 20060101ALI20240703BHJP
   G06T 7/00 20170101ALI20240703BHJP
   B65G 47/90 20060101ALN20240703BHJP
【FI】
G06T7/70 Z
G06V20/64
G06T7/60 150Z
B25J13/08 A
G06T7/00 C
B65G47/90 B
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022211357
(22)【出願日】2022-12-28
(71)【出願人】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】100131200
【弁理士】
【氏名又は名称】河部 大輔
(72)【発明者】
【氏名】松田 吉平
(72)【発明者】
【氏名】山根 光希
(72)【発明者】
【氏名】井本 涼太
(72)【発明者】
【氏名】徐 天奮
【テーマコード(参考)】
3C707
3F072
5L096
【Fターム(参考)】
3C707AS04
3C707BS01
3C707BS07
3C707BS10
3C707BS15
3C707BS24
3C707DS01
3C707ES01
3C707FS01
3C707HS27
3C707KS03
3C707KS04
3C707KT02
3C707KT06
3C707LS15
3C707LV07
3C707LV08
3C707LW12
3C707LW15
3C707NS06
3C707NS19
3F072AA06
3F072GA10
3F072GD01
3F072GD03
3F072KD03
5L096AA09
5L096BA03
5L096BA05
5L096FA59
5L096FA64
5L096FA67
5L096FA69
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
【課題】物体検出の精度を向上させる
【解決手段】物体検出器3は、物体検出モデル42を用いて、物体が含まれる二次元画像44から種類の限定された多角形の面を検出する予備検出器34と、予備検出器34によって検出された面の三次元の位置に関する位置情報を、二次元画像44に対応する三次元情報45に基づいて特定する特定器35とを備える。
【選択図】図3

【特許請求の範囲】
【請求項1】
機械学習による学習済みモデルを用いて、物体が含まれる二次元画像から種類の限定された多角形の面を検出する予備検出器と、
前記予備検出器によって検出された前記面の三次元の位置に関する位置情報を、前記二次元画像に対応する三次元情報に基づいて特定する特定器とを備える物体検出装置。
【請求項2】
請求項1に記載の物体検出装置において、
対象物体の面の外形に関する登録情報を記憶する記憶器と、
前記特定器によって特定された前記位置情報を前記記憶器に記憶された前記登録情報に照らし合わせることによって、前記位置情報が特定された前記面の中から前記対象物体の面を選定する選定器をさらに備える物体検出装置。
【請求項3】
請求項2に記載の物体検出装置において、
前記登録情報は、前記対象物体の面の内角の大きさ、辺の長さ及び面積の少なくとも1つに関する情報である物体検出装置。
【請求項4】
請求項2に記載の物体検出装置において、
前記特定器は、前記予備検出器によって検出された前記面を、前記三次元情報に基づいて三次元の平面に近似し、
前記選定器は、前記位置情報が特定された前記面の中から、前記平面に対する前記三次元情報のばらつきに基づいて前記対象物体の面を選定する物体検出装置。
【請求項5】
請求項2に記載の物体検出装置において、
前記選定器は、前記予備検出器によって検出された前記面に対応する領域における前記三次元情報の欠損量に基づいて、前記位置情報が特定された前記面の中から前記対象物体の面を選定する物体検出装置。
【請求項6】
請求項2に記載の物体検出装置において、
前記選定器は、前記位置情報が特定された前記面の中から、前記位置情報から特定される前記面の法線方向に基づいて前記対象物体の面を選定する物体検出装置。
【請求項7】
ロボットと、
物体を検出する物体検出器と、
前記ロボットを制御するロボット制御装置とを備え、
前記物体検出器は、
機械学習による学習済みモデルを用いて、物体が含まれる二次元画像から種類の限定された多角形の面を検出する予備検出器と、
前記予備検出器によって検出された前記面の三次元の位置に関する位置情報を、前記二次元画像に対応する三次元情報に基づいて特定する特定器と、
前記特定器によって特定された前記位置情報に基づいて、前記ロボットの目標軌道を生成する軌道生成器とを有し、
前記ロボット制御装置は、前記軌道生成器によって生成された目標軌道に従って前記ロボットを制御して、前記ロボットに物体を処理させるロボットシステム。
【請求項8】
機械学習による学習済みモデルを用いて、物体が含まれる二次元画像から種類の限定された多角形の面を検出することと、
検出された前記面の三次元の位置に関する位置情報を、前記二次元画像に対応する三次元情報に基づいて特定することとを含む物体検出方法。
【発明の詳細な説明】
【技術分野】
【0001】
ここに開示された技術は、物体検出装置、ロボットシステム及び物体検出方法に関する。
【背景技術】
【0002】
従来より、物体を検出する装置が知られている。例えば、特許文献1に開示された装置は、物体が含まれる画像の中から輪郭線を検出することによって物体を検出する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-18716号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像からの物体検出には機械学習モデルが用いられることが多い。機械学習モデルの精度を向上させることによって、物体検出の精度が向上する。しかし、機械学習モデルの精度を単純に向上させようとすると、機械学習のためのアノテーション負荷が大きくなる。そのため、物体検出の精度の向上にはまだまだ改善の余地がある。
【0005】
ここに開示された技術は、かかる点に鑑みてなされたものであり、その目的とするところは、物体検出の精度を向上させることにある。
【課題を解決するための手段】
【0006】
本開示の物体検出器は、機械学習による学習済みモデルを用いて、物体が含まれる二次元画像から種類の限定された多角形の面を検出する予備検出器と、前記予備検出器によって検出された前記面の三次元の位置に関する位置情報を、前記二次元画像に対応する三次元情報に基づいて特定する特定器とを備える。
【0007】
本開示のロボットシステムは、ロボットと、物体を検出する物体検出器と、前記ロボットを制御するロボット制御装置とを備え、前記物体検出器は、機械学習による学習済みモデルを用いて、物体が含まれる二次元画像から種類の限定された多角形の面を検出する予備検出器と、前記予備検出器によって検出された前記面の三次元の位置に関する位置情報を、前記二次元画像に対応する三次元情報に基づいて特定する特定器と、前記特定器によって特定された前記位置情報に基づいて、前記ロボットの目標軌道を生成する軌道生成器とを有し、前記ロボット制御装置は、前記軌道生成器によって生成された目標軌道に従って前記ロボットを制御して、前記ロボットに物体を処理させる。
【0008】
本開示の物体検出方法は、機械学習による学習済みモデルを用いて、物体が含まれる二次元画像から種類の限定された多角形の面を検出することと、検出された前記面の三次元の位置に関する位置情報を、前記二次元画像に対応する三次元情報に基づいて特定することとを含む。
【発明の効果】
【0009】
前記物体検出器によれば、物体検出の精度を向上させることができる。
【0010】
前記ロボットシステムによれば、物体検出の精度を向上させることができる。
【0011】
前記物体検出方法によれば、物体検出の精度を向上させることができる。
【図面の簡単な説明】
【0012】
図1図1は、ロボットシステムの構成を示す模式図である。
図2図2は、ロボット制御装置及び物体検出器の概略的なハードウェア構成を示す図である。
図3図3は、制御器の制御系統の構成を示すブロック図である。
図4図4は、ロボットシステムにおける移送処理を示すフローチャートである。
図5図5は、二次元画像の一例である。
図6図6は、三次元情報の一例である。
図7図7は、図5に示される二次元画像において限定多角形の面が検出された結果である。
図8図8は、図6に示される三次元情報において限定多角形の面が特定された結果である。
【発明を実施するための形態】
【0013】
以下、例示的な実施形態を図面に基づいて詳細に説明する。
【0014】
以下、例示的な実施形態を図面に基づいて詳細に説明する。図1は、ロボットシステム100の構成を示す模式図である。
【0015】
ロボットシステム100は、ロボット1と、物体を検出する物体検出器3と、物体検出器3による検出結果に基づいてロボット1を制御するロボット制御装置2とを有している。ロボット制御装置2は、ロボット1を制御してロボット1に物体を処理させる。この例では、ロボット1による処理は、ピッキングである。例えば、第1コンテナ91内に複数の物体がバラ積みされている。物体検出器3は、第1コンテナ91内の複数の物体の中から対象物体Wを選定する。ロボット制御装置2は、物体検出器3の検出結果に基づいてロボット1を制御する。ロボット1は、第1コンテナ91内の対象物体Wをピッキングして第2コンテナ92内に移送する。ロボット1は、対象物体Wを第2コンテナ92内に規則的に配列する。ロボットシステム100は、対象物体Wの選定、ピッキング及び配列の処理を繰り返すことによって、第1コンテナ91内の複数の対象物体Wを第2コンテナ92内に配列する。物体検出器3は、物体検出装置の一例である。
【0016】
対象物体Wは、特定の形状を有する。この例では、対象物体Wは、略直方体である。つまり、対象物体Wは、3種類の略長方形状の面を合計6個有する。
【0017】
ロボットシステム100は、複数の物体の二次元画像を取得する第1センサとしての二次元カメラ51と、複数の物体の三次元情報を取得する第2センサとしての三次元ビジョンセンサ52とをさらに備えていてもよい。二次元カメラ51及び三次元ビジョンセンサ52は、第1コンテナ91の上方に固定的に配置されている。
【0018】
二次元カメラ51は、第1コンテナ91内の二次元画像を上方から撮影する。二次元カメラ51は、第1コンテナ91内の複数の物体を含む二次元画像を取得する。三次元ビジョンセンサ52は、第1コンテナ91内の三次元情報を取得する。三次元ビジョンセンサ52は、第1コンテナ91内の複数の物体の三次元情報として、複数の物体の点群データを取得する。尚、二次元カメラ51は、第1コンテナ91の二次元画像も取得し得る。三次元ビジョンセンサ52は、第1コンテナ91の三次元情報も取得し得る。
【0019】
二次元画像と三次元情報とは、互いに対応している。つまり、二次元画像における位置と三次元情報における位置とは、互いに対応している。二次元画像上の位置が特定されると、三次元情報における対応する位置が特定される。
【0020】
-ロボット-
ロボット1は、この例では、産業用ロボットである。ロボット1は、ロボットアーム12を有している。ロボットアーム12は、エンドエフェクタとしてのハンド14を有している。ロボットアーム12は、ハンド14によって物体を吸着する。
【0021】
ロボット1が配置される空間には、直交3軸のロボット座標系が規定されている。例えば、上下方向にZ軸が設定され、水平方向に互いに直交するX軸及びY軸が設定される。
【0022】
ロボットアーム12は、三次元状に動作するように構成されている。具体的には、ロボットアーム12は、少なくとも3自由度の並進を含む動作を行うように構成されている。この例では、ロボットアーム12は、垂直多関節型のロボットアームである。ロボットアーム12は、ベース10に支持されている。ロボットアーム12は、複数のリンクと、複数のリンクを接続する複数の関節と、複数の関節を回転駆動するサーボモータとを有している。
【0023】
詳しくは、ロボットアーム12は、ベース10に連結された第1リンク12aと、第1リンク12aに連結された第2リンク12bと、第2リンク12bに連結された第3リンク12cと、第3リンク12cに連結された第4リンク12dと、第4リンク12dに連結された第5リンク12eとを有している。
【0024】
詳しくは、ベース10と第1リンク12aとは、鉛直方向に延びる軸回りに回転可能な第1関節13aを介して互いに連結されている。第1リンク12aと第2リンク12bとは、水平方向に延びる軸回りに回転可能な第2関節13bを介して互いに連結されている。第2リンク12bと第3リンク12cとは、水平方向に延びる軸回りに回転可能な第3関節13cを介して互いに連結されている。第3リンク12cと第4リンク12dとは、第4リンク12dの軸心(即ち、第4リンク12dが延びる方向)回りに回転可能な第4関節13dを介して互いに連結されている。第4リンク12dと第5リンク12eとは、第4リンク12dの軸心と直交する軸回りに回転可能な第5関節13eを介して互いに連結されている。
【0025】
ロボットアーム12は、各関節を回転駆動するサーボモータ15(図2参照)を有している。各サーボモータ15は、エンコーダ15a(図2参照)を有している。
【0026】
このように構成されたロボットアーム12は、X軸、Y軸及びZ軸方向への並進動作、並びにX軸、Y軸及びZ軸回りの回転動作を行うように構成されている。
【0027】
ハンド14は、ロボットアーム12の先端部、即ち、第5リンク12eに連結されている。第5リンク12eとハンド14とは、所定の軸回りに回転可能に第6関節13fを介して互いに連結されている。ハンド14は、吸着器14aを有している。吸着器14aには、負圧源に接続されたエアホースが接続されている。エアホースには、アクチュエータ14b(図2参照)としての電磁弁が設けられている。電磁弁が制御されることによって、吸着器14aによる吸着及びその解放が切り替えられる。吸着器14aは、対象物体Wの面を吸着する。
【0028】
-ロボット制御装置及び制御装置-
図2は、ロボット制御装置2及び物体検出器3の概略的なハードウェア構成を示す図である。物体検出器3は、ロボット制御装置2と信号及び情報等の送受信を行う。物体検出器3には、二次元カメラ51からの二次元画像44及び三次元ビジョンセンサ52からの三次元情報45が入力される。物体検出器3は、二次元画像44及び三次元情報45に基づいて対象物体Wを検出する。それに加えて、物体検出器3は、検出された対象物体Wに基づいてロボット1の目標軌道を生成し、生成された目標軌道に対応する指令をロボット制御装置2に出力する。ロボット制御装置2は、物体検出器3からの指令に応じて、ロボットアーム12のサーボモータ15及びハンド14を制御する。
【0029】
ロボット制御装置2は、制御器21と、記憶器22と、メモリ23とを有している。
【0030】
制御器21は、ロボット制御装置2の全体を制御する。制御器21は、各種の演算処理を行う。例えば、制御器21は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御器21は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)、システムLSI等で形成されていてもよい。
【0031】
記憶器22は、制御器21で実行されるプログラム及び各種データを格納している。記憶器22は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
【0032】
メモリ23は、データ等を一時的に格納する。例えば、メモリ23は、揮発性メモリで形成される。
【0033】
制御器21は、物体検出器3からの指令値に基づいてサーボモータ15を駆動する。このとき、ロボット制御装置2は、エンコーダ15aの検出結果に基づいてサーボモータ15への供給電流をフィードバック制御する。また、制御器21は、ハンド14のアクチュエータを制御することによってハンド14による吸着及び解放を切り替える。
【0034】
物体検出器3は、制御器31と、記憶器32と、メモリ33とを有している。
【0035】
制御器31は、物体検出器3の全体を制御する。制御器31は、各種の演算処理を行う。例えば、制御器31は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御器31は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)、システムLSI等で形成されていてもよい。
【0036】
記憶器32は、制御器31で実行されるプログラム及び各種データを格納している。記憶器32は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
【0037】
例えば、記憶器32は、物体を検出する物体検出プログラム41及び物体検出モデル42を格納している。物体検出プログラム41は、物体検出器3に各種機能を実現させ、物体を検出させる。物体検出モデル42は、機械学習による学習済みモデルである。記憶器32は、検出対象となる物体の面の外形に関する登録情報43を記憶している。
【0038】
登録情報43は、物体の面の形状を具体的に特定する情報である。例えば、登録情報43は、検出対象となる物体の面の各辺の長さ、各内角及び面積の少なくとも1つを含む。検出対象となる物体の面が四角形の場合、登録情報43は、アスペクト比(即ち、縦横比)を含んでいてもよい。登録情報43は、辺の長さ等の値であってもよいし、範囲であってもよい。この例では、ピッキングの対象物体Wが略直方体である。登録情報43は、略長方形の面の形状を具体的に特定する情報である。具体的には、登録情報43は、対象物体Wの略長方形の面として想定される各辺の長さの範囲、各内角の範囲、面積の範囲及びアスペクト比の範囲等である。
【0039】
メモリ33は、データ等を一時的に格納する。例えば、メモリ33は、揮発性メモリで形成される。メモリ33は、二次元カメラ51からの二次元画像44及び三次元ビジョンセンサ52からの三次元情報45を記憶する。
【0040】
図3は、制御器31の制御系統の構成を示すブロック図である。制御器31は、記憶器32から物体検出プログラム41をメモリ33に読み出して展開することによって、各種機能を実現する。詳しくは、制御器31は、予備検出器34と特定器35と選定器36と軌道生成器37として機能する。
【0041】
予備検出器34は、機械学習によって学習済みの物体検出モデル42を用いて、物体が含まれる二次元画像44から種類の限定された多角形の面を検出する。ここで、多角形の「種類」は、多角形の頂点の個数、即ち、何角形かを意味する。予備検出器34は、多角形の各頂点の内角及び各辺の長さを特定しない。つまり、予備検出器34は、種類が限定され、且つ、各頂点の内角及び各辺の長さが任意の多角形の面を検出する。以下、種類が限定された多角形を「限定多角形」と称する。予備検出器34によって限定される多角形の種類は、検出対象の物体の面の種類と一致する。この例では、検出対象の物体は3種類の面を有し、3種類は全て四角形である。そのため、予備検出器34によって限定される多角形の種類は、四角形である。つまり、予備検出器34は、各頂点の内角及び各辺の長さが任意の四角形の面を二次元画像44の中から検出する。尚、予備検出器34は、二次元画像44中の多角形を多角形の面として検出する。
【0042】
物体検出モデル42は、二次元画像44を入力として、限定多角形の面を検出する。二次元画像44に複数の限定多角形の面が含まれる場合には、物体検出モデル42は、複数の限定多角形の面を検出し得る。物体検出モデル42は、画像認識を行う。物体検出モデル42は、限定多角形の面の検出結果として、限定多角形の位置及び形状を特定する情報を出力する。例えば、限定多角形の位置及び形状を特定する情報は、二次元画像44に対応するローカル座標系(例えば、カメラ座標系)における限定多角形の重心の位置及び頂点の位置である。頂点の位置は、例えば、重心から各辺までの垂線の長さ、各垂線の方向(即ち、重心を中心とする各垂線の角度)及び各辺の長さ等であってもよい。さらに、物体検出モデル42は、限定多角形の検出の確信度も出力し得る。
【0043】
物体検出モデル42は、前述の如く、機械学習による学習済みモデルである。学習済みモデルは、AI(Artificial Intelligence)、分類器又は分類学習器と呼ばれることもある。機械学習は、公知の種々の手法を利用可能であり、例えば、強化学習又は深層学習であり得る。物体検出モデル42は、ニューラルネットワークを含んでいる。ニューラルネットワークは、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であり得る。
【0044】
予備検出器34は、二次元画像44を物体検出モデル42に入力する。尚、予備検出器34は、二次元画像44を物体検出モデル42へ入力する前に、二次元画像44に切り出し等の処理を施してもよい。例えば、予備検出器34は、二次元画像44のうち第1コンテナ91が含まれる領域を切り出す。
【0045】
予備検出器34は、物体検出モデル42によって検出された限定多角形の中から一部の限定多角形を除去する。例えば、予備検出器34は、非極大値抑制(NMS:Non-Maximum Suppression)によって余分な限定多角形を除去する。具体的には、予備検出器34は、IoU(Intersection over Union)が所定の閾値を超えて重なっている複数の限定多角形のうち、確信度が高い1つの限定多角形を残して、それ以外の限定多角形を除去する。あるいは、予備検出器34は、重心位置が所定の閾値未満に接近する複数の限定多角形のうち、1つの限定多角形を残して残りの限定多角形を除去する。それに加えて、予備検出器34は、検出された限定多角形の中から、確信度が所定の閾値未満の限定多角形を除去する。こうして、予備検出器34は、最終的に出力する限定多角形の個数を減らす。
【0046】
特定器35は、予備検出器34によって検出された面の三次元の位置に関する位置情報を、二次元画像44に対応する三次元情報45に基づいて特定する。二次元画像44における位置と三次元情報45における位置は対応している。すなわち、二次元画像44における位置は、三次元情報45における位置に一意に対応している。特定器35は、予備検出器34によって検出された限定多角形の面に対応する点群を三次元情報45から抽出する。詳しくは、予備検出器34は、限定多角形の面の二次元位置を特定器35へ出力する。特定器35は、三次元情報45において限定多角形の面の二次元位置に対応する位置の点群を限定多角形の面に対応する点群として抽出する。特定器35は、限定多角形の面に対応する点群を三次元の平面に近似することによって、限定多角形の面の三次元の位置情報を特定する。例えば、三次元の位置情報は、限定多角形の面の三次元的な位置及び姿勢に関する情報である。例えば、三次元の位置情報は、限定多角形の重心の三次元位置、面の法線方向、各頂点の三次元位置及び各辺の長さの少なくとも1つを含んでいる。この例では、特定器35は、三次元の位置情報として、限定多角形の重心の三次元位置、面の法線方向、各頂点の三次元位置及び各辺の長さの全てを特定する。
【0047】
この例では、特定器35は、限定多角形の面に対応する点群の中でずれが大きい点を外れ値として除去して、平面近似を行う。例えば、特定器35は、限定多角形の面に対応する点群を用いて暫定的な近似平面を求め、暫定的な近似平面に対するずれが所定値以上の点を外れ値とし、外れ値を除いた点群から最終的な近似平面を求めてもよい。これにより、限定多角形の面の三次元位置の検出精度が向上する。
【0048】
選定器36は、特定器35によって特定された位置情報を記憶器32に記憶された登録情報43に照らし合わせることによって、位置情報が特定された面の中から対象物体Wの面を選定する。詳しくは、選定器36は、特定器35によって三次元の位置情報の特定された限定多角形の面が登録情報43に適合するか否かを判定する。特定器35は、限定多角形の面の三次元的な位置を特定する。記憶器32は、対象物体Wの面の外形に関する登録情報43を記憶している。例えば、選定器36は、特定された限定多角形の面の各辺の長さ、面積、各頂点の内角及びアスペクト比が登録情報43における各辺の長さ、面積、各頂点の内角及びアスペクト比の範囲に含まれる場合に、限定多角形の面が登録情報43に適合すると判定する。選定器36は、特定器35によって位置情報の特定された複数の限定多角形の面のうち、登録情報43に適合する限定多角形の面を対象物体Wの面として選定する。ここで、対象物体Wの面の選定は、あくまで推定である。そのため、対象物体Wの面の選定は、対象物体Wの面の候補となる面の選定、又は、対象物体Wの面の可能性のある面の選定と言い換えることもできる。
【0049】
選定器36は、登録情報43に基づく面の選定だけでなく、環境条件等に基づく面の選定を行ってもよい。環境条件等とは、二次元カメラ51及び三次元ビジョンセンサ52の精度及び撮影環境、物体の面の性状、第1コンテナ91の大きさ、並びに、ロボットアーム12の可動範囲等である。
【0050】
詳しくは、選定器36は、特定器35によって特定された複数の限定多角形の面を、各面に含まれる点群のばらつきに基づいて選定してもよい。例えば、選定器36は、特定された複数の限定多角形の面のうち、点群のばらつきが所定の閾値以上の面を除外し、点群のばらつきが閾値未満の面を対象物体Wの面として選定してもよい。点群のばらつきとは、特定器35によって求められた近似平面に対する、近似平面の算出に用いられた点群のばらつきである。これは、二次元カメラ51及び三次元ビジョンセンサ52の精度及び撮影環境、並びに、物体の面の性状に基づく選定である。
【0051】
選定器36は、特定器35によって特定された複数の限定多角形の面を、各面の欠損量(即ち、欠損点の個数)に基づいて選定してもよい。欠損点は、限定多角形の面において欠損している点であり、前述の外れ値として除外された点等が相当する。さらには、三次元ビジョンセンサ52による三次元情報45の取得状況によっては、三次元情報45には、最初から欠損点が存在する場合もあり得る。例えば、選定器36は、特定された複数の限定多角形の面のうち、欠損量が所定の閾値以上の面を除外し、欠損量が閾値未満の面を対象物体Wの面として選定してもよい。これは、二次元カメラ51及び三次元ビジョンセンサ52の精度及び撮影環境、並びに、物体の面の性状に基づく選定である。
【0052】
選定器36は、特定器35によって特定された複数の限定多角形の面を、面の位置に基づいて選定してもよい。例えば、選定器36は、特定された複数の限定多角形の面のうち、第1コンテナ91の内側に収まっていない面を除外し、第1コンテナ91の内側に存在する面を対象物体Wの面として選定してもよい。これは、第1コンテナ91の大きさに基づく選定である。
【0053】
さらに、選定器36は、特定器35によって特定された複数の限定多角形の面を、面の法線方向に基づいて選定してもよい。例えば、選定器36は、特定された複数の限定多角形の面のうち、所定の基準方向に対する法線方向の傾きが所定の閾値以上の面を除外し、法線方向の傾きが閾値未満の面を対象物体Wの面として選定してもよい。例えば、基準方向は、第1コンテナ91の開口方向であり、即ち、撮影方向である。ロボットアーム12は、第1コンテナ91の開口から対象物体Wへアクセスするので、第1コンテナ91の開口方向と大きく異なる方向を向く面は、ピッキングする対象物体Wの面として相応しくない。そのため、選定器36は、基準方向に対する法線方向の傾きが小さい面を選定する。これは、面の向きに基づく選定である。
【0054】
選定器36は、特定器35によって特定された複数の限定多角形の面を、ロボットアーム12がアクセス可能か否かに基づいて選定してもよい。例えば、選定器36は、特定された複数の限定多角形の面のうち、ロボットアーム12がアクセスする際に第1コンテナ91と干渉してしまう面を除外し、ロボットアーム12が第1コンテナ91と干渉することなくアクセスできる面を対象物体Wの面として選定してもよい。これは、ロボットアーム12の可動範囲に基づく選定である。
【0055】
最終的に、選定器36は、選定された対象物体Wの面の三次元の位置情報、即ち、面の重心の三次元位置、面の法線方向、各頂点の三次元位置及び各辺の長さを出力する。
【0056】
選定器36は、対象物体Wの面を複数選定し得る。選定器36は、複数の面を選定した場合、選定された複数の面に優先順位を設定してもよい。優先順位は、対象物体Wの面の選定の信頼度の順であってもよい。あるいは、優先順位は、後に続く処理(この例ではピッキング)との関連で設定されてもよい。例えば、選定器36は、選定された複数の面に前述の欠損量の少ない順に高い優先順位を付けてもよい。選定器36は、選定された複数の面に前述の点群のばらつきの小さい順に高い優先順位を付けてもよい。選定器36は、選定された複数の面に前述の法線方向が鉛直上方に近い順に高い優先順位を付けてもよい。
【0057】
軌道生成器37は、選定器36によって選定された面の三次元の位置情報に基づいて、第1コンテナ91内から対象物体Wをピッキングして第2コンテナ92内に配列するためのロボットアーム12の目標軌道を生成する。
【0058】
選定器36によって複数の面が出力された場合には、軌道生成器37は、複数の面の中から1つの面を選択する。つまり、軌道生成器37は、複数の面の中からハンド14によって吸着する1つの面を選択する。例えば、軌道生成器37は、ロボットアーム12が最もアクセスしやすい1つの面又はサイクルタイムが短くなる1つの面を選択する。より詳しくは、軌道生成器37は、複数の面の中からアクセスのしやすさの観点で1つの面を選択し、アクセスのしやすさの観点では1つの面を選択できない場合にはサイクルタイムが短くなる観点で1つの面を選択する。あるいは、物体が直方体であり、且つ直方体の3種類の面に優先順位が設定されている場合には、軌道生成器37は、複数の面のうち最も優先順位の高い1つの面を選択する。例えば、直方体の3種類の面には、面積の大きい順に優先順位が設定されていてもよい。
【0059】
軌道生成器37は、選定された1つの面をハンド14が吸着し、ハンド14を第2コンテナ92の所定の位置へ移送するためのロボットアーム12の目標軌道を生成する。このとき、軌道生成器37は、ロボットアーム12が第1コンテナ91及び第2コンテナ92に干渉しない目標軌道を生成する。軌道生成器37は、目標軌道を実現する、ロボットアーム12の各関節の回転角に応じた指令値を生成し、生成された指令値をロボット制御装置2へ出力する。
【0060】
続いて、このように構成されたロボットシステム100の動作について説明する。図4は、ロボットシステム100における移送処理を示すフローチャートである。この例では、ロボットシステム100は、第1コンテナ91に含まれる略直方体の対象物体Wをピッキングして、第2コンテナ92へ移送する。
【0061】
まず、物体検出器3は、ステップS1において、二次元カメラ51によって二次元画像44を取得すると共に、三次元ビジョンセンサ52によって三次元情報45を取得する。二次元カメラ51は、第1コンテナ91の上方から第1コンテナ91を含む第1コンテナ91の内部の二次元画像44を撮影する。三次元ビジョンセンサ52は、第1コンテナ91の上方から第1コンテナ91を含む第1コンテナ91の内部の三次元情報45を取得する。
【0062】
図5は、二次元画像44の一例である。図6は、三次元情報45の一例である。二次元画像44は、いわゆる平面画像である。図6では、三次元情報45としての点群を側方から視た状態を示している。三次元情報45としての点群は、三次元的な拡がりを有する。二次元画像44及び三次元情報45はそれぞれ、複数の物体及び第1コンテナ91を含んでいる。
【0063】
次に、物体検出器3は、ステップS2において、二次元画像44の中から限定多角形の面を検出する。この例では、限定多角形は、四角形である。予備検出器34は、二次元画像44の中から、任意の内角の大きさ及び辺の長さを有する四角形の面を検出する。このとき、予備検出器34は、検出された限定多角形の中から不要な又は不適切な限定多角形を除去する。ステップS2は、機械学習による学習済みモデルを用いて、物体が含まれる二次元画像から種類の限定された多角形の面を検出することに相当する。
【0064】
図7は、図5に示される二次元画像44において限定多角形の面が検出された結果である。予備検出器34は、二次元画像44に含まれる複数の四角形の面sを検出する。図7では、符号「s」の後ろに各面を識別するための数字が添付されている。各面を区別しない場合には、単に「面s」と称する。面s1,s2,s9,s10及びs11は、略長方形の面である。面s3,s4,s5,s6,s7及びs8は、略平行四辺形の面である。第1コンテナ91に含まれるものは全て、略直方体の対象物体Wである。対象物体Wの面はいずれも、略長方形である。しかしながら、撮影方向と面の法線方向との関係で、二次元画像44中の対象物体Wの面は、実際の形状とは異なる形状になり得る。そのため、図7に示すように、予備検出器34によって検出される複数の面sは、略長方形又は略平行四辺形となる。尚、撮影方向の奥行きによっては、対象物体Wの面は、台形等にもなり得る。予備検出器34によって検出される複数の面sは、台形の面を含んでもよく、長方形、平行四辺形及び台形に分類されない四角形の面を含んでもよい。
【0065】
続いて、物体検出器3は、ステップS3において、二次元の限定多角形の面sを三次元の限定多角形の面に変換する。つまり、特定器35は、予備検出器34によって検出された限定多角形の面sの二次元位置に対応する点群を三次元情報45の中から抽出する。特定器35は、抽出された点群を平面近似することによって、限定多角形の面sの三次元の位置情報(即ち、三次元的な位置及び姿勢)を特定する。ステップS3は、検出された前記面の三次元の位置に関する位置情報を、前記二次元画像に対応する三次元情報に基づいて特定することに相当する。
【0066】
図8は、図6に示される三次元情報45において限定多角形の面が特定された結果である。特定器35は、三次元情報45の中から面sに対応する点群を抽出する。図8中の符号「s」及びその添え字は、図7の面に対応している。特定器35は、各面sに対応する点群から近似平面を求める。
【0067】
さらに、物体検出器3は、ステップS4において、三次元の位置情報が特定された限定多角形の面sの中から対象物体Wの面を選定する。詳しくは、選定器36は、限定多角形の特定された三次元の位置情報を登録情報43に照らし合わせて、対象物体Wの面であるか否かを判定する。選定器36は、三次元の位置情報によって特定された限定多角形の各辺の長さ、各内角の大きさ、面積及びアスペクト比が登録情報43に適合するか否かを判定し、適合する限定多角形の面を対象物体Wの面として選定する。選定される面の個数は、1つに限定されず、複数であってもよい。
【0068】
二次元画像44において、対象物体Wの面以外の面であっても限定多角形に該当する面は、予備検出器34に検出され得る。そのような面は、特定器35によって三次元の位置情報が特定され且つ選定器36によって登録情報43と照らし合わされることによって、対象物体Wの面でないことが判明する。つまり、予備検出器34が対象物体Wの面以外の面を検出したとしても、選定器36が対象物体Wの面以外の面を除外し、対象物体Wの面を選定する。
【0069】
この例では、選定器36は、さらに環境条件等(例えば、点群のばらつき、点群の欠損量又は面の法線方向)に基づく面の選定を行う。例えば、図7,8の例では、選定器36は、面の法線方向の向き及びロボットアーム12のアクセス等を考慮して、面s3及びs8を対象物体Wの面として選定する。
【0070】
次に、物体検出器3は、ステップS5において、選定された面に基づいてロボットアーム12の目標軌道を生成する。詳しくは、軌道生成器37は、選定された面を有する対象物体Wをピッキングして第2コンテナ92へ移送するためのロボットアーム12の目標軌道を生成する。尚、複数の面が選定器36によって選定されている場合には、軌道生成器37は、複数の面の中から一の面を選択する。例えば、図7,8の例では、軌道生成器37は、選定された面s3及びs8から一の面を選択する。軌道生成器37は、生成された目標軌道に対応する指令値をロボット制御装置2へ出力する。
【0071】
ロボット制御装置2は、ステップS6において、軌道生成器37からの指令値に基づいてサーボモータ15等を制御して、ロボットアーム12を動作させる。その結果、ロボットアーム12は、選定された面を有する対象物体Wをピッキングして、第2コンテナ92内に配列する。具体的には、ロボットアーム12は、選定された面をハンド14によって吸着する。
【0072】
ロボットシステム100は、以上の処理を繰り返すことによって、第1コンテナ91内の対象物体Wを第2コンテナ92へ移送し、配列する。第1コンテナ91内の対象物体Wが無くなるまで、又は、第2コンテナ92へ移送された対象物体Wの個数が所定の個数に達するまで、ロボットシステム100は、対象物体Wの移送を継続する。
【0073】
このように、物体検出器3は、物体検出モデル42を用いて二次元画像44から面を検出し、検出された面の三次元の位置情報を三次元情報に基づいて特定する。このとき、予備検出器34は、様々な種類の多角形の面ではなく、種類が限定された多角形の面を物体検出モデル42を用いて二次元画像44から検出する。例えば、複数の物体がバラ積みされた状況では、法線方向が撮影方向を向いていない面も存在する。法線方向が撮影方向を向いていない面は、二次元画像44においては実際の形状とは異なる形状で表される。つまり、二次元画像44における各内角の大きさ又は各辺の長さ等は、面の法線方向の向き等に起因して変化し得る。仮に様々な形状の多角形の面を検出対象とすると、物体検出モデル42の機械学習のためのアノテーション負荷が増大し、学習効率が低下し得る。その一方で、二次元画像44では、内角の大きさ等が変化しても、多角形の種類は変化しない。そのため、予備検出器34は、二次元画像44の中から検出する面の多角形の種類を限定することによって、物体の面の可能性が低い面を検出対象から除外して、検出対象の範囲を限定する。その結果、物体検出モデル42の学習を効率化でき且つ検出精度を向上できる。
【0074】
しかし、多角形の種類を限定するだけでは、物体検出器3は、対象物体Wの面ではない面も検出し得る。そこで、特定器35は、予備検出器34によって検出された面の三次元の位置情報を三次元情報45に基づいて特定する。面の三次元の位置情報が特定されることによって、対象物体Wの面か否かの判定がしやすくなる。
【0075】
さらに、物体検出器3は、面の三次元の位置情報を登録情報43に照らし合わせることによって適切な面を選定する。つまり、二次元画像44では面の内角の大きさ及び辺の長さを適切に評価できない。しかし、面の三次元の位置情報が特定されることによって、面の内角の大きさ等の評価が可能となる。登録情報43として、各内角の大きさ、各辺の長さ、アスペクト比及び面積が値又は範囲の形式で設定されている。選定器36は、特定された面の三次元の位置情報を登録情報43に照らし合わせることによって対象物体Wの面を選定する。こうして、物体検出器3は、対象物体Wの面を精度よく検出することができる。
【0076】
《その他の実施形態》
以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【0077】
例えば、物体検出器3は、ロボットシステム100に組み込まれたものに限定されない。物体検出器3は、ロボット1とは無関係に、物体の面を単に検出するだけであってもよい。
【0078】
また、物体検出器3は、軌道生成器37を有さない、即ち、ロボット1の目標軌道を生成しなくてもよい。物体検出器3は、物体の面を検出し、検出結果を出力するだけでもよい。外部機器が、物体検出器3の検出結果に基づいてロボット1の目標軌道を生成してもよい。
【0079】
物体検出器3は、選定器36を有さなくてもよい。物体検出器3は、二次元画像44から検出された面の三次元の位置情報を三次元情報45に基づいて特定し、面の三次元の位置情報を出力するだけでもよい。
【0080】
物体検出器3が組み込まれたロボットシステム100は、物体検出器3によって検出された対象物体Wを第1コンテナ91から第2コンテナ92へ移送するものに限定されない。例えば、ロボット1は、デバンニングを実行するものであってもよい。あるいは、ロボット1による処理は、ピッキングに限定されない。例えば、ロボット1による処理は、塗装又は切削等であってもよい。つまり、物体検出器3は、塗装又は切削等の処理を実行するための物体の面を検出する。
【0081】
ロボット1は、ロボットアームを備えないロボット、例えば、自走式のロボットなどであってもよい。ロボットアーム12は、垂直多関節型のロボットアームに限定されない。ロボットアーム12は、水平多関節型、パラレルリンク型、直角座標型、又は極座標型のロボットアーム等であってもよい。
【0082】
ハンド14は、吸着型ではなく、グリップ型であってもよい。すなわち、ハンド14は、開閉する指を有し、指によって物体を把持してもよい。尚、ハンド14がグリップ型の場合、軌道生成器37は、例えば、選定された対象物体Wの面にハンド14が対向する状態でハンド14が対象物体Wを把持するような目標軌道を生成する。
【0083】
物体検出器3は、バラ積みされた物体ではなく、整列された物体の中から対象物体Wを検出してもよい。物体検出器3は、コンテナ内の物体に限定されず、コンベア等に載置された物体の中から対象物体Wを検出してもよい。物体検出器3が面を検出する対象物体は、直方体の物体に限定されない。対象物体は、多角形の面を有する限り、任意の物体が適用される。例えば、対象物体は、略三角柱の形状を有していてもよい。その場合、対象物体は、3つの略長方形の面と2つの略三角形の面を有する。予備検出器34は、限定多角形として三角形及び四角形の少なくとも一方を設定し得る。登録情報43は、予備検出器34が限定した種類に対応する多角形の面の形状を特定する情報である。
【0084】
二次元画像44を取得する装置は、二次元カメラ51に限定されない。三次元情報45を取得する装置は、三次元ビジョンセンサ52に限定されない。例えば、RGB-D画像を出力するRGB-Dカメラ、RGB画像を取得するステレオカメラ等によって、三次元情報45が取得されてもよい。その場合、RGB-Dカメラ等は、三次元情報45に加えて、二次元画像44を撮影してもよい。三次元情報45は、点群データ、RGB-D画像、RGB画像の他に、デプス画像、ボクセル等であってもよい。
【0085】
物体検出器3が参照する二次元画像44及び三次元情報45はそれぞれ、二次元カメラ51及び三次元ビジョンセンサ52によって取得されたものでなくてもよい。外部から物体検出器3に二次元画像44又は三次元情報45が入力されてもよい。その場合、二次元画像44又は三次元情報45の取得方法は問わない。外部から入力された二次元画像44及び三次元情報45は、メモリ33に記憶されてもよいし、記憶器32に記憶されてもよい。
【0086】
二次元カメラ51又は三次元ビジョンセンサ52は、固定的に配置されたものではなく、ロボットアーム12に取り付けられていてもよい。その場合、ステップS1の撮影時には、二次元カメラ51又は三次元ビジョンセンサ52は、ロボットアーム12によって所定の撮影位置に移動させられる。
【0087】
予備検出器34、特定器35、選定器36及び軌道生成器37の処理は、一例に過ぎない。予備検出器34は、二次元画像44の中から種類の限定された多角形の面を任意の手法で検出し得る。予備検出器34が限定する多角形の種類は、1種類であっても、2種類以上であってもよい。予備検出器34の検出結果は、限定多角形の位置及び形状を特定する限り、限定多角形の重心の位置及び頂点の位置に限定されない。物体検出モデル42は、任意の学習済みモデルであり得る。物体検出モデル42のニューラルネットワークは、畳み込みニューラルネットワークに限定されない。予備検出器34による非極大値抑制等による余分な限定多角形の除去は必須ではない。物体検出モデル42は、二次元画像44に加えて三次元情報45を入力として用いてもよい。さらに、予備検出器34は、二次元画像44において一部が隠れた限定多角形を検出することもできる。例えば、予備検出器34は、何れかの辺が他の物体で部分的に隠れていても全ての頂点が認識できれば、限定多角形を検出することもできる。
【0088】
特定器35は、予備検出器34によって検出された面の三次元の位置情報を三次元情報45に基づいて任意の手法で特定し得る。特定器35は、限定多角形の面に対応する点群の中から外れ値を除外することなく、面の三次元の位置情報を特定してもよい。特定器35が出力する三次元の位置情報は、面の三次元的な位置及び姿勢に関する情報である限り、限定多角形の重心の三次元位置、面の法線方向、各頂点の三次元位置及び各辺の長さに限定されない。
【0089】
選定器36は、特定器35によって特定された、面の三次元の位置情報を登録情報43に照らし合わせて、任意の手法で対象物体Wの面を選定し得る。登録情報43は、物体の面の形状を具体的に特定する情報である限り、各辺の長さ、面積、各頂点の内角及びアスペクト比に限定されない。登録情報43は、対象物体Wの複数の面のうちの少なくとも1つの面の形状を具体的に特定する情報であってもよい。例えば、対象物体Wが3種類の面を有する略直方体である場合、登録情報43は、3種類のうちの1種類の面の形状を具体的に特定する情報であってもよい。この場合、選定器36は、対象物体Wの任意の面ではなく、特定の1種類の面を選定する。
【0090】
選定器36は、対象物体Wの面が複数選定された場合に、その中から一の対象物体Wの面を選定してもよい。例えば、選定器36は、前述の軌道生成器37によって行われる、選定された複数の面の中から吸着される一の面を選定することを行ってもよい。
【0091】
フローチャートは、一例に過ぎない。フローチャートにおけるステップを適宜、変更、置き換え、付加、省略等を行ってもよい。また、フローチャートにおけるステップの順番を変更したり、直列的な処理を並列的に処理したりしてもよい。例えば、二次元画像44及び三次元情報45が物体検出器3に外部から入力されている場合には、ステップS1の撮影は省略される。
【0092】
本明細書中に記載されている構成要素により実現される機能は、当該記載された機能を実現するようにプログラムされた、汎用プロセッサ、特定用途プロセッサ、集積回路、ASICs(Application Specific Integrated Circuits)、CPU(a Central Processing Unit)、従来型の回路、及び/又はそれらの組合せを含む、回路(circuitry)又は演算回路(processing circuitry)において実装されてもよい。プロセッサは、トランジスタ及びその他の回路を含み、回路又は演算回路とみなされる。プロセッサは、メモリに格納されたプログラムを実行する、プログラマブルプロセッサ(programmed processor)であってもよい。
【0093】
本明細書において、回路(circuitry)、ユニット、手段は、記載された機能を実現するようにプログラムされたハードウェア、又は実行するハードウェアである。当該ハードウェアは、本明細書に開示されているあらゆるハードウェア、又は、当該記載された機能を実現するようにプログラムされた、又は、実行するものとして知られているあらゆるハードウェアであってもよい。
【0094】
当該ハードウェアが回路(circuitry)のタイプであるとみなされるプロセッサである場合、当該回路、手段、又はユニットは、ハードウェアと、当該ハードウェア及び又はプロセッサを構成する為に用いられるソフトウェアの組合せである。
【0095】
本開示の技術をまとめると以下のようになる。
【0096】
[1] 物体検出器3(物体検出装置)は、機械学習による学習済みモデル、即ち、物体検出モデル42を用いて、物体が含まれる二次元画像44から種類の限定された多角形の面を検出する予備検出器34と、前記予備検出器34によって検出された前記面の三次元の位置に関する位置情報を、前記二次元画像44に対応する三次元情報45に基づいて特定する特定器35とを備える。
【0097】
この構成によれば、予備検出器34が、物体検出モデル42を用いて二次元画像44から多角形の面を検出し、特定器35が、検出された面の三次元の位置情報を三次元情報45に基づいて特定する。こうして、物体の面の三次元の位置情報が二次元画像44及び三次元情報45に基づいて特定される。このとき、物体検出モデル42は、任意の種類の多角形の面ではなく、種類の限定された多角形の面を検出する。そのため、物体検出モデル42に学習させる際のアノテーション負荷が低減される。その結果、物体検出モデル42の学習を効率化でき且つ検出精度を向上できる。
【0098】
[2] [1]に記載の物体検出器3において、対象物体Wの面の外形に関する登録情報43を記憶する記憶器32と、前記特定器35によって特定された前記位置情報を前記記憶器32に記憶された前記登録情報43に照らし合わせることによって、前記位置情報が特定された前記面の中から前記対象物体Wの面を選定する選定器36をさらに備える。
【0099】
この構成によれば、選定器36は、特定器35によって特定された面の三次元の位置情報を登録情報43に照らし合わせて対象物体Wの面を選定することによって、物体の面の検出精度をさらに向上できる。つまり、予備検出器34は、二次元画像44の中から二次元的な面を検出するので、対象物体Wの面ではない多角形の面を検出する可能性もある。しかし、特定器35が三次元情報45に基づいて面の三次元の位置情報を特定する。そして、面の三次元の位置情報が特定されると、検出された面が対象物体Wの面の外形に関する登録情報43に適合するか否かを判定することが可能となる。つまり、選定器36が面の三次元の位置情報を登録情報43に照らし合わせることによって、対象物体Wの面を適切に選定することができる。結果として、対象物体Wの面を精度よく検出することができる。
【0100】
特に、物体がバラ積みされた状況のように、複数の物体の面の法線方向が散乱した状況では、二次元画像における物体の面の各内角の大きさ、各辺の長さ及び面積等は、様々に変化し得る。そのため、予備検出器34は、種類の限定された多角形の面であって且つ各内角の大きさ等が任意の多角形の面を検出することによって、検出対象の面を限定しながらも様々に変形した面を検出する。これにより、予備検出器34は、対象物体Wの様々に変形した面を二次元画像44から広く検出する反面、対象物体Wの面ではない面も検出し得る。そこで、特定器35が検出された面の三次元の位置情報を特定し、選定器36が面の三次元の位置情報と登録情報43とを照らし合わせることによって、適切な対象物体Wの面を選定する。これにより、複数の物体の面の法線方向の向きにかかわらず、対象物体Wの面を適切に検出することができる。
【0101】
[3] [1]又は[2]に記載の物体検出器3は、前記登録情報43は、前記対象物体Wの面の内角の大きさ、辺の長さ及び面積の少なくとも1つに関する情報である。
【0102】
この構成によれば、予備検出器34によって検出された面が登録情報43で規定された内角の大きさ、辺の長さ及び面積の少なくとも1つに適合するか否かを特定器35によって特定された面の三次元の位置情報に基づいて判定することができる。
【0103】
[4] [1]乃至[3]の何れか1つに記載の物体検出器3において、前記特定器35は、前記予備検出器34によって検出された前記面を、前記三次元情報45に基づいて三次元の平面に近似し、前記選定器36は、前記位置情報が特定された前記面の中から、前記平面に対する前記三次元情報45のばらつきに基づいて前記対象物体Wの面を選定する。
【0104】
この構成によれば、予備検出器34によって検出された面に関し、三次元情報45のうちの対応する領域の精度に応じて、対象物体Wの面として選定するか否かを判別することができる。例えば、物体の面の性状又は三次元情報45の取得環境によっては、物体の面の三次元情報45の精度が低い場合があり得る。三次元情報45の精度が低いと、登録情報43に基づく面の選定精度も低下し得る。そのため、選定器36は、特定器35によって近似された平面に対する三次元情報45のばらつきを考慮に入れることによって、対象物体Wの面を精度よく選定することができる。
【0105】
[5] [1]乃至[4]の何れか1つに記載の物体検出器3において、前記選定器36は、前記予備検出器34によって検出された前記面に対応する領域における前記三次元情報の欠損量に基づいて、前記位置情報が特定された前記面の中から前記対象物体Wの面を選定する。
【0106】
この構成によれば、予備検出器34によって検出された面に関し、三次元情報45のうちの対応する領域の欠損量に応じて、対象物体Wの面として選定するか否かを判別することができる。例えば、物体の面の性状又は三次元情報45の取得環境によっては、三次元情報45の取得時に部分的に欠損が生じる場合があり得る。三次元情報45の欠損量が多いと、登録情報43に基づく面の選定精度も低下し得る。そのため、選定器36は、三次元情報45の欠損量を考慮に入れることによって、対象物体Wの面を精度よく選定することができる。
【0107】
[6] [1]乃至[5]の何れか1つに記載の物体検出器3において、前記選定器36は、前記位置情報が特定された前記面の中から、前記位置情報から特定される前記面の法線方向に基づいて前記対象物体Wの面を選定する。
【0108】
この構成によれば、予備検出器34によって検出された面に関し、三次元情報から求められる面の法線方向に応じて、対象物体Wの面として選定するか否かを判別することができる。対象物体Wの面の検出後の処理には、例えばピッキングのように、面の法線方向が重要な処理もある。選定器36は、面の法線方向を考慮に入れることによって、対象物体Wの面を適切に選定することができる。
【0109】
[7] ロボットシステム100は、ロボット1と、物体を検出する物体検出器3と、前記ロボット1を制御するロボット制御装置2とを備え、前記物体検出器3は、機械学習による学習済みモデル、即ち、物体検出モデル42を用いて、物体が含まれる二次元画像44から種類の限定された多角形の面を検出する予備検出器34と、前記予備検出器34によって検出された前記面の三次元の位置に関する位置情報を、前記二次元画像44に対応する三次元情報45に基づいて特定する特定器35と、前記特定器35によって特定された前記位置情報に基づいて、前記ロボット1の目標軌道を生成する軌道生成器37とを有し、前記ロボット制御装置2は、前記軌道生成器37によって生成された目標軌道に従って前記ロボット1を制御して、前記ロボット1に物体を処理させる。
【0110】
この構成によれば、予備検出器34が、物体検出モデル42を用いて二次元画像44から多角形の面を検出し、特定器35が、検出された面の三次元の位置情報を三次元情報45に基づいて特定する。こうして、物体の面の三次元の位置情報が二次元画像44及び三次元情報45に基づいて特定される。このとき、物体検出モデル42は、任意の種類の多角形の面ではなく、種類の限定された多角形の面を検出する。そのため、物体検出モデル42に学習させる際のアノテーション負荷が低減される。その結果、物体検出モデル42の学習を効率化でき且つ検出精度を向上できる。こうして、対象物体Wの面が精度よく検出されることによって、ロボット1による物体への処理を精度よく行うことができる。
【0111】
[8]物体検出方法は、機械学習による学習済みモデル、即ち、物体検出モデル42を用いて、物体が含まれる二次元画像44から種類の限定された多角形の面を検出することと、検出された前記面の三次元の位置に関する位置情報を、前記二次元画像44に対応する三次元情報45に基づいて特定することとを含む。
【0112】
この構成によれば、物体検出モデル42を用いて二次元画像44から多角形の面が検出され、検出された面の三次元の位置情報が三次元情報45に基づいて特定される。こうして、物体の面の三次元の位置情報が二次元画像44及び三次元情報45に基づいて特定される。このとき、物体検出モデル42は、任意の種類の多角形の面ではなく、種類の限定された多角形の面を検出する。そのため、物体検出モデル42に学習させる際のアノテーション負荷が低減される。その結果、物体検出モデル42の学習を効率化でき且つ検出精度を向上できる。
【符号の説明】
【0113】
100 ロボットシステム
1 ロボット
2 ロボット制御装置
3 物体検出器(物体検出装置)
32 記憶器
34 予備検出器
35 特定器
36 選定器
37 軌道生成器
42 物体検出モデル(学習済みモデル)
43 登録情報
44 二次元画像
45 三次元情報
図1
図2
図3
図4
図5
図6
図7
図8