ムカデ型歩行ロボットの整地歩行制御 - 名古屋大学

ムカデ型歩行ロボットの整地歩行制御
∼接地点追従法による自律分散制御∼
Walking control of centipede-like robot on even terrain
-Autonomous decentralized control based on following contacting-point control○丹羽 智哉 (名古屋大学)
稲垣 伸吉 (名古屋大学)
Tomoya Niwa Shinkichi Inagaki
鈴木 達也 (名古屋大学)
Tatsuya Suzuki (Nagoya University)
Abstract: This paper proposes a new control scheme of decentralized multi-legged robot based on following
contacting-point control. In this control scheme, the first legs contact the points allocated on the ground
and the following legs touch the foot on the point which the former leg is contacting. By creating adequate
contacting points on the environment, the robot can be navigated successfully. Since the position information
of the contacting points is relayed based on physical information of the legs, each leg does not need the
global position of the contacting point. As the result, the proposed control scheme realizes decentralized
architecture. This paper introduces the control law for the robot walking straight and curving on even
terrain. Finally, the result of physical simulation of six-legged robot shows the availability of the proposed
method.
Key Words:
1
Multi-legged robot, Decentralized control, Following contacting-point control
はじめに
多脚歩行ロボット (6 脚以上の歩行ロボット) は歩行安定性が
高く,不整地踏破性が高いなどの特徴を持つことが知られてい
る.多脚歩行ロボットはその歩行の制御方法について大きく二
つに分類ができ,一つは集中型の多脚歩行ロボット,もう一方
は分散型の多脚歩行ロボットである.集中型多脚歩行ロボット
は制御が一極集中型である多脚歩行ロボットのことを指し,分
散型多脚歩行ロボットは制御が分散化されているものを指す.
一極集中型制御であると,ロボットの歩行計画を行う際に効率
的であるが,脚数の増加に伴い計算コストが大きくなる.その
一方,分散型多脚歩行ロボットにおいてはロボットの歩行計画
の設計は複雑となるが,分散的に制御されハードウェア的な分
散性も合わせれば安価な計算コストだけでなく,拡張性やメン
テナンスの容易さなどの利点を挙げることができる.
分散型の多脚歩行ロボットでは神経モデル (反射,CPG など)
を用いた歩行の研究が多くなされてきた 1)2)3) .しかしそれら
Fig.1 Hexapod robot
しかしロボットは脚の接地点の世界系における座標 (グロー
バル座標),およびロボットと接地点の相対位置を正確に把握
できなくてはならず,実機での実現が難しいという問題点,お
よび脚先を接地点から滑らないように全脚の運動と胴体の運動
はロボットの脚の接地点の計画を考えていないため,複雑な不
を逐次計算しなくてはならず,脚数が増えた場合処理系にかか
整地での歩行は実現されていない.一方集中型の多脚ロボット
る負担が大きくなるという問題点がある.そこで本研究では,
においては様々な歩行が実現されている.その多くは各脚の接
FTL gait を分散制御に拡張させた,接地点追従法を提案する.
地点を選択することでロボットが安定に歩行できる歩行計画を
具体的にはロボットの脚を一つのサブシステムと捉え,接地点
立てるといったものである.接地点を選択することはロボット
を選択しつつ分散制御にて歩行を行う.接地点追従法の特徴は
が環境を考慮しつつ安定に歩行する際に有効な手段といえる.
各脚の制御にはロボット全体の情報を用いず,隣接する脚のみ
この中で,R. B. McGhee ら 4) は Follow-The-Leader (FTL)
の情報から行う点にある.これによりロボットの制御は分散化
gait と呼ばれる歩容により,集中型の 6 脚歩行ロボットにおい
され, 各脚はロボットの現在地や目標地を認識せずとも,ロボッ
て障害物回避歩行を実現した.FTL gait とは,各脚の接地点
ト全体としてある目的地へ到達する.
を一つ前の脚の接地点とし,ある決まった順序で接地させる歩
本論文では接地点追従法を用いた平地における直進及び旋回
行方法である.FTL gait の特徴は,ロボットの先頭の左右の 2
歩行の検証についてまとめる.また今回,対象とする多脚歩行
脚の接地点を決めればロボットは歩行が可能となり,各脚それ
ロボットとして Fig.1 のような 6 脚歩行ロボットを想定する.
ぞれの接地点を探索する必要性がないため,不整地歩行を比較
Fig.1 に示すロボットは 6 脚すべての構成と構造が等しく,分
的簡単な制御則で可能である点である 5)6) .
散設計を反映したものとなっている 2) .
2
2.2
提案手法
接地点追従法
まず多脚ロボットを各脚一つ一つがサブシステムに相当する
脚番号を Fig.8 のように左前脚から 1,2,· · · , 2n と割り振っ
ようにシステムを分散化する.本論文で提案する接地点追従法
たとき,i 番目の脚を li その接地点を Pi とおく.ここで下付き
では,分散化された各サブシステム (脚) は最前脚と最後尾脚を
文字 i はロボットの脚番号を示す変数 i = {1, 2, · · · , 2n},また
除いてすべて同じアルゴリズムで制御される.
n は体節の数である.
2.1
先頭の体節と最後尾の体節はそれぞれ前と後ろにそれ以上脚が
制御域
ないので,それ以外の体節と異なる歩行アルゴリズムを用意する
必要がある.よって各脚の歩行アルゴリズムを先頭体節の脚(脚番
zi
号 i = 1, 2),中間体節の脚(脚番号 i = 3, 4, · · · , 2n−3, 2n−2),
o
yi
xi
Leg
Module
最後節の脚(脚番号 i = 2n − 1, 2n)の三つのパターンに分け
Control Area (Ai)
Leg (li)
て示す.まず脚先の制御域内の位置と脚の動きを対応付け,次
のように脚の制御モードを定義する.
Mode1: 領域 1 に接地していて,後方の目標点 Q へ動かす.
Ly
Mode2: 領域 2 に接地していて,後方の目標点 Q へ動かす.
Lx
Fig.2 Control area of leg
各脚は可動範囲を持ち,その可動範囲内で脚が動く.この範
囲内で接地点が拘束される領域を制御域 (Control Area) と呼ぶ
ことにし,脚はこの範囲内でのみ接地することとする.3 次元
不整地を想定するならば制御域は 3 次元空間となるが,本稿で
は平地のみを想定しているので簡略のため制御域は Fig.2 のよ
Mode3: 領域 3 に接地していて,後方の目標点 Q へ動かす.
Mode4: 遊脚していて,脚先を制御域の上空のある位置に維
持する.
目標点 Q は制御域の後端のある点を指す.上記の脚の動作モー
ドの定義から中間体節のアルゴリズムは Fig.4 のようなオート
マトンと次のモード遷移条件で表現できる.
うに平面とする.各モジュールは体と脚から構成され,各脚は
Mode
4
脚の付け根を原点とする進行方向を x 軸,x 軸に直行し脚が生
える方向を y 軸とする座標系 Ci を持つ.いま,制御域を Fig.2
のように Lx と Ly からなる長方形とすると,制御域は x 方向
に − L2x ∼ L2x ,y 方向に Ly の範囲となる.
Mode
3
Mode
2
Mode
1
Fig.4 Control automaton of leg belong to middle segment
中間体節のモード遷移条件 (脚番号 i = 3, 4, · · · , 2n−3, 2n−2)
Mode1 → Mode2 脚先が領域 2 に侵入する.
Mode2 → Mode3 脚先が領域 3 に侵入する.
Fig.3 overlap region
Mode3 → Mode4 後ろの脚 li+2 が自脚 li の接地点 Pi に
接地する.
(後ろの脚 li+2 のモードが Mode1 になる.
)
このように各脚のローカル座標系 Ci により定義される制御
域は,Fig.3 のように前後の脚で重なる部分がある.この重な
りを考慮して制御域は次の三つの領域に分けて考えることがで
Mode4 → Mode1 前の脚 li−2 が領域 1 に侵入し,自脚 li
が Pi−2 に接地する.
(前の脚 li−2 のモードが Mode3 に
なる.
)
きる.
領域 1: 前の脚の制御域と自脚の制御域が重なる領域
領域 2: 制御域が重ならない領域
領域 3: 後ろの脚の制御域と自脚の制御域が重なる領域
脚先が次節で示すアルゴリズムによりこの領域 1 から領域 3 を
移動することにより,ロボットは前進することとなる.
中間体節の歩行アルゴリズムは自分の脚 li の制御域 Ai に侵入
する点が前の脚の接地点 Pi−2 である点に注意されたい.制御
域 Ai を前後の脚で重なる部分ができるように設定することで
一つ前の脚の現在の接地点が自脚の次の接地点となり,接地点
の追従が可能となる.
続いて最後尾体節の歩行アルゴリズムを示す.最後尾体節は
それ以上後ろに脚がないので制御域の領域 3 の部分が領域 2 に
統合される.これに伴い脚の動作モードの Mode3 がなくなり,
制御オートマトンは Fig.5,そしてモード遷移条件は次のよう
になる.
(a) Mode1,2,3
Mode
4
Mode
1
Mode
2
Fig.5 Control automaton of leg belong to rear segment
(b) Mode3 → Mode4
最後尾体節のモード遷移条件 (脚番号 i = 2n − 1, 2n)
Mode1 → Mode2 脚先が領域 2 に侵入する.
Mode2 → Mode4 自脚 li の脚先が領域 2 内のある位置に
到達する.
Mode4 → Mode1 前の脚 li−2 が領域 1 に侵入し,自脚 li
が Pi−2 に接地する.
(前の脚 li−2 のモードが Mode3 に
(c) Mode4
なる.
)
最後に先頭体節の脚の歩行アルゴリズムを示す.先頭体節の
脚はそれ以上前に脚がないので,制御域の領域 1 の部分は領域
2 に統合される.これに伴い脚の動作モードの Mode1 がなくな
るため,制御オートマトンは Fig.6,そしてモード遷移条件は
次のようになる.
(d) Mode4 → Mode1
Mode
4
Fig.7 Walking algorithm for middle segment leg
侵入する前に脚 li が目標点 Q に到達したら,脚 li はそれ以上
後方に脚を動かせないので,後続の脚に接地点を渡すことがで
Mode
2
Mode
3
きなくなり,歩行が継続できなくなる.そのため,先頭体節の
新しい接地点 Pinew は歩行が継続できるような前後間隔で配置
しなければならない.
Fig.6 Control automaton of leg belong to ahead segment
接地点追従法のアルゴリズムは以上の通りである.各脚は前
後の脚の現在位置と動作モードといった,ローカルな情報のみ
先頭体節のモード遷移条件 (脚番号 i = 1, 2)
Mode2 → Mode3 脚先が領域 3 に侵入する.
Mode3 → Mode4 後ろの脚 li+2 が自脚 li の接地点に接地
する.
(後ろの脚 li+2 のモードが Mode1 になる.
)
Mode4 → Mode2 生成された次の接地点 Pinew が領域 1 に
侵入し,自脚 li が
Pinew
に接地する.
先頭体節の脚 P1 ,P2 の新しい接地点 Pinew (i=1,2) は地面環
境をセンサ等で探索し決定される.仮に Pinew が制御域 Ai に
で制御される.これにより多脚歩行ロボットの制御は分散化す
ることができ,脚数の多さにも対応できる.しかし接地点の配
置によってはアルゴリズムは適用できない場合がある.つまり
アルゴリズムが適用できる条件は,
1. 先頭体節の脚の接地点が制御域内に入るように生成されて
いること
2. 制御域は前後の脚で接地点の受け渡しができるように重な
りあっていること
3. 接地点間距離が適切な範囲内であること
Transmitting the contacting point
from Leg1 to Leg3
Entering the control area
of Leg1
Leg5
Leg6
Leg3
Leg4
Leg1
Leg2
Moving
Direction
Leg5
Leg3
Leg1
Leg6
Leg4
Leg2
(a)
Moving
Direction
Leg5
Leg3
Leg1
Leg6
Leg4
Leg2
Moving
Direction
(c)
(b)
Transmitting the contacting point
from Leg3 to Leg5
Leg5
Leg3
Leg1
Leg6
Leg4
Leg2
Moving
Direction
Leg5
Leg3
Leg1
Leg6
Leg4
Leg2
Moving
Direction
Leg5
Leg3
Leg1
Leg6
Leg4
Leg2
(e)
(d)
Moving
Direction
(f)
Fig.8 Frow of contact point and locomotion of hexapod robot
である.この条件を満たすような接地点の生成法の導出は今後
Fig.8 (a) における Leg1 の次の接地点(色付けされた×印)
の課題である. 中間体節の歩行アルゴリズムを表した図を Fig.7
に着目すると,一連のロボットの動きの中でこの接地点をバト
に示す.
ンを渡すように後続の脚がさらに後ろの脚へと渡していくこと
2.3
となる.またその一方,脚が接地したかの情報は後ろの脚から
ロボット全体の動きと接地点の伝播
前脚となる Leg1,Leg2 に対する接地点を逐次与えることに
より,ロボットは前節のアルゴリズムにより制御された各脚の動
きにより歩行する.Fig.8(a)∼(f) は,ロボットの各脚の動きを
上から見た図である.図中の×印は接地点を意味する.Fig.8(a)
を例にとると,Leg2, 3, 5, 6 は地面に接地し胴体に対し後方に
前の脚へと伝播していく.この脚の一連の動きによりロボット
は前進する.最前脚 (Leg1, 2) の接地点をアルゴリズムが成立
するように用意することで,ロボットは進行方向に歩行を続け
ることができる.Fig.8 (a)∼(f) には 6 脚の場合の歩行を示し
たが,本アルゴリズムでは 6 脚に限らず 2n 脚のロボットに対
脚をかいでおり,Leg1 は脚先を浮かしたまま次の接地点に向
応できることが分かる.
かって脚を運んでいる.そして,Leg4 は脚を浮かした状態で次
2.4
脚間の通信と目標接地点座標の算出
の接地点をその場で待っている状態である.Fig.8(a)∼(f) にお
Fig.2 に示した通り,脚 li は自分の脚の付け根を原点とする
いてロボットの進行方向に向かって左側のモジュール群 (Leg1,
座標系 Ci を持ち,制御域 Ai と接地点 Pi の座標もすべてこの
3, 5) について着目すると,次のような動きをすることがわかる.
1. Leg1 の制御域に新しく用意された接地点が侵入し,Leg1
がその点に接地して後方に脚を駆動する.
(Fig.8 (a),(b))
2. Leg1 の脚先が Leg3 の制御域に侵入し,Leg3 は Leg1 の
座標系 Ci に属する.各脚は前脚の接地点に脚を着くとき,それ
ぞれ一つ前の脚 li−2 の座標系 Ci−2 に属する座標 Pi−2 を座標
系 Ci へ変換して扱う必要がある.体節間のジョイントの角度
を θ ,体節中心から脚の付け根までの距離を R,ジョイントの
支点を体節中心距離 Ileg の中点とした際,Pi−2 = (x, y, z) の,
脚先を次の接地点とし,その点に向かって脚を前方に運び
座標系 Ci に対する座標 Pi−2 = (x , y , z ) は次の式 (1) の変換
接地する.この時 Leg1 の接地点が Leg3 に受け渡された
により求められる.
ことになる.( Fig.8 (c),(d) )
3. Leg3 の脚先が Leg5 の制御域に侵入し,同様に Leg5 は
Leg3 の脚先を次の接地点とし,脚を前方に運び接地する.
0 1 0
x
cos θ
B C B
By C = B sin θ
@ A @
0
z
10
− sin θ
cos θ
0
0
x+
Ileg
2
1
0
−
Ileg
2
1
CB
C B
C
B
C B
C
0C
A @ y − R A + @ R A (1)
1
z
0
この時 Leg3 の接地点が Leg5 に受け渡されたことになる.
( Fig.8 (e),(f) )
一つ前の脚と毎ステップ通信して得た脚先の座標 Pi−2 =
(x, y, z) を Pi−2 = (x , y , z ) へ変換してこの座標を把握し,次
の目標接地点とする.さらに,一つ後ろの脚との通信により後
ろの脚の現在の動作モードを把握し,遊脚のタイミングを決め
body
る.本手法では各脚は一つ前の脚の位置情報と一つ後ろの脚の
arm1
接地情報のみを取得し制御を行い,結果として最前脚の2脚の
arm2
接地点を後続の脚が順に追従していくことでロボット全体とし
て目標地へ到達させる.各脚は前後の脚の情報のみで制御され
arm3
ることから,ロボットの制御は分散化されているといえる.
また遊脚していて接地点に向かって脚を運ぶ際,Pi−2 =
sphere
(x , y , z ) を逆運動学を用いてモータの目標角度へ変換して取
り扱う.脚 i のモータ j の出力トルクは τji は目標角度 θˆji に追
従するように Kp ,Kd をそれぞれフィードバックの比例ゲイン
Fig.10 Configuration of module
と微分ゲインとした以下の式で表される PD 制御を行う.
˙
τji = Kp (θˆji − θji ) + Kd (θˆji − θ˙ji )
3
Table 1 Size of a module in simulator
(2)
シミュレーション
size(w×d×h)[m]
mass[kg]
本研究では,検証対象とする 6 脚歩行ロボットのモデルのシ
body
0.60 × 0.30 × 0.05
4.5
7)
arm1
0.2 × 0.04 × 0.04
0.92
を利用し,ロボットのモデル作成と歩行のシミュレーションを
arm2
0.2 × 0.04 × 0.04
0.92
行った.
arm3
0.2 × 0.04 × 0.04
0.92
Sphere
Radius[m]= 0.05
0.09
ミュレーション環境として,3 次元物理シミュレータ PhysX
3.1
物理シミュレータ PhysX
PhysX は,C/C++言語を用いて Windows 上での動作及び
3D グラフィック表示が可能な物理シミュレーションライブラ
Fig.9 の 6 つのモジュールの形状・寸法はすべて等しく,分
リであり,自由に剛体のシミュレーションが行うことができる.
散設計を反映している.なお左右の脚はボディから生えていて
また作成する剛体間にリンクを設定することができ,そのリン
一つの体節を形づくっており,各体節間は粘弾性を持つジョイ
クにモータやダンパ機能を付加することが可能なうえ,剛体内
ントにより結合され 1 自由度を持っている.また, 前後の脚の
の任意の点に外力や外部トルクを与えることができる.そして
付け根 (arm1 の端) の間隔を Ileg と置くと,Ileg = 0.4[m] に設
シミュレーションの 1 ステップ終了毎にシミュレーション演算
定した.
により求まった剛体の位置・速度を受け取ることができ,歩行
ロボットの動きを近似的に得ることができる.なお今回,重力
加速度は g = −9.81[m/s2 ] を用いた.
3.2
シミュレーションロボットの構造
4
平地での直進・旋回歩行
Fig.9 の 6 脚歩行ロボットを用いた接地点追従法による平地
歩行を,直進と旋回に分けて行った.まず各脚の制御域 Ai を
Lx = 0.5[m],Ly = 0.5[m] と設定する.
直進歩行を行うにあたって,接地点を接地点間隔 Ip = 0.4[m]
間隔で配置し,旋回歩行では R = 4.0[m] の曲面軌道を歩行さ
せ,接地点は曲率が等しい孤面上にそれぞれ弧の中心から一定
の角度 6[deg] の点に配置した.
Fig.11 と Fig.12 は, それぞれ直進歩行時と旋回歩行時の接地
点と実際の軌道及び各脚の実際の接地点をプロットした図であ
る.実線がロボットの質量中心の軌道であり,それに対し左側
と右側の点列はそれぞれ配置した Leg1 と Leg2 の目標接地点
(四角),Leg1 と Leg2 の実際の接地点 (アスタリスク),Leg3 と
Leg4 の実際の接地点 (ひし形),Leg5 と Leg6 の実際の接地点
(丸) である.
各脚の接地点は進行方向に対し,一つ前の脚の接地点の少し
Fig.9 Simulation environment and hexapod robot
後方に接地し,質量中心の軌道は若干のぶれはあるが直線軌道
および旋回軌道を描いていることが見て取れる.各脚の進行方
ロボットのシミュレーションモデルを Fig.9,Fig.9 に,パーツ
向に対する接地点のずれは脚先の球体の直径にほぼ等しく,各
の寸法を Table 1 に示す.ここでロボットの正面から見たパー
脚は一つ前の脚の接地点を追従している.また Fig.13 は Leg1
ツの幅を w,奥行きを d,高さを h と置いた.
∼Leg6 の直進歩行時の脚先の Z 方向の位置をプロットした図
0.16
4.5
4
3.5
Leg1,Leg2
Leg3,Leg4
Leg5,Leg6
Target contacting-point
of Leg1,Leg2
Center of mass trajectory
0.12
3
2.5
Z [m]
Y [m]
Leg1
Leg3
Leg5
0.14
0.1
2
0.08
1.5
0.06
1
0.5
0
0
0.04
0.5
1
1.5
2
2.5
X [m]
3
3.5
4
0
4.5
3000
4000
5000
Fig.13 Left leg Position Z
4.5
3.5
2000
Time
Fig.11 Straight
4
1000
を行わなくてはならない.また本稿では平地のみを想定したが,
Leg1,Leg2
Leg3,Leg4
Leg5,Leg6
Target contacting-point
of Leg1,Leg2
Center of mass trajectory
接地点追従法は段差や凸凹が組み合わさった複雑な不整地にお
いて有効な手段である.今後は接地点追従法の不整地での検証
を行ったのち,接地点の配置アルゴリズムを組み合わせた歩行
3
Y [m]
の検証を行う予定である.
2.5
参考文献
2
1.5
1) 土屋和雄, 青井伸也, 辻田勝吉: “多脚歩行ロボットの動力学
1
解析,” 計測自動制御学会 システム・情報部門 自律分散シス
テムシンポジウム, pp.143-148, 2003
0.5
2) 稲垣伸吉, 湯浅秀男, 鈴木健了, 新井民夫: “波動 CPG モデ
0
0
0.5
1
1.5
2
2.5
X [m]
3
3.5
4
4.5
Fig.12 Curving
ルを用いた多脚歩行ロボットの歩容生成と移動速度制御, ”
日本ロボット学会論文誌, Vol.22, No.2
3) 小田島正,湯浅秀男,伊藤正美: “均質モジュールからなる
自律分散型多脚歩行ロボットシステム,”日本ロボット学会
である.各脚は一つ後ろの脚が地面に接地すると脚を上げてい
論文誌,Vol.17,No.7,pp.957-964,1998
ることがわかる.各脚はそれぞれローカルな情報を基に分散的
4) F.Ozguner,S.J.Tsai,R.B.McGhee: “An Approach to the
に制御されているが,結果として最前脚 Leg1,Leg2 の目標接
Use of Terrain-Preview Information in Rough-Terrain Lo-
地点 (四角) に Leg1,Leg2 が追従し,その後ろの Leg3,Leg4
comotion by a Hexapod Waking Machine,” The Interna-
はそれぞれ Leg1,Leg2 の接地点に追従し,さらに Leg5,Leg6
tional Journal of Robotics Research, vol.3, No.2, pp.134–
はそれぞれ Leg3,Leg4 の接地点を追従して接地していくこと
145, Summer 1984
でロボットを向かうべき方向へ導いている.
5
まとめ
本稿では多脚歩行ロボットの歩行方法として接地点追従法を
提案し,接地点追従法を用いた平地における直進及び旋回歩行
の検証についてまとめた.また対象とする多脚歩行ロボットと
して 6 脚歩行ロボットを想定し,3 次元物理シミュレータによ
りロボットのモデル化を行い,シミュレーションによりアルゴ
リズム (接地点追従法) の検証を行った.シミュレーション結果
から,平地にて接地点追従法における直進と旋回歩行が可能で
あることが確認された.
本稿では最前脚の接地点はあらかじめ定めておいた上で歩行
させたが,実世界での適用を考えるとリアルタイムにて接地点
の探索を行い,あるアルゴリズムに基づいた最適な接地点配置
5) Ching-Long Shih ,Charles A.Klein: “An Adaptive Gait
for Legged Walking Machines over Rough Terrain, ”IEEE
Trans. on system ,man and cybernetics, Vol.23, No.4,
pp.1150–1155, July/August 1993
6) R.B.McGhee,G.I.Iswandhi: “Adaptive Locomotion of a
Multilegged Robot over Rough Terrain, ”IEEE Trans. on
system ,man and cybernetics, Vol.9, No.4, pp.176–182,
April 1979
7) www.nvidia.com