JP5324397B2 - 情報処理方法及び装置並びにプログラム - Google Patents

情報処理方法及び装置並びにプログラム Download PDF

Info

Publication number
JP5324397B2
JP5324397B2 JP2009252034A JP2009252034A JP5324397B2 JP 5324397 B2 JP5324397 B2 JP 5324397B2 JP 2009252034 A JP2009252034 A JP 2009252034A JP 2009252034 A JP2009252034 A JP 2009252034A JP 5324397 B2 JP5324397 B2 JP 5324397B2
Authority
JP
Japan
Prior art keywords
target position
manipulator
teaching
target
objects
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.)
Expired - Fee Related
Application number
JP2009252034A
Other languages
English (en)
Other versions
JP2011093076A (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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2009252034A priority Critical patent/JP5324397B2/ja
Publication of JP2011093076A publication Critical patent/JP2011093076A/ja
Application granted granted Critical
Publication of JP5324397B2 publication Critical patent/JP5324397B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、マニュピュレータの動作を制御する情報処理方法及び装置並びにプログラムに関する。詳しくは、マニュピュレータを対象物まで短時間で移動させることが可能な情報処理方法及び装置並びにプログラムに関する。
従来より、マニュピュレータを備えるロボットアームは、自動車等の生産ラインに配設され、自動車のドア等をワークとして、ワークの組立時におけるボルト締めの作業を行っている。すなわち、ロボットアームは、ワークの表面に形成されているボルトを対象物として、対象物まで移動して、ボルトを挿入して捻じ込む作業を行う。
ロボットアームを対象物まで移動させる制御として、対象物の位置に基づいて予め設定された位置(以下、「教示位置」と称する)を目標位置として、目標位置までの予め定められた経路に沿って、ロボットアームを移動させるティーチングプレイバック制御が用いられている。ティーチングプレイバック制御とは、予め定められた経路に沿ってロボットアームを移動させる動作を事前に教示しておき、この動作を再現させるオープンループ制御をいう。
しかしながら、実際の作業においては、生産ライン上でのワーク搬送の停止精度や、ワークを生産ライン上で搬送するためのワークパレットの個体差等に起因して、ワークの位置や姿勢にズレが生ずる。このズレのために、教示位置と、ボルト穴の実際の位置との間に誤差が生ずる。
そこで、この誤差を解消すべく、特許文献1及び2には、ロボットアームの先端に取り付けられたカメラにより、ロボットアームの先端の位置とボルト穴の実際の位置との偏差を求め、この偏差に基づいて、ロボットアームの位置補正を行う手法が開示されている。この位置補正には、偏差に基づく値をフィードバック値として用いる所定のフィードバック制御、例えばPID制御が用いられている。
特開平8−174457号公報 特開2001−246582号公報
しかしながら、自動車のドアには多数のボルト穴が形成されているため、多数のボルト穴の各々に対する位置補正に要する時間が積み重なって、自動車のドアの全てのボルト締めの作業が終了するまで長時間を要するという課題が生ずる。
かかる課題は、自動車のドアのボルト締め作業にのみ生ずるのではなく、マニュピュレータが移動すべき対象物が多数存在するワークの作業に対して広く一般的に生ずるので、マニュピュレータを対象物まで短時間で移動させることが要求されている。
本発明は、マニュピュレータの動作を制御する情報処理方法及び装置並びにプログラムであって、マニュピュレータを対象物まで短時間で移動させることが可能な情報処理方法及び装置並びにプログラムを提供することを目的とする。
本発明の情報処理方法は、ワーク(例えば実施形態におけるワーク2)上の複数の対象物(例えば実施形態におけるボルト穴21−1乃至21−N)を視認可能な視覚装置(例えば実施形態におけるカメラ13)が取り付けられたマニュピュレータ(例えば実施形態におけるロボットアーム11を構成する多関節マニュピュレータ23)を、前記複数の対象物まで移動させる制御を行う情報処理装置(例えば実施形態における制御装置15)が実行する情報処理方法において、
前記複数の対象物の位置に対応させて予め教示により設定された複数の教示位置の各々を、所定の順番で目標位置に順次設定し、前記目標位置に向けて前記マニュピュレータを順次移動させるティーチングプレイバック制御を実行する基礎動作ステップ(例えば実施形態におけるステップS3)と、
前記基礎動作ステップの前記ティーチングプレイバック制御により前記マニュピュレータが前記目標位置に順次移動する毎に、当該目標位置に対応する前記対象物の位置に関する位置情報を検出する検出ステップ(例えば実施形態におけるステップS5)と、
前記検出ステップの処理により検出された前記位置情報の履歴のうち、少なくとも同一の前記ワークの過去1回分の履歴を用いて、次回の目標位置の設定を補正する補正ステップ(例えば実施形態におけるステップS10,S12,S13)と、
を含むことを特徴とする。
この発明によれば、ティーチングプレイバック制御により複数の目標位置の各々にマニュピュレータを移動させる場合に、マニュピュレータが目標位置に順次移動する毎に、対応する対象物の位置情報が順次蓄積される。これらの位置情報の履歴のうち、少なくとも同一のワークの過去1回分の履歴を用いて、次回の目標位置の設定が補正される。
これにより、補正後の目標位置の、対象物の実際の位置に対する誤差(以下、「補正後の誤差」と称する)は、補正前の目標位置(教示位置)の、対象物の実際の位置に対する誤差(以下、「補正前の誤差」と称する)と比較して小さくなる。従って、誤差が小さくなった分だけ、その誤差を解消するための位置補正に要する時間が短縮される。ここで、このような位置補正に要する時間とティーチングプレイバック制御に要する時間との加算時間が、マニュピュレータが対象物に移動するまでの時間である。従って、マニュピュレータが対象物に移動するまでの時間も短縮される。このようにして、マニュピュレータを対象物まで短時間で移動させることが可能になる。
この場合、前記位置情報は、前記目標位置に移動した前記マニュピュレータの位置と、前記目標位置に対応する前記対象物の位置との誤差量を示す情報であるようにしてもよい。
また、この場合、前記複数の対象物は、同一のワーク(例えば実施形態におけるワーク2)の予め規定された固定位置にそれぞれ存在し、前記補正ステップは、次回が4回目以降である場合、3回分の前記履歴を用いて、次回の目標位置の設定を補正するステップ(例えば実施形態におけるステップS13)を含むと好ましい。
この発明によれば、マニュピュレータが移動した目標位置に対応する対象物の位置情報の履歴のうち、3回分の履歴を用いて、次回の目標位置の設定が補正される。
これにより、補正後の誤差は、補正前の誤差と比較してより一段と小さくなる。
すなわち、複数の対象物が同一のワークの予め規定された固定位置にそれぞれ存在する場合、補正前の誤差には、ワークの位置及び姿勢のズレに起因する誤差(以下、「ワークズレ誤差」と称する)が多く含まれている。補正前の複数の目標位置(教示位置)は、ワーク上の固定位置に存在する複数の対象物の各々に対応して設定されているため、ワークズレ誤差は、全ての教示位置における補正前の誤差の中に同様に含まれる。
このようなワークの位置及び姿勢のズレは、3次元情報であるため、3点情報で特定することが可能であり、この3点情報として3回分の履歴を用いることが可能である。従って、3回分の履歴を用いてワークの位置及び姿勢のズレを特定することができれば、次回の補正前の目標位置(教示位置)に対して、ワークの位置及び姿勢のズレ分を補正した位置を、次回の補正後の目標位置とすることができる。これにより、補正後の誤差では、ワークズレ誤差を実質上除外することができるため、補正後の誤差は、補正前の誤差と比較してより一段と小さなものとなる。
この場合、前記補正ステップは、次回が2回目である場合、1回目の前記履歴を用いて、2回目の目標位置の設定を補正するステップ(例えば実施形態におけるステップS10)と、次回が3回目である場合、1回目及び2回目の前記履歴を用いて、3回目の目標位置の設定を補正するステップ(例えば実施形態におけるステップS12)と、をさらに含むと好ましい。
この発明によれば、1回目の履歴を用いて2回目の目標位置の設定が補正され、1回目及び2回目の履歴を用いて3回目の目標位置の設定が補正される。
これにより、2回目や3回目のマニュピュレータの移動の場合にも、補正後の誤差は、補正前の誤差と比較してより一段と小さくなる。
すなわち、2回目や3回目では、ワークの位置及び姿勢のズレを特定するために必要な3点情報は得られていないため、ワークの位置及び姿勢のズレを特定することは非常に困難である。しかしながら、1点情報又は2点情報の中にも、ワークの位置及び姿勢のズレを特定するための有意情報は含まれている。1点情報として、1回分の履歴を用いることが可能であり、2点情報として、2回分の履歴を用いることが可能である。従って、1回分又は2回分の履歴を用いて次回の目標位置を補正することで、補正後の誤差では、ワークズレ誤差のうち一部の要素に起因する誤差を除外することができる。これにより、補正後の誤差は、補正前の誤差と比較してより一段と小さなものとなる。
本発明の情報処理装置(例えば実施形態における制御装置15)及びプログラム(例えば実施形態におけるCPU101により実行されるプログラム)は、上述の本発明の情報処理方法に対応する装置及びプログラムである。従って、上述の本発明の情報処理方法と同様の効果を奏することが可能になる。
本発明によれば、目標位置の補正後の誤差は、補正前の誤差と比較して小さくなる。従って、誤差が小さくなった分だけ、その誤差を解消するための位置補正に要する時間が短縮される。ここで、このような位置補正に要する時間とティーチングプレイバック制御に要する時間との加算時間が、マニュピュレータが対象物に移動するまでの時間である。従って、マニュピュレータが対象物に移動するまでの時間も短縮される。このようにして、マニュピュレータを対象物まで短時間で移動させることが可能になる。
本発明の一実施形態に係るロボットシステムの概略外観構成を示す斜視図である。 図1のロボットシステムの制御装置の機能的構成例を示す機能ブロック図である。 図2の制御装置が実行するティーチングプレイバック制御の経路の一例を説明するためのワークの斜視図である。 ワークズレ誤差を説明するためのワークの斜視図である。 図2の制御装置のハードウェアの構成例を示すブロック図である。 図5の制御装置によるボルト締め処理の流れの一例を示すフローチャートである。 図5の制御装置により決定される目標位置の決定手法を説明するための模式図である。
以下、本発明の一実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態に係るロボットシステム1の概略外観構成を示す斜視図である。
例えば、ロボットシステム1は、自動車の生産ラインに配設され、自動車のドア等をワーク2として、ワーク2の組立時におけるボルト締めを行う。すなわち、ワーク2の表面においては、N個の予め規定されている位置(以下、「規定位置」と称する)の各々にボルト穴21−1乃至21―N(図1にはボルト穴21−1乃至21−4のみ図示)が形成されている。なお、Nは、1以上の整数値であり、図1の例では4以上の整数値である。ロボットシステム1は、ボルト穴21−1乃至21―Nの各々に対して、ボルトを挿入して捻じ込む作業を行う。
なお、以下、ボルト穴21−1乃至21―Nを個々に区別する必要が無い場合、これらをまとめて「ボルト穴21」と称する。
ロボットシステム1は、ロボットアーム11と、エンドエフェクタ12と、カメラ13と、ロボットアーム駆動装置14と、制御装置15と、を備える。
ロボットアーム11は、ロボットベース22と、そのロボットベース22に旋回可能に取り付けられる多関節マニュピュレータ23と、を備える。
多関節マニュピュレータ23は、関節31a乃至31dと、連結部材32a乃至32eと、各関節31a乃至31dを回転させるサーボモータ(図示せず)と、サーボモータの位置、速度、電流等の各種状態を検出する検出器(図示せず)と、を備える。
各サーボモータによる各関節31a乃至31dの回転動作と、それらの回転動作に連動する各連結部材32a乃至32eの移動動作との組合せにより、多関節マニュピュレータ23の全体の動作、すなわちロボットアーム11の全体の動作が実現される。
エンドエフェクタ12は、多関節マニュピュレータ23の連結部材32eの先端に取り付けられ、ボルト穴21に対してボルトを挿入して捻じ込む動作をする。
カメラ13は、エンドエフェクタ12の先端を画角の中心として撮影できるように、多関節マニュピュレータ23の連結部材32eの外周部に固定して取り付けられている。
カメラ13は、エンドエフェクタ12の先端の方向に対して、画角の範囲内にある画像を撮影する。以下、カメラ13により撮影された画像を、「撮影画像」と称する。ここで、本実施形態では、画角の中心であるエンドエフェクタ12の先端の位置が、ロボットアーム11の位置として採用されている。これにより、撮影画像の中心位置がロボットアーム11の位置となるため、後述する制御装置15は、撮影画像の画像データに対して画像処理を施すことで、撮影画像に含まれる各被写体についての、ロボットアーム11の位置に対する相対位置を容易に求めることができる。
ロボットアーム駆動装置14には、ロボットアーム11を目標位置まで移動させる指令(以下、「移動指令」と称する)が、後述する制御装置15から供給される。そこで、ロボットアーム駆動装置14は、移動指令に従って、多関節マニュピュレータ23に内蔵された各検出器の検出値をフィードバック値として用いて、多関節マニュピュレータ23に内蔵された各サーボモータに対するトルク(電流)制御を行う。これにより、多関節マニュピュレータ23の全体の動作、すなわちロボットアーム11の全体の動作が制御される。
ロボットアーム駆動装置14は、このような制御中に、フィードバック値に基づいてロボットアーム11の位置や速度等の各種状態を逐次検出し、検出結果を状態情報として制御装置15に供給する。
制御装置15は、ロボットシステム1の全体の動作を制御する。
図2は、制御装置15の機能的構成例を示す機能ブロック図である。
制御装置15は、ロボットアーム制御部41と、エンドエフェクタ制御部42と、を備える。
ロボットアーム制御部41は、ロボットアーム駆動装置14を介して、ロボットアーム11の移動を制御する。ロボットアーム11は、この制御により、ボルト穴21まで移動する。
エンドエフェクタ制御部42は、エンドエフェクタ12を制御する。エンドエフェクタ12は、この制御により、ボルトをボルト穴21に挿入して捻じ込む。
以下、ロボットアーム制御部41の詳細について説明する。
ロボットアーム制御部41は、ティーチングプレイバック制御部51と、フィードバック制御部52と、制御切替部53と、画像処理部54と、ロボットアーム状態取得部55と、を備える。
ティーチングプレイバック制御部51は、予め設定された所定の経路に沿ってロボットアーム11を移動させるティーチングプレイバック制御を実行する。
ティーチングプレイバック制御部51は、教示位置保持部61と、目標位置決定部62と、移動指令生成部63と、を備える。
教示位置保持部61は、ティーチングプレイバック制御で用いられる経路の情報を保持する。すなわち、予め教示により設定された1以上の教示位置を、予め設定された所定の順番で結ぶことで形成される経路が、ティーチングプレイバック制御において用いられている。従って、1以上の教示位置に関する情報、例えばその座標や経路内の順番を示す情報が、教示位置保持部61に保持される。
目標位置決定部62は、教示位置保持部61の保持内容から、次回の教示位置を認識する。そして、目標位置決定部62は、次回の教示位置に基づいて、ロボットアーム11の次回の目標位置を決定し、移動指令生成部63に通知する。なお、目標位置決定部62による目標位置の決定手法の詳細については、図3以降の図面を参照して後述する。
移動指令生成部63は、目標位置決定部62から通知された目標位置に基づいて移動指令を生成し、制御切替部53を介してロボットアーム駆動装置14に供給する。すると、上述したように、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を次回の目標位置まで移動させる。
このようなティーチングプレイバック制御により各々の目標位置まで移動を試みたロボットアーム11の実際の到達位置と、対応するボルト穴21の実際の位置との間には誤差が生じている。なお、以下、ロボットアーム11の実際の到達位置を、「実アーム位置」と称し、ボルト穴21の実際の位置を、「実穴位置」と称し、実アーム位置と実穴位置との間の誤差を、以下、「実誤差」と称する。
制御切替部53は、この実誤差を解消すべく、ロボットアーム11の動作の制御を、ティーチングプレイバック制御部51によるティーチングプレイバック制御から、フィードバック制御部52によるフィードバック制御に切り替える。
フィードバック制御部52は、所定のフィードバック制御により、移動指令を生成して、制御切替部53を介してロボットアーム駆動装置14に供給する。
フィードバック制御部52から移動指令が供給されたロボットアーム駆動装置14は、上述したように、この移動指令に従って、ロボットアーム11をボルト穴21の実穴位置まで移動させる。
実誤差が解消すると、すなわち、ロボットアーム11の実アーム位置とボルト穴21の実穴位置とが略一致すると、フィードバック制御部52によるフィードバック制御は停止して、ロボットアーム11の移動動作が停止する。すると、エンドエフェクタ制御部42は、エンドエフェクタ12を制御して、ボルトをボルト穴21に挿入して捻じ込む。
なお、フィードバック制御部52に適用されるフィードバック制御の手法は、特に限定されない。従って、フィードバック情報も、フィードバック制御部52に適用されたフィードバック制御の手法に応じた情報であれば、特に限定されない。
例えば、フィードバック制御部52に対して、カメラ13の撮影画像に基づく情報をフィードバック情報として用いる視覚サーボ制御を適用してもよい。この場合、本実施形態では、画像処理部54の画像処理の結果が、フィードバック情報としてフィードバック制御部52に供給される。
具体的には、画像処理部54は、カメラ13の撮影画像の画像データに対して各種画像処理を施すべく、対象物認識部64と、誤差検出部65と、を備えている。
対象物認識部64は、カメラ13から出力された画像データに基づいて、撮影画像の中からボルト穴21を対象物として認識する。
ロボットアーム11の位置がボルト穴21から遠方に離れていて、カメラ13の画角内にボルト穴21が存在しない間は、撮影画像にはボルト穴21は被写体として含まれない。従って、このような場合、対象物認識部64により対象物は認識されない。
その後、ティーチングプレイバック制御によりロボットアーム11がボルト穴21の近傍に移動してきて、カメラ13の画角内にボルト穴21が存在するようになると、撮影画像にはボルト穴21が被写体として含まれるようになる。このような場合、対象物認識部64は、ボルト穴21を対象物として認識し、その認識結果及び撮影画像の画像データを誤差検出部65に供給する。
誤差検出部65は、撮影画像の画像データに対して画像処理を施すことで、撮影画像に対象物として含まれるボルト穴21の実穴位置の、実アーム位置(撮影画像の中心位置)に対する実誤差量を求める。
以下、実誤差量を、d又はd=(dx,dy,dz)と記述する。dx,dy,dzの各々は、カメラ13の画角内の座標系(以下、「カメラ座標系」と称する)における、実誤差量のX座標,Y座標,Z座標の各々を示している。
実誤差量dは、視覚サーボ制御のフィードバック情報として、フィードバック制御部52に供給される。さらに、実誤差量dは、ティーチングプレイバック制御部51にも供給されるが、ティーチングプレイバック制御部51における用途については図3以降の図面を参照して後述する。
また例えば、フィードバック制御部52に対して、視覚サーボ制御以外のフィードバック制御を適用してもよい。具体的には例えば、ロボットアーム駆動装置14から供給される状態情報をフィードバック情報として用いるPID制御を適用してもよい。この場合、ロボットアーム状態取得部55は、ロボットアーム駆動装置14から供給される状態情報を取得して、この状態情報をフィードバック情報としてフィードバック制御部52に供給する。
以上、制御装置15の機能的構成例について説明した。
次に、図3と図4を参照して、本発明が適用されるティーチングプレイバック制御の目標位置の決定手法について説明する。
図3は、ティーチングプレイバック制御の経路の一例を示している。
図3に示す座標系は、ワーク2が配置される空間の座標系であり、以下、ワールド座標系と称する。
図3に示すように、生産ラインを搬送されてきたワーク2が、ロボットアーム11によるボルト締めの作業位置に誤差なく配置されることを前提として、経路が設定される。すなわち、このような前提の下、ワーク2のボルト穴21−1乃至21―Nが本来形成されるべき規定位置が、教示位置TP1乃至TPN(図2にはTP1乃至TP4のみ図示)として設定される。
従って、本実施形態では、教示位置TP1乃至TPNの座標や経路内の順番(各符号の順番)が、教示位置保持部61に保持されている。
目標位置決定部62は、教示位置保持部61の保持内容から、教示位置TP1乃至TPNのうち、次のi回(iは1乃至Nの何れかの整数値)の教示位置TPiを認識する。そして、目標位置決定部62は、その教示位置TPiに基づいて、次のi回の目標位置TPi’を決定し、移動指令生成部63に通知する。
ここで、仮に、目標位置TPi’として、従来と同様に教示位置TPiをそのまま用いる場合、実誤差には、主に次の3つの誤差の成分が含まれている。
図4は、3つの誤差の成分のうちの、ワークズレ誤差を説明する図である。
図4に示すように、生産ラインを搬送されてきたワーク2が、ロボットアーム11によるボルト締めの作業位置に実際に配置された場合には、ズレ量91の分だけ、ワーク2の位置及び姿勢のズレが生じる。このズレ量91に起因する誤差が、ワークズレ誤差として、実誤差に含まれる。
また、ワーク2上のボルト穴21の実穴位置が規定位置からズレていることがあり、このズレに起因する誤差(以下、「穴位置誤差」と称する)が、実誤差に含まれる。さらに、ティーチングプレイバック制御はいわゆるオープンループ制御であるため、制御精度上の誤差(以下、「制御誤差」と称する)が、実誤差に含まれる。
しかしながら、ワークズレ誤差の実測範囲は±5mm、±2deg程度の範囲であるのに対して、穴位置誤差の実測範囲は±0.5mm程度の範囲と遥かに小さく、さらに制御誤差は無視できる程小さい。従って、実誤差の大部分は、ワークズレ誤差によるものである。
一方、本実施形態では、ワーク2は自動車のドア等であり、ワーク2上のN個の規定位置にボルト穴21−1乃至21−Nが形成されている。すなわち、ボルト穴21−1乃至21−Nの相対的な位置関係は、穴位置誤差を無視すれば、個々のワーク2によらず常に一定となる。また、位置及び姿勢のズレがなくワーク2が配置された場合のN個の規定位置が、教示位置TP1乃至TPNとして設定されている。このため、教示位置TP1乃至TPNを結ぶ経路と、ボルト穴21−1乃至21−Nを結ぶ経路とは、図4に示すワーク2の位置及び姿勢のズレ量91を修正した場合には、穴位置誤差や制御誤差を無視すれば一致する。
従って、次のi回の教示位置TPiに対して、ワーク2の位置及び姿勢のズレ量91の分を補正した位置を、目標位置TPi’とすることで、次のi回の実誤差は、ワークズレ誤差の影響が無くなり非常に小さなものになる。
ワーク2の位置及び姿勢のズレ量91は、3次元情報であるため、穴位置誤差や制御誤差を無視すれば、3つのボルト穴21の実穴位置に関する位置情報(3点情報)により特定可能である。このような3点情報として、3つのボルト穴21についての実誤差量dを採用することが可能である。
そこで、i=4回以降の場合、目標位置決定部62は、3回分の実誤差量dの履歴に基づいて次のi回の教示位置TPiを補正し、補正後の位置を目標位置TPi’に決定する。実誤差量dの履歴であれば、何れの回の実誤差量dを用いても構わないが、本実施形態では1乃至3回目の実誤差量dが用いられる。すなわち、本実施形態では、i=4回以降の場合、目標位置決定部62は、次の式(1)を演算することで目標位置TPi’を決定する。
Figure 0005324397
・・・(1)
式(1)において、右辺のf4は、4つのパラメータTPi,d1,d2,d3を入力として、これらのパラメータを用いる所定の演算の結果を出力とする関数を示している。dm(mは1以上の整数値であって、式(1)においては1乃至3の何れかの値)は、m回目の実誤差量dを示している。実誤差量dmは、上述のごとく誤差検出部65により検出されて、目標位置決定部62に供給される。
ここで、i=3回以下の場合には、3つの実誤差量dが得られていないため、ワーク2の位置及び姿勢のズレ量91を特定することは困難である。
しかしながら、上述したように、実誤差の大部分はワークズレ誤差によるものであるため、1つ又は2つの実誤差量dの中にも、ワーク2の位置及び姿勢のズレ量91の概略又は一部分を推定するための有意情報が含まれている。従って、次のi回の教示位置TPiに対して、1つ又は2つの実誤差量dの履歴に基づいて補正することで、ワーク2の位置及び姿勢のズレ量91をある程度補正することが可能になる。
そこで、本実施形態では、i=3回の場合、目標位置決定部62は、2つのボルト穴21−1及び21−2についての実誤差量d1及びd2に基づいて教示位置TP3を補正し、補正後の位置を目標位置TP3’に決定する。すなわち、i=3回の場合、目標位置決定部62は、次の式(2)を演算することで目標位置TP3’を決定する。
Figure 0005324397
・・・(2)
式(2)において、右辺のf3は、3つのパラメータTP3,d1,d2を入力として、これらのパラメータを用いる所定の演算の結果を出力とする関数を示している。
i=2回の場合、目標位置決定部62は、1つのボルト穴21−1についての実誤差量d1に基づいて教示位置TP2を補正し、補正後の位置を目標位置TP2’に決定する。すなわち、i=2回の場合、目標位置決定部62は、次の式(3)を演算することで目標位置TP2’を決定する。
Figure 0005324397
・・・(3)
式(3)において、右辺のf2は、2つのパラメータTP2,d1を入力として、これらのパラメータを用いる所定の演算の結果を出力とする関数を示している。
なお、i=1の場合、すなわち初回の場合には、実誤差量dは得られていないので、目標位置決定部62は、教示位置TP1をそのまま、目標位置TP1’に決定する。
以上、本発明が適用されるティーチングプレイバック制御の目標位置の決定手法について説明した。次に、このような目標位置の決定手法が適用された制御装置15のハードウェア構成例について説明する。
図5は、制御装置15のハードウェアの構成例を示すブロック図である。
制御装置15は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、バス104と、入出力インターフェース105と、入力部106と、出力部107と、記憶部108と、通信部109と、ドライブ110と、を備えている。
CPU101は、ROM102に記録されているプログラムに従って各種の処理を実行する。又は、CPU101は、記憶部108からRAM103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータ等も適宜記憶される。
例えば本実施形態では、上述した図2のロボットアーム制御部41及びエンドエフェクタ制御部42の各機能を実行するプログラムが、ROM102や記憶部108に記憶されている。従って、CPU101が、このプログラムに従った処理を実行することで、ロボットアーム制御部41及びエンドエフェクタ制御部42の各機能を実現することができる。なお、以下、このプログラムに従った処理を、ボルト締め処理と称する。ボルト締め処理の一例については、図6のフローチャートを参照して後述する。
CPU101と、ROM102と、RAM103とは、バス104を介して相互に接続されている。このバス104にはまた、入出力インターフェース105も接続されている。
入出力インターフェース105には、キーボード等で構成される入力部106と、表示デバイスやスピーカ等で構成される出力部107と、ハードディスク等より構成される記憶部108と、通信部109と、が接続されている。通信部109は、カメラ13との間で行う通信と、ロボットアーム駆動装置14との間で行う通信と、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信と、をそれぞれ制御する。なお、これらの通信は、図1の例では有線通信とされているが、無線通信であってもよい。
入出力インターフェース105にはまた、必要に応じてドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア111が適宜装着される。そして、それらから読み出されたプログラムが、必要に応じて記憶部108にインストールされる。
図6は、図5の制御装置15によるボルト締め処理の流れの一例を示すフローチャートである。
図6のボルト締め処理において、ボルト締め回数iにおけるボルト締めの対象は、ボルト穴21−iである。すなわち、本実施形態では、N個のボルト穴21−1乃至21−Nが存在するので、ボルト締め回数iは1乃至Nのうちの何れかの整数値になる。なお、以下、ボルト締めの最終回数Nは5以上であるとする。
ステップS1において、CPU101は、ボルト締め回数i=1に設定する。ステップS2において、CPU101は、教示位置TP1をそのまま目標位置TPi(=1)’に決定する。
ステップS3において、CPU101は、ロボットアーム11を目標位置TPi’に移動させる。
すなわち、CPU101は、ティーチングプレイバック制御により、目標位置TPi’に基づいて移動指令を生成し、通信部109を介して、ロボットアーム駆動装置14に送信する。すると、上述したように、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を目標位置TPi’まで移動させる。
ボルト締め回数i=1の場合、目標位置TPi’は教示位置TP1なので、ロボットアーム11は、教示位置TP1まで移動する。これにより、処理はステップS3からS4に進む。
ステップS4において、CPU101は、ボルト穴21−iの実穴位置Hiを認識する。ステップS5において、CPU101は、実穴位置Hiにおける実誤差量diを検出する。
すなわち、CPU101は、ロボットアーム11が目標位置TPi’に移動した時点のカメラ13の撮影画像の画像データを、通信部109を介して受信する。CPU101は、この画像データに基づいて、撮影画像からボルト穴21−iを認識する。カメラ座標系におけるボルト穴21−iの中心の座標が、実穴位置Hiの座標になる。ここで、本実施形態では、カメラ13の画角の中心がロボットアーム11の実アーム位置となるように、カメラ13が設定されている。従って、本実施形態では、実穴位置Hiの座標がそのまま、実誤差量diとして用いられる。
ステップS6において、CPU101は、実誤差量diに基づいて、ロボットアーム11の位置ズレを補正する制御を行う。
すなわち、CPU101は、ロボットアーム11の動作の制御を、ティーチングプレイバック制御からフィードバック制御に切り替える。そして、CPU101は、所定のフィードバック制御により移動指令を生成して、通信部109を介してロボットアーム駆動装置14に送信する。
ロボットアーム駆動装置14は、移動指令を受信すると、上述したように、この移動指令に従って、ロボットアーム11をボルト穴21−iの実穴位置Hiまで移動させる。実誤差量diが略0になると、すなわち、ロボットアーム11の実アーム位置とボルト穴21−iの実穴位置Hiとが略一致すると、フィードバック制御は停止して、ロボットアーム11の移動動作も停止する。これにより、処理はステップS6からS7に進む。
ステップS7において、CPU101は、ロボットアーム11によるボルト締め作業を制御する。すなわち、CPU101は、通信部109を介してエンドエフェクタ12を制御することによって、ボルトをボルト穴21−iに挿入して捻じ込む。
ステップS7のボルト締め作業が終了すると、ステップS8において、CPU101は、ボルト締め回数iを1だけインクリメントする(i=i+1)。
ステップS9において、CPU101は、ボルト締め回数i=2であるか否かを判定する。
ボルト穴21−1に対する1回目のボルト締め作業後には、ステップS8の処理でボルト締め回数i=2となるので、ステップS9においてYESであると判定されて、処理はステップS10に進む。
ステップS10において、CPU101は、上述した式(3)に従って、目標位置TPi(=2)’を決定する。
図7は、目標位置TPiの決定手法の一例を説明するための模式図である。
具体的には例えば、CPU101は、図7aに示すような目標位置TPi(=2)’を決定する。すなわち、この場合、式(3)の具体例として、次の式(4)が用いられる。
Figure 0005324397
・・・(4)
式(4)において、X2’,Y2’,Z2’のそれぞれは、目標位置TPi(=2)’のワールド座標系のX座標,Y座標,Z座標のそれぞれを示している。X2,Y2,Z2のそれぞれは、教示位置TP2のワールド座標系のX座標,Y座標,Z座標のそれぞれを示している。
上述のごとく、ワークズレ誤差を全て解消するためには、教示位置TP2に対して、図4に示すワーク2の位置及び姿勢のズレ量91の分を補正した量を、目標位置TPi(=2)’とすることが必要である。しかしながら、図4に示すワーク2の位置及び姿勢のズレ量91は、3次元情報であるため、3点情報が存在しないと特定することが実質上できない。これに対して、ボルト締め回数i=2回目では、1回目の実誤差量d1という1点情報しか得られていない。このため、ボルト締め回数i=2回目では、図7aや式(4)に示すように、図4に示すワーク2の位置及び姿勢のズレ量91のうち、実誤差量d1から導き出せる位置のズレ量分を補正することにしている。これにより、2回目の実誤差量d2は、ワークズレ誤差のうち位置のズレ量分の誤差が解消されている。従って、2回目の実誤差量d2は、1回目の実誤差量d1と比較して大幅に低下する。
このようにして、ステップS10において目標位置TPi(=2)’が決定されると、処理はステップS14に進む。ステップS14において、CPU101は、ボルト締め回数iが最終回数Nを超えたか(i>Nであるか)否かを判定する。
ステップS10において目標位置TPi(=2)’が決定された後の場合、ボルト締め回数i=2であるので、ステップS14においてNOであると判定されて処理はステップS3に戻され、それ以降の処理が繰り返される。
すなわち、ボルト締め回数i=2回目について、ロボットアーム11が目標位置TPi(=2)’まで移動し(ステップS3)、ボルト穴21−2の実穴位置H2が認識され(ステップS4)、実誤差量d2が検出されて(ステップS5)、位置ズレが補正されて(ステップS6)、ボルト穴21−2に対するボルト締め作業が行われる(ステップS7)。
このとき、上述したように、2回目の実誤差量d2は、1回目の実誤差量d1と比較して大幅に低下している。従って、ロボットアーム11が、2回目の目標位置TPi(=2)’まで移動してからボルト穴21−2に対するボルト締め作業を行うまでの処理時間、すなわち、ステップS4乃至S6の処理時間は、1回目の処理時間と比較して大幅に短縮する。
その後、ボルト締め回数i=3回目に更新され(ステップS8)、ステップS9においてNOであると判定されて、処理はステップS11に進む。ステップS11において、CPU101は、ボルト締め回数i=3であるか否かを判定する。
ボルト穴21−2に対する2回目のボルト締め作業後には、ステップS8の処理でボルト締め回数i=3となるので、ステップS11においてYESであると判定されて、処理はステップS12に進む。
ステップS12において、CPU101は、上述した式(2)に従って、目標位置TPi(=3)’を決定する。
具体的には例えば、CPU101は、図7bに示すような目標位置TPi(=3)’を決定する。すなわち、この場合、式(2)の具体例として、次の式(5)が用いられる。
Figure 0005324397
・・・(5)
式(5)において、X3’,Y3’,Z3’のそれぞれは、目標位置TPi(=3)’のワールド座標系のX座標,Y座標,Z座標のそれぞれを示している。X3,Y3,Z3のそれぞれは、教示位置TP3のワールド座標系のX座標,Y座標,Z座標のそれぞれを示している。θは、図7aに示すように、原点Oから更新後の目標位置TP2’を結ぶ直線と、原点Oからボルト穴21−2の中心を結ぶ直線との各々をXY平面に投影したもののなす角度である。この角度θは、2回目の実誤差量d2に基づいて演算される。
ボルト締め回数i=3回目では、1回目の実誤差量d1及び2回目の実誤差量d2という2点情報しか得られておらず、図4に示すワーク2の位置及び姿勢のズレ量91を特定することが実質上できない。このため、ボルト締め回数i=3回目では、図7bや式(5)に示すように、図4に示すワーク2の位置及び姿勢のズレ量91のうち、実誤差量d1から導き出される位置のズレ量分、及び、実誤差量d2から導き出せる角度θに対応するZ軸周り(XY平面)の傾きのズレ量分を修正することにしている。これにより、3回目の実誤差量d3は、ワークズレ誤差のうち、位置のズレ量分、及び、Z軸周り(XY平面)の傾きのズレ量分の誤差が解消されている。換言すると、3回目の実誤差量d3に含まれるワークズレ誤差の成分としては、X軸とY軸の2軸の周りの回転ズレ量分のみとなる。従って、3回目の実誤差量d3は、2回目の実誤差量d2と比較してさらに一段と低下することになる。
このようにして、ステップS12において目標位置TPi(=3)’が決定されると、処理はステップS14に進む。この場合、ボルト締め回数i=3であるので、ステップS14においてNOであると判定されて処理はステップS3に戻され、それ以降の処理が繰り返される。
すなわち、ボルト締め回数i=3回目について、ロボットアーム11が目標位置TPi(=3)’まで移動し(ステップS3)、ボルト穴21−3の実穴位置H3が認識され(ステップS4)、実誤差量d3が検出されて(ステップS5)、位置ズレが補正されて(ステップS6)、ボルト穴21−3に対するボルト締め作業が行われる(ステップS7)。
このとき、上述したように、3回目の実誤差量d3は、2回目の実誤差量d2と比較してさらに一段と低下する。従って、ロボットアーム11が、3回目の目標位置TPi(=3)’まで移動してからボルト穴21−3に対するボルト締め作業を行うまでの処理時間、すなわち、ステップS4乃至S6の処理時間は、2回目の処理時間と比較してさらに一段と短縮する。
その後、ボルト締め回数i=4回目に更新され(ステップS8)、ステップS9及びS11のそれぞれにおいてNOであると判定されて、処理はステップS13に進む。
ステップS13において、CPU101は、上述した式(1)に従って、目標位置TPi(=4)’を決定する。
具体的には例えば、CPU101は、図7cに示すような目標位置TPi(=4)’を決定する。
ボルト締め回数i=4回目では、1回目の実誤差量d1、2回目の実誤差量d2、及び、3回目の実誤差量d3という3点情報が得られているので、図4に示すワーク2の位置及び姿勢のズレ量91を特定することが可能である。このため、ボルト締め回数i=4回目では、例えば図4に示すワーク2の位置及び姿勢のズレ量91だけ回転移動させるための3次元の回転行列を求めて、教示位置TP4に対して、この回転行列をかける式を、式(1)として用いることにしている。これにより、4回目の実誤差量d4は、実質上、ワークズレ誤差の全てが解消されている。換言すると、4回目の実誤差量d4には、ワークズレ誤差と比較して遥かに小さな穴位置誤差や制御誤差しか含まれない。従って、4回目の実誤差量d4は、3回目の実誤差量d3と比較してさらに一段と低下する。
このようにして、ステップS13において目標位置TPi(=4)’が決定されると、処理はステップS14に進む。この場合、ボルト締め回数i=4であるので、ステップS14においてNOであると判定されて処理はステップS3に戻され、それ以降の処理が繰り返される。
すなわち、ボルト締め回数i=4回目について、ロボットアーム11が目標位置TPi(=4)’まで移動し(ステップS3)、ボルト穴21−4の実穴位置H4が認識され(ステップS4)、実誤差量d4が検出されて(ステップS5)、位置ズレが補正されて(ステップS6)、ボルト穴21−4に対するボルト締め作業が行われる(ステップS7)。
このとき、上述したように、4回目の実誤差量d4は、3回目の実誤差量d3と比較してさらに一段と低下している。従って、ロボットアーム11が、4回目の目標位置TPi(=4)’まで移動してからボルト穴21−4に対するボルト締め作業を行うまでの処理時間、すなわち、ステップS4乃至S6の処理時間は、3回目の処理時間と比較してさらに一段と短縮する。
その後、ボルト締め回数i=5乃至N回目のそれぞれについて、i=4回目の場合と同様の処理が繰り返される。すなわち、i=4回目以降では、上述した式(1)に従って決定された目標位置TPi’が用いられて、ステップS3乃至S7の処理が実行される。この場合、i=5乃至N回目の実誤差量diは、4回目の実誤差量diと同様に、実質上、ワークズレ誤差の全てが解消されている。換言すると、i=5乃至N回目の実誤差量diには、ワークズレ誤差と比較して遥かに小さな穴位置誤差や制御誤差しか含まれない。従って、ロボットアーム11が、i回目の目標位置TPi’まで移動してからボルト穴21−iに対するボルト締め作業を行うまでの処理時間、すなわち、ステップS4乃至S6の処理時間は、4回目の処理時間とほぼ同様の短時間となる。
ボルト締め回数i=N回目のボルト締め作業が終了すると(ステップS7)、ボルト締め回数i=N+1回目に更新され(ステップS8)、ステップS9及びS11のそれぞれにおいてNOであると判定されて、処理はステップS13の後ステップS14に進む。この場合、ステップS14においてYESであると判定されて、ボルト締め処理は終了する。
本実施形態によれば、以下のような効果がある。
(1)制御装置15は、ボルト穴21を視認可能なカメラ13が取り付けられたロボットアーム11を、ティーチングプレイバック制御により移動させる。この場合、制御装置15は、次のi回のボルト穴21―iの位置に対応させて予め設定された教示位置TPiの各々に対して、i−1回までに検出された実誤差量d1乃至di−1の履歴のうち少なくとも1回分の履歴を用いた補正を行い、補正後の位置を次回の目標位置TPi’として設定する。
これにより、補正後の実誤差量diは、補正前の教示位置TPiのボルト穴21−iに対する誤差量と比較して小さくなる。従って、誤差量が小さくなった分だけ、その誤差量を解消するための位置補正に要する時間、例えば主に図6のステップS6の処理時間が短縮される。ここで、このような位置補正に要する時間とティーチングプレイバック制御に要する時間との加算時間が、ロボットアーム11が対象物に移動するまでの時間である。従って、ロボットアーム11が対象物に移動するまでの時間も短縮される。このようにして、マニュピュレータを対象物まで短時間で移動させることが可能になる。
なお、本発明は本実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、マニュピュレータは、本実施形態ではロボットアーム11に取り付けられていたが、特にこれに限定されず、任意のワーク上の複数の対象物の各々に移動可能なものであればよい。
例えば、i=4回以降の場合の目標位置TPi’を決定するために用いる履歴は、本実施形態では1乃至3回目の実誤差量d1乃至d3が用いられていたが、これに限定されず、任意の3回分の実誤差量dを用いてもよい。具体的には例えば、直前のi−3乃至i−1回目の実誤差量di−3乃至di−1を用いてもよい。また、目標位置TPi’を決定するために用いる履歴の個数は、本実施形態では最大3個とされていたが、4個以上としてもよい。
例えば、次回の目標位置を補正するための情報として、本実施形態では実誤差量が採用されたが、これに限定されず、マニュピュレータが実際に移動した目標位置に対応する対象物の位置情報であれば、任意の情報でよい。
例えば、このような位置情報は、本実施形態ではカメラ13の撮影画像に基づいて生成されたが、生成するための情報はこれに限定されず、対象物の位置を特定可能な任意の情報に基づいて位置情報を生成することが可能である。
また、本実施形態では、図2のロボットアーム制御部41及びエンドエフェクタ制御部42をソフトウェアとハードウェア(CPU101を含む関連部分)の組合せにより構成するものとして説明したが、かかる構成は当然ながら例示であり、本発明はこれに限定されない。例えば、ロボットアーム制御部41及びエンドエフェクタ制御部42の少なくとも一部を、専用のハードウェアで構成してもよし、ソフトウェアで構成してもよい。
このように、本発明に係る一連の処理は、ソフトウェアにより実行させることも、ハードウェアにより実行させることもできる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムを、コンピュータ等にネットワークを介して、或いは、記録媒体からインストールすることができる。コンピュータは、専用のハードウェアを組み込んだコンピュータであってもよいし、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータであってもよい。
本発明に係る一連の処理を実行するための各種プログラムを含む記録媒体は、情報処理装置(例えば本実施形態では制御装置15)本体とは別に、ユーザにプログラムを提供するために配布されるリムーバブルメディアでもよく、或いは、情報処理装置本体に予め組み込まれた記録媒体等でもよい。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini−Disk)等により構成される。また、装置本体に予め組み込まれた記録媒体としては、例えば、プログラムが記録されている、図5のROM102や、図5の記憶部108に含まれるハードディスク等でもよい。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置や処理部により構成される装置全体を表すものである。
1 ロボットシステム
11 ロボットアーム
12 エンドエフェクタ
13 カメラ
14 ロボットアーム駆動装置
15 制御装置
23 多関節マニュピュレータ
41 ロボットアーム制御部
51 ティーチングプレイバック制御部
52 フィードバック制御部
53 制御切替部
54 画像処理部
55 ロボットアーム状態取得部
61 教示位置保持部
62 目標位置決定部
63 移動指令生成部
64 対象物認識部
65 誤差検出部

