説明

ロボットの制御装置およびロボットを制御する方法

【課題】ロボットがラフな寄り付きでそのまま精密な作業をすることができるための作業教示データ修正方法、および装置を提供する。
【解決手段】ロボットが行うべき作業対象物に対する作業手順を記憶する作業手順記憶手段と、再生時のロボットと作業対象物との相対的位置及び相対的姿勢が、別の位置及び姿勢となったことを位置・姿勢検出手段によって検出したことに応じて、位置及び姿勢の変化量を獲得し、算出値に基づいて作業手順を修正する作業手順修正手段とを備え、修正される作業手順が、接触状態検出手段によって検出された作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への同次変換行列を用いてロボットを基準とした座標上での作業手順として与えられる、ロボットの制御装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施例は、例えばロボットの制御装置およびロボットを制御する方法に関する。
【背景技術】
【0002】
平面を移動する移動台車(ロボット)は、電源投入後、常時その内界する(当該移動台車内に存在する)車軸モータのエンコーダ値から移動台車の速度を求めそれを積分することにより位置と姿勢を管理している(デットレコニングと呼ぶ)。
【0003】
しかし、車輪の路面とのすべりや台車の機械的な誤差などにより、デットレコニングにより求めた位置姿勢データには、移動した距離に応じて誤差が累積する。移動後の場所にて、移動台車に搭載したマニピュレータによって作業を行わせようとする場合、実際のロボットの停止位置(寄り付き位置)と指令した停止位置のずれによりロボットに所望する作業をさせることが出来ない問題があった。
【0004】
ロボットの実際の停止位置と指令した停止位置の差は路面材質、路面状況、移動速度により試行毎に異なり、移動量と誤差の量は非線形関係にあるため、単純に修正量を与えるだけでは様々な移動位置指令に対応できない。
【0005】
この一般的な技術課題を解決するために、環境中のランドマークをカメラやレーザセンサなどの外界センサで適時検出して、デットレコニングの値を修正する方法が提案されている(例えば、特許文献1)。
【0006】
また、搭載したマニピュレータに力センサや接触センサを取り付け、マニピュレータの動作による外界との接触状態を監視することで作業対象物の位置を特定する方法がある(例えば、特許文献2、特許文献3、特許文献4)。
【0007】
図5は前記した特許文献1の手法を説明する制御ブロック図である。撮像した床面画像を画像処理し、現在位置を算出する処理を教示時と再生時で行うことにより、再生時の移動体の停止位置誤差(寄り付き位置誤差)を算出し、作業アームの教示データを修正し、修正した教示データにしたがって作業アームを動作することが出来る。
【0008】
このように、従来のロボットでは、床面に塗布されたパターン模様をビジョンセンサで認識し、現在位置を検出し、教示時と再生時の位置誤差を算出して作業アームの教示データを修正する、という手順がとられていた。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特許第3684799号公報
【特許文献2】特許第2597671号公報
【特許文献3】特開平10−249767号公報
【特許文献4】特開昭61−279482号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
特許文献1の環境中のランドマークを外界センサで適時検出してデットレコニングの値を修正する方法において、通常ランドマークにはバーコードやパンチング床面などのパターン模様、あるいは廊下の角などを用いており、ランドマークとその認識アルゴリズムを準備する必要がある。ランドマーク認識にはビジョンセンサを用いているものが多く、照明条件の影響が多分にあるため認識アルゴリズムの汎用性、ロバスト性は低い。またマークの認識自体で誤差が生ずるため、正確に位置ずれを修正することができないという問題があった。
【0011】
また、特許文献2、特許文献3、特許文献4の搭載したマニピュレータに力センサや接触センサを取り付け、マニピュレータの動作による外界との接触状態を監視することで作業対象物の位置を特定する方法では、接触点をロボットの手先効果器の特定部分と想定して接触させており、接触部は剛体であるため接触時のスピードを極低速にする必要がある。
さらに、特許文献2、特許文献3の接触位置検出方法は、接触子が物体に接触したときに受ける力が連結部材を介してセンサに伝達され、センサ情報を常時監視することによって接触した瞬間を検出し、その時点の接触部を記憶するという手法を取っているが、実際の接触では、センサで取得する情報は瞬間的な変化ではなく、一定の時間をかけて徐々に変化するため、正確な接触位置を求めることは出来なかった。
【0012】
従って、いずれの従来技術でも、教示時に対する再生時のロボット自体の作業位置の誤差を、ランドマークを利用せず、かつ高速に修正することはできなかった。
【課題を解決するための手段】
【0013】
上記問題を解決するため、本願は、次のような発明を提供する。
なお、本願出願時の明細書の記載を基礎として、特許請求の範囲の記載が補正され得ることは勿論であるが、その際に、以下の各「発明」の内容を訂正することは予定しない(以下の各「発明」は、本願明細書における開示の要点としての意味を持つ)。
[発明1] 教示時におけるロボットと作業対象物の相対的な位置及び姿勢を前提として与えられた、前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
再生時の前記ロボットと前記作業対象物との相対的位置及び相対的姿勢のうちの少なくとも1つが、前記教示時の前記位置と異なる別の位置、及び/又は、前記教示時の前記姿勢と異なる別の姿勢となったことを、前記ロボットに備えられた、前記ロボットと前記作業対象物との相対的な位置及び姿勢を検出する位置・姿勢検出手段によって検出したことに応じて、位置、及び/又は、姿勢の変化量を獲得し、当該獲得値に基づいて、前記作業手順を修正する、作業手順修正手段と、
を備え、
前記修正される作業手順が、前記位置・姿勢検出手段によって検出された、作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標上での作業手順として与えられる、
ロボットの制御装置。
【0014】
このようにすることによって、ロボットと作業対象物の間の位置、及び/又は、姿勢に、何らかの原因により変化が生じた場合でも、獲得された当該変化の程度に基づいて、以前に作成された作業手順を、修正して利用することができる。
【0015】
また、「前記修正される作業手順が、前記位置・姿勢検出手段によって検出された、作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標上での作業手順として与えられる」ように構成することによって、ロボット座標で作業を定義でき、ロボットに対する作業指示が容易となる。
【0016】
「位置・姿勢検出手段」は、実施例の接触位置検出プローブ4(図1−C)に対応するが、これに限定されず、将来開発され得る、例えば図6−4に例示されるような、レーザ光線を用いるもの、図6−5に例示されるような2次元的や3次元的な接触状態検出手段を用いるものも広く含まれる。また、図6−1の通電方式、図6−2の接触センサ方式、図6−3の外乱オブザーバ方式も含まれる。(なお、図6−3のオブザーバ方式に限らず、位置、及び/又は、姿勢の変化を、システム内部の「状態」の変化と捉える、その他の「オブザーバ」や、ノイズの影響も考慮した「カルマン・フィルタ」も含まれる。)
図6−4に例示されるようなレーザ光線を用いた場合は、非接触状態で、位置・姿勢を検出可能である。
【0017】
図6−5に例示されるような2次元的な位置・姿勢検出手段を用いるものは、柔軟な2次元的な位置・姿勢検出手段を用いるものであり、作業対象物の所定の形状に「フィット」する状態を検知して、その検知に応じて、位置・姿勢を検出可能である。
【0018】
「位置・姿勢検出手段」は、その下位概念である、「接触状態検出手段」を包含する。この「接触状態検出手段」には、例えば、図1−Cの接触位置検出プローブ4、図6−1の導電検出プローブ011、図6−2の剛体プローブ023、図6−3のカルマンフィルタを利用する手段、図6−5の柔軟性を有する接触状態検出手段等が含まれるが、図6−4のレーザ光を用いた検出手段は含まれない。
【0019】
「作業手順記憶手段」は、実施例のステップS13(図2)で教示された作業を記憶する手段(図1−Cのロボットコントローラ6の内部(不図示))に対応するがこれに限定されない。
【0020】
「作業手順修正手段」は、実施例の[数5]から[数11]を用いた処理に対応するがこれに限定されない。同次変換行列を用いる限り、本発明の範囲に含まれる。「獲得」とは計算によって得る場合も、予めテーブルに記憶された値を読み出す場合も含む。
【0021】
なお、「作業対象物」には、再生過程における、実際に作業を行う対象物(「被作業物」と呼ぶ。)のみならず、本発明の「位置・姿勢を検出」という目的のために、被作業物の一部に固定された物体、又は、被作業物と所定の位置・姿勢関係になることがロボットから見て既知である、本発明の「位置・姿勢を検出」という目的に利用可能な物体も含む。
【0022】
また、「作業手順」とは、ロボットに時系列的に与えられる、例えば図1−Cの移動部1の位置、手先効果器3の位置、に関する指示の双方を含む。換言すれば、作業遂行位置(移動部1の位置)及び当該作業遂行位置における作業内容に関する指示(手先効果器3の位置)の双方を含む概念である(「作業遂行位置」も「作業内容」も時系列的に時々刻々と変化する態様も含むし、例えば、「作業遂行位置」は固定のまま「作業内容」のみが時系列的に時々刻々と変化する態様も含む)。「位置・姿勢検出手段」、「作業手順記憶手段」、「作業手順修正手段」、「作業手順」については、以下同様である。
【0023】
本発明は、「相対的な」位置・姿勢を利用しているが、ロボット又は作業対象物のいずれかの「絶対的な」位置・姿勢が既知な場合(固定されている場合)の、当該「絶対的な」位置・姿勢を前提として、何らかの原因によって変動し得る、作業対象物又はロボットの絶対的位置・姿勢の「変化」を検出して、所望の作業を行うようにする態様も、本発明に含まれる。
【0024】
本発明の「ロボット」は、例えば図1−Cの移動部1を有し、自ら本体を地上で移動可能なものも含み、また、本体自体は固定されて、例えば図1−Cのマニピュレーション部2及び手先効果器3を移動させることによって、作業対象物の位置等の変化に対応可能なものの双方を含む。前者を移動ロボットと呼び、後者を固定ロボットと呼ぶ。本願の審査過程、又は、特許後の訂正請求(訂正審判)において、本願請求項に係る発明の一部又は全てを、そのいずれかに係る発明に減縮補正(訂正)する可能性を留保する。
[発明2]
ロボットを基準とした作業対象物の位置及び姿勢を検出可能な、ロボットに設置された位置・姿勢検出手段からのデータを受け取る、位置・姿勢検出データ受領手段と、
前記作業対象物の位置及び姿勢を前提として与えられた、教示時における、前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
前記作業対象物の位置及び姿勢のうちの少なくとも1つが、前記教示時における前記位置と異なる別の位置、及び/又は、前記姿勢と異なる別の姿勢となったことを前記位置・姿勢検出手段によって検出したことに応じて、位置、及び/又は、姿勢の変化量を算出し、当該算出値に基づいて、前記作業手順を修正する、作業手順修正手段と、
を備える、
ロボットの制御装置。
【0025】
このように構成することによって、ロボット本体から離れた位置に、位置・姿勢検出手段からのデータを受け取る「ロボットの制御装置」を設置することが可能となる。
このように構成することによって、ロボットと制御系を空間的に隔離でき、保守等が容易になる。
【0026】
「受領」とは、リアルタイムに通信によって受信する場合や、データが取り外し可能記憶媒体に記憶されている場合、当該記憶媒体を、制御装置に挿入して、制御を行うような態様も含む。また、「位置・姿勢検出データ受領」とは、実際の「位置・姿勢」自体を受領する場合も、以前の検出時点からの差分値を受領する場合等も含む。
[発明2’] ロボットに設置され、ロボットを基準とした、作業対象物の位置及び姿勢を検出可能な位置・姿勢検出手段と、
前記ロボットを制御する制御装置を備え、
前記制御装置が、
前記位置・姿勢検出手段からのデータを受け取る、位置・姿勢検出データ受領手段と、
作業対象物の位置及び姿勢を前提として与えられた、教示時における前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
前記作業対象物の距離及び姿勢のうちの少なくとも1つが、前記位置と異なる別の位置、及び/又は、前記姿勢と異なる別の姿勢となったことを前記位置・姿勢検出手段によって検出したことに応じて、位置、及び/又は、姿勢の変化量を算出し、当該算出値に基づいて、前記作業手順を修正する、作業手順修正手段と、
を備える、
ロボットシステム。
【0027】
この発明は、上記発明1又は2における、「ロボット制御システム」が、ロボットと一体的に存在する態様である。
このように構成することによって、ロボットと制御系が一体化され、制御用の通信ラインや、通信回線が不要となる。
【0028】
本願の審査過程、又は、特許後の訂正請求(訂正審判)において、本願請求項に係る発明の一部又は全てを、本発明のように、「ロボット制御システム」が、ロボットと一体的に存在する態様に修正する可能性を留保する。
[発明3]
前記位置・姿勢検出手段が、前記ロボットの前記作業対象物への接近速度において、前記ロボット、及び、前記作業対象物に損傷を与えない程度の柔軟性を有する、位置・姿勢検出用接触状態検出部を有する、発明1又は2に記載のロボットの制御装置。
【0029】
このように構成することによって、従来技術に比して、高速で、作業対象物に接近することが可能となる。
[発明4]
前記ロボットの、前記作業対象物への接触過程を時系列的に記憶する、接触過程記憶手段を更に備え、
前記作業対象物への接触過程を過去に遡って検証することによって、接触開始位置、及び/又は、接触開始時刻を得る、接触開始位置/接触開始時刻獲得手段を備える、
発明3に記載のロボットの制御装置。
【0030】
このように構成することによって、接触開始位置、及び/又は、接触開始時刻を正確に把握できる。
[発明5]
前記作業手順修正手段が、
(a)教示時における第1の同次変換行列と、(b)再生時における、前記位置、及び/又は、姿勢の変化量に基づいて得られた、第2の同次変換行列と、の差を用いて、前記作業手順を修正する、
発明1ないし4に記載のロボットの制御装置。
【0031】
このように、同次変換行列の差を用いて、容易に作業手順を修正することができる。
[発明6]
前記第1の同次変換行列、及び、前記第2の同次変換行列は、
直交する二平面、もしくは互いに直交する三平面を有する作業対象物の各平面を所定回数位置検出し、検出した位置から計算されることを特徴とし、特に直交する二平面の場合には、前記直交する二平面上に位置する2つの点P1、P2と、当該平面と直交する別の平面上に位置する1つの点P3、のそれぞれについて、
【0032】
【数1】

