計測自動制御学会東北支部 第 231 回研究集会 (2006.10.31)
資料番号 231-2

PF法を用いた車輪型移動ロボットの行動決定
Decision Making for a Mobile Robot
Using Potential Function Method○及川一美 ∗ ，大久保重範 ∗○ Kazumi Oikawa∗ ，Shigenori Okubo∗*山形大学工学部*Faculty of Engineering, Yamagata University,
キーワード : ポテンシャル関数法 (Potential Function Method)，重ね合わせ (Superposition)，
行動規範型ロボット (Behavior-based Robotics)，屋内ナビゲーション (Indoor Navigation)，
サブサンプション・アーキテクチャ (Subsumption Architecture)

連絡先 : 〒 992-8510 米沢市城南四丁目三番地十六号 山形大学 工学部 機械システム工学科
及川一美，Tel.: (0238)26-3246，Fax.: (0238)26-3246，E-mail: okazu@yz.yamagata-u.ac.jp

1.

はじめに津崎ら4) のポテンシャルメンバーシップ関数（以下，Subsumption Architecture1)（以下，SA と呼ぶ）に代表される行動規範型手法において，互いに独立した複数のモジュールから出力される行動を全体の行動としてどのように採択するかという問題に対して，ポテンシャル関数（以下，PF と呼ぶ）PMFと呼ぶ）を利用する手法がある．RoboCupのサッカーロボットに適用し動的且つ複雑な環境においてロバストな結果を示した．この手法は複数のルールを PMF で表現し，それらをファジィ演算により統合した結果から行動を決定する．
本論文では PMF法のような重ね合わせの手法をを用いて重ね合わせる手法について述べる．
我々は SA が計画を必要とするタスクに不向きであるという問題を解決するためにオブジェクト指向設計法を提案し 2) ，ナビゲーションタスクに適採用することで，SA の階層構造に起因する問題の解決を図る．ここでは PMF 法を改良した PF 法について述べる．

用した 3) ．オブジェクト指向設計法では SA を干渉型と非干渉型の二つに分けて考え，プログラミン

2.

問題設定

グが容易な非干渉型を採用した場合に起こる上記

本研究では，移動ロボットの目的地到達問題をの問題に対して，状態に応じて階層構造を切替え扱う．この問題を解くためにロボットが保持するることで解決を図った．しかし，局所的には階層マップの内部表現としてグラフ表現 3) を採用する．

構造の問題は残されたままで，非効率な行動が依

本稿ではローカルランドマークが存在する通路状然として現れた．

環境を，グラフマップで表現する手法を用いる．こ

ところで，複数のルールを統合する手法として，–1–するセンサやマイコンの性能，及び技術的な問題

Front
3

452

6

LandmarkSensor

でロボットが検出しやすい特別な人工物とする．
ここでは，赤外線を用いて ID 信号を発信するラン1

ドマークを想定しており，ロボットはその赤外線7が届く範囲でランドマークの ID を識別することが可能であるとする．

0

Direction of PSDs

Fig. 1Mobile robot

05

313.

SA の問題点

非干渉型 SA は Fig. 3 に示すような階層型構造15による行動決定手法であり，行動を出力する各モジュールは他のモジュールからの干渉はない．そのため，モジュールから出力された行動が互いに030b41

Fig. 2

相反するときでも，上層のモジュールが優先して採用されるので，複雑な処理を必要とせず実現がCorridor environment

容易である．しかし，この単純な調整法では，モこで，ローカルランドマークとはランドマークのジュールのレベルで見たとき最適な行動であって近傍でのみ観測可能なランドマークと定義し，以も，全体的には不適切な行動となる場合が多い．

下，特に断わらない限りランドマークと表記する．

例えば，Fig. 4 に示されるような状況で，障害物回避を担当するモジュールの選択できる行動は，A

2.1

移動ロボットもしくはB方向に回避することである．一方，通路

本論文では実験で使用する実機を想定してシミュ沿い走行を担当するモジュールは A 方向を選択すレーションを行った．ここで想定するロボットはる．しかし，障害物回避モジュールは他のモジュー

本研究室で製作した移動ロボットである．このロルの意図は全く知らないので，A か B か独自の判ボットは独立駆動車輪型移動ロボットで，測距セン断で決めることになる．運悪く B 方向を選択した

サとして PSD を 8 個，電子コンパスを 1 個，そしてとしよう．その場合，通路沿い走行モジュールとランドマーク検出センサを搭載している．ロボッ

