DADS/Plant と SIMULINK を利用した１脚走行ロボット “Kenken”のホッピング走行シミュレーション
東京工業大学 玄 相昊∗ ，美多 勉

2002 年 1 月 30 日（MATLAB & Partner Expo 2002）

1

はじめにBody

本研究では動物のように巧みに走行できるロボットの実現を目指している．
「歩行」よりもはるかにダイナミックな「走行」をロボットで実現することによって，人間や動物の移動メカニズムに対する理解がより深まるだけでなく，医療やスポーツ工学，あるいは脚移動ロボットへの応用分野に貢献できると考えている．
そこで我々は，犬型高速４脚走行ロボットを実現することを目指し，そのプロトタイプとして犬の後脚をモデル化した 1 脚走行ロボット “Kenken”を開発した [1]．
我々はこのロボットを安定に走行させるために，ロボットの受動ダイナミクスに基づいた制御則を用いている．
受動ダイナミクスとは制御入力を零とおいたときに現れる自然なダイナミクスで，そのダイナミクスを積極的に利用すれば，少ない入力で目的の運動を達成できることが期待できる．しかし本ロボットのような多自由度機構の場合，受動ダイナミクスの解析は困難である（制御目的は周期軌道の安定化なので，平衡点まわりの解析も役に立たない）．さらに深刻なのは，走行という時定数が小さい運動においてはアクチュエータのダイナミクスを無視できないという問題である．
現在，このような複雑なシステムの受動ダイナミクスに基づいたシステマティックな制御手法を開発中であるが，最初の試みとして，精密なシミュレーションモデルを用いてロボットの受動ダイナミクスを定性的に把握し，その解析結果を下に制御則を導出するという方針をとった．シミュレーションモデルの構築にはDADS と SIMULINK を用いた．このようにして導出した制御則を用いた結果，安定なホッピング走行に成功した [2]．
本稿では 1 脚走行ロボット “Kenken”について簡単に紹介し，DADS と SIMULINK を用いて構築したシミュレーションモデルについて述べる．

2

Hip-actuator
HIP

Thigh

Knee-actuator

KNEE

Leg-spring

Shank

Heel

Foot

ANKLE(passive)

TOE

Fig. 1: Biologically inspired one-leg model
Springextension

Legretraction
Touch-down

BottomStancephaseLift-off

Apex

Touch-down

FlightphaseFig. 2: Hopping motion of our leg modelの 1 脚ロボットである．アクチュエータは腰と脚に各１個のみとなっており，足関節はバネによって駆動される受動関節となっている．Fig. 2 は走行中の脚機構の動作を示している．本モデルの詳細については文献[3] を参照されたい．以下，ハードウェアの概要を示す．
ロボットの外観を Fig. 3 に，主な仕様を Table 1 に示す．走行ロボットを実現する上でのボトルネックはアクチュエータであるが，プロトタイプ段階では，ハードな試験に耐え得る頑健さを自律性よりも優先し，油圧アクチュエータを採用している．足関節を駆動するバネとしては，引張コイルバネを２つ並列に配置している．ロボット本体に搭載されている制御用センサは，関節角を計測する３つのポテンショメータと，地面との接触を検出するリミットスイッチである．ロボット後部に搭載された回路ボックス内には，外部コントロー
ラとのインターフェース回路，サーボアンプ，センサのシグナルコンディショニング回路など，耐衝撃性を動物の脚構造をモデル化した１脚走行ロボット “Kenken”

１脚走行ロボット “Kenken”のモデル図を Fig. 1 に示す．このモデルは３つのリンクからなる回転関節型∗ E-mail: sangho@ieee.org

1Running track
Robotx.
ma2m

BoomCenter pole

Controller,
DCpower
Hydraulic hose
Hydraulicpump

Host computer