(i=1,2,3:それぞれP1、P2、及び、P3に対応。)
に基づいて、P1、P2、及び、P3の位置を検出する手段であって、
[x1 y1]、[x2 y2]、[x3 y3]が、それぞれ、P1、P2、及び、P3の、ロボットに基づく座標上の座標値であり、
[xtcp ytcp]が、ロボットに基づく座標上の前記接触検出部の先端部の位置であり、
[R 0]、[−R 0]、[0 R]、[0 −R]がそれぞれ、前記接触検出部の先端部の半径Rを用いて、前記[xtcp ytcp]を補正して、より正確な位置を求めるための行列である、前記手段と、
以下の、
【0033】
【数2】

及び、
【数3】

に基づいて、
以下の、
【0034】
【数4】

で表される同次変換行列を計算する手段、
によって得られる、
発明5に記載のロボットの制御装置。
【0035】
このように、作業対象物の形状を一定のものにすることで、画一的に作業対象物の位置及び姿勢を得ることができる。この「一定の形状」は,本発明では、矩形形状であるが、本発明の上位概念発明では、矩形に限定されず、例えば三角形や円形等の任意の(平面、立体)形状が採用可能であり、本願の審査過程又は特許後の訂正請求(訂正審判)において、本発明の上位概念に対応する請求項にそのような発明を含める可能性を留保する。
【0036】
なお、本発明では「鉛直方向から見た作業対象物」を対象としているが、ロボットが一意的に認識可能であれば、ロボットから見て「所定の方向」(例えば鉛直方向から見て斜め方向)の「作業対象物」の特定の形状(三角形等の多角形など)を用いることも可能である。そのような発明の態様は、本発明より上位概念の発明に含まれるし、審査過程又は特許後の訂正請求(訂正審判)で、そのような発明を補正等によって、特許請求の範囲に含める可能性も留保する。
[発明7]
発明1ないし6に記載のロボットの制御装置を用いて、ロボットを制御する方法であって、
第1の再生時における、前記同次変換行列、即ち、第3の同次変換行列を取得し、
第2の再生時における、前記同次変換行列、即ち、第4の同次変換行列を取得し、
前記第3の同次変換行列と、前記第4の同次変換行列の差を求め、
前記求められた同次変換行列の差を用いて、前記第1の再生時に用いた、ロボットの作業手順を修正して、第2の再生時に利用する、
ロボットを制御する方法。
【0037】
このようにすることによって、第1の再生に引き続いて、第2の再生が行われるような場合に、直前の再生時の作業手順を容易に修正して、第2の再生を行うことができる。
ここで、「第1の」、「第2の」とは、「最初の」、「2番目の」という意味に限定されるものではなく、任意のある時点の再生と、それに後続する「次の」再生過程の、という意味である。
以下、本願明細書で使用する用語の意義を説明する。
・ロボット:人の代わりに何等かの作業を行う装置。本発明では、主に、ある程度自律的に連続した自動作業を行う、産業用ロボットが代表例だが、これに限定されない。将来開発される「ロボット(人の代わりに何等かの作業を行う装置)」であって、本願特許請求の範囲の技術的範囲に含まれる発明を利用可能な全ての「ロボット」が含まれる。
・内界:ロボットの内部に存在するという意味。これに対して、ロボットの外部に存在することを外界と呼ぶ。内界センサ、外界センサ等で使われる用語。
ロボットに内界するモータ、内界するセンサなどのようにして良く使われている。
・エンコーダ:モータの位置(回転角度)を測定するためのセンサ。エンコーダの出力を微分するとモータの回転(角)速度が得られる。ロボット制御の場合は各軸を駆動するモータにエンコーダが設けられており、エンコーダで測定した各軸の位置(回転角度)と、ロボットの各リンクの長さ(既知)とからロボットの手先の位置・姿勢を求めることができる。このロボットの手先の位置・姿勢を求めることを順変換と言う。
・寄り付き(位置):ロボットが実際に停止すること(停止する位置)。
・デットレコニング:ロボットの外部からの情報を用いないで、ロボット内部(のセンサ)で得られる情報のみからロボットの位置と方向を求める方法。
・ランドマーク:移動ロボットが現在の位置や方向を決定するために用いる外部環境の人工物又は自然物(land mark)。
・外界センサ:ロボットの外部に存在するセンサ。例えば、ロボットを撮影するカメラからのロボットの位置情報を、ロボットの外部から与える、位置情報センサ等が含まれる。
・マニピュレータ:互いに連結された分節で構成し、対象物(部品、工具など)をつかむ(掴む)、又は動かすことを目的とした機械(manipulator)。
・教示(時):ロボットに作業を行わせるためにその作業を実現する動作を何らかの方法で教え込むこと。
・再生(時):ロボットが、記憶した情報によって指示された作業・動作を実行すること、する時(playback)。「作業(時)」という表現を、同じ概念を説明するために用いることがある。
・接触安定:制御の不完全性等による手先効果器の振動等によって、手先効果器と作業対象物との接触が、不安定になることが無い状態のこと。
・手先効果器:「エンドエフェクタ」とも呼ぶ。ロボットの手先に取り付けられ、作業対象物に対して何らからの作業をするもの。物を掴むハンド(グリッパ)や、バリ取りを行うグラインダなど、具体的な構成は用途によって様々存在する。
・ロボット座標系:ロボット本体に固定された座標系であり、ロボットを動作させる際の基準として使う座標系である。このロボット座標系は、通常ロボットの前後方向にX軸、左右方向にY軸、上下方向にZ軸をとる直交座標系であることが多い。また、明細書中のP1 [x1 y1]は、点P1のロボット座標系のx、y座標値を意味する。
・作業座標系:ロボットのエンドエフェクタの先(手先部)に固定された直交座標系であり、手先位置姿勢を変化させる際の基準として使う座標系である。作業座標系の軸方向は、エンドエフェクタの形状に合わせて、作業者が任意に決定するが、図3においては、プローブ中心位置を原点にとり、プローブの中心軸、及び、それに直交する方向に、それぞれX軸、Y軸をとる。
・作業対象物:手先効果器によって、溶接、加工、把持、等の作業を行う、対象となる物体。
・寄り付き位置姿勢誤差:ロボットの実際の停止位置(寄り付き位置)と指令した停止位置のずれ
・ジョグ運転:主に教示を行う際に行われる。作業者が教示ペンダント上の各軸動作ボタンを押している間だけ所定の軸が動作し、放すと止まる、というような操作。作業者はジョグ運転でロボットを所望の位置、姿勢に動かし、教示ペンダント上で教示操作を行うことで、その時のロボットの位置、姿勢をロボット制御装置に記憶させる。
・教示ペンダント(操作ペンダント):ロボット制御装置と有線または無線で接続され、作業者が把持して操作する画面と複数のボタンを備えた装置。ロボットに所定の作業の動作を教示(ティーチング)したりロボットの状態を把握したり、教示した作業のスタート、一時停止、非常停止等を指令したりするのに利用する。ティーチングボックス、ティーチングペンダント、プログラミングペンダント等とも呼称する。
・同次変換行列:座標系Σ2からΣ1に変換するための変換行列。例えば、上記ロボット座標系の座標値を表す行列に、この同次変換行列を乗算すると、上記作業座標系上の座標値を表す行列が得られる。
・位置・姿勢検出動作:ロボットやマニピュレータと、空間上に存在する所定の物体との相対的な位置関係を測定・計算等することによって、ロボットやマニピュレータが、前記物体との関係でどのような位置関係・姿勢関係にあるかを判断する動作。本発明の実施例では、プローブと物体の3個以上の接触位置を、この位置・姿勢検出に用いる。
・サービスロボット:主にサービス業で使われるロボットを指す。汎用的な産業用ロボットとは区別することが多い。無人で床を掃除する清掃ロボット、壁面を登って窓や壁の掃除や補修をする壁面作業ロボット 、夜間、ビルなどの設備を警備して回る警備ロボット等がその例である。
・A及び/又はB:A及びBの少なくとも一方の意味。つまり、Aのみ、Bのみ、又は、A及びBの双方、のいずれか、の3つの態様を全て含む。
・アプローチ(方向):英語のapproachに対応する。近づくこと(近づく際の接近方向)、接近すること(接近する際の接近方向)を意味する。
・外乱オブザーバ:所定のシステムへの入力信号値、所定のシステムからの出力信号値から、システム内部の状態を推定する手法又は装置のこと。図6−3の例では、例えば、「上位からの位置指令」、「トルク指令」、「位置FB(フィードバック)」という、システムの外から把握できる物理量から、システム内部(例えば「エンコーダ」)に加わった外乱としての、システム外の物体との接触状態を推定する手法又は装置を指す。
・カルマンフィルタ:外乱オブザーバでは、ノイズの影響を考慮できないが、ノイズの影響も更に考慮して、所定のシステムへの入力信号値、所定のシステムからの出力信号値から、システム内部の状態を推定する手法又は装置のこと。
・相対的:「絶対的」と対となる概念。例えば「相対的位置が把握されている」というときは、例えば、ロボットから見た作業対象物までの距離・方向が、ロボットによって把握されていることを意味する。この場合、外部の人間から見た、作業対象物の絶対的な位置(例えば人間が設定したXYZ座標上での座標値)を、ロボットが知らない場合であっても、「相対的位置が把握されている」といえる。
【0038】
審査中の手続補正によって、及び、特許後の訂正審判又は訂正請求において、法的な制限の範囲内で、本発明は、種々の他の態様に訂正され得る。
なお、特許後の訂正審判又は訂正請求における「実質上特許請求の範囲を変更」の判断は、特許時の請求項に新たな構成要素が追加されたか否か(即ち、いわゆる外的付加が為されたか否か)、又は、特許時の請求項の1つ又はそれより多いいずれかの構成要素を更に限定するものか(即ち、いわゆる内的付加が為されたか)によって判断されるべきでなく、訂正の前後の請求項に係る発明の効果が類似するか否かの観点から為されるべきである。
【発明の効果】
【0039】
本発明の実施例によって、ロボットの寄り付き位置姿勢誤差を計算し、作業アームの教示データもしくは移動部の位置姿勢を修正し、ラフな寄り付きでそのまま精密な作業をすることができる。
【図面の簡単な説明】
【0040】
【図1−A】本発明の実施例の基本的概念の説明図(教示時点)
【図1−B】本発明の実施例の基本的概念の説明図(再生時点)
【図1−C】本発明の実施例を適用するロボットの構成図
【図2】本発明の実施例の処理手順を示すフローチャート
【図3】本発明の実施例の説明図
【図4】本発明の実施例の説明図
【図5】従来技術の処理手順を示すフローチャート
【図6−1】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出器の例
【図6−2】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出器の例
【図6−3】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出器の例
【図6−4】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出器の例
【図6−5】本発明の実施例で使用可能な作業対象物の相対的な位置・姿勢の検出器の例
【発明を実施するための形態】
【0041】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
まず、本願発明の実施例で用いられる基本的概念について、図1−A、1−Bを参照して解説する。
図1−Aは、教示過程を表す。
【0042】
ステップK1において、ロボットに対して、位置Xで停止せよ、という移動指令が与えられ、位置Xの移動指令を教示する(ここでは説明の簡略化のため一次元の図で説明するが、容易に二次元、三次元に拡張でき、二次元の場合の移動指令は位置X、Y、及び回転Rzとなり、三次元の場合の移動指令は位置X、Y、Z、及び回転Rx、Ry、Rzとなる)。位置Xは寄り付き停止位置において、寄り付き対象とする物体が移動台車に搭載されたマニピュレータの作業範囲内にあるように設定する。例えば、寄り付きの位置Xを操作ペンダントのジョグ運転で与える場合には、現物で位置合わせし、サービスロボットの寄り付き動作では、外界センサで計測した物体の位置を位置Xとすれば良い。それ以外の場合でも、オフラインシミュレータやCADなどの設計寸法から位置Xを決定すれば良い。
【0043】
ステップK2で、実際にロボットが移動するが、スベリ等によって、停止位置はX’となる。
ステップK3で、ロボットと物体の間の相対的位置・姿勢Wを検出する(絶対的な位置・姿勢の把握は不要)。
【0044】
ステップK4で、実行する作業(Kcontent)を教示する。
図1−Bは、再生過程を表す。
ステップS1において、ロボットに対して、ステップK1で教示した位置Xで停止せよと、という移動指令が与えられる。
【0045】
ステップS2において、実際にロボットが移動するが、スベリ等によって、停止位置はX''となる(X、ならびにX’と異なる場合が往々にしてある。また、ロボットと物体との相対的姿勢も、教示過程とは異なる可能性がある)。
【0046】
ステップS3で、プローブを用いて、相対的な物体検出位置・物体検出姿勢W’を得、WとW’の差Sを求める。 実施例では、W、W’、差Sはそれぞれ、同次変換行列、’、寄り付き位置姿勢誤差Δに対応する。
【0047】
ステップS4で、Sを元に、Kcontentを修正して得られたKcontent’を用いて、再生過程での実作業を行う。
以上のような手法により、教示時においても、再生時においても、ロボットの絶対的な位置・姿勢が未知であり、作業対象物の絶対的な位置・姿勢が未知であっても、教示時においても、再生時においても、ロボットと作業対象物の間の、相対的な位置・姿勢関係を把握することによって、作業対象物に対して、再生時に所望の作業を行うことが可能である。
【0048】
また、教示→第1の再生→第2の再生→・・・、というように、複数の再生作業が連続する場合、1つ前における再生(当該時点での相対的位置・姿勢を前提として与えられていた)を、今回の再生時点における相対的位置・姿勢と、前回の再生時の相対的位置・姿勢との「差」を元に修正することによって、連続的に再生作業を行うことが可能となる。
【0049】
図1−Cは、本発明の実施例を実施するロボットの構成図である。
移動部1の上にロボットコントローラ6が搭載され、当該ロボットコントローラ6が、本実施例では双腕のマニピュレーション部2の動作を制御する。
【0050】
マニピュレーション部2の先端には、1方向以上の力を検出する外力検出器5が配置され、当該外力検出器5に物体を把持するなどの作業用手先効果器3が接続される。そして、当該作業用手先効果器3には、当該手先効果器3が物体に接触したことを検出する、接触部位検出プローブ4が設置される。
【0051】
マニピュレーション部2の制御は、次のように行われる。
マニピュレーション部2の各軸に備えたエンコーダの値が、プローブ先端位置計算部63に与えられる。プローブ先端位置計算部63は、エンコーダの値とプローブの設計寸法と取り付け位置とアプローチ方向からプローブ先端位置を計算する。(ここで、実施例において、アプローチ方向によってプローブ先端位置の計算方法が異なる理由は、後述の[数8]及びその説明を参照。)
(なお、エンコーダは、図1−Cのマニピュレーション部2と移動部1の双方に存在する。)
記録装置64は、位置検出動作中の外力検出器5の検出値と、プローブ先端位置計算部63によって得られたプローブ先端位置を記録するものであり、接触位置検出部65は、記録した値から接触位置を計算し、接触位置から作業対象物の相対的な位置・姿勢を計算し、計算された作業対象物の相対的な位置・姿勢(図1−AのステップK3や、図1−BのステップS3の物体検出位置WやW’)に関するデータが、寄り付き位置姿勢誤差計算部66に与えられる。寄り付き位置姿勢誤差計算部66は、作業対象物との相対的な位置・姿勢を元に、手先効果器3の位置を修正させるための修正量を計算する。
【0052】
位置検出動作中の外力検出器の値は、外力監視部62にも与えられる。外力監視部62では、このデータをもとに、接触が発生したかを判断し、判断結果に関するデータを、ロボットの位置制御を行う位置指令生成部61に送る。
【0053】
位置指令生成部61は、マニピュレーション部2、および移動部1に搭載されるモータへの位置指令を生成し、寄り付き位置姿勢誤差計算部66からの誤差を位置指令に加算することが出来、外力監視部62からの接触検知信号により位置指令(動作停止指令や退避動作指令)を生成することが出来る。これにより例えば、衝突回避等を行うための、必要な制御信号を与えること等が可能となる。
【0054】
なお、上記移動部1は、搭載マニピュレータを含むロボット全体を前後左右に駆動するものであり、上記マニピュレーション部2は、手先効果器3を任意の位置に移動するものである。図1−Cでは双腕のマニピュレーション部を有しているが単腕のマニピュレーション部を有しても良い。マニピュレーション部2の軸数や軸構成に関する制約は特に無い。
【0055】
作業用手先効果器3は、物体を把持するなどの機能を有する。
上記接触位置検出プローブ4は、取外し可能で、プローブ長手方向、または長手方向以外の2方向の曲げ、いずれか3方向に対して弾性変形領域を持つ。この接触位置検出プローブ4は、位置検出動作に伴い作業対象物へ接触する際に手先効果器もしくはマニピュレーション部と作業対象物との干渉がない程度の長さを持ち、接触位置を接触方向に因らずに算出するために先端は球状となっている。また、ロボットの作業性を損なわないように、プローブが必要な時のみ突き出す収納式でも良い。
【0056】
上記外力検出器5は一方向以上の力を検出するものであり、接触状態を導通により電気的に検出するセンサ、接触センサ、薄型圧力センサ、トルク指令値と負荷トルクとの差で表される外乱トルクを用いた力検出器でも代用できる(本実施例では力センサを例にして説明する)
図6−1は接触状態を電気の導通により電気的に検出するセンサを装着したロボットで、ロボット2(マニピュレーション部)と作業対象物012は電気結合線013により電気的に結合されている。手先効果器3に装着した導通検出プローブ011を作業対象物012に接触させることにより、作業対象物012を媒体として通電し、導通検出プローブ011においてこれを検出し、接触状態を検出することが出来るのである。
【0057】
また、図6−2は接触センサを装着したロボットで、手先効果器3に弾性部材021を介してスイッチ022を設け、その先に剛体プローブ023を装着している。スイッチ022は物理的な拘束により所定量の変位が発生した時にスイッチングし電気的な信号を出力するスイッチであり、ロボット2(マニピュレーション部)の動作により、剛体プローブ023が作業対象物024に接触し、所定量の変位が発生した時に接触を検知する電気信号が、スイッチ022より出力されることにより、接触状態を検出することが出来るのである。
【0058】
図6−3はトルク指令値と負荷トルクとの差で表される外乱トルクを用いた力検出方法を説明するブロック図で、通常のロボットの位置速度制御部031におけるトルク指令と位置フィードバックを用いて外乱トルク演算部032において外乱トルクを計算する。外乱トルクの演算方法として、例えば、位置フィードバックの2回微分から角加速度を求め、モータ負荷の慣性モーメントを乗ずることでトルクを計算し、トルク指令と位置フィードバックから計算したトルクの差を外乱トルクとする方法があるが、これに限定しない。外乱トルクを所定周期で計算することで、接触状態を検出することが出来るのである。
【0059】
プローブの設計寸法と取り付け位置が正確に分からない場合は、別途校正しても良い。操作ペンダント7はロボット移動部1やマニピュレーション部2の作業教示、および再生、接触動作実行や力センサ値の検出閾値、プローブ寸法の設定変更に使用する。
【0060】
図2は本発明の実施例の処理手順を示すフローチャートである。この図を用いて本発明の実施例の方法を順を追って説明する。実施例は2次元で記述するが、容易に3次元に拡張可能である。
【0061】
本手法は、教示時に計測したロボット座標上での作業対象物の位置姿勢と再生時に作業対象物に寄り付いた位置において計測したロボット座標上での作業対象物の位置姿勢の差を作業教示データに加算し修正する手順を取る。教示時にも、再生時にも、それぞれ、移動部1の「スリップ」や、床の突起への「乗り上げ」等によって、ロボットに対して指令された、停止位置(作業場所)と、実際に停止した位置の間にずれが生じる。
まず、ステップ1の教示過程を説明する。ステップS11において、操作ペンダントを用いたジョグ運転により、ロボットの移動部を作業対象物の近くに移動させる。本実施例では作業対象物を四角形として説明するが、これに限定されない。例えば、直線(3次元空間での壁に相当する)や円形でも良く、容易に拡張可能である。
【0062】
ステップ12で作業対象物に対して位置検出動作を3回繰り返し、検出位置P1 [x1 y1]、P2 [x2 y2]、P3 [x3 y3]から、[数5]〜[数8]によりロボット座標上での作業対象物の位置姿勢を表す同次変換行列を計算する(図3)。なお、P1 [x1 y1]は、点P1のロボット座標系におけるX、Y座標値を意味する。
【0063】
【数5】

