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

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

Info

Publication number
JP2011093055A
JP2011093055A JP2009250612A JP2009250612A JP2011093055A JP 2011093055 A JP2011093055 A JP 2011093055A JP 2009250612 A JP2009250612 A JP 2009250612A JP 2009250612 A JP2009250612 A JP 2009250612A JP 2011093055 A JP2011093055 A JP 2011093055A
Authority
JP
Japan
Prior art keywords
control
visual
target position
robot arm
manipulator
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
JP2009250612A
Other languages
English (en)
Other versions
JP5318727B2 (ja
Inventor
Ryo Nakajima
陵 中島
Hidenari Kamaike
英有 蒲池
Gentoku Fujii
玄徳 藤井
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 JP2009250612A priority Critical patent/JP5318727B2/ja
Priority to US12/913,078 priority patent/US8600552B2/en
Priority to CN2010105283668A priority patent/CN102049779B/zh
Publication of JP2011093055A publication Critical patent/JP2011093055A/ja
Application granted granted Critical
Publication of JP5318727B2 publication Critical patent/JP5318727B2/ja
Priority to US14/067,068 priority patent/US9073210B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Automatic Assembly (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

【課題】高速、高精度、かつ制御系として安定に、マニュピュレータを対象物まで移動させること。
【解決手段】装置は、カメラが取り付けられたロボットアームを、対象物まで移動させる移動制御を行う。すなわち、装置は、対象物が検知されていない場合、対象物の位置に基づいて予め設定された目標位置までの経路に沿って、マニュピュレータを移動させるティーチングプレイバック制御を実行する(ステップS1)。装置は、対象物が検知された場合、目標位置よりも対象物に近い位置を新たな目標位置として、新たな目標位置までの新たな経路を設定して、移動制御を切り替えるための切替条件が満たされるまでの間、新たな経路に沿って、マニュピュレータを移動させるティーチングプレイバック制御を実行する(ステップS3及びS4)。装置は、切替条件が満たされた場合、視覚サーボ制御を実行する(ステップS5)。
【選択図】図15

Description

本発明は、マニュピュレータの動作を制御する情報処理方法及び装置並びにプログラムに関する。詳しくは、高速、高精度、かつ制御系として安定に、マニュピュレータを対象物まで移動させることが可能な情報処理方法及び装置並びにプログラムに関する。
従来より、マニュピュレータを備えるロボットアームは、自動車等の生産ラインに配設され、自動車のドア等をワークとして、ワークの組立時におけるボルト締めの作業を行っている。すなわち、ロボットアームは、ワークの表面に形成されている複数のボルト穴のうち、次にボルト締めを行うボルト穴を対象物として、対象物まで移動して、ボルトを挿入して捻じ込む作業を行う。
ロボットアームを対象物まで移動させる制御として、対象物の位置に基づいて予め設定された位置(以下、「教示位置」と称する)を目標位置として、目標位置までの予め定められた経路に沿って、ロボットアームを移動させるティーチングプレイバック制御が広く用いられている。ティーチングプレイバック制御とは、予め定められた経路に沿ってロボットアームを移動させる動作を事前に教示しておき、この動作を再現させるオープンループ制御をいう。
しかしながら、実際の作業においては、生産ライン上でのワーク搬送の停止精度や、ワークを生産ライン上で搬送するためのワークパレットの個体差等に起因して、ワークの位置や姿勢にズレが生ずる。このズレのために、教示位置と、ボルト穴の実際の位置との間に誤差が生ずる。
そこで、この誤差を解消すべく、特許文献1及び2には、ロボットアームの先端に取り付けられたカメラにより、ロボットアームの先端の位置とボルト穴の実際の位置との偏差を求め、この偏差に基づいて、ロボットアームの位置補正を行う手法が開示されている。この位置補正には、偏差に基づく値をフィードバック値として用いる所定のフィードバック制御、例えばPID制御が用いられる。
特開平8−174457号公報 特開2001−246582号公報
しかしながら、特許文献1及び2を含む従来の手法を適用した場合、ロボットアームは、最初にティーチングプレイバック制御により教示位置まで移動すると、位置補正を行うためのフィードバック制御を実行する前に一旦静止する。このように、ロボットアームが一旦静止する分だけ、ロボットアームの移動開始から位置補正終了までに長時間を要するという課題が生ずる。
そこで、本出願人は、このような課題を解決すべく、ティーチングプレイバック制御によりロボットアームが移動している最中に、カメラ等の視覚装置により対象物が視認されると、位置補正用のフィードバック制御に切り替える、という手法を開発した。
さらに、本出願人は、かかる手法の位置補正用のフィードバック制御としてPID制御を適用すると、PID制御に切り替えたときにロボットアームに不要な振動が生ずる場合があるという知見を得た。このため、本出願人は、かかる手法にとって好適な位置補正用のフィードバック制御として、ビジュアルインピーダンス制御を用いることを見出した。
ビジュアルインピーダンス制御とは、従来のインピーダンス制御に基づく制御であって、従来のインピーダンス制御では実測により与えられていた外力の代わりに、カメラ等の視覚装置の出力情報により与えられる仮想的な外力を用いる制御である。
すなわち、本出願人は、ティーチングプレイバック制御によるロボットアームが移動している最中に、カメラ等の視覚装置により対象物が視認されると、ビジュアルインピーダンス制御に切り替える、という制御手法を開発した。以下、かかる制御手法を「基礎制御手法」と称する。
基礎制御手法については、本出願人により特願2008−310412号として既に出願されている。なお、ビジュアルインピーダンス制御は、特願2008−310412号の願書に添付した明細書においては「非接触型インピーダンス制御」と称されている。
基礎制御手法を適用することで、ティーチングプレイバック制御の途中にフィードバック制御に切り替えたときのロボットアームの振動を抑制し、かつ、位置補正に要する時間を短縮することが可能になる。
基礎制御手法は、自動車のドアのボルト締め作業のみならず、マニュピュレータが移動すべき対象物が多数存在するワークの作業に対して広く一般的に適用することが可能である。
現状、このような基礎制御手法よりも更に、高速、高精度、かつ制御系として安定に、ロボットアームを対象物まで移動させる手法の実現が望まれている。
本発明は、マニュピュレータの動作を制御する情報処理方法及び装置並びにプログラムであって、基礎制御手法と比較してより一段と高速、高精度、かつ制御系として安定に、マニュピュレータを対象物まで移動させることが可能な情報処理方法及び装置並びにプログラムを提供することを目的とする。
本発明の情報処理方法は、対象物(例えば実施形態におけるボルト穴21)を視認可能な視覚装置(例えば実施形態におけるカメラ13)が取り付けられたマニュピュレータ(例えば実施形態におけるロボットアーム11を構成する多関節マニュピュレータ23)を、前記対象物まで移動させる移動制御を行う情報処理装置(例えば実施形態における制御装置15)が実行する情報処理方法において、
前記視覚装置により前記対象物が視認されていない場合、前記対象物の位置に基づいて予め設定された目標位置までの経路に沿って、前記マニュピュレータを移動させるティーチングプレイバック制御を実行する第1のステップ(例えば実施形態におけるボルト締め処理のステップS1)と、
前記視覚装置により前記対象物が視認された場合、前記目標位置よりも前記対象物に近い位置を新たな目標位置として、前記新たな目標位置までの新たな経路を設定して、前記移動制御を切り替えるための切替条件が満たされるまでの間、前記新たな経路に沿って、前記マニュピュレータを移動させる前記ティーチングプレイバック制御を実行する第2のステップ(例えば実施形態におけるボルト締め処理のステップS3及びS4)と、
前記切替条件が満たされた場合、前記視覚装置により視認された前記対象物の位置情報を取得し、前記位置情報をフィードバック情報として用いて前記マニュピュレータを前記対象物まで移動させる視覚サーボ制御を実行する第3のステップ(例えば実施形態におけるボルト締め処理のステップS5)と、
を含むことを特徴とする。
この発明によれば、ティーチングプレイバック制御を実行する第1のステップの処理中に対象物が視認された場合、視覚サーボ制御を実行する第3のステップに直ちに切り替わるのではなく、次のようなティーチングプレイバック制御を引き続き実行する第2のステップに切り替わる。すなわち、第2のステップとは、目標位置よりも対象物に近い位置を新たな目標位置として、新たな目標位置までの新たな経路を設定して、移動制御を切り替えるための切替条件が満たされるまでの間、新たな経路に沿って、マニュピュレータを移動させるティーチングプレイバック制御を実行するというステップである。そして、第2のステップによるティーチングプレイ制御が実行されている最中に切替条件が満たされると、第3のステップに切り替わる。
これにより、マニュピュレータの速度等の状態を一定の範囲内に収めて、視覚サーボ制御を開始することが可能になる。この「一定の範囲」は、切替条件を適切に設定することで、視覚サーボ制御にとって適切な範囲とすることが容易にできる。この場合、視覚サーボ制御が安定して適切に実行される。その結果、ティーチングプレイバック制御の実行中に対象物が視認された段階で直ちに視覚サーボ制御に切り替える場合と比較して、より一段と高速、高精度、かつ制御系として安定に、マニュピュレータを移動させることが可能になる。
この場合、前記第2のステップは、
前記新たな目標位置の1以上の候補及び前記新たな経路の1以上の候補を設定する候補設定ステップ(例えば実施形態におけるティーチングプレイバック制御の修正移動処理のステップS11乃至S17)と、
前記新たな目標位置の1以上の候補及び前記新たな経路の1以上の候補の少なくとも一部に基づいて、前記新たな経路を設定する経路設定ステップ(例えば実施形態におけるティーチングプレイバック制御の修正移動処理のステップS18)と、
前記切替条件が満たされたか否かを判定する判定ステップ(例えば実施形態におけるティーチングプレイバック制御の修正移動処理のステップS20)と、
前記切替条件が満たされていない場合、前記ティーチングプレイバック制御より、前記マニュピュレータを前記新たな経路に沿って移動させる移動ステップ(例えば実施形態におけるティーチングプレイバック制御の修正移動処理のステップS19)と、
前記切替条件が満たされた場合、前記移動制御を、前記ティーチングプレイバック制御から前記視覚サーボ制御に切り替える切替ステップ(例えば実施形態におけるボルト締め処理のステップS4)と、
を含むようにすることができる。
この場合、前記候補設定ステップは、
前記視覚装置により視認された前記対象物の位置を検出する対象物検出ステップ(例えば実施形態におけるティーチングプレイバック制御の修正移動処理のステップS13)と、
前記マニュピュレータの位置を検出するマニュピュレータ検出ステップ(例えば実施形態におけるティーチングプレイバック制御の修正移動処理のステップS12)と、
前記対象物の位置及び前記マニュピュレータの位置に基づいて、前記新たな目標位置の候補の1つを設定する目標位置候補設定ステップ(例えば実施形態におけるティーチングプレイバック制御の修正移動処理のステップS14)と、
前記目標位置候補設定ステップの処理により設定された前記新たな目標位置の候補までの経路を、前記新たな経路の候補の1つとして設定する経路候補設定ステップ(例えば実施形態におけるティーチングプレイバック制御の修正移動処理のステップS15)と、
を含み、
前記対象物検出ステップ乃至前記経路候補設定ステップの一連の処理が1以上実行されることで、前記新たな目標位置の1以上の候補及び前記新たな経路の1以上の候補が設定されるようにすることができる。
この場合、前記切替条件は、前記マニュピュレータの速度が一定以下になるという第1の条件を含むようにすることもできるし、前記マニュピュレータと前記対象物との位置の偏差が一定以下になるという第2の条件を含むようにすることもできる。ここで、これらの第1の条件と第2の条件とは、相互に独立した条件であるため、各々単体で用いることもできるし、組合せて用いることもできる。
本発明の情報処理装置(例えば実施形態における制御装置15)及びプログラム(例えば実施形態におけるCPU101により実行されるプログラム)は、上述の本発明の情報処理方法に対応する装置及びプログラムである。従って、本発明の情報処理装置及びプログラムも、上述の本発明の情報処理方法と同様の効果を奏することが可能になる。
本発明によれば、視覚装置が取り付けられたマニュピュレータを対象物まで移動させるために、ティーチングプレイバック制御の後に視覚サーボ制御を実行する場合において、マニュピュレータの速度等の状態を一定の範囲内に収めて、視覚サーボ制御を開始することが可能になる。この「一定の範囲」は、視覚サーボ制御に切り替える切替条件を適切に設定することで、視覚サーボ制御にとって適切な範囲とすることが容易にできる。この場合、視覚サーボ制御が安定して適切に実行されるので、高速、高精度、かつ制御系として安定に、マニュピュレータを移動させることが可能になる。
本発明の一実施形態に係るロボットシステムの概略外観構成を示す斜視図である。 図1のロボットシステムの制御装置の機能的構成例を示す機能ブロック図である。 基礎制御手法が有する課題を説明するための図であって、基礎制御手法が適用されたロボットアームの概略構成を示す側面図である。 基礎制御手法が有する課題を説明するための図であって、基礎制御手法が適用されたロボットアームに取り付けられたカメラの撮影画像の例を示す図である。 基礎制御手法が有する課題を説明するための図であって、基礎制御手法が適用されたロボットアームの速度の時間推移の一例を示すタイミングチャートである。 本発明が適用される3ステップ移動制御手法を説明するための図であって、図1のロボットシステムのロボットアームの概略構成を示す側面図である。 本発明が適用される3ステップ移動制御手法を説明するための図であって、図1のロボットシステムのロボットアームの速度の時間推移の一例を示すタイミングチャートである。 本発明が適用される3ステップ移動制御手法を説明するための図であって、図1のロボットシステムのロボットアームの位置の目標位置との偏差の時間推移の一例を示すタイミングチャートである。 本発明が適用されるビジュアルインピーダンス制御のパラメータ可変設定手法を説明するための図であって、図1のロボットシステムのロボットアームの速度と、初期ブレーキ量との関係を示す図である。 本発明が適用されるビジュアルインピーダンス制御のパラメータ可変設定手法を説明するための図であって、更新前のアクセル量と、更新後のアクセル量との関係を示す図である。 本発明が適用されるビジュアルインピーダンス制御のパラメータ可変設定手法を説明するための図であって、図1のロボットシステムのロボットアームの速度の時間推移の一例を示すタイミングチャートである。 本発明が適用されるビジュアルインピーダンス制御のパラメータ可変設定手法を説明するための図であって、図1のロボットシステムのロボットアームの位置の目標位置との偏差の時間推移の一例を示すタイミングチャートである。 本発明が適用されるビジュアルインピーダンス制御のパラメータ可変設定手法を説明するための図であって、図1のロボットシステムのロボットアームの速度と、更新後のブレーキ量との関係を示す図である。 図2の制御装置のハードウェアの構成例を示すブロック図である。 図14の制御装置によるボルト締め処理の流れの一例を示すフローチャートである。 図15のボルト締め処理のティーチングプレイバック制御の修正移動処理の流れの一例を示すフローチャートである。 図15のボルト締め処理のビジュアルフィードバック処理の流れの一例を示すフローチャートである。
以下、本発明の一実施形態を図面に基づいて説明する。
図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は、ロボットアーム11がボルト穴21まで移動すると、エンドエフェクタ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乃至図8等の図面を参照して後述する。
移動指令生成部63は、目標位置決定部62から通知された目標位置に基づいて移動指令を生成し、制御切替部53を介してロボットアーム駆動装置14に供給する。すると、上述したように、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を目標位置まで移動させる。
このようなティーチングプレイバック制御によりロボットアーム11が目標位置に向けて移動している最中に所定の条件が満たされると、制御切替部53は、ロボットアーム11の動作の制御を、ティーチングプレイバック制御部51によるティーチングプレイバック制御から、視覚サーボ制御部52による視覚サーボ制御に切り替える。
なお、制御を切り替えるための所定の条件(以下、「制御切替条件」と称する)の具体例については、図7や図8を参照して後述する。
視覚サーボ制御部52は、カメラ13の撮影画像に基づく情報をフィードバック情報として用いる所定の視覚サーボ制御により、移動指令を生成して、制御切替部53を介してロボットアーム駆動装置14に供給する。
本実施形態では、視覚サーボ制御として、ビジュアルインピーダンス制御が用いられている。ビジュアルインピーダンス制御とは、従来のインピーダンス制御に基づいて、本出願人が開発し、特願2008−310412号として既に特許出願をしている非接触型インピーダンス制御をいう。
従来のインピーダンス制御とは、例えばロボットのエンドエフェクタについての機械的インピーダンス、すなわち、質量(マス)、粘性(ダンパ)、及び弾性(バネ)を所望の値に設定して行う位置や力の制御をいう。具体的には、インピーダンス制御は、次の式(1)を用いて行われる。
Figure 2011093055
・・・(1)
式(1)において、Md,Dd,Kdのそれぞれが、質量(マス)、粘性(ダンパ)、及び弾性(バネ)の各々のインピーダンスのパラメータを示している。Xは、ロボットのエンドエフェクタの位置を示し、Xdは、ロボットのエンドエフェクタの目標位置を示している。Fは、ロボットのエンドエフェクタにかかる外力を示している。従来においては、質量Md,粘性Dd,弾性Kdのそれぞれは、所望の動特性が得られるようにソフトウェア上で設定されていた。
従来のインピーダンス制御では、ロボットのエンドエフェクタが物体に接触していることが前提とされる。このため、ロボットのエンドエフェクタに搭載されたセンサにより外力Fが実測され、その実測値がフィードバック値として用いられていた。このような物体の接触が前提となる従来のインピーダンス制御を、以下、「接触型インピーダンス制御」と称する。
これに対して、視覚サーボ制御部52が実行するビジュアルインピーダンス制御は、ボルト穴21に対するボルト締め作業の前に、ロボットアーム11をボルト穴21まで移動させるために用いられる。この場合、ロボットアーム11は、ボルト穴21が形成されたワーク2に接触しない状態で移動する。このように、ビジュアルインピーダンス制御とは、ロボットアーム11等の物体が接触されないことが前提となるインピーダンス制御である。このため、ビジュアルインピーダンス制御は、特願2008−310412号の願書に添付した明細書においては「非接触型インピーダンス制御」と称されている。
ビジュアルインピーダンス制御では、外力Fの実測はできないので、ロボットアーム11の位置Xの目標位置Xdに対する偏差(X−Xd)が、ロボットアーム11のワーク2に対する仮想接触量として用いられる。そして、式(2)に示すように、この仮想接触量である偏差(X−Xd)を用いて、エンドエフェクタ12にかかる仮想的な外力Fが算出される。
Figure 2011093055
・・・(2)
式(2)において、右辺のfは、偏差(X−Xd)を入力パラメータとする所定の関数を示している。具体的には例えば本実施形態では、式(2)として、次の式(3)が採用されている。なお、式(3)におけるλは所定の定数を示している。
Figure 2011093055
・・・(3)
式(3)を式(1)に代入して変形すると、次の式(4)が得られる。
Figure 2011093055
・・・(4)
式(4)におけるFαは、次の式(5)に示す通り、偏差(X−Xd)により可変するパラメータ、すなわち、仮想的な外力Fに基づくパラメータである。
Figure 2011093055
・・・(5)
パラメータFαは、式(4)より、値が増加すると左辺の加速度を増加させる機能、すなわち、自動車の運転に例えるならばいわゆるアクセルの機能を有している。そこで、以下、パラメータFαを、「アクセル量Fα」と称する。
一方、パラメータDdは、上述のごとく仮想の粘性(ダンパ)を示しているが、式(4)より、値が増加すると左辺の加速度を減少させる機能、すなわち、自動車の運転に例えるならばいわゆるブレーキの機能を有している。そこで、以下、パラメータDdを、「ブレーキ量Dd」と称する。
Vは、ロボットアーム11の速度を示している。ロボットアーム11の速度Vは、本実施形態ではロボットアーム駆動装置14から制御装置15に供給される状態情報に含まれている。
このように、ビジュアルインピーダンス制御の出力は、式(4)に示すように、ロボットアーム11の加速度となる。すなわち、ロボットアーム11に振動を与えないように目標加速度が設定され、式(4)の左辺の加速度が目標加速度と一致するように、式(4)の右辺の各種パラメータが設定される制御が、ビジュアルインピーダンス制御である。
式(4)の右辺の各種パラメータは、事前のテストに基づいて予め設定された値を採用してもよいし、ビジュアルインピーダンス制御により移動中のロボットアーム11の運動状態に従って可変する値を採用してもよい。本実施形態では、仮想質量Mdが予め設定されているのに対して、アクセル量Fα及びブレーキ量Ddが、ビジュアルインピーダンス制御により移動中のロボットアーム11の運動状態に従って可変する。アクセル量Fα及びブレーキ量Ddの可変設定の手法については、図9乃至図13を参照して後述する。
視覚サーボ制御部52は、ビジュアルインピーダンス制御を実行すべく、パラメータ保持部64と、パラメータ設定部65と、視覚サーボ演算部66と、移動指令生成部67と、を備える。
パラメータ保持部64は、式(4)の右辺の各種パラメータ又はそれらを導き出すためのパラメータを保持する。すなわち、式(4)の右辺の仮想の質量Mdが、パラメータ保持部64に保持される。また、本実施形態では、式(4)の右辺のアクセル量Fα又はブレーキ量Ddを導き出すためのパラメータとして、後述する式(5)のパラメータλ,Kd、後述する式(6)のパラメータS1,I1、後述する式(7)のパラメータC1、及び後述する式(8)のパラメータC2が、パラメータ保持部64に保持されている。
パラメータ設定部65は、式(4)の右辺の各種パラメータを設定する。この設定のために、パラメータ保持部64の保持内容、後述する画像処理部54から供給される偏差(X−Xd)、及び、後述するロボットアーム状態取得部55から供給される速度Vが用いられる。なお、アクセル量Fα及びブレーキ量Ddの設定手法については、図9乃至図13を参照して後述する。
視覚サーボ演算部66は、パラメータ設定部65により設定された各種パラメータを式(4)に代入して演算し、その演算結果を移動指令生成部67に供給する。
移動指令生成部67は、視覚サーボ演算部66の演算結果に基づいて、移動指令を生成し、制御切替部53を介してロボットアーム駆動装置14に供給する。すなわち、視覚サーボ演算部66の演算結果とは、式(4)の左辺に示すように加速度であるため、移動指令生成部67は、この加速度を積分することで、位置指令としての移動指令を生成し、制御切替部53を介してロボットアーム駆動装置14に供給する。
移動指令が供給されたロボットアーム駆動装置14は、上述したように、この移動指令に従って、ロボットアーム11をボルト穴21に向けて移動させる。ロボットアーム11の位置とボルト穴21の位置とが略一致すると、視覚サーボ制御部52によるビジュアルインピーダンス制御は停止し、ロボットアーム11の移動動作が停止する。すると、エンドエフェクタ制御部42は、エンドエフェクタ12を制御して、ボルトをボルト穴21に挿入して捻じ込む。
画像処理部54は、ビジュアルインピーダンス制御に用いる偏差(X−Xd)を検出すべく、対象物認識部68と、誤差検出部69と、を備えている。
対象物認識部68は、カメラ13から出力された画像データに基づいて、撮影画像の中から対象物を認識する。本実施形態では、対象物認識部68は、ボルト穴21を対象物として認識すると、その認識結果及び撮影画像の画像データを誤差検出部69に供給する。
誤差検出部69は、撮影画像の画像データに対して画像処理を施すことで、撮影画像に対象物として含まれるボルト穴21の、ロボットアーム11の位置X(画像の中心位置)に対する相対位置を求める。ここで、ボルト穴21の実際の位置が、ロボットアーム11の目標位置Xdであることから、このような相対位置が、ビジュアルインピーダンス制御に用いられる偏差(X−Xd)に相当する。偏差(X−Xd)は、ビジュアルインピーダンス制御のフィードバック情報として視覚サーボ制御部52に供給され、必要に応じて、制御切替条件の1つとして制御切替部53に供給される。
ロボットアーム状態取得部55は、ロボットアーム駆動装置14から供給される状態情報を取得する。例えば、状態情報に含まれる速度Vは、ビジュアルインピーダンス制御に用いるべく視覚サーボ制御部52に供給され、必要に応じて、制御切替条件の1つとして制御切替部53に供給される。
以上、図2の制御装置15の機能的構成例について説明した。
次に、図3乃至図8を参照して、本出願人により開発され、特願2008−310412号として既に出願された基礎制御手法が有する課題を説明し、引き続き、その課題を解決可能な手法について説明する。
はじめに、図1に示すロボットシステム1に対して、図2の制御装置15の代わりに基礎制御手法が適用された制御装置(以下、「基礎制御装置」と称する)が設けられたロボットシステムを仮定して、図3乃至図5を参照して基礎制御手法が有する課題について説明する。
図3に示すように、基礎制御手法におけるティーチングプレイバック制御では、予め設定された教示位置P1を目標位置として、ロボットアーム11は移動していく。
この間、カメラ13は、撮影画像の画像データを基礎制御装置に逐次出力している。ロボットアーム11が図3中下方の位置に存在する場合には、カメラ13の画角内にボルト穴21が存在しない。従って、このような場合、図示はしないが、撮影画像にはボルト穴21は含まれていないため、基礎制御装置はボルト穴21を検出しない。
その後、ロボットアーム11が教示位置P1の近傍に移動してきて、例えば図3中上方の位置に到達すると、カメラ13の画角内にボルト穴21が現れるようになり、図4に示すように、撮影画像の被写体として、ボルト穴21が含まれるようになる。このような場合、基礎制御装置は、撮影画像からボルト穴21を認識し、そのボルト穴21の中心位置に対する相対位置P3を求める。なお、相対位置P3の座標は、カメラ13の画角内の座標系(以下、「カメラ座標系」と称する)により表現される。
ここで、図4に示す撮影画像の中心位置は、上述の如く、ロボットアーム11の位置Xである。また、ロボットアーム11の真の目標位置とは、ティーチングプレイバック制御の教示位置P1ではなく、ボルト穴21の位置P3である。従って、撮影画像における位置P3の座標が、ビジュアルインピーダンス制御に用いられる偏差(X−Xd)に相当する。従って、撮影画像にボルト穴21が含まれるようになった時点、すなわち、基礎制御装置がボルト穴21を検出できた時点で、理論上、ビジュアルインピーダンス制御の実行が可能になる。
このため、基礎制御手法では、ティーチングプレイバック制御からビジュアルインピーダンス制御に切り替える制御切替条件として、「ボルト穴21を検出した」という条件が採用されていた。
すなわち、特許文献1や2等の従来の制御手法では、ティーチングプレイバック制御が終了してロボットアームが一旦停止した後、位置の誤差を補正するためのフィードバック制御(例えばPID制御)が実行されていた。これに対して、基礎制御手法では、ティーチングプレイバック制御によるロボットアーム11の移動動作中に、従来のように無駄な停止動作を伴うことなく、ビジュアルインピーダンス制御に切り替えることができる。
図5は、基礎制御手法が適用された場合におけるロボットアーム11の速度Vの時間推移の一例を示すタイミングチャートである。
図5において、横軸は時間を示し、縦軸は、ロボットアーム11の速度Vを示す。
図5に示すように、基礎制御手法のティーチングプレイバック制御においては、ロボットアーム11の速度Vは、初期段階では一定の速度であるが、一定段階を過ぎると、一定の割合で減速していく。
この場合、ワーク2の位置及び姿勢のズレ等の各種要因によって、ティーチングプレイバック制御における教示位置P1と、ボルト穴21の実際の位置との間のズレ量は、ボルト締め毎に異なる。このズレ量の違いによって、基礎制御装置がボルト穴21を検出するタイミングがその都度異なるため、基礎制御手法では、ビジュアルインピーダンス制御に切り替わるタイミングがその都度異なる。その結果、ビジュアルインピーダンス制御に切り替わった時点のロボットアーム11の速度Vがその都度異なってくる。
ここで、基礎制御手法のビジュアルインピーダンス制御では、式(4)に示す各種パラメータは、ロボットアーム11の速度V等について特定の状況を仮定して、この仮定が成立する場合に最適となるような値が設定されている。また、ビジュアルインピーダンス制御は、オープンループ制御であるティーチングプレイバック制御と比べると応答速度が遅い。このため、基礎制御手法では、ビジュアルインピーダンス制御に切り替わった時点のロボットアーム11の速度Vが、仮定した速度と大幅に異なると、ビジュアルインピーダンス制御が適切に行われないという課題が生ずる。
具体的には例えば図5aの例では、想定される時刻よりも早い時刻taに、ボルト穴21が検出されて、ティーチングプレイバック制御からビジュアルインピーダンス制御(視覚サーボ制御)に切り替えられている。このため、図5aの例では、ビジュアルインピーダンス制御に切り替わった時点のロボットアーム11の速度Vは、仮定した速度よりも高速の速度Vaとなる。速度Vaのように高速度でビジュアルインピーダンス制御が開始することは、式(4)に示す各種パラメータの設定が不適切な状態のまま、応答速度の遅い制御が開始することを意味する。従って、このような場合、位置制御のオーバーシュートが生じるという課題が生ずる。すなわち、ロボットアーム11が、高速度のまま移動して、真の目標位置であるボルト穴21の実際の位置を超えてしまうという課題が生ずる。
一方、例えば図5bの例では、想定される時刻よりも遅い時刻tbに、ボルト穴21が検出されて、ティーチングプレイバック制御からビジュアルインピーダンス制御(視覚サーボ制御)に切り替えられている。このため、図5bの例では、ビジュアルインピーダンス制御に切り替わった時点のロボットアーム11の速度Vは、仮定した速度よりも低速の速度Vbとなる。速度Vbのように低速度でビジュアルインピーダンス制御が開始することは、式(4)に示す各種パラメータの設定が不適切な状態のまま、応答速度の遅い制御が開始することを意味する。従って、このような場合、ロボットアーム11が、低速度のまま移動して、真の目標位置であるボルト穴21の実際の位置までなかなか到達しないという課題が生ずる。
このような基礎制御手法が有する課題の解決手法として、カメラ13の画角を狭くするという手法が考えられる。カメラ13の画角を狭くすることで、ボルト穴21が画角内に現れるタイミングのバラつきが少なくなり、ビジュアルインピーダンス制御に切り替わった時点のロボットアーム11の速度Vのバラつきも少なくなる。しかしながら、カメラ13の画角を狭めた分だけ、ロボットアーム11に追従して移動するカメラ13が、ボルト穴21を撮影することは困難になり、ボルト穴21の検出が不能になるという弊害が発生するおそれもある。すなわち、カメラ13の画角を狭くしても、基礎制御手法が有する課題を解決できたとは言い難い。
そこで、本発明人は、このような基礎制御手法が有する課題を解決可能な、次のような2つの制御手法を発明した。なお、この2つの制御手法は、本実施形態では図2の制御装置15に適用されているため、以下の説明では、図2の制御装置15が動作主体であるものとする。
図6乃至図8は、本発明が適用される1つ目の制御手法を説明する図である。
1つ目の制御手法においては、初期段階には、教示位置P1を目標位置として、ティーチングプレイバック制御によりロボットアーム11が目標位置に向けて移動する。この間、カメラ13は、撮影画像の画像データを制御装置15に逐次出力し続ける。
すると、ロボットアーム11が図6の下方に示す位置から上方に示す位置まで移動してきた段階で、画像処理部54は、カメラ13の撮影画像からボルト穴21を検出する。
ここまでの処理は、基礎制御手法が適用された場合の処理と同様である。
ただし、本発明が適用される1つ目の制御手法においては、カメラ13の撮影画像からボルト穴21が検出された段階では、基礎制御手法のようにビジュアルインピーダンス制御に切り替わらずに、ティーチングプレイバック制御のままで、次のような一連の処理が実行される。
すなわち、ティーチングプレイバック制御部51の目標位置決定部62は、ティーチングプレイバック制御の目標位置を、教示位置P1から、ボルト穴21により近い位置P4に変更する。なお、以下、位置P4を、「仮想目標の位置P4」と称する。
次に、ティーチングプレイバック制御部51の移動指令生成部63は、教示位置P1から仮想目標の位置P4までの新経路PLを設定し、この新経路PLに従って移動指令を生成し、制御切替部53を介してロボットアーム駆動装置14に供給する。すると、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を新経路PLに沿って移動させる。
このようなティーチングプレイバック制御によりロボットアーム11が新経路PLに沿って移動している最中に、制御切替条件が満たされると、制御切替部53は、ロボットアーム11の動作の制御を、ティーチングプレイバック制御からビジュアルインピーダンス制御に切り替える。
ここで、制御切替条件は、真の目標位置であるボルト穴21の近傍までロボットアーム11が接近したことを示す条件であれば、任意の条件を採用することができる。
図7は、制御切替条件の一例を説明する図である。
図7において、横軸は時間を示し、縦軸は、ロボットアーム11の速度Vを示す。
例えば、図7に示すように、所定の速度を閾値thv1として予め定義することで、「ロボットアーム11の速度Vが閾値thv1以下となること」という制御切替条件を採用することができる。
この場合、ロボットアーム11の速度Vが常に閾値thv1と略同一の速度で、ビジュアルインピーダンス制御に切り替えられる。ここで、閾値thv1をビジュアルインピーダンス制御にとって適切な範囲内で定義することで、ビジュアルインピーダンス制御が安定して適切に実行される。その結果、基礎制御手法と比較してより一段と高速、高精度、かつ制御系として安定に、ロボットアーム11を真の目標位置であるボルト穴21まで移動させることが容易に可能になる。
図8は、制御切替条件の一例であって、図7の例とは異なる例を説明する図である。
図11において、横軸は時間を示し、縦軸は、偏差(X−Xd)を示す。
例えば、図8に示すように、所定の短距離を閾値thp1として予め定義することで、「偏差(X−Xd)が、閾値thp1以下となること」という制御切替条件を採用することができる。
この場合、ロボットアーム11の偏差(X−Xd)が常に閾値thp1と略同一の偏差で、ビジュアルインピーダンス制御に切り替えられる。ここで、閾値thp1をビジュアルインピーダンス制御にとって適切な範囲内で定義することで、ビジュアルインピーダンス制御が安定して適切に実行される。その結果、基礎制御手法と比較してより一段と高速、高精度、かつ制御系として安定に、ロボットアーム11を真の目標位置であるボルト穴21まで移動させることが容易に可能になる。
なお、カメラ13の撮影画像からボルト穴21が検出された時から、ビジュアルインピーダンス制御に切り替わる時までの上述した一連の処理を、以下、ティーチングプレイバック制御の修正移動処理と称する。
すなわち、基礎制御手法は、ティーチングプレイバック制御によりロボットアーム11の移動が実行される第1のステップと、ビジュアルインピーダンス制御によりロボットアーム移動が実行される第3のステップと、を含む手法であった。
これに対して、本発明が適用される1つ目の制御手法は、第1のステップと第3のステップとの間にさらに、ティーチングプレイバック制御の修正移動処理が実行される第2のステップを含む手法である。そこで、以下、このような制御手法を、「3ステップ移動制御手法」と称する。
このように、3ステップ移動制御手法では、ビジュアルインピーダンス制御への切替前に、ティーチングプレイバック制御の修正移動処理が実行されるので、カメラ13の画角を変えることなく、ロボットアーム11の速度V等の状態を一定の範囲内に収めて、ビジュアルインピーダンス制御を開始することができる。この「一定の範囲」は、切替条件を適切に設定することで、ビジュアルインピーダンス制御にとって適切な範囲とすることが容易にできる。この場合、ビジュアルインピーダンス制御が安定して適切に実行される。その結果、基礎制御手法と比較してより一段と高速、高精度、かつ制御系として安定に、ロボットアーム11を真の目標位置であるボルト穴21まで移動させることが容易に可能になる。
次に、本発明が適用される2つ目の制御手法について説明する。
2つ目の制御手法は、ロボットアーム11の動作の制御が、ティーチングプレイバック制御からビジュアルインピーダンス制御に切り替えられた後の制御手法である。
基礎制御手法が有する課題が生ずる要因のひとつは、上述したように、ビジュアルインピーダンス制御に切り替わった時点のロボットアーム11の速度V等の状態が、ビジュアルインピーダンス制御の式(4)に示す各種パラメータを設定した際に仮定した状態と大きく異なる場合があるということである。
そこで、2つ目の制御手法では、視覚サーボ制御部52が、ビジュアルインピーダンス制御に切り替わった時点及びその後のロボットアーム11の速度V等の状態に応じて、ビジュアルインピーダンス制御の式(4)に示すアクセル量Fα又はブレーキ量Ddを可変設定する。これにより、ロボットアーム11の速度V等の状態によらず、ビジュアルインピーダンス制御が安定して適切に実行される。その結果、基礎制御手法と比較してより一段と高速、高精度、かつ制御系として安定に、ロボットアーム11をボルト穴21まで移動させることが容易に可能になる。
なお、このような本発明が適用される2つ目の手法を、以下、「ビジュアルインピーダンス制御のパラメータ可変設定手法」と称する。
図9乃至図13を参照して、ビジュアルインピーダンス制御のパラメータ可変設定手法についてさらに詳細に説明する。
図9は、ビジュアルインピーダンス制御への切替時におけるブレーキ量Ddの設定手法を説明する図である。
図9において、横軸のVは、ロボットアーム11の速度を示し、縦軸のDiは、ビジュアルインピーダンス制御への切替時におけるブレーキ量(以下、特に「初期ブレーキ量」と称する)を示している。
図9に示すように、ビジュアルインピーダンス制御への切替時におけるロボットアーム11の速度Vが高速になる程、初期ブレーキ量Diが大きくなるように設定される。具体的には例えば、式(6)に示すように初期ブレーキ量Diは演算される。
Figure 2011093055
・・・(6)
式(6)において、S1,I1のそれぞれは、実験により得られたパラメータである。すなわち、ロボットアーム11の速度Vに対する最適なブレーキ量Ddが実験により得られており、この実験に基づいてパラメータS1,I1のそれぞれが予め求められている。
ビジュアルインピーダンス制御に切り替わった時点では、このような式(6)に従って演算された初期ブレーキ量Diをブレーキ量Ddとして設定して、式(4)に代入して演算することで、切替直後のビジュアルインピーダンス制御を適切に実行することが可能になる。すなわち、ビジュアルインピーダンス制御への切替時におけるロボットアーム11の速度Vが高速になる程、ビジュアルインピーダンス制御の加速度が減少するように、ビジュアルインピーダンス制御が実行される。このようにして、基礎制御手法が有する課題のうち、ビジュアルインピーダンス制御に切り替わった時点のロボットアーム11の速度Vのバラつきが大きいためにビジュアルインピーダンス制御を適切に行うことができない、という課題を解決することが可能になる。
さらに、ビジュアルインピーダンス制御のパラメータ可変設定手法を適用することで、基礎制御手法が有する課題のうち、このようなビジュアルインピーダンス制御の開始時点に生ずる課題のみならず、ビジュアルインピーダンス制御の終了時点の近辺で生ずる課題も解決することが可能になる。
例えば基礎制御手法では、ビジュアルインピーダンス制御の実行が進んで、偏差(X−Xd)が小さくなっていくと、収束の反応が遅くなっていくという課題が存在する。
式(5)に示す通り、基礎制御手法においては、アクセル量Fαは、偏差(X−Xd)に比例するパラメータであるので、偏差(X−Xd)が小さくなっていくと、その分だけアクセル量Fαも小さくなっていく。その結果、ロボットアーム11の加速度も減少していくため、収束の反応が鈍くなっていくという課題が生ずるのである。
図10は、このような課題を解決するための、アクセル量Fαの設定手法を説明する図である。
図10において、横軸は、式(5)により演算されるアクセル量Fα、すなわち更新前のアクセル量Fαを示している。なお、以下、図10の記載にあわせて、式(5)により演算されるアクセル量Fαを、特に「アクセル量Fαb」と称する。縦軸は、更新後のアクセル量Fnを示している。
偏差(X−Xd)が一定以下になると、図10に示すように、更新前のアクセル量Fαbよりも、更新後のアクセル量Fnが大きくなるように設定される。具体的には例えば、式(7)に示すように更新後のアクセル量Fnは演算される。
Figure 2011093055
・・・(7)
式(7)において、C1は、実験により得られたパラメータである。すなわち、偏差(X−Xd)に対する最適なアクセル量Fαが実験により得られており、この実験に基づいてパラメータC1が予め求められている。
すなわち、ビジュアルインピーダンス制御が開始されてから、偏差(X−Xd)が一定以下であることを示す所定の条件(以下、「偏差小条件と称する」)を満たすまでの間、アクセル量Fαは、式(5)により演算された更新前のアクセル量Fαbがそのまま設定される。そして、偏差小条件を満たしたとき以降、式(4)のアクセル量Fαとして、式(7)に示す更新後のアクセル量Fnが設定される。
ここで、偏差小条件は、偏差(X−Xd)が一定以下であることを示す条件であれば、任意の条件を採用することができる。
図11は、偏差小条件の一例を説明する図である。
図11において、横軸は時間を示し、縦軸は、ロボットアーム11の速度Vを示す。
例えば、図11に示すように、偏差(X−Xd)が所定の短距離になった時点に想定される速度を、閾値thv2として予め定義することで、「ロボットアーム11の速度が閾値thv2以下となること」という偏差小条件を採用することができる。
図11において、曲線81は、このような偏差小条件が満たされる前には更新前のアクセル量Fαbが設定され、満たされた後には更新後のアクセル量Fnが設定される場合における、速度Vと時間との関係を示している。
一方、曲線82は、最後まで更新前のアクセル量Fαbが設定される場合における、速度Vと時間との関係を示している。
曲線81と曲線82とを比較すると明らかなように、偏差小条件が満たされた後にアクセル量Fαとして更新前のアクセル量Fαbから更新後のアクセル量Fnに変更することで、ビジュアルインピーダンス制御の加速度が更新前よりも高くなるので、偏差(X−Xd)が一定以下になった後のビジュアルインピーダンス制御を適切に実行することが可能になり、収束の反応が早くなる。
図12は、偏差小条件の一例であって、図11とは異なる例を説明する図である。
図12において、横軸は時間を示し、縦軸は、偏差(X−Xd)を示す。
例えば、図12に示すように、所定の短距離を閾値thp2として予め定義することで、「偏差(X−Xd)が閾値thp2以下となること」という偏差小条件を採用することができる。
図12において、曲線83は、このような偏差小条件が満たされる前には更新前のアクセル量Fαbが設定され、満たされた後には更新後のアクセル量Fnが設定される場合における、偏差(X−Xd)と時間との関係を示している。
一方、曲線84は、最後まで更新前のアクセル量Fαbが設定される場合における、偏差(X−Xd)と時間との関係を示している。
曲線83と曲線84とを比較すると明らかなように、偏差小条件が満たされた後にアクセル量Fαとして更新前のアクセル量Fαbから更新後のアクセル量Fnに変更することで、ビジュアルインピーダンス制御の加速度が更新前よりも高くなるので、偏差(X−Xd)が一定以下になった後のビジュアルインピーダンス制御を適切に実行することが可能になり、収束の反応が早くなる。
このように、所定の偏差小条件が満たされた場合に、更新前のアクセル量Fαbよりも大きい更新後のアクセル量Fnが、式(4)のアクセル量Fαとして設定される。これにより、ビジュアルインピーダンス制御の加速度が更新前よりも高くなるので、偏差(X−Xd)が一定以下になった後のビジュアルインピーダンス制御を適切に実行することが可能になり、収束の反応が早くなる。
また、基礎制御手法が有する課題のうち、ビジュアルインピーダンス制御の終了時点の近辺で生ずる別の課題として、偏差(X−Xd)が小さくなった場合、特に、0近傍になり位置決め完了間際となった場合に、ロボットアーム11の移動量が必要以上に大きくなり得るという課題が存在する。
図13は、このような課題を解決するための、ブレーキ量Ddの設定手法を説明する図である。
図13において、横軸は、ロボットアーム11の速度Vを示しており、縦軸は、更新後のブレーキ量Dnを示している。
偏差(X−Xd)が一定以下になると、図13に示すように、式(6)に示す初期ブレーキ量Diよりも大きい量が、更新後のブレーキ量Dnとして設定される。具体的には例えば、式(8)に示すように更新後のブレーキ量Dnは演算される。
Figure 2011093055
・・・(8)
式(8)において、C2は、実験により得られたパラメータである。すなわち、ロボットアーム11の速度Vに対する最適なブレーキ量Ddが実験により得られており、この実験に基づいてパラメータC2が予め求められている。
すなわち、ビジュアルインピーダンス制御が開始されてから、偏差(X−Xd)が一定以下となるまでの間、式(4)のブレーキ量Ddは、式(6)に従って演算された初期ブレーキ量Diが設定される。そして、偏差(X−Xd)が一定となった以降、式(4)のブレーキ量Ddは、式(8)に示す更新後のブレーキ量Dnが設定される。
なお、式(6)に示す初期ブレーキ量Diから、式(8)に示す更新後のブレーキ量Dnへの切替条件は、本実施形態では偏差小条件がそのまま採用されている。しかしながら、これは例示であり、切替条件は、偏差小条件に一致させなくてもよい。
このように、偏差(X−Xd)が一定以下になった場合に、初期ブレーキ量Diよりも大きい量の更新後のブレーキ量Dnが、式(4)のブレーキ量Diとして設定される。これにより、ビジュアルインピーダンス制御の加速度が更新前よりも低くなるので、ロボットアーム11の移動量が必要以上に大きくなることを防止することが可能になる。
以上説明したように、制御装置15には、3ステップ移動制御手法、及び、ビジュアルインピーダンス制御のパラメータ可変設定手法が適用されているので、基礎制御手法が有する各種課題を解決することが可能になる。すなわち、制御装置15によりビジュアルインピーダンス制御が実行されることで、基礎制御手法が適用された場合と比較して、より一段と高速、高精度、かつ制御系として安定に、ロボットアーム11を真の目標位置であるボルト穴21まで移動させることが容易にできる、という効果を奏することが可能になる。
なお、3ステップ移動制御手法と、ビジュアルインピーダンス制御のパラメータ可変設定手法とは、相互に独立した手法であるため、組合せて適用する必要は特に無く、何れか一方のみを適用してもよい。ただし、本実施形態のように組合せて用いることで、上述した効果はより顕著なものとなる。
次に、このような効果を奏することが可能な制御装置15のハードウェア構成例について説明する。
図14は、制御装置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の各機能を実現することができる。なお、以下、このプログラムに従った処理を、ボルト締め処理と呼ぶ。ボルト締め処理の一例については、図15乃至図17のフローチャートを参照して後述する。
CPU101と、ROM102と、RAM103とは、バス104を介して相互に接続されている。このバス104にはまた、入出力インターフェース105も接続されている。
入出力インターフェース105には、キーボード等で構成される入力部106と、表示デバイスやスピーカ等で構成される出力部107と、ハードディスク等より構成される記憶部108と、通信部109と、が接続されている。通信部109は、カメラ13との間で行う通信と、ロボットアーム駆動装置14との間で行う通信と、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信と、をそれぞれ制御する。なお、これらの通信は、図1の例では有線通信とされているが、無線通信であってもよい。
入出力インターフェース105にはまた、必要に応じてドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア111が適宜装着される。そして、それらから読み出されたプログラムが、必要に応じて記憶部108にインストールされる。
図15は、図14の制御装置15によるボルト締め処理の流れの一例を示すフローチャートである。
なお、図15は、1つのボルト穴21に対してボルト締めを行うまでの一連の処理を示している。すなわち、本実施形態では、N個のボルト穴21−1乃至21−Nがワーク2に存在するので、N個のボルト穴21−1乃至21−Nのそれぞれに対して、図15のボルト締め処理が繰り返し実行される。
ステップS1において、CPU101は、ティーチングプレイバック制御により、目標の教示位置P1に向けて、ロボットアーム11を移動させる。
すなわち、CPU101は、ティーチングプレイバック制御により、教示位置P1に基づいて移動指令を生成し、通信部109を介して、ロボットアーム駆動装置14に送信する。すると、上述したように、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を教示位置P1に向けて移動させる。
ステップS2において、CPU101は、対象物を検知したか否かを判定する。
すなわち、ロボットアーム11が教示位置P1に向けて移動している間、カメラ13は、撮影画像の画像データを制御装置15に逐次送信し続ける。
CPU101は、この画像データを通信部109を介して受信し、所定の画像処理を施すことで、撮影画像にボルト穴21が含まれるか否かを判定する。撮影画像にボルト穴21が含まれていない限り、ステップS2において対象物は検知されていないと判定され、処理はステップS1に戻され、それ以降の処理が繰り返される。すなわち、撮影画像にボルト穴21が含まれるようになるまでの間、ステップS1,S2NOのループ処理が繰り返し実行されて、ティーチィングプレイバック制御によりロボットアーム11が教示位置P1に向けて移動し続ける。
ロボットアーム11が教示位置P1に近づき、カメラ13の画角内にボルト穴21が現れると、撮影画像にボルト穴21が含まれるようになる。このような場合、CPU101は、このボルト穴21を対象物として検知する。これにより、ステップS2において、YESであると判定されて、処理はステップS3に進む。
ステップS3において、CPU101は、ティーチングプレイバック制御の修正移動処理を実行する。
すなわち、図6を用いて上述したように、CPU101は、ティーチングプレイバック制御の目標位置を、教示位置P1から、仮想目標の位置P4に変更する。
CPU101は、教示位置P1から仮想目標の位置P4までの新経路PLを設定し、この新経路PLに従って移動指令を生成し、通信部109を介してロボットアーム駆動装置14に供給する。すると、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を新経路PLに沿って移動させる。
その後、CPU101は、制御切替条件を満たすか否かを逐次判定する。
制御切替条件が満たされるまでの間、ティーチィングプレイバック制御によりロボットアーム11が新経路PLに沿って移動し続ける。
そして、制御切替条件が満たされると、ティーチングプレイバック制御の修正移動処理が終了して、処理はステップS4に進む。
なお、ティーチングプレイバック制御の修正移動処理の詳細例については、図16のフローチャートを参照して後述する。
ステップS4において、CPU101は、ロボットアーム11の動作の制御を、ティーチングプレイバック制御からビジュアルインピーダンス制御に切り替える。
ステップS5において、CPU101は、カメラ13の撮影画像の画像データに基づいて偏差(X−Xd)を演算し、その偏差(X−Xd)をフィードバック量として用いるビジュアルインピーダンス制御により、移動指令を生成して、通信部109を介して、ロボットアーム駆動装置14に送信する。すると、上述したように、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を移動させる。
なお、以下、このようなステップS5の処理を、「ビジュアルインピーダンス制御の移動処理」と称する。
ビジュアルインピーダンス制御の移動処理の詳細例については、図17のフローチャートを参照して後述する。
ロボットアーム11がボルト穴21まで移動して、偏差(X−Xd)が略0になると、位置決めが完了したと判定されて、ビジュアルインピーダンス制御の移動処理が終了し、処理はステップS6に進む。
ステップS6において、CPU101は、ボルト締め作業を制御する。すなわち、CPU101は、通信部109を介してエンドエフェクタ12を制御することによって、ボルトをボルト穴21に挿入して捻じ込む。
これにより、ボルト締め処理は終了する。
次に、ボルト締め処理のうち、ステップS3のティーチングプレイバック制御の修正移動処理の詳細例について説明する。
図16は、ティーチングプレイバック制御の修正移動処理の流れの詳細例を示すフローチャートである。
上述したように、ボルト穴21が対象物として検知されると、ステップS2においてYESであると判定されて、ティーチングプレイバック制御の修正移動処理として、次のようなステップ11乃至S20の処理が実行される。
ステップS11において、CPU101は、データ作成数i=0に設定する。
データ作成数iとは、新経路PLの候補となるデータ(以下、「新経路候補」と称する)の作成済みの個数をいう。ここで、新経路候補の必要データ数をn(nは1以上の任意の整数値)とすると、データ作成数iは、1乃至nの何れかの値をとる。
ステップS12において、CPU101は、ロボットアーム11の位置P2iを取得する。
ロボットアーム11の位置P2iとは、本実施形態では、ワーク2が存在する空間の座標系(以下、「ワールド座標系」と称する)におけるエンドエフェクタ12の先端の座標をいう。ロボットアーム11の位置P2iは、本実施形態では、ロボットアーム駆動装置14により検出され、状態情報に含まれて制御装置15に送信される。そこで、CPU101は、通信部109を介して状態情報を受信し、この状態情報から、ロボットアーム11の位置P2iを取得する。
ステップS13において、CPU101は、カメラ内対象物の位置P3iを取得する。
カメラ内対象物の位置P3iとは、本実施形態では、カメラ13の撮影画像に対象物として含まれるボルト穴21についての、カメラ座標系での座標をいう。CPU101は、カメラ13の撮影画像の画像データを通信部109を介して受信し、上述のごとく、この画像データに対して画像処理を施すことで、カメラ内対象物の位置P3iを取得する。
ステップS14において、CPU101は、位置P2i及び位置P3iに基づいて、仮目標の位置P4iを設定する。
ステップS15において、CPU101は、教示位置P1から仮想目標の位置P4iまでの新経路候補PLiを作成する。
これにより、作成済みの新経路候補PLiが1つ増えたので、ステップS16において、CPU101は、データ作成数iを1だけインクリメントする(i=i+1)。
ステップS17において、CPU101は、データ作成数iが必要データ数nとなったか(i=nであるか)否かを判定する。
データ作成数iが必要データ数n未満の場合、ステップS17においてNOであると判定されて、処理はステップS12に戻され、それ以降の処理が繰り返される。すなわち、ステップS12乃至S17のループ処理が繰り返されて、n個の新経路候補PL1乃至PLnが順次作成される。
n個目の新経路候補PLnが作成されて、データ作成数i=nになると、次のステップS17においてYESであると判定されて、処理はステップS18に進む。
ステップS18において、CPU101は、新経路候補PL1乃至PLnに基づいて、新経路PLを決定する。
なお、新経路PLの決定手法自体は、新経路候補PL1乃至PLnの少なくとも一部を用いる手法であれば、特に限定されない。
例えば、CPU101は、新経路候補PL1乃至PLnの各々の仮想目標の位置P41乃至P4nを平均化した位置を、仮目標の位置P4として設定することによって、教示位置P1から仮想目標の位置P4までの新経路PLを作成することができる。この場合、仮想目標の位置P41乃至P4nが平均化されるので、各々が有している誤差量を減らすことができる。
また例えば、CPU101は、新経路候補PL1乃至PLnの各々の仮想目標の位置P41乃至P4nを重み付けして所定の演算を実行し、その演算結果を仮想目標の位置P4として設定することによって、教示位置P1から仮想目標の位置P4までの新経路PLを作成することができる。
この場合の重み付けの手法は、特に限定されないが、例えばロボットアーム11の速度Vを考慮した重み付けをすると、仮想目標の位置P41乃至P4nの各々が有している誤差量を減らすことができるので好適である。すなわち、ロボットアーム11の速度が遅い時点で得られた位置データの方が、誤差が少なく信頼性が高いと判断することができる。本実施形態では、仮想目標の位置P41乃至P4nの各々が設定された時点のロボットアーム11の速度Vは、その順で遅くなっていく(図5や図7参照)。そこで、仮想目標の位置P41乃至P4nの各々の重みをその順で大きくしていくように重み付けをすることによって、仮想目標の位置P41乃至P4nの各々が有している誤差量を減らすことが可能になる。
このようにして新経路PLが決定されると、処理はステップS19に進む。
ステップS19において、CPU101は、新経路PLに従って、ティーチングプレイバック制御によりロボットアーム11を移動させる。
すなわち、CPU101は、ティーチングプレイバック制御により、新経路PLに基づいて移動指令を生成し、通信部109を介して、ロボットアーム駆動装置14に送信する。すると、上述したように、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を新経路PLに従って移動させる。
ステップS20において、CPU101は、制御切替条件を満たすか否かを判定する。
制御切替条件としては、例えば、図7に示す第1の条件と図8に示す第2の条件との何れか一方、又は両条件の組合せを採用することができる。両条件の組合せを採用する場合には、AND条件を採用してもよいし、OR条件を採用してもよい。
制御切替条件が満たされていない場合、ステップS20においてNOであると判定されて、処理はステップS19に戻され、それ以降の処理が繰り返される。すなわち、制御切替条件が満たされるまでの間、ステップS19,S20NOのループ処理が繰り返し実行されることによって、ティーチィングプレイバック制御によりロボットアーム11が新経路PLに沿って移動し続ける。
そして、制御切替条件が満たされると、ステップS20においてYESであると判定されて、ティーチングプレイバック制御の修正移動処理が終了して、処理は図15のステップS4に進む。
すなわち、ロボットアーム11の動作の制御が、ティーチングプレイバック制御からビジュアルインピーダンス制御に切り替えられて、ステップS5のビジュアルインピーダンス制御の移動処理が実行される。
次に、このようなステップS5のビジュアルインピーダンス制御の移動処理の詳細例について説明する。
図17は、ビジュアルインピーダンス制御の移動処理の流れの詳細例を示すフローチャートである。
ステップS31において、CPU101は、ロボットアーム11の速度Vを取得する。
ロボットアーム11の速度Vは、本実施形態では、ロボットアーム駆動装置14により検出され、状態情報に含まれて制御装置15に送信される。そこで、CPU101は、通信部109を介して状態情報を受信し、この状態情報から、ロボットアーム11の速度Vを取得する。
ステップS32において、CPU101は、速度Vに基づいて初期ブレーキ量Diを設定する。すなわち、CPU101は、ステップS31の処理で取得した速度Vを、式(6)に代入して演算することで、初期ブレーキ量Diを設定する。
ステップS33において、CPU101は、式(4)におけるブレーキ量Dd=Diに設定する。
ステップS34において、CPU101は、ビジュアルインピーダンス制御によりロボットアーム11を移動させる。
すなわち、CPU101は、ロボットアームの速度V、アクセル量Fα、ブレーキ量Dd、及び、仮想質量Mdの各々を、式(4)に代入して演算する。
上述したように、ロボットアームの速度Vは、ロボットアーム駆動装置14から送信されてくる状態情報に含まれている。アクセル量Fαは、カメラ13の撮影画像から得られる偏差(X−Xd)が式(5)に代入された場合の、式(5)の演算結果であるアクセル量Fαbである。ブレーキ量Ddは、ステップS33の処理で設定された初期ブレーキ量Diである。仮想質量Mdは、予め設定されてROM102等に予め記憶されている。
CPU101は、このような式(4)の演算結果に基づいて移動指令を生成し、通信部109を介して、ロボットアーム駆動装置14に送信する。すると、上述したように、ロボットアーム駆動装置14は、この移動指令に従って、ロボットアーム11を移動させる。
ステップS35において、CPU101は、偏差小条件を満たすか否かを判定する。
偏差小条件としては、例えば図11に示す条件と図12に示す条件との何れか一方、又は両条件の組合せを採用することができる。両条件の組合せを採用する場合には、AND条件を採用してもよいし、OR条件を採用してもよい。
偏差小条件が満たされていない場合、ステップS35においてNOであると判定されて、処理はステップS34に戻され、それ以降の処理が繰り返される。すなわち、偏差小条件が満たされるまでの間、ステップS34,S35NOのループ処理が繰り返し実行されることによって、ビジュアルインピーダンス制御によりロボットアーム11が移動し続ける。
ここでのビジュアルインピーダンス制御では、アクセル量Fαは、カメラ13の撮影画像から得られる偏差(X−Xd)が式(5)に代入された場合の、式(5)の演算結果であるアクセル量Fαbが設定される。ブレーキ量Ddは、初期ブレーキ量Diが設定される。
その後、偏差小条件が満たされると、ステップS35においてYESであると判定されて、処理はステップS36に進む。
ステップS36において、CPU101は、式(7)に従って更新後のアクセル量Fnを演算し、式(8)に従って更新後のブレーキ量Dnを演算する。
ステップS37において、CPU101は、アクセル量Fα=Fnに設定し、ブレーキ量Dd=Dnに設定する。
ステップS38において、CPU101は、ビジュアルインピーダンス制御によりロボットアーム11を移動させる。
ここでのビジュアルインピーダンス制御では、アクセル量Fαは、更新後のアクセル量Fnが設定される。ブレーキ量Ddは、更新後のブレーキ量Dnが設定される。
ステップS39において、CPU101は、位置決めが完了したか否かを判定する。
位置決め完了の判定条件は、特に限定されないが、本実施形態では「偏差(X−Xd)が略0になったとき」という条件が採用されているものとする。
従って、本実施形態では偏差(X−Xd)が略0になっていない場合、ステップS39においてNOであると判定されて、処理はステップS36に戻され、それ以降の処理が繰り返される。すなわち、偏差(X−Xd)が略0になるまでの間、ステップS36乃至S39NOのループ処理が繰り返されることによって、ビジュアルインピーダンス制御によりロボットアーム11が移動し続ける。
ここでのビジュアルインピーダンス制御では、アクセル量Fαは、ステップS36乃至S39NOのループ処理毎に演算される更新後のアクセル量Fnが設定される。ブレーキ量Ddは、ステップS36乃至S39NOのループ処理毎に演算される更新後のブレーキ量Dnが設定される。
その後、偏差(X−Xd)が略0になると、ステップS39においてYESであると判定されて、ビジュアルインピーダンス制御の移動処理が終了して、処理は図15のステップS6に進む。すなわち、エンドエフェクタ12により、ボルトがボルト穴21に挿入されて捻じ込まれる。
本実施形態によれば、以下のような効果がある。
(1)本実施形態に係る制御装置15は、3ステップ移動制御手法に従って、次のような処理を実行することができる。
すなわち、制御装置15は、ティーチングプレイバック制御を実行する第1のステップの処理中に対象物であるボルト穴21が視認された段階で直ちに、ビジュアルインピーダンス制御を実行する第3のステップに切り替えるのではなく、第2のステップに切り替える。第2のステップとは、目標位置よりも対象物に近い位置を新たな目標位置として、新たな目標位置までの新たな経路を設定して、制御切替条件が満たされるまでの間、新たな経路に沿って、ロボットアーム11を移動させるティーチングプレイバック制御を実行するステップである。そして、制御装置15は、制御切替条件が満たされたときに第3のステップに切り替える。
これにより、ロボットアーム11の速度等の状態を一定の範囲内に収めて、ビジュアルインピーダンス制御を開始することが可能になる。この「一定の範囲」は、制御切替条件を適切に設定することで、ビジュアルインピーダンス制御にとって適切な範囲内にすることが容易にできる。この場合、ビジュアルインピーダンス制御が安定して適切に実行される。その結果、基本制御手法の場合と比較して、より一段と高速、高精度、かつ制御系として安定に、ロボットアーム11を移動させることが可能になる。
(2)本実施形態に係る制御装置15は、ビジュアルインピーダンス制御のパラメータ可変設定手法に従って、次のような処理を実行することができる。
すなわち、制御装置15は、インピーダンスパラメータという係数を含む式(4)の制御式に対して、偏差(X−Xd)をフィードバック情報とし代入して演算し、その演算結果に基づいて、ロボットアーム11をボルト穴21まで移動させる。この場合、制御装置15は、ロボットアーム11の所定の状態に基づいて、アクセル量Fα又はブレーキ量Ddの少なくとも一部を変更する。
これにより、ロボットアーム11の速度V等の状態によらず、ビジュアルインピーダンス制御が安定して適切に実行される。その結果、基本制御手法の場合と比較して、より一段と高速、高精度、かつ制御系として安定に、マニュピュレータを移動させることが容易に可能になる。
なお、本発明は本実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、本実施形態では、3ステップ移動制御手法と、ビジュアルインピーダンス制御のパラメータ可変設定手法とは組合せて用いられていたが、上述したごとく、これらの手法は相互に独立しているため、何れか一方のみを用いることができる。
例えば、3ステップ移動制御手法のみが用いられる場合には、第3のステップにおけるビジュアルインピーダンス制御として、基本制御手法に従った制御を採用してもよい。さらにいえば、第3のステップにおける制御は、ビジュアルインピーダンス制御に限定されず、任意の視覚サーボ制御を採用することができる。
また例えば、ビジュアルインピーダンス制御のパラメータ可変設定手法のみが実行される場合には、図15のステップS2の処理でYESであると判定された場合には、ステップS3の処理が実行されずに、ステップS4の処理が実行される。そして、ステップS5の処理として、図17のビジュアルインピーダンス制御の移動処理が実行される。
さらに言えば、ビジュアルインピーダンス制御のパラメータ可変設定手法と同様の手法を、ビジュアルインピーダンス制御以外の視覚サーボ制御に対して適用することもできる。例えば、1以上の係数を含む制御式に対して、マニュピュレータに取り付けられた視覚装置により視認された対象物の位置情報を、フィードバック情報とし代入して演算し、その演算結果に基づいて、マニュピュレータを対象物まで移動させる視覚サーボ制御に対して、かかる手法を適用できる。この場合、制御装置は、マニュピュレータの所定の状態に基づいて、1以上の係数の少なくとも一部を変更することが可能になる。
これにより、マニュピュレータの速度等の状態によらず、視覚サーボ制御が安定して適切に実行される。その結果、1以上の係数が固定されていた視覚サーボ制御の場合と比較して、より一段と高速、高精度、かつ制御系として安定に、マニュピュレータを移動させることが容易に可能になる。
また例えば、マニュピュレータは、本実施形態ではロボットアーム11に取り付けられていたが、特にこれに限定されず、任意のワーク上の対象物に移動可能なものであればよい。
また、本実施形態では、図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 パラメータ設定部
66 視覚サーボ演算部
67 移動指令生成部
68 対象物認識部
69 誤差検出部

Claims (7)

  1. 対象物を視認可能な視覚装置が取り付けられたマニュピュレータを、前記対象物まで移動させる移動制御を行う情報処理装置が実行する情報処理方法において、
    前記視覚装置により前記対象物が視認されていない場合、前記対象物の位置に基づいて予め設定された目標位置までの経路に沿って、前記マニュピュレータを移動させるティーチングプレイバック制御を実行する第1のステップと、
    前記視覚装置により前記対象物が視認された場合、前記目標位置よりも前記対象物に近い位置を新たな目標位置として、前記新たな目標位置までの新たな経路を設定して、前記移動制御を切り替えるための切替条件が満たされるまでの間、前記新たな経路に沿って、前記マニュピュレータを移動させる前記ティーチングプレイバック制御を実行する第2のステップと、
    前記切替条件が満たされた場合、前記視覚装置により視認された前記対象物の位置情報を取得し、前記位置情報をフィードバック情報として用いて前記マニュピュレータを前記対象物まで移動させる視覚サーボ制御を実行する第3のステップと、
    を含むことを特徴とする情報処理方法。
  2. 前記第2のステップは、
    前記新たな目標位置の1以上の候補及び前記新たな経路の1以上の候補を設定する候補設定ステップと、
    前記新たな目標位置の1以上の候補及び前記新たな経路の1以上の候補の少なくとも一部に基づいて、前記新たな経路を設定する経路設定ステップと、
    前記切替条件が満たされたか否かを判定する判定ステップと、
    前記切替条件が満たされていない場合、前記ティーチングプレイバック制御より、前記マニュピュレータを前記新たな経路に沿って移動させる移動ステップと、
    前記切替条件が満たされた場合、前記移動制御を、前記ティーチングプレイバック制御から前記視覚サーボ制御に切り替える切替ステップと、
    を含むことを特徴とする請求項1に記載の情報処理方法。
  3. 前記候補設定ステップは、
    前記視覚装置により視認された前記対象物の位置を検出する対象物検出ステップと、
    前記マニュピュレータの位置を検出するマニュピュレータ検出ステップと、
    前記対象物の位置及び前記マニュピュレータの位置に基づいて、前記新たな目標位置の候補の1つを設定する目標位置候補設定ステップと、
    前記目標位置候補設定ステップの処理により設定された前記新たな目標位置の候補までの経路を、前記新たな経路の候補の1つとして設定する経路候補設定ステップと、
    を含み、
    前記対象物検出ステップ乃至前記経路候補設定ステップの一連の処理が1以上実行されることで、前記新たな目標位置の1以上の候補及び前記新たな経路の1以上の候補が設定される
    ことを特徴とする請求項2に記載の情報処理方法。
  4. 前記切替条件は、前記マニュピュレータの速度が一定以下になるという条件を含む
    ことを特徴とする請求項1乃至3の何れか1項に記載の情報処理方法。
  5. 前記切替条件は、前記マニュピュレータと前記対象物との位置の偏差が一定以下になるという条件を含む
    ことを特徴とする請求項1乃至4の何れか1項に記載の情報処理方法。
  6. 対象物を視認可能な視覚装置が取り付けられたマニュピュレータを、前記対象物まで移動させる移動制御を行う情報処理装置において、
    予め設定された経路に沿って前記マニュピュレータを目標位置まで移動させるティーチングプレイバック制御を実行するティーチングプレイバック制御手段と、
    前記視覚装置の出力情報に基づいて、前記対象物を検出する視覚処理手段と、
    前記視覚処理手段により検出された前記対象物の位置情報をフィードバック情報として、前記マニュピュレータを前記対象物まで移動させる視覚サーボ制御を実行する視覚サーボ制御手段と、
    所定の切替条件が満たされた場合、前記移動制御として、前記ティーチングプレイバック制御から前記視覚サーボ制御に切替える切替手段と、
    を備え、
    前記ティーチングプレイバック制御手段は、
    前記視覚手段により前記対象物が検出されるまでの間、前記対象物の位置に基づいて予め設定された目標位置までの経路に沿って、前記マニュピュレータを移動させるティーチングプレイバック制御を実行し、
    前記視覚手段により前記対象物が検出された場合、前記目標位置よりも前記対象物に近い位置を新たな目標位置として、前記新たな目標位置までの新たな経路を設定して、前記切替条件が満たされるまでの間、前記新たな経路に沿って、前記マニュピュレータを移動させる前記ティーチングプレイバック制御を実行する
    ことを特徴とする情報処理装置。
  7. 対象物を視認可能な視覚装置が取り付けられたマニュピュレータを、前記対象物まで移動させる移動制御を行うコンピュータに、
    前記視覚装置により前記対象物が視認されていない場合、前記対象物の位置に基づいて予め設定された目標位置までの経路に沿って、前記マニュピュレータを移動させるティーチングプレイバック制御を実行する第1のステップと、
    前記視覚装置により前記対象物が視認された場合、前記目標位置よりも前記対象物に近い位置を新たな目標位置として、前記新たな目標位置までの新たな経路を設定して、前記移動制御を切り替えるための切替条件が満たされるまでの間、前記新たな経路に沿って、前記マニュピュレータを移動させる前記ティーチングプレイバック制御を実行する第2のステップと、
    前記切替条件が満たされた場合、前記視覚装置により視認された前記対象物の位置情報を取得し、前記位置情報をフィードバック情報として用いて前記マニュピュレータを前記対象物まで移動させる視覚サーボ制御を実行する第3のステップと、
    を含む制御処理を実行させることを特徴とするプログラム。
JP2009250612A 2009-10-30 2009-10-30 情報処理方法及び装置並びにプログラム Expired - Fee Related JP5318727B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2009250612A JP5318727B2 (ja) 2009-10-30 2009-10-30 情報処理方法及び装置並びにプログラム
US12/913,078 US8600552B2 (en) 2009-10-30 2010-10-27 Information processing method, apparatus, and computer readable medium
CN2010105283668A CN102049779B (zh) 2009-10-30 2010-10-28 信息处理方法和装置
US14/067,068 US9073210B2 (en) 2009-10-30 2013-10-30 Information processing method, apparatus, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009250612A JP5318727B2 (ja) 2009-10-30 2009-10-30 情報処理方法及び装置並びにプログラム

Publications (2)

Publication Number Publication Date
JP2011093055A true JP2011093055A (ja) 2011-05-12
JP5318727B2 JP5318727B2 (ja) 2013-10-16

Family

ID=44110547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009250612A Expired - Fee Related JP5318727B2 (ja) 2009-10-30 2009-10-30 情報処理方法及び装置並びにプログラム

Country Status (1)

Country Link
JP (1) JP5318727B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014043322A (ja) * 2012-08-27 2014-03-13 Ntn Corp 自動箱詰め方法および装置
JP2014131825A (ja) * 2013-01-07 2014-07-17 Toyota Motor East Japan Inc ロボット用制御装置
JP2015074061A (ja) * 2013-10-10 2015-04-20 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
EP2868441A1 (en) 2013-10-31 2015-05-06 Seiko Epson Corporation Robot control device, robot system, and robot
JPWO2013176212A1 (ja) * 2012-05-25 2016-01-14 学校法人立命館 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム
US9492925B2 (en) 2013-10-10 2016-11-15 Seiko Epson Corporation Robot controller, robot system, robot, robot control method, and program
JP2017042850A (ja) * 2015-08-25 2017-03-02 ファナック株式会社 モータにより駆動されるロボットを制御するロボット制御装置
CN110355753A (zh) * 2018-03-26 2019-10-22 日本电产株式会社 机器人控制装置、机器人控制方法和存储介质
CN110919627A (zh) * 2018-09-19 2020-03-27 电装波动株式会社 机器人的控制方法及控制装置
CN113628524A (zh) * 2021-08-11 2021-11-09 菲烁易维(重庆)科技有限公司 一种利用机器视觉技术获取拧紧过程轨迹的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0469706A (ja) * 1990-07-11 1992-03-04 Hitachi Ltd 産業用ロボット制御装置
JPH08174457A (ja) * 1994-12-27 1996-07-09 Nissan Motor Co Ltd 組立用ロボットの制御方法およびその装置
JPH0976185A (ja) * 1995-07-12 1997-03-25 Fanuc Ltd ロボットの移動制御方式
JPH09290383A (ja) * 1996-04-25 1997-11-11 Atr Ningen Joho Tsushin Kenkyusho:Kk 画像情報によるマニピュレータ制御方法
JPH10291183A (ja) * 1997-04-18 1998-11-04 Yaskawa Electric Corp ロボット言語処理装置
JP2001246582A (ja) * 2000-02-29 2001-09-11 Mitsubishi Heavy Ind Ltd 作業用ロボット装置
JP2003305676A (ja) * 2002-04-11 2003-10-28 Denso Wave Inc 移動ロボットの制御方法及び制御装置
JP2009090462A (ja) * 2003-07-29 2009-04-30 Panasonic Corp ロボットの制御方法および制御装置
JP2010131711A (ja) * 2008-12-05 2010-06-17 Honda Motor Co Ltd ロボットアームの制御方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0469706A (ja) * 1990-07-11 1992-03-04 Hitachi Ltd 産業用ロボット制御装置
JPH08174457A (ja) * 1994-12-27 1996-07-09 Nissan Motor Co Ltd 組立用ロボットの制御方法およびその装置
JPH0976185A (ja) * 1995-07-12 1997-03-25 Fanuc Ltd ロボットの移動制御方式
JPH09290383A (ja) * 1996-04-25 1997-11-11 Atr Ningen Joho Tsushin Kenkyusho:Kk 画像情報によるマニピュレータ制御方法
JPH10291183A (ja) * 1997-04-18 1998-11-04 Yaskawa Electric Corp ロボット言語処理装置
JP2001246582A (ja) * 2000-02-29 2001-09-11 Mitsubishi Heavy Ind Ltd 作業用ロボット装置
JP2003305676A (ja) * 2002-04-11 2003-10-28 Denso Wave Inc 移動ロボットの制御方法及び制御装置
JP2009090462A (ja) * 2003-07-29 2009-04-30 Panasonic Corp ロボットの制御方法および制御装置
JP2010131711A (ja) * 2008-12-05 2010-06-17 Honda Motor Co Ltd ロボットアームの制御方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013176212A1 (ja) * 2012-05-25 2016-01-14 学校法人立命館 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム
JP2014043322A (ja) * 2012-08-27 2014-03-13 Ntn Corp 自動箱詰め方法および装置
JP2014131825A (ja) * 2013-01-07 2014-07-17 Toyota Motor East Japan Inc ロボット用制御装置
JP2015074061A (ja) * 2013-10-10 2015-04-20 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
US9492925B2 (en) 2013-10-10 2016-11-15 Seiko Epson Corporation Robot controller, robot system, robot, robot control method, and program
EP2868441A1 (en) 2013-10-31 2015-05-06 Seiko Epson Corporation Robot control device, robot system, and robot
JP2015085458A (ja) * 2013-10-31 2015-05-07 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及びロボット
US10059001B2 (en) 2013-10-31 2018-08-28 Seiko Epson Corporation Robot control device, robot system, and robot
JP2017042850A (ja) * 2015-08-25 2017-03-02 ファナック株式会社 モータにより駆動されるロボットを制御するロボット制御装置
CN110355753A (zh) * 2018-03-26 2019-10-22 日本电产株式会社 机器人控制装置、机器人控制方法和存储介质
CN110919627A (zh) * 2018-09-19 2020-03-27 电装波动株式会社 机器人的控制方法及控制装置
CN110919627B (zh) * 2018-09-19 2023-08-08 电装波动株式会社 机器人的控制方法及控制装置
CN113628524A (zh) * 2021-08-11 2021-11-09 菲烁易维(重庆)科技有限公司 一种利用机器视觉技术获取拧紧过程轨迹的方法
CN113628524B (zh) * 2021-08-11 2022-11-22 菲烁易维(重庆)科技有限公司 一种利用机器视觉技术获取拧紧过程轨迹的方法

Also Published As

Publication number Publication date
JP5318727B2 (ja) 2013-10-16

Similar Documents

Publication Publication Date Title
JP5318727B2 (ja) 情報処理方法及び装置並びにプログラム
US9073210B2 (en) Information processing method, apparatus, and computer readable medium
JP5508895B2 (ja) 加工システム及び加工方法
US10618164B2 (en) Robot system having learning control function and learning control method
JP4319232B2 (ja) パワーアシスト装置およびその制御方法
WO2011083659A1 (ja) 加工システム及び加工方法
JP6717768B2 (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
JP2010131711A (ja) ロボットアームの制御方法
WO2019116891A1 (ja) ロボットシステム及びロボット制御方法
CN108356823A (zh) 具有学习控制功能的控制系统以及控制方法
JP5231935B2 (ja) ロボット制御装置
JP2007237312A (ja) 制御装置
JPWO2014021433A1 (ja) ロボット装置およびその制御方法
JP6386516B2 (ja) 学習機能を備えたロボット装置
US10864628B2 (en) Robot system, robot controller, and method for producing to-be-worked material
JP2018202497A (ja) ロボットハンド、ロボットハンドの制御方法、ロボット装置
JP5290934B2 (ja) 情報処理方法及び装置並びにプログラム
JP6217322B2 (ja) ロボット制御装置、ロボット及びロボット制御方法
JP7164368B2 (ja) ロボット装置
US11597083B2 (en) Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium
JP5324397B2 (ja) 情報処理方法及び装置並びにプログラム
WO2020255312A1 (ja) ロボットの動作調整装置、動作制御システムおよびロボットシステム
JP7227018B2 (ja) 学習制御装置、ロボット制御装置およびロボット
JP2017127932A (ja) ロボット装置、ロボット制御方法、部品の製造方法、プログラム及び記録媒体
JP5299255B2 (ja) ロボット制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Written amendment

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130710

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees