JAIST Repository: 制御プログラム構造の違いによる実ロボット動作特性の評価
72
0
0
全文
(2) 目. 次. 1 はじめに. 1. 1.1 背景と目的. 1. 1.2 本論文の構成 3 4. 2 実験機材 2.1 MindStorms 4 2.1.1 RCX 4 2.1.2 タッチセンサと入力ポート. 5. 2.1.3 光センサ. 6. 2.1.4 出力ポート. 7. 2.1.5 モータ 7 2.1.6 IRタワー. 8. 2.2 加工品. 8. 2.2.1 ペンライト. 8. 2.2.2 接続ケーブルと接続ピン. 9. 3 3方式の比較評価 10. ii.
(3) 3.1 比較対象とする 3 つの制御方式. . 10 3.1.1 集中制御. . 10 3.1.2 分散制御(通信有り) 11 3.1.3 分散制御(通信無し) 11 3.2 実験準備. . 12 3.2.1 ロボットに与える目標 12 3.2.2 ロボット製作 13 3.2.3 移動ロボットの機能 15 3.3 位置認識システムの可能性 18 3.3.1 実験方法. . 18 3.3.2 結果. . 20 3.4 考察 26 3.4.1. 位置認識システム. 26 3.4.2 失敗原因. . 26. 4 制御プログラム構造の違いによる実ロボット動作特性の評価. iii. .
(4) 28 4.1 行動ベースアプローチ. . 28 4.2 実験準備. . 29 4.2.1 ロボットに与える目標 29 4.2.2 ロボットの製作. . 30 4.2.3 実験場 34 4.2.4 実験条件. . 35 4.3 ロボットの状況別行動. . 37 4.3.1 状態と動作の記述. . 37 4.3.2 状況1:移動ロボット近辺に的無し(_N) 38 4.3.3 状況2:移動ロボット近辺に的有り(N) 39 4.3.4 的ロボットの動作. . 40 4.4 比較対象とする4つの構造 41 4.4.1 1タスク型. . 42 4.4.2 2タスク型. . 42 4.4.3 複数タスク型. iv.
(5) 43 4.4.4 Only To uch 型 45 4.5 結果と考察. . 46 4.4.1 動作特性. . 46 4.4.2 統計処理によるデータの検証 50 4.6 今後の課題. . 53 4.6.1 問題点 53 4.6.2 制約の緩和. . 53 4.6.3 学習. . 53 5 おわりに. . 54 謝辞 参考文献. v.
(6) 図 目 次 図 2.1 RCX 5 図 2.2 タッチセンサと光センサ. 6. 図 2.3 Motor Pow er の出力波形. 7. 図 2.4 モータ 8 図 2.5 IRタワー. 8. 図 2.6 ライトとの接続状態. 9. vi.
(7) 図 3.1 移動ロボットの構成(上から). . 13 図 3.2 移動ロボットの構成(横から). . 14 図 3.3 IR信号による敵と味方の識別. . 16 図 3.4 垂直距離. . 19 図 3.5 MindStorms 付属のシート. . 19 図 3.6 カラーパレット. . 20. 図 4.1 su bs umpti on archi te ctu re 29 図 4.2 移動ロボットの構成(上から). . 30 図 4.3 移動ロボットの構成(横から). . 31 図 4.4 的ロボットの構成(上から) 31 図 4.5 的ロボットの構成(横から) 32 図 4.6 IR信号の伝達. . 33 図 4.7 実験場 34 図 4.8 移動ロボットの行動選択方式 36 図 4.9 ロボットの基本概念. . vii.
(8) 41 図 4.10 ダウンロード用インターフェイス. . 41 図 4.11 1 タスク型のプログラム構造 42 図 4.12 2 タスク型. . 43 図 4.13 1 タスク型と 2 タスク型の探索タスク構造 44 図 4.14 複数タスク型の探索タスク構造. . 44 図 4.15 複数タスク型 45 図 4.16 Only To uch 型 46 図 4.17 接触回数分布(1 タスク型) 46 図 4.18 接触回数分布(2タスク型) 46 図 4.19 接触回数分布(複数タスク型). . 47 図 4.20 接触回数分布(Only To uch 型). . 47 図 4.21 接触効率の比較. . 48 図 4.22 実験達成回数の比較 49 図 4.23 タスク達成率の比較 49. viii.
(9) 表 目 次 表 2.1 RCX. 5. 表 2.2 入力ポートの動作モード. 6. 表 2.3 ペンライトの仕様. 9. 表 3.1 IR信号リスト. . 16 表 3.2 センサ別特性1. . 21. ix.
(10) 表 3.3 センサ別特性2. . 22 表 3.4 センサ別特性3. . 23 表 3.5 センサ別特性4. . 24 表 3.6 色による光センサ値1 25 表 3.7 色による光センサ値2 25 表 3.8 色による光センサ値3 25 表 4.1 一元分散分析表. . 51. x.
(11) 第 1 章 はじめに 1.1 背景と目的 多くのロボット研究でシミュレーションが行われてきた。しかし現実世界には仮 想世界とは違い様々なノイズや制約が存在しており、実ロボットはその影響を受け る 可 能 性 が 非 常 に 高 い 。 こ の シ ミ ュ レ ー シ ョ ン [8][10][12] と 実 ロ ボ ッ ト 実 験 [16][17][18][19]の結果の差は大きな問題になっており、この差に関する研究[2]や シミュレーションと実実験を両方行う研究[9][11][15]もある。したがって現実世界 で動くロボットの研究には実際に実ロボットを使う必要があると考える。本研究で は作成した制御プログラムを実ロボットに実装し研究を行う。. 単独の ロボット で解決で きない問題を複数のロボットで解決するための研究 [3][5][13][14]が行われてきた。複数のロボットの制御方法には大別して集中制御と 分散制御の2つがあり、分散制御の中には通信を行う場合とそうでない場合がある。 集中制御は、ロボットが取得した全ての情報を一度中央に集め、そこで大局的に 情報を処理して判断を行い、その結果を全てのロボットに伝えて制御を行う方式で ある。 分散制御は中央での一括したタスク処理を行わず、タスクを複数のロボットに分 散して制御を行う方式である。そのため各ロボットの行動決定や動作は集中制御に 比べて高速であり実時間性に優れている。 また分散制御の中には明示的に通信を行うものと、行わないものが有る。多くの ロボット研究でロボットは通信機能を有しており、個々のロボットはセンシングに より得た情報を互いに通信しあっている。しかし、実環境での動作を考えた場合、. 1.
(12) 通信には様々な意味で大きなコストが掛かるので必ずしも実用的ではない。 3 つの制御方式の比較評価 今まで集中制御、分散制御(通信有り)、分散制御(通信無し)の 3 つの制御方式 個別には様々な研究が行われてきたが、複数の実ロボットが動的な環境で動作する 状況を考えた時にどの方式が優れているのか比較評価した研究は少ない。そこで本 研究では複数の実ロボットによる競技により上述した 3 方式を比較し評価すること にした。 しかし実験の準備段階であるロボットの製作過程で集中制御と分散制御(通信有 り)のための機能を有するロボットがハード的制約より製作不可能であることがわ かった。つまり3つの制御方式の比較は出来なかった。 制御プログラム構造の違いによる動作特性の比較評価 前述した 3 方式には既に説明したように一長一短があり一概にどれが優れている とは言えない。動的環境で動作する実ロボットを考えた場合、通信はコストが掛か るので必ずしも有効ではなく、また大局的な情報の取得も容易ではない。そこで本 研究では通信コストが掛からず実環境での複数ロボットの動作に適していると考え られる分散制御(通信無し)に注目した。実ロボットへ実装する制御アーキテクチ ャとしては行動ベースアプローチ[1]を採用した。 分散制御(通信無し)によりロボットを制御する場合、ロボットの行動特性は制 御プログラム構造に大きく依存することが経験的に分かっているが、どんな構造が 適しているのか具体的な事は分かっていない。そこで本研究では自律移動ロボット に適した制御プログラム構造を明らかにするため、制御プログラムを実ロボットに 実装し評価することを目的とする。. 2.
(13) 1.2 本論文の構成 本論文では 1 章で研究の概要を説明し 2 章で実験機材の説明を行う。3 章では初 期の研究について実験方法を記した後、その失敗原因について考察する。4章では 後期の研究つまり本論文の主なテーマである「制御プログラム構造の違いによる動 作特性の評価」について、実験方法や結果、考察、今後の問題について述べる。最 後に5章で本研究の結論と意義を述べて終わりとする。なお本文中で本研究とは後 期の研究を意味する。. 3.
(14) 第 2 章 実験機材 2.1 MindStorms 通常、実ロボット製作には多くの時間と費用がかかる。そこで今回はロボット製 作が簡単で繰り返し部品の組み直しが可能な LEGO 社と MIT(マサチューセッツ工 科大学)との提携により生まれた MindStorms[6][7][20][21]という製品を使用して ロボットを製作した。MindStorms は部品であるブロックや、タッチセンサ、光セ ンサを組み合わせることにより様々な機構を実現できる物理的自由度の高い製品で ある。また中央制御装置に当たるRCXはRISという MindStorms 固有のビジュ アル言語を使用して 3 つの入力ポートと 3 つの出力ポートを制御することが出来る。 他の制御言語として ActiveXを通してプログラムを組み込む Visual Basic や Java (Beans API)等があり本研究では Visual Basic6.0 を使用して制御プログラムを作成 した。 MindStorms1パッケージには 727 個の LEGO ブロックと赤外線トランスミッタ ー、ケーブル、光センサ、タッチセンサ、モータ、ギア、マニュアル、RIS のソフ トウェア CD-ROM 等が含まれている。なお再実験を行いやすいようにロボット1 体は MindStorms1パッケージで製作できるように配慮した。 以降に MindStorms の詳細を示す。. 2.1.1 RCX RCX は MindStorms でロボットを製作する時に制御装置となる部品であり、1 パ. 4.
(15) ッケージに 1 つ入っている。図 2.1 から分かるように前部にIR通信ポート、上部 に操作ボタンと液晶パネルそれに 3 つの入力ポートと3つの出力ポートがある。後 部にはアダプタ用電源ジャックが付いている。表 2.1 に RCX の仕様を記載する。. IR通信ポート 入力ポート. 操作ボタン. 液晶パネル. 電源ジャック 入力ポート. 図 2.1 RCX 表 2.1 RCX CPU. メモリ 電源. 日立製 H8/3292 8bitCPU を搭載 16KByteROM を内蔵し firmware ダウンロード用ドライバが入っ ている 32KbyteRAM には firmware とユーザープログラムを格納可能 単 3 型電池×6 他に 9∼12V/φ2.5 の AC アダプタも使用可能. 2.1.2 タッチセンサと入力ポート タッチセンサはゲームコントローラのボタンのような構造をしている。動作も非 常に簡単でタッチセンサが押されると、2 つの端子間の抵抗値が無限大から約 500 Ωに変化する。つまりタッチセンサが押されると、導電性のあるゴムがへこんでケ ース側の 2 つの金属端子に接触するため、端子間の抵抗が導電ゴムの抵抗になる。 この入力ポートでの抵抗値の判定は次のようにして行う。. 5.
(16) 入力ポート内部回路の構成から入力ポートに何もつないでいない時やタッチセン サを繋いでいてもボタンを押していない時は、抵抗値は無限大となり、インプット ポートには5Vがかかったままになる。入力ポートには CPU 内蔵のA/Dコンバー タがあり 0∼5V の電圧を 10bit の分解能で読み取る。つまり 0V の時は 0、5V の時 は 1023 という数値が返され CPU で演算に使われる。図 2.2 にタッチセンサと光セ ンサを示す。 光センサ. タッチセンサ. 図 2.2 タッチセンサと光センサ. 2.1.3 光センサ 光センサはタッチセンサと違いICや LED を内蔵しているので、これらの素子に 電力を供給しながら電圧も測定しなくてはならない。通常、この動作を行うために 表 2.2 入力ポートの動作モード タッチセンサモード 概要. 光センサモード. 電力の供給. 抵抗値により電圧変化を読み取 電力供給フェーズと電圧測定フ るモード ェースを交互に繰り返すモード 無し 有り. 状況の表現. 放したとき[0]/押した時[1]. 6. <黒>0∼100<白> 実際には 20∼70 程度で変化.
(17) RCX の測定 RCX の測定値は RAW value が RCX の測定値=164-RAW/7 値の計算法 450 以下なら1、565 以上で 0 (ただし 0∼100 の間で変化) と判定 は電力供給線、グランド線、電圧測定線の最低 3 本も配線が必要になるが、RCX で は電力を供給する「電力供給フェーズ」と電圧を測定する「電圧測定フェーズ」を 分割して高速に切り替えることで、同様の動作を 2 本の配線で実現している。入力 ポートの動作モードを表 2.2 に示す。 2.1.4 出力ポート 出力ポートは入力ポートに比べて簡単な動作になっている。RCX では Motor Power を 8 段階に調整でき、この制御を PWM 制御方式でコントロールしている。 PWM は「Pulse Width Modulation」の略で日本語ではパルス幅変調となる。こ れは ON 状態のパルス幅と OFF 状態のパルス幅の比を変えることによって電力をコ ントロールする方法である。図 2.3 に Motor Power が2の場合と4の場合の出力波 形を示す。ここでは縦軸が電圧、横軸が時間を表している。. Motor Power2. Motor Power4. 図 2.3 Motor Power の出力波形. 2.1.5 モータ 図 2.4 のようなモータを使用している。Motor Power8 の場合無負荷時に約4mA、 手で押さえて完全に回転を止めた状態だと約 350mA の電流を消費する。Motor. 7.
(18) Power が 1∼7 の時は 8 の時の 1/8∼7/8 の電流が流れる。. 図 2.4 モータ 2.1.6 IRタワー IRタワーはPCと RCX の通信に使用する装置でり、通信は 38Kbit に変調され た赤外線で行われる。通信速度は 2400bps で電源として 9V の 6P 型電池を一本使 用する。図 2.5 にIRタワーを示す。. 図 2.5 IRタワー. 8.
(19) 2.2 加工品 2.2.1 ペンライト 誘導用ライトとしては表 2.3 の製品を改造して使用した。 表 2.3 ペンライトの仕様 メーカー 製品名 使用電球 使用電池 電池寿命 寸法 重量. 富士電気化学株式会社 アルミ二ライト 2.5V 0.3A MG5 球(クリプトンガス封 入) 単 4 型電池×2 約 2 時間/アルカリ乾電池(連続使用) φ18×136mm 約 31g(電池別). 2.2.2 接続ケーブルと接続ピン 接続ケーブルには以下のようなより線コードを用いた。 φ12mm×10 芯. VF8-80. 色(赤). 接続ピンとしてはVクリップ(ゴールド)を用いた。 図 2.6 にライトとの接続状態を示す。. 9.
(20) 図 2.6 ライトとの接続状態. 10.
(21) 第 3 章 3 つの制御方式の比較評価 3.1 比較対象とする 3 つの制御方式 ここでは複数の実ロボットを対象とした競技により集中制御、分散制御(通信有 り)、分散制御(通信無し)の3つの制御方式を比較評価する。. 複数の実ロボットが存在する時の制御方法には大別して集中制御と分散制御があ る。更に分散制御の中には通信を行う場合とそうでない場合があり合計3つの制御 方式がある。 3.1.1 集中制御 集中制御は、ロボットが取得した全ての情報を一度中央に集め、そこで大局的に 情報を処理して判断を行い、その結果を全てのロボットに伝えて制御を行う方式で ある。この方式は全ての情報を中央に集中的に集めて大局的な情報処理により行動 を決定するので、比較的正確な判断が可能である。しかし全ての情報が集まる中央 の処理速度が遅いとそれがボトルネットとなりシステム全体の速度が遅くなってし まう。更に中央が故障してしまうと全てのロボットはシステムとして活動を続行で きなくなるという欠点があり、システムとして堅牢さに欠ける。また実環境での動 作を考えた場合、環境の大局的な情報の取得とその処理は必ずしも容易なことでは ない。. 11.
(22) 3.1.2 分散制御(通信有り) 分散制御は中央での一括したタスク処理を行わずタスクを複数のロボットに分散 する制御方式である。そのため各ロボットの行動決定や動作は中央制御に比べて高 速であり実時間性に優れている。またたとえロボットのうち 1 つが故障してもシス テムとして活動不能に陥ることはなくシステムとして堅牢である。しかし大局的な 情報処理からの判断を行えないため判断の正確さに欠ける。 3.1.3 分散制御(通信無し) この方式も中央での一括したタスク処理を行わずタスクを複数のロボットに分散 して制御する。そのため利点として高速な判断やそれに基づく動作やシステムの堅 牢さ、欠点として判断の不確かさ等、先ほど述べた分散制御(通信有り)の特性を 持ち合わせている。この方式は前述した「分散制御(通信有り)」とは違い個々のロ ボットは全く通信を行わないので、システムの拡張や記述が容易である。しかし個々 のロボットは通信を行わないため環境を認識する情報は自らがセンシングによって 得た情報しかなく、結果として自らの周りの小さな領域情報からしか判断を行えな い。つまり大局的判断に基づいた動作が不可能なのである。しかし、実環境での動 作を考えた場合、通信には様々な意味で大きなコストが掛かるので必ずしも有効と はいえない。 そこで初期の研究として、この 3 つの制御方式を複数の実ロボットを対象とした 動作実験により評価を行うことにした。. 12.
(23) 3.2 実験準備 3.2.1 ロボットに与える目標 目標タスクとして複数ロボットによる相互2度押し問題を与え集中制御、分散制 御(通信有り)、分散制御(通信無し)の3つの制御方式を評価する。 この問題はそれぞれ同じ制御方式を実装したロボット 6 体1チームを 2 チーム作 り、各ロボットが2つづつ持っているスイッチを互いに押し合い、どちらかのチー ムが残り1体になるまで動作を続けるというものである。ロボットは探索、回避、 追跡の3つの行動を組み合わせて競技を行う。組み合わせとして集中制御vs分散 制御(通信有り)、分散制御(通信有り)vs分散制御(通信無し)、集中制御vs 分散制御(通信無し)の 3 パターンがある。この実験は以下に示すルールに従って 行い、終了条件を満足するまでロボットは動作を続ける。. 単体のルール ○. 相手チームにより(以下、敵)二つのスイッチを正しい順序で押されたロ ボットは活動を停止する. ○. スイッチを押す順序は決まっており先に後スイッチを押し、次に一定時間. (15 秒)内に前スイッチを押す ○. スイッチを押した時は必ずIR信号を発信し、それにより敵味方の識別を行 う。(なお識別信号は表. ○. に従う). 活動停止になったロボットは競技が終了するまで活動を再開しない. 全体のルール(終了条件) ○. どちらかのチームのロボットが残り1体になる。. ○. 制限時間(10 分)になる. なお、終了条件で制限時間を設けたのはどちらも敵を 1 体まで減らせなかった場 合でも実験を終了させるためである。. 13.
(24) この競技では味方チームのロボット(以下、味方)相手チームのロボットに付い ている2つのスイッチを押すことを求められ、その際にもどちらのチームのロボッ トが押したのかIR信号により確認している。これには以下に示す 2 つの理由があ る。 1). 偶然にロボットのスイッチが押されてロボットが活動停止してしまうのを. 防ぐため。偶然に 1 つのスイッチが押される事があっても、その後一定時間の 間にもう 1 つのスイッチが押される事は確率的に低いと考えたからである。つ まりスイッチを 2 つにする事によって偶然性により競技が左右されにくいよう にしたのである。 2). 味方によってスイッチが押された時にその行動を無効にするため。競技中. は複数の敵と味方が入り乱れて動作しているので、偶然仲間によってスイッチ が押されてしまうことがあり、この誤った味方の攻撃により活動停止してしま うのを防ぐため。. 3.2.2 ロボット製作 移動ロボットとして下図に示す物を製作した。. 光センサ 後部誘導用ライト. 前部誘導用ライト (RCX より制御可能). 前部タッチセンサ用バンパー. 反射板. サイドビーム. 図 3.1 移動ロボットの構成(上から). 14. 後部タッチセンサ用バンパー.
(25) 前部タッチセンサ用バンパー. 後部タッチセンサ用バンパー バンパー凸部. 前輪. 後輪. 図 3.2 移動ロボットの構成(横から). (1)機体製作時の注意点 今回、ロボットを作成するにあたって以下の点に注意した。. ○機体の大きさ、形、強度 機体が旋回しやすいように全長をなるべく短くした。 動作時に車輪などで機体同士が引っ掛からないように側面に引っ掛かり防止ビー ムを設けた。 動作や衝突に絶えうる機体の物理的強度を確保するために、ブロックの接合強度 に頼らない設計にした。. ○タッチセンサ関連 ロボット同士が正確にタッチセンサを動作させやすいようにバンパーに凸部を設 けた。また不必要な時センサが刺激されないようにセンサの動作部に間隙を設けた。. 15.
(26) また故障率を下げるためにバンパーの押し戻しをタッチセンサのゴムに頼らないよ うにした。なおここでいうバンパーとは物理的力を間接的にタッチセンサへ伝える 装置のことである。. ○IRセンサ関連 ロボットの背後からIR信号を受信するために機体上部に反射板を装備した。ま たある程度広い角度からもIR信号を受け取れるようにするため反射板を曲面にし た。送信側は機体上部の反射板にIR信号を送信しやすいようにするため、センサ の付いている機体前部を若干上方に傾けた。. ○ライト関連 誘導用ライトをRCXから制御するためペンライトを分解してRCXの出力ポー トに接続した。出力ポートへの接続線の取り外しが容易になるようにC字型の取り つけ金具を製作した。. 3.2.3 移動ロボットの機能 (1)3 つの制御方式の共通機能 それぞれの制御方式のロボットに共通して必要な機能はIRによる通信機能であ る。 競技中、各ロボットは相手チームのロボット(以下、敵)の後部に付いているラ イトを目標にして敵に接近する。 ロボットの目標は相手チームのロボットのスイッチを押すことであるが、実験中 は敵と味方が入り乱れて動作しているので、間違って味方にボタンを押されてしま う場合がある。そこで押したのが味方なのか敵なのか判断する必要がある。その判 断のためにロボットには下図のような反射板を装備しIR(赤外線)信号により敵 味方の識別を可能にした。. 16.
(27) 反射板. IR信号. RCX1. RCX2. 図 3.3 IR信号による敵と味方の識別. 図 3.3 で使用するIR信号は以下の表 3.1 に定めたものを使用した。 表 3.1 IR信号リスト チーム. 後スイッチ. 前スイッチ. 攻撃開始. 悲鳴. 活動停. A. 1. 6. 11. 16. 止 21. B. 2. 7. 12. 17. 22. チーム:それぞれのチーム名(比較は常に 2 チームで行う) 後スイッチ:後のタッチセンサが押されたときに発信 前スイッチ:前のタッチセンサが押されたときに発信 攻撃開始:攻撃開始時に発信 悲鳴:敵の前部で後スイッチを押されたときに発信(この信号を受けて敵は攻撃を 開始する) 活動停止:2 つのスイッチを押され活動停止時に発信 図 3.3 では RCX2 が攻撃側、RCX1 が被攻撃側である、この時二つのロボットが 同じAチームの場合は(説明)RCX1 は動作を続ける。しかし RCX1がAチームで RCX2がBチームの場合は、RCX1 は攻撃を受けたことになり悲鳴を発する。. 17.
(28) (2)集中制御 集中制御方式はロボットが取得した全ての情報を一度中央に集め、そこで大局的 に情報を処理して判断を行い、その結果を全てのロボットに伝えて制御を行う方式 である。流れとしては下記の様になる。. ステップ1. 大局的判断に役立つ情報(以下、大局的情報)の取得 (自分と相手の位置、状態、方向等). ステップ 2. 取得した情報を中央へ送信. ステップ 3. 情報を元に環境をモデル化. ステップ 4. モデルを元にし動作プランを立案. ステップ 5. タスク実行. ステップ 6. モータ制御. しかし MindStorms のハード的制約によりステップ 1 で必要な「大局的情報の取 得」が不可能なことが、ロボット製作段階で判明した。MindStorms はタッチセン サ、光センサ、IRセンサを装備しているが、それらのセンサ情報はモデル化や行 動プランの立案が可能なほど高精度な物ではない。 またステップ 2 の情報の送信についても唯一の通信装備であるIRセンサが全方 位通信を行えないため不可能だった。以上の理由からこの制御方式は実装出来なか った。. (3)分散制御(通信有り) 分散制御は中央での一括したタスク処理を行わずタスクを複数のロボットに分散 して制御する方式である。この方式の場合も集中制御程ではないが、ある程度大局 的な判断に役立つ情報の取得が必要となる。 またロボット間で通信を行う時にや中央制御の場合と同じく全方位通信が必要に なる。しかし MindStorms の能力では集中制御で述べた理由により、大局的な情報 の取得と全方位通信が不可能だったので、この方式もロボットへの実装は出来なか った。. 18.
(29) (4)分散制御(通信無し) この制御方式は明示的な通信を必要とせず、ロボットは自分の周りのセンサ情報 だけを頼りに行動する。制御アーキテクチャとして行動ベースアプローチを採用し ているため、大局的情報からの環境のモデル化や行動プランの立案が不必要であり、 通信を行わないので全方位通信も必要無い。よってこの方式だけは実装可能であっ た。 しかし 1 つの制御方式だけで比較による評価は出来ない。. 3.3 位置認識システムの可能性 先ほど述べたように集中制御と分散制御(通信有り)が実装不可能な要因は全方 位通信と位置認識に有った。そこでこの要因の一つである位置認識システム実現の ために光センサの色による位置認識手法を提案しその実装のために実験を行った。 3.3.1 実験方法 この手法は移動ロボットが動作する床に色を塗り、その床の色によって自分の位 置を光センサにより認識するものである。たとえば図. のパレットの上でロボット. を走らせたとき、光センサが 11 番の色と認識したらロボットは 11 番の上にいるこ とになる。. この実験は以下の手順で行う。 (1). センサ別特性の測定. 図 3.5 のような MindStorms 付属のシートと 10 個の光センサを用意し、各々の 光センサの値を同じ白、黒、緑の3色で測定する。蛍光灯のついた研究室デスク上 で図 3.4 のようにシートとの距離約8mm で測定。. (2). 色による光センサ値の測定. 次に図 3.6 のようなカラーパレット用意し、各色を光センサの内蔵LEDで照ら した場合の反射光強度を測定する。暗所でカラーパレットとの垂直距離約8mm で 測定。なおこの時 No.10 の光センサを使用した。. 19.
(30) 垂直距離. 光 セ ン サ. 付属シート又はカラーパレット. 図 3.4 垂直距離. 図 3.5 MindStorms 付属のシート. 20.
(31) 図 3.6 カラーパレット. 3.3.2 結果 MindStorms による位置認識システム構築のために光センサの色による位置認識 手法を提案し、そのための実験を行った。結果を以下に示す。. 21.
(32) (1)センサ別特性の測定 表 3.2∼3.5 で横は色の種類(シートの 3 色)を、縦は光センサ値を 10bit で測定 したときの値(0∼1023 までの値を返し光が強くなるほど値は小さくなる)を示す。 最下行は平均値である。. 表 3.2 センサ別特性1 センサNo.1 センサNo.2 センサNo.3 白 黒 緑 白 黒 緑 白 黒 緑 716 823 801 705 813 793 699 806 788 716 832 805 707 814 792 696 803 798 714 829 808 703 818 795 698 801 785 713 827 805 708 820 794 697 806 786 719 834 805 707 823 791 698 797 787 715 829 802 704 822 795 695 801 785 719 830 804 707 817 795 698 799 785 723 827 804 709 819 794 697 801 786 712 827 807 703 816 793 696 803 787 717 821 800 706 819 793 698 802 788 714 825 800 705 818 797 696 804 785 715 828 802 707 819 796 697 804 785 720 817 807 705 814 791 698 802 784 716 830 805 704 816 794 698 802 788 714 828 808 707 823 797 695 802 788 716 829 799 707 819 795 695 803 788 717 829 805 707 819 795 699 803 791 717 829 799 706 821 796 699 801 786 719 824 805 711 824 794 697 803 787 716.421 827.263 803.736 706.210 818.631 794.210 697.157 802.263 787.210 1 2 8 5 6 5 9 2 5. 22.
(33) 表 3.3 センサ別特性2 センサNo.4 センサNo.5 センサNo.6 白 黒 緑 白 黒 緑 白 黒 緑 699 813 791 691 801 784 692 805 787 702 815 792 693 801 787 691 807 787 702 816 795 695 806 785 697 805 790 702 812 794 692 804 788 697 804 790 701 815 796 695 804 787 694 807 787 702 818 791 693 806 789 697 804 788 702 810 795 695 804 789 699 806 790 700 810 796 693 805 787 693 806 788 703 815 796 695 805 789 695 808 790 702 814 794 695 808 789 697 805 790 703 814 797 698 808 791 697 808 787 702 814 795 695 808 785 696 810 789 701 813 798 698 808 790 696 807 790 703 818 793 698 808 793 698 806 787 704 818 798 696 809 791 700 806 792 705 816 798 698 809 792 697 809 790 704 815 796 697 808 785 698 811 790 703 819 798 694 810 791 697 807 790 707 819 796 695 808 791 695 810 786 702.473 814.947 795.210 695.052 806.315 788.578 696.105 806.894 788.842 7 4 5 6 8 9 3 7 1. 23.
(34) 表 3.4 センサ別特性3 センサNo.7 センサNo.8 センサNo.9 白 黒 緑 白 黒 緑 白 黒 緑 726 832 815 678 785 766 713 820 801 726 836 818 679 788 767 715 819 803 732 837 819 681 788 767 717 819 805 729 836 818 679 789 767 716 823 803 732 838 817 678 786 766 717 820 804 729 838 815 681 789 769 714 822 803 732 839 818 678 788 768 715 823 805 730 837 819 680 788 772 718 824 805 735 842 821 680 790 771 719 823 808 735 840 821 679 787 769 716 822 805 731 838 821 682 789 771 718 825 806 734 839 824 682 788 771 717 825 809 734 840 821 683 790 772 718 822 809 732 840 821 683 789 772 717 826 807 734 840 823 683 788 771 718 823 807 732 838 823 682 789 771 716 824 804 732 842 824 683 789 771 717 825 807 735 841 823 682 790 770 717 826 808 732 842 823 680 790 774 716 826 806 731.684 838.684 820.210 680.684 788.421 769.736 716.526 823 805.526 2 2 5 2 1 8 3 3. 24.
(35) 25.
(36) 表 3.5 センサ別特性4 センサNo.10 白 黒 緑 683 799 770 686 798 776 684 800 774 687 801 774 688 802 775 687 799 776 687 801 776 687 799 777 685 801 778 688 802 779 689 804 780 690 806 779 686 804 782 690 803 777 687 803 780 690 803 778 687 803 779 690 805 779 689 804 780 687.368 801.947 777.315 4 4 8. (2)色による光センサ値測定 表 3.6∼3.8 に No.10 の光センサでカラーパレットを使いセンサ値を測定した。. 26.
(37) 表 3.6 色による光センサ値1 黒(1) 白(2) 灰(3) 茶(4) 茶(5) 橙(6) 黄緑(7) 緑(8) 782 683 722 718 728 687 717 738 787 685 726 723 726 690 717 736 785 685 722 721 730 693 718 739 785 687 724 720 728 691 719 742 788 685 727 718 728 691 719 741 786 685 724 721 730 688 718 739 788 684 726 719 728 692 718 739 786 684 722 721 731 690 716 742 785 690 726 722 729 690 717 738 787 691 724 723 728 689 716 744 785.777 685.333 724.333 720.333 728.666 690.222 717.666 739.333 8 3 3 3 7 2 7 3. 表 3.7 色による光センサ値2 青緑(9). 青緑 群青 紫(12) 紫(13) 桃(14) 黄緑(15) 黄(16) (10) (11) 745 739 759 751 716 689 724 688 744 737 759 756 717 689 724 691 746 740 758 755 717 687 723 688 746 741 757 753 715 690 722 689 748 740 757 751 714 687 720 689 745 739 754 752 714 687 722 689 746 738 756 757 715 689 723 688 746 739 755 751 714 693 726 688 746 737 755 751 719 689 722 690 745 740 756 754 714 689 724 688 745.777 738.888 756.666 753 715.666 688.888 722.888 688.888 8 9 7 7 9 9 9. 表 3.8 色による光センサ値3 深緑(17) 緑(18) 751 754 756 756. 747 742 745 741. 青(19) 757 757 755 755. 水色 青紫(21) 赤(22) 橙(23) 黄(24) (20) 721 730 689 598 685 724 730 689 693 685 724 728 689 688 685 725 727 691 690 689. 27.
(38) 755 745 754 744 755 745 751 741 752 744 755 743 753.777 743.777 8 8. 755 723 728 689 757 724 725 693 757 727 729 689 756 722 729 688 755 725 727 692 753 723 728 691 756 723.888 728.111 689.888 9 1 9. 28. 685 687 687 689 685 689 688 689 688 688 688 687 678 687.333 3.
(39) 3.4 考察 3.4.1 位置認識システム (1). センサ別特性の測定. 表 3.2∼3.5 から分かるように各光センサで平均値はまちまちで一定ではない。し かし色間の値差は白と黒で約 110、黒と緑で約 20、白と緑で約 90 とどの光センサ でもほぼ等しくなっている。これから色の変化によるセンサ値の変化割合がどの光 センサでも一定である事をが分かった。また同じ色を測定した時、センサの違いに よる測定値の差は最大値で約 50 であり、同じセンサで同じ色を測定したときの測定 値の変動幅は約 5 である事も分かった。ここで得られた情報はロボットに光センサ を実装する時、光センサ値の微調整に使用できる。. (2). 色による光センサ値の測定. 表 3.6∼3.8 から分かるように白と赤のように光センサによる値が非常に近い場合、 光センサでは色の判別が出来ない。そこで正確な判別のために色同士の値が 15∼20 以上離れているものを採用することにした。ここでは黒(1) 、白(2) 、緑(8)、 郡青(11)、紫(13)を採用した。 しかし採用できた色は 5 パターンだけでありとても位置認識システムに使用でき る数ではない。 この事から MindStorms への位置認識システムの実装を断念した。. 3.4.2 失敗原因 今回、集中制御、分散制御(通信有り)、分散制御(通信無し)の3つの制御方式 を競技により比較評価を行おうとした。しかし使用した実験材料の制約により集中 制御と分散制御の制御方式についてはロボットへの実装が出来なかった。 理由は MindStorms の入力ポートと出力ポートの数が少ない事、センサの種類と 特性に問題がある事であった。 集中制御や分散制御(通信有り)でロボットは中央もしくは他のロボットと通信 する必要がある。移動するロボットの通信ではロボットの向きが時間的に動的に変. 29.
(40) 化するので通信手段としては全方位に対して送受信出来るものが望ましい。しかし 唯一の通信手段であるIR通信はある特定の方向にしか通信できず、常に通信の必 要がある集中制御や、ある程度頻繁な通信が必要な分散制御(通信有り)には適さ なかった。 また集中制御と分散制御(通信有り)でロボットは大局的な判断に役立つ情報(例 えば自分と相手の位置情報など)を取得する必要がある。今回製作したロボットに は 2 つのタッチセンサと一つの光センサ、そしてIRセンサが付いている。しかし これらの4つのセンサだけでは位置情報のような大局的判断に役立つ情報を取得す るのは不可能だった。 結局、全方位通信と位置認識がネックとなって集中制御と分散制御(通信有り) をロボットに実装出来なかった。. 30.
(41) 第 4 章 制御プログラム構造の違いによる実ロ ボット動作特性の評価 4.1 行動ベースアプローチ 本研究では実験機材として扱うロボットのアーキテクチャに行動規範型アプロー チである行動ベースアプローチ[1]を採用する。 行動ベースアプローチは遂行する行動ごとにタスクを分割し、その複数のタスク を並列に実行させるアーキテクチャである。複数のタスクを単純に並列に実行する だけではタスク間相互の矛盾や干渉が発生してシステムとして上手く動作しない。 行動ベースアプローチではそれを解消するため図 4.1 のように各タスクに優先度を 設けて、その優先度に従って行動を決定する方法を採用している。この簡潔な行動 選択方式が素早さと、システム構築の容易さ、システムの堅牢さを生み出している。 また行動ベースアプローチで構築したロボットは、環境のモデルを内部に持つ必要 が無く、プランニングも行わない。 しかし、固定した優先度により行動を決定するため、モジュールの構成の仕方に よっては、例えば袋小路に入り込んで抜け出せなくなるなどデッドロックに陥るこ ともある。これはある状態に対して一意に行動を決定するため起こる現象であり行 動ベースアプローチの欠点でもある。 図 4.1 に行動ベースアプローチの概念図を示す。. 31.
(42) レベル3. レベル2. レベル1. レベル0. センサデータ. 動作. 図 4.1 行動ベースアプローチ. 4.2 実験準備 4.2.1 ロボットに与える目標 目標タスクとして複数ロボットによる的2度押し問題を与え前述した 1 タスク型、 2 タスク型、複数タスク型、OnlyTouch 型の 4 つの制御プログラムについて動作特 性の評価を行う。 この問題は複数の移動ロボットと移動ロボットによって攻撃される的ロボット(以 下、的)により行われるものである。同じ制御プログラムを実装したロボット 6 体 を1チームに編成し、そのチームで的の前後に付いた 2 つのスイッチを正しい順序 で押すのが目標タスクである。的には押すべきスイッチの上にライトが点灯するよ うになっており、このライトを頼りに移動ロボットは的の位置を認識する。この問 題は以下のルールに従って行い、終了条件を満たすまで続ける。. 32.
(43) 単体のルール ○. 的は移動ロボットにより先に後スイッチ、次に一定時間(15 秒)以内に前スイ. ッチに接触されれば活動を停止する。なお順序が逆の場合はこの限りで無い。 ○. 移動ロボットはスイッチ(タッチセンサ)が動作した場合IR信号を発信する。. ○. 的はスイッチが押され、かつ移動ロボットのIR信号を受信した場合のみ正し. く接触されたと判断する。. 全体のルール(終了条件) ○. 的が活動停止する. ○. 制限時間(10 分)になる。. なお、終了条件で制限時間を設けたのは的の活動を停止できなかった場合でも実 験を終了させるためである。. 4.2.2 ロボットの製作 移動ロボットと的ロボットとして下図に示すものを製作した。. 振動防止用金具 IR通信ポート タッチセンサ用バンパー. 光センサ サイドビーム. 図 4.2 移動ロボットの構成(上から). 33.
(44) 光センサ タッチセンサ用バンパー. バンパー凸部 前輪. 後輪. 図 4.3 移動ロボットの構成(横から). 反射板. 前部誘導ライト. 後部誘導ライト. 前部タッチセンサ用バンパー. 後部タッチセンサ用バンパー 引きずり防止凸部. 図 4.4 的ロボットの構成(上から). 34.
(45) 反射板. 前部誘導ライト. 後部誘導ライト. 前部タッチセンサ用バンパー. 後部タッチセンサ用バンパー. 図 4.5 的ロボットの構成(横から). 図 4.4∼4.5 を見ても分かるように的自体には移動能力は無い。しかし実験中、移 動ロボットに押されたり引きずられたりして移動する事はある。. (1)機体製作時の注意点 今回、ロボットを作成するにあたって以下の点に注意した。 ○機体の大きさ、形、強度 機体が旋回しやすいように全長をなるべく短くした。 動作時に車輪などで機体同士が引っ掛からないように側面に引っ掛かり防止ビー ムを設けた。 移動ロボットに引っ掛けられる事によって的が長時間引きずられないように、移 動ロボットのタッチセンサが動作する高さに的に引きずり防止凸部を設けた。 動作や衝突に絶えうる機体の物理的強度を確保するために、ブロックの接合強度 に頼らない設計にした。. ○タッチセンサ関連 移動ロボットが正確に的ロボットのタッチセンサを動作させやすいようにバンパ. 35.
(46) ーに凸部を設けた。また不必要な時センサが刺激されないようにセンサの動作部に 間隙を設けた。また故障率を下げるためにバンパーの押し戻しをタッチセンサのゴ ムに頼らないようにした。 移動ロボットのバンパーが動作時に振動により誤動作するため、バンパーに振動 防止用金具を取り付けた。なおここでいうバンパーとは物理的力を間接的にタッチ センサへ伝える装置のことである。. ○IRセンサ関連 ロボットの背後からIR信号を受信するために機体上部に反射板を装備した。ま たある程度広い角度からもIR信号を受け取れるようにするため反射板を曲面にし た。的が移動ロボットのIR信号を受信しやすいように、的の車高を移動ロボット より低くした。なおIR信号の伝達は図 4.6 のようにして行われる。. 反射板. IR信号. 移動ロボット 的ロボット. 図 4.6 IR信号の伝達. ○ライト関連 誘導用ライトをRCXから制御するためペンライトを分解してRCXの出力ポー トに接続した。ペンライトを直接RCXの出力ポートに接続へ接続すると規格の関 係で電球が破損してしまう。そこで電球を 2 個と 1.5Ωの抵抗を直列に接続して破損 を防いだ。またライトを前後 2 個づつ取り付けた事によって的のライトによる誘導. 36.
(47) 角度が広がった。出力ポートへの接続線の取り外しが容易になるようにC字型の取 りつけ金具を製作した。. 4.2.3 実験場 実験は図 4.7 のような1辺 95cm の正六角形の実験場で行った。的を実験場の中 心に置き移動ロボットは周囲の6箇所に配置した。移動ロボットと的の向きとして 移動ロボットでは 4 パターン、的では 6 パターンの方向を用意し、そのパターンの 中から Excel のランダム関数を使用してランダムに方向を決定した。詳細は付録に あり。 95cm. :的. :移動ロボット. 図 4.7 実験場. この問題では的の2箇所のスイッチを押す必要があり的が端ではどちらか一方が 押せなくなる可能性が高い。また誘導用のライトが実験場の壁に接しておりかつラ イトが壁の方を向いていると移動ロボットが追跡できなくなってしまう。これを防 ぐために的を実験場の中心に置いた。 実験時は全てのロボットに同時に競技開始命令を送る必要があるため、IR信号 を利用した自作リモコンによって問題を解決した。. 37.
(48) 4.2.4 実験条件 (1)仮定 通信を行わず、かつ局所的な情報を基に移動ロボットが行動するためには、環境 に対しての仮定をたて、それに基づいて作成した制御プログラムを有している必要 がある。そこで「環境には的以外の光源は存在しない」という仮定を環境に対して 設定した。そして実験環境もこの仮定に合うように設定した。この仮定は移動ロボ ットが近くに的があるか否かを判定するのに使われる。 (2)状況 複数移動ロボットによる的2度押し問題における動的環境に対応するようにロボ ットの制御プログラムを記述する必要がある。そのためにロボットが環境の中で自 分の置かれた状況を認識する必要がある。その認識方法として環境に対するパラメ ータを設定し、そのパラメータとして状況を認識する方法が考えられる。ここでは 「移動ロボット近辺の的の有無」を環境のパラメータNとして用いる。先ほどの仮 定から実験環境には的以外に光源を有する物体は無い。そのため移動ロボットは光 センサに閾値以上の光が入ってきた時は近くに的があると判断できる。 このパラメータは2値を取るので、実験時の動的環境を論理記号Nと_Nで記述で きる。Nは近くに的がある事を意味し、_Nは近くに的が無い事を意味している。 このパラメータNの真偽判定は以下のようにして行う。 ロボットは内部時計により光を認識した瞬間から現在までの時間経過を測定して いる。この経過時間がある一定時間内の時に追跡有効時間内であるという。Nの真 追 跡 有 効 時 間 によって決定され、時間内であればNは真、時間外であれば 偽はこの追 Nは偽と判定する。 以上の理由から環境には2つの状況が存在するとする。. 状況1:N. 移動ロボットの近くに的が存在する。. 状況2:_N. 移動ロボットの近くに的が存在しない。. 38.
(49) (3)行動選択 本研究で使用したロボットは全て図 4.8 のような行動選択方式に基づいて動いて いる。この行動選択方式ではロボットは環境からのセンサ入力を基に、状況認識装 置が今置かれている移動ロボットの状況を判断し、適切な動作集合を決定する。 動的環境に適応するためにロボットは自分自身で環境を認識し、適切な動作集合 (行動)を選択しなければならない。そのためロボットの状況認識装置はNの真偽 を決定するために常にセンサから入力データを監視している。. 移動ロボット. 状況認識装置. センサデータ. 行動選択 環 境 状況行動集合 動作集合1. 動作集合2. 行動. 図 4.8 移動ロボットの行動選択方式. 39.
(50) 4.3 ロボットの状況別行動 4.3.1 状態と動作の記述 移動ロボットは環境として2つの状況を認識する。また本研究ではロボットのア ーキテクチャとして行動ベースアプローチを採用している。行動ベースアプローチ では行動がタスクごとに分かれているので個々の状況に対して、行動を記述してい く必要がある。 行動は「IF. 状態. THEN. 行動」という IF-THEN ルールで記述する。ここで. 状態はセンサによってダイレクトに決定される事象であり、行動は動作の集合であ る。動作とはモータに対するコマンドである。移動ロボットと的について以下に具 体的な状態と動作を記述する。 (1)移動ロボット 状態 have-light:光センサに反応有り。つまり前方に的が有る。 no-light:光センサに反応無し。つまり前方に的は無い。 have-touch:タッチセンサに反応有り。つまり前方に障害物有り。 no-touch:タッチセンサに反応無し。つまり前方に障害物無し。 receive-end:活動停止信号受信. 動作 go-straight:直進。 stop:停止。 go-back:バック。 turn-right/left:右旋回、左旋回。 change-direction:180°旋回して方向転換。 wait:少し待機。 transmit-attack-message:攻撃信号を送信 end-all:活動を停止する. 40.
(51) (2)的ロボット 状態 have-front-touch:前部タッチセンサに反応有り。 no-front-touch:前部タッチセンサに反応無し。 have-back-touch:後部タッチセンサに反応有り。 no-back-touch:後部タッチセンサに反応無し。 receive-attack-message:攻撃信号を受信 receive-end:活動停止信号を受信 in-attack-time:攻撃待ち受け時間内。後部スイッチに接触されてから 15 秒以内。 out-attack-time:攻撃待ち受け時間外。後部スイッチに接触されてから 15 秒以 上経過している。. 動作 on-front-light:前部ライトを点灯 off-front-light:前部ライトを消灯 on-back-light:後部ライトを点灯 off-back-light:後部ライトを消灯 transmit-end:活動停止信号を送信 end-all:活動を停止する. 以上の状態と動作を IF-THEN ルールの条件部と結論部として、これ以降にそれ ぞれに適した動作集合を記述していく。対象となる状態や動作が複数の場合は論理 積{∧}で記述し、時間的に順序のあるものには{→}で記述した。なお同一動作 集合の中で動作の競合が起きた場合は「より新しい動作命令を優先して実行する」 という規則によって競合を解消した。. 4.3.2 状況1:移動ロボット近辺に的無し(_N) 移動ロボットが状況1の時に取りうる動作集合(D1∼D4)について記述する。. 41.
(52) D1. IF. no-light∧no-touch. THEN. 探索(go-straight、stop、go-back、turn-right/left、wait の組み 合わせで構成される一連の行動パターン). (光センサとタッチセンサ両方に反応が無いならば、探索を行う。) D2. IF. no-light∧ have-touch. THEN. go-back→ wait→ change-direction. (光センサに反応が無く、タッチセンサに反応がるならば、少しバックし た後に 180°方向転換する。) D3. IF. have-light∧ no-touch. THEN. go-straight. (光センサに反応があり、タッチセンサに反応がなければ、直進する。) D4. IF. have-light∧ have-touch. THEN. go-back→ wait. (光センサに反応があり、タッチセンサに反応があるならば、少しバック する。). 4.3.3 状況2:移動ロボット近辺に的有り(N) 移動ロボットが状況 2 の時に取りうる動作集合(D5∼D8)について記述する。 D5. IF. no-light∧no-touch. THEN. turn-left. (光センサとタッチセンサ両方に反応が無いならば、左旋回する。) D6. IF. no-light∧ have-touch. THEN. go-back→ wait. (光センサに反応が無く、タッチセンサに反応がるならば、少しバックす る。) D7. IF. have-light∧ no-touch. THEN. go-straight. (光センサに反応があり、タッチセンサに反応がなければ、直進する。). 42.
(53) D8. IF. have-light∧ have-touch. THEN. go-back→ wait. (光センサに反応があり、タッチセンサに反応があるならば、少しバック する。) 4.3.4 的ロボットの動作 的ロボットでは条件として攻撃信号が受信(receive-attack-message)されない場 合、結論は全て後部ライトを点灯させ前部ライトを消灯(off-front-light∧ on-backlight)となる。そのため以下には攻撃信号が受信された場合のみを示す。 D9. IF. out-attack-time∧ no-back-touch. THEN. off-front-light∧ on-back-light. (攻撃有効時間外で後部タッチセンサに反応が無ければ、後部ライトを点灯 させ前部ライトを消灯する。) D10. IF. out-attack-time∧ have-back-touch. THEN. on-front-light∧ off-back-light. (攻撃有効時間外で後部タッチセンサが押されている場合、前部ライトを点 灯させ後部ライトを消灯する。) D11. IF. in-attack-time∧ no-front-touch. THEN. on-front-light∧ off-back-light. (攻撃有効時間内で全部タッチセンサが押されてなければ、前部ライトを点 灯させ後部ライトを消灯する。) D12. IF. in-attack-time∧ have-front-touch. THEN. transmit-end→end-ll. (活動停止信号を送信した後、活動を停止する) なお、ここでは結論を導くための必要最低限の条件のみを記述し、結論に影響を与 えない状態については省略した。例えばD9に no-front-touch 等の前部タッチセン サの状態を追加したとする。だが「攻撃有効時間外で後部タッチセンサに反応が無 い」場合は前部タッチセンサがどんな状態であろうと「後部ライトを点灯させ前部 ライトを消灯する」という結論は変わらない。以上の理由から分かり易くするため に、結論に影響を与えない状態については省略した。. 43.
(54) 4.4 比較対象とする4つの構造 本研究では行動ベースアプローチを用いてロボットの制御プログラムを構築する。 行動ベースアプローチを採用したロボットは複数の行動タスクを並列に実行しなが ら動作する。動作させるロボットは図 4.9 に示すように探索、回避、追跡の3つの 基本行動で構成されており、その構成の仕方によってそれぞれ異なった動作特性が ある。特に標的を発見する動作の基本となる探索と追跡の関係は重要である。本研 究ではこの部分の構造に注目し、構造の異なる4種類の制御プログラムを用意して 競技により評価する。またロボットへ作成した制御プログラムをダウンロードする ために図 4.10 に示すようなインターフェイスを作成した。 追跡. 回避. 探索. センサデータ. 図 4.9 ロボットの基本概念. 図 4.10. ダウンロード用インターフェイス. 44. 行動.
(55) 4.4.1 1タスク型 この方式では探索と追跡の行動をプログラム構造上で一つのタスクの中に入れた。 この場合探索と追跡が同じタスク内に入っているのでタスクの優先度によって行動 を切り替えることは出来ない。そこで行動の切り替えはランダムな時間間隔ごとに 組み込まれた IF 文による条件分岐で行った。またこの探索タスクは左旋回、右旋回、 直進など具体的な行動に基づいて記述されており、その動作順序(左旋回→直進→ 右旋回→停止等)は解析により最適だと考えられるパターンを人間が用意し、それ に基づいて設計されている。. タスク1. タスク2. 探. 追. 回. 索. 跡. 避. 行. 行. 行. 動. 動. 動. 図 4.11. 1 タスク型のプログラム構造. 4.4.2 2タスク型 この方式では探索と追跡の行動を2つのタスクに分けた。この場合は図 4.12 のよ うに探索、追跡、回避がそれぞれ独立のタスクで構成されており、行動タスクはタ スク間の優先度によって決定される。この 2 タスク型の探索タスクも左旋回、右旋 回、直進など具体的な行動に基づいて記述されており、その動作順序(左旋回→直. 45.
(56) 進→右旋回→停止等)は解析により最適だと考えられるパターンを人間が用意し、 それに基づいて設計されている。. タスク1. タスク2. 探. 追. 回. 索. 跡. 避. 行. 行. 行. 動. 動. 動. 図 4.12. タスク3. 2 タスク型. 4.4.3 複数タスク型 このタスクでは探索行動を複数のタスクで構成し、追跡行動を単独のタスクで構 成した。1 タスク型と 2 タスク型の探索行動は図 4.13 のように右旋回、左旋回、直 進など具体的動作を直列に並べた形で構造になっている。 一方この複数タスク型では図 4.14 のように探索行動を 2 つのモータへのコマンド On/Off、正転、逆転など一段抽象度の低い概念で記述し、それらを直列に並べた構 造になっている。探索行動は6つのタスクで構成され、追跡と回避行動のタスクと 合わて全部で 8 つのタスクで構成されている。この探索行動のタスクの組み方は「一 度命令により動作を始めたモータは、次に命令があるまで同じ動作を続ける」とい う RCX の制御特性を利用したもので、個々のモータへの命令をランダムなタイミン グごとに繰り返すことによってランダムな動きをさせることが出来る。この 6 つの 探索タスク間では優先度は設定されておらず、タスクの優先度は6つとも同じであ. 46.
(57) る。なお複数タスク型での実際の探索行動は6つのタスクで構成されるが、図 4.14 では説明を簡単にするため4つのタスクで構成した。. 探索行動タスク 右旋回. 直進. 停止. 左旋回. 図 4.13. 1 タスク型と 2 タスク型の探索タスク構造. タスク 1. タスク 2. タスク 3. On モータ 2. Off モータ 2. On モータ 0. タスク 4 Off モータ 0. 具体的動作. 停止 右旋回 直進 左旋回 直進 右旋回 停止 図 4.14. 複数タスク型の探索タスク構造. 47.
(58) タスク1∼6. タスク7. 探. 探. 探. 索. 索. 索. 行. 行. 行. 動. 動. 動. 1. 2. 6. 図 4.15. タスク8. 追. 回. 跡. 避. 行. 行. 動. 動. 複数タスク型. 4.4.4 Only To uch 型 上述した 3 つの型の制御プログラムはどれも光センサによる追跡行動のタスクを 有している。しかし光センサによる追跡タスク無しで探索と回避だけを行った場合 でも目標を達成できるかもしれない。そこで光センサによる追跡タスクの有効性を 検証するために、追跡タスクをはずしたロボットによる実験を行った。. タスク1. タスク2. 探. 回. 索. 避. 行. 行. 動. 動. 図 4.16. OnlyTouch 型. 48.
(59) 4.5 結果と考察 4.4.1 動作特性 ここでは前述した4種類の構造の制御プログラムをロボットに実装し、実験を行 った結果を述べる。実験で測定は 4 タイプそれぞれで20回ずつ行った。. 出現頻度[ 回]. 接触回数分布(1タスク型) 14 12 10 8 6 4 2 0 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 測定毎の後スイッチ接触回数[ 回]. 図 4.17. 接触回数分布(1 タスク型). 出現頻度[ 回]. 接触回数分布(2タスク型) 14 12 10 8 6 4 2 0 0. 1. 2. 3. 4. 5. 6. 7. 8. 測定毎の後スイッチ接触回数[ 回]. 図 4.18. 接触回数分布(2タスク型). 49. 9. 10.
(60) 出現頻度[ 回]. 接触回数分布(複数タスク型) 14 12 10 8 6 4 2 0 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 測定毎の後スイッチ接触回数[ 回]. 図 4.19. 接触回数分布(複数タスク型). 出現頻度[ 回]. 接触回数分布(OnlyTouch型) 14 12 10 8 6 4 2 0 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 測定毎の後スイッチ接触回数[ 回]. 図 4.20. 接触回数分布(OnlyTouch 型). 50. 10.
(61) 図 4.17∼4.20 は4つの型でそれぞれ 20 回ずつ測定を行った結果である。このグ ラフで横軸は 1 回の測定中でも接触回数を表し、縦軸はその出現頻度を表している。 そのため出現頻度の合計は常に測定回数である 20 となる。接触回数とは 1 回の測定 で終了条件を満たすまでの間、もしくは制限時間になるまでの間に後スイッチに接 触した回数のことである。 この図 4.17∼4.20 を見ると、どの型でも測定毎の接触回数は 1 回がもっとも多い。 これには以下の 2 つの理由が考えられる 1). 単にロボットの性能が低くてスイッチに接触出来ない。. 2). タスク達成率(後スイッチに接触した後、一定時間内に前スイッチに接触. する確率)が高い、つまり性能が良いので 1 回で十分。 上記の 2 つの理由は互いに矛盾したものであり、このことから接触回数だけでは 全体の正しい比較評価が出来ない。 ただ光センサによる追跡行動を採用していない OnlyTouch 型だけは 0 回(測定実 験時に一度もセンサに接触できなかった)という分布が存在しており、これから光 センサによる追跡行動が有効なことだけは分かった。. 接触効率の比較. 接触効率[ 回/s]. 0.03 0.025 0.02 0.015 0.01 0.005 0 1タスク型. 2タスク型 複数タスク型 OnlyTouch型 型名. 図 4.21. 接触効率の比較. 51.
(62) 実験達成回数[ 回]. 実験達成回数の比較 20 18 16 14 12 10 8 6 4 2 0 1タスク型. 2タスク型. 複数タスク型 OnlyTouch型. 型名. 図 4.22. 実験達成回数の比較. タスク達成率. タスク達成率の比較 0.8 0.78 0.76 0.74 0.72 0.7 0.68 0.66 0.64 0.62 0.6 1タスク型. 2タスク型 複数タスク型 OnlyTouch型 型名. 図 4.23. タスク達成率の比較. 52.
(63) 図 4.21∼4.23 に接触効率、実験達成回数、タスク達成率をそれぞれの型で比較し たグラムを示す。用語の意味を以下に示す。 接触効率:単位時間(1 秒)あたりに接触した回数。 実験達成確立:各 20 回の測定実験中にタスクを達成できた回数。 タスク達成率:後スイッチに接触した後、一定時間内に前スイッチに接触する確率。. この 3 つのグラフでは縦軸の値が大きいほどロボットの性能は良い。図 4.21∼4.23 の3つのグラフいずれにおいても以下のような性能の順位付けが出来る。. No.1. 2 タスク型:探索行動は人間が状況を分析して設計し、常にセンサによる 環境の監視を行っている。. No.2. 複数タスク型:探索行動はランダムに行い、常にセンサによる環境の監視 を行っている。. No.3. 1 タスク型:探索行動は人間が状況を分析して設計し、センサによる環境 の監視は断続的に行っている。. No.4 OnlyTouch 型:探索行動は人間が状況を分析して設計し、常にタッチセン サのみによる環境の監視を行っているが、光センサによる 追跡行動は行わない。. 4.4.2 統計処理によるデータの検証 次にこのデータの妥当性を検証するために統計処理を行う。 データには 2 つのパラメータ、接触回数と動作時間が有る。しかし接触回数では 一意にプログラム構造の性能は測れない。例えば接触回数が多いということは一見 優れているように見えるが、逆に後スイッチに何回も接触しながらタスクを完全に 達成出来ていない可能性も残るからだ。 動作時間は短ければ優秀で、長ければ悪いと簡潔に判断出来るので、ここでは統 計処理の対象としてロボットの動作時間を採用した。なお方法として一元配置分散 分析を用いた。結果を以下の表に示す。. 53.
(64) 表 4.1 一元分散分析表 要因. 平方和. 自由度. 郡間. 2578053. 3. 郡内. 2196527. 76. 全体. 4774580. 79. 平均平方 859350.9. F比 29.73361. 28901.67. この表 4.1 から 4 種類の制御プログラムには有意な差がある事が分かった。次に どの組み合わせに有意な差があるのか確認するため多重比較を行った。ここではそ の中の LSD 法を用いた。. LSD 法:有意水準(LSD 法では、必ず 5%)をクリアする最小の幅を計算する。 その幅が、条件の差よりも大きければ有意であるし、小さければ有意で ないとする。 計算により. LSD=106.98. となった。. これを基にそれぞれの制御プログラムで有意さがあるか調べた。結果を以下に示す。 1 タスク型−2 タスク型=|155.75|>LSD. 有意差が有る. 1 タスク型−複数タスク型=|71.3|<LSD. 有意差が無い. 1 タスク型−OnlyTouch 型=|276.75|>LSD. 有意差が有る. 2 タスク型−複数タスク型=|102.45|<LSD. 有意差が無い. 2 タスク型−OnlyTouch 型=|432.5|>LSD. 有意差が有る. 複数タスク型−OnlyTouch 型=|348.05|>LSD. 有意差が有る. 54.
(65) 次にこの結果を踏まえて考察を行う。. 考察1. OnlyTouch 型は他のどのタイプよりも成績が悪い。これは追跡行動の有無. に起因する。 考察2. 2 タスク型と複数タスク型を比較すると、どのグラフでも 2 タスク型の方. が成績が良い。この成績の違いは探索行動の設計方法の違いに起因している。 しかし統計処理の結果、2 タスク型と複数タスク型の間には有意な差が無い。 そのためこの考察から導かれる結論には意味が無い。 考察3. 1 タスク型と 2 タスク型を比較すると、どのグラフでも 2 タスク型の方が. 成績が良い。この 2 つの型の成績差は、環境の監視方法の違いに起因している。. 以上の理由から本研究のように動的環境で動作する移動ロボットには以下の2つ の事が考察結果として言える。. 考察結果1. 光センサによる追跡行動は有効である。. 考察結果2. タスク数の増加による制御部への負荷増大を考慮しても、絶えずセン サで環境を監視することは有効である。. 55.
(66) 4.6 今後の課題 4.6.1 問題点 今回、複数移動ロボットによる的 2 度押し問題を使用して制御プログラム構造の 違いによる実ロボットの動作特性について評価した。 この研究でロボットはあらゆる状態に有る的に対してタスクを達成できるわけで はない。以下にタスクを達成できない例を示す。. ・. ロボットが的を発見する動作は偶然的要素に頼っている部分が大きい。よっ. て長時間探索を行っても移動ロボットが的を発見できない場合がある。これは環 境が広くなればなるほど深刻な問題となる。 ・. 的が壁際にありライトが点灯している押すべきスイッチが壁側に有る場合は. タスクを達成出来ない。. 4.6.2 制約の緩和 今回、ロボット製作のため実験材料として LEGO 社の MindStorms を使用した。 しかし MindStorms の制御部である RCX には 3 つの入力ポートと出力ポートしか ないため、多くのセンサやアクチュエータを使用することが出来ない。付属のセン サもタッチセンサと光センサだけであり、自律移動ロボットとしては非常にきつい 制約を持っている。本研究ではその制約条件下で目的タスクを達成出来るロボット を作成し実験を行った。しかし、この制約ゆえに更に複雑な目標タスクを持った実 験には MindStorms は不向きであると考える。複雑は目標タスクを設定する必要が ある場合は、この制約を緩和しロボットに多くの機能を追加(センサ種やセンサの 増設)する必要がある。特により大局的情報の取得が必要な場合には、センサ種と センサ数を増やす必要がある。. 4.6.3 学習 本研究では複数移動ロボットによる的 2 度押し問題で想定される動的環境に対応. 56.
関連したドキュメント
図2に実験装置の概略を,表1に主な実験条件を示す.実
実際, クラス C の多様体については, ここでは 詳細には述べないが, 代数 reduction をはじめ類似のいくつかの方法を 組み合わせてその構造を組織的に研究することができる
※ 硬化時 間につ いては 使用材 料によ って異 なるの で使用 材料の 特性を 十分熟 知する こと
妊婦又は妊娠している可能性のある女性には投与しない こと。動物実験(ウサギ)で催奇形性及び胚・胎児死亡 が報告されている 1) 。また、動物実験(ウサギ
わかりやすい解説により、今言われているデジタル化の変革と
[r]
第2章 環境影響評価の実施手順等 第1
モノづくり,特に機械を設計して製作するためには時