(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-08
(45)【発行日】2024-10-17
(54)【発明の名称】ロボットシステム、その制御方法及びプログラム
(51)【国際特許分類】
B25J 3/00 20060101AFI20241009BHJP
B25J 13/02 20060101ALI20241009BHJP
【FI】
B25J3/00 A
B25J13/02
(21)【出願番号】P 2020185971
(22)【出願日】2020-11-06
【審査請求日】2023-10-27
(31)【優先権主張番号】P 2019225552
(32)【優先日】2019-12-13
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】110000556
【氏名又は名称】弁理士法人有古特許事務所
(72)【発明者】
【氏名】掃部 雅幸
(72)【発明者】
【氏名】高橋 大樹
(72)【発明者】
【氏名】清水 開
(72)【発明者】
【氏名】高山 裕規
(72)【発明者】
【氏名】藤森 潤
(72)【発明者】
【氏名】木下 博貴
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開平08-229859(JP,A)
【文献】国際公開第2019/188022(WO,A1)
【文献】特開2018-89736(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
機械的可動範囲を有し、作業対象物に作業を行うロボットと、
前記ロボットの動作を、当該ロボットが前記作業対象物から受ける接触力を用いて力制御する制御器と、
前記接触力を感知し、感知した接触力を表す接触力信号を出力する接触力センサと、
前記制御器によって入力される操作器動作信号と操作者の操作とに基づいて動作する操作器と、
前記操作者の操作により前記操作器に作用する操作力を感知し、感知した操作力を表す操作力信号を出力するする操作力センサと、を備え、
前記ロボットは、前記制御器によって入力されるロボット動作信号と前記作業対象物から受ける前記接触力とに基づいて前記作業対象物に作業を行うよう構成され、
前記制御器は、制御上可動範囲において前記ロボットに前記作業を行わせ、且つ、前記制御上可動範囲を前記機械的可動範囲内において移動させるように構成さ
れ、
前記制御器は、前記ロボットが前記作業において前記制御上可動範囲の端に到達すると、その時の前記ロボットの移動方向に当該ロボットを移動させるとともに当該ロボットの移動先に前記制御上可動範囲を移動させ、及び又は、前記作業において前記ロボットを停止させた後、前記ロボットの停止位置を含むように前記制御上可動範囲を移動させるように構成され、
前記制御器は、前記接触力信号と前記操作力信号とに基づいて前記ロボット動作信号及び前記操作器動作信号を出力することによって前記ロボット及び前記操作器の動作を制御する通常制御において、第1制御及び第2制御の少なくともいずれかを行うよう構成され、
前記第1制御が、前記操作器が前記操作器の指定可動範囲の端に到達すると前記操作器を停止させるとともに前記操作力の方向に前記ロボットを移動させ、その後、指定された第1条件が満たされると前記通常制御に戻る制御であり、
前記第2制御が、指定された第2条件が満たされると前記ロボットを停止させるとともに前記操作器を指定位置に向けて移動させ、前記操作器が前記指定位置に位置すると前記通常制御に戻る制御であり、
前記第1制御における前記操作器の指定可動範囲に対応する前記ロボットの可動範囲が、前記制御上可動範囲である、ロボットシステム。
【請求項2】
前記制御器は、前記第1制御において、前記操作力の方向に前記ロボットを移動させる際に前記ロボットの動作速度を前記操作力に応じて変更するよう構成されている、請求項
1に記載のロボットシステム。
【請求項3】
前記制御器は、前記第1制御において、前記操作力の方向に前記ロボットを移動させる際に前記操作力に対する前記ロボットの移動量の比を変更するよう構成されている、請求項
2に記載のロボットシステム。
【請求項4】
前記制御器は、前記第2制御において、前記操作器を所定の速度で前記指定位置に向けて移動させるよう構成されている、請求項
1乃至
3のいずれかに記載のロボットシステム。
【請求項5】
前記制御器は、前記第2制御において、前記操作器が操作されなくなった時点における前記操作力に仮想的なインピーダンスを付加することによって、前記操作器を前記指定位置に向けて移動させるよう構成されている、請求項
1乃至
4のいずれかに記載のロボットシステム。
【請求項6】
前記指定位置が、前記指定可動範囲の中心位置である、請求項
1乃至
5のいずれかに記載のロボットシステム。
【請求項7】
機械的可動範囲を有し、作業対象物に作業を行うロボットと、前記ロボットの動作を、当該ロボットが
前記作業対象物から受ける接触力を用いて力制御する制御器と、
前記接触力を感知し、感知した接触力を表す接触力信号を出力する接触力センサと、前記制御器によって入力される操作器動作信号と操作者の操作とに基づいて動作する操作器と、前記操作者の操作により前記操作器に作用する操作力を感知し、感知した操作力を表す操作力信号を出力するする操作力センサとを備え、前記ロボットは、前記制御器によって入力されるロボット動作信号と前記作業対象物から受ける前記接触力とに基づいて前記作業対象物に作業を行うよう構成されたロボットシステムの制御方法であって、
前記制御器が、制御上可動範囲において前記ロボットに前記作業を行わせ、且つ、前記制御上可動範囲を前記機械的可動範囲内において移動させる工程を含
み、
前記工程は、前記制御器が、前記作業において前記ロボットが前記制御上可動範囲の端に到達すると、その時の前記ロボットの移動方向に当該ロボットを移動させるとともに当該ロボットの移動先に前記制御上可動範囲を移動させ、及び又は、前記作業において前記ロボットを停止させた後、前記ロボットの停止位置を含むように前記制御上可動範囲を移動させる、制御上可動範囲移動工程を含み、
前記制御上可動範囲移動工程は、前記制御器が、前記接触力信号と前記操作力信号とに基づいて前記ロボット動作信号及び前記操作器動作信号を出力することによって前記ロボット及び前記操作器の動作を制御する通常制御において、第1制御及び第2制御の少なくともいずれかを行う前記操作者による操作工程を含み、
前記第1制御が、前記操作器が前記操作器の指定可動範囲の端に到達すると前記操作器を停止させるとともに前記操作力の方向に前記ロボットを移動させ、その後、指定された第1条件が満たされると前記通常制御に戻る制御であり、
前記第2制御が、指定された第2条件が満たされると前記ロボットを停止させるとともに前記操作器を指定位置に向けて移動させ、前記操作器が前記指定位置に位置すると前記通常制御に戻る制御であり、
前記第1制御における前記操作器の指定可動範囲に対応する前記ロボットの可動範囲が、前記制御上可動範囲である、ロボットシステムの制御方法。
【請求項8】
前記制御器は、前記第1制御において、前記操作力の方向に前記ロボットを移動させる際に前記ロボットの動作速度を前記操作力に応じて変更する、請求項
7に記載のロボットシステムの制御方法。
【請求項9】
前記制御器は、前記第1制御において、前記操作力の方向に前記ロボットを移動させる際に前記操作力に対する前記ロボットの移動量の比を変更する、請求項
8に記載のロボットシステムの制御方法。
【請求項10】
前記制御器は、前記第2制御において、前記操作器を所定の速度で前記指定位置に向けて移動させる、請求項
7乃至
9のいずれかに記載のロボットシステムの制御方法。
【請求項11】
前記制御器は、前記第2制御において、前記操作器が操作されなくなった時点における前記操作力に仮想的なインピーダンスを付加することによって、前記操作器を前記指定位置に向けて移動させる、請求項
7乃至
10のいずれかに記載のロボットシステムの制御方法。
【請求項12】
前記指定位置が、前記機械的可動範囲の中心位置である、請求項
7乃至
11のいずれかに記載のロボットシステムの制御方法。
【請求項13】
機械的可動範囲を有し、作業対象物に作業を行うロボットと、
前記ロボットの動作を、当該ロボットが前記作業対象物から受ける接触力を用いて力制御する制御器と、
操作者による操作に応じて操作信号を出力する操作器と、
学習器とを備え、
前記制御器は、制御上可動範囲において前記ロボットに前記作業を行わせ、且つ、前記制御上可動範囲を前記機械的可動範囲内において移動させるように構成され、
前記学習器が、学習時において、前記操作信号と少なくとも前記接触力を含む予測基礎データとを入力されて、前記操作信号を前記予測基礎データに基づいて学習し、且つ、作業時において、前記予測基礎データが入力されると、学習により獲得した人工知能によって、前記操作信号の予測信号である予測操作信号を前記制御器に出力するよう構成され、
前記制御器は、前記学習時において、前記接触力及び前記操作信号に基づいて前記ロボットの動作を制御し、且つ、前記作業時において、前記接触力及び前記予測操作信号に基づいて前記ロボットの動作を制御するよう構成されている
、ロボットシステム。
【請求項14】
プロセッサをAI器として機能させるプログラムであって、
前記AI器は
、ロボットシステムおける操作信号と予測基礎データとの相関関係を学習することによって、前記予測基礎データが入力されると前記操作信号の予測信号である予測操作信号を出力する人工知能を獲得しており、
前記ロボットシステムは、
機械的可動範囲を有し、作業対象物に作業を行うロボットと、
前記ロボットの動作を、当該ロボットが前記作業対象物から受ける接触力を用いて力制御する制御器と、
操作者による操作に応じて前記操作信号を出力する操作器
とを備え、
前記制御器は、制御上可動範囲において前記ロボットに前記作業を行わせ、且つ、前記制御上可動範囲を前記機械的可動範囲内において移動させるように構成され、
前記制御器は、前記接触力及び前記操作信号に基づいて前記ロボットを力制御するように構成されており
、
前記予測基礎データが少なくとも前記接触力を含む、プログラム。
【請求項15】
機械的可動範囲を有し、他の作業対象物に他の作業を行う他のロボットと、
請求項
14に記載されたプログラムが格納されたプロセッサで構成されるAI器と、
前記他のロボットの動作を、当該他のロボットが前記他の作業対象物から受ける接触力と前記AI器から出力される前記予測操作信号とに基づいて力制御する他の制御器と、を備え、
前記AI器は、前記他のロボットが前記他の作業対象物から受ける接触力を含む予測基礎データが入力されると、前記学習により獲得した人工知能によって前記予測操作信号を出力する、ロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットシステム及びその制御方法に関する。
【背景技術】
【0002】
ロボットを手動で力制御する技術が知られている。例えば、特許文献1に記載の技術では、バイラテラル制御が行われ、操作者がマスタロボット(操作装置)を操作することによって、スレーブロボットが力制御される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
力制御によってロボットに作業させる分野では、ロボットに作業させる範囲(以下、単に「作業範囲」という場合がある)を制限することが望ましい場合がある。例えば、作業対象物をロボットによって研削する場合、作業範囲を設定して当該作業範囲内でロボットに作業させると、狭い範囲を研削することから研削の精度が向上し、あるいは、ロボットが作業範囲を越えて動作することが防止されるので安全性が向上する。
【0005】
また、バイラテラル制御には種々の制御形態があり、その1つとして、スレーブロボットのエンドエフェクタに作業対象からの反力として作用する接触力をマスタロボットに位置指令として、フィードバックし、接触力に応じてマスタロボットを動作させる制御形態(以下、「位置指令型バイラテラル制御」という。)がある。位置指令型制御には、マスタロボットの機械的な動作可能範囲(以下、機械的可動範囲という。)によって、スレーブロボットの制御上の動作可能範囲(制御上可動範囲という)が制限される場合があるという課題があった。また、ロボットを用いた作業では、作業効率を低下させないために、マスタロボット及びスレーブロボットの制御を中断しないこと及び分解能を低下させないことが要求される。ここで、分解能とは、マスタロボットの移動量に対するスレーブロボットの移動量の比を意味し、移動比が大きくなると分解能が低下する。以下では、スレーブロボットを単に「ロボット」といい、マスタロボットを「操作器」という。上記従来技術はこれらの課題に全く言及していない。
【0006】
本発明は上記のような課題を解決するためになされたもので、ロボットに制御上可動範囲が存在する場合に、制御を中断することなく且つ分解能を低下させることなく、力制御によりロボットに作業をさせることが可能なロボットシステム及びその制御方法を提供することを目的としている。
【課題を解決するための手段】
【0007】
本開示のある形態(aspect)に係るロボットシステムは、機械的可動範囲を有し、作業対象物に作業を行うロボットと、前記ロボットの動作を、当該ロボットが作業対象物から受ける接触力を用いて力制御する制御器と、を備え、前記制御器は、制御上可動範囲において前記ロボットに前記作業を行わせ、且つ、前記制御上可動範囲を前記機械的可動範囲内において移動させるように構成されている。
【0008】
また、本開示の他の態様(aspect)に係るロボットシステムの制御方法は、機械的可動範囲を有し、作業対象物に作業を行うロボットと、前記ロボットの動作を、当該ロボットが作業対象物から受ける接触力を用いて力制御する制御器と、を備えたロボットシステムの制御方法であって、前記制御器が、制御上可動範囲において前記ロボットに前記作業を行わせ、且つ、前記制御上可動範囲を前記機械的可動範囲内において移動させる工程を含む。
【発明の効果】
【0009】
本発明は、ロボットに制御上可動範囲が存在する場合に、制御を中断することなく且つ分解能を低下させることなく、力制御によりロボットに作業をさせることが可能なロボットシステム及びその制御方法を提供できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の実施形態1に係るロボットシステムの一例のハードウェアの構成を示す模式図である。
【
図2】
図2は、
図1のロボットシステムの制御系統の構成を示すブロック図である。
【
図4】
図4は、比較例1の内容を示す模式図である。
【
図5】
図5は、第2制御の内容を示す模式図である。
【
図6】
図6は、第2制御におけるロボットの制御上可動範囲の拡大を示す模式図であり、左側の図は、操作器の機械的可動範囲を示す図、右側の図は、ロボットの制御上可動範囲を示す図である。
【
図7】
図7は、本開示の実施形態2に係るロボットシステムの制御系統の構成を示すブロック図である。
【
図8】
図8は、本開示の実施形態3に係るロボットシステムの制御系統の構成を示すブロック図である。
【
図9】
図9は、本開示の実施形態4に係るロボットシステム500の制御系統の構成を示すブロック図である。
【発明を実施するための形態】
【0011】
本開示のある形態(aspect)に係るロボットシステムは、機械的可動範囲を有し、作業対象物に作業を行うロボットと、前記ロボットの動作を、当該ロボットが前記作業対象物から受ける接触力を用いて力制御する制御器と、を備え、前記制御器は、制御上可動範囲において前記ロボットに前記作業を行わせ、且つ、前記制御上可動範囲を前記機械的可動範囲内において移動させるように構成されている。ここで、制御器がロボットの動作を力制御する形態は、制御器が「操作信号」に従ってロボットの動作を制御する形態と、制御器がプログラムに従ってロボットの動作を制御する形態との双方を含む。「操作信号」は、人がロボットを操作するために操作する操作器から出力される「操作信号」と、AIがロボットを操作するために出力する「操作信号(予測操作信号)」との双方を含む。力制御の「タイプ」は、操作器側及びロボット側の双方に力センサを備える「並列タイプ」と、操作器側及びロボット側のいずれかもしくは両方に力センサを備えない「タイプ」との双方を含む。但し、後者の「タイプ」においても、例えば、ロボットにおける作業対象に作業を行う部分(end effector)の「位置」や「モータ電流値」を検出することによって、力制御が行われる。「操作信号」は、操作力信号(力指令)と操作位置信号(位置指令)との双方を含む。
【0012】
この構成によれば、制御器が、制御上可動範囲においてロボットに前記作業を行わせ、且つ、制御上可動範囲をロボットの機械的可動範囲内において移動させるので、ロボットに制御上可動範囲が存在する場合に、制御を中断することなく且つ分解能を低下させることなく、力制御によりロボットに作業をさせることができる。
【0013】
前記制御器は、前記ロボットが前記作業において前記制御上可動範囲の端に到達すると、その時の前記ロボットの移動方向に当該ロボットを移動させるとともに当該ロボットの移動先に前記制御上可動範囲を移動させ、及び又は、前記作業において前記ロボットを停止させた後、前記ロボットの停止位置を含むように前記制御上可動範囲を移動させるように構成されていてもよい。
【0014】
この構成によれば、制御器が、ロボットが作業において制御上可動範囲の端に到達すると、その時のロボットの移動方向に当該ロボットを移動させるとともに当該ロボットの移動先に前記制御上可動範囲を移動させるので、制御上可動範囲を現在の制御上可動範囲から離れた位置に移動させることができる。あるいは、制御器が、作業においてロボットを停止させた後、ロボットの停止位置を含むように制御上可動範囲を移動させるので、制御上可動範囲をずらしながらロボットに作業させることができる。その結果、作業内容に応じて制御上可動範囲を移動させることができるので、ロボットの機械的可動範囲においてスムーズにロボットに作業を行わせることができる。
【0015】
前記ロボットシステムは、前記接触力を感知し、感知した接触力を表す接触力信号を出力する接触力センサと、前記制御器によって入力される操作器動作信号と操作者の操作とに基づいて動作する操作器と、前記操作者の操作により前記操作器に作用する操作力を感知し、感知した操作力を表す操作力信号を出力するする操作力センサと、を備え、前記ロボットは、前記制御器によって入力されるロボット動作信号と前記作業対象から受ける前記接触力とに基づいて作業対象物に作業を行うよう構成され、前記制御器は、前記接触力信号と前記操作力信号とに基づいて前記ロボット動作信号及び前記操作器動作信号を出力することによって前記ロボット及び前記操作器の動作を制御する通常制御において、第1制御及び第2制御の少なくともいずれかを行うよう構成されており、前記第1制御が、前記操作器が前記操作器の指定可動範囲の端に到達すると前記操作器を停止させるとともに前記操作力の方向に前記ロボットを移動させ、その後、指定された第1条件が満たされると前記通常制御に戻る制御であり、前記第2制御が、指定された第2条件が満たされると前記ロボットを停止させるとともに前記操作器を指定位置に向けて移動させ、前記操作器が前記指定位置に位置すると前記通常制御に戻る制御であり、前記第1制御における前記操作器の指定可動範囲に対応する前記ロボットの可動範囲が、前記制御上可動範囲であってもよい。ここで、「前記接触力信号と前記操作力信号とに基づいて前記ロボット動作信号及び前記操作器動作信号を出力する」は、「前記接触力信号」と「前記操作力信号」とさらなる「他の信号」とに基づいて前記ロボット動作信号及び前記操作器動作信号を出力する場合を含むことを意味する。「他の信号」として、例えば、基本動作を指令する基本動作制御プログラムからの基本動作指令信号が挙げられる。「指定された第1条件」は、任意に指定することができる。「指定された第1条件」として、例えば、「操作器が指定可動範囲の端から離れること」、「第1制御解除ボタンが操作されたこと」等が挙げられる。「指定された第2条件」は、任意に指定することができる。「指定された第2条件」として、例えば、「前記操作器が操作されないこと」、「第2制御切替ボタンが操作されたこと」等が挙げられる。
【0016】
この構成によれば、ロボットの制御上可動範囲は、指定可動範囲に対して移動比に応じて定まる。第1制御においては、操作者が操作器を操作している最中に操作器が指定可動範囲の端に到達すると操作器が動かなくなるが、操作者が継続して操作力を操作器に作用させると、制御器が当該操作力の方向に、制御上可動範囲を超えて、ロボットを移動させる。その後、指定された第1条件が満たされると、制御が通常制御に戻る。ここで、「指定された第1条件」が「操作器が指定可動範囲の端から離れること」である場合、例えば、ロボットが適当な位置まで移動したタイミングで、操作者が、操作器を指定可動範囲に収まるよう操作すると、操作器が指定可動範囲の端から離れて、制御が通常制御に戻る。「指定された第1条件」が「第1制御解除ボタンが操作されたこと」である場合、例えば、ロボットが適当な位置まで移動したタイミングで、操作者が第1制御解除ボタンを操作すると、制御が通常制御に戻る。
【0017】
その後、操作者が操作器を操作すると、ロボットは、中心位置が現在の制御上可動範囲の中心位置から上述の移動量だけずれた新たな制御上可動範囲において動作する。この新たな制御上可動範囲は、現在の制御上可動範囲を少なくとも部分的に超える範囲である。従って、第1制御によれば、制御を中断することなく且つ分解能を低下させることなく、位置指令型バイラテラル制御においてロボットの制御上可動範囲を拡大することができる。また、この場合、現在の制御上可動範囲から離れた位置に制御上可動範囲を移動させることができる。
【0018】
一方、第2制御においては、操作者が、操作器を操作している最中に指定された第2条件が満たされると、制御器が、ロボットを停止させるとともに操作器を指定位置に向けて移動させ、操作器が指定位置に位置すると、制御を通常制御に戻す。ここで、「指定された第2条件」が「操作器が操作されないこと」である場合、例えば、操作者が所要の位置で操作器から手を放す(操作器を操作しないようにする)と制御器が第2制御に切り替えて上記のようにロボット及び操作器の動作を制御する。「指定された第2条件」が「第2制御切り替えボタンが操作されたこと」である場合、例えば、操作器が所要の位置に位置したタイミングで、操作者が第2制御切替ボタンを操作すると、制御器が第2制御に切り替えて上記のようにロボット及び操作器の動作を制御する。
【0019】
この場合、操作者が操作器の操作を再開すると、ロボットは、中心位置が、現在の制御上可動範囲の中心位置から操作器の移動方向と反対方向に操作器の移動量に移動比を乗じた距離だけずれた新たな制御上可動範囲において動作する。この新たな制御上可動範囲は、現在の制御上可動範囲を少なくとも部分的に超える範囲である。従って、第2制御によれば、制御を中断することなく且つ分解能を低下させることなく、位置指令型バイラテラル制御においてロボットの制御上可動範囲を拡大することができる。また、この場合、制御上可動範囲をずらしながら移動させることができる。
【0020】
従って、上記構成によれば、制御を中断することなく且つ分解能を低下させることなく、位置指令型バイラテラル制御においてロボットの制御上可動範囲を拡大することができる。
【0021】
前記制御器は、前記第1制御において、前記操作力の方向に前記ロボットを移動させる際に前記操作力に対する前記ロボットの移動量の比を変更するよう構成されていてもよい。
【0022】
第1制御では、操作器が指定可動範囲の端に到達した後に制御器が操作力の方向に移動させたロボットの移動量(移動距離)だけ、制御上可動範囲が拡大する。この際、操作器とロボットとの移動比及びゲインの少なくともいずれかを変更することによって、操作器が指定可動範囲の端に到達した後の操作力の方向へのロボットの移動量を調整できる。従って、この構成によれば、制御上可動範囲の拡大の程度を調整できる。
【0023】
前記制御器は、前記第1制御において、前記操作力の方向に前記ロボットを移動させる際に前記ロボットの動作速度を前記操作力に応じて変更するよう構成されていてもよい。
【0024】
この構成によれば、例えば、操作力が大きい程、ロボットの動作速度を早くすることによって、制御上可動範囲を大きく拡大する場合でも、その所要時間を短くできる。
【0025】
前記制御器は、前記第2制御において、前記操作器を所定の速度で前記指定位置に向けて移動させるよう構成されていてもよい。
【0026】
この構成によれば、所望の速度を所定の速度として設定することによって、所望の速度で操作器を指定位置に向けて移動させることができる。
【0027】
前記制御器は、前記第2制御において、前記操作器が操作されなくなった時点における前記操作力に仮想的なインピーダンスを付加することによって、前記操作器を前記指定位置に向けて移動させるよう構成されていてもよい。
【0028】
操作器の操作中に操作をやめると、その時点における操作器指令位置に応じた位置に向けて操作器が自動的に移動する。操作をやめた時点における操作器の動作力の絶対値は当該時点における操作力に等しい。従って、この構成によれば、仮想的なインピーダンスによって、操作器が自動的に移動する際の操作器の移動速度を安全な速度にすることができる。
【0029】
前記指定位置が、前記指定可動範囲の中心位置であってもよい。
【0030】
この構成によれば、ロボットの新しい制御上可動範囲が、ロボットの停止位置を中心とした制御上可動範囲になるので、ロボットを操作しやすくなる。
【0031】
また、本開示の他の態様(aspect)に係るロボットシステムの制御方法は、機械的可動範囲を有し、作業対象物に作業を行うロボットと、前記ロボットの動作を、当該ロボットが作業対象物から受ける接触力を用いて力制御する制御器と、を備えたロボットシステムの制御方法であって、前記制御器が、制御上可動範囲において前記ロボットに前記作業を行わせ、且つ、前記制御上可動範囲を前記機械的可動範囲内において移動させる工程を含む。
【0032】
この構成によれば、制御器が、制御上可動範囲においてロボットに前記作業を行わせ、且つ、制御上可動範囲をロボットの機械的可動範囲内において移動させるので、ロボットに制御上可動範囲が存在する場合に、制御を中断することなく且つ分解能を低下させることなく、力制御によりロボットに作業をさせることができる。
【0033】
また、本開示のさらなる他の態様(aspect)に係るロボットシステムは、上記ロボットシステムが、操作者による操作に応じて操作信号を出力する操作器と、学習器とを備え、前記学習器が、学習時において、前記操作信号と少なくとも前記接触力を含む予測基礎データとを入力されて、前記操作信号を前記予測基礎データに基づいて学習し、且つ、作業時において、前記予測基礎データが入力されると、学習により獲得した人工知能によって、前記操作信号の予測信号である予測操作信号を前記制御器に出力するよう構成され、前記制御器は、前記学習時において、前記接触力及び前記操作信号に基づいて前記ロボットの動作を制御し、且つ、前記作業時において、前記接触力及び前記予測操作信号に基づいて前記ロボットの動作を制御するよう構成されている。
【0034】
また、本開示のさらなる他の態様(aspect)に係るプログラムは、プロセッサをAI器として機能させるプログラムであって、前記AI器は、上記ロボットシステムおける操作信号と予測基礎データとの相関関係を学習することによって、前記予測基礎データが入力されると前記操作信号の予測信号である予測操作信号を出力する人工知能を獲得しており、上記ロボットシステムは、操作者による操作に応じて前記操作信号を出力する操作器をさらに備えており、前記制御器は、前記接触力及び前記操作信号に基づいて前記ロボットを力制御するように構成されており、且つ、前記予測基礎データが少なくとも前記接触力を含む。
【0035】
また、本開示のさらなる他の態様(aspect)に係るロボットシステムは、機械的可動範囲を有し、他の作業対象物に他の作業を行う他のロボットと、上記プログラムが格納されたプロセッサで構成されるAI器と、前記他のロボットの動作を、当該他のロボットが前記他の作業対象物から受ける接触力と前記AI器から出力される前記予測操作信号とに基づいて力制御する他の制御器と、を備え、前記AI器は、前記他のロボットが前記他の作業対象物から受ける接触力を含む予測基礎データが入力されると、前記学習により獲得した人工知能によって前記予測操作信号を出力する。
【0036】
以下、本開示の実施の形態を、図面を参照しながら説明する。なお、以下では全ての図面を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。また、以下の図は、本開示を説明するための図であるので、本開示に無関係な要素が省略される場合、誇張等のために寸法が正確でない場合、簡略化される場合、複数の図において互いに対応する要素の形態が一致しない場合等がある。また、本開示は、以下の実施形態に限定されない。
【0037】
また、本開示において、「ロボットが行う作業」は、ティーチング作業及び教示の確認及び修正作業を含まない。本開示の目的は、あくまで実際のロボットを用いた作業における効率の低下を抑制するために、制御を中断することなく且つ分解能を低下させることなく、位置指令型バイラテラル制御においてロボットの制御上可動範囲を拡大することが可能なロボットシステム及びその制御方法を提供することにあるからである。従って、以下の説明における操作器2は、ティーチペンダントを含まない。
【0038】
(実施形態1)
図1は、本開示の実施形態1に係るロボットシステムの一例のハードウェアの構成を示す模式図である。
図2は、
図1のロボットシステムの制御系統の構成を示すブロック図である。
図3A乃至
図3Cは、第1制御の内容を示す模式図である。なお、
図1、3A-3C、4、及び5において、ロボット1及び操作器2は、動作を理解しやすくするために模式的に表されていて、実際の形状には一致しない。
【0039】
図1乃至3を参照すると、実施形態1のロボットシステム100は、制御器3と、制御器3によって入力されるロボット指令位置(ロボット動作信号)X
sと作業対象から受ける接触力Fsとに基づいて作業対象物に作業を行うロボット1と、接触力Fs(
図2参照)を感知し、感知した接触力Fsを表す接触力信号(f
s)を出力する接触力センサSsと、制御器3によって入力される操作器指令位置(操作器動作信号)X
mと操作者の操作とに基づいて動作する操作器2と、操作者の操作により操作器2に作用する操作力Fm(
図3参照)を感知し、感知した操作力を表す操作力信号(f
m)を出力するする操作力センサSmと、を備える。ここで、ロボット1及び接触力センサSsがロボットユニット10を構成し、操作器2及び操作力センサSmが操作器ユニット20を構成する。
【0040】
以下、このロボットシステム100の構成要素を詳しく説明する。
【0041】
[ハードウェアの構成]
<ロボット1>
ロボット1は、作業対象に作業を行うことができるものであればよい。ロボット1として産業用ロボット、医療用ロボット、サービスロボット等が例示される。
【0042】
産業用ロボットとして、垂直多関節型ロボット、水平多関節型ロボット、パラレルリンク型ロボット、直角座標型ロボット、極座標型ロボット等が例示される。医療用ロボットとして、手術ロボットが例示される。サービスロボットとして、レスキューロボット、壁面作業ロボット、警備ロボット、介護ロボット、ドローンロボット等が例示される。
【0043】
以下では、ロボット1として、研削ロボットが例示される。ロボット1は、ここでは、垂直多関節型ロボットであり、手首にエンドエフェクタEfとしてグラインダーが装着されている。作業対象物(図示せず)は、例えば、大型のワーク(例えば大きな鋼板)である。
【0044】
<操作器2>
操作器2は、操作者が操作可能であり、且つ、操作者が操作する(把持する)操作部2aを制御器3によって位置制御することが可能なものであればよい。操作器2は、ここでは、マスタロボットで構成される。操作器2の形態は、ロボット1(スレーブロボット)と相似形であっても相似形でなくてもよい。操作器2は、例えば、ジョイスティック等の簡単な構造のものであってもよい。
【0045】
操作器2は、具体的には、盤状の操作部2aと、基台2bと、基台2b上に操作部2aを3次元方向に移動可能に支持する支持機構2cとを備える。支持機構2cはここでは複数のリンクが複数の関節で連結されてなるリンク機構で構成される。各関節は、例えば、サーボモータで駆動され、各関節のサーボモータが操作器動作信号に従って動作することによって、支持機構2cが操作部2aを操作器指令位置に従って動作(移動)させる。
【0046】
<制御器3>
制御器3は、プロセッサPrとメモリMeとを有する演算器で構成される。後述する、
図2の接触力取得部31、操作力取得部32、減算部33、力/位置換算部34、可動範囲処理部35、ロボット指令位置生成部36、ロボット制御部37、操作器指令位置生成部38、操作器制御部39、指定位置移動指令付与部40、及び加算部41は、制御器3を構成する演算器において、メモリMeに格納された所定の制御プログラムをプロセッサPrが実行することによって実現される機能ブロックである。この演算器は、具体的には、例えば、マイクロコントローラ、MPU、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で構成される。制御器3は、集中制御を行う単独の演算器で構成されてもよく、分散制御を行う複数の演算器で構成されてもよい。制御器3は適宜な場所に設けられる。ここでは、制御器3は、ロボット1の基台に設けられる。
【0047】
ここで、本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、及び/又は、それらの組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、「器」、「部」、または手段は、列挙された機能を実行するハードウェアであるか、又は、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、「器」、「部」、回路、手段、又はユニットは、ハードウェアとソフトウェアの組み合わせであり、ソフトウェアは、ハードウェア及び/又はプロセッサの構成に使用される。
【0048】
制御器3は、後述するように、制御上可動範囲Rsoにおいてロボット1に作業を行わせ、且つ、制御上可動範囲Rsoを機械的可動範囲内Rsmにおいて移動させる(
図3A乃至
図6参照)。具体的には、制御器3は、ここでは、通常制御によって、制御上可動範囲Rsoにおいてロボット1に作業を行わせ、且つ、第1制御及び又は第2制御によって、制御上可動範囲Rsoを機械的可動範囲内Rsmにおいて移動させる。
【0049】
<ロボットユニット10>
図2を参照すると、ロボットユニット10は、ロボット1及び接触力センサSsを備える。接触力センサSsは、ロボット1の作業対象物からエンドエフェクタEfが受ける接触力Fsを感知するものであればよい。例えば、接触力センサSsが、ロボット1のエンドエフェクタEfと、手首との間に設けられている場合、接触力センサSsは、例えば、3軸加速度センサ、圧電センサ、歪ゲージ(ロードセル)等によって構成され得る。また、例えば、ロボット1の動作がサーボ制御される場合、接触力センサSsは、サーボモータの電流を感知する電流センサ、サーボモータのトルクを感知するトルクセンサ等で構成され得る。
【0050】
<操作器ユニット20>
図2を参照すると、操作器ユニット20は、操作器2及び操作力センサSmを備える。操作力センサSmは、操作者が操作器2を操作する操作力を感知するものであればよい。例えば、操作力センサSmが、操作器2の操作者が操作部2a(
図1参照)と、操作器2の支持機構2cとの間に設けられている場合、操作力センサSmは、例えば、3軸加速度センサ、圧電センサ、歪ゲージ(ロードセル)等によって構成され得る。また、例えば、操作器2の動作がサーボ制御される場合、操作力センサSmは、サーボモータの電流を感知する電流センサ、サーボモータのトルクを感知するトルクセンサ等で構成され得る。
【0051】
[制御系統の構成]
制御器3は、接触力取得部31と、操作力取得部32と、減算部33と、力/位置換算部34と、可動範囲処理部35と、ロボット指令位置生成部36と、ロボット制御部37と、操作器指令位置生成部38と、操作器制御部39と、指定位置移動指令付与部40と、加算部41と、を含む。
【0052】
接触力取得部31は、接触力センサSsの感知信号から接触力fsを取得する。
【0053】
操作力取得部32は、操作力センサSmの感知信号から操作力fmを取得する。
【0054】
減算部33は、操作力fmに対する接触力fsの差分を算出する。
【0055】
力/位置換算部34は、この差分を指令位置に換算して指令位置Xcを生成する。この際、例えば、以下の式が用いられる。
【0056】
m×(dvc/dt)+D×vc=fm-fs
ここで、mは仮想慣性であり、Dは仮想粘性である。これらは、力制御パラメータであり、作業に応じて適宜決定される。
【0057】
可動範囲処理部35は、通常制御と第1制御との切り替え及び通常制御と第2制御との切り替えを行う。そのために、第1制御から通常制御に戻るために指定された第1条件が満たされるか否か、及び通常制御から第2制御に切り替えるために指定された第2条件が満たされるか否かを判定する。
【0058】
「第1条件」は、任意に指定することができる。「第1条件」として、例えば、「操作器2が指定可動範囲Rmoの端から離れること」、「第1制御解除ボタン(不図示)が操作されたこと」等が挙げられる。「第2条件」は、任意に指定することができる。「第2条件」として、例えば、「操作器2が操作されないこと」、「第2制御切替ボタン(不図示)が操作されたこと」等が挙げられる。
【0059】
ここでは、「第1条件」として、「操作器2が指定可動範囲Rmoの端から離れること」が指定され、「第2条件」として「操作器2が操作されないこと」が指定された場合を説明する。
【0060】
具体的には、可動範囲処理部35は、通常制御と第1制御との切り替えに関して、ロボット1と操作器2との同期又は非同期とに応じて、ロボット用の指令位置Xcsと操作器用の指令位置Xcmとを生成する。
【0061】
これを詳細に説明すると、可動範囲処理部35は、操作器指令位置Xmを監視していて、操作器指令位置Xmが操作器2の指定可動範囲Rmo内の位置であると通常制御を行い、操作器指令位置Xmが操作器2の指定可動範囲Rmo以外の位置であると第1制御を行う。従って、可動範囲処理部35は、通常制御において、操作器2が指定可動範囲Rmoの端に到達すると、制御を第1制御に切り替え、第1制御において、操作器2が指定可動範囲Rmoの端から離れると、制御を通常制御に切り替える。
【0062】
例えば、可動範囲処理部35は、通常制御時には、Xcs=Xcmの=Xc/2の指令位置を生成し、第1制御時には、Xcs=Xc/2、Xcm=0の指令位置を生成する。これにより、通常制御時には、ロボット1と操作器2とが同期して動き、第1制御時には、操作器2が停止するとともにロボット1が操作力Fmの方向に操作力Fmの大きさに応じて動く。なお、XcのXcsとXcmとへの分配比率は、適宜、変更してもよい。
【0063】
また、可動範囲処理部35は、通常制御と第2制御との切り替えに関して、操作器2が操作されていないか否か判定する。具体的には、可動範囲処理部35は、例えば、操作力取得部32が取得した操作力fmが閾値操作力未満である状態が閾値時間以上継続する場合に「操作器2が操作されていない」と判定する。閾値操作力及び閾値時間は、計算、シミュレーション、実験等によって、適宜、決定される。
【0064】
可動範囲処理部35は、操作器2が操作されている場合は、通常制御を行い、操作器2が操作されていない場合は、第2制御を行う。可動範囲処理部35は、第2制御時には、Xcm=Xc/2、Xcs=0の指令位置を生成する。これにより、ロボット1が停止するとともに後述するように指定位置移動指令付与部40の動作によって操作器2が指定位置xiに向けて移動する。そして、可動範囲処理部35は、操作器2が指定位置xiに位置すると、制御を通常制御に切り替える。
【0065】
なお、上記「第1条件」として「第1制御解除ボタンが操作されたこと」が指定され、「第2条件」として「第2制御切替ボタンが操作されたこと」が指定されてもよい。この場合、可動範囲処理部35が、上述の第1制御において、第1制御解除ボタンが操作されると、制御を通常制御に切り替え、通常制御において、第2制御切替ボタンが操作されると、制御を第2制御に切り替えるよう構成されてもよい。
【0066】
ロボット指令位置生成部36は、ロボット用の指令位置Xcsに基づいてロボット指令位置Xsを生成する。
【0067】
ロボット制御部37は、ロボット指令位置生成部36で生成されたロボット指令位置Xsに基づいてロボット1を位置制御する。
【0068】
加算部41は、操作器用の指令位置Xcmに、指定位置移動指令付与部40から出力される移動指令位置Xdを加算する。
【0069】
指定位置移動指令付与部40は、操作器2を指定位置に移動させるための移動指令位置Xdを生成する。具体的には、指定位置移動指令付与部40は、可動範囲処理部35から、通常制御と第2制御との切り替わり情報を受け取り、通常制御時には、0の値の移動指令位置Xdを出力し、第2制御時には、例えば、Xd=kp(x-xi)の移動指令位置Xdを出力する。
【0070】
ここで、kpは所定の係数であり、xは操作器2の現在位置であり、xiは上述の指定位置である。この指定位置は、作業等を考慮して、予め設定される。これにより、第2制御時においては、操作器2には、操作器を指定位置に向けて移動させる動作力が作用する。
【0071】
操作器指令位置生成部38は、操作器用の指令位置Xcmに移動指令位置Xdが加算されてなる(Xcm+Xd)に基づいて操作器指令位置Xmを生成する。
【0072】
操作器制御部39は、操作器指令位置生成部38で生成された操作器指令位置Xmに基づいて操作器2を位置制御する。
【0073】
[動作]
次に、以上のように構成されたロボットシステム100の動作(ロボットシステム100の制御方法)を説明する。この動作は、制御器3を構成する演算器において、プロセッサPrがメモリに格納された上述の所定の制御プログラムを実行することによって遂行される。
【0074】
図3A乃至
図6を参照すると、制御器3は、制御上可動範囲Rsoにおいてロボット1に作業を行わせ、且つ、制御上可動範囲Rsoを機械的可動範囲内Rsmにおいて移動させる。
【0075】
制御器3は、この制御上可動範囲Rsoの移動(制御上可動範囲移動工程)を、以下の態様で行う。すなわち、制御器3は、i)作業においてロボット1が制御上可動範囲Rsoの端に到達すると、その時のロボット1の移動方向に当該ロボット1を移動させるとともに当該ロボット1の移動先に制御上可動範囲Rsoを移動させ、及び又は、ii)作業においてロボット1を停止させた後、ロボット1の停止位置を含むように制御上可動範囲を移動させる。
【0076】
図1及び
図2を参照すると、制御器3は、ここでは、以下に述べるように、接触力信号(f
s)と操作力信号(f
m)とに基づいてロボット動作信号(X
s)及び操作器動作信号(X
m)を出力することによってロボット1及び操作器2の動作を制御する通常制御を行い、この通常制御において、第1制御及び第2制御の少なくともいずれかを行う。そして、制御器3は、この通常制御によって、制御上可動範囲Rsoにおいてロボット1に作業を行わせ、且つ、第1制御及び又は第2制御によって、制御上可動範囲Rsoを機械的可動範囲内Rsmにおいて移動させる。
【0077】
<通常制御>
まず、通常制御における動作を説明する。
【0078】
図1及び
図2を参照すると、制御器3では、通常制御においては、可動範囲処理部35の出力がX
cm=X
csであり、且つ、指定位置移動指令付与部40の出力がX
d=0である。つまり、ロボット1と操作器2とは同期して動く。従って、操作者が操作器2を操作すると、その操作力f
m(Fm)に応じてロボット指令位置生成部36が、ロボット指令位置(ロボット動作信号)X
sを生成し、ロボット制御部37が、このロボット指令位置X
sに基づいてロボット1の動作を位置制御する。これにより、操作力f
m(Fm)に応じた力がロボット1によって作業対象物に加えられる。すると、この際にロボット1が作業対象物から受ける接触力f
s(Fs)に応じて操作器指令位置生成部38が操作器指令位置X
mを生成し、操作器制御部39がこの操作器指令位置X
mに基づいて操作器2の動作を位置制御する。すると、操作器2が、この位置制御された位置へ移動しようとする。この操作器2の移動のための動作力により、操作者がその操作に対する反力を感知する。操作者は、操作に対するこの反力を感知しながら操作器2を操作する。これにより、ロボット1が力制御によって手動制御される。
【0079】
<第1制御>
次に、第1制御における動作を、
図1乃至
図3Cを用いて説明する。
図3A-3Cにおいて、参照符号Rmoは操作器2の指定可動範囲を示し、参照符号Cm0は、指定可動範囲Rmoの中心位置を示す。操作器2の指定可動範囲Rmoは、任意の範囲に設定できる。例えば、作業対象物をロボット1によって研削する場合、作業範囲を設定して当該作業範囲内でロボット1に作業させると、狭い範囲を研削することから研削の精度が向上し、あるいは、ロボット1が作業範囲を越えて動作することが防止されるので安全性が向上する。そこで、この作業範囲に対応する操作器2の動作範囲を指定可動範囲Rmoに設定してもよい。もちろん、操作器2の指定可動範囲Rmoを操作器2の機械的可動範囲(不図示)に設定してもよい。参照符号Rsoは、操作器2の指定可動範囲Rmoに対応するロボット1の制御上可動範囲を示し、参照符号Csoは、制御上可動範囲Rsoの中心位置を示す。参照符号Rsmは、ロボット1の機械的可動範囲を示す。なお、操作器2の機械的可動範囲及び指定可動範囲Rmo、並びに、ロボット1の制御上可動範囲Rso及び機械的可動範囲Rsmは、3次元であり、且つ、任意の形状であるが、
図3A-3Cにおいては、理解しやくするために、便宜上円で表している。このことは、後述する
図4及び
図5でも同様である。
【0080】
{ロボット1の制御上可動範囲Rso}
位置指令型バイラテラル制御を行う場合、操作器(マスタ)2の移動量に対するロボット(スレーブ)1の移動量の比(以下、単に移動比という。)を設定する必要があるが、移動比が大きくなるほど分解能が低下する。一般的には、操作器2の機械的可動範囲(不図示)よりロボット1の機械的可動範囲Rsmが大きい。一方、ロボット1で作業を行う観点からは、操作者は、移動比が1以外である場合より移動比が1である場合の方が、ロボット1を直感的に操作することができて作業しやすい。ここでは、作業対象物が、例えば、大きな鋼板であり、作業が、エンドエフェクタEfとしてのグラインダーで船体を研削することである。そこで、ここでは、移動比が1に設定されている。従って、
図3A-3Cに示すように、ロボット1では、制御上可動範囲Rsoが機械的可動範囲Rsmより狭い。従って、大きな鋼板全体を研削する場合、制御上可動範囲Rsoを機械的可動範囲Rsmの全体にまで拡大(変更)することが求められる。
【0081】
{第1制御の内容}
図2及び
図3Aを参照すると、通常制御では、操作者が操作器2を操作することにより、ロボット1が動作する(Dm,Ds)。ここでは、例えば、現在の制御上可動範囲Rsoの
図3Aにおける左端から鋼板に対する研削作業が行われ、やがて、操作器2が指定可動範囲Rmoの端に到達すると、ロボット1も制御上可動範囲Rsoの端に到達する。すると、上述のように、制御器3の可動範囲処理部35の制御が、第1制御に切り替わり、操作器2を停止させる。この場合、操作者が操作力Fmを操作器2に作用させても操作器2が動かないので、操作器2からの衝撃(ピーク状の反力)を受ける。この衝撃によって、操作者は、操作器2が指定可動範囲Rmoの端(ここでは
図3Aの右端)に到達したことを感知する。
【0082】
操作器2が指定可動範囲Rmoの端に到達すると、操作力Fmの方向に操作器2が動かないので、操作者は、ロボット1を意図通りに動作させるのに適した操作力Fmを操作器2に作用させることができない。つまり、操作者は、操作器2を正常に操作してロボット1に意図した動作をさせることができない。
【0083】
しかし、第1制御では、可動範囲処理部35が、Xcs=Xc/2の指令位置を生成するので、ロボット1は操作力Fmの方向に操作力Fmの大きさに応じて動く。
【0084】
そこで、操作者は、操作器2が指定可動範囲Rmoの端に到達したことを感知すると、その時点における操作力Fmを適宜増加させる。すると、増加した操作力Fmの接触力Fsに対する超過分に応じたロボット指令位置X
sがロボット制御部37から出力され、それによって、
図3Bに示すように、ロボット1が操作力Fmの方向Dsに移動する。そして、ロボット1が所望の位置に移動したら、操作者は、操作器2を、指定可動範囲Rmoの端から離す(操作器2が指定可動範囲Rmo内に収まる)ように操作する。これにより、可動範囲処理部35の制御が、通常制御に切り替わり、X
cs=X
cm=X
c/2の指令位置を生成する。これにより、操作者が、ロボット1の動作を制御するための操作器2の操作を再開する。
【0085】
この場合、
図3Cに示すように、ロボット1は、その中心位置Cso2が現在の制御上可動範囲Rso1の中心位置Cso1から上述のロボット1の所望の位置までの移動量だけずれた新たな制御上可動範囲Rso2において、操作器2と同期して動作する(Ds,Dm)。この新たな制御上可動範囲Rso2は、現在の制御上可動範囲Rso1を少なくとも部分的に超える範囲である。なお、新たな制御上可動範囲Rso2を、現在の制御上可動範囲Rso1から離れた位置まで移動させてもよい。
【0086】
従って、第1制御によれば、制御を中断することなく且つ分解能を低下させることなく、位置指令型バイラテラル制御においてロボット1の制御上可動範囲Rsoを拡大する(移動させる)ことができる。
【0087】
次に、このような第1制御の利点を、比較例1乃至3と対比することによって、より明らかにする。
【0088】
{比較例1}
図4は、比較例1の内容を示す模式図である。
図4を参照すると、比較例1は、ロボット1の制御上可動範囲Rsoの拡大(変更)方法(操作器602の構成及び制御)のみが実施形態1と異なり、その他は、実施形態1と同じである。
【0089】
比較例1のロボットシステム600では、ロボット1の制御上可動範囲Rso1,Rso2が、操作器602の機械的可動範囲Rmmに対応している。操作器602に、操作器602とロボット1との同期と非同期とを切り替えるクラッチ(不図示)が設けられている。作業時には、クラッチによって操作器602とロボット1とが同期される。そして、操作器602の操作中に、操作者は、ロボット1の所要の位置で、クラッチによって、操作器602とロボット1とを非同期にし、操作器602を機械的可動範囲Rmmの中心位置Cmmに戻す。その後、操作者は、クラッチによって操作器602とロボット1とを同期させ、次いで、ロボット1の動作を制御するための操作器602の操作を再開する。この場合、ロボット1は、所要の位置を中心位置Cso2とする新たな制御上可動範囲Rso2において動作する。
【0090】
この比較例1は、最も一般的なロボット1の制御上可動範囲Rsoの拡大方法である。しかし、この比較例1には、ロボット1の制御上可動範囲Rso1を変更する度に操作器602とロボット1との同期を中断する(作業を中断する)必要があり、作業効率が低下するという欠点がある。
【0091】
{比較例2}
比較例2は、ロボット1の制御上可動範囲Rsoの拡大(変更)制御のみが実施形態1と異なり、その他は、実施形態1と同じである。
【0092】
比較例2では、操作器2の操作中に、ロボット1が所要の位置に到達すると、制御器3が、移動比を大きく(例えば、1:2)する。これにより、ロボット1の制御上可動範囲Rsoを拡大することができる。
【0093】
しかし、この比較例2には、分解能が低下するという欠点がある。
【0094】
{比較例3}
比較例3は、ロボット1の制御上可動範囲Rsoの拡大(変更)制御のみが実施形態1と異なり、その他は、実施形態1と同じである。
【0095】
比較例3では、制御器3が操作器2を移動させずに、操作力Fmに応じて、ロボット1を動作させる制御を行うものである。この制御によれば、操作器2の機械的可動範囲(不図示)に制約されることなく、ロボット1を動作させることができる。
【0096】
しかし、この比較例3には、操作器2が動かないことから、操作者が接触力Fsに対応する反力を感じながら操作器2を操作することができないという欠点がある。
【0097】
これらの比較例の説明から、第1制御は、比較例1乃至3が有する全て欠点を克服することができるという利点を有することが理解される。
【0098】
<第2制御>
次に、第2制御における動作を、
図2、
図5、及び
図6を用いて説明する。
図5は、第2制御の内容を示す模式図である。
図6は、第2制御におけるロボット1の制御上可動範囲の拡大を示す模式図であり、左側の図は、操作器2の指定可動範囲Rmoを示す図、右側の図は、ロボット1の制御上可動範囲Rso1,Rso2を示す図である。
【0099】
図2及び
図5を参照すると、上述のように、制御器3では、可動範囲処理部35が、操作器2が操作されていないか否か判定する。操作器2が操作されている場合には、通常制御が行われ、操作器2が操作されていない場合には、第2制御が行われ、可動範囲処理部35がロボット1を停止させる。また、指定位置移動指令付与部40が、第2制御として、上述のように、X
d=k
p(x-x
i)の移動指令位置X
dを出力する。これにより、操作器2には、操作器を指定位置x
iに向けて移動させる動作力が作用する。
【0100】
そして、操作器2が指定位置に位置すると、可動範囲処理部35は、通常制御を行う。
【0101】
この過程を、
図5及び
図6を用いて具体的に説明する。例えば、
図5及び
図6の左側の図に示すように、操作者が、操作器2の指定可動範囲Rmoの所要の位置(任意の位置)P1で操作器2から手を放す(操作しなくなる)と、制御器3は、操作器2を指定位置x
i(P2(ここでは、指定可動範囲Rmoの中心位置Cmo))に移動させる。その後、操作者が操作器2を操作すると、ロボット1は、
図6の右側の図に示すように、その中心位置Cso2が、現在の制御上可動範囲Rso1の中心位置Cso1から操作器2の移動方向61と反対方向62に操作器2の移動量Lmに移動比を乗じた距離Lsだけずれた新たな制御上可動範囲Rso2において動作する。この新たな制御上可動範囲Rso2は、現在の制御上可動範囲Rso1を少なくとも部分的に超える範囲である。従って、第2制御によれば、制御を中断することなく且つ分解能を低下させることなく、位置指令型バイラテラル制御においてロボット1の制御上可動範囲を拡大する(移動させる)ことができる。
【0102】
従って、第2制御によれば、制御を中断することなく且つ分解能を低下させることなく、位置指令型バイラテラル制御においてロボット1の制御上可動範囲Rso1を拡大することができる。
【0103】
以上の説明から明らかなように、実施形態1によれば、制御を中断することなく且つ分解能を低下させることなく、位置指令型バイラテラル制御においてロボット1の制御上可動範囲Rso,Rso1を拡大することができる。
【0104】
(変形例1)
図2及び
図3A-3Cを参照すると、変形例1では、上記実施形態1において、制御器3が、第1制御において、操作力Fmの方向にロボット1を移動させる際に操作力Fmに対するロボット1の移動量の比を変更するよう構成されている。
【0105】
第1制御では、操作器2が指定可動範囲Rmoの端に到達した後に制御器3が操作力Fmの方向に移動させたロボット1の移動量(移動距離)だけ、制御上可動範囲Rsoが拡大する。この際、移動比及びゲインの少なくともいずれかを変更することによって、操作器2が指定可動範囲Rmoの端に到達した後の操作力Fmの方向へのロボット1の移動量を調整できる。
【0106】
従って、この変形例1によれば、制御上可動範囲Rsoの拡大の程度を調整できる。
【0107】
(変形例2)
図2及び
図3A-3Cを参照すると、変形例1では、制御器3が、第1制御において、操作力Fmの方向にロボット1を移動させる際にロボット1の動作速度を操作力Fmに応じて変更するよう構成されている。
【0108】
この変形例2によれば、例えば、操作力Fmが大きい程、ロボット1の動作速度を早くすることによって、制御上可動範囲Rsoを大きく拡大する場合でも、その所要時間を短くできる。
【0109】
(変形例3)
図2、5、及び6を参照すると、変形例3では、制御器3が、第2制御において、操作器2を所定の速度で指定位置P2に向けて移動させるよう構成されている。
【0110】
この変形例3によれば、所望の速度を所定の速度として設定することによって、所望の速度で操作器2を指定位置P2に向けて移動させることができる。
【0111】
(変形例4)
図2、5、及び6を参照すると、変形例4では、制御器3が、第2制御において、操作器2が操作されなくなった時点における操作力Fmに仮想的なインピーダンスを付加することによって、操作器2を指定位置P2に向けて移動させるよう構成されている。
【0112】
操作器2の操作中に操作をやめると、その時点における操作器指令位置Xmに応じた位置に操作器2が自動的に移動する。操作をやめた時点における操作器2の動作力の絶対値は当該時点における操作力Fmに等しい。従って、この変形例4によれば、仮想的なインピーダンスによって、操作器2が自動的に移動する際の操作器の移動速度を安全な速度にすることができる。
【0113】
(変形例5)
図2、5、及び6を参照すると、変形例5では、指定位置P2が、指定可動範囲Rmの中心位置に設定される。
【0114】
この変形例5によれば、ロボット1の新たな制御上可動範囲Rso2が、ロボット1の停止位置P1’を中心とした制御上可動範囲Rso2になるので、ロボット1を操作しやすくなる。
【0115】
(実施形態2)
図7は、本開示の実施形態2に係るロボットシステム200の制御系統の構成を示すブロック図である。
【0116】
図2及び
図7を参照すると、実施形態2のロボットシステム200は、学習器90を備える点において、実施形態1のロボットシステム100と異なり、これ以外の点は、実施形態1のロボットシステム100と同じである。以下、この相違点について説明する。
図7において、点線矢印は、学習時のみの信号の流れを表し、二重線矢印は、作業時のみの信号の流れを表す。
【0117】
学習器80は、周知の学習モデルで構成される。この学習モデルは、機械学習するものでもよく、さらにはディープラーニングするものでもよい。実施形態2では、所定の学習ソフトウェアが、制御器3を構成する演算器のメモリMeに格納され、この所定の学習ソフトウェアを上記演算器のプロセッサPrが読み出して実行することによって、学習器90が機能ブロックとして実現される。
【0118】
学習器80は、学習時において、操作者の操作により操作器2に作用する操作力Fmを表す操作力信号(fm)と操作器2に入力される操作器指令位置Xm及び接触力fsを含む予測基礎データとを入力されて、操作力信号(fm)を予測基礎データに基づいて学習し、且つ、作業時において、予測基礎データが入力されると、学習により獲得した人工知能によって、操作器2に代わる仮想操作器を操作するよう動作するとともに、当該仮想操作器、及び操作力センサSmに代わる仮想操作力センサとして動作し、それによって、操作力信号(fm)の予測信号である予測操作力信号(fm’)を制御器3に出力するよう構成されている。
【0119】
このロボットシステム200の作業時の動作は、
図2のブロック図において、操作力信号(f
m)を予測操作力信号(f
m’)で置換したブロック図と同じである。以下、ロボットシステム200の動作を概容を説明する。
【0120】
ロボットシステム200は、学習時において、実施形態1のロボットシステム100の操作者による操作工程を行い、作業時において、学習器による操作工程を行う。
【0121】
学習器による操作工程では、制御器3が、接触力信号(fs)と学習器80が出力する予測操作力信号(fm’)とに基づいてロボット指令位置Xs及び操作器指令位置Xmを出力することによってロボット1の動作を制御するとともに、学習器80を、仮想操作器を操作するよう動作させるとともに仮想操作器及び仮想操作力センサとして動作させる。
【0122】
そして、制御器3は、この作業時の通常制御において、第1制御及び第2制御の少なくともいずれかを行う。
【0123】
この第1制御は、仮想操作器が仮想操作器の指定可動範囲Rmoの端に到達すると仮想操作器を停止させるとともに操作力Fmの方向にロボット1を移動させ、その後、指定された第1条件が満たされると通常制御に戻る制御であり、第2制御が、指定された第2条件が満たされるとロボット1を停止させるとともに仮想操作器を指定位置に向けて移動させ、仮想操作器が指定位置xiに位置すると通常制御に戻る制御である。
【0124】
このような実施形態2によれば、作業時において、学習器80によって自動的に制御上可動範囲Rsoを拡大しながらロボット1に上記作業対象に対する作業を自動的に行わせることができる。
【0125】
(実施形態3)
図8は、本開示の実施形態3に係るロボットシステム400の制御系統の構成を示すブロック図である。
【0126】
図2及び
図8を参照すると、実施形態3のロボットシステム400は、ロボットユニット410と、制御器403と、AI器480と、を備える。
【0127】
ロボットユニット410は、実施形態1(及び実施形態2)のロボットユニット10と同様に構成されている。制御器403は、実施形態1(及び実施形態2)の制御器3と同様に構成されていて、
図2のブロック図において、操作器ユニット20がAI器480で置換され、操作器ユニット20の出力(f
m)がAI器480の出力(f
m’)で置換された構成となっている。AI器480は、コンピュータに、学習が完了した実施形態2の学習器80の学習プログラム(学習アルゴリズム)がインストールされて構成されている。
【0128】
従って、ロボットシステム400の動作は、実施形態2のロボットシステム200の作業時の動作と同じである。
【0129】
つまり、制御器403は、AI器480への入力(Xm)及びAI器480からの出力(fm’)を用いて、ロボットユニット410及びAI器480の動作を位置指令型バイラテラル制御によって制御する。この場合、AI器480は、実施形態1(及び実施形態2)の操作者及び操作器ユニット20(操作器2及び操作力センサSm)として動作する。
【0130】
以下、このロボットシステム400の概容を説明する。
【0131】
このロボットシステム400は、実施形態2の学習器80が獲得した人工知能を構成するアルゴリズムを含むAIプログラムをロボットシステム400のAI器にインストールする工程を含む。
【0132】
そして、ロボットシステム400が、制御器403と、制御器403によって入力されるロボット指令位置X
sと他の作業対象から受ける接触力Fsとに基づいて他の作業対象物に作業を行う他のロボット1(
図2参照)と、接触力Fsを感知し、感知した接触力Fsを表す接触力信号(f
s)を出力する他の接触力センサSsと、接触力センサSsからの接触力信号(f
s)及び制御器403からの操作器指令位置X
mを含む予測基礎データを入力されて、操作力信号(f
m)予測信号である予測操作力信号(f
m’)を制御器403に出力するAI器480と、を備える。
【0133】
そして、ロボットシステム400は、制御器403が、接触力信号(fs)とAI器480が出力する予測操作力信号(fm’)とに基づいてロボット指令位置Xs及び操作器指令位置Xmを出力することによってロボット1の動作を制御する。
【0134】
この動作は、実施形態2、具体的には、実施形態1におけるロボット1の見掛けの動作と同じであり、ロボット1は、以下のように、自動的に動作する。
【0135】
制御器403が第1制御を行う場合においては、ロボット1が作業において制御上可動範囲Rsoの端に到達すると、その時のロボット1の移動方向に当該ロボット1が移動する。そして、ロボット1の移動先に制御上可動範囲Rsoが移動する。
【0136】
制御器403が第2制御を行う場合においては、作業においてロボット1が停止した後、このロボット1の停止位置を含むように制御上可動範囲Rsoが移動する。
【0137】
これにより、制御上可動範囲Rsoにおいてロボット1が作業を自動的に行い、且つ、制御上可動範囲Rsoがロボット1の機械的可動範囲Rsm内において自動的に移動する。
【0138】
この実施形態3によれば、AI器480によって自動的に制御上可動範囲Rsoを拡大しながらロボット1に他の作業対象に対する作業を自動的に行わせることができる。
【0139】
(実施形態4)
図9は、本開示の実施形態4に係るロボットシステム500の制御系統の構成を示すブロック図である。
【0140】
図9を参照すると、実施形態4のロボットシステム500は、ロボットユニット510と、制御器503と、を備える。
【0141】
ロボットユニット510は、実施形態1のロボットユニット10(
図2)と同様に構成されていて、ロボット1及び接触力センサSsを備える。
【0142】
制御器503は、実施形態1の制御器403と同様に、プロセッサPrとメモリMeとを有する演算器で構成される。この演算器は、具体的には、例えば、マイクロコントローラ、MPU、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で構成される。制御器3は、集中制御を行う単独の演算器で構成されてもよく、分散制御を行う複数の演算器で構成されてもよい。制御器3は適宜な場所に設けられる。ここでは、制御器3は、ロボット1の基台に設けられる。
【0143】
メモリMeには所定の制御プログラムが格納されていて、この制御プログラムをプロセッサPrが読み出して実行することにより、制御器503がロボット1の動作を自動的に制御する。
【0144】
具体的には、制御器503は、接触力センサSsからの接触力信号(fs)に基づいて、ロボット指令位置Xsを出力することにより、ロボット1の動作を力制御する。
【0145】
この場合、制御器503は、制御上可動範囲Rsoにおいてロボット1に作業を行わせ、且つ、制御上可動範囲Rsoをロボット1の機械的可動範囲Rsm内において移動させる。制御上可動範囲Rsoの移動方法は、特に限定されない。
【0146】
このような実施形態として、例えば、制御器503が、所定の制御上可動範囲Rsoにおいて比較的単純な所定作業をロボット1に行わせ、所定の制御上可動範囲Rsoを重ならないように順次移動させるようにして、ロボット1の機械的可動範囲Rsmの全体に渡って、ロボット1にこの所定作業を繰り返し行わせる形態が挙げられる。
【0147】
このような実施形態4によれば、ロボット1に制御上可動範囲が存在する場合に、制御を中断することなく且つ分解能を低下させることなく、力制御によりロボットに作業をさせることができる。
【0148】
(その他の実施形態)
上記実施形態1乃至3において、制御器3が、通常制御の中で第1制御のみ又は第2制御のみを行うように構成されていてもよい。
【0149】
上記実施形態1乃至3において、制御器3が、通常制御の前後に、所定の自動制御プログラムに従った自動制御を行うよう構成されていてもよい。
【0150】
上記実施形態1乃至3において、制御器3,403が、接触力信号(fs)と操作力信号(fm)とさらなる「他の信号」とに基づいてロボット指令位置Xs及び操作器指令位置Xmを出力するよう構成されていてもよい。「他の信号」として、例えば、基本動作を指令する基本動作制御プログラムからの基本動作指令信号が挙げられる。
【0151】
上記実施形態1乃至3では、操作器側及びロボット側の双方に力センサを備える「並列タイプ」によって、力制御が行われたが、上記実施形態1乃至3において、操作器側及びロボット側のいずれかに力センサを備えない「タイプ」によって、力制御が行われてもよい。但し、この場合においても、例えば、ロボットにおける作業対象に作業を行う部分(end effector)の「位置」を力に換算することによって、「接触力」が検出される。
【0152】
上記実施形態1乃至3では、「位置指令型バイラテラル制御」が行われたが、上記実施形態1乃至3において、その他のバイラテラル制御が行われてもよい。
【0153】
上記実施形態1乃至3では、「操作信号」として、操作力信号(力指令)が用いられたが、上記実施形態1乃至3において、「操作信号」として、操作位置信号(位置指令)が用いられてもよい。
【0154】
上記説明から、当業者にとっては、多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきである。
【産業上の利用可能性】
【0155】
本開示のロボットシステム及びその制御方法は、ロボットに制御上可動範囲が存在する場合に、制御を中断することなく且つ分解能を低下させることなく、力制御によりロボットに作業をさせることが可能なロボットシステム及びその制御方法として有用である。
【符号の説明】
【0156】
1 ロボット
2 操作器
3,403,503 制御器
10,410,510 ロボットユニット
20 操作器ユニット
31 接触力取得部
32 操作力取得部
33 減算部
34 力/位置換算部
35 指令位置生成部
36 ロボット指令位置生成部
37 ロボット制御部
38 操作器指令位置生成部
39 操作器制御部
40 指定位置移動指令付与部
41 加算部
80 学習器
100,200,400,500 ロボットシステム
480 AI器
Cm 操作器の機械的可動範囲の中心位置
Co ロボットの制御上可動範囲の中心位置
Ef エンドエフェクタ
Fm 操作力
Fs 接触力
Me メモリ
Pe 端
Sm 操作力センサ
Ss 接触力センサ
Pr プロセッサ
Rmo 操作器の指定可動範囲
Rsm ロボットの機械的可動範囲
Rso ロボットの制御上可動範囲
Xc 指令位置
Xm 操作器指令位置
Xs ロボット指令位置