ただし、x0、y0は直線1、2の交点で[数6]より求める(直線1、2は、それぞれ作業対象物8の直交する二平面上に存在する直線である)。
なお、等の、”R”は、ロボット座標系を意味する。以下同様。
同次変換行列は、ロボット座標系から見た作業座標系の位置姿勢を表すものである。
【0064】
本発明の実施例では、教示過程におけると、再生過程におけるの差を使って移動体の寄り付き位置を修正する。
【数6】

ただし、直線1はy=a1x+b1、直線2はy=a2x+b2であり、a1、b1、a2、b2は次式より求める。
【数7】

図3は、被接触対象物を上から見た図であり、P1、P2は同一直線上にある点で、P3はP1、P2と直交する線上の点である(3次元的な位置姿勢を得る場合では、最低5点の位置を検出する必要があり、内3点は同一平面上の点で、他2点はそれぞれが直交する平面上の点とする)。検出の順番の制約は特に無く、例えば、P3、P1、P2としても良い。また、片面のみ2点を位置検出する必要が有るが、どちらの面でも良い。
【0065】
プローブ先端位置はプローブ球の中心位置PTCP [xtcp ytcp]にプローブ半径Rを加算した位置であり、[数8]に示すように位置検出動作における接触プローブのアプローチ方向(4方向)に応じて求める。[数8]におけるX軸、Y軸は、それぞれ、図3のX軸、Y軸を意味する。
【数8】

[数8]によれば、点P1に対してのx1、y1が求められるが、点P2に対するx2、y2、及び、点P3に対するx3、y3も同様にして求められる。
ロボット座標系(図3のXY座標)におけるプローブ球の中心位置PTCP [xtcp ytcp] はマニピュレーション部のエンコーダ値とプローブの設計寸法と取り付け位置から求める。ただし、プローブ半径Rが数百ミクロンであれば、プローブ球の中心位置をプローブ先端位置としても良い。
【0066】
位置検出動作においては、作業者が操作ペンダントを用いたジョグ運転により、マニピュレーション部を作業対象物にアプローチし(接近させ)、手先効果器に搭載した柔軟なプローブを作業対象物に接触させ、所定距離(プローブの弾性領域内の数mm)押し込む動作を教示し再生する。位置検出対象物は作業対象物本体に限らず、作業対象物を支える治具、机、周辺の壁、棚など数百gの力の印加により移動、変形、損傷しない物体であれば良い。
【0067】
検出動作の間、外力監視部62において、力センサの値が検出閾値を超えているかを一定の周期で監視する処理と、記録装置にプローブ先端位置と力センサ値を記録する処理を同時に行う。なお、処理に適していれば、完全に「同時」である必要は無い。
【0068】
外力監視部62において、力センサの値が検出閾値を超えた場合には接触を検出したと判断し、接触位置検出信号が位置指令生成部61へ送信され、当該位置指令生成部61がロボットを減速停止させ、アプローチ開始地点(位置検出動作の開始ポイント)へ撤退する動作を行う。
【0069】
記録装置に記録した動作中の力センサとプローブ先端位置から接触時の力センサ値の立上り時点を求め、立上り時点のプローブ先端位置を接触位置として算出する(図4)。つまり、力センサ値の変化を、記録された時系列上のデータに基づいて、過去に遡って判断する。また記録処理はメモリに一定のバッファ領域を設け、記録時に随時上書きする。
【0070】
ステップ13では、操作ペンダントを用いて、物体把持や嵌合などの作業教示を行い教示が完了する。
次に、ステップ2の再生過程を説明する。ステップS21では、ステップS11の教示位置に移動する(実際の寄り付き位置は、再生時の寄り付き位置姿勢誤差のため、教示時のステップS11における寄付き位置とは異なる)。
【0071】
ステップS22ではステップS12と同様の作業プログラムを用いて作業対象物の位置姿勢を計測し、ロボット座標上での作業対象物の位置姿勢を表す同次変換行列T’を計算する。
【0072】
ステップS23では、教示時と再生時の寄り付き位置姿勢誤差を(数9)を用いて計算する。
【数9】

