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

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

▶ 株式会社デンソーウェーブの特許一覧

<>
  • 特許-ロボットの制御装置 図1
  • 特許-ロボットの制御装置 図2
  • 特許-ロボットの制御装置 図3
  • 特許-ロボットの制御装置 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】ロボットの制御装置
(51)【国際特許分類】
   B25J 19/06 20060101AFI20240117BHJP
【FI】
B25J19/06
【請求項の数】 9
(21)【出願番号】P 2019236046
(22)【出願日】2019-12-26
(65)【公開番号】P2021104550
(43)【公開日】2021-07-26
【審査請求日】2022-10-03
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100121821
【弁理士】
【氏名又は名称】山田 強
(74)【代理人】
【識別番号】100125575
【弁理士】
【氏名又は名称】松田 洋
(72)【発明者】
【氏名】奥原 啓司
(72)【発明者】
【氏名】宮越 喜浩
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2015-047649(JP,A)
【文献】特開2012-120756(JP,A)
【文献】国際公開第2018/142937(WO,A1)
【文献】特開2018-001348(JP,A)
【文献】特開2013-094921(JP,A)
【文献】特開2012-056026(JP,A)
【文献】特開2014-213399(JP,A)
【文献】特開2015-085488(JP,A)
【文献】特開2015-138489(JP,A)
【文献】特開2018-167333(JP,A)
【文献】米国特許出願公開第2017/0368686(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10-19/06
A61B 8/14
G01N 21/17
(57)【特許請求の範囲】
【請求項1】
姿勢を変更可能なロボットと、前記ロボットに取り付けられ、前記姿勢の変更に応じて物体の検出範囲が変更される物体検出装置とを制御する制御装置であって、
前記ロボットの姿勢を複数の所定姿勢に変更し、それぞれの前記所定姿勢において前記物体検出装置により物体を検出させる第1制御を行う第1制御部と、
前記ロボットの姿勢を前記複数の所定姿勢に変更した際に、前記ロボットが通過した領域である第1領域を取得する第1取得部と、
前記第1制御部により前記第1制御を行った際に、前記物体検出装置から前記検出された前記物体までの領域である第2領域を取得する第2取得部と、
前記第1取得部により取得された前記第1領域と前記第2取得部により取得された前記第2領域とを加えた第3領域を、前記ロボットが動作可能な動作可能領域であると判定する判定部と、
を備えるロボットの制御装置。
【請求項2】
前記第3領域に前記ロボットが収まり、且つ前記動作可能領域であるか否か判定されていない領域である未判定領域を前記検出範囲が含むように前記ロボットの姿勢を変更し、前記物体検出装置により物体を検出させる第2制御を行う第2制御部を備え、
前記第1取得部は、前記第2制御部により前記第2制御を行った際に、前記第1領域を取得し、
前記第2取得部は、前記第2制御部により前記第2制御を行った際に、前記第2領域を取得する、請求項1に記載のロボットの制御装置。
【請求項3】
前記第2制御部は、前記第2制御を繰り返し行い、前記第3領域に前記ロボットが収まり、且つ前記未判定領域を前記検出範囲が含むように前記ロボットの姿勢を変更することができなくなった場合に、前記第2制御を終了する、請求項2に記載のロボットの制御装置。
【請求項4】
前記判定部は、前記第2制御部が前記第2制御を終了した時に、前記ロボットが到達可能な空間に対する前記未判定領域の比率が第1比率よりも大きい場合に、前記複数の所定姿勢を前回の複数の所定姿勢から変更して、第1制御部により前記第1制御を行わせる、請求項3に記載のロボットの制御装置。
【請求項5】
前記判定部は、前記ロボットが到達可能な空間に対する、前記動作可能領域であるか否か判定されていない領域である未判定領域の比率が、第2比率よりも小さい場合に前記動作可能領域の判定を終了する、請求項1~のいずれか1項に記載のロボットの制御装置。
【請求項6】
前記第1制御部により前記第1制御を行った際に、前記物体検出装置から前記検出された前記物体よりも奧側に存在した領域である第4領域を取得する第3取得部を備え、
前記判定部は、前記第3取得部により取得された前記第4領域を、前記ロボットが動作不能な動作不能領域であると判定する、請求項1~のいずれか1項に記載のロボットの制御装置。
【請求項7】
前記第3取得部は、前記第1制御部により前記第1制御を行った際に、複数の前記所定姿勢において、前記物体検出装置から前記検出された共通の物体よりも奧側に存在した領域であることを条件として前記第4領域を取得する、請求項に記載のロボットの制御装置。
【請求項8】
前記複数の所定姿勢は、前記物体検出装置から前記検出範囲の中心線が延びる方向が第1方向である第1姿勢と、前記物体検出装置から前記検出範囲の中心線が延びる方向が前記第1方向と逆方向の第2方向である第2姿勢とを含む、請求項1~のいずれか1項に記載のロボットの制御装置。
【請求項9】
前記複数の所定姿勢は、前記第1姿勢から前記中心線を水平方向及び垂直方向に回転させた姿勢と、前記第2姿勢から前記中心線を水平方向及び垂直方向に回転させた姿勢とを含む、請求項に記載のロボットの制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを制御して動作可能領域を判定する制御装置に関する。
【背景技術】
【0002】
従来、ロボットの動作空間を単位空間の集合として捉え、ロボットの手先部分を覆うボックス領域を設定し、ロボットが動作することでボックス領域の内部に全体が含まれた単位空間を安全と評価する制御装置がある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2012-56026号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、特許文献1に記載の制御装置では、動作空間内の各部分が安全(動作可能領域)か否か評価するために、動作空間内の隅々までロボットを動作させる必要がある。このため、ロボットの動作可能領域を判定するまでに長時間を要するおそれがある。
【0005】
本発明は、こうした課題を解決するためになされたものであり、その主たる目的は、ロボットの動作可能領域を効率的に判定することのできるロボットの制御装置を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するための第1の手段は、
姿勢を変更可能なロボットと、前記ロボットに取り付けられ、前記姿勢の変更に応じて物体の検出範囲が変更される物体検出装置とを制御する制御装置であって、
前記ロボットの姿勢を複数の所定姿勢に変更し、それぞれの前記所定姿勢において前記物体検出装置により物体を検出させる第1制御を行う第1制御部と、
前記ロボットの姿勢を前記複数の所定姿勢に変更した際に、前記ロボットが通過した領域である第1領域を取得する第1取得部と、
前記第1制御部により前記第1制御を行った際に、前記物体検出装置から前記検出された前記物体までの領域である第2領域を取得する第2取得部と、
前記第1取得部により取得された前記第1領域と前記第2取得部により取得された前記第2領域とを加えた第3領域を、前記ロボットが動作可能な動作可能領域であると判定する判定部と、
を備える。
【0007】
上記構成によれば、制御装置は、姿勢を変更可能なロボットと物体検出装置とを制御する。物体検出装置は、ロボットに取り付けられ、ロボットの姿勢の変更に応じて物体の検出範囲が変更される。このため、ロボットの姿勢を変更して、物体検出装置により物体を検出させることで、ロボットの周囲の任意の方向の物体を検出することができる。さらに、物体検出装置が柱等に固定されて物体の検出範囲を変更できない構成と比較して、物体検出装置がロボットに取り付けられているため、ロボットの設置位置が変更された場合も物体検出装置により物体を検出することができる。
【0008】
ここで、第1制御部は、ロボットの姿勢を複数の所定姿勢に変更し、それぞれの所定姿勢において物体検出装置により物体を検出させる。このため、ロボットのそれぞれの所定姿勢に応じた検出範囲について、物体を検出することができる。第1取得部は、ロボットの姿勢を複数の所定姿勢に変更した際に、ロボットが通過した領域である第1領域を取得する。ロボットが通過した第1領域は、ロボットが動作可能な動作可能領域である。第2取得部は、第1制御部により第1制御を行った際に、物体検出装置から検出された物体までの領域である第2領域を取得する。物体検出装置から検出された物体までの領域は、物体が存在しなかった領域であり、ロボットが動作可能な動作可能領域である。
【0009】
そして、判定部は、第1取得部により取得された第1領域と第2取得部により取得された第2領域とを加えた第3領域を、ロボットが動作可能な動作可能領域であると判定する。このため、ロボットが通過した第1領域だけでなく、物体検出装置から検出された物体まで物体が存在しなかった第2領域も、動作可能領域であると判定することができる。したがって、ロボットの制御装置は、ロボットの動作可能領域を効率的に判定することができる。
【0010】
第2の手段では、前記第3領域に前記ロボットが収まり、且つ前記動作可能領域であるか否か判定されていない領域である未判定領域を前記検出範囲が含むように前記ロボットの姿勢を変更し、前記物体検出装置により物体を検出させる第2制御を行う第2制御部を備え、前記第1取得部は、前記第2制御部により前記第2制御を行った際に、前記第1領域を取得し、前記第2取得部は、前記第2制御部により前記第2制御を行った際に、前記第2領域を取得する。
【0011】
上記構成によれば、第2制御部は、第3領域にロボットが収まり、且つ動作可能領域であるか否か判定されていない領域である未判定領域を物体検出装置の検出範囲が含むようにロボットの姿勢を変更し、物体検出装置により物体を検出させる。このため、動作可能領域の中からロボットが出ない安全な状態で、未判定領域について物体を検出することができる。第1取得部は、第2制御部により第2制御を行った際に、動作可能領域である上記第1領域を取得する。第2取得部は、第2制御部により第2制御を行った際に、動作可能領域である上記第2領域を取得する。そして、判定部は、第1領域と第2領域とを加えた第3領域を、ロボットが動作可能な動作可能領域であると判定する。このため、動作可能領域であると判定された領域内でロボットを安全に動作させつつ、動作可能領域を拡張することができる。
【0012】
第2制御部が第2制御を繰り返し行うことで、動作可能領域が拡張し、未判定領域が縮小する。しかし、いずれは、動作可能領域の中からロボットが出ない状態では、未判定領域を検出範囲が含むようにロボットの姿勢を変更することができなくなる。
【0013】
この点、第3の手段では、前記第2制御部は、前記第2制御を繰り返し行い、前記第3領域に前記ロボットが収まり、且つ前記未判定領域を前記検出範囲が含むように前記ロボットの姿勢を変更することができなくなった場合に、前記第2制御を終了する。こうした構成によれば、第2制御部が第2制御を繰り返し行うことで、動作可能領域を拡張し、未判定領域を縮小させることができる。そして、動作可能領域を拡張することができなくなった場合に、第2制御を終了することができる。
【0014】
第2制御を終了しても、ロボットが到達可能な空間に対する未判定領域の比率が第1比率よりも大きいことがある。この場合は、第1制御を行った際に動作可能領域であると判定した領域の大きさが不十分であったため、第3領域にロボットが収まり且つ未判定領域を検出範囲が含むようにロボットの姿勢を変更することが困難となったおそれがある。
【0015】
この点、第4の手段では、前記判定部は、前記第2制御部が前記第2制御を終了した時に、前記ロボットが到達可能な空間に対する前記未判定領域の比率が第1比率よりも大きい場合に、前記複数の所定姿勢を前回の複数の所定姿勢から変更して、第1制御部により前記第1制御を行わせる。こうした構成によれば、第1制御部により第1制御を再度行わせることにより、第3領域を拡張することができる。したがって、第2制御において、第3領域にロボットが収まり且つ未判定領域を検出範囲が含むように、ロボットの姿勢を変更し易くなる。
【0016】
第5の手段は、
姿勢を変更可能なロボットと、前記ロボットに取り付けられ、前記姿勢の変更に応じて物体の検出範囲が変更される物体検出装置とを制御する制御装置であって、
前記ロボットの姿勢を複数の所定姿勢に変更し、それぞれの前記所定姿勢において前記物体検出装置により物体を検出させる第1制御を行う第1制御部と、
前記第1制御部により前記第1制御を行った際に、前記物体検出装置から前記検出された前記物体までの領域を取得する取得部と、
前記取得部により取得された前記領域を、前記ロボットが動作可能な動作可能領域であると判定する判定部と、
を備える。
【0017】
上記構成によれば、ロボットが通過した領域である第1領域を第1取得部が取得し、動作可能領域に第1領域を加える点を除いて、第1の手段と同様の作用効果を奏することができる。こうした構成によっても、第1制御部により第1制御を行った際に、物体検出装置から検出された物体までの領域を、動作可能領域であると判定することができる。したがって、ロボットが通過した領域だけを動作可能領域であると判定する構成と比較して、ロボットの制御装置は、ロボットの動作可能領域を効率的に判定することができる。
【0018】
ロボットが到達可能な空間に対して、動作可能領域であるか否か判定されていない領域である未判定領域が小さくなれば、動作可能領域を拡張する余地が小さくなる。
【0019】
この点、第6の手段では、前記判定部は、前記ロボットが到達可能な空間に対する、前記動作可能領域であるか否か判定されていない領域である未判定領域の比率が、第2比率よりも小さい場合に前記動作可能領域の判定を終了する。こうした構成によれば、動作可能領域を拡張する余地が小さくなった場合に動作可能領域の判定を終了することができ、動作可能領域の判定終了までの時間が長くなることを抑制することができる。
【0020】
物体検出装置により物体が検出された場合、その物体が障害となってロボットはその物体よりも奧側の領域へ移動できないことが多い。
【0021】
この点、第7の手段では、前記第1制御部により前記第1制御を行った際に、前記物体検出装置から前記検出された前記物体よりも奧側に存在した領域である第4領域を取得する第3取得部を備え、前記判定部は、前記第3取得部により取得された前記第4領域を、前記ロボットが動作不能な動作不能領域であると判定する。こうした構成によれば、物体検出装置から、検出された物体よりも奧側に存在する領域を、動作不能領域であると容易に判定することができ、未判定領域を効率的に縮小することができる。
【0022】
物体検出装置により物体が検出され、1方向からは物体が奥まで続いているか否か分からない場合に、例えばその物体が板状であってロボットがその物体よりも奧側の領域へ移動できることがある。
【0023】
この点、第8の手段では、前記第3取得部は、前記第1制御部により前記第1制御を行った際に、複数の前記所定姿勢において、前記物体検出装置から前記検出された共通の物体よりも奧側に存在した領域であることを条件として前記第4領域を取得する。こうした構成によれば、複数の所定姿勢に応じた検出範囲で検出された共通の物体よりも奧側に存在した領域であることを条件として第4領域が取得される。すなわち、1つの所定姿勢に応じた検出範囲でのみ検出された物体よりも奧側に存在した領域は、第4領域として取得されない。したがって、ロボットが物体よりも奧側の領域へ移動できる場合に、物体の奧側の領域を動作不能領域であると判定することを抑制することができる。
【0024】
第9の手段では、前記複数の所定姿勢は、前記物体検出装置から前記検出範囲の中心線が延びる方向が第1方向である第1姿勢と、前記物体検出装置から前記検出範囲の中心線が延びる方向が前記第1方向と逆方向の第2方向である第2姿勢とを含む。
【0025】
上記構成によれば、複数の所定姿勢は、物体検出装置から検出範囲の中心線が延びる方向が第1方向である第1姿勢を含んでいる。このため、第1姿勢では、物体検出装置から検出範囲の中心線が第1方向に延びる状態で、物体を検出することができる。また、複数の所定姿勢は、物体検出装置から検出範囲の中心線が延びる方向が第1方向と逆方向の第2方向である第2姿勢を含んでいる。このため、第2姿勢では、物体検出装置から検出範囲の中心線が第1方向と逆方向の第2方向に延びる状態で、物体を検出することができる。したがって、第1姿勢と第2姿勢とで、ロボットの周囲において互いに逆方向の動作可能領域を判定することができ、ロボットの動作可能領域を効率的に判定することができる。
【0026】
第10の手段では、前記複数の所定姿勢は、前記第1姿勢から前記中心線を水平方向及び垂直方向に回転させた姿勢と、前記第2姿勢から前記中心線を水平方向及び垂直方向に回転させた姿勢とを含む。こうした構成によれば、第1姿勢及び第2姿勢における物体の検出範囲を中心として、検出範囲を水平方向及び垂直方向に回転させることができる。したがって、ロボットの周囲において検出範囲の重複を抑制しつつ多くの方向で物体を検出することができ、ロボットの動作可能領域を効率的に判定することができる。
【図面の簡単な説明】
【0027】
図1】ロボット及びカメラの斜視図
図2】動作可能領域設定の手順を示すフローチャート
図3】ロボットの第2姿勢を示す斜視図
図4】ロボットの複数の所定姿勢の変更例を示す斜視図
【発明を実施するための形態】
【0028】
以下、ユーザ(人)と協働して作業を行う協働ロボットに具現化した一実施形態について、図面を参照しつつ説明する。協働ロボットでは、作業空間が流動的に変化し、周囲の障害物に関するCAD情報が存在しないことから、周囲の動作可能な領域を取得する必要がある。
【0029】
図1に示すように、ロボット10は、例えば6軸の垂直多関節型ロボットであり、基台(ベース)11とアーム10Aとを備えている。アーム10Aの隣り合うリンクは、順に関節を介して相対回転可能に連結されている。各関節は、各関節に対応する各モータにより駆動される。
【0030】
リンク16には、カメラ20が取り付けられている。リンク16は、アーム10Aの先端近くのリンク、詳しくは先端から2番目のリンクである。カメラ20は、ステレオカメラであり、所定の撮影範囲を撮影する。すなわち、カメラ20(物体検出装置)は、所定の検出範囲の物体を検出する。カメラ20の撮影範囲(検出範囲)は、ロボット10の姿勢の変更に応じて変更される。なお、カメラ20が広角レンズを採用すれば撮影範囲が広くなるが、物体の検出精度が低下する。このため、カメラ20は広角レンズを採用しておらず、カメラ20の撮影範囲は限られている。
【0031】
基台11の内部には、ロボット10及びカメラ20を制御する制御装置30が設けられている。制御装置30(ロボットの制御装置)は、CPU、ROM、RAM、駆動回路、及び入出力インターフェース等を備えるコンピュータとして構成されている。ロボット10の各関節には、各関節の回転角度を検出するエンコーダがそれぞれ設けられている。すなわち、エンコーダは、アーム10Aの制御点の位置及び姿勢(以下、「アーム10Aの位置及び姿勢」という)を検出する。制御点は、アーム10Aの先端の中央に設定されている。
【0032】
制御装置30は、キャリブレーションにより、アーム10Aとカメラ20との位置関係、例えば制御点の位置及び姿勢とカメラ20の軸方向との関係等を予め取得している。
【0033】
制御装置30は、アーム10Aに作用する外力に従って、アーム10Aの位置及び姿勢を制御する。そして、制御装置30は、アーム10Aに作用する外力がなくなった時のアーム10Aの位置及び姿勢を保持する。すなわち、ロボット10は、ユーザによりアーム10Aの位置及び姿勢を変更して保持可能である。本実施形態では、ユーザは、ダイレクトティーチによりアーム10Aを直接掴んで移動させることができ、そしてアーム10Aの位置及び姿勢を教示することができる。制御装置30は、教示されたアーム10Aの位置及び姿勢を再現するように、アーム10Aの動作を制御する。なお、制御装置30は、第1制御部、第2制御部、第1取得部、第2取得部(取得部)、第3取得部、及び判定部の機能を実現する。
【0034】
図2は、動作可能領域設定の手順を示すフローチャートである。この一連の処理は、S10の処理を除いて制御装置30により実行される。
【0035】
まず、ユーザはカメラ20により撮影を行わせるアーム10Aの複数の所定姿勢を教示し、制御装置30はアーム10Aの姿勢を複数の所定姿勢に変更した際に、アーム10Aが通過した通過領域Rm(第1領域)を取得する(S10)。複数の所定姿勢は、図1に示すように、カメラ20から撮影範囲の中心線Cが延びる方向が水平の所定方向D1(第1方向)である第1姿勢を含む。また、複数の所定姿勢は、図3に示すように、カメラ20から撮影範囲の中心線Cが延びる方向が所定方向D1と逆方向の水平の所定方向D2(第2方向)である第2姿勢を含む。さらに、複数の所定姿勢は、第1姿勢から中心線Cを水平方向及び垂直方向に回転させた姿勢と、第2姿勢から中心線Cを水平方向及び垂直方向に回転させた姿勢とを含む。詳しくは、第1姿勢から、中心線Cを水平方向に±90°の範囲、垂直方向に±90°の範囲で回転させる。同様に、第2姿勢から、中心線Cを水平方向に±90°の範囲、垂直方向に±90°の範囲で回転させる。そして、アーム10Aの姿勢を複数の所定姿勢に変更した際に、アーム10Aの寸法、姿勢、及び動作軌道に基づいて、アーム10Aが通過した通過領域Rmを取得する。
【0036】
続いて、カメラ20により撮影を行わせるアーム10Aの姿勢を設定する(S11)。具体的には、上記複数の所定姿勢及び複数の所定姿勢の間の姿勢が順に実現されるように、アーム10Aの水平に回転する所定関節及び垂直に回転する所定関節を回転させて、アーム10Aの今回の姿勢を設定する。このとき、カメラ20により毎回撮影する際に撮影範囲に隙間ができないように、アーム10Aの姿勢を毎回所定量ずつ変えて設定する。
【0037】
続いて、カメラ20により撮影を行わせる(S12)。すなわち、今回のアーム10Aの姿勢に応じた撮影範囲の物体を、カメラ20により撮影させる。
【0038】
続いて、撮影範囲において物体が存在しなかった領域である非存在領域Re(第2領域)を取得する(S13)。詳しくは、カメラ20による撮影画像に基づいて、撮影範囲においてカメラ20から撮影された物体までの領域、すなわち物体が存在しなかった領域である非存在領域Reを取得する。すなわち、撮影範囲においてカメラ20から物体までの領域には物体が存在していないため、その領域を非存在領域Reとして取得する。
【0039】
続いて、今回取得した非存在領域Reを、前回までに取得した非存在領域Reの全体に追加する(S14)。
【0040】
続いて、教示した複数の所定姿勢及び複数の所定姿勢の間の全姿勢において、姿勢設定(S11)及びカメラ20による撮影(S12)が終了したか否か判定する(S15)。この判定において、全姿勢において姿勢設定及び撮影が終了していないと判定した場合(S15:NO)、S11の処理から再度実行する。
【0041】
一方、S15の処理において、全姿勢において姿勢設定及び撮影が終了したと判定した場合(S15:YES)、動作可能領域Rs及び動作不能領域Rxを設定する(S16)。具体的には、初期設定において、アーム10Aが到達可能な空間(以下、「到達可能空間Sa」という)は、全て未判定領域Ruに設定されている。未判定領域Ruは、到達可能空間Sa(動作空間)において、アーム10Aが動作可能な動作可能領域Rsであるか否か判定されていない領域である。撮影範囲において、撮影された物体よりも奧側に存在した領域である奧側領域Rd(第4領域)を取得する。そして、取得した上記通過領域Rmと取得した上記非存在領域Reの全体とを、動作可能領域Rs(第3領域)に設定する、すなわち動作可能領域Rsであると判定する。また、撮影された物体が存在した領域と取得した奧側領域Rdとを、動作不能領域Rxに設定する、すなわち動作不能領域Rxであると判定する。なお、到達可能空間Saにおいて、動作可能領域Rs及び動作不能領域Rxのいずれにも設定されていない領域は、未判定領域Ruのままである。
【0042】
続いて、動作可能領域設定の終了条件が成立したか否か判定する(S17)。具体的には、到達可能空間Saに対する未判定領域Ruの比率(Ru/Sa)が、所定比率Rr(第1比率、第2比率)よりも小さい場合(Ru/Sa<Rr)に終了条件が成立したと判定し、比率(Ru/Sa)が所定比率Rrよりも大きい場合(Ru/Sa>Rr)に終了条件が成立していないと判定する。所定比率Rrは、到達可能空間Saに対して未判定領域Ruが十分に小さくなったことを判定する比率であり、例えば「0.1」に設定されている。この判定において、動作可能領域設定の終了条件が成立したと判定した場合(S17:YES)、この一連の処理を終了する(END)、すなわち動作可能領域Rsの設定(判定)を終了する。
【0043】
一方、S17の判定において、動作可能領域設定の終了条件が成立していないと判定した場合(S17:NO)、動作可能領域Rsの拡張に用いる複数の所定姿勢を教示する(S18)。具体的には、制御装置30は、動作可能領域Rsにアーム10Aが収まり、且つ未判定領域Ruをカメラ20の撮影範囲が含むようにアーム10Aの複数の所定姿勢を教示する。詳しくは、制御装置30は、既に設定した動作可能領域Rs内でアーム10Aの姿勢を変更してカメラ20により未判定領域Ruの一部を撮影できるように、複数の所定姿勢を教示する。そして、アーム10Aの姿勢を複数の所定姿勢に変更する際に、アーム10Aの寸法、姿勢、及び動作軌道に基づいて、アーム10Aが通過する通過領域Rmを取得する。
【0044】
続いて、非存在領域追加ルーチンを実行する(S19)。非存在領域追加ルーチンは、S11~S15の処理と同一の処理である。
【0045】
続いて、動作可能領域Rsを拡張することが可能であるか否か判定する(S20)。具体的には、動作可能領域Rsにアーム10Aが収まり、且つ未判定領域Ruをカメラ20の撮影範囲が含むようにアーム10Aの複数の所定姿勢を教示することができなくなったか否か判定する。この判定において、動作可能領域Rsを拡張することが可能であると判定した場合(S20:YES)、S18の処理から再度実行する。
【0046】
一方、S20の処理において、動作可能領域Rsを拡張することが可能でないと判定した場合(S20:NO)、動作可能領域Rs及び動作不能領域Rxを設定する(S21)。S21の処理は、S16の処理と同一である。
【0047】
続いて、動作可能領域設定の終了条件が成立したか否か判定する(S22)。S22の処理は、S17の処理と同一である。この判定において、動作可能領域設定の終了条件が成立していないと判定した場合(S22:NO)、S10の処理から再度実行する。
【0048】
一方、動作可能領域設定の終了条件が成立したと判定した場合(S22:YES)、この一連の処理を終了する(END)、すなわち動作可能領域Rsの設定(判定)を終了する。
【0049】
なお、S10,S18の処理が第1取得部としての処理に相当し、S11、S12、及びS15の処理が第1制御部としての処理に相当し、S13,S14の処理が第2取得部としての処理に相当し、S16,S21の処理が判定部及び第3取得部としての処理に相当し、S17,S22の処理が判定部としての処理に相当し、S18~S20の処理が第2制御部としての処理に相当する。
【0050】
上記S16の処理では、カメラ20により撮影された物体が存在する場合、その物体が障害となってアーム10Aはその物体よりも奧側の領域へ移動できないことが多い。そこで、撮影範囲において、撮影された物体よりも奧側に存在した奧側領域Rdを、動作不能領域Rxに設定している。
【0051】
上記S17の処理では、到達可能空間Saに対して未判定領域Ruが小さくなれば、動作可能領域Rsを拡張する余地が小さくなる。そこで、到達可能空間Saに対する未判定領域Ruの比率(Ru/Sa)が、所定比率Rrよりも小さい場合(Ru/Sa<Rr)に終了条件が成立したと判定し、比率(Ru/Sa)が所定比率Rrよりも大きい場合(Ru/Sa>Rr)に終了条件が成立していないと判定している。
【0052】
上記S20の処理では、S18,S19の処理を繰り返し行うことで、動作可能領域Rsが拡張し、未判定領域Ruが縮小する。しかし、いずれは、動作可能領域Rsの中からアーム10Aが出ない状態では、未判定領域Ruをカメラ20の撮影範囲が含むようにアーム10Aの姿勢を変更することができなくなる。そこで、S18,S19の処理を繰り返し行い、動作可能領域Rsにアーム10Aが収まり、且つ未判定領域Ruをカメラ20の撮影範囲が含むようにアーム10Aの複数の所定姿勢を教示することができなくなった場合に、S18,S19の処理を終了している。
【0053】
上記S22の処理では、S18,S19の処理を繰り返し行っても、到達可能空間Saに対する未判定領域Ruの比率が所定比率Rrよりも大きいことがある。この場合は、S10~S16の処理を行った際に動作可能領域Rsであると判定した領域の大きさが不十分であったため、動作可能領域Rsにアーム10Aが収まり且つ未判定領域Ruをカメラ20の撮影範囲が含むようにアーム10Aの姿勢を変更することが困難となったおそれがある。そこで、S18~S21の処理を終了した時に、到達可能空間Saに対する未判定領域Ruの比率が所定比率Rrよりも大きい場合に、複数の所定姿勢を前回の複数の所定姿勢から変更して(S10)、S11~S16の処理を再度行わせている。
【0054】
以上詳述した本実施形態は、以下の利点を有する。
【0055】
・カメラ20は、ロボット10のアーム10Aに取り付けられ、アーム10Aの姿勢の変更に応じて物体の撮影範囲が変更される。このため、アーム10Aの姿勢を変更して、カメラ20により物体を撮影させることで、ロボット10の周囲の任意の方向の物体を撮影することができる。さらに、カメラ20が柱等に固定されて物体の撮影範囲を変更できない構成と比較して、カメラ20がアーム10Aに取り付けられているため、ロボット10の設置位置が変更された場合もカメラ20により物体を撮影することができる。
【0056】
・制御装置30(第1制御部)は、アーム10Aの姿勢を複数の所定姿勢に変更し、それぞれの所定姿勢においてカメラ20により物体を撮影させる。このため、アーム10Aのそれぞれの所定姿勢に応じた撮影範囲について、物体を撮影することができる。
【0057】
・制御装置30(判定部)は、取得された通過領域Rmと取得された非存在領域Reとを加えた領域を、動作可能領域Rsであると判定する。このため、アーム10Aが通過した通過領域Rmだけでなく、カメラ20から撮影された物体まで物体が存在しなかった非存在領域Reも、動作可能領域Rsであると判定することができる。したがって、ロボット10の制御装置30は、アーム10Aの動作可能領域Rsを効率的に判定することができる。
【0058】
・制御装置30(第2制御部)は、動作可能領域Rsにアーム10Aが収まり、且つ未判定領域Ruをカメラ20の撮影範囲が含むようにアーム10Aの姿勢を変更し、カメラ20により物体を撮影させる。このため、動作可能領域Rsの中からアーム10Aが出ない安全な状態で、未判定領域Ruについて物体を撮影することができる。そして、制御装置30、通過領域Rmと非存在領域Reとを加えた領域を、動作可能領域Rsであると判定する。このため、動作可能領域Rsであると判定された領域内でアーム10Aを安全に動作させつつ、動作可能領域Rsを拡張することができる。
【0059】
・制御装置30は、S18,S19の処理(第2制御)を繰り返し行い、動作可能領域Rsにアーム10Aが収まり、且つ未判定領域Ruを撮影範囲が含むようにアーム10Aの姿勢を変更することができなくなった場合に、S18,S19の処理を終了する。こうした構成によれば、制御装置30がS18,S19の処理を繰り返し行うことで、動作可能領域Rsを拡張し、未判定領域Ruを縮小させることができる。そして、動作可能領域Rsを拡張することができなくなった場合に、S18,S19の処理を終了することができる。
【0060】
・制御装置30は、S18,S19の処理を終了した時に、アーム10Aが到達可能な空間に対する未判定領域Ruの比率が所定比率Rr(第1比率)よりも大きい場合に、複数の所定姿勢を前回の複数の所定姿勢から変更して、S11~S16の処理を行わせる。こうした構成によれば、S11~S16の処理を再度行わせることにより、動作可能領域Rsを拡張することができる。したがって、S18,S19の処理において、動作可能領域Rsにアーム10Aが収まり且つ未判定領域Ruを撮影範囲が含むように、アーム10Aの姿勢を変更し易くなる。
【0061】
・制御装置30は、到達可能空間Saに対する未判定領域Ruの比率が、所定比率Rr(第2比率)よりも小さい場合に動作可能領域Rsの判定を終了する。こうした構成によれば、動作可能領域Rsを拡張する余地が小さくなった場合に動作可能領域Rsの判定を終了することができ、動作可能領域Rsの判定終了までの時間が長くなることを抑制することができる。
【0062】
・制御装置30は、S11,S12の処理を行った際に、カメラ20から撮影された物体よりも奧側に存在した奧側領域Rdを取得し、取得された奧側領域Rdを動作不能領域Rxであると判定する。こうした構成によれば、カメラ20から、撮影された物体よりも奧側に存在する領域を、動作不能領域Rxであると容易に判定することができ、未判定領域Ruを効率的に縮小することができる。
【0063】
・複数の所定姿勢は、カメラ20から撮影範囲の中心線Cが延びる方向が所定方向D1である第1姿勢を含んでいる。このため、第1姿勢では、カメラ20から撮影範囲の中心線Cが所定方向D1に延びる状態で、物体を撮影することができる。また、複数の所定姿勢は、カメラ20から撮影範囲の中心線Cが延びる方向が所定方向D1と逆方向の所定方向D2である第2姿勢を含んでいる。このため、第2姿勢では、カメラ20から撮影範囲の中心線Cが所定方向D1と逆方向の所定方向D2に延びる状態で、物体を撮影することができる。したがって、第1姿勢と第2姿勢とで、ロボット10の周囲において互いに逆方向の動作可能領域Rsを判定することができ、アーム10Aの動作可能領域Rsを効率的に判定することができる。
【0064】
・複数の所定姿勢は、第1姿勢から中心線Cを水平方向及び垂直方向に回転させた姿勢と、第2姿勢から中心線Cを水平方向及び垂直方向に回転させた姿勢とを含む。こうした構成によれば、第1姿勢及び第2姿勢における物体の撮影範囲を中心として、撮影範囲を水平方向及び垂直方向に回転させることができる。したがって、ロボット10の周囲において撮影範囲の重複を抑制しつつ多くの方向で物体を撮影することができ、アーム10Aの動作可能領域Rsを効率的に判定することができる。
【0065】
なお、上記実施形態を、以下のように変更して実施することもできる。上記実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
【0066】
・制御装置30は、到達可能空間Saに対する動作可能領域Rsの比率が、所定比率Rr2よりも大きい場合に動作可能領域Rsの判定を終了してもよい。所定比率Rr2は、到達可能空間Saに対して動作可能領域Rsが十分に大きくなったことを判定する比率であり、例えば「0.8」に設定されている。
【0067】
図4は、アーム10Aの複数の所定姿勢の変更例を示す斜視図である。図4に示す姿勢からリンク12を水平に回転させた各姿勢を、アーム10Aの複数の所定姿勢として教示することもできる。こうした構成によっても、ロボット10の周囲をカメラ20により効率的に撮影することができ、ひいては動作可能領域Rsを効率的に判定することができる。
【0068】
図2のS10の処理において、ダイレクトティーチに代えて、ユーザがティーチングペンダント(操作器)を操作して、アーム10Aの複数の所定姿勢を教示することもできる。また、S10の処理において、ユーザが複数の所定姿勢を教示するのではなく、制御装置30は予め設定された複数の所定姿勢を用いてもよい。
【0069】
・制御装置30は、図2のS10の処理の実行中にアーム10Aが通過した通過領域Rm(第1領域)を取得することに代えて、S11~15の処理の実行中に通過領域Rmを取得してもよい。
【0070】
・制御装置30は、図2において、S20の処理に代えて、S18,S19の処理が所定回数行われたか否か判定し、S18,S19の処理が所定回数行われた時点でS18,S19の処理を終了することもできる。
【0071】
・制御装置30は、図2において、S22の処理を省略し、S21の処理が終了した時点で動作可能領域Rsの設定を終了することもできる。
【0072】
・カメラ20により物体が撮影され、1方向からは物体が奥まで続いているか否か分からない場合に、例えばその物体が板状であってアーム10Aがその物体よりも奧側の領域へ移動できることがある。そこで、制御装置30(第3取得部)は、S11~S15の処理を行った際に、複数の所定姿勢において、カメラ20から撮影された共通の物体よりも奧側に存在した領域であることを条件として奧側領域Rdを取得してもよい。こうした構成によれば、複数の所定姿勢に応じた撮影範囲で撮影された共通の物体よりも奧側に存在した領域であることを条件として奧側領域Rdが取得される。すなわち、1つの所定姿勢に応じた撮影範囲でのみ撮影された物体よりも奧側に存在した領域は、奧側領域Rdとして取得されない。したがって、アーム10Aが物体よりも奧側の領域へ移動できる場合に、物体の奧側の領域を動作不能領域Rxであると判定することを抑制することができる。
【0073】
・制御装置30は、アーム10Aの通過領域Rmを取得すること、及び動作可能領域Rsに通過領域Rmを加えることを省略することもできる。こうした構成によっても、S11~S16の処理を行った際に、カメラ20から撮影された物体までの領域を、動作可能領域Rsであると判定することができる。したがって、アーム10Aが通過した領域だけを動作可能領域Rsであると判定する構成と比較して、制御装置30は、アーム10Aの動作可能領域Rsを効率的に判定することができる。
【0074】
・上記実施形態では、ロボット10の制御装置30により、動作可能領域Rsを判定する装置を実現した。これに対して、制御装置30に接続されたティーチングペンダントや、制御装置30に接続されたPC(パーソナルコンピュータ)により、動作可能領域Rsを判定する装置を実現することもできる。
【0075】
・物体を検出する物体検出装置は、ステレオカメラに限らず、ターゲットにレーザ光等を照射してターゲットまでの距離を測定するLIDAR(Light Detection and Ranging)や、単眼カメラと画像処理との組み合わせ等を採用することもできる。
【0076】
・ロボット10は、垂直多関節型ロボットに限らず、水平多関節型ロボット等であってもよい。
【符号の説明】
【0077】
10…ロボット、10A…アーム、20…カメラ(物体検出装置)、30…制御装置(ロボットの制御装置)。
図1
図2
図3
図4