んで、このアルゴリズムは

画像処理を用いた
自律走行ライントレースロボットの作
成
(車体制御)
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点でライントレースを再開するんだよ
ね?つーことは、早川君アイデアのアルゴリズムの出来がいいんなら、
ちょっとぐらい方向がずれていてもいいはず。