ステップS24では、寄り付き位置姿勢誤差Δを用いてロボットの教示位置の修正を行う。ステップS23におけるマニピュレーション部、もしくは移動部の作業教示位置に修正量Δを左側から乗算することで教示位置データの修正を行う。
【0073】
即ち、ステップS13における各軸教示位置を順変換しマニピュレーション部の教示位置Pk1 [xk1 yk1 rzk1]を得、[数10]のようにPk1の左側からΔを掛けることで、修正した手先位置Ps1 [xs1 ys1 rzs1]を得るか、もしくは位置姿勢誤差Δを逆変換して各軸の角度を計算し、ステップS13における各軸教示位置に加算する手順を取っても良い。
【0074】
また、[数11]のように移動部の実際の寄り付き位置Ps2 ORG [xs2 ys2 rzs2]の左からΔを掛けることで、修正した移動部の寄付き位置Ps3 ORG [xs3 ys3 rzs3]を得ても良い。添え字のORGは移動部の基準座標系で、通常はで移動部の電源投入直後の移動部の位置を原点位置とし、移動部正面にX方向、左右方向にY方向、上下方向にZ方向を取る。
[数10]
Ps1=ΔPk1
[数11]
Ps3=ΔPs2
作業プログラムにおいて、ステップ13の作業区間のみ教示位置データの修正を行えば良い。
【0075】
このように、ロボットの教示時、および再生時の寄り付き位置において接触位置検出処理を所定回数繰り返すことでロボットに対する作業対象物の位置姿勢を算出し、寄り付き位置姿勢誤差を計算し、マニピュレーション部の教示データもしくは移動部の位置姿勢を修正することができ、ラフな寄り付きで精密な作業をすることができるのである。本手法はランドマークの形状を問うことなく、汎用的に使用できる。
【0076】
本明細書は、多数の特定のものを含むが、これらは、特許請求される又は特許請求されることができる範囲に対する制限として解釈されるべきではなく、特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の内容において、本明細書に説明される特定の特徴は、さらに、単一の実施形態において組み合わせて実施することができる。対照的に、単一の実施形態の内容において説明される種々の特徴は、さらに、多数の実施形態において、又はあらゆる好適な小結合において実施することができる。さらに、特徴は、特定の組み合わせにおいて作用するように上述され、さらに最初に、そのように特許請求されることがあるが、特許請求される組み合わせからの1つ又はそれ以上の特徴は、幾つかの場合においては、その組み合わせから実行されることができ、特許請求される組み合わせは、小結合又は様々な小結合に向けられることができる。
【0077】
同様に、動作は、特定の順番で図示されるが、このことは、望ましい結果を実現するために、こうした動作が、示される特定の順番で又は逐次的な順番で実行され、又は、それらのすべての図示される動作が実行されることを必要とするように理解されるべきではない。
【0078】
本明細書に説明される特定の実施形態が説明された。他の実施形態は、特許請求の範囲内にある。例えば、特許請求の範囲に挙げられた動作は、異なる順番で実行し、依然として望ましい結果を実現することができる。一例として、添付図面に示されるプロセスは、望ましい結果を実現するために、必ずしも、示される特定の順番又は逐次的な順番を必要とするものではない。
【0079】
1つの構成要素が有する機能が2つ以上の物理的構成によって実現されてもよく、2つ以上の構成要素が有する機能が1つの物理的構成によって実現されてもよい。システムの発明は、それぞれの構成要素の有する機能が逐次的に実行される方法の発明として把握することもできるし、その逆も成り立つ。方法の発明においては、各ステップは記載された順序に実行されるものに限定されるものではなく、全体としての機能が矛盾なく実行され得る限りにおいて、自由な順序でそれを実行することができる。これらの発明は、所定のハードウェアと協働して所定の機能を実現させるプログラムとしても成立し、それを記録した記録媒体としても成立する。また本発明は、搬送波上に具現化されたコンピュータ・データ信号であって、そのプログラムのコードを備えたものとしても成立しうる。
【0080】
本態様の他の実施形態は、対応するシステム、装置、デバイス、コンピュータプログラム製品、及びコンピュータ可読媒体を含む。
【符号の説明】
【0081】
1 ロボットの移動部
2 ロボットのマニピュレーション部
3 手先効果器
4 接触位置検出プローブ
5 外力検出器
6 ロボットコントローラ
61 位置指令生成部
62 外力値監視部
63 プローブ先端位置計算部
64 記録装置
65 接触位置検出部
66 寄り付き位置姿勢誤差計算部
7 操作ペンダント

