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

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

Info

Publication number
JP2016040067A
JP2016040067A JP2014164818A JP2014164818A JP2016040067A JP 2016040067 A JP2016040067 A JP 2016040067A JP 2014164818 A JP2014164818 A JP 2014164818A JP 2014164818 A JP2014164818 A JP 2014164818A JP 2016040067 A JP2016040067 A JP 2016040067A
Authority
JP
Japan
Prior art keywords
robot
teaching point
teaching
point
corrected
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
Application number
JP2014164818A
Other languages
English (en)
Inventor
陽介 村井
Yosuke Murai
陽介 村井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014164818A priority Critical patent/JP2016040067A/ja
Publication of JP2016040067A publication Critical patent/JP2016040067A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】修正対象の教示点の修正時に、工程動作の順番通りに修正対象の教示点までロボットを動作させたときの位置及び姿勢に対してロボットの位置及び姿勢がずれるのを低減する。【解決手段】CPU201は、修正対象の教示点に動作するようロボットを制御する修正モードにおいてロボットを修正対象の教示点に動作させる際のロボットの各関節の動作方向が、工程動作モードのときに修正対象の教示点に対し1つ前の移動元の教示点から修正対象の教示点にロボットを動作させる際のロボットの各関節の動作方向と同じとなるよう、移動元の教示点とは異なる経由点を設定する。CPU201は、修正モードにおいて、ロボットを、現在の位置及び姿勢から経由点を経由して修正対象の教示点に動作させる。【選択図】図3

Description

