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

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

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

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