2/23 Straight leg(1)


[1]を検討する.

まっすぐな脚つま先使って二足歩行ロボットで自然で効率的な歩容を達成するためのアプローチを提示する.  全身コントローラーが実行時に可能な限りまっすぐな脚の構成を決定することを可能にすることによって複雑な高さ計画を避ける. コントローラの解決策は, 他の二次計画運動目標の零空間に脚関節角度目標を投影することによって, 直線脚構成に向かって偏っている.  足が歩容全体にわたって真っ直ぐであることを可能にするために, 足の運動学的な到達可能性を高めるためにつま先を利用した.  つま先の動きは足の位置をunderconstraining(過少拘束?)することによって達成され, それが自然に現れることを可能にする.

Ⅰ. INTRODUCTION
いくつかの例外を除いて, ほぼすべての2足歩行ロボットの歩行歩容は, 非常に曲がった膝を使用し, ほぼ「しゃがんだ」動作で歩行する.  これは非常に不自然であるだけでなく, 人間と比較して膝での電力消費量の大幅な増加をもたす. これに反して, 受動的 – 動的歩行者は, 歩行の自然なダイナミクスのみを使用することに頼り, まっすぐな脚で歩くという基本的な特徴を持つ.  これは, はるかに少ないトルクを必要とし, そしてスイングレッグが二重振り子のように振る舞うことを可能にし, 精力的な利益を提供する.  まっすぐな脚で歩くと, ロボットの全体的な地上高も大きくなり, より大きな物体を乗り越えて衝突を回避できるだけでなく, 同じ歩行速度に必要な可動範囲とアクチュエータ速度も減少する.  このまっすぐな足の歩き方を達成するために歩行の自然なダイナミクスを利用するための方法は, これらの利点が能動的に動力を与えられたロボットによって実現されることを可能にするために必要である. コントロールの観点からは, まっすぐな足で歩くことは大きな課題を投げかける.  第一に, 高さの変動を許容することによって, 線形倒立振子(LIP)のようないくつかのモデルは, 重心(CoM)が一定の高さで平面を通って動いていると仮定するので精度を失う. 第二に, ロボットの脚が完全に真っ直ぐになると, 地面の反力は主に重力ベクトル足首トルクに依存し, 膝からの制御権が効果的に取り除かれる.  最後に, まっすぐにされた足は, 逆運動学および逆動力学に基づくアプローチによって使用されるヤコビアンにおける特異点を導入する. ステップ調整や角運動量など, より優れた制御権限を提供し, ヤコビアン特異点を処理するメカニズムがあるが, 最大の課題は, 現在の非線形ダイナミクスから来ている.  これらは, 事前定義された高さの軌跡を使用して線形的に解くことができ, 次に標準のゼロモーメント点(ZMP)[234]またはDivergent Componet of Motion(DCM)[56]アプローチを使用して制御できる. また, 高さ制御は, 平面コントローラの頑健性に依存して, 平面制御から切り離すことができる. しかし, まっすぐな足で歩くには, どちらのアプローチも適切な高さ軌道を計算するための複雑なアプローチを必要とする. いくつかの研究がこの複雑な計画問題に対処しようとしている.  一般的な目的は, 運動学や重心のダイナミクスに違反することなく, ロボットの脚ができるだけまっすぐになるような軌道を設計することである. [7]では, ZMPのモデル予測制御(MPC)を使用して水平軌道を生成した後に, CoMの高さを計算するために脚をスプリングダンパーとしてモデル化することによって, 直線膝軌道を生成するアプローチを示した. あるいは, [8]は線形differntial inclusionを使用してこれらの高さ軌跡をMPCに直接組み込んだ結果, CoMの比較的自然な周期的運動をもたらした. [9]では, ZMPベースの2次計画法にCoMの高さも含めたが, 結果として生じる問題の2次制約を解決するために逐次2次計画法を必要とした. すべての場合において, 計画後, [10]で提案されているように, モーメントベースの制御フレームワークで目的のCoM軌道を追跡できる. ここでは, まっすぐな足で歩くために複雑なCoMの高さ計画を使用する代わりに, 全身制御フレームワーク(所望の運動タスクのセットを与えられたトルクを生成する能力をもつ[11])に頼る新しいアプローチを提案する. 目標CoMの高さを設定するのではなく, 全身コントローラーのソリューションをできるだけ脚を真っ直ぐにするソリューションに偏らせることで, 脚を真っ直ぐにするという目的に直接対処することを提案する.  [12]で述べられているように, 全身コントローラは, 実行時にシステムに対する運動学的および動的な制約を解決できます. これを達成するために, 垂直方向に所望の力を指定しないことによって全身コントローラを過小拘束することを提案する. その代わりに, 他の目的の零空間に望みの真っすぐな脚の動きを投影することができる. 指定されたCoMの高さの軌跡を達成しようとするのとは対照的に, ロボットはそのとき任意の望ましい動きのためにその脚を可能な限りまっすぐにしようとする.  これは受動的 – 動的歩行アプローチにより似ており, システムのダイナミクスが事前に計画された軌道ではなくロボットの高さを決定することを可能にする. まっすぐな足の歩行は適切な実行のためのいくつかの追加要素を必要する. つま先は自然な歩行の欠くことのできない部分であり, スタンスレッグの長さを増加させることによる有意な膝の曲げを必要としない到達可能な足場の数を増加させる. つま先は通常, 全身コントローラで足の一部のつま先動作を規定することによって達成される[13, 14].
ここでのアプローチは, 真っすぐな脚で歩くときのロボットの制御権を高めるために, [15
]で提示されたものに基づくステップ調整戦略を利用する.  また, [16]に提示されているアプローチを使用して, 真っすぐなの脚で歩くための動的軌道の実現可能性を保証する.  これは, セクションIIに示すように, 全身コントローラフレームワークの中でinstantaneous capture point(ICP)プランナを使用して実行される. 