Fig. 3: One-legged running robot –Kenken–
Fig. 4: Illustration of experimental setup
Table 1: Main spec. of ‘Kenken’
Parameter
total mass
body mass (incl. boom)
leg massbody length
link length(each)
toe length
leg length (max.)leg length (min.)maximum stride
body inertia around hipleg inertia around hip(max.)
leg inertia around hip(min.)leg spring coeﬃcient(each)length of lever-arm
rated piston force @14MPa
rated piston speed @14MPa

Unitkg
kgkgmmm
m
m
m
kgm2
kgm2
kgm2
N/m
m
Nm/s

Value
13.26
9.66
3.60
0.85
0.18
0.05
0.52
0.31
0.52
0.46
0.13
0.07
10000
0.06
2200
2.21

段階でのコントローラ設計の柔軟性や時間的・人員的制約を考慮し，MATLAB をベースにした市販の開発環境を利用している．具体的には，ロボットのリンクモデル及び床との接触モデルを DADS を用いて構築し，アクチュエータである油圧サーボシリンダについては，作動油の圧縮性までを考慮した一般的な油圧サーボ系のモデルを SIMULINK を用いて構築している．

3.1

Fig. 5 に DADS モデルの構成を示す．Kenken は平面内走行ロボットであるが，実際にはブームで拘束された３次元曲面上を運動するので，3D モデル (“dads3d”)
を用いている．これは今後３次元走行に拡張することを念頭に置いた選択でもある．
リンク系はロボットのパラメータ値を用いた単純な剛体モデルで表現している．油圧シリンダも実物を単純化してモデル化している．

考慮して製作した電子回路が収納されている．
ロボットの平面内での自由な運動を可能とするために，Fig. 4 のような実験環境を構築した．ロボットの運動は拘束ブームによって機械的にポールを中心とする球の接平面に拘束されており，近似的に平面内の運動を実現している．胴体の平面内の絶対位置および姿勢
は，ブームに取り付けた３つのロータリーエンコーダによって計測される．ブームのロッドは CFRP を用いた非常に軽量なもので自重による慣性は無視できるほど小さい（重力を軽減するようなカウンターウェイト類は一切用いていない）．制御則は MATLAB/SIMULINKでプログラムし，外部据置のコントローラに実装している．制御則は単一のタイマー割り込みタスクの中に記述している（制御周期は 0.5[ms] 以下）．

3

リンク系と床接触のモデリング121. link 0
2. link 1
3. link 21
4. link 3
5. link 4
6. シリンダＡロッド
98
7. シリンダＡボディ
8. シリンダＢロッド 10
9. シリンダＢボディ
10. spring
11. ブーム4
12. ブームスタンド
13. 接触要素

シミュレーションモデルの構築

本節では，実機の受動ダイナミクスの把握および制御則の導出・評価を目的として構築したシミュレーションモデルについて述べる．本研究では，プロトタイプ

117623513Fig. 5: Components of DADS model2

バネ要素にあたる TSDA は質量がない純粋な力だけとしての存在なので，実際のコイルバネに近づけるために同等な重量のシリンダを配置している．また，床との接触は link4 の前後と床に “point-segment contact要素”を配置することでモデル化している．ヤング率な
どのパラメータは予備実験を通じて決定した．ただしこのパラメータの調整にはかなりの試行錯誤を要したことを付け加えておく．

3.2

Knee actuator

Hip actuator

油圧サーボ系のモデリングOn board“Kenken”の駆動系は Fig. 6 に示すような典型的な電気油圧サーボ系となっている．最初に述べたように，
本研究ではロボットの受動ダイナミクスに基づいた制御則を導出している．一般にロボットの受動ダイナミ
クスは関節トルクを零とおいたときのダイナミクスを示すが，本ロボットは油圧アクチュエータを用いているため，関節トルクを自由に制御できると仮定することは現実的でない．そこで，直接サーボバルブへの指令電流を制御入力とおくことで，アクチュエータの動特性をも考慮に入れた制御則を導出する．そのために，油圧サーボアクチュエータを SIMULINK を用いてモデル化した．Fig. 7 にそのブロック線図を示す（図は腰のシリンダのみ）．供給圧などのパラメータを設定し，外部ブロックから電流指令とシリンダ位置と速度を与えれば，それに応じて推力を出力するサブシステ
ムになっている．油圧サーボ系のパラメータは，台上駆動試験によって同定した．