Claims (4)

  1. ワーク上の複数の対象物を視認可能な視覚装置が取り付けられたマニュピュレータを、前記複数の対象物の各々まで移動させる制御を行う情報処理装置が実行する情報処理方法において、
    前記複数の対象物の位置に対応させて予め教示により設定された複数の教示位置の各々を、所定の順番で目標位置に順次設定し、前記目標位置に向けて前記マニュピュレータを順次移動させるティーチングプレイバック制御を実行する基礎動作ステップと、
    前記基礎動作ステップの前記ティーチングプレイバック制御により前記マニュピュレータが前記目標位置に順次移動する毎に、当該目標位置に対応する前記対象物の位置に関する位置情報を検出する検出ステップと、
    前記検出ステップの処理毎に、前記所定の順番における次回の目標位置に向けて移動する前に、前記検出ステップの処理により検出された前記位置情報の履歴のうち、少なくとも同一の前記ワークの過去1回分の履歴を用いて、次回の目標位置の設定を補正する補正ステップと、
    を含み、
    前記複数の対象物は、前記ワークの予め規定された固定位置にそれぞれ存在し、
    前記補正ステップは、
    前記所定の順番における2回目の目標位置に向けて移動する前に、前記検出ステップの処理により検出された1回目の位置情報を用いて位置のずれ量分を算出し、2回目の目標位置の設定を補正する1回目の補正ステップと、
    前記所定の順番における3回目の目標位置に向けて移動する前に、前記検出ステップの処理により検出された2回目の位置情報を用いて位置の2軸の周りの回転ずれ分を算出し、前記1回目の補正ステップにより算出した位置のずれ量分と、前記検出ステップの処理により検出された2回目の位置情報を用いて算出した位置の2軸の周りの回転ずれ分とを用いて、3回目の目標位置の設定を補正する2回目の補正ステップと、
    前記所定の順番における4回目以降の目標位置に向けて移動する前に、前記検出ステップの処理により検出された前記位置情報の3回分の履歴を用いて、4回目以降の目標位置の設定を補正する3回目以降の補正ステップと、
    をさらに含む
    ことを特徴とする情報処理方法。
  2. 前記位置情報は、前記目標位置に移動した前記マニュピュレータの位置と、前記目標位置に対応する前記対象物の位置との誤差量を示す情報である
    ことを特徴とする請求項1に記載の情報処理方法。
  3. ワーク上の複数の対象物を視認可能な視覚装置が取り付けられたマニュピュレータを、前記複数の対象物の各々まで移動させる制御を行う情報処理装置において、
    前記複数の対象物の位置に対応させて予め教示により設定された複数の教示位置の各々を、所定の順番で目標位置に順次設定し、前記目標位置に向けて前記マニュピュレータを順次移動させるティーチングプレイバック制御を実行する基礎動作手段と、
    前記基礎動作手段の前記ティーチングプレイバック制御により前記マニュピュレータが前記目標位置に順次移動する毎に、当該目標位置に対応する前記対象物の位置に関する位置情報を検出する検出手段と、
    前記検出手段による処理毎に、前記所定の順番における次回の目標位置に向けて移動する前に、前記検出手段により検出された前記位置情報の履歴のうち、少なくとも同一の前記ワークの過去1回分の履歴を用いて、次回の対象物の目標位置の設定を補正する補正手段と、
    を含み、
    前記複数の対象物は、前記ワークの予め規定された固定位置にそれぞれ存在し、
    前記補正手段は、
    前記所定の順番における2回目の目標位置に向けて移動する前に、前記検出手段により検出された1回目の位置情報を用いて、位置のずれ量分を算出し、2回目の目標位置の設定を補正する1回目の補正手段と、
    前記所定の順番における3回目の目標位置に向けて移動する前に、前記検出手段により検出された2回目の位置情報を用いて位置の2軸の周りの回転ずれ量分を算出し、前記位置のずれ量分と前記位置の2軸の周りの回転ずれ量分とを用いて、3回目の目標位置の設定を補正する2回目の補正手段と、
    前記所定の順番における4回目以降の目標位置に向けて移動させる場合、過去3回分の前記履歴を用いて、前記4回目以降の目標位置の設定を補正する3回目以降の補正手段と、
    をさらに含む
    ことを特徴とする情報処理装置。
  4. ワーク上の複数の対象物を視認可能な視覚装置が取り付けられたマニュピュレータを、前記複数の対象物の各々まで移動させる制御処理であって、前記複数の対象物は、前記ワークの予め規定された固定位置にそれぞれ存在する、前記制御処理をコンピュータに実行させるためのプログラムであって
    前記複数の対象物の位置に対応させて予め教示により設定された複数の教示位置の各々を、所定の順番で目標位置に順次設定し、前記目標位置に向けて前記マニュピュレータを順次移動させるティーチングプレイバック制御を実行する基礎動作ステップと、
    前記基礎動作ステップの前記ティーチングプレイバック制御により前記マニュピュレータが前記目標位置に順次移動する毎に、当該目標位置に対応する前記対象物の位置に関する位置情報を検出する検出ステップと、
    前記検出ステップの処理毎に、前記所定の順番における次回の目標位置に向けて移動する前に、前記検出ステップの処理により検出された前記位置情報の履歴のうち、少なくとも同一の前記ワークの過去1回分の履歴を用いて、次回の目標位置の設定を補正する補正ステップであって、
    前記所定の順番における2回目の目標位置に向けて移動する前に、前記検出ステップの処理により検出された1回目の位置情報を用いて位置のずれ量分を算出し、2回目の目標位置の設定を補正する1回目の補正ステップと、
    前記所定の順番における3回目の目標位置に向けて移動する前に、前記検出ステップの処理により検出された2回目の位置情報を用いて位置の2軸の周りの回転ずれ分を算出し、前記1回目の補正ステップにより算出した位置のずれ量分と、前記検出ステップの処理により検出された2回目の位置情報を用いて算出した位置の2軸の周りの回転ずれ分とを用いて、3回目の目標位置の設定を補正する2回目の補正ステップと、
    前記所定の順番における4回目以降の目標位置に向けて移動する前に、前記検出ステップの処理により検出された前記位置情報の3回分の履歴を用いて、4回目以降の目標位置の設定を補正する3回目以降の補正ステップと、
    をさらに含む前記補正ステップと、
    を含む前記制御処理をコンピュータに実行させることを特徴とするプログラム。
