JP5744587B2 - ロボット制御装置、ロボット制御方法、プログラム及び記録媒体 - Google Patents

ロボット制御装置、ロボット制御方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP5744587B2
JP5744587B2 JP2011066000A JP2011066000A JP5744587B2 JP 5744587 B2 JP5744587 B2 JP 5744587B2 JP 2011066000 A JP2011066000 A JP 2011066000A JP 2011066000 A JP2011066000 A JP 2011066000A JP 5744587 B2 JP5744587 B2 JP 5744587B2
Authority
JP
Japan
Prior art keywords
coordinate
coordinate system
workpiece
camera
calculating
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
JP2011066000A
Other languages
English (en)
Other versions
JP2012200805A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2011066000A priority Critical patent/JP5744587B2/ja
Priority to CN201280017069.4A priority patent/CN103459102B/zh
Priority to PCT/JP2012/001880 priority patent/WO2012127845A1/en
Priority to US14/006,638 priority patent/US8977395B2/en
Publication of JP2012200805A publication Critical patent/JP2012200805A/ja
Application granted granted Critical
Publication of JP5744587B2 publication Critical patent/JP5744587B2/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/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
    • 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
    • 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/39022Transform between measuring and manipulator coordinate system
    • 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/39063Quick calculation of coordinates by using precalculated, stored matrixes, inverses
    • 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/40082Docking, align object on end effector with target
    • 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/40609Camera to monitor end effector as well as object to be handled
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R43/00Apparatus or processes specially adapted for manufacturing, assembling, maintaining, or repairing of line connectors or current collectors or for joining electric conductors
    • H01R43/26Apparatus or processes specially adapted for manufacturing, assembling, maintaining, or repairing of line connectors or current collectors or for joining electric conductors for engaging or disengaging the two parts of a coupling device

Description

