(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-13
(45)【発行日】2024-03-22
(54)【発明の名称】ロボットシステムの制御装置、ロボットシステムの制御方法、コンピュータ制御プログラム、及びロボットシステム
(51)【国際特許分類】
B25J 13/00 20060101AFI20240314BHJP
B25J 13/08 20060101ALI20240314BHJP
【FI】
B25J13/00 Z
B25J13/08 A
(21)【出願番号】P 2020104446
(22)【出願日】2020-06-17
【審査請求日】2023-04-07
(31)【優先権主張番号】P 2020009368
(32)【優先日】2020-01-23
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】付 星斗
(72)【発明者】
【氏名】苗 林
(72)【発明者】
【氏名】大西 康裕
【審査官】松浦 陽
(56)【参考文献】
【文献】国際公開第2013/002099(WO,A1)
【文献】特開平06-099381(JP,A)
【文献】特開2018-176334(JP,A)
【文献】特開2019-185239(JP,A)
【文献】特開2017-042859(JP,A)
【文献】特開2016-070762(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
動作サイクルを複数回繰り返し実行するロボットシステムの制御装置であって、
前記ロボットシステムは、各動作サイクル中に移動するロボットアーム、及び、該ロボットアームの先端部に設けられ且つ
各動作サイクル中に対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を
各動作サイクル中に計測する計測装置と、を備え
、
前記制御装置は、
前記対象物の位置情報を
各動作サイクル中に計測するときの前記計測装置の少なくとも1つの位置姿勢を生成する位置姿勢生成部と、
前記計測装置が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して
各動作サイクル中に移動し、且つ、各位置姿勢において前記対象物の位置情報を
各動作サイクル中に計測するように、前記計測装置の計測経路を決定する計測経路決定部と、
前記計測装置を、前記計測経路を含む移動経路に沿って
各動作サイクル中に移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を
各動作サイクル中に計測する処理を前記計測装置に指令する指令部と、
前記計測装置による計測データを用いて前記対象物を
各動作サイクル中に認識する認識部と、
を備え、
前記計測経路決定部は、次回の動作サイクルにおける前記計測装置の計測経路を
今回の動作サイクル中に決定する、制御装置。
【請求項2】
前記位置姿勢生成部は、前記計測装置と前記対象物を含む計測領域との相対的な幾何学的位置関係に基づいて、前記計測領域の全てをカバーするように、前記少なくとも1つの位置姿勢を予め生成し、
前記計測経路決定部は、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢の全てを経由して移動するように、前記計測経路を決定する、請求項1記載の制御装置。
【請求項3】
前記位置姿勢生成部は、少なくとも1つ以上前の動作サイクルにおける前記計測装置による計測結果に基づいて、前記少なくとも1つの位置姿勢を予め生成し、
前記計測経路決定部は、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢
の全てを経由して移動するように、前記計測経路を決定する、請求項1記載の制御装置。
【請求項4】
前記計測結果が、前記計測装置による前記対象物の計測データ又は前記対象物の認識結果である、請求項3記載の制御装置。
【請求項5】
前記計測データ又は前記認識結果が、前記対象物の認識信頼度が低い認識結果、前記対象物を認識できていない点群データ、欠落データ、不連続形状、及び、前記対象物の積層配置における高い位置を示すデータの少なくとも何れかである、請求項4記載の制御装置。
【請求項6】
前記位置姿勢生成部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢から特定の位置姿勢を選択し、
前記計測経路決定部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置が、所定の順序で前記特定の位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定する、請求項2乃至5の何れか記載の制御装置。
【請求項7】
前記位置姿勢生成部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢を生成し、
前記計測経路決定部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定する、請求項1乃至5の何れか記載の制御装置。
【請求項8】
前記所定の条件が、以前の動作サイクルにおける対象物の計測データ、以前の動作サイクルにおける対象物の認識結果、及び、前記ロボットシステムの構成のうち少なくとも1つである、請求項6又は7記載の制御装置。
【請求項9】
前記所定の計測戦略が、計測領域への対応性、対象物の認識容易性、計測経路の効率性、対象物の認識信頼度、及び、対象物の積層配置のうちの少なくとも1つを志向する戦略である、請求項6乃至8の何れか記載の制御装置。
【請求項10】
前記指令部は、1つの動作サイクルにおいて、前記ハンドが前記対象物を把持して移動するときに、及び/又は、前記ハンドが前記対象物を把持するために移動するときに、前記少なくとも1つの位置姿勢において前記対象物の位置情報を計測する計測する処理を、前記計測装置に指示する、請求項1乃至9の何れかに記載の制御装置。
【請求項11】
前記対象物の位置情報に基づいて、前記ハンドによって把持される対象物を決定する決定部を更に備える、請求項1乃至10の何れかに記載の制御装置。
【請求項12】
前記対象物の位置情報に基づいて、前記ハンドによってプレイスされる対象物の目標位置を決定する決定部を更に備える、請求項1乃至10の何れかに記載の制御装置。
【請求項13】
動作サイクルを複数回繰り返し実行するロボットシステムの制御方法であって、
前記ロボットシステムは、各動作サイクル中に移動するロボットアーム、及び、該ロボットアームの先端部に設けられ且つ
各動作サイクル中に対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を
各動作サイクル中に計測する計測装置と、を備え
、
前記制御方法は、
位置姿勢生成部が、前記対象物の位置情報を
各動作サイクル中に計測するときの前記計測装置の少なくとも1つの位置姿勢を生成するステップと、
計測経路決定部が、前記計測装置が、前記少なくとも1つの位置姿勢を経由して
各動作サイクル中に移動し、且つ、各位置姿勢において前記対象物の位置情報を
各動作サイクル中に計測するように、前記計測装置の計測経路を決定するステップと、
指令部が、前記計測装置を、前記計測経路を含む移動経路に沿って
各動作サイクル中に移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を
各動作サイクル中に計測する処理を前記計測装置に指令するステップと、
認識部が、前記計測装置による計測データを用いて前記対象物を
各動作サイクル中に認識するステップと、 前記計測経路決定部が、次回の動作サイクルにおける前記計測装置の計測経路を
今回の動作サイクル中に決定するステップと、を含む制御方法。
【請求項14】
コンピュータに、請求項13に記載の制御方法を実行させるコンピュータ制御プログラム。
【請求項15】
動作サイクルを複数回繰り返し実行するロボットシステムであって、
各動作サイクル中に移動するロボットアーム、及び、該ロボットアームの先端部に設けられ且つ
各動作サイクル中に対象物を操作するハンドを有するロボットと、
前記ロボットアームに設けられ且つ前記対象物の位置情報を
各動作サイクル中に計測する計測装置と、
前記ロボット及び前記計測装置に接続された制御装置と、
を備え、
前記制御装置は、
前記対象物の位置情報を
各動作サイクル中に計測するときの前記計測装置の少なくとも1つの位置姿勢を生成する位置姿勢生成部と、
前記計測装置が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して
各動作サイクル中に移動し、且つ、各位置姿勢において前記対象物の位置情報を
各動作サイクル中に計測するように、前記計測装置の計測経路を決定する計測経路決定部と、
前記計測装置を、前記計測経路を含む移動経路に従って
各動作サイクル中に移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を
各動作サイクル中に計測する処理を前記計測装置に指令する指令部と、
前記計測装置による計測データを用いて前記対象物を
各動作サイクル中に認識する認識部と、
を有し、
前記計測経路決定部は、次回の動作サイクルにおける前記計測装置の計測経路を
今回の動作サイクル中に決定する、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物を操作するロボットシステムの制御装置、ロボットシステムの制御方法、ロボットシステムの制御プログラム、及びロボットシステムに関する。
【背景技術】
【0002】
ファクトリーオートメーション(FA:Factory Automation)における検査や生産ラインにおいて、ビン等の容器内にばら積みされたワーク(部品等)等の対象物を、ピースピッキングロボット等のロボットによって1つずつ取り出して、容器から別の場所や容器に移載したり、その対象物を加工したりする装置が知られている。かかる装置では、例えば、ばら積みされたワークを3次元計測し、得られた計測結果とワークの3次元モデルデータとの照合(3次元マッチング)により、個々のワークの3次元位置姿勢を認識して、ロボットでピックアップする。このような装置の例として、例えば特許文献1には、ロボットが移動している際に撮像された2つの画像から対象物を検出し、各画像が撮像されたときのロボットの位置姿勢情報を取得する装置が記載されている。この装置では、対象物の位置情報と各画像に対応するロボットの位置姿勢情報から、ロボット座標系における対象物の視線情報が算出され、それらの視線情報の交点から対象物の3次元位置が検出される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、容器内にばら積みされたワークの計測においては、通常、複雑な形状を有するワークの重なり合いによって視野の一部又は全部が遮断(オクルージョン)されたり、鏡面を有するワークの場合には相互反射が生じたりしてしまう。この場合、対象物の計測データの不備や欠損が生じてしまい、3次元マッチングが十分に行われ難くなり、そのため、対象物の認識ができなかったり、認識できてはいるもののその精度が悪くなったりするおそれがある。こうなると、容器内にワークが未だ残っている状態でも、ワークの取り出し処理が中断されてしまうといった問題が生じ得る。
【0005】
そこで、本発明は、一側面では、かかる事情を鑑みてなされたものであり、ワーク等の対象物を例えば容器から取り出す処理が中断されてしまうことを抑止することができ、且つ、対象物の計測時におけるロバスト性、及び、対象物の操作の作業効率に優れたピッキングシステムの制御装置、ピッキングシステムの制御方法、ピッキングシステムの制御プログラム、及びピッキングシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0007】
〔1〕すなわち、本開示に係る制御装置の一例は、ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報(例えば、2次元又は3次元位置情報)を計測する計測装置(センサ)と、を備えるロボットシステムの制御装置である。また、制御装置は、前記対象物の位置情報を計測するときの前記計測装置の少なくとも1つの位置姿勢(計測装置の向き及び座標)を生成する位置姿勢生成部と、前記計測装置が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動し、且つ、各位置姿勢において前記対象物の位置情報を計測するように、前記計測装置の計測経路を決定する計測経路決定部と、前記計測装置を、前記計測経路を含む移動経路に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を計測する処理を前記計測装置に指令する指令部と、前記計測装置による計測データを用いて前記対象物を認識する認識部とを備え、前記計測経路決定部は、例えば前記計測装置が前記移動経路を移動しているときに(但し、この時期に限定されない)、次回の動作サイクルにおける前記計測装置の計測経路を決定する。
【0008】
ここで、「動作サイクル」とは、ハンドが対象物を操作して、ある場所から別の場所へ対象物を移動させる期間、及び/又は、そこからハンドが元の場所へ戻るまでの期間を示し、換言すれば、ハンドが対象物を把持して移動し、及び/又は、ハンドが対象物を把持するために移動する期間を示す。
【0009】
当該構成では、生成された少なくとも1つの位置姿勢を経由する計測装置の計測経路が設定される。また、その計測経路を含む移動経路に沿って計測装置が移動し、その間に、設定された位置姿勢において、計測装置による対象物の計測が行われるとともに、次回(以降)の動作サイクルにおける計測経路が決定される。従って、計測装置の位置姿勢、及び、それらを経由する計測経路の設定を、例えば、ばら積み等された対象物の情報や対象物を含む計測領域の状況等に応じて(それらを考慮して)実施することができる。よって、対象物が残っている場合でも、例えば、対象物に対して計測装置を固定して各動作サイクルで同じ視野で計測する場合に比して、対象物の認識をより確実に行うことができる。これにより、対象物を例えば容器から取り出す処理が中断されてしまうことを抑止することができるので、対象物の計測時におけるロバスト性、対象物の操作の作業効率、及び全体のスループットを向上させることができる。
【0010】
〔2〕上記構成において、より具体的には、前記位置姿勢生成部は、前記計測装置と前記対象物を含む計測領域との相対的な幾何学的位置関係に基づいて、前記計測領域の全てをカバーするように、前記少なくとも1つの位置姿勢を予め生成し、前記計測経路決定部は、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢の全てを経由して移動するように、前記計測経路を決定するように構成してもよい。当該構成では、計測領域を全てカバーするように固定された少なくとも1つの位置姿勢をいわば"静的に"設定することができる。また、それらを通る計測経路において対象物の計測が行われる。よって、次回(以降)の動作サイクルにおいても、計測領域を確実にカバーする計測経路を設定することができ、対象物の計測時におけるロバスト性、対象物の操作における作業効率、及び、全体のスループットをより向上させることができる。
【0011】
〔4〕当該構成において、より具体的には、前記計測結果が、前記計測装置による前記対象物の計測データ又は前記対象物の認識結果であってもよい。
【0012】
〔5〕更に具体的には、前記計測データ又は前記認識結果が、前記対象物の認識信頼度が低い認識結果、前記対象物を認識できていない点群データ、欠落データ、不連続形状、及び、前記対象物の積層配置における高い位置を示すデータの少なくとも何れかであると好適である。
【0013】
〔6〕或いは、上記構成において、前記位置姿勢生成部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢から特定の位置姿勢を選択し、前記計測経路決定部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置が、所定の順序で前記特定の位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定するように構成してもよい。当該構成では、計測領域を全てカバーするように静的に設定された計測装置の位置姿勢のなかから、例えば、認識された対象物の位置姿勢等に応じて、次回の動作サイクルにおける対象物の認識のためにより好適な特定の位置姿勢を選択することができる。これにより、計測装置の位置姿勢をいわば"動的に"設定し、それらに基づいて次回の動作サイクルにおける計測経路を設定することができる。その結果、対象物の計測時におけるロバスト性、計測効率、対象物の操作における作業効率、及び、全体のスループットを更に向上させることができる。
【0014】
〔7〕或いは、上記構成において、前記位置姿勢生成部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢を生成し、前記計測経路決定部は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置が、所定の順序で前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定するように構成してもよい。当該構成では、計測装置の位置姿勢として、予め固定された位置姿勢を設定することなく、例えば、認識された対象物の位置姿勢等に応じて、次回の動作サイクルにおける対象物の認識のためにより好適な位置姿勢をいわばより"動的に"設定し、それらに基づいて次回の動作サイクルにおける計測経路を設定することができる。これにより、対象物の計測時におけるロバスト性、計測効率、対象物の操作における作業効率及び、全体のスループットを更に向上させることができる。
【0015】
〔8〕上記構成において、更に具体的には、前記所定の条件が、以前の動作サイクルにおける対象物の計測データ(例えば、認識された対象物の点群データ、距離画像等)、以前の動作サイクルにおける対象物の認識結果(例えば、認識された対象物の数、配置、位置姿勢等)、及び、前記ロボットシステムの構成(例えば、計測装置の視野、計測領域、及び、対象物の配置領域の相対的な幾何学的位置関係)のうち少なくとも1つであるように構成してもよい。当該構成では、それらの所定の条件を、計測装置の位置姿勢を動的に生成及び選定する際の基準又は指標として使用することにより、より好適な位置姿勢及び計測経路の設定が可能となる。
【0016】
〔9〕上記構成において、前記所定の計測戦略が、計測領域への対応性(計測領域をより広くカバー)、対象物の認識容易性(対象物のより容易な認識)、計測経路の効率性(例えば、計測経路の最短化)、対象物の認識信頼度(対象物の認識失敗時又は認識信頼度が低い場合)、及び、対象物の積層配置(ばら積みされた対象物の把持の容易性:把持容易性)のうちの少なくとも1つを志向する戦略であるように構成してもよい。当該構成では、それらの所定の計測戦略に合致する条件で、計測装置の位置姿勢を動的に生成及び選定することができるので、例えば、ばら積みされた対象物の状態が変化していく状況に即して、より好適な位置姿勢及び計測経路の設定が可能となる。
【0017】
〔10〕上記構成において、前記指令部は、前記ハンドが前記対象物を把持して移動するときに、及び/又は、前記ハンドが前記対象物を把持するために移動するときに、前記少なくとも1つの位置姿勢において前記対象物の位置情報を計測する処理を、前記ロボット及び前記計測装置に指令するように構成してもよい。当該構成では、ハンドが対象物を把持して別の場所へ移動させるとき(ピックアップしてから去るとき)、及び、ハンドが対象物を解放してから元の場所へ戻るとき(ピックアップのために対象物へ近づきとき)の何れにおいても、対象物の計測を行うことができる。よって、次回(以降)の動作サイクルにおける計測経路の設定における柔軟性及び汎用性を高めることができる。
【0018】
〔11〕本開示に係る制御方法の一例は、ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を計測するする計測装置と、を備えるロボットシステムの制御方法であり、以下の各ステップを含む。
【0019】
すなわち、当該方法は、位置姿勢生成部が、前記対象物の位置情報を計測するときの前記計測装置の少なくとも1つの位置姿勢を生成するステップ、計測経路決定部が、前記計測装置が、前記少なくとも1つの位置姿勢を経由して移動し、且つ、各位置姿勢において前記対象物の位置情報を計測するように、前記計測装置の計測経路を決定するステップ、指令部が、前記計測装置を、前記計測経路を含む移動経路に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物の位置情報を計測する処理を前記計測装置に指令するステップ、認識部が、前記計測装置による計測データを用いて前記対象物を認識するステップ、及び、前記計測経路決定部が、前記計測装置が前記移動経路を移動しているときに、次回の動作サイクルにおける前記計測装置の計測経路を決定するステップを含む。
【0020】
〔12〕本開示に係るコンピュータ制御プログラムの一例は、コンピュータを、上記の本開示に係る制御装置として有効に機能させるプログラムである。
【0021】
〔13〕本開示に係るロボットシステムの一例は、ロボットアーム、及び、該ロボットアームの先端部に設けられ且つ対象物を操作するハンドを有するロボットと、前記ロボットアームに設けられ且つ前記対象物の位置情報を計測する計測装置と、上記の本開示に係る制御装置とを備える。
【0022】
なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、1つの「部」及び「装置」が有する機能が2つ以上の物理的手段や装置によって実現されてもよく、或いは、2つ以上の「部」及び「装置」の機能が1つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
【発明の効果】
【0023】
本発明によれば、対象物を例えば容器から取り出す処理が中断されてしまうことを抑止することができるので、対象物の計測時におけるロバスト性、対象物の操作の作業効率、及び、全体のスループットを向上させることができる。
【図面の簡単な説明】
【0024】
【
図1】本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。
【
図2】本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。
【
図3】本実施形態に係る制御装置を備えるロボットシステムのハードウェアの構成の一例を模式的に示す平面図である。
【
図4】本実施形態に係る制御装置を備えるロボットシステムの機能構成の一例を模式的に示す平面図である。
【
図5】本実施形態に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。
【
図6】本実施形態に係る計測装置(センサ)の位置姿勢及び計測経路の一例を模式的に示す斜視図である。
【
図7】
図6に示すセンサの位置姿勢における3次元座標の設定方法の一例の概念を示す模式図であり、(A)は斜視図であり、(B)は上面図である。
【
図8】本実施形態に係る計測装置(センサ)の位置姿勢及び計測経路の他の一例を模式的に示す斜視図である。
【
図9】第1変形例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。
【
図10】「所定の計測戦略」を概念的に示す図であり、(A)~(D)は上面図を示し、(E)は側断面図を示す。
【
図11】第2変形例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下、本開示の一例に係る実施の形態(以下「実施形態」と表記する。)について、図面を参照して説明する。但し、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【0026】
§1 適用例
まず、
図1及び
図2を用いて、本開示の一例が適用される場面の一例について説明する。
図1及び
図2は、それぞれ、本実施形態に係る制御装置を備えるロボットシステムの適用場面の一例を模式的に示す平面図である。本実施形態に係るロボットシステム100は、例えばビン等の収納容器6内にばら積みされた複数のワーク5を、ロボット10により、収納容器6から取り出して他の収納容器7等へ移載し、整列させて配置する操作、及び/又は、あるワーク5を移載し終えたロボット10を、次のワーク5を取り出すために、収納容器6側へ復帰させる操作(それぞれ
図2の移動経路P1,P2参照)を行うことができる。ワーク5の種類は、特に制限されず、例えば、自動車のパワートレイン系(例えば、エンジン、又はトランスミッション等)の機械部品、又は電装系の電子部品等を挙げることができる。また、かかるロボットシステム100は、ロボット10の他、そのロボット10に設けられたセンサ1(本開示における「計測装置」の一例)と、センサ1及びロボット10に接続された制御装置4を備える。
【0027】
センサ1は、ワーク5の位置情報(例えば3次元位置情報)を含む計測データを取得する3Dセンサであり、ロボット10のロボットアーム3の先端部に設置されていて、
図1(A)及び(B)に示すように、ワーク5を所定の視野(角)で且つ所定の計測条件で撮像する。かかるセンサ1は、例えば、点群を計測する距離センサであり、或いは、距離センサと2次元センサとを組み合わせて距離画像を取得する距離画像センサでもよい。距離センサは、奥行情報としての距離dを計測するセンサである。2次元センサは、2次元の画像を撮影するイメージセンサであり、2次元の画像は、距離dを画素値としない点において距離画像とは異なる。距離画像センサは、例えば、2次元センサの撮影位置を変えながらワーク5の複数の2次元の画像を撮影し、ステレオ立体視の画像処理により、距離dを画素値とする距離画像を取得するカメラでもよい。または、距離画像センサは、ワーク5を複数の異なる方向から同時に撮影することにより、距離dを画素値とする距離画像を取得するステレオカメラでもよい。
【0028】
また、センサ1は、必須ではないが、必要に応じて、適宜の計測光(例えば、アクティブ方式で用いられるパターン光やスキャン光等)を含むいわゆる3D用照明や、通常の照明であるいわゆる2D用照明をワーク5へ投射するプロジェクタ(図示せず)を有していてもよい。かかるプロジェクタの構成も特に制限されず、例えば、パターン光を投射するものの場合、レーザ光源、パターンマスク、及びレンズを備える構成を例示することができる。レーザ光源から出射された光は、所定のパターンが形成されたパターンマスクによって所定のパターンを有する計測光(パターン光)に変換され、レンズを介してワーク5へ投射される。
【0029】
この「所定のパターン」としては、特に制限されず、例えばアクティブワンショット方式で用いられる種々のパターンを例示することができる。より具体的には、例えば、複数のラインが所定の間隔で2次元に配置されたいわゆるラインベースのパターン、互いに区別可能な複数種類の単位画像、単位図形、幾何学形状等が2次元に配置(規則的でもランダムでもよく、規則的な部分とランダムな部分が混合又は重畳されていてもよい。)されたいわゆるエリアベースのパターン、縦横ラインのグリッドにグラフシンボル等が配置されたいわゆるグリッドグラフベースのパターン等が挙げられる。なお、各所定のパターンは、エンコード用に、例えばラインや単位図形を区別するためのID情報を含んでいてもよい。
【0030】
また、ワーク5の計測方式としては、特に制限されず、例えば、光の直進性を用いる種々のアクティブ計測方式(例えば、三角測距を基本原理とする空間コード化パターン投影方式、時間コード化パターン投影方式、モアレトポグラフィ方式等)、光の直進性を用いる種々のパッシブ計測方式(例えば、三角測距を基本原理とするステレオカメラ方式、視体積交差方式、因子分解方式等、同軸測距を基本原理とするDepth from focusing方式等)、及び、光の速度を用いる種々のアクティブ計測方式(例えば、同時測距を基本原理とする飛行時間方式(Time of Flight)、レーザースキャン方式等)を適宜選択して用いることができる。
【0031】
ワーク5の計測データとしては、それらの種々の計測方式で取得される画像データ(例えば3次元点群データや距離画像等)、また、ワーク5の3次元モデルデータと照合することが可能な適宜のデータ等を例示できる。ここで、ワーク5の3次元モデルデータとしては、例えば、3次元座標データ、その3次元座標データをワーク5の種々の異なる位置姿勢に対応して2次元投影した2次元座標データ、その他適宜のテンプレートやパターンに対応するデータ等が挙げられる。なお、ワーク5の認識において、3次元モデルデータとの照合は必須ではなく、モデルデータを用いない(いわゆるモデルレス)認識も適用可能である。
【0032】
ロボット10は、例えば、ワーク5を操作(例えば、把持、吸着、移動、組み立て、又は挿入等)するためのハンド2と、そのハンド2が先端部に設けられたロボットアーム3を備える多関節ロボット(例えば、垂直多関節ロボット、水平多関節ロボット)である。ロボット10の各関節には、関節を駆動するためのサーボモータ等の駆動装置と、関節の変位(角度変位)を検出するためのエンコーダ等の変位検出装置が組み込まれている。また、ロボット10は、自律的に動作するマニピュレータとして動作し、例えば、ワーク5のピッキング、組み立て、搬送、塗装、検査、研磨、又は洗浄等の様々な用途に用いることができる。
【0033】
ハンド2は、エンドエフェクタの一例であり、個々のワーク5を把持し且つ解放(掴み且つ離す)動作が可能な把持機構を有する。ロボットアーム3は、ハンド2を収納容器6内のワーク5の把持位置(ピックアップ位置)へ移動し、且つ、ワーク5を把持したハンド2をその把持位置から他の収納容器7における解放位置(ドロップ位置)へと移動するための駆動機構を有する。
【0034】
制御装置4は、センサ1及びロボット10のそれぞれに接続されており、センサ1によるワーク5の計測処理、ハンド2によるワーク5の操作処理、ロボット10(ハンド2及びロボットアーム3等)の駆動処理の他、ロボットシステム100において必要とされる種々の動作や演算に関する処理を制御する。より具体的には、例えば、以下の各処理を実施する。
【0035】
(1)センサの位置姿勢生成処理
センサ1によるワーク5(特に、収納容器6内の全てのワーク5。以下同様。)の3次元計測を行うときのセンサ1の位置姿勢を生成する。この場合の生成方法としては、例えば、センサ1と、ワーク5を含む計測領域(例えば、ワーク5の収納容器6の内部領域)との相対的な幾何学的位置関係に基づいて、その計測領域の全てをカバーするような、固定された少なくとも1つの位置姿勢(センサ1の向き及び3次元座標)をいわば"静的に"設定することができる。また、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、固定された位置姿勢のなかから特定の位置姿勢を選択したり、既に取得されているワーク5の位置情報等を用いて、センサ1の位置姿勢をいわば"動的に"設定したりすることもできる。なお、通常は、1回の3次元計測により、複数のワーク5に対する認識結果(位置情報)が得られる。なお、ワーク5を収納容器6からピックアップする場合、計測領域は、収納容器6の内部領域(即ち、ワーク5が置かれている領域)を含む。ワーク5を収容容器7にプレイスする場合、計測領域は、収納容器7の内部領域(即ち、ワーク5が置かれる予定の領域)を含む。収容容器6の内部領域に置かれているワーク5を把持し、そのワーク5を収容容器6の内部領域から収納容器7の内部領域に移動させる場合、計測領域は、収納容器6の内部領域と収納容器7の内部領域とを含む。
【0036】
(2)センサの計測経路決定処理(初回の動作サイクル)
生成されたセンサ1の位置姿勢を経由して移動し、且つ、各位置姿勢においてワーク5の3次元計測を行うための計測経路を決定する。この場合、例えば、静的に設定された位置姿勢の全部をセンサ1が経由するように計測経路を決定することができる。または、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、そのなかから選択した特定の位置姿勢の少なくとも一部、又は、動的に設定された位置姿勢の少なくとも一部をセンサ1が経由するように計測経路を決定することもできる。さらに、ここでは、決定された計測経路を含み、且つ、把持対象のワーク5をハンド2で把持して収納容器6から他の収納容器7へ移載し、そのハンド2を収納容器6側へ移動して戻す際の移動経路P1,P2の何れか、又は、移動経路P1,P2の両方(以下、単に「移動経路P1,P2」と記載することがある。)を決定する。
【0037】
(3)ワークの把持・移動・解放処理
収納容器6内にばら積みされた複数の(全部の)ワーク5のうち、把持対象のワーク5を把持してピックアップし、設定された移動経路P1に従って、収納容器6から他の収納容器7へ移動し、目的位置でワーク5の把持を解放してドロップする。それから、ワーク5を解放したハンド2を、設定された移動経路P2に従って、収納容器6側へ移動し、これを1つの動作サイクルとして、次回(以降)の動作サイクル(ワーク5の把持・移動・解放処理)を繰り返す。なお、1つの動作サイクルは、移動経路P1,P2の何れかを含んでもよく、又は、本例のように移動経路P1,P2の両方を含んでもよい。
【0038】
(4)ワークの3次元計測処理
(3)のワークの把持・移動・解放処理を行っている間に、計測経路内に設定された位置姿勢において、センサ1によるワーク5の3次元計測を行う。例えば、ワーク5を収納容器6からピックアップする場合、センサ1は、計測経路内に設定された位置姿勢において、収納容器6内のワーク5の3次元計測を行う。収納容器6内のワーク5の3次元計測は、収納容器6からピックアップされるべきワーク5を決定することを目的として、収納容器6内の複数のワーク5の積載状況及び各ワーク5の位置姿勢を認識するために実行される。また、例えば、ワーク5を収容容器7にプレイスする場合、センサ1は、計測経路内に設定された位置姿勢において、収納容器7内のワーク5の3次元計測を行う。収納容器7内のワーク5の3次元計測は、収容容器7内の空き領域(即ち、ワーク5が置かれていない領域)のうちどの領域(位置)にワーク5をプレイスするべきかを決定することを目的として、収納容器7内の複数のワーク5の積載状況及び各ワーク5の位置姿勢を認識するために実行される。ワーク5の3次元計測は、ハンド2がワーク5を保持して収納容器6側から離れて他の収納容器7側へ移動する間、及び、ハンド2からワーク5を解放して他の収納容器7側から収納容器6へ接近する間の何れでもよい。
【0039】
(5)ワークの位置姿勢認識処理
(4)のワークの3次元計測処理の前後の適宜のタイミングで、ワーク5の3次元形状を表す3次元モデルデータ(3次元CADモデルデータ)を取得し、或いは、ワーク5の位置姿勢の認識処理を行うために使用可能な適宜のテンプレートやモデルパターンを必要に応じて作成する。それから、(3)のワークの把持・移動・解放処理を行っている間に、この3次元モデルデータ等と、センサ1による複数のワーク5の計測データとを、所定の認識パラメータを用いて照合する3次元マッチングを行い、複数のワーク5の位置姿勢(例えば、そのワーク5の3次元座標及び3次元軸まわりの回転角度)を認識する。また、複数のワーク5の各々の位置姿勢認識結果として、例えば、各ワーク5について認識された位置姿勢を2次元投影した2次元画像に、3次元マッチングにおいてそのワーク5の特徴点や特徴部位として検出された例えば輪郭線(エッジに該当する線分)等を識別可能に表示した画像を出力することもできる。なお、各ワーク5の認識において、3次元モデルデータとの照合は必須ではなく、モデルデータを用いない(いわゆるモデルレス)認識も適用可能であることは、前述のとおりである。例えば、ワーク5を収納容器6からピックアップする場合、収納容器6内のワーク5の位置姿勢認識結果に基づいて、収納容器6からピックアップされるワーク5が決定される。また、例えば、ワーク5を収容容器7にプレイスする場合、収納容器7内のワーク5の位置姿勢認識結果に基づいて、収容容器7内の空き領域(即ち、ワーク5が置かれていない領域)が決定される。そして、収容容器7に置かれているワーク5との干渉を避けるように、収容容器7内の空き領域のうちどの領域(位置)にワーク5がプレイスされるのかが決定される。
【0040】
(6)次回把持するワークの決定処理及び次回プレイスするワークの置き場所の決定処理
例えば、ワーク5を収納容器6からピックアップする場合、(3)のワークの把持・移動・解放処理を行っている間に、ワーク5の位置姿勢認識結果に基づいて、例えば、複数のワーク5の各々について、各認識結果の信頼度(精度)を適宜の手法で評価する。その結果から、例えば、信頼度が所定の閾値よりも高いワーク5をハンド2による次回の把持候補のワーク5として選定する。信頼度の評価手法としては、例えば、ワーク5の位置姿勢認識結果から、ワーク5の3次元形状の特徴量を抽出し、それに基づいて、3次元モデルデータとの合致度や類似度を表す指標を算出する方法等が挙げられる。さらに、把持候補として選定されたワーク5について、その位置姿勢認識結果に基づいて、ハンド2がそのワーク5を把持する際のハンド2の把持姿勢を、所定の算出パラメータを用いて算出する。そして、例えば、ハンド2による把持が可能なワーク5の中から、ランダムに、或いは、必要に応じて、ハンド2がそれらの各ワーク5を把持する際の容易性(把持容易性)等を評価し、その結果に基づいて、次回の動作サイクルにおいて把持するワーク5を決定する。なお、認識結果の信頼度と把持容易性は、必ずしも対応(合致)せず、例えば、より低い信頼度を示すワーク5の方が、より高い信頼度を示すワーク5よりも、把持容易性が高い(把持し易い)こともある。また、例えば、ワーク5を収容容器7にプレイスする場合、収容容器7内にワーク5がプレイスされる領域(位置)とその順番とを、デフォルトの配置規則として予め定めておいてもよい。そして、デフォルトの配置規則通りにワーク5を収容容器7内の空き領域にプレイスしても、収容容器7に置かれているワーク5との干渉が生じない場合には、デフォルトの配置規則通りにワーク5を収容容器7内の空き領域にプレイスしてもよい。デフォルトの配置規則通りにワーク5を収容容器7内の空き領域にプレイスすると、収容容器7に置かれているワーク5との干渉が生じる場合には、収容容器7に置かれているワーク5との干渉が生じないように、デフォルトの配置規則により定められる領域(位置)とは異なる領域(位置)にワーク5をプレイスしてもよい。このようにして、収容容器7内に置かれているワーク5の位置情報に基づいて、ハンド2によって収容容器7内にプレイスされるワーク5の目標位置が決定される。
【0041】
(7)センサの計測経路決定処理(次回の動作サイクル)
(3)のワークの把持・移動・解放処理を行っている間に、次回の動作サイクルにおいて収容容器6内で把持するワーク5の位置及び/又は収容容器7内にプレイスするワーク5の目標位置を考慮しつつ、(1)のセンサの位置姿勢生成処理で設定されたセンサ1の位置姿勢に基づいて、次回(以降)の動作サイクルにおけるセンサ1の計測経路、及び、その計測経路を含む移動経路を設定する。この場合の計測経路は、前回の計測経路と同じでも異なっていてもよい。
【0042】
以上のとおり、センサ1、ハンド2、ロボットアーム3、制御装置4、ロボット10、ロボットシステム100は、それぞれ、本発明に係る「センサ」、「ハンド」、「ロボットアーム」、「制御装置」、「ロボット」、及び「ロボットシステム」の一例に相当する。また、ワーク5は、本発明に係る「対象物」の一例に相当する。またさらに、制御装置4は、本発明に係る「位置姿勢生成部」、「計測経路決定部」、「指令部」、及び「認識部」のそれぞれの一例にも相当する。
【0043】
以上のことから、本実施形態の制御装置4、及び、それを備えるロボットシステム100によれば、生成された少なくとも1つの位置姿勢を経由するセンサ1の計測経路が設定される。また、その計測経路を含む移動経路P1,P2の何れか、又は、移動経路P1,P2の両方に沿ってセンサ1が移動し、その間に、設定された位置姿勢において、センサ1によるワーク5の3次元計測が行われるとともに、次回(以降)の動作サイクルにおける計測経路が決定される。従って、センサ1の位置姿勢、及び、それらを経由する計測経路の設定を、例えば、ばら積み等されたワーク5の情報やワーク5を含む計測領域の状況等に応じて(それらを考慮して)実施することができる。よって、収納容器6内にワーク5が未だ残っている場合でも、例えば、ワーク5に対してセンサ1を固定して各動作サイクルで同じ視野で計測する場合に比して、ワーク5の認識をより確実に行うことができる。これにより、ワーク5を例えば収納容器6から取り出す処理が中断されてしまうことを抑止することができるので、ワーク5の計測時におけるロバスト性、ワーク5の操作の作業効率、及び、全体のスループットを向上させることができる。
【0044】
§2 構成例
[ハードウェア構成]
次に、
図3を用いて、本実施形態に係るロボットシステム100のハードウェア構成の一例について説明する。
図3は、本実施形態に係る制御装置4を備えるロボットシステム100のハードウェアの構成の一例を模式的に示す平面図である。
図3の例でも、ロボットシステム100は、
図1及び
図2に例示したセンサ1、ハンド2及びロボットアーム3を有するロボット10、並びに、制御装置4を備える。ここで、制御装置4は、制御演算部41、通信インタフェース(I/F)部42、記憶部43、入力部44、及び出力部45を含み、各部はバスライン46を介して相互に通信可能に接続され得る。
【0045】
制御演算部41は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、情報処理に応じて各構成要素の制御及び各種演算を行う。
【0046】
通信I/F部42は、例えば、有線又は無線により他の構成要素である「部」及び「装置」と通信するための通信モジュールである。通信I/F部42が通信に用いる通信方式は任意であり、例えば、LAN(Local Area Network)やUSB(Universal Serial Bus)等が挙げられ、バスライン46と同等の適宜の通信線を適用することもできる。センサ1、ハンド2、及びロボットアーム3ともに、通信I/F部42を介して、制御演算部41等と通信可能に設けることが可能である。
【0047】
記憶部43は、例えばハード・ディスク・ドライブ(HDD)、ソリッド・ステート・ドライブ(SSD)等の補助記憶装置であり、制御演算部41で実行される各種プログラム(前記(1)乃至(7)に示す処理を含む各種処理を実行するための演算プログラム、並びに、センサ1、ハンド2、及びロボットアーム3のそれぞれの動作の制御処理を行うための制御プログラム等)、センサ1から出力される計測データ、計測条件、認識パラメータ、及び種々の算出パラメータを含むデータベース、各種演算結果及び算出結果のデータ、複数のワーク5の各々の位置姿勢認識結果に関するデータ、各ワーク5のピッキング状況やピッキング記録に関するデータ、ワーク5の3次元モデルデータ、複数のワーク5を含み得る計測エリアに関するデータ、その計測エリアを計測するセンサ1の位置姿勢の設定データ等を記憶する。このとおり、記憶部43に記憶された演算プログラム及び制御プログラムが制御演算部41で実行されることにより、後述する機能構成例における各種処理機能が実現される。
【0048】
入力部44は、ロボットシステム100を利用するユーザからの各種入力操作を受け付けるためのインタフェースデバイスであり、例えば、マウス、キーボード、タッチパネル、音声マイク等で実現し得る。出力部45は、ロボットシステム100を利用するユーザ等へ、各種情報を、その表示、音声出力、印刷出力等により報知するためのインタフェースデバイスであり、例えば、ディスプレイ、スピーカ、プリンタ等で実現し得る。
【0049】
[機能構成]
次に、
図4を用いて、本実施形態に係る物体認識処理装置を備えるロボットシステム100の機能構成の一例を説明する。
図4は、本実施形態に係る制御装置4を備えるロボットシステム100の機能構成の一例を模式的に示す平面図である。
【0050】
図4に示すロボットシステム100の制御演算部41は、記憶部43に記憶された各種プログラム(制御プログラム及び演算プログラム等)をRAMに展開する。そして、制御演算部41は、RAMに展開された各種プログラムをCPUにより解釈及び実行して、各構成要素を制御する。これにより、
図3に例示の如く、本実施形態に係るロボットシステム100は、前記(1)乃至(7)に示す各処理を実行可能な機能部として、センサ制御部401、ハンド制御部402、ロボットアーム制御部403、センサ位置姿勢生成部410、経路決定部411、計測データ取得部420、モデルデータ取得部421、ワーク位置姿勢認識部422、ハンド把持姿勢生成部430、ハンド把持姿勢評価部431、及び、把持ワーク決定部440を備える構成を実現し得る。
【0051】
なお、本実施形態では、ロボットシステム100に備わる制御装置4で実現される各機能が汎用のCPUによって実現される例について説明したが、以上の機能の一部又は全部が、1つ又は複数の専用のプロセッサによって実現されてもよい。また、ロボットシステム100に備わる制御装置4の機能構成は、実施形態や構成例に応じて、適宜、機能の省略、置換、及び追加が行われてももちろんよい。また、「制御装置」とは、一般的な情報処理装置(例えば、コンピュータ、ワークステーション等)と解することができる。
【0052】
§3 動作例
次に、
図5を用いて、ロボットシステム100の動作の一例について説明する。
図5は、本実施形態に係る制御装置4を備えるロボットシステム100における処理手順の一例を示すフローチャートであり、ロボットシステム100の制御方法における処理手順の一例を示すフローチャートでもある。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよい。また、以下で説明する処理手順は、実施形態や各構成例に応じて、適宜、ステップの省略、置換、及び追加が可能である。
【0053】
(起動)
まず、ロボットシステム100のユーザは、ロボットシステム100を起動し、各種プログラム(演算プログラム、制御プログラム等)を実行させる。それから、制御装置4における制御演算部41は、以下の処理手順に従って、センサ1、ハンド2、及びロボットアーム3のそれぞれの動作を制御し、且つ、制御装置4における各機能部による演算処理を行う。また、本実施形態では、以下の各ステップにおける処理に先立って、個々のステップで必要となる計測条件、認識パラメータ、及び種々の算出パラメータの初期値セットを、記憶部43から読み出し、センサ制御部401、センサ位置姿勢生成部410、経路決定部411ワーク位置姿勢認識部422、ハンド把持姿勢生成部430、及び、ハンド把持姿勢評価部431に適宜保持しておく。但し、かかる計測条件や種々のパラメータの読み出しは、各ステップの処理前であれば適宜のタイミングで行うことができる。
【0054】
(ステップS501)
ステップS501では、センサ位置姿勢生成部410は、センサ1による複数のワーク5の3次元計測を行うときのセンサ1の位置姿勢(センサ1の向き及び3次元座標)を生成する。ここでは、センサ1と、複数のワーク5を含む計測領域(例えば、複数のワーク5の収納容器6の内部領域)との相対的な幾何学的位置関係に基づいて、その計測領域の全てをカバーするような、固定された少なくとも1つの位置姿勢をいわば"静的に"設定する。このとおり、ステップS501は、前記適用例における「(1)センサの位置姿勢生成処理」に相当する。
【0055】
なお、センサ1と計測領域との相対的な幾何学的位置関係に基づかず、例えば、少なくとも1つ以上前の動作サイクルにおけるセンサ1による計測結果に基づいて、その計測領域の全てをカバーするような、固定された少なくとも1つの位置姿勢をいわば"静的に"設定してもよい。この場合、その計測結果としては、センサ1による複数のワーク5の計測データ又はそれらの認識結果が挙げられ、より具体的には、複数のワーク5のうち認識信頼度がより低いものの認識結果、ワーク5を認識できていない点群データ、ワーク5の欠落データ、ワーク5間の不連続形状、及び、複数のワーク5がばら積みされた状態におけるより高い位置を示すワーク5のデータの少なくとも何れかが挙げられる。
【0056】
ここで、
図6は、本実施形態に係るセンサ1の位置姿勢及び計測経路の一例を模式的に示す斜視図である。この例では、センサ1の視野が、複数のワーク5を含み得る計測領域(収納容器6の内部領域等)以上である場合に、異なる複数(ここでは4つの例を図示する。)の位置姿勢61~64が生成される。図示の如く、この例では、向き及び3次元座標が異なる最大4方向から、ワーク5を含む計測領域の計測を行うことができる。
【0057】
また、
図7は、
図6に示すセンサ1の位置姿勢における3次元座標の設定方法の一例の概念を示す模式図であり、(A)は斜視図であり、(B)は上面図である。この例では、計測領域である収納容器6の仮想上面の中心を原点G0とする座標系を想定し、実質的な固定パラメータとして、例えば、原点G0とセンサ1の中心点G1との距離wを設定する。距離wは、例えば、センサ1が好適に機能する範囲の長さとすることができる。また、入力変数パラメータとしては、例えば、原点G0を基点とする垂線と、距離wを規定する仮想直線との内角α、原点G0を基点とする垂線とセンサ1の中心点G1との距離(中心点G1と点G2の距離)、及び、センサ1の位置姿勢の設定数nを挙げることができる。この場合、
図6に示す位置姿勢の設定例では、
図7(A)及び(B)に示すようなセンサ1と計測領域の幾何学的位置関係から、例えば、位置姿勢63の(x,y,z)座標は(r,0,h)で表され、位置姿勢64の(x,y,z)座標は(cosβ・r,sinβ・r,h)で表される。この場合、r=sinα・wであり、h=cosα・wであり、β=2π/nとなる。さらに、かかるセンサ1の位置姿勢の3次元座標に加え、センサ1の向きが変動パラメータになり得る(
図6及び
図7の例では、計測領域の中心である原点G0を指向する向きを想定)。
【0058】
さらに、
図8は、本実施形態に係るセンサ1の位置姿勢及び計測経路の他の一例を模式的に示す斜視図である。この例では、センサ1の視野が、ワーク5を含む計測領域(収納容器6の内部領域等)よりも小さい場合に、異なる複数(ここでは8つの例を図示する。)の位置姿勢81~88が生成される。図示の如く、この例では、向き及び3次元座標が異なる最大8方向から、ワーク5を含む計測領域の計測を行うことができる。
【0059】
(ステップS502)
ステップS502では、経路決定部411は、初回の動作サイクルにおいて、先に生成されたセンサ1の位置姿勢61~64を経由して移動し、且つ、各位置姿勢61~64においてワーク5の3次元計測を行うための計測経路を決定する。より具体的に、例えば、まず、隣り合う2つの位置姿勢を結ぶ単位経路を画定し、次に、適宜の順序でそれらの単位経路を繋ぐようにして、1つの統合的な計測経路を設定することができる。
【0060】
例えば、
図6の例では、センサ1の位置姿勢61~64のうち隣接する位置姿勢間を結ぶ単位経路M1~M4を画定し、それらを反時計回りに移動する統合的な計測経路M1→M2→M3→M4を設定することができる。また、
図8の例では、センサ1の位置姿勢81~88のうち隣接する位置姿勢間を結ぶ単位経路M1~M8を画定し、それらを反時計回りに移動する統合的な計測経路M1→M2→M3→M4→M5→M6→M7→M8を設定することができる。但し、単位経路や計測経路を設定する方法(戦略)は、
図6や
図8に示す例に限定されず、隣接していない位置姿勢間を結んでもよいし、周回方向や単位経路を結ぶ順序も任意であり、また、ランダムに設定することもできる。
【0061】
さらに、ステップS502では、決定された計測経路を含み、且つ、把持対象のワーク5をハンド2で把持して収納容器6から他の収納容器7へ移載し、そのハンド2を収納容器6側へ移動して戻す際の移動経路P1,P2を決定する。このとおり、ステップS502は、前記適用例における「(2)センサの位置姿勢生成処理(初回の動作サイクル)」に相当する。
【0062】
(ステップS503)
ステップS503では、ロボットアーム制御部403は、収納容器6内にばら積みされたワーク5のうち、把持対象のワーク5への移動経路P1に基づいて、ロボットアーム3を作動させ、ハンド2を、適宜設定されたワーク5の把持姿勢まで移動する。それから、ハンド制御部402は、その把持姿勢に基づいて、ハンド2を作動させ、把持対象のワーク5を把持する。さらに、ロボットアーム制御部403及びハンド制御部402は、把持したワーク5を収納容器6からピックアップし、移動経路P1に従って、他の収納容器7へ移動し、目的位置でワーク5の把持を解放してドロップし、整列配置する。このとおり、ステップS503は、前記適用例における「(3)ワークの把持・移動・解放処理」に相当する。
【0063】
(ステップS504)
ステップS504では、ステップS503のワーク5の把持・移動・解放処理を行っている間に、センサ制御部401は、計測経路内に設定された位置姿勢において、センサ1を作動させ、計測条件の初期値セットを用いて、ワーク5を計測し、ワーク5の3次元位置情報を含む計測データを取得する。このワーク5の3次元計測は、ハンド2がワーク5を保持して収納容器6側から離れて他の収納容器7側へ移動する間(移動経路P1)、及び、ハンド2からワーク5を解放して他の収納容器7側から収納容器6へ接近する間(移動経路P2)の何れでもよい。計測条件としては、例えば、露光時間、照明照度、及び計測位置(例えば、ワーク5に対するセンサ1の相対的な3次元位置又は姿勢(光軸の向き))の他、適用される計測方式において設定される各種条件が挙げられる。そして、センサ1は、ワーク5の計測データとして、例えば3次元点群データ(ポイントクラウドデータ)や距離画像等に加え、必要に応じて例えば輝度画像等を計測データ取得部420へ出力する。このとおり、ステップS504は、前記適用例における「(4)ワークの3次元計測処理」に相当する。
【0064】
(ステップS505)
ステップS505では、ステップS504のワークの3次元計測処理の前後の適宜のタイミングで、モデルデータ取得部421が、予め作成されたワーク5の3次元形状を表す3次元モデルデータ(3次元CADモデルデータ)、3次元マッチングで使用可能なテンプレートやモデルパターンを取得し、それらを記憶部43に記憶する。また、ワーク位置姿勢認識部422は、ワーク5の計測データからワーク5の3次元形状を示す特徴点を抽出し、ワーク5の3次元モデルデータにおいて対応する特徴点又は特徴パターンと、所定の探索領域において照合する3次元マッチングを行う。さらに、ワーク位置姿勢認識部422は、ワーク5の位置姿勢の認識パラメータの初期値セットを用いて、個々のワーク5の位置姿勢を認識する。ワーク5の位置姿勢の出力データとしては、例えば、ワーク5の3次元座標(x,y,z)及び3次元軸まわりの回転角度(rx,ry,rz)が挙げられる。また、ワーク位置姿勢認識部422は、必要に応じて位置姿勢が検出されたワーク5の数を算出し、それらの認識結果及び算出結果を記憶部43に記憶する。
【0065】
ワーク5の位置姿勢の認識パラメータとしては、例えば、位置姿勢認識におけるワーク5の検出に関する閾値等が挙げられ、より具体的には、ワーク5の3次元モデルデータとワーク5の計測データとの3次元マッチングの閾値等を例示することができる。さらに、ワーク位置姿勢認識部422は、検出された各ワーク5の位置姿勢認識結果を記憶部43に記憶する。
【0066】
さらに、ワーク位置姿勢認識部422は、ワーク5の位置姿勢認識結果に基づいて、例えば、認識された各ワーク5の認識結果の信頼度(精度)を適宜の手法で評価する。その結果から、例えば、信頼度が所定の閾値よりも高いワーク5をハンド2による次回の把持候補のワーク5として選定する。信頼度の評価手法としては、例えば、ワーク5の位置姿勢認識結果から、ワーク5の3次元形状の特徴量を抽出し、それに基づいて、3次元モデルデータとの合致度や類似度を表す指標を算出する方法等が挙げられる。
【0067】
次に、ハンド把持姿勢生成部430は、把持対象として決定されたワーク5を把持する際のハンド2の把持姿勢の算出パラメータの初期値セットを用いて、且つ、ワーク5の位置姿勢認識結果に基づいて、ハンド2によるそのワーク5の把持姿勢を算出する。ハンド2によるワーク5の把持姿勢の算出パラメータとしては、例えば、把持姿勢算出における閾値等が挙げられる。そして、ハンド把持姿勢評価部431は、例えば、ハンド2による把持が可能なワーク5の中から、ランダムに、或いは、必要に応じて、ハンド2が各ワーク5を把持する際の容易性等を評価し、把持ワーク決定部420は、その結果に基づいて、次回の動作サイクルにおいて把持するワーク5を決定する。このとおり、ステップS505は、前記適用例における「(5)ワークの位置姿勢認識処理」及び「(6)次回把持するワークの決定処理」に相当する。
【0068】
(ステップS506)
ステップS506では、ステップS503のワークの把持・移動・解放処理を行っている間に、次回の動作サイクルにおいて把持するワーク5の位置を考慮しつつ、ステップS501のセンサの位置姿勢生成処理で設定されたセンサ1の位置姿勢に基づいて、次回(以降)の動作サイクルにおけるセンサ1の計測経路、及び、その計測経路を含む移動経路を設定する。この場合の計測経路は、
図6や
図8に示す前回の計測経路と同じ経路でもよいし、
図6や
図8に示す単位経路M1~M8を組み合わせる順序を変更して作成した経路でもよい。このとおり、ステップS506は、前記適用例における「(7)センサの計測経路決定処理(次回の動作サイクル)」に相当する。
【0069】
(ステップS507)
それから、ステップS507において、ワーク5の位置姿勢認識結果から、収納容器6内にワーク5が未だ残存していると判断(Yes)された場合には、処理をステップS503へ戻入し、次回(以)の動作サイクル(すなわちステップS503~S506)を繰り返し実施し、収納容器6内にワーク5が残存してないと判断(No)された場合には、その収納容器6に対する処理を終了する。
【0070】
§4 作用・効果
以上のとおり、本実施形態に係るロボットシステム100の制御装置4、及び、それを用いた制御方法の一例によれば、センサ1に対して生成された位置姿勢61~64,81~88等を経由するセンサ1の計測経路が設定される。また、その計測経路を含む移動経路P1,P2に沿ってセンサ1が移動し、その間に、設定された位置姿勢61~64,81~88において、センサ1によるワーク5の3次元計測による位置姿勢認識が行われるとともに、次回(以降)の動作サイクルにおける計測経路が決定される。従って、収納容器6内にワーク5が未だ残っている場合でも、例えば、ワーク5に対してセンサ1を固定して各動作サイクルで同じ視野で計測する場合に比して、ワーク5の認識をより確実に行うことができる。これにより、ワーク5を例えば収納容器6から取り出す処理が中断されてしまうことを抑止することができるので、ワーク5の計測時におけるロバスト性、、ワーク5の操作の作業効率、及び、全体のスループットを向上させることができる。
【0071】
また、センサ1と、ワーク5を含む計測領域(例えば、ワーク5の収納容器6の内部領域)との相対的な幾何学的位置関係に基づいて、センサ1の位置姿勢61~64,81~88が、その計測領域の全てをカバーするように設定される。よって、次回(以降)の動作サイクルにおいても、計測領域を確実にカバーできる計測経路を設定することができ、ワーク5の認識精度を高めて、ワーク5の認識漏れを抑止することができる。さらに、移動経路P1,P2の何れにおいても、ワーク5の3次元計測を行うことができるので、次回(以降)の動作サイクルにおける計測経路の設定における柔軟性及び汎用性を高めることができる。
【0072】
なお、
図5に示すフローチャートは、ワーク5を収納容器6からピックアップする場合の処理手順を示すものであり、その処理手順は、適用例における「(1)センサの位置姿勢生成処理」、「(2)センサの計測経路決定処理(初回の動作サイクル)」、「(3)ワークの把持・移動・解放処理」、「(4)ワークの3次元計測処理」、「(5)ワークの位置姿勢認識処理」、「(6)次回把持するワークの決定処理」、及び「(7)センサの計測経路決定処理(次回の動作サイクル)」に対応している。
【0073】
ワーク5を収容容器7にプレイスする場合の処理手順についても、
図5に示すフローチャートと同様の流れで処理を行ってもよい。この場合、ワーク5を収容容器7にプレイスする場合の処理手順は、適用例における「(1)センサの位置姿勢生成処理」、「(2)センサの計測経路決定処理(初回の動作サイクル)」、「(3)ワークの把持・移動・解放処理」、「(4)ワークの3次元計測処理」、「(5)ワークの位置姿勢認識処理」、「(6)次回プレイスするワークの置き場所の決定処理」、及び「(7)センサの計測経路決定処理(次回の動作サイクル)」に対応している。
【0074】
但し、ワーク5を収納容器6からピックアップする場合の処理手順は、収納容器6からピックアップされるべきワーク5を決定することを目的として、収納容器6内の複数のワーク5の積載状況及び各ワーク5の位置姿勢を認識するために実行されるものであるのに対し、ワーク5を収容容器7にプレイスする場合の処理手順は、収容容器7内の空き領域(即ち、ワーク5が置かれていない領域)のうちどの領域(位置)にワーク5をプレイスするべきかを決定することを目的として、収納容器7内の複数のワーク5の積載状況及び各ワーク5の位置姿勢を認識するために実行されるものである点で両者は相違する。このような相違点に鑑み、
図5に示すフローチャートの複数のステップのうち一部のステップでは、ワーク5を収納容器6からピックアップする場合の処理手順とは異なる手順で、ワーク5を収容容器7にプレイスする場合の処理手順が実行される。
【0075】
例えば、ワーク5を収納容器6からピックアップする場合の処理手順では、ステップS504において、収容容器6内のワーク5の3次元計測を行っているが、ワーク5を収容容器7にプレイスする場合の処理手順では、ステップS504に対応するステップにおいて、収容容器7内のワーク5の3次元計測を行う。収容容器7内のワーク5の3次元計測は、ワーク5を収容容器7内にプレイスする前の段階(即ち、センサ1が移動経路P1上に位置している間)で行ってもよく、或いは、ワーク5を収容容器7にプレイスした後の段階(即ち、センサ1が移動経路P2上に位置している間)で行ってもよい。収容容器7内に積み上げられているワーク5の崩れの可能性を考慮に入れると、ワーク5を収容容器7にプレイスした後の段階でワーク5の3次元計測を行うのが望ましい。
【0076】
また、例えば、ワーク5を収納容器6からピックアップする場合の処理手順では、ステップS505において、次回の動作サイクルにおいて把持するワーク5を決定するが、ワーク5を収容容器7にプレイスする場合の処理手順では、ステップS505に対応するステップにおいて、ハンド2によってプレイスされるワーク5の目標位置を決定する。
【0077】
また、例えば、ワーク5を収納容器6からピックアップする場合の処理手順では、ステップS507において、収納容器6内にワーク5が未だ残存しているか否かを判定するが、ワーク5を収容容器7にプレイスする場合の処理手順では、ステップS507に対応するステップにおいて、収容容器7内にワーク5をプレイスする領域(目標位置)が残存しているか否かを判定する。
【0078】
§5 変形例
以上、本開示の一例としての実施形態について詳細に説明してきたが、前述した説明はあらゆる点において本開示の一例を示すに過ぎず、本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもなく、例えば、以下に示すような変更が可能である。なお、以下の説明においては、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、説明を適宜省略した。また、上記実施形態及び以下の各変形例は、適宜組み合わせて構成することが可能である。
【0079】
<5.1:第1変形例>
図9は、第1変形例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。第1変形例においても、
図1~
図4に示す実施形態に係る制御装置4を備えるロボットシステム100を適用することができる。第1変形例による処理手順の一例は、
図5に示す前記動作例におけるステップS501に替えて、ステップS601を実施すること以外は
図5に示す処理手順の一例と実質的に同等である。
【0080】
ステップS601では、ステップS501と同様に、まず、センサ位置姿勢生成部410が、センサ1によるワーク5の3次元計測を行うときのセンサ1の位置姿勢(センサ1の向き及び3次元座標)を生成する。ここでは、センサ1と、ワーク5を含む計測領域(例えば、ワーク5の収納容器6の内部領域)との相対的な幾何学的位置関係に基づいて、その計測領域の全てをカバーするような、固定された少なくとも1つの位置姿勢をいわば"静的に"設定する。次に、センサ位置姿勢生成部410は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、生成された位置姿勢のなかから特定の位置姿勢を少なくとも1つ選択する。
【0081】
この場合、「所定の条件」としては、例えば、以前の動作サイクルにおけるワーク5の計測データ(例えば、認識されたワーク5の点群データ、距離画像等)、以前の動作サイクルにおけるワーク5の位置姿勢認識結果(例えば、認識されたワーク5の数、配置、位置姿勢等)、ロボットシステム100の構成(例えば、センサ1の視野、計測領域、及び、ワーク5の配置領域の相対的な幾何学的位置関係)等が挙げられる。また、「所定の計測戦略」としては、計測領域への対応性(計測領域をより広くカバー)、ワーク5の認識容易性(ワーク5のより容易な認識)、計測経路の効率性(例えば、計測経路の最短化)、ワーク5の認識信頼度(ワーク5の認識失敗時又は認識信頼度が低い場合)、及び、ワーク5の積層配置(ばら積みされたワーク5の把持の容易性)のうちの少なくとも1つを志向する戦略が挙げられる。計測経路の効率性とは、ワーク5の3次元計測をどの程度効率よく行えるかを示す指標値であり、例えば、ワーク5の3次元計測をより短時間で行える程、計測経路の効率性は高い。
【0082】
当該構成によれば、計測領域を全てカバーするように静的に設定されたセンサ1の位置姿勢61~64,81~88のなかから、例えば、認識されたワーク5の位置姿勢等に応じて、次回の動作サイクルにおけるワーク5の認識のためにより好適な特定の位置姿勢を選択することにより、センサ1の位置姿勢をいわば"動的に"設定し、それらに基づいて次回の動作サイクルにおける計測経路を設定することができる。これにより、ワーク5の計測時におけるロバスト性、計測効率、及び、ワーク5の操作における作業効率を更に向上させることができる。
【0083】
ここで、
図10は、「所定の計測戦略」を概念的に示す図であり、(A)~(D)は上面図を示し、(E)は側断面図を示す。何れの図においても、図示向かって左の図(以下「左図」という。)が、前回の動作サイクルにおいて、ワーク5(5a,5b)を含む計測領域(収納容器6の内部)を、その動作サイクルにおけるセンサ1の位置姿勢に対応する計測視野V1で計測した状態を示する。また、図示向かって右の図(以下「右図」という。)が、次回の動作サイクルにおいて、ワーク5(5b)を含む計測領域(収納容器6の内部)を、その動作サイクルにおけるセンサ1の位置姿勢に対応する計測視野V2で計測する状態を示す。
【0084】
図10(A)は、計測領域への対応性に基づく計測戦略の一例であり、左図の計測視野V1で認識した4つのワーク5のうちワーク5a(黒塗り丸シンボル)を把持し、次回の動作サイクルでは、右図の計測視野V2により、残った3つのワーク5b(白抜き丸シンボル)を含む計測領域をより広くカバーするように、計測経路を決定する。これにより、計測領域をカバーし易くなるので、ワーク5の計測及び認識漏れを抑止し易くなる。
【0085】
図10(B)は、ワーク5の認識容易性に基づく計測戦略の一例であり、左図の計測視野V1で認識した4つのワーク5のうちワーク5aを把持し、次回の動作サイクルでは、残った3つのワーク5bの例えば重心を、右図の計測視野V2の中心に合致させるように、計測経路を決定する。これにより、ワーク5のより確実な認識がより容易になるので、残ったワーク5bの位置姿勢認識における信頼度を高めることができる。
【0086】
図10(C)は、計測経路の変更の容易性に基づく計測戦略の一例であり、左図の計測視野V1で認識した4つのワーク5のうちワーク5aを把持し、次回の動作サイクルでは、残った3つのワーク5bを再度計測しつつ、計測視野の変更距離が極力短くなる計測視野V2となるように、計測経路を決定する。これにより、残ったワーク5bの位置姿勢認識における信頼度を高めつつ、計測効率を向上させることができる。
【0087】
図10(D)は、ワーク5の認識信頼度に基づく計測戦略の一例であり、左図の計測視野V1で、ワーク5の認識に失敗したり、認識信頼度が低かったりした場合の例である。この場合、左図の計測データ(点群データ等)から、ワークがない場合の計測領域(収納容器6)の計測データ(幾何学的位置情報)をバックグラウンドとして差し引くことにより、計測領域に存在していると推察されるワーク5の点群データD1を検知する。そして、右図に示すように、その点群データD1の位置を含む異なる計測視野V2を含むように、計測経路が決定される。これにより、ワーク5の認識率を優位に高めることができる。
【0088】
図10(E)は、ワーク5の積層配置(把持容易性)に基づく計測戦略の一例であり、左図に示すようにワーク5が収納容器6内にばら積みされている場合、把持の容易性を考慮して、ばら積みされたワーク5のうち最上層に位置するワーク5が計測視野V2に含まれるように、計測経路を決定する。これにより、ワーク5の把持に成功する確率を優位に高めることができる。
【0089】
図9及び
図10に関する上述の説明は、収容容器6からのワーク5の把持を成功させるための計測戦略の説明であるが、収容容器7へのワーク5のプレイスを成功させるための計測戦略についても、同様の戦略を適用することができる。例えば、収容容器6からのワーク5の把持を成功させるための「ワーク5の把持容易性」及び「ワーク5の認識容易性」を、収容容器7へのワーク5のプレイスを成功させるための「ワーク5のプレイス容易性」及び「ワーク5のプレイス位置の認識容易性」に、それぞれ置き換えることにより、収容容器7内に置かれているワーク5との干渉を回避しながら、収容容器7内の空き領域内にワーク5を置くための領域(目標位置)を見つける最適な計測戦略を選択することができる。
【0090】
<5.2:第2変形例>
図11は、第2変形例に係る制御装置を備えるロボットシステムにおける処理手順の一例を示すフローチャートである。第2変形例においても、
図1~
図4に示す実施形態に係る制御装置4を備えるロボットシステム100を適用することができる。第2変形例による処理手順の一例は、
図5に示す前記動作例におけるステップS501に替えて、ステップS701を実施すること以外は
図5に示す処理手順の一例と実質的に同等である。
【0091】
ステップS701では、センサ位置姿勢生成部410が、センサ1によるワーク5の3次元計測を行うときのセンサ1の位置姿勢(センサ1の向き及び3次元座標)を生成する。ここでは、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、センサ1の少なくとも1つの位置姿勢をいわば"動的に"設定する。この場合、「所定の条件」及び「所定の計測戦略」は、第1変形例におけるものと同等のものを適用することができる。
【0092】
当該構成によれば、センサ1の位置姿勢として、予め固定された位置姿勢を設定することなく、例えば、認識されたワーク5の位置姿勢等に応じて、次回の動作サイクルにおけるワーク5の認識のためにより好適な位置姿勢をいわばより"動的に"設定し、それらに基づいて次回の動作サイクルにおける計測経路を設定することができる。これにより、ワーク5の計測時におけるロバスト性、計測効率、及び、ワーク5の操作における作業効率を更に向上させることができる。
【0093】
§6 付記
以上説明した実施形態及び変形例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態及び変形例が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態及び変形例で示した構成同士を部分的に置換し又は組み合わせることも可能である。また、上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限定されない。
【0094】
(付記1)
ロボットアーム(3)、及び、該ロボットアーム(3)の先端部に設けられ且つ対象物(5)を操作するハンド(2)を有するロボット(10)と、前記ロボットアーム(3)に設けられ且つ前記対象物(5)の位置情報を計測する計測装置(1)と、を備えるロボットシステム(100)の制御装置であって、
前記対象物(5)の位置情報を計測するときの前記計測装置(1)の少なくとも1つの位置姿勢を生成する位置姿勢生成部(410)と、
前記計測装置(1)が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動し、且つ、各位置姿勢において前記対象物(5)の位置情報を計測するように、前記計測装置(1)の計測経路を決定する計測経路決定部(411)と、
前記計測装置(1)を、前記計測経路を含む移動経路(P1,P2)に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置(1)が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物(1)の位置情報を計測する処理を前記計測装置(1)に指令する指令部(401,402,403)と、
前記計測装置(1)による計測データを用いて前記対象物(5)を認識する認識部(422)と、を備え、
前記計測経路決定部(411)は、次回の動作サイクルにおける前記計測装置(1)の計測経路を決定する、制御装置(4)。
【0095】
(付記2)
前記位置姿勢生成部(410)は、前記計測装置(1)と前記対象物(5)を含む計測領域との相対的な幾何学的位置関係に基づいて、前記計測領域の全てをカバーするように、前記少なくとも1つの位置姿勢を予め生成し、
前記計測経路決定部(411)は、前記計測装置(1)が、所定の順序で前記少なくとも1つの位置姿勢の全てを経由して移動するように、前記計測経路を決定する、
付記1記載の制御装置(4)。
【0096】
(付記3)
前記位置姿勢生成部(410)は、少なくとも1つ以上前の動作サイクルにおける前記計測装置(1)による計測結果に基づいて、前記少なくとも1つの位置姿勢を予め生成し、
前記計測経路決定部(411)は、前記計測装置(1)が、所定の順序で前記少なくとも1つの位置姿勢の全てを経由して移動するように、前記計測経路を決定する、付記1記載の制御装置(4)。
【0097】
(付記4)
前記計測結果が、前記計測装置(1)による前記対象物(5)の計測データ又は前記対象物(5)の認識結果である、
付記3記載の制御装置(4)。
【0098】
(付記5)
前記計測データ又は前記認識結果が、前記対象物(5)の認識信頼度が低い認識結果、前記対象物(2)を認識できていない点群データ、欠落データ、不連続形状、及び、前記
対象物(5)の積層配置における高い位置を示すデータの少なくとも何れかである、
付記4記載の制御装置(4)。
【0099】
(付記6)
前記位置姿勢生成部(410)は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢から特定の位置姿勢を選択し、
前記計測経路決定部(411)は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置(1)が、所定の順序で前記特定の位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定する、
付記2乃至5の何れか記載の制御装置(4)。
【0100】
(付記7)
前記位置姿勢生成部(410)は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記少なくとも1つの位置姿勢を生成し、
前記計測経路決定部(411)は、所定の条件若しくは所定の計測戦略に基づいて、又は、ランダムに、前記計測装置(1)が、所定の順序で前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動するように、前記計測経路を決定する、
付記1乃至5の何れか記載の制御装置(4)。
【0101】
(付記8)
前記所定の条件が、以前の動作サイクルにおける対象物(5)の計測データ、以前の動作サイクルにおける対象物(5)の認識結果、及び、前記ロボットシステム(100)の構成のうち少なくとも1つである、
付記6又は7記載の制御装置(4)。
【0102】
(付記9)
前記所定の計測戦略が、計測領域への対応性、対象物(5)の認識容易性、計測経路の効率性、対象物(5)の認識信頼度、及び、対象物(5)の積層配置のうちの少なくとも1つを志向する戦略である、
付記6乃至8の何れか記載の制御装置(4)。
【0103】
(付記10)
前記指令部(401)は、1つの動作サイクルにおいて、前記ハンド(2)が前記対象物(5)を把持して移動するときに、及び/又は、前記ハンド(2)が前記対象物(5)を把持するために移動するときに、前記少なくとも1つの位置姿勢において前記対象物(5)の位置情報を計測する処理を、前記計測装置(1)に指令する、
付記1乃至9の何れか記載の制御装置(4)。
【0104】
(付記11)
ロボットアーム(3)、及び、該ロボットアーム(3)の先端部に設けられ且つ対象物(5)を操作するハンド(2)と有するロボット(10)と、前記ロボットアーム(3)に設けられ且つ前記対象物(5)の位置情報を計測するする計測装置(1)と、を備えるロボットシステム(100)の制御方法であって、
位置姿勢生成部(410)が、前記対象物(5)の位置情報を計測するときの前記計測装置(1)の少なくとも1つの位置姿勢を生成するステップと、
計測経路決定部(411)が、前記計測装置(1)が、前記少なくとも1つの位置姿勢を経由して移動し、且つ、各位置姿勢において前記対象物(5)の位置情報を計測するように、前記計測装置(1)の計測経路を決定するステップと、
指令部(401,402,403)が、前記計測装置(1)を、前記計測経路を含む移動経路(P1,P2)に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置(1)が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物(5)の位置情報を計測する処理を前記計測装置(1)に指令するステップと、
認識部(422)が、前記計測装置による計測データを用いて前記対象物(5)を認識するステップと、
前記計測経路決定部(411)が、前記計測装置(1)が前記移動経路(P1,P2)を移動しているときに、次回の動作サイクルにおける前記計測装置(1)の計測経路を決定するステップと、を含む制御方法。
【0105】
(付記12)
コンピュータ(4)を、
ロボットアーム(3)、及び、該ロボットアーム(3)の先端部に設けられ且つ対象物(5)を操作するハンド(2)を有するロボット(10)と、前記ロボットアーム(3)に設けられ且つ前記対象物(5)の位置情報を計測する計測装置(1)と、を備えるロボットシステム(100)の制御装置(4)であって、
前記対象物(5)の位置情報を計測するときの前記計測装置(1)の少なくとも1つの位置姿勢を生成する位置姿勢生成部(410)と、
前記計測装置(1)が、前記少なくとも1つの位置姿勢を経由して移動し、且つ、各位置姿勢において前記対象物(5)の位置情報を計測するように、前記計測装置(1)の計測経路を決定する計測経路決定部(411)と、
前記計測装置(1)を、前記計測経路を含む移動経路(P1,P2)に沿って移動させる処理を前記ロボットに指令し、且つ、前記計測装置(1)が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物(5)の位置情報を計測する処理を前記計測装置(1)に指令する指令部(401,402,403)と、
前記計測装置(1)による計測データを用いて前記対象物(5)を認識する認識部(422)と、
を備える制御装置(4)として機能させ、
前記計測経路決定部(411)は、前記計測装置(1)が前記移動経路(P1,P2)を移動しているときに、次回の動作サイクルにおける前記計測装置(1)の計測経路を決定する、コンピュータ制御プログラム。
【0106】
(付記13)
ロボットアーム(3)、及び、該ロボットアーム(3)の先端部に設けられ且つ対象物(5)を操作するハンド(2)を有するロボット(10)と、
前記ロボットアーム(3)に設けられ且つ前記対象物(5)の位置情報を計測する計測装置(1)と、
前記ロボット(10)及び前記計測装置(1)に接続された制御装置(4)と、
を備え、
前記制御装置(4)は、
前記対象物(5)の位置情報を計測するときの前記計測装置(1)の少なくとも1つの位置姿勢を生成する位置姿勢生成部(410)と、
前記計測装置(1)が、前記少なくとも1つの位置姿勢の少なくとも一部を経由して移動し、且つ、各位置姿勢において前記対象物(5)の位置情報を計測するように、前記計測装置(1)の計測経路を決定する計測経路決定部(411)と、
前記計測装置(1)を、前記計測経路を含む移動経路(P1,P2)に従って移動させる処理を前記ロボットに指令し、且つ、前記計測装置(1)が、前記計測経路において経由する前記少なくとも1つの位置姿勢の少なくとも一部において、前記対象物(5)の位置情報を計測する処理を前記計測装置(1)に指令する指令部(401,402,403)と、
前記計測装置(1)による計測データを用いて前記対象物(5)を認識する認識部(422)と、
を有し、
前記計測経路決定部(411)は、前記計測装置(1)が前記移動経路(P1,P2)を移動しているときに、次回の動作サイクルにおける前記計測装置(1)の計測経路を決定する、ロボットシステム。
【符号の説明】
【0107】
1…センサ(計測装置)、2…ハンド、3…ロボットアーム、4…制御装置、5,5a,5b…ワーク、6,7…収納容器、10…ロボット、41…制御演算部、42…通信I/F部、42…通信インタフェース(I/F)部、43…記憶部、44…入力部、45…出力部、46…バスライン、61~64,81~88…位置姿勢、100…ロボットシステム、401…センサ制御部、402…ハンド制御部、403…ロボットアーム制御部、410…センサ位置姿勢生成部、411…経路決定部、420…計測データ取得部、421…モデルデータ取得部、422…ワーク位置姿勢認識部、430…ハンド把持姿勢生成部、431…ハンド把持姿勢評価部、440…把持ワーク決定部、D1…点群データ、M1~M8…単位経路、P1,P2…移動経路、V1,V2…計測視野。