FIT2019（第 18 回情報科学技術フォーラム）CF-015
脚部運動の左右同時最適化に基づくヒューマノイドロボット受身制御
Fall Control of Humanoid Robot Based on Simultaneous Optimization
on Both Legs Movement
岩田 滉平† 加藤 昇平† 田口 亮†
Kohei Iwata Shohei Kato Ryo Taguchi
1. はじめに
近年，ヒューマノイドロボットの活躍機会が増加することが期待されている．ヒューマノイドロボットは，段差などの障害物に強く，両手を用いて作業を行うことができるという特徴から，ヒトの生活環境を変えることなくロボットを適応できることが期待されている．しかし，ヒューマノイドロボットは同規模の車輪移動型ロボットなどと比較し，重心位置が高く，足裏の支持面積が小さいという傾向から，転倒の危険性が大きいことが問題点として挙げられる．そのため，転倒への対策が必要不可欠となる．ヒューマノイドロボットにおける転倒への対策として，以下の 2つのアプローチが挙げられる．第 1 に，ロボットの機体自体を転倒に対し強くするハードウェア方面からの転倒対策である．第 2 に，ロボットの機体制御により，転倒回避や被害軽減を目指すソフトウェア方面からの転倒対策がある．
その中には，踏ん張りやステッピング動作などにより転倒しないようにする「転倒防止」，転倒時の機体を制御し着地の衝撃を和らげる「転倒制御」，転倒姿勢から自力で立ち姿勢へと起き上がる「転倒回復」の 3 つの対策が存在す
る．ヒューマノイドロボットは転倒しないことが理想ではあるが，環境からの影響全てに対処し，転倒を完全に防ぐことは非常に困難である．そのため，転倒制御および転倒回復の技術も重要となる．そこで本研究では，ヒューマノイドロボットの転倒制御について着目する．左右脚部の同時最適化を行い，従来手法[1]よりヒューマノイドロボットの転倒時に受ける衝撃を安定して大きく軽減する手法を提案する．また，シミュレーション環境を用いて，従来手法の転倒制御システムと提案手法の転倒制御システムの衝撃軽減性を比較する．

2. 受身制御システム
提案システムは「転倒検知」，「受身姿勢決定」，「着地検知」，「着地後関節制御」の 4 部から構成される．本章では，ロボットが受ける衝撃としてロボット胸部が受ける鉛直方向の加速度を用いる．

2.1 転倒検知
転倒検知では．受身制御を行うために転倒の開始を判定する．尾形ら[2]の研究を参考に，以下の不等式を満たすとき，転倒を開始したと判定する．
|𝑳| > √2𝑀2 𝑔‖𝑮‖3 (1 − cos 𝜃𝑐 )(1)
ここで𝑳はロボット重心の角運動量ベクトル，𝑀はロボッ
トの質量，𝑔は重力加速度，𝑮はロボット重心位置ベクトル†名古屋工業大学 大学院工学研究科情報工学専攻 Dept.
of Computer Science and Engineering, Graduate School ofEngineering, Nagoya Institute of Technology

図1

手先拘束平面𝐹を表す．𝜃𝑐 は立位状態の臨界角度を表す．

