Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
1
ヒューマノイドロボットの2足歩行制御技術②
梶田秀司
産業技術総合研究所
東工大「ロボットビークルテクノロジー」 2016年12月22日
今日のスライド:https://staff.aist.go.jp/s.kajita/titech/20171222.pdf
• 産総研のヒューマノイド開発
• 2足歩行制御技術
• エンターテインメント応用
• DARPAロボティクスチャレンジ
M
hzp x x
g
前回講義 (2016/12/16)
2
今日の講義
• 静歩行と動歩行
• ゼロモーメントポイント:ZMP
• ZMPと重心の運動
• ZMP方程式の解法
3
静歩行と動歩行
4
静歩行と動歩行
静歩行どの瞬間にも安定
動歩行不安定な瞬間が存在
5
支持多角形
CoM
重心投影点
6
【重心】 CoM(Center of Mass )
【支持多角形】Support polygon
地面と接している点の包絡線で作られる多角形
【安定な状態】 重心の床面への投影点が支持多角形の中に入っている状態
【不安定な状態】
重心投影点が支持多角形の外にある
支持多角形
CoM
(重心)
重心投影点
7
動歩行 Dynamic walk
静歩行 Static walk
8
2足歩行ロボットの絶対座標系
絶対座標系 またはワールド座標系 (WはWorld)
前後方向 (前が+)
左右方向 (左が+)
上下方向 (上が+)
W
x
y
z
9
静歩行
動歩行
10
静歩行の重心と支持多角形
x
11
動歩行の重心と支持多角形
x
12
重心投影点が支持多角形の外に出る⇒ 動歩行
13
静歩行 動歩行
y y
14
ゼロモーメントポイントZMP
15
床の上に置かれた物体に働く力
16
足裏床反力の合計Rが一点に作用すると仮定し,その点をZero-Moment Pointと呼ぶ.略してZMP
ゼロモーメントポイント:ZMP
Vukobratovic and Stepanenco, 1972
17
何故,「ゼロモーメント」ポイント?
床反力を一点に作用する力で置き換える=その点まわりでモーメントが0になっている
ZMP ZMP
18
ZMP (x成分)
19
静歩行 動歩行
※ ZMPが支持多角形の外に出ることはない
ZMP (y成分)
y y
20
東大生産研 池内研究室との共同研究
ZMPのコントロールによるバランス
21
バランス制御に失敗したケース
22
ロボットの状態
静的に安定 動的に安定 転倒
23
静的に安定
重心
重心投影点 ∈ 支持多角形
24
動的に安定
ZMP
重心投影点 ∈ 支持多角形
ZMP ∈ 支持多角形↑ZMPの定義から当然なりたつ
25
安定余裕
ZMP
d
支持足を真上から見た図
(ZMPから支持多角形の辺までの最短距離)
:d
d
動的に安定な状態では 0d
26
転倒状態
ZMP
0d 転倒状態での安定余裕
27
具体的なZMPの計算
1f 2f
1 1 2 2( ) ( ) 0f x p f x p
1x 2xx
p
1
2
:
:
x
x
踵の位置
爪先の位置
1
2
:
:
f
f
踵に作用する床反力
爪先に作用する床反力
ZMPp: の位置(未知)
ZMPまわりのモーメントは0
28
具体的なZMPの計算
1f
2f
1x 2xx
p
1
2
:
:
x
x
踵の位置
爪先の位置
1
2
:
:
f
f
踵に作用する床反力
爪先に作用する床反力
1 1 2 2
1 2
xf x fp
f f
ZMP:
ZMP
29
全体重が爪先に集中している場合
1x 2xx
p
1 0f
2f
1 1 2 2
1 2
xf x fp
f f
ZMP:
ZMP
※ ZMPは爪先に一致する
30
踵が地面から引っ張られている場合
1x 2xx
p
1 0f
2f
1 21 2
1 2 1 2
f fp x x
f f f f
0 1
1 1 2 2
1 2
xf x fp
f f
ZMP:
こんな状況
ZMP
※ ZMPは支持多角形の外にある(通常の歩行では起こらない状況)
31
ZMPが支持多角形の外に出る2足歩行
磁石による吸着力を利用 by 高橋智隆氏32
まとめ:ZMPの違い
【足裏に吸着機構がない】ZMPは支持多角形の外に出ない.ZMPが支持多角形の縁に達すると転倒が始まる
【足裏に吸着機構がある】ZMPは支持多角形の外に出る決して転倒しない(吸着能力の範囲で)
ZMPZMP
33
6軸力センサによるZMP計測
Ankle
6軸力センサ
Sole plate
z
pF
ZMP
x
z
F
F
足底のトルクからZMPを求める
全床反力
35
1.力センサで計測される値 x zF F
2.ZMPの計算
p
x
z
aFp
F
ZMP
x
z
F
F
力センサ計測値からZMPを求める
床反力
36
1.力センサで計測される値 x zF F
2.ZMPの計算
a
p
両足支持期のZMP
R LR L
R L R L
f fp p p
f f f f37
Rp
RfLf
Lp
SCHAFT (Google)の2足歩行ロボット
ZMPと重心の運動
39
ZMPの変化xM
0 1 2 3 4 5 6 7
-0.1
-0.05
0
0.05
0.1
zm
p [m
]
time [s]
zmp ref
0 1 2 3 4 5 6 7
-0.1
-0.05
0
0.05
0.1
y [m
]
time [s]
CoM
hzp x x
g
ロボットの運動とZMPの関係
p腰の運動
原因 結果
ロボットの運動とZMPの関係を単
純化して,テーブルと台車でモデル化する.その特性は,微分方程式で計算できる.
differential equation
40
制御理論(予見制御)
1
1
0 1
( )
x Ax Bu
Cx
k k k
k k
k Nref ref
k x k I i i i k
i i
p
u K K p p f px
歩行=希望するZMPからロボットの運動を生成
M
0 1 2 3 4 5 6 7
-0.1
-0.05
0
0.05
0.1
y [m
]
time [s]
CoM
腰の動き
原因
0 1 2 3 4 5 6 7
-0.1
-0.05
0
0.05
0.1
zmp
[m]
time [s]
zmp ref
ZMPの変化
結果
41
テーブル台車モデル
• ロボットのダイナミクスを「テーブル+台車」で近似する• ロボットの全重量が台車に集中していると仮定• テーブルは無質量.支持している足を表す
M
x
O
hz
42
ちょっと単純化しすぎでは?
• 現在のヒューマノイドは,胴体にCPUやバッテリーを積んでおり,脚の影響は相対的に小さい
• 簡単なモデルで大まかな軌道を計算し,後からより精密なモデルで修正できる
大丈夫!
43
テーブル台車モデルの「ZMP方程式」
hzp x x
g hz
p
x
O
x
ZMP
M ZMP
重心の水平位置
重心の水平加速度
重心の高さ
44
ZMP方程式の導出(1)
hz
p
x
O
(1)台車に作用する重力が作り出すモーメント
点P
( ( )) Mg x p
Mg
x p
(2)台車の加速により発生するモーメント
hz
p
x
O
x
点P
M
hM x z
M x
45
ZMP方程式の導出(2)
hz
p
x
O
x
hzp x x
g ZMP方程式
ZMPまわりに重力と台車の加速が作り出すモーメントが0
ZMP
M
( ) 0 hMg x p M xzMg
46
ZMP方程式の意味
(1)台車が静止している場合
hzp x x
g
0 だから,x p x(2)台車が大きく加速する場合
hzx
g
x
ZMPは重心の真下に存在加速とは逆方向にZMPがずれる
47
ZMPとテーブルの高さ
(1) 背の高いテーブル
hzp x x
g
(2)背の低いテーブル
hz
g
x
小さな加速でZMPの変化大ZMPを変化させるのに大きな加速が必要
hz
g
x
x x
48
ちょっと待て
(1)台車が静止している場合
0 だから,x p x静止した台車
ZMPがテーブルの足の外に?49
実際に起こること
•テーブル全体が転倒を始める•台車はそれによって加速•ZMPはテーブルの足の縁にとどまる
50
ZMPと重心の運動まとめ
hz
p
x
O
xhz
p x xg
ZMP方程式
点P
M
Mg【ポイント】
ロボットの運動をテーブル+台車で表現【長所】重心の水平運動とZMPの関係を分かりやすく表現できる【注意点】テーブルが傾くような状況は表現できない
51
ZMP方程式の解法
52
ZMP
x
M
0 1 2 3 4 5 6 7
-0.1
-0.05
0
0.05
0.1
zm
p [m
]
time [s]
zmp ref
0 1 2 3 4 5 6 7
-0.1
-0.05
0
0.05
0.1
y [m
]
time [s]
CoM
hzp x x
g
テーブル・台車モデルの入出力関係
p
重心軌道
【歩行パターン生成問題】目標ZMP軌道を実現する重心軌道をいかに計算するか?
離散時間でZMP方程式を解く
1 1
2
1 1
2
i i i
h
i i ii
h
i i i i i i
gp x x
z
x x xgx
z t
a x b x c x
1 1 1 1
2 2 2 2 2
1 1 1 1 1
0
0
N N N N N
N N N N
p b c x
p a b c x
p a b c x
p a b x
N=100~1000
目標ZMPから重心の運動を計算する
CoMZMP
0 0
1 1
2 2
98 98
99 99
p xa b c
p xa b c
p xa b c
p xa b c
p xa b c
xp M
1x M pZMPから重心軌道を得る
連立一次方程式
hi i i
zp x x
g
p Mx重心軌道とZMPの関係式
時間
ZMP 係数行列 重心
ZMP方程式
55
従来方式の問題点
• 目標ZMP軌道から、重心軌道をまとめて計算(バッチ処理)
• 実時間の運動生成にはあまり向かない
実時間で重心軌道を作り出すには ?
p
目標ZMPコントローラ
refp p
ZMP
hzp x x
g
u
M
ZMPの誤差に応じて台車をフィードバック制御する
1 2 3 4( )
refu k p p k x k x k x
x u
ZMP目標値から台車の動きを制御する
ZMP目標軌道コントローラ
p
refp p
ZMP
台車はZMPが変化する前に動き出さなくてはならない !
→コントローラは未来の情報を使わなくてはならない
0 0.5 1 1.5 2 2.5
0
0.1
0.2
0.3
x [
m]
time [s]
referencex
通常のフィードバック制御
0 1 2
0
0.1
0.2
0.3
x [
m]
time [s]
zmp refx
望ましい歩行パターン
予見制御 (Preview control)
• 未来の目標値を利用する制御方式
• 最適制御理論の拡張
• 人間でもある程度先の地面が見ずには歩けない
未来のZMPを使う方法
60
ベルトコンベア(First In First Out: FIFO)
目標ZMP
refp
p
目標ZMP
コントローラ
refp p
ZMP
hzp x x
g
u
M
1 2 3 4
1
( )
N
ref ref
k i k
k
u f p k p p k x k x k x
x u
予見ゲイン1 ( 1)
1
( ) ( )
( )
T T T i T
i
T T
f R B PB B A BK C Q
K R B PB B PA
+0 +0.5 +1 +1.5 +2 0
500
1000
1500
future time [s]
pre
vie
w g
ain
if
・予見ゲインは約 1.6秒 より未来ではほとんど0となる.
・ゆえに1.6秒以上先の目標ZMP軌道は必要ない
現在 未来
Experiment of HRP-2
歩行中のしゃがみ込み
Tsup=0.7s,Tdbl=0.2s,sx=0.2m,腰下げ0.38m
厳密モデルによるZMP
計算
予見制御
順運動学
逆運動学
ZMP
ZMPRobot state
ロボットの全状態
FIFO
FIFO
ZMP補正動力学フィルタ
腰位置修正量
テーブル台車モデルによるZMP
修正後のロボットの全状態
歩行中のしゃがみ込み(フィルタ有)
Tsup=0.7s,Tdbl=0.2s,sx=0.2m,腰下げ0.38m
HRP-2による実験
Tsup=0.7s,Tdbl=0.2s,sx=0.2m(0.1m),腰下げ量0.4m
今日の講義のポイント1
「動歩行」とは、重心投影点が支持多角形の外にでる瞬間のある歩行である。
重心投影点 支持多角形
67
ゼロモーメントポイント(ZMP)とは床反力の中心点である。 ZMPまわりのモーメントは0になっている。
ZMP ZMP
今日の講義のポイント2
68
2足歩行ロボットの重心とZMPの関係は、テーブルと台車によって近似的にモデル化でき、簡単な方程式で表すことができる。
今日の講義のポイント3
hzp x x
g ZMP方程式
69
70
今日のスライド:https://staff.aist.go.jp/s.kajita/titech/20171222.pdf
71
西暦2026年のロボットを自由に想像し、以下を示してください。
1. そのロボットの開発目的、利用分野を文章で説明2. 基本仕様(身長、重量、自由度数等など)の一覧表3. 外見や構造を示すイラスト
形式: A4、2~3ページ、PDF形式表紙ページに講師名とタイトル、自分の学籍番号、氏名を記載する
提出: メイルの添付ファイルとして塚越先生と梶田へ送る塚越先生 [email protected]
提出期間: 1月27日~2月10日(金)
課題:「10年後のヒューマノイドロボット」
レポート採点基準
A.オリジナリティー。発想のユニークさがあるか?
B.基本スペックが示されているか?(全高、重量、センサ、etc)
C.イラストのクオリティー(コピペ不可)
72