特許第6044511号(P6044511)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ トヨタ自動車株式会社の特許一覧

特許6044511ロボットの制御方法及びロボットシステム
<>
  • 特許6044511-ロボットの制御方法及びロボットシステム 図000004
  • 特許6044511-ロボットの制御方法及びロボットシステム 図000005
  • 特許6044511-ロボットの制御方法及びロボットシステム 図000006
  • 特許6044511-ロボットの制御方法及びロボットシステム 図000007
  • 特許6044511-ロボットの制御方法及びロボットシステム 図000008
  • 特許6044511-ロボットの制御方法及びロボットシステム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6044511
(24)【登録日】2016年11月25日
(45)【発行日】2016年12月14日
(54)【発明の名称】ロボットの制御方法及びロボットシステム
(51)【国際特許分類】
   B25J 9/10 20060101AFI20161206BHJP
【FI】
   B25J9/10 A
【請求項の数】18
【全頁数】17
(21)【出願番号】特願2013-229372(P2013-229372)
(22)【出願日】2013年11月5日
(65)【公開番号】特開2015-89584(P2015-89584A)
(43)【公開日】2015年5月11日
【審査請求日】2015年12月21日
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】高橋 太郎
【審査官】 木原 裕二
(56)【参考文献】
【文献】 特開2012−24877(JP,A)
【文献】 特開2003−58907(JP,A)
【文献】 特開2013−132731(JP,A)
【文献】 特開平4−8490(JP,A)
【文献】 特開2010−120124(JP,A)
【文献】 特開2005−100143(JP,A)
【文献】 特開2006−59037(JP,A)
【文献】 特開2013−163251(JP,A)
【文献】 特開平5−313746(JP,A)
【文献】 特開2000−271886(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 − 21/02
(57)【特許請求の範囲】
【請求項1】
可動部を備えるロボットであり、逆運動学演算により、前記ロボットの位置及び姿勢の両方又は一方を指定する情報から前記可動部の変位である第1の値を算出するロボットの制御方法であり、前記ロボットが出力している力とは異なる力である外力を検知した際には前記外力にならって変移させる制御を備えるロボットの制御方法であって、
前記第1の値から前記可動部の変位を指定する指定値を算出する指定値算出ステップと、
前記指定値に基づいて前記ロボットの前記可動部を駆動して、前記可動部に生じるトルク又は力である第2の値を計測又は推定する第2の値推定ステップと、
逆動力学演算により、前記指定値に対応して前記可動部に生じるべきトルク又は力に対応する値である第3の値を算出する第3の値算出ステップと、
前記第2の値から前記第3の値を減算して、外力により前記可動部に加わるトルク又は力を示す第4の値を算出する第4の値算出ステップと、
前記第4の値に応じて、接触力緩和動作を行う際の前記可動部の変位速度を示す目標値を算出する目標値算出ステップと、
前記目標値を零空間変換して補正目標値を算出する補正目標値算出ステップと、
前記補正目標値から補正値を算出する補正値算出ステップと、
前記補正値に基づき前記第1の値を補正する補正ステップと、を備え、
前記指定値算出ステップは、前記補正値が既に算出されている場合には、前記第1の値と前記補正値とに基づき前記指定値を算出する、
ロボットの制御方法。
【請求項2】
前記目標値算出ステップは、
標準姿勢を示す前記可動部の変位である第5の値と前記指定値との差分から、前記標準姿勢に復帰するための前記可動部の変位速度である第6の値を算出し、
前記第4の値に応じて算出した接触力緩和動作を行う際の前記可動部の変位速度を示す値に、前記第6の値を加算して、前記目標値を算出する、
請求項1に記載のロボットの制御方法。
【請求項3】
前記目標値算出ステップは、
前記可動部の変位を前記可動部の可動範囲に収めるための変位である第5の値と前記指定値との差分から、前記可動部の変位を前記可動範囲に収めるための前記可動部の変位速度である第6の値を算出し、
前記第4の値に応じて算出した接触力緩和動作を行う際の前記可動部の変位速度を示す値に、前記第6の値を加算して、前記目標値を算出する、
請求項1に記載のロボットの制御方法。
【請求項4】
前記可動部は、回転運動を行う回転関節であり、
前記第1の値は、前記回転関節の回転運動の回転角度であり、
前記第2の値は、前記回転関節に生じるトルクであり、
前記第3の値は、前記指定値に対応して前記回転関節に生じるべきトルクであり、
前記第4の値は、外力により前記回転関節に加わるトルクであり、
前記可動部の変位速度は、前記回転関節の回転運動の角速度である、
請求項1乃至3のいずれか一項に記載のロボットの制御方法。
【請求項5】
前記可動部は、回転運動を行う回転関節であり、
前記第1の値及び前記第5の値は、前記回転関節の回転運動の回転角度であり、
前記第2の値は、前記回転関節に生じるトルクであり、
前記第3の値は、前記指定値に対応して前記回転関節に生じるべきトルクであり、
前記第4の値は、外力により前記回転関節に加わるトルクであり、
前記可動部の変位速度は、前記回転関節の回転運動の角速度である、
請求項2又は3に記載のロボットの制御方法。
【請求項6】
前記可動部は、並進運動を行う直動関節であり、
前記第1の値は、前記直動関節の並進運動の変位量であり、
前記第2の値は、前記直動関節に生じる力であり、
前記第3の値は、前記指定値に対応して前記直動関節に生じる力であり、
前記第4の値は、外力により前記直動関節に加わる力であり、
前記可動部の変位速度は、前記直動関節の並進運動の速度である、
請求項1乃至3のいずれか一項に記載のロボットの制御方法。
【請求項7】
前記可動部は、並進運動を行う直動関節であり、
前記第1の値及び前記第5の値は、前記直動関節の並進運動の変位量であり、
前記第2の値は、前記直動関節に生じる力であり、
前記第3の値は、前記指定値に対応して前記直動関節に生じる力であり、
前記第4の値は、外力により前記直動関節に加わる力であり、
前記可動部の変位速度は、前記直動関節の並進運動の速度である、
請求項2又は3に記載のロボットの制御方法。
【請求項8】
前記目標値算出ステップは、前記目標値を、外力により前記可動部に加わるトルク又は力に基づいたマス・ダンパモデルを用いて算出する、
請求項1乃至7のいずれか一項に記載のロボットの制御方法。
【請求項9】
前記第2の値は、前記可動部のトルク又力をセンサにより計測した値である、
請求項1乃至8のいずれか一項に記載のロボットの制御方法。
【請求項10】
複数の可動部を有するロボットと、
前記複数の可動部を有するロボットの接触力緩和動作を制御するロボット制御装置と、を備え、
前記ロボット制御装置は、
可動部を備えるロボットであり、逆運動学演算により、前記ロボットの位置及び姿勢の両方又は一方を指定する情報から前記可動部の変位である第1の値を算出するロボットの制御方法であり、前記ロボットが出力している力とは異なる力である外力を検知した際には前記外力にならって変移させる制御を備えるロボットの制御方法であって、
前記第1の値から前記可動部の変位を指定する指定値を算出する指定値算出ステップと、
前記指定値に基づいて前記ロボットの前記可動部を駆動して、前記可動部に生じるトルク又は力である第2の値を計測又は推定する第2の値推定ステップと、
逆動力学演算により、前記指定値に対応して前記可動部に生じるべきトルク又は力に対応する値である第3の値を算出する第3の値算出ステップと、
前記第2の値から前記第3の値を減算して、外力により前記可動部に加わるトルク又は力を示す第4の値を算出する第4の値算出ステップと、
前記第4の値に応じて、接触力緩和動作を行う際の前記可動部の変位速度を示す目標値を算出する目標値算出ステップと、
前記目標値を零空間変換して補正目標値を算出する補正目標値算出ステップと、
前記補正目標値から補正値を算出する補正値算出ステップと、
前記補正値に基づき前記第1の値を補正する補正ステップと、を備え、
前記指定値算出ステップは、前記補正値が既に算出されている場合には、前記第1の値と前記補正値とに基づき前記指定値を算出する、
ロボットシステム。
【請求項11】
前記ロボット制御装置は、
標準姿勢を示す前記可動部の変位である第5の値と前記指定値との差分から、前記標準姿勢に復帰するための前記可動部の変位速度である第6の値を算出し、
前記第4の値に応じて算出した接触力緩和動作を行う際の前記可動部の変位速度を示す値に、前記第6の値を加算して、前記目標値を算出する、
請求項10に記載のロボットシステム。
【請求項12】
前記ロボット制御装置は、
前記可動部の変位を前記可動部の可動範囲に収めるための変位である第5の値と前記指定値との差分から、前記可動部の変位を前記可動範囲に収めるための前記可動部の変位速度である第6の値を算出し、
前記第4の値に応じて算出した接触力緩和動作を行う際の前記可動部の変位速度を示す値に、前記第6の値を加算して、前記目標値を算出する、
請求項10に記載のロボットシステム。
【請求項13】
前記可動部は、回転運動を行う回転関節であり、
前記第1の値は、前記回転関節の回転運動の回転角度であり、
前記第2の値は、前記回転関節に生じるトルクであり、
前記第3の値は、前記指定値に対応して前記回転関節に生じるべきトルクであり、
前記第4の値は、外力により前記回転関節に加わるトルクであり、
前記可動部の変位速度は、前記回転関節の回転運動の角速度である、
請求項10乃至12のいずれか一項に記載のロボットシステム。
【請求項14】
前記可動部は、回転運動を行う回転関節であり、
前記第1の値及び前記第5の値は、前記回転関節の回転運動の回転角度であり、
前記第2の値は、前記回転関節に生じるトルクであり、
前記第3の値は、前記指定値に対応して前記回転関節に生じるべきトルクであり、
前記第4の値は、外力により前記回転関節に加わるトルクであり、
前記可動部の変位速度は、前記回転関節の回転運動の角速度である、
請求項11又は12に記載のロボットシステム。
【請求項15】
前記可動部は、並進運動を行う直動関節であり、
前記第1の値は、前記直動関節の並進運動の変位量であり、
前記第2の値は、前記直動関節に生じる力であり、
前記第3の値は、前記指定値に対応して前記直動関節に生じる力であり、
前記第4の値は、外力により前記直動関節に加わる力であり、
前記可動部の変位速度は、前記直動関節の並進運動の速度である、
請求項10乃至12のいずれか一項に記載のロボットシステム。
【請求項16】
前記可動部は、並進運動を行う直動関節であり、
前記第1の値及び前記第5の値は、前記直動関節の並進運動の変位量であり、
前記第2の値は、前記直動関節に生じる力であり、
前記第3の値は、前記指定値に対応して前記直動関節に生じる力であり、
前記第4の値は、外力により前記直動関節に加わる力であり、
前記可動部の変位速度は、前記直動関節の並進運動の速度である、
請求項11又は12に記載のロボットシステム。
【請求項17】
前記目標値は、外力により前記可動部に加わるトルク又は力に基づいたマス・ダンパモデルを用いて算出する、
請求項10乃至16のいずれか一項に記載のロボットシステム。
【請求項18】
前記第2の値は、前記可動部のトルク又力をセンサにより計測した値である、
請求項10乃至17のいずれか一項に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は多関節ロボットの制御方法及びロボットシステムに関する。
【背景技術】
【0002】
近年、手先で物体を把持して移動させるロボットの開発が行われている。このようなロボットが作業を行う場合、ロボットのリンクや関節が外部の物体と接触する場合が有る。このような場合、接触による外力(接触力)の影響を回避するための接触力緩和動作を行う必要が有る。
【0003】
特許文献1には、接触力緩和動作を行うためロボットのインピーダンス制御装置が開示されている。このロボットのインピーダンス制御装置は、接触力から接触による関節トルクを算出し、関節部の接触力緩和動作における逃げ量を算出する。そして、逃げ量を、ロボットの手先の位置及び姿勢を制御するための関節角度に加算する。その結果、ロボットの関節が指定された逃げ量だけ駆動され、接触力緩和動作が行われる。
【0004】
図6は、特許文献1に開示されたロボットのインピーダンス制御装置の構成を示すブロック図である。図6において、301はアーム、302はアーム手先部に作用する外力を計測する力センサ、303はアーム301等に作用する接触外力の大きさと作用位置を計測する、1個〜複数個設けられた接触センサである。304はアーム301を駆動するモータ、305はモータ304の回転角を検出する回転角検出計、306は手先作用力情報をアーム301の手先位置変位に変換する手先変位算出部、307はアーム部作用接触力を関節外乱トルクに変換する接触外力/関節トルク変換部、308は関節外乱トルクをアーム301の関節角度変位に変換する関節変位算出部、309は無負荷時のアーム301の手先位置を設定する手先釣り合い位置設定部、310は加算装置、311はアーム301の手先位置から関節角度を算出する逆運動学計算部、312は加算装置、313は角度指令に基づきモータ304を制御するサーボコントローラである。
【0005】
次いで、図6に示すロボットのインピーダンス制御装置について説明する。先ず、手元に取付けられた外力計測用センサ(力センサ)302によって、手先作用力が計測される。手先作用力は手先変位算出部306に入力され、環境との接触を伴うマニピュレータの力制御用のインピーダンス制御(又はコンプライアンス制御)に伴う、機械インピーダンス(仮想慣性、仮想粘性、仮想剛性)として設定された手先部仮想インピーダンスの値(Je、de、ke)を用いて、手先変位量に変換される。
【0006】
この手先変位量は、加算装置310によって手先釣り合い位置設定部309の手先釣り合い位置(接触前の無負荷時のアーム301の手先釣り合い位置)と加算され、手先位置の指令値が算出される。そして算出された手先位置指令は、逆運動学計算部311で各関節の角度指令に変換される。
【0007】
アーム表面に作用する接触外力の大きさと、作用位置を計測する接触センサ303によって計測されたアームの接触外力は、接触外力/関節トルク変換部307においてヤコビアン行列等により関節トルクに変換され、関節変位算出部308に入力する。関節変位算出部308は設定された関節部仮想インピーダンスの値(Jj、dj、kj)から各関節の変位量(変位角を出力)を算出する。
【0008】
各関節の変位量は加算装置312で、逆運動学計算部311からの各関節の角度指令と加算され、サーボコントローラ313に入力する。サーボコントローラ313では、入力した角度指令と回転角検出計305により検出した角度情報との差を比較してモータ304を制御する。なお、アーム表面に作用する接触外力を計測する接触センサ303が、接触外力の大きさのみしか計測できない圧力センサの場合は、関節トルク変換部307は接触外力の大きさと、接触センサ303の検出位置の代表点の情報から関節部外乱トルクを算出する。
【0009】
この例では、関節部に加わるトルクの計測手段として、アーム表面に取付けた接触センサ303(高感度圧力センサ)を用いたので、従来のトルクセンサによる計測の場合のアームの慣性力の影響、微小な力の計測不能といった問題は改善された。また、センサについては接触センサの他、関節軸に取付けたトルクセンサ、感圧センサ等の各種センサを複合することで検出精度を上げるようにして、関節部トルクの計測を行うことも可能である。但し、関節軸トルクセンサを用いる場合は、先のようなアーム自身の動作による慣性力の影響や、手先作用力の関節部への影響をそれぞれ補正する必要がある。又、各種センサを複合して関節部トルクを計測する場合には、各種センサの干渉部を補正する必要がある。
【0010】
以上、特許文献1によれば、各センサからの情報を、各関節に加わるトルクと手先に加わる力に分離し、各々に設定された仮想インピーダンスからアームの逃げ量を算出することにより、アームがどの部分で環境に接触しても適切な回避動作を実現できる。
【0011】
特許文献2には、接触力緩和動作を行うためのマニピュレータ制御方法が開示されている。この方法では、接触力による関節トルクを推定し、推定結果から関節部の接触力緩和動作における逃げ量を算出する。そして、ロボットの手先の位置・姿勢を制御するための関節角度に加算する。その結果、ロボットの関節が指定された逃げ量だけ駆動され、接触力緩和動作が行われる。
【0012】
特許文献3には、接触力緩和動作時の運動を制御するマニピュレータの柔軟制御装置が開示されている。この装置は、外力(接触力)によるトルクを推定し、推定値が閾値以上の場合に、フィードバック補償演算の積分ゲインを小さくする。これにより、接触力緩和動作時のロボットの動作を安定化することができる。
【0013】
特許文献4には、ロボットが障害物等に接触した場合に、柔軟な動作を行うことができるロボット制御装置が開示されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2001−38664号公報
【特許文献2】特開2007−136564号公報
【特許文献3】特開2007−105823号公報
【特許文献4】特開2008−73830号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
しかし、発明者は、上述の技術には以下に示す問題点が有ることを見出した。一般に、多関節ロボットに接触力が加わった場合、多関節ロボットの各関節を駆動させて接触力緩和動作を行う。一方で、多関節ロボットが作業する上で、手先が所望の位置及び姿勢であることが重要である。つまり、接触力緩和動作により手先の位置及び姿勢の一方又は双方がずれてしまうと、その後の作業に支障を来すことになる。よって、多関節ロボットにおいて、手先の位置及び姿勢を保持しつつ接触力緩和動作を行うことが求められる。
【0016】
これに対し、特許文献1〜4に記載の技術では、ロボットが外部の物体等に接触し、接触力緩和動作を行う際に、手先の位置及び姿勢を保持することを想定していない。そのため、接触力緩和動作を行うと手先の位置及び姿勢の一方又は双方がずれてしまう。
【課題を解決するための手段】
【0017】
本発明の一態様であるロボットの制御方法は、可動部を備えるロボットであり、逆運動学演算により、前記ロボットの位置及び姿勢の両方又は一方を指定する情報から前記可動部の変位である第1の値を算出するロボットの制御方法であり、前記ロボットが出力している力とは異なる力である外力を検知した際には前記外力にならって変移させる制御を備えるロボットの制御方法であって、前記第1の値から前記可動部の変位を指定する指定値を算出する指定値算出ステップと、前記指定値に基づいて前記ロボットの前記可動部を駆動して、前記可動部に生じるトルク又は力である第2の値を計測又は推定する第2の値推定ステップと、逆動力学演算により、前記指定値に対応して前記可動部に生じるべきトルク又は力に対応する値である第3の値を算出する第3の値算出ステップと、前記第2の値から前記第3の値を減算して、外力により前記可動部に加わるトルク又は力を示す第4の値を算出する第4の値算出ステップと、前記第4の値に応じて、接触力緩和動作を行う際の前記可動部の変位速度を示す目標値を算出する目標値算出ステップと、前記目標値を零空間変換して補正目標値を算出する補正目標値算出ステップと、前記補正目標値から補正値を算出する補正値算出ステップと、記補正値に基づき前記第1の値を補正する補正ステップと、を備え、前記指定値算出ステップは、前記補正値が既に算出されている場合には、前記第1の値と前記補正値とに基づき前記指定値を算出するものである。
ものである。
【0018】
上記のロボットの制御方法においては、前記目標値算出ステップは、標準姿勢を示す前記可動部の変位である第5の値と前記指定値との差分から、前記標準姿勢に復帰するための前記可動部の変位速度である第6の値を算出し、前記第4の値に応じて算出した接触力緩和動作を行う際の前記可動部の変位速度を示す値に、前記第6の値を加算して、前記目標値を算出することが望ましい。
【0019】
上記のロボットの制御方法においては、前記目標値算出ステップは、前記可動部の変位を前記可動部の可動範囲に収めるための変位である第5の値と前記指定値との差分から、前記可動部の変位を前記可動範囲に収めるための前記可動部の変位速度である第6の値を算出し、前記第4の値に応じて算出した接触力緩和動作を行う際の前記可動部の変位速度を示す値に、前記第6の値を加算して、前記目標値を算出することが望ましい。
ことが望ましい。
【0020】
上記のロボットの制御方法においては、前記可動部は、回転運動を行う回転関節であり、前記第1の値は、前記回転関節の回転運動の回転角度であり、前記第2の値は、前記回転関節に生じるトルクであり、前記第3の値は、前記指定値に対応して前記回転関節に生じるべきトルクであり、前記第4の値は、外力により前記回転関節に加わるトルクであり、前記可動部の変位速度は、前記回転関節の回転運動の角速度であることが望ましい。
【0021】
上記のロボットの制御方法においては、前記可動部は、回転運動を行う回転関節であり、前記第1の値及び前記第5の値は、前記回転関節の回転運動の回転角度であり、前記第2の値は、前記回転関節に生じるトルクであり、前記第3の値は、前記指定値に対応して前記回転関節に生じるべきトルクであり、前記第4の値は、外力により前記回転関節に加わるトルクであり、前記可動部の変位速度は、前記回転関節の回転運動の角速度であることが望ましい。
【0022】
上記のロボットの制御方法においては、前記可動部は、並進運動を行う直動関節であり、前記第1の値は、前記直動関節の並進運動の変位量であり、前記第2の値は、前記直動関節に生じる力であり、前記第3の値は、前記指定値に対応して前記直動関節に生じる力であり、前記第4の値は、外力により前記直動関節に加わる力であり、前記可動部の変位速度は、前記直動関節の並進運動の速度であることが望ましい。
【0023】
上記のロボットの制御方法においては、前記可動部は、並進運動を行う直動関節であり、
前記第1の値及び前記第5の値は、前記直動関節の並進運動の変位量であり、前記第2の値は、前記直動関節に生じる力であり、前記第3の値は、前記指定値に対応して前記直動関節に生じる力であり、前記第4の値は、外力により前記直動関節に加わる力であり、前記可動部の変位速度は、前記直動関節の並進運動の速度であることが望ましい。
【0024】
上記のロボットの制御方法においては、前記目標値算出ステップは、前記目標値を、外力により前記可動部に加わるトルク又は力に基づいたマス・ダンパモデルを用いて算出することが望ましい。
【0025】
上記のロボットの制御方法においては、前記第2の値は、前記可動部のトルク又力をセンサにより計測した値であることが望ましい。
【0026】
本発明の一態様であるロボットシステムは、複数の可動部を有するロボットと、前記ロボットの接触力緩和動作を制御するロボット制御装置と、を備え、前記ロボット制御装置は、 可動部を備えるロボットであり、逆運動学演算により、前記ロボットの位置及び姿勢の両方又は一方を指定する情報から前記可動部の変位である第1の値を算出するロボットの制御方法であり、前記ロボットが出力している力とは異なる力である外力を検知した際には前記外力にならって変移させる制御を備えるロボットの制御方法であって、前記第1の値から前記可動部の変位を指定する指定値を算出する指定値算出ステップと、前記指定値に基づいて前記ロボットの前記可動部を駆動して、前記可動部に生じるトルク又は力である第2の値を計測又は推定する第2の値推定ステップと、逆動力学演算により、前記指定値に対応して前記可動部に生じるべきトルク又は力に対応する値である第3の値を算出する第3の値算出ステップと、前記第2の値から前記第3の値を減算して、外力により前記可動部に加わるトルク又は力を示す第4の値を算出する第4の値算出ステップと、前記第4の値に応じて、接触力緩和動作を行う際の前記可動部の変位速度を示す目標値を算出する目標値算出ステップと、前記目標値を零空間変換して補正目標値を算出する補正目標値算出ステップと、前記補正目標値から補正値を算出する補正値算出ステップと、記補正値に基づき前記第1の値を補正する補正ステップと、を備え、前記指定値算出ステップは、前記補正値が既に算出されている場合には、前記第1の値と前記補正値とに基づき前記指定値を算出するものである。
【0027】
上記のロボットシステムにおいては、前記ロボット制御装置は、標準姿勢を示す前記可動部の変位である第5の値と前記指定値との差分から、前記標準姿勢に復帰するための前記可動部の変位速度である第6の値を算出し、前記第4の値に応じて算出した接触力緩和動作を行う際の前記可動部の変位速度を示す値に、前記第6の値を加算して、前記目標値を算出することが望ましい。
【0028】
上記のロボットシステムにおいては、前記ロボット制御装置は、前記可動部の変位を前記可動部の可動範囲に収めるための変位である第5の値と前記指定値との差分から、前記可動部の変位を前記可動範囲に収めるための前記可動部の変位速度である第6の値を算出し、前記第4の値に応じて算出した接触力緩和動作を行う際の前記可動部の変位速度を示す値に、前記第6の値を加算して、前記目標値を算出することが望ましい。
【0029】
上記のロボットシステムにおいては、前記可動部は、回転運動を行う回転関節であり、前記第1の値は、前記回転関節の回転運動の回転角度であり、前記第2の値は、前記回転関節に生じるトルクであり、前記第3の値は、前記指定値に対応して前記回転関節に生じるべきトルクであり、前記第4の値は、外力により前記回転関節に加わるトルクであり、前記可動部の変位速度は、前記回転関節の回転運動の角速度であることが望ましい。
【0030】
上記のロボットシステムにおいては、前記可動部は、回転運動を行う回転関節であり、前記第1の値及び前記第5の値は、前記回転関節の回転運動の回転角度であり、前記第2の値は、前記回転関節に生じるトルクであり、前記第3の値は、前記指定値に対応して前記回転関節に生じるべきトルクであり、前記第4の値は、外力により前記回転関節に加わるトルクであり、前記可動部の変位速度は、前記回転関節の回転運動の角速度であることが望ましい。
【0031】
上記のロボットシステムにおいては、前記可動部は、並進運動を行う直動関節であり、前記第1の値は、前記直動関節の並進運動の変位量であり、前記第2の値は、前記直動関節に生じる力であり、前記第3の値は、前記指定値に対応して前記直動関節に生じる力であり、前記第4の値は、外力により前記直動関節に加わる力であり、前記可動部の変位速度は、前記直動関節の並進運動の速度であることが望ましい。
【0032】
上記のロボットシステムにおいては、前記可動部は、並進運動を行う直動関節であり、前記第1の値及び前記第5の値は、前記直動関節の並進運動の変位量であり、前記第2の値は、前記直動関節に生じる力であり、前記第3の値は、前記指定値に対応して前記直動関節に生じる力であり、前記第4の値は、外力により前記直動関節に加わる力であり、前記可動部の変位速度は、前記直動関節の並進運動の速度であることが望ましい。
【0033】
上記のロボットシステムにおいては、前記目標値は、外力により前記可動部に加わるトルク又は力に基づいたマス・ダンパモデルを用いて算出することが望ましい。
【0034】
上記のロボットシステムにおいては、前記第2の値は、前記可動部のトルク又力をセンサにより計測した値であることが望ましい。
【発明の効果】
【0035】
本発明によれば、ロボットにおいて手先の位置及び姿勢を保持しつつ接触力緩和動作を行うことができる。
【図面の簡単な説明】
【0036】
図1】実施の形態1にかかるロボットシステム1000の構成を模式的に示す図である。
図2】実施の形態1にかかるロボット制御装置100の構成を模式的に示すブロック図である。
図3】実施の形態1にかかるロボットの接触力緩和動作を示す制御ブロック図である。
図4】実施の形態2にかかるロボット制御装置200の構成を模式的に示すブロック図である。
図5】実施の形態2にかかるロボットの接触力緩和動作を示す制御ブロック図である。
図6】特許文献1に開示されたロボットのインピーダンス制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【0037】
実施の形態1
実施の形態1にかかるロボットの接触力緩和動作について説明する。本実施の形態では、多関節ロボットの何処が他の物体と接触して接触部に接触力が加わった場合、多関節ロボットが手先の位置及び姿勢を保持しつつ、接触力による影響を緩和する接触力緩和動作を行う。
【0038】
本実施の形態にかかるロボットの接触力緩和動作は、冗長性を有するロボットに適用される。例えば、ロボットの手先に把持した物体の位置及び姿勢は6自由度を有する。したがって、本実施の形態にかかるロボットの接触力緩和動作は、典型的には7軸以上のロボットに適用することができる。但し、ロボットの手先に把持した物体の位置及び姿勢のうち、保持すべき自由度が6よりも小さい場合には、6軸以下のロボットに適用できる場合が存在することを排除するものではない。
【0039】
本実施の形態では、ロボットの手先の位置及び姿勢がずれないように、ロボットの手先で保持された物体等の位置及び姿勢を維持しつつ、接触力緩和動作を行う。以下で説明する接触力緩和動作は、ロボットの各関節について行われるものである。以下では、例えば7軸ロボットにおいて、それぞれの関節における接触力緩和動作及びその動作を制御する制御装置の構成について、図面を参照して説明する。
【0040】
図1は、実施の形態1にかかるロボットシステム1000の構成を模式的に示す図である。ロボットシステム1000は、ロボット101、トルクセンサ102及びロボット制御装置100を有する。
【0041】
ロボット101は、多関節のロボットである。図1では、一例として、7関節のロボットを模式的に図示している。関節J1、J3、J5及びJ7は、図1紙面に平行な方向を軸として回転する関節である。関節J2、J4及びJ6は、図1紙面に垂直な方向を軸として回転する関節である。HDは、物体の把持部である。
【0042】
トルクセンサ102は、ロボット101が動作している際の各関節のトルクを測定し、ベクトルで示されるトルクτを出力する。以下の説明では、ベクトル及び行列については、太字で表す。
【0043】
ロボット制御装置100は、制御信号CONを与えることで、ロボット101の動作制御を行う。また、ロボット制御装置100は、ロボット101が他の物体と接触して接触部に接触力が加わった場合に、手先の位置及び姿勢を保持しつつ接触力による影響を緩和する接触力緩和動作をロボット101に行わせる。但し、本実施の形態にかかる接触力緩和動作は、必ずしも手先の位置及び姿勢の両方を制御することに限定されるものではない。すなわち、本実施の形態にかかる接触力緩和動作は、手先の位置及び姿勢の一方のみを保持する動作を含む。また、本実施の形態にかかる接触力緩和動作は、手先の位置及び姿勢を示す座標方向成分のうち、1成分のみを保持する、又は2以上の成分を保持する動作を含む。2以上の成分を保持する動作を行う場合、保持する成分の組み合わせは、手先の位置を示す成分の組み合わせ、手先の姿勢を示す成分の組み合わせ、及び、手先の位置を示す成分と手先の姿勢を示す成分との組み合わせのいずれであってもよい。
【0044】
図2は、実施の形態1にかかるロボット制御装置100の構成を模式的に示すブロック図である。ロボット制御装置100は、関節角度算出部1、関節角度制御部2、トルク算出部4、角速度算出部5、零空間変換部6及びゲイン付与部7を有する。なお、図2の関節駆動部3は、ロボット101に含まれるものとする。ロボット制御装置100は、ロボットの計画手先位置Xplanと実測トルクTactとに基づいて、ロボットの各関節を駆動する関節駆動部3へ駆動信号Sdrを出力する。これにより、ロボット制御装置100は、ロボット101の各関節の接触力緩和動作を制御する。実測トルクTactは、関節のトルクセンサ102により、各関節のトルクを実測した値である。
【0045】
図3は、実施の形態1にかかるロボットの接触力緩和動作を示す制御ブロック図である。本実施の形態における接触力緩和動作は、関節角度算出ステップS1、加算ステップS2、関節角度制御ステップS3、関節駆動ステップS4、トルク算出ステップS5、減算ステップS6、角速度算出ステップS7、零空間変換ステップS8及びゲイン付与ステップS9からなる。
【0046】
以下、図2及び図3を参照して、ロボット制御装置100の構成及び接触力緩和動作について説明する。
【0047】
一般に、ロボット101の手先座標ベクトルPと、関節角度ベクトルqとの間には、以下の式(1)が成立する。
【数1】
式(1)において、なお、手先座標ベクトルP及び関節角度ベクトルqの上に付した黒点は、1階の時間微分を示す。Jはヤコビアン行列である。以下、式(1)の成立を前提として説明する。
【0048】
関節角度算出ステップS1
まず、関節角度算出部1は、ロボット101の計画手先位置Xplanを受けとる。ロボット101の計画手先位置Xplanは、ロボットの動作制御に供する軌道計画により決定される、手先の位置及び姿勢を示す情報であり、例えば、3次元直交座標や3次元極座標などの形式で表される。関節角度算出部1は、計画手先位置Xplanを用いて、例えばニュートン法などの数値的な繰り返し演算を行う逆運動学演算により、ロボット101の関節の回転運動の角度(関節角度)qplanを算出する。数値的な繰り返し演算には、以下の式(2)を用いて行うことができる。
【数2】
式(2)において、qはロボット101のk回目の繰り返し演算後の関節の角度、Jはヤコビアン行列の疑似逆行列、xk−1はk回目の繰り返し演算後の番目の関節の座標を示す。繰り返し演算で得られた結果は、関節角度qplanとして出力される。なお、関節角度qplanを、第1の値とも称する。kは、繰り返し演算の回数を示すパラメータである。ロボット101の関節の角度qplanは、ロボット101に接触力が作用しないときに、ロボット101の手先を計画手先位置Xplanで指定される位置及び姿勢に保持するために、関節に設定される関節角度を示している。
【0049】
加算ステップS2
関節角度制御部2は、ロボット101の関節角度qplanと、ゲイン付与部7からの補正角度Δqnullと、を加算し、指定角度qrefを算出する。なお、補正角度Δqnullを、補正値とも称する。指定角度qrefを、指定値とも称する。
【0050】
関節角度制御ステップS3
関節角度制御部2は、指定角度qrefに基づいて、駆動信号Sdrを生成する。
【0051】
関節駆動ステップS4
関節駆動部3は、駆動信号Sdrに基づいて、関節を駆動する。同時に、関節駆動部3は、トルクセンサにより節に生じた実測トルクTactを測定し、測定結果を出力する。なお、実測トルクTactを、第2の値とも称する。
【0052】
トルク算出ステップS5
トルク算出部4は、ロボット101の関節角度qplanと、ゲイン付与部7からの補正角度Δqnullと、を加算し、指定角度qrefを算出する。トルク算出部4は、指定角度qrefを用いた逆動力学演算により、関節を指定角度qrefだけ駆動させるのに必要なトルクTcalを算出し、算出結果を出力する。なお、トルクTcalを、第3の値とも称する。
【0053】
減算ステップS6
角速度算出部5は、実測トルクTactからトルクTcalを減算して、外力によるトルクτを算出する。なお、トルクτを、第4の値とも称する。
【0054】
角速度算出ステップS7
角速度算出部5は、外力によるトルクτを用いてマス・ダンパモデルにより演算を行い、関節に加わる外力の影響を回避するための目標角速度ωavoidを算出する。なお、目標角速度ωavoidを、目標値とも称する。
【0055】
零空間変換ステップS8
零空間変換部6は、各関節の目標角速度ωavoidが包含されるベクトル空間を、変換後の各関節の補正角速度ωnullが構成するベクトル空間が零空間となるように変換する。これにより、ロボット101の各関節の補正角速度を指定しても、出力として得られるロボット101の手先の位置及び姿勢を保持することができる。なお、補正角速度ωnullを、補正目標値とも称する。
【0056】
ゲイン付与ステップS9
ゲイン付与部7は、補正角速度ωnullにゲインΔtを乗じ、関節に加わる外力の影響を回避するための補正角度Δqnullを算出する。上述のように、各関節の補正角速度ωnullは、零空間を構成する。各関節の補正角度Δqnullが加算されることで、関節角度制御部2は、出力として得られるロボット101の手先の位置及び姿勢が保持できるように、駆動信号Sdrを生成することができる。
【0057】
一般に、角度のみでロボットの姿勢制御を行うと、移動先の角度のみを指定するため、移動先の座標以外を指定することができない。この場合、例えば、移動先への移動速度を細かく制御して柔軟なロボットの動作を実現することが難しい。また、移動先でロボットの一部が外部の物体と接触し、接触点を一定の力で押し込む場合、座標による姿勢制御では座標のみしか指定できないので、押し付け力を制御することが困難である。また、異なる運動のタスクを重ね合わせる場合、角度を与えるのみでは重ね合わせたタスクの運動を制御することがそもそも困難である。
【0058】
これに対し、本実施の形態では、角速度を用いて外力による影響を緩和する接触力緩和動作を行っている。そのため、ロボットの回避動作を外力の大きさに応じた回避速度で行うことができる。その結果、不必要な高速で動作したり、回避速度が不足してしまうといった事態を防止することができる。また、移動先でロボット101の一部が外部の物体と接触し、接触点を一定の力で押し込む場合、移動先での角速度を指定すれば押し付け力を容易に制御することができる。また、異なる運動のタスクを重ね合わせる場合、各速度を用いれば、重ね合わせたタスクの運動を制御することできる。よって、角度を用いた制御に比べ、より複雑かつ柔軟なロボットの運動を実現できる。
【0059】
以上より、本実施の形態によれば、手先位置及び姿勢を保持しつつ、ロボットの運動状態を制御しつつ、接触力緩和動作を行うことができる。これにより、より高精度かつ柔軟なロボットの姿勢制御を行うことができる。
【0060】
実施の形態2
実施の形態2にかかるロボットの接触力緩和動作について説明する。図4は、実施の形態2にかかるロボット制御装置200の構成を模式的に示すブロック図である。ロボット制御装置200は、実施の形態1にかかるロボット制御装置100に、復帰角速度算出部8を追加し、更にロボット制御装置100の角速度算出部5を角速度算出部9に置換した構成を有する。ロボット制御装置200のその他の構成は、ロボット制御装置100と同様であるので、説明を省略する。ロボット制御装置200は、接触力緩和動作を行った際に、例えばロボット101が不安定な姿勢等にならないように、所定の姿勢への復帰動作を更に行うことができる。
【0061】
図5は、実施の形態2にかかるロボットの接触力緩和動作を示す制御ブロック図である。本実施の形態における接触力緩和動作は、図3の実施の形態1にかかるロボットの接触力緩和動作の角速度算出ステップS7を削除し、かつステップS21〜S23を追加したものである。図5のステップS1〜S6、S8及びS9は、図3と同様であるので、説明を省略する。
【0062】
復帰角速度算出ステップS21
復帰角速度算出部8は、標準姿勢を示す関節角度qinitと指定角度qrefとが入力される。復帰角速度算出部8は、標準姿勢を示す関節角度qinitと指定角度qrefとの間の差分から、標準姿勢へ復帰するために必要な復帰角速度ωinitを算出する。なお、標準姿勢を示す関節角度qinitを、第5の値とも称する。復帰角速度ωinitを、第6の値とも称する。
【0063】
角速度算出ステップS22
角速度算出部9は、実測トルクTactからトルクTcalを減算して、外力によるトルクτを算出する。角速度算出部5は、外力によるトルクτを用いてマス・ダンパモデルにより演算を行い、関節に加わる外力の影響を回避するための角速度ωavoid1を算出する。ここで、角速度ωavoid1は、実施の形態1における目標角速度ωavoidに相当する。
【0064】
角速度算出ステップS23
角速度算出部9は、角速度ωavoid1と復帰角速度ωinitとを加算し、目標角速度ωavoidを出力する。
【0065】
以上より、本実施の形態において零空間変換部6に入力される目標角速度ωavoidは、関節に加わる外力の影響を回避するための角速度ωavoid1だけでなく、復帰角速度ωinitが反映されている。これにより、接触力緩和動作を行っても、ロボット101が所定の位置及び姿勢に復帰させることが可能となる。
【0066】
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、例えば、上述の実施の形態にかかる接触力緩和動作は、冗長性を有するならば、7軸以外の数の多関節ロボットに適用できることは言うまでもない。
【0067】
ロボット制御装置100は、コンピュータなどのハードウェア資源で実現することも可能である。この場合、実施の形態1にかかる接触力緩和動作の手順を規定するプログラムを、ロボット制御装置100に実行させることで、同様に行うことが可能である。
【0068】
上述の実施の形態2では、標準姿勢への復帰について説明したが、これは一例に過ぎない。例えば、標準姿勢に代えて、関節の可動範囲を考慮してもよい。この場合、実施の形態2の関節角度qinitを、関節の可動範囲を示す関節角度に置き換えることで実現することができる。これにより、ロボットを構成する各関節を、可動範囲内に収まるように運動させることが可能である。
【0069】
上述の実施の形態では、関節として回転関節のみを想定し、関節角度の回転角度、角速度及びトルクに着目したが、これは例示に過ぎない。多関節ロボットは、並進運動(伸縮)が可能な直動関節を有する構成をとることも可能である。この場合、直動関節の運動制御においては、回転関節の関節角度に代えて直動関節の並進運動の変位量、回転関節の角速度に代えて直動関節の並進運動の変位速度、回転関節のトルクに代えて直動関節の並進運動にかかる力に着目することで、上記の方法を用いて同様の接触力緩和動作を実現することができる。
【0070】
上述の通り、回転関節及び直動関節を有する多関節ロボットの接触力緩和動作を行うこと可能である。以下、回転関節及び直動関節を可動部と称し、回転関節の関節角度及び直動関節の並進運動の変位量を可動部の変位と称する。また、回転関節の角速度及び直動関節の並進運動の速度を可動部の変位速度と称する。
【0071】
すなわち、上述の第1の値及び前記第5の値は、回転関節の回転角度と、直動関節の並進運動の変位量と、を包含する。上述の第2の値は、回転関節に生じるトルクと、直動関節に生じる力と、を包含する。上述の第3の値は、指定値に対応して回転関節に生じるべきトルクと、指定値に対応して直動関節に生じる力と、を包含する。上述の第4の値は、外力により回転関節に加わるトルクと、外力により直動関節に加わる力と、を包含する。上述の第6の値は、標準姿勢に復帰するための回転関節の角速度と、標準姿勢に復帰するための直動関節の並進運動の変位速度と、を包含する。更に、上述の第6の値は、回転関節の回転角度を可動範囲に収めるための回転関節の角速度と、直動関節の並進運動の変位を可動範囲に収めるための直動関節の並進運動の変位速度と、を包含する。上述の指定値は、回転関節の指定角度と、直動関節の指定変位と、を包含する。上述の補正値は、回転関節の補正角度と、直動関節の補正変位と、を包含する。述の目標値は、回転関節の目標角速度と、直動関節の並進運動の目標変位速度と、を包含する。述の補正目標値は、回転関節の補正角速度と、直動関節の並進運動の補正変位速度と、を包含する。
【0072】
上述の実施の形態では、トルクセンサでトルクを算出する例について説明したが、これは例示に過ぎない。例えば、トルクの計測に代えて、関節の動作時に測定される、関節の運動を示す他の物理量(例えば、関節を駆動するモータの電流値)から、関節のトルクを推定してもよい。
【符号の説明】
【0073】
1 関節角度算出部
2 関節角度制御部
3 関節駆動部
4 トルク算出部
5 角速度算出部
6 零空間変換部
7 ゲイン付与部
8 復帰角速度算出部
9 角速度算出部
100、200 ロボット制御装置
101 ロボット
102 トルクセンサ
200 ロボット制御装置
301 アーム
302 力センサ
303 接触センサ
304 モータ
305 回転角検出計
306 手先変位算出部
307 関節トルク変換部
308 関節変位算出部
309 位置設定部
310 加算装置
311 逆運動学計算部
312 加算装置
313 サーボコントローラ
1000 ロボットシステム
図1
図2
図3
図4
図5
図6