本発明は、カメラを用いて測定した位置情報に基づき、ロボットで把持した把持物を物品に組み付けるロボット制御装置、ロボット制御方法、プログラム及び記録媒体に関する。
複数のリンク部材からなる多関節のアーム部と、アーム部の先端に設けられたハンド部とを有するロボット本体を備え、ハンド部により第1のワークである把持物を把持して第2のワークである物品に把持物を組み付けるロボットが知られている。
また、カメラで位置を測定する技術は、ステレオ法など多数知られており、カメラで撮像した画像の物品の特徴点について3次元的な位置を測定できる。一つの物品について複数の特徴点を測定することにより、物品の位置と姿勢を測定できることも知られている。また、カメラではなく、投光器と受光器の組合せで位置を測定する技術も多数知られている。
従来、これら把持物及び物品の位置姿勢を測定するために、把持物及び物品を撮像するカメラを、ロボット本体により把持物を部品に組付ける作業位置の上方のカメラ取付台に固定したものが知られている(特許文献1参照)。また、カメラをロボット本体のハンド部に固定したものも知られている(特許文献2参照)。
ところで、ハンド部による把持物の把持位置にばらつきがあると、把持物を物品に組み付ける精密な組立が困難となる。したがって、把持物及び物品の位置姿勢の測定結果をフィードバックして、ロボット本体の軌道を示す動作指令を作成する必要がある。
ここで、カメラを用いて算出する把持物及び物品の位置姿勢は、カメラ座標系を基準としているが、ロボット本体を所定の軌道で動作させるために作成する動作指令は、ロボット座標系を基準としている。したがって、測定した把持物及び物品の位置姿勢を示す座標データを、カメラ座標系からロボット座標系に変換するための座標変換行列を求めておく必要であった。
そこで従来、カメラをカメラ取付台に固定した場合には、ロボット座標系に対してカメラ座標系の位置姿勢は一定と想定されるので、予め設定された一定値の座標変換行列を用いていた。
また、カメラをハンド部に固定した場合には、ロボット本体の動作に応じて、ロボット座標系に対するカメラ座標系の位置姿勢が変化する。したがって、ロボット本体の関節角度より順運動学に基づいて求まるハンド先端の位置姿勢から、ロボット座標系に対するカメラ座標系の位置姿勢を想定することができる。このように想定されるカメラ座標系とロボット座標系との関係から座標変換行列を算出していた。
特開平5−108126号公報 特開平8−174457号公報
近年、ロボット本体に更に精密な組立作業を行わせる要求が高まっている。例えばフレキシブルケーブルの先端に設けたコネクタを、電子機器のコネクタに接続する作業を行わせる要求などがある。
しかし、従来は、カメラ取付台やハンド部等の固定対象物に対してカメラの相対位置が一定である、つまり、ロボット座標系に対するカメラ座標系は既知又は導出できるとして扱っており、カメラ座標系の位置姿勢がずれることは想定されていなかった。
ところが、現実には、カメラ座標系の位置姿勢は様々な原因によってばらつく。例えばカメラ取付台がロボットの動作に伴って揺れたり、環境温度の変化やカメラ自身の温度変化によって取付位置がずれたりすることがある。カメラをハンド部に固定した場合も同様にカメラの位置がハンド部に対してばらつくことがある。つまり、現実的観点に立つと、カメラの位置は必ずばらつくものであるので、ロボット座標系基準のカメラ座標系の位置姿勢を精確に特定することは困難であり、カメラの位置ずれにより組立位置もずれるため、精密な組立作業ができなかった。
特に、ハンド部が把持する把持物が剛体ではなくフレキシブルケーブル等の可撓体(柔軟体)である場合は、ハンド部の姿勢や把持位置の違い等で把持物の位置姿勢が大きく変化する。したがって、フィードバック制御に用いる、ロボット座標系に変換した把持物の位置姿勢の座標データの精確性が特に重要であるが、カメラの位置がばらついてしまうと、算出されるロボット座標系における座標データの精度が低下してしまう。そのため、精密な組立作業ができず、可撓体である場合は特に深刻であった。
そこで、本発明は、カメラの位置がばらついても、カメラ座標系とロボット座標系と校正を行うことなく、ハンド部による第1のワークの把持位置がばらついたり第1のワークが変形したりしても、精密組立が可能なものを提供することを目的とするものである。
本発明のロボット制御装置は、複数のリンク部材が連結されてなるアーム部と、前記アーム部の先端に設けられ、第1のワークを把持して第2のワークに組み付けるハンド部とを有するロボット本体を制御するロボット制御装置において、前記ロボット本体、前記第1のワーク及び前記第2のワークを撮像して得られる画像データを出力するカメラと、前記画像データから前記カメラのカメラ座標系における前記ハンド部の位置姿勢を示す第1の座標系を算出する第1の座標系算出部と、前記画像データから前記カメラのカメラ座標系における前記第1のワークの位置姿勢を示す第2の座標系を算出する第2の座標系算出部と、前記画像データから前記カメラのカメラ座標系における前記第2のワークの位置姿勢を示す第3の座標系を算出する第3の座標系算出部と、前記第2の座標系を前記第1の座標系に変換する第1の座標変換行列を算出する第1の座標変換行列算出部と、前記第3の座標系を前記第1の座標系に変換する第2の座標変換行列を算出する第2の座標変換行列算出部と、前記第1のワークに対して一定の位置姿勢である注目点の座標データを、前記第1のワークの座標系で設定する注目点設定部と、前記第2のワークに対して一定の位置姿勢で前記注目点を通過させるための教示点の座標データを、前記第2のワークの座標系で設定する教示点設定部と、前記注目点設定部で設定された前記注目点の座標データを、前記第1の座標変換行列を用いて座標変換する第1の座標変換部と、前記教示点設定部で設定された前記教示点の座標データを、前記第2の座標変換行列を用いて座標変換する第2の座標変換部と、前記第1の座標変換部で座標変換された前記注目点の座標データが、前記第2の座標変換部で座標変換された前記教示点の座標データと一致する軌道をたどるように前記ロボット本体を動作させるための動作指令を作成する動作指令作成部と、前記ロボット本体に前記動作指令作成部で作成した動作指令を出力する動作指令出力部と、を備えたことを特徴とする。
また、本発明のロボット制御方法は、複数のリンク部材が連結されてなるアーム部と、前記アーム部の先端に設けられ、第1のワークを把持して第2のワークに組み付けるハンド部とを有するロボット本体を制御するロボット制御方法において、前記ロボット本体、前記第1のワーク及び前記第2のワークをカメラで撮像して画像データを取得する撮像工程と、前記画像データから前記カメラのカメラ座標系における前記ハンド部の位置姿勢を示す第1の座標系を算出する第1の座標系算出工程と、前記画像データから前記カメラのカメラ座標系における前記第1のワークの位置姿勢を示す第2の座標系を算出する第2の座標系算出工程と、前記画像データから前記カメラのカメラ座標系における前記第2のワークの位置姿勢を示す第3の座標系を算出する第3の座標系算出工程と、前記第2の座標系を前記第1の座標系に変換する第1の座標変換行列を算出する第1の座標変換行列算出工程と、前記第3の座標系を前記第1の座標系に変換する第2の座標変換行列を算出する第2の座標変換行列算出工程と、前記第1のワークに対して一定の位置姿勢である注目点の座標データを、前記第1のワークの座標系で設定する注目点設定工程と、前記第2のワークに対して一定の位置姿勢で前記注目点を通過させるための教示点の座標データを、前記第2のワークの座標系で設定する教示点設定工程と、前記注目点設定工程にて設定された前記注目点の座標データを、前記第1の座標変換行列を用いて座標変換する第1の座標変換工程と、前記教示点設定工程にて設定された前記教示点の座標データを、前記第2の座標変換行列を用いて座標変換する第2の座標変換工程と、前記第1の座標変換工程にて座標変換された前記注目点の座標データが、前記第2の座標変換工程にて座標変換された前記教示点の座標データと一致する軌道をたどるように前記ロボット本体を動作させるための動作指令を作成する動作指令作成工程と、前記ロボット本体に前記動作指令作成工程にて作成された動作指令を出力する動作指令出力工程と、を備えたことを特徴とする。
また、本発明のプログラムは、複数のリンク部材が連結されてなるアーム部と、前記アーム部の先端に設けられ、第1のワークを把持して第2のワークに組み付けるハンド部とを有するロボット本体を制御するコンピュータに、前記ロボット本体、前記第1のワーク及び前記第2のワークをカメラで撮像して画像データを取得する撮像工程と、前記画像データから前記カメラのカメラ座標系における前記ハンド部の位置姿勢を示す第1の座標系を算出する第1の座標系算出工程と、前記画像データから前記カメラのカメラ座標系における前記第1のワークの位置姿勢を示す第2の座標系を算出する第2の座標系算出工程と、前記画像データから前記カメラのカメラ座標系における前記第2のワークの位置姿勢を示す第3の座標系を算出する第3の座標系算出工程と、前記第2の座標系を前記第1の座標系に変換する第1の座標変換行列を算出する第1の座標変換行列算出工程と、前記第3の座標系を前記第1の座標系に変換する第2の座標変換行列を算出する第2の座標変換行列算出工程と、前記第1のワークに対して一定の位置姿勢である注目点の座標データを、前記第1のワークの座標系で設定する注目点設定工程と、前記第2のワークに対して一定の位置姿勢で前記注目点を通過させるための教示点の座標データを、前記第2のワークの座標系で設定する教示点設定工程と、前記注目点設定工程にて設定された前記注目点の座標データを、前記第1の座標変換行列を用いて座標変換する第1の座標変換工程と、前記教示点設定工程にて設定された前記教示点の座標データを、前記第2の座標変換行列を用いて座標変換する第2の座標変換工程と、前記第1の座標変換工程にて座標変換された前記注目点の座標データが、前記第2の座標変換工程にて座標変換された前記教示点の座標データと一致する軌道をたどるように前記ロボット本体を動作させるための動作指令を作成する動作指令作成工程と、前記ロボット本体に前記動作指令作成工程にて作成された動作指令を出力する動作指令出力工程と、を実行させるためのものである。
また、本発明の記録媒体は、上記プログラムを記録したコンピュータ読み取り可能なものである。
本発明によれば、ハンド部による第1のワークの把持位置がばらついたり、第1のワークが変形したりしても精密な組立ができる。また、カメラの位置がばらついても精密な組立ができる。
本発明の第1実施形態に係るロボットの概略構成を示す説明図である。 本発明の第1実施形態に係るロボットコントローラの機能ブロック図である。 本発明の第1実施形態に係るロボット制御装置の動作を示す動作フローチャートである。 画像データにおけるコネクタを表す説明図である。 本発明の第1実施形態に係るロボットにおいて導出される第1のワークの軌道を説明するための図である。 本発明の第2実施形態に係るロボットにおいて導出される第1のワークの軌道を説明するための図である。 本発明の第3実施形態に係るロボットの概略構成を示す説明図である。 本発明の第4実施形態に係るロボットにおいて、長尺の第1のワークを第2のワークに形成した貫通孔にくぐらせる作業を示す説明図である。 本発明の第4実施形態に係るロボット制御装置の動作を示す動作フローチャートである。 本発明の第5実施形態に係るロボットの概略構成を示す説明図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係るロボットの概略構成を示す説明図である。ロボット100は、ロボット本体101と、ロボット本体101を制御するロボット制御装置102とを備えて構成される。
ロボット本体101は、複数のリンク部材6a〜6fからなる多関節のアーム部6と、アーム部6の先端に設けられたハンド部1とを備えている。アーム部6は、複数のリンク部材6a〜6fが直列に連結されてなり、各関節部で旋回又は回転可能となっている。
複数のリンク部材6a〜6fのうちアーム部6の基端(一端)に配置されたリンク部材6aは、ベース5の固定面(上面)に固定されている。また、複数のリンク部材6a〜6fのうちアーム部6の先端(他端)に配置されたリンク部材6fには、ハンド部1が取り付けられている。本実施形態のハンド部1は、一対のフィンガー1a,1bを有し、一対のフィンガー1a,1bを開閉することで、把持物を把持又は把持開放することができる。また、ロボット本体101は、複数のリンク部材6a〜6f及びハンド部1を回転又は旋回駆動する複数の駆動部7a〜7fを有している。各駆動部7a〜7fは、例えば電動モータである。
本実施形態では、ハンド部1に把持される把持物(第1のワーク)は、先端にコネクタ2aを有するフレキシブルケーブル2である場合について説明する。そして、ケーブル2のコネクタ2aを物品(第2のワーク)であるコネクタ3aに組み付ける(接続する)場合について説明する。このコネクタ3aは、電子機器3の一部であり、電子機器3は、ベース5の固定面に固定されている。
ロボット制御装置102は、カメラ4と、カメラ4から出力された画像データを取得し、座標変換行列を演算して、ロボット本体101(駆動部)を制御するロボットコントローラ(以下、「コントローラ」という)10とを有している。なお、カメラ4は、所謂デジタルカメラであり、視覚センサ、ビジョンなどと呼ばれることもあるが、本実施形態では同じ意味に捉えてカメラという。カメラ4は、ロボット本体101(特にハンド部1)、ケーブル2(特にコネクタ2a)及びコネクタ3aを撮像可能な位置(同一画像内に納まる位置)、例えばベース5の直上の位置に配置されるよう、不図示のカメラ取付台に固定されている。
コントローラ10は、コンピュータとしてのCPU10aと、ROM10bと、RAM10cとを有する。ROM10bには、CPU10aがロボット100全体を制御するためのプログラムと、ロボット言語で記述された複数のコマンドとが記憶されている。このコマンドは、ロボット本体101を動作させるためのものであり、ロボット本体101の座標系(ロボット座標系)を基準として記述されている。RAM10cは、一時的にデータ等が格納されるメモリである。
図2は、コントローラ10の機能ブロック図である。コントローラ10は、第1の座標系算出部11、第2の座標系算出部12、第3の座標系算出部13、第1の座標変換行列算出部14、第2の座標変換行列算出部15を有する。また、コントローラ10は、注目点設定部16、教示点設定部17、第1の座標変換部18、第2の座標変換部19、動作指令作成部20、動作指令出力部21を有する。つまり、CPU10aは、ROM10bに記録されたプログラムを読み出して実行することにより、各部11〜21として機能する。なお、コントローラ10は、図1に示すように、1つのCPU10aを備えているが、これに限らず、複数のCPUを備え、各CPUで分担して各部11〜21として機能するようにしてもよい。例えばコントローラ10が2つのCPUを備える場合には、一方のCPUが各部11〜19として機能し、他方のCPUが各部20,21として機能するようにしてもよい。
以下、ロボット制御装置102の動作について図3に示した動作フローチャートを参照しながら説明する。まず、CPU10aは、カメラ4を動作させ、カメラ4にロボット本体101(特にハンド部1)、ケーブル2及びコネクタ3aを撮像させる。この撮像動作により得られる画像データには、ロボット本体101(特にハンド部1)、ケーブル2及びコネクタ3aが写されている。そして、カメラ4は、撮像結果である画像データを出力し、CPU10aは、カメラ4から出力された画像データを取得する(S1:撮像工程)。ここでは、ハンド部1がケーブル2を把持した直後の状態でこれらが撮像される。
次に、第1の座標系算出部11は、カメラ4より取得した画像データから、ハンド部1に固定した第1の座標系Cを算出する(S2:第1の座標系算出工程)。また、第2の座標系算出部12は、カメラ4より取得した画像データから、ケーブル2のコネクタ2aに固定した第2の座標系Cを算出する(S3:第2の座標系算出工程)。また、第3の座標系算出部13は、カメラ4より取得した画像データから、コネクタ3aに固定した第3の座標系Cを算出する(S4:第3の座標系算出工程)。なお、これらステップS2〜S4の処理の順番はこれに限るものではなく、どのステップから処理を行ってもよい。
ステップS2〜S4で求められる第1の座標系C、第2の座標系C及び第3の座標系Cは、カメラ4のカメラ座標系を基準とした相対的な座標系であり、ハンド部1、ケーブル2(コネクタ2a)、コネクタ3aのカメラ座標系における位置姿勢を示している。
以下、第3の座標系Cを求める動作について具体例を挙げて説明する。なお、第1の座標系C、第2の座標系Cについても同様に求められるので、第3の座標系Cについてのみ説明する。図4は、画像データにおけるコネクタ3aを表す説明図である。まず、第3の座標系算出部13は、カメラ4より取得した画像データから、コネクタ3aの複数の特徴点、例えば直方体の3つの頂点(特徴点)の3次元座標位置P,P,Pを計測する。これは、周知の画像処理により行われる。
次に、3つの特徴点の座標位置P,P,Pを含む平面の法線方向をZ軸とする。Z軸の向きは、座標位置P、座標位置P、座標位置Pの順番に右ネジが回転したときに進む方向とする。次に、2つの特徴点の座標位置P,Pを通る軸をX軸とし、X軸の向きは、座標位置Pから座標位置Pに向かう方向とする。次に、X軸及びZ軸に直交する軸をY軸とする。原点を座標位置Pとする。
こうして第3の座標系Cが求められる。具体的には第3の座標系Cは次の式(1)のような4行4列の行列で表現される。
Figure 0005744587
ここで、(x0,y0,z0)はX軸方向の単位ベクトル、(x1,y1,z1)はY軸方向の単位ベクトル、(x2,y2,z2)はZ軸方向の単位ベクトルを、カメラ座標系で表現したものであり、(x,y,z)は原点を表す。
他の2つの座標系C,Cについても同様である。つまり合計3×3の9個の測定点から、3つの座標系C,C,Cを求める。
次に、第1の座標変換行列算出部14は、座標系C,C間の相対的な位置姿勢である第1の座標変換行列を算出する(S5:第1の座標変換行列算出工程)。また、第2の座標変換行列算出部15は、座標系C,C間の相対的な位置姿勢である第2の座標変換行列を算出する(S6:第2の座標変換行列算出工程)。なお、これらステップS5、S6の処理の順番はこれに限るものではなく、どのステップから処理を行ってもよい。
ここで、第1の座標変換行列は、第1の座標系Cからみた第2の座標系Cの位置姿勢を表し、第2の座標変換行列は、第1の座標系Cからみた第3の座標系Cの位置姿勢を表す。つまり、第1の座標変換行列は、第2の座標系Cで表現された位置姿勢を示す座標データを、第1の座標系Cで表現される位置姿勢を示す座標データに変換することができる。また、第2の座標変換行列は、第3の座標系Cで表現された位置姿勢を示す座標データを、第1の座標系Cで表現される位置姿勢を示す座標データに変換することができる。
ロボット工学で多用される4行4列の座標変換行列の表記に従うと、3つの座標系C,C,C間の相対的な位置姿勢、すなわち座標変換を次の式(2)のように表すことができる。
Figure 0005744587
カメラ4で座標系C,C,C間の相対位置姿勢を求めるとは、この2つの座標変換行列を求めることと同じことである。相対位置を表す2つの座標変換行列を、式(2)を変形した次の式(3)から計算する。この座標変換行列は4行4列である。
Figure 0005744587
ここで、inv()は逆行列を表す。なお、第3の座標系C、第2の座標系Cからみた第3の座標系Cの位置姿勢を表す第3の座標変換行列は、以下の式(4)で表される。
Figure 0005744587
したがって、第2の座標変換行列を以下の式(5)で算出してもよいが、算出結果は、式(3)と同じである。
Figure 0005744587
一方、ロボット本体101の動きは、図1において、ケーブル2のコネクタ2aに固定した注目点8と、コネクタ3aに固定した教示点9から作成できる。簡単な軌道の作成方法は注目点8が教示点9を点つなぎのようにたどる方法である。
そこで、まず、注目点設定部16は、ケーブル2に対して一定の位置姿勢である注目点8の座標データを、ケーブル2の座標系で設定する(S7:注目点設定工程)。ここで、ケーブル2の座標系は、ロボット本体101の座標系(ロボット座標系)を基準とした相対的な座標系である。このロボット座標系におけるケーブル2の座標系(行列)は未知であるが、ケーブル2の座標系における注目点8の座標データは、ケーブル2の位置姿勢にかかわらず一定値として設定される。
また、教示点設定部17は、コネクタ3aに対して一定の位置姿勢で注目点8を通過させるための教示点9の座標データn1n2を、コネクタ3aの座標系で設定する(S8:教示点設定工程)。本実施形態では、教示点9の座標データを複数(2つ)設定する。ここで、コネクタ3aの座標系は、ロボット座標系を基準とした相対的な座標系である。このロボット座標系におけるコネクタ3aの座標系(行列)は未知であるが、コネクタ3aの座標系における教示点9の座標データn1n2は、コネクタ3aの位置姿勢にかかわらず一定値として設定される。図1では、コネクタ2aがコネクタ3aに接続されるまでの一連の動作を教示する複数の教示点9が設定される。
これら注目点8の座標データ及び教示点9の座標データn1n2は、ロボット言語で記述されたコマンドとしてROM10bに記憶されている。ステップS7,S8においてCPU10aは、そのコマンドをROM10bから読み出して解釈し、座標データn1n2としてRAM10cに格納する。
なお、これらステップS7,S8の処理の順番はこれに限るものではなく、どのステップから処理を行ってもよい。また、これらステップS7,S8は、ステップS6の処理よりも前に行ってもよい。
ところで、ステップS5で算出した座標変換行列は、カメラ座標系を基準にして算出されたものであるが、ハンド部1の座標系に対するケーブル2の座標系の相対的な位置姿勢は、カメラ座標系及びロボット座標系のいずれであっても同じである。同様に、ステップS6で算出した座標変換行列は、カメラ座標系を基準にして算出されたものであるが、ハンド部1の座標系に対するコネクタ3aの座標系の相対的な位置姿勢は、カメラ座標系及びロボット座標系のいずれであっても同じである。
そこで、第1の座標変換部18は、注目点設定部16で設定された注目点8の座標データを、第1の座標変換行列を用いて座標データに座標変換する(S9:第1の座標変換工程)。具体的には、第1の座標変換部18は、次の式(6)を用いて座標データを算出する。
Figure 0005744587
これにより、注目点8の座標データは、ケーブル2の座標系からハンド部1の座標系に変換される。このとき、RAM10cに格納されていた座標データは座標データに書き換えられる。ここで、ハンド部1の座標系は、ロボット座標系を基準とした相対的な座標系である。
また、第2の座標変換部19は、教示点設定部17で設定された教示点9の座標データn1n2を、第2の座標変換行列を用いて座標データn1n2に座標変換する(S10:第2の座標変換工程)。具体的には、第2の座標変換部19は、次の式(7)を用いて座標データn1n2)を算出する。
Figure 0005744587
これにより、教示点9の座標データは、コネクタ3aの座標系からハンド部1の座標系に変換される。このとき、RAM10cに格納されていた座標データn1n2は座標データn1n2に書き換えられる。
次に、動作指令作成部20は、第1の座標変換部18で座標変換された注目点8の座標データが、第2の座標変換部19で座標変換された教示点9の座標データn1n2と一致する軌道をたどる図5に表すような軌道Oを作成する。つまり、CPU10aは、RAM10bに格納された座標データ及び座標データn1n2から軌道Oを計算する。なお、軌道Oの作成手法としては、直線補間法やスプライン補間法、円弧補間法等があるが、特にこれらの方法に限定するものではない。動作指令作成部20は、この軌道Oからハンド部1の軌道を計算し、逆運動学に基づき、各リンク部材6a〜6f及びハンド部1の関節角度を計算する。ここで、ハンド部1の軌道は、ハンド部1に対するケーブル2の相対的な位置姿勢が変化しないものとして計算する。そして、動作指令作成部20は、各リンク部材6a〜6f及びハンド部1が演算した各関節角度となるようにロボット本体101の各駆動部7a〜7fを動作させるための動作指令を作成する(S11:動作指令作成工程)。この動作指令は、各リンク部材6a〜6fやハンド部1の関節角度を示す指令である。本実施形態では、ハンド部1の座標系に対するケーブル2の座標系が相対的に変化しないものとして、ハンド部1にてケーブル2を把持したときからコネクタ2aがコネクタ3aに接続されるまでの一連の動作指令を一度に作成する。
そして、動作指令出力部21は、ロボット本体101の各駆動部7a〜7fに動作指令作成部20で作成した動作指令を出力する(S12:動作指令出力工程)。この指令を受信した駆動部7a〜7fは、その指令に応じて各リンク部材6a〜6fやハンド部1を旋回又は回転させる。
以上のステップS1〜S12の処理により、ロボット本体101のハンド部1にて把持されたケーブル2のコネクタ2aを、コネクタ3aに組み付けることができ、精密組立が可能となる。
具体的には、ハンド部1におけるケーブル2の把持位置がばらついたとしても、計算される第2の座標系Cが変化することとなり、その座標系Cの変化が座標変換行列に反映され、最終的に注目点8の座標データに反映される。即ち、ハンド部1におけるケーブル2の把持位置のばらつきがロボット本体101の動作に反映され、ロボット本体101の軌道が補正されることとなる。また、コネクタ3aの位置がばらついたとしても、計算される第3の座標系Cが変化することとなり、その座標系Cの変化が座標変換行列に反映され、最終的に教示点9の座標データn1n2に反映される。即ち、コネクタ3aの位置のばらつきがロボット本体101の動作に反映され、ロボット本体101の軌道が補正されることとなる。これにより、ロボット本体101を高精度に動作させることができ、精密組立が可能となる。
また、把持物であるケーブル2が可撓体であり、ケーブル2が変形するような場合でも、ケーブル2が変形した際には、第2の座標系Cが変化するので、上記と同様、精密組立が可能となる。
さらに、本実施形態では、カメラ座標系におけるハンド部1とケーブル2及びコネクタ3aとの相対的な座標変換行列を求めている。そして、これら座標変換行列を用いて、ロボット座標系を基準としたケーブル2の座標系及びコネクタ3aの座標系での注目点8及び教示点9の座標データを、ハンド部1の座標系に変換している。このようにして求めた座標データn1n2に基づいて動作指令を作成しているので、最終的に作成される動作指令が、カメラ4の位置姿勢の影響を受けない。つまり、カメラ座標系をロボット座標系に変換する座標変換行列を使用していないため、カメラ4がばらついても、最終的に作成される動作指令に影響せず、カメラ4の位置姿勢を精確に測定して校正しなくても、精密組立が可能となる。
ここで、ハンド部1を移動させるときにハンド部1に対するケーブル2の位置が変動する可能性がある場合は、これらルーチンを複数回行うようにしてもよい。つまり、ハンド部1でケーブル2を把持してからコネクタ2aがコネクタ3aに接続されるまでの全行程を一度に行うのではなく、分割して順次行えばよい。その際、分割して実行する分だけ、ステップS1〜S12の処理が実行されることとなる。したがって、第1のワークである把持物としてのケーブル2が変形するような場合でも、精密組立が可能となる。
[第2実施形態]
次に、本発明の第2実施形態に係るロボットについて説明する。図6は、本発明の第2実施形態に係るロボットにおいて導出される第1のワークの軌道を説明するための図である。なお、本第2実施形態におけるロボットの構成は、上記第1実施形態と同様であり、同一符号を用いて説明するが、ロボット本体101の動作、即ちROM10bに格納されているプログラムが異なるものである。
上記第1実施形態では、設定される注目点8が1つで、教示点9が複数の場合について説明した。そして、注目点8が複数の教示点9を通過するようにロボット本体101の軌道、つまり動作指令を作成した。本第2実施形態では、設定される注目点8が複数で、教示点9が1つとしている。この場合もCPU10aは上記第1実施形態の図3に示すフローと略同一の処理を実行するが、ステップS7において設定される注目点8が複数あり、それらの座標データをt1t2とする。ステップS9では、CPU10aは、座標データt1t2に変換する。また、ステップS8において設定される教示点9が1つであり、その座標データをとする。ステップS10では、CPU10aは、座標データに変換する。
そして、ステップS11では、CPU10aは、各注目点8が座標データの教示点9を通過する図6に示すような軌道Oを作成する。そして、CPU10aは、この軌道Oからハンド部1の軌道を計算し、逆運動学に基づき、各リンク部材6a〜6f及びハンド部1の角度を計算する。そして、CPU10aは、各リンク部材6a〜6f及びハンド部1が演算した各角度となるようにロボット本体101の各駆動部7a〜7fを動作させるための動作指令を作成する。
このように、設定される注目点8の座標データが複数であり、設定される教示点9の座標データが1つであっても同様に軌道Oが作成され、動作指令が作成される。したがって、上記第1実施形態と同様の作用効果を奏するものである。なお、注目点8が1つで教示点9が1つの場合や注目点8が複数で教示点9が複数の場合でも同様の作用効果を奏する。
[第3実施形態]
次に、本発明の第3実施形態に係るロボットについて説明する。図7は、本発明の第3実施形態に係るロボット100Bの概略構成を示す説明図である。上記第1実施形態では、カメラ4を不図示のカメラ取付台に固定した場合について説明したが、本第3実施形態では、カメラ4をハンド部1に固定している。このようにカメラ4をハンド部1に固定しても、カメラ4の位置姿勢にかかわりなく、座標変換行列を用いた座標変換により、ハンド部1の座標系における注目点8及び教示点9の座標データが算出され、これらの結果から動作指令が作成される。つまり、カメラ座標系からロボット座標系に変換する変換行列を用いずに、相対的な座標変換行列を用いて座標変換された注目点8及び教示点9の座標データに基づき動作指令が作成される。したがって、ロボット座標系に対するカメラ座標系の位置姿勢を求めなくても動作指令を作成できるので、カメラ4をハンド部1に固定するなど、カメラ4をどの位置に設置しても、上記第1実施形態と同様の作用効果を奏するものである。
[第4実施形態]
次に、本発明の第4実施形態に係るロボットについて説明する。図8は、長尺の第1のワークを第2のワークに形成した貫通孔にくぐらせる作業を示す説明図であり、図9は、本発明の第4実施形態に係るロボットのロボット制御装置の動作を示す動作フローチャートである。なお、上記第1実施形態と同様の構成及び動作については、同一の符号を用いて説明する。
第1のワークである把持物2Aは長尺の可撓体である。第2のワークである物品3Aには、把持物2Aが挿通される貫通孔3bが形成されている。本第4実施形態のロボットは、把持物2Aをハンド部1で把持して物品3Aの貫通孔3bに挿通する作業を行うものである。
本第4実施形態では、把持物2Aに固定した座標系と注目点8の座標データの組が複数ある点が上記実施形態と異なる。図8では3つの組を示した。つまり図8では、把持物2Aに固定した座標系をCB1,CB2,CB3とし、これに対して設定される注目点8の座標データを、B1B2B3とした。まず注目点設定部としてのCPU10aは、複数の注目点8,8,8の座標データB1B2B3を、把持物2Aにおけるそれぞれ異なる特徴点で規定される座標系CB1,CB2,CB3で設定する(S21)。この注目点設定工程であるステップS21では、複数の注目点8,8,8が把持物2Aの長手方向に沿って設定される。このステップS21は、第2の座標系算出工程であるステップS3の処理に先立って行われるものである。
また、教示点設定部として機能するCPU10aは、教示点9の座標データn1n2を、物品3Aの座標系で設定する(S22)。
次に、CPU10aは、座標系CB1,CB2,CB3と注目点の座標データB1B2B3との組の中から一つの組を順次選択する(S23:選択工程)。つまり、CPU10aは、複数の注目点8,8,8のうち、教示点を未通過の注目点(図8では、教示点に最も近い注目点8)を1つ選択する。CPU10aは、把持物2Aが紐のように長い可撓体なので、最初は座標系CB1と注目点8の座標データB1との組を選択する。次は座標系CB2と注目点8の座標データB2の組、その次は座標系CB3と注目点8の座標データB3の組といったように順番に選択する。
ステップS1〜S12では、上記第1実施形態と略同一の処理を行うが、ステップS3では、選択された組の第2の座標系Cの算出を行う。即ち、CPU10aは、ステップS3において、画像データから、ステップS23で選択した注目点8の座標系CB1を規定する特徴点を抽出し、抽出した特徴点から第2の座標系Cを算出する。
そして、CPU10aは、ステップS9において、ステップS21にて設定した複数の注目点8,8,8のうちステップS23で選択された注目点の座標データを、第1の座標変換行列を用いて座標変換する。例えばCPU10aは、選択された組の注目点8の座標データB1を座標データA1に座標変換する。
ステップS11の処理により、注目点8と教示点9とからロボット本体101の軌道、つまり動作指令が計算され、ステップS12の処理でロボット本体101が動作指令に従って動作する。その結果、紐状の把持物2Aが物品3Aの貫通孔3bをくぐらせる動作の一部が実現できる。
次に、判断部として機能するCPU10aは、座標系Cと注目点8との組を全部処理したか判断し(S24:判断工程)、まだ残っている場合(S24:No)はステップS1に戻って処理を続ける。つまり、CPU10aは、ステップS1〜S12を再実行する再実行処理を行う。
その再実行処理の際、CPU10aは、前回のステップS23で座標系CB1と座標データB1との組を選択していたら、今回のステップS23で座標系CB2と座標データB2との組を選択する。前回のステップS23で座標系CB2と座標データB2との組を選択していたら、今回のステップS23で座標系CB3と座標データB3との組を選択する。全部の組を処理することによって、上記第1実施形態と同様の作用効果を奏すると共に、紐状の把持物2Aを物品3Aの貫通孔3bにくぐらせる動作の全体が実現できる。
[第5実施形態]
次に、本発明の第5実施形態に係るロボットについて説明する。図10は、本発明の第5実施形態に係るロボット100Dの概略構成を示す説明図である。なお、図10において上記第1実施形態と同様の構成については、同一符号を付している。
上記第1実施形態に対し本第5実施形態では、ロボット本体101の動作指令の作成に用いる座標系を設置する位置が異なる。精度が高いロボットを使える場合は、ロボット本体101の動作指令に使う座標系をハンド部1に固定する必要が無い。
本第5実施形態では、図10に示すように、ベース5にベース特徴点である3つの位置マーク31が設けられている。これら位置マーク31と、ロボット本体101の取付位置との相対位置は、予め測定しておき、既知とする。
本第5実施形態においても、ロボット制御装置102の動作は上記第1実施形態と略同一であり図3に示す動作と同様の動作を行うが、ステップS1における撮像対象とステップS2における第1の座標系Cを算出する過程が上記第1実施形態と異なる。
本第5実施形態では、CPU10aは、ステップS1において、ベース5におけるロボット本体101(具体的にはその取付位置)との相対位置関係が既知の位置マーク31、ケーブル2及びコネクタ3aをカメラ4で撮像して画像データを取得する。
次に、CPU10aは、ステップS2において、まず、撮像により得られた画像データから位置マーク31を抽出してカメラ4のカメラ座標系におけるベース5の位置姿勢を示すベース座標系Cを算出する。3つの位置マーク31からベース座標系Cを求める方法は、上記第1実施形態で図4を用いて説明した方法と同様である。なお、位置マーク31は画像データを解析しやすくするため黒い円盤形状などが好ましい。次に、CPU10aは、ベース座標系Cを算出した後、ベース座標系Cからカメラ4のカメラ座標系におけるハンド部1の位置姿勢を示す第1の座標系Cを順運動学に基づいて算出する。つまり、ロボット本体101の各関節角度は既知であるので、ハンド部1の座標系Cを求めることができる。これはロボット工学における順機構学問題であり、定式化されている。
このように、ハンド部1の座標系Cを直接求める代わりに、ベース5に固定した座標系Cを求めても、順運動学に基づいて座標系Cが求まる。後のステップS3〜S12は、上記第1実施形態と同様であり、説明を省略する。
以上、精度が高いロボットでは、座標系Cから座標系Cへの変換に含まれる誤差が小さいので、この方法が有効である。したがって、本第5実施形態によれば、カメラ4でロボット本体101が取り付けられたベース5のベース特徴点を測定すれば、ハンド部1を測定する必要がなくなる。
なお、第5実施形態では、ベース5に位置マーク31を設けた場合について説明したが、カメラ4でロボット本体101が取り付けられているベース5の位置姿勢がわかればよいので、位置マーク31は必ずしも必要ではない。ベース5の適当なベース特徴点、例えば角や稜線をベース特徴点としてもよい。この場合もベース座標系Cを求めることができる。
また、第5実施形態では、ベース座標系Cをベース5に固定したが、ロボット本体101の一部、アーム部6の手首部や、肘部などに設置しても同じことである。ロボット工学の機構学(順運動学)に基づけば、ロボット本体101の一部に固定した座標系Cと関節角度から、ハンド部1の座標系Cを求めることができる。つまり、座標系Cの算出に用いるための特徴点をロボット本体101のアーム部6に設定してもよい。
以上、上記第1〜第5実施形態に基づいて本発明を説明したが、本発明はこれに限定されるものではない。
3つの座標系C,C,Cのうち、一度測定した座標系の位置をメモリに記憶し、測定する工程を省略するように構成してもよい。即ち、3つの座標系のうち、毎回同じ、つまりカメラに対して動かないものは一度測定すれば、毎回測定する必要がない。したがって、測定する3つの座標系のうち、何度測定しても位置が変わらないものは一度測定すればその値をメモリに記憶しておくことによって測定を省略することができる。これにより、測定にかかる時間が必要なくなるので組立作業の時間短縮が可能になる。例えばオンハンドカメラの場合、いつもハンド部が同じ位置に撮像されるなら、毎回測定する必要はなく、最初の1回目を除き、測定を省略し前回の測定値を使うことができる。また、第2のワークがカメラに対して動かないのであれば、最初の一回を除き、測定を省略して前回の測定値を使うことができる。
また、コンピュータに読み出されるプログラムが格納される記録媒体は、ROMに限らず、HDDやCD,DVD等のメディア、USBメモリ等の不揮発性メモリであってもよい。つまり、コンピュータにプログラムを読み出し可能に記録されるものであればいかなる記録媒体でもよく、これらに限定するものではない。
そして、上記第1〜第5実施形態の機能をコンピュータに実現させるプログラムを、ネットワーク又は各種記録媒体を介してコンピュータに供給し、そのコンピュータがプログラムコードを読み出して実行するようにすればよい。この場合、そのプログラム、及び該プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明を構成することになる。
1…ハンド部、2…フレキシブルケーブル(第1のワーク)、2a…コネクタ、3a…コネクタ(第2のワーク)、4…カメラ、5…ベース、6…アーム部、6a〜6f…リンク部材、10…ロボットコントローラ、10a…CPU、10b…ROM、10c…RAM、11…第1の座標系算出部、12…第2の座標系算出部、13…第3の座標系算出部、14…第1の座標変換行列算出部、15…第2の座標変換行列算出部、16…注目点設定部、17…教示点設定部、18…第1の座標変換部、19…第2の座標変換部、20…動作指令作成部、21…動作指令出力部、101…ロボット本体、102…ロボット制御装置

