open-rdc / PCPC

1 stars 0 forks source link

軌道のズレをZMP方程式で確認する #8

Open Akira794 opened 4 years ago

Akira794 commented 4 years ago

歩行中に目標旋回角を変更した場合, 歩行中から停止2歩前の状態に移る軌道がズレている.

重心軌道からZMPを求め計画ZMPとのズレを確認する

Akira794 commented 4 years ago

60deg-0deg

Akira794 commented 4 years ago

ZMP方程式で確認 check_outzmp_60deg-0deg_before

不自然なZMP軌道. 本当にこのときの目標旋回角度に対する重心軌道なのかデバックする.

デバック中にバグを発見 本来であればズレの始まる地点では係数を求める1次式の場合分けで deg <= 9の条件分岐に入らなければならないのに 9deg以上の値と判定されている

Akira794 commented 4 years ago

degの値を確認, 9degではなく 9.00002 degが出力されている. 原因はラジアン(rad)から角度(deg)変換で起こったものであると確認. 修正

Akira794 commented 4 years ago

再び重心軌道を生成し確認 60deg-0deg

重心位置(x,y方向) cog_x

cog_y

重心加速度(x,y方向) acc_x acc_y

一次式も歩行停止2歩前の歩行中の条件分岐がdeg <= 9degに入ってることを確認

Akira794 commented 4 years ago

ZMP方程式で重心軌道から求められるZMP軌道を確認する.

Akira794 commented 4 years ago

check_outzmp_60deg-0deg

Akira794 commented 4 years ago

計画ZMPと比べ重心軌道から導出されたZMP軌道がよく追従できていることを確認

ズレの原因は旋回角のradからdeg変換ミスと場合分けの条件分岐