~ 2014年のライントレースシステム ~
この記事では2014年まで使っていたライントレースシステムを紹介します。
これが当時に配置です。
真ん中2つあるのがNXTのライトセンサーです(NXT1、NXT2と呼びます)。それを挟む形であるのがRCXのライトセンサーです(RCX1、RCX2と呼びます) 。NXTの下にあるのがライトセンサーアレーです(LSAと呼びます)。
では、一つ一つ役割を説明していきます。
NXTのライトセンサーはメインのライントレース用です。この二つの比例制御でメインのライントレースを行っています。比例制御をするためにはラインを1点で見るのではなく面で見る必要があるので、地上から1.2~1.5cm くらいの高さ(正確な値は忘れた)から読んでいます。
→比例制御に関しては過去に書いた記事を参照してください
NXTライトセンサーを使う理由ですが、やはり信用性と安定性です。
今説明しているのはブラジル世界大会の時のライントレースシステムですが、同大会の全国ではメインのライントレースにLSAを使っていて散々なことになりました。
RCXライトセンサーは小さいですが、 色々と遅かったり、もう販売してないこともあってメインに使うのは僕はあまり好まないので。NXTのやつは少し光の環境が違っても、バンプとかにのって高度が変わっても、安定的に使えるのがいいところですね〜
RCX1とRCX2 は直角/交差点のために使っています。NXTライトより手前にあるのは、ライントレースしているときにNXTライトよりも先に直角に反応するためにそうしてます。
どちらでも反応したらすぐにプログラムでそのモードに切り替えます。
(交差点は右優先と考えて...)
手順としては
どちらかが反応すれば前後に少し動いてスキャニング。
RCX1もRCX2も黒を読めばまっすぐいって、メインループに戻る
RCX2(右)が反応すれば、光センサーが反応するまで右に回転。ただし、この場合右優先なので、前方の黒線を読まないように、少し秒数で回転してから光センサーが反応するまでにしてます。
RCX1(左)が反応すれば、光センサーが反応するまで回転。
ただこれだけです。
こうすることで直角と交差点を同じプログラムで攻略できます!
あと残るはLSAです。これでギャップ検索をします。
LSAは8つのライトセンサーで構成されているので真ん中の2つを使ってギャップを検索します。
(ギャップ検索に関してはまた詳しく書きます)¥
この記事では2014年まで使っていたライントレースシステムを紹介します。
これが当時に配置です。
真ん中2つあるのがNXTのライトセンサーです(NXT1、NXT2と呼びます)。それを挟む形であるのがRCXのライトセンサーです(RCX1、RCX2と呼びます) 。NXTの下にあるのがライトセンサーアレーです(LSAと呼びます)。
では、一つ一つ役割を説明していきます。
NXTのライトセンサーはメインのライントレース用です。この二つの比例制御でメインのライントレースを行っています。比例制御をするためにはラインを1点で見るのではなく面で見る必要があるので、地上から1.2~1.5cm くらいの高さ(正確な値は忘れた)から読んでいます。
→比例制御に関しては過去に書いた記事を参照してください
NXTライトセンサーを使う理由ですが、やはり信用性と安定性です。
今説明しているのはブラジル世界大会の時のライントレースシステムですが、同大会の全国ではメインのライントレースにLSAを使っていて散々なことになりました。
RCXライトセンサーは小さいですが、 色々と遅かったり、もう販売してないこともあってメインに使うのは僕はあまり好まないので。NXTのやつは少し光の環境が違っても、バンプとかにのって高度が変わっても、安定的に使えるのがいいところですね〜
RCX1とRCX2 は直角/交差点のために使っています。NXTライトより手前にあるのは、ライントレースしているときにNXTライトよりも先に直角に反応するためにそうしてます。
どちらでも反応したらすぐにプログラムでそのモードに切り替えます。
(交差点は右優先と考えて...)
手順としては
どちらかが反応すれば前後に少し動いてスキャニング。
RCX1もRCX2も黒を読めばまっすぐいって、メインループに戻る
RCX2(右)が反応すれば、光センサーが反応するまで右に回転。ただし、この場合右優先なので、前方の黒線を読まないように、少し秒数で回転してから光センサーが反応するまでにしてます。
RCX1(左)が反応すれば、光センサーが反応するまで回転。
ただこれだけです。
こうすることで直角と交差点を同じプログラムで攻略できます!
あと残るはLSAです。これでギャップ検索をします。
LSAは8つのライトセンサーで構成されているので真ん中の2つを使ってギャップを検索します。
(ギャップ検索に関してはまた詳しく書きます)¥
EV3ソフトを使っても、I2C通信なら複数のI2Cセンサーを同じポートで使えるのでしょうか?私たちのチームはMindsensorsのMUXを使って使えるセンサー数を増やしています。
もし、Robot C(NXC)を使えば可能であれば、Expert講座受講生には、EV3ソフトを使わずにNXT+Robot CでRoboCupに挑戦させます。ぜひ教えてください。
皆川