(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-14
(45)【発行日】2023-11-22
(54)【発明の名称】ロボットシステム及びその制御方法
(51)【国際特許分類】
B25J 3/00 20060101AFI20231115BHJP
【FI】
B25J3/00 A
(21)【出願番号】P 2019089535
(22)【出願日】2019-05-10
【審査請求日】2022-04-26
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】110000556
【氏名又は名称】弁理士法人有古特許事務所
(72)【発明者】
【氏名】掃部 雅幸
(72)【発明者】
【氏名】笠 秀行
(72)【発明者】
【氏名】藤森 潤
(72)【発明者】
【氏名】木下 博貴
(72)【発明者】
【氏名】▲高▼橋 大樹
(72)【発明者】
【氏名】志鷹 拓哉
(72)【発明者】
【氏名】清水 開
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2018-020430(JP,A)
【文献】特開2018-089736(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
作業対象物に作業を行うロボットと、前記ロボットが作業時に作業対象から受ける接触力を感知する接触力センサと、制御器と、操作者の操作による操作信号を出力する操作器及び前記操作信号を模した
模擬操作信号を出力するコンピュータの少なくともいずれかと、を備え、
前記制御器は、
前記ロボットのA制御及びB制御を行い、前記A制御において、予めプログラムされた動作を行うよう前記ロボットの動作を制御し、且つ、前記B制御において、前記操作器からの前記操作信号及び前記コンピュータからの前記模擬操作信号の少なくともいずれかと前記接触力とを用いて前記ロボットの動作を力制御し、且つ、
前記B制御としての第1B制御において、力制御パラメータとして第1力制御パラメータを用いて前記力制御を行い、その後、前記A制御を行うとともにその際に前記力制御パラメータを前記第1力制御パラメータから当該第1力制御パラメータと異なる第2力制御パラメータに切り替え、その後、前記B制御としての第2B制御において、前記力制御パラメータとして前記第2力制御パラメータを用いて前記力制御を行うよう構成されている、ロボットシステム。
【請求項2】
前記
模擬操作信号を出力する前記コンピュータは、AIとして構成される、請求項1に記載のロボットシステム。
【請求項3】
前記ロボットシステムが前記操作信号としての前記操作者が前記操作器を操作する操作力を感知する操作力センサを備えるか、又は、前記AIが前記模擬操作信号としての前記操作力を模擬した模擬操作力を生成するよう構成されており、
前記制御器は、前記B制御において、前記操作力センサにより感知された前記操作力と前記接触力とに基づいて前記操作器及び前記ロボットを力制御するか、又は、前記AIにより生成される前記模擬操作力と前記接触力とに基づいて前記ロボットの動作を力制御するよう構成されている、請求項2に記載のロボットシステム。
【請求項4】
前記制御器は、前記A制御を行うA制御部と、前記B制御を行うB制御部と、操作器制御部と、ロボット制御部と、全体制御部と、を備え、
前記A制御部は、自動制御プログラムを格納するプログラム格納部と、前記プログラム格納部に格納された前記自動制御プログラムに従ってロボット指令動作を生成するAロボット指令動作生成部と、を備え、
前記B制御部は、
前記接触力センサから前記接触力を取得する接触力取得部と、
前記操作信号又は前記模擬操作信号に基づいて指令動作を取得する指令動作取得部と、
前記接触力及び前記指令動作、又は、前記指令動作に基づいてロボット指令動作を生成するBロボット指令動作生成部と、
前記接触力、又は、前記接触力及び前記指令動作に基づいて操作器指令動作を生成する操作器指令動作生成部と、を備え、
前記操作器制御部は、前記操作器指令動作に従って前記操作器の動作を制御するか、又は、前記操作器指令動作に従って前記操作器の動作を制御する操作器制御信号を前記AIに出力するよう構成され、
前記ロボット制御部は、前記Aロボット指令動作生成部で生成された前記指令動作又は前記Bロボット指令動作生成部で生成された前記ロボット指令動作に従って前記ロボットの動作を制御するよう構成され、
前記全体制御部は、前記第1B制御、前記A制御、及び前記第2B制御が順次遂行されるよう、前記ロボット制御部で前記ロボットの動作の制御に用いられる指令を前記Aロボット指令動作生成部で生成された前記ロボット指令動作と前記Bロボット指令動作生成部で生成された前記ロボット指令動作との間で切り替え、且つ、前記力制御における力制御パラメータを前記第1力制御パラメータから前記第2力制御パラメータに切り替えるように構成され、
且つ、前記力制御パラメータが、前記接触力及び前記指令動作に基づいて前記操作器指令動作及び前記ロボット指令動作を生成する際における力情報と位置情報との相互変換に用いられるパラメータを含む、請求項2又は3に記載のロボットシステム。
【請求項5】
前記制御器は、前記A制御において、前記ロボットの動作を位置制御するように構成されている、請求項1乃至4のいずれかに記載のロボットシステム。
【請求項6】
前記第1力制御パラメータと前記第2力制御パラメータとが、前記第1B制御によって前記ロボットが行う作業と前記第2B制御によって前記ロボットが行う作業とにおけるワークの種類の相違、作業の種類の相違、前記ロボットの姿勢の相違、ツールの種類の相違、エンドエフェクタの種類の相違、及び操作者の相違の少なくともいずれかに対応して相違する、請求項1乃至5のいずれかに記載のロボットシステム。
【請求項7】
作業対象物に作業を行うロボットと、前記ロボットが作業時に作業対象から受ける接触力を感知する接触力センサと、制御器と、操作者の操作による操作信号を出力する操作器及び前記操作信号を模した
模擬操作信号を出力するコンピュータの少なくともいずれかと、を備えるロボットシステムの制御方法であって、
前記制御方法は、前記制御器によって前記ロボットをA制御するA制御工程及び前記制御器によって前記ロボットをB制御するB制御工程を含み、
前記A制御工程は、前記制御器によって、予めプログラムされた動作を行うよう前記ロボットの動作を制御する工程であり、且つ前記B制御は、前記制御器によって、前記操作器からの前記操作信号及び前記コンピュータからの前記模擬操作信号の少なくともいずれかと前記接触力とに基づいて、前記ロボットの動作を力制御するする工程であり、且つ、
前記制御方法は、前記B制御工程として、前記制御器によって、力制御パラメータとして第1力制御パラメータを用いて前記力制御を行う第1B制御工程と、前記第1B制御工程の後、前記A制御工程として、前記制御器によって、当該A制御工程を遂行するとともにその際に前記力制御パラメータを前記第1力制御パラメータから当該第1力制御パラメータと異なる第2力制御パラメータに切り替える中間A制御工程と、前記中間A制御工程
の後、前記B制御工程として、前記制御器によって、前記力制御パラメータとして前記第2力制御パラメータを用いて前記力制御を行う第2B制御工程と、を含む、ロボットシステムの制御方法。
【請求項8】
前記コンピュータは、AIとして構成され、
前記B制御工程は、前記制御器によって、前記操作者の操作による前記操作器からの操作信号及
び前記AIからの
前記模擬操作信号の少なくともいずれかと前記接触力とを用いて前記ロボットの動作を力制御する工程である、請求項7に記載のロボットシステムの制御方法。
【請求項9】
前記ロボットシステムが前記操作信号としての前記操作者が前記操作器を操作する操作力を
感知する操作力センサを備えるか、又は、前記AIが前記模擬操作信号としての前記操作力を模擬した模擬操作力を生成するよう構成されており、
前記B制御工程は、前記制御器によって、前記操作力センサにより感知された前記操作力と前記接触力とに基づいて前記操作器及び前記ロボットを力制御するか、又は、前記AIにより生成される前記模擬操作力と前記接触力とに基づいて前記ロボットの動作を力制御する工程である、請求項8に記載のロボットシステムの制御方法。
【請求項10】
前記制御方法は、前記A制御工程、前記B制御工程、操作器制御工程、ロボット制御工程、及び全体制御工程を含み、
前記A制御工程は、プログラム格納部に格納された自動制御プログラムに従ってロボット指令動作を生成するAロボット指令動作生成工程を含み、
前記B制御工程は、
前記接触力センサから前記接触力を取得する接触力取得工程と、
前記操作信号又は前記模擬操作信号に基づいて指令動作を取得する指令動作取得工程と、
前記接触力及び前記指令動作、又は、前記指令動作に基づいてロボット指令動作を生成するBロボット指令動作生成工程と、
前記接触力、又は、前記接触力及び前記指令動作に基づいて操作器指令動作を生成する操作器指令動作生成工程と、を含み、
前記操作器制御工程は、前記操作器指令動作に従って前記操作器の動作を制御するか、又は、前記操作器指令動作に従って前記操作器の動作を制御する操作器制御信号を前記AIに出力する工程であり、
前記ロボット制御工程は、前記Aロボット指令動作生成工程で生成された前記指令動作又は前記Bロボット指令動作生成工程で生成された前記ロボット指令動作に従って前記ロボットの動作を制御する工程であり、
前記全体制御工程は、前記第1B制御工程、前記A制御工程、及び前記第2B制御工程が順次遂行されるように、前記ロボット制御工程で前記ロボットの動作の制御に用いられる指令を前記Aロボット指令動作生成工程で生成された前記ロボット指令動作と前記Bロボット指令動作生成工程で生成された前記ロボット指令動作との間で切り替え、且つ、前記力制御における力制御パラメータを前記第1力制御パラメータから前記第2力制御パラメータに間で切り替える工程であり、
且つ、前記力制御パラメータが、前記接触力及び前記指令動作に基づいて前記操作器指令動作及び前記ロボット指令動作を生成する際における力情報と位置情報との相互変換に用いられるパラメータを含む、請求項8又は9に記載のロボットシステムの制御方法。
【請求項11】
前記A制御工程は、前記制御器によって前記ロボットの動作を位置制御するように構成されている、請求項7乃至10のいずれかに記載のロボットシステムの制御方法。
【請求項12】
前記第1力制御パラメータと前記第2力制御パラメータとが、前記第1B制御工程にお
いて前記ロボットが行う作業と前記第2B制御工程において前記ロボットが行う作業とにおけるワークの種類の相違、作業の種類の相違、前記ロボットの姿勢の相違、ツールの種類の相違、エンドエフェクタの種類の相違、及び操作者の相違の少なくともいずれかに対応して相違する、請求項7乃至11のいずれかに記載のロボットシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットシステム及びその制御方法に関する。
【背景技術】
【0002】
ロボットを手動で力制御する技術が知られている。例えば、特許文献1に記載の技術では、バイラテラル制御が行われ、操作者がマスターロボット(操作装置)を操作することによって、スレーブロボットが力制御される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記従来の技術のような手動によるロボットの力制御は、多様な作業に対応する必要がある。しかし、ワークの種類、作業の種類、ロボットの姿勢等が変わると、操作者が希望する操作感を実現する力制御パラメータも変わる。従って、多様な作業に合わせて、操作者が希望する操作感を実現する力制御パラメータを適用することが求められる。
【0005】
このことは、操作者に代わってAIがロボットを力制御する場合にも言える。AI(Artificial Intelligence(人工知能))は知的行動を人間に代わって行うコンピュータ(ソフトウェア)であるからである。つまり、AIがロボットを力制御する場合、操作者が希望すると想定される操作感を実現する力制御パラメータを適用することが求められる。以下、「操作者が希望する又は操作者が希望すると想定される操作感を実現する力制御パラメータ」を、単に「操作者が希望すると想定される操作感を実現する力制御パラメータ」と呼ぶ。
【0006】
また、作業を中断することなく力制御パラメータを切り替えることが望ましい。
【0007】
本発明は上記のような課題を解決するためになされたもので、多様な作業に合わせて、且つ、作業を中断することなく、操作者が希望すると想定される操作感を実現する力制御パラメータを適用することが可能なロボットシステム及びその制御方法を提供することを目的としている。
【課題を解決するための手段】
【0008】
上記課題を解決するために本発明者等は鋭意検討した。その結果、以下の知見を見出した。
【0009】
人間(操作者)又はAIがロボットを操作する場合、位置制御又は力制御の最中にこれらの制御における制御パラメータを変えると、人間(操作者)又はAIがその制御パラメータの変化にとっさに対処して制御を継続することが難しい。従って、制御パラメータを変える場合には、その制御を中断せざるを得ない。しかし、ロボットに予めプログラムされた動作を行わせるのであれば、制御の最中に制御パラメータを変えても、その制御パラメータの変化に対処するよう予めロボットの動作をプログラムしておけば、その制御に支障を来さない。
【0010】
そこで、本発明者等は、前記ロボットが予めプログラムされた動作を行うよう当該ロボットの動作を制御するプログラム制御において、力制御パラメータを切り替えることを想到した。この場合、プログラム制御が力制御であってもよい。力制御パラメータの切り替えは、当該プログラム制御で用いられた力制御パラメータが不要になった時点以降に行えばよい。
【0011】
本発明はこのような知見に基づいてなされたものである。
【0012】
そこで、本発明のある形態(aspect)に係るロボットシステムは、作業対象物に作業を行うロボットと、前記ロボットが作業時に作業対象から受ける接触力を感知する接触力センサと、制御器と、を備え、前記制御器は、前記ロボットのA制御及びB制御を行い、前記A制御において、予めプログラムされた動作を行うよう前記ロボットの動作を制御し、且つ、前記B制御において、少なくとも、前記接触力センサが感知した前記接触力に基づいて、前記ロボットの動作を力制御し、且つ、前記B制御としての第1B制御において、力制御パラメータとして第1力制御パラメータを用いて前記力制御を行い、その後、前記A制御を行うとともにその際に前記力制御パラメータを前記第1力制御パラメータから当該第1制御パラメータと異なる第2力制御パラメータに切り替え、その後、前記B制御としての第2B制御において、前記力制御パラメータとして前記第2力制御パラメータを用いて前記力制御を行うよう構成されている。
【0013】
ここで、「A制御」及び「B制御」は、教示におけるA制御及びB制御を含まない。本発明は、実際の作業における上記課題を解決することを目的としているからである。
【0014】
この構成によれば、第1B制御によるロボットの作業において操作者が希望すると想定される操作感を実現する力制御パラメータを第1力制御パラメータとして設定し、第2B制御によるロボットの作業において操作者が希望すると想定される操作感を実現する力制御パラメータを第2力制御パラメータとして設定すると、制御器が、第1B制御において、第1力制御パラメータを用いて力制御を行い、その後、A制御を行うとともにその際に力制御パラメータを第1力制御パラメータから第2力制御パラメータに切り替え、その後、第2B制御において、第2力制御パラメータを用いて力制御を行う。従って、第1B制御によるロボットの作業、A制御によるロボットの作業、及び第2B制御によるロボットの作業という多様な作業に合わせて、操作者が希望すると想定される操作感を実現する力制御パラメータを適用することができる。しかも、制御器が、プログラム制御を行うA制御時に力制御パラメータを切り替えるので、各作業を中断することなく力制御パラメータを切り替えることができる。
【0015】
前記ロボットシステムが、操作者が操作する操作器及びAIの少なくともいずれかを備え、前記制御器は、前記B制御において、前記操作者の操作による前記操作器からの操作信号及び前記操作信号を模擬した前記AIからの模擬操作信号の少なくともいずれかと前記接触力とを用いて前記ロボットの動作を力制御するように構成されていてもよい。
【0016】
この構成によれば、B制御において、操作者又はAIがバイラテラル制御によってロボットの動作を制御することができる。
【0017】
前記ロボットシステムが前記操作信号としての前記操作者が前記操作器を操作する操作力を感知する操作力センサを備えるか、又は、前記AIが前記模擬操作信号としての前記操作力を模擬した模擬操作力を生成するよう構成されており、前記制御器は、前記B制御において、前記操作力センサにより感知された前記操作力と前記接触力とに基づいて前記操作器及び前記ロボットを力制御するか、又は、前記AIにより生成される前記模擬操作力と前記接触力とに基づいて前記ロボットの動作を力制御するよう構成されていてもよい。ここで、「前記模擬操作力と前記接触力とに基づいて」とは、「前記模擬操作力」及び「前記接触力」と、これら以外のもの(例えば、後述する実施形態3における「操作力」及び「基本操作力」)と、に基づく場合も含む。
【0018】
この構成によれば、B制御において、力帰還型のバイラテラル制御を行うことができる。
【0019】
前記制御器は、前記A制御を行うA制御部と、前記B制御を行うB制御部と、操作器制御部と、ロボット制御部と、全体制御部と、を備え、前記A制御部は、自動制御プログラムを格納するプログラム格納部と、前記プログラム格納部に格納された前記自動制御プログラムに従ってロボット指令動作を生成するAロボット指令動作生成部と、を備え、前記B制御部は、前記接触力センサから前記接触力を取得する接触力取得部と、前記操作信号又は前記模擬操作信号に基づいて指令動作を取得する指令動作取得部と、前記接触力及び前記指令動作、又は、前記指令動作に基づいてロボット指令動作を生成するBロボット指令動作生成部と、前記接触力、又は、前記接触力及び前記指令動作に基づいて操作器指令動作を生成する操作器指令動作生成部と、を備え、前記操作器制御部は、前記操作器指令動作に従って前記操作器の動作を制御するか、又は、前記操作器指令動作に従って前記操作器の動作を制御する操作器制御信号を前記AIに出力するよう構成され、前記ロボット制御部は、前記Aロボット指令動作生成部で生成された前記指令動作又は前記Bロボット指令動作生成部で生成された前記ロボット指令動作に従って前記ロボットの動作を制御するよう構成され、前記全体制御部は、前記第1B制御、前記A制御、及び前記第2B制御が順次遂行されるよう、前記ロボット制御部で前記ロボットの動作の制御に用いられる指令を前記Aロボット指令動作生成部で生成された前記ロボット指令動作と前記Bロボット指令動作生成部で生成された前記ロボット指令動作との間で切り替え、且つ、前記力制御における力制御パラメータを前記第1力制御パラメータから前記第2力制御パラメータに切り替えるように構成され、且つ、前記力制御パラメータが、前記接触力及び前記指令動作に基づいて前記操作器指令動作及び前記ロボット指令動作を生成する際における力情報と位置情報との相互変換に用いられるパラメータを含んでいてもよい。ここで、「指令動作」は、「指令位置」と「指令力」とを含む。
【0020】
この構成によれば、多様な作業に合わせて、且つ、作業を中断することなく、操作者が希望する操作感を実現する力制御パラメータを適用することが可能なロボットシステムを具体的に実現することができる。
【0021】
前記制御器は、前記A制御において、前記ロボットの動作を位置制御するように構成されていてもよい。
【0022】
この構成によれば、位置制御においては力制御パラメータを用いないので、力制御パラメータを任意のタイミングで切り替えることができる。
【0023】
前記第1力制御パラメータと前記第2制御パラメータとが、前記第1B制御によって前記ロボットが行う作業と前記第2B制御によって前記ロボットが行う作業とにおけるワークの種類の相違、作業の種類の相違、前記ロボットの姿勢の相違、ツールの種類の相違、エンドエフェクタの種類の相違、及び操作者の相違の少なくともいずれかに対応して相違してもよい。
【0024】
この構成によれば、ロボットが行う作業におけるワークの種類の相違、作業の種類の相違、ロボットの姿勢の相違、ツールの種類の相違、エンドエフェクタの種類の相違、及び操作者の相違に合わせて、操作者が希望すると想定される操作感を実現する力制御パラメータを適用することができる。
【0025】
また、本発明の他の態様(aspect)に係るロボットシステムの制御方法は、作業対象物に作業を行うロボットと、前記ロボットが作業時に作業対象から受ける接触力を感知する接触力センサと、制御器と、を備えるロボットの制御方法であって、前記制御方法は、前記制御器によって前記ロボットをA制御するA制御工程及び前記制御器によって前記ロボットをB制御するB制御工程を含み、前記A制御工程は、前記制御器によって、予めプログラムされた動作を行うよう前記ロボットの動作を制御する工程であり、且つ前記B制御は、前記制御器によって、少なくとも、前記接触力センサが感知した前記接触力に基づいて、前記ロボットの動作を力制御するする工程であり、且つ、前記制御方法は、前記B制御工程として、前記制御器によって、力制御パラメータとして第1力制御パラメータを用いて前記力制御を行う第1B制御工程と、前記第1B制御工程の後、前記A制御工程として、前記制御器によって、当該A制御工程を遂行するとともにその際に前記力制御パラメータを前記第1力制御パラメータから当該第1制御パラメータと異なる第2力制御パラメータに切り替える中間A制御工程と、前記中間A制御工程の後、前記B制御工程として、前記制御器によって、前記力制御パラメータとして前記第2力制御パラメータを用いて前記力制御を行う第2B制御工程と、を含む。
【0026】
この構成によれば、多様な作業に合わせて、且つ、作業を中断することなく、操作者が希望する操作感を実現する力制御パラメータを適用することが可能なロボットシステムの制御方法を提供することができる。
【発明の効果】
【0027】
本発明は、多様な作業に合わせて、且つ、作業を中断することなく、操作者が希望すると想定される操作感を実現する力制御パラメータを適用することが可能なロボットシステム及びその制御方法を提供することができるという効果を奏する。
【図面の簡単な説明】
【0028】
【
図1】
図1は、本発明の実施形態1に係るロボットシステムの制御系統の構成を示す機能ブロック図である。
【
図2】
図2は、
図1のA制御部の構成を示す機能ブロック図である。
【
図3】
図3は、操作器ユニット、ロボットユニット、及び
図1のB制御部の構成を示す機能ブロック図である。
【
図4】
図4は、ある作業におけるワークの形態及びロボットの姿勢を示す模式的図である。
【
図5】
図5は、他の作業におけるワークの形態及びロボットの姿勢を示す模式的図である。
【
図6】
図6は、さらなる他の作業におけるワークの形態及びロボットの姿勢を示す模式的図である。
【
図7】
図7は、
図1のロボットシステムの動作を示すフローチャートである。
【
図8】
図8は、本発明の実施形態2に係るロボットシステムのAI、ロボットユニット、及びB制御部の構成を示す機能ブロック図である。
【
図9】
図9は、本発明の実施形態3に係るロボットシステムの操作器ユニット、AI、基本動作指令部、ロボットユニット、及びB制御部の構成を示す機能ブロック図である。
【発明を実施するための形態】
【0029】
以下、本発明の実施の形態を、図面を参照しながら説明する。なお、以下では全ての図面を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。また、本発明は、以下の実施形態に限定されない。
【0030】
(実施形態1)
本発明の実施形態1は、操作者がロボットを操作する場合における力制御パラメータの切り替えの態様を例示する。
[構成]
図1は、本発明の実施形態1に係るロボットシステムの制御系統の構成を示す機能ブロック図である。
図2は、A制御部11の構成を示す機能ブロック図である。
図3は、操作器ユニット、ロボットユニット、及びB制御部12の構成を示す機能ブロック図である。
【0031】
図1乃至
図3を参照すると、本実施形態に係るロボットシステム100は、操作者が操作する操作器1と、操作器1を操作者が操作する操作力を感知する操作力センサSE1と、作業対象物に作業を行うロボット2と、ロボット2が作業時に作業対象から受ける接触力を感知する接触力センサSE2と、ロボット2のA制御及びB制御を行い、A制御において、予めプログラムされた動作を行うようロボット2の動作を制御し、且つ、B制御において、操作力センサSE1によって感知される操作力と接触力センサSE2によって感知される接触力とに基づいて操作器1及びロボット2の動作を力制御するよう構成された制御器3と、を備える。以下では、A制御において、ロボット2を位置制御する形態を例示するが、A制御において、ロボット2を力制御してもよい。
【0032】
制御器3は、B制御としての第1B制御において、力制御パラメータとして第1力制御パラメータを用いて力制御を行い、その後、A制御を行うとともにその際に力制御パラメータを第1力制御パラメータから当該第1制御パラメータと異なる第2力制御パラメータに切り替え、その後、B制御としての第2B制御において、力制御パラメータとして第2力制御パラメータを用いて力制御を行うよう構成されている。なお、A制御において、ロボット2を力制御する場合であって、これら3つの制御において、互いに異なる力制御パラメータを用いて力制御を行う場合、A制御の最初及び最後において、力制御パラメータを切り替えればよい。ここで、「A制御」及び「B制御」は、教示におけるA制御及びB制御を含まない。本実施形態は、実際の作業を対象としているからである。
【0033】
以下、このロボットシステム100の具体的な構成を詳しく説明する。
【0034】
図1を参照すると、ロボットシステム100は、操作器1と、ロボット2と、制御器3と、を備える。
【0035】
制御器3は、A制御部11と、B制御部12と、全体制御部13と、操作器制御部14と、ロボット制御部15と、を備える。
【0036】
<操作器1>
操作器1は、操作者が操作可能であり、且つ、操作者が把持する部分を操作器制御部14によって位置制御することが可能なものであればよい。操作器1は、ここでは、マスターロボットで構成される。操作器1の形態は、ロボット2(スレーブロボット)と相似形であっても相似形でなくてもよい。操作器1は、例えば、ジョイスティック等の簡単な構造のものであってもよい。
【0037】
<ロボット2>
ロボット2は、力制御することが可能なものであればよい。ロボット2として、産業用ロボット、医療用ロボット等が例示される。
【0038】
<制御器3>
制御器3は、例えば、プロセッサとメモリとを有する演算器で構成される。A制御部11、B制御部12、全体制御部13、操作器制御部14、及びロボット制御部15は、この演算器のメモリに格納された所定の制御プログラムをプロセッサが実行することによって実現される機能ブロックである。この演算器は、具体的には、例えば、マイクロコントローラ、MPU、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)等で構成される。制御器3は、集中制御を行う単独の演算器で構成されてもよく、分散制御を行う複数の演算器で構成されてもよい。制御器3は適宜な場所に設けられる。
【0039】
<A制御部11>
図2を参照すると、A制御部11は、所定の自動制御プログラムを格納するプログラム格納部21と、Aロボット指令位置生成部22と、を含む。プログラム格納部21は、上述の演算器のメモリによって構成される。所定の自動制御プログラムは、ロボット2が所定の作業を行うようロボット2を位置制御するように作成されている。Aロボット指令位置生成部22は、プログラム格納部21から所定の自動制御プログラムを読み出してそれを実行することによってロボット指令位置x
sを生成する。なお、後述するように、このロボット指令位置x
sに従ってロボット制御部15がロボット2を位置制御すると、ロボット2は、自動制御プログラムによってプログラムされた動作を行う。
【0040】
<操作器ユニット31>
図3を参照すると、操作器ユニット31は、操作器1及び操作力センサSE1を備える。操作力センサSE1は、操作者が操作器1を操作する操作力を感知するものであればよい。例えば、操作力センサSE1が、操作器1の操作者が把持する部分(以下把持部という)と、操作器1の把持部以外の部分との間に設けられている場合、操作力センサSE1は、例えば、圧電センサ、歪ゲージ(ロードセル)等によって構成され得る。また、例えば、操作器1の動作がサーボ制御される場合、操作力センサSE1は、サーボモータの電流を感知する電流センサ、サーボモータのトルクを感知するトルクセンサ等で構成され得る。
【0041】
<ロボットユニット32>
図3を参照すると、ロボットユニット32は、ロボット2及び接触力センサSE2を備える。接触力センサSE2は、ロボット2の作業対象から作業部が受ける接触力を感知するものであればよい。例えば、接触力センサSE2が、ロボット2の作業部(例えば、エンドエフェクタ)と、それ以外の部分との間に設けられている場合、接触力センサSE2は、例えば、圧電センサ、歪ゲージ(ロードセル)等によって構成され得る。また、例えば、ロボット2の動作がサーボ制御される場合、接触力センサSE2は、サーボモータの電流を感知する電流センサ、サーボモータのトルクを感知するトルクセンサ等で構成され得る。
【0042】
<B制御部12>
B制御部12は、操作力取得部33と、接触力取得部35と、加減算部37と、力/位置換算部38と、指令位置生成部39と、操作器指令位置生成部41と、Bロボット指令位置生成部45と、を含む。
【0043】
操作力取得部33は、操作力センサSE1の感知信号から操作力fmを取得する。
【0044】
接触力取得部35は、接触力センサSE2の感知信号から接触力fsを取得する。
【0045】
加減算部37は、操作力fmに対する接触力fsの差分を算出する。
【0046】
力/位置換算部38は、この差分を指令位置に換算して指令位置xcを生成する。この際、例えば、以下の式が用いられる。
【0047】
m×(dvc/dt)+D×vc=fm-fs
ここで、mは仮想慣性であり、Dは仮想粘性である。これらは、力制御パラメータであり、作業に応じて適宜決定される。
【0048】
加減算部37と力/位置換算部38とが、操作力fmに対する接触力fsの差分を位置に換算して指令位置xcを生成する指令位置生成部39を構成する。
【0049】
操作器指令位置生成部41は、指令位置xcを、操作器とロボットとの所定の分配比率で分配して操作器指令位置xmを生成する。
【0050】
Bロボット指令位置生成部45は、指令位置xcを上記所定の分配比率で分配してロボット指令位置xsを生成する。
【0051】
<操作器制御部14>
操作器制御部14は、操作器指令位置生成部41で生成された操作器指令位置xmに基づいて操作器1を位置制御する。
【0052】
<ロボット制御部15>
ロボット制御部15は、A制御部11のAロボット指令位置生成部で生成されたロボット指令位置xs又はB制御部12のBロボット指令位置生成部で生成されたロボット指令位置xsに基づいてロボット2を位置制御する。
【0053】
<力制御パラメータの設定>
上述のように、力制御パラメータは、本実施形態では、力/位置換算部38において用いられる仮想慣性m及び仮想粘性D並びに操作器指令位置生成部41及びBロボット指令位置生成部45で用いられる上記所定の分配比率を含む。しかし、力制御パラメータは、これらに限定されず、力制御に関するその他の各種パラメータを含む。
【0054】
これらの力制御パラメータが、ロボット2が行う作業におけるワークの種類の相違、作業の種類の相違、及びロボット2の姿勢の相違に合わせて、操作者が希望すると想定される操作感を実現する力制御パラメータに設定される。
【0055】
<全体制御部13>
全体制御部13は、制御の切り替え、力制御パラメータの設定、及び力制御パラメータの切り替えを行う。
【0056】
{制御の切り替え}
全体制御部13は、ロボット制御部15で位置制御に用いられるロボット指令位置を、A制御部11で生成されたロボット指令位置xsとB制御部12で生成されたロボット指令位置xsとの間で切り替える。これにより、ロボット2の動作の制御を、A制御とB制御との間で切り替える。全体制御部13は、A制御からB制御への切り替えを上述の所定の制御プログラムに従って、自動的に行う。また、B制御からA制御への切り替えを手動で行う。この場合、例えば、制御器3に設けられた制御切り替えボタン(不図示)が押されると、全体制御部13がB制御をA制御に切り替える。なお、A制御とB制御との間の切り替えを手動で行ってもよい。この場合、制御切り替えボタンを押すごとに、全体制御部13が、制御をA制御とB制御との間で切り替える。
【0057】
{力制御パラメータの設定}
上述の力制御パラメータのセットが、例えば、ロボット2が行う作業に対応させられて(関連付けられて)、制御器3の入力部(不図示)から全体制御部13に入力される。すると、全体制御部13が、入力された力制御パラメータ及びロボット2が行う作業を互いに対応させて(関連付けて)パラメータ格納部(不図示)に格納する。
【0058】
{力制御パラメータの切り替え}
本実施形態では、ロボット2が行う一連の作業が予め定められており、その一連の作業が、A制御によって遂行される作業(以下、A制御作業という)とB制御によって遂行される作業(以下、B制御作業という)とを含む。
【0059】
全体制御部13は各作業を認識することが可能であり、全体制御部13は、2つのB制御作業がA制御作業を挟む場合に、中間のA制御作業の最中に、力制御パラメータを、その前のB制御作業(第1B制御によって遂行される作業)に対応する力制御パラメータ(第1力制御パラメータ)から次のB制御作業(第2B制御によって遂行される作業)に対応する力制御パラメータ(第2力制御パラメータ)に切り替える。
【0060】
<力制御パラメータの技術的意義>
本実施形態のロボットシステム100は、ワークのピッキング、ワークの搬送等の簡単な作業をA制御によって行い、ワークの挿入等の複雑な状況判断が必要な作業のみを人がB制御によって行う。このB制御による作業(B制御作業)では、多様な作業に対応する必要がある。
【0061】
そのような多様な作業を行う場合、ワークの種類、作業の種類、ロボットの姿勢、ツールの種類、エンドエフェクタの種類、及び操作者等が異なる。ワークには、例えば、形、重さ、硬さ等の種類がある。作業には、例えば、組立、研削、塗装等の種類がある。ロボットの姿勢には、例えば、ツールの方向、腕の伸び等がある。これらが変わると、操作者が希望すると想定される操作感を実現する力制御パラメータも変わる。
【0062】
図4乃至
図6は、作業に応じてワークの形態及びロボット2の姿勢が変化する様子を例示する模式的図である。
【0063】
図4の作業では、垂直多関節型のロボット2が、下腕部が直立し、且つ上腕部が水平な姿勢でワーク52を容器状物品51に挿入する。
【0064】
図5の作業では、垂直多関節型のロボット2が、
図4と同じ姿勢で、
図4のワーク52と形状及び重量の異なるワーク54を容器状物品53に挿入する。
【0065】
図6の作業では、垂直多関節型のロボット2が、
図4と異なり、下腕部が傾斜するとともに腕が伸びた姿勢で、
図4と同様にワーク52を容器状物品51に挿入する。
【0066】
従って、ロボット2が行う作業が
図4の作業から
図5の作業に変わると、ワークの種類(形状及び重量)が変わり、ロボット2が行う作業が
図4の作業から
図6の作業に変わると、ロボット2の姿勢が変わる。
【0067】
そこで、
図4乃至
図5の作業のそれぞれにおいて、操作者が希望すると想定される操作感を実現する力制御パラメータのセットを設定することによって、これらの作業に適切に対応することができる。
【0068】
[動作]
次に、以上のように構成されたロボットシステム100の動作(ロボットシステム100の制御方法)を説明する。この動作は、制御器3を構成する演算器において、プロセッサがメモリに格納された上述の所定の制御プログラムを実行することによって遂行される。
【0069】
まず、一般的な動作を説明する。
【0070】
図1及び
図2を参照すると、A制御においては、A制御部11が、自動制御プログラムに従ってロボット指令位置x
sを出力すると、ロボット制御部15がロボット2の動作を位置制御する。これにより、ロボット2が自動制御プログラムによってプログラムされた動作を行う。
【0071】
図1及び
図3を参照すると、B制御においては、操作者が操作器1を操作すると、その操作力f
mに応じてロボット制御部15がロボット2の動作を位置制御する。これにより、操作力f
mに応じた力がロボット2によって作業対象に加えられる。すると、この際にロボット2が作業対象から受ける接触力f
sに応じて、操作器制御部14が操作器1の動作を位置制御する。これにより、操作者がその操作に対する反力を感知する。従って、操作者は操作に対する反力を感知しながら操作器1を操作することができる。これにより、ロボット2が力制御によって手動制御される。
【0072】
次に、本実施形態に特有の動作を、
図7を参照しながら説明する。
図7は、ロボットシステム100に特有の動作を示すフローチャートである。
【0073】
図1乃至
図3及び
図7を参照すると、上述のように、本実施形態では、ロボット2が行う一連の作業が予め定められており、その一連の作業が、第1B制御によって遂行される第1作業と、その後にA制御によって遂行される第2作業と、その後に第2B制御によって遂行される第3作業とを含む。第1及び第3作業として、ワークの挿入作業又は組み付け作業が例示される。第2作業として、ワークのピッキング又は搬送が例示される。
【0074】
この場合に、制御器3は、以下のように、ロボットシステム100の動作を制御する。
【0075】
まず、全体制御部13が、ロボット2の制御をB制御に切り替えるとともに力制御パラメータを第1力制御パラメータに切り替える。これにより、制御器3が第1B制御によってロボット2に第1作業を行わせる(ステップS1)。この際、第1力制御パラメータを用いた力制御が行われる。
【0076】
次いで、全体制御部13が、ロボット2の制御をA制御に切り替える。これにより、制御器3がA制御によってロボット2に第2作業を行わせる(ステップS2)。また、全体制御部13が、このA制御の最中に力制御パラメータを第2力制御パラメータに切り替える。A制御ではプログラム制御が行われるので、A制御に支障を来すことがない。また、第2力制御パラメータが用いられる第3作業の前に力制御パラメータが第2力制御パラメータに切り替えられるので、第1乃至第3作業を、中断することなく、行うことができる。
【0077】
次いで、全体制御部13が、ロボット2の制御をB制御に切り替える。これにより、制御器3が第2B制御によってロボット2に第3作業を行わせる(ステップS3)。この際、第2力制御パラメータを用いた力制御が行われる。
【0078】
以上に説明したように、本実施形態によれば、第1B制御によるロボット2の作業において操作者が希望すると想定される操作感を実現する力制御パラメータを第1力制御パラメータとして設定し、第2B制御によるロボットの作業において操作者が希望すると想定される操作感を実現する力制御パラメータを第2力制御パラメータとして設定すると、制御器3が、第1B制御において、第1力制御パラメータを用いて力制御を行い、その後、A制御を行うとともにその際に力制御パラメータを第1力制御パラメータから第2力制御パラメータに切り替え、その後、第2B制御において、第2力制御パラメータを用いて力制御を行う。従って、第1B制御によるロボットの作業、A制御によるロボットの作業、及び第2B制御によるロボットの作業という多様な作業に合わせて、操作者が希望すると想定される操作感を実現する力制御パラメータを適用することができる。しかも、制御器3が、プログラム制御を行うA制御時に力制御パラメータを切り替えるので、各作業を中断することなく力制御パラメータを切り替えることができる。また、A制御において、力制御パラメータを用いない位置制御を行うので、力制御パラメータを任意のタイミングで切り替えることができる。
【0079】
(実施形態2)
本発明の実施形態2は、AIがロボットを操作する場合における力制御パラメータの切り替えの態様を例示する。
【0080】
図8は、本発明の実施形態2に係るロボットシステムのAI、ロボットユニット、及びB制御部の構成を示す機能ブロック図である。
【0081】
図8を参照すると、実施形態2のロボットシステム100(
図1参照)は、実施形態1のロボットシステム100において、操作器ユニット31がAI61で置換されている。
【0082】
これ以外の構成は実施形態1のロボットシステム100と同じである。以下、この相違点について説明する。
【0083】
AI61は、人間の知的行動を人間に代わって行うコンピュータ(ソフトウェア)である。つまり、AI61は、学習ソフトウェアがコンピュータにインストールされることによって実現される学習モデルである。AI61は、機械学習するものでもよく、さらにはディープラーニングするものでもよい。本実施形態では、所定の学習ソフトウェアが、制御器3を構成する演算器(不図示)のメモリに格納され、この所定の学習ソフトウェアを上記演算器のプロセッサが読み出して実行することによって、AI61が機能ブロックとして実現される。
【0084】
AI61は、操作者の操作による操作器からの操作信号を模擬した模擬操作信号を出力する。「操作者の操作による操作器からの操作信号を模擬した模擬操作信号」として、実際又は仮想の「操作者の操作による操作器からの操作信号」を学習した結果、AIが操作信号として出力する信号が例示される。「模擬操作信号」は「模擬位置」と「模擬操作力」とを含む。本実施形態では、AI61は、「模擬操作力」を出力する。
【0085】
操作力取得部33は、この模擬操作力から操作力を取得する。また、操作器制御部14は、操作器指令位置精製部41から出力される操作器指令位置に従って操作器制御信号をAIに出力する。AI61は、この操作器制御信号を接触力fsとのフィードバック信号として受け取り、接触力fsを反映した模擬操作力を出力する。
【0086】
以上の構成により、本実施形態のロボットシステム100は、実施形態1のロボットシステム100と同様の作用効果を奏する。
【0087】
(実施形態3)
本発明の実施形態3は、操作者及びAIがロボットを操作する場合における力制御パラメータの切り替えの態様を例示する。
【0088】
図9は、本発明の実施形態3に係るロボットシステムの操作器ユニット、AI、基本動作指令部、ロボットユニット、及びB制御部の構成を示す機能ブロック図である。
【0089】
図9を参照すると、実施形態3のロボットシステム100(
図1参照)は、実施形態1のロボットシステム100が、さらに、AI61、基本動作指令部71、及び加算器72を有する。
【0090】
これ以外の構成は実施形態1のロボットシステム100と同じである。以下、この相違点について説明する。
【0091】
制御器3は、基本動作指令部71と、加算器72と、をさらに備える。AI61の機能は、上述した通りである。基本動作指令部71は、上述の演算器のメモリに格納された基本動作プログラムに従って、基本動作を出力する。「基本動作」は、「基本位置」と「基本操作力」を含む。ここでは、基本動作指令部71は、基本操作力を出力する。AI61は、上述のように、模擬操作力を出力する。加算器72は、これらの、操作力、基本操作力、及び模擬操作力を合算して出力する。操作力取得部33は、この合算された操作力から操作力を取得する。AI61は、ここでは、操作力と前回の学習結果である模擬操作力とを合算したものを機械学習し、その学習の結果である操作信号を模擬操作力として出力する。これにより、操作器1から、操作者による基本動作に対する必要な修正である操作力が出力され、AI61が機械学習する都度、模擬操作力の精度が向上する。その結果、最終的に操作者の修正が不要となり、操作者の技能がAI61に伝達される。
【0092】
以上の構成により、本実施形態のロボットシステム100は、実施形態1のロボットシステム100と同様の作用効果を奏する。
【0093】
(その他の実施形態)
上記実施形態では、力制御として、操作器1の操作力を検出する力帰還型バイラテラル制御のうち、操作器1を位置制御するタイプを例示した。しかし、本発明における力制御はこれには限定されない。力制御は、ロボット2に対する接触力が操作器1に帰還されるものであればよい。例えば、操作器1を力制御する力帰還型バイラテラル制御でもよく、操作器1の操作力を検出しない力逆送型バイラテラル制御であってもよい。
【0094】
上記説明から、当業者にとっては、多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきである。
【産業上の利用可能性】
【0095】
本発明のロボットシステム及びその制御方法は、多様な作業に合わせて、且つ、作業を中断することなく、操作者が希望すると想定される操作感を実現する力制御パラメータを適用することが可能なロボットシステム及びその制御方法として有用である。
【符号の説明】
【0096】
1 操作器
2 ロボット
3 制御器
11 A制御部
12 B制御部
13 全体制御部
14 操作器制御部
15 ロボット制御部
21 プログラム格納部
22 自動指令位置生成部
31 操作器ユニット
32 ロボットユニット
33 操作力取得部
35 接触力取得部
37 加減算部
38 力/位置換算部
39 指令位置生成部
41 操作器指令位置生成部
45 Bロボット指令位置生成部
51,53 容器状物品
52,54 ワーク
61 AI
71 基本動作指令部
72 加算器
100 ロボットシステム
SE1 操作力センサ
SE2 接触力センサ
fm 操作力
fs 接触力