Claims (7)

  1. 複数のリンク部材が連結されてなるアーム部と、前記アーム部の先端に設けられ、第1のワークを把持して第2のワークに組み付けるハンド部とを有するロボット本体を制御するロボット制御装置において、
    前記ロボット本体、前記第1のワーク及び前記第2のワークを撮像して得られる画像データを出力するカメラと、
    前記画像データから前記カメラのカメラ座標系における前記ハンド部の位置姿勢を示す第1の座標系を算出する第1の座標系算出部と、
    前記画像データから前記カメラのカメラ座標系における前記第1のワークの位置姿勢を示す第2の座標系を算出する第2の座標系算出部と、
    前記画像データから前記カメラのカメラ座標系における前記第2のワークの位置姿勢を示す第3の座標系を算出する第3の座標系算出部と、
    前記第2の座標系を前記第1の座標系に変換する第1の座標変換行列を算出する第1の座標変換行列算出部と、
    前記第3の座標系を前記第1の座標系に変換する第2の座標変換行列を算出する第2の座標変換行列算出部と、
    前記第1のワークに対して一定の位置姿勢である注目点の座標データを、前記第1のワークの座標系で設定する注目点設定部と、
    前記第2のワークに対して一定の位置姿勢で前記注目点を通過させるための教示点の座標データを、前記第2のワークの座標系で設定する教示点設定部と、
    前記注目点設定部で設定された前記注目点の座標データを、前記第1の座標変換行列を用いて座標変換する第1の座標変換部と、
    前記教示点設定部で設定された前記教示点の座標データを、前記第2の座標変換行列を用いて座標変換する第2の座標変換部と、
    前記第1の座標変換部で座標変換された前記注目点の座標データが、前記第2の座標変換部で座標変換された前記教示点の座標データと一致する軌道をたどるように前記ロボット本体を動作させるための動作指令を作成する動作指令作成部と、
    前記ロボット本体に前記動作指令作成部で作成した動作指令を出力する動作指令出力部と、を備えたことを特徴とするロボット制御装置。
  2. 複数のリンク部材が連結されてなるアーム部と、前記アーム部の先端に設けられ、第1のワークを把持して第2のワークに組み付けるハンド部とを有するロボット本体を制御するロボット制御方法において、
    前記ロボット本体、前記第1のワーク及び前記第2のワークをカメラで撮像して画像データを取得する撮像工程と、
    前記画像データから前記カメラのカメラ座標系における前記ハンド部の位置姿勢を示す第1の座標系を算出する第1の座標系算出工程と、
    前記画像データから前記カメラのカメラ座標系における前記第1のワークの位置姿勢を示す第2の座標系を算出する第2の座標系算出工程と、
    前記画像データから前記カメラのカメラ座標系における前記第2のワークの位置姿勢を示す第3の座標系を算出する第3の座標系算出工程と、
    前記第2の座標系を前記第1の座標系に変換する第1の座標変換行列を算出する第1の座標変換行列算出工程と、
    前記第3の座標系を前記第1の座標系に変換する第2の座標変換行列を算出する第2の座標変換行列算出工程と、
    前記第1のワークに対して一定の位置姿勢である注目点の座標データを、前記第1のワークの座標系で設定する注目点設定工程と、
    前記第2のワークに対して一定の位置姿勢で前記注目点を通過させるための教示点の座標データを、前記第2のワークの座標系で設定する教示点設定工程と、
    前記注目点設定工程にて設定された前記注目点の座標データを、前記第1の座標変換行列を用いて座標変換する第1の座標変換工程と、
    前記教示点設定工程にて設定された前記教示点の座標データを、前記第2の座標変換行列を用いて座標変換する第2の座標変換工程と、
    前記第1の座標変換工程にて座標変換された前記注目点の座標データが、前記第2の座標変換工程にて座標変換された前記教示点の座標データと一致する軌道をたどるように前記ロボット本体を動作させるための動作指令を作成する動作指令作成工程と、
    前記ロボット本体に前記動作指令作成工程にて作成された動作指令を出力する動作指令出力工程と、を備えたことを特徴とするロボット制御方法。
  3. ベースに固定され、複数のリンク部材が連結されてなるアーム部と、前記アーム部の先端に設けられ、第1のワークを把持して第2のワークに組み付けるハンド部とを有するロボット本体を制御するロボット制御方法において、
    前記ベース、前記第1のワーク及び前記第2のワークをカメラで撮像して画像データを取得する撮像工程と、
    前記画像データから前記カメラのカメラ座標系における前記ベースの位置姿勢を示すベース座標系を算出した後、前記ベース座標系から前記カメラのカメラ座標系における前記ハンド部の位置姿勢を示す第1の座標系を順運動学に基づいて算出する第1の座標系算出工程と、
    前記画像データから前記カメラのカメラ座標系における前記第1のワークの位置姿勢を示す第2の座標系を算出する第2の座標系算出工程と、
    前記画像データから前記カメラのカメラ座標系における前記第2のワークの位置姿勢を示す第3の座標系を算出する第3の座標系算出工程と、
    前記第2の座標系を前記第1の座標系に変換する第1の座標変換行列を算出する第1の座標変換行列算出工程と、
    前記第3の座標系を前記第1の座標系に変換する第2の座標変換行列を算出する第2の座標変換行列算出工程と、
    前記第1のワークに対して一定の位置姿勢である注目点の座標データを、前記第1のワークの座標系で設定する注目点設定工程と、
    前記第2のワークに対して一定の位置姿勢で前記注目点を通過させるための教示点の座標データを、前記第2のワークの座標系で設定する教示点設定工程と、
    前記注目点設定工程にて設定された前記注目点の座標データを、前記第1の座標変換行列を用いて座標変換する第1の座標変換工程と、
    前記教示点設定工程にて設定された前記教示点の座標データを、前記第2の座標変換行列を用いて座標変換する第2の座標変換工程と、
    前記第1の座標変換工程にて座標変換された前記注目点の座標データが、前記第2の座標変換工程にて座標変換された前記教示点の座標データと一致する軌道をたどるように前記ロボット本体を動作させるための動作指令を作成する動作指令作成工程と、
    前記ロボット本体に前記動作指令作成工程にて作成された動作指令を出力する動作指令出力工程と、を備えたことを特徴とするロボット制御方法。
  4. 前記注目点設定工程では、前記第2の座標系算出工程に先立って、複数の注目点の座標データを、前記第1のワークにおけるそれぞれ異なる特徴点で規定される座標系で設定し、
    前記複数の注目点のうち、前記教示点を未通過の注目点を選択する選択工程を備え、
    前記第2の座標系算出工程では、前記画像データから、前記選択工程で選択された注目点の座標系を規定する特徴点を抽出し、抽出した特徴点から前記第2の座標系を算出し、
    前記第1の座標変換工程では、前記注目点設定工程にて設定された前記複数の注目点のうち前記選択工程で選択された注目点の座標データを、前記第1の座標変換行列を用いて座標変換することを特徴とする請求項2又は3に記載のロボット制御方法。
  5. 複数のリンク部材が連結されてなるアーム部と、前記アーム部の先端に設けられ、第1のワークを把持して第2のワークに組み付けるハンド部とを有するロボット本体を制御するコンピュータに、
    前記ロボット本体、前記第1のワーク及び前記第2のワークをカメラで撮像して画像データを取得する撮像工程と、
    前記画像データから前記カメラのカメラ座標系における前記ハンド部の位置姿勢を示す第1の座標系を算出する第1の座標系算出工程と、
    前記画像データから前記カメラのカメラ座標系における前記第1のワークの位置姿勢を示す第2の座標系を算出する第2の座標系算出工程と、
    前記画像データから前記カメラのカメラ座標系における前記第2のワークの位置姿勢を示す第3の座標系を算出する第3の座標系算出工程と、
    前記第2の座標系を前記第1の座標系に変換する第1の座標変換行列を算出する第1の座標変換行列算出工程と、
    前記第3の座標系を前記第1の座標系に変換する第2の座標変換行列を算出する第2の座標変換行列算出工程と、
    前記第1のワークに対して一定の位置姿勢である注目点の座標データを、前記第1のワークの座標系で設定する注目点設定工程と、
    前記第2のワークに対して一定の位置姿勢で前記注目点を通過させるための教示点の座標データを、前記第2のワークの座標系で設定する教示点設定工程と、
    前記注目点設定工程にて設定された前記注目点の座標データを、前記第1の座標変換行列を用いて座標変換する第1の座標変換工程と、
    前記教示点設定工程にて設定された前記教示点の座標データを、前記第2の座標変換行列を用いて座標変換する第2の座標変換工程と、
    前記第1の座標変換工程にて座標変換された前記注目点の座標データが、前記第2の座標変換工程にて座標変換された前記教示点の座標データと一致する軌道をたどるように前記ロボット本体を動作させるための動作指令を作成する動作指令作成工程と、
    前記ロボット本体に前記動作指令作成工程にて作成された動作指令を出力する動作指令出力工程と、を実行させるためのプログラム。
  6. ベースに固定され、複数のリンク部材が連結されてなるアーム部と、前記アーム部の先端に設けられ、第1のワークを把持して第2のワークに組み付けるハンド部とを有するロボット本体を制御するコンピュータに、
    前記ベース、前記第1のワーク及び前記第2のワークをカメラで撮像して画像データを取得する撮像工程と、
    前記画像データから前記カメラのカメラ座標系における前記ベースの位置姿勢を示すベース座標系を算出した後、前記ベース座標系から前記カメラのカメラ座標系における前記ハンド部の位置姿勢を示す第1の座標系を順運動学に基づいて算出する第1の座標系算出工程と、
    前記画像データから前記カメラのカメラ座標系における前記第1のワークの位置姿勢を示す第2の座標系を算出する第2の座標系算出工程と、
    前記画像データから前記カメラのカメラ座標系における前記第2のワークの位置姿勢を示す第3の座標系を算出する第3の座標系算出工程と、
    前記第2の座標系を前記第1の座標系に変換する第1の座標変換行列を算出する第1の座標変換行列算出工程と、
    前記第3の座標系を前記第1の座標系に変換する第2の座標変換行列を算出する第2の座標変換行列算出工程と、
    前記第1のワークに対して一定の位置姿勢である注目点の座標データを、前記第1のワークの座標系で設定する注目点設定工程と、
    前記第2のワークに対して一定の位置姿勢で前記注目点を通過させるための教示点の座標データを、前記第2のワークの座標系で設定する教示点設定工程と、
    前記注目点設定工程にて設定された前記注目点の座標データを、前記第1の座標変換行列を用いて座標変換する第1の座標変換工程と、
    前記教示点設定工程にて設定された前記教示点の座標データを、前記第2の座標変換行列を用いて座標変換する第2の座標変換工程と、
    前記第1の座標変換工程にて座標変換された前記注目点の座標データが、前記第2の座標変換工程にて座標変換された前記教示点の座標データと一致する軌道をたどるように前記ロボット本体を動作させるための動作指令を作成する動作指令作成工程と、
    前記ロボット本体に前記動作指令作成工程にて作成された動作指令を出力する動作指令出力工程と、を実行させるためのプログラム。
  7. 請求項5又は6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2011066000A 2011-03-24 2011-03-24 ロボット制御装置、ロボット制御方法、プログラム及び記録媒体 Active JP5744587B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2011066000A JP5744587B2 (ja) 2011-03-24 2011-03-24 ロボット制御装置、ロボット制御方法、プログラム及び記録媒体