衝突することになるが，障害物回避モジュールがトはデッドレコニングは用いず正確な自己位置は上層であれば B 方向が優先され採用される．以上わからないものとする．上部からの概観と測距セのように，上層を優先する階層構造は不適切な行

ンサの方向を Fig. 1 に示す．

動を生成しやすいという問題を抱えていた．それは下層の意図を無視し上層の独断で決めてしまう

2.2

ところに問題がある．

作業環境

作業環境は文献 3, 2) と同様に通路状環境とし，Avoid Module

Fig. 2 に示されるように交差点や T 字路，端点にCompass Module

ランドマークが配置される．ランドマークは環境MapNavi Module

中の任意の特徴物が望ましいが，ロボットに搭載

Fig. 3–2–Layered Control

行動の集合を X = {x1 , x2 , . . . , xn } とすると，次のobstacle

ように定義される．

Direction of travelBA

F : X 7→ (−∞, ∞);Fig. 4F (xi ) ∈ (−∞, ∞), xi ∈ X

優先度は行動が優先的に選択される度合いのこと

Example of problem of SA

であり，F (xi ) > 0 は行動 xi が能動的行動である
以下，この階層構造の問題を解決し，かつできことを意味する．同様に F (xi ) < 0 は抑制的行動，るだけ単純な調整方法を有するような行動決定方

F (xi ) = 0 は受動的行動を意味する．PF 同士の演式を考察することにする．

算は，全てのモジュールの意思を反映させるために多数決を採用し，基本的には代数和を用いる．

4.

ポテンシャル関数法

但し，抑制的行動はロボット自身を護るための重PMF法では，ファジィ理論におけるメンバーシップ関数を用いて横軸が行動の種類，縦軸が優先度を意味する関数を用いる．ところで，ある瞬間において，能動的な行動と抑制的な行動が同時に存要な意思決定であり優先されるべきである．したがって，異符号同士の演算は負の値を演算結果とする．本演算の演算子を ⊕ と表すと，演算は以下のようになる．

在することは珍しくない．それらと同時に，受動x⊕y =y⊕x=的，つまり能動的でも抑制的でもない行動も存在する．この 3 種類の行動を一つのメンバーシップ関数で表現する事は困難である．何故なら，関数と演算がペアになって 3 種類の行動の内，2 種類の行動を表現するからである．例えば，AND 演算の場

(x+yx

(x · y ≥ 0)
(x < 0 ≤ y)(1)

ところで，優先度の範囲が (−∞, ∞) であると，モジュール間に不平等が生じるので，モジュールが出力するPFを，ある適当な定数M を用いて次のように定義する．

合，1 の値を与えられた行動は受動的を意味し，0f : X 7→ [−M, M ];f (xi ) ∈ [−M, M ], xi ∈ Xの値を与えられた行動は抑制的を意味する．一方，OR 演算の場合，1 の値を与えられた行動は能動的を意味し，0の値を与えられた行動は受動的を意味する．このように，関数だけでは一意に決まらず，

以下，特に説明がなければ優先度の範囲で PF を大文字と小文字で区別して表記する．以上より PF の演算は新たな PF を生成し，次のように定義する．

演算を伴って表現しなければならない上に，同時F (xi ) = fa (xi ) ⊕ fb (xi ),xi ∈ Xに 3 種類の行動は表現できないのである．
したがって以上の理由により，メンバーシップ関数およびファジィ演算は本手法では採用せず，3

ただし，右辺の PF は f でも F でも定義可能であるが，生成される関数は F のみである．

種類の行動を一つの関数で表し，上記の要求を満4.2たした演算を考える．

統合及び行動決定

m 個のモジュールそれぞれから出力される PF を4.1

ポテンシャル関数及び演算

f1 , f2 , . . . , fm とすると，統合演算は次のように定PFとは行動に対する優先度を与えるものであり，義される．

優先度は (−∞, ∞) で与えられる．これより，PF は–3–F ∗ (xi ) = f1 (xi ) ⊕ f2 (xi ) ⊕ · · · ⊕ fm (xi ),xi ∈ Xこの統合演算を x1 から xn まで行った結果，うに求める．

F ∗ (xmax ) = max(F ∗ (x1 ), F ∗ (x2 ), . . . , F ∗ (xn ))v = Kv φ
ω = Kω θmaxとなる行動xmax をロボットの行動として採用する．
但し，複数の行動が得られた場合は適当な規則でここで，Kv ，Kω は比例ゲイン定数である．

1 つに決定する．

ところで，θmax が一意に決まらない場合，今回はロボットの正面に最も近い角度を選んだ．それ

4.3

移動ロボットへの適用でも決まらない場合は乱数で求めた．

独立二輪駆動型移動ロボットが行動するために必要なパラメータは前進速度 v 及び旋回速度 ω でナビゲーションタスクにおける PF4.4ある．この 2 つのパラメータを独立に決定するた

Fig. 6 にシミュレーションの一場面と，統合後めに文献 5) を参考にして開空間の方向 θ と距離 φ のの PF 及び TF を示す．黒の三角印が付いた四角が情報を用いることにする．方向に関しては PF を用ロボットとその姿勢を意味しており，三角印の向いて求め，距離に関しては変換関数（以下，TF）

