特開2020-113214(P2020-113214A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 国立大学法人広島大学の特許一覧

<>
  • 特開2020113214-制御装置 図000028
  • 特開2020113214-制御装置 図000029
  • 特開2020113214-制御装置 図000030
  • 特開2020113214-制御装置 図000031
  • 特開2020113214-制御装置 図000032
  • 特開2020113214-制御装置 図000033
  • 特開2020113214-制御装置 図000034
  • 特開2020113214-制御装置 図000035
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-113214(P2020-113214A)
(43)【公開日】2020年7月27日
(54)【発明の名称】制御装置
(51)【国際特許分類】
   G05B 13/02 20060101AFI20200626BHJP
【FI】
   G05B13/02 B
【審査請求】未請求
【請求項の数】9
【出願形態】OL
【全頁数】19
(21)【出願番号】特願2019-5583(P2019-5583)
(22)【出願日】2019年1月16日
(71)【出願人】
【識別番号】504136568
【氏名又は名称】国立大学法人広島大学
(74)【代理人】
【識別番号】100196380
【弁理士】
【氏名又は名称】森 匡輝
(72)【発明者】
【氏名】菊植 亮
【テーマコード(参考)】
5H004
【Fターム(参考)】
5H004GA05
5H004GB16
5H004HB07
5H004HB08
5H004KB31
5H004KC27
5H004LA08
(57)【要約】
【課題】外力によってロボットが動かされてモータの発生力が飽和する場合であっても、適切にロボットを制御することができる位置制御またはアドミッタンス制御を用いた制御装置を提供する。
【解決手段】制御装置1は、仮想物体の動特性と制御則とから、次時刻ステップの飽和前位置ベクトルと飽和前速度ベクトルとを算出し、位置センサ19の測定値と飽和前位置ベクトルと制御則とから操作量を設定する。操作量が所定の範囲内の場合、操作量を駆動装置20aに出力し、飽和前速度ベクトルを仮想物体の次時刻ステップの位置ベクトルとし、飽和前速度ベクトルを仮想物体の次時刻ステップの速度ベクトルとする。操作量が所定の範囲外の場合、修正した操作量を駆動装置に出力し、修正した飽和前位置ベクトルを仮想物体の次時刻ステップの位置ベクトルとし、飽和前速度ベクトルとゼロベクトルとの中間の値を仮想物体の次時刻ステップの速度ベクトルとする。
【選択図】図1
【特許請求の範囲】
【請求項1】
制御対象の位置を検出する位置センサと、
前記制御対象を動作させる駆動装置の操作量を決定する演算部と、を備え、
前記演算部は、
所定の動特性を有する仮想物体と制御則とを保持しており、
前記仮想物体の運動をシミュレートして次時刻ステップの飽和前位置ベクトルと飽和前速度ベクトルとを算出し、
前記位置センサの測定値と、算出された前記飽和前位置ベクトルと、前記制御則とに基づいて、前記操作量を設定するとともに、
前記操作量が予め設定された所定の範囲内にある場合には、
前記操作量を前記駆動装置に出力し、
前記飽和前位置ベクトルを、前記仮想物体の次時刻ステップの位置ベクトルとして設定し、
前記飽和前速度ベクトルを、前記仮想物体の次時刻ステップの速度ベクトルとして設定し、
前記操作量が予め設定された所定の範囲外にある場合には、
前記操作量が所定の範囲内の値となるように、前記飽和前位置ベクトル及び前記操作量を修正し、
修正した前記操作量を前記駆動装置に出力し、
修正した前記飽和前位置ベクトルを、前記仮想物体の次時刻ステップの位置ベクトルとして設定し、
前記飽和前速度ベクトルとゼロベクトルとの中間の値を、前記仮想物体の次時刻ステップの速度ベクトルとして設定する、
ことを特徴とする制御装置。
【請求項2】
前記仮想物体の前記次時刻ステップの速度ベクトルvは、以下の式
=proj_{co(0,v)}(q−q)/T
ただし、projは射影、coは凸包、vは前記飽和前速度ベクトル、qは前記仮想物体の次時刻ステップの位置ベクトル、qは前記仮想物体の位置ベクトル,Tはステップ時間
を用いて算出される、
ことを特徴とする請求項1に記載の制御装置。
【請求項3】
前記制御則は、前記仮想物体の加速度フィードフォワードを含み、
前記仮想物体の加速度は、前記仮想物体の飽和前速度と前時刻ステップの速度との差をステップ時間で除したものであり、
前記加速度フィードフォワードは前記操作量が飽和しない範囲に制限される、
ことを特徴とする請求項1から2のいずれか一項に記載の制御装置。
【請求項4】
前記仮想物体は、目標位置へ収束するために設定された所定の動特性を有する、
ことを特徴とする請求項1から3のいずれか一項に記載の制御装置。
【請求項5】
前記仮想物体は、目標速度へ収束するために設定された所定の動特性を有する、
ことを特徴とする請求項1から3のいずれか一項に記載の制御装置。
【請求項6】
前記制御対象は、制御対象と外部環境である物体とが接触する力を検出する力センサを備え、
前記演算部に保持される前記仮想物体の動特性は、力を受けて運動する質点又は剛体の動特性であり、
前記演算部は、
前記制御対象に加える目標力と前記力センサの測定値とを前記仮想物体に与えた場合の運動をシミュレートして、次時刻ステップの飽和前位置ベクトルと飽和前速度ベクトルとを算出する、
ことを特徴とする請求項1から3のいずれか一項に記載の制御装置。
【請求項7】
前記動特性は、クーロン摩擦特性を含む、
ことを特徴とする請求項6に記載の制御装置。
【請求項8】
前記位置センサは複数の角度センサであり、
前記駆動装置は複数のモータを備え、
前記仮想物体の位置ベクトルと速度ベクトルとは、多次元のベクトル値である、
ことを特徴とする請求項1から7のいずれか一項に記載の制御装置。
【請求項9】
前記仮想物体の位置ベクトルは、
3次元の並進位置ベクトルと、前記仮想物体の姿勢を表現する3個から16個の数値の集合とから構成され、
前記仮想物体の速度ベクトルは、
3次元の並進速度ベクトルと、3次元の角速度ベクトルとから構成される、
ことを特徴とする請求項8に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置に関する。
【背景技術】
【0002】
主に人と協調して作業するロボットの制御に関して、ロボットの各関節に取り付けられた関節角度センサ情報を用いた位置制御による制御方法、ロボットの手先(エンドエフェクタ)に取り付けられた力センサの情報を用いた機械インピーダンス制御による制御方法等が開発されている。
【0003】
機械インピーダンス制御のうち位置制御をベースとするアドミッタンス制御は、力センサの情報に基づいて運動目標値を求め、その目標に対して位置又は速度制御を行うものであり、産業用ロボット等の位置制御ベースのロボットに適用しやすいという利点を有する。このことから、アドミッタンス制御を応用した種々の制御装置及び制御方法が開発されている。アドミッタンス制御を行う制御器は、実際のロボットに比べて単純化された動特性を有する仮想物体(proxy又はプロクシともいう)を制御器の中で想定し、ロボットに取り付けられた力センサで測定された力の情報によって仮想物体の運動をシミュレートする。そして、ロボットは、仮想物体の運動を追跡するように位置制御される(例えば、非特許文献1)。
【0004】
また、位置制御においても、所定の動特性に基づいて制御対象を目標位置へ収束させるように制御を行うスライディングモード制御とよばれる手法がある。この場合の所定の動特性は、位置または速度を変数とする単純な微分方程式で記述される(例えば、特許文献1〜3)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−102748号公報
【特許文献2】特開2008−97152号公報
【特許文献3】特開2014−157548号公報
【非特許文献】
【0006】
【非特許文献1】Ryo Kikuuwe, “Torque-Bounded Admittance Control”, 日本ロボット学会学術講演会講演論文集, 2G2-03, 2017年9月
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献3および非特許文献1の制御装置では、ロボットを駆動するモータの発生力が予め定められた限界値に達することにより飽和した場合、仮想物体のモータの発生力を限界値にセットして、仮想物体の計算上の位置を算出する。そして、ロボットに仮想物体の運動を追跡させる。これにより、モータの発生力が飽和しない場合には、位置制御の性能を担保するとともに、モータの発生力が飽和する場合であっても、ロボットの想定外の動作を抑制している。
【0008】
しかしながら、特許文献3および非特許文献1の制御装置では、外力によってロボットが動かされてモータの発生力が飽和すると、仮想物体が本来の速度(飽和前速度)よりも大きい速度を持つ場合がある。この場合、仮想物体が飽和前速度よりも大きい速度を持った後、モータの発生力が非飽和状態になると、仮想物体がその速度を慣性によって保持することとなる。すなわち、モータの発生力が飽和することによって、ロボットの運動エネルギーが不要に増大し、ロボットが意図しない動作をする可能性がある。
【0009】
本発明は、上述の事情に鑑みてなされたものであり、外力によってロボットが動かされてモータの発生力が飽和する場合であっても、適切にロボットを制御することができる位置制御またはアドミッタンス制御を用いた制御装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するために、この発明に係る制御装置は、
制御対象の位置を検出する位置センサと、
前記制御対象を動作させる駆動装置の操作量を決定する演算部と、を備え、
前記演算部は、
所定の動特性を有する仮想物体と制御則とを保持しており、
前記仮想物体の運動をシミュレートして次時刻ステップの飽和前位置ベクトルと飽和前速度ベクトルとを算出し、
前記位置センサの測定値と、算出された前記飽和前位置ベクトルと、前記制御則とに基づいて、前記操作量を設定するとともに、
前記操作量が予め設定された所定の範囲内にある場合には、
前記操作量を前記駆動装置に出力し、
前記飽和前位置ベクトルを、前記仮想物体の次時刻ステップの位置ベクトルとして設定し、
前記飽和前速度ベクトルを、前記仮想物体の次時刻ステップの速度ベクトルとして設定し、
前記操作量が予め設定された所定の範囲外にある場合には、
前記操作量が所定の範囲内の値となるように、前記飽和前位置ベクトル及び前記操作量を修正し、
修正した前記操作量を前記駆動装置に出力し、
修正した前記飽和前位置ベクトルを、前記仮想物体の次時刻ステップの位置ベクトルとして設定し、
前記飽和前速度ベクトルとゼロベクトルとの中間の値を、前記仮想物体の次時刻ステップの速度ベクトルとして設定する。
【0011】
また、前記仮想物体の前記次時刻ステップの速度ベクトルvは、以下の式
=proj_{co(0,v)}(q−q)/T
ただし、projは射影、coは凸包、vは前記飽和前速度ベクトル、qは前記仮想物体の次時刻ステップの位置ベクトル、qは前記仮想物体の位置ベクトル,Tはステップ時間
を用いて算出される、
こととしてもよい。
【0012】
また、前記制御則は、前記仮想物体の加速度フィードフォワードを含み、
前記仮想物体の加速度は、前記仮想物体の飽和前速度と前時刻ステップの速度との差をステップ時間で除したものであり、
前記加速度フィードフォワードは前記操作量が飽和しない範囲に制限される、
こととしてもよい。
【0013】
また、前記仮想物体は、目標位置へ収束するために設定された所定の動特性を有する、
こととしてもよい。
【0014】
また、前記仮想物体は、目標速度へ収束するために設定された所定の動特性を有する、
こととしてもよい。
【0015】
また、前記制御対象は、制御対象と外部環境である物体とが接触する力を検出する力センサを備え、
前記演算部に保持される前記仮想物体の動特性は、力を受けて運動する質点または剛体の動特性であり、
前記演算部は、
前記制御対象に加える目標力と前記力センサの測定値とを前記仮想物体に与えた場合の運動をシミュレートして、次時刻ステップの飽和前位置ベクトルと飽和前速度ベクトルとを算出する、
こととしてもよい。
【0016】
また、前記動特性は、クーロン摩擦特性を含む、
こととしてもよい。
【0017】
また、前記位置センサは複数の角度センサであり、
前記駆動装置は複数のモータを備え、
前記仮想物体の位置ベクトルと速度ベクトルとは、多次元のベクトル値である、
こととしてもよい。
【0018】
また、前記仮想物体の位置ベクトルは、
3次元の並進位置ベクトルと、前記仮想物体の姿勢を表現する3個から16個の数値の集合とから構成され、
前記仮想物体の速度ベクトルは、
3次元の並進速度ベクトルと、3次元の角速度ベクトルとから構成される、
こととしてもよい。
【発明の効果】
【0019】
本発明の制御装置によれば、次時刻ステップに持ち越される仮想物体の速度を、仮想物体の飽和前速度ベクトルとゼロベクトルの中間のベクトルとすることにより、外力によって行われた仕事が仮想物体の運動エネルギーとして保持されることを抑制できるので、より安全にロボットを制御することが可能である。
【図面の簡単な説明】
【0020】
図1】本発明の実施の形態に係る制御装置の構成を示す機能ブロック図である。
図2】実施の形態に係る制御部の制御処理の概念を示すブロック図である。
図3】(a)が実施の形態に係る射影を示すグラフ、(b)が実施の形態に係る不感帯関数を示すグラフ、(c)が実施の形態に係る法錐を示すグラフである。
図4】実施の形態に係るロボットの例を示す図である。
図5】実施の形態1に係る制御装置による制御結果の例を示すグラフであり、(a)が従来の制御器、(b)が式(28)に示される修正を加えた制御器、(c)が(b)においてM=0とした制御器、(d)が(b)に加速度フィードフォワードの修正を追加した制御器、(e)が(d)にクーロン摩擦力を追加した制御器の場合である。
図6】ロボットのエンドエフェクタを物体に押しつけた状態を示す図である。
図7】(a)がロボットのエンドエフェクタを物体に押しつけた場合の力センサの測定値を示すグラフであり、(b)が(a)においてM=0とした場合のグラフである。
図8】(a)が実施の形態1に係る制御ステップを示す概念図であり、(b)が多自由度マニピュレータに実装した実施の形態2に係る制御ステップを示す概念図である。
【発明を実施するための形態】
【0021】
以下、図を参照しつつ、本発明の実施の形態に係る制御装置について説明する。
【0022】
(実施の形態1)
本実施の形態では、外部環境と接触する状況で動作するロボットについて、ロボットと外部環境との間に生じる力に基づいて、制御部内の仮想物体を動作させるとともに、仮想物体の位置にロボットの位置を追従させる制御装置を例として説明する。
【0023】
本実施の形態に係る制御装置1は、図1に示すように、ロボット20を制御するものであり、制御ユニット10、制御ユニット10に接続された力センサ18及び位置センサ19を備える。
【0024】
ロボット20は、ロボット20を動作させる駆動装置として駆動部20aを備える。ロボット20の種類は特に限定されないが、例えば、重量物を搬送する産業用ロボット、リハビリテーション支援ロボット等のモータで駆動される多関節ロボットである。ロボット20は、制御ユニット10に接続されている。
【0025】
制御ユニット10は、図1のブロック図に示すように、制御部11、記憶部12、表示部13、入力部14を備える。
【0026】
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、水晶発振器等から構成されるコンピュータ装置であり、ロボット20の動作を制御する。制御部11は、制御部11のROM、記憶部12等に記憶されている各種動作プログラム及びデータをRAMに読み込んでCPUを動作させることにより、図1に示される制御部11、すなわちアドミッタンス制御器としての各機能を実現させる。これにより、制御部11は、演算部111及び動作制御部112として動作する。
【0027】
演算部111は、力センサ18の測定値と目標力とに基づいて、仮想物体の位置をシミュレートし、これに基づいて、ロボット20を動作させるための駆動部20aの操作量を算出するアドミッタンス制御器である。
【0028】
動作制御部112は、演算部111で算出された操作量に基づいて、ロボット20の駆動部20aを制御し、ロボット20を動作させる。
【0029】
記憶部12は、ハードディスク、フラッシュメモリ等の不揮発性メモリであり、仮想物体の動特性、アドミッタンス制御器の演算アルゴリズム等を記憶する。本実施の形態に係る仮想物体の動特性は、ロボット20の望ましい動特性を単純化したものであり、力を受けて運動する質点又は剛体の動特性として表される。
【0030】
表示部13は、液晶パネル、有機EL(Electroluminescence)等の表示用デバイスであり、各種設定パラメータ、力センサ18及び位置センサ19の測定値等を表示する。本実施の形態に係る表示部13は、制御ユニット10に搭載された液晶パネルである。
【0031】
入力部14は、ロボット20を動作させる各種設定パラメータを入力するための入力デバイスである。入力部14は、キーボード、タッチパネル、マウス等である。
【0032】
力センサ18は、ロボット20のエンドエフェクタが外部環境である物体に接触した際、エンドエフェクタが物体に及ぼす力を検出し、制御ユニット10の制御部11へ出力する。
【0033】
位置センサ19は、ロボット20のエンドエフェクタの位置を検出する計測器であり、計測されたエンドエフェクタの位置を制御ユニット10の制御部11へ出力する。
【0034】
以下、本実施の形態に係る制御部11の制御処理、すなわちロボット20の駆動部20aへ出力する操作量の算出アルゴリズムについて具体的に説明する。本例では、図2に示すように、モータであるの駆動部20aのトルク値を算出する制御アルゴリズムを例として説明する。
【0035】
(1)数学的準備
本実施の形態では、Aを実数上の閉区間とし、以下の式(1)〜(3)に示す関数を用いる。
【数1】
ここで、projは、集合Aへの射影、dznは集合Aに対する不感帯関数、N(x)は点xにおける集合Aの法錐である。
【0036】
集合AをA=[A,B]と書くと、上記式(1)〜(3)は、以下の式(4)〜(6)と書ける。
【数2】
これらの式(4)〜(6)の関数のグラフを図3(a)〜(c)に示す。
【0037】
また、射影と法錐とは、以下の式(7)の関係を有する。
【数3】
【0038】
また、集合Bと単一値xとの加減算は、以下の式(8)で表される。
【数4】
【0039】
式(8)は、集合Bが区間[a,b]で表されるとき、集合B+xが区間[a+x,b+x]となることを示している。
【0040】
また、本実施の形態では、以下の式(9)に示す集合値符号関数を用いる。
【数5】
【0041】
非負のスカラーFについて、対称閉区間[−F,F]の法錐は、以下の関係式(10)に示すように、符号関数の逆写像となる。
【数6】
【0042】
また、符号関数と飽和関数とは、以下の関係式(11)で表される。
【数7】
この式(11)は、式(7)の特殊な場合である。
【0043】
また、本実施の形態では、集合Xの凸包をco(X)と表記する。2つのスカラーA、Bについて、co({A,B})=co({B,A})=[min(A,B),max(A,B)]が成り立つ。集合A、Bの加減算は、以下の式(12)で表される。
【数8】
【0044】
ただし、以下の式(13)に注意する必要がある。
【数9】
【0045】
さらに、2つの集合値関数Φ:R→2、Ψ:R→2を用いた入れ子式Ψ(Φ(x)+y)は、以下の式(14)のように解される。
【数10】
【0046】
(2)制御則の連続時間表現
続いて、本実施の形態に係る制御則の一般表現について説明する。制御対象であるロボット20のエンドエフェクタの計測位置をq∈R、仮想物体の位置をq、駆動部20aであるモータの駆動力をτ∈R、力センサ18の測定値をf、アドミッタンス制御器に与える目標値をfとし、以下の式(15a)〜(15c)で表されるアドミッタンス制御器を考える。
【数11】
【0047】
ここで、q∈Rは仮想物体のエンドエフェクタの位置であり、式(15a)で表される動特性を持つ。また、Mは仮想物体の慣性、Bは仮想物体の粘性であり、制御対象の特性に応じて設定されるパラメータである。式(15b)、(15c)は、所望の加速度フィードフォワードを有するPID制御器を表している。K、B、Lはそれぞれ比例ゲイン、微分ゲイン、積分ゲインであり、閉ループシステムの安定性が保たれる範囲で高く設定されることが好ましい。係数Mは正の定数であり、制御対象の慣性に近づくように設定される。
【0048】
本実施の形態に係る駆動部20aは、予め定められた所定の範囲である出力限界、すなわち飽和条件を有するので、式(15)にτ∈Fとの制約を課す。ここで、Fはゼロを含む実数の閉区間である。
【0049】
本実施の形態では、上記の制約を加えたアドミッタンス制御器として、以下の式(16a)〜(16c)を考える。
【数12】
【0050】
上記の式(16a)〜(16c)は、微分代数的包含(differential-algebraic inclusion,DAI)と見ることができる。この法錐関数は、集合Fの外のτを許容しないので、τ∈Fを満たすように仮想物体の加速度(qの二階微分)が決定される。また、N(τ)=0であるので、τがFの内部にある限り、式(16a)〜(16c)で表される制御器は、式(15a)〜(15c)で表される通常のアドミッタンス制御器に相当する。式(16a)のN(τ)の項は、図2の代数フィードバックとして表される。
【0051】
ここで、集合F=[−F,F](Fは正の定数)の場合、式(16a)〜(16c)は、以下の式(17a)〜(17c)と書き換えることができる。
【数13】
【0052】
(3)離散時間表現
Tをステップ時間(タイムステップの大きさ)、kを離散時間インデックスを表す整数として、陰的オイラー法を用いることにより、式(16a)〜(16c)の制御器は、以下に示す式(18a)〜(18c)及び式(19)〜(24)のように離散化される。
【数14】
【0053】
関係式(7)を用いて式(18b)、(18c)からq(k)を消去すると、以下の式(25)が得られる。
【数15】
【0054】
したがって、式(16a)〜(16c)の制御器は、以下の式(26a)〜(26j)で表されるアルゴリズムとして離散時間領域で実現することができる。
【数16】
【0055】
式(26a)〜(26j)で表される制御器では、駆動部20aの発生力が飽和していない場合、仮想物体は式(15a)で既定されるように動く。このとき、算出された飽和前位置ベクトルq(k)、飽和前速度ベクトルu(k)は、それぞれ次時刻ステップの位置q(k)、速度u(k)となる。一方、ロボット20が外力を受けて運動し、駆動部20aの発生力が飽和した場合、仮想物体はロボット20の動きに追従して速度u(k)を得る。いずれの場合も、この速度u(k)を使って、次時刻ステップの仮想物体位置q(k+1)が算出される。このことは、駆動部20aの発生力が飽和した場合に、外力によって行われた仕事が仮想物体の運動エネルギーとして保持されることを意味している。
【0056】
このように、外力による仕事が仮想物体の運動エネルギーとして保持されると、ロボット20が意図されていない動作をする可能性がある。そこで、本実施の形態では、駆動部20aの発生力が飽和した場合の仮想物体の動作を改善するため、次時刻ステップに持ち越される仮想物体の速度を調整する。
【0057】
具体的には、次時刻ステップにおける仮想物体の速度は、飽和前速度ベクトルとゼロベクトルとの中間のベクトルとして設定される。本実施の形態では、次時刻ステップにおける仮想物体の速度は、仮想物体の飽和前速度ベクトルとゼロベクトルとの中間のベクトルのうち飽和後速度ベクトルに最も近いベクトルに決定する。以下、より具体的に説明する。
【0058】
式(26a)に示されるように、u(k)は、仮想物体の所定の動特性のみによって決定される仮想物体の速度であり、飽和前速度ベクトルと呼ぶ。また、u(k)は、飽和前速度ベクトルu(k)と飽和効果とによって決定される飽和後の仮想物体の速度であり、飽和後速度ベクトルと呼ぶ。本実施の形態に係る飽和後速度ベクトルu(k)は、以下の式(27)を満たすように決定される。
【数17】
【0059】
式(27)により、仮想物体の運動エネルギーの影響は除去されつつ、u(k)の方向はu(k)で保持される。アルゴリズムとしては、式(26i)を以下の式(28)で置き換えることによって実現することができる。
【数18】
【0060】
上記の式(28)に示される修正は、現在の仮想物体の位置q(k)には影響しないが、次時刻ステップにおける仮想物体位置q(k+1)に影響を及ぼす仮想物体の速度u(k)のみを変更している。
【0061】
以上説明したように、本実施の形態に係る制御装置1では、次時刻ステップにおける仮想物体の速度ベクトルは、飽和前速度ベクトルとゼロベクトルとの中間のベクトルとして設定するため、外力による仕事が仮想物体に運動エネルギーとして保存されない。
【0062】
さらに、本実施の形態では、Mがゼロでない場合、すなわち、加速度フィードフォワード項が存在する場合の挙動を改善するための修正を加える。以下、具体的に説明する。
【0063】
式(16c)の右辺第1項で表される加速度フィードフォワード項は、アドミッタンス制御器の安定性を高めることが知られている。本実施の形態では、駆動部20aの発生力に飽和が生じた場合の加速度フィードフォワードを改善する。
【0064】
具体的には、式(16c)の右辺第1項を駆動部20aの発生力の飽和の影響を受けない量に置き換える。言い換えると、操作量である駆動部20aのトルク値が、飽和しない範囲に制限される。すなわち、式(16a)〜(16c)の制御器を以下の式(29a)〜(29d)に変形する。
【数19】
【0065】
上記の式(29d)のqの二階微分は、駆動部20aの発生力が飽和しなかった場合の加速度(飽和前加速度)と見ることができる。また、式(29d)の右辺第1項の投影演算子は、力センサ18に大きな衝撃力が加えられた場合でも、この項の値が過度に大きくならないようにするためのものである。
【0066】
式(26a)〜(26j)のアルゴリズムとその変形において、u(k)は、飽和が生じなかった場合の仮想物体の速度(飽和前速度ベクトル)を表している。したがって、仮想物体の飽和前加速度は、以下の式(30)のように、仮想物体の飽和前速度と前時刻ステップの速度との差をステップ時間で除することによって得られる。
【数20】
【0067】
式(30)を用いて、式(29a)〜(29d)は、以下の式(31a)〜(31c)及び式(32)〜(37)のように離散化できる。
【数21】
【0068】
また、上式は式(7)を用いて、以下の式(38a)〜(38e)と書き換えることができる。
【数22】
したがって、式(26a)〜(26j)のアルゴリズムにおいて、式(26d)〜(26h)を上記の式(38a)〜(38e)で置き換えることにより、加速度フィードフォワードが改善される。
【0069】
また、ロボット20が、力センサ18に加わる小さな力によってドリフトすることを抑制するため、仮想物体の動特性にクーロン摩擦特性を表す項を含めることができる。これにより、式(16a)〜(16c)は、以下の式(39a)〜(39c)に変形される。
【数23】
ここで、F>0は、仮想物体が受けるクーロン摩擦力の大きさである。
【0070】
また、式(39a)〜(39c)の制御器の離散時間アルゴリズムは、式(26a)を以下の式(40)、(41)で置き換えることによって得られる。
【数24】
【0071】
また、上述のアルゴリズムは、次時刻ステップに持ち越される仮想物体の速度の修正及び加速度フィードフォワードの修正と組み合わせて用いることとしてもよい。具体的には、以下の式(42a)〜(42j)で表されるアルゴリズムとなる。
【数25】
【0072】
続いて、上記本実施の形態に係る制御装置1によるロボット20の制御実験の結果について説明する。本実験では、図4に示す6軸垂直多関節ロボット((株)安川電機製、MOTOMAN-HP3J)を用いて、ロボットに外力を加えたときのロボット20の位置を計測した。具体的には、期間Aにおいて、実験者がロボット20の力センサ18を上方向に押し、期間Bにおいて、実験者がロボット20のリンクを下方向へ押した場合のロボット20及び仮想物体の位置を確認した。
【0073】
図5(a)〜(e)に実験結果を示す。図5(a)は従来の制御アルゴリズム、図5(b)は式(28)に示される修正を加えた制御アルゴリズム(式(26a)〜(26j)、(28))、図5(c)は式(28)に示される修正を加えた制御アルゴリズムにおいて定数M=0とおいた場合、図5(d)は加速度フィードフォワードの修正を追加した場合(式(42a)〜(42j)でF=0とした場合)、図5(e)は本実施の形態に係る制御アルゴリズム(式(42a)〜(42j))による実験結果を表す。
【0074】
図5(a)に示すように、従来の制御アルゴリズムでは、期間Aにおいて力が加えられると、その後もロボット20は上方向へ移動し続けた。また、期間Bにおいてリンクに下方向の力が加えられると、その後もロボット20は下方向へ移動し続けた。
【0075】
図5(b)に示すように、式(28)に示される修正を加えた場合、期間Bにおいて実験者がロボット20に加えた力により、仮想物体位置とロボット位置の乖離が生じ、スナップバック、振動等の現象が見られる。
【0076】
一方、図5(c)に示すように、定数M=0と設定することにより、期間Bの後のスナップバック、振動等の動作は発生していない。すなわち、式(28)に示される修正により、加速度フィードフォワードが従来技術と同じであっても、M=0であれば、期間Bの後、ロボット20は速やかに停止され、好ましい動作をすることがわかる。
【0077】
図5(d)に示すように、式(28)に示される修正に加えて、加速度フィードフォワードの修正(式(38a)〜(38e)の修正)を行うことにより、図5(c)と同様に、期間Bの後、ロボット20は速やかに停止され、好ましい動作をしていることがわかる。
【0078】
図5(e)に示すように、各修正を組み合わせることにより、期間Aの後のロボット20の動作が、仮想物体の動特性として設定したクーロン摩擦力によって減衰されている。さらに、期間Bの後のロボット20の動作が抑制されており、適切な動作をしていることがわかる。
【0079】
また、図6に示すように、ロボット20のエンドエフェクタを、外部環境である物体としてのテーブルに繰り返し押しつけた場合の、力センサ18の測定値を図7(a)に示す。また、図7(b)は、定数M=0と設定した場合の力センサ18の測定値を示している。図7(a)、(b)に示すように、本実施の形態に係る制御装置1により、ロボット20が安定して動作していることがわかる。特に、修正された加速度フィードフォワード及び仮想物体のクーロン摩擦が安定性に寄与することにより、ロボット20は好ましい動作をしている。
【0080】
以上詳細に説明したように、本発明に係る制御装置1では、次時刻ステップに持ち越される仮想物体の速度を、仮想物体の飽和前速度ベクトルとゼロベクトルの中間のベクトルとすることにより、外力によって行われた仕事が仮想物体の運動エネルギーとして保持されることを防止できるので、より安全にロボットを制御することが可能である。
【0081】
特に、仮想物体の飽和前速度ベクトルとゼロベクトルとの中間のベクトルのうち飽和後速度ベクトルに最も近いベクトルを次時刻ステップに持ち越される速度として用いることにより、高い制御性能を維持しつつ、安全にロボットを動作させることができる。
【0082】
また、制御アルゴリズムに、加速度フィードフォワードの修正、クーロン摩擦力の影響を加えることにより、ロボット20をより適切に動作させることが可能である。
【0083】
また、仮想物体は、目標位置へ収束するために設定された所定の動特性を有することとしてもよい。例えば、仮想物体の位置をp、仮想物体の速度をv、仮想物体の加速度をa、目標位置をp、目標速度をv、目標加速度をaとした場合、仮想物体の動特性は、ある正の定数H1及びH2を用いて、p−p+H1(v−v)+H2(a−a)=0、で表されることしてもよい。これにより、仮想物体の位置p、速度vを、目標位置p、目標速度vに指数関数的に収束させることができる。
【0084】
また、仮想物体は、目標速度へ収束するために設定された所定の動特性を有することとしてもよい。例えば、仮想物体の速度をv、仮想物体の加速度をa、目標速度をvとした場合、仮想物体の動特性は、ある正の定数Hを用いて、v−v+Ha=0、で表されることとしてもよい。これにより、仮想物体の速度vを目標速度vに指数関数的に収束させることができる。
【0085】
(実施の形態2)
上記実施の形態1に係る制御装置1では、ロボット20が備える1つの駆動軸を制御することとしたが、これに限られない。例えば、位置センサ19は角度センサであり、駆動部20aとして複数のモータを備える多自由度マニピュレータを制御することとしてもよい。この場合、仮想物体の挙動は作業空間で定義され、制御対象の位置制御とトルク飽和とは関節角度空間で行われる。
【0086】
より具体的には、図8(a)に示される上記実施の形態1における離散時間アルゴリズムに対して、図8(b)に示すように、作業空間(手先空間)と関節角度空間(関節空間)との間で、順運動学と逆運動学とを用いた演算処理を加える。このような多自由度マニピュレータを制御対象とする場合、仮想物体の位置ベクトルは、3次元の並進位置ベクトルと、仮想物体の姿勢を表現する3個から16個の数値の集合とからなる多次元のベクトル値として構成すればよい。ここで仮想物体の姿勢の表現としては、例えば、オイラー角、ロール・ピッチ・ヨー角、四元数、回転行列等を用いることができる。また、仮想物体の速度ベクトルは、3次元の並進速度ベクトルと、3次元の角速度ベクトルとからなる多次元のベクトル値として構成すればよい。
【0087】
これにより、制御対象が、複数の駆動軸を備える多自由度マニピュレータであっても、射影を用いて飽和時の速度ベクトル等を適切に設定することができるので、制御対象の意図しない動作を抑制し、安全に制御対象を動作させることができる。
【産業上の利用可能性】
【0088】
本発明は、外力によって駆動部の発生力が飽和する可能性があるロボットの制御を行う制御装置に好適である。特に、作業者とロボットが協調して作業を行う、重量物の組み立て工程で用いられるロボット、リハビリテーション支援ロボット等の制御装置に好適である。
【符号の説明】
【0089】
1 制御装置、10 制御ユニット、11 制御部、111 演算部、112 動作制御部、12 記憶部、13 表示部、14 入力部、18 力センサ、19 位置センサ、20 ロボット、20a 駆動部
図1
図2
図3
図4
図5
図6
図7
図8