Ⅱ. CONTROL FRAMEWORK
A. Walking Control
バランス制御問題をリアルタイム制御に扱いやすいようにするために, 一般的に低次元モデルが使用される. LIPはロボットを振り子の端の点質量として扱う.振り子のベースはZMPである. ICPはLIPの拡張として導入され, 次のように定義されているCoMの状態変換である.
$$\mathbf ξ=\mathbf x+\frac{1}{\omega}\dot{\mathbf x}$$
ここで, \(\mathbf x\)は重心位置, \(ω=\sqrt{\frac{g}{z_{CoM}}}\)は倒立振子の固有振動数である. 上式の導出は[17]
ICPダイナミクスは次のように定義される.
$$\dot{\mathbf ξ}=\omega(\mathbf ξ-\mathbf r_{CMP})$$
ここで, \(\mathbf r_{CMP}\)はCentroidal Moment Pivot [18]であり, これはICPの制御に使用され, システムの地面反力と角運動量をエンコードする. ここでは, [19]に示されているICP計画アプローチを使用する.
それはLIPに基づいているので, ICPは通常CoMが地面の上の一定の高さで動くと仮定する. しかし, \(ω\)はLIPの長さによって厳密に定義されるのではなく, 設計変数として扱うことができる[20].  強化重心モーメントピボット(eCMP)は, CMP線とICP制御平面との交点に位置する. これは, CoMよりも\(z =\frac{ω^2}{g}\)離れた位置にある[20]. この場合のeCMPは, CMPではなく, ICPダイナミクスの制御に使用される.  次に, [1]のFig.2に示すように, CMPは通常CMPラインとgland planeの交点に配置される.
※Fig.2 ICPはCoMの位置と速度をエンコードし, eCMPによって制御される. CMPは, CoMとeCMPを通過する線とグランドの交点にある.  DCMとVRPの詳細は[20].

