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

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

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

Info

Publication number
JP2015136778A
JP2015136778A JP2014010908A JP2014010908A JP2015136778A JP 2015136778 A JP2015136778 A JP 2015136778A JP 2014010908 A JP2014010908 A JP 2014010908A JP 2014010908 A JP2014010908 A JP 2014010908A JP 2015136778 A JP2015136778 A JP 2015136778A
Authority
JP
Japan
Prior art keywords
robot
camera
acceleration
imaging
vibration
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.)
Granted
Application number
JP2014010908A
Other languages
English (en)
Other versions
JP6425385B2 (ja
JP2015136778A5 (ja
Inventor
洋佑 大木
Yosuke Oki
洋佑 大木
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 JP2014010908A priority Critical patent/JP6425385B2/ja
Publication of JP2015136778A publication Critical patent/JP2015136778A/ja
Publication of JP2015136778A5 publication Critical patent/JP2015136778A5/ja
Application granted granted Critical
Publication of JP6425385B2 publication Critical patent/JP6425385B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】ワークを撮像した撮像画像にブレが生じるのをより効果的に低減する。【解決手段】カメラにワークの撮像を開始させる(S12:撮像開始工程)。カメラによる撮像中に、ロボットの振動に関する情報を検出する検出部から検出結果を取得する検出処理を実行する(S13:検出工程)。ステップS13にて取得した検出結果に基づき、ロボットの振動が収束しているか否かを判断する(S14〜S16:判断工程)。判断の結果、ロボットの振動が収束していると判断した場合(S17:Yes)には、カメラによる撮像完了後(S18)、撮像画像からワークの位置及び姿勢を求める画像処理を行う(S19:画像処理工程)。【選択図】図3

Description

本発明は、ロボットの動作をワークの位置及び姿勢に基づいて制御するロボット制御方法、ロボット装置、プログラム及び記録媒体に関する。
ロボットによる部品組立作業は予め位置と姿勢を設定された教示点上を繰返し動作するものが殆どであったが、最近では精密な組立作業や加工作業を行うためにカメラを用いてワークの位置及び姿勢を認識することが行われている。その際、ワークの認識精度を向上させる手段として、振動による撮像ブレの無い画像を取得することが望まれる。すなわち、カメラと撮像対象であるワークの相対位置関係が不変であることと、カメラに内蔵されている視覚センサにおけるワークの存在する座標が把握されていることが挙げられる。
振動による撮像ブレ対策として、撮像時間を短縮化する方法が考えられる。撮像時間を短縮化すると、視覚センサが受光できる光量が減少するため、レンズの開口径(絞り値、F値ともいう)を大きくする必要がある。しかし、撮像対象であるワークの表面形状によっては認識に必要十分な光量を確保できないことがある。
そこで、組立要求精度に応じて設定した範囲に振動が収束した瞬間にカメラのシャッターを切る(撮像を開始する)方法が提案されている(特許文献1参照)。
特開2011−11330号公報
しかしながら、振動が収束したことを確認して撮像を開始する特許文献1の方法では、カメラの撮像開始後に外乱等により振動が生じた場合、撮像した画像にブレが生じる可能性があった。そのため、画像処理装置がブレのある撮像画像に対して画像処理を行ってもワークの位置及び姿勢を認識できないといった問題が発生していた。
本発明は、ワークを撮像した撮像画像にブレが生じるのをより効果的に低減することを目的とする。
本発明は、制御部が、ワークを撮像したカメラから取得した撮像画像を用いて前記ワークの位置及び姿勢を求める画像処理を行い、多関節のロボットアーム、及び前記ロボットアームの先端に取り付けられたエンドエフェクタを有するロボットの動作を、前記ワークの位置及び姿勢に基づいて制御するロボット制御方法において、前記制御部が、前記カメラに前記ワークの撮像を開始させる撮像開始工程と、前記制御部が、前記カメラによる撮像中に、前記ロボットの振動に関する情報を検出する検出部から検出結果を取得する検出工程と、前記制御部が、前記検出工程にて取得した検出結果に基づき、前記ロボットの振動が収束しているか否かを判断する判断工程と、前記制御部が、前記判断工程の判断の結果、前記ロボットの振動が収束していると判断した場合には、前記カメラによる撮像完了後、前記画像処理を行う画像処理工程と、を備えたことを特徴とする。
本発明によれば、カメラによる撮像中にロボットの振動が収束していることを確認して撮像を完了するので、ワークを撮像した撮像画像にブレが生じるのをより効果的に低減することができる。これにより、撮像画像からワークの位置及び姿勢を精度よく認識することができ、ロボットによる作業精度が向上する。
第1実施形態に係るロボット装置の概略構成を示す斜視図である。 第1実施形態に係るロボット装置を示すブロック図である。 第1実施形態に係るロボット制御方法の各工程を示すフローチャートである。 ロボットの動作停止後に発生するロボットの残留振動による位置、速度及び加速度の時間変化を示したグラフである。 第2実施形態に係るロボット装置の概略構成を示す斜視図である。 第2実施形態に係るロボット装置を示すブロック図である。 第2実施形態に係るロボット制御方法の各工程を示すフローチャートである。 ロボットの動作停止後に発生するロボットの残留振動による位置、速度及び加速度の時間変化を示したグラフである。 第3実施形態に係るロボット装置の概略構成を示す斜視図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係るロボット装置の概略構成を示す斜視図である。ロボット装置100は、1つのロボット200を備えた、いわゆる単腕ロボット装置である。ロボット装置100は、ロボット200の作業対象であるワークWを撮像するカメラ300を備えている。また、ロボット装置100は、カメラ300で撮像した撮像画像を取り込んで、所定の画像処理を施す画像処理装置(画像処理部)400と、ロボット200を制御するロボット制御装置500と、を備えている。第1実施形態では、画像処理装置400とロボット制御装置500により、制御システム(制御部)600が構成されている。
ロボット200は、垂直多関節(例えば6軸)のロボットアーム201と、ロボットアーム201の先端に取り付けられた、ワークWを把持するためのロボットハンド(エンドエフェクタ)202と、を有している。ロボットアーム201は、複数のリンク211〜216が関節で連結されて構成されている。ロボットアーム201の基端は、床Fに配置された架台700上に固定されている。
ロボットハンド202とロボットアーム201との間には、ロボットハンド202に作用する力(例えばロボットハンド202がワークWを把持したときの力)を検出する力覚センサ250が設けられている。
カメラ300は、CCDイメージセンサやCMOSイメージセンサ等の撮像素子(視覚センサ)を有するデジタルカメラである。カメラ300は、支柱によりロボットアーム201のリンク216に固定されており、カメラ300の内部には、ロボット200の加速度(カメラ300の加速度)を検出する加速度センサ(検出部)260が搭載されている。カメラ300及び加速度センサ260は、画像処理装置400に接続されている。
画像処理装置400は、カメラ300で撮像した撮像画像に対してパターンマッチング等を行い、ワークWの位置及び姿勢を求める画像処理を実行する。また、加速度センサ260で検出された加速度の情報は、画像処理装置400を通じてロボット制御装置500に出力される。
図2は、本発明の第1実施形態に係るロボット装置100を示すブロック図である。ロボット制御装置500は、演算部としてのCPU(Central Processing Unit)501を備えている。また、ロボット制御装置500は、記憶部として、ROM(Read Only Memory)502、RAM(Random Access Memory)503、HDD(Hard Disk Drive)504を備えている。また、ロボット制御装置500は、記録ディスクドライブ505、計時部であるタイマ506及び各種のインタフェース511〜514を備えている。なお、タイマ506は、CPU501が備えていてもよい。
CPU501には、ROM502、ROM503、HDD504、記録ディスクドライブ505及び各種のインタフェース511〜514が、バス520を介して接続されている。ROM502には、BIOS等の基本プログラムが格納されている。RAM503は、CPU501の演算処理結果等、各種データを一時的に記憶する記憶装置である。
HDD504は、CPU501の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU501に、後述する各種演算処理を実行させるためのプログラム530を記録するものである。CPU501は、HDD504に記録(格納)されたプログラム530に基づいてロボット制御方法の各工程を実行する。
記録ディスクドライブ505は、記録ディスク531に記録された各種データやプログラム等を読み出すことができる。タイマ506は、CPU501の制御により計時するものである。
インタフェース511には、画像処理装置400が接続されている。画像処理装置400は、カメラ300から取得した撮像画像からワークWの位置及び姿勢を求める画像処理を行い、ワークWの位置及び姿勢を示すデータを、インタフェース511及びバス520を介してCPU501に出力する。
検出部である加速度センサ260は、ロボット200の振動に関する情報として、ロボットの加速度の情報を検出する。加速度の情報は、画像処理装置400、インタフェース511及びバス520を介してCPU501に出力される。
インタフェース512には、力覚センサ250が接続されている。力覚センサ250により検出された力の情報は、インタフェース512及びバス520を介してCPU501に出力される。
インタフェース513には、ロボットアーム201が接続されている。CPU501は、組立用のプログラム530に基づいて軌道計算を行い、位置指令(関節角度指令)を所定時間間隔でインタフェース513を介してロボットアーム201の各関節の駆動部に出力する。各関節の駆動部は、入力した位置指令に基づき、各関節を駆動する。
インタフェース514には、ロボットハンド202が接続されており、CPU501は、組立用のプログラム530に基づいてロボットハンド202の把持動作を制御する。
なお、バス520には、不図示のインタフェースを介して、書き換え可能な不揮発性メモリや外付けHDD等の不図示の外部記憶装置が接続されていてもよい。
第1実施形態では、画像処理装置400が、ワークWを撮像したカメラ300から取得した撮像画像を用いてワークWの位置及び姿勢を求める画像処理を行う。そして、ロボット制御装置500のCPU501が、HDD504に格納されたプログラム530を読み出して実行することで、ロボット200の動作を、画像処理装置400から取得したワークWの位置及び姿勢のデータに基づいて制御する。
また、CPU501は、加速度センサ260から取得した検出結果(加速度の情報)から、ロボット200の位置、及びロボット200の速度の2つの情報を、演算(積分)により求める。
つまり、第1実施形態では、CPU501が加速度センサ260で得られた加速度情報を用いて演算処理(積分)を行うことで、ロボット200の速度及び位置を求める方式とする。
ロボットアーム201は、画像処理装置400から送られたワークWの位置及び姿勢の情報と加速度センサ260の検出信号、ロボット制御装置500に組み込まれた組立用のプログラム530によって、ワークWの組立作業を行う。
ここで、ロボット200の位置とは、ロボット200の手先(即ちロボットハンド202)の位置である。また、ロボット200の速度とは、ロボット200の手先の速度であり、ロボット200の加速度とは、ロボットの手先の加速度である。
なお、図示は省略するが、画像処理装置400は、演算部(CPU)と、演算部に画像処理を実行させるプログラムを記憶した記憶部とを有している。
図3は、本発明の第1実施形態に係るロボット制御方法の各工程を示すフローチャートである。図4は、ロボット200の動作停止(時刻t0)後に発生するロボット200の残留振動による位置P、速度V及び加速度Aの時間変化を示したグラフである。図4には、X軸に時間、Y軸に位置P、速度V、加速度Aの振動波形を示している。
CPU501は、ワークWの撮像を行う所定の位置及び姿勢にロボット200の動作を制御し、次いで、ロボット200に動作停止信号を送り、ロボット200の動作を停止させる(S11)。つまり、CPU501は、カメラ300によりワークWを撮像する位置及び姿勢にロボット200を動作させてその位置及び姿勢でロボット200を停止させる。
次に、CPU501は、カメラ300にワークWの撮像を開始させる(S12:撮像開始工程)。即ち、CPU501は、画像処理装置400を介してカメラ300にシャッターを開くトリガ信号を出力する。このトリガ信号を入力したカメラ300は、シャッターを開く。これと同時にCPU501は、タイマ506に計時を開始させる。
カメラ300の撮像開始のタイミングは、ステップS11のJOB動作開始後であり、ロボットハンド202でワークWを把持する前までに撮像を完了するものである。
ところで、CPU501は、ステップS11により、図4の時刻t0のタイミングでロボット200に動作停止信号を送り、ロボット200が停止したと判断する。しかし、実際にはロボット200は動作停止に伴う振動が残留しているため、ロボットアーム201の先端、つまりロボットアーム201の先端に取り付けられたロボットハンド202とカメラ300の位置、速度及び加速度は絶えず変化している。
ロボット200の残留振動によるロボット200の位置を実位置Pn1、ロボット200の速度を実速度Vn1、ロボット200の加速度を実加速度An1とする。実位置Pn1、実速度Vn1、実加速度An1は、図4に示すように、時刻t0では大きな振幅であるが、時刻t1から時刻t2と時間が経過するにつれて、徐々に減衰していく。前述の残留振動の影響で、カメラ300でワークWを撮像するには、ロボット200が動作を停止した時点(図4の時刻t0)から振動が収束するまで待つ必要がある。
CPU501は、カメラ300による撮像中に、加速度センサ260から検出結果である加速度の情報を取得する(S13:検出工程)。
次いで、CPU501は、取得した加速度An1の情報から、ロボット200の位置Pn1及び速度Vn1の2つの情報を演算(積分)により求める。そして、CPU501は、これら加速度An1、速度Vn1、位置Pn1を閾値判定することにより、ロボット200の振動が収束しているか否かを判断する(S14〜S16:判断工程)。
CPU501は、ステップS14〜S16の判断の結果、ロボット200の振動が収束していると判断した場合(S14〜S16:全て「OK」)、カメラ300により撮像を開始してから所定時間経過したか否かを判断する(S17)。つまり、CPU501は、タイマ506の計時時間が所定時間に達したか否かを判断する。所定時間は、シャッタースピード(撮像時間)であり、予め設定された時間(例えば、1/10秒)である。
CPU501は、撮像を開始してから所定時間が経過するまでの間は、ステップS13〜S16を繰り返し実行する。
CPU501は、ロボット200の振動が収束していると判断している条件の下、撮像開始から所定時間が経過したと判断した場合(S17:Yes)、カメラ300による撮像を完了させる(S18)。つまり、CPU501は、カメラ300のシャッターを閉じるトリガ信号を出力し、トリガ信号を受けたカメラ300は、シャッターを閉じる。CPU501は、カメラ300による撮像完了後、画像処理装置400に画像処理を行わせる(S19:画像処理工程)。
つまり、ステップS19では、CPU501は、画像処理装置400にカメラ300から得た画像に対してパターンマッチング処理を行わせ、画像処理装置400から、ワークWの位置及び姿勢の情報を取得する。そして、CPU501は、ワークWの位置及び姿勢に基づき、ロボット200の動作を制御する。
CPU501は、ステップS14〜S16の判断の結果、ロボット200の振動が収束していないと判断した場合(S14〜S16のうち少なくとも1つが「NG」)、カメラ300による撮像を強制的に終了(つまり中止)させる(S20)。この場合、撮像途中の画像は、破棄される。
このステップS20の処理は、時間短縮の観点から、撮像を開始してから所定時間が経過するのを待たずに行うのが好ましいが、所定時間経過してから撮像を終了してもよい。
そして、CPU501は、再度、ステップS12の処理に戻って撮像を開始させる撮像開始工程を実行する。CPU501は、ステップS12の処理に戻ることで、ステップS14〜S16が「OK」の間は、ステップS13〜S17を繰り返し実行することとなる。なお、CPU501は、ステップS20で撮像を終了したら、直ちにステップS12にて撮像を開始してもよいが、ステップS20で撮像を終了してから所定の待機時間経過後、ステップS12にて撮像を開始してもよい。CPU501は、この所定の待機時間の計時もタイマ506に行わせる。
ここで、ステップS14〜S16の処理について具体的に説明する。検出部は、ロボット200の振動に関する情報として、ロボット200の位置、速度及び加速度のうち少なくとも1つの情報を検出すればよく、第1実施形態では、ロボット200の加速度を検出する加速度センサ260である。
そして、判断工程では、ロボット200の位置、速度及び加速度のうち、少なくとも1つを閾値判定すればよいが、特に、ロボット200の加速度を閾値判定するのが好ましい。第1実施形態では、ロボット200の位置、速度及び加速度のうち全てを閾値判定する。したがって、第1実施形態では、CPU501は、ロボット200の加速度の情報に基づいて、残り2つの情報、即ちロボット200の速度及び位置を算出している。
まず、CPU501は、加速度の情報に基づいて算出した実位置Pn1(位置の情報)について閾値判定する(S14)。即ち、CPU501は、算出した実位置Pn1が、予め設定した上限位置閾値+Δp11と下限位置閾値−Δp12との間の所定位置範囲内(位置閾値許容範囲内)であるか否かを判断する。
ロボット200には動作停止に伴う振動が残留しているため、ロボット200に取り付けられたカメラ300の位置は絶えず変化している。この残留振動によるロボット200の位置(実位置)Pn1は、時間が経過するにつれて、徐々に減衰していく。カメラ300でワークWを撮像するには、ロボット200が動作を停止した時点から振動が収束するまで待つ必要がある。したがって、第1実施形態では、ステップS14でロボット200の実位置Pn1の閾値判定を行う。
また、CPU501は、加速度の情報に基づいて算出した実速度Vn1(速度の情報)について閾値判定する(S15)。即ち、CPU501は、算出した実速度Vn1が、予め設定した上限速度閾値+Δv11と下限速度閾値−Δv12との間の所定速度範囲内(速度閾値許容範囲内)であるか否かを判断する。
即ち、ステップS14で実位置Pn1が位置閾値の条件を満たしたとしても、ロボット200に移動速度が残留している場合がある。このとき、カメラ300で撮像を行ってもワークWがブレた画像となる可能性が極めて高くなるため、ステップS15でロボット200の実速度Vn1の閾値判定を行う。
更にまた、CPU501は、検出した実加速度An1(加速度の情報)について閾値判定する(S16)。即ち、CPU501は、検出した実加速度An1が、予め設定した上限加速度閾値+Δa11と下限加速度閾値−Δa12との間の所定加速度範囲内(加速度閾値許容範囲内)であるか否かを判断する。
ステップS14の位置閾値及びステップS15の速度閾値を満足した場合であっても、一時的に実加速度An1が上昇することがある。これは、ロボット200に想定外の振動が発生している場合等である。このとき、カメラでワークを撮像したとしても、ワークの認識結果を劣化させる可能性があるため、ステップS16でロボット200の実加速度An1の閾値判定を行う。
第1実施形態では、CPU501は、ロボット200の振動が収束しているか否かの判断として、ロボット200の位置、速度、加速度が、それぞれ所定位置範囲内、所定速度範囲内、所定加速度範囲内であるか否かを判断する。
そして、CPU501は、ロボット200の位置が所定位置範囲内であり、速度が所定速度範囲内であり、加速度が所定加速度範囲内である場合、即ちステップS14〜S16のいずれも「OK」の場合には、ロボット200の振動が収束していると判断する。CPU501は、ロボット200の位置、速度、加速度のうち少なくとも1つでも所定位置範囲内、所定速度範囲内、所定加速度範囲内ではない場合、即ちステップS14〜S16の少なくとも1つでも「NG」の場合には、振動が収束していないと判断する。
なお、これらステップS14〜S16の判定の順番は、これに限らず、どのステップから行ってもよく、同時にできる場合は、同時に行ってもよい。但し、実加速度An1、実速度Vn1、実位置Pn1の順に閾値判定を行うと、閾値判定に要する時間を短縮することができるため、好ましい。
上限位置閾値+Δp11、下限位置閾値−Δp12は、カメラ300で撮像した画像内にワークWが収まる時の許容値から決定される。なお、上限位置閾値+Δp11、下限位置閾値−Δp12は、画像処理への要求精度により決定されるものである。上限速度閾値+Δv11、下限速度閾値−Δv12は、カメラ300のシャッタースピードと画像処理への要求精度により決定される。上限加速度閾値+Δa11、下限加速度閾値−Δa12は、カメラ300の許容振動振幅を目安に決定される。
以下、図4を例にステップS14〜S16の動作について説明する。なお、図4の時刻t1の時点でカメラ300の撮像を開始するものとする。
時刻t1の時点で、実位置Pn1が位置閾値許容範囲−Δp12≦Pn1≦+Δp11の条件、実加速度An1が加速度閾値許容範囲−Δa12≦An1≦+Δa11の条件を満たしている。しかし、実速度Vn1が速度閾値許容範囲−Δv12≦Vn1≦+Δv11の条件を満たしていない。
また、時刻t2においても、実位置Pn1が位置閾値許容範囲−Δp12≦Pn1≦+Δp11の条件、実速度Vn1が速度閾値許容範囲−Δv12≦Vn1≦+Δv11の条件を満たしている。しかし、時刻t2では、振動が時刻t1の時点よりは減衰しているものの、実加速度An1が加速度閾値許容範囲−Δa12≦An1≦+Δa11の条件を満たしていない。これは、ロボット200に想定外の振動が発生しているためと考えられる。このとき、カメラ300でワークWを撮像したとしても、ワークWの認識結果を劣化させる可能性がある。そのため、検出した実加速度An1をフィードバックして撮像完了のタイミングを決定する。一般に、振動振幅は、「系を押す力」と「系の弾性係数」から予測できるものであるが、ロボットアーム201の弾性係数は姿勢や減速機の構造など非線形な部分が有るため、測定結果に誤差を生じる原因となる。
以上、時刻t1から時刻t3に至る前までは、CPU501は、振動が収束していないと判断し続け、カメラ300による撮像を開始しても、撮像を中止させて、撮像画像は廃棄し続ける。
次に、CPU501は、時刻t3でステップS14〜S16の3つの条件を満たす。しかし、カメラ300による撮像を開始した時刻t3から撮像時間Tsが経過するまでに、時刻t4において、外乱等の振動により、実位置Pn1及び実加速度An1が閾値判定において条件を満たさなくなり、ステップS14(S16)で「NG」と判定される。したがって、時刻t3から時刻t4にかけて取り込んだ撮像画像はステップS20にて廃棄される。時刻t5においては、実速度Vn1も閾値判定において条件を満たさなくなる。時刻t6においては、実位置Pn1,実速度Vn1が条件を満たしているが、実加速度An1が依然として条件を満たしていない。
そして、CPU501は、時刻t7において、実位置Pn1、実速度Vn1、実加速度An1の3つが条件を満たしていると判断し、時刻t7から所定時間(撮像時間)Ts経過した時点で撮像を完了する(S18)。
以上、第1実施形態によれば、CPU501が、カメラ300による撮像中にロボット200の振動が収束していることを確認して撮像を完了させるので、ワークWを撮像した撮像画像にブレが生じるのをより効果的に低減することができる。これにより、撮像画像からワークWの位置及び姿勢を精度よく認識することができ、ロボット200による作業精度が向上する。
また、第1実施形態によれば、CPU501が、ロボット200の振動が収束していないと判断した場合、カメラ300による撮像を終了させて、再度、カメラ300による撮像を開始している。つまり、ロボット200の振動が収束するまで、ワークWを撮り直すこととなり、撮像画像にブレが生じるのをより効果的に低減することができる。これにより、撮像画像からワークWの位置及び姿勢を精度よく認識することができ、ロボット200による作業精度が向上する。
また、第1実施形態によれば、CPU501が、カメラ300による撮像中、ステップS13〜S16を繰り返し実行するので、より効果的に撮像画像にブレが生じるのを低減することができる。
また、第1実施形態によれば、ロボット200の振動に関する情報として、ロボット200の加速度を検出しているので、正確にロボット200の振動を把握することができる。また、第1実施形態によれば、ロボット200の位置及び速度も演算により求めているので、より正確にロボット200の振動を把握することができる。
そして、第1実施形態によれば、カメラ300の撮像中において、ロボット200が位置閾値以内であり、速度閾値以内であり、加速度閾値以内であるときのみ、所定時間経過したら撮像完了とし、撮像画像が画像処理装置400にて取得される。これにより、カメラ300の撮像完了タイミングを早めつつ、カメラ300の撮像中に入力する外乱による振動により画像に生じるブレを低減することができる。また、画像処理装置400でワークWの認識異常の発生を防止できるため、画像処理装置400での異常による装置停止の頻度を低減する効果が期待できる。
また、画像処理装置400においては、エラー画像(ブレが生じた撮像画像)の画像補正処理を行う必要がないので、ワークWの位置及び姿勢を求める画像処理に要する時間を短縮することができる。
[第2実施形態]
次に、本発明の第2実施形態に係るロボット装置におけるロボット制御方法について説明する。図5は、本発明の第2実施形態に係るロボット装置の概略構成を示す斜視図である。なお、第2実施形態のロボット装置100Aにおいて、上記第1実施形態のロボット装置100の構成と同様の構成については、同一符号を付して説明を省略する。
ロボット装置100Aは、2つのロボット200,200を備えた、いわゆる双腕ロボット装置である。ロボット装置100Aは、上記第1実施形態と同様のカメラ300及び画像処理装置(画像処理部)400と、ロボット200,200を制御するロボット制御装置500Aと、を備えている。第2実施形態では、画像処理装置400とロボット制御装置500Aにより、制御システム(制御部)600Aが構成されている。
ロボット200は、上記第1実施形態のロボットアーム201と同様の構成のロボットアーム201と、上記第1実施形態のロボットハンド202と同様の構成のロボットハンド202とを有している。ロボット200は、上記第1実施形態のロボットアーム201と同様の構成のロボットアーム201と、ロボットアーム201の先端に取り付けられたロボットハンド(エンドエフェクタ)202とを有している。ロボットハンド202は、ワークWを把持可能に構成されている。
カメラ300は、複数のロボット200,200のうちいずれか1つ、第2実施形態ではロボット200の先端に取り付けられている。したがって、ロボット200のロボットハンド202で把持したワークWをロボット200に取り付けられたカメラ300で撮像することが可能である。
ロボットハンド202とロボットアーム201との間には、上記第1実施形態の力覚センサ250と同様の構成の力覚センサ250が設けられている。
カメラ300には、加速度センサ(検出部)260が設けられている。また、ロボットハンド202とロボットアーム201との間には、上記第1実施形態の力覚センサ250と同様の構成の力覚センサ(検出部)250が設けられている。つまり、第2実施形態では、ロボットが複数存在し、検出部が各ロボットに対応して設けられている。
図6は、本発明の第2実施形態に係るロボット装置100Aを示すブロック図である。ロボット制御装置500Aは、演算部としてCPU501、記憶部として、ROM502、RAM503、HDD504を備えている。また、ロボット制御装置500は、記録ディスクドライブ505、タイマ506及び各種のインタフェース511〜517を備えている。なお、タイマ506は、CPU501が備えていてもよい。
CPU501には、ROM502、ROM503、HDD504、記録ディスクドライブ505及び各種のインタフェース511〜517が、バス520を介して接続されている。
HDD504には、CPU501に、後述する各種演算処理を実行させるためのプログラム530Aが記録(格納)されている。CPU501は、HDD504に記録(格納)されたプログラム530Aに基づいてロボット制御方法の各工程を実行する。
上記第1実施形態と同様、インタフェース511には、画像処理装置400が接続されている。
インタフェース512には力覚センサ250が、インタフェース513にはロボットアーム201が、インタフェース514にはロボットハンド202がそれぞれ接続されている。また、インタフェース515には力覚センサ250が、インタフェース516にはロボットアーム201が、インタフェース517にはロボットハンド202がそれぞれ接続されている。
CPU501は、プログラム530Aを読み出して実行することで、ロボット200,200の動作を、画像処理装置400から取得したワークWの位置及び姿勢のデータに基づいて制御する。
第2実施形態では、CPU501は、加速度センサ260から取得した検出結果(加速度の情報)から、ロボット200の位置、及びロボット200の速度の2つの情報を、演算(演算)により求める。
また、CPU501は、力覚センサ250から取得した力の情報をロボット200の加速度の情報に変換して、当該加速度の情報を力覚センサ250から検出結果とする。そして、CPU501は、ロボット200の位置、及びロボット200の速度の2つの情報を、加速度の情報から演算(積分)により求める。
ここで、ロボット200,200の位置とは、ロボット200,200の手先(即ちロボットハンド202,202)の位置である。また、ロボット200,200の速度とは、ロボット200,200の手先の速度であり、ロボット200,200の加速度とは、ロボット200,200の手先の加速度である。
図7は、本発明の第2実施形態に係るロボット制御方法の各工程を示すフローチャートである。図8は、ロボット200の動作停止(時刻t0)後に発生するロボット200の残留振動による位置P、速度V及び加速度Aの時間変化を示したグラフである。図8には、X軸に時間、Y軸に位置P、速度V、加速度Aの振動波形を示している。
図7のフローチャートでは、ロボット200のロボットハンド202に把持されたワークWを、ロボット200に取り付けられたカメラ300で撮像を行う場合について説明する。なお、ロボット200及びロボット200の関係は逆でもよい。
CPU501は、ワークWの撮像を行う所定の位置及び姿勢にロボット200,200の動作を制御し、次いで、ロボット200,200に動作停止信号を送り、ロボット200,200の動作を停止させる(S21)。つまり、CPU501は、カメラ300によりワークWを撮像する位置及び姿勢にロボット200,200を動作させてその位置及び姿勢でロボット200,200を停止させる。
次に、CPU501は、カメラ300にワークWの撮像を開始させる(S22:撮像開始工程)。即ち、CPU501は、画像処理装置400を介してカメラ300にシャッターを開くトリガ信号を出力する。このトリガ信号を入力したカメラ300は、シャッターを開く。これと同時にCPU501は、タイマ506に計時を開始させる。
カメラ300の撮像開始のタイミングは、ステップS11のJOB動作開始後であり、ロボットハンド202でワークWを把持する前までに撮像を完了するものである。
ロボット200及びロボット200は動作停止による振動が残留している。これにより、カメラ300に対するロボットハンド202で把持しているワークWの相対位置関係が常に変化するため、この状態で撮像した画像のブレは大きくなる。
CPU501は、カメラ300による撮像中に、加速度センサ260及び力覚センサ250から検出結果である、ロボット200,200の加速度An1,An2の情報を取得する(S23:検出工程)。
CPU501は、取得した加速度An1,An2の情報から、ロボット200,200の位置Pn1,Pn2及び速度Vn1,Vn2の情報を演算(積分)により求める。そして、CPU501は、これら加速度An1,An2、速度Vn1,Vn2、位置Pn1,Pn2を閾値判定することにより、ロボット200,200の振動が全て収束しているか否かを判断する(S24〜S32:判断工程)。
CPU501は、ステップS24〜S32の判断の結果、ロボット200,200の振動が全て収束していると判断した場合(S24〜S32:全て「OK」)、カメラ300により撮像を開始してから所定時間経過したか否かを判断する(S33)。つまり、CPU501は、タイマ506の計時時間が所定時間に達したか否かを判断する。所定時間は、シャッタースピード(撮像時間)であり、予め設定された時間(例えば、1/10秒)である。
CPU501は、撮像を開始してから所定時間が経過するまでの間は、ステップS23〜S32を繰り返し実行する。
CPU501は、ロボット200の振動が収束していると判断している条件の下、撮像開始から所定時間が経過したと判断した場合(S33:Yes)、カメラ300による撮像を完了させる(S34)。つまり、CPU501は、カメラ300のシャッターを閉じるトリガ信号を出力し、トリガ信号を受けたカメラ300は、シャッターを閉じる。CPU501は、カメラ300による撮像完了後、画像処理装置400に画像処理を行わせる(S35:画像処理工程)。
つまり、ステップS35では、CPU501は、画像処理装置400にカメラ300から得た画像に対してパターンマッチング処理を行わせ、画像処理装置400から、ワークWの位置及び姿勢の情報を取得する。そして、CPU501は、ワークWの位置及び姿勢に基づき、ロボット200,200の動作を制御する。
CPU501は、ステップS24〜S32の判断の結果、ロボット200,200のうち少なくとも1つのロボットにおいて振動が収束していないと判断した場合、カメラ300による撮像を強制的に終了(つまり中止)させる(S36)。つまり、CPU501は、ステップS24〜S32のうち少なくとも1つが「NG」)の場合、カメラ300による撮像を強制的に終了(つまり中止)させる。この場合、撮像途中の画像は、破棄される。
このステップS36の処理は、時間短縮の観点から、撮像を開始してから所定時間が経過するのを待たずに行うのが好ましいが、所定時間経過してから撮像を終了してもよい。
そして、CPU501は、再度、ステップS22の処理に戻って撮像を開始させる撮像開始工程を実行する。CPU501は、ステップS22の処理に戻ることで、ステップS24〜S32が「OK」の間は、ステップS23〜S33を繰り返し実行することとなる。なお、CPU501は、ステップS36で撮像を終了したら、直ちにステップS22にて撮像を開始してもよいが、ステップS36で撮像を終了してから所定の待機時間経過後、ステップS22にて撮像を開始してもよい。CPU501は、この所定の待機時間の計時もタイマ506に行わせる。
ここで、ステップS24〜S32の処理について具体的に説明する。ロボット200用の検出部は、ロボット200の振動に関する情報として、ロボット200の位置、速度及び加速度のうち少なくとも1つの情報を検出すればよい。第2実施形態では、ロボット200の加速度を検出する加速度センサ260である。
そして、判断工程では、ロボット200の位置、速度及び加速度のうち、少なくとも1つを閾値判定すればよいが、特に、ロボット200の加速度を閾値判定するのが好ましい。第2実施形態では、ロボット200の位置、速度及び加速度のうち全てを閾値判定する。したがって、第2実施形態では、CPU501は、ロボット200の加速度の情報に基づいて、残り2つの情報、即ちロボット200の速度及び位置を算出している。
また、ロボット200用の検出部は、ロボット200の振動に関する情報として、ロボット200の位置、速度及び加速度のうち少なくとも1つの情報を検出すればよい。第2実施形態では、実質的にロボット200の加速度を検出する力覚センサ250である。
そして、判断工程では、ロボット200の位置、速度及び加速度のうち、少なくとも1つを閾値判定すればよいが、特に、ロボット200の加速度を閾値判定するのが好ましい。第2実施形態では、ロボット200の位置、速度及び加速度のうち全てを閾値判定する。したがって、第2実施形態では、CPU501は、ロボット200の加速度の情報に基づいて、残り2つの情報、即ちロボット200の速度及び位置を算出している。
まず、CPU501は、加速度センサ260から得られた加速度の情報に基づいて算出したロボット200の実位置Pn1(第1位置の情報)について閾値判定する(S24)。このステップS24は、上記第1実施形態のステップS14と同様の処理を行う。
また、CPU501は、加速度センサ260から得られた加速度の情報に基づいて算出したロボット200の実速度Vn1(第1速度の情報)について閾値判定する(S25)。このステップS25は、上記第1実施形態のステップS15と同様の処理を行う。
更にまた、CPU501は、加速度センサ260から得られたロボット200の実加速度An1(第1加速度の情報)について閾値判定する(S26)。このステップS26は、上記第1実施形態のステップS16と同様の処理を行う。
次に、CPU501は、力覚センサ250から得られた加速度の情報に基づいて算出したロボット200の実位置Pn2(第2位置の情報)について閾値判定する(S27)。即ち、CPU501は、算出した実位置Pn2が、予め設定した上限位置閾値+Δp21と下限位置閾値−Δp22との間の所定位置範囲内(位置閾値許容範囲内)であるか否かを判断する。
また、CPU501は、力覚センサ250から得られた加速度の情報に基づいて算出したロボット200の実速度Vn2(第2速度の情報)について閾値判定する(S28)。即ち、CPU501は、算出した実速度Vn2が、予め設定した上限速度閾値+Δv21と下限速度閾値−Δv22との間の所定速度範囲内(速度閾値許容範囲内)であるか否かを判断する。
更にまた、CPU501は、力覚センサ250から得られたロボット200の実加速度An2(第2加速度の情報)について閾値判定する(S29)。即ち、CPU501は、検出した実加速度An2が、予め設定した上限加速度閾値+Δa21と下限加速度閾値−Δa22との間の所定加速度範囲内(加速度閾値許容範囲内)であるか否かを判断する。
また、CPU501は、実位置Pn1と実位置Pn2との合計が所定位置範囲内(位置閾値許容範囲内)であるか否かを判断する(S30)。また、CPU501は、実速度Vn1と実速度Vn2との合計が所定速度範囲内(速度閾値許容範囲内)であるか否かを判断する(S31)。また、CPU501は、実加速度An1と実加速度An2との合計が所定加速度範囲内(加速度閾値許容範囲内)であるか否かを判断する(S32)。
つまり、第2実施形態では、CPU501は、ロボット200の振動が収束しているか否かの判断として、ロボット200の位置、速度、加速度が、それぞれ所定位置範囲内、所定速度範囲内、所定加速度範囲内であるか否かを判断する。そしてCPU501は、ロボット200の位置が所定位置範囲内であり、速度が所定速度範囲内であり、加速度が所定加速度範囲内である場合、即ちステップS24〜S26のいずれも「OK」の場合には、ロボット200の振動が収束していると判断する。CPU501は、ロボット200の位置、速度、加速度のうち少なくとも1つでも所定位置範囲内、所定速度範囲内、所定加速度範囲内ではない場合、即ちステップS24〜S26の少なくとも1つでも「NG」の場合には、振動が収束していないと判断する。
また、CPU501は、ステップS27〜S29において、ロボット200についてもステップS24〜S26と同様に閾値判定する。
ここで、カメラ300は、ロボット200に取り付けられているため、ロボット200のロボットハンド202に把持されているワークWを撮像した撮像画像には、両方のロボット2001,2002の振動によるブレが発生する。
そこで、第2実施形態では、位置Pn1と位置Pn2との位置合計、速度Vn1と速度Vn2との速度合計、加速度An1と加速度An2との加速度合計についても、ステップS30〜S32において、ステップS24〜S26と同様に、閾値判定する。
具体的には、位置合計は、位置Pn1の絶対値と位置Pn2の絶対値との合計値、速度合計は、速度Vn1の絶対値と速度Vn2の絶対値との合計値、加速度合計は、加速度An1の絶対値と加速度An2の絶対値との合計値である。そして、これら合計値の少なくとも1つが、閾値を上回る場合、振動が収束していないと判断し、全ての合計値が閾値を下回る場合、振動が収束していると判断する。
第2実施形態ではワークWを把持するロボット200とワークWを撮像するカメラ300を取付けたロボット200を用いて組立動作を行う。これにより、ロボット200とロボット200でそれぞれ異なる組立動作を行うことにより、その動作に応じた振動変位がロボット200とロボット200に生じる。
そのため、ロボット200に予め設定する位置閾値の上限+Δp11及び下限−Δp12と、ロボット200に予め設定する位置閾値の上限+Δp21及び下限−Δp22は、第1実施形態の位置閾値より小さくする必要がある。つまり、ロボット200の実位置Pn1と、ロボット200の実位置Pn2の合計が、画像処理への要求精度の許容値を超えないようにする必要があり、ステップS30では、位置合計の閾値判定を行う。
また、第2実施形態ではワークWを把持するロボット200とワークWを撮像するカメラ300を取付けたロボット200を用いて組立動作を行う。そのため、位置閾値のときと同様にロボット200に予め設定する速度閾値の上限+Δv11及び下限−Δv12と、ロボット200に予め設定する速度閾値の上限+Δv21及び下限−Δv22は、第1実施形態の速度閾値より小さくする必要がある。つまり、ロボット200の実速度Vn1と、ロボット200の実速度Vn2の合計が、画像処理への要求精度の許容値を超えないようにする必要があり、ステップS31では、速度合計の閾値判定を行う。
更にまた、第2実施形態ではワークWを把持するロボット200とワークWを撮像するカメラ300を取付けたロボット200を用いて組立動作を行う。位置閾値及び速度閾値のときと同様、ロボット200に設定する加速度閾値の上限+Δa11及び下限−Δa12と、ロボット200に設定する加速度閾値の上限+Δa21及び下限−Δa22は、第1実施形態の加速度閾値より小さくする必要がある。つまり、ロボット200の実加速度An1と、ロボット200の実加速度An2の合計が、画像処理への要求精度の許容値を超えないようにする必要があり、ステップS32では、加速度合計の閾値判定を行う。
なお、これらステップS24〜S32の判定の順番は、これに限らず、どのステップから行ってもよく、同時にできる場合は、同時に行ってもよい。但し、実加速度An1、実速度Vn1、実位置Pn1の順に閾値判定を行うと、閾値判定に要する時間を短縮することができるため、好ましい。また、実加速度An2、実速度Vn2、実位置Pn2の順に閾値判定を行うと、閾値判定に要する時間を短縮することができるため、好ましい。
以下、図8を例にステップS27〜S29の動作について説明する。図8の時刻t11の時点でカメラ300の撮像を開始するものとする。
実位置Pn2,実速度Vn2,実加速度An2は、図8に示すように、時刻t0では大きな振幅であるが、時刻t11から時刻t15と時間が経過するにつれて、徐々に減衰していく。実位置Pn2及び実速度PVn2は、ロボットハンド202の基端とロボットアーム201の先端との間に設けられた力覚センサ250から検出された加速度の情報に基づいて得られる。
カメラ300の撮像中に図8の時刻t11〜t14では、実位置Pn2,実速度Vn2,実加速度An2の少なくとも1つが閾値判定で「NG」であるため、画像を廃棄し、再度ステップS22の撮像開始からやり直すことになる。そして、時刻t15でロボット200の実位置Pn2,実速度Vn2,実加速度An2の全てが閾値以内となり、閾値判定で「OK」となるため、画像取得を許可する。しかし、所定時間(撮像時間)Tsが経過する前に、時刻t16で実位置Pn2,実加速度An2が「NG」となり、画像を廃棄し、再度ステップS22の撮像開始からやり直すことになる。
更に、時刻t17でもロボット200の実位置Pn2,実速度Vn2,実加速度An2の全てが閾値以内となり、閾値判定で「OK」となるため、画像取得を許可するが、所定時間(撮像時間)Tsが経過する前に「NG」となり、再度撮像開始からやり直す。
最後に、時刻t18でロボット200の実位置Pn2,実速度Vn2,実加速度An2の全てが閾値判定で「OK」となり、時刻t8から所定時間(撮像時間)Tsが経過した時点で撮像完了となり、撮像画像が取得される。
ステップS24〜S32では、ロボット200の位置閾値、速度閾値及び加速度閾値の3つを判定し、ロボット200の位置閾値、速度閾値及び加速度閾値の3つを判定し、合計位置閾値、合計速度閾値及び合計加速度閾値の3つを判定する。つまり、全9つの閾値判定を行う。ロボット制御装置500AのCPU501は、9つの閾値判定の全てが「OK」であると判断した場合に、カメラ300の撮像完了を許可する。
そして、ステップS34でカメラ300での撮像を完了して得られた画像が、画像処理装置400に送られ、パターンマッチング等の画像処理を行うステップS35を経て、ワークWの位置及び姿勢を認識する。また、ロボット制御装置500Aを介して、ロボット200へ動作完了信号を送り、ワークWが撮像可能状態であることの確認を完了する。画像処理装置400で認識したワークWの位置及び姿勢の情報はロボット制御装置500Aに送られ共有する。
以上、第2実施形態の双腕ロボット装置100Aによれば、上記第1実施形態の単腕ロボット装置100と同様の作用効果を奏する。即ち、CPU501が、カメラ300による撮像中にロボット200,200の振動が収束していることを確認して撮像を完了させるので、ワークWを撮像した撮像画像にブレが生じるのをより効果的に低減することができる。これにより、撮像画像からワークWの位置及び姿勢を精度よく認識することができ、ロボット200,200による作業精度が向上する。
また、第2実施形態の双腕ロボット装置100Aにおける組立動作では、ロボット200及びロボット200が位置閾値、速度閾値及び加速度閾値の条件を満たしていることを確認する。そのため、ロボット200にはカメラを搭載しなくても良くなり、ロボット200のハンド部分の重量を軽くすることができる。これにより、駆動モータの加速性に余裕ができ、ロボットアーム201の加速性が増すので、より安定な作業を実現することができる。
[第3実施形態]
次に、本発明の第3実施形態に係るロボット装置について説明する。図9は、本発明の第3実施形態に係るロボット装置の概略構成を示す斜視図である。なお、第3実施形態のロボット装置100Bにおいて、上記第1,第2実施形態のロボット装置100,100Aの構成と同様の構成については、同一符号を付して説明を省略する。
図9に示すロボット装置100Bは、カメラ300の代わりに、ワークトレイTrに置かれているワークWの位置や数量を監視しているワーク監視用のカメラ300Bを備えている。カメラ300Bは、ワークトレイTrを撮像できる位置に、床Fに配置された支持部材301によって支持(固定)されている。この場合、カメラ300Bとロボット200を用いて、図7の手順により組立動作を行う。
ワーク監視用のカメラ300Bとロボット200における組立動作では、カメラ300B及びロボット200が位置閾値、速度閾値及び加速度閾値の条件を満たしていることをロボット制御装置500Aで確認する。そのため、ロボット200がワークトレイTrに置かれたワークWを精度よく把持することが可能となるので、より安定した作業を実現することができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
上記実施形態では、ロボットアームが、垂直型のロボットアームの場合について説明したが、多軸の直交ロボットでもよい。
また、上記実施形態では、エンドエフェクタがロボットハンドである場合について説明したが、ワークに作業を施すツールであってもよい。
また、上記実施形態では、加速度センサにより加速度を検出したが、これに限定するものではなく、ロボットハンドに搭載(内蔵)した力覚センサを用いて、ロボットハンドに掛る外力による振動を検出してもよい。
また、上記第2及び第3実施形態では、ロボットが2つの場合について説明したが、ロボットが3つ以上の場合についても本発明は適用可能である。
また、上記実施形態では、制御部である制御システムが、ロボット制御装置と画像処理装置とに2つのコンピュータで構成されている場合について説明したが、これに限定するものではなく、1つのコンピュータで構成されていてもよい。
また、上記実施形態の各処理動作は具体的にはCPU501により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体をロボット制御装置に供給し、ロボット制御装置のコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がHDD504であり、HDD504にプログラム530,530Aが格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図2及び図6に示すROM502、記録ディスク531、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、書き換え可能な不揮発性のメモリ(例えばUSBメモリ)、ROM等を用いることができる。
また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
また、上記実施形態では、コンピュータがHDD等の記録媒体に記録されたプログラムを実行することにより、画像処理を行う場合について説明したが、これに限定するものではない。プログラムに基づいて動作する制御部の一部又は全部の機能をASICやFPGA等の専用LSIで構成してもよい。なお、ASICはApplication Specific Integrated Circuit、FPGAはField−Programmable Gate Arrayの頭字語である。
100…ロボット装置、200…ロボット、201…ロボットアーム、202…エンドエフェクタ(ロボットハンド)、260…検出部(加速度センサ)、300…カメラ、400…画像処理装置、500…ロボット制御装置、530…プログラム、600…制御システム(制御部)

Claims (12)

  1. 制御部が、ワークを撮像したカメラから取得した撮像画像を用いて前記ワークの位置及び姿勢を求める画像処理を行い、多関節のロボットアーム、及び前記ロボットアームの先端に取り付けられたエンドエフェクタを有するロボットの動作を、前記ワークの位置及び姿勢に基づいて制御するロボット制御方法において、
    前記制御部が、前記カメラに前記ワークの撮像を開始させる撮像開始工程と、
    前記制御部が、前記カメラによる撮像中に、前記ロボットの振動に関する情報を検出する検出部から検出結果を取得する検出工程と、
    前記制御部が、前記検出工程にて取得した検出結果に基づき、前記ロボットの振動が収束しているか否かを判断する判断工程と、
    前記制御部が、前記判断工程の判断の結果、前記ロボットの振動が収束していると判断した場合には、前記カメラによる撮像完了後、前記画像処理を行う画像処理工程と、を備えたことを特徴とするロボット制御方法。
  2. 前記制御部が、前記判断工程の判断の結果、前記ロボットの振動が収束していないと判断した場合、前記カメラによる撮像を終了させた後、再度、前記撮像開始工程を実行することを特徴とする請求項1に記載のロボット制御方法。
  3. 前記制御部が、前記カメラによる撮像中、前記検出工程及び前記判断工程を繰り返し実行することを特徴とする請求項1又は2に記載のロボット制御方法。
  4. 前記検出部は、前記ロボットの振動に関する情報として、前記ロボットの位置、前記ロボットの速度、及び前記ロボットの加速度のうち少なくとも1つの情報を検出することを特徴とする請求項1乃至3のいずれか1項に記載のロボット制御方法。
  5. 前記検出部は、前記ロボットの振動に関する情報として、前記ロボットの位置、前記ロボットの速度、及び前記ロボットの加速度のうちいずれか1つの情報を検出するセンサを有し、
    前記判断工程では、前記制御部が、前記検出工程にて取得した検出結果から、前記ロボットの位置、前記ロボットの速度、及び前記ロボットの加速度のうちの残りの2つの情報を演算により求め、前記ロボットの振動が収束しているか否かの判断として、前記ロボットの位置、前記ロボットの速度、前記ロボットの加速度が、それぞれ所定位置範囲内、所定速度範囲内、所定加速度範囲内であるか否かを判断し、
    前記画像処理工程では、前記制御部が、前記ロボットの位置が前記所定位置範囲内であり、前記ロボットの速度が前記所定速度範囲内であり、前記ロボットの加速度が前記所定加速度範囲内であると判断した場合に、前記カメラによる撮像完了後、前記画像処理を行うことを特徴とする請求項1乃至3のいずれか1項に記載のロボット制御方法。
  6. 前記ロボットが複数存在し、
    前記検出部が前記各ロボットに対応して設けられ、
    前記検出工程では、前記制御部が、前記カメラによる撮像中に、前記複数の検出部から検出結果を取得し、
    前記判断工程では、前記制御部が、前記検出工程にて取得した検出結果に基づき、前記複数のロボットの振動が全て収束しているか否かを判断し、
    前記画像処理工程では、前記制御部が、前記判断工程の判断の結果、前記複数のロボットの振動が全て収束していると判断した場合には、前記カメラによる撮像完了後、前記画像処理を行うことを特徴とする請求項1乃至4のいずれか1項に記載のロボット制御方法。
  7. 前記カメラが、前記ロボットに取り付けられていることを特徴とする請求項1乃至5のいずれか1項に記載のロボット制御方法。
  8. 前記カメラが、前記複数のロボットのうちいずれかのロボットに取り付けられていることを特徴とする請求項6に記載のロボット制御方法。
  9. 前記カメラが、床に配置される支持部材に支持されていることを特徴とする請求項1乃至6のいずれか1項に記載のロボット制御方法。
  10. 多関節のロボットアーム、及び前記ロボットアームの先端に取り付けられたエンドエフェクタを有するロボットと、
    前記ロボットの作業対象であるワークを撮像するカメラと、
    前記ロボットの振動に関する情報を検出する検出部と、
    前記カメラから取得した撮像画像を用いて前記ワークの位置及び姿勢を求める画像処理を行い、前記ロボットの動作を、前記ワークの位置及び姿勢に基づいて制御する制御部と、を備え、
    前記制御部は、
    前記カメラに前記ワークの撮像を開始させ、
    前記カメラによる撮像中に、前記検出部から検出結果を取得し、
    前記検出部から取得した検出結果に基づき、前記ロボットの振動が収束しているか否かを判断し、
    前記ロボットの振動が収束していると判断した場合には、前記カメラによる撮像完了後、前記画像処理を行うことを特徴とするロボット装置。
  11. コンピュータに請求項1乃至9のいずれか1項に記載のロボット制御方法の各工程を実行させるためのプログラム。
  12. 請求項11に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2014010908A 2014-01-24 2014-01-24 ロボット制御方法、ロボット制御装置、プログラム、記録媒体、及び部品の製造方法 Active JP6425385B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014010908A JP6425385B2 (ja) 2014-01-24 2014-01-24 ロボット制御方法、ロボット制御装置、プログラム、記録媒体、及び部品の製造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014010908A JP6425385B2 (ja) 2014-01-24 2014-01-24 ロボット制御方法、ロボット制御装置、プログラム、記録媒体、及び部品の製造方法

Publications (3)

Publication Number Publication Date
JP2015136778A true JP2015136778A (ja) 2015-07-30
JP2015136778A5 JP2015136778A5 (ja) 2017-03-02
JP6425385B2 JP6425385B2 (ja) 2018-11-21

Family

ID=53768144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014010908A Active JP6425385B2 (ja) 2014-01-24 2014-01-24 ロボット制御方法、ロボット制御装置、プログラム、記録媒体、及び部品の製造方法

Country Status (1)

Country Link
JP (1) JP6425385B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017087325A (ja) * 2015-11-06 2017-05-25 キヤノン株式会社 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム
JP2018171667A (ja) * 2017-03-31 2018-11-08 セイコーエプソン株式会社 制御装置、制御システム、ロボット、およびロボットシステム
CN111002345A (zh) * 2018-10-05 2020-04-14 发那科株式会社 传感器支架以及机器人系统
JP2020517966A (ja) * 2017-04-27 2020-06-18 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 対象物を光学的に検査する検査装置、検査装置を備えた製造システム、及び、検査装置を用いて対象物を光学的に検査する方法
CN111730626A (zh) * 2019-03-25 2020-10-02 发那科株式会社 调整机器人装置的动作的动作调整装置及动作调整方法
US10946517B2 (en) 2017-03-31 2021-03-16 Seiko Epson Corporation Robot control device and robot system
JP7325666B1 (ja) * 2022-04-14 2023-08-14 三菱電機株式会社 ロボット制御装置およびピッキングシステム

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612112A (ja) * 1992-06-24 1994-01-21 Fanuc Ltd 画像処理装置における対象物の位置姿勢検出方法
JPH08285526A (ja) * 1995-04-19 1996-11-01 Fanuc Ltd 画像認識方式
JP2005074617A (ja) * 2003-09-04 2005-03-24 Yaskawa Electric Corp 生産システム
JP2005342832A (ja) * 2004-06-02 2005-12-15 Fanuc Ltd ロボットシステム
JP2010125582A (ja) * 2008-12-01 2010-06-10 Seiko Epson Corp ロボットアーム装置、ロボットアーム装置の制御方法および制御プログラム
US20110004343A1 (en) * 2009-07-06 2011-01-06 Seiko Epson Corporation Position control method and robot
US20110087360A1 (en) * 2008-03-31 2011-04-14 Abb Research Ltd. Robot parts assembly on a workpiece moving on an assembly line
JP2011136395A (ja) * 2009-12-28 2011-07-14 Kawasaki Heavy Ind Ltd ロボットの制振方法およびロボットの制御装置
JP2012030350A (ja) * 2010-06-28 2012-02-16 Canon Inc 組立装置及び生産システム
JP2013184253A (ja) * 2012-03-08 2013-09-19 Seiko Epson Corp ロボット

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0612112A (ja) * 1992-06-24 1994-01-21 Fanuc Ltd 画像処理装置における対象物の位置姿勢検出方法
JPH08285526A (ja) * 1995-04-19 1996-11-01 Fanuc Ltd 画像認識方式
JP2005074617A (ja) * 2003-09-04 2005-03-24 Yaskawa Electric Corp 生産システム
JP2005342832A (ja) * 2004-06-02 2005-12-15 Fanuc Ltd ロボットシステム
US20110087360A1 (en) * 2008-03-31 2011-04-14 Abb Research Ltd. Robot parts assembly on a workpiece moving on an assembly line
JP2010125582A (ja) * 2008-12-01 2010-06-10 Seiko Epson Corp ロボットアーム装置、ロボットアーム装置の制御方法および制御プログラム
US20110004343A1 (en) * 2009-07-06 2011-01-06 Seiko Epson Corporation Position control method and robot
JP2011136395A (ja) * 2009-12-28 2011-07-14 Kawasaki Heavy Ind Ltd ロボットの制振方法およびロボットの制御装置
JP2012030350A (ja) * 2010-06-28 2012-02-16 Canon Inc 組立装置及び生産システム
JP2013184253A (ja) * 2012-03-08 2013-09-19 Seiko Epson Corp ロボット

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017087325A (ja) * 2015-11-06 2017-05-25 キヤノン株式会社 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム
JP2018171667A (ja) * 2017-03-31 2018-11-08 セイコーエプソン株式会社 制御装置、制御システム、ロボット、およびロボットシステム
US10946517B2 (en) 2017-03-31 2021-03-16 Seiko Epson Corporation Robot control device and robot system
JP7106816B2 (ja) 2017-03-31 2022-07-27 セイコーエプソン株式会社 制御装置、制御システム、およびロボットシステム
JP2020517966A (ja) * 2017-04-27 2020-06-18 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh 対象物を光学的に検査する検査装置、検査装置を備えた製造システム、及び、検査装置を用いて対象物を光学的に検査する方法
US11090812B2 (en) 2017-04-27 2021-08-17 Robert Bosch Gmbh Inspection apparatus for optically inspecting an object, production facility equipped with the inspection apparatus, and method for optically inspecting the object using the inspection apparatus
CN111002345A (zh) * 2018-10-05 2020-04-14 发那科株式会社 传感器支架以及机器人系统
CN111730626A (zh) * 2019-03-25 2020-10-02 发那科株式会社 调整机器人装置的动作的动作调整装置及动作调整方法
JP7325666B1 (ja) * 2022-04-14 2023-08-14 三菱電機株式会社 ロボット制御装置およびピッキングシステム
WO2023199478A1 (ja) * 2022-04-14 2023-10-19 三菱電機株式会社 ロボット制御装置およびピッキングシステム

Also Published As

Publication number Publication date
JP6425385B2 (ja) 2018-11-21

Similar Documents

Publication Publication Date Title
JP2015136778A (ja) ロボット制御方法、ロボット装置、プログラム及び記録媒体
US10618176B2 (en) Robot apparatus, robot control method, program, and recording medium
US10486309B2 (en) Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component
JP4598849B2 (ja) 嵌合の詰まり状態を修正する嵌合装置
JP4837113B2 (ja) ロボットを用いた嵌合装置
JP5652042B2 (ja) ロボット装置、ロボット装置の制御方法およびプログラム
JP5929224B2 (ja) ロボット
US8369983B2 (en) Fitting apparatus
JP6164970B2 (ja) ロボット制御方法、ロボットシステム、プログラム、記録媒体及び部品の製造方法
US20190270207A1 (en) Robot hand, robot and robot system capable of gripping workpiece, and method of rotating and inserting workpiece into hole
JP6392825B2 (ja) 学習制御機能を備えたロボット制御装置
JP5417161B2 (ja) ロボットの制振方法およびロボットの制御装置
JP6700726B2 (ja) ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム
US11027424B2 (en) Robot hand, robot apparatus, and method of controlling robot hand
US20180021949A1 (en) Robot apparatus, robot controlling method, program, and recording medium
US20180085921A1 (en) Robot control device, robot, and robot system
EP3639984B1 (en) Robot system and robot control method
JP2009083094A (ja) ロボット装置の制御方法及びロボット装置
JP2016083713A (ja) ロボット制御方法、ロボット装置、プログラム、記録媒体及び組立部品の製造方法
US20150343642A1 (en) Robot, robot system, and control method
JP5874260B2 (ja) ロボット装置
JP6489745B2 (ja) ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の組立方法、プログラム及び記録媒体
JP5906825B2 (ja) ロボット
JP2017154221A (ja) ロボット、ロボットの制御装置及びロボットの制御方法
JP2016221659A (ja) ロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181023

R151 Written notification of patent or utility model registration

Ref document number: 6425385

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151