JP2009252034A 2009-11-02 2009-11-02 情報処理方法及び装置並びにプログラム Expired - Fee Related JP5324397B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009252034A JP5324397B2 (ja) 2009-11-02 2009-11-02 情報処理方法及び装置並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009252034A JP5324397B2 (ja) 2009-11-02 2009-11-02 情報処理方法及び装置並びにプログラム

Publications (2)

Publication Number Publication Date
JP2011093076A JP2011093076A (ja) 2011-05-12
JP5324397B2 true JP5324397B2 (ja) 2013-10-23

Family

ID=44110562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009252034A Expired - Fee Related JP5324397B2 (ja) 2009-11-02 2009-11-02 情報処理方法及び装置並びにプログラム

Country Status (1)

Country Link
JP (1) JP5324397B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6390088B2 (ja) * 2013-10-31 2018-09-19 セイコーエプソン株式会社 ロボット制御システム、ロボット、プログラム及びロボット制御方法
JP5850962B2 (ja) * 2014-02-13 2016-02-03 ファナック株式会社 ビジュアルフィードバックを利用したロボットシステム
CN114359265B (zh) * 2022-03-04 2022-05-24 广东顺德富意德智能包装科技有限公司 一种基于目标跟踪的螺丝计数方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2767417B2 (ja) * 1986-08-29 1998-06-18 ファナック 株式会社 ロボツト制御装置
JPH02250782A (ja) * 1989-03-20 1990-10-08 Fanuc Ltd 産業用ロボットの手動介入方式
JPH0569355A (ja) * 1991-02-26 1993-03-23 Teijin Ltd 台車等に対するボビン自動交換機の位置決め方法
JPH05108125A (ja) * 1991-10-16 1993-04-30 Kobe Steel Ltd ロボツトの再生制御装置
JP2584151Y2 (ja) * 1993-02-19 1998-10-30 株式会社明電舎 ロボット制御装置
JP3579742B2 (ja) * 2001-05-23 2004-10-20 川崎重工業株式会社 教示データ補正方法、補正プログラムおよび補正装置
JP2005138223A (ja) * 2003-11-06 2005-06-02 Fanuc Ltd ロボット用位置データ修正装置
JP4174517B2 (ja) * 2006-03-13 2008-11-05 ファナック株式会社 教示位置修正装置および教示位置修正方法
JP4347386B2 (ja) * 2008-01-23 2009-10-21 ファナック株式会社 加工用ロボットプラグラムの作成装置