[12]で論じられているように, CoMの高さを変えることを許容することによって, CMPは公称eCMP位置から外れる. ICPの観点からは, 公称高さ\(z_{nom}=\frac{\omega ^2}{g}\)からの高さ変動は,CMPをeCMPから逸脱させることになり, その関係は以下によって定義される.
$$\frac{z_{CoM}}{z_{nom}}(\mathbf x-\mathbf r_{eCMP})=\mathbf x-\mathbf r_{CMP}\hspace{20mm}(3)$$
//ベクトルの式だが, ただの比なのでFig.2を見ればすぐ導ける
この関係を使用して, Fig.3に示すように, 瞬間的な交換をサポートする単純な倒立振子モデルを使用して, 歩行時に予想される最大ずれ量を決定するための簡単な分析を実行できる. 最大のCMP誤差は, double support exchangeの時点で, CoMが目標のeCMPから最大の距離にあるときに発生する. この例では, 歩幅の長さが\(l\)の場合,この距離は0.5\(l\)である. 公称CoM高さが振り子の長さであると仮定するし, 式(3)を評価すると, CMP誤差は,
$$\mathbf r_{CMP}-\mathbf r_{eCMP}=0.5l\bigr (1-\frac{\sqrt{z^2_{nom}-0.25l^2}}{z_{nom}}\bigr )$$
//導出できない
振り子の高さが1m, ストライドの長さが0.75mのほぼ人間のパラメータでは, 公称値から2.7cmのCMP偏差が得られる.  これは理想的ではないが, 標準のICPフィードバックコントローラは, 適切な計画を立てて, 結果として生じるトラッキングエラーを排除するのに十分ロバストである.

B. Whole-Body Control
運動量ベースの制御フレームワークは, 準拠した力ベースの制御を実装する上で非常に効果的である. 全身制御は最も一般的な定式化の1つであり, DARPAロボティクスチャレンジの間に大きな注目を集めた. DRC決勝では, ほとんどすべてのコントローラーが2次計画法(QP)を使用してコスト関数を最適化し, コントローラーのタイムステップごとに複数のモーションタスクを解決した[11], [14]、[21]. ここでのQP定式化は[11]で紹介されており,それは以下の通りである:

\({min}_{/dot{\mathbf v}_d,\mathbf ρ}\;J_{\dot{\mathbf h}_d}+J_{\mathbf J}+J_{\mathbf ρ}+J_{\dot{\mathbf v}_d}\)
\({s.t.}\;\;\mathbf A\dot{\mathbf v}_d+\dot{\mathbf A}\mathbf v=\mathbf W_{\mathbf g}+\mathbf B_{COM}\mathbf ρ+\sum_i\mathbf W_{ext,i}\)
\(\mathbf ρ_{min}\leq\mathbf ρ\)
\(\dot{\mathbf v}_{min}\leq\dot{\mathbf v}_d\leq\dot{\mathbf v}_{max}\)

