[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5850962B2 - ビジュアルフィードバックを利用したロボットシステム - Google Patents

ビジュアルフィードバックを利用したロボットシステム Download PDF

Info

Publication number
JP5850962B2
JP5850962B2 JP2014025600A JP2014025600A JP5850962B2 JP 5850962 B2 JP5850962 B2 JP 5850962B2 JP 2014025600 A JP2014025600 A JP 2014025600A JP 2014025600 A JP2014025600 A JP 2014025600A JP 5850962 B2 JP5850962 B2 JP 5850962B2
Authority
JP
Japan
Prior art keywords
robot
camera
arm tip
coordinate system
movement amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014025600A
Other languages
English (en)
Other versions
JP2015150636A (ja
Inventor
桂祐 渡邊
桂祐 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2014025600A priority Critical patent/JP5850962B2/ja
Priority to DE102015001527.3A priority patent/DE102015001527B4/de
Priority to US14/618,326 priority patent/US9517563B2/en
Priority to CN201510076713.0A priority patent/CN104842352B/zh
Publication of JP2015150636A publication Critical patent/JP2015150636A/ja
Application granted granted Critical
Publication of JP5850962B2 publication Critical patent/JP5850962B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39397Map image error directly to robot movement, position with relation to world, base not needed, image based visual servoing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40003Move end effector so that image center is shifted to desired position
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、カメラを使ってロボットの動作を補正するロボットシステムに関し、特に、ロボットの座標系とカメラの座標系の位置合わせを行っておく必要をなくすために、ビジュアルフィードバックを利用したロボットシステムに関する。
多くの産業用ロボットはティーチングプレイバックと呼ばれる方式に基づいて動作している。すなわち、ロボットに行わせたい動作や作業をあらかじめプログラムとして教示しておき、プログラムを再生することでロボットに所望の作業を行わせる。ロボットは、教示された動作や作業を正確に繰り返すことができるが、プログラムを教示した時とは異なる位置に対象物が置かれていると、その対象物に対して正確に作業を行うことができなくなる。
それに対して、カメラなどのビジョンセンサを使って対象物の位置を認識し、ビジョンセンサが認識した対象物の位置情報を用いてロボットの動作を補正するということが行われている。このようにすることで、対象物がプログラム教示時と異なる位置に置かれていても、対象物に対して正確に作業を行うことができるようになる。
ビジョンセンサで見つけた対象物の位置は、ビジョンセンサの計測の基準となっている座標系(以下、「ビジョン座標系」と呼ぶ)で表現されているが、ビジョンセンサで見つけた位置情報に基づいてロボットの動作を補正するためには、ビジョン座標系で表現された位置情報を、ロボットの動作制御の基準となっている座標系(以下、「ロボット座標系」と呼ぶ)での位置情報に変換する必要がある。ビジョン座標系で表された位置情報をロボット座標系で表された位置情報に変換するためのデータを「カメラのキャリブレーションデータ」と呼び、カメラのキャリブレーションデータを取得するための作業を「カメラをキャリブレーションする」という(特許文献1)。
一方で、カメラのキャリブレーションをせずに、ビジョンセンサを使ったロボットの位置補正を可能にする手段のひとつとして、ビジュアルフィードバックと呼ばれている手法が知られている(例えば、特許文献2)。例えば、ロボットを対象物の把持位置に移動させ、ロボットに取り付けられたカメラで対象物を撮影し、その対象物の見え方を目標データとして記憶しておく。そして、実作業時においては、ロボットを移動するごとにカメラで対象物を撮影し、目標データと同一の見え方となるようにロボットの位置姿勢を制御することを繰返し、誤差が0に収束したところで、ハンドによる把持を実行する。
特許文献2に記載の方法は、誤差がゼロになった位置でハンドによる把持を行う。つまり、対象物を把持する位置にロボットが位置決めされている状態で、カメラに写った対象物の見え方を目標データとして記憶する必要がある。そのため、ロボットのアーム先端部に取り付けるハンドとカメラの位置関係には制約があり、自由に設計することができない。
また、この方法の場合、誤差がゼロになった位置でのみ対象物に対して作業を行うことができるので、対象物を把持するといった簡単な作業をロボットに行わせる場合には問題にならないが、例えば、対象物に対して所定の経路で接着剤を塗布するといったような、複雑な動作経路を必要とする作業をロボットに行わせたい場合には利用できない。
一方で、基準対象物に対して目標データを設定した際のロボットの位置と、基準対象物を把持する動作を行う際のロボットの位置との差をあらかじめ位置変換行列として記憶しておき、誤差がゼロになるようにロボットに収束動作をさせた後、記憶している位置変換行列で示される動作を行ってから把持動作を行う方法も提案されている(特許文献3)。この発明では、特許文献2に記載の方法に比べると、ロボットのアーム先端部に取り付けるハンドとカメラの位置関係には制約がなくなっているが、複雑な動作経路を必要とする作業をロボットに行わせたい場合には利用できないという問題は解消されていない。
ところで、対象物がテーブルなどの平らな台の上に載置されている場合、目標データと同一の見え方となるようにロボットの位置姿勢を制御する際は、ロボットのアーム先端部に取り付けられたカメラと対象物が載置されたテーブルの距離が変わらないように制御するのが望ましい。また、対象物の向きが変わる場合には、カメラと対象物の相対的な向きが同じになるようにロボットを制御する必要があるが、カメラとテーブルの相対的な傾きが変わらないように、テーブル面に垂直な軸回りにカメラが回転するように制御するのが望ましい。
しかしながら、通常のビジュアルフィードバックでは、カメラとテーブルの距離が変わらないことや、カメラとテーブルの相対的な傾きが変わらないことは保証されず、その結果、目標データと同一の見え方になるようにロボットを制御するのに必要以上に時間がかかることがある。
この問題を回避するには、テーブル面と平行な座標系をロボットに設定しておいて、それを拠り所としてカメラの移動を行わせるようにすればよい。たとえば、ロボットのハンド上の任意の1点をTCP(Tool Center Point)として設定し、テーブル面上の一直線上にない3箇所にロボットのTCPを接触させて、それぞれの箇所におけるロボット座標系からみたTCPの座標値を読み取ることにより、テーブル面上にロボットの座標系を設定することができる(特許文献4)。
特開平10−49218号公報 特開2003−211381号公報 特許第4265088号公報 特開2010−076054号公報
しかしながら、このような方法で座標系を設定する作業は、作業者の技量により設定精度に差が出るといった問題や、ロボットのハンドとテーブルを物理的に接触させるため、操作ミスによりハンドやテーブルに損傷を与える危険があるといった問題がある。
本発明は、ビジュアルフィードバックを用いてロボットの動作を補正するシステムにおいて、対象物に複雑な経路の作業をさせることを可能とすると共に、作業者がロボットの座標系について意識をしないでも、カメラをテーブル面に平行に移動し、テーブル面に垂直な軸回りに回転させることで、効率的にカメラを所定の位置に移動させる方法を提供することを目的とする。
本発明の一実施形態に係るロボットシステムは、ロボットのアーム先端部に装着された装置を用いて、平面上の第1の対象物位置に置かれた対象物に対して、所定の作業を行う動作指令を含むプログラムによって制御されるロボットと、アーム先端部に装着され、対象物を撮像するカメラと、第1の対象物位置に対して、所定の相対的位置関係にあるアーム先端部の位置を第1のロボット位置として記憶する第1のロボット位置記憶部と、対象物が第1の対象物位置に置かれ、アーム先端部が第1のロボット位置に位置決めされた状態である目標到達状態において、カメラの画像上での対象物の位置、姿勢、及び大きさのうちの少なくとも1つの特徴量を目標到達状態データとして記憶する目標到達状態データ記憶部と、平面上の第2の対象物位置に置かれた対象物を、ロボットのアーム先端部が任意の初期位置に位置決めされた状態において、カメラで撮像した際における、対象物のカメラの画像上での位置、姿勢、及び大きさのうちの少なくとも1つの特徴量を目標到達状態データのうちの対応する特徴量と一致させるための、アーム先端部の任意の初期位置からの移動量を求めるロボット移動量計算部と、アーム先端部を移動量に基づいて移動させた際における、アーム先端部の位置である第2のロボット位置と、第1のロボット位置との差異に基づいてプログラムを補正するための補正データを計算する補正データ計算部と、を備えることを特徴とする。
カメラの画像に写る対象物の画像上での特徴量が目標到達状態データと同じになるようにロボットを制御することによって、第2の対象物位置に置かれた対象物と第2のロボット位置の相対的な位置関係は、第1の対象物位置に置かれた対象物と第1のロボット位置の相対的な位置関係と同一になっていると期待できる。したがって、第1の対象物位置に置かれた対象物に対して作業を行うように教示されたプログラムを、第1のロボット位置と第2のロボット位置の差異に基づいて補正して再生することで、第2の対象物位置に置かれた対象物に対して作業を行うことができる。これは、プログラムに教示されているロボットの動作が複雑な経路であっても、第2の対象物位置に置かれた対象物に対して所望の作業を行うことが可能になることを意味する。
本発明の他の実施形態に係るロボットシステムは、ロボットのアーム先端部が第2のロボット位置に位置決めされた状態において、カメラが撮像した、第2の対象物位置に置かれた対象物の画像上での位置、姿勢、及び大きさのうちの少なくとも1つの特徴量と、目標到達状態データ記憶部に記憶された目標到達状態データのうち対応する特徴量との差異が所定の値よりも大きい場合に、ロボット移動量計算部は、第2のロボット位置をあらためて初期位置として移動量を求め、アーム先端部を該移動量に基づいて移動させた際における、アーム先端部の位置をあらためて第2のロボット位置とすることを特徴とする。
目標到達状態に一致させるようなロボットの移動量を求める方法としては、いくつかの方法が提案されており、本願発明はどのような方法でロボットの移動量を求めるかについては限定しない。しかしながら、簡便な方法を採用した場合には、最初に求めた移動量に基づいてロボットを1回移動させただけでは目標到達状態にならないことがある。そのような場合は、第2のロボット位置を改めて初期位置として同様の処理を繰り返すことで、目標到達状態に徐々に近づけていくことができる。
本発明のさらに他の実施形態に係るロボットシステムは、ロボットのアーム先端部が第2のロボット位置に位置決めされた状態において、ロボット移動量計算部は、第2のロボット位置をあらためて初期位置として移動量を求め、該移動量が所定の値よりも大きい場合に、アーム先端部を該移動量に基づいて移動させた際における、アーム先端部の位置をあらためて第2のロボット位置とすることを特徴とする。
本発明のさらに他の実施形態に係るロボットシステムは、互いに異なる複数の第2の対象物位置を少なくとも3つ設け、該複数の第2の対象物位置に対象物を置き、それぞれの対象物位置に対応した複数の第2のロボット位置を取得し記憶する第2のロボット位置記憶部と、第2のロボット位置記憶部に記憶された複数の第2のロボット位置に基づいて、対象物が置かれている平面の法線ベクトルを算出する法線ベクトル計算部を更に備え、ロボット移動量計算部は、法線ベクトルに垂直な平面内の並進移動、及び該法線ベクトルに平行な軸回りの回転移動のみを移動量として算出することを特徴とする。
本発明のさらに他の実施形態に係るロボットシステムは、互いに異なる複数の第2の対象物位置の1つが第1の対象物位置と同一であり、複数の第2のロボット位置の1つが第1のロボット位置であることを特徴とする。
対象物が置かれているテーブル面に垂直な軸の方向ベクトル(法線ベクトル)は、第1のロボット位置と2つの第2のロボット位置、あるいは3つの第2のロボット位置があれば計算できる。たとえば第1のロボット位置から1つ目の第2のロボット位置に向かうベクトルと、第1のロボット位置から2つ目の第2のロボット位置に向かうベクトルとの外積を計算することで法線ベクトルを求めることができる。また、3つ以上の第2のロボット位置が得られている場合には、たとえば、最小二乗法などを用いて法線ベクトルを算出することもできる。
この際、計算に使用するすべての第2のロボット位置が直線上に位置していると平面が求まらないため、第1のロボット位置と2つの第2のロボット位置、あるいは3つの第2のロボット位置が、たとえば正三角形の頂点の位置となるように第2の対象物位置を設けるとよい。また、3つの第2のロボット位置がほぼ同じ位置である場合も、平面の法線ベクトルが正しく求まらない可能性がある。このため、第2のロボット位置記憶部に記憶する第2のロボット位置は、既に記憶されている第2のロボット位置と一定距離以上離れていることを確認してから記憶することが好ましい。
ロボット移動量計算部は、ロボットが第1のロボット位置に位置決めされた状態で、第1の対象物位置に置かれた対象物の中心位置を通り法線ベクトルに平行な直線の位置を、ロボットのアーム先端部に対する相対的な直線として定義し、ロボット移動量計算部による回転移動は、該定義されたアーム先端部に対する相対的な直線を回転軸として回転移動させるものであってもよい。
カメラの画像に写る対象物の画像上での特徴量が目標到達状態データと同じになるようにロボットを移動する際の回転軸を、対象物が第1の対象物位置に置かれ、ロボットが第1のロボット位置に位置決めされた状態の時のロボットのアーム先端部に対する相対的な直線として定義される、対象物の中心位置を通る法線ベクトルに平行な軸とすることで、ロボットを回転移動させたときにも、対象物が画像外にはみ出してしまうことがなくなる。
カメラを用いて作業対象物の位置姿勢を認識し、ロボットに所定の作業をさせるロボットシステムにおいて、カメラのキャリブレーションをする必要がないというビジュアルフィードバックの特徴を維持しつつ、使用する際の制約であった、複雑な経路を伴う作業を行うシステムには適用できないという制約を解消することができる。
さらに、ロボットが、作業対象物が載置してあるテーブルの面に対して近づいたり遠ざかったり、もしくは傾いたりすることにより効率的に目標到達状態に到達できないことがあるという問題を解消し、安定して、確実に、短時間で目標到達状態を実現することができる。
発明の第1の実施形態におけるロボットシステムの全体構成を示す図である。 本発明において用いられるロボット制御装置のブロック図である。 本発明のロボットシステム立ち上げ時の流れを示すフローチャートである。 本発明のロボットシステムの作業実行時の処理を示すフローチャートである。 第1及び第2の対象物位置に置いた対象物の位置を表す平面図である。 シフトされた仮想的なロボット座標系を表す図である。 ツール座標系の定義を説明するための図である。 ツール座標系とカメラとの位置関係を表す図である。 ツール座標系と第2のツール座標系との位置関係を表す図である。 ツール座標系をZ軸回りに回転移動する様子を上から見た図である。
以下、図面を参照して、本発明に係るロボットシステムについて説明する。ただし、本発明の技術的範囲はそれらの実施の形態には限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
図1は本発明の実施形態におけるロボットシステムの全体構成を示す図である。本発明の実施形態に係るロボットシステムは、ロボット1のアーム先端部に設けられたメカニカルインターフェイス部32に装着された装置であるツール30を用いて、平面5上の第1の対象物位置に置かれた対象物4に対して、所定の作業を行う動作指令を含むプログラムによって制御されるロボット1と、メカニカルインターフェイス部32に装着され、対象物4を撮像するカメラ3と、第1の対象物位置に対して、所定の相対的位置関係にあるメカニカルインターフェイス部32の位置を第1のロボット位置として記憶する第1のロボット位置記憶部12a(図2)と、対象物4が第1の対象物位置に置かれ、メカニカルインターフェイス部32が第1のロボット位置に位置決めされた状態である目標到達状態において、カメラ3の画像上での対象物4の位置、姿勢、及び大きさのうちの少なくとも1つの特徴量を目標到達状態データとして記憶する目標到達状態データ記憶部12bと、平面上の第2の対象物位置に置かれた対象物を、ロボットのアーム先端部が任意の初期位置に位置決めされた状態において、カメラで撮像した際における、対象物のカメラの画像上での位置、姿勢、及び大きさのうちの少なくとも1つの特徴量を目標到達状態データのうちの対応する特徴量と一致させるための、メカニカルインターフェイス部32の任意の初期位置からの移動量を求めるロボット移動量計算部11bと、メカニカルインターフェイス部32を移動量に基づいて移動させた際における、メカニカルインターフェイス部32の位置である第2のロボット位置と、第1のロボット位置との差異に基づいてプログラムを補正するための補正データを計算する補正データ計算部11cと、を備えることを特徴とする。
ロボット1は公知の典型的なロボットであり、例えば6軸多関節ロボットである。ロボット1は、アーム部1a及びベース部1bを有しており、また、ロボット1を制御するロボット制御装置2に接続されている。
アーム部1aのアーム先端部に設けられたメカニカルインターフェイス部32には、ツール30が取り付けられている。図1に示されるツール30は、例えば、接着剤塗布用のノズル31など、対象物に対して作業を行うための機構である。メカニカルインターフェイス部32には、さらに、対象物4の画像を撮像するためのカメラ3が取り付けられている。
ロボット1には、ベース部1bに固定されたロボット座標系Σbと、メカニカルインターフェイス部32に固定されたメカニカルインターフェイス座標系Σfとが定義されている。ロボット制御装置2は、ロボット座標系Σbから見たメカニカルインターフェイス座標系Σfの位置及び姿勢Rをロボット現在位置として制御する。ここで、Rは4×4の同次変換行列である。以下、特に断わりのない限り、「ロボット位置」とは、ロボット座標系Σbから見たメカニカルインターフェイス座標系Σfの位置姿勢Rを指すものとする。
カメラ3は、例えば産業用のCCDカメラであり、画像を撮像する機能を持つ周知の受光デバイスである。本実施例では、ロボット制御装置2が画像処理機能を有しているものとして、カメラ3はロボット制御装置2に接続されているが、パソコンなど別途画像処理用の装置を設け、カメラ3は画像処理装置に接続し、画像処理装置とロボット制御装置2を通信ケーブルで接続するようにしてもよい。
対象物4は、平坦なテーブル5に載置されており、ロボット1を移動することでカメラ3の視野内に対象物4が入るように移動し、カメラ3で対象物4の画像を撮像することができる。
図2は本発明において用いられるロボット制御装置のブロック図である。ロボット制御装置2は、メインCPU(以下、単に「CPU」と称する)11を含んでいる。
CPU11は、カメラ3により撮像された画像に写る対象物4の位置、姿勢、大きさなどの特徴量を算出するための画像処理部11a、算出した特徴量と記憶している目標到達状態データに基づいてロボットの移動量を求めるロボット移動量計算部11b、第1のロボット位置と第2のロボット位置に基づいてロボットの作業を補正するための補正データを算出する補正データ計算部11c、複数の第2のロボット位置に基づいて対象物4が載置されているテーブル5の面の法線ベクトルを求める法線ベクトル計算部11dを備える。
CPU11から延びるバス17には、RAM、ROM、不揮発性メモリ等からなるメモリ12、教示操作盤用インターフェイス13、カメラインターフェイス14、サーボ制御部15、及び外部装置用の入出力インターフェイス16が接続されている。
教示操作盤用インターフェイス13には、教示操作盤18が接続されている。作業者は、教示操作盤18を操作して、ロボットプログラムの作成、修正、登録、あるいは各種パラメータの設定の他、教示されたロボットプログラムの再生運転、ロボット位置の手動操作等を実行する。また、本実施例ではロボット制御装置2は画像処理機能を有しており、作業者は、教示操作盤18を操作して、画像処理プログラムの作成、修正、登録、あるいは各種パラメータの設定の他、教示された画像処理プログラムの再生運転、検出テスト等を実行する。
ロボット1を制御するシステムソフトウェアや画像処理を行うシステムソフトウェアは、メモリ12のROMに格納されている。また、アプリケーションに応じてロボットの作業内容が教示されるロボットプログラムやそれに関連する設定データは、メモリ12の不揮発性メモリに格納されている。メモリ12のRAMは、CPU11が行なう各種演算処理におけるデータの一時記憶の記憶領域に使用される。メモリ12は、ロボット位置を記憶するロボット位置記憶部12a、画像処理部11bにより算出された目標到達状態データを記憶する目標到達状態データ記憶部12b、を含んでいる。
サーボ制御部15はサーボ制御器#1〜#n(nはロボットの総軸数であり、ここではn=6とする)を備え、CPU11からの動作指令を受け、各軸に付属したパルスコーダ(図示せず)から受け取るフィードバック信号と併せてサーボアンプA1〜Anにトルク指令を出力する。各サーボアンプA1〜Anは、各トルク指令に基づいて各軸のサーボモータM1〜Mnに電流を供給してそれらを駆動する。
カメラインターフェイス14には、撮像手段であるカメラ3が接続される。CPU11から撮影指令がカメラインターフェイス14を介して送られると、カメラ3は電子シャッタ機能により撮影を実行し、映像信号がグレイスケール信号の形でカメラインターフェイス14を介してメモリ12に格納される。
本願のロボットシステムでは、テーブル5上の任意のひとつの位置に対象物4を載置した状態で、対象物4に対して所定の作業を行うロボットプログラムを教示しておく。この位置を「基準位置」と呼ぶ。対象物4が基準位置に載置されている場合は、そのロボットプログラムを再生するだけで、ロボット1は対象物4に対して適切な作業を行うことができる。
その上で、対象物4が基準位置とは異なる位置に載置されていた場合は、後述する本発明が開示する手法によって補正データを計算し、補正データに基づいてロボットプログラムを補正しながら再生することで、基準位置とは異なる位置に載置されている対象物4に対してロボット1が適切に作業を行えるようにする。
図3は、本発明のロボットシステム立ち上げ時の流れを示すフローチャートである。以下、図3を参照しつつ、ロボットシステムの立ち上げ手順を説明する。
はじめに、対象物4を、テーブル5上の基準位置(以下、「第1の対象物位置」と呼ぶ)に載置する(S101)。
次に、第1の対象物位置に置かれた対象物4がカメラ3の視野に写るような第1のロボット位置にロボット1を移動する(S102)。第1のロボット位置は、カメラ3の光軸がテーブル5の面に対しておおよそ垂直になるような位置が好ましいが、この条件に限定するものではない。たとえば、カメラ3の光軸がテーブル5の面に対して多少傾いていても問題ない。また、第1のロボット位置は、画像に写った対象物4の像が受けるレンズひずみ等の影響を最小限に抑えるため、対象物4がカメラ視野のおおよそ中心に写る位置とすることが好ましい。
次に、カメラ3で対象物4の画像を撮像し、対象物4の画像をモデルデータとして教示する(S103)。ここで、どのような情報をモデルデータとして記憶するかは、画像から対象物4を検出するのに用いる画像処理のアルゴリズムに依存する。本発明では、どのような画像処理アルゴリズムを用いても構わないが、たとえば、正規化相関を用いたテンプレートマッチングや、エッジ情報を用いた一般化ハフ変換などの手法が知られており、そういった手法を用いることができる。正規化相関によるテンプレートマッチングの場合は、テンプレートがモデルデータに相当する。
次に、教示したモデルデータを用いて、画像から対象物4を検出し、検出した対象物4の画像上での位置、姿勢、大きさなどの特徴量を目標到達状態データとして目標到達データ記憶部12bに記憶すると共に、第1のロボット位置をロボット位置記憶部11aに記憶する(S104)。たとえば、画像処理アルゴリズムとしてテンプレートマッチングを採用した場合、テンプレートが最も一致した際の、テンプレートの中心位置、回転角度、拡大縮小した割合をそれぞれ、位置、姿勢、大きさの特徴量とすることができる。
最後に、第1の対象物位置に載置された対象物4に対して、ロボット1が所定の作業を行うロボットプログラムを教示する(S105)。
図4は、本発明のロボットシステムの作業実行時の処理を示すフローチャートである。以下、図4を参照しつつ、本発明のロボットシステムにおけるロボットシステムの動作を説明する。
まず、ロボットを初期位置へ移動する(S201)。通常、ロボットの初期位置は第1のロボット位置と同じでよいが、対象物4がカメラ3の視野に入り、かつ、ロボットの姿勢が第1のロボット位置と同じであれば、異なる位置であってもよい。たとえば、テーブル5が広く、第1のロボット位置だけではテーブル5の全面がカメラ3の視野に収まりきらない場合は、初期位置を変更することにより、テーブル5の全面を複数の視野に分割して計測を行うことができる。
次に、カメラ3で対象物4の画像を撮像し、画像処理による対象物4の検出を実行する(S202)。画像処理アルゴリズムには、先のS104と同じ手法を用い、対象物4の特徴量(画像上での位置、姿勢、大きさ)の情報を取得する。
次に、S202で取得した特徴量が、記憶している目標到達状態データと一致するような位置へロボットを移動するためのロボット移動量を計算する(S203)。画像から取得した特徴量に基づいて、ロボット移動量を算出する手法は様々なものが提案されており、本発明ではどのような手法を用いるかは限定しないが、一実施例を後述する。
次に、現在のロボット位置が目標到達状態であるか否かを判断する(S204)。これは、S203で算出したロボット移動量の大きさを、あらかじめ設定しておいたしきい値と比較することで判断すればよい。たとえば、しきい値が0.5mmであれば、計算されたロボット移動量が0.5mm未満であれば、目標到達状態であると判断することができる。また、S204での判断基準を、S202で取得した特徴量と、記憶している目標到達状態データのうち対応する特徴量との差異を、あらかじめ設定しておいたしきい値と比較した値としてもよい。たとえば、しきい値が1画素であれば、計算された位置の際が1画素未満であれば、目標到達状態であると判断することができる。
目標到達状態でない場合は、S203で算出したロボット移動量に基づいてロボット1を移動させる(S205)。1回ロボットを移動させたことで目標到達状態にあるものとして次のステップ(S206)に進んでもよいが、図4のフローチャートではS204の目標到達条件を満たしている事を再確認するために、S202へ戻るようにしている。
目標到達状態であると判断された場合は、その時のロボット位置を第2のロボット位置として記憶すると共に、記憶している第1のロボット位置と第2のロボット位置に基づいて、検出した対象物4に対しての作業を行うための補正データを計算する(S206)。
ロボットプログラムの補正の原理と、補正データの計算方法については以下の通りである。
前述したように、ロボット位置は、ロボット座標系Σbから見たメカニカルインターフェイス座標系Σfの位置及び姿勢Rとして表すことができる。ここで、Rは4×4の同次変換行列である。ロボットプログラムは、ロボット1を複数のロボット位置に順に移動させるため、複数のロボット位置の集合と考えることができる。i番目のロボット位置を
iとすると、求めたい補正データは、
Figure 0005850962
となるような4×4の同次変換行列Xであると考えることができる。すなわち、ロボットプログラムに教示されているロボット位置Riを、補正データXに基づいて、上記の式でRi’に変換しながら再生することでロボットの補正を実現する。この変換行列Xには、図6に示すように、仮想的にロボット座標系ΣbをXだけシフトしてロボットプログラムを再生するような効果があるので、複雑な経路を伴う作業であっても、対象物4の位置や向きに合わせて適切にロボットのプログラムを補正することができる。
本発明においては、記憶されている第1のロボット位置をR1、第2のロボット位置をR2とすると、補正データXはR1とR2に基づいて次式で算出することができる。
Figure 0005850962
最後に、計算した補正データに基づいて教示されているロボットプログラムを補正しながら再生する(S207)。
続いて、S203において、画像から得られた特徴量に基づいて、ロボット位置を目標到達状態に一致させるためのロボット移動量の計算方法のひとつとして、ヤコビアン行列を用いた方法を説明する。
まず、目標到達状態に一致させるためのロボットの移動量は、検出された対象物の特徴量と、目標到達状態データとして記憶している特徴量との差分に基づいて算出する。図5は、第1及び第2の対象物位置に置いた対象物の位置を表す平面図である。たとえば、図5では、第1の対象物位置にある対象物4の像を破線で、第2の対象物位置にある対象物4の像を実線で表しているが、ビジョン座標系での位置を(u,v)で表すと、Δuが画像の縦方向の位置の差分、Δvが画像の横方向の位置の差分となる。
また、画像上での見た目の大きさの特徴量をsとする。たとえばテンプレートマッチングの場合は、テンプレートの大きさを100%=1.0として、テンプレートより大きく見えていれば1.0より大きな値、小さく見えていれば1.0よりも小さな値で表現するようにすることができる。
目標到達データとして記憶している特徴量を(u0,v0,s0)、S202で得られた特徴量を(u1,v1,s1)とすると、特徴量の差分は次の式で表せる。
Figure 0005850962
なお、画像上での見た目の大きさの特徴量sは、対象物が置かれているテーブル面5からカメラ3までの距離に反比例するため、割合のままではなく、距離に比例した値になるように逆数を用いるようにしている。
求めたいロボット移動量を(Δx,Δy,Δz)とすると、ヤコビアン行列Jは次式で定義される。
Figure 0005850962
ロボットの移動量(Δx,Δy,Δz)は、どの座標系で表現されてもよいが、カメラ3とメカニカルインターフェイス座標系Σfの相対的な位置関係が固定されていることを考慮すると、メカニカルインターフェイス座標系Σfで表現するのが好ましい。すなわち、本実施例では、(Δx,Δy,Δz)は、メカニカルインターフェイス座標系ΣfのX軸、Y軸、Z軸方向にロボット1を移動すべき量を示すものとする。
続いて、ヤコビアン行列Jを求める方法を説明する。
まず、対象物4が画像中心付近に写る状態をロボットの原位置として、ロボット1が原位置に位置決めされている状態で、カメラ3で撮像した画像から対象物4を検出し、得られた特徴量を(u0,v0,s0)とする。次に、ロボット1を原位置からメカニカルインターフェイス座標系ΣfのX軸方向に距離mだけ移動し、その位置においてカメラ3で撮像した画像から対象物4を検出し、得られた特徴量を(uX,vX,sX)とする。同様に、ロボットを原位置からメカニカルインターフェイス座標系ΣfのY軸方向に距離mだけ移動した位置、Z軸方向に距離mだけ移動した位置で、それぞれ対象物4を検出し、それぞれの特徴量を(uY,vY,sY)、(uZ,vZ,sZ)とする。
X軸、Y軸、Z軸方向にロボットを移動したときの対象物の検出結果と原位置での対象物の検出結果から、Δu、Δv、Δsをそれぞれ次のように求める。
Figure 0005850962
Figure 0005850962
Figure 0005850962
これを式(1)に代入すると、次のようにヤコビアン行列Jを求めることができる。
Figure 0005850962
一旦ヤコビアン行列が求まれば、任意の対象物4の特徴量(u,v,s)に対して、それらを式(1)に代入することで、ロボット1を目標到達状態に一致させるためのロボット移動量(Δx,Δy,Δz)を求めることができるようになる。
以上により、テーブル5上の任意の位置に載置された対象物4に対して、ロボットプログラムを補正しながら、ロボット1に作業を行わせることができるようになる。しかしながら、求められるロボットの移動量(Δx,Δy,Δz)は、カメラ3とテーブル5の距離が変わるような動きをさせてしまう可能性があり、最終的には目標到達状態に到達できるものの、効率が悪い。
そこで、続いて、本発明が開示している、対象物4が載置されているテーブル5の面の法線を算出し、さらに、ロボット1がテーブル5との距離を変えないように、テーブル5の面に平行に移動し、かつ、テーブル5の面の法線に平行な軸回りに回転するようなロボット移動量を算出する方法について説明する。
まず、前述したヤコビアン行列は既に求められており、S201〜S207の手順に従って、テーブル5上の任意の位置に置かれた対象物4に対して、ロボット1に作業をさせられる状態になっているものとする。
一般的に、3次元の任意の平面を同定するには、平面上の同一でない3点が既知であればよいことが知られている。
前述したS206において記憶した第2のロボット位置について、その位置成分(x,y,z)について考えると、(x,y,z)は、ロボット1が第2のロボット位置に位置決めされている時の、ロボット座標系Σbから見たメカニカルインターフェイス座標系Σfの原点の位置である。
第2のロボット位置の位置成分(x,y,z)は、テーブル5の平面上の点ではないが、複数の第2のロボット位置の位置成分(xi,yi,zi)が既知である場合、それらは概略一平面上に乗っているはずで、さらに、複数の(xi,yi,zi)が作る平面とテーブル5の平面は平行になるはずなので、(xi,yi,zi)が作る平面の法線を算出することで、テーブル5の平面の法線を算出することができる。
任意の3次元平面は一般的に次式で表せる。
Figure 0005850962
ここで、ベクトルn=(a,b,c)は平面の法線ベクトルであり、スカラ値dは座標系原点から平面までの垂線の足の長さを表す。以上のことから、複数の第2のロボット位置の一成分(xi,yi,zi)がある場合、次の関係が成り立つ(a,b,c)を求めればよい。
Figure 0005850962
ここから、最小二乗法で法線ベクトルnを求める。
Figure 0005850962
とすると、
Figure 0005850962
このベクトル(a/d,b/d,c/d)を正規化することで、複数の第2のロボット位置が作る平面の法線ベクトル、すなわち、テーブル5の平面の法線ベクトルnが算出される。
複数の第2のロボット位置の1つを、第1のロボット位置で代用してもよい。
本実施例では、ロボット1に所定の作業をさせる過程で法線ベクトルnを算出するという形態を取ったため、S207も実施するようにしているが、ロボット1に作業をさせずに先に法線ベクトルnだけを算出してしまいたい場合は、法線ベクトルnが算出されるまではS207は実行しないようにしてもよい。
最後に、算出した法線ベクトルnに基づいて、S203で算出されるロボットの移動量が、テーブル5の平面に平行な並進移動のみを含むようにする方法について説明する。
ここで、新たな座標系として、ツール座標系Σtを導入する。ツール座標系Σtは、メカニカルインターフェイス座標系Σfに対して相対的に固定されて定義された座標系で、ロボット1を動かした際は、メカニカルインターフェイス座標系Σfとの相対的な位置関係を維持したまま移動する。
図7に示すように、ツール座標系Σtは一例として、原点がメカニカルインターフェイス座標系Σfと同じ位置にあり、かつ、ロボット1が第1のロボット位置に位置決めされている時にZ軸がテーブル5の面の法線ベクトルnと平行になる座標系、と定義する。ツール座標系ΣtのX軸の向きとY軸の向きは、Z軸と直交し、かつ、互いに直交するという条件さえ満たせば、どちらを向いていても構わない。
ツール座標系Σtを定義することは、メカニカルインターフェイス座標系Σfから見たツール座標系Σtの位置姿勢Tを求めることに等しい。Tは4×4の同次変換行列である。
まず、ロボット1が第1のロボット位置に位置決めされているものとして、ロボット座標系Σbから見たツール座標系Σtの位置および姿勢Tbを以下の手順に沿って求める。
ツール座標系Σtの、ロボット座標系Σbから見たX軸、Y軸、Z軸を表す方向ベクトルをそれぞれVx、Vy、Vzとすると、Z軸の方向は法線ベクトルnであるので、
Figure 0005850962
である。X軸とY軸の方向はどちら向きでもよいので、たとえば、X軸は1つ目の第2のロボット位置から2つ目の第2のロボット位置に向かう方向とし、Y軸はX軸とZ軸に垂直な方向とすることにする。すなわち、
Figure 0005850962
Figure 0005850962
とする。ただし、
Figure 0005850962
である。
ツール座標系Σtの原点は、ロボット1が第1のロボット位置R1に位置決めされているときには、ロボット座標系Σbから見たΣfの原点の座標値と同じになるので、それを(x0,y0,z0)とすると、ロボット座標系Σbから見たツール座標系Σtの位置と姿勢Tbは、
Figure 0005850962
となる。さらに、ロボット1は第1のロボット位置R1に位置決めされているので、
Figure 0005850962
が成り立つから、メカニカルインターフェイス座標系Σfから見たツール座標系Σtの位置と姿勢Tは次式で算出できる。
Figure 0005850962
メカニカルインターフェイス座標系Σfから見たツール座標系Σtの位置姿勢Tが求まったことで、メカニカルインターフェイス座標系Σfで表現されたロボットの移動量
(Δx,Δy,Δz)は、次式でツール座標系Σtから見たロボットの移動量(Δx’,Δy’,Δz’)に変換できるようになった。
Figure 0005850962
上式では、Tが4×4の同次変換行列のため、ロボットの移動量ベクトルも4次元に拡張してあるが、Tの回転成分を3×3の回転行列Mとして、次式のように表すこともできる。
Figure 0005850962
このようにして求めた、ツール座標系Σtで表されたロボットの移動量(Δx’,
Δy’,Δz’)は、ツール座標系ΣtのZ軸がテーブル5の面と垂直であること、対象物4はテーブル5の上に載置されていることから、Δz’は理想的には0になるべきだが、実際には検出誤差や計算機誤差などの様々な要因により完全には0にはならない。そのため、算出されたロボットの移動量通りにロボットを動かすと、微妙にテーブル5に近づいたり遠ざかったりするわけだが、Δz’を0に置き換えてしまい、ロボットの移動量を(Δx’,Δy’,0)とすることで、完全にテーブル5との距離を保ったままロボットを移動させることができる。
ところで、前述の式(1)によると、
Figure 0005850962
であるので、
Figure 0005850962
であることが分かる。したがって、
Figure 0005850962
を計算しておいて、S203ではヤコビアン行列Jの代わりにJ’を用いるようにすることで、(Δu,Δv,Δs)から直接ツール座標系Σtで表現されたロボット移動量
(Δx’,Δy’,Δz’)を算出するようにしてもよい。
画像上での見た目の回転移動量Δθについては、ツール座標系ΣtのZ軸がテーブル5の面に垂直になっているので、ロボット1をツール座標系のZ軸回りにΔθだけ回転させるようにすればよい。
ただし、この際、図8に示すように、ツール座標系Σtとカメラ3の位置関係によっては、ツール座標系ΣtのZ軸回りにロボット1を回転移動することで、対象物4がカメラ3の視野の外に出てしまう可能性がある。
これについては、図9に示すように、ツール座標系Σtの原点を並進移動し、対象物4が第1の対象物位置に置かれ、かつ、ロボット1が第1のロボット位置に位置決めされた状態において、対象物4の中心位置を通り法線ベクトルnに平行な軸上に原点がくるような第2のツール座標系Σt’を算出し、第2のツール座標系Σt’のZ軸回りにΔθだけ回転させるようにすることで、対象物4がカメラ3の視野の外に出てしまう問題を解消することができる。以下、第2のツール座標系Σt’の算出方法を説明する。
ツール座標系Σtと第2のツール座標系Σt’は平行で、原点位置だけが異なるので、ツール座標系Σtの原点から第2のツール座標系Σt’の原点へ向かうベクトルを、ツール座標系Σtを基準にして表現したものをPで表す。
対象物4をテーブル5上の適当な位置、たとえば、第1の対象物位置に載置し、ロボット1を適当な、たとえば第1のロボット位置に位置決めした状態で、画像処理を行って、カメラ3の画像から対象物4を検出する。この時の、ロボット座標系Σbから見たツール座標系Σtの位置と姿勢をTb、ロボット座標系Σbから見たツール座標系Σt原点の座標値を(x1,y1,z1)、検出した対象物4のビジョン座標系での座標値を(u1,v1)とする。
次に、対象物4は同じ位置に置いたままで、ロボット1をツール座標系ΣtのZ軸回りに微小角度φだけ回転移動し、前述した方法を用いて、カメラ3の画像に写る対象物4の特徴量が先ほどと同じ(u1,v1)になるようにビジュアルフィードバックを掛ける。この時の収束したロボット位置で、ロボット座標系Σbから見たツール座標系Σt原点の座標値を(x2,y2,z2)とする。
図10は、この様子を真上から見たものである。角度が異なる2つのロボット位置において、カメラ3の画像上では同じ(u1,v1)に対象物4が写っているので、次の式が成り立つ。
Figure 0005850962
ただし、
Figure 0005850962
Figure 0005850962
である。式(2)を展開すると、
Figure 0005850962
となり、Pについて解くと次の解が得られる。
Figure 0005850962
ツール座標系Σtから第2のツール座標系Σt’への変換は座標系の回転を伴わないため、第2のツール座標系Σt’の原点はツール座標系Σtの原点をベクトルPだけ移動することで求められる。
以上により、求めた法線に垂直な面内の平行移動、及び、求めた法線に平行な軸回りの回転移動のみに限定することができるようになった。これにより、収束に必要な移動の方向と回転軸が限定でき、収束時間を短縮することができるようになる。具体的には、対象物を画像上で目標位置に移動する際に高さ方向の収束動作がなくなり、対象物の画像上のサイズが変わらなくなるため、収束判断においてもサイズの差異計算および収束判定を行わずにすみ、処理時間、ひいては収束時間が短縮される。
1 ロボット
2 ロボット制御装置
3 カメラ
4 対象物
5 テーブル
12a ロボット位置記憶部
12b 目標到達状態データ記憶部
15 サーボ制御部

Claims (6)

  1. ロボットのアーム先端部に装着された装置を用いて、平面上の第1の対象物位置に置かれた対象物に対して、所定の作業を行う動作指令を含むプログラムによって制御されるロボットと、
    前記アーム先端部に装着され、対象物を撮像するカメラと、
    前記第1の対象物位置に対して、所定の相対的位置関係にある前記アーム先端部の位置を第1のロボット位置として記憶する第1のロボット位置記憶部と、
    対象物が前記第1の対象物位置に置かれ、前記アーム先端部が前記第1のロボット位置に位置決めされた状態である目標到達状態において、前記カメラの画像上での該対象物の位置、姿勢、及び大きさのうちの少なくとも1つの特徴量を目標到達状態データとして記憶する目標到達状態データ記憶部と、
    前記平面上の第2の対象物位置に置かれた対象物を、前記ロボットのアーム先端部が任意の初期位置に位置決めされた状態において、前記カメラで撮像した際における、該対象物の前記カメラの画像上での位置、姿勢、及び大きさのうちの少なくとも1つの特徴量を前記目標到達状態データのうちの対応する特徴量と一致させるための、前記アーム先端部の前記任意の初期位置からの移動量を求めるロボット移動量計算部と、
    前記アーム先端部を前記移動量に基づいて移動させた際における、前記アーム先端部の位置である第2のロボット位置と、前記第1のロボット位置との差異に基づいて前記プログラムに教示されているロボット位置を補正するための補正データを計算する補正データ計算部と、
    を備えることを特徴とするロボットシステム。
  2. 前記ロボットの前記アーム先端部が前記第2のロボット位置に位置決めされた状態において、前記カメラが撮像した、前記第2の対象物位置に置かれた対象物の画像上での位置、姿勢、及び大きさのうちの少なくとも1つの特徴量と、前記目標到達状態データ記憶部に記憶された目標到達状態データのうち対応する特徴量との差異が所定の値よりも大きい場合に、前記ロボット移動量計算部は、前記第2のロボット位置をあらためて初期位置として前記移動量を求め、前記アーム先端部を該移動量に基づいて移動させた際における、前記アーム先端部の位置をあらためて第2のロボット位置とする、請求項1に記載のロボットシステム。
  3. 前記ロボットの前記アーム先端部が前記第2のロボット位置に位置決めされた状態において、前記ロボット移動量計算部は、前記第2のロボット位置をあらためて初期位置として前記移動量を求め、該移動量が所定の値よりも大きい場合に、前記アーム先端部を該移動量に基づいて移動させた際における、前記アーム先端部の位置をあらためて第2のロボット位置とする、請求項1に記載のロボットシステム。
  4. 直線上に位置していない互いに異なる複数の第2の対象物位置を少なくとも3つ設け、該複数の第2の対象物位置に前記対象物を置き、それぞれの対象物位置に対応した複数の第2のロボット位置を取得し記憶する第2のロボット位置記憶部と、
    前記第2のロボット位置記憶部に記憶された複数の第2のロボット位置に基づいて、前記対象物が置かれている平面の法線ベクトルを算出する法線ベクトル計算部を更に備え、
    前記ロボット移動量計算部は、前記法線ベクトルに垂直な平面内の並進移動、及び該法線ベクトルに平行な軸回りの回転移動のみを移動量として算出する、請求項1乃至3のいずれか一項に記載のロボットシステム。
  5. 前記互いに異なる複数の第2の対象物位置の1つが第1の対象物位置と同一であり、前記複数の第2のロボット位置の1つが第1のロボット位置である、請求項4に記載のロボットシステム。
  6. 前記ロボット移動量計算部による回転移動は、第1の対象物位置に置かれた対象物の中心位置を通り前記法線ベクトルに平行な直線を、前記ロボットが第1のロボット位置に位置決めされた状態で、ロボットのアーム先端部に対する相対的な直線として定義し、該定義されたアーム先端部に対する相対的な直線を回転軸として回転移動させるものであ
    前記対象物の中心位置は、画像処理アルゴリズムとしてテンプレートマッチングを行い、テンプレートが最も一致した際の、テンプレートの中心位置として求められる、請求項4または5に記載のロボットシステム。
JP2014025600A 2014-02-13 2014-02-13 ビジュアルフィードバックを利用したロボットシステム Active JP5850962B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014025600A JP5850962B2 (ja) 2014-02-13 2014-02-13 ビジュアルフィードバックを利用したロボットシステム
DE102015001527.3A DE102015001527B4 (de) 2014-02-13 2015-02-06 Robotersystem, das visuelle Rückmeldung verwendet
US14/618,326 US9517563B2 (en) 2014-02-13 2015-02-10 Robot system using visual feedback
CN201510076713.0A CN104842352B (zh) 2014-02-13 2015-02-12 利用了视觉反馈的机器人系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014025600A JP5850962B2 (ja) 2014-02-13 2014-02-13 ビジュアルフィードバックを利用したロボットシステム

Publications (2)

Publication Number Publication Date
JP2015150636A JP2015150636A (ja) 2015-08-24
JP5850962B2 true JP5850962B2 (ja) 2016-02-03

Family

ID=53676954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014025600A Active JP5850962B2 (ja) 2014-02-13 2014-02-13 ビジュアルフィードバックを利用したロボットシステム

Country Status (4)

Country Link
US (1) US9517563B2 (ja)
JP (1) JP5850962B2 (ja)
CN (1) CN104842352B (ja)
DE (1) DE102015001527B4 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200368918A1 (en) * 2017-08-25 2020-11-26 Fanuc Corporation Robot system

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9259838B1 (en) 2014-07-24 2016-02-16 Google Inc. Systems and methods for ground plane estimation
JP6698268B2 (ja) * 2014-10-14 2020-05-27 蛇の目ミシン工業株式会社 ロボット
US10179407B2 (en) * 2014-11-16 2019-01-15 Robologics Ltd. Dynamic multi-sensor and multi-robot interface system
JP6294248B2 (ja) * 2015-01-28 2018-03-14 ファナック株式会社 ロボットを用いたキサゲ加工装置及びキサゲ加工方法
JP2016221645A (ja) * 2015-06-02 2016-12-28 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
CN107921643B (zh) * 2015-09-03 2021-05-07 株式会社富士 机器人系统
DE202015105595U1 (de) 2015-10-21 2016-01-14 Fft Produktionssysteme Gmbh & Co. Kg Absolutes robotergestütztes Positionsverfahren
US11230011B2 (en) * 2016-02-02 2022-01-25 Abb Schweiz Ag Robot system calibration
JP6430986B2 (ja) 2016-03-25 2018-11-28 ファナック株式会社 ロボットを用いた位置決め装置
JP6854610B2 (ja) * 2016-09-16 2021-04-07 Juki株式会社 縫製システム
US10354371B2 (en) * 2016-10-06 2019-07-16 General Electric Company System, method and apparatus for locating the position of a component for use in a manufacturing operation
TWI614103B (zh) * 2016-10-21 2018-02-11 和碩聯合科技股份有限公司 機械手臂定位方法及應用其的系統
CN108000499B (zh) * 2016-10-27 2020-07-31 达明机器人股份有限公司 机器人视觉坐标的编程方法
EP3366433B1 (en) * 2017-02-09 2022-03-09 Canon Kabushiki Kaisha Method of controlling robot, method of teaching robot, and robot system
JP6860843B2 (ja) * 2017-02-20 2021-04-21 株式会社安川電機 ロボットシステム、ロボット制御装置、及びロボット制御方法
EP3379354A1 (de) * 2017-03-20 2018-09-26 Klingelnberg AG Verfahren und vorrichtung zur automatisierten bearbeitung von zahnrad-bauteilen
JP6680720B2 (ja) * 2017-04-10 2020-04-15 ファナック株式会社 ロボットの動作軌跡を自動で生成する装置、システム、および方法
US10766145B2 (en) * 2017-04-14 2020-09-08 Brown University Eye in-hand robot
JP6815924B2 (ja) * 2017-04-19 2021-01-20 トヨタ自動車株式会社 キャリブレーション装置
JP2020520745A (ja) * 2017-05-25 2020-07-16 コヴィディエン リミテッド パートナーシップ 自動誘導付きロボット外科システム
US11584016B2 (en) 2018-04-24 2023-02-21 Fanuc Corporation Robot controller and system
US11865730B2 (en) 2018-06-05 2024-01-09 Hitachi, Ltd. Camera position/attitude calibration device, camera position/attitude calibration method, and robot
EP3581341B1 (de) * 2018-06-13 2020-12-23 Siemens Healthcare GmbH Verfahren zum betreiben eines roboters, datenspeicher mit einem entsprechenden programmcode, roboter und robotersystem
JP6767436B2 (ja) * 2018-07-06 2020-10-14 ファナック株式会社 自動機械及び制御装置
JP7115096B2 (ja) * 2018-07-23 2022-08-09 オムロン株式会社 制御システム、制御方法およびプログラム
JP6939729B2 (ja) * 2018-07-23 2021-09-22 オムロン株式会社 制御システム、制御方法およびプログラム
JP7065721B2 (ja) * 2018-07-31 2022-05-12 川崎重工業株式会社 ロボットシステム
JP6904315B2 (ja) * 2018-07-31 2021-07-14 オムロン株式会社 情報処理装置、制御システム、情報処理方法およびプログラム
US11636382B1 (en) * 2018-08-10 2023-04-25 Textron Innovations, Inc. Robotic self programming visual inspection
DE102019122790B4 (de) * 2018-08-24 2021-03-25 Nvidia Corp. Robotersteuerungssystem
US11833681B2 (en) 2018-08-24 2023-12-05 Nvidia Corporation Robotic control system
US11396101B2 (en) 2018-11-08 2022-07-26 Kabushiki Kaisha Toshiba Operating system, control device, and computer program product
US11911914B2 (en) 2019-01-28 2024-02-27 Cognex Corporation System and method for automatic hand-eye calibration of vision system for robot motion
JP7306871B2 (ja) * 2019-05-14 2023-07-11 ファナック株式会社 ロボット操作装置、ロボット、ロボット操作方法、プログラムおよびロボット制御装置
JP7290537B2 (ja) * 2019-10-09 2023-06-13 川崎重工業株式会社 補正システム、補正方法、ロボットシステム及び制御装置
JP7409852B2 (ja) 2019-12-10 2024-01-09 ファナック株式会社 ロボット制御装置
CN113001535B (zh) * 2019-12-18 2022-11-15 财团法人工业技术研究院 机器人工件坐标系自动校正系统与方法
CN114945450B (zh) * 2020-01-14 2024-10-01 发那科株式会社 机器人系统
CN112932669B (zh) * 2021-01-18 2024-03-15 广州市微眸医疗器械有限公司 一种执行视网膜层防渗漏隧道的机械臂控制方法
CN112894815B (zh) * 2021-01-25 2022-09-27 西安工业大学 视觉伺服机械臂物品抓取最佳位姿检测方法
JP7559580B2 (ja) * 2021-01-28 2024-10-02 セイコーエプソン株式会社 ロボットシステムの制御方法およびロボットシステム
JP2022125537A (ja) * 2021-02-17 2022-08-29 セイコーエプソン株式会社 校正方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319443A (en) * 1991-03-07 1994-06-07 Fanuc Ltd Detected position correcting method
JP2925072B2 (ja) 1996-08-07 1999-07-26 ファナック株式会社 ロボットの位置教示のための移動制御方式
US6256560B1 (en) 1999-02-25 2001-07-03 Samsung Electronics Co., Ltd. Method for correcting position of automated-guided vehicle and apparatus therefor
JP4265088B2 (ja) 2000-07-10 2009-05-20 株式会社豊田中央研究所 ロボット装置及びその制御方法
JP2003211381A (ja) 2002-01-16 2003-07-29 Denso Wave Inc ロボット制御装置
SE524818C2 (sv) * 2003-02-13 2004-10-05 Abb Ab En metod och ett system för att programmera en industrirobot att förflytta sig relativt definierade positioner på ett objekt
JP2005138223A (ja) * 2003-11-06 2005-06-02 Fanuc Ltd ロボット用位置データ修正装置
JP3733364B2 (ja) * 2003-11-18 2006-01-11 ファナック株式会社 教示位置修正方法
CA2520923A1 (en) * 2004-09-23 2006-03-23 Michael Greenspan Method and apparatus for positional error correction in a robotic pool system using a cue-aligned local camera
JP4266946B2 (ja) 2005-03-17 2009-05-27 ファナック株式会社 オフライン教示装置
JP3946753B2 (ja) 2005-07-25 2007-07-18 ファナック株式会社 ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP4221014B2 (ja) * 2006-06-20 2009-02-12 ファナック株式会社 ロボット制御装置
JP2008132525A (ja) * 2006-11-29 2008-06-12 Nachi Fujikoshi Corp 溶接ロボット教示位置補正システム及び溶接ロボット教示位置補正方法
JP4347386B2 (ja) * 2008-01-23 2009-10-21 ファナック株式会社 加工用ロボットプラグラムの作成装置
JP5272617B2 (ja) 2008-09-26 2013-08-28 株式会社Ihi ロボット装置及びロボット装置の制御方法
JP5324397B2 (ja) * 2009-11-02 2013-10-23 本田技研工業株式会社 情報処理方法及び装置並びにプログラム
JP5517664B2 (ja) 2010-02-17 2014-06-11 株式会社神戸製鋼所 作業マニピュレータのセンシング動作生成方法、センシング動作生成装置及びセンシング動作生成プログラム
JP5561260B2 (ja) * 2011-09-15 2014-07-30 株式会社安川電機 ロボットシステム及び撮像方法
JP2014180720A (ja) * 2013-03-19 2014-09-29 Yaskawa Electric Corp ロボットシステム及びキャリブレーション方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200368918A1 (en) * 2017-08-25 2020-11-26 Fanuc Corporation Robot system
US11565427B2 (en) * 2017-08-25 2023-01-31 Fanuc Corporation Robot system

Also Published As

Publication number Publication date
CN104842352B (zh) 2017-04-12
DE102015001527B4 (de) 2019-02-28
JP2015150636A (ja) 2015-08-24
CN104842352A (zh) 2015-08-19
US9517563B2 (en) 2016-12-13
US20150224649A1 (en) 2015-08-13
DE102015001527A1 (de) 2015-08-13

Similar Documents

Publication Publication Date Title
JP5850962B2 (ja) ビジュアルフィードバックを利用したロボットシステム
US11911914B2 (en) System and method for automatic hand-eye calibration of vision system for robot motion
CN108453701B (zh) 控制机器人的方法、示教机器人的方法和机器人系统
JP6429473B2 (ja) ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP6430986B2 (ja) ロボットを用いた位置決め装置
US20160184996A1 (en) Robot, robot system, control apparatus, and control method
JP5815761B2 (ja) 視覚センサのデータ作成システム及び検出シミュレーションシステム
JP4844453B2 (ja) ロボットの教示装置及び教示方法
JP6324025B2 (ja) 情報処理装置、情報処理方法
JP6855492B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
US11072074B2 (en) Calibration and operation of vision-based manipulation systems
JP6235664B2 (ja) ロボットの機構パラメータを校正するために使用される計測装置
JP2014180720A (ja) ロボットシステム及びキャリブレーション方法
JP6317618B2 (ja) 情報処理装置およびその方法、計測装置、並びに、作業装置
JP2005300230A (ja) 計測装置
JP6885856B2 (ja) ロボットシステムおよびキャリブレーション方法
JP2019155556A (ja) ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法
US12128571B2 (en) 3D computer-vision system with variable spatial resolution
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
JP2005186193A (ja) ロボットのキャリブレーション方法および三次元位置計測方法
US20200376678A1 (en) Visual servo system
CN118510633A (zh) 具备三维传感器的机器人装置以及机器人装置的控制方法
WO2023013739A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
WO2021210540A1 (ja) 座標系設定システム及び位置姿勢計測システム

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151201

R150 Certificate of patent or registration of utility model

Ref document number: 5850962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150