CN201280017069.4A CN103459102B (zh) 2011-03-24 2012-03-19 机器人控制装置、机器人控制方法、程序和记录介质
PCT/JP2012/001880 WO2012127845A1 (en) 2011-03-24 2012-03-19 Robot control apparatus, robot control method, program, and recording medium
US14/006,638 US8977395B2 (en) 2011-03-24 2012-03-19 Robot control apparatus, robot control method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011066000A JP5744587B2 (ja) 2011-03-24 2011-03-24 ロボット制御装置、ロボット制御方法、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2012200805A JP2012200805A (ja) 2012-10-22
JP5744587B2 true JP5744587B2 (ja) 2015-07-08

Family

ID=46062681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011066000A Active JP5744587B2 (ja) 2011-03-24 2011-03-24 ロボット制御装置、ロボット制御方法、プログラム及び記録媒体

Country Status (4)

Country Link
US (1) US8977395B2 (ja)
JP (1) JP5744587B2 (ja)
CN (1) CN103459102B (ja)
WO (1) WO2012127845A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140227977A1 (en) * 2013-02-12 2014-08-14 Zary Segall Method, node, device, and computer program for interaction
JP6025658B2 (ja) * 2013-05-29 2016-11-16 本田技研工業株式会社 コネクタ挿入方法及びコネクタ挿入装置
JP6322959B2 (ja) * 2013-11-05 2018-05-16 セイコーエプソン株式会社 ロボット、ロボットシステム、及びロボット制御装置
JP6364836B2 (ja) * 2014-03-14 2018-08-01 セイコーエプソン株式会社 ロボット、ロボットシステム、及び制御装置
EP3146397A1 (en) 2014-05-20 2017-03-29 Par Systems, Inc. Adaptive manufacturing system
CN105313127A (zh) * 2014-06-02 2016-02-10 精工爱普生株式会社 机器人、机器人的控制方法以及机器人的控制装置
JP6427972B2 (ja) * 2014-06-12 2018-11-28 セイコーエプソン株式会社 ロボット、ロボットシステム及び制御装置
JP5911934B2 (ja) * 2014-09-18 2016-04-27 ファナック株式会社 輪郭線計測装置およびロボットシステム
US10356957B2 (en) * 2014-10-31 2019-07-16 Hewlett Packard Enterprise Development Lp Adaptive cooling assembly
CN104325268A (zh) * 2014-11-04 2015-02-04 南京赫曼机器人自动化有限公司 一种基于智能学习的工业机器人三维空间自主装配方法
JP6126067B2 (ja) * 2014-11-28 2017-05-10 ファナック株式会社 工作機械及びロボットを備えた協働システム
US9855658B2 (en) * 2015-03-19 2018-01-02 Rahul Babu Drone assisted adaptive robot control
JP6651707B2 (ja) * 2015-04-10 2020-02-19 セイコーエプソン株式会社 ロボット、制御装置、及び制御方法
JP6485199B2 (ja) * 2015-05-12 2019-03-20 富士通株式会社 把持装置及びフラットケーブル挿入装置
US10335951B2 (en) * 2015-07-29 2019-07-02 Canon Kabushiki Kaisha Information processing apparatus, information processing method, robot control apparatus, and robot system
US10290118B2 (en) * 2015-08-06 2019-05-14 Cognex Corporation System and method for tying together machine vision coordinate spaces in a guided assembly environment
US11054802B2 (en) * 2015-10-21 2021-07-06 Mitsubishi Electric Research Laboratories, Inc. System and method for performing operations of numerical control machines
WO2017134805A1 (ja) * 2016-02-05 2017-08-10 株式会社日立産機システム 位置検出装置、制御装置及び移動体
CN106041937B (zh) * 2016-08-16 2018-09-14 河南埃尔森智能科技有限公司 一种基于双目立体视觉的机械手抓取控制系统的控制方法
JP6514156B2 (ja) 2016-08-17 2019-05-15 ファナック株式会社 ロボット制御装置
JP2018074100A (ja) * 2016-11-04 2018-05-10 富士通株式会社 ラックマウント型情報処理装置
CN106826814B (zh) * 2016-12-16 2019-12-10 深圳市优必选科技有限公司 一种机器人的运动控制方法和运动控制系统
WO2018120210A1 (zh) * 2016-12-30 2018-07-05 深圳配天智能技术研究院有限公司 确定码垛点位置信息的方法、装置及机器人
US11440184B2 (en) * 2017-02-09 2022-09-13 Mitsubishi Electric Corporation Position control device and position control method
WO2019148428A1 (en) 2018-02-01 2019-08-08 Abb Schweiz Ag Vision-based operation for robot
CN111757796B (zh) * 2018-02-23 2023-09-29 仓敷纺绩株式会社 线状物的前端移动方法、控制装置以及三维照相机
WO2019188196A1 (ja) * 2018-03-28 2019-10-03 倉敷紡績株式会社 把持制御装置
JP6806736B2 (ja) * 2018-06-05 2021-01-06 ファナック株式会社 位置情報表示システム
JP6813537B2 (ja) * 2018-06-14 2021-01-13 ファナック株式会社 コネクタ接続用治具
JP7217109B2 (ja) * 2018-09-03 2023-02-02 倉敷紡績株式会社 帯状物の作業位置決定方法、ロボット制御方法、帯状物の作業位置決定装置および帯状物ハンドリングシステム
CN112672859A (zh) * 2018-09-03 2021-04-16 仓敷纺绩株式会社 带状物的作业位置决定方法、机器人控制方法、带状物的作业位置决定装置、带状物处理系统、带状物的三维测量方法及带状物的三维测量装置
JP6673419B2 (ja) * 2018-09-19 2020-03-25 株式会社オートネットワーク技術研究所 配線部材
JP6882245B2 (ja) 2018-10-22 2021-06-02 ファナック株式会社 ロボットシステム
US10753153B1 (en) 2019-02-14 2020-08-25 National Service Alliance—Houston LLC Variable frequency drive configuration for electric driven hydraulic fracking system
CA3072660C (en) 2019-02-14 2020-12-08 National Service Alliance - Houston Llc Electric driven hydraulic fracking operation
US10738580B1 (en) 2019-02-14 2020-08-11 Service Alliance—Houston LLC Electric driven hydraulic fracking system
CA3072788C (en) 2019-02-14 2024-02-27 National Service Alliance - Houston Llc Parameter monitoring and control for an electric driven hydraulic fracking system
US10794165B2 (en) 2019-02-14 2020-10-06 National Service Alliance—Houston LLC Power distribution trailer for an electric driven hydraulic fracking system
JP2020138293A (ja) * 2019-02-28 2020-09-03 セイコーエプソン株式会社 ロボットシステムおよび制御方法
CN109909704B (zh) * 2019-03-06 2021-07-23 上海蔚来汽车有限公司 汽车门饰板装配方法和用于汽车门饰板装配的工装设备
DE102019108810B4 (de) * 2019-04-04 2021-06-24 HELLA GmbH & Co. KGaA Griffelement zur Anordnung an einem Bauteil
EP3738725B1 (en) 2019-05-15 2022-02-16 Omron Corporation Measurement system, measurement device, measurement method, and measurement program
US11648674B2 (en) * 2019-07-23 2023-05-16 Teradyne, Inc. System and method for robotic bin picking using advanced scanning techniques
JP7396829B2 (ja) * 2019-07-31 2023-12-12 ファナック株式会社 ロボット座標系を設定する装置、ロボット制御装置、ロボットシステム、及び方法
US11679508B2 (en) * 2019-08-01 2023-06-20 Fanuc Corporation Robot device controller for controlling position of robot
JP2021030359A (ja) * 2019-08-22 2021-03-01 オムロン株式会社 制御装置、制御方法、及び制御プログラム
JP7306937B2 (ja) * 2019-09-25 2023-07-11 ファナック株式会社 ロボットに支持された部材の位置を調整するロボット装置の制御装置
CN110640746B (zh) * 2019-11-07 2023-03-24 上海电气集团股份有限公司 机器人的坐标系标定及定位方法、系统、设备、介质
CN111015664B (zh) * 2019-12-26 2023-05-30 重庆盟讯电子科技有限公司 一种基于ccd相机的智能化识别方法
CN112847321B (zh) * 2021-01-04 2021-12-28 扬州市职业大学(扬州市广播电视大学) 基于人工智能的工业机器人视觉图像识别系统
CN114918926B (zh) * 2022-07-22 2022-10-25 杭州柳叶刀机器人有限公司 机械臂视觉配准方法、装置、控制终端及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108126A (ja) 1991-10-17 1993-04-30 Kobe Steel Ltd 位置ずれ較正装置
JPH05305591A (ja) * 1992-05-01 1993-11-19 Kobe Steel Ltd 組立ロボット
JP3394322B2 (ja) * 1994-05-19 2003-04-07 ファナック株式会社 視覚センサを用いた座標系設定方法
JPH08174457A (ja) 1994-12-27 1996-07-09 Nissan Motor Co Ltd 組立用ロボットの制御方法およびその装置
DE69736348T2 (de) * 1996-10-24 2006-11-30 Fanuc Ltd. Roboterkraftsteuersystem mit visuellem sensor für zusammenfügungsarbeiten
JP2000117563A (ja) * 1998-10-15 2000-04-25 Hitachi Ltd マーカを有する締結部品
EP1472052A2 (en) * 2002-01-31 2004-11-03 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
US6812665B2 (en) * 2002-04-19 2004-11-02 Abb Ab In-process relative robot workcell calibration
CA2522097C (en) * 2003-04-28 2012-09-25 Stephen James Crampton Cmm arm with exoskeleton
JP4167940B2 (ja) * 2003-05-29 2008-10-22 ファナック株式会社 ロボットシステム
US6822412B1 (en) * 2003-06-11 2004-11-23 Zhongxue Gan Method for calibrating and programming of a robot application
JP3946711B2 (ja) 2004-06-02 2007-07-18 ファナック株式会社 ロボットシステム
DE602005008271D1 (de) * 2004-10-25 2008-08-28 Univ Dayton Verfahren und system zum ermöglichen von erhöhter genauigkeit bei mehrfachverbundenen robotern durch berechnung der kinematischen robotermodellparameter
JP2006212743A (ja) * 2005-02-04 2006-08-17 National Institute Of Advanced Industrial & Technology タスクスキルによるボルト組付け装置
JP2007185723A (ja) * 2006-01-11 2007-07-26 Fujifilm Corp 自動調芯装置及び方法
JP4271232B2 (ja) * 2006-12-20 2009-06-03 ファナック株式会社 ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
WO2009059323A1 (en) * 2007-11-01 2009-05-07 Rimrock Automation, Inc. Dba Wolf Robotics A method and system for finding a tool center point for a robot using an external camera
JP5451219B2 (ja) * 2009-07-06 2014-03-26 キヤノン株式会社 部品組付け方法
JP4706991B2 (ja) 2010-10-05 2011-06-22 株式会社Gsユアサ リチウム二次電池の製造方法

