ライントレーサとは
ライントレーサとは、床の上に引かれた線の上を辿って走行する、自律的なロボットのことです。
(自律的なロボットとは、人間の力を借りず、自分で状況を判断し行動するロボットのこと)
仕組み
ライントレーサのコースには、白い床に黒い線、黒い床に白い線などありますが、ここでは白い床に黒い線を例として取り上げます。
床は白くて明るく、線は黒くて暗いため、この明るさを光センサで読み取ってロボットが線の上にいるか、それとも線から外れているかを判断します。
下記の図は、赤丸で光センサが見ている範囲を表し、そのなかの色で光センサが検出している明るさを表しています。線の上では暗く、線を外れるほど明るくなることがわかります。
線から外れた場合に線に近づくようにロボットを動かせば、線の上を走行するロボットが出来上がります。
光センサは1個から複数のものがあり、それぞれ特徴があります。
- 1個
- 床と線の境界を検出して走行する
- センサが一個だけで済む
- 検出範囲が狭いため、ロボットが線から外れやすい
- 床や線の材質、周囲の照明に左右されやすく、光センサの厳密なキャリブレーションが必要
- 2個
- 左右の光センサの明るさのバランスを検出して走行する
- 左右のバランスだけみるため、光センサの厳密なキャリブレーションが不要
- プログラムが簡単
- 左右の光センサの明るさから、線の位置を検出して走行する
- 光センサの厳密なキャリブレーションが必要
- 1個の場合より検出範囲が広がるため、ロボットが線から外れにくい
- 3個以上
- 検出範囲がさらに広がるため、ロボットが線から外れにくい
- 線が交差した部分の検出も容易
今回つくるライントレーサは、プログラムを簡単にするため、光センサ2個で明るさのバランスを検出する方式を採用します。
使う部品
- micro:bit
- https://www.switch-science.com/catalog/3380/
- SparkFun moto:bit
- https://www.switch-science.com/catalog/3382/
- QTR-8A フォトリフレクタアレイ
- https://www.switch-science.com/catalog/1360/
- タミヤ ブルドーザー工作基本セット
- http://www.tamiya.com/japan/products/70104bulldozer/
- 電池ボックス
- http://akizukidenshi.com/catalog/g/gP-02666/
- DCプラグ 2.1mm センタープラス
- http://akizukidenshi.com/catalog/g/gP-07356/
- ジャンパワイヤ メスーメス 4本
- https://www.switch-science.com/catalog/2295/
- 消しゴム
使う工具
- プラスドライバ
- ニッパ
- カッターナイフ
- かなづち
- はんだごて
- はんだ
- テスター
- 両面テープ
- はがせることを謳っているものがおすすめ
はんだ付けの注意
はんだごては非常に高温(300℃以上)になるため、こて先や金属部分に触ったり、燃えやすいものに近づけたりしないこと。
コードに触ってはんだごてを落としたりしないよう、はんだごて台などを使い、安定した場所に置くこと。
慣れていないニンジャは、大人と一緒にやるようにしましょう。
組み立てかた
- ブルドーザー工作基本セットを組み立てる
※リモコンは組み立てなくてよい -
ブルドーザーのモーターから伸びた線を20cmくらいで切断し、先端のビニール被覆を5㎜ほど剥いておく
-
DCプラグ付バッテリースナップを真ん中くらいで切断し、先端のビニール被覆を5㎜ほど剥いておく
※バッテリースナップ側は使用しない -
テスタの導通チェック機能または抵抗測定機能を使用して、DCプラグの内側(プラス側)がどちらの線か確認して印を付けておく
-
フォトリフレクタアレイを6個と2個に分離し、2個側にピンヘッダとジャンパ線をはんだ付けする
ジャンパ線は付属の100Ω抵抗のリード線の切れ端を使うとよい
-
以下のように配線する
フォトリフレクタアレイはジャンパワイヤで配線し、モーターの線は moto:bit のピンソケットに差し込みテープで固定する。
-
両面テープで各部品をロボットに固定する
センサとロボットの間に7mmに切った消しゴムをはさむ。(床との距離をセンサに最適な3mmにするため)
また、センサの横の位置は真ん中にする。
-
配線が正しいかよく確認する
-
電池ボックスのスイッチが「OFF」になっていることを確認する
-
DCプラグを moto:bit に差し込み、moto:bit のスイッチが「RUN MOTORS」になっていることを確認する
-
電池ボックスに電池をいれる
プログラム
https://makecode.microbit.org/_UwUePsPskUtz
プログラムの動かしかた
- 以下のURLをクリックし、MakeCodeを開く
https://makecode.microbit.org/#lang=ja -
プログラムをつくる
-
画面下の「ダウンロード」をクリックして、HEXファイルをダウンロードする
-
micro:bitをコンピュータに接続する
このとき「MICROBIT」というドライブが認識される -
「MICROBIT」ドライブに先ほどダウンロードしたHEXファイルをドロップする
-
書き込みが終わると、自動的に実行が開始される
コースのつくりかた
白っぽい床に黒い線が書ければ、たいてい動きます。
- 大きな紙にマジックでコースを描く
- 丸められるタイプのホワイトボードに、マーカーでコースを描く
- 紙やホワイトボードなど白いものに、黒いマスキングテープでコースをつくる
プログラムを改造する
滑らかにライトレースする
左右の明るさの差が大きいときは速く曲がる、小さいときはゆっくり曲がるなどの工夫をすることで、滑らかにライントレースすることができます。
線が交差しているコースに対応する
線が交差しているところは、コースが曲がっているのか、線が交差しているだけなのかロボットにはわからないため、横道にそれたりすることがあります。
線が交差しているところでも、必ずまっすぐ進むためには、どうしたらいいか考えてみましょう。
ロボットを改造する
- 光センサの数を増やす
- 別の工作キットのロボットに換装する
- 自分だけのロボットを一から作る
など、いろいろ工夫できそうです。
ステップアップする
大会に出場する
自信がついてきたら、大会に挑戦してみるのもいいでしょう。
ロボカップジュニア レスキューライン
ライントレースを基本とし、障害をクリアしていく競技です。
ロボカップジュニア公式サイト
http://www.robocupjunior.jp/
ロボカップジュニア レスキューライン 2017年 ルール
https://drive.google.com/file/d/0B-L-Ct_ZkSmudnl5X3ZQd0NzQWM/view
おまけ
ライントレースも極めるとこのようになります。
こちらはタイヤでなく虫の足みたいなもので動いていますね。