【特許請求の範囲】
【請求項1】
教示時におけるロボットと作業対象物の相対的な位置及び姿勢を前提として与えられた、前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
再生時の前記ロボットと前記作業対象物との相対的位置及び相対的姿勢のうちの少なくとも1つが、前記教示時の前記位置と異なる別の位置、及び/又は、前記教示時の前記姿勢と異なる別の姿勢となったことを、前記ロボットに備えられた、前記ロボットと前記作業対象物との相対的な位置及び姿勢を検出する位置・姿勢検出手段によって検出したことに応じて、位置、及び/又は、姿勢の変化量を獲得し、当該算出値に基づいて、前記作業手順を修正する、作業手順修正手段と、
を備え、
前記修正される作業手順が、前記位置・姿勢検出手段によって検出された、作業対象物の位置及び姿勢をもとに得られる、ロボットを基準とした座標から作業対象物を基準とした座標への、同次変換行列を用いて、ロボットを基準とした座標上での作業手順として与えられる、
ロボットの制御装置。
【請求項2】
ロボットを基準とした作業対象物の位置及び姿勢を検出可能な、ロボットに設置された位置・姿勢検出手段からのデータを受け取る、位置・姿勢検出データ受領手段と、
前記作業対象物の位置及び姿勢を前提として与えられた、教示時における、前記ロボットが行うべき作業対象物に対する作業手順を記憶する、作業手順記憶手段と、
前記作業対象物の位置及び姿勢のうちの少なくとも1つが、前記教示時における前記位置と異なる別の位置、及び/又は、前記姿勢と異なる別の姿勢となったことを前記位置・姿勢検出手段によって検出したことに応じて、位置、及び/又は、姿勢の変化量を算出し、当該算出値に基づいて、前記作業手順を修正する、作業手順修正手段と、
を備える、
ロボットの制御装置。
【請求項3】
前記位置・姿勢検出手段が、前記ロボットの前記作業対象物への接近速度において、前記ロボット、及び、前記作業対象物に損傷を与えない程度の柔軟性を有する、位置・姿勢検出用接触状態検出部を有する、請求項1又は2に記載のロボットの制御装置。
【請求項4】
前記ロボットの、前記作業対象物への接触過程を時系列的に記憶する、接触過程記憶手段を更に備え、
前記作業対象物への接触過程を過去に遡って検証することによって、接触開始位置、及び/又は、接触開始時刻を得る、接触開始位置/接触開始時刻獲得手段を備える、
請求項3に記載のロボットの制御装置。
【請求項5】
前記作業手順修正手段が、
(a)教示時における第1の同次変換行列と、(b)再生時における、前記位置、及び/又は、姿勢の変化量に基づいて得られた、第2の同次変換行列と、
の差を用いて、前記作業手順を修正する、
請求項1ないし4に記載のロボットの制御装置。
【請求項6】
前記第1の同次変換行列、及び、前記第2の同次変換行列が、
鉛直方向から見た作業対象物が矩形であり、当該矩形の一辺の上に位置する2つの点P1、P2と、当該一辺と直交する別の辺上に位置する1つの点P3、のそれぞれについて、
【数1】