Also Published As

Publication number Publication date
JP2012200805A (ja) 2012-10-22
US8977395B2 (en) 2015-03-10
WO2012127845A1 (en) 2012-09-27
CN103459102B (zh) 2016-01-06
US20140012416A1 (en) 2014-01-09
CN103459102A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
JP5744587B2 (ja) ロボット制御装置、ロボット制御方法、プログラム及び記録媒体
CN110355751B (zh) 控制装置和机器学习装置
US8744625B2 (en) Robot controlling device
JP7326911B2 (ja) 制御システムおよび制御方法
JP6430986B2 (ja) ロボットを用いた位置決め装置
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP4021413B2 (ja) 計測装置
JP6462986B2 (ja) ロボット制御方法、物品の製造方法、及び制御装置
JP4302830B2 (ja) ロボットのキャリブレーション方法及び装置
JP2014180704A (ja) ロボットピッキングシステム及び被加工物の製造方法
KR20110041950A (ko) 여유자유도 제어를 이용한 로봇의 교시 및 재현 방법
Xu et al. Adaptive visual servoing for an underwater soft robot considering refraction effects
JP2015089575A (ja) ロボット、制御装置、ロボットシステム及び制御方法
JP6796557B2 (ja) 溶接ロボットのトーチケーブル干渉評価情報出力装置、評価情報出力方法及びプログラム
JP5834545B2 (ja) ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP2018001393A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP3349652B2 (ja) オフラインティーチング方法
JP7258516B2 (ja) キャリブレーション方法および把持システム
WO2018043524A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
Lippiello et al. A position-based visual impedance control for robot manipulators
JP2014014902A (ja) 制御システム、プログラム及び機械装置の制御方法
AlBeladi et al. Hybrid eye-in-hand/eye-to-hand image based visual servoing for soft continuum arms
Lippiello et al. Robot interaction control using force and vision
JP7256932B1 (ja) 教示装置
Lang et al. Visual servoing with LQR control for mobile robots

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140319

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: 20150407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150430

R151 Written notification of patent or utility model registration

Ref document number: 5744587

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151