IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーウェーブの特許一覧

特許7424097ロボットの制御装置及びロボットの制御方法
<>
  • 特許-ロボットの制御装置及びロボットの制御方法 図1
  • 特許-ロボットの制御装置及びロボットの制御方法 図2
  • 特許-ロボットの制御装置及びロボットの制御方法 図3
  • 特許-ロボットの制御装置及びロボットの制御方法 図4
  • 特許-ロボットの制御装置及びロボットの制御方法 図5
  • 特許-ロボットの制御装置及びロボットの制御方法 図6
  • 特許-ロボットの制御装置及びロボットの制御方法 図7
  • 特許-ロボットの制御装置及びロボットの制御方法 図8
  • 特許-ロボットの制御装置及びロボットの制御方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】ロボットの制御装置及びロボットの制御方法
(51)【国際特許分類】
   B25J 9/22 20060101AFI20240123BHJP
   B25J 9/10 20060101ALI20240123BHJP
   G05B 19/42 20060101ALI20240123BHJP
   G05B 19/4093 20060101ALI20240123BHJP
【FI】
B25J9/22 A
B25J9/10 A
G05B19/42 P
G05B19/4093 E
【請求項の数】 2
(21)【出願番号】P 2020026287
(22)【出願日】2020-02-19
(65)【公開番号】P2021130158
(43)【公開日】2021-09-09
【審査請求日】2022-10-03
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】松本 悠
(72)【発明者】
【氏名】植山 剛
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2001-088073(JP,A)
【文献】特開2016-049601(JP,A)
【文献】特開昭63-005410(JP,A)
【文献】特許第3666341(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
G05B 19/18 ~ 19/46
(57)【特許請求の範囲】
【請求項1】
複数の回転動作するアームを備え、各アームをそれぞれの駆動モータにより駆動するロボットの制御装置において、
ロボット先端を通過させるため教示された3点以上の教示点の位置及び姿勢を、教示テータとして記憶する記憶部と、
前記ロボット先端が、前記教示点のうち移動を開始する第1教示点から移動を終了する第3教示点に向って連続的に移動するパス動作を行うように教示データを用いて前記ロボットを制御する制御部と、
前記パス動作を行う前記ロボット先端の連続移動軌跡が、前記第1教示点と前記第3教示点との間に設定されている第2教示点に重なるように、前記第3教示点から前記第2教示点を通過して延長した直線上に第4教示点を設定し、前記第4教示点の教示データを用いて、前記制御部に、前記第1教示点から前記第4教示点に向かって前記パス動作を行うように制御させる教示点設定部とを備え、
前記教示点設定部は、前記第2教示点を起点として、前記パス動作の連続移動軌跡が、前記第2教示点から前記第3教示点に向かう直線に合流する点までの距離Lpaを計算し、
前記第4教示点を、前記第2教示点より前記距離Lpaだけ延長した直線上に設定し、
前記制御部が、前記第1教示点から前記第4教示点に向かうパス動作を行う際の連続移動軌跡を再計算した結果について、前記距離Lpaを再度計算し、
再計算した距離Lpaと先に計算した距離Lpaとの差を求め、
前記差が閾値以上であれば、その差分を再計算した距離Lpaに加算して距離Lpaを更新すると、更新した距離Lpaに基づいて第4教示点を再度設定し、前記制御部に前記パス動作の制御を再実行させるロボットの制御装置。
【請求項2】
複数の回転動作するアームを備え、各アームをそれぞれの駆動モータにより駆動するロボットを動作させ、ロボット先端を通過させるために教示された3点以上の教示点についての教示データを用いて制御する際に、
前記教示点のうち移動を開始する第1教示点から移動を終了する第3教示点に向って連続的に移動するパス動作を行前記ロボット先端の連続移動軌跡が、前記第1教示点と前記第3教示点との間に設定されている第2教示点に重なるように、前記第3教示点から前記第2教示点を通過して延長した直線上に第4教示点を設定し、
前記第4教示点の教示データを用いて、前記第1教示点から前記第4教示点への移動について前記パス動作を行い、
前記第2教示点を起点として、前記パス動作の軌跡が、前記第2教示点から前記第3教示点に向かう直線に合流する点までの距離Lpaを計算し、
前記第4教示点を、前記第2教示点より前記距離Lpaだけ延長した直線上に設定し、
前記第1教示点から前記第4教示点に向かうパス動作を行わせるために連続移動軌跡を再計算した結果について、前記距離Lpaを再度計算し、
再計算した距離Lpaと、先に計算した距離Lpaとの差を求め、
前記差が閾値以上であれば、その差分を再計算した距離Lpaに加算して距離Lpaを更新すると、更新した距離Lpaに基づいて第4教示点を再度設定し、前記パス動作を再実行するロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを実際に動作させる際の移動軌跡が、教示点上を通過するように制御する装置及び方法に関する。
【背景技術】
【0002】
ロボットの実際の動作が、予め演算したサンプリングタイム毎の目標位置に達するようにサーボモータを制御するため、間欠的に与えられた教示点を通ってロボット先端を移動させる制御方法に、CP(continuous path)方式がある。またロボットの動作は、ある動作から次の動作へ移る際における前の動作の完了を判断する方法により、エンド動作とパス動作とに分かれる。
【0003】
例えば図9に示すように、3つの教示点P1~P3があるとすると、CP方式のエンド動作では、ロボットの先端が教示点に到達してから次の動作へと移る。そのため、P1→P2間とP2→P3間とのそれぞれが直線状の軌跡となるように、ロボットの先端を動作させる。それに伴い、P1→P2間,P2→P3間それぞれにおけるロボットの動作速度が変化するパターンは、何れも加速期間,定速期間,減速期間を組み合わせた台形状になる。
【0004】
これに対して、CP方式のパス動作では、ロボットの先端が教示点に到達する前に次の動作へと移る。そのため、P1→P2間の減速期間に併せて、P2→P3間の加速期間を開始させる。その結果、ロボットの先端は教示点P2上を通過せず、その内側,つまり図中の右側を通過する動作となり、これらを合成した軌跡は図中に破線で示したものとなる。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第3666341号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、ロボットを製品の組み付け作業に適用する場合を想定する。教示点P2から教示点P3への移動が組み付け作業における最終のアプローチ動作である際に、ワークの形状や周囲の環境によっては、ロボットの先端が、周囲に障害物が配置されているように比較的狭い空間を移動する場合がある。すると、P2→P3間の動作が直線であればロボット先端は問題なく移動できるが、CP方式のパス動作により教示点P2の内側を通過する軌跡になると、ロボットと教示点P2の内側に位置する障害物とが干渉するおそれがある。
【0007】
本発明は、上記実情に鑑みてなされたものであり、その目的は、CP方式のパス動作を採用してロボットの先端が全ての教示点を通過しない軌跡で動作する際に、周囲にある障害物との干渉を防止できるロボットの制御装置及びロボットの制御方法を提供することにある。
【課題を解決するための手段】
【0008】
請求項1記載のロボットの制御装置によれば、制御部は、ロボット先端が、移動を開始する第1教示点から移動を終了する第3教示点に向って連続的に移動するパス動作を行うように教示データを用いてロボットを制御する。教示点設定部は、前記パス動作を行うロボット先端の連続移動軌跡が、第1教示点と第3教示点との間に設定されている第2教示点に重なるように、第3教示点から第2教示点を通過して延長した直線上に第4教示点を設定する。そして、第4教示点の教示データを用いて制御部に、第1教示点から第4教示点に向かってパス動作を行うように制御させる。
【0009】
当初に設定された第1~第3教示点についてCP方式のパス動作によりロボット先端を移動させると、上述したように、第1教示点から第2教示点に至るまでの減速期間と第2教示点から第3教示点に向けて設定される加速期間とが重複する結果、連続移動軌跡は第2教示点を通過しなくなる。そして、第2教示点と第3教示点とを結ぶ直線P2-P3上において、ロボット先端が直線的に移動する距離は、直線P2-P3の長さよりも短くなる。
【0010】
したがって、教示点設定部が、第3教示点から第2教示点を通過して延長した直線上に第4教示点を設定し、その第4教示点の教示データを用いて制御部に、第1教示点から第4教示点に向かってパス動作を行うように制御させれば、ロボット先端は第2教示点に到達するようになり、その第2教示点から第3教示点に向かって直線的に移動する。これにより、第2教示点から第3教示点に向かう経路の周辺に障害物等が存在しており、ロボット先端が比較的狭い空間を移動する際にも、第2,第3教示点間は直線的に移動することで障害物との干渉が生じることを回避できる。
【0011】
また、請求項記載のロボットの制御装置によれば、教示点設定部は、第2教示点を起点として、パス動作の連続移動軌跡が、第2教示点から第3教示点に向かう直線に合流する点までの距離Lpaを計算すると、第4教示点を、第2教示点より距離Lpaだけ延長した直線上に設定する。上述のように、当初に設定された第1~第3教示点についてロボット先端を移動させると、直線P2-P3上でロボット先端が直線的に移動する距離は、直線P2-P3の長さよりも短くなるので、その短くなる分の距離がLpaとして求められる。そして、直線P2-P3の長さに距離Lpaの長さを加えた位置に第4教示点を設定し、ロボットにパス動作を行わせれば、ロボット先端の連続移動軌跡が第2教示点を通過するようになる。
【0012】
更に、請求項記載のロボットの制御装置によれば、教示点設定部は、制御部が、第1教示点から第4教示点に向かうパス動作を行う際の連続移動軌跡を再計算した結果について距離Lpaを再度計算する。そして、再計算した距離Lpaと先に計算した距離Lpaとの差を求め、求めた差が閾値以上であれば、その差分を再計算した距離Lpaに加算して距離Lpaを更新する。それから、更新した距離Lpaに基づいて第4教示点を再度設定し、制御部にパス動作の制御を再実行させる。
【0013】
このように構成すれば、誤差要因が存在するため、当初に求めた距離Lpaと第2,第4教示点間の距離との差が閾値以上であれば差分に応じて距離Lpaを更新し、パス動作の制御を再実行させることを繰り返して距離Lpaに含まれる誤差を縮小できる。これにより、第4教示点を精度良く設定することが可能になる。
【図面の簡単な説明】
【0014】
図1】一実施形態であり、ロボットシステムの構成を示す図
図2】コントローラの構成を示す機能ブロック図
図3】コントローラの処理内容を要旨に係る部分について示すフローチャート
図4】当初の教示点P1~P3に対してパス動作を行う際のロボット先端の移動軌跡を示す図
図5】教示点P2を新たな教示点P2_nに置き換えてパス動作を行う際のロボット先端の移動軌跡を示す図
図6】本実施形態における処理概念を速度パターンにより説明する図(その1)
図7】同処理概念を速度パターンにより説明する図(その2)
図8】同処理概念を速度パターンにより説明する図(その3)
図9】CP方式のエンド動作及びパス動作を説明する図
【発明を実施するための形態】
【0015】
以下、一実施形態について説明する。図1に示すように、ロボットシステム1は、多関節型のロボット2、ロボット2を制御するコントローラ3、コントローラ3に接続されたティーチングペンダント4を備えている。このロボットシステム1は、一般的な産業用に用いられている。
【0016】
ロボット2は、いわゆる6軸の垂直多関節型ロボットとして周知の構成を備えており、ベース5上に、Z方向の軸心を持つ第1軸(J1)を介してショルダ6が水平方向に回転可能に連結されている。ショルダ6には、Y方向の軸心を持つ第2軸(J2)を介して上方に延びる下アーム7の下端部が垂直方向に回転可能に連結されている。下アーム7の先端部には、Y方向の軸心を持つ第3軸(J3)を介して第一上アーム8が垂直方向に回転可能に連結されている。第一上アーム8の先端部には、X方向の軸心を持つ第4軸(J4)を介して第二上アーム9が捻り回転可能に連結されている。第二上アーム9の先端部には、Y方向の軸心を持つ第5軸(J5)を介して手首10が垂直方向に回転可能に連結されている。手首10には、X方向の軸心を持つ第6軸(J6)を介してフランジ11が捻り回転可能に連結されている。
【0017】
ベース5、ショルダ6、下アーム7、第一上アーム8、第二上アーム9、手首10及びフランジ11は、ロボット2のアームとして機能し、アームの先端となるフランジ11には、図示は省略するが、エンドエフェクタとも呼ばれるハンドが取り付けられる。ハンドは、例えば図示しないワークを保持して移送したり、ワークを加工する工具等が取り付けられたりする。ロボット2に設けられている各軸J1~J6には、それぞれに対応して駆動源となる、図2に示すモータ12が設けられている。
【0018】
コントローラ3は、ロボットの制御装置に相当し、図示しないCPU、ROMおよびRAM等で構成されたコンピュータからなる制御部においてコンピュータプログラムを実行することで、ロボット2を制御している。具体的には、コントローラ3は、インバータ回路等から構成された駆動部を備えており、各モータ12に対応して設けられているエンコーダ17で検知したモータの回転位置に基づいて例えばフィードバック制御によりモータ12を駆動する。
【0019】
ティーチングペンダント4は、例えば概ね略矩形箱状に形成されており、ユーザが所持したまま操作可能な程度の大きさに形成されている。このティーチングペンダント4には、各種キースイッチやタッチパネル等が設けられており、ユーザは、それらキースイッチやタッチパネル等を用いてティーチングを行う。
【0020】
コントローラ3は、図2に示すように、CPUを主体とする制御部13と、記憶部14と、位置検出部15とを備えている。制御部13は、産業用ロボット装置1の全体を統括制御する。制御部13には、記憶部14及び位置検出部15の他、前記ティーチングペンダント4及びモータ12の駆動回路16が接続されている。記憶部14には、各アーム6~11を駆動するモータ12についての最大加速度(+α)、最大減速度(-α)、最高速度Vmax等のパラメータ、ロボット制御用の各種ソフトウエアが予め記憶されている。また、記憶部14には、実際のロボットの作業に際しては、ティーチングペンダント4により設定される動作プログラムや、実際の動作に先立って生成されるロボット先端の移動軌跡情報などが記憶されている。制御部13は、教示点設定部に相当する。
【0021】
位置検出部15には、ショルダ6やアーム7~9等に対応する各モータ12の回転軸に連結されたロータリエンコーダ17が接続されている。位置検出部15は、ロータリエンコーダ17から入力される回転検出信号に基づいてモータ12の回転角度,すなわち軸値を検出し、その回転位置情報を制御部13に与える。制御部13は、モータ12の回転角度情報から対応するアーム等の回転角を演算すると、その回転角を目標角度と比較して差分に応じた電流指令値を駆動回路16に与える。すると、駆動回路16は、与えられた電流指令値に応じた電流をモータ12に供給する。これによりモータ12の回転が制御され、各アーム6~11等が目標角度に回転される。
【0022】
次に、本実施形態の作用について説明する。図3は、コントローラ3の制御部13が、ロボット2の先端の連続移動軌跡を求める処理を、要旨に関する部分について示すフローチャートである。制御部13は、先ず、パス動作後のアプローチ動作か否かを判断する(S1)。「アプローチ動作」とは、図4に示すように、連続移動軌跡における末部の3つの教示点P1~P3のうち、教示点P2からP3に至る区間であり、教示点P3は、ロボット2が組み付け作業等を行う際にその先端が最終的に到達する位置である。また「パス動作」は、同図に破線で示すように、教示点P1からP2に至る間に、ロボット先端が直線的に移動する区間を外れて教示点P2の内側を通過し、アプローチ動作区間の直線軌跡に繋がるまでの区間である。
【0023】
パス動作後のアプローチ動作であれば(S1;YES)、アプローチ動作区間内でパス動作が行われる距離Lpaを計算する(S2)。パス動作区間開始時のロボット先端の速度をVm,減速度をDm,減速時間をTpとすると、減速時間Tpは、
Tp=Vm/Dm …(1)
で求められる。そして、アプローチ動作におけるロボット先端の加速度をAaとすると、パス動作距離Lpaは、
Lpa=Aa×Tp/2 …(2)
で求められる。
【0024】
次に、パス動作距離Lpa_nに、ステップS2で求めた距離Lpaを代入して初期化すると(S3)、アプローチ動作の開始点Xa,つまり教示点P2の座標を、距離Lpa_nだけアプローチベクトル方向に移動した座標を、新たな開始点Xa_newとするように計算する(S4)。図5では、開始点Xa_newを「P2_new」としている。アプローチ動作のベクトルを(ax,ay,az)とし、開始点Xa=(xa,ya,za)とすると、新たな開始点Xa_newは、
Xa_new=Xa-Lpa×(ax,ay,az) …(3)
で求められる。尚、教示点P1~P3は第1~第3教示点に相当し、上記のP2_newは第4教示点に相当する。
【0025】
それから、教示点P2を、開始点Xa_new,P2_newに置き換えることで生じるパス動作について、パス動作距離Lpa_nを計算する(S5)。そして、ステップS2で求めた距離Lpaの絶対値と、ステップS4で求めた距離Lpa_nの絶対値との差を求め、その差の絶対値が閾値delta未満か否かを判断する(S6)。閾値deltaはゼロ近傍の値である。前記差の絶対値が閾値delta以上であれば(NO)、パス動作距離Lpa_nを、当該距離Lpa_nに前記差の絶対値を加えて更新してから(S8)ステップS4に戻る。
【0026】
一方、ステップS6において、前記差の絶対値が閾値delta未満であれば(YES)、その時点の開始点Xa_newをアプローチ動作の開始点に設定してロボット2の動作を実行する(S7)。
【0027】
上記の処理の概念について、図6から図8に示す速度パターンのグラフを用いて説明する。図6は、図4に示す動作に対応したもので、ロボット先端が教示点P1からP2に向かう際の減速期間の開始に合わせて、教示点P2からP3に向かう際の加速期間を開始させる結果、その期間の合成速度は破線で示すものとなる。そして、この期間にロボット先端が移動する距離のうち、加速による移動距離分だけ、つまり図7に示すハッチングで示す三角形の面積分だけ教示点P2に到達せずに内回りする移動軌跡となる。
【0028】
そこで、図8に示すように、教示点P2においてパス動作が完了するように、つまり減速期間及び加速期間が共に終了するように新たな目標点P2_newを設定する。これは、上述した加速による移動距離分を示す三角形の面積に等しい分だけ移動距離を延ばすように、新たな目標点P2_newを設定することを意味する。これにより、ロボット先端は、元の教示点P2に到達してから終了点P3に向かって直線上を移動するように動作する。
【0029】
以上のように本実施形態によれば、コントローラ3の制御部13は、ロボット先端が、移動を開始する教示点P1から移動を終了する教示点P3に向って連続的に移動するパス動作を行うように教示データを用いてロボット2を制御する。その際に、パス動作を行うロボット先端の連続移動軌跡が、教示点P1,P3間に設定されている教示点P2に重なるように、教示点P3から教示点P2を通過して延長した直線上に新たな教示点P2_nを設定する。そして、教示点P2_nの教示データを用い、教示点P2_nに向かってパス動作を行うように制御する。
これにより、図5に示すように、教示点P2から教示点P3に向かう経路の周辺に障害物等が存在しており、ロボット先端が比較的狭い空間を移動する際にも、教示点P2,P3間は確実に直線的に移動するので干渉が生じることを回避できる。
【0030】
この場合、制御部13は、教示点を起点P2として、パス動作の連続移動軌跡が、教示点P2から教示点P3に向かう直線に合流する点までの距離Lpaを計算すると、教示点P2_nを、教示点P2より距離Lpaだけ延長した直線上に設定する。上述のように、当初に設定された教示点P1~P3についてロボット先端を移動させる際に、直線P2-P3上でロボット先端が直線的に移動する距離はLpaだけ短くなる。したがって、直線P2-P3の長さに距離Lpaの長さを加えた位置に教示点P2_nを設定し、ロボット2にパス動作を行わせれば、ロボット先端の連続移動軌跡が当初の教示点P2を通過するようになる。
【0031】
また、制御部13は、教示点P1から教示点P2_nに向かうパス動作を行う際の連続移動軌跡を再計算した結果について距離Lpaを再度計算し、距離Lpa_nとする。そして、再計算した距離Lpa_nと先に計算した距離Lpaとの差を求め、求めた差が閾値delta以上であれば、その差分を再計算した距離Lpa_nに加算して距離Lpa_nを更新する。それから、更新した距離Lpa_nに基づいて教示点P2_nを再度設定し、パス動作の制御を再実行する。このように構成すれば、距離Lpa_nに含まれる誤差を縮小し、教示点P2_nを精度良く設定することが可能になる。
【符号の説明】
【0033】
図面中、1はロボットシステム、2はロボット、3はコントローラ、4はティーチングペンダント、13は制御部、14は記憶部を示す。
図1
図2
図3
図4
図5
図6
図7
図8
図9