画像処理を用いた 自律走行ライントレースロボットの作 成 (車体制御) 5年 電子情報工学科 29番 早川祥平 研究概要 Webカメラで取得した画像をもとに自律してラ イン上を走行し、福井県歯科医師会主催「歯み がきロボットコンテスト」の規定に従った動作 を行うロボットの製作 コンテスト前までの研究 Webカメラからの画像 内の3点で白黒を識別 しながらライントレ ースを行うプログラ ムの開発 ロボットの設計 アウトラインテキストの 書式を編集するにはク リックします。 2レベル目のアウト ライン 3レベル目のアウ トライン 4レベル目の アウトライン 5レベル目 のアウトラ イン 6レベル目 コンテスト後の研究内容 「よりスムーズなライントレースを実 現させる」 Webカメラ設置位置および角度の変更 新しいライントレースアルゴリズム(一部実装 ) 90度の方向転換方法の変更(未実装) どういう状況で誤認が発生しているのかを確認 していないままで、アルゴリズムを提案していな いから、何を強調して説明したらいいのかが分 かっていない。 Webカメラ設置位置及び角度の変 更 Webカメラと地面の距 離が近すぎるため、ラ インの撮影をしやすい 位置にカメラを移動 映りって何?広い範囲が写せ るようになったということ? 歯磨き機構の上部(地 上から約30cm) 結果的に道の映りが良 くなった 歯磨きの時に大仏の模 型にカメラがぶつかる ため、位置の微調整が 必要 アウトラインテキストの 書式を編集するにはク リックします。 2レベル目のアウト ライン 3レベル目のアウ トライン 4レベル目の アウトライン 5レベル目 のアウトラ イン 6レベル目 新しいライントレースアルゴリズ ム より安定したライントレースを行えるよう、根 本からライントレースのアルゴリズムを考え直 した 素直に、レジメの図を入れた 方が分り易い。 1. 画像を縦に2分割するような水平線を仮定 2. その水平線を22分割する点を仮定し、各点に水平線の中点 からの差を番号として付番する 3. 水平線の中点を除き、外側にある黒の点を優先して道と識 別 4. 識別した点と同じ側のタイヤの速度を「10(モーターの最 大速度)-(先程付番した番号の数)」にする 5. 3と4を繰り返す 新しいライントレースアルゴリズ ム <例> 新しいライントレースアルゴリズ ム 1. 画像を縦に2分割するような水平線を仮定 新しいライントレースアルゴリズ ム 中点 9 10 5 7 8 6 3 4 1 1 2 0 3 2 5 4 7 6 9 8 10 2. この水平線を22分割する点を仮定し、 各点に水平線の中点からの差を番号として付番する 新しいライントレースアルゴリズ ム ここを道 と識別す る 中点 3. 水平線の中点を除き、外側にある黒の点を優先して道と識 別 新しいライントレースアルゴリズ ム んで、この説明からすると、もとも との3点の方式では、カーブに突 入するときに車体速度が速すぎる のが失敗の原因ということなの? 4 この場合、右側 左右の回転速度の制御が-10~ +10の値に制御するだけで方向と のタイヤの速度 速度を制御できることを説明して が10 – 4 = 6 おくべき。そうしないと10って何? ってことになる。 となる 4. 識別した点と同じ側のタイヤの速度を 「10(モーターの最大速度)-(先程付番した番号の数)」 新しいライントレースアルゴリズ ム んで、この絵のコースなんだけど、描いているコースはすべて手前真ん中 はコースに乗っていると決めつけている。後半ネタの『90度ターン』直後だ ったりすると、手前はコースから左右にずれている状態かもしれない。ん で、このアルゴリズムは、手前がコースからずれているときでもちゃんと動 く? 左タイヤ 10 右タイヤ 6 片側で道が識別さ れなかった場合は さらに、後半ネタの90度ターンの話からすれば、コースはL字じゃない の?それなのにこの絵はカーブ。 速度を減らさない 今、早川君の想定しているコースは、2009年までのL字コーナーなの? それとも2010年大会の曲線カーブなの? 曲線カーブなら、方位センサーを確認すれば、カーブを『抜けた』…とか のヒントになるはず。 L字カーブなら、指定方位になるまで旋回する…といった処理になるは ず。こういう前提条件を考えていないと、プログラムをどうすべきか決まら ない。 5. 3と4を繰り返す 新しいライントレースアルゴリズ ム 水平線の位置:ロボットの前方33cm この辺は、房川君の方の提案によ る改良であることを補足しておい てほしい。 遠すぎると曲がるタイミングが早くなり、近すぎる とラインを見逃しやすくなるため調整予定 画像の全体の明るさから白と黒の閾値を得る 画像全体の明るさのヒストグラムを作り、その中間 値を閾値とすることで、画像全体の明暗にも対応 広い範囲で道を認識し、道から外れにくく、 走行場所の明暗にも順応 新しいライントレースアルゴリズ ム 未実装部分 <T字分岐の判別および進路決定は?> <歯磨き地点は?> 対策 まだ練れていません 90度の方向転換方法の変更(未実 装) <前回> どういう欠陥? 説明の文章が全体的に、『元の方式の欠点を分析した結 果、○○な問題を克服したいから△△した』…という話の流 れがない。さらに、方位センサーをどう使うのかということを 考えずにプログラムを書いている。 広い視野で問題に対してどう取り組むべきかという視点なし で、卒研をすすめているから、こうなっている。 方位センサを主に利用した方向転換 → アルゴリズム、データ利用法に欠陥が多く、 曲がりきれないことが多かった <今回> 方位センサを用いた90度の方向転換に要する時 間を測定するプログラムによって予め測定した 時間を実際の方向転換時間に利用する <測定方法および測定時の条件> 片方のタイヤのみで方向転換(速度は最大) 90度の方向転換方法の変更 方向転換のタイミング ライントースにおいて、中点より右側の10点 全てが黒になった時 じゃあ、90度ターンってどういう処理になるか解ってる? 現実には、上記方式で方向転換のタイミングを見つけるからには、方向 転換の中心点はコーナーよりも随分手前になってしまう。 よって、10点すべて黒の判定後には、車体中央がコーナーになるまで前 進し、90度回転時間で方向転換という処理が必要。 んで、回転後に動き出した後は、21点でライントレースを再開するんだよ ね?つーことは、早川君アイデアのアルゴリズムの出来がいいんなら、 ちょっとぐらい方向がずれていてもいいはず。
© Copyright 2025 ExpyDoc