2.2 受身姿勢決定
受身姿勢決定では，着地後関節制御による衝撃軽減性を高めるために，転倒開始時にロボットの関節を駆動させ，着地に備えた受身姿勢をとらせる．これに対応するため，「脚部屈伸」と「手先拘束平面」により関節を駆動させる．
2.2.1 脚部屈伸ロボット転倒の初期段階に身体を伸縮させることにより，ある程度の位置エネルギーを運動エネルギーに転化することなく削減し，着地時の衝撃を軽減出来ることができる．
転倒検知から着地までの間に，脚部関節を用いた屈伸動作を行うことによりこれを実現する．転倒を検知して屈伸してから脚を伸ばすまでの時間を𝐵𝑒𝑛𝑑𝑇𝑖𝑚𝑒とする．先行研
究では，左右の対応する脚部関節を同じ関節で屈伸させることにより脚部屈伸を行ったが，本研究では脚部関節をそれぞれ違う角度で屈伸動作を行う．
2.2.2 手先拘束平面
受身姿勢決定部では，ロボットの腕部関節を駆動させ，着地に備えた受身姿勢をとる．転倒方向に応じた受身姿勢をとるために，手先の拘束条件を算出し，それに沿って腕部を駆動させる．ロボットの左右の腕部がほぼ同時に着地することで，着地時の衝撃を軽減し，着地検知後スムーズに腕部関節角度制御部へと移行することを目的とする．ロ
ボット重心の角運動量ベクトル𝐿 と，位置ベクトル𝐺 の外積によって求められるベクトル𝑋 ，原点を通りベクトル𝑋に直交するx − y 平面上の直線 S について考える．直線 S を回転軸とし，ベクトル𝑋 を手先拘束条件𝜃ℎ だけ回転したベクトルを𝑋′とする．ベクトル𝑋′ を法線とし，原点を通る平面を手先拘束平面𝐹 とする（図 1）．このとき，手先拘束平面𝐹 上にロボットの腕先を拘束するよう，ヤコビアン[3]によって求められるロボット腕部の関節角度に駆動させ，受身姿勢をとる．

115
第 2 分冊Copyright © 2019 by Information Processing Society of Japan andThe Institute of Electronics, Information and Communication Engineers
All rights reserved.

FIT2019（第 18 回情報科学技術フォーラム）2.3 着地後関節制御
着地後関節制御では，ロボットが受ける衝撃総量を減らすため，着地後にロボット関節の角度制御を行う．ロボッ
トの肩部ロール関節，肩部ピッチ関節，肘部ロール関節，大腿部ピッチ関節，膝ピッチ関節，足首ピッチ関節の左右12 関節にバネ・ダンパ系のモデルを適応する．バネ・ダンパ系のモデルにおいてバネとダンパに繋がれた質量𝑚 の物体は，バネからは物体の移動距離𝑥 に比例した抵抗力を，ダンパからは物体の速度𝑣 に比例した抵抗力を受ける．バ
ネ定数を𝑘，ダンパ定数を𝑐とおくと，バネとダンパから受ける抵抗力により物体が受ける加速度𝑎を以下の運動方程式で表すことができる．
(2)
𝑚𝑎 = −𝑘𝑥 − 𝑐𝑣
この運動方程式をロボットの各関節に適用し，関節の時
刻 t における目標角度angleg (t + 1) を以下のように算出する．
𝑐𝑣(𝑡) + 𝑀𝑎(𝑡)(3)𝑎𝑛𝑔𝑙𝑒𝑔 (𝑡 + 1) = 𝑎𝑛𝑔𝑙𝑒(𝑡) + (−)
𝑘
ここで𝑎𝑛𝑔𝑙𝑒(𝑡) は関節の時刻𝑡における角度，𝑣(𝑡)，𝑎(𝑡)はそれぞれ関節の時刻𝑡における角速度と角加速度，𝑀はロボット質量，𝑘，𝑐はバネ・ダンパ系の運動方程式におけるバネ定数，ダンパ定数を表す．バネ・ダンパ定数を最適な値に設定することで衝撃軽減性を向上させることができると考える．

2.4 比例制御

図2図3

各関節は比例制御を用いてサーボモーターに操作量を指示することで制御する．比例制御とはフィードバック制御の一種である．操作量（制御対象への入力値）を，現在の制御量（制御対象を制御する量，現在の出力値）と目標値との偏差の一次関数として制御する．比例制御は式（4）で表すことができる．
(4)𝑥(𝑡) = 𝐾𝑝 𝑒(𝑡)このとき，𝑡は時刻，𝑥(𝑡)は時刻𝑡における操作量，𝑒(𝑡)は時刻𝑡における現在の制御量と目標値との偏差，𝐾𝑝 は比例ゲインを表す．比例ゲインは使用者が独自に与えることができる定数であり，使用するシステムに応じて最適な値を決定する必要がある．ヒューマノイドロボットは転倒開始から着地までの短時間に受身姿勢をとる必要がある．そのため比例ゲインの値を大きくし，より素早く受身姿勢を完了することが望ましい．しかし着地後の制御においては，比例ゲインの値が大きい場合，素早い関節駆動により衝撃を増幅してしまう可能性がある．そのため，着地の前後で異なる比例ゲインの値を与えることで，それぞれの目的に合わせた関節駆動を実現する．

