「詳説ロボット運動学」第6.2節ハイブリッド制御の補足説明 2007.1.10
1. 位置・力のハイブリッド制御の前提
2. 変数の定義と力の釣り合い式
3. ハイブリッド制御
3.1 ハイブリッド制御1 −輪郭既知で位置と力を独立にFB制御する場合−
3.2 ハイブリッド制御2 −輪郭既知で位置FB制御と力FB+FF制御する場合−
3.3 ハイブリッド制御3 −輪郭既知で作業座標系で位置と力を分離してFB制御する場合−
3.4 ハイブリッド制御4 −輪郭既知で位置・力制御を各関節に対応させる場合−
3.5 ハイブリッド制御5 −輪郭既知で力制御のみ行う場合−
3.6 ハイブリッド制御6 −輪郭未知で力制御のみ行う場合−
3.7 ハイブリッド制御7 −速度制御・位置制御型ドライバー回路による位置・力制御−
[補1] 関節変位から輪郭接触点・撓み・接触力を決める計算
[補2] 指定の接触力で撓んで指定の輪郭上位置に接触する関節変位の計算
[補3] 関節速度からばねの撓み速度を決める計算
[補4] 力(撓み)制御系の安定性の検討
・ハイブリッド制御にもいろいろな手法がある.本書では簡単な説明しかしていないが,その具体的な手法を述べる.
1.位置・力のハイブリッド制御の前提
・制御対象:物体表面をなぞりながら,面に垂直に指定した力をロボットハンドから与える制御を考える.
・ハンドのばね性のよる力制御:ハンドと物体間にはばね性があり(手首の柔らかさ・ばね付き接触子など),力はそのばねの撓みによって与える.
ばね性はアーム長手方向・横方向にあるとし,回転の剛性は非常の大きい.
・力センサ:その撓みは手首の力センサによって計測できる.
・摩擦・外力の作用:接触子と物体輪郭の間には摩擦がない.重力や他の外力の作用はない.
・関節トルクによる力制御:関節トルクによって力を与える方式もあるが,ここでは取り扱わない.
理論的に関節トルクを換算して外部に力を与えることはできるが,実際にはDDロボットでない限り減速機の摩擦や他の機械部分の摩擦の影響で正しい力を与えることができない.
・2次元問題を例として説明する.
・ドライバー回路:3.1〜3.6ではトルク制御型ロボットアーム,3.7では速度制御型・位置制御型ロボットアームについて考える.
・力制御の特性:関節トルクによって力制御する場合,設定した力に対応する必要トルク(FFトルク)と力の誤差に比例するトルク(FBトルク)が必要である.
定常状態では
であり,FFトルクがあってとなる.
すなわち,FFトルクがないと定常偏差が生じる点で位置制御と異なる.
FFトルクなしでもこの定常偏差をなくす便法がある.1つは積分要素を使うこと,もう1つはFBゲインを大きくして実用上力誤差を小さくすることである.
・物体の輪郭:なぞる物体の輪郭は既知とする.未知の場合は3.6で説明する.
2. 変数の定義と力の釣り合い式
・接触子の位置を物体輪郭上に置き,法線方向にの力を,接線方向には0の力を手首のばね性によって与える方式を考える.
・,:物体輪郭上の接触子のあるべき位置
:面に垂直な接触力のΣB座標系表示
:面に垂直な接触力のΣH座標系表示
:手首の柔らかさによる撓み(接触子の変位)のΣH座標系表示
縮む向き,下向きを正とする.
:指定の力に対応する撓みのΣH座標系表示.指令撓み.
:手首(または接触子)のばね定数のΣH座標系表示
(回転方向には硬く,力が掛かっても傾きは生じないとする)
θn:アーム長手方向から面法線へなす角(時計回りに正)
⇒ (2−1)
φ:第2アームの傾きで,円筒座標ロボットでは回転関節角φそのものであり,SCARAロボットでは2関節角の和である.
・:指令撓み変位を関節変位に変換した値 (2−2)
:実際の撓みを関節変位に変換した値 (2−3)
SCARAロボット:
円筒座標ロボット: → 以降と表現する.
:微小関節変位から(ΣH表示)に変換するヤコビアン.関節変位があって接触子先端が動かないとしたときばねが撓むその比率.
円筒座標ロボット:, (2−4)
SCARAロボット:, (2−5)
・:ばねの撓み速度. (2−6)
力制御(撓み制御)に利用する.は位置制御・力制御の関節速度の和である.
・法線方向に,接線方向には0の力を与えるばねの撓みは
⇒ ,(2−7)
(2−8)
・力→撓み→関節微小変位と換算して,関節微小変位が上記の値となるように制御する.
・:輪郭上の指令位置
:その位置における指令した力による撓み (2−9)
:接触子先端を指令位置とする関節変位
:接触子先端の指令撓みを生じさせる関節変位.撓みが小さければ成り立つ.(2−10)
τ:モータトルク
:接触力を換算したモータトルク (2−11)
・ロボットアームの動力学式
(2−12)
重力は考えない.
・モータトルクとして位置フィードバックトルク・力フィードバックトルク・フィードフォワードトルクなどのいろいろな形で与えるいくつかの方式がある.
・フィードフォワードトルクは考えない.以下の項では適宜説明するにとどめる.
3.ハイブリッド制御
3.1 ハイブリッド制御1
−輪郭既知で位置と力(撓み)を独立にフィードバック制御する場合−
・図2のように位置・力の各PID制御系は独立に構成する.
・制御対象は4つ(位置・力各2成分),制御変数は2つであるから正しい制御はできないが,近似的に制御できる条件を後で考える.
・それぞれのゲインはモータ・ドライバー・減速機の特性を含み,制御系の出力は関節トルクであるとする.
・:輪郭追従の指令値
:輪郭曲線を変換した関節変位(大変位)
:関節変位の実際値(大変位)
:各位置における指令値としての撓み.位置によって変わる.
:指令撓みを変換した指令関節変位(微小変位)
:測定された撓みを変換した関節変位(微小変位) (3−1−1)
,:位置誤差,撓み誤差の関節変位表現 (3−1−2)
・モータ駆動トルクとロボットの動力学方程式は
(3―1−3)
(3−1−4)
・定常状態(釣り合い状態)では
(3−1−5)
(3−1−6)
・でなくても釣り合い,位置・力が指令値通りにならない.
・撓みを生じさせる関節変位が十分な精度で指令関節変位に近い値となるためには
(3−1−7)
すなわち撓み制御系のゲインと位置制御系のゲインによる先端位置換算のサーボ剛性がばね定数より十分大きい必要がある.
例えば,接触力を1%以下の誤差とするにはをばね定数の100倍大きくしなければならない.
・減速比1:uの減速機を使う場合,制御系のサーボ剛性は関節変位に換算して倍になる(厳密に言えば関節1,2の先端換算サーボ剛性は,,これらが直列に連結しているので,合成の先端サーボ剛性はである).
・センサや手首のばね性を含めてロボットメカニズムの剛性は通常サーボ剛性の換算値より小さい.
・すなわち上記の条件は実用上可能であり,多くの場合この方式で行っている.
3.2 ハイブリッド制御2
−輪郭既知で位置・力(撓み)フィードバック+フィードフォワード制御する場合−
・力制御の偏差をなくすために必要な力に相当する関節トルクを加算する方式である.
・この場合も制御対象は4つ,制御変数は2つであるから,正しい制御はできない.
・モータ駆動トルクとロボットの動力学方程式は
(3−2−1)
, (3−2−2)
(3−2−3)
・定常状態(釣り合い状態)では
(3−2−4)
(3−2−5)
・が十分な精度でに近い値となるためには
(3−2−6)
すなわち力(撓み)制御系のゲインが位置制御系のゲインより十分大きい必要がある.
・これは3.1より条件が緩く,実用上可能である.ただしFFトルクが必要な場合は少ない.
3.3 ハイブリッド制御3
−輪郭既知で作業座標系で位置と力を分離してフィ−ドバック制御する場合−
・作業座標系では輪郭に沿う方向に動いて力は0,法線方向には運動せずに指定の力(撓み)とする.
・作業座標系を(X,Y)空間でなく,ΣB座標系とする(図1参照).
・輪郭上の移動量の指令値を,実際値をとする.この移動量から接触位置の指令値・実際値が計算できる(本ホームページ「詳説ロボットの運動学」第6.1節ロボットの線形制御への補足説明参照).
・t方向に指令値となるようにフィードバック制御する.その誤差修正のための力はとして
(3−3−1)
・n方向の力はばね撓みから分かる.
(3−3−2)
・力の誤差を法線方向の撓み誤差に直し,その誤差修正のためのn方向の力を求める.
・撓み誤差 (3−3−3)
・誤差修正力は
(3−3−4)
・作業空間上の修正フィードバック力を関節トルクに変換してモータに与える.
(3−3−5)
・は関節速度からΣB座標系の速度への変換行列(ヤコビアン)で
円筒座標ロボット: (3−3−6)
SCARAロボット: (3−3−7)
・モータ駆動トルクとロボットの動力学方程式は
(3−3−8)
(3−3−9)
・,はスカラー量である.
・FFトルクも与えたとして,定常状態では接触子は輪郭線上にあり,法線力も指令の力となっている.輪郭線上では撓みがないとすれば接線方向の位置も指令位置と同じあるが,撓みがあればその分だけずれる.位置制御は関節変位を観測して行うので撓みによるずれは修正されない.また撓みの制御は法線方向のmであるから当然接線方向の撓みによるずれは,力制御(撓み制御)では修正されない.
・接線方向移動量に法線力による接線方向の撓みの理論値を加算して指令値とすれば誤差は小さくなる.
・このハイブリッド制御で,接線方向に力を与えると手首のばねが撓んでずれが生じ,その撓みに相当する反力がある.しかしロボットの姿勢は変わらない.
3.4 ハイブリッド制御4
−輪郭既知で位置・力(撓み)制御を各関節に対応させる場合−
・例えば第1関節変位を輪郭線上の位置sの制御に,第2関節を法線力制御に利用する方法である.
・フィードバックトルクにフィードフォワードトルクを加算して
(3−4−1)
(3−4−2)
とする.
・,はスカラー量である.
・の指令値は,位置に対応する関節変位であり,それとの差を誤差としてフィードバックする..
(3−4−3)
・の指令値は,位置の対応する変位と力に対応する関節変位との和とし,実際の撓みに相当する関節変位との差を誤差としてフィードバックする(接線力は制御しない).
指令値の撓み: (3−4−4)
指令値の撓みに相当する関節変位: (3−4−5)
実際の撓み:(そのときの法線力:)(3−4−6)
撓みの差: (3−4−7)
撓み誤差に対応する関節変位: (3−4−8)
・定常状態では
(3−4−9)
(3−4−10)
・ならば近似的に指令の位置で指令の法線力となる.
・また関節力をFFする必要はない.
・このハイブリッド4制御法は,このままでは適用できない場合がある.
・それはだけでは軌道を進めることができない状態,またはだけでは法線力を制御できない状態にある場合である.
・例えば円筒座標ロボットのアームが円輪郭の接線上にあるときはアームを伸縮させても法線方向の力制御ができない.
・この特異状態を避けるために,「φ1を位置制御,φ2を力制御」と固定せず,特異状態に近くなったとき「φ1を力制御,φ2を位置制御」と入れ替えるとよい.
・もっと幅を広くして,例えば円筒座標ロボットでは,アームが円輪郭接線となす角abs(θn)<45゜ならばφ2(アーム伸縮)を,abs(θn)>45゜ならばφ1(アーム回転)を力制御に利用すればよい.
3.5 ハイブリッド制御5 −輪郭既知で力(撓み)制御のみ行う場合−
・法線方向に,接線方向に0の力を与える力制御をする.
・これはハイブリッド制御でなく力制御である.
・ただし,法線・接線方向を既知とする.すなわち輪郭軌道は既知とする.
・関節駆動トルクは
(3−5−1)
(3−5−2)
(3−5−3)
・定常状態ではであり,正確に力制御されている.
・ならば,FFトルクは必要ない.
・輪郭をなぞりながら力制御するには少し移動→力制御という操作が必要である.すなわち,初めにを輪郭軌道の始点付近に置き,その状態から力制御(撓み制御)する.その状態からを少し動かしてその位置で力制御する.この操作を次々と続ける.
3.6 ハイブリッド制御6 −輪郭未知で力制御のみ行う場合−
・フィードバック制御システムは3.5輪郭既知の場合と同じである.
・物体輪郭は未知なので,初めに物体の探索をしなければならない.すなわち手探りで物体に接触するまでアームを動かす.接触の有無は手首の力センサ(ばねの撓み)で分かる.
・接触後の操作は
(1)接触力の法線方向・接線方向をセンサによって計測・計算する.
(2)法線力を指令の力となるように制御する.
(3)接線方向にわずか動かして(1)に戻る.
3.7 ハイブリッド制御7 −速度制御型・位置制御型ドライバー回路による位置・力制御−
・速度制御型・位置制御型ドライバーを持つロボットに共通の特性は下記の通りである.
1.制御式は動力学式でなく,運動学式で表現される.
2.また高速運動で速度の急激な変化(過大な加速度)には追従できない.
3.力制御ができないので,ハンドまたはエンドエフェクタ(接触子)には柔らかさを持たせ,そのばねの撓みによって力を発生させ制御する方法が必要である.
4.基本的には位置と力に対応する撓み量だけの位置ずれの和を制御によって実現すればよい.ただし撓み量は,たとえ接触力が一定でも,接触角が変化し,また物体の設置誤差があることにより,状況に応じて変化する.
5.接触力の対応するFFトルクは必要がない.
6.3.1〜3.6のハイブリッド制御方式は(FFトルクを除いて),全て速度制御型ドライバーを持つシステムに適用できる.
(1)速度制御型ドライバーを持つロボット
・速度制御型ドライバー回路によるモータ制御ではモータの負荷トルクに関係なく,入力信号に比例する回転速度を出せるようになっている.
・速度入力に対する応答速度の遅れは無視する.
・これらの特性を保証するために,ドライバーのカタログには負荷トルクや慣性モーメントなどの限界が記載されている.
・制御系の方程式は,各関節が独立なので
(i=1,2) (3−7−1)
・定常状態では偏差のない位置制御ができている.
(2)位置制御型ドライバーを持つロボット
・位置制御型ドライバーは位置指令に対して応答は近似的に1次遅れで表される.
・位置に関する制御はドライバーでFBが構成されているので,ハイブリッド系ではFBブロックを構成する必要がない.
・力に関する制御は,力に対応する必要撓みを指令位置に加算し,ドライバーに任せればよい.
・制御系の方程式は,各関節が独立なので
(i=1,2) (3−7−1)
・定常状態では偏差のない位置制御ができている.
[補1]関節変位から輪郭接触点と撓み・接触力を決める計算(関数caldeflect( ))
・物体がないとき,関節変位を与えると接触子先端位置が順運動学により決定できる.
(補1−1)
・が物体内部にあれば手首のばねが撓んで接触し,外部なら接触しない.
・が物体内部にある条件は,とすると
(補1−2)
ただし,とも輪郭曲線に近いとする.
・近似的に図補1のPが輪郭線上にあるとして,θnを求めると
, (補1−3)
はP付近の輪郭法線の傾きである.
・接触すれば接触力は輪郭の法線方向に作用し,P点が輪郭に乗るまでだけ法線方向に縮まり,接線方向にはだけ移動するが,その量はばね定数に依存する.
・は図補2を参照して
, または
・法線方向撓みから接触力(法線力)が以下のように決まる.
・接線方向の力を0とすると各ばねの撓みは
, (補1−9)
・法線方向の力が与えられれば各撓みは
(補1−10)
(補1−11)
・が分かっているからは(補1−10)式より
∴ (補1−12)
・接線方向撓みは
(補1−13)
・各ばねの撓みは
(補1−14)
(補1−15)
・すなわち関節変位が与えられれば,位置関係からが決まり,ばねの強さからが決まる.
[補2]指定の接触力で撓み指定の輪郭上位置に接触する関節変位の計算(関数calcpnt( ))
・接触子先端が輪郭上の指定位置Rにありかつ指定の接触力Fnとなるような関節変位を求める.
・図を参照して
(補2−1)
・ただし
, (補2−2)
・撓みの成分は(補1−10),(補1−11)のように,Fnが与えられると
(補2−3)
(補2−4)
・となる関節変位を逆運動学式によって求めればよい.
(補2―5)
・別の関節変位の求め方として,指定位置を与える関節変位をに撓みに相当する関節変位を加算したものをと考える.
・縦横ばねの撓みは(補1−9)のように
, , (補2−6)
・ばね撓みの関節変位換算値は
(補2−7)
・は微小関節変位とばね撓みの換算のヤコビアンで(2−4),(2−5)式より
円筒座標ロボット:, (補2−8)
SCARAロボット:, (補2−9)
・指定位置で接触力Fnとする関節変位の近似値は
(補2−10)
(補2―11)
[補3]関節速度からばねの撓み速度を決める計算
・関節速度を与えると輪郭に接触していないときの接触子先端の速度が決まる.
(補3−1)
・微小時間の間に動く先端の微小変位量を改めてとする.
(補3−2)
・図補3のように,接触子先端の動く前の位置をS,輪郭がないときの移動後の位置をP,輪郭上を動いて後の位置をRとする.PRが移動によるばねの新たな撓みである.
・図において
, (補3−3)
, (補3−4)
, (補3−5)
(補3−6)
(補3−7)
・従って,関節速度と各ばねの撓み速度の関係は以下の順に求められる.
, (補3−8)
(補3−9)
(補3−10)
は(2−4),(2−5)式にある.
・との関係を表すと
, (補3−11)
(補3−12)
(補3−13)
・速度の関係は撓みの速度フィードバックに,または微小関節変位の撓み換算に利用する.
[補4]力(撓み)制御系の安定性の検討(トルク制御型ドライバーの場合)
・図補4のブロック線図において各ブロックの伝達関数(変換関数)は以下のようになる.
・関節変位は撓みδ=0で接触子先端が輪郭に接触している状態を0とする.
・:ばね撓みδに相当する先端変位を与える微小関節変位の関係
・目標関節変位はである.
・PID制御: (補4−1)
(補4−2)
(補4−3)
は線形化したモータ+アームの慣性モーメントで,2つの系の特性は同じものとする.
・ロボット(1):, (補4−4)
ロボットの動特性を線形化して単に慣性項のみを考える.
・ロボット(2):, (補4−5)
はδ=0の接触点からのずれである.
・ばね:, (補4−6)
(補4−7)
(補4−8)
(補4−9)
∴ , (補4−10)
・入出力関係は
, (補4−11)
(補4−12)
(補4−13)
(補4−14)
・安定条件は
(補4−15)
の特性根が実部が負であることである.
(補4−16)
(補4−17)
と置くと上式は
(補4−18)
・Hurwitzの安定判別によれば
(補4−19)
(補4−20)
が安定条件である.
・第1式は常に満足するが,第2式ではAが小さいと不安定となる恐れがある.
AはJ,θが含まれ,ロボットの形態によって変わる.すなわち運動中のサーボ剛性や減衰比が大きく変わる可能性がある.