(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-24
(45)【発行日】2024-06-03
(54)【発明の名称】ロボット、システム、方法及びプログラム
(51)【国際特許分類】
B25J 9/16 20060101AFI20240527BHJP
B25J 5/00 20060101ALI20240527BHJP
【FI】
B25J9/16
B25J5/00 A
(21)【出願番号】P 2021566660
(86)(22)【出願日】2019-12-25
(86)【国際出願番号】 JP2019050969
(87)【国際公開番号】W WO2021130929
(87)【国際公開日】2021-07-01
【審査請求日】2022-11-02
(73)【特許権者】
【識別番号】315014671
【氏名又は名称】東京ロボティクス株式会社
(74)【代理人】
【識別番号】100098899
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】松尾 雄希
(72)【発明者】
【氏名】坂本 義弘
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2013-111737(JP,A)
【文献】特開2018-158435(JP,A)
【文献】特開2010-137357(JP,A)
【文献】特開2001-277162(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
(57)【特許請求の範囲】
【請求項1】
1又は複数の動作部を含む機能単位を複数備えたロボットであって、
直交座標系を構成する並進軸及び/又は回転軸のそれぞれに対して、力制御の対象として前記機能単位のうちのいずれか1つ
が対応付けられ
、それにより各前記並進軸及び/又は回転軸に対して2つ以上の前記機能単位が同時に設定されることがないよう構成された設定情報を記憶する、設定情報記憶部と、
前記設定情報に基づいて、力制御の対象とされた前記機能単位において、各前記並進軸及び/又は回転軸方向に関して力制御を行うよう設定する、設定部と、
を備えるロボット。
【請求項2】
前記設定情報に関する入力を受け付ける入力受付部をさらに備える、請求項1に記載のロボット。
【請求項3】
前記入力受付部は、さらに、
複数の前記並進軸及び/又は回転軸について一括して設定する一括設定部を備える、請求項2に記載のロボット。
【請求項4】
前記設定情報は、さらに、前記直交座標系を構成する並進軸及び/又は回転軸のそれぞれに対して、前記力制御に係る制御パラメータが対応付けられて構成される、請求項1~3のいずれか1項に記載のロボット。
【請求項5】
前記設定情報記憶部は、さらに、
前記ロボットの行うタスク毎に前記設定情報を記憶する、タスク用設定情報記憶部を備え、
前記設定部は、さらに、
前記タスクに応じて前記タスク毎の設定情報を読み出して設定を行う、自動設定部を備える、請求項1に記載のロボット。
【請求項6】
前記設定部は、
前記直交座標系を構成する並進軸及び/又は回転軸のそれぞれにおいて、前記設定情報において力制御の対象とされなかった前記機能単位に係る各前記動作部については固定制御を行う、請求項1に記載のロボット。
【請求項7】
前記固定制御は、高剛性となる制御パラメータを用いた力制御、又は、位置制御により実現される、請求項6に記載のロボット。
【請求項8】
前記機能単位は、前記ロボットの移動に用いられる移動用動作部と、前記ロボットのマニピュレータを動作させるマニピュレータ用動作部と、を含む、請求項1に記載のロボット。
【請求項9】
前記移動用動作部は、全方位移動台車である、請求項8に記載のロボット。
【請求項10】
前記機能単位は、さらに、前記マニピュレータの昇降に用いられる昇降用動作部を含む、請求項8に記載のロボット。
【請求項11】
前記マニピュレータの先端には、把持機構部が備えられ、
前記力制御は、前記把持機構部に作用する外力に基づいて行われる、請求項8に記載のロボット。
【請求項12】
1又は複数の動作部を含む機能単位を複数備えたロボットシステムであって、
直交座標系を構成する並進軸及び/又は回転軸のそれぞれに対して、力制御の対象として前記機能単位のうちのいずれか1つ
が対応付けられ
、それにより各前記並進軸及び/又は回転軸に対して2つ以上の前記機能単位が同時に設定されることがないよう構成された設定情報を記憶する、設定情報記憶部と、
前記設定情報に基づいて、力制御の対象とされた前記機能単位において、各前記並進軸及び/又は回転軸方向に関して力制御を行うよう設定する、設定部と、
を備えるロボットシステム。
【請求項13】
1又は複数の動作部を含む機能単位を複数備えたロボットの制御方法であって、
直交座標系を構成する並進軸及び/又は回転軸のそれぞれに対して、力制御の対象として前記機能単位のうちのいずれか1つ
が対応付けられ
、それにより各前記並進軸及び/又は回転軸に対して2つ以上の前記機能単位が同時に設定されることがないよう構成された設定情報を記憶する、設定情報記憶ステップと、
前記設定情報に基づいて、力制御の対象とされた前記機能単位において、各前記並進軸及び/又は回転軸方向に関して力制御を行うよう設定する、設定ステップと、
を備える制御方法。
【請求項14】
1又は複数の動作部を含む機能単位を複数備えたロボットの制御プログラムであって、
直交座標系を構成する並進軸及び/又は回転軸のそれぞれに対して、力制御の対象として前記機能単位のうちのいずれか1つ
が対応付けられ
、それにより各前記並進軸及び/又は回転軸に対して2つ以上の前記機能単位が同時に設定されることがないよう構成された設定情報を記憶する、設定情報記憶ステップと、
前記設定情報に基づいて、力制御の対象とされた前記機能単位において、各前記並進軸及び/又は回転軸方向に関して力制御を行うよう設定する、設定ステップと、を備える制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、例えば、ロボット、特に力制御されるロボットに関する。
【背景技術】
【0002】
近年、ロボットの挙動を力制御する技術が普及しつつあり、特に、インピーダンス制御を用いたロボットが普及しつつある(例えば、特許文献1)。インピーダンス制御によれば、外力を元に、慣性、粘性及び剛性に基づいた滑らかな力制御を行うことができるので、外力に馴染むような動作を実現することができる。そのため、ロボットへと適用することで、位置制御により発生する誤差の吸収や、人間共存環境下での安全性の向上等を実現することができる。
【0003】
一方、近年、モバイルマニピュレータ等の多機能ロボットの実用化が検討されている。例えば、モバイルマニピュレータによれば、ロボットが工場内等を移動して物体操作することができるので、工場の自動化をさらに進めることができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、モバイルマニピュレータのような多機能ロボットにおいては、各機能を担う動作部をどのように制御すべきか、特に、どの動作部に力制御を適用するかについて確立した設計論はなく、従前、機能性、安全性等の観点から十分な検討がなされていなかった。
【0006】
例えば、モバイルマニピュレータは、マニピュレータと移動台車とから構成される。このとき、マニピュレータにおいては倣い動作による位置誤差の吸収等や安全性の観点から力制御が採用されることがある。この場合において、移動台車の移動動作部まで一律に力制御としてしまうと、例えば、マニピュレータによる物体の把持動作等の最中にその反力で移動台車が予期せず動いてしまう可能性等がある。この場合、物体把持等のロボットの機能が失われ、また、環境との衝突等の可能性から安全性を確保することができない。
【0007】
また、例えば、力制御とした状態で多関節マニピュレータに対して動作のティーチングを行う場合、適切な制御方式の設定がされていないと、予期せぬ関節が動いてしまったり、或いは、予期する関節が動かなかったりする可能性がある。この場合、適切なティーチングができず機能性が失われるばかりか、教示者の安全を確保することもできない。
【0008】
さらに、多機能ロボットにおいては、タスクに応じて力制御とすべき動作部が異なる場合がある。例えば、モバイルマニピュレータの移動中においては、衝突時の安全の観点から移動部については力制御とすることが好ましい。一方、物体の載置タスク等を行う場合には、安全性等の観点から、移動部については固定し、マニピュレータを力制御とすることが望ましい。すなわち、これらの配慮がなされなければ安全性の確保ができない。
【0009】
本発明は、上述の技術的課題を解決するためになされたものであり、その目的とするところは、複数の動作部を有するロボットに対してその用途やタスク等に応じて適切に力制御を適用することにより、安全性の高いロボットを提供することにある。
【課題を解決するための手段】
【0010】
上述の技術的課題は、以下の構成を有するロボット、システム、方法及びプログラムにより解決することができる。
【0011】
すなわち、本発明に係るロボットは、複数の動作部を備えたロボットであって、前記動作部のうち力制御により制御される前記動作部に関する情報を含む設定情報を記憶する、設定情報記憶部と、前記設定情報に基づいて、対応する前記動作部を力制御とする設定を行う、設定部と、を備えている。
【0012】
このような構成によれば、設定情報に基づいて力制御を行う動作部を適切に設定することが出来るので、例えば、ロボットの用途やタスク等に応じて所定の動作部を力制御としたり、予期せぬ部位が力制御により動作すること又は動作しないことを防止すること等ができる。すなわち、これにより、ロボットの安全性を高めることができる。
【0013】
なお、この場合において、動作部は、アクチュエータ等の個別の動作部品単位であってもよいし、所定の機能等何らかのまとまりを構成する複数の動作部から成る動作部群であってもよい。
【0014】
前記設定情報は、さらに、固定される前記動作部に関する情報を含む、ものであってもよい。
【0015】
前記動作部を固定する制御は、位置制御により実現される、ものであってもよい。
【0016】
前記設定情報に関する入力を受け付ける入力受付部をさらに備える、ものであってもよい。
【0017】
前記設定情報は、前記ロボットに対して設定される並進軸及び/又は回転軸毎に設定される、ものであってもよい。
【0018】
各前記並進軸及び/又は回転軸に対して、一の動作部が、力制御により制御される動作部として設定される、ものであってもよい。
【0019】
前記入力受付部は、さらに、複数の前記並進軸及び又は回転軸について一括して設定する一括設定部を備える、ものであってもよい。
【0020】
前記一括設定は、所定の機能を構成する動作群単位で行われる、ものであってもよい。
【0021】
前記入力受付部は、さらに、前記並進軸及び/又は回転軸毎に、力制御の制御パラメータに関する入力を受け付けるパラメータ入力受付部を備える、ものであってもよい。
【0022】
前記力制御は、インピーダンス制御であり、前記制御パラメータは、慣性、粘性及び剛性を示すインピーダンスパラメータであってもよい。なお、ここで、インピーダンス制御は、外力に対する応答特性を制御するものであって、所謂、広義のインピーダンス制御である。従って、例えば、位置を入力として力を出力する狭義のインピーダンス制御や、力を入力として位置を出力するアドミッタンス制御を含むものである。
【0023】
前記設定情報記憶部は、さらに、前記ロボットの行うタスク毎に前記設定情報を記憶する、タスク用設定情報記憶部を備え、前記設定部は、さらに、前記タスクに応じて前記タスク毎の設定情報を読み出して設定を行う、自動設定部を備える、ものであってもよい。
【0024】
前記動作部は、前記ロボットの移動に用いられる移動用動作部と、前記ロボットのアームに備えられるアーム用動作部と、前記アームの昇降に用いられる昇降用動作部を含む、ものであってもよい。
【0025】
本発明はシステムとしても観念することができる。すなわち、本発明に係るシステムは、複数の動作部を備えたロボットシステムであって、前記動作部のうち力制御により制御される前記動作部に関する情報を含む設定情報を記憶する、設定情報記憶部と、前記設定情報に基づいて、対応する前記動作部を力制御とする設定を行う、設定部と、を備えている。
【0026】
本発明は方法としても観念することができる。すなわち、本発明に係る方法は、複数の動作部を備えたロボットの制御方法であって、前記動作部のうち力制御により制御される前記動作部に関する情報を含む設定情報を記憶する、設定情報記憶ステップと、前記設定情報に基づいて、対応する前記動作部を力制御とする設定を行う、設定ステップと、を備えている。
【0027】
本発明はコンピュータプログラムとしても観念することができる。すなわち、本発明に係るコンピュータプログラムは、複数の動作部を備えたロボットの制御プログラムであって、前記動作部のうち力制御により制御される前記動作部に関する情報を含む設定情報を記憶する、設定情報記憶ステップと、前記設定情報に基づいて、対応する前記動作部を力制御とする設定を行う、設定ステップと、を備えている。
【発明の効果】
【0028】
本発明によれば、複数の動作部を有するロボットに対してその用途やタスク等に応じて適切に力制御を適用することにより、安全性の高いロボットを提供することができる。
【図面の簡単な説明】
【0029】
【
図2】
図2は、ロボットの制御系に関するハードウェアブロック図である。
【
図3】
図3は、インピーダンス制御に関する機能ブロック図である。
【
図4】
図4は、直接教示の手順に関するゼネラルフローチャートである。
【
図5】
図5は、インピーダンス制御に係る設定処理に関する詳細フローチャートである。
【
図6】
図6は、簡易設定モード処理に関する詳細フローチャートである。
【
図7】
図7は、受付画面の表示例について示す説明図(その1)である。
【
図8】
図8は、インピーダンス制御テーブルの概念図である。
【
図9】
図9は、詳細設定モード処理に関する詳細フローチャートである。
【
図10】
図10は、受付画面の表示例について説明図(その2)である。
【
図11】
図11は、直接教示が行われるロボットの動作に関する詳細フローチャートである。
【
図12】
図12は、工場内におけるロボットのタスクに関する説明図である。
【
図13】
図13は、タスクとインピーダンステーブルとの対応関係について示す表である。
【
図16】
図16は、ロボットの動作に関するゼネラルフローチャートである。
【
図17】
図17は、部品のピックアップの実行処理に関する詳細フローチャートである。
【
図18】
図18は、移動タスクの実行処理に関する詳細フローチャートである。
【
図19】
図19は、部品の載置タスクの実行処理に関する詳細フローチャートである。
【発明を実施するための形態】
【0030】
以下、本発明の好適な実施の形態について添付の図を参照しつつ説明する。
【0031】
(1.第1の実施形態)
(1.1 構成)
まず、
図1~
図3を参照しつつ、本実施形態に係るロボット100の構成について説明する。
【0032】
図1は、本実施形態に係るロボット100の外観図である。同図から明らかな通り、ロボット100は、その底部に備える台車部15から鉛直上方向に延びる昇降動作部11を有し、昇降動作部11の天面にはロボット頭部18が設けられ、昇降動作部11の前面にはロボットアーム8が昇降可能な態様で設けられている。
【0033】
台車部15は、図示しない複数の動作部を備えており2次元平面(X-Y平面)上の全方位に移動可能に構成されている。また、鉛直上向きの軸Rz周りに回転可能に構成されている。
【0034】
昇降動作部11は、鉛直(Z軸)方向に上下動するスライド動作部を備えている。ロボットアーム8は、その付け根が前記スライド動作部の前面と連結されており、鉛直上下方向にスライド可能に構成されている。
【0035】
ロボット頭部18は、ロボット100の左右の目に相当する部位に一対のカメラ181を備えており、首は、鉛直軸及び水平軸周りに回転可能に構成されている。同カメラ181により、環境や対象物、手先位置等に関する画像を取得することができる。
【0036】
ロボットアーム8は、アクチュエータを内部に備えた複数の関節ユニットを連結することにより構成されており、7関節(7自由度)のロボットアーム8である。また、ロボットアーム8の先端には平行開閉式のグリッパが備え付けられている。
【0037】
図2は、ロボット100の制御系に関するハードウェアブロック図である。同図から明らかな通り、ロボット100の内部において、制御部1、記憶部2、表示部3、入力部4、通信部5、アーム制御部7、昇降動作部11制御部9、台車部13、及び頭部制御部17とが互いにバスを介して接続されている。
【0038】
制御部1は、CPU等の制御装置であり、各種プログラムを読み出して後述の様々な動作を実現する処理の実行を行う。記憶部2は、ROM、RAM等のメモリであり、各種プログラムやデータを記憶する。表示部3は、ロボットに備えられた図示しないディスプレイ等と接続されて各種の画像を表示する。入力部4は、ロボットに備えられた図示しないボタン、タッチパネル等の入力装置からの入力の処理を行う。通信部5は、有線又は無線の通信ユニットであり、外部装置との間の通信に関する処理を行う。
【0039】
アーム制御部7は、制御部1からの指令に応じてロボットアーム8に備えられたアクチュエータを駆動する処理を行う。昇降動作部9は、制御部1からの指令に応じて昇降動作部11に備えられたアクチュエータを駆動する処理を行う。台車部制御部13は、制御部1からの指令に応じて台車部15に備えられた車輪を駆動する処理を行う。頭部制御部17は、制御部1からの指令に応じて頭部18に備えられたアクチュエータとカメラ181を駆動する処理を行う。
【0040】
また、後述するように、本実施形態においては、一部の動作部について力制御、特にインピーダンス制御を行うことがある。特に、本実施形態においては、インピーダンス制御の一例として、力を入力として位置を出力するアドミッタンス制御の例が示される。なお、本実施形態においては、アドミッタンス制御が例示されるものの、本発明はこのような構成に限定されない。すなわち、外力に対する応答特性を制御する、所謂、広義のインピーダンス制御であればよく、従って、例えば、位置を入力として力を出力する狭義のインピーダンス制御等も含むものである。
【0041】
図3は、例として、台車部13、昇降動作部9及びアーム制御部7に対してインピーダンス制御を行うときの機能ブロック図である。同図から明らかな通り、制御パラメータ設定部101は、記憶部2等からインピーダンスパラ―メータを読み出し、インピーダンス制御部102へと設定する処理を行う。
【0042】
インピーダンスパラメータとは、慣性(M)、粘性(D)、及び剛性(K)から成るパラメータであり、ロボット100に働く外力Fextとの関係において以下の通り表される。
【数1】
【0043】
インピーダンス制御部102は、各種動作部においてセンシングされた位置又は姿勢情報と外力情報に基づいて、各動作部への指令値を生成する。
【0044】
台車部15においては、車輪角度と、IMU値、すなわち、角速度と加速度を検出した値が検出され、位置演算部105にてデカルト座標系における台車部15の位置座標へと変換される。変換された位置座標はインピーダンス制御部102へと提供される。
【0045】
昇降動作部11においては、昇降動作部11のスライド動作部に備えられた位置検出センサから昇降動作部11のデカルト座標系における位置座標が算出され、インピーダンス制御部102へと提供される。
【0046】
ロボットアーム8においては、ロボットアーム8の各関節において取得された関節角度情報は、順運動学処理部107において、ロボットアームの手先位置情報に変換されて、インピーダンス制御部102へと提供される。また、ロボットアーム8の各関節に備えられたトルクセンサにより関節トルクを検出し、当該検出された関節トルクは外力演算部108へと提供される。外力演算部108は、各関節トルクに基づいて、デカルト座標系における外力を算出し、インピーダンス制御部102へと提供する。
【0047】
インピーダンス制御部102は、取得した位置又は姿勢座標情報を統合してデカルト座標系におけるロボットアーム8の手先位置を算出する。この手先位置と設定されたインピーダンスパラメータに基づいて、各動作部への位置指令値を生成し、逆運動学処理部103へと提供する。逆運動学処理部103は、位置指令値に基づいて各動作部の位置指令値及び関節角度等を算出し、各動作部の制御部、すなわち、台車部制御部13、昇降動作部制御部9及びアーム制御部7へと提供する。このような一連の動作を繰り返してインピーダンス制御が行われることとなる。
【0048】
なお、本発明は本実施形態に記載のハードウェア構成に限定されない。従って、一部の機能を統合したり分割する等してもよい。また、ハードウェア的に一部機能を分割してもよい。例えば、ロボットと接続された情報処理装置やワークステーション等を利用して、力制御に関する種々の設定等を行ってもよい。さらに、一部の機能をネットワークを介して提供するような構成としてもよい。
【0049】
(1.2 動作)
次に、
図4~
図11を参照しつつ、本実施形態に係るロボット100の動作について説明する。本実施形態においては、ロボット100に対して動作の直接教示(ダイレクトティーチング)を行う場合の例について示す。
【0050】
図4は、ロボット100に対して直接教示を行うための手順に関するゼネラルフローチャートである。同図から明らかな通り、ユーザは、まず、インピーダンス制御に関する設定処理を行う(S1)。その後、ユーザは、インピーダンス制御に関する設定処理が完了次第、ロボットへと直接教示を行う(S3)。
【0051】
図5は、インピーダンス制御に関する設定処理が行われる際のロボット100の動作に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、モードに関する入力を受け付ける処理が行われる(S11)。この状態において、簡易設定モード又は詳細設定モードのいずれかが選択されると、それぞれのモードへと移行する。すなわち、簡易設定モードが選択された場合には、簡易設定モード処理が実行され(S13)、一方、詳細設定モードが選択された場合には、詳細設定モード処理が実行される(S15)。
【0052】
これらのいずれのモードを選択した場合であっても、入力されたパラメータ等の設定を保存して(S17)、処理は終了する。
【0053】
図6~
図8は、簡易設定モード処理に関する図である。
【0054】
図6は、簡易設定モード処理の詳細フローチャートである。同図から明らかな通り、処理が開始すると、受付画面の表示処理がなされると共に入力の受付処理が行われる。
【0055】
図7は、受付画面の表示例について示す説明図である。受付画面は、インピーダンス制御を希望する動作部の一覧について示す動作部表示列22と、それらを選択するための選択ボックスから成る選択ボックス列21とから構成されている。同図の例にあっては、動作部として、ロボットアーム8を表す「アーム」、昇降動作部11を表す「昇降動作部」及び台車部15を表す台車部が表示されている。また、同図右下には決定ボタン24が表示されている。
【0056】
図6に戻り、入力受付処理の結果、所定の動作部が選択された場合、選択結果に応じた所定の分岐処理が行われ(S132)、当該動作部をインピーダンス制御の対象とする処理が行われる(S132)。例えば、
図7においては、台車部15に対応する選択ボックス211がチェックされているので、この状態で決定ボタン24が選択されると、「台車部」が選択されたものとして台車部15をインピーダンス制御の対象とする処理(S141~S143)が行われる。
【0057】
すなわち、デカルト座標系の各軸のうち、台車部15の有する自由度、すなわち、X軸、Y軸、Rz軸と一致する軸をインピーダンス制御の対象として設定する処理を行う(S141)。また、台車部15の有する自由度と一致しない軸についてはインピーダンス制御の対象とせずに固定する処理を行う(S142)。この固定処理は、本実施形態においては、現在の所定姿勢を維持する位置制御である。なお、この固定処理は本実施形態に限定されるものでなく、例えばインピーダンス制御としてそのパラメータを変更することにより実現してもよい。
【0058】
その後、インピーダンス制御の対象とした軸についてインピーダンスパラメータの入力を受け付ける処理が行われる(S143)。より具体的には、各軸について、慣性(M)、粘性(D)、及び剛性(K)に関する数値入力を受け付ける処理が行われる。この処理が行われると処理は終了する。
【0059】
図8は、インピーダンス制御テーブルの概念図、すなわち、デカルト座標系における軸と、軸毎に対応する動作部と、対応するインピーダンスパラメータの関係を表す概念図である。同テーブルは、左から軸表示列26、制御対象表示列27及びインピーダンスパラメータ表示列28とから構成されている。
【0060】
同図から明らかな通り、簡易設定モードにおいて「台車部」をインピーダンス制御の対象とすることが選択されたことから、台車部15の自由度と一致するX軸、Y軸及びRz軸については、台車部15がインピーダンス制御を担うよう設定されている。また、その他の軸(Z軸、Rx軸、Ry軸)については固定するよう設定されている。さらに、インピーダンス制御を行う軸については軸毎にインピーダンスパラメータが設定されている。同図においてはインピーダンスパラメータのうち剛性に関するKの値がいずれも0に設定されているので、台車部15は、X軸、Y軸及びRz軸について抵抗なく動作する状態、すなわち追従制御状態に設定されている。
【0061】
このような構成によれば、簡易設定モードにより、力制御を希望する動作部を設定するだけで各軸について細かな設定を行うことなく一括入力できるので、容易に力制御の設定ができる。
【0062】
また、上述の構成においては、軸毎に1つの動作部を設定する構成となっているので、1つの軸に対して2つ以上の動作部を同時に設定してしまうことがないよう構成されている。そのため、誤って力制御を行ってしまうこと、すなわち、力制御を行いたい部位が力制御とならなかったり、或いは、予期せぬ部位が力制御となることを防止することができる。これにより、安全性が向上する。
【0063】
さらに、上述の構成においては、「アーム」や「台車部」のように所定の機能単位で設定を行うことができる。そのため、直観的に容易に力制御の設定を行うことができる。
【0064】
次に、
図9~
図10は、詳細設定モード処理に関する図である。
【0065】
図9は、詳細設定モードの動作に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、受付画面の表示処理と入力受付処理が行われる(S152)。
【0066】
図10は、受付画面の表示例である。受付画面は、本実施形態においては表形式であり、同表は、左から軸表示領域31、制御対象設定領域32、パラメータ設定領域33から構成されている。
【0067】
図9に戻り、入力受付処理が行われている状態において、所定の入力を検出した場合、画面上のどの領域が選択されたかの判定が行われる(S152)。制御対象設定領域32が選択されたと判定された場合、選択された領域に対応する軸について、制御対象に関する入力を受け付ける処理が行われる(S153~S156)。一方、パラメータ設定領域33が選択されたと判定された場合、選択された領域に対応する軸のパラメータにつき入力を受け付ける処理が行われる(S158~S160)。
【0068】
より詳細には、インピーダンス制御の対象に関する入力を受け付ける処理においては、まず、設定対象となる動作部、例えば、ロボットアーム8、昇降動作部11及び台車部15等の選択を受け付ける処理が行われる(S153)。選択が行われた場合、当該制御対象を軸毎に記憶する処理を行い、対応する箇所に入力された文字を表示する処理が行われる(S155)。この一連の処理が、制御設定領域32への入力処理が完了するまで行われる(S156NO)。入力処理が完了した場合(S156YES)、全ての設定処理が終了したことを示す所定の入力があるか否かの検出処理が行われる(S161)。
【0069】
また、パラメータに関する入力受付処理においては、慣性(M)、粘性(D)及び剛性(K)に相当する各インピーダンスパラメータの数値の入力受付処理が行われる。その後、それぞれのパラメータについて所定の入力が行われると(S158)、各パラメータを軸毎に記憶する処理を行い、対応する箇所に入力された数値を表示する処理が行われる(S159)。この一連の処理が、パラメータ設定領域33への入力処理が完了するまで行われる(S160NO)。入力処理が完了した場合(S160YES)、全ての設定処理が終了したことを示す所定の入力があるか否かの検出処理が行われる(S161)。
【0070】
すべての設定処理の終了信号を検出すると(S161YES)、詳細設定モード処理は終了する。
【0071】
例えば、
図10の例にあっては、制御対象設定領域32とパラメータ設定領域33が入力可能状態となっている。同図においては、X軸方向については、インピーダンス制御を行う対象はロボットアーム8を意味する「アーム」が選択されており、慣性(M)、粘性(D)及び剛性(K)に相当するインピーダンスパラメータはそれぞれ「50」、「100」及び「0」に設定されている。
【0072】
このような構成によれば、詳細設定モードにより、力制御のパラメータを軸毎にできるので詳細な力制御の設定ができる。
【0073】
また、上述の構成においては、軸毎に1つの動作部を設定する構成となっているので、1つの軸に対して2つ以上の動作部を同時に設定してしまうことがないよう構成されている。そのため、誤って力制御を行ってしまうこと、すなわち、力制御を行いたい部位が力制御とならなかったり、或いは、予期せぬ部位が力制御となることを防止することができる。これにより、安全性が向上する。
【0074】
図11は、ユーザによりロボットへの直接教示が行われる場合(S3)のロボット100の動作に関する詳細フローチャートである。
【0075】
同図から明らかな通り、処理が開始すると、制御パラメータ設定部101により、記憶部2に記憶されている各種の制御パラメータを読み出す処理が行われる(S31)。その後、インピーダンス制御部102等により、同制御パラメータに基づいて実際にロボット100の各動作部を制御する処理が行われる(S32)。この処理は、所定の制御終了信号が生成されるまで継続して行われる(S33NO)。
【0076】
ロボットの制御処理の開始後、ティーチング動作の開始信号を待機する処理が行われる(S36NO)。この状態において、ティーチング開始信号が入力されると(S36YES)、ティーチングの終了信号を受け受けるまで(S38NO)、各動作部の位置情報等の動作情報を記憶する処理が行われる(S37)。すなわち、この状態において、ユーザはロボット100のロボットアーム8等をもって動作を教示し、記憶させることができる。
【0077】
この状態において、ティーチングの終了信号が入力されると(S38)、制御終了信号の生成処理が行われる(S39)。この制御終了信号を検出すると、ロボットの制御についても終了し(S33)、制御を終了する処理が行われる(S34)。
【0078】
以上の構成によれば、複数の動作部を有するロボットに対してその用途に応じて適切に力制御を適用することができるので、安全性の高いロボットを提供することができる。
【0079】
(2.第2の実施形態)
次に、
図12~
図19を参照しつつ、本発明の第2の実施形態について説明する。
【0080】
図12は、本実施形態で想定される工場200内におけるロボット300のタスクに関する説明図である。同図は、工場200の平面図であり、工場200内には、部品を並べた部品棚41a~41cと作業台42が配置されている。本実施形態において、ロボット300は、後述するように、ロボットアーム8及び昇降動作部11を用いて部品棚41aから部品をピックアップし、図中A点を始点、B点を終点として実線の経路にて移動し、B点において作業台42上にピックアップした部品を載置する作業を行う。
【0081】
(2.1 構成)
本実施形態に係るロボット300においても、
図1~
図3にて説明したハードウェア構成と略同一である。
【0082】
ただし、第1の実施形態において力制御の対象はユーザにより入力部4を介して入力されるものとして構成したが、本実施形態においては、記憶部2に各タスクに応じたインピーダンス制御テーブルが記憶されている。
【0083】
図13は、タスクとインピーダンステーブルとの対応関係について示す表である。同図から明らかな通り、記憶部2には、ピックアップタスクに対応してテーブル1が、移動タスクに対応してテーブル2が、載置タスクに対応してテーブル3が記憶されている。すなわち、タスクの切り替えに応じて対応するテーブルへと切り替えることでインピーダンス制御を行う対象が適宜切り替わることとなる。
【0084】
図14は、ピックアップタスクに対応するテーブル1と、載置タスクに対応するテーブル3の概念図である。同図から明らかな通り、デカルト座標系のX軸に対してはロボットアーム8、Y軸に対してはロボットアーム8、Z軸に対しては昇降動作部11が設定されている。また、各回転軸Rx、Ry、Rzについては固定するよう制御されている。すなわち、ロボット300は、ピックアップタスク及び載置タスクを行う場合には、X軸及びY軸についてはロボットアーム8、Z軸については昇降動作部11についてインピーダンス制御による柔軟性を有するよう制御されている。
【0085】
図15は、移動タスクに対応するテーブル2の概念図である。同図から明らかな通り、デカルト座標系のX軸に対しては台車部15、Y軸に対しても台車部15が設定されている。また、Z軸及び各回転軸Rx、Ry、Rzについては固定するよう制御されている。すなわち、ロボット300は、移動タスクを行う場合には、台車部15のX軸及びY軸方向についてインピーダンス制御による柔軟性を有するよう制御されている。
【0086】
(2.2 動作)
次に、
図16~
図19を参照しつつ、本実施形態に係るロボット300の動作について説明する。
【0087】
図16は、本実施形態に係るロボット300の動作に関するゼネラルフローチャートである。同図から明らかな通り、処理が開始すると、部品棚41aの前にいたロボット300は、部品のピックアップタスクを実行する(S5)。部品棚41aから部品のピックアップを行ったロボット300は、次に、
図12中のA点を始点、B点を終点として実線の経路にて移動する(S7)。その後、ロボットは、B点にて作業台42上に部品を載置するタスクを実行して(S9)、処理は終了する。
【0088】
図17は、部品のピックアップタスクの実行処理に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、上述のテーブル1を含む制御パラメータを読み出す処理が行われる(S51)。その後、同制御パラメータに基づくロボット300の制御処理が開始される(S52)。これにより、ロボットアーム8と昇降動作部11がインピーダンス制御により柔軟性を有するよう制御される。制御処理開始後は、所定の制御終了信号を検出するまで制御継続状態となる(S53NO)。
【0089】
一方、ロボット300の制御処理が開始すると、ロボット300は、ピックアップ動作の制御処理を行う(S54)。より詳細には、カメラ181から取得された画像等を用いて部品の認識を行い、ロボットアーム8を用いてリーチング、把持、持ち上げ動作等を行う。このピックアップ動作の終了後、制御終了信号の生成処理を行う(S55)。
【0090】
ロボットは、この制御終了信号を検出すると(S53YES)、ロボットの制御終了処理を行い(S57)、処理は終了する。
【0091】
図18は、移動タスクの実行処理に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、上述のテーブル2を含む制御パラメータを読み出す処理が行われる(S71)。その後、同制御パラメータに基づくロボット300の制御処理が開始される(S72)。これにより、台車部15がインピーダンス制御により柔軟性を有するよう制御される。制御処理開始後は、所定の制御終了信号を検出するまで制御継続状態となる(S73NO)。
【0092】
一方、ロボット300の制御処理が開始すると、ロボット300の移動動作を制御する処理が行われる(S74)。すなわち、
図12中のA点を始点、B点を終点として実線の経路にて移動する。
【0093】
経路移動処理の終了後、制御終了信号を生成する(S75)。ロボットは、この制御終了信号を検出すると(S73YES)、ロボットの制御終了処理を行い(S77)、処理は終了する。
【0094】
図19は、部品の載置タスクの実行処理に関する詳細フローチャートである。同図から明らかな通り、処理が開始すると、上述のテーブル1を含む制御パラメータを読み出す処理が行われる(S91)。その後、同制御パラメータに基づくロボット300の制御処理が開始される(S92)。これにより、ロボットアーム8と昇降動作部11がインピーダンス制御により柔軟性を有するよう制御される。制御処理開始後は、所定の制御終了信号を検出するまで制御継続状態となる(S93NO)。
【0095】
一方、ロボット300の制御処理が開始すると、ロボット300は、載置動作の制御処理を行う(S94)。より詳細には、カメラ181から取得された画像等を用いて載置場所等に関する認識を行い、ロボットアーム8を用いてリーチング、把持、持ち上げ動作等を行う。このピックアップ動作の終了後、制御終了信号の生成処理を行う(S55)。
【0096】
ロボットは、この制御終了信号を検出すると(S53YES)、ロボットの制御終了処理を行い(S57)、処理は終了する。
【0097】
以上のような構成によれば、ロボット300に予め記憶された制御テーブルをタスクに応じて順に読み出すことで、最適な動作部に関してインピーダンス制御を行うことができる。これにより、作業中のロボット300に環境や人が衝突した場合であってもインピーダンス制御による柔軟性により力を逃がすことができ、これにより安全性を向上させることができる。
【0098】
(3.変形例)
上述の実施形態においてはデカルト座標系を用いた例について説明したが、本発明はこのような構成に限定されない。従って、例えば、ツール座標系等を用いてもよい。
【0099】
本発明に係るロボットは、その構成を上記各実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で構成を適宜変更することが可能である。
【産業上の利用可能性】
【0100】
本発明は、例えば、産業用ロボット等を製造する産業において利用可能である。
【符号の説明】
【0101】
1 制御部
2 記憶部
3 表示部
4 入力部
5 通信部
7 アーム制御部
8 ロボットアーム
9 昇降動作部制御部
11 昇降動作部
13 台車部制御部
15 台車部
17 頭部制御部
18 頭部
101 制御パラメータ設定部
102 インピーダンス制御部
103 逆運動学処理部
104 ロボット制御部
105 位置演算部
107 順運動学処理部
108 外力演算部
181 カメラ
100 ロボット
200 工場
300 ロボット