by
Masaaki OHKITA, IntOshi MIYATA, Shigeyuki MAEDA・
lToshihiro KAMH*2 and Yasuhiro KOBAYASHI*3
Department of Electrical and Electronic Engineering
*l Fuiitsu Limited
*2 Sharp Corporation
* 3 Department of lnformation and Knowledge Engineering
(Received September l, 1990)
A travening robot controlled by the fuzzy theory has been designed and constructed.
This is a self‐reliant travelling robot with four wheels.Its hardware consists of three ■licrocomputer systems for performing the fuzzy reasoning and deter■ lining its
travening direction,six supersonic distance meters for recognitting the location and position of the robot,an infrared remote controller for its travelling instructions,a pulse motor for deterHlining the travening direction of front wheels, and a direct‐
current motor for its rear‐ wheel driving.
In this paper,its hardware architecture and how to control this travelling robot by the fuzzy reasoning are described.
1 76
大北正昭・宮田仁志・ 前田繁幸 ,神 井敏宏・小林康浩
:ファジィ理論 を用いた走行 ロボッ トの試作
1 1。
はじめに
P(X)=(1/2)x+(1/2)
I N(x)=P(― x) (1) これ まで我 々人 間が行 って きた様 々な制御 を、 自動1
化 しよう とす る試 みが最 近盛 ん に行 なわれ ている。 そまた の制御 の方 法 は多種 多様 であ るが、 なかで も1965年 に
カ リフォルニ ア大学 パ ー ク レイ分校 のL.A.Dadeh教授
P(x)=(1/r)(tan‐
l ax)■/2 に よって提 唱 された フ ァジ イ理 論 (Fuzzy theory)は 、N(x)=P(―x) (2)
これ らの種 類 の制l御に適 した理 論 と して最近特 に注 目され てい る。 フ ァジ イ理 論 の応 用 分 野 は広 範囲 にわた
の よ うに表 され る。 こ こで、
aは
正 の値 で あ る。 ってい るが、 中で も最 も早 くか ら注 目され、 かつ応用ぃ ま、
2つ
の制御規 則の進 んで い るの は「 制御 」 の分 野 で ある。 セ メ ン トキ
ル ンの制御 、列 車 の制御 、 浄水場 の制御 な どすで に実
RI:if xl is Hll and x2 is P12 then y is I
用 化 され てい る もの もあ る1)‐3)。
R2:if xl ls Pat and x2 is N22 then y is P
M.Sugeno
と M.Hishida lよ 、フ ァジィ]里昌蔵をModel carの
クラ ン ク型 コー ス の走 行制御 に応用 し良を考 える。 フ ァジ イ制御 部 の入力 が xl=x10,xがX20の 好 な結果 を得 た4)。 と きのRlに 対 す る適含 度 を求 め る と, 著者等 は、 フ ァジ イ制御 の中で実用化 の待 たれ る「 自動車 の無 人運 転制御 」 に着 目 し、 ファジ イ制御 に よ
wi=I11(xl□ )A P12(X20) (3)
り自動運 転 可 能 な四袷 自律 型 走 行 ロポッ ト(仮称また は
DREAM-1)を
試作 した。 本報 告 で は、初 め に計 算機wl=Hll(xl□
)P12(X2□) (4)
シ ミュ レ ー シ ョンの例 を示 し、次 に この結 果 を基 に設 計 試作 した走 行 ロボ ッ トのハ ー ドウ ェア・ アーキ テ クとな る。つ ぎに、 後件 部 におい て チ ャにつ い て述 べ る。 Wi=I(yl) 2。 走 行 制御 の原理
w2=P(y2) (5)
本報告 で は、 コボ ッ トの走行 制御 にフ ァジ イ理 論 を
とな る ようなylとy2を 求 める。N(y),P(y)は
1対 1の
関 用 い るこ とにす る。 具体 的 には、 フ ァジ イの推論 法 を係 だ か ら、
用 いて ロポ ッ トの位 置 、 姿勢 よ リロポ ッ トの進行 方 向
y:=rl(■
1)を決 定 してい る。 フ ァジ イ推 論 法 に は、種 々の方法 が y2=p 1(w2) (6) 提 案 され てい る6) 6)。 ここで は、比較 的推論計 算 の
容 易 な「 普 通 の多値 論 理 にフ ァジ ィネス を導入 した推
とな り
,こ
れがRI,R2の 推 論結果 となる。論 法」5,を 用 い る。以下 にそ の概 略 を述べ る。 全体 の推 論結 果 をyOとす る と yOは ylと y2の 適 合 度 この推 論 法 で は、 単調 減少 また は単調増加 のメ ンパ Wl,W2に よる重 み付 き平 均値 で与 え られ る。 ― シ ツプ関数 が用 い られ る。 フ ァジ ィ変数 を、P(x): Positive,N(x):Negativeと す る と、メ ンパ ーシ ップ関 y□= Wi yt十 W2y全 数 は、
Wl+W2
then
θ is to be LEFTR2 : if xl is LONG and x9 is LOHG
then
θ is tO be RIGHTR9 : if
then is S10RT is to be LEFT となる。 ここで、xl,x2お
よびX9は
、Fig。1
に 示 す ように、 走行 ロ ボ ッ トか らコー ス壁 面 までの距 離 を示 す。 具体 的 には、xlは
走 行 ロボ ッ ト前面 中央 点 か ら対 向す る壁面 まで の距離、x2は
走 行 ロボ ッ ト左 側 面 中央 点 か ら内壁 まで の距 離、x3は
走 行 ロボ ッ ト 右 側面 中央 点 か ら内壁 までの距 離 で ある。 θは前 輸方 向切 り角 で あ り、 同 図 に示す走 行 ロボ ッ ト自体 の方 向 角 いとは区別 す る。 走行 ロボ ッ トが ご く低 速度 で移動 す る場合 を考 える と、 前輸方 向切 り角 θに対 して、 走 行 ロボ ッ トは、Fig.2
に示 す ように同心 円 の軌 跡 を描 きなが ら移 動 しそ の方 向 を変 え る。Fig.2
よ り明 らか な ように前綸 方向切 り角 θを与 えれ ば、 同心 円の曲革 半径 は走 行 ロ ボ ッ トの軸距 (ホ イ ールベ ース)Lを
用 い て RI=L/sin θ (9) と して与 え られ る7)。 同様 に して走 行 ロポ ッ トの前後 の旋 回半 径R2,R3お
よびRJ(=R3+B「 )もFig.
ユ. Definition of input
var■ab■
es.
Fig。
2. Re■
ation between a steering
angle and direction of a
trave■
ling rObOt.
R3=Rlcos θ―(Br―Br)/2 RH=R2cos,'+(Br― B,)/2
│
X θR2=L/sin''
大北正昭 。宮田仁志・前田繁幸・神井敏宏・ 小林康浩
:ファジィ理論 を用いた走行 ロボ ッ トの試作
の よ うに決 まる。 こ こで ''は前輪車 の うちの外 綸車 の 切 り角 を示 し、 内輪 車 の切 り角 θを用 い て L θ'=tan‐1 - (11) B,■Lcot θ に よ り与 え られ る。 また、B「は後 輪車 の構 距 (ト レ ッド
)、 BIは前輪車の構距
(トレッド】を示す。
た行ロボットの前輪方向切 り角の推論の例 を
Fig.3 に、 その推論計算の手順 をHg.4
の フローチ ヤー ト に より示 す。得 られた計算機 シ ミュレーシ ヨンの例 を Fig。5(a)― (c) にテドЧ "。 なお、 このモデルでは、走行 ロボ ッ トが移動 して左 折 した場合、入力変数Xlは
大 き くな り値が定 まらな くなるので走行 ロポッ トの車体 の傾 きいを変数xlの
代 わ りに用 い制御規則 を作成 し組 み込 んで使用 した。 即 ち「 走行 ロポッ トの車体 の方向角 ψが大 きい ときは 前構 方向切 り角 θをそのままに し、いうf小さい ときは 徐 々に'の
切 り角 を元 に戻す」 こ とに した。 O:2rad 012rad 019radto
ェnfer a steering
ang■e for turning
一
Fig。
3. Fuzzy variables
to the reft.
Computation of the position
and attitude of the travel―
:岳
:eimination of xl,x2′
文
3Determination of O by the
Trave■■ingDestinatiOn
desired ?
Fig。
4. A procedure to a computer
□い
Π
―
Fig. 5。 Reョ
u■tS of the ComputeF Simulation foF tuFning
tO tれ
o
工
ef七. A robot startsl(a) in‐ the vicinitサ
。
f the inner wa11, (b)near the ce,te―
r of the wa■
is,
ファジィ理論 を用いた走行 ロボットの試作
Tab■
e
■. specification of a trave■
■ing robot.
size of the body
600x390X439 vlm
Tread of front wheels 340 mm
Tread of rear whee■ s 300 mm
Wheelbase 472 mm
Weight of the body
12 kg
Computation and
Contro■Sensors
Driving force
Power supply
3。 走行 ロボ ッ ト 3・1
走行 ロボ ッ トの概 要 試作 した走行 ロボ ッ トは4輪
型 と し、 実際 の乗用 車 と相似 にな る よ うに考 慮 して、 そ の トレ ッ ド及 びホ イ ールベ ース の値 を決 定 した。Table lに
走 行 ロボ ッ ト の主 な仕 様 を,Fig。6お
よびPhoto lに
外 形 図 を,Fig.7に
ハ ー ドウェア・ アー キ テ クチ ャ を示 す。 本走行 ロボ ッ トに関 しては、 回路 部 、機 棒 部 の調 整 及 び変更が 容易 な よ うに、基板等 を収納 す る カー ドラ ック と、車 輪 等 の取 り付 けて あ る台車 と を分 離 出来 る ように設計 した。 電 源 と して は、CPUお
よびそ の周辺 回路 ・ アナ ロ グス イ ッチ の動作 、 モ ー タの駆 動 のた め に、12V、
6Vの
単車 搭載用 パ ッテ リー と乾 電 池 …12Vを
併用CPU ... Z80(c■
oCk 2MHz)x3
ROM ... 32X3 KB
RAM ... 32x3 KB
sensors with 40 KHz Supersonic trans―
ducers for measuring distance and
direction
lnfrared sensor for sending travel―
■
ing instructions to the robOと
Front Whee■ controと : P■■
se motor
Two―phases and l。
3 deg./Step
Rear whee■
driving : DC motor with a
reduction gear and a dif―
ferentin■
gear
Batteries t 12V4AH and 6V2AH
Dry ce■■
: ,12 V
した。 また、走行 ロボッ トの走行指示 は赤外線 リモー トコ ン トローラで行 い、送信機か ら送 られて くる、「 走行 開始」 。「 停止」・「右折」 。「左折」等 の指示 を受 信機 で受信 して走行 ロボ ッ ト側rそ
れぞれに対応 した 処理 を指示 し、走行方 向 を決 める。 3・2
走行 ロボッ トの構成 と機能 走行 ロボッ トは主 として、演算・制御部、 セ ンサ 部(Photo 2参
照)、 駆動部 によ り成 り〒 フ アジ イ削 御 のための各種処理及 び動作 を行 う。 これ らの各部 の 機能 を以下 に示 す。1)
演算・制御部 演算 。制御部 を構成 す るCPU#0,CPU#1及
Fig. 6.
Configuration of a trave■
ling roゎ ot.
Photo lo outside v■
ew of a trave■
―■
ing robot.
Photo 2. cOnfiguratiOn of supersonic
sensors.
Fig. 7. Hardware architecture of a
travelling robot.
大北正昭・宮田仁志 。前田繁幸・ 神井敏宏・小林康浩
:ファジィ理論 を用いた走行 ロボッ トの試作
び
CPU#2を
それぞ れ搭載 した3枚
のCPUポ
ー ド と、 それ ぞれが直接 関係 して い る付属 回路 を ま とめ る と、Table 2の
ように なる。 以 下 にそれ ぞ れ の ボー ド の回路機 能 を示 す。Table 2. 1/O c工
rcu■ts attached to
CPUS.
CPU
1/O Circkl■ tsInfrared remote controller
with an interface
KeybOard and LED of seven
segments with an interface
supersonic sensors with an
interface
pu■
se motor and its driving
circuit
DC motor and its driving
circuit
i)CPUボ
ー ド#0
CPUボ
ー ド辛0は
、Fig.8に
示 す ように、Z80
-CPU(2MHz), ROM(32KB),RAM
(32KB)及
び4個
のZ80-PIOに
よ り構 成 さ れ てい る (その うち の1個
は予 備 で ある。)。CPUボ
ー ド#0に
お い て、 赤外 線 リモ ー トコ ン ト ロー ラを介 して送 られ て くる ロボ ッ トの走 行 指示 デ ー タ を取 り込 み このデ ー タ を解 釈 してCPU#1及
びC
PU#2へ
割 り込 み をか ける。 この と き3つ
のZ80
-PIOを
そ れ ぞれ赤外 線 リモ ー トコン トロー ラ受信 部 の イ ン ター フ ェースか らの デ ー タの と り込 み、CP
Uボ
ー ド#1及
び#2へ
の割 り込 み信号 送 出時 の ポー トと して使 用 す る(Fig.9参
照 )8),9)。_方
、 これ らの一連 の動 作 が終 了 す る と、 カー ドラ ック背面 部 に 取 り付 けて あ る「 割 り込 み ア ク ノ リ ッジ用LED」
を 点灯 して次 の割 り込 み待 ち状 態 とな る。以 後 はこの動 作 の繰 り返 しとなる。Fig。 8。
Schematic of the CPU+0
Fig. 9. connectiOn between three CPus.
ii)CPUボ
ー ド#1
基本構成 は、CPUボ
ー ド干0と 同様である。CP
Uボ
ー ド#1は
4つ
のZ80-PIOを
もち、そのう ちの1つ
をCPUボ
ー ド#0か
らの割 り込み信号受信 ポー トと して使用 してい る。他 の3つ
はそれぞれ、モ ニ タ用 ボー ド(LEDデ
ィスプ レイを備 えたキーボー ド)、 超音波距離セ ンサ、パルス・モータの各イ ンタ ー フエース とつなが つている(Fig,9参
照)。 このC
Pロ
ボー ド#1は
、走行 ロボッ トの制御 における中心 的役割 を受 け もち、 そのための プログラムや、データ の調整 に便利 なように、ROMに
はモニタプログラム が書 き込 まれている。 これによ り、専用 のキーボー ド、LEDデ
ィスプレイ(これ らは同一基板 に実装 されて いる)を
接続すれば、 プログラムを直接16進
数 で入 力 し、RAMに
書 き込む ことがで きる。同様 に、超音 波距離セ ンサの測定開始パルス発生 タイ ミング等 のデ帥
Ш
懇
― 夕も自由に変更することがで きる。l)CPUボ
ー ド#2
基本格成 はCPU#0基
板 と同様 である。 また、PIoの
位置の一 ヶ所 に、Z80-CTCを
取 り付 けている。従 って、2個
のZ80-PIOと
1 個 のZ80-CTCを
装備 している。ROMに
は後輪駆動用 のDCモ
ー タの制御 プログラ ムが書 き込 んであ り、CPUボ
ー ド干0か
らの割 り込 みに よって直流 モータを削御 している。2)
セ ンサ部 本走行 ロボッ トでは、 ファジィ制御規則 の前作部変 数 の検出に、超音波セ ンサを使用 してい る。6個
のセ ンサ をPhoto 2に
示す ように取 り付 け、 そ れぞれの位置か ら距離測定 を行 い、得 られた6つ
の距 離データか ら走行 ロボ ッ ト自体 の位置 と姿勢 を検 出す るという方法を採用 した。大北正昭・ 宮田仁志・前田繁幸 。神井敏宏・小林康浩
:ファジィ理論 を用いた走行 ロボ ットの試作
SUPERSONIC
SENSORS
Fig.
■0。Measuring the distance va■ ues from supersonic sensors
and entering them into the CPU+■
.このセ ンサにより得 られた距離 データは、 あらか じ め設定 され ているファジィ制御規則 の前件部変数 に割 りあて、 このファジィ制御規則 に基づいてファジィ推 論 を行い
(推
論結果 に よつて前輪 の方向制御用 のパ ル ス・モータの回転角 を決定す る。超音波 セ ンサか らの 距離 データのCPUポ
ー ド#1上
のCPU#1へ
の取 り込み回路 のプロック図 をFig.loに
示す。 また、走行 ロボッ トの「走行開始」、「左折」等 の 走行指示 はあ らか じめ赤外線 リモー トコン トローラで 行 うが、た 行 中はコン トローラは不要である。本 ロボ ツ トは、「 自律 型走行 ロボッ ト」 であるので、 このコ ントローラはあ くまで補助的 な ものである。3)
駆動部 駆動部 は、台車 に取 り付 け られた後輪駆動用直流 モ ータ、減速歯草装置、前檜方向制御用パルス・モー タ 及びラック内に収納 されてい るこれ ら2つ
のモータの 駆動回路 より成 る。 また、後輪駆動用直流モータの駆Tab■
e 3. Functions of each CPU.
DriVing rear whee■
sFunctions
Processing trave■
ling
instructions
Entering values of diStance
into the corresponding CPU
Fuzzy reasoning
Manipulating a steering
ang■e 動軸 は、 カープでの「 前進」、「 後退」 をス ムーズに 行 わせる為 に差動歯車 を装備 した。 4。 走行 ロボ ッ トの制御 走行制御 に必要 な機能 としては、赤外線 リモ ー トコン トローラか らの走行指示 の受信、処理、前輪方向制 御、 後輪駆動が ある。 これ らの機 能 をTable 3に
示 す よう にをCPUボ
ー ドに分担 させた。II一
│││1膚
INALO(創
││1直
CPU+■ P工O+ll
│ ± ¬1邸
NG釣
│││1峰
││11
も
■
ing instructions
and processing
Program for driving
rear whee■s
Program for contro■ of front whee■s 走行 ロポ ッ トの走 行 制御 の た め に、 モ ニ タ、走 行 指 示処理、後 輪駆 動、 お よび前 輪 コ ン トロール を実行 す るプログラム を作成 した。 これ らの プロ グ ラムの概 要 を
Table 4に
示 す。 以 下 におい て、Fig.7の
ハ ー ドウェア・ アーキテ クチ ャを もとに して,Table 4に
示 した各 プ ログ ラム につ い て そ の機 能 を説 明 す る。4,1
走行指 示 処 理 プロ グラム 本 プロ グ ラムの主 な機 能 は「 赤外 線 リモ ー トコ ン ト ロー ラか らの走行指 示 を受 けて、 そ れぞれ のCPUボ
ー ドに動作命 令 を出す」 ことで あ る。赤外 線 リモ ー ト コ ン トロー ラのキー に よ りあ らか じめ走行 指示 をTable 5の
よ うに定義 してお く。次 に、本 プ ログ ラム の処理 の流 れ につい て説 明す る (Fig。9参
照)。CPU#0を
リセ ッ トす る と、PIOの
初期設 定, 割 り込 み準 備 な どの処理 を して、 割 り込 み待 ち状 態 に はい る。 この状 態 で、 リモ ー トコ ン トロー ラ(送信機) の キー0∼ 7を
押 す と、Fig,9の
PIO#02が
CP
Uに
割 り込 み要 求 を出す。 割 り込 みが受 けつ け られ る と,PIO#02に
入力 され た デー タがCPUに
送 ら れ る。CPUは
この デ ー タの内容 に よって どのCPU
Entering data into the CPU
sending data to each cP, circu■
tTaking out a contro■ signa■
to a
driving circu■ i to rear whee■s
Entering va■
ues of distance
Fuzzy reasoning
Taking out a contro■ signa■
to a
driving circuit of a pulse motor
fo■ front wheelこ
ポー ドに対 す る指示 か を判 断 し、 そ れぞれ の
CPUポ
ー ドデー タ を送 出す る。 最後 に車体 後部 に取付 け られ てい るア ク ノ リッジ用LEDを
点灯 して終 了 し次 の割 り込 み待 ち とな る。次 に、 リモ ー トコン トロー ラのキ ー0∼ 7に
対 応 した8個
の受信 機 出力 を8ビ
ッ トのデ ー タ と してPIOに
入力 させ る。PIOは
ビッ ト制御 モ ー ドに設 定 してお き、 ポー トの どれか の ビッ トに"1
"が 入力 されれ ば割 り込 みが か か る。 4・2
前 精方 向制御 プ ロ グ ラム 本 プロ グ ラムの主 な機 能 は、「CPU#0か
らの指 示 に よ り、 距 離 デ ー タ入 力 、 フ ァジ ィ推 論、 前輪 方 向 制御 の処 理 をあ る決 め られた回 数 (任意 に設定 で きる) 繰 り返 して終 了 す る」 こ とであ る。 プログ ラム作 成 に あた り、機 能別 にサ プル ーチ ン形 式 で別 の プ ロ グ ラム と して構成 し、 マ イ クロソフ ト社 の「Link-80」
を用 いて各 サ ブル ーチ ンを連結 して構成 した。Fig。11に
、CPUボ
ー ド#1を
制御 す る プロ グ ラ ム構造 を示 す。以 下 に主 なサ ブル ーテ ン につ いて説 明 す る。Tab■
e 5. Travel■
ing instructions by the
infrared senSOr.
ファジィ理論 を用いた走行 ロボッ トの試作
Functions
Go Straight ahead
Key number of the
remote contro■
■er
0 ■ 2 3 4 5 6 71)距
離 デー タ入 カ ル ーチ ン 走行 ロ ポ ッ ト本体 か ら壁面 まで の距離 を超音波距 離 セ ンサで測 定 す るた め の ルーチ ンで ある。 動作 を以下 に説 明す る。 まず どの セ ンサ を使 用 す るか とい う信 号 をCPUか
ら送 ると、 イ ンター フ ェース に内蔵 され てい るアナ ロ グス イッチ に よってセ ンサが1つ選択 され る。次 に距 離測 定の きっか け とな るス ター トパ ルス をCPUか
らTurn to
Stop
Turn to
the
■eft
the right
Go backWard
Fig。 ■■
. Program structure for the trave■
■ing robot.
送 る と、 セ ンサ は壁 面 まで の距 離 を1回測 定 し、結 果 を
16ビ
ッ トの デー タ と して ィ ン ター フ ェース内 の フ リップロ ップに格納 す る。つ ぎにCPUか
らのポー ト 入力命 令 に よって用 意 したデ ー タの下位8ビ
ッ トが、CPUに
送 られ、 メモ リに格 納 され る。 こ.の手順 をFig.12に
示 す。 この手順 をサ ブル ーチ ン と し、Dレ
ジス タに選択 す るセ ンサ番号 、HLレ
ジ ス タにデ ー タ を格 潮 す る メモ リ番地 を設定 して呼 び出す。 セ ンサ 番Input data in
hexadecima■ 0■ 02 04 08 ■0 20 40 80Control of a st9ering
ang■e of front Whee■s
Entering of Va■ ues
of distance
Fuzzy reasoning
Manipulation of direc=
tion of front whee■ sData input
Load the data into a
nemOFy
ヤ send a signa■
to the
address decorder and
se■
ect another sensor
,
Load the data into a
memory
Fig.
■2. A procedure to enter
distance va■
ues into the
the CPU十
■. 号 はFig.13の
よ うに決 め て ある。2)
フ ァジ ィ推 論 ルーナ ン 距 離 デー タ入 カ ル ーチ ンで入 力 された デ ー タを も と に、 ファジ ィ推 論 に よってハ ン ドル操作 量 を決 定 す る ル ーチ ンで あ り、前構 方向制御 の 中心 となる重要 な部 分 で ある。 入力 として左右及 び前 方壁面 まで の距 離、 出力 として前輪方向操作用 のパルス・モ ータの回転角 を割 り当ててい る。 本 ロボッ トの試験走行のために、計算機 シ ミュ レー シ ヨンで挙 げた例 :「 左折 コースを壁 にぶつかること な く左折す る」 を考 えた。入力 と してロボッ トか ら前 方壁面 までの距離xl及
び左方 の壁面 までの距 誰x2と
、コ 右方の壁面 までの距離 x3を 測定 し、 ファジィ推論規則 に適用 した。規則 は、計算機 ン ミュレシ
ヨンによ り#4 -
一 T2↓
#3 (The rear)Fig. 13。
se】せ
輩
e::ごヱ
ど
望
ξ
nFuperS°
nic
得 られた もの を超音波 セ ンサ ー の時 性 を考 慮 して用 い た。 非 ファジ ィ化 に よる前輪 方 向 切 り角 θの決定 に は、(7)式
を拡張 して用 いた。 この切 り角 θよ リパ ル ス ・ モ ー タの回転 角 ψを決 めたが モ ー タを回転 させ るた め に この値 を変換 して用 い、変換 後 の値 を ″>0の
場合Q=8000+″
ψ<0の
場合Q=8000-ψ
と し、 このQの
値 をパ ル ス・ モ ー タの回転 角 と して使 用 した。3)前
輪 方向操 作用 ル ーテ ン フ アジ イ推 論 ル ーチ ンで得 られ たパ ル ス・ モ ー タの 回転 角Qの
値 に よって前輸操 作用 のパ ル ス・ モ ー タ を 駆 動 す るル ーチ ンで あ る。 メモ リに格 納 され てい るQ
の値 を呼 び出 して、 最上位 ビッ トが0の
場 合 は右 に、1の
場合 は左 に回転 す る ようなパ ル ス を駆 動 回路 に送 る。 パ ル スの個 数 はQの
値 の最 上位 ピッ トをマス タ し た値 と してあ る。88
大北正昭・宮田仁志・前田繁幸・ 神井敏宏・ 小林康浩
:ファジィ理論 を用いた走行 ロボ ッ トの試作
以上、前 輸 方 向制御 プ ログラムについ て説 明 した。 本 プ ログ ラム は、CPU#1の RAM領
載9000H番
地 よ り記 憶 させ てあ る。CPU#1で
はモ ニ タ・ プ ロ グラムに よつて キ ー ボ ー ドを用 いた プログ ラム修 正 が 可 能で あ るた め、 メ ンパ ーン ツプ関数 の傾 き、推 論 速 度、 推論 回数 な どの諸定 数が容 易 に変更 で きる。 5。 走行 実験 第4章
で構 成 した走 行 制御 プ ログ ラム を、 実際 に、CPUボ
ー ド#o∼ #2の
メモ リに書 き込 み、 ロボ ッ トに搭載 して走行 させ た。本章 で は ロポ ッ トを走 行 さ せ る場合 の操作 手順 お よび走行 させ た結果 につ い て述 ムミる。 5・1
操作手 順 まず、走 行 ロボ ッ トの電源 を投 入 し、CPUボ
ー ド 学0∼
#2を
リセ ッ トす る。CPU#0は ROM内
の た 行指示 処 理 プ ログ ラムが、 またCPU#2で
は後輸 駆 動 プロ グラ ムが実 行 され、共 に割 り込 み待 ち状 態 に 入 る。CPU#1で
は、ROM内
のモニ タ・ プロ グラ ムが実行 され、LEDデ
ィス プ レイ に9000H番
地 の 内容 が表 示 され るので、 前輪方 向制御 プロ グラムで使 用 す る諸 定数 をキ ー ボー ドか ら入 力 し、準 備が 出来 た ところで実 行 させ る。 以 上で準 備 は完了 で あ る。後 は 赤 外 線 リモ ー トコ ン トロー ラか ら指示 を与 えれ ば よい。5,2
走行実験 実験室 内 に幅 120clllの「左折」のた行路 を用意 して 実際 に走行 させてみた。左右 の壁面 は平 らでなければ な らないので、 ベエア板 を使用 した。実験 の結果、走 行路 を壁 に衝突することな く走行す るとい う動作 を確 認す ることがで きた。↓
Manipu■ation of a
handle
(b)
(a) (b)
Fig。
14. Procedures of the fuzzy
reasoning。
6。 検 討 6・1
計算機 ン ミユ レー シ ヨン 計算機 シ ミユ レー シ ヨンでは、 試 作 した走 行 ロ ボ ツ トの寸 法 に相似 な形 で走行 ロ ボ ツ トを棋 擬 し、 フ アジ イ推 論 の結果 か らハ ン ドル を切 る角 度 を決 め た。 この 方法 は単 に車体 の傾 きを推論 す る方 法 に比べ て、 そ の 走行 の制御 が よ リス ム ーズに実 行 で き、 実 際 に車 を運 転 す る場合 に似 た感覚 で シ ミュ レー シ ヨンで きる。 6・2
走 行制御 プ ログ ラム 走 行 をス ムー ズに制御 させ る場 合 に問題 となるのが、 フ ァジ ィ推 論 の方法 で あ る。Fig.14に
フ アジ イ推 論 の手順 を示 す。今 回用 いたの は、 同図(a)の
方 法 で あ る。 この方法 は、測 定 した距 離 デ ー タ をそ の まま推 論規 則 に適用 し、1段
の推 論 でハ ン ドル操 作 量 を決 定 してい るが、 これで は、 入力 とな る距 離 デ ー タが微 妙 に変動 す る と、 出力 となるハ ン ドル操作 量 もか な り敏 感 に反応 して変動 す るため に、 ロ ボ ツ トが蛇 行 す る結 果 につ なが る。 これ を改善 す る に は、 同 図(b)の
よ うにすれ ば よい。 この方法 は、 測 定 した距 離 デー タ を、 人 間 の感覚 を用 いた あい まい な表 現 に してお い てか ら 規 則 に適用 す る、 つ ま り、 フ ァジ イ推 論 を2段
にす る、 Didtance va■ uesManipulation of a
handle
Distance va■ ues
Fuzzy control ru■ es
I
FuZZy control ru■ es
(Determination of
the gteering angie)
6・
3
セ ンサ部 距 離測定 に使用 した超 音波 セ ンサ の個 数 は、 セ ンサ の素 子1組
が カバ ーで きる範 囲 、 つ ま り測定対 象 で あ る壁 面 に対 して素 子が どの程 度傾 くまで距 離 測定が 可 能で あるか とい う特 性 に基 づ い て決 定 しなけれ ばな ら ない。 そ こで実 際 に走 行 に使 用 したセ ンサ につい て、 前述 の ような特 性 を調 べ た。 実験 は、素 子 に指 向性 を 良 くす るた め の音響 ホー ンをつ けた場合 とつ けない場 合 との両方 につ いて行 つた。 この実験 結果 に よる と、 このセ ンサ は壁 に対 して、 音響 ホー ンをつ けない場 合で、 ほ は40°
の角度 まで は測 定可能 で あ るこ とが分 か った。 この結果 を もとに、 計算機 ン ミュ レー シ ヨンを再 度 行 い、Photo 2及
びFig.13に
示 す よ うに、6つ
のセ ンサ を装備 した。 6 ・4
駆 動言B 前 輸 の方 向 制御 に は、 パル ス・ モ ー タ(2相
、1.8°/ス
テ ツプ)を
使用 して いる。 これ は、 このモー タが そ の構 造 上 マ イ クロ プロセ ッサ 制御 に適 してお り、取 り扱 いが比較 的簡単 で あ る とい う理 由による。時 に、 そ の回転 角 が 入カ パ ル ス数 に比 例 し、位置決め制御 に お い て は、 フ ィ_ド
バ ッ クルー プな しで正確 な結果が 得 られ る とい う性 質 は、 ロボ ッ トの前輪制御 に都合が よい9-方
、走 行 ロボ ッ トは後輸駆 動 と し直流 モ ータを使 用 し、減 速機 構 を付 加 した (減 速比1120,走
行速度 120cm/Hin)。 これ は小 型 で高 い トル クが得 られ る点 で有利 で あ る。 直流 モ ー タを使用 して、位置決め等 の 算 機 上 で シ ミュ レー シ ョン し、 実 際 に四檜 自律 型 走 行 ロ ボ ッ トを試作 し、 走 行 制御 プ ログ ラム を作成、搭載 して走行 させ た。実 際 に試作 してみ て様 々 な問題 点 が 生 じたが、「 自動車 の無 人運転 」 とい う問題 を、特 別 な運 動 方程 式 を解 く必要 もな く、 制御 可能 な ことを確 か め た。 本 報告 で は主 と して走 行 ロボ ッ トのハ ー ドウェア に つ い て述 べ たが、走 行 実験 の詳細 につ いて は別稿 にお い て述べ る予 定 で あ る。 謝辞 本研究 を行 うにあた り、走行 プログラム調整上 の助 言 を賜 つた本学工学部電気電子工学科 の松 開節講 師 に 深謝致 します。 また、走行 ロボッ ト駆動部 の機械加工 に御 協 力 をい た だ い た本 学 工 学 部 機 械 実 習工 場 の 方 々 に御 礼 申 し上 げ ます。 参 考 文 献1 ) L.P.HblRblad and J.J.Ostergaard, ControI of a ceHent kiln by fuzzy logic, in "Fuzzy ln― forHation and decision Processes" ( M.M.Gupta and E.Sanchez eds ), Horth― Ⅱolland, P,389-399,
1982.
2)安
信 他 、Fuzzy制 御 に よる列 車 定位 置停 止 制御,計 測 自動 制御 学会 論 文集
,19巻 ,11号 ,873-880頁
,1983.
90
大北正昭・ 宮田仁志 ,前 田繁幸・神井敏宏 ,小林康浩
:ファジィ理論を用いた走イ
子ロボウ トの試作
の応用、ジステムと制御,28巻 ―
,1時
.59卜
604貫,オーム社,1987.
1984.
アウ
下田茂 :「 自動車工学」
(大