ロボットの制御装置及びロボットの位置修正制御方法
【課題】ロボット本体の手先の教示点の修正が、アーム全体について意図しない動作を生じさせることを回避できるロボットの制御装置を提供する。
【解決手段】制御装置は、ティーチチェックモードの実行停止時点に実行中であった制御プログラム中の命令を判定し、当該命令が動作命令MOVEであれば当該動作命令を、動作命令MOVEでなければ直近に実行された動作命令MOVEを対象として、その時点の手先位置が動作命令MOVEの目標位置に一致しているか否かを判定する(S8,S9)。手先位置と目標位置とが一致していない場合は(S9:NO)、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行い(S16)、手先位置と目標位置とが一致している場合は(S9:YES)、以降に行われる手先位置の修正制御に制限を付与する制限付き修正制御を行う(S10〜S12)。
【解決手段】制御装置は、ティーチチェックモードの実行停止時点に実行中であった制御プログラム中の命令を判定し、当該命令が動作命令MOVEであれば当該動作命令を、動作命令MOVEでなければ直近に実行された動作命令MOVEを対象として、その時点の手先位置が動作命令MOVEの目標位置に一致しているか否かを判定する(S8,S9)。手先位置と目標位置とが一致していない場合は(S9:NO)、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行い(S16)、手先位置と目標位置とが一致している場合は(S9:YES)、以降に行われる手先位置の修正制御に制限を付与する制限付き修正制御を行う(S10〜S12)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多関節型のロボット本体を制御プログラムに従い動作させる自動動作モードと、その制御プログラムに従う動作を自動動作モードよりも低速で実行可能であるロボットの制御装置,及びロボットの位置修正制御方法に関する。
【背景技術】
【0002】
ロボットについては、各教示点をティーチング(プログラミング)した後、そのティーチング結果に基づいてロボットを自動モードで動作させる前に、ティーチングが意図通りに行われたか否かを確認するテスト(いわゆる「ティーチチェック」)を行うのが一般的である。そして、テストを行った結果、一部の教示点を修正する必要が発生することも多い。この場合、従来は、テストモードを一旦終了してティーチングモードに切り替え、教示点を修正し、再びテストモードに切り替えてテストする、という手順を経る必要があった。
【0003】
しかしながら、上記のようにモード切替えを何度も行うと作業が煩雑になるため、教示点の修正をより簡単に行えるようにしたいという要望がある。例えば、特許文献1では、教示点の修正を行う場合に、ロボットを、修正対象である教示点の直前まで自動モードで動作させてから手動モードに切り替え、そこからロボットの手先位置を、修正しようとする教示点に移動させてティーチングを行う技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−66797号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、特許文献1の技術では、手動モードにおいてロボットアームの手先は自由に動かすことができるが、それに伴い、アーム途中の関節(肘)の位置がどのように変化するかが不確定である。その結果、手先の位置を修正しても、アーム全体としての動きが大きく変化してしまうおそれがあり、作業者が予測しなかった動きになることも想定される。
本発明は上記事情に鑑みてなされたものであり、その目的は、ロボット本体の手先の教示点の修正が、アーム全体について意図しない動作を生じさせることを回避できるロボットの制御装置,及びロボットの位置修正制御方法を提供することにある。
【課題を解決するための手段】
【0006】
請求項1記載のロボットの制御装置によれば、修正制御手段は、命令判定手段が、テストモードの実行が停止された時点に実行中であった制御プログラム中の命令を判定すると、位置判定手段が、上記命令が動作命令であれば当該動作命令を、動作命令でなければ直近に実行された動作命令を対象として、その時点の手先位置が動作命令の目標位置に一致しているか否かを判定する。そして、手先位置と目標位置とが一致していない場合は、通常制御実行手段が、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行い、手先位置と目標位置とが一致している場合は、制限付き制御実行手段が、以降に行われる修正操作に応じた手先位置の修正制御に制限を付与する、制限付き修正制御を行うようにする。
【0007】
上記制限付き修正制御では、ロボット本体の各軸について一回の修正操作に応じて変化させるモータの回転速度の最大値を設定すると共に修正制御において許容する最大累積変位量とを設定し、一回の修正操作により各軸を変位させる量を、モータの回転速度が、一定の回転加速度で前記最大値に達するまでの操作時間内に変位する量に制限する操作変位量制限を行う。また、停止時にロボット本体の各軸について取得した位置を初期値として、修正操作が行われる毎に各軸が変位した量を累積加算し、その加算値が最大累積変位量を超えた場合は、修正操作による修正制御を停止させる最大累積変位量制限とを行う。
【0008】
すなわち、ユーザがロボット本体の手先の教示点を手動で修正する場合には、一回の修正操作に応じた各軸の変位量が(最大回転速度)×(操作時間)/2で制限されると共に、その操作を複数回行うことで累積される各軸の変位量も最大累積変位量で制限される。したがって、手先の教示点の修正に伴い、アームの関節軸がユーザの意図しない動きとなることを防止でき、アームの動きや姿勢はユーザが容易に予想できる範囲内に収まるようになる。
尚、テストモードの実行が停止された時点の手先位置が動作命令の目標位置と一致していない場合は、新たな教示点が追加されることを示しているので、それ以降の教示点についても大幅に変更される蓋然性が高い。そのため、斯様なケースの修正制御には上記のような制限を加えることなく修正制御の自由度を高め、手先の大幅な軌道変更を容易に行うことができる。
【0009】
請求項2記載のロボットの制御装置によれば、制限量設定手段は、最大累積変位量を、ロボット本体の根元側の軸に対応する値がより小さくなるように設定する。一般に、ロボット本体の根元側にある軸の動きは手先側の動きに大きく影響するので、それに応じて最大累積変位量が小さくなるように設定することで手先位置を大きく変位させてしまうことを防止し、位置の微小な修正を容易に行うことができる。
【図面の簡単な説明】
【0010】
【図1】一実施例であり、制御装置の制御内容を示すフローチャート
【図2】図1におけるステップS8の処理内容を示すフローチャート
【図3】同ステップS12の処理内容を示すフローチャート
【図4】制御プログラムリストの一例を示す図
【図5】制御プログラム中に記載された動作命令MOVEの動作目標位置を説明する図
【図6】1回の修正操作の変位量について設定するリミットの一例を示す図
【図7】各軸の変位量について設定するリミットの一例を示す図
【図8】動作モードが「X−Y」の場合に第3軸を指定してジョグ送り動作させた場合の動作例を示す図
【図9】ティーチングペンダントの平面図
【図10】一般的な産業用ロボットのシステム構成を示す図
【図11】制御装置及びロボット本体の電気的構成を示す機能ブロック図
【発明を実施するための形態】
【0011】
以下、一実施例について図面を参照して説明する。図10は、一般的な産業用ロボットのシステム構成を示している。ロボットシステム1は、ロボット本体2と、ロボット本体2を制御する制御装置(コントローラ)3と、制御装置3に接続されたティーチングペンダント4とから構成されている。ロボット本体2は、例えば6軸の垂直多関節型ロボットとして構成されている。ロボット本体2は、ベース5と、このベース5に水平方向に回転可能に支持されたショルダ部6と、このショルダ部6に上下方向に回転可能に支持された下アーム7と、この下アーム7に上下方向に回転可能に支持された第1の上アーム8と、この第1の上アーム8に捻り回転可能に支持された第2の上アーム9と、この第2の上アーム9に上下方向に回転可能に支持された手首10と、この手首10に捻り回転可能に支持されたフランジ11とから構成されている。
ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10およびフランジ11は、ロボット本体2のアームとして機能し、アーム先端であるフランジ11には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。
【0012】
図11は、制御装置3及びロボット本体2の電気的な構成を機能ブロック図により示している。制御装置3は、CPU12、CPU12からの動作指令に基づいて駆動信号をロボット本体2に出力する駆動回路(インバータ)13と、ロボット本体2の動作プログラムなどを記憶するRAM14と、ロボット本体2のシステムプログラムや動作プログラムを作成するためのロボット言語などを記憶するROM15とを備えて構成されている。ロボット本体2は、ショルダ部6、各アーム7〜9、手首10及びフランジ11を駆動させるモータ16と、モータ16の回転角度を検出するエンコーダ17とを備えている。尚、これらモータ16及びエンコーダ17は、各軸の関節機構であるリンク18毎に設けられている。
【0013】
CPU12は、エンコーダ17が出力したエンコーダ角度(エンコーダ値)に基づいてベース5に対するショルダ部6の回転角度、ショルダ部6に対する下アーム7の回転角度、下アーム7に対する第1の上アーム8の回転角度、第1の上アーム8に対する第2の上アーム9の回転角度、第2の上アーム9に対する手首10の回転角度、手首10に対するフランジ11の回転角度を検出し、ロボット本体2の位置(及び姿勢)を検出する。また、CPU12は、エンコーダ角度をフィードバック制御して駆動回路13から駆動信号を出力させ、それらショルダ部6、各アーム7〜9、手首10及びフランジ11の動作を制御する。
【0014】
図9は、ティーチングペンダント4の平面図である。ティーチングペンダント4の中央付近にはバックライト付き液晶表示器(以下、液晶表示器と称する)19が設けられている。液晶表示器19は、その表示面19aに作業者が操作可能なタッチパネルを形成する機能を有している。左上隅部にはモード切替スイッチ(モードセレクタ)20が設けられている。
【0015】
モード切替スイッチ20は、マニュアルモード(手動モード)と、オートモード(自動モード)と、ティーチチェックモード(テストモード)との3つのモードから。何れかを作業者が択一的に切替可能に構成されている。マニュアルモードはロボット本体2を手動で動作させるためのモードであり、オートモードはロボット本体2を自動で動作させるためのモードである。また、ティーチチェックモードは、オートモードでロボット本体2を動作させる場合に先立ち、制御プログラムによる動作状態やロボット本体2の手先位置の教示点等を確認するため、制御プログラムをオートモードよりも低速で、例えば1ステップずつ動作確認を行いながら実行させるためのモードである。
【0016】
右上隅部には非常停止スイッチ21及びジョグダイヤル22が設けられている。液晶表示器19の周囲には、モータキー23、ロックキー24、ロボット選択キー25、動作モードキー26、速度キー27、カーソルキー28、停止キー29、OKキー30、キャンセルキー31、各軸の移動方向キー32、シフトキー33、ファンクションキー34が設けられている。
【0017】
次に、本実施例の作用について図1ないし図8を参照して説明する。図4は、制御装置3により実行される制御プログラムリストの一例を示す。この制御プログラムにおいて、ステップ006,008,010に記載されている命令MOVEが、ロボット本体2の手先位置を移動させる動作命令であり、P1,P2,P3が夫々の命令の移動目標位置である(図5(a)参照)。そして、本実施例では、ロボット本体2をティーチチェックモードで動作させている途中にその動作を一時停止させ、図5(b)に示すように、ユーザが例えばステップ008の命令MOVEにおける目標位置P1を、新たな目標位置P1’とするように修正する場合の処理について説明する。
【0018】
図1は、制御装置(修正制御手段)3の制御内容を示すフローチャートである。先ず、制御プログラムの実行を先頭から開始させると(ステップS1)、ティーチングペンダント4のモード切替スイッチ20の状態を識別し(ステップS2)、ティーチチェックモードに切替えられているか否かを判断する(ステップS3)。ここで、ティーチチェックモードに切替えられている場合は(YES)、動作モード及び外部からの速度の変更を禁止するように設定する(ステップS4)。そして、制御プログラムを、各ステップ毎の実行状態をユーザが目視で確認できる程度の低速で実行する。
【0019】
また、ステップS3において、ティーチチェックモードに切替えられていない場合は(NO)、ステップS4をスキップしてステップS5に移行する。この場合は、オートモードで制御プログラムを実行することになる。
尚、上記の「動作モード」とは、図8に示すように、ロボット本体2の各軸を変位させる場合の指定方法である「各軸」,「X−Y」,「ツール」等を示す。動作モードが「各軸」の場合は、ユーザが指定した軸のみ変位させ、その他の軸については変位させないようにする。また、動作モードが「X−Y」の場合は、ユーザが指定した座標系で変位させる操作入力を行うとそれがX−Y座標上(ベースから見た座標)での変位となり、その座標系に従って各軸が連動して変位する。尚、「ツール」の場合は、アームの先端(手先)から見た座標系となる。
【0020】
次のステップS5でロボット本体2の動作を開始させ(002:TAKEARM)、ステップ番号毎に処理を行う(ステップS6)。続くステップS7では、ティーチングペンダント4の停止キー(STOP)29がオン操作されたか否かを判断し、オン操作されていれば(YES)制御位置の判定を行う(ステップS8)。
【0021】
図2は、ステップS8の処理内容を示す。先ず、停止キー29がオン操作された時点で参照していた制御プログラムのステップ番号を読み取り(ステップS21)、そのステップ番号に対応する処理(命令)の解釈(デコード)を行う(ステップS22)。そして、上記処理が動作命令MOVEであるか否かを判断する(ステップS23,命令判定手段)。ステップS23において、停止時に参照していたステップ番号の処理が動作命令MOVEである場合は(YES)ロボット本体2の手先位置を取得し(ステップS24)、その現在位置を上記動作命令MOVEの目標位置と比較する(ステップS25)。
【0022】
そして、現在位置と目標位置とが同じか否かに応じて(ステップS26,位置判定手段)、図1のステップS9における制御位置(YES)か否(NO)かが決定される。また、ステップS23において、上記ステップ番号の処理が動作命令MOVEでなかった場合は(NO)、ステップ番号の後方検索を行い(ステップS27)ステップS22に戻る。
【0023】
以上の処理について具体例を説明する。例えば図4に示すように、停止キー29がオン操作された時点で参照していた制御プログラムのステップ番号が「012」であるとする。この場合、ステップ番号012の処理は動作命令MOVEではないので、ステップ番号の後方検索を行うとステップ番号010の動作命令MOVEを捉えるため、この時点でステップS23において「YES」と判断される。
【0024】
また、図5に示すように、例えばロボット本体2の手先位置がP1にある時点でステップ番号010の動作命令「MOVE P2」が実行されると、手先位置はP1からP2に向かって移動する。そして、手先位置が目標位置P2に到達すると、次のステップ番号011の処理「I=I+3」が実行される。したがって、停止キー29がオン操作された時点で実行中であった処理が「MOVE P2」である時、ロボット本体2の手先位置は、目標位置P1〜P2の間にある場合と、目標位置P2に到達している場合とがある。これらの場合を把握し分けるため、図2の処理が実行される。
【0025】
再び、図1を参照する。ステップS8を実行した結果、ステップS9で「YES」と判断すると、制御装置3は以降で制限付き修正制御を実行するためリミット制御の設定を行う(ステップS10,制限付き制御実行手段,制限量設定手段)。ステップS9で「NO」と判断すると、上記リミット制御の設定を行わず、通常通りの位置補正処理(通常修正制御)を行う(ステップS16,通常制御実行手段)。それからステップS14に移行する。
【0026】
ここでの「リミット制御の設定」とは、ユーザがティーチングペンダント4を用いてロボット本体2の手先位置の修正制御を行う場合に、各軸の変位量にリミットを付与することを示す。例えば、ユーザが移動方向キー32を操作して所謂「ジョグ送り」動作させる場合に、1回の操作によるジョグ送りで変位させる量に制限を加える(操作変位量制限手段)。また、ユーザが前記の操作を繰り返し実行した場合に、各軸について、現在位置からの最大累積変位量にも制限を加える(最大累積変位量制限手段)。
【0027】
また、ステップS9で「NO」と判断されるように、テストモードの実行が停止された時点の手先位置が動作命令MOVEの目標位置と一致していない場合は、新たな教示点が追加されることを示している。したがって、それ以降の教示点についても大幅に変更される蓋然性が高いため、斯様なケースの修正制御にはステップS10のような制限を加えることなく修正制御の自由度を高め、手先の大幅な軌道変更を容易に行うようにする。
【0028】
ステップS10において上述のようにリミットの設定を行うと、続くステップS11では、ティーチングペンダント4からの動作モード,外部速度の設定変更を許可すると、リミット制御付きの位置補正処理を行う(ステップS12)。以下、ステップS10におけるリミット制御の設定について説明する。例えば図8には、動作モードが「X−Y」の場合に第3軸(J3)を指定してジョグ送り動作させた場合の動作例を示す。一回の操作入力により、第3軸の変位角度が3.62[deg]から14.96[deg]まで変位しており、それに応じてその他の軸の角度も若干変位している。
【0029】
図6は、ジョグ送り動作に付与するリミットを説明する図である。図6(a),(b)に示すように、移動方向キー32がオン操作されて(ジョグ送り操作)その入力を受け付けると(ON)、対応する軸のモータを一定の回転加速度で回転させるが、当該モータの回転速度が最大値maxに到達した時点で((a)参照)操作入力の受付をOFFにする((b)参照)。その後改めて2回目の入力として、1回目の操作とは切り分けた状態で移動方向キー32の再度のオン操作の入力を受け付けるようにする((c)参照)。したがって、一回のジョグ送り動作による軸;モータの変位量は、(a)に示すように
(最大回転速度)×(オン操作時間TON)/2=L1
に制限される(操作変位量制限)。つまり、上記のオン操作時間TONが、回転速度が最大値maxに到達するまでの時間に制限されることで、変位量がL1に制限されることになる。
【0030】
また、図7は、各軸について設定する最大累積変位量の一例を示している。例えば図5(b)に示すように、手先の目標位置P1をP1’に変更すると、第1軸〜第6軸の変位角度はP1(n)(但し、n=1〜6)からP1’(n)に変化する。その場合に許容する最大変位量をAnとする。この場合、第1軸〜第4軸の許容変位量(A1〜A4)を10°とし、第5軸及び第6軸の許容変位量(A5,A6)を30°にしており、手先側の軸よりも根元側の軸に設定する変位量が小さくなるようにしている。これは、ロボット本体2における根元側の軸の変位量は、手先の変位量に大きく影響するからである。
【0031】
次に、ステップS12で行う位置補正処理の詳細について図3を参照して説明する。先ず初期化を行い、以降の計算で用いる各軸の累積角度変位量をクリアすると(ステップS31)、ユーザがティーチングペンダント4を操作して行う位置補正入力を受け付ける(ステップS32)。すなわち、ここでユーザの操作入力(移動方向キー32のオン操作)が行われているかどうかを参照すると、エンコーダ17の出力信号に基づいて各軸の現在の角度変位量を取得し、位置補正を開始する(ステップS33)。
【0032】
続くステップS34において、後述するリミットフラグがセットされている否かを判断し、リミットフラグがセットされていなければ(NO)、位置補正処理を終了させるための割込みが発生しているか否かを判断する(ステップS35)。前記割込みが発生していなければ(YES)、ユーザの操作入力に応じて各軸の位置(回転変位量)を変更し(ステップS36)、その変位量を計算する(ステップS37)。一方、前記割込みが発生していれば(ステップS35:NO)位置補正処理を終了し(ステップS41)、メインルーチンにリターンする。
【0033】
ステップS38では、各軸角度の累積変位量が、図7に示す各軸の最大累積変位量(A1〜A6)以下であるか否かを判断する(最大累積変位量制限手段)。ここで「YES」と判断すると、現在行われているユーザの操作入力について各軸の変位量を算出する(ステップS39)。そして、その変位量が、図6(a)に示すジョグ送り動作の動作制限量L1未満であれば(ステップS40,操作変位量制限手段:YES)ステップS32に戻り、以降の位置補正入力を受け付ける。また、ステップS38で「NO」と判断した場合は、累積変位量が最大累積変位量を超えた場合であるから、それ以上の位置修正を許可することなくステップS41に移行する。
【0034】
また、ステップS40において、ユーザの操作入力によるジョグ送り動作の変位量が動作制限量L1を超えると(NO)、リミットフラグをセットしてから(ステップS42)ステップS34に移行する。この場合、リミットフラグがセットされているのでステップS34で「YES」と判断し、ステップS43においてユーザのジョグ送り操作がOFFされるまで待機する。ジョグ送り操作がOFFされると(YES)、リミットフラグをクリアしてから(ステップS44)ステップS32に移行する。すなわち、次のジョグ送り操作入力を受け付けるようにする。
【0035】
ここで、図1を参照する。以上のようにしてステップS12におけるリミット制御を行うと、制御プログラムについてステップ番号毎の処理を再開し、ステップS11で許可した動作モード及び外部からの速度の変更許可を再度する(ステップS13)。そして、ロボットの動作が終了となるか、すなわち制御プログラム中でロボット動作の終了を示す「GIVEARM」が記述されているステップ013に到達したか否かを判断し(ステップS14)到達していなければ(NO)ステップS6に戻る。
【0036】
また、ステップS14においてステップ013に到達した場合は(YES)、更にプログラムの実行終了を示す「END」が記述されているステップ014に到達したか否かを判断する(ステップS15)。ここで、上記ステップ014に到達した場合は(YES)処理を終了するが、ステップ013からステップを遡行して(NO)「TAKEARM」が記述されているステップ002に移行した場合は(ステップS17:YES)ステップS5に移行する。また、ステップ002以外のステップに移行した場合は(NO)ステップS6に移行して、移行先のステップから処理を行うようにする。
【0037】
以上のように本実施例によれば、制御装置3は、ティーチチェックモードの実行がユーザにより一時的に停止された時点で実行中であった制御プログラム中の命令を判定すると、上記命令が動作命令MOVEであれば当該動作命令を、動作命令MOVEでなければ直近に実行された動作命令MOVEを対象として、その時点の手先位置が動作命令MOVEの目標位置に一致しているか否かを判定する。そして、手先位置と目標位置とが一致していない場合は、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行い、手先位置と目標位置とが一致している場合は、以降に行われる手先位置の修正制御に制限を付与する制限付き修正制御を行う。
【0038】
そして、制限付き修正制御では、ロボット本体2の各軸について一回の修正操作(ジョグ送り操作)に応じて変化させる回転速度の最大値を設定すると共に、修正制御において許容する最大累積変位量とを設定し、一回の修正操作により各軸を変位させる量を、一定の回転加速度で回転速度が最大値に達するまでの時間に応じた値L1に制限する操作変位量制限を行う。また、停止時にロボット本体2の各軸について取得した位置を初期値として、修正操作が行われる毎に各軸が変位した量を累積加算し、その加算値が最大累積変位量を超えた場合は、修正操作による修正制御を停止させる最大累積変位量制限とを行う。
【0039】
すなわち、ティーチチェックモードの実行を一時的に停止している間に、ユーザがロボット本体2の手先の教示点をジョグ送り操作で修正する場合は、一回の修正操作に応じた各軸の変位量がL1に制限されると共に、その操作を複数回行うことで累積される各軸の変位量も最大累積変位量で制限される。したがって、教示点の修正に伴い、アームの関節軸がユーザの意図しない動きとなることを防止でき、アームの動きや姿勢はユーザが容易に予想できる範囲内に収まるようになる。
また、制御装置3は、最大累積変位量を、ロボット本体2の根元側の軸に対応する値がより小さくなるように設定するので、一般に、ロボット本体2の根元側にある軸の動きの最大累積変位量が小さくなるように設定し、手先位置を大きく変位させてしまうことを防止し、位置の微小な修正を容易に行うことができる。
【0040】
本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
水平多関節型のロボットに適用しても良い。
各軸の変位制限量については、適宜数値を変更して設定すれば良い。また、各軸の変位制限量の設定を一律で同じ値に設定しても良いし各軸ごとに異なる値に設定しても良い。
ユーザが位置を修正するために行う操作はジョグ送り操作に限ることなく、どのような操作入力の形態であっても良い。
【符号の説明】
【0041】
図面中、2はロボット本体、3は制御装置(修正制御手段,命令判定手段,通常制御実行手段,制限付き制御実行手段,制限量設定手段,操作変位量制限手段, 最大累積変位量制限手段)を示す。
【技術分野】
【0001】
本発明は、多関節型のロボット本体を制御プログラムに従い動作させる自動動作モードと、その制御プログラムに従う動作を自動動作モードよりも低速で実行可能であるロボットの制御装置,及びロボットの位置修正制御方法に関する。
【背景技術】
【0002】
ロボットについては、各教示点をティーチング(プログラミング)した後、そのティーチング結果に基づいてロボットを自動モードで動作させる前に、ティーチングが意図通りに行われたか否かを確認するテスト(いわゆる「ティーチチェック」)を行うのが一般的である。そして、テストを行った結果、一部の教示点を修正する必要が発生することも多い。この場合、従来は、テストモードを一旦終了してティーチングモードに切り替え、教示点を修正し、再びテストモードに切り替えてテストする、という手順を経る必要があった。
【0003】
しかしながら、上記のようにモード切替えを何度も行うと作業が煩雑になるため、教示点の修正をより簡単に行えるようにしたいという要望がある。例えば、特許文献1では、教示点の修正を行う場合に、ロボットを、修正対象である教示点の直前まで自動モードで動作させてから手動モードに切り替え、そこからロボットの手先位置を、修正しようとする教示点に移動させてティーチングを行う技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−66797号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところが、特許文献1の技術では、手動モードにおいてロボットアームの手先は自由に動かすことができるが、それに伴い、アーム途中の関節(肘)の位置がどのように変化するかが不確定である。その結果、手先の位置を修正しても、アーム全体としての動きが大きく変化してしまうおそれがあり、作業者が予測しなかった動きになることも想定される。
本発明は上記事情に鑑みてなされたものであり、その目的は、ロボット本体の手先の教示点の修正が、アーム全体について意図しない動作を生じさせることを回避できるロボットの制御装置,及びロボットの位置修正制御方法を提供することにある。
【課題を解決するための手段】
【0006】
請求項1記載のロボットの制御装置によれば、修正制御手段は、命令判定手段が、テストモードの実行が停止された時点に実行中であった制御プログラム中の命令を判定すると、位置判定手段が、上記命令が動作命令であれば当該動作命令を、動作命令でなければ直近に実行された動作命令を対象として、その時点の手先位置が動作命令の目標位置に一致しているか否かを判定する。そして、手先位置と目標位置とが一致していない場合は、通常制御実行手段が、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行い、手先位置と目標位置とが一致している場合は、制限付き制御実行手段が、以降に行われる修正操作に応じた手先位置の修正制御に制限を付与する、制限付き修正制御を行うようにする。
【0007】
上記制限付き修正制御では、ロボット本体の各軸について一回の修正操作に応じて変化させるモータの回転速度の最大値を設定すると共に修正制御において許容する最大累積変位量とを設定し、一回の修正操作により各軸を変位させる量を、モータの回転速度が、一定の回転加速度で前記最大値に達するまでの操作時間内に変位する量に制限する操作変位量制限を行う。また、停止時にロボット本体の各軸について取得した位置を初期値として、修正操作が行われる毎に各軸が変位した量を累積加算し、その加算値が最大累積変位量を超えた場合は、修正操作による修正制御を停止させる最大累積変位量制限とを行う。
【0008】
すなわち、ユーザがロボット本体の手先の教示点を手動で修正する場合には、一回の修正操作に応じた各軸の変位量が(最大回転速度)×(操作時間)/2で制限されると共に、その操作を複数回行うことで累積される各軸の変位量も最大累積変位量で制限される。したがって、手先の教示点の修正に伴い、アームの関節軸がユーザの意図しない動きとなることを防止でき、アームの動きや姿勢はユーザが容易に予想できる範囲内に収まるようになる。
尚、テストモードの実行が停止された時点の手先位置が動作命令の目標位置と一致していない場合は、新たな教示点が追加されることを示しているので、それ以降の教示点についても大幅に変更される蓋然性が高い。そのため、斯様なケースの修正制御には上記のような制限を加えることなく修正制御の自由度を高め、手先の大幅な軌道変更を容易に行うことができる。
【0009】
請求項2記載のロボットの制御装置によれば、制限量設定手段は、最大累積変位量を、ロボット本体の根元側の軸に対応する値がより小さくなるように設定する。一般に、ロボット本体の根元側にある軸の動きは手先側の動きに大きく影響するので、それに応じて最大累積変位量が小さくなるように設定することで手先位置を大きく変位させてしまうことを防止し、位置の微小な修正を容易に行うことができる。
【図面の簡単な説明】
【0010】
【図1】一実施例であり、制御装置の制御内容を示すフローチャート
【図2】図1におけるステップS8の処理内容を示すフローチャート
【図3】同ステップS12の処理内容を示すフローチャート
【図4】制御プログラムリストの一例を示す図
【図5】制御プログラム中に記載された動作命令MOVEの動作目標位置を説明する図
【図6】1回の修正操作の変位量について設定するリミットの一例を示す図
【図7】各軸の変位量について設定するリミットの一例を示す図
【図8】動作モードが「X−Y」の場合に第3軸を指定してジョグ送り動作させた場合の動作例を示す図
【図9】ティーチングペンダントの平面図
【図10】一般的な産業用ロボットのシステム構成を示す図
【図11】制御装置及びロボット本体の電気的構成を示す機能ブロック図
【発明を実施するための形態】
【0011】
以下、一実施例について図面を参照して説明する。図10は、一般的な産業用ロボットのシステム構成を示している。ロボットシステム1は、ロボット本体2と、ロボット本体2を制御する制御装置(コントローラ)3と、制御装置3に接続されたティーチングペンダント4とから構成されている。ロボット本体2は、例えば6軸の垂直多関節型ロボットとして構成されている。ロボット本体2は、ベース5と、このベース5に水平方向に回転可能に支持されたショルダ部6と、このショルダ部6に上下方向に回転可能に支持された下アーム7と、この下アーム7に上下方向に回転可能に支持された第1の上アーム8と、この第1の上アーム8に捻り回転可能に支持された第2の上アーム9と、この第2の上アーム9に上下方向に回転可能に支持された手首10と、この手首10に捻り回転可能に支持されたフランジ11とから構成されている。
ベース5、ショルダ部6、下アーム7、第1の上アーム8、第2の上アーム9、手首10およびフランジ11は、ロボット本体2のアームとして機能し、アーム先端であるフランジ11には、図示はしないが、エンドエフェクタ(手先)が取り付けられる。
【0012】
図11は、制御装置3及びロボット本体2の電気的な構成を機能ブロック図により示している。制御装置3は、CPU12、CPU12からの動作指令に基づいて駆動信号をロボット本体2に出力する駆動回路(インバータ)13と、ロボット本体2の動作プログラムなどを記憶するRAM14と、ロボット本体2のシステムプログラムや動作プログラムを作成するためのロボット言語などを記憶するROM15とを備えて構成されている。ロボット本体2は、ショルダ部6、各アーム7〜9、手首10及びフランジ11を駆動させるモータ16と、モータ16の回転角度を検出するエンコーダ17とを備えている。尚、これらモータ16及びエンコーダ17は、各軸の関節機構であるリンク18毎に設けられている。
【0013】
CPU12は、エンコーダ17が出力したエンコーダ角度(エンコーダ値)に基づいてベース5に対するショルダ部6の回転角度、ショルダ部6に対する下アーム7の回転角度、下アーム7に対する第1の上アーム8の回転角度、第1の上アーム8に対する第2の上アーム9の回転角度、第2の上アーム9に対する手首10の回転角度、手首10に対するフランジ11の回転角度を検出し、ロボット本体2の位置(及び姿勢)を検出する。また、CPU12は、エンコーダ角度をフィードバック制御して駆動回路13から駆動信号を出力させ、それらショルダ部6、各アーム7〜9、手首10及びフランジ11の動作を制御する。
【0014】
図9は、ティーチングペンダント4の平面図である。ティーチングペンダント4の中央付近にはバックライト付き液晶表示器(以下、液晶表示器と称する)19が設けられている。液晶表示器19は、その表示面19aに作業者が操作可能なタッチパネルを形成する機能を有している。左上隅部にはモード切替スイッチ(モードセレクタ)20が設けられている。
【0015】
モード切替スイッチ20は、マニュアルモード(手動モード)と、オートモード(自動モード)と、ティーチチェックモード(テストモード)との3つのモードから。何れかを作業者が択一的に切替可能に構成されている。マニュアルモードはロボット本体2を手動で動作させるためのモードであり、オートモードはロボット本体2を自動で動作させるためのモードである。また、ティーチチェックモードは、オートモードでロボット本体2を動作させる場合に先立ち、制御プログラムによる動作状態やロボット本体2の手先位置の教示点等を確認するため、制御プログラムをオートモードよりも低速で、例えば1ステップずつ動作確認を行いながら実行させるためのモードである。
【0016】
右上隅部には非常停止スイッチ21及びジョグダイヤル22が設けられている。液晶表示器19の周囲には、モータキー23、ロックキー24、ロボット選択キー25、動作モードキー26、速度キー27、カーソルキー28、停止キー29、OKキー30、キャンセルキー31、各軸の移動方向キー32、シフトキー33、ファンクションキー34が設けられている。
【0017】
次に、本実施例の作用について図1ないし図8を参照して説明する。図4は、制御装置3により実行される制御プログラムリストの一例を示す。この制御プログラムにおいて、ステップ006,008,010に記載されている命令MOVEが、ロボット本体2の手先位置を移動させる動作命令であり、P1,P2,P3が夫々の命令の移動目標位置である(図5(a)参照)。そして、本実施例では、ロボット本体2をティーチチェックモードで動作させている途中にその動作を一時停止させ、図5(b)に示すように、ユーザが例えばステップ008の命令MOVEにおける目標位置P1を、新たな目標位置P1’とするように修正する場合の処理について説明する。
【0018】
図1は、制御装置(修正制御手段)3の制御内容を示すフローチャートである。先ず、制御プログラムの実行を先頭から開始させると(ステップS1)、ティーチングペンダント4のモード切替スイッチ20の状態を識別し(ステップS2)、ティーチチェックモードに切替えられているか否かを判断する(ステップS3)。ここで、ティーチチェックモードに切替えられている場合は(YES)、動作モード及び外部からの速度の変更を禁止するように設定する(ステップS4)。そして、制御プログラムを、各ステップ毎の実行状態をユーザが目視で確認できる程度の低速で実行する。
【0019】
また、ステップS3において、ティーチチェックモードに切替えられていない場合は(NO)、ステップS4をスキップしてステップS5に移行する。この場合は、オートモードで制御プログラムを実行することになる。
尚、上記の「動作モード」とは、図8に示すように、ロボット本体2の各軸を変位させる場合の指定方法である「各軸」,「X−Y」,「ツール」等を示す。動作モードが「各軸」の場合は、ユーザが指定した軸のみ変位させ、その他の軸については変位させないようにする。また、動作モードが「X−Y」の場合は、ユーザが指定した座標系で変位させる操作入力を行うとそれがX−Y座標上(ベースから見た座標)での変位となり、その座標系に従って各軸が連動して変位する。尚、「ツール」の場合は、アームの先端(手先)から見た座標系となる。
【0020】
次のステップS5でロボット本体2の動作を開始させ(002:TAKEARM)、ステップ番号毎に処理を行う(ステップS6)。続くステップS7では、ティーチングペンダント4の停止キー(STOP)29がオン操作されたか否かを判断し、オン操作されていれば(YES)制御位置の判定を行う(ステップS8)。
【0021】
図2は、ステップS8の処理内容を示す。先ず、停止キー29がオン操作された時点で参照していた制御プログラムのステップ番号を読み取り(ステップS21)、そのステップ番号に対応する処理(命令)の解釈(デコード)を行う(ステップS22)。そして、上記処理が動作命令MOVEであるか否かを判断する(ステップS23,命令判定手段)。ステップS23において、停止時に参照していたステップ番号の処理が動作命令MOVEである場合は(YES)ロボット本体2の手先位置を取得し(ステップS24)、その現在位置を上記動作命令MOVEの目標位置と比較する(ステップS25)。
【0022】
そして、現在位置と目標位置とが同じか否かに応じて(ステップS26,位置判定手段)、図1のステップS9における制御位置(YES)か否(NO)かが決定される。また、ステップS23において、上記ステップ番号の処理が動作命令MOVEでなかった場合は(NO)、ステップ番号の後方検索を行い(ステップS27)ステップS22に戻る。
【0023】
以上の処理について具体例を説明する。例えば図4に示すように、停止キー29がオン操作された時点で参照していた制御プログラムのステップ番号が「012」であるとする。この場合、ステップ番号012の処理は動作命令MOVEではないので、ステップ番号の後方検索を行うとステップ番号010の動作命令MOVEを捉えるため、この時点でステップS23において「YES」と判断される。
【0024】
また、図5に示すように、例えばロボット本体2の手先位置がP1にある時点でステップ番号010の動作命令「MOVE P2」が実行されると、手先位置はP1からP2に向かって移動する。そして、手先位置が目標位置P2に到達すると、次のステップ番号011の処理「I=I+3」が実行される。したがって、停止キー29がオン操作された時点で実行中であった処理が「MOVE P2」である時、ロボット本体2の手先位置は、目標位置P1〜P2の間にある場合と、目標位置P2に到達している場合とがある。これらの場合を把握し分けるため、図2の処理が実行される。
【0025】
再び、図1を参照する。ステップS8を実行した結果、ステップS9で「YES」と判断すると、制御装置3は以降で制限付き修正制御を実行するためリミット制御の設定を行う(ステップS10,制限付き制御実行手段,制限量設定手段)。ステップS9で「NO」と判断すると、上記リミット制御の設定を行わず、通常通りの位置補正処理(通常修正制御)を行う(ステップS16,通常制御実行手段)。それからステップS14に移行する。
【0026】
ここでの「リミット制御の設定」とは、ユーザがティーチングペンダント4を用いてロボット本体2の手先位置の修正制御を行う場合に、各軸の変位量にリミットを付与することを示す。例えば、ユーザが移動方向キー32を操作して所謂「ジョグ送り」動作させる場合に、1回の操作によるジョグ送りで変位させる量に制限を加える(操作変位量制限手段)。また、ユーザが前記の操作を繰り返し実行した場合に、各軸について、現在位置からの最大累積変位量にも制限を加える(最大累積変位量制限手段)。
【0027】
また、ステップS9で「NO」と判断されるように、テストモードの実行が停止された時点の手先位置が動作命令MOVEの目標位置と一致していない場合は、新たな教示点が追加されることを示している。したがって、それ以降の教示点についても大幅に変更される蓋然性が高いため、斯様なケースの修正制御にはステップS10のような制限を加えることなく修正制御の自由度を高め、手先の大幅な軌道変更を容易に行うようにする。
【0028】
ステップS10において上述のようにリミットの設定を行うと、続くステップS11では、ティーチングペンダント4からの動作モード,外部速度の設定変更を許可すると、リミット制御付きの位置補正処理を行う(ステップS12)。以下、ステップS10におけるリミット制御の設定について説明する。例えば図8には、動作モードが「X−Y」の場合に第3軸(J3)を指定してジョグ送り動作させた場合の動作例を示す。一回の操作入力により、第3軸の変位角度が3.62[deg]から14.96[deg]まで変位しており、それに応じてその他の軸の角度も若干変位している。
【0029】
図6は、ジョグ送り動作に付与するリミットを説明する図である。図6(a),(b)に示すように、移動方向キー32がオン操作されて(ジョグ送り操作)その入力を受け付けると(ON)、対応する軸のモータを一定の回転加速度で回転させるが、当該モータの回転速度が最大値maxに到達した時点で((a)参照)操作入力の受付をOFFにする((b)参照)。その後改めて2回目の入力として、1回目の操作とは切り分けた状態で移動方向キー32の再度のオン操作の入力を受け付けるようにする((c)参照)。したがって、一回のジョグ送り動作による軸;モータの変位量は、(a)に示すように
(最大回転速度)×(オン操作時間TON)/2=L1
に制限される(操作変位量制限)。つまり、上記のオン操作時間TONが、回転速度が最大値maxに到達するまでの時間に制限されることで、変位量がL1に制限されることになる。
【0030】
また、図7は、各軸について設定する最大累積変位量の一例を示している。例えば図5(b)に示すように、手先の目標位置P1をP1’に変更すると、第1軸〜第6軸の変位角度はP1(n)(但し、n=1〜6)からP1’(n)に変化する。その場合に許容する最大変位量をAnとする。この場合、第1軸〜第4軸の許容変位量(A1〜A4)を10°とし、第5軸及び第6軸の許容変位量(A5,A6)を30°にしており、手先側の軸よりも根元側の軸に設定する変位量が小さくなるようにしている。これは、ロボット本体2における根元側の軸の変位量は、手先の変位量に大きく影響するからである。
【0031】
次に、ステップS12で行う位置補正処理の詳細について図3を参照して説明する。先ず初期化を行い、以降の計算で用いる各軸の累積角度変位量をクリアすると(ステップS31)、ユーザがティーチングペンダント4を操作して行う位置補正入力を受け付ける(ステップS32)。すなわち、ここでユーザの操作入力(移動方向キー32のオン操作)が行われているかどうかを参照すると、エンコーダ17の出力信号に基づいて各軸の現在の角度変位量を取得し、位置補正を開始する(ステップS33)。
【0032】
続くステップS34において、後述するリミットフラグがセットされている否かを判断し、リミットフラグがセットされていなければ(NO)、位置補正処理を終了させるための割込みが発生しているか否かを判断する(ステップS35)。前記割込みが発生していなければ(YES)、ユーザの操作入力に応じて各軸の位置(回転変位量)を変更し(ステップS36)、その変位量を計算する(ステップS37)。一方、前記割込みが発生していれば(ステップS35:NO)位置補正処理を終了し(ステップS41)、メインルーチンにリターンする。
【0033】
ステップS38では、各軸角度の累積変位量が、図7に示す各軸の最大累積変位量(A1〜A6)以下であるか否かを判断する(最大累積変位量制限手段)。ここで「YES」と判断すると、現在行われているユーザの操作入力について各軸の変位量を算出する(ステップS39)。そして、その変位量が、図6(a)に示すジョグ送り動作の動作制限量L1未満であれば(ステップS40,操作変位量制限手段:YES)ステップS32に戻り、以降の位置補正入力を受け付ける。また、ステップS38で「NO」と判断した場合は、累積変位量が最大累積変位量を超えた場合であるから、それ以上の位置修正を許可することなくステップS41に移行する。
【0034】
また、ステップS40において、ユーザの操作入力によるジョグ送り動作の変位量が動作制限量L1を超えると(NO)、リミットフラグをセットしてから(ステップS42)ステップS34に移行する。この場合、リミットフラグがセットされているのでステップS34で「YES」と判断し、ステップS43においてユーザのジョグ送り操作がOFFされるまで待機する。ジョグ送り操作がOFFされると(YES)、リミットフラグをクリアしてから(ステップS44)ステップS32に移行する。すなわち、次のジョグ送り操作入力を受け付けるようにする。
【0035】
ここで、図1を参照する。以上のようにしてステップS12におけるリミット制御を行うと、制御プログラムについてステップ番号毎の処理を再開し、ステップS11で許可した動作モード及び外部からの速度の変更許可を再度する(ステップS13)。そして、ロボットの動作が終了となるか、すなわち制御プログラム中でロボット動作の終了を示す「GIVEARM」が記述されているステップ013に到達したか否かを判断し(ステップS14)到達していなければ(NO)ステップS6に戻る。
【0036】
また、ステップS14においてステップ013に到達した場合は(YES)、更にプログラムの実行終了を示す「END」が記述されているステップ014に到達したか否かを判断する(ステップS15)。ここで、上記ステップ014に到達した場合は(YES)処理を終了するが、ステップ013からステップを遡行して(NO)「TAKEARM」が記述されているステップ002に移行した場合は(ステップS17:YES)ステップS5に移行する。また、ステップ002以外のステップに移行した場合は(NO)ステップS6に移行して、移行先のステップから処理を行うようにする。
【0037】
以上のように本実施例によれば、制御装置3は、ティーチチェックモードの実行がユーザにより一時的に停止された時点で実行中であった制御プログラム中の命令を判定すると、上記命令が動作命令MOVEであれば当該動作命令を、動作命令MOVEでなければ直近に実行された動作命令MOVEを対象として、その時点の手先位置が動作命令MOVEの目標位置に一致しているか否かを判定する。そして、手先位置と目標位置とが一致していない場合は、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行い、手先位置と目標位置とが一致している場合は、以降に行われる手先位置の修正制御に制限を付与する制限付き修正制御を行う。
【0038】
そして、制限付き修正制御では、ロボット本体2の各軸について一回の修正操作(ジョグ送り操作)に応じて変化させる回転速度の最大値を設定すると共に、修正制御において許容する最大累積変位量とを設定し、一回の修正操作により各軸を変位させる量を、一定の回転加速度で回転速度が最大値に達するまでの時間に応じた値L1に制限する操作変位量制限を行う。また、停止時にロボット本体2の各軸について取得した位置を初期値として、修正操作が行われる毎に各軸が変位した量を累積加算し、その加算値が最大累積変位量を超えた場合は、修正操作による修正制御を停止させる最大累積変位量制限とを行う。
【0039】
すなわち、ティーチチェックモードの実行を一時的に停止している間に、ユーザがロボット本体2の手先の教示点をジョグ送り操作で修正する場合は、一回の修正操作に応じた各軸の変位量がL1に制限されると共に、その操作を複数回行うことで累積される各軸の変位量も最大累積変位量で制限される。したがって、教示点の修正に伴い、アームの関節軸がユーザの意図しない動きとなることを防止でき、アームの動きや姿勢はユーザが容易に予想できる範囲内に収まるようになる。
また、制御装置3は、最大累積変位量を、ロボット本体2の根元側の軸に対応する値がより小さくなるように設定するので、一般に、ロボット本体2の根元側にある軸の動きの最大累積変位量が小さくなるように設定し、手先位置を大きく変位させてしまうことを防止し、位置の微小な修正を容易に行うことができる。
【0040】
本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
水平多関節型のロボットに適用しても良い。
各軸の変位制限量については、適宜数値を変更して設定すれば良い。また、各軸の変位制限量の設定を一律で同じ値に設定しても良いし各軸ごとに異なる値に設定しても良い。
ユーザが位置を修正するために行う操作はジョグ送り操作に限ることなく、どのような操作入力の形態であっても良い。
【符号の説明】
【0041】
図面中、2はロボット本体、3は制御装置(修正制御手段,命令判定手段,通常制御実行手段,制限付き制御実行手段,制限量設定手段,操作変位量制限手段, 最大累積変位量制限手段)を示す。
【特許請求の範囲】
【請求項1】
多関節型のロボット本体を制御プログラムに従い動作させる自動動作モードと、前記制御プログラムに従う動作を前記自動動作モードよりも低速で実行可能であると共に、前記動作をユーザの操作に応じて一時的に停止させ、その停止中に手先位置を手動で修正する手動修正制御が実行可能なテストモードとを備えているロボットの制御装置において、
前記手動修正制御を実行する修正制御手段は、
前記テストモードの実行が停止された時点に実行中であった前記制御プログラム中の命令を判定する命令判定手段と、
前記実行中の命令が手先位置を目標位置に移動させる動作命令であった場合は当該動作命令を対象とし、前記実行中の命令が前記動作命令でなかった場合は前記制御プログラムのステップを遡行して検索を行い直近に実行された前記動作命令を対象とすると、その時点の手先位置が前記動作命令の目標位置に一致しているか否かを判定する位置判定手段と、
前記手先位置と前記目標位置とが一致していない場合に、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行う通常制御実行手段と、
前記手先位置と前記目標位置とが一致している場合に、以降に行われるユーザの修正操作に応じた手先位置の修正制御に制限を付与する制限付き修正制御を行う制限付き制御実行手段とを備え、
前記制限付き制御実行手段は、
前記ロボット本体の各軸について、一回の修正操作に応じて変化させるモータの回転速度の最大値を設定すると共に、修正制御において許容する最大累積変位量とを設定する制限量設定手段と、
一回の修正操作により各軸を変位させる量を、前記モータの回転速度が、一定の回転加速度で前記最大値に達するまで変位する量に制限する操作変位量制限手段と、
前記停止時に、前記ロボット本体の各軸について取得した位置を初期値として、前記修正操作が行われる毎に各軸が変位した量を累積加算し、その加算値が前記最大累積変位量を超えた場合は、前記修正操作による修正制御を停止させる最大累積変位量制限手段とを備えることを特徴とするロボットの制御装置。
【請求項2】
前記制限量設定手段は、前記最大累積変位量を、前記ロボット本体の根元側の軸に対応する値がより小さくなるように設定することを特徴とする請求項1記載のロボットの制御装置。
【請求項3】
多関節型のロボット本体を制御プログラムに従い動作させる自動動作モードと、前記制御プログラムに従う動作を前記自動動作モードよりも低速で実行可能であると共に、前記動作をユーザの操作に応じて一時的に停止させ、その停止中に手先位置を手動で修正する手動修正制御が実行可能なテストモードとを備えているロボットの制御装置が、前記手動修正制御を行う方法において、
前記テストモードの実行が停止された時点に実行中であった前記制御プログラム中の命令を判定し、
前記実行中の命令が手先位置を目標位置に移動させる動作命令であった場合は当該動作命令を対象とし、前記実行中の命令が前記動作命令でなかった場合は前記制御プログラムのステップを遡行して検索を行い直近に実行された前記動作命令を対象とすると、その時点の手先位置が前記動作命令の目標位置に一致しているか否かを判定し、
前記手先位置と前記目標位置とが一致していない場合は、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行い、
前記手先位置と前記目標位置とが一致している場合は、以降に行われるユーザの修正操作に応じた手先位置の修正制御に制限を付与する制限付き修正制御を行い、
前記制限付き修正制御は、
前記ロボット本体の各軸について、一回の修正操作に応じて変化させるモータの回転速度の最大値を設定すると共に、修正制御において許容する最大累積変位量とを設定し、
一回の修正操作により各軸を変位させる量を、前記モータの回転速度が、一定の回転加速度で前記最大値に達するまで変位する量に制限する操作変位量制限と、
前記停止時に、前記ロボット本体の各軸について取得した位置を初期値として、前記修正操作が行われる毎に各軸が変位した量を累積加算し、その加算値が前記最大累積変位量を超えた場合は、前記修正操作による修正制御を停止させる最大累積変位量制限とを行なうことを特徴とするロボットの位置修正制御方法。
【請求項4】
前記最大累積変位量は、前記ロボット本体の根元側の軸に対応する値が、より小さくなるように設定されていることを特徴とする請求項3記載のロボットの位置修正制御方法。
【請求項1】
多関節型のロボット本体を制御プログラムに従い動作させる自動動作モードと、前記制御プログラムに従う動作を前記自動動作モードよりも低速で実行可能であると共に、前記動作をユーザの操作に応じて一時的に停止させ、その停止中に手先位置を手動で修正する手動修正制御が実行可能なテストモードとを備えているロボットの制御装置において、
前記手動修正制御を実行する修正制御手段は、
前記テストモードの実行が停止された時点に実行中であった前記制御プログラム中の命令を判定する命令判定手段と、
前記実行中の命令が手先位置を目標位置に移動させる動作命令であった場合は当該動作命令を対象とし、前記実行中の命令が前記動作命令でなかった場合は前記制御プログラムのステップを遡行して検索を行い直近に実行された前記動作命令を対象とすると、その時点の手先位置が前記動作命令の目標位置に一致しているか否かを判定する位置判定手段と、
前記手先位置と前記目標位置とが一致していない場合に、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行う通常制御実行手段と、
前記手先位置と前記目標位置とが一致している場合に、以降に行われるユーザの修正操作に応じた手先位置の修正制御に制限を付与する制限付き修正制御を行う制限付き制御実行手段とを備え、
前記制限付き制御実行手段は、
前記ロボット本体の各軸について、一回の修正操作に応じて変化させるモータの回転速度の最大値を設定すると共に、修正制御において許容する最大累積変位量とを設定する制限量設定手段と、
一回の修正操作により各軸を変位させる量を、前記モータの回転速度が、一定の回転加速度で前記最大値に達するまで変位する量に制限する操作変位量制限手段と、
前記停止時に、前記ロボット本体の各軸について取得した位置を初期値として、前記修正操作が行われる毎に各軸が変位した量を累積加算し、その加算値が前記最大累積変位量を超えた場合は、前記修正操作による修正制御を停止させる最大累積変位量制限手段とを備えることを特徴とするロボットの制御装置。
【請求項2】
前記制限量設定手段は、前記最大累積変位量を、前記ロボット本体の根元側の軸に対応する値がより小さくなるように設定することを特徴とする請求項1記載のロボットの制御装置。
【請求項3】
多関節型のロボット本体を制御プログラムに従い動作させる自動動作モードと、前記制御プログラムに従う動作を前記自動動作モードよりも低速で実行可能であると共に、前記動作をユーザの操作に応じて一時的に停止させ、その停止中に手先位置を手動で修正する手動修正制御が実行可能なテストモードとを備えているロボットの制御装置が、前記手動修正制御を行う方法において、
前記テストモードの実行が停止された時点に実行中であった前記制御プログラム中の命令を判定し、
前記実行中の命令が手先位置を目標位置に移動させる動作命令であった場合は当該動作命令を対象とし、前記実行中の命令が前記動作命令でなかった場合は前記制御プログラムのステップを遡行して検索を行い直近に実行された前記動作命令を対象とすると、その時点の手先位置が前記動作命令の目標位置に一致しているか否かを判定し、
前記手先位置と前記目標位置とが一致していない場合は、以降に行われるユーザの修正操作に応じた手先位置の修正制御を行い、
前記手先位置と前記目標位置とが一致している場合は、以降に行われるユーザの修正操作に応じた手先位置の修正制御に制限を付与する制限付き修正制御を行い、
前記制限付き修正制御は、
前記ロボット本体の各軸について、一回の修正操作に応じて変化させるモータの回転速度の最大値を設定すると共に、修正制御において許容する最大累積変位量とを設定し、
一回の修正操作により各軸を変位させる量を、前記モータの回転速度が、一定の回転加速度で前記最大値に達するまで変位する量に制限する操作変位量制限と、
前記停止時に、前記ロボット本体の各軸について取得した位置を初期値として、前記修正操作が行われる毎に各軸が変位した量を累積加算し、その加算値が前記最大累積変位量を超えた場合は、前記修正操作による修正制御を停止させる最大累積変位量制限とを行なうことを特徴とするロボットの位置修正制御方法。
【請求項4】
前記最大累積変位量は、前記ロボット本体の根元側の軸に対応する値が、より小さくなるように設定されていることを特徴とする請求項3記載のロボットの位置修正制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−194497(P2011−194497A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−62477(P2010−62477)
【出願日】平成22年3月18日(2010.3.18)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願日】平成22年3月18日(2010.3.18)
【出願人】(501428545)株式会社デンソーウェーブ (1,155)
【Fターム(参考)】
[ Back to top ]