外力と指令値の急変更に対応する二脚ロボットの左右歩行制御

RSJ2014AC1B3-01
外力と指令値の急変更に対応する二脚ロボットの左右歩行制御
○熱田洋史 (阪大) 杉原知道 (阪大)
1.
はじめに
脚ロボットの移動能力を最大限に発揮する上で,様々
な外乱や指令値の急変更に対応可能な安定化技術は必
要不可欠である.特に大きな外乱に対しては,二脚ロ
ボットの場合,左右の脚の踏み替えによって安定性を保
つ必要がある.静立時の上体制御と踏み出しによる転倒
回避を両立させる手法は数多く提案されている [1, 2, 3]
が,矢状面の運動に限定したものが多い.左右方向の
踏み出しにおいては,左右脚の干渉回避がシビアな制
約となるため,どこに踏み出せばよいかがわかっても,
いつでも目標位置に踏み出せるとは限らない.また干
渉の起こらない方向に脚を開いて踏み出す場合も,反
力中心を逆足側に移動させない限り足を踏み出せず,転
倒方向に加速する一見矛盾した制御を要求される [4].
特に支持脚方向への転倒に対する安定化が困難で,富
田ら [5] や DeHart ら [6] が指摘するように,これまで
十分に議論されてこなかった.
一方熱田ら [7] は,足が交差しないという制約を満
たしながら継続的に左右歩行ができる制御方法を提案
した.これは左右の足に,指令値方向に重心を加速さ
せる役割と,逆足を引き寄せるために重心を一旦減速
させる役割を,接地状態によって速度追従系と自励振
動系を切り替えることで実現されている.具体的には,
重心を送る側の足が接地している場合は速度追従系に,
重心を迎える側の足が接地している場合は自励振動系
に遷移させる.微小な外乱に対してはシステムの大局
的安定性を保証できていた.本稿では,左右歩行中に大
きな外力や指令値の大きな急変更が与えられる状況を
想定し,現在の支持状態で安定性が保てないと判断し
た場合に,足の接地状態と転倒方向に基づいて適切に
速度追従系と自励振動系を切り替えることで,左右歩
行と左右方向の安定化を統合する制御方法を提案する.
2.
力学変容に基づく左右歩行制御 [7]
力学変容とは,システムのなす力学系を変容させる
ことで様々な運動をシームレスに遷移させる枠組みで
ある.簡単のため,図 1 のように質量が重心に集中し
たモデルで二脚ロボットの運動を考える.左右方向の
運動についてのみ考え,左向きに y 軸,鉛直上向きに
z 軸をそれぞれ設ける.また,重心まわりに発生する
トルクは十分小さく,重心高さ z は一定であると仮定
する.重心位置を y ,ZMP 位置を yZ とそれぞれおく
と,次の運動方程式が得られる.
y¨ = ω 2 (y − yZ )
(1)
√
ただし ω ≡ g/z ,g = 9.8[m/s2 ] は重力加速度であ
る.ZMP 位置 yZ は支持領域に関して次の拘束条件を
満たす.
yZmin ≤ yZ ≤ yZmax
(2)
第32回日本ロボット学会学術講演会(2014年9月4日~6日)
ただし yZmin , yZmax はそれぞれ y 軸上の支持領域の右
端と左端である.重心参照位置 d y および重心参照速度
d
vy に対し,制御入力として目標 ZMP 位置を次式で定
める.
(
)
y˙ − d vy
y˜Z = d y + (qy + 1) y − d y + f (ζ)
(3)
ω