本発明は、ロボット装置、ロボット制御方法、プログラム及び記録媒体に関し、特に、複数の教示点のうち、ある教示点を修正する際のロボットの動作の制御に関する。
従来、ロボットの教示点のパラメータ値を決定する作業(教示作業)を行う際には、例えばオフライン(コンピュータシミュレーション)で教示作業を行ったり、実際にロボットを動作させて教示作業を行ったりしていた。
このような教示作業後であっても、複数の教示点のうち、ある教示点についてパラメータ値を修正する場合が生じており、このような場合には、実際にロボットを動作させて修正する必要があった。
特許文献1には、ロボットの現在位置から修正が必要なロボットの教示点へ移動するためのパスを作成し、そのパスを辿って修正対象の教示点にロボットを移動させることが提案されている。
特開2008−254172号公報
しかしながら、特許文献1に開示された技術では、修正対象の教示点にロボットを移動させる際に、実際の工程動作時と同じ方向から進入するとは限らない。修正対象の教示点へ動作させるロボットの進入方向が工程動作時と異なると、修正時に教示点にロボットを移動させたときのロボットの位置又は姿勢に対して、工程動作時に教示点にロボットを移動させたときのロボットの位置又は姿勢がずれることがあった。
このずれを発生させないために、実際の工程動作の順番に教示点を移動させて修正対象の教示点に移動させるか、又は現在位置から修正対象の教示点に移動させた後、一旦工程動作時の移動元の教示点に戻って再度修正対象の教示点に移動させる必要があった。しかし、このような教示点の修正の作業は、多大な時間を要し、作業者にとって大きな負担となっていた。
そこで、本発明は、修正対象の教示点の修正時に、工程動作の順番通りに修正対象の教示点までロボットを動作させたときの位置及び姿勢に対してロボットの位置及び姿勢がずれるのを低減することを目的とする。
本発明のロボット装置は、多関節のロボットと、複数の教示点を順番に動作するよう前記ロボットを制御する工程動作モード、及び前記複数の教示点の中から修正対象の教示点の指定を受けたときに、前記修正対象の教示点のパラメータ値の修正に先立って、前記修正対象の教示点に動作するよう前記ロボットを制御する修正モードを有する制御部と、を備え、前記制御部は、前記修正モードにおいて前記ロボットを前記修正対象の教示点に動作させる際の前記ロボットの各関節の動作方向が、前記工程動作モードのときに前記修正対象の教示点に対し1つ前の移動元の教示点から前記修正対象の教示点に前記ロボットを動作させる際の前記ロボットの各関節の動作方向と同じとなるよう、前記移動元の教示点とは異なる経由点を設定し、前記ロボットを、現在の位置及び姿勢から前記経由点を経由して前記修正対象の教示点に動作させることを特徴とする。
本発明によれば、修正対象の教示点の修正時に、工程動作の順番通りに修正対象の教示点までロボットを動作させたときの位置及び姿勢に対してロボットの位置及び姿勢がずれるのを低減することができる。
本発明の実施形態に係るロボット装置を示す斜視図である。 ロボットの第2関節を示す部分断面図である。 ロボット装置の制御装置の構成を示すブロック図である。 教示点情報を示す説明図である。 ロボット種別毎のずれ解消用距離情報を示す説明図である。 教示点情報をティーチングペンダントの液晶ディスプレイ上に表示した状態を示す説明図である。 修正モードが選択された際のロボット制御方法の各工程を示すフローチャートである。 経由点の算出方法を示すフローチャートである。 工程動作モードにおいてロボットが動作する動作経路と、修正モードにおいてロボットが動作する動作経路を示す図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。図1は、本発明の実施形態に係るロボット装置を示す斜視図である。図1に示すロボット装置500は、把持したワークWを別のワークに組付ける組立作業を行うロボット100と、ロボット100を制御する制御装置200と、教示装置であるティーチングペンダント300と、を備えている。
ロボット100は、多関節のロボットである。ロボット100は、垂直多関節型のロボットアーム101と、ロボットアーム101の先端に接続されたエンドエフェクタであるロボットハンド102と、を備えている。
ロボットアーム101は、作業台に固定されるベース部(基端リンク)103と、変位や力を伝達する複数のリンク121〜126と、を有している。ベース部103及び複数のリンク121〜126は、複数の関節J1〜J6で旋回又は回転可能に互いに連結されている。また、ロボットアーム101は、各関節J1〜J6に設けられた、関節を駆動する関節駆動装置110を備えている。各関節J1〜J6に配置された関節駆動装置110は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。
ロボットハンド102は、ワークWを把持する複数の把持爪(フィンガ)104と、複数の把持爪104を駆動する不図示の駆動部と、駆動部の回転角度を検出する不図示のエンコーダと、回転を把持動作に変換する不図示の機構とを有している。この不図示の機構は、カム機構やリンク機構などで必要な把持動作に合わせて設計される。なお、ロボットハンド102に用いる駆動部に必要なトルクは、ロボットアーム101の関節用と異なるが、基本構成は同じである。また、ロボットハンド102は、把持爪104等に作用する反力を検出可能な不図示の力覚センサを有している。
ロボット100の先端部(ロボットハンド102の先端部)には、ツールセンターポイント(TCP)が設定されており、教示点がタスク空間で規定される場合、その教示点は、TCPの位置及び姿勢を示す6つのパラメータで表現される。具体的には、教示点は、タスク空間で表すと、3つの位置パラメータ(X,Y,Z)と、3つの姿勢パラメータ(tX,tY,tZ)とからなる6つのパラメータで表現される。教示点がコンフィグレーション空間(関節空間)で規定される場合、その教示点は、ロボット100の各関節J1〜J6の関節位置(関節角度)を示すパラメータ(θ1,θ2,θ3,θ4,θ5,θ6)で表現される。
なお、コンフィグレーション空間で規定された教示点は、順運動学計算により、タスク空間に変換することができ、タスク空間で規定された教示点は、逆運動学計算により、コンフィグレーション空間に変換することができる。本実施形態では、教示点は、タスク空間の6つのパラメータ(X,Y,Z,tX,tY,tZ)で作業者により設定される。各関節J1〜J6の駆動の際には、制御装置200によりコンフィグレーション空間のパラメータ(θ1,θ2,θ3,θ4,θ5,θ6)に変換される。
ティーチングペンダント300は、制御装置200に接続可能に構成され、制御装置200に接続された際に、ロボットアーム101やロボットハンド102を駆動制御する指令を制御装置200に送信可能に構成されている。
以下、関節J2における関節駆動装置110を例に代表して説明し、他の関節J1,J3〜J6の関節駆動装置110については、サイズや性能が異なる場合もあるが、同様の構成であるため、説明を省略する。
図2は、ロボット100のロボットアーム101の第2関節である関節J2を示す部分断面図である。関節駆動装置110は、電動モータであるサーボモータ(以下、「モータ」という)1と、モータ1の回転軸2の回転を減速して出力する減速機11と、を有している。
また、関節駆動装置110は、モータ1の回転軸2の回転角度(出力角度)を検出するモータ側角度検出器である入力側エンコーダ10を有している。また、関節駆動装置110は、減速機11の出力軸の回転角度(出力角度)を検出する減速機側角度検出器である出力側エンコーダ16を有している。
モータ1は、例えばブラシレスDCサーボモータやACサーボモータである。モータ1は、回転軸2とロータマグネット3とで構成された回転部4と、モータハウジング5と、回転軸2を回転自在に支持する軸受6,7と、回転部4を回転させるステータコイル8と、を備えている。軸受6,7はモータハウジング5に設けられ、ステータコイル8はモータハウジング5に取り付けられている。また、サーボモータ1はモータカバー9で囲われている。
入力側エンコーダ10は、光学式或いは磁気式のロータリエンコーダであり、モータ1の回転軸2の一端側に設けられ、モータ1の回転軸2の回転に伴ってパルス信号を生成し、制御装置200に生成したパルス信号を出力する。なお、入力側エンコーダ10は、回転軸2に取り付けられているが、減速機11の入力軸に取り付けてもよい。
出力側エンコーダ16は、光学式或いは磁気式のロータリエンコーダであり、減速機11の出力角度、本実施形態では、ベース部103とリンク121、或いは隣り合う2つのリンク間の相対角度を検出する。関節J2においては、出力側エンコーダ16は、リンク121とリンク122との間の相対角度を検出する。具体的には、出力側エンコーダ16は、関節J2の駆動(リンク121とリンク122との相対移動)に伴ってパルス信号を生成し、制御装置200に生成したパルス信号を出力する。
リンク121とリンク122とは、クロスローラベアリング15を介して回転自在に結合されている。モータ1と入力側エンコーダ10との間には、必要に応じて、電源オフ時にロボットアーム101の姿勢を保持するためのブレーキユニットを設けてもよい。
減速機11は、本実施形態では、小型軽量で減速比の大きい波動歯車減速機である。減速機11は、モータ1の回転軸2に結合された、入力軸を有するウェブジェネレータ12と、リンク122に固定された、出力軸を有するサーキュラスプライン13と、を備えている。なお、サーキュラスプライン13は、リンク122に直結されているが、リンク122に一体に形成されていてもよい。
また、減速機11は、ウェブジェネレータ12とサーキュラスプライン13との間に配置され、リンク121に固定されたフレクスプライン14を備えている。フレクスプライン14は、ウェブジェネレータ12の回転に対して減速比Nで減速され、サーキュラスプライン13に対して相対的に回転する。従って、モータ1の回転軸2の回転数が減速機11で1/Nに減速され、フレクスプライン14が固定されたリンク121に対してサーキュラスプライン13が固定されたリンク122を相対的に回転運動させ、関節J2を屈曲(回転)させる。このときの減速機11の出力側の回転角度が、実出力角度、即ち関節J2の角度(関節角度)となる。
図3は、ロボット装置500の制御装置200の構成を示すブロック図である。制御装置200は、制御部(演算部)としてのCPU(Central Processing Unit)201を備えている。また、制御装置200は、記憶部として、ROM(Read Only Memory)202、RAM(Random Access Memory)203、HDD(Hard Disk Drive)204を備えている。また、制御装置200は、記録ディスクドライブ205及び各種のインタフェース211〜217を備えている。
CPU201には、ROM202、RAM203、HDD204、記録ディスクドライブ205及び各種のインタフェース211〜217が、バス220を介して接続されている。ROM202には、BIOS等の基本プログラムが格納されている。RAM203は、CPU201の演算処理結果等、各種データを一時的に記憶する記憶部である。
HDD204は、CPU201の演算処理結果や外部から取得した各種データ等を記憶する記憶部であると共に、CPU201に、後述する各種演算処理を実行させるためのプログラム240を記録するものである。CPU201は、HDD204に記録(格納)されたプログラム240に基づいてロボット制御方法の各工程を実行する。
記録ディスクドライブ205は、記録ディスク241に記録された各種データやプログラム等を読み出すことができる。
インタフェース211には、ユーザが操作可能なティーチングペンダント300が接続されている。ティーチングペンダント300は、ロボット100を操作する際に使用する携帯型の端末である。ティーチングペンダント300はタッチパネルである液晶ディスプレイを有しており、液晶ディスプレイ上に、HDD204に格納されたロボットプログラム情報や教示点情報等を表示することができる。
また、ロボット100を目的の教示点の位置座標に移動させる機能やジョグ動作させる機能を持つ。ジョグ動作とは、機械の位置合わせなどのために、モータ1を断続的に微動させる動作を指す。さらに、ロボット100の位置及び姿勢を教示点情報に登録する教示作業や教示点のパラメータ値を修正する再教示作業を行うことができる。
インタフェース212には、キーボードやマウス等の入力装置310が接続されている。インタフェース213には、各種画像が表示されるモニタ等の出力装置311が接続されている。インタフェース214には、書き換え可能な不揮発性メモリや外付けHDD等の外部記憶装置312が接続されている。
インタフェース215,216には、入力側エンコーダ10及び出力側エンコーダ16がそれぞれ接続されている。入力側エンコーダ10及び出力側エンコーダ16は、前述したパルス信号をインタフェース215,216及びバス220を介してCPU201に出力する。
インタフェース217には、サーボ制御装置230が接続されている。サーボ制御装置230は、ロボットアーム101に内蔵されている。
CPU201は、工程動作モードと修正モードとのいずれか一方に設定可能となっている。ティーチングペンダント300や入力装置310により工程動作モードが選択された場合、CPU201は、工程動作モードに移行し、ティーチングペンダント300や入力装置310により修正モードが選択された場合、修正モードに移行する。
CPU201は、工程動作モードに移行した場合には、複数の教示点を順番に動作するようロボット100を制御する。即ち、CPU201は、HDD204に格納された教示点情報252から複数の教示点を取得し、ロボットプログラム情報251に記述された補間方法(例えば直線補間や円弧補間等)で教示点間を補間する多数の補間教示点を求める。そして、CPU201は、教示点間を繋ぐ軌道(多数の補間教示点を繋ぐ軌道)を生成して、サーボモータ1の回転軸2の回転角度の制御量を示す駆動指令を生成する。CPU201は、駆動指令を所定の時間間隔でサーボ制御装置230に出力する。
サーボ制御装置230は、CPU201から入力を受けた駆動指令に基づき、フィードバック制御によるサーボモータ1への電流の出力量を演算し、サーボモータ1へ電流を供給して、ロボットアーム101の関節J1〜J6の関節角度制御を行う。即ち、CPU201は、サーボ制御装置230を介して、関節J1〜J6の関節角度(関節位置)が教示した目標角度(目標位置)となるように、サーボモータ1による関節J1〜J6の駆動を制御する。
HDD204には、工程動作モード時に、ロボット100に所定の作業、例えば把持、運搬等の一連の動作を実行させるためのロボットプログラム情報251が記憶されている。また、HDD204には、ロボット100の教示点情報(複数の教示点を含む)252と、ロボットの種別毎のずれ解消用距離情報253とが記憶されている。CPU201は、ロボットプログラム情報251に従ってロボット100に所定の作業を行わせる。ロボットプログラム情報251や教示点情報252は予めオフラインで作成しておく。
CPU201は、修正モードに移行した場合には、複数の教示点の中から修正対象の教示点(以下、対象教示点という)の指定を受けたときに、対象教示点のパラメータ値の修正に先立って、対象教示点に動作するようロボット100を制御する。つまり、CPU201は、HDD204に格納されたロボットプログラム情報251、教示点情報252、及びロボット種別毎のずれ解消用距離情報253、並びに周囲環境モデルの情報に基づいて動作経路を生成する。ここで、ロボット100の教示点とは、各プログラム指令実行開始時のロボット100の教示点をいう。ロボット100の動作を制御することで、ロボット100を教示点に移動させ、その教示点の情報を捕え、予めオフラインで作成したロボットプログラム情報251上の教示点の情報を、捕えた情報に置換して修正することができる。
次に、図4及び図5を用いて、記憶部であるHDD204に格納される情報252,253について説明する。
図4は、HDD204に格納された教示点情報252を示す説明図である。図4(a)は、教示点情報252を示し、図4(b)は、各関節J1〜J6の動作方向を2進数で示す図である。図4(a)に示すように、本実施形態では、教示点情報252として、直交座標系におけるロボット100の教示点の座標データがX,Y,Z,tX,tY,tZのパラメータ値によって格納される。さらに、教示点の識別ID、教示点の名称、教示点を使用するプログラム名、その教示点への移動元教示点の識別ID、移動先教示点の識別ID、各関節の動作方向が格納される。
教示点情報252、特に教示点のパラメータ値は、オフライン教示により作業者が予めHDD204に記憶させておくものである。HDD204に格納される教示点情報252における教示点は、CPU201が教示点間をロボットプログラム情報251にて指定した補間方法(例えば直線補間や円弧補間等)により計算して得られる補間教示点とは異なるものである。
図4(b)に示すように、各関節J1〜J6の動作方向を2進数、即ち1(正方向:第1の回転方向)または0(負方向:第1の回転方向とは反対の第2の回転方向)によって表している。図4(a)における各関節の動作方向の値は、図4(b)の2進数の情報を10進数で表したものである。例えば図4(b)の「101001」は、図4(a)の識別ID「P_0001」の教示点において識別ID「P_0002」の移動先の教示点に動作する各関節の動作方向「41」を意味する。
つまり、HDD204は、各教示点に対して次の(1つ後の)移動先の教示点にロボット100が動作する際のロボット100の各関節J1〜J6の動作方向を示す動作方向データを記憶する動作記憶部である。例えば、教示点P2から移動先の教示点P3に動作する際の各関節の動作方向データは、図4(a)中の各関節の動作方向において上から2行目の「43」となる。
図5は、HDD204に格納された、ロボット種別毎のずれ解消用距離情報253を示す説明図である。HDD204には、図5に示すように、ロボット種別毎に、ずれ解消に必要な所定距離の情報(ずれ解消用距離情報)253が格納されている。つまり、HDD204は、ロボット種別毎に所定距離を記憶する距離情報記憶部である。CPU201は、この情報253に加えて、図4の情報252を使って移動の際に経由する経由点を算出し、対象教示点へアプローチする。この所定距離は、シミュレーションや実験を行い、各関節J1〜J6のバックラッシュを考慮して設定されている。
次に、ティーチングペンダント300から対象教示点を選択(指定)する方法を説明する。図6は、HDD204に格納された教示点情報252をティーチングペンダント300の液晶ディスプレイ上に表示した状態を示す説明図である。
図6に示すように、「アーム1」というロボットプログラムで使用する教示点の識別ID「P_0001」〜「P_0020」が、一覧として画面に表示される。そして、例えば、作業者によって識別ID「P_0005」が選択され、選択された識別ID「P_0005」の教示点情報252が一覧の下方に表示される。また、図6に示すように、「移動」ボタン、「教示」ボタン、「次候補」ボタン、及び「閉じる」ボタンが表示される。
作業者が画面下部の「移動」ボタンを押下すると、「移動」ボタンを押下している間、CPU201は、ロボット100のロボットハンド102の先端部(つまり、TCP)を、識別ID「P_0005」の教示点の位置座標へ向かって移動させる。位置が確定し作業者が「教示」ボタンを押下すると、CPU201は、ロボット100のロボットハンド102の先端部の位置座標を「P_0005」へ登録する。つまり、現在のロボット100の位置及び姿勢を、識別ID「P_0005」のパラメータ値(X,Y,Z,tX,tY,tZ)としてHDD204に格納する。登録が終わり、作業者が画面下部の「次候補」ボタンを押下すると、現在選択されている「P_0005」から教示点一覧中に表示された次の教示点の識別ID「P_0006」に選択が移る。
ここで、教示点一覧の表示方法について説明する。画面上部にある教示点表示方法選択部301を作業者が押下すると、教示点一覧の表示方法を「名前順」、「最短経路順」から選択することができる。「名前順」とは、教示点一覧を、図4中の「名称」列の値のアスキーコードの昇順に並べたものである。「最短経路順」とは、最短経路探索アルゴリズムであるダイクストラ法などを用いてロボット100の現在の位置座標を起点とし、そこからプログラム「アーム1」で使用する全教示点間を結ぶ最短経路を導き出し、その経路の順番に教示点を並べたものである。「次候補」ボタン押下時の次の教示点はこの表示方法による表示順に従う。
次に、図7及び図8に示されたフローチャートを用いて、再教示作業を行う際の教示点へのアプローチの方法について説明する。図7は、修正モードが選択された際のロボット制御方法の各工程を示すフローチャートである。
まず、CPU201は、作業者によって修正モードが選択された場合、修正モードの処理動作に移行する。
CPU201は、ティーチングペンダント300から対象教示点への移動指示を受けると、HDD204より、対象教示点の教示点情報252とロボット種別毎のずれ解消用距離情報253を取得する(S1)。
次に、CPU201は、経由点を算出する(S2)。工程動作モードのときの対象教示点に対する1つ前の移動元の教示点を、以下、移動元教示点という。CPU201は、ロボット100を対象教示点に動作させる際のロボット100の各関節J1〜J6の動作方向が移動元教示点から対象教示点にロボット100を動作させる際のロボット100の各関節J1〜J6の動作方向と同じとなるよう経由点を設定する。この経由点は、移動元教示点とは異なる点である。
ここで、CPU201は、経由点から対象教示点までのロボット100の動作経路が、移動元教示点から対象教示点までのロボット100の動作経路よりも短くなるように経由点を設定するのが好ましい。これにより、ロボット100が経由点から対象教示点に動作する時間を短縮することができる。
例えば、図4中、教示点P4が対象教示点であった場合、移動元の教示点P3から対象教示点P4にロボット100が動作するときの動作方向が「43」となる。したがって、ロボット100が経由点から教示点P4に動作するときの動作方向が「43」となるよう、教示点P3以外の点に経由点が設定される。その際、教示点P3から教示点P4までの経路よりも経由点から教示点P4までの経路が短くなるように経由点が設定される。
CPU201は、経由点の算出が終わると、現在の位置及び姿勢から経由点を経由して対象教示点へロボット100が動作する動作経路を生成する(S3)。その際、少なくとも現在の位置及び姿勢から経由点までの動作経路は、周囲環境モデルの情報に基づいて、ロボット100が他の物体に干渉しないように生成する。
次に、CPU201は、作成された動作経路を辿って、対象教示点へロボット100をアプローチさせる(S4)。つまり、CPU201は、現在の位置及び姿勢から経由点を経由して対象教示点にロボット100を動作させる。その後は、上述したように、作業者がティーチングペンダント300を操作して、対象教示点の修正(再教示)を行うことができる。
以上、CPU201は、修正モードに移行した場合には、経由点を経由して対象教示点へロボット100を動作させる。これにより、経由点から対象教示点へ動作するロボット100の各関節の動作方向が、工程動作モードにおいて移動元の教示点から対象教示点へ動作するロボット100の各関節の動作方向と一致する。従って、修正時に対象教示点へロボット100を動作させる際に、工程動作の順番通りにロボット100を動作させなくても、対象教示点に到達したときのロボット100の位置及び姿勢が工程動作時に対してずれるのを低減することができる。これにより作業者にとって作業しやすい順序や対象教示点を結ぶ最短経路となる順序で、対象教示点の修正が可能であり、また修正が不要な教示点への移動を省くことも可能である。これらによって対象教示点の修正作業の時間が短縮され、作業者の作業負担が低減し、作業効率が向上する。
特に、ロボット100の各関節J1〜J6には、減速機11が設けられているので、対象教示点に向かう動作方向が異なると、減速機11のバックラッシュにより、工程動作時のロボットの位置及び姿勢に対してずれることがあった。これに対して、本実施形態では、例えば減速機11にバックラッシュがあって、関節にガタが生じる場合であっても、対象教示点に到達したときのロボット100の位置及び姿勢が工程動作時に対してずれるのを低減することができる。
次に、図7におけるステップS2の経由点の算出方法について詳細に説明する。図8は、経由点の算出方法を示すフローチャートである。
まず、CPU201は、教示点情報252から、対象教示点に対する移動元の教示点の識別IDを取得し、識別IDから移動元教示点の位置及び姿勢のパラメータ値及び各関節の動作方向のデータを取得する(S5)。
次に、CPU201は、図5のロボット種別毎のずれ解消用距離情報253の中から、該当するロボット100の情報を取得する(S6)。図5中の「装着中」列の値が”○”のものが現在装着中のロボット種別を意味し、そのときの所定距離は15mmである。つまり、CPU201は、ロボット100に対応する所定距離のデータをHDD204に格納されたずれ解消用距離情報253から取得する。なお、例えばロボットアーム101の先端に取り付けられているロボットハンド102を別のエンドエフェクタに交換して別のロボットを構成した際には、当該ロボットに対応する別の所定距離のデータが読み出されることとなる。このように、ロボットの種別に応じて所定距離のデータが異なるので、該当する所定距離のデータを読み出している。
次に、CPU201は、ステップS5、ステップS6で取得した情報を基に、対象教示点への進入方向を計算する(S7)。ここでいう進入方向とは、対象教示点に対してどのような角度でTCPが進入するかを指す。次に、CPU201は、対象教示点からステップS7で決定した進入方向に対して、ステップS6で取得した所定距離(15mm)の分戻った点を経由点に設定する(S8)。なお、ステップS7,S8では、既に移動元教示点と対象教示点との間の動作経路が計算済みの場合は、該動作経路上、所定距離の分対象教示点から移動元教示点に戻った点を経由点に設定する。
つまり、CPU201は、ステップS5〜S8において、工程動作モードにてロボット100が移動元教示点から対象教示点に動作する動作経路上(移動元教示点及び対象教示点を除く)に、経由点を設定する。これにより、経由点から対象教示点にロボット100を動作させたときには、工程動作時と同じ進入方向から対象教示点に進入することとなる。したがって、対象教示点に到達したときのロボット100の位置及び姿勢が工程動作時に対してずれるのをより効果的に低減することができる。
そして、本実施形態では、対象教示点から所定距離以上(本実施形態では所定距離)離れたところに経由点が設定される。これにより、関節J1〜J6(例えば減速機11)のバックラッシュの影響により対象教示点に到達したときのロボット100の位置及び姿勢が工程動作時に対してずれるのをより効果的に低減することができる。
図9は、工程動作モードにおいてロボット100が動作する工程動作時の動作経路と、修正モードにおいて再教示の際に作業者が任意に選んだ教示点間の動作経路を示す図である。P1〜P8は教示点を示しており、P4’,P6’,P8’はそれぞれ教示点P4,P6,P8に対する経由点を示している。図9中の破線は、工程動作時の動作経路を示しており、実線は再教示の際に作業者がP1→P4→P6→P8の順にロボット100を動作させる動作経路を示している。
例えば、教示点P1から教示点P4へ移動する場合は、教示点P3から教示点P4への動作経路上に経由点P4’を設定する。そして、ロボット100は、実線で示すように、教示点P1から経由点P4’へ動作し、また経由点P4’から教示点P4へ動作する。
教示点間の移動は、図6中の「移動」ボタンを作業者が押下し続けている間に行われ、経由点P4’で停止するか、教示点P4まで移動するか等は操作によって決定される。また、作業者が操作ボタンを押下し続けた場合に経由点P4’で自動的に一旦停止するかはティーチングペンダント300から設定により決めることができる。作業者は実線で示す動作経路に沿って教示点P4へロボット100を移動させた後に、ジョグ機能などを使って微細な位置修正を行う。
ジョグ機能を使った位置修正の際、作業者は、ロボット100における図4に示した各関節の動作方向の値が登録された情報と変わらない範囲内においてジョグ操作を行うことにより、ずれを発生させることなく位置修正が可能である。例えば、図6中に表示された教示点P5に対するジョグ操作の場合は、図4中の識別IDが「P_0005」の行の各関節の動作方向の値と変わらない範囲であればずれは生じない。
もし、位置修正中に各関節の動作方向の値と登録された情報との間に差異が生じた場合は、ティーチングペンダント(報知部)300からブザーを鳴動させ、また図9中の「各関節の動作方向」を点滅表示させることにより、作業者に警告する。
ここで、移動元教示点から修正後の対象教示点にロボット100を動作させるときのロボット100の関節J1〜J6の動作方向を、修正後動作方向とする。また、移動元教示点から修正前の対象教示点にロボット100を動作させるときのロボット100の関節J1〜J6の動作方向を、修正前動作方向とする。つまり、CPU201は、修正後動作方向が、修正前動作方向と異なる場合には、ティーチングペンダント(報知部)300において、作業者にブザー音や画像表示により報知させる。このように作業者に注意喚起することにより、動作方向が変更されるような教示点のパラメータ値の修正が行われることを防止することができ、関節J1〜J6のガタによる修正した教示点のずれを防止することができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
上記実施形態においては、再教示を行う場合について説明したが、進入方向を合わせる機能を教示点の位置確認、進入方向の確認等に適用できることは明らかである。
また、上記実施形態においては、制御装置200が1つのコンピュータにより構成される場合について説明したが、複数のコンピュータにより構成される場合についても本発明は適用可能である。この場合、複数のCPUで本発明の制御部が構成されていてもよい。
上記実施形態の各処理動作は具体的にはCPU301により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体を制御装置200に供給し、制御装置200を構成するコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がHDD204であり、HDD204にプログラム240が格納される場合について説明したが、これに限定するものではない。プログラム240は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図3に示すROM202や外部記憶装置312、記録ディスク241等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
また、上記実施形態では、コンピュータが記録媒体や記憶装置に記録されたプログラムを実行することにより、処理を行う場合について説明したが、これに限定するものではない。プログラムに基づいて動作する制御部の一部又は全部の機能をASICやFPGA等の専用LSIで構成してもよい。なお、ASICはApplication Specific Integrated Circuit、FPGAはField-Programmable Gate Arrayの頭字語である。
100…ロボット、101…ロボットアーム、102…ロボットハンド、200…制御装置、201…CPU(制御部)、300…ティーチングペンダント(報知部)、500…ロボット装置

