情報科学講究 「倒立振子」作成過程の報告
-
Upload
rhiannon-navarro -
Category
Documents
-
view
33 -
download
0
description
Transcript of 情報科学講究 「倒立振子」作成過程の報告
情報科学講究情報科学講究「倒立振子」作成過程の報告「倒立振子」作成過程の報告
2001 年 2 月 6 日3班(粉川■・日野■・永澤■)
目標目標 (i) 振子を制止状態から振
り出して振幅を大きくしてゆく (ii) (i) からさらに振子がぐるぐる回転する状態にもってゆき,それを保つ (iii) 倒立状態を保つ
ただし振子は台車の水平移動によってのみ動くものとする。
ハードウェアの作成(1)ハードウェアの作成(1)
回転センサ→精度が悪い(ギアなしだと16段階、ギアをかませるとすぐに値が狂う)
光センサも思った以上に精度が悪い結論としては回転センサの方を採用
ハードウェアの作成(2)ハードウェアの作成(2)
工夫した点
大きいタイヤを使用することにした。
台車とコントローラを別にした。
なるべく車体が軽く、それでいて頑丈にした
ハードウェアの写真ハードウェアの写真
ソフトウェアの作成ソフトウェアの作成
プログラムを作成するにあたって、言語は NQC を使用することにした。コンパイラには RCX Command Center を使用した。
倒立振子の二つの実現方法がある
制御工学 人工知能
我々は後者の方を採用
振り子の位置の測定振り子の位置の測定
振り子の位置を右図のように分割
一回転(センサが16か-16)したら値を初期化(0にする)。
今後はこの図を元に説明する
回転状態の保持回転状態の保持 回転センサ初期化
→車を適当に前進させる→振子の位置が正であるか負であるかを判定 正であれば①ヘ、負であれば②へ
①→ 振子が負になり始めた瞬間を検知 →青なら後退、赤なら前進 →②へ
②→ 振子が正になり始めた瞬間を検知 →青なら前進、赤なら後退 →①へ
回転維持で工夫した点回転維持で工夫した点
センサの位置には依存せず、振り子の動きだけを見ている。
倒立状態の保持倒立状態の保持 (1)(1)
始めに回転させる12時 (8or-8) を超えたら倒立の保持に
移行する3時 (-4or12) か9時 (4or12) を超えたら
回転の保持に移行する
倒立状態の保持倒立状態の保持 (2)(2)
7,-7,9,-96,-6,10,-105,-5,11,-118,-8と位置を4つにわけて考える
倒立状態の保持倒立状態の保持 (3)(3)
モータの動かす時間は一定とする位置に応じてそこから「12時を超え
る最も遅い速度」を探して学習させる位置に応じて、学習した結果の速度で
モータを動かす
学習方法学習方法
最初はモータを適当な速さで動かす12時を超える→その位置の速さを+
112時を超えない→その位置の速さを
-1
倒立維持の問題点倒立維持の問題点
センサの値に大きく依存しているアルゴリズムである
回転から倒立に移るときに振り子が速すぎて倒立維持に移行してもすぐに3時、9時を通過して回転に戻ってしまう
改良すべき点改良すべき点
速度は8段階しかないのでさらに時間も可変にして学習させる
ギアをかませて測定位置を増やす。