y > yZmax )
y
(S1 :˜

 Zmax
yZ = y˜
(4)
(S2 :yZmin ≤ y˜ ≤ yZmax )



y
(S3 :˜
y < yZmin )
Zmin
ただし
{
}
(qy + 1)2 ζ 2
f (ζ) ≡ 1 − ρ exp 1 −
r2
√
y˙ 2
ζ ≡ (y − d y)2 + 2
ω qy
(5)
(6)
であり,定数 qy , r および ρ は設計パラメータである.
このとき重心の振る舞いは次の区分自律系に従う.



ω 2 y − ω 2 yZmax
(S1)


2
d
y¨ = −ω(qy + 1)f (ζ)y˙ − ω qy (y − y) (S2) (7)



ω 2 y − ω 2 y
(S3)
Zmin
状態 (S2) における力学系の振る舞いは,制御パラメー
タを適切に設定することにより遷移させることができ
る.qy = 0, ρ = 0 としたとき,状態 (S2) における重心
は次の微分方程式に従う.
y¨ = −ω(y˙ − d vy )
(8)
このとき平衡点は存在せず,y˙ は d vy に収束しようと
する速度追従系となる.d vy > 0 ならば状態は S1 に,
d
vy < 0 ならば状態は S3 にそれぞれ移行し,y˙ は発散
する.一方,ρ = 1, d vy = 0,qy を非零としたとき,状
態 (S2) において次式で表される安定なリミットサイク
ルが発現する.
(y − d y)2 +
r2
y˙ 2
=
ω 2 qy
(qy + 1)2
(9)
2π
r
,周期 √ の単振動をす
qy + 1
ω qy
る自励振動系となる.また ρ = 0, d vy = 0,qy を非零と
したときは重心を参照位置 d y に収束させるレギュレー
タとなる.
継続的に左右歩行を続けるために,参照速度方向に
重心を送り出す側の足が接地しているときは速度追従
このとき重心は振幅
RSJ2014AC1B3-01
right sole
(a)
Im
(b)
重⼼
送り⾜
迎え⾜
Re
⽀持領域
図 4: 安定性を回復するための踏み出し
(a)
(b)
(c)
(d)
図 1: 二脚ロボットの 図 3: 複数平面上における pZ の
質量集中モデル
軌道
迎え⾜
送り⾜
図 5: 右からの外力を与えた場合の接地状態
図 2: 左移動に対する力学系の遷移
3.2
系に,参照速度方向に対して重心を留める側の足が接
地しているときは自励振動系にそれぞれ切り替える.以
後の説明のために,重心を送り出す役割を担う足を送
り足,重心を一旦留めることで逆足を引き寄せてくる
役割を担う足を迎え足と呼ぶことにする.送り足・迎
え足の区別は,右・左あるいは遊脚・支持脚の区別に
よらず,指令値によって分けられる点に注意されたい.
図 2 に左移動に対して力学系が遷移する様子を示す.
3.
左右歩行に重畳する安定化制御
3.1
重心の安定性判別
制御器 (3) を参照位置 d y に収束させるレギュレータ
とすると,目標 ZMP は
)
(
y˙
d
d
(10)
y¯Z = y + (qy + 1) y − y +
ω
となる.y¯ が拘束条件 (2) を満たさないならば,現在
の支持領域で十分な反力を得ることができず,転倒す
る可能性がある.したがって
yZmin < y¯Z < yZmax
(11)
を重心の安定性判別に用いる.式 (10)(11) より,これ
は重心の安定領域を表す.この安定領域に基づくと,支
持領域を変形する必要があるか否かを容易に判別する
ことができる [8].
第32回日本ロボット学会学術講演会(2014年9月4日~6日)
安定性回復のための足制御
安定性を回復するための目標踏み出し位置は,条
件 (11) を満たすように決めればよい.しかし,どこ
に踏み出せばよいかがわかっても,実際にそこに足を
踏み出せるか否かは自明ではない.図 4 左図のように
外力が加わっているとしよう.このとき制御器は参照
位置 d y を維持しようと支持領域の拘束限界に ZMP を
位置させ,重心を最大限留めようとする.重心を留め
きれず,y¯Z > yZmax となった場合,左足を上げ,y¯Z
が含まれるように支持領域を広げればよい.しかし左
足をあげるには ZMP を一旦右足に位置させる必要が
ある.Sugihara[4] は強制的に ZMP を遷移させるよう
な制御入力を加えていた.ただし環境との接地状態に
よっては,常に ZMP を送り足上に配置できるわけで
はない.図 5(a)(b) の場合,送り足が既に接地してい
るので速度追従系に移行できる.しかし図 5(c) は両足
が広がった状態で両足が接地しているので,(a) と同じ
く支持領域を広げようと試みても,それ以上広げるこ
とができない.また図 5(d) では送り足が接地していな
い.ここでは左右歩行との統合を考え,図 5(a)(b) の場
合は右足を送り足,左足を迎え足とすることで速度追
従系に遷移させ,ZMP を右足軸上に移す.図 5(c)(d)
の場合は,自励振動系に移行することで送り足を迎え
足の方へ引き寄せた後,再び安定性回復を試みる.
上述の考察を踏まえ,まず左右歩行制御に重畳させ
る形で以下のように送り足・迎え足の設定を行う.
1. 支持領域を広げる必要がある場合
(1) y¯Z > yZmax の場合,右足を送り足とする
RSJ2014AC1B3-01
(2) y¯Z < yZmin の場合,左足を送り足とする.
2. 支持領域を広げる必要がない場合
ただし h は定数,σ1 (ρ) および σ2 (yL ) は次式で定義
する.


1
(ρ > 1)



−1
ρ−e
σ1 (ρ) ≡
(e−1 ≤ ρ ≤ 1)
 1 − e−1



0
(0 ≤ ρ < e−1 )
y − y
R
 L
(yL − yR < smax )
smax
σ2 (yL ) ≡

0
(yL − yR ≥ smax )
(1) d vy > 0 の場合,右足を送り足とする.
(2) d vy < 0 の場合,左足を送り足とする.
次に送り足・迎え足の接地状態によって次のように
設計パラメータを変更する.
1. 送り足が接地,迎え足が離地している場合,速度
追従系に移行する.すなわち qy = 0, ρ = 0,

′
d v ′
(d vy ̸= 0)
y
d
vy =
(12)
ω(y − y ) + y˙ (d v ′ = 0)
F in
d
y
′
ただし vy は指令値,yF in は送り足内縁位置で
ある.
2. 送り足が離地,迎え足が接地している場合,自励
振動系に移行する.すなわち ρ = 1, d vy = 0.
3. 送り足も迎え足も接地している場合,
(1) |¯
yZ − yF | < smax の場合, 1 と同じく速度追
従系に移行する.
(2) |¯
yZ − yF | ≥ smax の場合, 2 と同じく自励振
動系に移行する.
ただし yF は送り足位置,smax は許容される最大
踏み出し幅である.
3.3 足昇降制御
自励振動系に従った重心の左右揺動に同期した足昇
降制御は,既に Sugihara[9] によって提案されているが,
この方法は速度追従系では使うことができない.本稿
では杉原が定義した位相を速度追従系でも定義できる
ように修正する.
ZMP 位置と重心速度からなる次の複素数を定義する.
y˙
pZ = yZ − y − i
ω
d
(13)
右足が軸足で,左方向の参照速度 (d vy > 0) が与えられ
た状況を考える.pZ が複素平面内を動くとき,図 3 の
ように右足内縁と交差する点 p¯Rin , p¯Rout と参照速度と
交差する点 p¯v でつくられる区間内での pZ の相対位置
を逐次推定する.推定値 p¯Rin , p¯Rout を次式で求める.
√
p¯Rin = yRin − d y + |pZ |2 − (yRin − d y)2 i (14)
√
p¯Rout = yRin − d y − |pZ |2 − (yRin − d y)2 i (15)
vy
i
ω
(16)
∠(pZ /¯
pRin )
pRout /¯
pRin ), ∠(¯
pv /¯
pRin ))
max(∠(¯
(17)
これに基づいて左足の目標足上げ高さ d zL を次式で定
める.
d
zL =
ただし σ2 (yL ) は両足幅が広がるのを抑制する項である.
また右足の目標足上げ高さ d zR も同様に求める.
4.
シミュレーション
小型人型ロボット mighty を想定したシミュレーショ
ンを行った.図 6,7 に動画スナップショットを示す.
両足接地状態で外力を継続的に与えたきの位置,外力
をプロットしたものを図 8 に示す.現在の支持領域で
安定化できないと判断したときに足を踏み出すことに
よって安定性を回復しようと試みていることがわかる.
次に,現在の支持領域のままでは達成できないよう
な参照位置を与えたときの位置をプロットしたものを
図 9 に示す.参照位置に収束させようと試みるが,現
在の支持領域で達成できないと判断し,足を踏み出す
ことによって収束させようとしていることがわかる.
最後に,参照速度として d vy = 0.42[m/s] を与え,左
右方向に外力を与えたときの速度,位置,外力をプロッ
トしたものを図 10 に示す.外力に対して足を踏み出す
ことによって安定性を維持していることがわかる.
5.
おわりに
大きな外力や指令値の急激な変更に対応する二脚ロ
ボットの左右歩行制御を提案した.二脚ロボットには,
左右の脚を交差できないという拘束が存在するため,現
在の支持状態から目標とする踏み出し点に常に踏み出
せるとは限らない.本稿では,速度追従系と自励振動系
を足の接地状態により自動的に切り替えることで,左
右歩行と安定性の維持を両立させた.
なお,本研究は科学研究費補助金挑戦的萌芽研究課
題番号#26540135(研究代表者:杉原知道)の支援を受
けた.
d
p¯Rin と p¯Rout あるいは p¯Rin と p¯v のなす区間における
pZ の相対位置を左足の足上げ位相 ϕL とする.
ϕL ≡
(20)
参考文献
また p¯v を次式で求める.
p¯v = yRin − d y −
(19)
1 h|pZ |
σ1 (ρ)σ2 (yL )(1 − cos 2πϕL )
2 r
第32回日本ロボット学会学術講演会(2014年9月4日~6日)
(18)
[1] J. Pratt, J. Carff, S. Drakunov, and A. Goswami.
Capture Point: A Step toward Humanoid Push
Recovery. In Proceedings of the 2006 IEEE-RAS
International Conference on Humanoid Robots,
2006.
[2] S. Kajita, M. Morisawa, K. Harada, K. Kaneko,
F. Kanehiro, K. Fujiwara, and H. Hirukawa. Biped
Walking Pattern Generator allowing Auxiliary
ZMP Control. In Proceedings of the 2006 IEEE
International Conference on Intelligent Robots and
Systems, pp. 2993–2999, 2006.
RSJ2014AC1B3-01
図 6: 立位状態で外力を与えた場合の動画スナップショット
図 7: 左移動中に外力を与えた場合の動画スナップショット
図 8: 立位状態で外力を与えた場合の 図 9: 重心参照位置を大きく急激に変 図 10: 左移動中に外力を与えた場合の
位置・外力のプロット
更した場合の位置のプロット
[3] J. Urata, K. Nishiwaki, Y. Nakanishi, K. Okada,
S. Kagami, and M. Inaba. Online walking pattern
generation for push recovery and minimum delay
to commanded change of direction and speed. In
Proceedings of the 2012 IEEE/RSJ International
Conference on Intelligent Robots and Systems, pp.
3411–3416, 2012.
[4] T. Sugihara. Reflexive Step-out Control Superposed on Standing Stabilization of Biped Robots.
In Proceedings of the 2012 IEEE-RAS International Conference on Humanoid Robots, pp. 741–
746, 2012.
[5] 富田将茂, 今野敦, 辻田哲平, 安孫子聡子, 姜欣, 内山
勝. 支持脚方向への転倒を考慮したヒューマノイド
ロボットの踏み出しによる転倒回避. 第 13 回 SICE
システムインテグレーション部門講演会 (SI2012) 論
文集, pp. 2769–2774, 2012.
[6] B. J. DeHart and D. Kuli´c. Push Recovery and
Online Gait Generation for 3D Bipeds with the
Foot Placement Estimator. In Proceedings of the
2014 IEEE International Conference on Robotics
& Automation, 2014.
第32回日本ロボット学会学術講演会(2014年9月4日~6日)
速度・位置・外力のプロット
[7] 熱田洋史, 杉原知道. 力学変容に基づく二脚ロボッ
トの左右方向移動制御. 第 19 回ロボティクスシン
ポジア, pp. 49–54, 有馬温泉, 2014.
[8] T. Sugihara. Standing stabilizability and stepping
maneuver in planar bipedalism based on the best
COM-ZMP regulator. In Proceedings of the 2009
IEEE International Conference on Robotics & Automation, pp. 1966–1971, 2009.
[9] T. Sugihara. Consistent biped step control with
COM-ZMP oscillation based on successive phase
estimation in dynamics morphing. In Proceedings of the 2010 IEEE International Conference
on Robotics & Automation, pp. 4224–4229, 2010.