きがロボットの正面である．黒の塊は壁もしくはを用意することで求める．PF の定義域はロボット障害物を意味し，それ以外は通路を意味する．通の正面からの相対角度 Θ = {θ1 , θ2 , . . . , θn } とする．

路状にある数字はランドマークの ID 及び位置を表TF の定義域は PF と同様に Θ であるが，値域は各している．その周囲のグレーの領域がランドマー方向に対するロボットから障害物までの距離とすクを観測できる範囲を表す．Fig. 5 に各モジューる．したがって，TF を次のように定義する．

ルのPF及びTFを示す．以下，各モジュールについG : Θ 7→ [0, ∞);て，紙面の関係上 PF については概要のみ述べる．

G(θi ) ∈ [0, ∞), θi ∈ Θモジュールから出力される TF も値域は変わらない

Avoid Module

が，便宜上 PF と同様に大文字と小文字を区別してAvoid Module表記する．TF の演算を次のように定義する．

10010Distance[cm]80G(θi ) = min(ga (θi ), gb (θi )),Potential

5θi ∈ Θ0-560

4020-10-180よって，TFの統合演算は次のように定義される．但-90-45045901350-180180-135

Direction[degrees]-90-45045901351809013518090135180

Direction[degrees]Compass Module
100

し，m個のモジュールから出力されるTFをg1 , g2 , . . . , gm

Distance[cm]105Potentialとし，以下の演算を θ1 から θn まで行う．

-1350-580604020∗G (θi ) = min(g1 (θi ), g2 (θi ), . . . , gm (θi )),-10θi ∈ Θ-180-135-90-45045901350-180180-135Direction[degrees]-90-45045Direction[degrees]

MapNavi Module
10010ここで，PF の統合演算によって得られた角度がPotential