(i=1,2,3:それぞれP1、P2、及び、P3に対応。)
に基づいて、P1、P2、及び、P3の位置を検出する手段であって、
[x1 y1]、[x2 y2]、[x3 y3]が、それぞれ、P1、P2、及び、P3の、ロボットに基づく座標上の座標値であり、
[xtcp ytcp]が、ロボットに基づく座標上の前記接触検出部の先端部の位置であり、
[R 0]、[−R 0]、[0 R]、[0 −R]がそれぞれ、前記接触検出部の先端部の半径Rを用いて、前記[xtcp ytcp]を補正して、より正確な位置を求めるための行列である、前記手段と、
以下の、
【数2】

及び、
【数3】

に基づいて、
以下の、
【数4】

で表される同次変換行列を計算する手段、
によって得られる、
請求項5に記載のロボットの制御装置。
【請求項7】
請求項1ないし6に記載のロボットの制御装置を用いて、ロボットを制御する方法であって、
第1の再生時における、前記同次変換行列、即ち、第3の同次変換行列を取得し、
第2の再生時における、前記同次変換行列、即ち、第4の同次変換行列を取得し、
前記第3の同次変換行列と、前記第4の同次変換行列の差を求め、
前記求められた同次変換行列の差を用いて、前記第1の再生時に用いた、ロボットの作業手順を修正して、第2の再生時に利用する、
ロボットを制御する方法。

【図1−A】
image rotate

【図1−B】
image rotate

【図1−C】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6−1】
image rotate

【図6−2】
image rotate

【図6−3】
image rotate

【図6−4】
image rotate

【図6−5】
image rotate


【公開番号】特開2011−230238(P2011−230238A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−103046(P2010−103046)
【出願日】平成22年4月28日(2010.4.28)
【出願人】(000006622)株式会社安川電機 (2,482)
【Fターム(参考)】