Unload valve
M

Fig. 6: Hydraulic system of Kenken

Gain7
1e6

Ps

Variables
i: input current[mA]
QL: load flow[L/min]x : cylinder length[m]xD : cylinder velocity[m/s]Fa : cylinder force[N]PL : load pressure[Pa]0.5*(A1-A2Gain5

Ps[MPa]2x10.5*(A1+A2)

1
Fa1[N]

Gain4

1x1D

Initial position

3.3

x1_0

全体の制御系の構成

Coulomb &Viscous Friction

Hydro-Compressibility

Fig. 8 にシミュレーションモデルを含めた全体の制御系構成を示す. リンク系＋床接触モデル (DADS)，アクチュエータモデル (SIMULINK)，そして次節で示すコントローラ (Stateflow) を，DADS のアドインソフトである MATLAB インテグレーションを用いて結合することで，閉ループ系のシミュレーションを行うことができる．なお，シミュレーションモデルとの接続部分を，実機の入出力インターフェースに相当するSIMULINK ブロックに置き換えれば（カット&ペースト），シミュレーションで用いた制御則を即座に実機に適用することができるようになっている．

4

走行制御のシミュレーション

4.1

コントローラSevo-Valve Dynamics

x1_diffx1D

PL1[Pa]PL1[Pa]QL1[L/min]

QL1[L/min]
i1[mA]3i1[mA]

Hydro-Compressibility

Servo-valve
QL1[L/min]Fig. 7: Brock diagram of servo actuator
Simulation ModelActuator force

Hydraulics

Piston var.s

Input currents

前節で述べたシミュレーションモデルを用いて受動ダイナミクスの解析を行い，その結果に基づいて制御則の導出および制御パラメータの選定を行った．本ロボットは浮遊期と接地期を交互に繰り替えず非線形ハ
イブリッドシステムであるので，コントローラを浮遊期と接地期それぞれについて導出し，それらを有限状

Sensor var.s

Link model

Jointkinematics

Finite State
MachineReal-Time Controller

Fig. 8: Control system for simulation model3

φTable 2: Details of FMS

q1zxState
HOLD
PITCH
EXTEND
POSE
SWINGEventtd postd negphi neg
bottomext max
lift oﬀq2

θvirtual leg

rq3

Fig. 9: Coordinates
Flight phase
INIT

Stance phase
td_posstart

HOLD

よって同定したためである．これ以外のシミュレーションでも２歩目以降は誤差が蓄積されるが，安定性や走行スピードなどの大局的な挙動は，実験とシミュレーションでほぼ一致していることを確認した．

phi_neg
td_neg

SWING

PITCH

bottombottomEXTEND

lift off

Control action
i1 = 0, i2 = 0
i1 = −Kp (φ − φd ), i2 = 0
i1 = −Kp (φ − φd ), or 0, i2 = ic
i1 = 0, i2 = 0
i1 = −K1 (q1 − q1 ), i2 = −K2 (q2 − q2 )Condition when event occurs
sw = 1, φ − φd > 0sw = 1, φ − φd ≤ 0
φ − φd ≤ 0q̇3 ≥ 0
r = rmax , or ż − żd > 0sw = 0

POSE

5ext_max

おわりに態機械によってプログラミングしている（Stateflow を用いている）．制御則の詳細は文献 [2][3] に譲り，ここではその結果のみを示す．
Fig. 9 に，制御に用いる座標を定義する．ここで制御量は平面内の Body の位置と姿勢を表す (x, z, φ) である．制御入力はサーボバルブへの指令電流 (i1 , i2 ) である．本ロボットにおける制御目的は，姿勢を安定に制御しつつ目標とする走行スピードに追従させることである．Fig. 10 はコントローラを記述している有限状態機械を示したものである．各離散状態における制御則とイベントを Table 2 にまとめた．ここで sw は接地スイッチの ON/OFF を表す．

１脚走行ロボット “Kenken”の受動ダイナミクスに基づく制御則の開発と評価を目的として，精密なシミュレーションモデルを構築した．そのツールとして DADSと SIMULINK を採用することで，アクチュエータのダイナミクスまで含むロボットのモデリングが短期間に行われ，さらに，MATLAB ベースのコントローラを採用することで制御則の開発と実機でのテストがまったく同じ環境でシームレスに行うことが出来た．また，このような精密なシミュレーション環境を実機と平行して開発することで，実験の試行錯誤の回数が減らされ，短期間で安定な走行に成功することが可能になった．これまでに得られた成果を元に，現在３次元走歩行が可能な２脚ロボットの開発を進めている．
本研究は文部省科学研究費 COE の補助を受けて行われた．また，油圧システムの開発では (株) 三極 水井氏より，そしてサーボ弁の購入に際しては日本ムーグ (株) より，多大なご協力をいただいた．ここに感謝の意を表す．

4.2

参考文献Fig. 10: Controller implemented as FSM

シミュレーション結果[1] 玄，上條，美多. 動物の脚構造をモデルとした１脚走行ロボットの開発. 第 18 回ロボット学会学術講演会予稿集, pp. 1429–1430, 2000.

Fig. 11 は 1[m/s] の目標スピードに対してホッピング走行を行わせたときのシミュレーション結果である（Fig. 12 は Fig. 11 の一部をプロットしたもの）．Fig.
13 は DADS のアニメーションのスナップショットである．ここでは床反力を矢印で表示させている．同じ条件で走行実験を行ったときのグラフを Fig. 14 に示す．
Fig. 12 と比較すれば，姿勢角 φ のグラフに違いが見られるが，その他はほぼ一致していることがわかる．とくに一歩目の挙動は非常によく一致している．これは接触要素等のパラメータをとくに１歩分の予備実験に[2] 玄，上條，美多. 1 脚走行ロボット− kenken −による走行実験. 第 19 回日本ロボット学会学術講演会予稿集, 2001.
[3] 玄, 上條，美多. 動物の脚構造をモデル化した１脚走行ロボット：kenken. 日本ロボット学会誌, Vol. 20,No. 5, 2002. 掲載予定.
4

1.5
10.5
XD[m/s]0−0.501234560123456012345601234560123T i me [s ]4560.8Z[m]0.60.40.2

φ[d e g ]100−102i 1, i 2 [mA ]0− 2

F o o t S W

10.50Fig. 13: Snap shots of DADS animation

Fig. 11: Simulation results (0-6[s])1.51.51X D [m/ s ]X D [m/ s ]10.5
0− 0.50.5
0− 0.5

00.5

11.5

2

1.5

22.5

3

3.5

1.5

22.5

3

3.5

1.5

22.5

3

3.5

1.5

2

2.5

3

3.5

1.5

2

2.5

3

3.5

0.8

0.8
0.6

Z [m]

Z [m]

0.6
0.4

0.4
0.2

0.2

00.5

1

1.5

2

100− 100

φ[d e g ]φ[d e g ]10− 10

00.5

1

1.5

22i 1, i 2 [mA ]i 1, i 2 [mA ]

20− 2

− 2

00.5

1

1.5

2

1F o o t S W

1
F o o t S W

00.5

0.5
0000.5

11.5

T i me [s ]2

T i me [s ]Fig. 14: Experimental results
Fig. 12: Simulation results (0-2.4[s])5