(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022146026
(43)【公開日】2022-10-05
(54)【発明の名称】ロボット制御装置
(51)【国際特許分類】
B25J 13/08 20060101AFI20220928BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021046798
(22)【出願日】2021-03-22
(71)【出願人】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100095795
【弁理士】
【氏名又は名称】田下 明人
(74)【代理人】
【識別番号】100143454
【弁理士】
【氏名又は名称】立石 克彦
(72)【発明者】
【氏名】小寺 勇士
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS10
3C707ES03
3C707HS27
3C707KS03
3C707KS04
3C707KT03
3C707KT05
(57)【要約】
【課題】計測時間の短縮を図りつつ、ロボットアームに取り付けられた三次元センサで部品の位置姿勢を精度良く計測し得る構成を提供する。
【解決手段】制御部11によりロボットアーム2が駆動制御されることで変化する相対位置間での移動の順番が計測順番として設定されて、部品特定情報に関連付けられて予め記憶部12に記憶される。所定の位置に配置された部品Wをハンド3にて把持する際に、記憶部12に記憶される計測順番に基づいて制御部11によりロボットアームが駆動制御された状態で、部品Wの位置姿勢を三次元センサ15の計測結果を利用して認識する認識処理が行われる。計測順番設定処理では、所定の位置に配置された部品Wに対して、複数の相対位置ごとに三次元センサ15の計測結果から算出された認識スコア値と、三次元センサ15の相対位置間の移動に要する移動時間とに基づいて、計測順番が設定される。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ロボットアームに取り付けられた三次元センサの計測結果を利用して位置姿勢が認識された部品を前記ロボットアームに取り付けられたハンドで把持するロボット制御装置であって、
前記ロボットアームを駆動制御する制御部と、
所定の位置に配置された前記部品を前記三次元センサにて所定の方向から計測した計測結果に関して当該部品の三次元データとの誤差が小さくなるほど高くなる認識スコア値を算出する認識スコア値算出部と、
前記所定の位置に配置された前記部品を基準とする前記三次元センサの相対位置に関して、前記制御部により前記ロボットアームが駆動制御されることで変化する前記相対位置間での移動の順番を計測順番として設定する計測順番設定部と、
前記計測順番設定部により設定された前記計測順番が前記部品を特定する部品特定情報に関連付けられて予め記憶される記憶部と、
前記所定の位置に配置された前記部品を前記ハンドにて把持する際に、当該部品を特定する前記部品特定情報に関連付けられて前記記憶部に記憶される前記計測順番に基づいて前記制御部により前記ロボットアームが駆動制御された状態で、前記部品の位置姿勢を前記三次元センサの計測結果を利用して認識する認識処理を行う認識部と、
を備え、
前記計測順番設定部は、前記所定の位置に配置された前記部品に対して、複数の前記相対位置ごとに前記三次元センサの計測結果から前記認識スコア値算出部にて算出された前記認識スコア値と、前記三次元センサの前記相対位置間の移動に要する移動時間とに基づいて、前記計測順番を設定することを特徴とするロボット制御装置。
【請求項2】
前記認識部は、前記三次元センサが前記計測順番に応じた前記相対位置に移動するごとに、前記三次元センサの計測結果から前記認識スコア値算出部にて算出された前記認識スコア値と第1の閾値とを比較して、前記認識スコア値が前記第1の閾値以上になると、残りの前記相対位置に移動することなく、前記認識処理を行うことを特徴とする請求項1に記載のロボット制御装置。
【請求項3】
前記計測順番設定部は、特定の相対位置を1番目に設定し、前記認識スコア値が第2の閾値以上となる2以上の前記相対位置のうち、前記1番目の相対位置からの移動時間が最も短くなる相対位置を2番目に設定し、前記特定の相対位置を除いて前記2番目の相対位置からの移動時間が最も短くなる相対位置を3番目に設定することを特徴とする請求項1又は2に記載のロボット制御装置。
【請求項4】
前記特定の相対位置は、前記ロボットアームが作業開始時に位置する際の前記三次元センサの位置に一致することを特徴とする請求項3に記載のロボット制御装置。
【請求項5】
前記制御部は、
1番目の前記相対位置での前記三次元センサの計測結果を利用して当該部品の姿勢を仮に推定する姿勢推定部と、
前記姿勢推定部による推定結果に基づいて、前記記憶部に前記計測順番が記憶される前記相対位置を、ロボットを基準とする位置に変換する変換部と、
を備え、
前記記憶部に記憶される前記計測順番に対応して、前記変換部により変換された位置に前記三次元センサが位置するように前記ロボットアームを駆動制御することを特徴とする請求項1~4のいずれか一項に記載のロボット制御装置。
【請求項6】
前記姿勢推定部は、前記認識処理に関して算出された前記認識スコア値が下限閾値以下となる場合に、前記計測順番の設定時に算出された前記認識スコア値及び前記相対位置を利用して、前記部品の姿勢を仮に推定することを特徴とする請求項5に記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元センサの計測結果を利用して位置姿勢が認識された部品を把持するロボット制御装置に関するものである。
【背景技術】
【0002】
従来、三次元センサの計測結果を利用して把持すべき部品の位置姿勢を認識し、その位置姿勢が認識された部品をロボットアームに取り付けられたハンドで正確に把持するロボット制御が行われている。このようなロボット制御では、把持すべき部品の光沢や形状等によっては、一方向からの計測結果だけでは、その部品表面の位置姿勢を正確に認識できない場合がある。このため、例えば、作業者等が位置姿勢を正確に認識しやすい計測方向を部品ごとにロボットに指示する方法があるが、経験豊富な作業者であっても設定作業等に時間がかかるという問題がある。また、部品をフィーダー等によって決められた位置姿勢で固定する方法もあるが、フィーダー等を搬送ライン上に設置する必要があるだけでなく、フィーダー等で固定できる部品の種別が限られてしまうという問題がある。
【0003】
このような問題を解決するための技術として、例えば、下記特許文献1に開示される三次元計測装置が知られている。この三次元計測装置では、計測対象物をそれぞれ異なる方向から撮像する6つの撮像手段が設けられ、これら各撮像手段により撮像されたそれぞれの撮像データが校正されて統合されることで、鏡面反射成分の強い計測対象物であっても精度良く三次元計測を実施することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1のように、複数の撮像手段を設けてそれぞれの撮像データを校正して統合する構成では、撮像手段の個数に応じて設置費用が増大するだけでなく、計測対象物に対してそれぞれ異なる方向から撮像できるように各撮像手段を設置するための設置スペースが必要になるという問題がある。
【0006】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、計測時間の短縮を図りつつ、ロボットアームに取り付けられた三次元センサで部品の位置姿勢を精度良く計測し得る構成を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、特許請求の範囲の請求項1に記載の発明は、
ロボットアーム(2)に取り付けられた三次元センサ(15)の計測結果を利用して位置姿勢が認識された部品(W)を前記ロボットアームに取り付けられたハンド(3)で把持するロボット制御装置(10)であって、
前記ロボットアームを駆動制御する制御部(11)と、
所定の位置に配置された前記部品を前記三次元センサにて所定の方向から計測した計測結果に関して当該部品の三次元データとの誤差が小さくなるほど高くなる認識スコア値を算出する認識スコア値算出部(11)と、
前記所定の位置に配置された前記部品を基準とする前記三次元センサの相対位置(Pw1~Pw5)に関して、前記制御部により前記ロボットアームが駆動制御されることで変化する前記相対位置間での移動の順番を計測順番として設定する計測順番設定部(11)と、
前記計測順番設定部により設定された前記計測順番が前記部品を特定する部品特定情報に関連付けられて予め記憶される記憶部(12)と、
前記所定の位置に配置された前記部品を前記ハンドにて把持する際に、当該部品を特定する前記部品特定情報に関連付けられて前記記憶部に記憶される前記計測順番に基づいて前記制御部により前記ロボットアームが駆動制御された状態で、前記部品の位置姿勢を前記三次元センサの計測結果を利用して認識する認識処理を行う認識部(11)と、
を備え、
前記計測順番設定部は、前記所定の位置に配置された前記部品に対して、複数の前記相対位置ごとに前記三次元センサの計測結果から前記認識スコア値算出部にて算出された前記認識スコア値と、前記三次元センサの前記相対位置間の移動に要する移動時間とに基づいて、前記計測順番を設定することを特徴とする。
なお、上記各括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【発明の効果】
【0008】
請求項1の発明では、ロボットアームに三次元センサが取り付けられており、所定の位置に配置された部品を基準とする三次元センサの相対位置に関して、制御部によりロボットアームが駆動制御されることで変化する相対位置間での移動の順番が計測順番設定部により計測順番として設定されて、部品特定情報に関連付けられて予め記憶部に記憶される。そして、所定の位置に配置された部品をハンドにて把持する際に、当該部品を特定する部品特定情報に関連付けられて記憶部に記憶される計測順番に基づいて制御部によりロボットアームが駆動制御された状態で、部品の位置姿勢を三次元センサの計測結果を利用して認識する認識処理が認識部により行われる。計測順番設定部では、所定の位置に配置された部品に対して、複数の相対位置ごとに三次元センサの計測結果から認識スコア値算出部にて算出された認識スコア値と、三次元センサの相対位置間の移動に要する移動時間とに基づいて、計測順番が設定される。
【0009】
これにより、所定の位置に配置された部品に関して、記憶部に記憶される計測順番に応じて複数の計測方向にて三次元センサの計測結果が得られるので、複数の三次元センサを設置する場合と同等の計測結果を取得することができる。特に、計測順番は、認識スコア値だけでなく三次元センサの相対位置間の移動に要する移動時間を考慮して設定されるので、1つの三次元センサを複数の位置に移動させる場合でもその移動にかかる時間を短縮することができる。したがって、計測方向を変えるための三次元センサの移動に要する時間、すなわち、計測時間の短縮を図りつつ、ロボットアームに取り付けられた三次元センサで部品の位置姿勢を精度良く計測することができる。
【0010】
請求項2の発明では、認識部は、三次元センサが計測順番に応じた相対位置に移動するごとに、三次元センサの計測結果から認識スコア値算出部にて算出された認識スコア値と第1の閾値とを比較して、認識スコア値が第1の閾値以上になると、残りの相対位置に移動することなく、認識処理を行う。これにより、例えば、1番目の相対位置での三次元センサの計測結果の認識スコア値が第1の閾値以上になるために精度の高い計測結果が得られている場合には、2番目以降の相対位置に移動することなく認識処理を行うことで、不要な三次元センサの移動及び計測をなくすことができる。
【0011】
請求項3の発明では、計測順番設定部は、特定の相対位置を1番目に設定し、認識スコア値が第2の閾値以上となる2以上の相対位置のうち、1番目の相対位置からの移動時間が最も短くなる相対位置を2番目に設定し、上記特定の相対位置を除いて2番目の相対位置からの移動時間が最も短くなる相対位置を3番目に設定する。これにより、認識スコア値が比較的高い相対位置間を最短で移動できるので、上記計測時間の更なる短縮を図ることができる。
【0012】
請求項4の発明では、上記特定の相対位置は、ロボットアームが作業開始時に位置する際の三次元センサの位置に一致する。これにより、作業開始時には三次元センサが計測順番での1番目の相対位置に位置するため、1番目の相対位置への三次元センサの移動に要する時間をなくすことができるので、上記計測時間を確実に短縮することができる。
【0013】
請求項5の発明では、姿勢推定部により、1番目の相対位置での三次元センサの計測結果を利用して当該部品の姿勢が仮に推定されて、この推定結果に基づいて、記憶部に計測順番が記憶される相対位置が、変換部によりロボットを基準とする位置に変換される。そして、記憶部に記憶される計測順番に対応して、変換部により変換された位置に三次元センサが位置するように制御部によりロボットアームが駆動制御される。このように部品の姿勢を推定することで、部品を基準とする三次元センサの相対位置を、ロボットを基準とする三次元センサの位置に変換できるので、部品がどのような姿勢で所定の位置に配置されても、計測時に移動させるべき三次元センサの位置を正確に把握することができる。
【0014】
請求項6の発明では、姿勢推定部により、認識処理に関して算出された認識スコア値が下限閾値以下となる場合に、計測順番の設定時に算出された認識スコア値及び相対位置を利用して、部品の姿勢を仮に推定する。1番目の相対位置での三次元センサの計測結果を利用して推定された部品の仮の姿勢が正しくない場合には、2番目の相対位置での三次元センサの計測結果から算出される認識スコア値が比較的低い値で算出されることになる。このため、認識処理に関して算出された認識スコア値が上記下限閾値以下となる場合には、計測順番の設定時に算出された認識スコア値及び相対位置を利用して、部品の姿勢を仮に推定することで、高い認識スコア値を期待できる相対位置へ三次元センサを移動させることができる
【図面の簡単な説明】
【0015】
【
図1】第1実施形態に係るロボット制御装置及びロボットの概略構成を示す説明図である。
【
図2】ロボット制御装置の電気的構成を例示するブロック図である。
【
図3】三次元センサの計測方向と相対位置との関係を説明する説明図である。
【
図4】第1相対位置から見た三次元センサの計測方向と相対位置との関係を説明する説明図である。
【
図5】第1実施形態において制御部にてなされる事前準備処理の流れを例示するフローチャートである。
【
図6】
図6(A)は、各相対位置と認識スコア値との関係を示す説明図であり、
図6(B)は、
図6(A)の認識スコア値と移動時間とに基づいて定される計測順番を説明する説明図である。
【
図7】第1実施形態において制御部にてなされるロボット制御処理の流れを例示するフローチャートである。
【
図8】第1相対位置から見た三次元センサに関する相対位置と制御位置との関係を説明する説明図である。
【
図9】第2実施形態において制御部にてなされるロボット制御処理の流れを例示するフローチャートである。
【発明を実施するための形態】
【0016】
[第1実施形態]
以下、本発明のロボット制御装置を具現化した第1実施形態について、図面を参照して説明する。
本実施形態に係るロボット制御装置10は、ロボット1が有するロボットアーム2に取り付けられた三次元センサ15の計測結果を利用して把持すべき部品Wの位置姿勢を認識し、その位置姿勢が認識された部品Wをロボットアーム2に取り付けられたハンド3で把持する制御を行う制御装置として構成されている。
【0017】
ロボット1は、台座2aにて設置されて、複数の軸を中心に回転するロボットアーム2を有することで多関節のロボットとして構成されており、ロボットアーム2の先端には、部品Wを把持するためのハンド3が取り付けられている。ハンド3は、モータ(図示略)の駆動力を利用して互いの間隔が変化する一対の爪を備えており、この間隔が可変する一対の爪を利用して部品Wを把持するように制御される。
【0018】
ロボット制御装置10は、ロボットアーム2の各軸に設けられるモータ2aを駆動制御することでロボット1の姿勢を制御するとともに、ハンド3のモータ3aを駆動制御することでハンド3による部品Wの把持及び把持解除を制御するための装置である。
【0019】
図2に示すように、ロボット制御装置10は、主に、制御部11、記憶部12、アーム駆動部13、ハンド制御部14及び三次元センサ15等を備えている。制御部11は、マイコンを主体として構成されるものであり、CPU、システムバス、入出力インタフェース等を有し、ROM,RAM、不揮発性メモリなどからなる記憶部12とともに情報処理装置を構成している。記憶部12には、ロボットアーム2及びハンド3を駆動制御するためのプログラムに加えて、三次元センサ15の計測結果を利用した部品Wの位置姿勢を認識するための処理を実行するためのプログラム等が制御部11により実行可能に予め格納されている。
【0020】
アーム駆動部13は、制御部11により制御されて、ロボットアーム2の各軸のモータ2aをそれぞれ回転駆動することで、ロボットアーム2の姿勢、すなわち、ロボット1の姿勢及び動作を制御するように機能する。
【0021】
ハンド制御部14は、制御部11により制御されて、ハンド3のモータ3aを回転駆動することで、ハンド3の一対の爪の移動(上記間隔の変化)を制御するように機能する。具体的には、ハンド制御部14は、所定の把持用のトルクにてモータ3aを一方向へ回転駆動させることで、一対の爪を上記間隔が狭くなる把持方向に移動させ、モータ3aを他方向へ回転駆動させることで、一対の爪を上記間隔が広くなる把持解除方向に移動させる。
【0022】
三次元センサ15は、所定の計測範囲における部品Wなどの計測対象からの反射光を受光することで、その計測対象の表面の三次元形状を表す点群データからなる三次元計測データを計測するように機能する。本実施形態では、三次元センサ15は、ロボットアーム2の姿勢に応じてその計測方向が変わるように、ハンド3の近傍となるロボットアーム2の部位に取り付けられている。
【0023】
このように構成されるロボット制御装置10では、ロボット1に対して決められた所定の位置(
図1の設置面S参照)に部品Wが配置されることを前提に、この部品Wをハンド3で把持して指示された位置まで移動させる処理を行う際、三次元センサ15の計測結果を利用して部品Wの位置姿勢を認識するための認識処理を行う。この認識処理では、ロボットアーム2の姿勢に応じて三次元センサ15の計測方向が変わることを利用して、1方向からの計測結果での認識精度が不十分である場合に、上記所定の位置に配置された部品Wについて他方向からの三次元センサ15の計測結果を取得し、このように取得された複数の計測結果を利用することで、その部品Wの位置姿勢の認識精度を向上させる。
【0024】
部品Wの表面形状等によっては、認識精度が高くなりやすい三次元センサ15の計測方向と認識精度が低くなりやすい三次元センサ15の計測方向とが生じる場合がある。すなわち、認識精度に関する値として、例えば、三次元センサ15の計測結果と当該部品Wの三次元データとを比較してその誤差が小さくなるほど高くなる値(以下、認識スコア値ともいう)を採用する場合、部品Wの表面形状等によっては、計測方向によって認識スコア値が変わる場合がある。なお、部品Wの三次元データは、その部品Wを特定する部品特定情報に関連付けられて記憶部12に記憶されている。また、上述した認識スコア値を算出する処理を行う制御部11は、「認識スコア値算出部」の一例に相当し得る。
【0025】
また、三次元センサ15の計測方向を変えるためには、ロボットアーム2の姿勢を変えて三次元センサ15の部品Wに対する相対位置を変える必要がある。例えば、5つの計測方向に対応して5つの相対位置が設定される場合に、認識スコア値が高い順に相対位置を変えるように三次元センサ15を移動させる制御を行うと、移動時間が長くなるために計測時間が長くなってしまう場合がある。具体的に例示すると、2番目に高い認識スコア値と3番目に高い認識スコア値とがほぼ同じ値であり、1番目に高い認識スコア値の相対位置から2番目に高い認識スコア値の相対位置までの移動時間が、1番目に高い認識スコア値の相対位置から3番目に高い認識スコア値の相対位置までの移動時間に対して倍程度長くなる場合でも、2番目に高い認識スコア値の相対位置が次に移動すべき相対位置として設定されると、計測時間が不要に長くなってしまう。
【0026】
そこで、本実施形態では、事前作業として、制御部11にてなされる事前準備処理において、部品Wに対する三次元センサ15の相対位置に関する計測順番を、計測時間が短くなるように予め設定する。その後、部品Wを順次把持する実際の稼働中に制御部11にてなされるロボット制御処理において、上記計測順番に従って移動された三次元センサ15にて部品Wの三次元計測データが計測される。
【0027】
上記計測順番は、所定の位置に配置された部品Wに対して、相対位置ごとに三次元センサ15の計測結果から算出された認識スコア値と、三次元センサ15の相対位置間の移動に要する移動時間とに基づいて設定される。
【0028】
本実施形態では、移動した三次元センサ15による計測方向として5つの計測方向が用意される。具体的には、
図3及び
図4に例示するように、所定の部位Waにて+X側に向いた部品Wがその下面を下方にして配置された面をXY平面とするとき、その部品Wに対して、略真上から見下ろす方向(以下、第1計測方向Fw1ともいう)と、+X側から見下ろす方向(以下、第2計測方向Fw2ともいう)と、-X側から見下ろす方向(以下、第3計測方向Fw3ともいう)と、+Y側から見下ろす方向(以下、第4計測方向Fw4ともいう)と、-Y側から見下ろす方向(以下、第5計測方向Fw5ともいう)との、5つの計測方向からの三次元センサ15の計測結果から、それぞれ認識スコア値が算出される。なお、本実施形態では、部品Wは、常に同じ下面を下方にして配置されるものとする。また、第1計測方向Fw1は、把持動作開始時のロボットアーム2の初期位置での三次元センサ15の計測方向に一致する。
【0029】
また、第1計測方向Fw1から計測するための三次元センサ15の相対位置を第1相対位置Pw1、第2計測方向Fw2から計測するための三次元センサ15の相対位置を第2相対位置Pw2、第3計測方向Fw3から計測するための三次元センサ15の相対位置を第3相対位置Pw3、第4計測方向Fw4から計測するための三次元センサ15の相対位置を第4相対位置Pw4、第5計測方向Fw5から計測するための三次元センサ15の相対位置を第5相対位置Pw5とするとき、各相対位置間の移動時間を算出することができる。
【0030】
このように算出される各認識スコア値と各相対位置間の移動時間とに基づいて、計測順番を設定するために制御部11にてなされる事前準備処理について、
図5に示すフローチャートを用いて詳述する。なお、計測順番の設定対象となる部品Wは、上記所定の位置に対して、所定の部位にて+X側に向いて下面が下方となるように配置されているものとする。
【0031】
まず、
図5のステップS101に示す三次元計測処理がなされ、ロボットアーム2の姿勢変化に応じて三次元センサ15が各相対位置Pw1~Pw5に移動するごとに、それぞれの相対位置Pw1~Pw5にて計測結果が取得される。次に、ステップS103に示す認識スコア値算出処理がなされ、それぞれ取得された計測結果から上述のように認識スコア値が算出される。そして、ステップS105に示す相対位置選択処理にて、認識スコア値が選択基準値以上となる相対位置が選択される。
【0032】
続いて、ステップS107に示す計測順番設定処理がなされる。この処理では、第1相対位置Pw1を1番目とすることを前提に、認識スコア値が上記選択基準値以上となる相対位置のうち、第1相対位置Pw1からの移動時間が最も短くなる相対位置が2番目に設定される。そして、認識スコア値が上記選択基準値以上となる相対位置が第1相対位置Pw1を除いて2以上ある場合には、それらの相対位置のうち、第1相対位置Pw1を除いて上記2番目の相対位置からの移動時間が最も短くなる相対位置が3番目に設定される。なお、上記計測順番設定処理を行う制御部11は、「計測順番設定部」の一例に相当し、上記選択基準値は、「第2の閾値」の一例に相当し得る。また、第1相対位置Pw1は、「特定の相対位置」の一例に相当し得る。
【0033】
このように、各認識スコア値と各相対位置間の移動時間とに基づいて計測順番が設定されると、ステップS109に示す記憶処理にて、その計測順番が部品Wを特定する部品特定情報に関連付けられて記憶部12に記憶される。
【0034】
例えば、
図6(A)に例示するように、各相対位置Pw1~Pw5での認識スコア値が第4相対位置Pw4を除いて上記選択基準値以上と算出される場合を想定する。このような場合であって、認識スコア値が上記選択基準値以上となる各相対位置のうち、第1相対位置Pw1までの移動時間が最も短いものが第2相対位置Pw2である場合には、
図6(B)に例示するように、第2相対位置Pw2が2番目に設定される。そして、その2番目に設定された第2相対位置Pw2から第5相対位置Pw5までの移動時間が、同じ第2相対位置Pw2から第3相対位置Pw3までの移動時間よりも短い場合には、
図6(B)に例示するように、第5相対位置Pw5が3番目に設定され、第3相対位置Pw3が4番目に設定される。
【0035】
次に、上記所定の位置に次々搬送されてくる部品Wをハンド3にて把持する稼働中に、上記計測順番を利用して部品Wの位置姿勢を認識するために制御部11にてなされるロボット制御処理について、
図7に示すフローチャートを用いて詳述する。なお、ロボット制御処理の開始時には、上述したように、把持動作開始時のロボットアーム2の初期位置での三次元センサ15は、その計測方向が第1計測方向Fw1に一致する状態にて第1相対位置Pw1に位置している。すなわち、第1相対位置Pw1は、ロボットアーム2が作業開始時に位置する際の三次元センサ15の位置に一致する。
【0036】
まず、
図7のステップS201に示す三次元計測処理がなされ、上記所定の位置に配置された部品Wに対して第1相対位置Pw1に位置する三次元センサ15にて計測結果が取得される。次に、ステップS203に示す認識スコア値算出処理がなされて、上述したように取得された計測結果から、第1相対位置Pw1での認識スコア値が算出される。
【0037】
続いて、ステップS205に示す判定処理にて、算出された認識スコア値が所定の閾値以上であるか否かについて判定される。ここで、上記所定の閾値は、部品Wを正確に把持可能な認識スコア値に相当する値であり、上述のように算出された認識スコア値が上記所定の閾値以上であると(S205でYes)、次の相対位置に向けて三次元センサ15を移動させることなく、上記計測結果から部品Wの姿勢が認識されて、その部品Wを把持するための処理がなされる(S207)。なお、上記所定の閾値は、「第1の閾値」の一例に相当し得る。
【0038】
一方、算出された認識スコア値が上記所定の閾値未満である場合には(S205でNo)、ステップS209に示す姿勢推定処理がなされて、上記計測結果から部品Wの仮の姿勢が推定される。すなわち、第1相対位置Pw1での認識スコア値が上記所定の閾値未満と判定された場合には、所定の位置に配置された部品Wの直上位置(1番目の相対位置)からの三次元センサ15の計測結果を利用して当該部品Wの姿勢が仮に推定される。なお、上記姿勢推定処理を行う制御部11は、「姿勢推定部」の一例に相当し得る。
【0039】
続いて、ステップS211に示す変換処理がなされ、上述のように推定した部品Wの姿勢に対応する各相対位置Pw2~Pw5を、ロボット1を基準とする位置に変換するための処理がなされる。ロボット制御装置10では、所定の位置に配置された部品Wがどの方向を向いているか把握できなければ、その部品Wを基準とする各相対位置Pw2~Pw5を把握できない。このため、推定された部品Wの仮の姿勢から把握される所定の部位Wa等を基準に、各相対位置Pw2~Pw5を、ロボット1を基準とする制御位置Pr2~Pr5に変換する。このように変換された制御位置Pr2~Pr5によって、上記計測順番に基づいて移動すべき三次元センサ15の位置をロボット1を基準に把握することができる。例えば、上述した
図4に例示するように事前準備処理にて採用された各相対位置Pw2~Pw5は、部品Wの向きに応じて、
図8に例示するようにロボット1を基準とする制御位置Pr2~Pr5に変換される。なお、上記変換処理を行う制御部11は、「変換部」の一例に相当し得る。
【0040】
このように各相対位置Pw2~Pw5が制御位置Pr2~Pr5に変換されると、ステップS213に示す移動処理がなされ、記憶部12に記憶されている計測順番に基づいて、次の順番となる相対位置を変換した制御位置に三次元センサ15が位置するように、ロボットアーム2の姿勢が制御される。次の順番が第2相対位置Pw2であれば、その第2相対位置Pw2を上述のように変換した制御位置Pr2に三次元センサ15が位置するように、ロボットアーム2の姿勢が制御される。
【0041】
そして、再び上記ステップS201からの処理がなされて、上記制御位置に移動された三次元センサ15にて取得された計測結果から算出された認識スコア値が、上記所定の閾値以上になると(S205でYes)、上記計測結果から部品Wの姿勢が認識されて、その部品Wを把持するための処理がなされる(S207)。なお、直前に計測された計測結果を利用して部品Wの姿勢を認識することに限らず、直前に計測された計測結果と前回以前の計測結果との双方を利用して部品Wの姿勢を認識してもよい。また、上述したように、計測結果から部品Wの姿勢を認識するための認識処理を行う制御部11は、「認識部」の一例に相当し得る。
【0042】
一方、上記制御位置に移動された三次元センサ15にて取得された計測結果から算出された認識スコア値が上記所定の閾値未満であると(S205でNo)、上記計測結果から部品Wの仮の姿勢が再度推定される(S209)。そして、移動していない残りの相対位置が制御位置に変換されて(S211)、次の順番となる相対位置を変換した制御位置に三次元センサ15が位置するように、ロボットアーム2の姿勢が制御される(S213)。次の順番が第5相対位置Pw5であれば、その第5相対位置Pw5を上述のように変換した制御位置Pr5に三次元センサ15が位置するように、ロボットアーム2の姿勢が制御される。なお、上記姿勢推定処理は、最初の推定結果を流用することで、2回目以降の処理を省略してもよい。
【0043】
以上説明したように、本実施形態に係るロボット制御装置10では、ロボットアーム2に三次元センサ15が取り付けられており、所定の位置に配置された部品Wを基準とする三次元センサ15の相対位置(Pw1~Pw5)に関して、制御部11によりロボットアーム2が駆動制御されることで変化する相対位置間での移動の順番が計測順番として設定されて、部品特定情報に関連付けられて予め記憶部12に記憶される。そして、所定の位置に配置された部品Wをハンド3にて把持する際に、当該部品Wを特定する部品特定情報に関連付けられて記憶部12に記憶される計測順番に基づいて制御部11によりロボットアーム2が駆動制御された状態で、部品Wの位置姿勢を三次元センサ15の計測結果を利用して認識する認識処理が行われる。計測順番設定処理では、所定の位置に配置された部品Wに対して、複数の相対位置(Pw1~Pw5)ごとに三次元センサ15の計測結果から算出された認識スコア値と、三次元センサ15の相対位置間の移動に要する移動時間とに基づいて、計測順番が設定される。
【0044】
これにより、所定の位置に配置された部品Wに関して、記憶部12に記憶される計測順番に応じて複数の計測方向にて三次元センサ15の計測結果が得られるので、複数の三次元センサを設置する場合と同等の計測結果を取得することができる。特に、計測順番は、認識スコア値だけでなく三次元センサ15の相対位置間の移動に要する移動時間を考慮して設定されるので、1つの三次元センサ15を複数の位置に移動させる場合でもその移動にかかる時間を短縮することができる。したがって、計測方向を変えるための三次元センサ15の移動に要する時間、すなわち、計測時間の短縮を図りつつ、ロボットアーム2に取り付けられた三次元センサ15で部品Wの位置姿勢を精度良く計測することができる。
【0045】
そして、稼働中になされるロボット制御処理では、三次元センサ15が計測順番に応じた相対位置に移動するごとに、三次元センサ15の計測結果から算出された認識スコア値と上記所定の閾値とを比較して、認識スコア値が上記所定の閾値以上になると(S205でYes)、残りの相対位置に移動することなく、認識処理を行う。これにより、例えば、1番目の相対位置(Pw1)での三次元センサ15の計測結果の認識スコア値が上記所定の閾値以上になるために精度の高い計測結果が得られている場合には、2番目以降の相対位置に移動することなく認識処理を行うことで、不要な三次元センサ15の移動及び計測をなくすことができる。
【0046】
さらに、計測順番設定処理は、特定の相対位置となる第1相対位置Pw1を1番目に設定し、認識スコア値が上記選択基準値以上となる2以上の相対位置のうち、1番目の相対位置からの移動時間が最も短くなる相対位置を2番目に設定し、第1相対位置Pw1を除いて2番目の相対位置からの移動時間が最も短くなる相対位置を3番目に設定する。これにより、認識スコア値が比較的高い相対位置間を最短で移動できるので、上記計測時間の更なる短縮を図ることができる。
【0047】
特に、第1相対位置Pw1は、ロボットアーム2が作業開始時に位置する際の三次元センサ15の位置に一致する。これにより、作業開始時には三次元センサ15が計測順番での1番目の相対位置に位置するため、1番目の相対位置への三次元センサの移動に要する時間をなくすことができるので、上記計測時間を確実に短縮することができる。
【0048】
そして、姿勢推定処理(S209)により、所定の位置に配置された部品Wの直上位置(1番目の相対位置)からの三次元センサ15の計測結果を利用して当該部品Wの姿勢が仮に推定されて、この推定結果に基づいて、記憶部12に計測順番が記憶される相対位置が、変換処理(S211)によりロボット1を基準とする位置に変換される。そして、記憶部12に記憶される計測順番に対応して、変換処理により変換された位置に三次元センサ15が位置するように制御部11によりロボットアーム2が駆動制御される。このように部品Wの姿勢を推定することで、部品Wを基準とする三次元センサ15の相対位置(Pw2~Pw5)を、ロボット1を基準とする三次元センサ15の制御位置(Pr2~Pr5)に変換できるので、部品Wがどのような姿勢で所定の位置に配置されても、計測時に移動させるべき三次元センサ15の位置を正確に把握することができる。
【0049】
[第2実施形態]
次に、本発明の第2実施形態に係るロボット制御装置について、図面を参照して説明する。
本第2実施形態では、計測順番の設定時に算出された認識スコア値及び相対位置を利用して部品Wの姿勢の推定を行う点が、上記第1実施形態と主に異なる。したがって、第1実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【0050】
上述したロボット制御処理において、1番目の相対位置での三次元センサ15の計測結果を利用して推定された部品Wの仮の姿勢が正しくない場合には、2番目の相対位置での三次元センサ15の計測結果から算出される認識スコア値が比較的低い値で算出されることになる。すなわち、ステップS205に示す判定処理にて、2番目に算出された認識スコア値が上記所定の閾値を大きく下回っていると、先に上記姿勢推定処理にて推定された部品Wの仮の姿勢が誤っている可能性が高いと考えられる。
【0051】
このため、本実施形態では、認識処理に関して2番目以降に算出された認識スコア値が、上記所定の閾値によりも小さく設定される下限閾値以下となる場合には、計測順番の設定時に算出された認識スコア値及び相対位置を利用して部品Wの姿勢の推定を行う。このため、本実施形態における事前準備処理では、上述したステップS109に示す記憶処理にて、計測順番に加えて、相対位置ごとに算出された認識スコア値が、部品特定情報に関連付けられて記憶部12に記憶される。
【0052】
以下、本実施形態において、制御部11にてなされるロボット制御処理について、
図9に示すフローチャートを用いて詳述する。
上記第1実施形態と同様に、第1相対位置Pw1に位置する三次元センサ15の計測結果から算出された認識スコア値が上記所定の閾値未満である場合には(
図9のS205でNo)、1番目の相対位置であるため、ステップS215の判定処理にてYesと判定される。この場合には、上記計測結果から部品Wの姿勢が推定され(S209)、この仮の姿勢に対応する各相対位置がロボット1を基準とする制御位置に変換されて(S211)、次の順番となる相対位置を変換した制御位置に三次元センサ15が位置するように、ロボットアーム2の姿勢が制御される(S213)。
【0053】
そして、2番目の相対位置に位置する三次元センサ15の計測結果から算出された認識スコア値も上記所定の閾値未満になると(S205でNo)、ステップS215の判定処理にてNoと判定されて、ステップS217に示す判定処理にて、上述のように算出された認識スコア値が上記下限閾値以下であるか否かについて判定される。ここで、認識スコア値が上記下限閾値を超える場合には(S217でNo)、上記ステップS209以降の処理がなされる。
【0054】
一方、上述のように算出された認識スコア値が上記下限閾値以下になると(S217でYes)、ステップS219に示す姿勢推定処理がなされる。この処理では、事前準備処理時に算出された認識スコア値を利用して部品Wの姿勢の推定を行う。具体的には、事前準備処理時に算出された全ての認識スコア値(上記選択基準値となる認識スコア値も含める)のうち、上記下限閾値以下となった認識スコア値に最も近い認識スコア値を求めて、この認識スコア値に対応する相対位置が、現時点での三次元センサ15の位置となるように、部品Wの姿勢が推定される。
【0055】
例えば、事前準備処理時に上述した
図6(A)のように認識スコア値が算出されて記憶部12に記憶されている場合であって、2番目の相対位置にて算出された認識スコア値が上記下限閾値以下となる「20」であれば、最も近い認識スコア値「10」の第4相対位置Pw4が、現時点での三次元センサ15の位置となるように、部品Wの姿勢が推定される。
【0056】
そして、上述のように推定された部品Wの姿勢に対応する各相対位置がロボット1を基準とする制御位置に変換されて(S211)、次の順番となる相対位置を変換した制御位置に三次元センサ15が位置するように、ロボットアーム2の姿勢が制御される(S213)。なお、2番目の相対位置にて算出された認識スコア値が上記下限閾値以下となっていると、2番目の相対位置での認識スコア値が正しく算出されていないとして、上記ステップS213の移動処理における次の順番となる相対位置は、計測順番での2番目となる相対位置になる。
【0057】
以上説明したように、本実施形態に係るロボット制御装置10では、認識処理に関して算出された認識スコア値が下限閾値以下となる場合に(S217でYes)、計測順番の設定時に算出された認識スコア値及び相対位置を利用して、部品Wの姿勢が仮に推定される。これにより、認識スコア値が低い相対位置で撮像した場合でも、高い認識スコア値を期待できる相対位置へ三次元センサ15を移動させることができる。
【0058】
なお、本発明は上記各実施形態等に限定されるものではなく、例えば、以下のように具体化してもよい。
(1)部品Wの認識精度を計測時間の短縮よりも重視するような場合や作業者等により指示された場合には、上記ロボット制御処理において、認識スコア値が閾値以上となった後に(S205でYes)、少なくとも1以上の異なる相対位置での三次元センサ15の計測結果をさらに考慮することで、部品Wの位置姿勢の認識精度を向上させてもよい。その際、例えば、認識スコア値が閾値以上となった相対位置に対して部品Wに関して対称位置となる相対位置での三次元センサ15の計測結果を考慮するようにしてもよい。
【0059】
(2)移動した三次元センサ15による計測方向及び相対位置として5つの計測方向Fw1~Fw5及び相対位置Pw1~Pw5が採用されることに限らず、その部品Wの形状等に応じて、2~4又は6以上の計測方向及び相対位置が採用されてもよい。また、1番目の計測方向及び相対位置は、部品Wの直上であって作業開始時での位置に設定されることに限らず、その部品Wの形状等に応じて、他の計測方向及び他の相対位置に設定されてもよい。
【0060】
(3)認識スコア値算出部として機能する制御部11にてなされる認識スコア値算出処理では、認識スコア値は、三次元センサ15の計測結果と当該部品Wの三次元データとを比較してその誤差が小さくなるほど高くなる値として算出されることに限らず、三次元センサ15の計測結果を利用した他の方法にて認識精度に応じた値として算出されてもよい。
【0061】
(4)ロボットアーム2に取り付けられたハンド3は、一対の爪を利用して部品Wを把持するように構成されることに限らず、他の機構を利用して部品Wを把持(保持)するように構成されてもよい。
【符号の説明】
【0062】
1…ロボット
2…ロボットアーム
3…ハンド
10…ロボット制御装置
11…制御部(認識スコア値算出部,計測順番設定部,認識部,姿勢推定部,変換部)
12…記憶部
15…三次元センサ
Pw1~Pw5…相対位置
Pr2~Pr5…制御位置
Fw1~Fw5…計測方向
W…部品