Upgrade to Pro — share decks privately, control downloads, hide ads and more …

22_0910 非平滑力学へのお誘い

Ryo Kikuuwe
September 09, 2022

22_0910 非平滑力学へのお誘い

2022年09月10日(土)のヒューマノイド・ロボティクス2022夏の学校における発表資料.
https://sig.rsj-web.org/humanoidrobotics/sshr2022.html

Ryo Kikuuwe

September 09, 2022
Tweet

More Decks by Ryo Kikuuwe

Other Decks in Technology

Transcript

  1. 3  機械システムに関する 「制御」と「計算」  上記に共通する数学的 基盤についても研究  多くのテーマが「非平滑シス テム」に関連

     クーロン摩擦  片側拘束  スライディングモード  油圧システム 研究テーマ 研究テーマ
  2. 7 本日の内容 本日の内容  [0] はじめに  [1] 集合値関数と代数ループ 

    [2] 微分包含式の解とその数値計算  [3] 様々なダイナミクスの記述  [4] 制御則としての利用  [5] まとめと未解決問題  私の研究スタイルは,実装先行,理論後追い型です.  数学的理解が曖昧な所も結構あるのでご容赦ください.
  3. 9 個人的な動機:自動車産業から 個人的な動機:自動車産業から  【ニーズ】 重量物の精密位置決め 作業をアシストするロボットが欲しい.  【課題】 どのように反力を与えると

    位置決め効率がアップするか?  【アイデア】 ロボットで擬似的なクーロン摩擦力を発 生すればよいのでは?  【問題】 制御でクーロン摩擦力を作るのが難しい.  ⇒ 不連続性の数学的取り扱いに興味が移る. (2003年)
  4. 10 クーロン摩擦の「微分包含式」表現 クーロン摩擦の「微分包含式」表現 速度 v 摩擦力 f 外力 fe 

    動摩擦では速度と反対向き  静止摩擦状態では外力と釣り合う ただし  上式の解析解: v = 0 かつ |fe | < F のとき, v = 0 が維持されるように左辺が選択される. (「スライディングモード」という状態)  物理的にスライドしていない状態(静止摩擦状態)が, 数学的には「スライディングモード」!
  5. 11 非平滑力学とは 非平滑力学とは  状態方程式が非平滑な(=右辺が微分できない関数で表 される)力学系を扱うための理論体系.  微分包含式を用いて表されることが多い.  自然現象や実現したいダイナミクスを数式で記述する際の

    表現の幅が広がる.  離散時間領域で書かれたアルゴリズムが連続時間領域で も表現できるようになる.  数式の見通しがよくなって思考がスッキリする. 非平滑力学のうれしさ 非平滑力学のうれしさ  結局は,思考のためのツール.  工学的成果物である制御則や計算アルゴリズムにそのまま入 る訳ではない.(別にこれを使わなくても同じものができてしまう かもしれない.)
  6. 13 微分包含式と集合値関数 微分包含式と集合値関数  微分包含式は,右辺が集合になりえる微分方程式  集合値関数: 返り値が集合になりえる関数  この分野で通常扱うのは,ほとんど至るところで単値を返し,

    不連続なところでギャップを埋める凸集合を返すような関数.  不連続な単値関数 f(x) と集合値関数 F(x) の関係は下記: cl: closure co: convex hull (凸包) B: closed unit ball (閉単位球)  F(x)が集合値になるところに状態変数 x がトラップされた 状況を「スライディングモード」と呼ぶ.
  7. 14 補足:「ほとんど至るところで」 補足:「ほとんど至るところで」  れっきとした数学用語  英語でいうと,Almost everywhere  「測度零の部分集合を除いて」という意味.

     (線上では)いくつかの点を除いて至るところで  (面上では)いくつかの線や点を除いて至るところで  (時間軸上では)いくつかの瞬間を除いて常に ・・・という意味
  8. 15 集合値関数( 集合値関数(set-valued functions set-valued functions) )  符号関数(set-valued signum

    function)  法錐(normal cone)  私は下記のようなのも勝手に定義して使っています. S 1 -1  法錐は符号関数の逆関数 (ダイオード関数) S Int: 内部 S は閉集合 (一般化符号関数)
  9. 16 表記についての注意 表記についての注意  「単一の値」を「集合」の特殊ケースと見なした表記:  定義域と値域を明確にする宣言の書き方:  「関数 を下記のように定義する:」

     「関数 を下記のように定義する:」,など シングルトン=単一の要素からなる集合 2S: S の冪集合(S の全ての部分集合の集合)  「シングルトン」と「単一の値」を区別した表記:  この表記は誤り! 菊植の過去の論文は この誤った表記を使っています. (すみません)
  10. 18 多次元の符号関数 多次元の符号関数 @:劣微分(subdifferential)    のベクトル場と の等高線    のベクトル場と の等高線

     sgn2(x)は原点で集合値  sgn1(x)は軸上で集合値  方向ベクトルを出力する関数 (平面上のクーロン摩擦力の表現など)  成分ごとに符号を取る関数 (関節空間での摩擦力の表現など)
  11. 19  が集合 の表面 ⇒ 法錐は法線ベクトルの集合  が集合 の内部 ⇒

    法錐はゼロベクトル  が集合 の外部 ⇒ 法錐は空集合 多次元の法錐(本来の定義) 多次元の法錐(本来の定義)  集合の「法線」の概念の拡張  凸集合 の点 x におけるメトリック U での法錐: U は正定対称行列. U = I のとき,U は省略.
  12. 21 法錐と「代数ループ」 法錐と「代数ループ」 y O 凸集合 u  「ベクトル  

    は に直交」  「点y は点 u の への射影」 ・・・単値関数!  集合値関数の内外に未知数がある代数包含式は 単値関数を用いて書き換えが可能  つまり,集合値性は適切な代数ループによって除去可能
  13. 22 (単位飽和関数) 法錐と「代数ループ」(一次元版) 法錐と「代数ループ」(一次元版) [Kikuuwe et al., 2006; IEEE-TRO] [Kikuuwe

    & Fujimoto, 2006; ICRA]  符号関数の内外に未知数がある代数包含式は, 飽和関数を用いて書き換えが可能  つまり,適切な代数ループによって符号関数は 飽和関数に置き換えられる.
  14. 24 多くの連立不等式が代数 多くの連立不等式が代数包含式で表せる 包含式で表せる  例1:線形相補性問題(LCP) P 代数包含式表現 不等式表現 

    Aが正定対称行列なら,解析解が導ける.  そうでなくても,収束計算で解ける (Projected Gauss-Seidel法)  法錘⇔射影変換から,これらの表現が(直感的に)導ける. =対角+下三角+上三角
  15. 25 多くの連立不等式が代数 多くの連立不等式が代数包含式で表せる 包含式で表せる  例2:変分不等式問題 収束計算のアルゴリズム (c: 小さい正の実数) F

    がmonotoneかつリプシッツなら, 十分に小さいcで上記は収束. (Banachの不動点定理) [Acary & Brogliato 2008; Sec.12.6.7]参照 代数包含式表現 不等式表現  法錘を用いた表現から,収束計算のアルゴリズムが導ける.
  16. 28 微分包含式 微分包含式  微分包含式:右辺が集合値  左辺値はどのように「選択」される? ただし  xが時刻

    t に対して絶対連続であるという制限下で, 多くの場合,x(t) は一意に決まる.  上記の例では,x=0 のとき,x=0が維持されるように 集合内の値が選択される.(「スライディングモード」) ( リプシッツ ⊂ 絶対連続 ⊂ 一様連続 )
  17. 29 微分包含式の解:定義 微分包含式の解:定義  ほとんどすべての t で式(1)を満たす時間関数 x を式(1)の Caratheodory解と呼ぶ.

     関数 f が不連続なら式(1)はCaratheodory解を持たない.  不連続性を集合値性で「埋めた」関数 F を用いた新たな式 (2)を考えると,式(2)はCaratheodory解を持ち得る.  式(2)のCaratheodory解を式(1)のFilippov解と呼ぶ.  より丁寧に と書くこともある. (1) (2) a.e. = almost everywhere in time [Cortes, 2008]
  18. 30 微分包含式の解:存在性と一意性 微分包含式の解:存在性と一意性  解が存在する条件  解が一意に存在する条件 [Smirnov 2002; Theorem

    4.7] [Acary & Brogliato 2008; Theorem 2.41]  「存在性」のためには, 右辺の「外半連続性」が 重要.  「一意性」のためには, 右辺のマイナスの 「最大単調性」が重要. 外半連続 =「そこの値 ⊃ 極限」 = いきなり縮まない 最大単調 =単調増加&埋まってる 最大単調なら外半連続 (最近は?) outer semi-continuous とも言う. (4.19) (2.48) (2.48), (4.19) [Aubin & Cellina 1984; Chapter 3]にも同様の記載.
  19. 31 補足:半連続性( 補足:半連続性(semicontinuity semicontinuity) )  ザックリ言うと・・・  上半連続: そこの値 そこへの極限 

     下半連続: そこの値 そこへの極限  外半連続: そこの値  そこへの極限  内半連続: そこの値 そこへの極限  {上|下}半連続性(狭義)は,順序集合 において定義される.  {外|内}半連続性は,半順序集合      における広義の{上|下} 半連続性. [Hiriart-Urruty & Lemaréchal, 2001; p.13-14] [Cortes, 2008; p.49]
  20. 32 微分包含式の解の性質 微分包含式の解の性質  x = 0 のとき,それの維持のために必要な値がsgn部の 集合の範囲内で(自動的に)選ばれる. 

    x = 0 かつ |u| < 1 のとき,x は u の影響を受けない.  これが「スライディングモード」という状態.  「無限に高速な切替が起こっている」という解釈もできなくはない.  数値計算では再現しにくい. u x 1 0 0
  21. 34 微分包含式の数値解法 微分包含式の数値解法  前進(陽的)オイラー法  左辺によって右辺を決定:  後退(陰的)オイラー法: 

    左辺と右辺の辻褄があうように xk を決定  例: (代数ループが出来ている) :不感帯関数 「チャタリング」 が発生
  22. 35 微分包含式の数値解法(一般的な場合) 微分包含式の数値解法(一般的な場合)  集合値関数       が最大単調であれば, は全域単値関数となる.  微分包含式の解の一意性の十分条件とほぼ一致. 

    代数ループを作っていることに等しいので,法錘・射影(符 号・飽和)の関係式で変形できることが多い.  微分包含式は,多くの場合,後退オイラー法などの 陰的積分法で数値的に時間積分できる.  その際,代数包含式の解析解または数値解が必要. (連続時間表現) 後退オイラー法による 離散時間表現
  23. 36 「微分包含式の解」についてのまとめ 「微分包含式の解」についてのまとめ  微分包含式の解の定義,存在性,一意性  右辺の外半連続性と単調性が重要. u x 1

    0 0  陰的積分法(後退オイラー法)によって数値積分 できる.  陽的積分法(前進オイラー法)だとチャタリングが発生  後退オイラー法が「代数ループ」を作ることに相当する.  代数包含式の解析解または数値解が必要. t t  微分包含式の解の性質  スライディングモードにおいて は,外乱などの影響を受け 無くなる.
  24. 38 摩擦 摩擦 片側拘束 片側拘束 速度 v 摩擦力 f 外力

    fe 位置 p 接触力 f 外力 fe あるいは あるいは  法錐を用いて表現できる ⇒ 後退オイラー法で射影(飽和)に変換できる.
  25. 39 摩擦あり片側拘束 摩擦あり片側拘束  集合値関数を用いて表せる. x z y 0 

    後退オイラー法で数値積分可能  Mがスカラーの場合は上記のように解析解が得られる.  しかし,Mが行列のときには上式の変形ができない.  たとえば,多リンク系の先端が平面と摩擦接触する場合など 接触力 f 手計算!
  26. 40 摩擦あり片側拘束: 摩擦あり片側拘束: LCP LCPでの表現 での表現  符号関数は,相補性問題風に表現できる.  摩擦円錐を角錐で近似すると上記の考え方を適用できる.

     離散化した運動方程式と上記を連立すると,LCPになって解ける.  (慣性が行列であっても大丈夫.) [Stewart & Trinkle;1996] x z y 0
  27. 41 摩擦あり片側拘束: 法錘を用いた 摩擦あり片側拘束: 法錘を用いた表現 表現  特異なメトリック行列を導入することで,摩擦接触を法錘を 用いて表現できるようになる. 

    円錐を多角錘に近似する必要がない. 動摩擦   静止摩擦   非接触 F v ¸ p F F v p ¸ ¸ v p ただし [Kikuuwe & Brogliato, 2017] 逆関数 ¸ x z F y 0
  28. 42 さまざまな拘束がある剛体系の一般 さまざまな拘束がある剛体系の一般表現 表現 [Kikuuwe & Brogliato, 2017]  両側拘束:

     片側拘束:  クーロン摩擦:  摩擦接触:  複数の摩擦接触: F:許容される拘束力の集合  法錘を用いて,有界な拘束力が働く機械システ ムを統一的に表現できる.
  29. 46 衝突と撃力について 衝突と撃力について  Measure Differential Inclusions (MDI; 測度微分包含式)という ものを使って表現するらしいです.(すみません.よく知りません.)

     衝突では速度が不連続に変わるので, 絶対連続な解を持つ普通の微分包含 式では厳密には表せない. 位置 p 接触力 (撃力) 外力 fe 衝突時の撃力が不定. そのまま後退オイラー法で離散化すると, 完全非弾性衝突になる. 衝突係数 e を明示 して撃力を確定する 測度微分包含式 上記と(ほぼ?)等価            を明示的に禁じる表現 衝突後の速度が不定 : 接錐(tangent cone) , [Acary & Brogliato, 2008] [Brogliato, 2016] S
  30. 48 非平滑システムの安定性解析 非平滑システムの安定性解析  非平滑なリアプノフ関数が必要な場合がある.  その他,便利な定理  下記のようなシステムで,システムP が受動的であれば,

    閉ループ系は漸近安定. P  P が運よく受動的であるとは限らない.  [Kikuuwe 2019; TRO] のアドミッタンス制御 器の証明は,たまたまうまく書けた.  システム:  非平滑リアプノフ関数:  その時間微分は普通に考えると ⇒ [Bacciotti & Ceragioli, 1999] [Kikuuwe et al. 2015; TCST] 両方とも集合  漸近安定性を示すためには,これを 使うと,スライディングモードの内外 の挙動を統一的に解析できて便利. [Kikuuwe 2019; TRO]
  31. 49 「ダイナミクスの記述」についてのまとめ 「ダイナミクスの記述」についてのまとめ  様々な動的システムを微分包含式を用いて記述 できる.  剛体接触,摩擦接触,油圧システム,スライディング モード系 

    後退オイラー法で時間積分(シミュレーション)が できる.  現実に存在しない「理想的なスライディングモード系」 のシミュレーションもできる.  ダイナミクスを法錘で記述すると,時間積分(シ ミュレーション)のためのアルゴリズムに変換する 際の見通しが立てやすくなる.  アルゴリズムは射影を用いて構築できることが多い.
  32. 53 例:アドミッタンス制御 例:アドミッタンス制御  非平滑代数ループと後退オイラー法で,仮想クーロン摩擦, 速度制限,トルク制限などを表現  後退オイラー法で実装 外 界

    現在 位置 接触力 指令 速度 位置 制御器 トルク 指令 仮想物体 (慣性・粘性) 外力 + + + - R 指令 位置 仮想クーロン摩擦 速度制限 トルク制限 [Kikuuwe 2019; TRO] (位置制御ベースの力制御)
  33. 54 PSMF 例:スライディングモード・オブザーバ 例:スライディングモード・オブザーバ 制御 器 フィルタ済み 信号 y センサ

    信号 u  例えば「放物線型スライディングモード・フィルタ(PSMF)」 [Jin et al., 2012; AR] [Kikuuwe et al., 2015; TCST] 制御 対象  同等のノイズ除去性能を持つ線形フィルタと比べて,位相進みが 小さいという利点がある.(なぜそうなるかは未解明)  力制御における力センサ信号のフィルタリングに便利. この中で陰的積分 where
  34. 55 制御則の中で代数ループが閉じない場合 制御則の中で代数ループが閉じない場合  つまり,集合値関数を含むループが実 世界に露出している場合  このまま実装するとチャタリングが発生. 制御対象 

    集合値性を陽に意識した手法は下記の2つ:  滑らかな関数で近似するのが,古典的 なアプローチ  いわゆる,「境界層」アプローチ  「陰的実装法」(Brogliatoら)  制御対象のノミナルモデルで代数ループを作る  「微分代数緩和」(Kikuuweら)  PID制御器で代数ループを作る
  35. 56 陰的実装法 陰的実装法  ノミナルモデルで代数ループを作る  「ノミナルモデルで1ステップ未来を予測 する式」と「非平滑制御則」で代数ルー プを作り,陰的積分法で実装. 

    「二重陰的実装」  非平滑な制御則を非平滑な制御対象(油 圧アクチュエータ)に,ノミナルモデルを介し て後退オイラー法で実装.  ⇒ 油圧ショベルの旋回軸に実装 制御対象 モデル モデルの状態変数を,毎ステップ, センサ測定値でリセット [Acary, Brogliato, & Orlov, 2012] [Huber, Acary, Brogliato, & Plestan, 2016] [Brogliato & Polyakov, 2021; IJRNC] [Yamamoto et al.; 2021; IEEE Access] [Kikuuwe, Brogliato & Yamamoto, 2022; TAC]
  36. 57 微分代数緩和 微分代数緩和  高ゲインのPID制御則(など)で 代数ループを作る.  質量零の仮想物体を介して非平滑 な制御を施している状況,と解釈で きることもある.

     クーロン摩擦力の力覚 提示 PID制御則の 伝達関数の逆数 [Kikuuwe et al., 2005, IROS] [Kikuuwe et al., 2006; IEEE-TRO] [Kikuuwe et al., 2006, ICRA] [Kikuuwe et al., 2010; IEEE-TRO] PID制御則 制御対象 制御対象 仮想摩擦力 f  「プロクシベースト・スラ イディングモード制御」 (PSMC)
  37. 58 ちなみに,下記の ちなみに,下記の2 2つは等価 つは等価  非平滑代数ループで(ローパスフィルタ付きの)トルク制限 をかけたPID制御器 position +

    + + - position + +  微分代数緩和を施したスライディングモード制御器 (PSMC) ¿ p pd + ¿ p pd + - + [Kikuuwe et al. 2010; TRO]
  38. 59 「制御則としての利用」についてのまとめ 「制御則としての利用」についてのまとめ  代数ループが制御則の中で閉じて いるか否かに注意   閉じている場合: 後退オイラー法 で法錘・射影(or符号・飽和)変換

    して実装.   閉じていない場合: 「陰的実装 法」または「微分代数緩和」で制御 則自体を改変して実装.  陰的実装法:ノミナルモデルを使う.  微分代数緩和:PID制御を使う. 制御対象 制御対象
  39. 61 まとめ まとめ  [1] 集合値関数と代数ループ  「法錘」と,代数ループによる「射影」への変換  [2]

    微分包含式の解とその数値計算  後退オイラー法(陰的積分法)で積分が可能  [3] 様々なダイナミクスの記述  剛体間の摩擦接触,油圧システム,スライディングモード  [4] 制御則としての利用  制御則の中で代数ループが閉じていれば,陰的積分法が使える.  陰的実装法:ノミナルモデルを使う  微分代数緩和:PID制御と連立させる
  40. 62 未解決問題(現在私が悩んでいる問題) 未解決問題(現在私が悩んでいる問題)  中岡さんの「拡張Projectedガウスサイデル」と法錘表現と の関係.  状態量の微分をスライディング面の定義に含むスライディ ングモード制御のような制御則 

    微分代数緩和だと実装できてしまう(しかも,結構便利).  これは,制御理論的に,一体何なの?  「スライディングモード」の概念の拡張が必要か?  「スライディングモード微分器」や「スライディングモードフィ ルタ」のノイズ除去特性をどうやって定式化するか?