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

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

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

<>
  • 特開-ロボットシステム 図1
  • 特開-ロボットシステム 図2
  • 特開-ロボットシステム 図3
  • 特開-ロボットシステム 図4
  • 特開-ロボットシステム 図5
  • 特開-ロボットシステム 図6
  • 特開-ロボットシステム 図7
  • 特開-ロボットシステム 図8
  • 特開-ロボットシステム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023128035
(43)【公開日】2023-09-14
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
   B25J 9/22 20060101AFI20230907BHJP
   G05B 19/42 20060101ALI20230907BHJP
【FI】
B25J9/22 Z
G05B19/42 D
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022032081
(22)【出願日】2022-03-02
(71)【出願人】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100121821
【弁理士】
【氏名又は名称】山田 強
(74)【代理人】
【識別番号】100125575
【弁理士】
【氏名又は名称】松田 洋
(72)【発明者】
【氏名】加藤 雄資
【テーマコード(参考)】
3C269
3C707
【Fターム(参考)】
3C269AB33
3C269BB09
3C269MN44
3C269SA02
3C707BS12
3C707KS21
3C707KS31
3C707KS33
3C707KX10
3C707LS02
3C707LU10
3C707LV15
3C707LW12
(57)【要約】
【課題】ダイレクトティーチングを実行可能なロボットシステムにおいて、ユーザが特別な態様の外力を付与すること及び現在の移動態様を意識することを必要とせず、ロボットの移動態様を切り替える。
【解決手段】ロボットシステム(10)は、アームを有するロボット(20)と、アームに付与された外力を検出する外力検出部(36)と、外力検出部により検出された外力が、アームにおいて第1部位又は第1部位よりも先端側の第2部位のいずれに付与されたか検出する部位検出部(37)と、ダイレクトティーチングを実行する際に、部位検出部により第1部位が検出された場合に外力検出部により検出された外力に基づいて第1移動態様でアームを移動させ、部位検出部により第2部位が検出された場合に外力検出部により検出された外力に基づいて第1移動態様よりも移動しにくい第2移動態様でアームを移動させる制御部(50)と、を備える。
【選択図】 図2
【特許請求の範囲】
【請求項1】
ダイレクトティーチングを実行可能なロボットシステムであって、
アームを有するロボットと、
前記アームに付与された外力を検出する外力検出部と、
前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第1部位よりも先端側の第2部位のいずれに付与されたか検出する部位検出部と、
ダイレクトティーチングを実行する際に、前記部位検出部により前記第1部位が検出された場合に前記外力検出部により検出された前記外力に基づいて第1移動態様で前記アームを移動させ、前記部位検出部により前記第2部位が検出された場合に前記外力検出部により検出された前記外力に基づいて前記第1移動態様よりも移動しにくい第2移動態様で前記アームを移動させる制御部と、
を備えるロボットシステム。
【請求項2】
前記アームは、相対回転可能に連結された複数のリンクを有し、
前記第1部位は、前記複数のリンクのうち先端以外のリンクであり、
前記第2部位は、前記複数のリンクのうち先端のリンクである、請求項1に記載のロボットシステム。
【請求項3】
前記複数のリンクは、3以上のリンクを含み、
前記先端から3番目のリンクの中間には、前記アームに付与された力及びモーメントを検出する力覚センサが設けられ、
前記外力検出部は、前記力覚センサにより検出された前記力及び前記モーメントに基づいて、前記外力を検出する、請求項2に記載のロボットシステム。
【請求項4】
前記第1移動態様は、第1速度で前記アームを移動させる移動態様であり、
前記第2移動態様は、前記第1速度よりも低い第2速度で前記アームを移動させる移動態様である、請求項1~3のいずれか1項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ダイレクトティーチングを実行可能なロボットシステムに関する。
【背景技術】
【0002】
この種のロボットシステムでは、例えば所定の作業場所から別の作業場所へロボットのアーム先端のツールを移動させる際にはロボットを高速で移動可能とし、ワークにツールの位置を合わせる際にはロボットを低速で移動可能とすることが望ましい。そこで、特許文献1に記載のロボットシステムは、6軸力センサにより検出された外力が、所定時間内の2回の外力によるダブルタップである場合に、ダブルタップされた位置に応じて異なる動作モードに切り替えている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2019-18257号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、特許文献1に記載のロボットシステムでは、所定時間内の2回の外力によるダブルタップを、ダイレクトティーチングにおいてロボットを移動させるために付与する外力と区別して、ロボットの動作モード(移動態様)を切り替えるための指令であると認識している。このため、ロボットの動作モードを切り替えるためには、ユーザはダイレクトティーチングにおいてロボットを移動させる外力とは異なる特別な態様の外力を付与する必要がある。さらに、ダイレクトティーチングを中断した場合に、ユーザは、現在の動作モードがどの動作モードであるか分かりにくく、動作モードを切り替える必要があるか否か判断しにくいという問題もある。
【0005】
本発明は、こうした課題を解決するためになされたものであり、その主たる目的は、ダイレクトティーチングを実行可能なロボットシステムにおいて、ユーザが特別な態様の外力を付与すること及び現在の移動態様を意識することを必要とせず、ロボットの移動態様を切り替えることにある。
【課題を解決するための手段】
【0006】
上記課題を解決するための第1の手段は、
ダイレクトティーチングを実行可能なロボットシステムであって、
アームを有するロボットと、
前記アームに付与された外力を検出する外力検出部と、
前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第1部位よりも先端側の第2部位のいずれに付与されたか検出する部位検出部と、
ダイレクトティーチングを実行する際に、前記部位検出部により前記第1部位が検出された場合に前記外力検出部により検出された前記外力に基づいて第1移動態様で前記アームを移動させ、前記部位検出部により前記第2部位が検出された場合に前記外力検出部により検出された前記外力に基づいて前記第1移動態様よりも移動しにくい第2移動態様で前記アームを移動させる制御部と、
を備える。
【0007】
上記構成によれば、ロボットシステムは、ダイレクトティーチングを実行可能である。ロボットは、アームを有している。外力検出部は、前記アームに付与された外力を検出する。
【0008】
ここで、部位検出部は、前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第1部位よりも先端側の第2部位のいずれに付与されたか検出する。そして、制御部は、ダイレクトティーチングを実行する際に、前記部位検出部により前記第1部位が検出された場合に前記外力検出部により検出された前記外力に基づいて第1移動態様で前記アームを移動させる。このため、ダイレクトティーチングにおいてアームを移動させるためにユーザが付与する外力(以下、「移動用外力」という)が第1部位に付与された場合に、制御部は第1移動態様に切り替えてそのまま移動用外力に基づいてアームを移動させる。すなわち、ユーザは、移動用外力とは異なる特別な態様の外力を付与する必要がなく、移動用外力を第1部位に付与することにより、移動用外力に基づいて第1移動態様でアームを移動させることができる。
【0009】
また、制御部は、前記部位検出部により前記第2部位が検出された場合に前記外力検出部により検出された前記外力に基づいて前記第1移動態様よりも移動しにくい第2移動態様で前記アームを移動させる。このため、ダイレクトティーチングにおいて移動用外力が前記第1部位よりも先端側の第2部位に付与された場合に、制御部は前記第1移動態様よりも移動しにくい第2移動態様に切り替えてそのまま移動用外力に基づいてアームを移動させる。すなわち、ユーザは、移動用外力とは異なる特別な態様の外力を付与する必要がなく、移動用外力を第2部位に付与することにより、移動用外力に基づいて第2移動態様でアームを移動させることができる。
【0010】
さらに、ユーザは、所望の移動態様に応じて第1部位又は第2部位を選択して移動用外力を付与することにより、所望の移動態様でアームを移動させることができるため、現在の移動態様を意識する必要がない。しかも、ユーザは、第1部位に移動用外力を付与すれば第1移動態様でアームを移動させることができ、第1部位よりも先端側の第2部位に移動用外力を付与すれば第1移動態様よりも移動しにくい第2移動態様でアームを移動させることができる。したがって、ユーザは、ダイレクトティーチング中の自然な操作により、直感的に第1移動態様と第2移動態様とを切り替えることができる。
【0011】
具体的には、第2の手段のように、前記アームは、相対回転可能に連結された複数のリンクを有し、前記第1部位は、前記複数のリンクのうち先端以外のリンクであり、前記第2部位は、前記複数のリンクのうち先端のリンクである、といった構成を採用することができる。こうした構成によれば、ユーザは、先端のリンクの位置を微調整したい場合に、先端のリンクに移動用外力を付与することにより、直感的に第2移動態様でアームを移動させることができる。また、ユーザは、アームを大きく移動させたい場合に、先端以外のリンクに移動用外力を付与することにより、直感的に第1移動態様でアームを移動させることができる。
【0012】
外力検出部が力覚センサにより検出された力及びモーメントに基づいて外力を検出する場合、以下の問題が生じる。すなわち、先端のリンクに力覚センサを取り付けた場合は、先端のリンク(第2部位)若しくは先端のリンクよりも先端側のツール等に付与された力及びモーメントしか力覚センサにより検出することができず、第2部位よりも基端側の第1部位に付与された力及びモーメントを力覚センサにより検出することができない。また、基端に近いリンクに力覚センサを取り付けた場合は、大きな力に耐え得る高い剛性と、微小な外力を検出し得る高い検出精度が力覚センサに要求される。
【0013】
この点、第3の手段では、前記複数のリンクは、3以上のリンクを含み、前記先端から3番目のリンクの中間には、前記アームに付与された力及びモーメントを検出する力覚センサが設けられ、前記外力検出部は、前記力覚センサにより検出された前記力及び前記モーメントに基づいて、前記外力を検出する。
【0014】
上記構成によれば、例えば先端のリンクを第2部位とし、先端から3番目のリンクにおける力覚センサよりも先端側の部位及び先端から2番目のリンクを第1部位として、第1部位及び第2部位に付与された力及びモーメントを力覚センサにより検出することができる。また、先端に近いリンクに力覚センサが設けられているため、力覚センサに高い剛性は要求されず、且つ第1部位及び第2部位に付与された力及びモーメントを力覚センサにより高い検出精度で検出することができる。
【0015】
さらに、先端のリンク(第2部位)若しくは先端のリンクよりも先端側のツール等に付与された力及びモーメントを力覚センサにより高い検出精度で検出することができるため、ダイレクトティーチング中に限らず、ロボットの自動運転中にツール等に作用する力及びモーメントを検出するセンサとして力覚センサを利用することができる。
【0016】
第4の手段では、前記第1移動態様は、第1速度で前記アームを移動させる移動態様であり、前記第2移動態様は、前記第1速度よりも低い第2速度で前記アームを移動させる移動態様である。
【0017】
上記構成によれば、ユーザは、第2部位の位置を微調整したい場合に、第2部位に移動用外力を付与することにより、第1速度よりも低い第2速度でアームを移動させることができる。また、ユーザは、アームを大きく移動させたい場合に、第1部位に移動用外力を付与することにより、第2速度よりも高い第1速度でアームを移動させることができる。このとき、ユーザは、特別な態様の外力を付与する必要がなく且つ現在の移動態様を意識する必要がなく、ダイレクトティーチング中の自然な操作でアームの移動速度を切り替えることができる。
【図面の簡単な説明】
【0018】
図1】ロボットの模式図。
図2】ロボットシステムの構成を示すブロック図。
図3】機械学習装置の構成を示すブロック図。
図4】機械学習の手順を示すフローチャート。
図5】ダイレクトティーチングの手順を示すフローチャート。
図6】ロボットの変更例の模式図。
図7】ロボットシステムの変更例の構成を示すブロック図。
図8】ロボットシステムの他の変更例の構成を示すブロック図。
図9】ロボットの他の変更例の模式図。
【発明を実施するための形態】
【0019】
以下、ダイレクトティーチングを実行可能なロボットシステムに具現化した一実施形態について、図面を参照しつつ説明する。
【0020】
まず、ロボットシステムが備える6軸の垂直多関節型のロボットの構成について説明する。
【0021】
図1に示すように、ロボット20は、床面に固定されたベースB(基台)と、ベースBに対して鉛直な第1軸線J1回りに旋回可能に支持された第1リンク21と、第1リンク21に対して水平な第2軸線J2回りに揺動可能に支持された第2リンク22と、第2リンク22の先端に第2軸線J2に平行な第3軸線J3回りに揺動可能に支持された第3リンク23と、第3リンク23の延びる方向の第4軸線J4回りに捻り回転可能に支持された第4リンク24と、第4リンク24の先端に第2軸線J2に平行な第5軸線J5回りに揺動可能に支持された第5リンク25(手首)と、第5リンク25の延びる方向の第6軸線J6回りに捻り回転可能に支持された第6リンク26(フランジ)と、を備えている。なお、第1リンク21~第6リンク26により、ロボット20のアームが構成されている。すなわち、アームは、相対回転可能に連結された第1リンク21~第6リンク26を有している。
【0022】
第4リンク24(先端から3番目のリンク、所定リンク)の中間には、力とモーメントとを検出する6軸の力覚センサ31が配置されている。力覚センサ31は、アームにおいて力覚センサ31よりも先端側、すなわち先端から3番目の第4リンク24における力覚センサ31よりも先端側の部位、第5リンク25、及び第6リンク26に付与された力及びモーメントを検出可能である。なお、先端の第6リンク26に力覚センサ31を取り付けた場合は、先端の第6リンク26若しくは先端の第6リンク26よりも先端側のツール等に付与された力及びモーメントしか力覚センサ31により検出することができない。また、基端に近い例えば第1リンク21に力覚センサ31を取り付けた場合は、大きな力に耐え得る高い剛性と、微小な外力を検出し得る高い検出精度が力覚センサ31に要求される。
【0023】
第4リンク24と第5リンク25との間には、第4リンク24と第5リンク25との間に作用するトルクを検出するトルクセンサ32Eが設けられている。第5リンク25と第6リンク26との間には、第5リンク25と第6リンク26との間に作用するトルクを検出するトルクセンサ32F(図示略)が設けられている。なお、トルクセンサ32E,32Fを総称してトルクセンサ32という。すなわち、トルクセンサ32は、互いに連結されたリンクの間に作用するトルクを検出する。
【0024】
図2に示すように、ロボットシステム10は、ダイレクトティーチング制御部50を備えている。ダイレクトティーチング制御部50(制御部)は、ユーザがロボット20に直接外力を付与して手動で移動させるダイレクトティーチングモードを選択することを可能とする。ダイレクトティーチングモードが選択された場合には、手動で移動させた各位置における教示操作によって、ロボット20の各軸の位置情報を順次記憶することにより、簡易に動作プログラムを教示することができる。
【0025】
そして、ダイレクトティーチング制御部50は、ダイレクトティーチングにおいてアームを移動させるためにユーザが付与した外力(以下、「移動用外力」という)が、ロボット20のアームに付与された部位に応じて動作モード(移動態様)を切り替える。
【0026】
ロボット20は、関節角度センサ33、外力検出部36、及び接触部位検出部37を備えている。
【0027】
関節角度センサ33(角度センサ)は、ベースBと第1リンク21との間の角度(関節角度)を検出する関節角度センサ33A、第1リンク21と第2リンク22との間の角度を検出する関節角度センサ33B、第2リンク22と第3リンク23との間の角度を検出する関節角度センサ33C、第3リンク23と第4リンク24との間の角度を検出する関節角度センサ33D、第4リンク24と第5リンク25との間の角度を検出する関節角度センサ33E、及び第5リンク25と第6リンク26との間の角度を検出する関節角度センサ33Fを含んでいる。すなわち、関節角度センサ33は、互いに連結されたリンクの間の角度を検出する。
【0028】
外力検出部36は、力覚センサ31により検出された力及びモーメントに基づいて、アームに付与された外力(ロボット20に作用した外力)を検出する。なお、外力検出部36は、アームに付与された外力を検出する際に、トルクセンサ32により検出されたトルクを加味してもよい。
【0029】
接触部位検出部37(部位検出部)は、外力検出部36により検出された外力が、アームにおいて第1部位又は第1部位よりも先端側の第2部位のいずれに付与されたか検出する。第1部位は、第1リンク21~第6リンク26(複数のリンク)のうち第4リンク24及び第5リンク25(先端以外のリンク)である。第2部位は、第1リンク21~第6リンク26のうち第6リンク26(先端のリンク)である。
【0030】
具体的には、接触部位検出部37(位置検出部)は、外力検出部36により検出された外力、関節角度センサ33により検出された関節角度、及びトルクセンサ32により検出されたトルクを、学習済みAIモデル37aに入力して、外力検出部36により検出された外力がアームにおいて第1部位又は第2部位のいずれに付与されたか(ロボット20に作用した位置)を検出する。接触部位検出部37は、検出した部位をダイレクトティーチング制御部50へ出力する。
【0031】
ダイレクトティーチング制御部50は、ダイレクトティーチングを実行する際に、接触部位検出部37により第1部位が検出された場合に外力検出部36により検出された外力に基づいて高速動作モード(第1移動態様)でアーム(ロボット20)を移動させ、接触部位検出部37により第2部位が検出された場合に外力検出部36により検出された外力に基づいて高速動作モードよりも移動しにくい低速動作モード(第2移動態様)でアームを移動させる。高速動作モードは、第1速度V1でアームを移動させる動作モード(移動態様)である。低速動作モードは、第1速度V1よりも低い第2速度V2でアームを移動させる動作モード(移動態様)である。なお、第1速度V1及び第2速度V2は、一定であってもよいし、外力検出部36により検出された外力に応じて変化させてもよいが、第2速度V2は第1速度V1よりも低い速度である(V2<V1)。
【0032】
次に、学習済みAIモデル37aを生成する機械学習装置について説明する。図3は、機械学習装置60の構成を示すブロック図である。機械学習装置60は、データ取得部70と、学習部80とを備えている。なお、機械学習装置60は、ロボットシステム10において、ロボット20と別に設けられていてもよいし、ロボット20に搭載されていてもよい。
【0033】
機械学習装置60は、プロセッサ(CPU、GPU等)、記憶部(ROM、RAM等)、及び入力装置(キーボード、マウス、タッチパネル等)等を有するコンピュータ、又は、学習アルゴリズム等のソフトウェア(プログラム)により構成されている。
【0034】
データ取得部70は、ロボット20に作用し得る範囲の外力を、ランダム外力データとして生成する。詳しくは、ダイレクトティーチングにおいてユーザがロボット20に付与する外力として想定し得る範囲において、外力を網羅的にランダムに生成する。
【0035】
データ取得部70は、互いに連結されたリンク21~26の間でなし得る範囲の角度を、ランダム関節角度データとして生成する。詳しくは、ダイレクトティーチングにおいてロボット20のアームがとる姿勢として想定し得る範囲において、リンク間の角度(関節角度)を網羅的にランダムに生成する。
【0036】
データ取得部70は、ロボット20に外力が作用し得る範囲の位置を、接触部位データとして生成する。詳しくは、ダイレクトティーチングにおいてユーザがロボット20に外力を付与する位置として、上記第1部位と上記第2部位とを生成する。
【0037】
ロボット20に作用する外力、リンク間の角度、及びロボット20に外力が作用する位置は、ダイレクトティーチングにおけるロボット20の動作態様を考慮することにより、上記のように生成することができる。これに対して、リンク間のトルクは、隣接するリンク以外のリンクからも影響を受けており、ロボット20の動作態様を考慮したとしても直接生成することは容易ではない。一方、ロボット20に作用する外力、リンク間の角度、及び外力が作用する位置に基づいて、リンク間のトルクを計算することは容易であることに、本願発明者は着目した。
【0038】
そこで、データ取得部70は、生成したランダム外力データ、生成したランダム関節角度データ、及び生成した接触部位データに基づいて、ロボット20の各軸に作用するトルクとしての関節トルクデータを計算する。この計算は、公知の一般的手法により容易に行うことができる。詳しくは、ランダム外力データ、ランダム関節角度データ、及び接触部位データを組み合わせ、それぞれの組み合わせについて関節トルクデータを計算する。
【0039】
データ取得部70は、ランダム外力データ、ランダム関節角度データ、接触部位データ、及び関節トルクデータに、それぞれ前処理を実行する。例えば、ランダム外力データ及び関節トルクデータに対しては、データのスケールを-1~+1の範囲に近い値に変換する標準化処理をそれぞれ実行する。ランダム関節角度データはsin波形及びcos波形に変換し、データの不連続変化を抑制するとともにデータのスケールを-1~+1の範囲に揃える。接触部位データに対しては、各接触部位に応じた成分のみ1で残りの成分が全て0のベクトルで表現するワンホットベクトル化を実行する。
【0040】
そして、データ取得部70は、それぞれ前処理を実行したランダム外力データ、ランダム関節角度データ、関節トルクデータ、及び接触部位データを、教師データ(学習データセット)として取得する。詳しくは、ランダム外力データ、ランダム関節角度データ、及び関節トルクデータが例題データ(入力データ)であり、接触部位データが正解データ(出力データ)である。
【0041】
学習部80は、教師データに基づいて、外力と関節角度と関節トルクと接触部位との関係を表すAIモデル80aを学習する。すなわち、学習部80は、教師あり学習を実行することで、学習済みのAIモデル80aを生成する。このような教師あり学習として、例えば、ディープラーニング(深層学習)、サポートベクターマシン(SVM)、混合ガウスモデル(GMM)等のアルゴリズムを用いることができる。
【0042】
そして、ロボット20は、学習部80により学習されたAIモデル80a(予め取得した所定関係)を、上記接触部位検出部37の学習済みAIモデル37aとして導入する。接触部位検出部37は、外力検出値、関節角度検出値、及び関節トルク検出値を、学習済みAIモデル37aに入力することにより、ユーザがロボット20に接触した部位(外力がロボット20に作用した位置)を検出(推定)する。なお、外力検出値、関節角度検出値、及び関節トルク検出値から、外力が作用した位置を計算する計算式を立てることは、複雑な条件を設定する必要があり容易ではない。
【0043】
図4は、機械学習装置60により実行される機械学習の手順を示すフローチャートである。各処理の詳細な内容は、上述した通りである。
【0044】
データ取得部70は、ランダム外力データ、ランダム関節角度データ、及び接触部位データを生成する(S10~S12)。データ取得部70は、関節トルクデータを計算する(S13)。データ取得部70は、ランダム外力データ、ランダム関節角度データ、及び接触部位データに前処理を実行する(S14)。学習部80は、前処理を実行したランダム外力データ、ランダム関節角度データ、関節トルクデータ、及び接触部位データに基づいて、AIモデル80aを学習する(S15)。
【0045】
図5は、ダイレクトティーチングの手順を示すフローチャートである。この一連の処理は、ダイレクトティーチング制御部50により実行される。
【0046】
まず、力覚センサ31により力を検知したか否か判定する(S20)。この判定において、力覚センサ31により力を検知していないと判定した場合(S20:NO)、S20の処理を再度実行する。
【0047】
一方、S20の判定において、力覚センサ31により力を検知したと判定した場合(S20:YES)、ユーザがロボット20に接触した部位は第6リンク26であるか否か判定する(S21)。この判定において、ユーザがロボット20に接触した部位は第6リンク26であると判定した場合(S21:YES)、低速動作モードでロボット20のアームを移動させる(S22)。一方、S21の判定において、ユーザがロボット20に接触した部位は第6リンク26でないと判定した場合(S21:NO)、高速動作モードでロボット20のアームを移動させる(S23)。
【0048】
続いて、ユーザの操作に応じて、ロボット20のアームの位置及び姿勢を教示する(S24)。ユーザによる教示操作が終了したか否か判定する(S25)。この判定において、ユーザによる教示操作が終了していないと判定した場合(S25:NO)、S20の処理から再度実行する。一方、この判定において、ユーザによる教示操作が終了したと判定した場合(S25:YES)、この一連の処理を終了する(END)。
【0049】
以上詳述した本実施形態は、以下の利点を有する。
【0050】
・接触部位検出部37は、外力検出部36により検出された外力が、アームにおいて第1部位又は第1部位よりも先端側の第2部位のいずれに付与されたか検出する。そして、ダイレクトティーチング制御部50は、ダイレクトティーチングを実行する際に、接触部位検出部37により第1部位が検出された場合に外力検出部36により検出された外力に基づいて高速動作モードでアームを移動させる。このため、ダイレクトティーチングにおいてアームを移動させるためにユーザが付与する外力(以下、「移動用外力」という)が第1部位に付与された場合に、ダイレクトティーチング制御部50は高速動作モードに切り替えてそのまま移動用外力に基づいてアームを移動させる。すなわち、ユーザは、移動用外力とは異なる特別な態様の外力を付与する必要がなく、移動用外力を第1部位に付与することにより、移動用外力に基づいて高速動作モードでアームを移動させることができる。
【0051】
・ダイレクトティーチング制御部50は、接触部位検出部37により第2部位が検出された場合に外力検出部36により検出された外力に基づいて高速動作モードよりも移動しにくい低速動作モードでアームを移動させる。このため、ダイレクトティーチングにおいて移動用外力が第1部位よりも先端側の第2部位に付与された場合に、ダイレクトティーチング制御部50は高速動作モードよりも移動しにくい低速動作モードに切り替えてそのまま移動用外力に基づいてアームを移動させる。すなわち、ユーザは、移動用外力とは異なる特別な態様の外力を付与する必要がなく、移動用外力を第2部位に付与することにより、移動用外力に基づいて低速動作モードでアームを移動させることができる。
【0052】
・ユーザは、所望の動作モードに応じて第1部位又は第2部位を選択して移動用外力を付与することにより、所望の動作モードでアームを移動させることができるため、現在の動作モードを意識する必要がない。しかも、ユーザは、第1部位に移動用外力を付与すれば高速動作モードでアームを移動させることができ、第1部位よりも先端側の第2部位に移動用外力を付与すれば高速動作モードよりも移動しにくい低速動作モードでアームを移動させることができる。したがって、ユーザは、ダイレクトティーチング中の自然な操作により、直感的に高速動作モードと低速動作モードとをリアルタイムで切り替えることができる。
【0053】
・ユーザは、第6リンク26の位置を微調整したい場合に、第6リンク26に移動用外力を付与することにより、直感的に低速動作モードでアームを移動させることができる。また、ユーザは、アームを大きく移動させたい場合に、第5リンク25又は第4リンク24に移動用外力を付与することにより、直感的に高速動作モードでアームを移動させることができる。
【0054】
・第6リンク26を第2部位とし、第4リンク24における力覚センサ31よりも先端側の部位及び第5リンク25を第1部位として、第1部位及び第2部位に付与された力及びモーメントを力覚センサ31により検出することができる。また、先端に近い第4リンク24に力覚センサ31が設けられているため、力覚センサ31に高い剛性は要求されず、且つ第1部位及び第2部位に付与された力及びモーメントを力覚センサ31により高い検出精度で検出することができる。
【0055】
・第6リンク26若しくは第6リンク26よりも先端側のツール等に付与された力及びモーメントを力覚センサ31により高い検出精度で検出することができるため、ダイレクトティーチング中に限らず、ロボット20の自動運転中にツール等に作用する力及びモーメントを検出するセンサとして力覚センサ31を利用することができる。
【0056】
・ユーザは、第2部位の位置を微調整したい場合に、第2部位に移動用外力を付与することにより、第1速度V1よりも低い第2速度V2でアームを移動させることができる。また、ユーザは、アームを大きく移動させたい場合に、第1部位に移動用外力を付与することにより、第2速度V2よりも高い第1速度V1でアームを移動させることができる。このとき、ユーザは、特別な態様の外力を付与する必要がなく且つ現在の動作モードを意識する必要がなく、ダイレクトティーチング中の自然な操作でアームの移動速度を切り替えることができる。
【0057】
・学習部80は、データ取得部70により取得された教師データに基づいて、外力と関節角度と関節トルクと接触位置との関係を表すAIモデル80aを学習する。教師データに基づくAIモデル80aの学習では、複雑な条件を設定する必要がなく、公知の学習アルゴリズムを採用することができる。したがって、ロボット20の姿勢が任意に変化する場合であっても、検出された外力、検出されたリンク間の角度、及び検出されたリンク間のトルクを、学習済みAIモデル37aに入力することにより、ロボット20に外力が作用した位置を特定することができる。
【0058】
・データ取得部70は、ランダム外力データ、ランダム関節角度データ、及び接触部位データに基づいて、関節トルクのデータを計算により取得する。したがって、教師データに用いるリンク間のトルクのデータを、容易に取得することができる。
【0059】
・接触部位データは、ロボット20における第1部位と、ロボット20における第1部位よりも先端側の第2部位とからなる。こうした構成によれば、検出された外力、検出されたリンク間の角度、及び検出されたリンク間のトルクを、学習済みAIモデル37aに入力することにより、ロボット20において第1部位又は第2部位のいずれに外力が作用したか特定することができる。さらに、接触部位データが第1部位及び第2部位のみであるため、データ取得部70により接触部位データを取得させることが容易である。
【0060】
・ロボットシステム10は、機械学習装置60を備えている。そして、接触部位検出部37は、外力検出部36により検出された外力、関節角度センサ33により検出された関節角度、及びトルクセンサ32により検出されたトルクを、学習済みAIモデル37a(学習部80により学習されたAIモデル80a)に入力して、外力検出部36により検出された外力がロボット20に作用した位置を検出する。したがって、ロボットシステム10において、学習済みAIモデル37aを利用してロボット20に外力が作用した位置を検出することができ、ロボット20に外力が作用した位置を検出する精度を向上させることができる。
【0061】
・一般にロボットは関節角度センサ及びトルクセンサを備えているため、ロボット20において接触された位置を検出する接触センサによりロボット20に外力が作用した位置を検出する場合と比較して、コストを低減することができる。
【0062】
なお、上記の実施形態を、以下のように変更して実施することもできる。上記実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
【0063】
・第4リンク24における力覚センサ31よりも先端側の部位を第1部位とし、第5リンク25及び第6リンク26を第2部位とすることもできる。
【0064】
図6に示すように、ロボット120は、力覚センサ31を備えていなくてもよい。この場合、図7に示すように、外力検出部36は、トルクセンサ32(32A~32E)により検出されたトルクに基づいて、アームに付与された外力を検出する。上記構成によれば、ロボット120が備えるトルクセンサ32を利用して、外力検出部36はトルクセンサ32により検出されたトルクに基づいて、アームに付与された外力を検出することができる。
【0065】
また、図8に示すように、ロボット220は、力覚センサ31を備えておらず、アームにおいて接触された部位を検出する接触センサ34を備えていてもよい。この場合、接触部位検出部37は、接触センサ34により検出された部位に基づいて、外力検出部36により検出された外力が、アームにおいて第1部位又は第2部位のいずれに付与されたか検出する。上記構成によれば、接触センサ34により検出された部位に基づいて、外力検出部36により検出された外力が、第1部位又は第2部位のいずれに付与されたかを正確に検出することができる。
【0066】
なお、図7,8に示す構成において、第4リンク24及び第5リンク25を第1部位とし、第6リンク26を第2部位とすることもできる。また、第3リンク23及び第4リンク24を第1部位とし、第5リンク25及び第6リンク26を第2部位とすることもできる。
【0067】
図9に示すように、ロボット320において、アームのうち力覚センサ31よりも基端側の部位を第1部位とし、アームのうち力覚センサ31よりも先端側の部位を第2部位とすることもできる。そして、接触部位検出部37は、トルクセンサ32(32A~32E)により検出されたトルク、力覚センサ31により検出された力及びモーメント、並びにこれらの予め取得した所定関係に基づいて、外力検出部36により検出された外力が、アームにおいて第1部位又は第2部位のいずれに付与されたか検出することもできる。
【0068】
上記構成によれば、第2部位に付与された力及びモーメントを力覚センサ31により検出することができる。一方、第1部位に付与された力及びモーメントは、力覚センサ31により検出されない。このため、トルクセンサ32により移動用外力に対応するトルクが検出され且つ力覚センサ31により力及びモーメントが検出されていない場合は、第1部位に移動用外力が付与されたとみなすことができる。したがって、接触部位検出部37は、トルクセンサ32により検出されたトルク、力覚センサ31により検出された力及びモーメント、並びにこれらの予め取得した所定関係に基づいて、外力検出部36により検出された外力が、アームにおいて第1部位又は第2部位のいずれに付与されたか検出することができる。
【0069】
・高速動作モード(第1移動態様)として、第1移動抵抗Rm1を発生させつつアームを移動させる動作モードを採用し、低速動作モード(第2移動態様)として、第1移動抵抗Rm1よりも高い第2移動抵抗Rm2(>Rm1)を発生させつつアームを移動させる動作モードを採用することもできる。
【0070】
・高速動作モード(第1移動態様)として、アームを移動させる際に第1加速度A1でアームを加速させる動作モードを採用し、低速動作モード(第2移動態様)として、アームを移動させる際に第1加速度A1よりも低い第2加速度A2でアームを加速させる動作モードを採用することもできる。なお、第1加速度A1及び第2加速度A2は、一定であってもよいし、外力検出部36により検出された外力に応じて変化させてもよいが、第2加速度A2は第1加速度A1よりも低い加速度である(A2<A1)。
【0071】
・ランダム外力データとして、ダイレクトティーチング中に力覚センサ31により検出された外力を用いることもできる。ランダム関節角度データとして、ダイレクトティーチング中に関節角度センサ33により検出された関節角度を用いることもできる。関節トルクデータとして、ダイレクトティーチング中にトルクセンサ32により検出されたトルクを用いることもできる。また、ランダム外力データとして、ユーザがダイレクトティーチングの経験等に基づいて設定した外力を用いることもできる。ランダム関節角度データとして、ユーザがダイレクトティーチングの経験等に基づいて設定した関節角度を用いることもできる。
【0072】
・機械学習装置60は、ロボットシステム10とは別に設けられたPC(Personal Computer)や、サーバ等により構成されていてもよい。
【0073】
・機械学習装置60は、ダイレクトティーチングを実行可能なロボットシステム10に限らず、マスタロボット(主ロボット)の動作に従ってスレーブロボット(従ロボット)が動作するマスタスレーブロボットシステム(主従ロボットシステム)等において、マスタロボットに外力が作用した位置を学習することもできる。また、機械学習装置60は、ロボット20,120,220,320の自動運転中等において、ユーザがロボット20,120,220,320に衝突した位置を学習することもできる。
【0074】
・外力検出部36により検出された外力、トルクセンサ32により検出されたトルク、及び関節角度センサ33により検出された関節角度との関係を、試験等に基づいて予めテンプレート(所定関係)として登録しておき、テンプレートとのパターンマッチングによりロボット20,120,220,320に外力が作用した位置を検出することもできる。
【0075】
・ロボット20,120,220,320は、6軸の垂直多関節型のロボットに限らず、5軸の垂直多関節型のロボットや、7軸の垂直多関節型のロボットであってもよい。
【0076】
<上記実施形態及び変更例から抽出される発明群について>
以下、上記実施形態及び変更例から抽出される発明群の特徴について、必要に応じて効果等を示しつつ説明する。
【0077】
(特徴1)
前記アームは、相対回転可能に連結された複数のリンクを有し、
互いに連結された前記リンクの間に作用するトルクを検出するトルクセンサと、
互いに連結された前記リンクの間の角度を検出する角度センサと、を備え、
前記部位検出部は、前記外力検出部により検出された前記外力、前記トルクセンサにより検出された前記トルク、前記角度センサにより検出された前記角度、及びこれらの予め取得した所定関係に基づいて、前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第2部位のいずれに付与されたか検出する、第1の手段に記載のロボットシステム。
【0078】
外力検出部により検出された外力が共通であっても、外力が付与された部位や、互いに連結されたリンクの間の角度に応じて、互いに連結されたリンクの間に作用するトルクが変化する。このため、これらの予め取得した関係(学習済みAIモデル、テンプレート)と、検出された外力、検出されたトルク、及び検出された角度とに基づいて、外力が付与された部位を検出することができる。
【0079】
この点、上記構成によれば、前記部位検出部は、前記外力検出部により検出された前記外力、前記トルクセンサにより検出された前記トルク、前記角度センサにより検出された前記角度、及びこれらの予め取得した所定関係に基づいて、前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第2部位のいずれに付与されたか検出することができる。
【0080】
(特徴2)
前記複数のリンクのうち先端から2番目以降の所定リンクには、前記アームに付与された力及びモーメントを検出する力覚センサが設けられ、前記外力検出部は、前記力覚センサにより検出された前記力及び前記モーメントに基づいて、前記外力を検出する、特徴1に記載のロボットシステム。
【0081】
上記構成によれば、例えば先端のリンクを第2部位とし、先端以外のリンクにおける力覚センサよりも先端側の部位を第1部位として、第1部位及び第2部位に付与された力及びモーメントを力覚センサにより検出することができる。また、ダイレクトティーチング中に限らず、ロボットの自動運転中に先端のリンクに取り付けられたツール等に作用する力及びモーメントを検出するセンサとして力覚センサを利用することができる。
【0082】
さらに、特徴1を前提としているため、前記部位検出部は、前記力覚センサにより検出された前記力及び前記モーメントに基づいて検出された前記外力、前記トルクセンサにより検出された前記トルク、前記角度センサにより検出された前記角度、及びこれらの予め取得した所定関係に基づいて、前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第2部位のいずれに付与されたか検出することができる。
【0083】
(特徴3)
前記外力検出部は、前記トルクセンサにより検出された前記トルクに基づいて、前記外力を検出する、特徴1に記載のロボットシステム。
【0084】
一般に、ロボットのアームは相対回転可能に連結された複数のリンクを有しており、互いに連結されたリンクの間に作用するトルクを検出するトルクセンサをロボットシステムが備えていることが多い。この点、上記構成によれば、ロボットシステムが備えるトルクセンサを利用して、前記外力検出部は前記トルクセンサにより検出された前記トルクに基づいて、前記外力を検出することができる。
【0085】
さらに、特徴1を前提としているため、前記部位検出部は、前記トルクセンサにより検出された前記トルクに基づいて検出された前記外力、前記トルクセンサにより検出された前記トルク、前記角度センサにより検出された前記角度、及びこれらの予め取得した所定関係に基づいて、前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第2部位のいずれに付与されたか検出することができる。
【0086】
(特徴4)
前記アームにおいて接触された部位を検出する接触センサを備え、前記部位検出部は、前記接触センサにより検出された前記部位に基づいて、前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第1部位よりも先端側の第2部位のいずれに付与されたか検出する、第1の手段に記載のロボットシステム。
【0087】
上記構成によれば、前記接触センサにより検出された前記部位に基づいて、前記外力検出部により検出された前記外力が、第1部位又は第2部位のいずれに付与されたかを正確に検出することができる。
【0088】
(特徴5)
前記アームは、相対回転可能に連結された複数のリンクを有し、
互いに連結された前記リンクの間に作用するトルクを検出するトルクセンサを備え、
前記複数のリンクのうち先端から2番目以降の所定リンクには、前記アームに付与された力及びモーメントを検出する力覚センサが設けられ、
前記第1部位は、前記アームのうち前記力覚センサよりも基端側の部位であり、
前記第2部位は、前記アームのうち前記力覚センサよりも先端側の部位であり、
前記部位検出部は、前記トルクセンサにより検出された前記トルク、前記力覚センサにより検出された前記力及び前記モーメント、並びにこれらの予め取得した所定関係に基づいて、前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第2部位のいずれに付与されたか検出する、第1の手段に記載のロボットシステム。
【0089】
上記構成によれば、前記アームのうち前記力覚センサよりも先端側の部位を第2部位として、第2部位に付与された力及びモーメントを力覚センサにより検出することができる。一方、前記アームのうち前記力覚センサよりも基端側の部位である第1部位に付与された力及びモーメントは、力覚センサにより検出されない。このため、トルクセンサにより移動用外力に対応するトルクが検出され且つ力覚センサにより力及びモーメントが検出されていない場合は、第1部位に移動用外力が付与されたとみなすことができる。したがって、前記部位検出部は、前記トルクセンサにより検出された前記トルク、前記力覚センサにより検出された前記力及び前記モーメント、並びにこれらの予め取得した所定関係に基づいて、前記外力検出部により検出された前記外力が、前記アームにおいて第1部位又は前記第2部位のいずれに付与されたか検出することができる。
【0090】
(特徴6)
前記第1移動態様は、第1移動抵抗を発生させつつ前記アームを移動させる移動態様であり、前記第2移動態様は、前記第1移動抵抗よりも高い第2移動抵抗を発生させつつ前記アームを移動させる移動態様である、第1~第3の手段のいずれか1手段に記載のロボットシステム。
【0091】
上記構成によれば、ユーザは、第2部位の位置を微調整したい場合に、第2部位に移動用外力を付与することにより、第1移動抵抗よりも高い第2移動抵抗を受けつつアームを移動させることができる。また、ユーザは、アームを大きく移動させたい場合に、第1部位に移動用外力を付与することにより、第2移動抵抗よりも低い第1移動抵抗を受けつつアームを移動させることができる。このとき、ユーザは、特別な態様の外力を付与する必要がなく且つ現在の移動態様を意識する必要がなく、ダイレクトティーチング中の自然な操作で、アームを移動させる際に受ける移動抵抗を切り替えることができる。
【符号の説明】
【0092】
10…ロボットシステム、20…ロボット、21…第1リンク、22…第2リンク、23…第3リンク、24…第4リンク、25…第5リンク、26…第6リンク、36…外力検出部、37…接触部位検出部(部位検出部)、37a…学習済みAIモデル、50…ダイレクトティーチング制御部(制御部)、60…機械学習装置、70…データ取得部、80…学習部、80a…AIモデル、120…ロボット、220…ロボット、320…ロボット。
図1
図2
図3
図4
図5
図6
図7
図8
図9