Claims (10)

  1. 多関節のロボットと、
    複数の教示点を順番に動作するよう前記ロボットを制御する工程動作モード、及び前記複数の教示点の中から修正対象の教示点の指定を受けたときに、前記修正対象の教示点のパラメータ値の修正に先立って、前記修正対象の教示点に動作するよう前記ロボットを制御する修正モードを有する制御部と、を備え、
    前記制御部は、前記修正モードにおいて前記ロボットを前記修正対象の教示点に動作させる際の前記ロボットの各関節の動作方向が、前記工程動作モードのときに前記修正対象の教示点に対し1つ前の移動元の教示点から前記修正対象の教示点に前記ロボットを動作させる際の前記ロボットの各関節の動作方向と同じとなるよう、前記移動元の教示点とは異なる経由点を設定し、
    前記ロボットを、現在の位置及び姿勢から前記経由点を経由して前記修正対象の教示点に動作させることを特徴とするロボット装置。
  2. 前記制御部は、前記経由点から前記修正対象の教示点までの前記ロボットの動作経路が、前記移動元の教示点から前記修正対象の教示点までの前記ロボットの動作経路よりも短くなるように前記経由点を設定することを特徴とする請求項1に記載のロボット装置。
  3. 前記制御部は、前記工程動作モードにて前記ロボットが前記移動元の教示点から前記修正対象の教示点に動作する動作経路上に、前記経由点を設定することを特徴とする請求項1又は2に記載のロボット装置。
  4. 前記制御部は、前記修正対象の教示点に動作したとする前記ロボットの先端の位置と、前記経由点に動作したとする前記ロボットの先端の位置との距離が、予め設定された所定距離以上となるように前記経由点を設定することを特徴とする請求項1乃至3のいずれか1項に記載のロボット装置。
  5. ロボット種別毎に前記所定距離を記憶する距離情報記憶部を備え、
    前記制御部は、前記ロボットに対応する前記所定距離を前記距離情報記憶部から取得して、前記経由点を設定することを特徴とする請求項4に記載のロボット装置。
  6. 前記各教示点に対して移動先の教示点に前記ロボットが動作する際の前記ロボットの各関節の動作方向を示す動作方向データを記憶する動作記憶部を備え、
    前記制御部は、前記修正モードにて前記経由点を設定する際に、前記動作記憶部に記憶された前記動作方向データを用いることを特徴とする請求項1乃至5のいずれか1項に記載のロボット装置。
  7. 作業者に報知する報知部を備え、
    前記制御部は、前記移動元の教示点から修正後の前記修正対象の教示点に前記ロボットを動作させるときの前記ロボットの関節の動作方向が、前記移動元の教示点から修正前の前記修正対象の教示点に前記ロボットを動作させるときの前記ロボットの関節の動作方向と異なる場合には、前記報知部に報知させることを特徴とする請求項1乃至6のいずれか1項に記載のロボット装置。
  8. 複数の教示点を順番に動作するよう多関節のロボットを制御する工程動作モード、及び前記複数の教示点の中から修正対象の教示点の指定を受けたときに、前記修正対象の教示点のパラメータ値の修正に先立って、前記修正対象の教示点に動作するよう前記ロボットを制御する修正モードを有する制御部によるロボット制御方法であって、
    前記制御部が、前記修正モードにおいて前記ロボットを前記修正対象の教示点に動作させる際の前記ロボットの各関節の動作方向が、前記工程動作モードのときに前記修正対象の教示点に対し1つ前の移動元の教示点から前記修正対象の教示点に前記ロボットを動作させる際の前記ロボットの各関節の動作方向と同じとなるよう、前記移動元の教示点とは異なる経由点を設定する工程と、
    前記制御部が、前記ロボットを、現在の位置及び姿勢から前記経由点を経由して前記修正対象の教示点に動作させる工程と、を備えたことを特徴とするロボット制御方法。
  9. コンピュータに、請求項8に記載のロボット装置の制御方法の各工程を実行させるためのプログラム。
  10. 請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2014164818A 2014-08-13 2014-08-13 ロボット装置、ロボット制御方法、プログラム及び記録媒体 Pending JP2016040067A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014164818A JP2016040067A (ja) 2014-08-13 2014-08-13 ロボット装置、ロボット制御方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014164818A JP2016040067A (ja) 2014-08-13 2014-08-13 ロボット装置、ロボット制御方法、プログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2016040067A true JP2016040067A (ja) 2016-03-24