θmax であるとき，距離 φ を次のように求める．
(G∗ (θmax ) (F ∗ (θmax ) ≥ 0)
φ=0
(F ∗ (θmax ) < 0)Distance[cm]8050-5604020-10-180-135-90-450

45Direction[degrees]

以上の操作から前進速度 v 及び旋回速度 ω は次のよ

–4–Fig. 5901351800-180-135-90-45045

Direction[degrees]

A example of PF and TF of each module

Integrated DistanceIntegrated Potential

Table 110010Weighting function

Distance[cm]80

Potential

50-5604020-10-180-135-90-45045901350-180180-135

Direction[degrees]-90-4504590135180θ[◦ ]-180-135-90-45

W (θ)

0.00.250.500.75◦

θ[ ]04590135

W (θ)

1.00.75

0.50

0.25

Direction[degrees]

State では超信地旋回を行うため，TF は全ての方向を 0 にする．

Compass Module
Fig. 6

通路を沿う行動を出力するには距離センサの数Integrated PF and TFが極端に少ないために，地磁気を利用して目標の距離センサからの情報により，障害物の方向及び開空間を求め，障害物回避が可能な PF を生成するモジュールである．状態遷移図を Fig. 7 に示す．

PF の生成では，距離値 x[cm] からポテンシャル pに変換するのに次式を用いている．
−10(x < 5)
 (x−20)×10 (5 ≤ x < 20)15p=0(20 ≤ x < 25) (x−25)×10 (40 < x)15方位に誘導することで，沿い走行を実現するためのモジュールである．このモジュールでは状態遷移は行わない．PF は単純に目標の方位に最大値を与えている．TF は正面を最大にし常に固定である．

MapNavi Module
指示された経路にしたがって目的地に誘導する(2)ためのモジュールである．状態遷移図を Fig. 8 示

TFは旋回中に障害物との衝突を避けるために，正面方向のTFが最大になるように，距離センサからの値を加工している．加工する式は以下の通りです．図中の矢印の根元に書かれた単語は遷移時に発生させるイベント名である．PF はランドマークの観測可能領域外では全方向を0，領域内ではランある．

ARRIVAL

Start Stated˜θ =(dθ W (θ)(dθ > dθf )dθf W (θ) (dθ ≤ dθf )(3)

No Plan StateGOALNEXT

但し，θ は各方向の角度，θf は正面方向の角度，dθArrival State
FOUND

Next LM Stateは θ 方向の距離値，d˜θ は θ 方向の加工した距離値，dθf は正面の距離値である．関数 W (θ) は Table 1

Approach StateLOST

Lost Stateに示すような重み関数である．

FOUND

この処理は Rotate State 以外で行われ，Rotate

Near StateARRIVALARRIVAL

Detect State

Avoid State

Rcovery State
GOAL

GOAL

Stop State

Rotate State
Narrow State

Fig. 8Module

Fig. 7 State Transition Diagram of Avoid Module–5–State Transition Diagram of MapNavi

Arrival State

Arrival StateGOAL

GOAL

MapNavi Module

Goal State

Goal State
MapNavi Module

NEXT
ARRIVAL
Next LM State

MapNavi Module
NEXT
MapNavi Module
ARRIVAL
Next LM State

MapNavi Module

Compass Module

Avoid Module

Avoid Module
Compass Module
ARRIVALARRIVAL

MapNavi Module
GOAL

FOUND

Corridor State

Corridor StateARRIVAL

MapNavi Module

MapNavi Module

Avoid Module

Avoid Module

LOST

Compass Module

ARRIVAL
Found State

GOAL
FOUND

Found State

LOST

Avoid Module
Compass Module

Avoid Module

FOUND

MapNavi Module

MapNavi Module
FOUND

Fig. 9 Event Driven State Transition Diagramwith PF Method

Fig. 10 Event Driven State Transition Diagramwith SA

ドマークがある方向を最大値にするように生成すテップとはサンプリング周期のことを意味し，今る．TF は Compass Module と同じ生成方法である．

回は 50msec とした．ただし，ステップ数はロボッ

例では，ランドマークの観測可能領域内に入ってトの移動速度の違いによる影響を受けるので，一いないため，PF は全ての方向に対して 0 を出力し概にステップ数だけで効率が良いと判断できないている．

ことに注意が必要であるが，適切な速度を選択しているかという判断も含めて，ここではステップ4.5

イベント駆動状態切替手法

数による比較を採用した．したがって，ここではタスクを円滑に遂行するためには，状況に合わせて適宜必要なモジュールを選択する必要がある．

ステップ数が少ないほど効率が良いと判断することにする．

この仕組みにはオブジェクト指向設計 SA2) で用いたイベント駆動による状態遷移を用いる手法を採5.2

SA の設定用する．同様にモジュール内の PF 及び TF 生成ア

本実験で用いる SA は文献 2) の手法によって設計ルゴリズムも状態遷移により切替える．今回のナする．比較の精度を上げるために，モジュールはビゲーションタスクには Fig. 9 のように設計した．

PF法で設計したものを階層構造に適用できるよう

図中の矢印の根元の単語は遷移のきっかけとなるに改良して用いる．今回，設計した状態遷移図をイベント名である．

Fig. 10 に示す．

5.

シミュレーション

5.1

SA と PF 法の比較

5.3

Task 1

1 つ目のタスクに対する作業環境を Fig. 11 に示PF 法の有効性を確認するために SA との比較実験を行った．実験は計算機上で行う．本実験では2 つの手法の効率を比較する．その指標としてス

す．図にはランドマークとその ID，及びスタート位置と向きが示されている．経路は Table 2 に示すような経路を与えた．

タートからゴールまでのステップ数を用いる．ス–6–

PF 法と SA をそれぞれ 20 回試行した時のステッ3105

3105

15

Start

030b030b4141

Fig. 1115Start

Corridor Environment of Task 1

Fig. 125.4

Table 2 Path of Task 1order1234
ID0b0315

Corridor Environment of Task 2

Task 2

Task 1の環境に障害物を多く配置した環境（Fig. 12）05で行う．手書き地図は Task 1 と同じものを使用しプ数の平均と標準偏差，最大及び最小ステップ数た．与えた経路も同じである．

