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

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

▶ 住友重機械工業株式会社の特許一覧

特開2023-144558多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。
<>
  • 特開-多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。 図1
  • 特開-多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。 図2
  • 特開-多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。 図3
  • 特開-多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。 図4
  • 特開-多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。 図5
  • 特開-多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。 図6
  • 特開-多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023144558
(43)【公開日】2023-10-11
(54)【発明の名称】多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラム。
(51)【国際特許分類】
   B25J 9/22 20060101AFI20231003BHJP
   G05B 19/42 20060101ALI20231003BHJP
【FI】
B25J9/22 Z
G05B19/42 D
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022051598
(22)【出願日】2022-03-28
(71)【出願人】
【識別番号】000002107
【氏名又は名称】住友重機械工業株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】安達 大稀
【テーマコード(参考)】
3C269
3C707
【Fターム(参考)】
3C269AB33
3C269BB05
3C269SA02
3C269SA33
3C707AS12
3C707BS13
3C707LS02
3C707LS11
3C707LV15
3C707LW12
3C707MT02
(57)【要約】
【課題】ロボットアームを適切な姿勢に移行するまでのタクトタイムを短縮することができるロボットアームの動作教示方法、ロボットアーム、及びプログラムを提供すること。
【解決手段】本開示に係るロボットアームの動作教示方法は、冗長な関節を有する多関節型ロボットアームの動作教示方法であって、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で、前記多関節型ロボットアームの前記先端部よりも基端側の1または複数の関節の位置及び姿勢を動かして、前記1または複数の関節の位置及び姿勢を教示する第1ステップを含む。
【選択図】図6
【特許請求の範囲】
【請求項1】
冗長な関節を有する多関節型ロボットアームの動作教示方法であって、
前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で、前記多関節型ロボットアームの前記先端部よりも基端側の1または複数の関節の位置及び姿勢を動かして、前記1または複数の関節の位置及び姿勢を教示する第1ステップを含む、
ロボットアームの動作教示方法。
【請求項2】
前記第1ステップに先立つ処理として、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定しない状態で、前記多関節型ロボットアームの少なくとも先端部を動かして、前記多関節型ロボットアームの前記先端部の位置及び姿勢を教示する第2ステップを含む、
請求項1に記載のロボットアームの動作教示方法。
【請求項3】
前記第2ステップを開始してから前記第1ステップを完了するまでの前記1または複数の関節の位置及び姿勢に関する時系列データを教示データとして記憶部に記憶する、
請求項2に記載のロボットアームの動作教示方法。
【請求項4】
前記第2ステップを開始してから前記第2ステップを完了するまでの前記先端部の位置及び姿勢に関する時系列データを教示データとして記憶部に記憶する、
請求項2または3に記載のロボットアームの動作教示方法。
【請求項5】
前記第2ステップが完了してから前記第1ステップが完了するまでの前記多関節型ロボットアームの前記先端部の位置及び姿勢に関するデータを教示データの対象から除外する、
請求項4に記載のロボットアームの動作教示方法。
【請求項6】
前記多関節型ロボットアームの教示モードは、
前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で前記多関節型ロボットアームの動作を教示する第1モードと、
前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定しない状態で、前記多関節型ロボットアームの動作を教示する第2モードと、
を含み、
前記第1モードの設定時に、前記多関節型ロボットアームを動かして、前記1または複数の関節の位置及び姿勢を決定し、
前記第2モードの設定時に、前記多関節型ロボットアームを動かして、前記先端部の位置及び姿勢を決定する、
請求項1から5のいずれか1項に記載のロボットアームの動作教示方法。
【請求項7】
前記第2モードに設定してから前記第1モードに切り替わるまでの前記先端部の位置及び姿勢に関する時系列データを教示データとして記憶部に記憶する、
請求項6に記載のロボットアームの動作教示方法。
【請求項8】
冗長な関節を有する多関節型ロボットアームであって、
前記多関節型ロボットアームの動作モードとして、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で、前記多関節型ロボットアームの前記先端部よりも基端側の1または複数の関節の位置及び姿勢を動かして、前記1または複数の関節の位置及び姿勢を教示するモードを含む、
ロボットアーム。
【請求項9】
冗長な関節を有する多関節型ロボットアームに、
前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で、前記多関節型ロボットアームの前記先端部よりも基端側の1または複数の関節の位置及び姿勢を動かして、前記1または複数の関節の位置及び姿勢を教示する処理を実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラムに関する。
【背景技術】
【0002】
従来、ロボットアームに対してユーザーが力を加えることで、ロボットアームを自在に動かしてロボットアームの各関節の位置及び姿勢を決定する、所謂ダイレクトティーチと呼ばれるロボットアームの動作教示方法が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第6773084号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術においては、ロボットアームの適切な姿勢を決定するために様々な姿勢を試行する際、試行中の動作も教示データとして記録される。そのため、ロボットアームの動作時にロボットアームを適切な姿勢に移行するまでのタクトタイムを短縮する上でなお改善の余地があった。
【0005】
本発明は、このような事情に鑑みてなされたものであり、ロボットアームを適切な姿勢に移行するまでのタクトタイムを短縮することができる多関節型ロボットアームの動作教示方法、多関節型ロボットアーム、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本出願は、冗長な関節を有する多関節型ロボットアームの動作教示方法であって、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で、前記多関節型ロボットアームの前記先端部よりも基端側の1または複数の関節の位置及び姿勢を動かして、前記1または複数の関節の位置及び姿勢を教示する第1ステップを含む、ロボットアームの動作教示方法を開示する。
【0007】
前記第1ステップに先立つ処理として、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定しない状態で、前記多関節型ロボットアームの少なくとも先端部を動かして、前記多関節型ロボットアームの前記先端部の位置及び姿勢を教示する第2ステップを含んでもよい。
【0008】
前記第1ステップを開始してから前記第1ステップを完了するまでの前記先端部の位置及び姿勢に関する時系列データを教示データとして記憶部に記憶してもよい。
【0009】
前記第2ステップを開始してから前記第2ステップを完了するまでの前記先端部の位置及び姿勢に関する時系列データを教示データとして記憶部に記憶してもよい。
【0010】
前記第2ステップが完了してから前記第1ステップが完了するまでの前記多関節型ロボットアームの前記先端部の位置及び姿勢に関するデータを教示データの対象から除外してもよい。
【0011】
前記多関節型ロボットアームの教示モードは、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で前記多関節型ロボットアームの動作を教示する第1モードと、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定しない状態で、前記多関節型ロボットアームの動作を教示する第2モードと、を含み、前記第1モードの設定時に、前記多関節型ロボットアームを動かして、前記1または複数の関節の位置及び姿勢を決定し、前記第2モードの設定時に、前記多関節型ロボットアームを動かして、前記先端部の位置及び姿勢を決定してもよい。
【0012】
前記第2モードに設定してから前記第1モードに切り替わるまでの前記先端部の位置及び姿勢に関する時系列データを教示データとして記憶部に記憶してもよい。
【0013】
本出願は、冗長な関節を有する多関節型ロボットアームであって、前記多関節型ロボットアームの動作モードとして、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で、前記多関節型ロボットアームの前記先端部よりも基端側の1または複数の関節の位置及び姿勢を動かして、前記1または複数の関節の位置及び姿勢を教示するモードを含む、ロボットアームを開示する。
【0014】
本出願は、冗長な関節を有する多関節型ロボットアームに、前記多関節型ロボットアームの少なくとも先端部の位置及び姿勢を固定した状態で、前記多関節型ロボットアームの前記先端部よりも基端側の1または複数の関節の位置及び姿勢を動かして、前記1または複数の関節の位置及び姿勢を教示する処理を実行させる、プログラムを開示する。
【発明の効果】
【0015】
本発明によれば、ロボットアームを適切な姿勢に移行するまでのタクトタイムを短縮することができる。
【図面の簡単な説明】
【0016】
図1】本実施形態に係るロボットアームの構成を模式的に示す図である。
図2】ロボットコントローラの機能構成を示すブロック図である。
図3】教示データのデータ内容の一例を示す図である。
図4】ハンド部の位置情報の時間変化の一例を示すグラフである。
図5】第1関節の位置情報の時間変化の一例を示すグラフである。
図6】教示データの登録処理を示すフローチャートである。
図7】ロボットアームの作用を説明するための図である。
【発明を実施するための形態】
【0017】
以下、ロボットアームの一実施形態について説明する。
【0018】
図1に示すように、本実施形態に係るロボットアーム10は、例えばワークに対する研磨作業など、予め教示された動作に従って動作する。ロボットアーム10は、例えば、冗長な関節を有する多関節型ロボットアームの一例である7軸の垂直多関節ロボットであり、例えば、基部11と、アーム部12と、ハンド部13とを備える。冗長な関節を有する多関節型ロボットアームは、例えば、水平多関節構造を持つ少なくとも3以上の自由度を持つロボットアーム、あるいは、垂直多関節構造を持つ少なくとも7以上の自由度を持つロボットアームを含む。冗長な関節を有する多関節型ロボットアームは、冗長な関節を有することから、ロボットアームを構成する複数のリンクのうち、一のリンクを実質的に静止した状態で、他のリンクを移動することが可能である。換言すると、一のリンクの位置及び姿勢を定めたときに、他のリンクの位置及び姿勢が一意に定まらない場合がある。ハンド部13は、先端部の一例である。
【0019】
基部11は、例えば、第1基部11Aと、第2基部11Bとを含む。第1基部11Aは、床面に設置されており、垂直方向に延びる軸線X1を中心として、第2基部11Bを回転可能に支持している。第2基部11Bは、アーム部12に連結されており、アーム部12を揺動可能に支持している。
【0020】
アーム部12は、例えば、第1関節A1と、第1アーム12Aと、第2関節A2と、第2アーム12Bと、第3関節A3とを備える。
【0021】
第1関節A1は、第2基部11Bの上部に設けられており、第1アーム12Aの長手方向に延びる軸線X2を中心として第1アーム12Aを旋回可能に連結している。第1関節A1は、水平方向に延びる軸線X3を中心として第1アーム12Aの第1端部を揺動可能に連結している。
【0022】
第1アーム12Aの第1端部は第1関節A1に連結され、第1アーム12Aの第2端部は第2関節A2に連結されている。
【0023】
第2関節A2は、第1アーム12Aの長手方向と直交する方向に延びる軸線X4を中心として第1アーム12Aの第2端部と第2アーム12Bの第1端部とを揺動可能に連結している。第2関節A2は、第2アーム12Bの長手方向に延びる軸線X5を中心として第2アーム12Bを旋回可能に連結している。
【0024】
第2アーム12Bの第1端部は第2関節A2に連結され、第2アーム12Bの第2端部は第3関節A3に連結されている。
【0025】
第3関節A3は、第2アーム12Bの長手方向と直交する方向に延びる軸線X6を中心として第2アーム12Bの第2端部とハンド部13とを揺動可能に連結している。第3関節A3は、ハンド部13の長手方向に延びる軸線X7を中心としてハンド部13を旋回可能に連結している。
【0026】
ハンド部13は、例えば、本体と複数の指とを有し、ワークを把持するためのツールである。
【0027】
次に、ロボットコントローラ100について説明する。
【0028】
図2に示すように、ロボットコントローラ100は、ロボットアーム10の動作を制御するものであり、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部:circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、ロボットコントローラ100のHDDやフラッシュメモリなどの記憶装置に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体に格納されており、記憶媒体がドライブ装置に装着されることでロボットコントローラ100のHDDやフラッシュメモリにインストールされてもよい。
【0029】
ロボットコントローラ100は、例えば、モード切替部110と、動作制御部120と、学習処理部130とを備える。
【0030】
モード切替部110は、モード切替スイッチ20から入力された情報に基づいて、ロボットアーム10の動作モードを切り替える。モード切替部110は、モード切替スイッチ20以外の入力手段の一例として、ティーチングペンダントや制御PCから入力された情報に基づいて、ロボットアーム10の動作モードを切り替えてもよい。ロボットアーム10の動作モードは、例えば、ハンド部固定モード150Aと、ハンド部フリーモード150Bと、実行モード150Cとを含む。ハンド部固定モード150A及びハンド部フリーモード150Bは、ロボットアーム10の動作を教示する際に用いられる動作モードの一例である。ハンド部固定モード150Aは、ユーザーがロボットアーム10に力を加えた場合に、ハンド部13の位置及び姿勢が固定された状態でロボットアーム10の姿勢が変更される動作モードである。ハンド部フリーモードは、ユーザーがロボットアーム10に力を加えた場合に、力を加えた方向にハンド部13の位置及び姿勢を自在に変更できる動作モードである。実行モード150Cは、ロボットアーム10が予め教示された教示データに基づいて動作する動作モードである。ハンド部フリーモード150Bは、第2モードの一例であり、ハンド部固定モード150Aは、第1モードの一例である。
【0031】
動作制御部120は、モード切替部110から入力されたロボットアーム10の動作モードに関する情報に基づいて、アクチュエータ群30の動作を制御する。アクチュエータ群30は、例えば、軸線X2を中心として第1アーム12Aを旋回させるアクチュエータと、軸線X3を中心として第1アーム12Aを揺動させるアクチュエータと、軸線X5を中心として第2アーム12Bを旋回させるアクチュエータと、軸線X4を中心として第2アーム12Bを揺動させるアクチュエータと、軸線X7を中心としてハンド部13を旋回させるアクチュエータと、軸線X6を中心としてハンド部13を揺動させるアクチュエータを含む。動作制御部120は、例えば、モード切替部110から入力されたロボットアーム10の動作モードがハンド部固定モード150Aである場合、ハンド部13を駆動対象とするアクチュエータに制御信号を送信する。これにより、ユーザーがロボットアーム10に力を加えたとしても、力を加えた方向へのハンド部13の移動が制限される。一方、動作制御部120は、例えば、モード切替部110から入力されたロボットアーム10の動作モードがハンド部フリーモード150Bである場合、ハンド部13を駆動対象とするアクチュエータを含め、アクチュエータ群30に制御信号を送信しない。これにより、ユーザーがロボットアーム10に力を加えた場合、力を加えた方向へのハンド部13の移動が許容される。
【0032】
学習処理部130は、モード切替部110から入力されたロボットアーム10の動作モードに関する情報に基づいて、ロボットアーム10の動作モードがロボットアーム10の動作を教示する際に用いられる動作モード(ハンド部固定モード150Aまたはハンド部フリーモード150B)であるか否かを判定する。学習処理部130は、ロボットアーム10の動作モードがロボットアーム10の動作を教示する際に用いられる動作モードであると判定した場合、センサ群40から入力された情報に基づいて、ユーザーがロボットアーム10に加えた力を検出し、ロボットアーム10に対する教示動作を検出する。センサ群40は、例えば、各関節A1~A3に設けられ、軸線X2,X5,X7を中心とした旋回方向に作用する荷重を検出するセンサと、軸線X3,X4,X6を中心とした揺動方向に作用する荷重を検出するセンサと、軸線X2,X5,X7を中心とした旋回角度を検出するセンサと、軸線X3,X4,X6を中心とした揺動角度を検出するセンサとを含む。学習処理部130は、検出した教示動作を教示データ160として登録する。
【0033】
学習処理部130は、例えば、ロボットアーム10の動作モードとして、ハンド部フリーモード150B、および、ハンド部固定モード150Aを順次実行する。この場合、ハンド部固定モード150Aを実行するステップが第1ステップに相当し、ハンド部フリーモード150Bを実行するステップが第2ステップに相当する。学習処理部130は、ハンド部固定モード150Aを実行する際、ロボットアーム10の少なくともハンド部13の位置及び姿勢を固定した状態で、ロボットアーム10のハンド部13よりも基端側の第1関節A1及び第2関節A2の位置及び姿勢を動かして、第1関節A1及び第2関節A2の位置及び姿勢を教示する。学習処理部130は、ハンド部フリーモード150Bを実行する際、ロボットアーム10の少なくともハンド部13の位置及び姿勢を固定しない状態で、ロボットアーム10の少なくともハンド部13を動かして、ロボットアーム10のハンド部13の位置及び姿勢を教示する。この場合、学習処理部130は、ハンド部フリーモード150Bが設定されている場合にハンド部13の位置及び姿勢を決定し、その後、ハンド部固定モード150Aが設定された場合に、ハンド部13の位置及び姿勢を維持した状態でロボットアーム10におけるハンド部13よりも基端側の関節(第1関節A1、第2関節A2、第3関節A3)の位置及び姿勢を決定する。また、学習処理部130は、例えば、ロボットアーム10の動作モードがハンド部フリーモード150Bに設定されてからハンド部固定モード150Aに切り替わるまでのハンド部13の位置及び姿勢に関する履歴情報をハンド部13に関する教示データ160として登録する。一方、学習処理部130は、例えば、ロボットアーム10の動作モードがハンド部固定モード150Aに設定された後には、ハンド部13の位置及び姿勢に関する履歴情報をハンド部13に関する教示データ160の対象から除外する。また、学習処理部130は、例えば、ロボットアーム10の動作モードがハンド部フリーモード150Bに設定されてからハンド部固定モード150Aに切り替わり、その後、ハンド部フリーモード150Bに切り替わるまでの各関節A1,A2,A3の位置及び姿勢に関する履歴情報を各関節A1,A2,A3に関する教示データ160として登録する。
【0034】
動作制御部120は、例えば、モード切替部110から入力されたロボットアーム10の動作モードが実行モード150Cである場合、学習処理部130により学習された教示データ160に基づいてアクチュエータ群30の動作を制御する。これにより、ロボットアーム10は、事前に教示された動作に従って動作する。
【0035】
図3は、教示データのデータ内容の一例を示す図である。同図に示す例では、時刻T1においてロボットアーム10の動作モードがハンド部フリーモード150Bに設定され、時刻Taにおいてロボットアーム10の動作モードがハンド部固定モード150Aに切り替わり、時刻Taから時刻Tnまでロボットアーム10の動作モードがハンド部固定モード150Aに維持される。
【0036】
この例では、時刻T1における第3関節A3の位置情報が「θ11」であり、時刻T1における第3関節A3の姿勢情報が「φ11」である。第3関節A3の位置情報とは、例えば、軸線X6を中心としたハンド部13の回転角度を示し、ハンド部13の位置に相当する。第3関節A3の姿勢情報とは、軸線X7を中心としたハンド部13の旋回角度を示し、ハンド部13の姿勢に相当する。また、時刻Taにおける第3関節A3の位置情報が「θ1a」であり、時刻Taにおける第3関節A3の姿勢情報が「φ1a」である。そして、時刻T1から時刻Taまでの所定の時間間隔における第3関節A3の位置情報及び姿勢情報の時系列データがハンド部13に関する教示データ160として登録される。
【0037】
また、この例では、時刻T1における第1関節A1の位置情報が「θ21」であり、時刻T1における第1関節A1の姿勢情報が「φ21」である。第1関節A1の位置情報とは、軸線X3を中心とした第1アーム12Aの回転角度を示し、第1関節A1の姿勢情報とは、軸線X2を中心とした第1アーム12Aの旋回角度を示す。また、時刻Taにおける第1関節A1の位置情報が「θ2a」であり、時刻Taにおける第1関節A1の姿勢情報が「φ2a」である。また、時刻Tnにおける第1関節A1の位置情報が「θ2n」であり、時刻Tnにおける第1関節A1の姿勢情報が「φ2n」である。そして、時刻T1から時刻Tnまでの所定の時間間隔における第1関節A1の位置情報及び姿勢情報の時系列データが第1関節A1に関する教示データ160として登録される。また、図示は省略したが、時刻T1から時刻Tnまでの所定の時間間隔における第2関節A2及び第3関節A3の位置情報及び姿勢情報の時系列データも同様に第2関節A2及び第3関節A3に関する教示データ160として登録される。
【0038】
図4は、ハンド部13の位置情報の時間変化の一例を示すグラフである。図5は、第1関節A1の位置情報の時間変化の一例を示すグラフである。図4及び図5に示す例では、時刻T1においてロボットアーム10の動作モードがハンド部フリーモード150Bに設定される。そして、時刻Taにおいてハンド部13の位置が所望の位置θAに達した場合、ロボットアーム10の動作モードがハンド部固定モード150Aに切り替わる。その後、時刻Taから時刻Tnまでの間、ロボットアーム10の動作モードがハンド部固定モード150Aに維持される。図4に示す例では、時刻T1から時刻Taまでのハンド部13の位置に関する時系列データがハンド部13に関する教示データ160として登録され、時刻Taから時刻Tnまでのハンド部13の位置に関する時系列データがハンド部13に関する教示データ160の対象から除外される。図5に示す例では、時刻T1から時刻Tnまでの第1関節A1の位置に関する時系列データが第1関節A1に関する教示データ160として登録される。
【0039】
次に、本実施形態に係るロボットコントローラ100が実行する教示データ160の登録処理について説明する。
【0040】
図6に示すように、ロボットコントローラ100は、まず、モード切替スイッチ20から入力された情報に基づいて、ロボットアーム10の動作モードをハンド部フリーモード150Bに切り替える(ステップS10)。
【0041】
次に、ロボットコントローラ100は、センサ群40から入力された情報に基づいて、ロボットアーム10の教示動作を検出する(ステップS11)。
【0042】
次に、ロボットコントローラ100は、先のステップS11において検出された教示動作に基づいて、ハンド部13の位置が所望の位置に到達したか否かを判定する(ステップS12)。
【0043】
ロボットコントローラ100は、ハンド部13の位置が所望の位置に到達していないと判定した場合(ステップS12=NO)、その処理をステップS11に戻し、ハンド部13の位置が所望の位置に到達するまでの間、教示動作の検出を継続する。
【0044】
一方、ロボットコントローラ100は、ハンド部13の位置が所望の位置に到達したと判定した場合(ステップS12=YES)、先のステップS11において検出された教示動作の履歴データに基づいて、ハンド部13に関する教示データ160を登録する(ステップS13)。
【0045】
次に、ロボットコントローラ100は、先のステップS11において検出された教示動作に基づいて、アーム部12の姿勢が所望の姿勢であるか否かを判定する(ステップS14)。
【0046】
ロボットコントローラ100は、アーム部12の姿勢が所望の姿勢であると判定した場合(ステップS14=YES)、図6に示すフローチャートを終了する。一方、ロボットコントローラ100は、アーム部12の姿勢が所望の姿勢ではないと判定した場合(ステップS14=NO)、モード切替スイッチ20から入力された情報に基づいて、ロボットアーム10の動作モードをハンド部固定モード150Aに切り替える(ステップS15)。
【0047】
次に、ロボットコントローラ100は、センサ群40から入力された情報に基づいて、ロボットアーム10の教示動作を検出する(ステップS16)。
【0048】
次に、ロボットコントローラ100は、先のステップS16において検出された教示動作に基づいて、アーム部12の姿勢が所望の姿勢に到達したか否かを判定する(ステップS17)。
【0049】
ロボットコントローラ100は、アーム部12の姿勢が所望の姿勢に到達していないと判定した場合(ステップS17=NO)、その処理をステップS16に戻し、アーム部12の姿勢が所望の姿勢に到達するまでの間、教示動作の検出を継続する。
【0050】
一方、ロボットコントローラ100は、アーム部12の姿勢が所望の姿勢に到達したと判定した場合(ステップS17=YES)、モード切替スイッチ20から入力された情報に基づいて、ロボットアーム10の動作モードをハンド部フリーモード150Bに切り替える(ステップS18)。
【0051】
そして、ロボットコントローラ100は、先のステップS16において検出された教示動作の履歴データに基づいて、アーム部12に関する教示データ160を登録し(ステップS19)、図6に示すフローチャートを終了する。
【0052】
次に、本実施形態に係るロボットアーム10の動作教示方法の作用について説明する。
図7に示すように、ロボットアーム10のハンド部13に把持されたワークWを、障害物MAを回避しつつ処理装置200まで搬送する場合、まず、ロボットアーム10の動作モードをハンド部フリーモード150Bに設定し、ハンド部13の姿勢を自在に変更できる状態で、ロボットアーム10のハンド部13を障害物MAの上方まで移動させる。この場合、ロボットアーム10の姿勢の変化の履歴データが教示データ160として登録される。
【0053】
次に、ロボットアーム10の動作モードをハンド部固定モード150Aに設定し、ハンド部13の位置及び姿勢を固定した状態で、ハンド部13を処理装置200まで移動させる。この場合、ロボットアーム10の姿勢の変化の履歴データが教示データ160として登録される。
【0054】
ここで、ハンド部13を障害物MAの上方から処理装置200まで移動させる際、ハンド部13の位置及び姿勢が固定されるため、ロボットアーム10の姿勢の変化に伴って、ハンド部13の姿勢を調整し直すことが不要となる。すなわち、ロボットアーム10の姿勢の調整が円滑に行われる。そのため、ロボットアーム10の効率的な動作が教示データ160として登録され、ロボットアーム10を適切な姿勢に移行するまでのタクトタイムを短縮することができる。
【0055】
また、ロボットアーム10の動作モードをハンド部フリーモード150Bからハンド部固定モード150Aに切り替えた時点におけるハンド部13の姿勢を教示データ160として登録し、ハンド部固定モード150Aに切り替えた後には、ハンド部13の姿勢が維持されることから、ロボットアーム10のハンド部13の位置及び姿勢に関するデータは教示データ160として登録されない。そのため、教示データ160のデータ量の削減に寄与することができる。
【0056】
なお、上記実施形態は、以下のような形態にて実施することもできる。
【0057】
上記実施形態においては、ロボットアーム10の位置及び姿勢に関するデータを教示データ160として登録したが、ロボットアーム10の動作に関する最適解を逆運動方程式に基づいて解く際の拘束条件に関するパラメータを教示データ160として登録してもよい。
【0058】
なお、以上説明した各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るとともに、本発明にはその等価物も含まれる。即ち、各実施形態に当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。例えば、各実施形態が備える各要素及びその配置、材料、条件、形状、サイズなどは、例示したものに限定されるわけではなく適宜変更することができる。また、各実施形態は例示であり、異なる実施形態で示した構成の部分的な置換又は組み合わせが可能であることは言うまでもなく、これらも本発明の特徴を含む限り本発明の範囲に包含される。
【符号の説明】
【0059】
10…ロボットアーム、11…基部、11A…第1基部、11B…第2基部、12…アーム部、12A…第1アーム、12B…第2アーム、13…ハンド部、20…モード切替スイッチ、30…アクチュエータ群、40…センサ群、100…ロボットコントローラ、110…モード切替部、120…動作制御部、130…学習処理部、150A…ハンド部固定モード、150B…ハンド部フリーモード、150C…実行モード、160…教示データ、A1…第1関節、A2…第2関節、A3…第3関節。
図1
図2
図3
図4
図5
図6
図7