Family

ID=55540646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014164818A Pending JP2016040067A (ja) 2014-08-13 2014-08-13 ロボット装置、ロボット制御方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2016040067A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018171691A (ja) * 2017-03-31 2018-11-08 株式会社ダイヘン ロボット制御装置及び制御プログラム
JP2020082218A (ja) * 2018-11-16 2020-06-04 ファナック株式会社 動作プログラム作成装置
WO2022137917A1 (ja) * 2020-12-25 2022-06-30 川崎重工業株式会社 基板搬送ロボットの制御装置及び関節モータの制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018171691A (ja) * 2017-03-31 2018-11-08 株式会社ダイヘン ロボット制御装置及び制御プログラム
JP2020082218A (ja) * 2018-11-16 2020-06-04 ファナック株式会社 動作プログラム作成装置
WO2022137917A1 (ja) * 2020-12-25 2022-06-30 川崎重工業株式会社 基板搬送ロボットの制御装置及び関節モータの制御方法

Similar Documents

Publication Publication Date Title
US10751874B2 (en) Method of teaching robot and robotic arm control device
JP6648913B2 (ja) 制御方法、ロボット装置、プログラム、記録媒体、物品の製造方法、及び駆動装置
JP6706489B2 (ja) ロボットのダイレクト教示方法
JP6584102B2 (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法
JPWO2017033353A1 (ja) 遠隔操作ロボットシステム
JP5701055B2 (ja) 7軸多関節ロボットの制御方法、制御プログラム及びロボット制御装置
JP2013193131A (ja) ロボットの制御方法及びロボット制御装置、並びにロボット制御システム
JP5458769B2 (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
JP2014217913A (ja) パラレルリンクロボットの動作教示方法およびパラレルリンクロボット
JP2007319970A (ja) 産業用ロボットのツールの位置・姿勢制御方法及び制御システム
JP2007168053A (ja) 垂直多関節型ロボットのティーチング方法および産業用ロボット装置
JP6348141B2 (ja) 付加軸の状態が含まれる動作プログラムを表示するロボットの制御装置
WO2018016568A1 (ja) ロボットの運転方法、コンピュータプログラム、及びロボットシステム
JP2016040067A (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JPWO2019171516A1 (ja) 垂直多関節ロボットの慣性パラメータ同定システム及び慣性パラメータ同定方法並びに垂直多関節ロボットの制御装置及び制御方法
JP2020015124A (ja) ロボット制御方法、物品の製造方法、ロボット制御装置、ロボット、プログラム及び記録媒体
JP2012051043A (ja) ロボットシステムまたはロボット制御装置
JP2013223895A (ja) ロボット制御方法及びロボット制御装置
US20230035296A1 (en) Method of suppressing vibrations of a robot arm with external objects
JP5633268B2 (ja) ロボットの制御装置
JP7424097B2 (ja) ロボットの制御装置及びロボットの制御方法
JP6439375B2 (ja) ロボット及び制御装置
JPH0957671A (ja) 多関節型移動体の制御装置及びその制御方法
JPH08147023A (ja) ロボットの教示装置