JP2016078149A - ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体 - Google Patents
ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP2016078149A JP2016078149A JP2014210390A JP2014210390A JP2016078149A JP 2016078149 A JP2016078149 A JP 2016078149A JP 2014210390 A JP2014210390 A JP 2014210390A JP 2014210390 A JP2014210390 A JP 2014210390A JP 2016078149 A JP2016078149 A JP 2016078149A
- Authority
- JP
- Japan
- Prior art keywords
- robot arm
- trajectory
- joint
- delay time
- follow
- 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.)
- Pending
Links
Images
Abstract
【課題】ロボットアームの動作速度を低減することなく、ロボットアームの先端の軌道誤差を低減する。【解決手段】各モータの回転角度を各角度指令値に追従させてロボットアームを動作させる(S1)。ロボットアームを動作させたときに各関節角度値に基づき、ロボットアームの先端の実際の軌道を求める(S2)。ロボットアームの先端の目標の軌道に対する実際の軌道の軌道誤差が許容範囲を超えているか否かを判断する(S4)。ステップS4で軌道誤差が許容範囲を超えていると判断した場合、各関節の追従遅れ時間を求める(S5)。各関節の追従遅れ時間の分、初期の各角度指令値を補正した角度指令値を生成する(S6)。補正した各角度指令値を用いて同様の処理を再度実行し(S7〜S9)、再度軌道誤差が許容範囲を超えていると判断した場合(S10:Yes)、基準時間を変更して再度、初期の各角度指令値を補正する(S13)。【選択図】図6
Description
本発明は、各関節のモータの回転角度が各角度指令値に近づくようにロボットアームの動作を制御するロボット装置の制御方法、ロボット装置、プログラム及び記録媒体に関する。
精密機器の自動組立において、高精度かつ高速に組付けを行う産業用のロボットが用いられている。ロボットは、多関節のロボットアームと、ロボットアームの先端に取り付けられたロボットハンドとを有する。ロボットアームは、各関節を駆動する複数の駆動部を有する。各駆動部は、モータと、モータの回転軸の回転を減速する減速機とを有する。
一般に、モータの回転軸の回転角度が角度指令値に近づくように制御するフィードバック制御が行われている。角度指令値は、コンピュータ上のシミュレーションにより作成される。そのため、ロボット自体の製造公差や撓み等により、複数の駆動部を連動させた際に、角度指令値に基づくロボットアームの先端の目標の軌道と運転時のロボットアームの先端の実際の軌道とに差分(以下、軌道誤差という)が生じる。このように軌道誤差が生じると、組立製品の嵌め合い公差幅を超えることがあり、組み付けができなくなることがあった。
この軌道誤差は、ロボットアームの共振振動に起因するものと、ロボットアームの各関節の関節角度が目標の関節角度(関節角度指令値)に達するまでの時間差(以下、追従遅れ時間という)のばらつきに起因するものとがある。
軌道誤差を低減する方法については、特許文献1で提案されている。特許文献1では、追従遅れ時間に相当するサーボ遅れ時間を関節軸毎に求め、これらサーボ遅れ時間の中で最も短いサーボ遅れ時間又は平均の時間を基準時間として、該基準時間に基づいて補償トルクを計算する。そして、補償トルクを反映した指令値を各軸のサーボに出力し、サーボ遅れ時間が全ての軸で一致するように制御している。
しかしながら、特許文献1では、モータの出力軸の回転を検出するロータリエンコーダから各関節の回転角度を検出しており、ロボットアームの関節に撓みが生じた場合には、実際の関節角度とは異なる値となる。そのため、ロボットアームの軌道誤差が解消しない場合もあった。
また、特許文献1では、各関節のサーボ遅れ時間を基準時間に合わせることでサーボ遅れ時間のばらつきを解消することができたとしても、決定される基準時間によってはロボットアームの共振振動による軌道誤差が許容範囲を超える場合があった。このような場合、特許文献1では、ロボットアームの動作速度を低減させていたため、ロボットによる組立作業に要する時間が長くなり、組立製品の生産性が低下していた。
そこで、本発明は、ロボットアームの動作速度を低減することなく、ロボットアームの先端の軌道誤差を低減することを目的とする。
本発明は、複数の関節をそれぞれ駆動する複数のモータと、前記複数の関節の角度をそれぞれ検出する複数の関節角度検出部と、を有するロボットアームと、前記ロボットアームの動作を制御する制御部と、を備えたロボット装置の制御方法であって、前記制御部が、前記各モータの回転角度を各角度指令値に追従させて前記ロボットアームを動作させる動作工程と、前記制御部が、前記動作工程にて前記ロボットアームを動作させたときに前記各関節角度検出部により検出された関節角度値に基づき、前記ロボットアームの先端の実際の軌道を求める軌道算出工程と、前記制御部が、前記角度指令値に基づく前記ロボットアームの先端の目標の軌道に対する、前記軌道算出工程で求めた実際の軌道の軌道誤差が、許容範囲を超えているか否かを判断する判断工程と、前記制御部が、初期の前記各角度指令値を関節の角度に換算した各関節角度指令値に対する前記各関節角度値の追従遅れ時間を、関節ごとに求める追従遅れ時間算出工程と、前記制御部が、前記判断工程で軌道誤差が許容範囲を超えていると判断した場合、前記各関節の追従遅れ時間のうちの最長の追従遅れ時間以下の基準時間に対する前記各関節の追従遅れ時間のずれ時間の分、初期の前記各角度指令値を補正する補正工程と、を備え、前記制御部が、前記補正工程にて補正した前記各角度指令値を用いて前記動作工程、前記軌道算出工程及び前記判断工程を再度実行し、再度、前記判断工程で軌道誤差が許容範囲を超えていると判断した場合に前記補正工程にて前記最長の追従遅れ時間以下の範囲で前記基準時間を変更して再度、初期の前記各角度指令値を補正することを特徴とする。
本発明によれば、ロボットアームの動作速度を低減することなく、ロボットアームの先端の軌道誤差を低減することができる。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。図1は、本発明の実施形態に係るロボット装置を示す斜視図である。図1に示すロボット装置500は、把持したワークWを別のワークに組付ける組立作業を行うロボット100と、ロボット100の動作を制御する制御装置200と、教示装置であるティーチングペンダント300と、を備えている。
ロボット100は、多関節のロボットである。ロボット100は、垂直多関節型のロボットアーム101と、ロボットアーム101の先端に接続されたエンドエフェクタであるロボットハンド102と、を備えている。
ロボットアーム101は、作業台に固定されるベース部(基端リンク)111と、変位や力を伝達する複数のリンク112〜117と、を有している。ベース部111及び複数のリンク112〜117は、複数の関節J1〜J6で旋回又は回転可能に互いに連結されている。
また、ロボットアーム101は、各関節J1〜J6に設けられた、関節J1〜J6をそれぞれ駆動する複数(本実施形態では6つ)の駆動部120を有している。各関節J1〜J6に配置された駆動部120は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。
ロボットハンド102は、ワークWを把持する複数の把持爪(フィンガ)104と、複数の把持爪104を駆動する不図示の駆動部と、駆動部の回転角度を検出する不図示のエンコーダと、回転を把持動作に変換する不図示の機構とを有している。この不図示の機構は、カム機構やリンク機構などで必要な把持動作に合わせて設計される。なお、ロボットハンド102に用いる駆動部に必要なトルクは、ロボットアーム101の関節用と異なるが、基本構成は同じである。また、ロボットハンド102は、把持爪104等に作用する反力を検出可能な不図示の力覚センサを有している。
ロボットアーム101の先端には、ツールセンターポイント(TCP)が設定されており、教示点がタスク空間で規定される場合、その教示点は、TCPの位置及び姿勢を示す6つのパラメータで表現される。具体的には、教示点は、タスク空間で表すと、3つの位置パラメータ(X,Y,Z)と、3つの姿勢パラメータ(tX,tY,tZ)とからなる6つのパラメータで表現される。教示点がコンフィグレーション空間(関節空間)で規定される場合、その教示点は、ロボット100の各関節J1〜J6の関節位置(関節角度)を示すパラメータ(θ1,θ2,θ3,θ4,θ5,θ6)で表現される。
なお、コンフィグレーション空間で規定された教示点は、順運動学計算により、タスク空間に変換することができ、タスク空間で規定された教示点は、逆運動学計算により、コンフィグレーション空間に変換することができる。
ティーチングペンダント300は、制御装置200に接続可能に構成され、制御装置200に接続された際に、ロボットアーム101やロボットハンド102を駆動制御する指令を制御装置200に送信可能に構成されている。
以下、関節J2における駆動部120を例に代表して説明し、他の関節J1,J3〜J6の駆動部120については、サイズや性能が異なる場合もあるが、同様の構成であるため、説明を省略する。
図2は、ロボットアーム101の第2関節である関節J2を示す部分分解斜視図である。駆動部120は、サーボモータであるモータ121と、モータ121のトルクを増大させるためにモータ121の回転を減速比Nで減速する減速機123と、減速機123にモータ121の回転駆動を伝達するベルト124と、を有している。モータ121は、例えばブラシレスDCサーボモータやACサーボモータである。
モータ121の回転軸121Aには、モータ121の回転軸121Aの回転角度を検出するモータ角度検出部であるロータリエンコーダ(以下、「エンコーダ」という)122が取り付けられている。エンコーダ122は、モータ121の回転軸121Aの一端に設けられている。回転軸121Aの他端には、駆動プーリ126が設けられている。エンコーダ122は、モータ121の回転軸121Aの回転に伴って、パルス信号を発生して、図1の制御装置200に出力する。エンコーダ122は、インクリメンタル型のロータリエンコーダでもよいが、モータ121の所定の回転位置を原点とした絶対角度が検出できるアブソリュート型のロータリエンコーダであるのが望ましい。なお、エンコーダ122は、回転軸121Aに取り付けられているが、減速機123の入力軸123Bに取り付けてもよい。
減速機123の入力軸123Bには、従動プーリ127が取り付けられ、駆動プーリ126と従動プーリ127とに無端状のベルト124が架け渡されている。これにより、駆動プーリ126の回転駆動力は減速機123の入力軸123Bに取り付けられた従動プーリ127へベルト204を介して伝達される。組立作業等を行うロボットでは正確な位置決めが求められるので、ベルト124は歯付ベルトであることが望ましい。
減速機123には、小型軽量で減速比Nの大きい波動歯車減速機を用いるのが望ましい。減速機123は、ベルト124を介して伝達されたモータ121の回転を減速する。減速機123の筐体は、リンク113に固定され、減速機123の出力軸123Aは、リンク112(図1)に接続される。ベルト124による減速或いは増速がない場合、モータ121の回転軸121Aの回転は、減速機123により1/Nに減速される。本実施形態ではベルト124による減速や増速が無い場合について説明する。
また、関節J2には、リンク112に対するリンク113の相対角度、具体的には減速機123の出力軸123Aの角度、即ち関節J2の関節角度を検出する関節角度検出部であるロータリエンコーダ(以下、「エンコーダ」という。)125が設けられている。エンコーダ125は、エンコーダ122に対してN(減速機123の減速比)倍の分解能を持つことが望ましい。エンコーダ125は、関節J2の駆動に伴ってパルス信号を生成し、制御装置200(図1)に出力する。エンコーダ125は、光学式ロータリエンコーダや磁気式ロータリエンコーダ等のいずれの方式でもよい。
図3は、ロボット装置500の制御系を示すブロック図である。制御装置200は、上位コントローラ250と、上位コントローラ250に接続された、関節J1〜J6の数と同じ数の複数(本実施形態では6つ)のサーボ制御装置2101〜2106と、を有する。また、上位コントローラ250には、各関節J1〜J6のエンコーダ1251〜1256が接続されている。各サーボ制御装置2101〜2106は、各関節J1〜J6の駆動部1201〜1206及びエンコーダ1221〜1226に接続されている。サーボ制御装置2101〜2106は、本実施形態では、制御装置200の筐体に内部に配置されているが、これに限定するものではなく、ロボットアーム101に配置されていてもよい。
上位コントローラ250は、各駆動部1201〜1206のモータ1211〜1216の目標角度である角度指令値θm1 *〜θm6 *を、各サーボ制御装置2101〜2106に出力する。各角度指令値θm1 *〜θm6 *は、各関節J1〜J6の軌道データを示す各関節J1〜J6の関節角度指令値θr1 *〜θr6 *をN倍したものである。
各サーボ制御装置2101〜2106は、各エンコーダ1251〜1256により検出された回転角度値θm1〜θm6が、入力を受けた各角度指令値θm1 *〜θm6 *に近づくように、各モータ1211〜1216の回転をフィードバック制御する。上位コントローラ250は、各エンコーダ1251〜1256から各関節J1〜J6の関節角度値θr1〜θr6を取得する。
図4は、ロボット装置500の制御装置200の上位コントローラ250の構成を示すブロック図である。上位コントローラ250は、コンピュータで構成され、制御部(演算部)としてのCPU(Central Processing Unit)251を備えている。上位コントローラ250は、記憶部としてROM(Read Only Memory)252、RAM(Random Access Memory)253及びHDD(Hard Disk Drive)254を備えている。また、上位コントローラ250は、記録ディスクドライブ255と、各種のインタフェース261〜265とを備えている。
CPU251には、ROM252、RAM253、HDD254、記録ディスクドライブ255及び各種のインタフェース261〜265が、バス260を介して接続されている。ROM252には、BIOS等の基本プログラムが格納されている。RAM253は、CPU251の演算処理結果を一時的に記憶する記憶装置である。
HDD254は、CPU251の演算処理結果である各種のデータ等を記憶する記憶装置であると共に、CPU251に、後述する各種演算処理(工程)を実行させるためのプログラム270を記録するものである。CPU251は、HDD254に記録(格納)されたプログラム270に基づいて各種演算処理を実行する。
記録ディスクドライブ255は、記録ディスク271に記録された各種データやプログラム等を読み出すことができる。
インタフェース261には、ティーチングペンダント300が接続されている。ティーチングペンダント300は、ユーザが操作するものであり、ユーザの操作により教示点の設定を行うことができる。
インタフェース262には、エンコーダ1251〜1256が接続されている。エンコーダ1251〜1256からは、各関節J1〜J6の関節角度値θr1〜θr6を示すパルス信号が出力される。CPU251は、インタフェース262及びバス260を介してエンコーダ1251〜1256からのパルス信号の入力を受ける。
インタフェース263には、サーボ制御装置2101〜2106が接続されている。CPU251は、バス260及びインタフェース263を介して各サーボ制御装置2101〜2106に各角度指令値θm1 *〜θm6 *を、所定の時間間隔(例えば2[ms])で出力する。各サーボ制御装置2101〜2106は、CPU251から入力を受けた角度指令値θm1 *〜θm6 *と、各エンコーダ1221〜1226から取得した各回転角度値θm1〜θm6との差分値を求める。各サーボ制御装置2101〜2106は、演算した差分値が小さくなるように各モータ1211〜1216への電流の出力量(電流値)を演算する。各サーボ制御装置2101〜2106は、各モータ1211〜1216へ電流を供給して、ロボットアーム101の関節J1〜J6の関節角度の制御(各モータ1211〜1216の回転角度の制御)を行う。即ち、CPU251は、各サーボ制御装置2101〜2106を介して各モータ1211〜1216の回転角度を制御することで、ロボットアーム101の動作(関節角度)を制御する。
インタフェース264には、ユーザに各種情報を通知する通知部としてのモニタ600が接続されており、モニタ600には、CPU251の制御の下、各種画像が表示される。インタフェース265には、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置800が接続されている。
なお、本実施形態では、コンピュータ読み取り可能な記録媒体がHDD254であり、HDD254にプログラム270が格納される場合について説明するが、これに限定するものではない。プログラム270は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム270を供給するための記録媒体としては、図4に示すROM252や外部記憶装置800、記録ディスク271等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリ、ROM等を用いることができる。
ここで、実際の生産工程に移る前のロボット100の教示作業について説明する。上位コントローラ250は、不図示の軌道生成装置にて生成された、複数の教示点を所定の補間方法(関節補間や直線補間、円弧補間、スプライン補間等)で補間して得られた各関節J1〜J6の軌道データを取得する。なお、上位コントローラ250が、各関節J1〜J6の軌道データを生成してもよい。軌道データは、シミュレーションにより仮想ロボットを動作させて作成したものである。
上位コントローラ250(CPU251)は、各関節J1〜J6の軌道データに基づく初期の角度指令値0θm1 *〜0θm6 *を生成する。なお、初期の角度指令値0θm1 *〜0θm6 *の生成は、不図示の軌道生成装置が行ってもよい。このように角度指令値0θm1 *〜0θm6 *は、予めシミュレーション(いわゆるオフライン教示)により作成した、未補正の初期の角度指令値である。角度指令値0θm1 *〜0θm6 *は、記憶部(例えばHDD254)に記憶される。角度指令値0θm1 *〜0θm6 *は、後述する補正を受けた後、実際に生産工程にて使用する角度指令値θm1 *〜θm6 *として設定される。
制御部としてのCPU251は、動作モードと動作最適モードとを有しており、ユーザからの指令を受けていずれかのモードに設定を変更する。動作モードでは、設定済みの角度指令値θm1 *〜θm6 *に従ってロボット100(ロボットアーム101)を動作させるモードである。動作最適モードは、追従遅れ時間に基づいて角度指令値0θm1 *〜0θm6 *の補正を行って、角度指令値θm1 *〜θm6 *を設定するモードである。なお、動作最適モードは、生産作業の前に行う教示作業(いわゆるオンライン教示)におけるモードである。
以下、動作最適モードに設定変更した場合について説明する。図5は、ロボット装置500の制御系を示す機能ブロック図である。図5では関節J1〜J6のうちの1つの関節を例示している。なお、他の関節も略同様の構成であるため、図示を省略する。なお、図4中、上位コントローラ250のCPU251がプログラム270を読み出して実行することにより、図5中、各部401,402,404,405,406,407,408として機能する。また、図4中、ROM252,RAM253,HDD254,外部記憶装置800の少なくとも1つ、例えばHDD254が、図5中、閾値記憶部403として機能する。
各エンコーダ122(1221〜1226)は、各モータ121(1211〜1216)の回転軸121Aの回転角度値θm(θm1〜θm6)を検出し、各回転角度値θmを各サーボ制御装置210(2101〜2106)に出力する。
各サーボ制御装置210は、回転角度値θm(θm1〜θm6)と設定前の角度指令値θm *(θm1 *〜θm6 *)との差分に基づき、各モータ121への電流の出力量を演算する。そして、各サーボ制御装置210は、各モータ121へ電流を供給して各モータ121の回転角度値θmが角度指令値θm *に近づくようにフィードバック制御する。各モータ121は、各サーボ制御装置210から電力供給を受けて駆動トルクを発生し、ベルト124及び減速機123を介して関節を駆動する。なお、動作モードにおける制御指令部405及びサーボ制御装置210の動作は、設定された角度指令値θm *(θm1 *〜θm6 *)を用いる以外、動作最適モードと同様である。
各減速機123の出力軸123Aの回転角度値、即ち各関節の関節角度値θr(θr1〜θr6)は、エンコーダ125(1251〜1256)により検出される。各エンコーダ125により検出された関節角度値θrは、軌道誤差算出部401及び追従遅れ時間算出部406へ出力される。
軌道誤差算出部401は、エンコーダ1251〜1256により検出された関節角度値θr1〜θr6に基づき、順運動学計算によりロボットアーム101の先端の実際の軌道を算出する。そして、軌道誤差算出部401は、設定前の角度指令値θm1 *〜θm6 *に基づくロボットアーム101の先端の目標の軌道と、算出した実際の軌道との差分を軌道誤差として算出する。ロボットアーム101の先端の目標の軌道は、不図示の軌道生成装置が作成して、上位コントローラ250のCPU251が取得するようにしてもよいし、CPU251が作成してもよい。本実施形態では、CPU251(軌道誤差算出部401)が計算するものとして具体的に説明する。
まず、軌道誤差算出部401は、設定前の角度指令値θm1 *〜θm6 *を制御指令部405から取得する。軌道誤差算出部401は、設定前の各角度指令値θm1 *〜θm6 *に基づき、関節J1〜J6の関節角度に換算した関節角度指令値θr1 *〜θr6 *を求める。軌道誤差算出部401は、得られた各関節J1〜J6の関節角度指令値θr1 *〜θr6 *を用いて、ロボット順運動学により、経過時間毎のロボットアーム101の先端の目標の軌道を算出する。
さらに、軌道誤差算出部401は、各関節J1〜J6内のエンコーダ125において検出した関節角度値θr1〜θr6を取得する。軌道誤差算出部401は、得られた関節J1〜J6の関節角度値θr1〜θr6を用いて、ロボット順運動学により、経過時間毎のロボットアーム101の先端の実際の軌道を算出する。そして、軌道誤差算出部401は、経過時間毎に目標の軌道と実際の軌道との軌道誤差を算出する。
この軌道誤差が組立に必要な精度を超えた場合、ロボットアームの先端が組付け作業周囲の治工具などと接触を起こし、ロボットもしくはロボットハンドに把持されているワークが破損する可能性がある。そこで、軌道誤差判定部402は、軌道誤差が許容範囲を超えているか否かを判断する。本実施形態では、軌道誤差判定部402は、軌道誤差算出部401で算出した軌道誤差の絶対値とユーザが予め設定した閾値記憶部403に記憶された閾値との比較判定を行う。
閾値記憶部403には、軌道誤差算出部401で算出した軌道誤差との比較に用いる閾値(許容範囲)が記憶されている。この閾値は、ユーザが任意に設定することができ、例えば組付け部品の嵌め合い公差のクリアランスの値や、実験により求めた値とする。
共振振動幅算出部404は、軌道誤差算出部401で算出したロボットアーム101の先端の軌道に対して高速フーリエ変換(FFT)を行い、ロボットアーム101の先端の振動周波数と振幅を算出する。具体的に説明すると、まず共振振動幅算出部404は、軌道誤差算出部401からロボットアーム101の先端の実際の軌道(動作軌道)を取得する。そして共振振動幅算出部404は、取得した動作軌道の振動波形のFFTを計算する。そして共振振動幅算出部404は、周波数毎の振幅について算出を行う。
追従遅れ時間算出部406は、指令に対する目標軌道と実際の動作軌道との差分時間となる追従遅れ時間を算出する。具体的に説明すると、まず追従遅れ時間算出部406は、制御指令部405から設定前の各角度指令値θm1 *〜θm6 *を取得し、これに基づき関節角度指令値θr1 *〜θr6 *を求める。また、追従遅れ時間算出部406は、エンコーダ1251〜1256で検出された関節角度値θr1〜θr6を取得する。そして追従遅れ時間算出部406は、各関節角度指令値θr1 *〜θr6 *と各関節角度値θr1〜θr6から各関節J1〜J6の目標軌道と各関節J1〜J6の実際の動作軌道との差分時間を、追従遅れ時間として算出する。
補正指令値算出部407は、追従遅れ時間算出部406で算出された各関節J1〜J6の追従遅れ時間とゼロ時間を合わせた7つの時間の中から、全関節J1〜J6で追従遅れ時間が一致するような基準時間を選択する。そして補正指令値算出部407は、選択した基準とする追従遅れ時間になるような補正値を全軸分算出し、制御指令部405へフィードバックをする。追従遅れ時間の基準時間の選択は、共振振動幅算出部404にて求められた共振振動幅の変化から選択され、ゼロ時間を含めた関節J1〜J6の追従遅れ時間の短い時間順に選ばれる。
通知制御部408は、軌道誤差判定部402による判定により軌道誤差と閾値との比較結果を、ティーチングペンダント300やモニタ600等の通知部に、ユーザに対する通知を行わせる。なお、通知部としては、不図示のランプやスピーカ等でもよく、ランプによる発光やスピーカからの音声でユーザに通知してもよい。
図6は、ロボット装置500の制御系による制御動作を示すフローチャートである。CPU251は、動作最適化モードに移行した際に、プログラム270を実行することにより、上記各部401,402,404,405,406,407,408として機能し、以下の処理(工程)を実行する。以下、各部の動作、即ち、ロボット装置500の制御方法の各工程についてフローチャートを用いて詳細に説明する。
制御指令部405は、空間上の2点間の教示点を移動する所定の組付け動作をロボット100に行わせる初期の角度指令値0θm1 *〜0θm6 *をサーボ制御装置210に出力する(S1:動作工程)。初期の角度指令値0θm1 *〜0θm6 *は、上述したようにオフライン教示にて作成したものである。
サーボ制御装置210は、入力を受けた角度指令値0θm1 *〜0θm6 *に基づきモータ121に駆動電流を供給して、ロボットアーム101の関節J1〜J6の関節角度制御を行う。このように、制御指令部405は、各サーボ制御装置210に各角度指令値0θm1 *〜0θm6 *を出力することで、各モータ121の回転角度θm1〜θm6を各角度指令値0θm1 *〜0θm6 *に追従させてロボットアーム101を動作させる。
各エンコーダ125で検出された関節角度値θr1〜θr6は、軌道誤差算出部401に送られる。軌道誤差算出部401は、ステップS1にてロボットアーム101を動作させたときに各エンコーダ125により検出された関節角度値θr1〜θr6に基づき、順運動学の計算によりロボットアーム101の先端の実際の軌道を求める(S2:軌道算出工程)。
また、軌道誤差算出部401は、角度指令値0θm1 *〜0θm6 *からロボットアーム101の先端の目標の軌道を算出する。具体的には、軌道誤差算出部401は、角度指令値0θm1 *〜0θm6 *を1/N倍した関節角度指令値0θr1 *〜0θr6 *に基づき、順運動学の計算によりロボットアーム101の先端の目標の軌道を求める。この演算結果であるロボットアーム101の先端の目標の軌道は、記憶部(HDD254等)に記憶される。なお、予めロボットアーム101の先端の目標の軌道を計算しておき、記憶部(HDD254等)に記憶させておけば、ステップS2でロボットアーム101の手先の目標軌道を計算しなくても済む。
次に、軌道誤差算出部401は、各角度指令値0θm1 *〜0θm6 *に基づくロボットアーム101の先端の目標の軌道に対する、ステップS2で求めた実際の軌道の軌道誤差を計算する(S3:軌道誤差算出工程)。
図7は、ロボットアーム101の先端が2つの教示点間を直線補間で移動した際の進行方向に対して垂直となる座標系で、ロボットアーム101の先端位置の変位を経過時間毎に表わしたグラフである。図7には角度指令値に基づくロボットアーム101の先端位置の軌道と経過時間のグラフである波形P1と、エンコーダ125で検出された関節角度値から得られたロボットアーム101の先端位置の軌道の経過時間のグラフである波形P2を表わす。CPU251は、軌道の波形P1に対する軌道の波形P2の最も大きい差分値を軌道誤差Z2として算出する。
次に軌道誤差判定部402は、軌道誤差算出部401で算出した軌道誤差が、許容範囲を超えているか否かを判断する(S4:判断工程)。本実施形態では、許容範囲の上限は閾値Zrefであり、下限は閾値(−Zref)である。即ち、軌道誤差Z2の絶対値が閾値Zrefを超えたか否かを判断する。なお、本実施形態では、許容範囲の上限の絶対値と下限の絶対値とが同じ値Zrefとしたが、これに限定するものではなく、異なる値であってもよい。
閾値Zrefは、予め閾値記憶部403に記憶されている。この閾値Zrefは、ユーザが任意に設定することができ、本実施形態では、ワークWの組付けに必要な値に設定されている。
軌道誤差判定部402は、ステップS3で計算した軌道誤差Z2と、ユーザが予め設定した閾値Zrefとの比較判定を行い、閾値Zrefを超えていなければ(S4:No)、組付けが問題なく可能であるので、図6のフローは終了する。その際、軌道誤差判定部402は、その判定結果を通知制御部408に伝達し、通知制御部408は、通知部(ティーチングペンダント300やモニタ600等)にユーザへの通知を行わせる。そして、初期の角度指令値0θm1 *〜0θm6 *を後の動作モードにおける生産工程で用いる角度指令値θm1 *〜θm6 *として設定する。
軌道誤差が許容範囲を超える場合、即ち軌道誤差Z2の絶対値が閾値Zrefを超える場合(S4:Yes)、部品が組付かない可能性があるためロボットアーム101の動作に補正が必要であるためステップS5に進む。
次に、ステップS5において、追従遅れ時間算出部406は、各関節角度指令値0θr1 *〜0θr6 *に対する各関節角度値θr1〜θr6の追従遅れ時間を、関節ごとに求める(追従遅れ時間算出工程)。即ち、追従遅れ時間算出部406は、各モータ121が動作した際に発生する、各関節J1〜J6への角度指令値に対する追従遅れ時間を算出する。ここで、各関節J1〜J6の追従遅れ時間をt1〜t6とする。そして、各関節J1〜J6において、各経過時間における追従遅れ時間t1〜t6のうちピーク値の追従遅れ時間をT1〜T6とする。
図8は、経過時間に対する関節J2,J3の関節角度指令値0θr2 *,0θr3 *及び関節角度値θr2,θr3を示すグラフである。縦軸は角度、横軸は経過時間を示す。図9は、経過時間に対する関節J2,J3の追従遅れ時間t2,t3を示すグラフである。縦軸は追従遅れ時間、横軸は経過時間を示す。
関節角度指令値0θr2 *に対する関節角度値θr2の時間的な差異が追従遅れ時間t2であり、関節角度指令値0θr3 *に対する関節角度値θr3の時間的な差異が追従遅れ時間t3である。図8及び図9には、関節J2,J3についてのみ図示しているが、CPU251は、J1,J4〜J6についても同様に追従遅れ時間t1,t4〜t6を求める。
次に、補正指令値算出部407は、各関節J1〜J6の追従遅れ時間t1〜t6のうちの最長の追従遅れ時間以下の基準時間を設定する。ここで、基準時間は、指令値補正後に各関節J1〜J6で一致させる目標とする追従遅れ時間であり、本実施形態では、ゼロ(遅れなし)及び時間t1〜t6の中から設定される。
補正指令値算出部407は、基準時間に対する各関節J1〜J6の追従遅れ時間t1〜t6のずれ時間Δt1〜Δt6の分、各角度指令値0θm1 *〜0θm6 *を補正して、新たな各角度指令値1θm1 *〜1θm6 *を生成する(S6:補正工程)。このように、補正指令値算出部407は、全関節J1〜J6の追従遅れ時間t1〜t6が1つの基準時間に一致するような補正後の角度指令値1θm1 *〜1θm6 *を算出する。
本実施形態では、ステップS6では基準時間をゼロとする。よって、基準時間に対する各関節J1〜J6の追従遅れ時間t1〜t6のずれ時間Δt1〜Δt6は、t1〜t6である。本実施形態では、各関節J1〜J6の目標軌道に対する各関節J1〜J6の追従遅れ時間がゼロとなるように各角度指令値0θm1 *〜0θm6 *を補正する。即ち基準時間がゼロであるので、補正指令値算出部407は、ステップS6では、各関節J1〜J6の追従遅れ時間t1〜t6の分、各角度指令値0θm1 *〜0θm6 *を補正(オフセット)して、新たな複数の角度指令値1θm1 *〜1θm6 *を生成する。
即ち、ステップS6では、基準時間がゼロなので関節J1への補正値1θm1 *は初期指令値0θm1 *に対して時間t1分進んだ値、関節J2への補正値1θm2 *は初期指令値0θm2 *に対して時間t2分進んだ値として算出する。同様に関節J3〜J6の補正値も追従遅れ時間がゼロになるような補正値を算出する。
なお、基準時間をゼロとした場合、各関節J1〜J6は、補正前の初期のロボットアーム101の動作速度よりもロボットアーム101の動作速度が速くなる。
このように、ステップS6では、ステップS1で動作した際の角度指令値0θm1 *〜0θm6 *に対して追従遅れ時間がゼロになるような補正値1θm1 *〜1θm6 *を補正指令値算出部407で算出し、制御指令部405にフィードバックをする。
ここで、補正後の角度指令値1θm1 *〜1θm6 *は、記憶部(HDD254等)に、初期の角度指令値0θm1 *〜0θm6 *と区別して記憶される。
図10は、経過時間に対する初期の角度指令値0θm2 *,0θm3 *及び補正後の角度指令値1θm2 *,1θm3 *を示すグラフである。図9には、初期の角度指令値0θm2 *,0θm3 *に対し、追従遅れ補正時間(ずれ時間)Δt2=t2,Δt3=t3分、指令タイミングを進めた補正後の角度指令値1θm2 *,1θm3 *を図示している。ステップS6では、全軸の追従遅れ時間がゼロになるように指令タイミングが進められた補正値1θm2 *,1θm3 *が算出される。図10に不図示の他の関節J1,J4〜J6についても関節J2,J3と同様にCPU251により算出する。
CPU251は、ステップS6(補正工程)にて補正した各角度指令値1θm1 *〜1θm6 *を用いて、ステップS1〜S4(動作工程、軌道算出工程、軌道誤差算出工程及び判断工程)と同様の処理を再度実行する。
即ち、制御指令部405は、各モータ121の回転角度θm1〜θm6を補正後の各角度指令値1θm1 *〜1θm6 *に追従させてロボットアームを再動作させる(S7:動作工程)。
軌道誤差算出部401は、ステップS7にてロボットアーム101を再動作させたときに各エンコーダ125により検出された関節角度値θr1〜θr6に基づき、ロボットアーム101の先端の実際の軌道を求める(S8:軌道算出工程)。
軌道誤差算出部401は、角度指令値0θm1 *〜0θm6 *に基づくロボットアーム101の先端の目標の軌道に対する、ステップS8で求めた実際の軌道の軌道誤差Z3を算出する(S9:軌道誤差算出工程)。軌道誤差判定部402は、軌道誤差Z3が、許容範囲を超えているか否かを判断する(S10:判断工程)。
図11は、ロボットアーム101の先端が2点の教示点間を直線で移動した際の進行方向に対して垂直となる座標系で、ロボットアーム101の先端位置の変位を経過時間毎に表わしたグラフである。図11には、初期の角度指令値0θm1 *〜0θm6 *に基づいて動作した際のロボットアーム101の先端位置の軌道の経過時間のグラフである波形P2を図示している。また、図11には、補正指令値1θm1 *〜1θm6 *に基づいて動作した際のロボットアーム101の先端位置の軌道の経過時間のグラフである波形P3を図示している。そして、目標の軌道に対するそれぞれの指令値を基にした軌道の軌道誤差を軌道誤差Z2、軌道誤差Z3として表わす。
軌道誤差判定部402は、ステップS8で計算した軌道誤差Z3と、ユーザが予め設定した閾値Zrefとの比較判定を行い、閾値Zrefを超えていなければ(S10:No)、組付けが問題なく可能であるので、図6のフローは終了する。その際、軌道誤差判定部402は、その判定結果を通知制御部408に伝達し、通知制御部408は、通知部(ティーチングペンダント300やモニタ600等)にユーザへの通知を行わせる。そして、補正後の角度指令値1θm1 *〜1θm6 *を後の動作モードにおける生産工程で用いる角度指令値θm1 *〜θm6 *として設定する。
図11の例の場合、Zref<Z3であるため、次のステップS11に進む。ステップS10で軌道誤差が許容範囲を超えていると判断した場合(S10:Yes)、共振振動幅算出部404は、最初にステップS3で算出した軌道からロボットアーム101の共振振動による振幅のピーク値(第1ピーク値)を求める。また、共振振動幅算出部404は、再度ステップS8で算出した軌道からロボットアーム101の共振振動による振幅のピーク値(第2ピーク値)を算出する(S11:共振算出工程)。
次に、共振振動幅算出部404は、第2ピーク値が第1ピーク値よりも高いか否かを判断する(S12:共振判断工程)。
即ち、ステップS12ではステップS10での再動作時の軌道誤差が閾値を超えた原因判断を行う。共振振動幅算出部404は、軌道誤差算出部401からステップS3での初期動作時の軌道誤差波形P2とステップS9での補正動作時の軌道誤差波形P3と取得し、高速フーリエ変換(FFT)を行いロボットアーム先端位置の振動周波数と振幅を算出する。共振振動幅算出部404は、算出した動作軌道波形の共振振動の振幅変化に基づいて、ステップS10において軌道誤差の絶対値が閾値を超えた原因が、補正により動作加速度が過大になったためか否かを判断する。再動作時に全軸の追従遅れ時間を一致させる基準時間の設定が短すぎた場合、動作加速度が上がり共振振動幅が増加する。つまり共振振動幅の増加変化を検出することで補正時間が短すぎたか否かが判断される。
図12は、ステップS3で算出したロボットアーム101の先端位置軌道の波形P2をFFTした結果の波形P20と、ステップS8で算出したロボットアーム101の先端位置軌道の波形P3をFFTした結果の波形P30を示すグラフである。波形P20及び波形P30は、周波数f1と周波数f1よりも高い周波数f2にピークを持つ。周波数f1は追従遅れ時間が関節J1〜J6間で一致しないことに起因するもので、周波数f2はロボットアーム101の関節J1〜J6の共振振動に起因するものである。
図12では、波形P20の周波数f2での振幅はW22である。波形P30の周波数f2での振幅はW23である。図12の例では、W22>W23であり、共振振動幅は増加していないため(S12:No)、ステップS13に進む。
ステップS13では、再度ステップS10で軌道誤差が許容範囲を超えていると判断した場合に、補正指令値算出部407が、最長の追従遅れ時間以下の範囲で基準時間を変更して再度、初期の各角度指令値0θm1 *〜0θm6 *を補正する。これにより、補正後の新たな角度指令値1θm1 *〜1θm6 *を得る。
本実施形態では、補正指令値算出部407は、ステップS13において基準時間を変更する際に、基準時間を、各関節J1〜J6の追従遅れ時間t1〜t6の中から選択して該選択した追従遅れ時間に設定する。その際、基準時間を、各関節J1〜J6の追従遅れ時間t1〜t6のうち未選択の追従遅れ時間の中から選択して該追従遅れ時間に設定する。つまり、1巡目のステップS13では、全ての追従遅れ時間t1〜t6が未選択であるので、基準時間は、これら時間t1〜t6の中から設定される。
そして、本実施形態では、ステップS13で基準時間を変更する際に、基準時間を、未選択の追従遅れ時間t1〜t6のうち最短の追従遅れ時間を選択して該追従遅れ時間に設定する。
図13は、ステップS5で算出した、ロボットアーム101の各関節J1〜J6の追従遅れ時間(ピーク値)T1〜T6を示した図である。最短の追従遅れ時間が関節J6の追従遅れ時間T6で、最長の追従遅れ時間が関節J2の追従遅れ時間T2である。図13の例で、1巡目のステップS12では、関節J1〜J6の追従遅れ時間T1〜T6のうち最短の追従遅れ時間T6を選択する。そして、基準時間を、選択した追従遅れ時間T6を含む追従遅れ時間t6とする。このように、本実施形態では、ステップS13の追従遅れ時間の選択について、比較が容易となるピーク値を示す追従遅れ時間T1〜T6を用いている。
そして、関節J1については、補正後の角度指令値1θm1 *は、初期の角度指令値0θm1 *に対してずれ時間Δt1(=t1−t6)進んだ値とする。関節J2については、補正後の角度指令値1θm2 *は、初期の角度指令値0θm2 *に対してずれ時間Δt2(=t2−t6)進んだ値とする。残りの関節J3〜J5についても同様に角度指令値1θm3 *〜1θm5 *を求める。
なお、角度指令値1θm6 *については、基準時間を時間t6としているので、そのままの値(0θm6 *)となる。このように、選択された追従遅れ時間t6に対応する関節J6の角度指令値1θm6 *は、補正演算をする必要がないので、CPU251における演算負荷が減る。
ステップS13にて補正した角度指令値を求めた後、再度、ステップS7の処理に移行して、ステップS10で軌道誤差が許容範囲に収まるまでステップS7〜S13の処理を繰り返す。
これにより、ステップS13では、図13の各関節J1〜J6の追従遅れ時間T1〜T6のうち、未選択の追従遅れ時間の中から短い順で選択される。図13の例では、T6、T4、T1、T5、T3、T2の順で選択される。
例えば、2巡目ではT4が選択されるので、基準時間は追従遅れ時間t4となる。その際、ずれ時間Δt1〜Δt3、Δt5は正の値であり、各角度指令値1θm1 *〜1θm3 *、1θm5 *は、各角度指令値0θm1 *〜0θm3 *、0θm5 *に対してずれ時間分進んだ値となる。また、ずれ時間Δt4はゼロであり、角度指令値1θm4 *は、角度指令値0θm4 *のままである。また、ずれ時間Δt6は負の値であり、角度指令値1θm6 *は、角度指令値0θm6 *に対してずれ時間分遅れた値となる。このように、2巡目では、関節J4の追従遅れ時間t4に合わせて各関節J1〜J3、J5、J6の追従遅れ時間が揃えられる。
なお、6巡目では、T2が選択されるので、基準時間は追従遅れ時間t2となる。その際、ずれ時間Δt1,Δt3〜Δt6は負の値であり、各角度指令値1θm1 *,1θm3 *〜1θm6 *は、各角度指令値0θm1 *,0θm3 *〜0θm6 *に対してずれ時間分遅れた値となる。また、ずれ時間Δt2はゼロであり、角度指令値1θm2 *は、角度指令値0θm2 *のままである。このように、6巡目では、関節J2の追従遅れ時間t2に合わせて各関節J1、J3〜J6の追従遅れ時間が揃えられる。以上、本実施形態では、最長の追従遅れ時間t2以下で基準時間が設定される。つまり、一番遅い関節J2に各関節J1、J3〜J6の追従遅れ時間を揃えたとしても、ロボットアーム101の動作速度は低下しない。
共振振動幅算出部404が、ステップS12にて第2ピーク値が第1ピーク値よりも高いと判断した場合(S12:Yes)、通知制御部408の制御に移行する。通知制御部408は、許容範囲(即ち閾値Zref)の変更を促す情報を、モニタ600やティーチングペンダント300等の通知部に通知させる(S14:通知制御工程)。このように、ステップS14では通知制御部408が、ユーザに対して予め閾値記憶部403に設定しておいた軌道誤差閾値Zrefの見直し要求の通知を行わせる。通知制御部408は、ステップS12における共振振動幅算出部404の判定結果を受け、ユーザへ通知を行った後、フローを終了する。
以上、本実施形態によれば、ロボットアーム101の関節J1〜J6同士の追従遅れ時間を基準時間に一致させ、追従遅れ時間がばらつくのを抑制して、実際の動作軌道が目標軌道から外れるのを抑制している。更に、本実施形態によれば、ロボットアーム101の各関節J1〜J6の追従遅れ時間を揃える基準時間を、ステップS5で求めた最長の追従遅れ時間以下の範囲内でロボットアーム101の先端の振動が低減するように変更している。これにより、ロボットアーム101の動作速度が低減することなく、ロボットアーム101の先端の軌道誤差を低減させることができる。
そして組付けで重要となるロボットアーム101の先端軌道の軌道誤差が小さくなるので、ロボットアーム101の動作開始から動作終了までの総合の動作時間が短くなり、ロボット100による組立製品の生産性が向上する。
また、ステップS6において最初は基準時間をゼロに設定して角度指令値を補正しているので、この補正でステップS10にて軌道誤差が許容範囲内であると判断されれば、ロボットアーム101の動作速度は格段に向上する。これにより、ロボット100による組立製品の生産性が格段に向上する。
また、ステップS13で、基準時間を変更する際に、基準時間を、追従遅れ時間t1〜t6の中から選択しているので、基準時間を演算する必要がなく、CPU251による演算負荷が低減する。
また、基準時間を変更する際に、未選択の追従遅れ時間のうち最短の追従遅れ時間を選択して基準時間に設定しているので、軌道誤差が許容範囲を満たすものの中で、最もロボットアーム101の動作速度が速くなる角度指令値が設定されることになる。よって、ロボット100による組立製品の生産性の向上につながる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、上記実施形態では、ステップS11にて共振振動幅を算出し、ステップS12にて共振判断を行い、共振振動幅が増加したときステップS14を実行する場合について説明したが、ステップS11,S12,S14の処理は、必要に応じて省略可能である。
また、上記実施形態では、ステップS13で未選択の追従遅れ時間の中から短い順に選択して基準時間を設定したが、これに限定するものではなく、例えば未選択の追従遅れ時間の中からランダムに追従遅れ時間を選択して基準時間に設定してもよい。
また、上記実施形態では、ステップS6で最初に基準時間をゼロに設定したが、これに限定するものではなく、例えば追従遅れ時間t6に設定してもよい。
また、上記実施形態では、基準時間を、ゼロ及び追従遅れ時間t1〜t6の中から選択したが、これに限定するものではない。例えば、時間t1と時間t2との中間の時間や時間t2と時間t3との中間の時間を求めて、基準時間に設定してもよい。この場合、基準時間を演算する必要があるので、CPU251による演算負荷が上記実施形態よりも増加することにはなるが、上記実施形態と同様、ロボットアーム101の振動を抑制しつつロボットアーム101の動作速度を向上させることができる。
上記実施形態では、ロボットアーム101が、垂直多関節型(シリアルリンク型)のロボットアームである場合について説明したが、これに限定するものではない。水平多関節型のロボットアームやパラレルリンク型のロボットアームなどであっても本発明は適用可能である。
101…ロボットアーム、121…モータ、122…エンコーダ(モータ角度検出部)、123…減速機、125…エンコーダ(関節角度検出部)、251…CPU(制御部)、500…ロボット装置
Claims (10)
- 複数の関節をそれぞれ駆動する複数のモータと、前記複数の関節の角度をそれぞれ検出する複数の関節角度検出部と、を有するロボットアームと、
前記ロボットアームの動作を制御する制御部と、を備えたロボット装置の制御方法であって、
前記制御部が、前記各モータの回転角度を各角度指令値に追従させて前記ロボットアームを動作させる動作工程と、
前記制御部が、前記動作工程にて前記ロボットアームを動作させたときに前記各関節角度検出部により検出された関節角度値に基づき、前記ロボットアームの先端の実際の軌道を求める軌道算出工程と、
前記制御部が、前記角度指令値に基づく前記ロボットアームの先端の目標の軌道に対する、前記軌道算出工程で求めた実際の軌道の軌道誤差が、許容範囲を超えているか否かを判断する判断工程と、
前記制御部が、初期の前記各角度指令値を関節の角度に換算した各関節角度指令値に対する前記各関節角度値の追従遅れ時間を、関節ごとに求める追従遅れ時間算出工程と、
前記制御部が、前記判断工程で軌道誤差が許容範囲を超えていると判断した場合、前記各関節の追従遅れ時間のうちの最長の追従遅れ時間以下の基準時間に対する前記各関節の追従遅れ時間のずれ時間の分、初期の前記各角度指令値を補正する補正工程と、を備え、
前記制御部が、前記補正工程にて補正した前記各角度指令値を用いて前記動作工程、前記軌道算出工程及び前記判断工程を再度実行し、再度、前記判断工程で軌道誤差が許容範囲を超えていると判断した場合に前記補正工程にて前記最長の追従遅れ時間以下の範囲で前記基準時間を変更して再度、初期の前記各角度指令値を補正することを特徴とするロボット装置の制御方法。 - 前記補正工程では、最初は前記基準時間をゼロとすることを特徴とする請求項1に記載のロボット装置の制御方法。
- 前記補正工程では、前記基準時間を変更する際に、前記基準時間を、前記各関節の追従遅れ時間の中から選択して該選択した追従遅れ時間に設定することを特徴とする請求項1又は2に記載のロボット装置の制御方法。
- 前記補正工程では、前記基準時間を変更する際に、前記基準時間を、前記各関節の追従遅れ時間のうち未選択の追従遅れ時間の中から選択して該追従遅れ時間に設定することを特徴とする請求項3に記載のロボット装置の制御方法。
- 前記補正工程では、前記基準時間を変更する際に、前記基準時間を、前記未選択の追従遅れ時間のうち最短の追従遅れ時間を選択して該追従遅れ時間に設定することを特徴とする請求項4に記載のロボット装置の制御方法。
- 前記制御部が、再度、前記判断工程で軌道誤差が許容範囲を超えていると判断した場合、最初に前記軌道算出工程で算出した軌道から前記ロボットアームの共振振動による振幅の第1ピーク値と、再度、前記軌道算出工程で算出した軌道から前記ロボットアームの共振振動による振幅の第2ピーク値とを算出する共振算出工程と、
前記制御部が、前記第2ピーク値が前記第1ピーク値よりも高いか否かを判断する共振判断工程と、を更に備え、
前記補正工程は、前記共振判断工程にて前記第2ピーク値が前記第1ピーク値よりも低いと判断した場合に再度実行することを特徴とする請求項1乃至5のいずれか1項に記載のロボット装置の制御方法。 - 前記制御部が、前記共振判断工程にて前記第2ピーク値が前記第1ピーク値よりも高いと判断した場合、前記許容範囲の変更を促す情報を通知部に通知させる通知制御工程を更に備えたことを特徴とする請求項6に記載のロボット装置の制御方法。
- 請求項1乃至7のいずれか1項に記載のロボット装置の制御方法の各工程を実行する制御部を備えたロボット装置。
- コンピュータに、請求項1乃至7のいずれか1項に記載のロボット装置の制御方法の各工程を実行させるためのプログラム。
- 請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014210390A JP2016078149A (ja) | 2014-10-15 | 2014-10-15 | ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014210390A JP2016078149A (ja) | 2014-10-15 | 2014-10-15 | ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016078149A true JP2016078149A (ja) | 2016-05-16 |
Family
ID=55957120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014210390A Pending JP2016078149A (ja) | 2014-10-15 | 2014-10-15 | ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016078149A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019123060A (ja) * | 2018-01-18 | 2019-07-25 | ファナック株式会社 | ロボット制御装置 |
CN111125279A (zh) * | 2019-11-25 | 2020-05-08 | 深圳市甲易科技有限公司 | 一种应用于轨迹伴随可能性分析的伴随系数计算方法 |
CN112114909A (zh) * | 2019-06-20 | 2020-12-22 | 竹阩智能数据(合肥)有限公司 | 机械手臂校正系统和机械手臂校正方法 |
JPWO2021106237A1 (ja) * | 2019-11-25 | 2021-06-03 | ||
CN113164216A (zh) * | 2018-12-05 | 2021-07-23 | 韩商未来股份有限公司 | 远程控制手术从臂的方法和系统 |
CN113515044A (zh) * | 2021-07-02 | 2021-10-19 | 北京理工大学 | 一种轮式移动机器人的基于学习预测跟踪控制方法及装置 |
CN114193452A (zh) * | 2021-12-29 | 2022-03-18 | 佛山智异科技开发有限公司 | 多关节布料臂架末端轨迹控制方法、系统及存储介质 |
CN117182976A (zh) * | 2023-11-08 | 2023-12-08 | 沈阳元创半导体有限公司 | 一种真空机械手r轴实时位置绝对精度测试系统及方法 |
CN114193452B (zh) * | 2021-12-29 | 2024-04-26 | 佛山智异科技开发有限公司 | 多关节布料臂架末端轨迹控制方法、系统及存储介质 |
-
2014
- 2014-10-15 JP JP2014210390A patent/JP2016078149A/ja active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019200117B4 (de) * | 2018-01-18 | 2021-01-14 | Fanuc Corporation | Robotersteuerung |
JP2019123060A (ja) * | 2018-01-18 | 2019-07-25 | ファナック株式会社 | ロボット制御装置 |
US10814482B2 (en) | 2018-01-18 | 2020-10-27 | Fanuc Corporation | Robot controller |
CN113164216B (zh) * | 2018-12-05 | 2023-07-07 | 韩商未来股份有限公司 | 远程控制手术从臂的方法和系统 |
CN113164216A (zh) * | 2018-12-05 | 2021-07-23 | 韩商未来股份有限公司 | 远程控制手术从臂的方法和系统 |
CN112114909B (zh) * | 2019-06-20 | 2024-03-15 | 竹阩智能数据(合肥)有限公司 | 机械手臂校正系统和机械手臂校正方法 |
CN112114909A (zh) * | 2019-06-20 | 2020-12-22 | 竹阩智能数据(合肥)有限公司 | 机械手臂校正系统和机械手臂校正方法 |
CN114728411A (zh) * | 2019-11-25 | 2022-07-08 | 三菱电机株式会社 | 控制装置和机器人系统 |
WO2021106237A1 (ja) * | 2019-11-25 | 2021-06-03 | 三菱電機株式会社 | 制御装置及びロボットシステム |
CN111125279A (zh) * | 2019-11-25 | 2020-05-08 | 深圳市甲易科技有限公司 | 一种应用于轨迹伴随可能性分析的伴随系数计算方法 |
JP7357689B2 (ja) | 2019-11-25 | 2023-10-06 | 三菱電機株式会社 | 制御装置、ロボットシステム及び制御方法 |
CN111125279B (zh) * | 2019-11-25 | 2024-03-12 | 深圳市甲易科技有限公司 | 一种应用于轨迹伴随可能性分析的伴随系数计算方法 |
JPWO2021106237A1 (ja) * | 2019-11-25 | 2021-06-03 | ||
CN113515044A (zh) * | 2021-07-02 | 2021-10-19 | 北京理工大学 | 一种轮式移动机器人的基于学习预测跟踪控制方法及装置 |
CN113515044B (zh) * | 2021-07-02 | 2022-08-26 | 北京理工大学 | 一种轮式移动机器人的基于学习预测跟踪控制方法及装置 |
CN114193452A (zh) * | 2021-12-29 | 2022-03-18 | 佛山智异科技开发有限公司 | 多关节布料臂架末端轨迹控制方法、系统及存储介质 |
CN114193452B (zh) * | 2021-12-29 | 2024-04-26 | 佛山智异科技开发有限公司 | 多关节布料臂架末端轨迹控制方法、系统及存储介质 |
CN117182976A (zh) * | 2023-11-08 | 2023-12-08 | 沈阳元创半导体有限公司 | 一种真空机械手r轴实时位置绝对精度测试系统及方法 |
CN117182976B (zh) * | 2023-11-08 | 2024-01-05 | 沈阳元创半导体有限公司 | 一种真空机械手r轴实时位置绝对精度测试系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016078149A (ja) | ロボット装置の制御方法及びロボット装置、プログラム及び記録媒体 | |
US10486309B2 (en) | Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component | |
JP5972346B2 (ja) | ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
US10618164B2 (en) | Robot system having learning control function and learning control method | |
JP5897644B2 (ja) | ロボットの制御装置 | |
US20160008983A1 (en) | Control method for robot apparatus, computer readable recording medium, and robot apparatus | |
JP6584102B2 (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法 | |
JP5916583B2 (ja) | 多関節ロボットのウィービング制御装置 | |
JP2016083713A (ja) | ロボット制御方法、ロボット装置、プログラム、記録媒体及び組立部品の製造方法 | |
JP2019098469A (ja) | ロボット装置、およびロボット装置の制御方法 | |
JP6708428B2 (ja) | ロボット装置、制御方法、製造方法、プログラム、及び記録媒体 | |
US11660746B2 (en) | Separate moving and positioning modes for a robot, method providing separate moving and positioning modes for the robot, method of manufacturing a product, and a recording medium | |
CN108453733B (zh) | 具有反馈控制功能的机器人、运动控制系统、方法和介质 | |
JP2017124455A (ja) | ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
CN105710880B (zh) | 安全的、具有轨迹前进变量的机器人 | |
JP2020015124A (ja) | ロボット制御方法、物品の製造方法、ロボット制御装置、ロボット、プログラム及び記録媒体 | |
JP6705847B2 (ja) | 加工結果に基づいた学習制御を行うロボットシステム及びその制御方法 | |
JP4498061B2 (ja) | 溶接ロボット制御装置 | |
JP6700679B2 (ja) | 制御方法、物品の製造方法、ロボット装置、制御プログラム及び記録媒体 | |
JP2015033277A (ja) | サーボ装置、及びサーボ装置の制御方法 | |
JP6661676B2 (ja) | ロボット制御装置 | |
JP6712724B2 (ja) | ロボットの制御方法及び溶接方法 | |
WO2015162757A1 (ja) | ロボット制御装置およびロボット制御方法 | |
KR101681076B1 (ko) | Scara 로봇 궤적 오차 보정 방법 | |
JP2009028865A (ja) | 多関節型ロボットの制御方法 |