を Table 3 に示す．

Task 1 と同様に 20 回の試行を行ったときの，ステップ数の平均値及び標準偏差，最大及び最小スPFSA

Table 3Ave.

Result of Task 1
SDmin max

2035.82072.7

133.0
446.3

18141539

テップ数を Table 4 に示す．

24093378
PFSA

Task 1においては比較的容易な環境であるので，Table 4Ave.

Result of Task 2
SDmin max

2482.13660.8

164.7
959.4

2207
2102

2838
5400

PF法とSAに有意な差は出なかった．標準偏差に少し差が見られるのは，Avoid Module が速度を抑え

Task 2においてはウェルチのt-検定により有意なる作用をしているのであるが，SA の場合は Avoid差が出た．すなわち，PF 法の方が少ないステップModuleが起動しないときはその抑制がかからず速数で目的地に到達できることが示された．Fig. 13，度が出やすい，つまり，障害物が少ない場所ではFig. 14 に最大ステップ数の結果を示す．これらは速度が出やすいので，巧く障害物を避けていけれ

4 ステップ毎のロボットの位置と姿勢を示していば非常に早い結果が得られる．それに対して，障る．図中の数字は経路を意味しており，分かりや害物を巧くよけれないときは階層構造の問題によ
4り，無駄な動きを繰返すのである．そのため，SA

30Startは標準偏差が若干大きくなっている．このことかBら言えるのは，PF 法においてもより適切な速度設定が可能であるということであり，速度について再検討することにより，より少ないステップ数でA目的地に到達できることを示唆している．
1Fig. 13–7–

2

Horrible result of task 2 with PF method

4により有効性を示した．

30

今後は実験を行い実世界での実現可能性を検討

Startする．また，シミュレーション結果より明らかになった，速度決定に関する問題点の解決を図っていく．

1

参考文献

2Fig. 141) Rodney A.Brooks: “A Robust Layered Control

Horrible result of task 2 with SA

System For A Mobile Robot,” IEEE Journal
すくするために加えた．ただし，0 はスタート地of Robotics and Automation, vol. RA-2, no. 1,点を意味する．Fig. 13 は PF 法の結果である．図pp. 14–23, 1986.

中 A，B の付近で無駄な軌跡を生成しているのが分かる．これは，一つの理由として距離センサの角度分解能の低さ（周囲に対して 8 方向しか測定していない）があげられ，角度分解能の高いセンサを使用することで回避することが可能であると考える．Fig. 14 は SA の結果である．ID41 のラン

2) 及川一美，土谷武士，大久保重範：“サブサンプション・アーキテクチャのオブジェクト指向設計”，日本ロボット学会誌，vol. 23，no. 6，pp.

697–705，2005．
3) Kazumi Oikawa, Hidenori Takauji, Takenori

ドマークで適切な通路に入れず本来ならば ID03 にEmaru,向うはずが，ID31 に向っているのが分かる．ちなTsuchiya:

みに PF 法ではこのようなことは一度も起きなかっmarks in a Corridor Environment,” Journal ofた．しかし，本手法は部分観測情報のみで行動決

Robotics and Mechatronics, vol. 17, no. 3, pp.

定する手法であるから，PF 法においても障害物の262–268, 2005.

配置によっては同じようなことが起こり得る．また，目的地へ到達可能な解が存在し，且つ目的地に到達できないような障害物の配置も可能である．
それは情報量の少ないグラフマップと部分観測のみの手法の大きな課題である．

Shigenori

Okubo

andTakeshi“Navigation Using Local Land-4) 津崎亮一，吉田和夫：“ファジィポテンシャル法に基づく全方位視覚を用いた自律移動ロボットの行動制御手法”，日本ロボット学会誌，vol. 21，no. 6，pp. 656–662，2003．
5) Takanori Emaru, Kazuo Tanaka and Takeshi

6.

Tsuchiya:

おわりに“Speed control of a sonar-

based mobile robot with considering the selfSAの階層構造が原因で起きる無駄な行動を軽減

localization,” In IEEE International Confer-することについて，PMF 法の考えをベースにしてence on Mechatronics & Automation, pp. 125–

PF 法を提案し，その問題の解決を図った．通路状130, 2005.

環境における目的地到達問題に適用し，同様に階層構造の問題の解決を図ったイベント駆動による階層構造切替手法と比較して，シミュレーション–8–