目的関数の項は次のように定義される.
Momentum Objective:   \(J_{\dot{\mathbf h}_d}=||\mathbf P_{\dot{\mathbf h}}(\mathbf A\dot{\mathbf v}_d-\mathbf b)||^2\)
Motion Objective:   \(J_{\mathbf J}=||\mathbf P_{\mathbf J}(\mathbf J\dot{\mathbf v}_d-\mathbf p||^2\)
Contact Force Cost:   \(J_{\mathbf ρ}=||\mathbf P_{\mathbf ρ}\mathbf ρ||^2\)
Joint Acceleration Cost:   \(J_{\dot{\mathbf v}_d}=||\mathbf P_{\dot{\mathbf v}_d}\dot{\mathbf v}_d||^2\)
ここで,
\(\dot{\mathbf v}_d\):目標全身関節加速度
\(\mathbf ρ\): 一般化接触力[11]
\(\mathbf A\): Centroidal Momentum Matrix[22]
\(\mathbf b=\dot{\mathbf h}_d-\dot{\mathbf A}\mathbf v\)
ここで\(\dot{\mathbf h}_d\)は目標運動量変化率, \(\mathbf v\)は関節速度である.
\(\mathbf J=[\mathbf J^T_1…\mathbf J^T_k]^T\)また, \(\mathbf p=[\mathbf p^T_1…\mathbf p^T_k]^T\)は\(k\)の目標の運動のそれぞれに対する連結ヤコビ行列とそれぞれの目的ベクトルである.
※[1]には\(\mathbf P\)について詳細に書かれてない. [23]によると行列\(\mathbf P\)は, high level contollerによって決定されるコスト関数重み付け行列である.
\(\mathbf W_{ext,i}\):ロボットに作用するexternal wrenches
ここでは, Momentum Objectiveに選択行列を適用することによって, 運動量目標\(\dot{\mathbf h}_d\)の線形部分を組み込む.
$$J_{\dot{\mathbf h}_d}=||\mathbf P_{\dot{\mathbf h}}\mathbf S(\mathbf A\dot{\mathbf v}_d-\mathbf b)||^2$$
ここで,
$$\mathbf S=\left [\begin{array}{cccccc}0&0&0&1&0&0\\
0&0&0&0&1&0\\
0&0&0&0&0&0\end{array}\right ]\hspace{20mm}(7)$$
\(\dot{\mathbf h}=[\dot{\mathbf k}^T\;\dot{\mathbf l}^T]^T\)から線形運動量変化率\(\dot{\mathbf l}\)のみを選択する. これにより, 角運動量変化率\(\dot{\mathbf k}\)は拘束されず, 最適化によって自由に決定できる. これは, 他の運動によって打ち消されることを必要とせずに, スイングフットのような自然な運動によって角運動量を生成することを可能にする.

Ⅲ. STRAIGHT LEG WALKING CONTROL
CoMの高さを直接制御するのではなく, 必要なレッグ構成を使用してタスクのゼロ空間内で制御する.  高度なCoMの高さ計画の一般的な目的は, 膝のトルクが大きくならないように脚をできるだけ真っ直ぐに保つことである. 複雑な計画によって脚をまっすぐにしようとする代わりに, 全身コントローラソリューションを望ましい構成に向けてバイアスをかける. そうするために, x-y運動量変化率のみを使用するように式(7)の選択行列を修正する.
$$\mathbf S=\left [\begin{array}{cccccc}0&0&0&1&0&0\\
0&0&0&0&1&0\end{array}\right ]$$
は, ロボットの垂直方向の力を制限しない. これは, [11]で使用されているinstantaneous capture point(ICP)ベースのフレームワーク内でうまく機能する.これは, 垂直方向の運動量変化率に対してCoMまたは骨盤の高さのいずれかに別のコントローラが必要である.  \(\mathbf p\)の典型的な運動入力は骨盤角加速度, 胸部角加速度, 腕関節加速度, そしてスイングフットの線形および角加速度のようなタスクからなるので, 結果として得られるQPは大きな零空間を持つ.
より高いレベルのモーションタスクのいずれにも違反することなく脚の構成を制御するために, 目標関節各を投影することができる. これを”privileged configuration”と呼び, QPの零空間への角度である. そのprivileged configuration \(\mathbf q_p\)は, 単純なフィードバック制御則
$$\dot{\mathbf v}_p=\mathbf k_p(\mathbf q_p-\mathbf q)+\mathbf k_d\mathbf v$$
を使ってprivileged 関節加速度を計算するために使われる.
ここで, \(\mathbf q\)は現在の関節位置である. これらのprivileged 加速度は追加のquadratic motion objective
$$J_p=||(\mathbf I-\mathbf J^+_{task}\mathbf J_{task})\dot{\mathbf v}_p||^2_{\mathbf Q_p}$$
としてQPの零空間へ投影される.
ここで, \(\mathbf J_{task}=\bigr [(\mathbf SA)^T\;\mathbf J^T\bigr ]^T\)は, QPへのすべての必要な入力を関節加速度空間にマッピングする全タスクヤコビアンである.\((⋅)^+\)は, 擬似逆演算子である.
QPソリューションをバイアスするためにprivileged configurationを適用するというこのアプローチは, 特異点回避を助けるためによく使用されてきた. その効果は, ジョイントが特異点にあるとき, 空でない零空間があることで, privileged configurationで正しい方向に加速を提供できる. しかし, それを特異点回避を助けるメカニズムとして使用する代わりに, ロボットの一般的な振る舞いを偏らせるためにそれを使用して, 可能な限り支持脚で膝をまっすぐに使用するための解決策を奨励する.

A. Leg Configururation Selection
脚の構成を効果的に制御するために, Fig.5に示すように, 各脚のprivileged configuration(特権構成)を設定するstate macine?を導入する. これは, 脚が歩行サイクルの目的の段階で曲がるようにするために使用される.  タッチダウンすると, 新しいサポートは”Straightten”状態に移行する. この状態では, 特権構成が一定期間にわたってストレート構成に移行する. この時点で, 脚は自動的に”Straight “状態に移行する. 支持脚がスイング段階の途中まで来ると, 構成は”Collapsed”に変更され, 脚がわずかに曲がることを可能にする. これは, ワークスペースを動かすことによって遊脚が追跡することを可能にし, つま先の手助けをする. その後, 追跡脚は移行中に折りたたまれた状態を保つ.  スイングの開始時に, 脚は”Bend”に切り替わる. それは, 足を地面から持ち上げて膝の特異点回避を助ける状態である. スイング段階の途中で, それはそれからタッチダウンに備えて脚を外側に広げる”Extend”状態に切り替わる. タッチダウンすると,足は”Straighten”状態に戻る.

B. Improved Swing Foot Touchdown
歩くとき, それはスイングフットが正しい時間に地面を打つと一般に想定される. 膝が大きく曲げられている場合, 次の足場はほとんど常にスイングレッグのワークスペースにあるが, スタンスレッグがまっすぐである場合はそうとは限らない. 地面が予測された足跡よりも低い場合, 計画されたときに足が接触していないことになり, ワークスペースの端にある可能性がある.
これは時間に関して指数関数的に増加するICPエラーをもたらす. 安定した歩行を維持するためには, その場合, 予想されるタッチダウンの後, できるだけ速やかに足を下ろして, 歩行を高さの不確実性に対して頑健にする必要がある. これは, スイングレッグが接触しているかどうかにかかわらず, スイングレッグに体重をかけ始めるのと似ている(それが地面を打つと確信して).
これを処理するための標準的なアプローチは, スイングフットの軌道の終わりで一定の下向きの速度を指令することである. さらに, ここでは, 予想されるスイングタッチダウンを過ぎた時間に関して, 全身コントローラにおけるスイングフットの空間的加速度に対する重みを線形的に増加させる. これは足の下向きの動きを続けることの重要性を増す. また, この超過時間に対して骨盤の向きの重みを減らすことで, 人間の骨盤を回転させて足の作業スペースを広げるのと同じように, ロボットが骨盤を回転させて目的のスイング足の動きを実現できる.

Ⅳ. TOE-OFF
つま先は人間のような二足歩行の重要な部分である. エネルギー貯蔵のために脚の筋肉腱を利用することによってもたらされる代謝の節約に加えて, それは運動学的に有益であり, 後脚を伸ばすことを可能にし, そして前脚をより少なく曲げることを可能にする. つま先は, ステップダウン時など, 可動域の制限に対処するのにも役立つ. ただし, Fig.6に示すように, サポートポリゴンのサイズを小さくするとロボットの制御権限が制限されるため,つま先が不明な場合がある. さらに, つま先姿勢を達成する方法には多くの課題がある.

A. Toe-Off Criteria
いつtoe-off(つま先離れる)に移行するかを判断するために, 満たさなければならない一連の基準を設定する.  つま先のサポートポリゴンは, Fig.6に示すように, 足の中の1つのtoe-offポイントを使用して定義される. toe-offに移動すると, サポートポリゴンの外側に目標または現在のICPがある場合, もはやICPの完全な制御性を持てない. これは, ロボットがスイング中は1ステップで捕獲可能で, 移行中(toe-offを含む)は0ステップで捕獲可能でなければならないと言うことと同じである. 目標と現在のICPも, 足場から一定の距離内になければならない. トルク制限および他の不確実性のために, 目標のCMPは達成されないかもしれない. ICPからCMPまでの距離を長くすることによって, Fig.7に示すように不正確さの影響が減少し, 足場の方向に移動する可能性が高くなる.
※Fig.6  判定基準はtoe-offをチェックする. toe-offを開始するには, 目標ICPと推定ICP位置の両方が, 予測サポートポリゴンの内側(灰色), および目標足場の特定の範囲内(青い点線)になければならない. 後脚のCoPはtoe-offポイント(赤い点線)から一定の距離以内でなければならず, 目標CMP位置は予測されたサポートポリゴン(暗い赤い点線)の近くになければならない.
Fig.7  次の足への近接のためのICP制御でのICP位置の影響を示す図. 左図に示すように, ICPの位置がスタンスフットに近いほど, ICPのダイナミクスはCMPの位置誤差の影響を受けやすい.ICPが目標足場に近い場合, CMPエラーはICPダイナミクスの方向に与える影響が少なく, 足場の方向により向かう.

B. Toe-Off Control
toe-off中に足を制御するための他のアプローチ[13],[14]とは異なり, つま先の動き, つまり, 足のピッチングを直接制御しない. 代わりに, この自由度を自由に, 指定せずに残す. これにより, コントローラーはフットピッチを使用して他のモーションタスクを達成し, つま先モーションを緊急の動作にすることができる. Fig. 8に示すように, つま先の片足接触点では, 標準の摩擦コーン拘束を使用する. 単一点を使用すると, 接触線よりも安定した動作が得られる. この制御を実行するには, 位置と向きの2つに分ける.
toe-off中は, 足のつま先接点が滑らないようにする. これは, ワールドフレーム内で点を一定に保つための線形加速度を求めるための単純なフィードバックコントローラを使用して実現できる. 足のsole-フレーム内の方向制御装置を使用して, toe-off動作の間中, 足のロールとヨーを一定に維持できる. これにより, 足のピッチが制限されずに零空間で開ける. 次に, Fig.8に示すように,つま先点を中心とした足のピッチングは,toe-off状態の間に自然に発生する.
Fig.8 toe-off(つま先離れる)時には, 後足の前面で単一の接点が有効になる. それから足のピッチは制御されないままにされ, 一方接触点はワールドフレームで一定に保たれる.

【参考文献】
[1]https://arxiv.org/pdf/1709.03660.pdf
[2]https://staff.aist.go.jp/k.kaneko/publications/2005_publications/ICRA2005-a588_WeP2-01_5.pdf
[3]https://groups.csail.mit.edu/robotics-center/public_papers/Kuindersma13.pdf
[4]http://www.swarthmore.edu/NatSci/mzucker1/e91/readings/park2007fullzmp.pdf
[5]https://www.researchgate.net/publication/259903505_Three-Dimensional_Bipedal_Walking_Control_Based_on_Divergent_Component_of_Motion
[6]http://www.romela.org/wp-content/uploads/2015/05/2014_humanoid_locomotion_on_uneven_terrain_using_the_time-varying_divergent_component_of_motion.pdf
[7]https://www.amarsi-project.eu/sites/www.amarsi-project.eu/files/ICARCV%202010%20Trajectory%20Generation%20of%20Straightened%20Knee%20Walking%20for%20Humanoid%20Robot%20iCub.pdf
[8]https://hal.inria.fr/hal-01418355/document
[9]https://ieeexplore.ieee.org/abstract/document/7140080/citations?tabFilter=papers#citations
[10]https://www.researchgate.net/publication/257523149_Centroidal_dynamics_of_a_humanoid_robot
[11]https://www.researchgate.net/publication/280839675_Design_of_a_Momentum-Based_Control_Framework_and_Application_to_the_Humanoid_Robot_Atlas
[12]https://www.researchgate.net/publication/314203705_Straight_leg_walking_strategy_for_torque-controlled_humanoid_robots
[13]http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1002.169&rep=rep1&type=pdf
[14]https://www.jensenhughes.com/wp-content/uploads/2015/11/White_Paper_Designing-for-Compliance-ESCHER-Team-Valors-Compliant-Biped_Lattimer.pdf
[15]https://arxiv.org/pdf/1703.00477.pdf
[16]https://arxiv.org/pdf/1709.03669.pdf
[17]http://homepages.laas.fr/soueres/Papiers/Koroibot/Ramos-2014c.pdf
[18]https://pdfs.semanticscholar.org/a14a/a18bb2df981fdada7d0c91ad647b688c957f.pdf
[19]https://elib.dlr.de/90257/1/IROS14_0508_FI-3.pdf
[20]https://elib.dlr.de/87255/1/IROS_2013_FinalSubmission_JEnglsberger.pdf
[21]https://agile.seas.harvard.edu/files/agile/files/atlas-control.pdf
[22]https://www.researchgate.net/publication/224339669_Centroidal_Momentum_Matrix_of_a_Humanoid_Robot_Structure_and_Properties
[23]https://www.researchgate.net/publication/280839675_Design_of_a_Momentum-Based_Control_Framework_and_Application_to_the_Humanoid_Robot_Atlas