Also Published As

Publication number Publication date
JP2011093076A (ja) 2011-05-12

Similar Documents

Publication Publication Date Title
CN108214454B (zh) 机器人系统、机器人控制装置及机器人控制方法
JP5508895B2 (ja) 加工システム及び加工方法
WO2011083659A1 (ja) 加工システム及び加工方法
US20180229364A1 (en) Robot system having learning control function and learning control method
US20060195228A1 (en) Robot locus control method and apparatus and program of robot locus control method
JP5318727B2 (ja) 情報処理方法及び装置並びにプログラム
US11679508B2 (en) Robot device controller for controlling position of robot
EP3542969A1 (en) Working-position correcting method and working robot
CN108356823A (zh) 具有学习控制功能的控制系统以及控制方法
CN110581946B (zh) 控制系统、控制装置、图像处理装置以及存储介质
JP2007011978A (ja) ロボットの運動制御装置
JP7306937B2 (ja) ロボットに支持された部材の位置を調整するロボット装置の制御装置
JP2019107704A (ja) ロボットシステム及びロボット制御方法
CN109465817B (zh) 机器人系统、机器人控制装置和被加工物的制造方法
CN109421049B (zh) 机器人系统
CN110303474B (zh) 使用图像处理修正机器人的示教的机器人系统
JP2004001122A (ja) ピッキング装置
JP5324397B2 (ja) 情報処理方法及び装置並びにプログラム
JP6217322B2 (ja) ロボット制御装置、ロボット及びロボット制御方法
CN110154043B (zh) 基于加工结果进行学习控制的机器人系统及其控制方法
US20180178383A1 (en) Moving Along A Predetermined Path With A Robot
JP5290934B2 (ja) 情報処理方法及び装置並びにプログラム
JP7227018B2 (ja) 学習制御装置、ロボット制御装置およびロボット
WO2023013739A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP7433509B2 (ja) 制御装置、ロボットシステム、学習装置、軌跡モデル、制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130425

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130718

R150 Certificate of patent or registration of utility model

Ref document number: 5324397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees