Comments
Description
Transcript
差分進化アルゴリズムのファジィ制御器パラメータ最適化
特別研究報告 差分進化アルゴリズムの ファジィ制御器パラメータ最適化への適用 Applying Differential Evolution algorithm for the parameter optimization problem of fuzzy controller 報 告 者 学 籍 番 号: 1135053 氏名: 瀧本 浩志 指 導 教 員 星野孝総准教授 平成 23 年 2 月 7 日 高知工科大学 電子・光システム工学コース 目次 ⅰ 目次 第 1章 序章 ...1 第 2章 最適化問題 ...4 2.1 2.2 第 3章 第 4章 最適化問題概要 ...4 2.1.1 大域的最適解と局所的最適解 2.1.2 連続最適化問題と離散最適化問題 連続関数最適解手法 ...7 2.2.1 連続関数最適解手法概要 2.2.2 Differential Evolution (DE) ファジィ制御 ...11 3.1 ファジィ理論概要 ...11 3.2 ファジィ集合 ...11 3.3 ファジィ制御 ...11 3.3.1 Min-Max 重 心 法 3.3.2 簡略型推論法 ライントレースカーのための多段ファジィ制御器システム 4.1 4.2 システム構成 4.1.1 操舵角ファジィ制御器 4.1.2 モータファジィ制御 ファジィ集合 4.2.1 後件部変数調整実験 4.2.2 実装実験 4.2.2 コーナリング検証実験 ...22 ...23 ...33 目次 ⅱ 4.3 4.3 第 5章 実験結果 ...38 4.3.1 実装実験結果 4.3.2 コーナリング検証実験結果 考察 ...42 パラメータ最適化問題 5.1 5.2 第 6章 概要 ...44 5.5.1 システム構成 5.5.2 シミュレーション実験 誤差最小値探索問題 終章 ...44 ...53 ...59 謝辞 ...60 参考文献 ...61 1 第 1 章 序論 第1章 序論 最適化問題に対する手法には,オペレーションズ・リサーチや数理的計画法の 他に,人工知能,エキスパート・システム,システム理論,ファジィ集合,ニュ ーラルネットワーク,遺伝的アルゴリズム等,様々なアルゴリズムが存在する. 一般に,ある最適化問題を解くにはその問題の背景に十分注意を払って,制約 条件や目的関数の評価基準を定め,数式もしくはグラフ等のモデルによって最適 化 問 題 を 単 純 化 す る .そ し て ,単 純 化 さ れ た 問 題 に 対 し て ア ル ゴ リ ズ ム を 適 用 し , 主にコンピュータ上でシミュレーションを行うことによって最適化問題の解を得 ることができる.技術システムのコンピュータが導入されプロセスの制御や生産 管理に用いられるようになって以来,そのような手法が実用面で応用されるよう になった.さらに,単に技術システムだけにとどまらず,コンピュータの利用範 囲が拡大するにつれ,コンピュータを情報処理のみに使用するのではなく,我々 の意思決定の支援に役立たせようとする試みも多くなった.オペレーションズ・ リサーチの研究分野である最適化問題とは,与えられた問題を最良の手段で解決 したいと考えた場合に必ず直面する課題であるため,あらゆる工学モデルの基礎 と な る 重 要 な 研 究 分 野 と し て 認 知 さ れ て い る . [北 野 1993] [伊 藤 2005] 初期の最適化問題で取り扱った問題は,主に線形性や連続性という性質を有す る 目 的 関 数 で あ る . こ の よ う な 関 数 に お け る 最 適 化 手 法 と し て は , 1940 年 代 に Dantzig に よ っ て 提 唱 さ れ た ,近 傍 に お け る 連 続 性 を 解 法 に 応 用 し た シ ン プ レ ッ ク ス法などが代表される線形計画法が有効であった.また,目的関数が不連続集合 や,解空間が離散集合であった場合には,近傍における連続性を解法に利用する ことができないため,真の最適解を発見することが困難である.このように解空 間 が 離 散 集 合 で あ る 古 典 的 な 問 題 は 組 合 せ 最 適 化 問 題 と 呼 ば れ ,近 似 解 法 と し て , 生 物 の 情 報 処 理 に ヒ ン ト を 得 た 遺 伝 的 ア ル ゴ リ ズ ム (GA)や ニ ュ ー ラ ル ネ ッ ト ワ ー ク (NN)な ど が 発 展 し て き た .現 在 で は ,遺 伝 子 表 現 と し て ,実 数 値 ベ ク ト ル を 用 い た 実 数 値 GA が 連 続 関 数 の 最 適 化 手 法 と し て 注 目 さ れ て い る .[三 宮 1998] 近 年 , 連 続 関 数 の 最 適 化 手 法 と し て GA に 代 わ る 新 し い 手 法 が 提 案 さ れ て い る . J.Kennedy,R.Eberhart ら に よ る Particle Swarm Optimization(PSO)や K.price,R.Storn ら に よ る Differential Evolution(DE)な ど が 代 表 的 な 手 法 で あ る . 2 第 1 章 序論 こ れ ら の 手 法 は , 多 点 探 索 法 で あ る こ と と 直 接 探 索 法 で あ る こ と か ら GA と 同 様 に進化的計算に分類できる. 一 方 ,1968 年 に Zadeh が フ ァ ジ ィ 理 論 を 提 唱 し て か ら 多 方 面 に 研 究 が 行 わ れ て いる.ファジィ理論はファジィ集合,ファジィ推論などからなり私たちの身の回 りのあいまいな情報を取り扱うための理論である.特徴として,設計者の持つ知 識をコンピュータに取り込む際に,人の感覚に似た自然な表現のままに,知識を 記述できる手法として,広く産業界に定着している.ファジィ集合を基にファジ ィ推論法が考案され,現在までにファジィ制御に関する研究開発が多方面で行な われている.心理学,経済学などの文系の分野から,プラント,自動車,家電製 品 の 制 御 な ど ,工 学 の 分 野 ま で 幅 広 い 応 用 が 進 め ら れ て い る .[Takimoto 2009] [菅 野 1988] [萩 原 1994][阿 部 1995] [時 永 2002] ま た ,太 田 ら が 試 作 し た フ ァ ジ ィ LSI を悪路耐久運転試験に適用し,ファジィ操舵制御で人間の操舵と同等の操舵補正 が で き る こ と を 実 証 し て い る [太 田 1995]. フ ァ ジ ィ 制 御 に 代 表 さ れ る フ ァ ジ ィ 推 論システムは対象となるシステムの大規模化や複雑化が進んでいる.この為,処 理できないほどのルールとなり,人間がそれを容易に理解することができず,推 論ルールの獲得やメンバーシップ関数のチューニングが困難となる .このような 経 緯 か ら ,自 動 チ ュ ー ニ ン グ や 自 動 生 成 に 関 す る 研 究 が 盛 ん に 行 わ れ て い る .[石 渕 2008] [吉 田 2008] [井 上 2001] [中 岡 2002] 我々は本研究において,ライントレースカーの操舵角とモータの制御に簡略型 推論法を用いることで,ジグザグ走行をせずに,滑らかに制御することができる と考えられる.具体的なシステム構成としては,ライントレースカーが,走行中 に読み取ったセンサの値を入力として,操舵角を求める.その後,出力された操 舵角と操舵角の変化量を入力情報として,左右のモータ出力を求める.システム 構成としては,操舵角の制御器が 1 入力,モータ出力の制御器が 2 入力,合計が 3 出力の多段ファジィ制御である.この際,上記で述べたように,推論ルールの 獲得やメンバーシップ関数のチューニングが困難となり,人間がチューニングに は,多大な労力と時間が必要となる.本稿では,ファジィ制御器の解空間が離散 空間ではなく連続空間上にあることに帰着させ,現在連続関数の最適化手法とし て 注 目 さ れ て い る Differential Evolution(DE)を 用 い る こ と で ,多 次 元 の 連 続 関 数 最 適化問題とする.これにより,ファジィ推論器の自動チューニングを行った.本 稿では多変数のパラメータ自動チューニングを連続関数最適化問題に帰着させ, これについて報告する. 3 第 1 章 序論 本稿の内容は以下のようになる.2 章で最適化問題について述べる.本研究で は,制御方法にファジィ推論の簡略型推論法を使用する.そのため,3 章でファ ジィ理論,ファジィ集合,ファジィ推論,などの各推論方法について述べる. 4 章でこれまでにおこなってきた研究を述べ,5 章ファジィ推論器の自動チューニ ングについて報告すし,最後に 6 章で結論を述べる. 4 第 2 章 最適化問題 第2章 最適化問題 最適化問題は,自然科学,工学,社会科学など多様多種な分野で発生する基本 的 な 問 題 の 1 つ で あ る .与 え ら れ た 制 約 条 件 下 で あ る 1 つ の 目 的 関 数 を 最 小 (最 大 ) に す る よ う な 解 を 求 め る と い う 数 理 計 画 問 題 は 1940 年 代 に 線 形 計 画 法 が 登 場 し て以来,様々な解法が提案されている.近年では,最適化問題の大規模化と複雑 化に伴い厳密な最適解を求めるのが難しくなっている.必要十分な最適性を持つ 近 似 解 を 実 時 間 内 に 求 め る 必 要 が あ り ,GA や PSO,DE な ど メ タ ヒ ュ ー リ ス テ ィ ッ ク な 最 適 化 手 法 へ の 関 心 が 高 ま っ て い る . [伊 藤 2005] [矢 沢 2006] 本研究では連続関数最適化問題に帰着し,近年注目されている最適化手法であ る DE を 用 い る . そ の た め , 本 章 で は , 最 適 化 問 題 の 概 要 に つ い て 記 述 し , 連 続 関 数 最 適 化 手 法 の 概 要 , 本 研 究 で 使 用 す る DE に つ い て 述 べ る . 2.1 最適化問題概要 最適化とは複数の選択肢から最善のものを選ぶことであり,最適化問題を数学 的 に 表 現 す る と , 与 え ら れ た 制 約 条 件 を す べ て 満 た し , 目 的 関 数 f(x)の 値 が 最 小 または最大になるような決定変数 x の値を見つける問題である.この場合 x は最 適解と呼ばれ,最適解は 1 つしか存在しない場合もあるが,反対に無限個存在す る 場 合 も あ る . 一 般 的 に 最 適 化 問 題 は 式 (2.1)に 記 述 す る . 目的関数 f (x) 制約条件 xF → 最 小 値 (最 大 値 ) (2.1) こ の と き F は 実 行 可 能 集 合 あ る い は 実 行 可 能 領 域 と 呼 ば れ て お り ,制 約 条 件 を 満たす実行可能解の集合である. x F ならば x は実行可能解と呼ばれる.また, F が空集合の時は実行不能と呼ばれる.この場合には xF を満たす x は存在し ないので,最適解も存在しない. 5 第 2 章 最適化問題 2.1.1 大域的最適解と局所的最適解 本 節 で は , 最 適 解 を 2 種 類 定 義 す る . 式 (2.2)の 条 件 を 満 た す 実 行 可 能 解 x* F を 大 域 的 最 適 解 (globally optimal solution)あ る い は 単 に 最 適 解 と 呼 ぶ . f ( x*) f ( x) , また実行可能 xF (2.2) x* F を 含 む 適 当 な 集 合 U ( x*) に 対 し て は , f ( x*) f ( x) , が成り立つとき, x F U ( x*) (2.3) x* を 局 所 的 最 適 解 (locally optimal solution )と い う . Fig2.1 は 大 * 域 的 最 適 解 と 局 所 的 最 適 解 を 表 し て い る .U ( x ) は 一 般 的 に は 近 傍 と 呼 ば れ ,x に 尐 し 変 形 を 加 え る こ と に よ っ て 得 ら れ る 解 集 合 の こ と で あ る .な お ,U ( x*) F と は限らない.最適化問題も目的関数や制約条件が複雑になり,実行可能集合が膨 大になる場合には大域的最適解をみつけることは一般的に困難である.そのよう な場合には,問題の大きさや問題を解くために与えられている時間などを考慮し て,適切な近傍を定義して局所的最適解を求める. Fig2.1 大 域 的 最 適 解 と 局 所 的 最 適 解 6 第 2 章 最適化問題 2.1.2 連続最適化問題と離散最適化問題 最適化問題は,変数,目的関数,制約条件の種類によっていくつかの問題のク ラスに分類することができる.変数が連続的な実数値を とるような問題を連続最 適 化 問 題 (continuous optimization problem),変 数 が 0 か 1 の よ う な 離 散 的 な 値 を と る 場 合 に は , 離 散 最 適 化 問 題 (discrete optimization problem)と 呼 ば れ て い る . Fig2.2 は 連 続 最 適 化 問 題 に 属 す る 代 表 的 な 数 理 計 画 問 題 と 離 散 最 適 化 問 題 に 属 する代表的な数理計画問題のクラスとそれらの包含関係を示したものである. Fig2.2 連 続 最 適 化 問 題 と 離 散 最 適 化 問 題 に 属 す る 整 理 計 画 問 題 連続最適化問題の場合,大きく 2 つに分けると凸計画問題と非凸計画問題に分 けることができる.ある数理計画問題の実行可能集合 F が凸集合で,目的関数 f が F を 含 む 凸 集 合 上 で 凸 関 数 で あ る 場 合 に は 凸 計 画 問 題 に な る .凸 計 画 問 題 に は LP だ け で な く , 凸 2 次 計 画 問 題 や 非 正 定 値 計 画 問 題 (SDP)な ど 非 線 形 計 画 法 問 題 も 含 ま れ る . 凸 計 画 問 題 で は , 一 般 的 に は 局 所 的 最 適 解 =大 域 的 最 適 解 と な る の が 大 き な 特 徴 で あ り ,比 較 的 簡 単 に 大 域 的 最 適 解 を 求 め る こ と が で き る .た だ し , 問題の規模が大きくなった場合には,現実的な計算時間では求められないので, 理論的に最適解を求められることと,現実に計算機などで最適解が求められるこ とは区別して考える必要がある.一方,非凸計画問題では局所的最適解を求める ことは可能な場合も多いが,大域的最適解を求めるには大変な困難を伴う. 7 第 2 章 最適化問題 整 数 計 画 問 題 (integer programming problem : IP) が 考 慮 さ れ る こ と が 多 い が , さ ら に 通 常 の IP と 0-1IP に 分 け る こ と が で き る .さ ら に 混 合 整 数 計 画 問 題 と は 1 部 の 変 数 の み 整 数 条 件 が 付 い て い て ,残 り の 変 数 は 連 続 変 数 と し て 扱 わ れ る .ま た , 多 く の 組 合 せ 最 適 化 問 題 は 0-1IP と し て 定 式 化 で き る . 0-1IP は 計 算 量 的 に は NP 困難クラスに属し,解くのが難しい問題に分類される 2.2 連続関数最適化問題 最 適 化 ア ル ゴ リ ズ ム は , 与 え ら れ た 領 域 に お い て 最 小 (最 大 )を と る 解 を 探 索 す るためのアルゴリズムである.一般に最適化アルゴリズムの良さを決定すること は困難であるが,以下の 2 つの点が着目される. ・網羅性:局所解に陥らず大域的最適解を探すこと.とくに多峰性の問題におい て局所解を避けるには網羅性が重要となる. ・効率性:目的関数が大規模でその評価に時間がかかる問題に ,目的関数の評価 回数を減らすことは非常に重要となる. ま た ,連 続 関 数 最 適 化 は ,n 次 元 の 関 数 の 最 小 (最 大 )に す る 座 標 を 求 め る 問 題 と も い え る . 極 小 値 (極 大 値 )が 1 つ の み 存 在 す る 関 数 を 単 峰 性 関 数 と 呼 び , 複 数 あ る場合を多峰性関数と呼ぶ.一般に,多峰性関数の最適化のほうが困難とされて いる.また,関数中に非線形項を含む場合を変数間の依存関係があるという. 以 下 Fig2.3 に 代 表 的 な 単 峰 性 関 数 Sphere 関 数 と 多 峰 性 関 数 Rastrigin 関 数 を 示 す . Fig2.3 Sphere 関 数 (左 ), Rastrigin 関 数 (右 ) 8 第 2 章 最適化問題 2.1.2 連続関数最適化手法概要 現在,連続関数最適化手法として,遺伝子表現として,実数値ベクトルを用い た 実 数 値 GA が 連 続 関 数 の 最 適 化 手 法 と し て 注 目 さ れ て い る . 実 数 値 GA は ,個 体の遺伝子表現として従来の 2 値表現ではなく,実数値ベクトルを用い,変数の 連 続 性 を 考 慮 し た 交 叉 手 法 を 導 入 し た GA で あ る . 2 値 表 現 を 用 い た GA と 比 較 し優れた探索性能を持っている. また,近年では網羅性,効率性に優れたアルゴリズムとして,集団的降下法に 基 づ く ア ル ゴ リ ズ ム が GA に 代 わ る 新 し い 最 適 化 手 法 と し て 注 目 さ れ て い る . 特 に Particle Swarm Optimization(PSO)や Differential Evolution(DE)な ど が 代 表 的 な 手 法 で あ る . [小 野 2000][山 村 1994][佐 藤 1997] PSO は 1995 年 に J.Kennedy, R.Eberhart に よ り 提 案 さ れ た 確 率 的 な 最 適 化 手 法 の 1 つ で あ る .PSO は Reynolds の 魚 や 鳥 の 群 の 中 で の 個 々 の 生 物 の 振 舞 い と 群 と し て の ま と ま り 関 す る 研 究 な ど を 工 学 的 定 的 化 に 応 用 し た も の で あ る .PSO の 基 本 概 念 は ,群 (Swarm)と な っ た 粒 子 (Particle)が お 互 い の 情 報 を 共 有 し な が ら 解 空 間 を探索していく.個々の粒子の持つ最良の情報と群で共有する最良の情報を利用 し て 解 を 探 索 す る . [J.Kennnedy 1994] 2.1.2 差分進化 ( Differential Evolution ; DE ) 差 分 進 化 (Differential Evolution;DE)は K.price,R.Storn ら に よ っ て 提 案 さ れ た . DE は 確 率 的 な 探 索 法 で あ り ,解 集 団 を 用 い た 多 点 探 索 を お こ な う .DE の 重 要 な 特徴としては,進化計算ではガウス突然変異のステップはばを制御する必要があ る が , DE は こ の よ う な 制 御 が 不 要 と な る 単 純 な 数 学 的 演 算 を 用 い る こ と が 挙 げ られる.このため,制御パラメータの数が尐なく設定が容易であり問題への実装 も 比 較 的 容 易 に お こ な え る . [串 田 2010][坂 井 2007] [伊 藤 2005] [R.Storn1995] DE に は DE/best/num-pair/cross の よ う に 表 記 さ れ ,DE/best/1/bin や DE/rand/1/exp な ど が 代 表 さ れ る . best は 差 分 操 作 時 の 基 本 個 体 の 選 び 方 , num-pair は 差 分 の 際 に 選 ば れ る 個 体 対 の 数 , cross は 交 叉 方 法 を 表 す . 例 と し て , DE/rand/1/bin は 差 分変位親を作る際に元となる基本個体をランダムに選ぶ,差分をとる際に選ばれ る個体対が 1 である,交叉方法が一様交叉であることを指す 以 下 に N D 次 元 の 実 数 値 空 間 , N P 個 の 個 体 x i (i = 1,2,…, N P )を 与 え た 場 合 の , 個 体 の 選 び 方 が ラ ン ダ ム , 差 分 を 取 る 際 に 選 ば れ る 個 体 対 が 1, 交 叉 の 長 さ の 決 定 方 法 が 指 数 的 な 二 点 交 叉 で あ る DE/rand/1/exp ア ル ゴ リ ズ ム を 示 す . 9 第 2 章 最適化問題 DE/rand/1/exp ア ル ゴ リ ズ ム Step1: N P 個 の 個 体 を , 各 次 元 の 定 義 域 に お い て ラ ン ダ ム に 生 成 し て 世 代 g=1 とする.また,最終世代,収束の条件に設定する. Step2: 各 個 体 の 関 数 値 を 計 算 す る . Step3: 差 分 変 位 親 個 体 v i を 生 成 す る . Step3-1: 対 象 親 個 体 x i と 異 な る 3 個 体 x p 1, i , x p2, i , x p 3, i を 同 じ 個 体 が か さ ら ないようにランダムで選択する. Step3-2:式 (2.3)に よ っ て 差 分 変 位 親 個 体 v i を 生 成 す る .こ こ で S は 差 分 の 伸 縮 を 表 す ス ケ ー リ ン グ フ ァ ク タ で あ る . 式 (2.3)よ り S の 値 が 大 き い ほど差分変位親個体に対する差分の影響が大きく現れる. Step4: 両 親 の 交 叉 に よ っ て 子 個 体 u i を 生 成 す る . 最 初 に 交 叉 の 始 点 を 決 め る . 次 に , 繰 り 返 し 発 生 さ せ た 0 か ら 1 の 大 き さ の 乱 数 が 連 続 で 交 叉 率 CR 以下である回数を l として,始点を含めず l 個目までの要素を交叉によ り交換する.このとき,第 1 要素に戻って同様の操作を続ける.子個体 の 成 分 と し て は , 始 点 を 含 め て (l +1)個 の 差 分 変 位 親 個 体 u i の 成 分 が 用 い ら れ ,そ れ 以 外 の (N D -(l+1))個 の 成 分 は 対 象 親 個 体 の x i 成 分 が 用 い ら れ る . (Fig2.4) Fig2.4 DE の 二 点 交 叉 10 第 2 章 最適化問題 Step5: 対 象 親 個 体 x i と 子 個 体 の 関 数 値 を 比 較 し , 良 い 方 を 次 世 代 の x i と し て残す. Step6: 終 了 条 件 を 満 た し て い な け れ ば , g= g +1 と し て Step3 に 戻 る . 上 記 の Step の 現 世 代 か ら 次 世 代 へ の 世 代 交 代 は Fig2.5 に 示 す .ま た DE の 差 分 操作により生成される差分変位親個体の存在可能領域は ,個体集団の存在領域を 外側に拡張したものとなる.差分変位親個体と世代交代の対象となる対象親個体 を交叉させてできる子個体も同様に,親個体集団の存在領域を外側に拡張した領 域 に 存 在 し 得 る .こ れ に よ り 個 体 集 団 の 存 在 領 域 の 外 側 を 探 索 す る こ と が で き る . Fig2.6 に 探 索 空 間 の 推 移 を 示 す . Fig2.5 Fig2.6 DE 世 代 交 代 モ デ ル 探索空間の推移 11 第 3 章 ファジィ制御 第3章 3.1 ファジィ制御 ファジィ理論概要 現代制御理論は数学モデルに基づいて大いに発展してきたが,制御理論を現実 のシステムに適用しようとすると,実際の制御対象となるシステムにあいまい性 が存在するため,数式で厳密に表現することが難しいことが多い.また制御理論 は線形系の理論を基本としているために,対象とするシステムに非線形性が多い 場 合 は 線 形 理 論 に よ り 良 好 な 制 御 シ ス テ ム を 構 成 す る こ と が 難 し い . 1965 年 に Lotfi A.Zadeh [萩 原 1994]は ,厳 密 に 境 界 を 定 義 す る 集 合 論 で は 私 た ち の 持 っ て い る感覚などを表現することが困難であることを指摘し,境界があいまいな集合の 概念であるファジィ集合の理論を提唱した. 3.2 ファジィ集合 従来,集合の境界は厳密に定義に定義されなければならなかった.ある要素が 集合に属するか,属さないか,そのどちらでもないかなどは,本来議論を始める ことのできないことであった.しかし,現実の世界には境界のあやふやな事柄が 数多く存在する.特に私たちが日常生活で使っている言葉には,厳密であるもの の 方 が 尐 な い .以 下 に は ,従 来 の 集 合 の 問 題 点 と フ ァ ジ ィ 集 合 の 考 え 方 を 述 べ る . お湯の「熱い」という言葉を定義してくださいと言われたらどうするか.集合 論 に よ る と , 集 合 “熱 い ”は 温 度 T を 要 素 と し て , ”熱 い ” :{T|T ≧ 43℃} (3.2.1) と定義することができる.これは,特性関数を用いると次のように表現できる. 12 第 3 章 ファジィ制御 Fig 3.1: Characteristic Function Fig3.1 は 式 (3.2.1)の 特 性 関 数 を 示 す .温 度 T が 集 合 “熱 い ”に 属 す れ ば 特 性 関 数 の 値 は 1, そ う で な け れ ば 0 で あ る . こ の 定 義 は 「 熱 い 」 と い う 言 葉 を 誰 に で も 誤 解を与えることなく伝えることができる.しかし,この定義は私たちの持つ「熱 い」という言葉の概念を的確に表現できていない.この定義に対して,次の 2 通 りの回答がよく聞かれる. (ⅰ ):「 私 は 暑 が り だ か ら , も っ と 低 い 温 度 で も 熱 い と 思 う .」 (ⅱ ):「 42.99℃は 熱 く な く て , 43℃は 熱 い と い う の は お か し い .」 (ⅰ )に 対 し て は , 仮 に “A 君 に と っ て の 熱 い ”:{T|T ≧ 41℃} (3.2.2) と す れ ば よ い . し か し , (ⅱ )の 回 答 は , 従 来 の 集 合 表 現 の 本 質 的 な 問 題 を 含 ん でおり,他の言葉でも同様に起きる. “高 い ”を 身 長 H の 要 素 と し て , {H|H 180 cm } “高 い ”: (3.2.3) と し た ら , 身 体 測 定 の 結 果 ,「 身 長 が 179 ㎝ だ っ た の で , あ な た の 身 長 は 低 い 」 と 言 わ れ る と 理 不 尽 で あ る . こ の 他 に も , “尐 し ”“も う ち ょ っ と ”“か な り ” 13 第 3 章 ファジィ制御 など,私たちの使っている多くの言葉は従来の集合では表現しきれない.従来の 集合では特性関数が集合の定義に用いられる.これに対しファジィ集合ではメン バ ー シ ッ プ 関 数 に よ り 集 合 を 定 義 で き る . Fig3.2 は 集 合 “熱 い ”を 定 義 し た 例 で あ る. Fig3.2 Membership Function “Hot” 横 軸 が 温 度 で , 縦 軸 は こ の 温 度 が 集 合 “熱 い ”に 属 す る 度 合 を 表 し て い る . Fig3.1 で は ,43℃は 集 合 “熱 い ”の 境 界 で あ っ た .Fig3.2 の 例 で は 41℃は “熱 い ”の 0.5 の 度 合 い で 所 属 す る .43℃を 越 え て し ま う と 確 か に 熱 く ,所 属 度 は 1 に 近 づ く .ま た , 39℃を 下 回 る と 熱 い と は 言 い 難 く ,人 に よ っ て は “ち ょ う ど よ い ”や “す こ し ぬ る い ” な ど に な る . こ の 表 現 に よ れ ば , 40.99℃は 所 属 度 0.499 で 41℃の 時 と の 差 は わ ず か で あ る . 温 度 T に 関 す る “熱 い ”の メ ン バ ー シ ッ プ 関 数 は , そ の 関 数 値 が “熱 い ” の所属度を表し, “熱 い ” (T) (3.2.4) と 表 記 さ れ る .暑 が り や 寒 が り の 人 な ど も ,そ れ ぞ れ Fig3.3 に 示 す よ う に 柔 軟 に 表 現 で き る . さ ら に Fig3.4 の よ う に “尐 し 熱 い ”“熱 い ”“と て も 熱 い ”に 対 し て は , 私たちの感覚に近い自然な表現である. このように境界のあいまいな集合がファジィ集合と名づけられ,従来の境界が 明確な集合は,ファジィ集合と区別するために,クリスプ集合と呼ばれる. 14 第 3 章 ファジィ制御 Fig3.3 Membership Function “Sensitive to heat” /“Sensitive to cold” Fig3.4 Membership Function “Somewhat hot” / “Hot” / “Very hot” 15 第 3 章 ファジィ制御 3.3 ファジィ制御 ファジィ制御で用いられるファジィ推論は,ファジィ論理に基づくファジィ推 論法よりも簡略化された推論法を用いる.ファジィ推論は入力情報とファジィ集 合をつきあわせて必要な制御操作量を決定することである.主にプロセス制御, エキスパート・システムなどに応用され,家電製品にもごく当たり前に使われて いる. フ ァ ジ ィ 推 論 は 通 常 if (前 件 部 )- then(後 件 部 )型 の フ ァ ジ ィ 制 御 規 則 を 用 い る . 一般的な制御方法との違いは,ファジィルールの前件部,後件部にファジィ集合 を 記 述 で き る 点 に あ る . “大 き い ”,“弱 い ”な ど ,定 量 的 に 規 定 で き な い 内 容 を 表 せる. 「 も し ,自 動 車 の 速 度 が 速 け れ ば ,減 速 せ よ ! 」の よ う な 人 間 の 経 験 的 知 識 をルールとして表現できるようになる. 例えば,自動車が道路を走行する際, Table3.1 の よ う な 言 語 的 な ル ー ル が で き る . Table 3.1 Language rule R1 : も し , 自 動 車 の 速 度 が 速 け れ ば , 自動車を減速させよ. R2 : も し , 自 動 車 の 速 度 が 尐 し 速 け れ ば , 自動車を尐し減速させよ. R3 : も し , 自 動 車 の 速 度 が 適 切 な ら ば , 自動車の速度そのまま. R4 : も し , 自 動 車 の 速 度 が 尐 し 遅 け れ ば , 自動車を尐し加速させよ. R5 : も し , 自 動 車 の 速 度 が 遅 け れ ば , 自動車を加速させよ. 次 節 よ り 代 表 的 な フ ァ ジ ィ 推 論 法 で あ る ,Min-Max 重 心 法 と 本 研 究 で 使 用 す る 簡略型推論法の特徴について述べる. 3.3.1 Min-Max 重 心 法 Mamdani の 推 論 法 は 1974 年 , ロ ン ド ン 大 学 の Mamdani が 最 初 に フ ァ ジ ィ 制 御 で 用 い た 推 論 法 で あ る . こ の 推 論 法 は , 推 論 結 果 を 求 め る ま で に Minimum 演 算 , Maximum 演 算 ,重 心 法 を 用 い て い る た め に ,Min-Max 重 心 法 と も 呼 ば れ る .こ の 推論法は推論手順が理解しやすく,今日までのファジィ制御で最も広く使われて い る . 次 に Min-Max 重 心 法 に つ い て 述 べ る . 16 第 3 章 ファジィ制御 Table 3.1 の 言 語 ル ー ル に お け る 前 件 部 と 後 件 部 を 定 式 化 す る と , Table3.2 に な る. Table 3.2 Inference rule R : If x is A1 then y is B1 R 2 : If x is A2 then y is B2 R 3 : If x is A3 then y is B3 R 4 : If x is A4 then y is B4 R 5 : If x is A5 then y is B5 1 前件部変数は自動車から入力された速度である.また後件部は自動車のアクセ ル,ブレーキなどが出力される.以降本論文では, 前件部 後件部 x {A1,A2,A3,A4,A5} y {B1,B 2,B3,B 4,B5} (3.3.1) (3.3.2) と 記 述 す る .次 に 前 件 部 と 後 件 部 を メ ン バ ー シ ッ プ 関 数 で 表 す と ,Fig3.5,Fig3.6 のようになる. Fig 3.5 Membership function “Antecedent part” 17 第 3 章 ファジィ制御 Fig 3.6 Membership function “Back affair part” Min-Max 重 心 法 の 手 順 は 以 下 の よ う に な る . Step 1: 各 規 則 の 適 合 度 i を 計 算 す る . i A ( A ) i この場合 i (3.3.3) =1, 2, 3, 4, 5 Fig 3.7 Goodness of fit 1 0 ,2 0 ,3 0 ,4 0.6 ,5 0.4 となる. 18 第 3 章 ファジィ制御 Step 2: 各 規 則 の 後 件 部 の 推 論 結 果 Bi を 計 算 す る . B ( y ) i B ( y ) i i この場合 i (3.3.4) =1, 2, 3, 4, 5 Fig 3.8 Reasoning result (1) Step 3: 各 規 則 の 推 論 結 果 Bi を 統 合 し て , 規 則 全 体 の 推 論 結 果 B を 計 算 す る . n B ( y ) B ( y ) i i 1 i こ の 場 合 y0 =1, 2, 3, 4, 5 Fig 3.9 Reasoning result (2) (3.3.5) 19 第 3 章 ファジィ制御 Step 3: 推 論 結 果 B の 重 心 を 計 算 す る y0 y ( y )dy ( y )dy B (3.3.6) B y0 また は重心 は Minimum 演 算 ,は Maximum 演 算 を 表 し て い る . Fig 3.10 Reasoning result“Center of gravity” 速 度 の 入 力 か ら , メ ン バ ー シ ッ プ 関 数 は “尐 し 速 い ”と “速 い ”に 入 力 情 報 が あ る こ と が わ か る . ま た , や や “尐 し 速 い ”よ り で あ る の で , 重 心 位 置 の 値yも 0 “尐 し 減 速 ”と な る . こ の よ う に Min-Max 重 心 法 は , 推 論 結 果 は フ ァ ジ ィ 集 合 の 形 で 求 められる.この重心法によって求められた値を推論結果としてファジィ制御装置 の 出 力 と し て 扱 っ て い る .し か し ,入 出 力 の 関 係 が Min と Max と い う 非 線 形 性 の 強い演算を使用するため,制御規則のチューニングを困難にさせる. 20 第 3 章 ファジィ制御 3.3.2 簡略型推論法 簡略型推論法は,前田,村上や菅野らによって提案されたもので,基本的には Min-Max 重 心 法 と 同 じ 推 論 法 を 行 う .異 な る 点 は ,重 心 を 求 め る 際 に あ る . 前 件 部 に は Min 演 算 を 行 い , 後 件 部 に は フ ァ ジ ィ 集 合 で は な く , 定 数 (シ ン グ ル ト ン ) で与えられる.こうして,ファジィ推論の高速化と簡略化を主眼とした推論法で ある.前節と同様,自動車の例を基に簡略型推論法について述べる. 簡 略 型 推 論 法 の 前 件 部 は ,前 節 の Min-Max 重 心 法 同 様 Fig3.5 の メ ン バ ー シ ッ プ 関 数 で 表 す . し か し , 後 件 部 は Fig3.9 シ ン グ ル ト ン で 表 す . Fig 3.11 Singleton 簡略型推論法の手順は以下のようになる. Step 1: 各 規 則 の 適 合 度 i を 計 算 す る . i A ( A ) i この場合 i =1, 2, 3, 4, 5 (3.3.7) 21 第 3 章 ファジィ制御 Step 2: 推 論 結 果 y0 を 次 式 で 計 算 す る . n y0 i 1 i Bi (3.3.8) n i 1 i Fig 3.12 Reasoning result“Singleton” こ の 簡 略 型 推 論 法 は ,前 節 で 解 説 し た min-max 重 心 法 と 比 べ て ,非 フ ァ ジ ィ 化 の演算操作が必要ないため,演算速度が格段に早くなり,制御において制御周期 を短縮することができる.また,この推論法は単純な四則演算を使った式となる ため,解析が容易になるといった特徴も持つ. 22 第 4 章 ライントレースカーのための多段ファジィ制御器システム 第4章 ライントレースカーのための 多段ファジィ制御器システム 本章では研究で使用するライントレースカーについて述べる.ライントレース カ ー と は ,白 の ラ イ ン を セ ン サ で 読 み 取 り 走 行 す る も の で ,H8 マ イ コ ン を 使 っ て 制 御 す る . 本 研 究 で は , Japan Micom Car Rally の 規 定 に し た が っ て ラ イ ン ト レ ー スカーを制作している.本研究で使用するライントレースカー以下に示す. Fig 4.1 ラ イ ン ト レ ー ス カ ー 本 研 究 で 使 用 し た ラ イ ン ト レ ー ス カ ー は ,HITACHI 製 の マ イ コ ン カ ー (マ イ コ ン カ ー 製 作 キ ッ ト Vol.3)を 使 用 . ギ ヤ ボ ッ ク ス (ハ イ ス ピ ー ド ギ ヤ ー ボ ッ ク ス HE) ,モ ー タ (RC-260RA18130 6V カ ー ボ ン ブ ラ シ ),を 使 用 し た .ま た ,CPU と し て , H8/3048F-ONE ( HD64F3048BF25), を 使 用 し て い る . 動 作 ク ロ ッ ク は 24.576[MHz]で あ る . 23 第 4 章 ライントレースカーのための多段ファジィ制御器システム 4.1 システム構成 本章では,これまで行ってきた研究の全体の流れを述べる.本システムでは,ラ イントレースカーの操舵角とモータ出力を制御する為に簡略型推論法を用いてい る .次 節 で は ,ラ イ ン ト レ ー ス カ ー を 制 御 す る た め に 設 計 し た ,フ ァ ジ ィ ル ー ル , 入力のメンバーシップ関数,出力のシングルトンについて述べる. ま ず , 本 シ ス テ ム の 全 体 の 流 れ は Fig 4.2 の よ う に な る . Fig 4.1 シ ス テ ム 構 成 ライントレースカーは入力情報からファジィ推論を行う.具体的には,ライン ト レ ー ス カ ー が 走 行 中 に 読 み 取 っ た セ ン サ の 値 よ り 推 論 を 行 う .推 論 結 果 と し て , ラ イ ン ト レ ー ス カ ー の 操 舵 角 (θ)が 出 力 さ れ る .次 に ,こ の 推 論 結 果 を 基 に 左 右 の モ ー タ 制 御 を 行 う .構 成 と し て ,操 舵 角 (θ)と 左 右 の モ ー タ 出 力 (LM)(RM)か ら ラ イ ン ト レ ー ス カ ー を 動 作 さ せ る , 1入 力 3出 力 の 多 段 フ ァ ジ ィ 制 御 で あ る . 次 に ,ラ イ ン ト レ ー ス カ ー の 入 力 情 報 (P)に つ い て 述 べ る .手 順 は 以 下 の よ う に なっている. 24 第 4 章 ライントレースカーのための多段ファジィ制御器システム Fig 4.2 セ ン サ の 値 以 下 は ,入 力 情 報 (P)を 求 め る た め の 計 算 式 で あ る .セ ン サ に は (-4)か ら (-1)と (1) か ら (4)ま で の 値 ( a )を 当 て え る . 点 灯 し て い る セ ン サ の 値 の 総 和 を 出 す た め に , セ ン サ の ON, OFF の 関 数 を S a (t ) とする. 1 セ ン サ ONの 時 S a (t ) 0 セ ン サ OFFの 時 (4.1.1) S a (t ) の 総 和 と な り ,そ の 時 に あ ら か じ め 与 え て お い た 各 セ ン サ の 値 a は 関 数 N a (t )で 与 え ら れ る .従 っ て ,式 (4.1.2)及 び (4.1.3) の よ う な 関 係 に な る . P の 値 は 式 (4.1.5)に 示 す よ う に ,N a (t ) と S (t ) の 総 a 点灯しているセンサの個数は 和を除算したものになる. Sa (t ) 1 N a (t ) a Sa (t ) 0 N a (t ) 0 (4.1.2) (4.1.3) 4 P N a 4 4 S a 4 a (t ) a (t ) (4.1.4) た だ し ,a は 0 に な ら な い た め , 式 (4.1.4)は 0 を 含 ま な い 集 合 A - 4, - 3, - 2, - 1, 1, 2, 3, 4 を 用 い て 記 述 す る . こ の 場 合 aは 集 合 Aに 含 ま れ る と 考 え る こ と が で き , 式 (4.1.5)は N P S aA aA 但し, a (t ) a (t ) A - 4, - 3, - 2, - 1, 1, 2, 3, 4 (4.1.5) となる. 25 第 4 章 ライントレースカーのための多段ファジィ制御器システム 4.1.1 操舵角ファジィ制御 本節では操舵角をファジィ制御するための手法について述べる.まず,操舵角 動作の知識を言語ルールとして設計する.次に言語ルールにおける前件部と後件 部を定式化し,ファジィ制御規則を設計する.本研究では,推論法に簡略型推論 法を使用する.前件部はメンバーシップ関数,後件部はシングルトンで表す. 言語ルールによる表現 ライントレースカーの操舵角を制御するため,知識を言語ルールとして設計す る . 以 下 Table 4.1 は , 設 計 し た 言 語 ル ー ル で あ る . Table 4.1 Steering angle language rule R1 : も し , セ ン サ の 値 が 左 側 な ら ば , 操舵角を左に曲げよ. R2 : も し , セ ン サ の 値 が 中 央 な ら ば , 操舵角はそのまま. R3 : も し , セ ン サ の 値 が 右 側 な ら ば , 操舵角を右に曲げよ. ルールの定式化表現 Table 4.1 の 言 語 ル ー ル に お け る 前 件 部 と 後 件 部 を 定 式 化 す る と , Table4.2 に な る .前 件 部 変 数 は セ ン サ の 値 (P)か ら ,現 在 ど の 位 置 に 白 の ラ イ ン が あ る か を ,検 知する.また,後件部変数には,センサの値から操舵角をどの方向に曲げるかを 用いる. 前 件 部 変 数 : x {R1,Z 1,L1} (4.1.6) 後 件 部 変 数 : y { AR ,AZ ,AL } 2 2 2 (4.1.7) 26 第 4 章 ライントレースカーのための多段ファジィ制御器システム Table 4.2 Steering angle inference rule R1 : If x is L1 then y is AL1 R 2 : If x is Z 1 then y is AZ 1 R 3 : If x is R1 y is AR 1 then 言語変数の定量化 本システムには簡略型推論法を使用する.そのため,前件部にはメンバーシッ プ 関 数 の 三 角 型 フ ァ ジ ィ 集 合 を 用 い た .前 件 部 定 数 に は 入 力 (P)を 使 用 す る の で 範 囲 は -4 か ら 4 ま で と す る .後 件 部 に は ,メ ン バ ー シ ッ プ 関 数 で は な く ,実 数 値 で ある.シングルトンを用いる.サンプルプログラムの操舵角の設定を参考にし, シ ン グ ル ト ン の 後 件 部 定 数 は -26°か ら 26°の 間 と す る .前 件 部 の メ ン バ ー シ ッ プ 関 数 は Fig 4.4, 後 件 部 の シ ン グ ル ト ン は Fig 4.5 に 示 す . Fig 4.4 Steering angle membership function“Antecedent part” 27 第 4 章 ライントレースカーのための多段ファジィ制御器システム Fig 4.5 Steering angle singleton“Back affair part” 4.1.2 モータファジィ制御 本節ではモータの出力をファジィ制御するための手法について述べる.まず, モ ー タ 入 力 に は ,前 節 で 求 め た 操 舵 角 (θ)の 値 を 使 用 す る .手 順 は 操 舵 角 同 様 ,ま ず,左右のモータ動作の知識を言語ルールとして設計する.次に言語ルールにお ける前件部と後件部を定式化し,ファジィ制御規則を設計する.前節同様,推論 法に簡略型推論法を使用する.左右のモータ制御になるので,前件部はメンバー シップ関数が 2 つ,後件部はシングルトンが 2 つとなる. 言語ルールによる表現 左右のモータ出力を制御するため,知識を言語ルールとして設計する.以下 Table 4.3, Table 4.4 は , 設 計 し た 言 語 ル ー ル で あ る . な お , 左 右 の 出 力 に な る の で,ルールも 2 種類設計する. Table 4.3 Language rule“Right motor output” R1 : も し , 操 舵 角 が 右 曲 が り な ら ば , モータ出力は小. R2 : も し , 操 舵 角 が ま っ す ぐ な ら ば , モータ出力は大. R3 : も し , 操 舵 角 が 左 曲 が り な ら ば , モータ出力は中. 28 第 4 章 ライントレースカーのための多段ファジィ制御器システム Table 4.4 Language rule“Left motor output” R1 : も し , 操 舵 角 が 右 曲 が り な ら ば , モータ出力は中. R2 : も し , 操 舵 角 が ま っ す ぐ な ら ば , モータ出力は大. R3 : も し , 操 舵 角 が 左 曲 が り な ら ば , モータ出力は小. ルールの定式化表現 Table 4.3, Table 4.4 の 言 語 ル ー ル に お け る 前 件 部 と 後 件 部 を 定 式 化 す る と , Table4.5, Table 4.6 に な る . 前 件 部 変 数 は 操 舵 角 (θ)か ら , 現 在 ど の カ ー ブ か を , 検 知 す る .ま た ,後 件 部 変 数 に は ,(θ)の 値 か ら カ ー ブ を 曲 が る た め 必 要 な モ ー タ の出力を用いる. 右モータ制御の場合 前 件 部 変 数 : x { AR 2,AZ 2,AL2 } (4.1.8) 後 件 部 変 数 : y {ML ,MM ,MH } (4.1.9) 前 件 部 変 数: x { AR 3,AZ 3,AL3 } (4.1.10) 1 1 1 左モータ制御の場合 後 件 部 変 数: y {ML ,MM ,MH } 2 2 2 Table 4.5 Inference rule“Right motor output” R1 : If x is AL2 then y is MM 1 R 2 : If x is AZ 2 then y is MH 1 R 3 : If x is AR 2 then y is ML1 (4.1.11) 29 第 4 章 ライントレースカーのための多段ファジィ制御器システム Table 4.6 Inference rule“Left motor output” R1 : If x is AL3 then y is ML2 R 2 : If x is AZ 3 then y is MH 2 R 3 : If x is AR 3 then y is MM 2 言語変数の定量化 操舵角同様推論法には簡略型推論法を使用するため,前件部にはメンバーシッ プ 関 数 の 三 角 型 フ ァ ジ ィ 集 合 を 用 い た .前 件 部 定 数 に は 入 力 操 舵 角 (θ)を 使 用 す る の で 範 囲 は -26°か ら 26°ま で と す る . 後 件 部 に は , メ ン バ ー シ ッ プ 関 数 で は な く , 実数値である.シングルトンを用いる.シングルトンの後件部定数にはモータ Low(ML),Middle(MM),High(MH)が あ り ,値 は そ れ ぞ れ 45,70,100 の 値 を 付 け る . 後 件 部 定 数 の 値 は , 次 章 5.2 の 後 件 部 レ ベ ル 調 整 実 験 よ り 求 め た . な お , 前 件 部 の メ ン バ ー シ ッ プ 関 数 は Fig 4.6, Fig 4.8, 後 件 部 の シ ン グ ル ト ン は Fig 4.7, Fig 4.9 に 示 す . Fig 4.6 Right motor membership function“Antecedent part” 30 第 4 章 ライントレースカーのための多段ファジィ制御器システム Fig 4.7 Right motor singleton“Back affair part” Fig 4.8 Left motor membership function“Antecedent part” 31 第 4 章 ライントレースカーのための多段ファジィ制御器システム Fig 4.9 Left motor Singleton“Back affair part” 以 下 Fig 4.10, Fig 4.111 り セ ン サ か ら P が -4°か ら 4°の 値 を と る . こ の 時 , 推 論 式 よ り θ は -26°か ら +26°ま で の 値 を と る . こ れ を , 入 力 に 対 し て 連 続 か つ 安 定 的 に出力される.つまり,P から θ への写像は全単射になる.従って,センサから の P 値 が 離 散 で あ っ て も P か ら θ は 可 安 定 で あ る .θ か ら LM,θ か ら RM も 同 様 であるため,実装したファジィ制御器は可安定である. 32 第 4 章 ライントレースカーのための多段ファジィ制御器システム Fig 4.10 Orbit of a steering angle Fig 4.11 Orbit of motor output 33 第 4 章 ライントレースカーのための多段ファジィ制御器システム 4.2 実験概要 本章は,本研究の目的である,ライントレースカーのジグザグ走行を滑らかに 制 御 す る た め ,2 種 類 の 実 験 を 行 っ た .1 種 類 目 は ,実 験 コ ー ス を 3 周 走 ら せ ,そ の走行タイムより検証する,実装実験.2種類目は,カーブの動画から,センサ の移り変わりを検証する,コーナリング検証実験.この 2 種類の実験を用いて, ライントレースカーにおけるファジィ制御の有効性について検証する. 実験の流れは以下の手順で行う.次節にモータファジィ制御の際,シングルト ンの後件部定数を調整するため,後件部レベル調整実験の詳細と結果について述 べる.次に,実装実験とコーナリング検証実験の詳細と実験方法を述べる.実装 実験とコーナリング検証実験の結果,考察は次章で述べる.以下は,実験に使用 し た コ ー ス で あ る .コ ー ス の 詳 細 は ,全 長 は 約 10m.直 線 600mm(T600)×4 枚 ,カ ー ブ 半 径 450mm(R450)×16 枚 を 使 用 . オ ー バ ル コ ー ス の 場 合 カ ー ブ が 左 右 ど ち ら か に な る の で , 左 右 の カ ー ブ が 存 在 す る Fig 4.12 の コ ー ス を 作 成 . Fig 4.12 Experimental track 34 第 4 章 ライントレースカーのための多段ファジィ制御器システム 4.2.1 後件部変数調整実験 本節は,モータのファジィ制御する際,後件部定数の調整を行った.前件部, 後件部の定数は,設計者の主観によって設定できる利点がある.しかし,毎回完 璧 な 設 定 が で き る わ け で は な い .実 際 ,初 期 の モ ー タ 後 件 部 定 数 に は ,MH(100), MM(75), ML(50)で 設 定 し て い た が , コ ー ナ ー の 進 入 速 度 が 速 す ぎ た た め に コ ー スアウトというアクシデントが起こる.以下は,後件部定数を調整した結果であ る. Table 4.7 Adjustment result Table 4.7 よ り ,Case1 か ら Case4 ま で は コ ー ス ア ウ ト と な り ,Case5,Case6 は コ ー ス ア ウ ト せ ず , コ ー ス を 走 り 切 っ た . 後 件 部 の 定 数 は , Case5 か Case6 に な る が , Case5 の タ イ ム が Case6 よ り 速 か っ た こ と も あ り , 後 件 部 定 数 は Case5 と な る. 35 第 4 章 ライントレースカーのための多段ファジィ制御器システム 4.2.2 実装実験 本節は,実装実験の実験方法と詳細について述べる.実装実験には,ライント レースカーのキットに付属していたプログラム,操舵角をファジィ制御してプロ グラム,操舵角をファジィ制御してプログラムと比較するために改良したサンプ ルプログラム,モータをファジィ制御したプログラム,操舵角 とモータをファジ ィ制御したプログラムの 5 種類のプログラムから走行タイムを比較し検証する. 以 下 Table 4.8 に 各 プ ロ グ ラ ム の 名 称 と プ ロ グ ラ ム の 詳 細 に つ い て 述 べ る . Table 4.8 Name of a program Sample program(SP) サンプルプログラムはライントレースカーのキットに付属しているプログラム で,どのコースにも正常に走行するよう設計されている.プログラムの基本動作 は Table 4.9 に 示 す . ま た , こ の プ ロ グ ラ ム を 基 準 と し て 検 証 実 験 を 行 う . Table 4.9 Operation of a sample program 36 第 4 章 ライントレースカーのための多段ファジィ制御器システム Steering angle fuzzy control(SF) 操 舵 角 を フ ァ ジ ィ 制 御 し た プ ロ グ ラ ム で , 直 線 (θ= 0)の 場 合 は 左 右 の モ ー タ 出 力 は 100 で 固 定 , カ ー ブ (θ≠0)の 場 合 は 左 右 の モ ー タ 出 力 は 50 で 固 定 . Custom program(CP) 操 舵 角 の 制 御 方 法 は Sample program と 同 じ で あ る が ,Steering angle fuzzy control と 比 較 の た め に 作 成 し た プ ロ グ ラ ム で , 直 線 (θ= 0)の 場 合 は 左 右 の モ ー タ 出 力 は 100 で 固 定 , カ ー ブ (θ≠0)の 場 合 は 左 右 の モ ー タ 出 力 は 50 で 固 定 . Motor fuzzy control(MF) 操 舵 角 の 制 御 方 法 は Sample program と 同 じ で あ る が ,Sample program の 操 舵 角 を入力として,モータをファジィ制御する. Full fuzzy control(FF) 操舵角とモータをファジィ制御したもの. 実験詳細 本 節 で は ,実 装 実 験 の 方 法 に つ い て 述 べ る .実 験 コ ー ス は 前 節 で 述 べ た ,Fig 4.12 のコースを使用する.実験環境は以下に述べる. ・ 実験コースを時計まわりに 3 周走行させる. ※た だ し , ス タ ー ト の 誤 差 を 減 ら す た め に , 1 周 フ リ ー ラ ン さ せ た 後 , ス タ ー ト す る . ・ 計測には,ストップウォッチを使用. ・ 電池の影響を考慮しないために,電池は毎回充電する. 実装実験では,以下の組み合わけで走行タイムを比較する. Table 4.10 Program comparison 37 第 4 章 ライントレースカーのための多段ファジィ制御器システム Comparison 1 は SP と MF か ら ,モ ー タ 制 御 に フ ァ ジ ィ 制 御 を 用 い た 場 合 の 走 行 タイムの変化を比較する.従って,操舵角の制御方法は両方とも同じある. Comparison 2 は CP と SF か ら ,操 舵 角 制 御 に フ ァ ジ ィ 制 御 を 用 い た 場 合 の 走 行 タ イ ム の 変 化 を 比 較 す る . 従 っ て , モ ー タ 制 御 は 直 線 (100), カ ー ブ (50)で 固 定 し てある. Comparison 3 は SP と FF か ら ,初 期 の 制 御 方 法 の 状 態 と 操 舵 角 ,モ ー タ 出 力 の 制御方法にファジィ制御を用いた場合のタイムの変化を比較する. 4.2.3 コーナリング検証実験 本節は,ライントレースカーがカーブを走行する際,センサがどのように移り 変 わ る か 動 画 を 用 い て 検 証 す る . 検 証 す る カ ー ブ は Fig 4.13 を 使 用 す る . Fig 4.13 Curve to verify 38 第 4 章 ライントレースカーのための多段ファジィ制御器システム 4.3 予備実験結果 本 章 で は ,前 章 で 述 べ た 実 装 実 験 と ,コ ー ナ リ ン グ 検 証 実 験 の 結 果 に つ い て と , まとめ,考察について述べる. 4.3.1 実装実験結果 本節では,各プログラムの実験結果につい述べる.以下は,各プログラムの走行 タイムである. Table 4.11 Experimental result“Comparison1” Table 4.12 Experimental result“Comparison2” Table 4.13 Experimental result“Comparison3” 39 第 4 章 ライントレースカーのための多段ファジィ制御器システム Comparison1 よ り , モ ー タ 出 力 に フ ァ ジ ィ 制 御 を 用 い た 場 合 , タ イ ム の 差 は 明 確 で あ る . 主 観 的 な 意 見 で は あ る が , 速 度 だ け で な く , MF の 方 が SP に 比 べ て , ジグザグ走行ではなく,滑らかに制御できている. Comparison2 よ り , 操 舵 角 に フ ァ ジ ィ 制 御 を 用 い た 場 合 , タ イ ム の 差 は 若 干 で はあるが,速くなっている.この場合も,ファジィ制御を用いた方がカーブでジ グザグ走行が滑らかに制御できている. Comparison3 よ り , 総 合 的 に フ ァ ジ ィ 制 御 を 用 い た 場 合 , SP と 比 べ て タ イ ム の 差 は 明 確 に 出 て い る . MF と 比 べ る と , タ イ ム の 差 は 若 干 で は あ る が , FF が 一 番 滑らかに走行できていた. 実装実験の結果から,ファジィ制御を用いない場合とファジィ制御を用いた場 合とで,タイムの違いが明確にでた.このことより,ライントレースカーにおけ る,ファジィ制御適応は有効であるといえる.しかし,この結果からでは,ライ ントレースカーが滑らかに走行できているとは言い難い.そのため,次節でタイ ム の 差 が 尐 な か っ た ,FF と MF の ,カ ー ブ 時 に セ ン サ が ど の よ う に 移 り 変 わ る か , 動画を用いて検証する. 4.3.2 コーナリング検証実験結果 前節の実装実験で,ファジィ制御を用いた場合とそうでない場合のタイムの比 較 を 行 っ た .主 観 的 に 見 て ,FF が 一 番 滑 ら か に 制 御 で き て い る .し か し ,こ の 結 果から,ライントレースカーが滑らかに走行できたとは言い難い.本節では,動 画 を 用 い て ,FF と MF を 解 析 し ,カ ー ブ 時 で セ ン サ が ど の よ う に 移 り 変 わ る か を グ ラ フ 化 し ,検 証 し て い く .最 終 的 に ,FF と SP を 比 較 し ,ラ イ ン ト レ ー ス カ ー におけるファジィ制御の有効性について,次節考察で述べる. コ ー ナ リ ン グ 検 証 実 験 で は , Fig 4.13 の コ ー ス を 使 用 す る .そ の 際 ,検 証 を し 易 く す る た め に Fig6.1 の よ う に コ ー ス を 5 分 割 し た . 以 下 に , 各 プ ロ グ ラ ム が , A 区間,B 区間,C 区間,D 区間,E 区間で,どのくらい走行タイムが掛かってい る か を 述 べ , Figs 4.15, 4.16, 4.17 に セ ン サ の 移 り 変 わ り を グ ラ フ 化 し た も の を 述べる. 40 第 4 章 ライントレースカーのための多段ファジィ制御器システム Fig 4.14 Curve to verify“Correction version” Fig 4.15 Verification result “Sample program” 41 第 4 章 ライントレースカーのための多段ファジィ制御器システム Fig 4.16 Verification result“Motor fuzzy control” Fig 4.17 Verification result “Full fuzzy control” 42 第 4 章 ライントレースカーのための多段ファジィ制御器システム Fig 4.18 Diagrammatic chart comparison コ ー ナ リ ン グ 検 証 実 験 の 結 果 か ら , C 区 間 に お け る P の 振 れ 幅 が MF の 時 1, SP の 時 1, FF の 時 0.5 と , FF の 場 合 の 振 れ 幅 が 小 さ い こ と が 分 か る . こ の こ と から,走行時のバンバン制御が改善されたといえる.また,カーブ時におけるセ ン サ の 移 り 変 わ り が 分 か っ た . MF の 場 合 , カ ー ブ を 曲 が る の に か か っ た 操 舵 回 数 が 36 回 に 対 し ,FF は 操 舵 回 数 23 回 と 明 確 な 差 が あ る .カ ー ブ 時 に ,操 舵 回 数 が尐ないということは,無駄な行動によるタイムロスが尐なく,滑らかに走行で き て い る と 実 証 で き る .こ れ は ,操 舵 回 数 68 回 で あ っ た SP の 場 合 も 同 様 で あ る . 以上の結果から,ライントレースカーにおけるファジィ制御は有効であるといえ る. 4.4 考察 2 種類の実験から,ライントレースカーにおけるファジィ制御の有効性につい て検証した.まず,操舵角にファジィ制御を用いた場合と,用いない場合とでタ イムにどのような変化が生じるかと,モータ出力にファジィ制御を用いた場合と そ う で な い 場 合 と で タ イ ム に ど の よ う な 変 化 が 生 じ る か 検 証 し た .そ し て ,SP と FF を 比 較 す る こ と で ,フ ァ ジ ィ 制 御 の 有 効 性 を 検 証 し た .タ イ ム の 変 化 は 明 確 に 出ており,ファジィ制御を用いた場合,走行タイムが縮まるという結果が分かっ た.しかし,走行タイムでは,滑らかに制御できたとは言い難い.そのため,カ ーブ時でセンサがどのように移り変わるか,動画を用いて検証,解析した.結果 として,操舵回数に明確な差がで,カーブ時に操舵回数が尐ないということは, 43 第 4 章 ライントレースカーのための多段ファジィ制御器システム 無 駄 な 行 動 に よ る タ イ ム ロ ス が 尐 な く ,滑 ら か に 走 行 で き て い る と 実 証 で き た . この実験により,ライントレースカーにおけるファジィ制御の有効性について示 せた. しかし本来,車などを運転する際は,カーブの状況に対してアクセルの踏み込 みや,緩めなどの運転をする.しかし,現在ライントレースカーは操舵角の値に 対してのみモータの制御をおこなっている.これに,現在の操舵角と以前の操舵 角の値から,モータの制御をおこなうことにより,ライントレースカーの減加速 を考慮した制御器を試みた.そこで,メンバーシップ関数,シングルトンのパラ メータ調整やファジィルールの設計が困難となった.これは,序論で述べたよう に,人間がそれを容易に理解できない状態になったと思われる .そのために,推 論ルールの獲得やメンバーシップ関数のチューニングが困難となり ,人間が調整 するには多大な労力と膨大の時間が必要となる. 第 5 章では,ファジィ制御器の自動チューニングについて報告する . 44 第 5 章 ファジィ制御器のパラメータ最適化問題 第5章 5.1 ファジィ制御器のパラメータ最適化問題 概要 第 4 章では,1 入力でのファジィ制御器について述べた.そして,ファジィル ー ル の 設 計 な ど を ,設 計 者 の 知 識 や 経 験 が 容 易 に 反 映 で き ,そ の 有 効 性 を 示 し た . しかし,車などの運転を例に挙げると,我々は,カーブの状況に応じてアクセル の踏み込みや緩めなどの行為をおこなう.1 入力の制御器の場合,現在の操舵角 の 状 況 に 対 し て の み モ ー タ の パ ワ ー を 出 力 し て い る . こ れ を , Fig5.1 に 示 す よ う に ,現 在 の 操 舵 角 ( t )と 操 舵 角 の 変 化 量 ( t t t 1 )の 2 つ の 入 力 情 報 か ら ,モ ー タの制御をおこなうことにより,ライントレースカーの減加速を考慮した制御器 を試みた.なお操舵角の制御方法に対しては,以前の制御器と同じ状態であるた め,モータ制御のみに着目して報告する. 5.1.1 システム構成 モ ー タ を 制 御 す る た め の 推 論 規 則 は Table 5.1 の よ う に な る . 現 在 の 操 舵 角 ( t ) と 操 舵 角 の 変 化 量 ( t t t 1 )の 2 つ の 入 力 情 報 か ら ,モ ー タ の 制 御 を お こ な う . この場合,モータの出力は前回出力されたモータ出力からどのくらい上げるか, 下げるかの変化量が出力される.これによりライントレースカーに減加速の制御 を 考 慮 し た シ ス テ ム 構 成 と な る . 具 体 的 な 流 れ と し て は , セ ン サ 値 よ り Fuzzy Controller1 で 出 力 し た 操 舵 角 の 値 は , Controller1 に 入 る こ と に よ り ( t t t 1 ) の 処 理 が さ れ 操 舵 角 の 変 化 量 を 求 め る . Fuzzy Controller2 に 操 舵 角 と 操 舵 角 の 変 化 量 が 入 力 さ れ る こ と に よ り , 左 右 の モ ー タ 出 力 の 変 化 量 を 求 め る . Fuzzy Controller2 で 出 力 さ れ た 値 が Controller2 に 入 る こ と に よ り ( M M t 1 M )の 処 理 が さ れ る .こ の 結 果 モ ー タ の 制 御 量 が 決 ま る (Fig5.1).こ の 一 連 の 流 れ で ラ イ ン ト レ ー ス カ ー は 走 行 す る . x1 , x 2 は 前 件 部 変 数 と な り 制 御 対 象 の 状 態 変 数 を あ ら わ し ,フ ァ ジ ィ 制 御 器 の 入 力 変 数 と な る . y1 , y2 は 後 件 部 変 数 と な り ,制 御 対 象 の 操 作 量 で あ り , フ ァ ジ ィ 制 御 器 の 出 力 変 数 と な る . こ の 場 合 , 前 件 部 変 数 x1 は 操 舵 角 ( t )が ど の 方 向 に あ る か を 表 し て お り ,x1 { A11 , A12 , A13} と な る .こ の 時 の , A11 は 右 側 を 表 す フ ァ ジ ィ 変 数 で あ り , A12 は 中 央 を 表 す フ ァ ジ ィ 変 数 で あ り , A13 は左側を表すファジィ変数である. 45 第 5 章 ファジィ制御器のパラメータ最適化問題 Fig5.1 シ ス テ ム 構 成 ま た , x2 は 操 舵 角 の 変 化 量 ( t t t 1 )が ど の く ら い 変 化 し た か を 表 し て お り , x2 { A21 , A22 , A23} と な る .こ の 時 の , A21 は 変 化 量 増 加 を 表 す フ ァ ジ ィ 変 数 で あ り , A22 は 変 化 量 零 を 表 す フ ァ ジ ィ 変 数 で あ り , A23 は 変 化 量 減 尐 を 表 す フ ァ ジ ィ 変 数 で あ る .ま た ,後 件 部 変 数 y1 は 左 モ ー タ の 出 力 を ど の く ら い 変 化 さ せ る か を 表 し , y1 {B11 , B12 , B13 , B14 , B15 , B16 , B17 , B18 , B19 } と な る . y1 は 左 モ ー タ の 出 力 を ど の く ら い 変 化 さ せ る か を 表 し y2 {B2 , B2 , B2 , B2 , B2 , B2 , B2 , B2 , B2 } と な る . 1 2 3 4 5 6 7 8 9 Table 5.1 推 論 規 則 46 第 5 章 ファジィ制御器のパラメータ最適化問題 上 記 の 制 御 規 則 か ら , フ ァ ジ ィ ル ー ル を 設 計 し た . Table 5.2 は 設 計 し た ル ー ル の前件部のファジィ変数に対する対応表を示す.また,このときの入力のメンバ ー シ ッ プ 関 数 , 出 力 の シ ン グ ル ト ン は 下 記 Fig5.2, Fig5.3 に 示 す . Table 5.2 フ ァ ジ ィ 制 御 ル ー ル 47 第 5 章 ファジィ制御器のパラメータ最適化問題 Fig5.2 入 力 メ ン バ ー シ ッ プ 関 数 (上 : 操 舵 角 , 下 : 操 舵 角 の 変 化 量 ) 48 第 5 章 ファジィ制御器のパラメータ最適化問題 Fig5.3 出 力 の シ ン グ ル ト ン (上 : 左 モ ー タ , 下 : 右 モ ー タ ) なお,パラメータについては設計者の知識・経験より設計をおこなった.この時 の ,操 舵 角 ( t )の 前 件 部 フ ァ ジ ィ 変 数 x1 { A11 , A12 , A13 } は 操 舵 角 が ,正 の 値 の 時 に 右 側 (Right: R), 値 が 零 の 場 合 は 中 央 (Central: C), 負 の 値 の 時 に 左 側 (Left: L)と 定 義 す る . ま た , 操 舵 角 の 変 化 量 ( t )の 前 件 部 フ ァ ジ ィ 変 数 x2 { A21 , A22 , A23} は 変 化 量 の 値 が 増 加 し た 場 合 (Positive: P), 変 化 量 に 変 化 が な い 場 合 (Zero: Z), 減 尐 し た 場 合 (Negative: N)と 定 義 す る . ま た , 左 モ ー タ 出 力 の 変 化 量 ( LMP )の 後 件 部 フ ァ ジ ィ 変 数 y1 {B11 , B12 , B13 , B14 , B15 , B16 , B17 , B18 , B19 } は , 制 御 対 象 の 操 作 量 で あ る . 49 第 5 章 ファジィ制御器のパラメータ最適化問題 今 回 の 制 御 ル ー ル の 場 合 , 以 下 の よ う に B1 を 定 義 す る . B11 は モ ー タ 出 力 を 大 き く 下 げ る (Big Down: BD1 )フ ァ ジ ィ 変 数 と な る . B12 と B18 は モ ー タ 出 力 を 変 え な い (Zero: Z1 )フ ァ ジ ィ 変 数 と な る . B13 と B16 は モ ー タ 出 力 を 大 き く 上 げ る (Big UP: BU 1 )フ ァ ジ ィ 変 数 と な る . B14 と B17 は モ ー タ 出 力 を 尐 し 上 げ る (Small Up: SU1 )フ ァ ジ ィ 変 数 と な る . B15 は モ ー タ 出 力 を す ご く 大 き く 上 げ る (Very Big UP: VBU 1 )フ ァ ジ ィ 変 数 と な る . B19 は モ ー タ 出 力 を 尐 し 下 げ る (Small Down: SD1 )フ ァ ジ ィ 変 数 と な る . 右 モ ー タ 出 力 の 変 化 量 ( RMP )の 後 件 部 フ ァ ジ ィ 変 数 y1 {B11 , B12 , B13 , B14 , B15 , B16 , B17 , B18 , B19 } も 制 御 対 象 の 操 作 量 で あ り , 以 下 の よ う に B2 を 定 義 す る . B21 は モ ー タ 出 力 を 尐 し 下 げ る (Small Down: B と B は モ ー タ 出 力 を 変 え な い (Zero: 2 2 8 2 SD2 )フ ァ ジ ィ 変 数 と な る . Z 2 )フ ァ ジ ィ 変 数 と な る . B23 と B26 は モ ー タ 出 力 を 尐 し 上 げ る (Small Up: SU 2 )フ ァ ジ ィ 変 数 と な る . B と B は モ ー タ 出 力 を 大 き く 上 げ る (Big UP: BU 2 )フ ァ ジ ィ 変 数 と な る . B25 は モ ー タ 出 力 を す ご く 大 き く 上 げ る (Very Big UP:VBU 2 )フ ァ ジ ィ 変 数 と な る . 4 2 7 2 B29 は モ ー タ 出 力 を 大 き く 下 げ る (Big Down: 5.1.2 BD2 )フ ァ ジ ィ 変 数 と な る . シミュレーション実験 上記で設計したファジィ推論器がどのようなモータの値を出力するかシミュレ ーションにて検証する.実験方法としては,ライントレースカーのコース1周分 の セ ン サ 値 ( Pt )を 求 め , こ の デ ー タ を 設 計 し た フ ァ ジ ィ 制 御 器 の 入 力 情 報 と し , どのようなモータ出力になるか検証した. 実験環境に関しては以下に示す. コ ー ス …4.2.2 項 の 実 装 実 験 で 使 用 し た Fig4.12 の コ ー ス デ ー タ …第 4 章 で 述 べ た Full fuzzy control(FF)の コ ー ス 1 周 分 の セ ン サ 値 ( Pt ) デ ー タ 取 得 方 法 …デ ジ タ ル カ メ ラ を 用 い て 0.03s 間 隔 (30fps)で の セ ン サ の 値 を コース1周分取得する 50 第 5 章 ファジィ制御器のパラメータ最適化問題 コ ー ス 1 周 分 の デ ー タ と し て 計 202 フ レ ー ム の セ ン サ の 値 ( Pt )が 取 得 さ れ , こ の 値 か ら ,4 章 で 設 計 し た フ ァ ジ ィ 制 御 器 (FF)が ど の よ う な 操 舵 角 ( t ),左 右 の モ ー タ の 値 ( LM t ),( RM t )が ど の よ う に 出 力 さ れ て い る か FF の フ ァ ジ ィ 推 論 器 で 求 め る こ と が で き る . コ ー ス 1 周 分 の セ ン サ の 値 ( Pt ), 操 舵 角 ( t ), 左 右 の モ ー タ 出 力 ( LM t ), ( RM t )は Table5.3 に 示 す . 赤 枠 が 実 際 に デ ジ タ ル カ メ ラ で 検 出 し た データ,緑枠はファジィ推論器での推論結果のデータである. Table 5.3 コ ー ス 1 周 分 の デ ー タ ⅰ 今 回 設 計 し た フ ァ ジ ィ 制 御 器 に は ( t t 1 )の t の 値 が 必 要 と な る .そ の た め ,t を 1 フ レ ー ム と し て , t と LM t , RM t を 求 め た も の を Table5.4 に 示 す .青 枠 が 求 め た の t と LM t , RM t 値 で あ る . 51 第 5 章 ファジィ制御器のパラメータ最適化問題 Table 5.4 コ ー ス 1 周 分 の デ ー タ ⅱ 上記の条件で設計したファジィ推論器のモータ出力をシミュレートした.以下 Fig5.4 に FF が コ ー ス 1 周 で 得 ら れ た 左 右 の モ ー タ 出 力 と 今 回 作 成 し た フ ァ ジ ィ 推 論 器 の シ ミ ュ レ ー ト 結 果 を Fig5.5 に 示 す . Fig5.4 FF が コ ー ス 1 周 で 得 ら れ た 左 右 の モ ー タ 出 力 52 第 5 章 ファジィ制御器のパラメータ最適化問題 Fig5.5 作 成 し た フ ァ ジ ィ 推 論 器 の シ ミ ュ レ ー ト 結 果 Fig5.5 よ り 設 計 し た フ ァ ジ ィ 推 論 器 は モ ー タ の 出 力 が 上 が り 続 け る 結 果 と な っ た.この結果よりファジィ推論器の設計に誤りがあると考えられる.原因として は,調整するパラメータの変数が多くあったため,人の知識だけでは容易にファ ジィルールを設計できないほど複雑な問題になったと考えた.この変数を人間が 調整するには膨大な時間と多大な労力がかかるため,この問題をパラメータ最適 化 問 題 と 扱 い 各 変 数 を 2.1.2 項 で 述 べ た 差 分 進 化 法 (DE)で 自 動 チ ュ ー ニ ン グ さ せ る.なお,各変数は連続値をとるため,多次元の連続関数最適化問題と帰着でき る.次節にこの詳細について述べる. 53 第 5 章 ファジィ制御器のパラメータ最適化問題 5.2 誤差最小値探索問題 前節では設計したファジィ推論器について述べた.これは,設計の際に調整す るパラメータの変数が多くなり,人が容易にファジィルールを設計できないほど 複 雑 な 問 題 に な っ て い る と 考 え た .こ れ を ,人 が 調 整 す る の は 非 常 に 困 難 で あ り , 多大な時間もかかる.各パラメータの変数は連続値をとるため,多次元の連続関 数最適化問題と帰着できる.この問題をパラメータ最適化問題と扱い,各変数を 2.1.2 項 で 述 べ た 差 分 進 化 法 (DE)で 自 動 チ ュ ー ニ ン グ さ せ る . 今 回 は 上 記 で 求 め た Table5.3 に お け る フ レ ー ム 毎 の デ ー タ を 教 師 デ ー タ と し , 変 数 TD と 置 く . 推 論 結 果 の モ ー タ 出 力 を 変 数 RO と 置 く . 推 論 結 果 の モ ー タ 出 力 RO を 教 師 デ ー タ TD に 近 づ け る よ う な 各 パ ラ メ ー タ 変 数 の チ ュ ー ニ ン グ を す る 最 適 化 問 題 を 解 く こ と と し た .具 体 的 に は ,TD と RO の 誤 差 関 数 E を 最 小 化 す る . こ の 時 , 調 整 す る パ ラ メ ー タ は 以 下 の よ う に 24 変 数 と な る . ・Fig5.6 左 の {M 11 , M 12 , M 13 } は 操 舵 角 の メ ン バ ー シ ッ プ 関 数 の パ ラ メ ー タ 変 数 で あ る . ・Fig5.6 右 の {M 21 , M 22 , M 23} は 変 化 量 の メ ン バ ー シ ッ プ 関 数 の パ ラ メ ー タ 変 数 で あ る . ・ F i g 5 . 7 左 の {S11 , S12 , S13 , S14 , S15 , S16 , S17 , S18 , S19 } は 変 化 量 の メ ン バ ー シ ッ プ 関 数 の パラメータ変数である. ・ F i g 5 . 7 右 の {S21 , S22 , S23 , S24 , S25 , S26 , S27 , S28 , S29 } は 変 化 量 の メ ン バ ー シ ッ プ 関 数 の パラメータ変数である. Fig5.6 入 力 の パ ラ メ ー タ 変 数 (左 : 操 舵 角 右:変化量) 54 第 5 章 ファジィ制御器のパラメータ最適化問題 Fig5.7 出 力 の パ ラ メ ー タ 変 数 (左 : 左 モ ー タ 右:右モータ) TD と RO に は 左 右 の モ ー タ 出 力 が あ る た め ,教 師 デ ー タ の 左 モ ー タ 出 力 を TDL, 教 師 デ ー タ の 右 デ ー タ 出 力 を TDR と 定 義 し ,推 論 結 果 の 左 モ ー タ 出 力 を ROL,推 論 結 果 の 右 モ ー タ 出 力 を ROR と 定 義 す る .最 小 に す る 値 を e と 定 義 し ,式 (5.2.1) に示す. et TDt ROt (5.2.1) 最 小 化 す る 誤 差 関 数 は 各 モ ー タ の 2 乗 誤 差 , 全 202 フ レ ー ム の 合 計 を 用 い る . 以 下 , 式 (5.2.2) E ( x) TDL ROL 202 t 1 2 t t TDRt RORt 2 (5.2.2) 上 記 の 誤 差 関 数 E を 目 的 関 数 と し て ,DE を 用 い て 誤 差 最 小 値 探 索 問 題 を 解 く . 最 適 化 関 数 を 式 (5.2.3)に 記 述 す る . minimize E (x) subject to M 11 < 0 , M 13 > 0 3 M 21 < 0 , M 2 > 0 (5.2.3) な お ,本 来 ROL の 出 力 を 得 る の に ,用 い ら れ る 変 数 は , M 1 が 3 変 数 , M 2 が 3 変 数 , S1 が 9 変 数 の 計 15 変 数 と る . ま た , ROR の 出 力 を 得 る の に , 用 い ら れ る 変 数 は , M 1 が 3 変 数 , M 2 が 3 変 数 , S 2 が 9 変 数 の 計 15 変 数 と な る た め , 合 計 30 変 数 と な る . そ の 内 , 入 力 の パ ラ メ ー タ 変 数 M 11 ~ M 13 と M 21 ~ M 23 は 同 一 に な る 55 第 5 章 ファジィ制御器のパラメータ最適化問題 た め ,重 複 す る 6 変 数 を 考 慮 す る 必 要 が な い の で ,24 変 数 と な る .さ ら に , M 12 と M 22 は メ ン バ ー シ ッ プ 関 数 の 性 質 よ り 変 数 は 0 と す る よ う 設 計 し た た め , 22 変 数 の最小値探索問題とする. DE を 用 い て , チ ュ ー ニ ン グ し て い る 際 , メ ン バ ー シ ッ プ 関 数 の パ ラ メ ー タ 変 数より,シングルトンのパラメータ変数に依存すると考えた.設計者の知識を反 映 さ せ る こ と に よ り ,メ ン バ ー シ ッ プ 関 数 の パ ラ メ ー タ 変 数 ,M 11 を -30 に を M 13 30 に ,ま た M 21 を -20 に M 23 を 20 に 固 定 す る よ う に 目 的 関 数 を 設 計 し た .こ れ に よ り , 18 変 数 の 最 小 値 探 索 問 題 と し て 扱 う . 本実験は差分変位親個体を作る際に元となる基本個体をランダムで選び,差分 をとる際に選ばれる子個体が 1 であり,指数関数的に減尐する確率で交叉をおこ な う DE/rand/1/exp を 用 い た . Table 5.5 に 数 値 実 験 の 設 定 に つ い て 示 す . 個 体 数 は 100 個 体 , 最 大 探 索 回 数 15000 回 , 試 行 回 数 は 10 試 行 , 突 然 変 異 率 0.5,交 叉 率 0.9 に 設 定 し て い る .こ れ は 知 能 情 報 通 信 研 究 所 の 伊 藤 ら の 研 究 報 告 を 参 考 に し て 実 験 を お こ な っ た [伊 藤 2005]. Fig5.8 に 1 試 行 分 の 誤 差 最 小 値 探 索 問題における目的関数の値の変化を示す.縦軸は目的関数の値を表し,横軸は評 価 回 数 を 表 す .グ ラ フ 上 で は ,評 価 回 数 4000 程 度 か ら 徐 々 に 収 束 し 始 め ,評 価 回 数 9487 で 完 全 に 収 束 し た .10 試 行 中 10 試 行 ,最 適 解 を 求 め て お り ,評 価 回 数 は 平 均 10326 回 で 収 束 し た . こ の シ ミ ュ レ ー シ ョ ン 結 果 よ り 求 め ら れ た パ ラ メ ー タ 変 数 を Table 5.6 に 示 す . 1 試 行 に か か っ た 時 間 は 1 分 程 度 で あ る . Table 5.5 パ ラ メ ー タ 設 定 56 第 5 章 ファジィ制御器のパラメータ最適化問題 Fig5.8 1試行分の最小化問題における関数値の変化 Table 5.6 DE に よ り 求 め ら れ た パ ラ メ ー タ 57 第 5 章 ファジィ制御器のパラメータ最適化問題 DE に よ り 求 め ら れ た パ ラ メ ー タ を フ ァ ジ ィ 推 論 器 で シ ミ ュ レ ー ト し た 結 果 に よ る 左 右 の モ ー タ 出 力 を Fig5.9 に 示 し , 教 師 デ ー タ で の 左 右 の モ ー タ 出 力 を Fig5.10 に 示 す . Fig5.9 DE よ り 得 ら れ た デ ー タ に よ る シ ミ ュ レ ー ト 結 果 に よ る 左 右 の モ ー タ 出 力 Fig5.10 教師データでの左右のモータ出力 58 第 5 章 ファジィ制御器のパラメータ最適化問題 DE を 使 い , 多 次 元 の 連 続 関 数 最 適 化 問 題 と し , ラ イ ン ト レ ー ス カ ー の 推 論 器 の自動チューニングをおこなった.制御器に変化量を加えたことにより,推論ル ールの獲得が困難となる問題が起きた.これを人間が調節するには膨大な時間が か か る . DE を 用 い て チ ュ ー ニ ン グ を お こ な っ た 場 合 , チ ュ ー ニ ン グ 時 間 は 約 1 分 程 度 と DE に よ る 効 率 性 と そ の 有 効 性 を 示 せ た . 実験結果として,非常に形状が類似した推論器の出力データがでた.この出力 デ ー タ を 解 析 し た 結 果 ,誤 差 の 標 準 偏 差 は 左 モ ー タ が 4.52,右 モ ー タ が 3.58 と い う 結 果 が 出 た . 本 章 の 5.1 で 設 計 し た フ ァ ジ ィ 制 御 器 は モ ー タ の 出 力 が 上 昇 し 続 ける結果となり,このルールを用いてライントレースカーの実装実 験に移行した 場 合 , コ ー ス ア ウ ト す る 可 能 性 が 高 い と 考 え ら れ る . 本 章 の 5.2 に お い て 自 動 チ ューニングされたファジィ制御器は,実際に走行しているライントレースカーの モ ー タ 出 力 (5.1.2 で 述 べ た 教 師 デ ー タ )と 同 じ 形 状 の 制 御 器 が で き た と い え る . こ の 結 果 よ り , DE で チ ュ ー ニ ン グ さ れ た フ ァ ジ ィ 制 御 を 実 装 実 験 に 移 行 す る 価 値 は あ る と 考 え ら れ る . し か し ,標 準 偏 差 4.52,3.58 と い う 数 字 は 1 フ レ ー ム あ た りの誤差としては,決して小さいとは言えず,実装実験には移行できるが,コー ス ア ウ ト せ ず に 走 行 す る と い う 保 証 は な い . こ れ は DE が , 局 所 的 最 適 化 か ら 抜 け出せなくなったため,今回の結果が最適解ではなく,準最適解になっている可 能性もないわけではない.しかし,誤差関数の解空間の形状が分からないため, これが準最適解か最適解かの議論はできず,現在数学的解析が待たれる. 今回のシステムは操舵角と変化量の 2 入力でモータの制御がされている.これ にモータの出力をフィードバックさせた 3 入力のシステム構成にすれば,この誤 差を減尐できるのではないかと考えている.しかし,この場合,入力ファジィ変 数 が 9 個 , 出 力 の フ ァ ジ ィ 変 数 が 54 個 の 合 計 63 変 数 と な る . 今 回 同 様 , こ れ を 連 続 関 数 最 適 化 問 題 に 帰 着 さ せ , 誤 差 最 小 値 探 索 問 題 と し て 扱 う 場 合 , 最 高 63 次 元 の 関 数 最 適 化 問 題 と な り , DE で 解 け る 保 証 は な い . 59 第 6 章 終章 第6章 終章 本研究ではライントレースカーの制御方法に現在の操舵角の値と操舵角の変化 量の値の 2 つの入力情報から,モータの制御をおこなうことにより,ライントレ ースカーの減加速を考慮した制御器を試みた.結果として,ファジィ推論ルール の 設 計 に 誤 り が あ り ,こ れ を 調 整 し よ う と す る と ,膨 大 な 時 間 が か か っ て し ま う . そこで,ファジィ推論器の自動チューニングを多変数の連続関数最適化問題に帰 着 さ せ , 最 適 解 を 求 め た . DE を 用 い て チ ュ ー ニ ン グ を お こ な っ た 場 合 , チ ュ ー ニ ン グ 時 間 は 約 1 分 程 度 と DE に よ る 効 率 性 と そ の 有 効 性 を 示 せ た . 今後の課題として,今回の実験より変化量を考慮したファジィ制御器が完成し た の で ,こ れ を 実 装 す る こ と で ,ラ イ ン ト レ ー ス カ ー が ど の よ う な 挙 動 を 示 す か , 検証をおこなう必要がある.また,誤差の値を減らすために,モータ出力をフィ ー ド バ ッ ク さ せ る , 3 入 力 の シ ス テ ム 構 成 の 設 計 の 必 要 性 も 出 た . こ の 場 合 , 63 次 元 の 最 適 化 を DE で 解 く こ と に な る . ラ イ ン ト レ ー ス カ ー の 実 装 ,63 次 元 の 最 適化問題に関しての実験は,今後の課題とする. 60 謝辞 謝辞 本研究の遂行にあたり,多忙にも関わらず親切な御指導,御助言を賜りました 星野孝総准教授に厚く御礼を申し上げます. また,ファジィ理論や関連研究の講義を,親切かつ丁寧な御指導をして頂きま したファジィ学問塾の古橋武師範,中村剛士師範,塚本弥八郎師範に深く感謝申 し上げます. さ ら に ,本 稿 の 作 成 に 有 益 な 助 言 ,コ メ ン ト を く だ さ っ た 査 読 者 の 橘 昌 良 教 授 , 山本真行准教授及び,本研究の数学的指導にあたり,尐なからずの御助言をくだ さった井上昌昭教授に感謝申し上げます. ひいては,研究活動全般において御協力,御指導して下さいました未来ロボッ ト工学研究室の諸先輩方,同輩諸氏,後輩諸君に心より感謝の意を表します. 最後になりましたが,本研究活動を温かく見守ってくれた両親,家族一同に深 く感謝いたします. 61 参考文献 参考文献 [北 野 1993] 北野宏明.遺伝的アルゴリズム 産 業 図 書 株 式 会 社 (1993) [伊 藤 2005] 伊 藤 稔 . 関 数 最 適 化 の た め の Particle Swarm Optimization, Differential Evolution, 実 数 値 遺 伝 的 ア ル ゴ リ ズ ム の 探 索 性 能 に 関 す る 検 討 Mem.Konan Univ.,Sci&Eng.ser.,(1)(2005) [三 宮 1998] 三宮信夫 [Hiroshi 2009] 遺伝アルゴリズムと最適化 朝 倉 書 店 (1998) Hiroshi TAKIMOTO, Yukinobu HOSHINO : Development of Fuzzy controller for the steering angle and the motor power control application to the line trace car . Proceedings of FUZZ-IEEE 2009. CD-ROM #2072. (2009) [R.Storn1995] Differential Evolution - A simple and efficient adaptive scheme for global optimization over continuous spaces Technical report , International Computer Science Institute, Berkley (1995) [小 野 2000] 小野 功,山村雅幸,喜多 [山 村 1994] 遺 伝 的 ア ル ゴ リ ズ ム の 工 業 的 応 用 人 工 知 能 学 会 誌 Vol.9(1994) [佐 藤 1997] 佐藤 浩,小野 評価 一 功,小林重信 実 数 値 GA と そ の 応 用 人 工 知 能 学 会 誌 Vol.15(2000) 遺伝的アルゴリズムにおける世代交代モデルの提案と 人 工 知 能 学 会 誌 Vol.12(1997) [J.Kennnedy 1994] Particle Swarm Optimiza tion Proceedings of the 1995 IEEE International Conferential on Neural Networks (1995) [Y.shi 1998] Emoirical Study of particle Swarm Optimization , The 7 t h Annual Conference on Evolutionary Programming(1998) [伊 藤 2005 * ] 伊藤 稔,田中雅博 Particle Swarm Optimization の 解 探 索 性 能 に 関 す る 基 礎 的 検 討 第 32 回 知 能 シ ス テ ム シ ン ポ ジ ウ ム 資 料 (2005) [萩 野 1994] 萩原将文 ニューロ・ファジィ・遺伝的アルゴリズム [安 部 1995] 安部重夫 ニューラルネットとファジィシステム [時 永 2002] 時永祥三 第 3 回 ファジィ推論システムの最適構成と推定への応用,オペレーション ズ ・ リ サ ー チ 1 月 号 Vol.47 No.1, (2002) (1994) (1995) 62 参考文献 [太 田 1995] 太田則一 Vol. 30 [石 渕 2008] 石渕久生 原 田 義 久 , 早 川 清 春 . 自 動 車 用 フ ァ ジ ィ LSI. 豊 田 中 央 研 究 所 R&D レ ビ ュ ー No. 2 1995 パレード最適ルールを候補ルールとして用いる遺伝的ファジィルール選択 日 本 知 能 情 報 フ ァ ジ ィ 学 会 誌 vol.20.No2 (2008) [吉 田 2008] 吉田均 PSO を 用 い た 構 造 物 の フ ァ ジ ィ 振 動 制 御 装 置 の 配 置 ル ー ル の 同 時 最 適 化 日 本 知 能 情 報 フ ァ ジ ィ 学 会 誌 Vol.20.No6 (2008) [井 上 2001] 井上博行 GA に よ る 倒 立 振 子 の 対 称 性 を 利 用 し た フ ァ ジ ィ 制 御 ル ー ル 生 成 第 17 回 フ ァ ジ ィ シ ス テ ム シ ン ポ ジ ウ ム 講 演 会 文 書 [中 岡 2002] 中山伊織 ニューロ・ファジィによる無リスク/有リスク資産の投資割合の最適化 第 18 回 フ ァ ジ ィ シ ス テ ム シ ン ポ ジ ウ ム 講 演 会 文 書 [矢 部 2006] 矢部博 [串 田 2010] 串田淳一 (2001) 工学基礎最適化とその応用 数理工学者 (2002) (2006) Differential Evolution に お け る 関 数 評 価 回 数 の 削 減 の 提 案 進 化 計 算 学 会 論 文 誌 vol.1No.1(2010)