3. パラメータ最適化
ロボットの機体構成や受身姿勢により，衝撃軽減性は変化すると考えられる．そのため，システムで用いる手先拘束条件等のパラメータを最適な値に設定する必要があるが，人 手 で最 適値 を探 索す る こと は 困難 であ る． そこ で ，Nelder-Mead Simplex Method（NMS）[4]を用いてパラメー
タ を 探索 し， 準最 適化 を 行う ． 本稿 では ， 脚 部屈 伸 の𝐵𝑒𝑛𝑑𝑇𝑖𝑚𝑒，大腿部ピッチ関節，膝ピッチ関節，足首ピッチ関節の左右計 6 関節角度（7 パラメータ），肩部ロール関節，肩部ピッチ関節，肘部ロール関節，大腿部ピッチ関KHR-2HV

前方への転倒における衝撃の最大値の箱ひげ図

図4

右前方 30 度への転倒における衝撃の最大値の箱ひげ図節，膝ピッチ関節，足首ピッチ関節の計 6 関節のバネ・ダンパ定数（12 パラメータ），手先拘束条件（1 パラメータ），着地前後の比例ゲイン（2 パラメータ）の計 22 パラメータを探索する．ロボットの体格は左右対称なため，左右の関節で同じバネ・ダンパ定数を適用する．準最適化の評価指標となる目標関数𝐸 は以下の式（5）で表される．
𝑁𝑑(5)
E=∑
| 𝐴𝑠 (𝑡)|𝑡=𝐹𝐴𝐿𝐿 𝑑𝑡
ここで𝑡 は時刻，𝐹𝐴𝐿𝐿はヒューマノイドロボットが着地した時刻，𝑁 は衝撃が収束した時刻，𝐴𝑠 (𝑡) は時刻𝑡における𝑑
ロボット胸部が受ける鉛直方向の加速度， 𝐴𝑠 (𝑡)は時刻𝑡
𝑑𝑡

におけるロボット胸部が受ける鉛直方向の躍度である．
𝐴𝑠 (𝑡)をロボットが受ける衝撃とする．

116
第 2 分冊Copyright © 2019 by Information Processing Society of Japan and
The Institute of Electronics, Information and Communication Engineers
All rights reserved.

FIT2019（第 18 回情報科学技術フォーラム）表 1 前方への転倒における衝撃の最大値が最小であるパラメータの準最適化結果
パラメータ
従来手法
提案手法
𝐵𝑒𝑛𝑑𝑇𝑖𝑚𝑒
0.17(17steps)0.14(14steps)
右大腿部ピッチ関節角度88.39[deg] 28.36[deg]左大腿部ピッチ関節角度88.39[deg] 73.27[deg]右膝ピッチ関節角度39.50[deg] 91.29[deg]左膝ピッチ関節角度39.50[deg] 46.05[deg]右足首ピッチ関節角度24.28[deg] 69.14[deg]左足首ピッチ関節角度24.28[deg] 43.39[deg]𝜃ℎ22.80[deg] 16.83[deg]
着地前の比例ゲイン
20.00
21.66
肩ロール関節4781.726489.16
肩ピッチ関節6716.935976.72
肘ロール関節バネ
7913.187342.50
定数
大腿部ピッチ関節7027.877009.75
肘ピッチ関節7067.599482.92
足首ピッチ関節5265.704324.68
肩ロール関節512.008565.25
肩ピッチ関節1868.795490.06
肘ロール関節ダンパ
4844.94
1431.85定数
大腿部ピッチ関節3068.512868.80
肘ピッチ関節3070.874210.87
足首ピッチ関節3046.667551.20
着地後の比例ゲイン
1.00
0.22
表2

右前方 30 度への転倒における衝撃の最大値が最小であるパラメータの準最適化結果
パラメータ
従来手法
提案手法
𝐵𝑒𝑛𝑑𝑇𝑖𝑚𝑒
0.12(12steps)
0.16(16steps)
右大腿部ピッチ関節角度23.60[deg] 68.37[deg]左大腿部ピッチ関節角度23.60[deg] 33.99[deg]右膝ピッチ関節角度
106.06[deg] 69.08[deg]左膝ピッチ関節角度
106.06[deg] 128.14[deg]右足首ピッチ関節角度23.20[deg] 37.05[deg]左足首ピッチ関節角度23.20[deg] 44.65[deg]𝜃ℎ24.55[deg] 33.30[deg]
着地前の比例ゲイン
20.00
28.15
肩ロール関節3505.845855.32
肩ピッチ関節5752.746282.43
肘ロール関節バネ
4531.167381.04
定数
大腿部ピッチ関節4198.586748.92
肘ピッチ関節6936.435888.85
足首ピッチ関節6741.736084.06
肩ロール関節568.72−774.48
肩ピッチ関節2755.511684.60
肘ロール関節ダンパ
2455.523552.71
定数
大腿部ピッチ関節1128.28
1954.31
肘ピッチ関節4904.79
2563.37
足首ピッチ関節5574.85
1622.52
着地後の比例ゲイン
1.00
0.16

図5

前方への転倒における衝撃の比較結果

400

350
衝
300
撃の 250
最 200
大 150
値
100
[m/s2 ]
50

330

196

109
67

66

control(従来)

control(提案)

0without

図6

posture(従来)

posture(提案)

右前方 30 度への転倒における衝撃の比較結果

4. 衝撃軽減性評価実験
3 次元物理シミュレータ「Open Dynamics Engine」[5]上に，実在するヒューマノイドロボット「KHR-2HV」を構築し（図 2），前方，右前方（30 度）の 2 方向へ転倒させ，衝撃軽減性を評価する．受身制御システムにより衝撃を軽減させる．NMS を用いて準最適化したパラメータを従来手法，提案手法で各 10 通り生成する．制御なし（without），受身姿勢のみ行い着地後関節制御なし（posture），受身姿勢・着地後関節制御共にあり（control）の 3 手法について衝撃軽減性を比較する．

4.1 実験結果
図 3，図 4に転倒方向（front，right）と従来手法，提案手法の control における衝撃の最大値の箱ひげ図を示す．図 3，
図 4 のグラフは転倒を開始してから衝撃が収束するまでのロボット胸部の加速度の最大値を表す．前方への転倒において従来手法の方が衝撃の最大値が小さくなることが確認できるが，第 1 四分位数，中央値，第 3 四分位数，最大値は提案手法の方が低いことが確認できる．また，右前方への転倒において，提案手法は従来手法よりも衝撃の最大値が小さくなることが多いことが確認できる．このことから，提案手法はどのようにパラメータを最適化しても安定して衝撃を軽減できるものだと考えられる．また，右前方への転倒において衝撃軽減性が発揮できたことから，提案手法は多方面への転倒において衝撃軽減性を発揮するものと考えられる．
次に，衝撃の最大値が最小になるパラメータを使用して衝撃の変化を確認する．表 1，表 2 は転倒方向（front，right）と従来手法，提案手法の control において衝撃の最大値が最117
第 2 分冊Copyright © 2019 by Information Processing Society of Japan andThe Institute of Electronics, Information and Communication Engineers
All rights reserved.

FIT2019（第 18 回情報科学技術フォーラム）400350
300
250
衝200
撃
150[m/s2 ] 100
500-50-100

without
posturecontrol

050

100

150200時間[ms]250300

図 7 前方への転倒における着地から0.3[s]間の衝撃の様子（従来手法）
400350300250
衝200
撃150[m/s2 ] 10050
0-50-100

without
posturecontrol

050100150
200
時間[ms]

2503005. おわりに
本稿ではヒューマノイドロボットの転倒時，人間に近い受身制御を行うことによりロボットに生じる衝撃を軽減する受身制御システムを提案した．実験により，従来手法より提案手法は安定した衝撃軽減性を発揮することができ，多方面への転倒に対して効果的であることを確認した．また，転倒方向に応じ適切なパラメータを設定すること，着地直後に発生する最大の衝撃を軽減する動作を組み込むことにより，更なる衝撃軽減性を期待できる．今後は，転倒の角度に応じてパラメータをロボットが自動的に設定することによって，無学習の状態でも衝撃軽減性を発揮できるようにすることを計画している．

図 8 前方への転倒における着地から0.3[s]間の衝撃の様子（提案手法）
400
350300250衝200
撃
150[m/s2 ] 100500-50-100小になる準最適化したパラメータを示す．このパラメータを使用して，ヒューマノイドロボットに受身制御を行ってもらい，そのときにロボットが受けた衝撃を確認する．図5，図 6 に，転倒方向（front，right）と手法（without，posture，control）の組み合わせにおける衝撃の比較結果を示す．また，図 7～図 10 に，そのときの着地から0.3[s]間の衝撃の変化を示す．図 5，図 6 において従来手法，提案手法共に without，posture，control の順番で衝撃が軽減できていることが確認できる．このことから，受身制御システムは衝撃軽減性を発揮しているものと考えられる．
また，提案手法は without に対する posture の衝撃が前方の場合は 46%，右前方の場合は 67%軽減できている．このことから，受身姿勢をとることでも十分な衝撃軽減性を発揮できるものと考えられる．提案手法では，脚部屈伸において脚部関節を左右それぞれ違う角度で屈伸させているた
め，多方面による転倒に対応できるようになり，衝撃が軽減されたものだと考えられる．図 7～図 10 における転倒の様子を見ると，従来手法，提案手法共に control において衝撃の変化がなだらかになっていることが確認できる．このことから，着地後の衝撃をバネ・ダンパ系の モデルによって関節を駆動させることによって，衝撃を軽減できるものだと考えられる．また，図 3，図 4 において提案手法の方が安定した衝撃軽減性を発揮できることから，パラメータの最適化は式（5）の評価関数が有効だと考えられる．

without
posturecontrol

参考文献
050

100150200
時間[ms]

250300

図 9 右前方 30 度への転倒における着地から0.3[s]間の衝撃の様子（従来手法）
400
350300250
衝200
撃150[m/s2 ] 10050
0-50-100

without
posturecontrol

050100150
200
時間[ms]

250[1] 松井元希，加藤昇平，“手先拘束平面を用いた受身姿勢生成によるヒューマノイドロボットの転倒制御”, 情報処理学会第 79回全国大会，pp.1M-02， (2017)．
[2] 尾形邦裕，戸田健吾，富山健，“2a1-d32 ヒューマノイドロボッ
トにおける腕部を用いた受身動作生成”，ロボティクス・メカ
トロニクス講演会講演概要集，Vol. 2006，(2006)．
[3] 杉原知道. 全身型ヒューマノイドにおける脚動作の実時間生成に関する研究. 東京大学修士論文, 2001.
[4] J.A. Nelder，R. Mead，”A simplex method for function minimization.
Computer Journal”．Vol. 7，No. 4，pp. 308-313，(1965)．
[5] Open dynamics engine，http://www.ode.org/．

300

図 10 右前方 30 度への転倒における着地から0.3[s]間の衝撃の様子（提案手法）

118
第 2 分冊Copyright © 2019 by Information Processing Society of Japan andThe Institute of Electronics, Information and Communication EngineersAll rights reserved.