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

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

▶ オムロン株式会社の特許一覧

特許7450857計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム
<>
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図1
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図2
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図3
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図4
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図5
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図6
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図7
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図8
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図9
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図10
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図11
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図12
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図13
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図14
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図15
  • 特許-計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-08
(45)【発行日】2024-03-18
(54)【発明の名称】計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム
(51)【国際特許分類】
   G01B 11/00 20060101AFI20240311BHJP
   B25J 13/08 20060101ALI20240311BHJP
   G06T 7/70 20170101ALI20240311BHJP
【FI】
G01B11/00 H
B25J13/08 A
G06T7/70 Z
【請求項の数】 10
(21)【出願番号】P 2020097760
(22)【出願日】2020-06-04
(65)【公開番号】P2021148763
(43)【公開日】2021-09-27
【審査請求日】2023-04-07
(31)【優先権主張番号】P 2020044682
(32)【優先日】2020-03-13
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】苗 林
(72)【発明者】
【氏名】付 星斗
【審査官】國田 正久
(56)【参考文献】
【文献】特開2018-161700(JP,A)
【文献】特開2019-158499(JP,A)
【文献】特開2016-045019(JP,A)
【文献】特開2017-056546(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00 - 11/30
B25J 13/08
G06T 7/70
(57)【特許請求の範囲】
【請求項1】
ロボットに設けられた計測装置により一つ以上の対象物を計測するときの計測パラメータの最適化方法であって、
第1計測パラメータとしての速度V、時間間隔T、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数Nの撮影画像を取得する第1ステップと、
第2計測パラメータとしての速度V、時間間隔T×j(j:以上の整数)、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数N/jの撮影画像を取得し、且つ、前記一つ以上の対象物の位置姿勢を認識する画像処理を行ったと仮定した場合の、枚数i(ここではi=1,2,…,N/j-1,N/j)における前記対象物の認識の正確さを示す評価値Ziを推定し、前記第2計測パラメータに関連付けた評価値Ziを第1データとして記憶する第2ステップと、
前記第1データに基づいて、第3計測パラメータとして、速度V×k(k:2以上の整数)、時間間隔T×j/k、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数N/j/kの撮影画像を取得し、且つ、前記画像処理と同等の処理を行ったと仮定した場合の、枚数i(ここではi=1,2,…,N/j/k-1,N/j/k)における前記対象物の認識の正確さを示す評価値Ziを推定し、前記第3計測パラメータに関連付けた評価値Ziを第2データとして記憶する第3ステップと、
前記第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、前記ロボットによる前記一つ以上の対象物の操作時における最適化計測パラメータとして決定する第4ステップと、
を含む計測パラメータの最適化方法。
【請求項2】
前記所定の判定基準は、前記対象物の評価値Ziが予め設定された評価値以上であることを含む、請求項1記載の方法。
【請求項3】
前記所定の判定基準は、少なくとも計測に掛かる所要時間がより短いことを含む、請求項2記載の方法。
【請求項4】
前記所定の判定基準は、前記計測装置の移動の速度Vがより速いことを含む、請求項2又は3記載の方法。
【請求項5】
前記所定の判定基準は、前記一つ以上の対象物の撮影枚数iがより少ないことを含む、請求項2乃至4の何れか記載の方法。
【請求項6】
前記第1計測パラメータによる前記一つ以上の対象物の撮影を、複数回実施し、各撮影について取得した前記評価値Ziの平均値を、前記第1データとして記憶する、請求項1乃至5の何れか記載の方法。
【請求項7】
前記ロボットと異なるロボットの特性に応じた速度V及び時間間隔Tに対応する計測パラメータに対応するデータが、前記第1データ乃至第2データに含まれている場合、該第1データ乃至第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、前記異なるロボットによる前記複数の対象物の操作時における最適化計測パラメータとして決定する、請求項1乃至6の何れか記載の方法。
【請求項8】
前記ロボットと異なるロボットの特性に応じた速度V及び時間間隔Tに対応する計測パラメータに対応するデータが、前記第1データ乃至第2データに含まれている場合、該対応するデータの計測パラメータに関連付けられたデータを新たな第1データとして、前記第2ステップ乃至第4ステップを実施することにより新たな第2データを取得及び記憶し、前記新たな第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、前記異なるロボットによる前記複数の対象物の操作時における最適化計測パラメータとして決定する、請求項1乃至6の何れか記載の方法。
【請求項9】
ロボットに設けられた計測装置により一つ以上の対象物を計測するときの計測パラメータの最適化装置であって、
当該装置は、少なくとも1つのプロセッサを有しており、該少なくとも1つのプロセッサが、
第1計測パラメータとしての速度V、時間間隔T、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数Nの撮影画像を取得する第1ステップと、
第2計測パラメータとしての速度V、時間間隔T×j(j:以上の整数)、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数N/jの撮影画像を取得し、且つ、前記一つ以上の対象物の位置姿勢を認識する画像処理を行ったと仮定した場合の、枚数i(ここではi=1,2,…,N/j-1,N/j)における前記対象物の認識の正確さを示す評価値Ziを推定し、前記第2計測パラメータに関連付けた評価値Ziを第1データとして記憶する第2ステップと、
前記第1データに基づいて、第3計測パラメータとして、速度V×k(k:2以上の整数)、時間間隔T×j/k、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数N/j/kの撮影画像を取得し、且つ、前記画像処理と同等の処理を行ったと仮定した場合の、枚数i(ここではi=1,2,…,N/j/k-1,N/j/k)における前記対象物の認識の正確さを示す評価値Ziを推定し、前記第3計測パラメータに関連付けた評価値Ziを第2データとして記憶する第3ステップと、
前記第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、前記ロボットによる前記一つ以上の対象物の操作時における最適化計測パラメータとして決定する第4ステップと、
を実行する、計測パラメータの最適化装置。
【請求項10】
ロボットに設けられた計測装置により一つ以上の対象物を計測するときの計測パラメータの最適化を行うために、少なくとも1つのプロセッサを有するコンピュータに、
第1計測パラメータとしての速度V、時間間隔T、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数Nの撮影画像を取得する第1ステップと、
第2計測パラメータとしての速度V、時間間隔T×j(j:以上の整数)、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数N/jの撮影画像を取得し、且つ、前記一つ以上の対象物の位置姿勢を認識する画像処理を行ったと仮定した場合の、枚数i(ここではi=1,2,…,N/j-1,N/j)における前記対象物の認識の正確さを示す評価値Ziを推定し、前記第2計測パラメータに関連付けた評価値Ziを第1データとして記憶する第2ステップと、
前記第1データに基づいて、第3計測パラメータとして、速度V×k(k:2以上の整数)、時間間隔T×j/k、及び合計移動角度θで前記計測装置を移動させながら、前記一つ以上の対象物を撮影して複数枚数N/j/kの撮影画像を取得し、且つ、前記画像処理と同等の処理を行ったと仮定した場合の、枚数i(ここではi=1,2,…,N/j/k-1,N/j/k)における前記対象物の認識の正確さを示す評価値Ziを推定し、前記第3計測パラメータに関連付けた評価値Ziを第2データとして記憶する第3ステップと、
前記第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、前記ロボットによる前記一つ以上の対象物の操作時における最適化計測パラメータとして決定する第4ステップと、
を実行させるコンピュータ制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物を操作するロボットシステムにおける対象物の計測パラメータ最適化方法等に関する。
【背景技術】
【0002】
ファクトリーオートメーション(FA:Factory Automation)における検査や生産ラインにおいて、ばら積みされたワーク(部品等)等の対象物の位置姿勢を計測し、認識した対象物をロボットによって別の場所や容器に移載したり、その対象物を加工したりする装置が知られている。かかる装置では、ロボットや計測装置の動作を最適に制御するためのパラメータが設定され、その制御パラメータに基づいて、ロボットや計測装置による種々のタスクが実行される。
【0003】
例えば、特許文献1には、ロボット及び工作機械を備えており、複数の対象物に対して複数回の計測(マルチビュー計測)を行う計測装置において、計測パラメータとして複数の計測位置姿勢を順次決定する方法が記載されている。この方法では、ロボットの複数の移動終点位置を記憶し、それらに基づいて、ロボットの機構パラメータの誤差、及び、ロボットの座標系と工作機械の座標系との間の相対関係を同時に求めるキャリブレーションが行われる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2017-56546号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1等における従来の計測パラメータ設定においては、計測パラメータの最適化を行う際に、例えば、対象物の撮影速度、撮影枚数、及び撮影時間間隔といった複数パラメータの組み合わせの適否を評価する必要があるため、計測パラメータの調整及び最適化設定には多くの手間と長時間を要していた。また、計測装置がロボットに搭載されている場合、計測パラメータがロボットの機構特性に依存するため、ロボット毎に計測パラメータを調整する必要があった。さらに、対象物の認識における評価目標を変更する場合には、更に多くの手間と時間が掛かってしまうため、計測パラメータの調整及び最適化設定は更なる困難を極めることとなる。
【0006】
そこで、本発明は、一側面では、かかる事情に鑑みてなされたものであり、ロボットに搭載された計測装置によって対象物を計測する際の計測パラメータを、従来に比して格段に簡略(手間の軽減、時間短縮、ロボット非依存)に調整及び最適化することができる方法等を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0008】
〔1〕すなわち、本開示に係る計測パラメータの最適化方法の一例は、ロボットに設けられた計測装置(センサ)により一つ以上の対象物を計測するときの計測パラメータを最適化するための方法であって、以下の(1)乃至(4)に示す第1ステップ乃至第4ステップを含む。なお、「ロボット」の構成は特に限定されず、例えば、ロボットアーム、及び、そのロボットアームの先端部に設けられ且つ対象物を操作するハンドを有する構成が挙げられる。また、「計測装置」の構成も特に制限されず、例えば、ロボットアームに設けられており、対象物の位置情報(例えば、2次元又は3次元位置情報)を計測することができるものが挙げられる。これらの「ロボット」及び「計測装置」のより具体的な例については、後述する。
【0009】
(1)第1計測パラメータとしての速度V、時間間隔T、及び合計移動角度θで計測装置を移動させながら、一つ以上の対象物を撮影して複数枚数Nの撮影画像を取得する第1ステップ。
(2)第2計測パラメータとしての速度V、時間間隔T×j(j:以上の整数)、及び合計移動角度θで計測装置を移動させながら、一つ以上の対象物を撮影して複数枚数N/jの撮影画像を取得し、且つ、一つ以上の対象物の位置姿勢を認識する画像処理を行ったと仮定した場合の、枚数i(ここではi=1,2,…,N/j-1,N/j)における対象物の認識の正確さを示す評価値Ziを推定し、第2計測パラメータに関連付けた評価値Ziを第1データとして記憶する第2ステップ。
(3)第1データに基づいて、第3計測パラメータとして、速度V×k(k:2以上の整数)、時間間隔T×j/k、及び合計移動角度θで前記計測装置を移動させながら、一つ以上の対象物を撮影して複数枚数N/j/kの撮影画像を取得し、且つ、上述の画像処理と同等の処理を行ったと仮定した場合の、枚数i(ここではi=1,2,…,N/j/k-1,N/j/k)における対象物の認識の正確さを示す評価値Ziを推定し、第3計測パラメータに関連付けた評価値Ziを第2データとして記憶する第3ステップ。
(4)第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、ロボットによる一つ以上の対象物の操作時における最適化計測パラメータとして決定する第4ステップ。
【0010】
当該構成では、ロボットシステムの実稼働前に予め取得した基本データである第1データに基づいて、計測パラメータを異なる条件(第2計測パラメータ、第3計測パラメータ)へ変更した場合に、その変更後のパラメータによる実際の計測を行うことなく、一つ以上の対象物の認識結果を推定することができる。よって、計測パラメータとして想定され得る条件の全ての組み合わせについて事前計測を行う必要がなく、想定されるワーク5の種類毎に、実稼働前に一度だけ詳細な事前計測を行うだけで、センサ1による計測パラメータの最適化を行うことができる。従って、ロボットに搭載された計測装置によって対象物を計測する際の計測パラメータを、従来に比して格段に簡略(手間の軽減、時間短縮、ロボット非依存等)に調整及び最適化することができる。これにより、対象物の計測時におけるロバスト性、対象物の操作の作業効率、及び、全体のスループットを向上させることができ、その結果、ユーザの利便性、及び、汎用性も格段に向上させることが可能となる。
【0011】
〔2〕上記構成において、より具体的には、所定の判定基準は、対象物の評価値Ziが、予め設定された対象物の評価値以上であることを含んでもよい。当該構成では、判定基準における所定の評価値をより大きく設定することにより、ロバスト性を更に向上させることができ、計測精度の向上を優先する場合に有利となる。
【0012】
〔3〕また、所定の判定基準が、予め設定された対象物の評価値以上であることに加え、さらに、少なくとも計測に掛かる所要時間がより短いことを含んでもよい。当該構成では、所望の評価値を満たしつつ、計測に掛かる所要時間を最小化することができ、計測処理時間の低減を優先する場合に有利となる。
【0013】
〔4〕また、所定の判定基準が、予め設定された対象物の評価値以上であることに加え、さらに、計測装置の移動の速度Vがより速いことを含んでもよい、当該構成では、所望の評価値を満たしつつ、計測装置の移動時の速度Vを優先する場合に有利となる。
【0014】
〔5〕また、所定の判定基準が、予め設定された対象物の評価値以上であることに加え、さらに、一つ以上の対象物の撮影枚数iがより少ないことを含んでもよい、当該構成では、所望の評価値を満たしつつ、撮影枚数iの低減を優先する場合に有利となる。
【0015】
〔6〕さらに、上記各構成においては、第1計測パラメータによる一つ以上の対象物の撮影を、少なくとも1回、好ましくは複数回実施し、複数回の撮影を実施した場合、各撮影について取得した評価値Ziの平均値を、第1データとして記憶するように構成してもよい。当該構成では、実験的に求める第1データの精度及び信頼性を高めることができ、その結果、一つ以上の対象物の計測時におけるロバスト性、一つ以上の対象物の操作における作業効率、及び、全体のスループットをより一層向上させることができる。
【0016】
〔7〕またさらに、前述の如くロボットが変更されたようなときに、ロボットと異なるロボットの特性に応じた速度V及び時間間隔Tに対応する計測パラメータに対応するデータが、第1データ乃至第3データに含まれている場合、該第1データ乃至第3データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、前記異なるロボットによる前記複数の対象物の操作時における最適化計測パラメータとして決定するように構成してもよい。当該構成では、前述のとおり、ロボットに依存することなく、計測パラメータの最適化を実現することができる簡略な手法を提供することが可能となる。
【0017】
〔8〕或いは、同様に、前記ロボットと異なるロボットの特性に応じた速度V及び時間間隔Tに対応する計測パラメータに対応するデータが、前記第1データ乃至第2データに含まれている場合、対応するデータの計測パラメータに関連付けられたデータを新たな第1データとして、第2ステップ乃至第4ステップを実施することにより新たな第2データを取得及び記憶し、新たな第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、異なるロボットによる一つ以上の対象物の操作時における最適化計測パラメータとして決定するように構成してもよい。当該構成でも、前述のとおり、ロボットに依存することなく、計測パラメータの最適化を実現することができる簡略な手法を提供することが可能となる。
【0018】
〔9〕また、本開示に係る計測パラメータの最適化装置の一例は、ロボットに設けられた計測装置により複数の対象物を計測するときの計測パラメータを最適化するための装置であって、当該装置は、少なくとも1つのプロセッサを有しており、該少なくとも1つのプロセッサが、本開示の計測パラメータの最適化方法における各ステップを実行する。
【0019】
〔10〕また、本開示に係るコンピュータ制御プログラムの一例は、ロボットに設けられた計測装置により複数の対象物を計測するときの計測パラメータの最適化を行うために、少なくとも1つのプロセッサを有するコンピュータに、本開示の計測パラメータの最適化方法における各ステップを実行させるプログラムであり、換言すれば、コンピュータを、上記の本開示に係る計測パラメータの最適化装置として有効に機能させるためのプログラムである。
【0020】
〔11〕また、本開示に係るロボットシステムの一例は、ロボットと、ロボットに設けられた計測装置と、ロボット及び計測装置に接続された制御装置とを備え、制御装置は、少なくとも1つのプロセッサを有しており、少なくとも1つのプロセッサが、本開示の計測パラメータの最適化方法における各ステップを実行するシステムである。換言すれば、ロボットシステムにおいては、本開示に係る計測パラメータの最適化装置が制御装置として機能する。
【0021】
なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、1つの「部」及び「装置」が有する機能が2つ以上の物理的手段や装置によって実現されてもよく、或いは、2つ以上の「部」及び「装置」の機能が1つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
【発明の効果】
【0022】
本発明によれば、ロボットに搭載された計測装置によって対象物を計測する際の計測パラメータを、従来に比して格段に簡略(手間の軽減、時間短縮、ロボット非依存等)に調整及び最適化することができる。これにより、対象物の計測時におけるロバスト性、対象物の操作の作業効率、及び、全体のスループットを向上させることができ、その結果、ユーザの利便性、及び、汎用性も格段に向上する。
【図面の簡単な説明】
【0023】
図1】本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。
図2】本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。
図3】本実施形態に係る制御装置を備えるロボットシステムのハードウェアの構成の一例を模式的に示す平面図である。
図4】本実施形態に係る制御装置を備えるロボットシステムの機能構成の一例を模式的に示す平面図である。
図5】動作例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。
図6】動作例のステップS501におけるセンサ1の移動状態の概念を模式的に示す平面図である。
図7】動作例のステップS502における第1データ、及び、ステップS503における第1データの一例を表形式で示す図である。
図8】動作例のステップS504における第2データの一例を表形式で示す図である。
図9】動作例のステップS504における第2データの一例を表形式で示す図である。
図10】動作例のステップS504における第2データの一例を表形式で示す図である。
図11】複数のワーク5(六角ボルト)について、センサ1を用いて実験的にステップS501乃至S504を実行して得た第2データの具体的な一例を表形式で示す図である。
図12図11に示すデータセットの一例について、センサ1による複数のワーク5の撮影画像に、認識結果(輪郭線)を重ねて表示した平面図である。
図13図11に例示した第2データを、認識数Ziが大きい順にデータをソートし、且つ、同じ認識数Ziのデータを、速度Vが大きい順にソートした図である。
図14図11に例示した第2データを、認識数Ziが大きい順にデータをソートし、且つ、同じ認識数Ziのデータを、撮影枚数iが小さい順にソートした図である。
図15】第4変形例における処理手順の一例を示すフローチャートである。
図16】異なる形状の複数のワーク5を計測し、それらの撮像画像に、画像処理によるワーク5の位置姿勢の認識結果(輪郭線)を重ねて表示した平面図である。
【発明を実施するための形態】
【0024】
以下、本開示の一例に係る実施の形態(以下「実施形態」と表記する。)について、図面を参照して説明する。但し、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0025】
§1 適用例
まず、図1及び図2を用いて、本開示の一例が適用される場面の一例について説明する。図1及び図2は、それぞれ、本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。本実施形態に係るロボットシステム100は、例えばビン等の収納容器6内にばら積みされた複数のワーク5を、ロボット10により、収納容器6から取り出して他の収納容器7等へ移載し、整列させて配置する操作(図2の移動経路P1)、及び/又は、あるワーク5を移載し終えたロボット10を、次のワーク5を取り出すために、収納容器6側へ復帰させる操作(図2の移動経路P2)を行うことができる。なお、ワーク5は、収納容器6内ではなく、例えば、テーブルや台等に平積みされていてもよい。また、ワーク5の種類は、特に制限されず、例えば、自動車のパワートレイン系(例えば、エンジン、又はトランスミッション等)の機械部品、又は電装系の電子部品等を挙げることができる。また、かかるロボットシステム100は、ロボット10の他、そのロボット10に設けられたセンサ1(本開示における「計測装置」の一例)と、センサ1及びロボット10に接続された制御装置4(本開示における「計測パラメータの最適化っ装置」の一例)を備える。
【0026】
センサ1は、ワーク5の位置情報(例えば3次元位置情報)を含む計測データを取得する3Dセンサであり、ロボット10のロボットアーム3の先端部に設置されていて、図1(A)及び(B)に示すように、ワーク5を所定の視野(角)で且つ所定の計測パラメータで撮像する。かかるセンサ1は、例えば、点群を計測する距離センサであり、或いは、距離センサと2次元センサとを組み合わせて距離画像を取得する距離画像センサでもよい。距離センサは、奥行情報としての距離dを計測するセンサである。2次元センサは、2次元の画像を撮影するイメージセンサであり、2次元の画像は、距離dを画素値としない点において距離画像とは異なる。距離画像センサは、例えば、2次元センサの撮影位置を変えながらワーク5の複数の2次元の画像を撮影し、ステレオ立体視の画像処理により、距離dを画素値とする距離画像を取得するカメラでもよい。または、距離画像センサは、ワーク5を複数の異なる方向から同時に撮影することにより、距離dを画素値とする距離画像を取得するステレオカメラでもよい。
【0027】
また、センサ1は、必須ではないが、必要に応じて、適宜の計測光(例えば、アクティブ方式で用いられるパターン光やスキャン光等)を含むいわゆる3D用照明や、通常の照明であるいわゆる2D用照明をワーク5へ投射するプロジェクタ(図示せず)を有していてもよい。かかるプロジェクタの構成も特に制限されず、例えば、パターン光を投射するものの場合、レーザ光源、パターンマスク、及びレンズを備える構成を例示することができる。レーザ光源から出射された光は、所定のパターンが形成されたパターンマスクによって所定のパターンを有する計測光(パターン光)に変換され、レンズを介してワーク5へ投射される。
【0028】
この「所定のパターン」としては、特に制限されず、例えばアクティブワンショット方式で用いられる種々のパターンを例示することができる。より具体的には、例えば、複数のラインが所定の間隔で2次元に配置されたいわゆるラインベースのパターン、互いに区別可能な複数種類の単位画像、単位図形、幾何学形状等が2次元に配置(規則的でもランダムでもよく、規則的な部分とランダムな部分が混合又は重畳されていてもよい。)されたいわゆるエリアベースのパターン、縦横ラインのグリッドにグラフシンボル等が配置されたいわゆるグリッドグラフベースのパターン等が挙げられる。なお、各所定のパターンは、エンコード用に、例えばラインや単位図形を区別するためのID情報を含んでいてもよい。
【0029】
また、ワーク5の計測方式としては、特に制限されず、例えば、光の直進性を用いる種々のアクティブ計測方式(例えば、三角測距を基本原理とする空間コード化パターン投影方式、時間コード化パターン投影方式、モアレトポグラフィ方式等)、光の直進性を用いる種々のパッシブ計測方式(例えば、三角測距を基本原理とするステレオカメラ方式、視体積交差方式、因子分解方式等、同軸測距を基本原理とするDepth from focusing方式等)、及び、光の速度を用いる種々のアクティブ計測方式(例えば、同時測距を基本原理とする飛行時間方式(Time of Flight)、レーザースキャン方式等)を適宜選択して用いる
ことができる。
【0030】
ワーク5の計測データとしては、それらの種々の計測方式で取得される画像データ(例えば3次元点群データや距離画像等)、また、ワーク5の3次元モデルデータと照合することが可能な適宜のデータ等を例示できる。ここで、ワーク5の3次元モデルデータとしては、例えば、3次元座標データ、その3次元座標データをワーク5の種々の異なる位置姿勢に対応して2次元投影した2次元座標データ、その他適宜のテンプレートやパターンに対応するデータ等が挙げられる。なお、ワーク5の認識において、3次元モデルデータとの照合は必須ではなく、モデルデータを用いない(いわゆるモデルレス)認識も適用可能である。
【0031】
ロボット10は、例えば、ワーク5を操作(例えば、把持、吸着、移動、組み立て、又は挿入等)するためのハンド2と、そのハンド2が先端部に設けられたロボットアーム3を備える多関節ロボット(例えば、垂直多関節ロボット、水平多関節ロボット)である。ロボット10の各関節には、関節を駆動するためのサーボモータ等の駆動装置と、関節の変位(角度変位)を検出するためのエンコーダ等の変位検出装置が組み込まれている。また、ロボット10は、自律的に動作するマニピュレータとして動作し、例えば、ワーク5のピッキング、組み立て、搬送、塗装、検査、研磨、又は洗浄等の様々な用途に用いることができる。
【0032】
ハンド2は、エンドエフェクタの一例であり、個々のワーク5を把持し且つ解放(掴み且つ離す)動作が可能な把持機構を有する。ロボットアーム3は、ハンド2を収納容器6内のワーク5の把持位置(ピックアップ位置)へ移動し、且つ、ワーク5を把持したハンド2をその把持位置から他の収納容器7における解放位置(ドロップ位置)へと移動するための駆動機構を有する。
【0033】
制御装置4は、センサ1及びロボット10のそれぞれに接続されており、センサ1によるワーク5の計測処理、ハンド2によるワーク5の操作処理、ロボット10(ハンド2及びロボットアーム3等)の駆動処理の他、ロボットシステム100において必要とされる種々の動作や演算に関する処理を制御する。また、制御装置4は、ロボットシステム100の実稼働に先立って、センサ1により複数のワーク5を計測するときの計測パラメータの最適化を実行する。
【0034】
この最適化処理では、まず、(1)複数のワーク5の位置姿勢をより詳細に計測評価することが可能な第1計測パラメータを設定し、その条件でセンサ1を移動させながら、想定される複数のワーク5(例えば、収納容器6内にばら積みされた複数のワーク5)を複数回撮影する。次に、(2)得られた複数枚数Nの撮影画像から選択された異なる枚数iの撮影画像を用いた画像処理を行って、ワーク5の認識の正確さを示す評価値Zi(例えば、認識されたワーク5の数)を取得し、その評価値Ziを第1計測パラメータとともに第1データとして記憶する。次に、(3)センサ1の移動速度以外の条件が第1計測パラメータと異なる第2計測パラメータで複数のワーク5を撮影し、且つ、上記の画像処理と同等の処理を行ったと仮定した場合のワーク5の認識の正確さを示す評価値Zi(例えば、認識されたワーク5の数)を推定し、その評価値Ziを第2計測パラメータとともに第1データとして記憶する。
【0035】
さらに、(4)上述のステップ(2)及び(3)のうち何れか一方又は両方で得られた第1データを用いて、第1計測パラメータ及び第2計測パラメータとは異なる第3計測パラメータで、複数のワーク5を撮影し、且つ、上記の画像処理と同等の処理を行ったと仮定した場合のワーク5の認識の正確さを示す評価値Zi(例えば、認識されたワーク5の数)を推定し、その評価値Ziを第3計測パラメータとともに第2データとして記憶する。そして、(5)得られた第2データのなかから、所定の判定基準(例えば、所定の評価値以上であり、且つ、計測時間、移動速度、及び撮影枚数のうちの少なくとも何れかの基準)を満たすデータの計測パラメータを少なくとも1つ選定し、それらのなかから、例えばユーザが所望の計測パラメータを、ロボットシステム100の実稼働時における最適化計測パラメータとして決定する。
【0036】
かかる本適用例の制御装置4、及び、それを備えるロボットシステム100、並びに、それらにおいて実施される計測パラメータの最適化方法によれば、基本となる第1計測パラメータを用いて、ロボットシステム100の実稼働前に実施した複数のワーク5の撮影及び画像処理結果に基づいて、計測パラメータを異なる条件へ変更した場合の複数のワーク5の認識結果を推定することができる。よって、計測パラメータとして想定され得る条件の全ての組み合わせについて事前計測を行うことなく、想定されるワーク5の種類毎に、実稼働前に一度だけ詳細な事前計測を行うだけで、センサ1による計測パラメータの最適化を行うことができる。また、ロボット10が変更になった場合でも、センサ1を搭載したあるロボット10について予め取得しておいた第1データ乃至第2データのパラメータセットを活用することにより、変更後の異なるロボットによる複数のワーク5の操作時における計測パラメータを、新たな事前計測を行うことなく最適化することができる。
【0037】
以上のことから、本開示によれば、種々のロボット10を備えるロボットシステム100により種々の複数のワーク5を操作するタスクにおけるセンサ1による計測パラメータの最適化を、従来に比して格段に簡略化(手間の軽減、時間短縮、ロボット非依存等)することができる。これにより、複数のワーク5の計測時におけるロバスト性、複数のワーク5の操作における作業効率、及び、全体のスループットを向上させることが可能となり、その結果、ユーザの利便性、及び、汎用性も格段に向上する。
【0038】
§2 構成例
[ハードウェア構成]
次に、図3を用いて、本実施形態に係るロボットシステム100のハードウェア構成の一例について説明する。図3は、本実施形態に係る制御装置4を備えるロボットシステム100のハードウェアの構成の一例を模式的に示す平面図である。図3の例でも、ロボットシステム100は、図1及び図2に例示したセンサ1、ハンド2及びロボットアーム3を有するロボット10、並びに、制御装置4を備える。ここで、制御装置4は、制御演算部41、通信インタフェース(I/F)部42、記憶部43、入力部44、及び出力部45を含み、各部はバスライン46を介して相互に通信可能に接続され得る。
【0039】
制御演算部41は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御及び各種演算を行う。
【0040】
通信I/F部42は、例えば、有線又は無線により他の構成要素である「部」及び「装置」と通信するための通信モジュールである。通信I/F部42が通信に用いる通信方式は任意であり、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus)等が挙げられ、バスライン46と同等の適宜の通信線を適用することもできる。センサ1、ハンド2、及びロボットアーム3ともに、通信I/F部42を介して、制御演算部41等と通信可能に設けることが可能である。
【0041】
記憶部43は、例えばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)等の補助記憶装置であり、制御演算部41で実行される各種プログラム(前記(1)乃至(7)に示す処理を含む各種処理を実行するための演算プログラム、並びに、センサ1、ハンド2、及びロボットアーム3のそれぞれの動作の制御処理を行うための制御プログラム等)、センサ1から出力される計測データ、計測パラメータ、認識パラメータ、及び種々の算出パラメータを含むデータベース、各種演算結果及び算出結果のデータ、複数のワーク5の各々の位置姿勢認識結果に関するデータ、各ワーク5のピッキング状況やピッキング記録に関するデータ、ワーク5の3次元モデルデータ、複数のワーク5を含み得る計測エリアに関するデータ、その計測エリアを計測するセンサ1の位置姿勢の設定データ等を記憶する。このとおり、記憶部43に記憶された演算プログラム及び制御プログラムが制御演算部41で実行されることにより、後述する機能構成例における各種処理機能が実現される。
【0042】
入力部44は、ロボットシステム100を利用するユーザからの各種入力操作を受け付けるためのインタフェースデバイスであり、例えば、マウス、キーボード、タッチパネル、音声マイク等で実現し得る。出力部45は、ロボットシステム100を利用するユーザ等へ、各種情報を、その表示、音声出力、印刷出力等により報知するためのインタフェースデバイスであり、例えば、ディスプレイ、スピーカ、プリンタ等で実現し得る。
【0043】
[機能構成]
次に、図4を用いて、本実施形態に係る物体認識処理装置を備えるロボットシステム100の機能構成の一例を説明する。図4は、本実施形態に係る制御装置4を備えるロボットシステム100の機能構成の一例を模式的に示す平面図である。
【0044】
図4に示すロボットシステム100の制御演算部41は、記憶部43に記憶された各種プログラム(制御プログラム及び演算プログラム等)をRAMに展開する。そして、制御演算部41は、RAMに展開された各種プログラムをCPUにより解釈及び実行して、各構成要素を制御する。これにより、本実施形態に係るロボットシステム100は、前述の如く、収納容器6内にばら積みされた複数のワーク5を取り出して他の収納容器7等へ移載し、整列させて配置する操作(図2の移動経路P1)、及び/又は、あるワーク5を移載し終えたロボット10を、次のワーク5を取り出すために、収納容器6側へ復帰させる操作(図2の移動経路P2)を行うことができる。また、そのようなロボットシステム100の実稼働に先立って、センサ1により複数のワーク5を計測するときの計測パラメータの最適化を実行するために、以下に示す各ステップの処理を実行可能な機能部として、センサ制御部401、ロボット制御部402、撮像画像取得部410、第1データ取得部411、第2データ取得部412、第3データ取得部413、最適化パラメータ決定部414を備える構成を、制御演算部41によって実現し得る。
【0045】
なお、本実施形態では、ロボットシステム100に備わる制御装置4で実現される各機能が汎用のCPUによって実現される例について説明したが、以上の機能の一部又は全部が、1つ又は複数の専用のプロセッサによって実現されてもよい。また、ロボットシステム100に備わる制御装置4の機能構成は、実施形態や構成例に応じて、適宜、機能の省略、置換、及び追加が行われてももちろんよい。また、「制御装置」とは、一般的な情報処理装置(例えば、コンピュータ、ワークステーション等)と解することができる。
【0046】
§3 動作例
次に、図5を用いて、ロボットシステム100の動作の一例として、ロボットシステム100の実稼働に先立って、センサ1により複数のワーク5を計測するときの計測パラメータの最適化を実行する手順の一例について説明する。すなわち、図5は、本動作例に係る制御装置4を備えるロボットシステム100における処理手順の一例を示すフローチャートであり、ロボットシステム100の計測パラメータの最適化方法における処理手順の一例を示すフローチャートでもある。なお、以下で説明する処理手順は例示に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよい。また、以下で説明する処理手順は、実施形態や各構成例に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0047】
まず、ロボットシステム100のユーザは、ロボットシステム100を起動し、各種プログラム(演算プログラム、制御プログラム、計測パラメータの最適化等)を実行可能な状態とする。それから、制御装置4における制御演算部41(少なくとも1つのプロセッサ)は、以下の処理手順に従って、センサ1及びロボット10のそれぞれの動作を制御し、且つ、制御装置4における各機能部による演算処理を行う。
【0048】
(ステップS501:第1ステップ)
ステップS501では、まず、第1計測パラメータとして、ロボット10(のロボットアーム3)によるセンサ1の移動経路P0、並びに、移動の速度V、時間間隔T、及び合計移動角度θを設定する。ここで、図6は、ステップS501におけるセンサ1の移動状態の概念を模式的に示す平面図である。同図に示す如く、移動経路P0は、例えば、容器6内にばら積みされた複数のワーク5のほぼ体積中心である座標G0を中心とする弧状を成すように設定され得る。なお、センサ1の移動の軌跡は、弧状(一定の曲率を有する形状)に限定されず、例えば、直線状、非直線状、曲率が変化する形状等であってもよく、また、座標G0を変動させてもよい。さらに、ここで実験的に用いる複数のワーク5は、ロボットシステム100の実稼働時の操作対象と同じ種類のものを選択する。
【0049】
速度Vは、特に制限されず、例えば、センサ1の移動速度として実現し得る速度範囲における任意の値を設定することができ、より遅い速度であると、より多くの詳細な撮影画像を取得することができる観点から好適である。さらに、時間間隔Tは、特に制限されず、例えば、センサ1の撮影間隔として実現し得る間隔範囲における任意の値を設定することができ、特に最小時間間隔であると、より多くの詳細な撮影画像を取得することができる観点から好適である。また、合計移動角度θは、特に制限されず、例えば、センサ1の可動範囲の最大距離に対応する角度を設定することができる。
【0050】
これらの速度V、時間間隔T、及び合計移動角度θから、第1計測パラメータによる複数のワーク5の撮影における撮影枚数N=θ/V/T、及び、毎回移動角度(時間間隔T毎の移動角度)μ=V×Tが求まり、ロボット制御部402の指令により、この条件でセンサ1を弧状に移動経路P0に沿って移動させながら、センサ制御部401の指令により、容器6内の複数のワーク5を複数回撮影し、複数枚数Nの撮影画像を取得する。すなわち、本ステップでは、図6に示すように、ばら積みされた複数のワーク5に対して異なる仰角で対向したセンサ1(センサ1の位置P1,P2,…,PN-1,PN、隣り合うセンサ位置の角度が毎回移動角度μとなる。)によって、N回の撮影が行われ、複数枚数Nの撮影画像が取得される。
【0051】
(ステップS502:第2ステップ(1))
ステップS502では、第1データ取得部411により、得られた複数枚数Nの撮影画像から、順次、異なる枚数iの撮影画像を抽出して画像処理を行い、ワーク5の認識の正確さを示す評価値Zi(例えば、認識されたワーク5の数)を順次取得する。ここで、枚数i=1,2,…,N-1,N(すなわち、iは1~Nの整数)であり、具体的には、例えば、1枚目の撮影画像(センサ1の初期の位置G1)で画像処理を行い(i=1)、次に、センサ位置が互いに隣接する1枚目と2枚目の撮影画像(センサ1の初期の位置G1及び次の位置G2)を用いて画像処理を行う(i=2)。そして、このような処理をi=Nまで順次繰り返し実行し(センサ1の位置Gi乃至位置GN)、各撮影枚数iについて得られた評価値Ziを、第1計測パラメータに関連付け、第1データとして記憶部43に記憶する。
【0052】
(ステップS503:第2ステップ(2))
ステップS503では、第1データ取得部412により、まず、第2計測パラメータとして、ロボット10(のロボットアーム3)によるセンサ1の移動経路P0、並びに、移動の速度V、時間間隔T×j(j:2以上の整数)、及び合計移動角度θを設定する。すなわち、第2計測パラメータでは、センサ1による計測の時間間隔を、第1計測パラメータにおける時間間隔の整数倍となるように種々変化させる。但し、ステップS503では、その第2計測パラメータで実際の計測を行うのではなく、ステップS501で得られた複数枚数Nの撮影画像を用いて、その第2計測パラメータで複数のワーク5を撮影し、且つ、ステップS502における画像処理と同等の処理を行ったと仮定した場合の、各撮影枚数iにおけるワーク5の認識の正確さを示す評価値Zi(例えば、認識されたワーク5の数)を推定する。そして、各jのときの各撮影枚数iについて得られた評価値Ziを、第2計測パラメータに関連付け、これを第1データとして記憶部43に記憶する。
【0053】
なお、ステップS502の処理は、ステップS503において、j=1としたときの処理と同じであるから、説明の便宜上、ステップS502,503で得られるデータを「第1のデータ」と呼ぶ。但し、第1のデータを取得する上で、ステップS502,503の両方のステップは、必ずしも実行する必要はなく、何れか一方のステップを実行すればよい。また、ステップS502,503の両方のステップが実行される場合は、何れか一方のステップを先に実行し、他方のステップを後に実行すればよく、その実行順は特定に限定されない。
【0054】
また、上述の説明では、ステップS503において、速度Vを一定値に固定し、時間間隔Tを変えることで、撮影画像が均等に間引かれた画像セットの様々なバリエーションを生成する例を示したが、時間間隔Tを一定値に固定し、速度Vを変えることで、撮影画像が均等に間引かれた画像セットの様々なバリエーションを生成してもよい。
【0055】
ここで、図7は、ステップS502(第2ステップ(1))における第1データ、及び、ステップS503(第2ステップ(2))における第1データの一例を表形式で示す図である。図7(A)に示すデータセットは、ステップS502で取得された第1データに相当し、この第1データは、計測時の時間間隔T=0.01(sec)、撮影枚数N=120、及び、毎回移動角度μ(=θ/(120-1))の例であり、評価値Zi(i=1~121)のデータが取得される。すなわち、ここでは、合計移動角度θが119分割され、120回の撮影が行われる。
【0056】
また、図7(B)乃至(D)に示すデータセットは、ステップS503で取得された第1データに相当する。図7(B)に示すデータセットは、j=2の例であり、計測時の時間間隔T×2=0.02(sec)、撮影枚数N=60、及び、毎回移動角度μ×2となる。よって、ステップS502で取得された第1データにおける撮影枚数i=1,3,5,…,117,119のときの評価値Ziのデータを、j=2のときの各撮影枚数iの評価値Zi(i=1~60)のデータとして、それぞれ割り当てることができる。
【0057】
また、図7(C)に示すデータセットは、j=4の例であり、計測時の時間間隔T×4=0.04(sec)、撮影枚数N=31、及び、毎回移動角度μ×4となる。よって、ステップS502で取得された第1データにおける撮影枚数i=1,5,9,…,113,117のときの評価値Ziのデータを、j=4のときの各撮影枚数iの評価値Zi(i=1~30)のデータとして割り当てることができる。そして、図7(D)は、「j」について、一般化した場合のデータセットを示す。
【0058】
(ステップS504:第3ステップ)
ステップS504では、第2データ取得部413により、まず、第3計測パラメータとして、ロボット10(のロボットアーム3)によるセンサ1の移動経路P0、並びに、移動の速度V×k(k:2以上の整数)、時間間隔T×j/k、及び合計移動角度θを設定する。すなわち、第3計測パラメータにおけるセンサ1の速度を、第1計測パラメータにおけるセンサ1の速度のk倍に設定し、第3計測パラメータにおけるセンサ1による計測の時間間隔を、第1計測パラメータにおけるセンサ1による計測の時間間隔の(1/k)倍に設定する。但し、ステップS504でも、その第3計測パラメータで実際の計測を行うのではなく、基本データである第1データを用いて、その第2計測パラメータで複数のワーク5を撮影し、且つ、ステップS502における画像処理と同等の処理を行ったと仮定した場合の、各撮影枚数iにおけるワーク5の認識の正確さを示す評価値Zi(例えば、認識されたワーク5の数)を推定する。そして、各j及び各kのときの各撮影枚数iについて得られた評価値Ziを、第3計測パラメータに関連付け、第2データとして記憶部43に記憶する。
【0059】
ここで、図8乃至図10は、ステップS504(第3ステップ)における第2データの一例を表形式で示す図である。
【0060】
図8(A)乃至(D)に示すデータセットは、センサ1の速度Vをk=2倍した場合の図7(A)乃至(D)に相当するものである。図8(A)に示すデータセットは、k=2及びj=1の例であり、計測時の時間間隔T×1=0.01(sec)、撮影枚数N=60、及び、毎回移動角度μ×1×2となる。よって、第1データにおける撮影枚数i=1,3,5,…,117,119のときの評価値Ziのデータを、k=2及びj=1のときの各撮影枚数iの評価値Zi(i=1~60)のデータとして、それぞれ割り当てることができる。
【0061】
図8(B)に示すデータセットは、k=2及びj=2の例であり、計測時の時間間隔T×2=0.02(sec)、撮影枚数N=30、及び、毎回移動角度μ×2×2となる。よって、第1データにおける撮影枚数i=1,5,9,…,113,117のときの評価値Ziのデータを、k=2及びj=2のときの各撮影枚数iの評価値Zi(i=1~30)のデータとして、それぞれ割り当てることができる。
【0062】
図8(C)に示すデータセットは、k=2及びj=4の例であり、計測時の時間間隔T×4=0.04(sec)、撮影枚数N=15、及び、毎回移動角度μ×4×2となる。よって、第1データにおける撮影枚数i=1,9,17,…,105,113のときの評価値Ziのデータを、k=2及びj=4のときの各撮影枚数iの評価値Zi(i=1~15)のデータとして、それぞれ割り当てることができる。そして、図8(D)は、「k=2」及び「j」について、一般化した場合のデータセットを示す。
【0063】
また、図9(A)乃至(D)に示すデータセットは、センサ1の速度Vをk=3倍した場合の図7(A)乃至(D)に相当するものである。図9(A)に示すデータセットは、k=3及びj=1の例であり、計測時の時間間隔T×1=0.01(sec)、撮影枚数N=40、及び、毎回移動角度μ×1×3となる。よって、第1データにおける撮影枚数i=1,4,7,…,115,118のときの評価値Ziのデータを、k=3及びj=1のときの各撮影枚数iの評価値Zi(i=1~40)のデータとして、それぞれ割り当てることができる。
【0064】
図9(B)に示すデータセットは、k=3及びj=2の例であり、計測時の時間間隔T×2=0.02(sec)、撮影枚数N=20、及び、毎回移動角度μ×2×3となる。よって、第1データにおける撮影枚数i=1,7,13,…,115,121のときの評価値Ziのデータを、k=3及びj=2のときの各撮影枚数iの評価値Zi(i=1~20)のデータとして、それぞれ割り当てることができる。
【0065】
図9(C)に示すデータセットは、k=3及びj=4の例であり、計測時の時間間隔T×4=0.04(sec)、撮影枚数N=10、及び、毎回移動角度μ×4×3となる。よって、第1データにおける撮影枚数i=1,13,25,…,97,109のときの評価値Ziのデータを、k=3及びj=4のときの各撮影枚数iの評価値Zi(i=1~10)のデータとして、それぞれ割り当てることができる。そして、図9(D)は、「k=3」及び「j」について、一般化した場合のデータセットを示す。さらに、図10(A)乃至(D)に示すデータセットは、「k」について、一般化した場合のデータセットを示し、特に、図10(D)は、「k」及び「j」の両方について、一般化した場合のデータセットを示す。
【0066】
(ステップS505:第4ステップ)
ステップS505では、最適化パラメータ決定部414により、得られた第2データのなかから、所定の判定基準を満たすデータの計測パラメータを少なくとも1つ選定し、それらのなかから、例えばユーザが所望の計測パラメータを、ロボットシステム100の実稼働時における最適化計測パラメータとして決定する。ここで、図11は、あるロボットシステム100を用い、ばら積みした20個のワーク5としての六角ボルトについて、センサ1を用いて実験的にステップS501乃至S504を実行して得た第2データの具体的な一例を表形式で示す図である。なお、図示においては、センサ1の移動の速度Vを、そのロボットシステム100で実現し得る最大速度に対する割合(%)で表示する。なお、同図における「所要時間H」は、厳密には、時間間隔Tと撮影枚数Nのみに依存するのではなく、センサ1で撮影した画像の制御演算部41(コンピュータ)への転送時間、及び、複数枚の3D点群データの合成時間等を含めた合計時間で表されるが、ここでは、説明の便宜のため、所要時間H=時間間隔T×撮影枚数iとして計算した。さらに、同図には、評価値Ziとしてのワーク5の認識数が17個以上のもののみを図示した。
【0067】
また、図12は、図11に示すデータセットの一例について、センサ1による20個のワーク5の撮影画像に、認識結果(輪郭線)を重ねて表示した平面図である。例えば、図12(A)は、速度V=70%、間間間隔T=0.05(sec)、撮影枚数i=5、及び、評価値Ziとしてのワーク5の認識数=19個の結果を示し、図の下方に記載した「70%_0.05_5_19」が、それらの条件と結果を示す。なお、図12(B)乃至(D)についても同様である。また、図12(C)では、図示において輪郭線が認識されたワーク5の数が17個であるが、認識結果の信頼度を調整することにより、18個の認識が可能と判断されたので、最終的な評価値Ziとしてのワーク5の認識数=18個とした。逆に、図12(D)では、図示において輪郭線が認識されたワーク5の数が19個であるが、認識結果の信頼度を調整した結果、18個の認識が可能と判断されたので、最終的な評価値Ziとしてのワーク5の認識数=18個とした。
【0068】
ステップS505では、所定の判定基準を、例えば、ワーク5の評価値Ziが所定の評価値ZB以上であることとし、図11では、評価値Ziが大きい順にデータをソートし、且つ、同じ評価値Ziのデータは、所要時間Hが小さい順にソートした。例えば、判定用の所定の評価値ZBとしての認識数=19個(認識率=19個/20個=95%)と設定した場合には、図11において評価値Zi=19個の複数のデータセットに対応する計測パラメータのなかから、例えばユーザが所望のものを適宜選択して、ロボットシステム100の実稼働時の最適化計測パラメータとして決定することができる。これは、判定用の所定の評価値ZBとしての認識数=17個や18個の場合も同様である。
【0069】
(ステップS506)
ステップS506では、ステップS505で決定した最適化計測パラメータを用いて、ロボットシステム100を実稼働させ、複数のワーク5の操作処理を実施する。
【0070】
§4 作用・効果
以上のとおり、本実施形態に係るロボットシステム100の制御装置4、及び、それを用いた計測パラメータの最適化方法の一例によれば、ロボットシステム100の実稼働前に予め取得した基本データである第1データに基づいて、計測パラメータを異なる条件(第2計測パラメータ、第3計測パラメータ)へ変更した場合に、その変更後のパラメータによる実際の計測を行うことなく、複数のワーク5の認識結果を推定することができる。よって、計測パラメータとして想定され得る条件の全ての組み合わせについて事前計測を行う必要がなくなり、想定されるワーク5の種類毎に、実稼働前に一度だけ詳細な事前計測を行うだけで、センサ1による計測パラメータの最適化を行うことができる。
【0071】
また、ロボット10が変更になった場合でも、センサ1を搭載したあるロボット10について予め取得しておいた第1データ乃至第2データのパラメータセット中に、変更後のロボット10の特性(機構パラメータ)に応じた条件(具体的には、センサ1の移動速度Vと時間間隔T)が含まれていれば、その条件に対応する第1データ乃至第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、変更後の異なるロボットによる複数のワーク5の操作時における最適化計測パラメータとして決定することができる。
【0072】
或いは、第1データ乃至第2データのパラメータセット中に、変更後のロボット10の特性に応じた条件が含まれていれば、その条件における結果を、変更後のロボット10についての基本データ(第1データ)として用いることができる。そして、その基本データを使用して、上記の第2ステップ乃至第4ステップと同様の処理を実行することにより、変更後のロボット10を含むロボットシステム100について、新たな事前計測を行うことなく、計測パラメータの最適化を行うことができる。
【0073】
以上のことから、本開示によれば、種々のロボット10を備えるロボットシステム100により種々の複数のワーク5を操作するタスクにおけるセンサ1による計測パラメータの最適化を、従来に比して格段に簡略化(手間の軽減、時間短縮、ロボット非依存等)することができる。これにより、複数のワーク5の計測時におけるロバスト性、複数のワーク5の操作における作業効率、及び、全体のスループットを向上させることが可能となり、その結果、ユーザの利便性、及び、汎用性も格段に向上させることができる。また、上記ステップS505のとおり、所定の認識数ZBをより大きく設定することにより、ロバスト性を更に向上させることができ、計測精度の向上を優先する場合に有利となる。
【0074】
§5 変形例
以上、本開示の一例としての実施形態について詳細に説明してきたが、前述した説明はあらゆる点において本開示の一例を示すに過ぎず、本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもなく、例えば、以下に示すような変更が可能である。なお、以下の説明においては、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、説明を適宜省略した。また、上記実施形態及び以下の各変形例は、適宜組み合わせて構成することが可能である。
【0075】
上述の実施形態では、ワーク5の認識の正確さを示す評価値Ziとして、ワーク5の認識数を例示したが、これに限られるものではない。例えば、ワーク5の認識処理の結果得られた3次元の点群データの有効数を評価値Ziとしてもよい。或いは、ワーク5の既知の3次元情報(例えば、3次元CAD(Computer Aided Design)データ)と、ワーク5の認識処理の結果得られた形状情報との一致の度合いを評価値Ziとしてもよい。
【0076】
上述の実施形態では、第3計測パラメータにおけるセンサ1の速度を、第1計測パラメータにおけるセンサ1の速度のk倍に設定し、第3計測パラメータにおけるセンサ1による計測の時間間隔を、第1計測パラメータにおけるセンサ1による計測の時間間隔の(1/k)倍に設定する例を示したが、これに限られるものではない。例えば、第1計測パラメータにおけるセンサ1の速度をV1とし、第3計測パラメータにおけるセンサ1の速度をV2とし、第1計測パラメータにおけるセンサ1による計測の時間間隔をT1とし、第3計測パラメータにおけるセンサ1による計測の時間間隔をT2とする。この場合、(V2×T2)が(V1×T1)の整数倍であれば、第1データの検証結果は、第2データの検証結果を含むため、本実施形態に関わる計測パラメータの最適化方法を適用することができる。
【0077】
上述の実施形態では、V2及びT2は、センサ1の移動経路において常に一定であることを前提としているが、これに限られるものではない。例えば、センサ1の移動経路を複数の区間に分割し、それぞれの区間においてV2及びT2が一定であればよく、異なる区間の間でV2及びT2は必ずしも同じである必要はない。
【0078】
<5.1:第1変形例>
第1変形例では、所定の判断基準を、ワーク5の認識の正確さを示す評価値Ziとしての認識数が所定の認識数ZB以上であり、且つ、センサ1の移動の速度Vがより速いこととする。ここで、図13は、図11に例示した第2データを、評価値Ziが大きい順にデータをソートし、且つ、同じ評価値Ziのデータを、速度Vが大きい順にソートしなおした図である。同図によれば、認識数ZB=19個、及び、速度Vが最大(80%)となる計測パラメータは、4セット存在し、認識数ZB=18個、及び、速度Vが最大(90%)となる計測パラメータは、6セット存在し、認識数ZB=17個、及び、速度Vが最大(90%)となる計測パラメータは、1セット存在することが確認された。最適化計測パラメータは、所望の認識数ZBに応じて、これらの中から、適宜選択することができる。このとおり、所定の判断基準として、ワーク5の所定の認識数ZBに加えて、センサ1の速度Vがより速いことを加えることにより、所望の認識数ZBを満たしつつ、センサ1の移動時の速度Vを優先する場合に有利となる。
【0079】
<5.2:第2変形例>
第2変形例では、所定の判断基準を、ワーク5の認識の正確さを示す評価値Ziとしての認識数が所定の認識数ZB以上であり、且つ、複数のワーク5の撮影枚数iがより少ないこととする。ここで、図14は、図11に例示した第2データを、認識数Ziが大きい順にデータをソートし、且つ、同じ認識数Ziのデータを、撮影枚数iが小さい順にソートしなおした図である。同図によれば、認識数ZB=19個、及び、撮影枚数iが最小(4枚)となる計測パラメータは、センサ1の速度V=70%、時間間隔T=0.06sec、及び、撮影枚数i=4であり、これを最適化パラメータとして決定することができる。また、図14において、認識数ZB=18個、及び、撮影枚数iが最小(4枚)となる計測パラメータは、6セット存在し、認識数ZB=17個、及び、撮影枚数iが最小(3枚)となる計測パラメータは、4セット存在することが確認された。このとおり、所定の判断基準として、ワーク5の所定の認識数ZBに加えて、撮影枚数iがより少ないことを加えることにより、所望の認識数ZBを満たしつつ、撮影枚数iの低減を優先する場合に有利となる。
【0080】
<5.3:第3変形例>
第3変形例では、第1計測パラメータによる複数のワーク5のセンサ1による撮影を、複数回実施し、各撮影について取得した各撮影枚数iの認識数Ziの平均値を、第1計測パラメータに関連付けて第1データとして記憶する。この場合、センサ1の位置姿勢、センサ1の移動経路P0、複数のワーク5のばら積み状態等を不作為(ランダム)に変更するようにしてもよい。ここで、図15は、第4変形例における処理手順の一例を示すフローチャートである。
【0081】
すなわち、第3変形例における処理は、図15に示す如く、ステップS502に代えて、ステップS1501乃至S1503を実施すること以外は、図5に示す動作例における処理手順の一例と同様である。ステップS1501では、ステップS502(第2ステップ(1))と同様に、得られた複数枚数Nの撮影画像を用いた画像処理を行い、各撮影枚数iについてワーク5の認識数Ziを取得するが、それらの認識数Ziを第1計測パラメータに関連付けて記憶する処理は、未だ実施しない。次に、ステップS1502において、予め設定したステップS501の繰り返し数Qに達していない場合(ステップS1502が「いいえ」)には、ステップS501を繰り返し、Q回の撮影処理における各撮影枚数iについて、ワーク5の認識数Ziを取得する。つまり、各撮影枚数について、Q個の認識数Ziのデータを取得する。ステップS501の繰り返し数がQ回に達した場合(ステップS1502が「はい」)、ステップS1503に移行して、Q個の認識数Ziのデータの平均値を算出し、その平均値を第1計測パラメータに関連付けて第1データとして記憶部43に記憶する。
【0082】
かかる第4変形例によれば、実験的に求める第1データの精度及び信頼性を高めることができ、その結果、複数のワーク5の計測時におけるロバスト性、複数のワーク5の操作における作業効率、及び、全体のスループットをより一層向上させることができる。
【0083】
<5.4:第4変形例>
第4変形例は、動作例の「§4 作用・効果」で言及したように、ロボットシステム100のロボット10が変更になったときに、センサ1を搭載したあるロボット10について予め取得しておいた第1データ乃至第2データを活用して、ロボット10変更後のロボットシステム100における最適化計測パラメータを求める方法の一例である。すなわち、例えば、前記動作例における第1データ乃至第2データのパラメータセット中に、変更後のロボット10の特性(機構パラメータ)に応じた条件(具体的には、センサ1の移動速度Vと時間間隔T)が含まれている場合、その条件に対応する第1データ乃至第2データのなかから、所定の判定基準を満たすデータの計測パラメータを選定し、変更後の異なるロボットによる複数のワーク5の操作時における最適化計測パラメータとして決定する。これにより、ロボット10に依存することなく、計測パラメータの最適化を実現することができる簡略な手法を提供することが可能となる。。
【0084】
<5.5:第5変形例>
第5変形例も、動作例の「§4 作用・効果」で言及したように、ロボットシステム100のロボット10が変更になったときに、センサ1を搭載したあるロボット10について予め取得しておいた第1データ乃至第2データを活用して、ロボット10変更後のロボットシステム100における最適化計測パラメータを求める方法の一例である。すなわち、例えば、前記動作例における第1データ乃至第2データのパラメータセット中に、変更後のロボット10の特性に応じた条件が含まれていれば、その条件における結果を、変更後のロボット10についての基本データ(第1データ)として用いることができる。そして、その基本データを使用して、上記の第2ステップ乃至第4ステップと同様の処理を実行することにより、変更後のロボット10を含むロボットシステム100について、新たな事前計測を行うことなく、計測パラメータの最適化を行うことができる。このようにしても、ロボット10に依存することなく、計測パラメータの最適化を実現することができる簡略な手法を提供することが可能となる。
【0085】
<5.6:第6変形例>
さらに、第6変形例として、図16に、六角ボルトとは異なる形状の複数のワーク5を計測し、それらの撮像画像に、画像処理によるワーク5の位置姿勢の認識結果(輪郭線)を重ねて表示した平面図を示す。このような種々のワーク5についても、本開示による計測パラメータの最適化方法を適用することにより、種々のワーク5に対する計測パラメータの最適化における汎用性を向上させることができる。
【0086】
§6 付記
以上説明した実施形態及び変形例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態及び変形例が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態及び変形例で示した構成同士を部分的に置換し又は組み合わせることも可能である。
【符号の説明】
【0087】
1…センサ(計測装置)、2…ハンド、3…ロボットアーム、4…制御装置、5…ワー
ク(対象物)、6,7…収納容器、10…ロボット、41…制御演算部、42…通信イン
タフェース(I/F)部、43…記憶部、44…入力部、45…出力部、46…バスライ
ン、100…ロボットシステム、401…センサ制御部、402…ロボット制御部、41
0…撮像画像取得部、411…第1データ取得部、412…第2データ取得部、413…
第3データ取得部、414…最適化パラメータ決定部、Gi…センサの位置、P0,P1
,P2…移動経路。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16