減速エリア試走


熊本のマイコンクラブにお邪魔させていただく。
学生さんは新車の作成と工作機械の組立中だったので、
一番長い直線に2本線を引かせてもらう。
これくらい広いコースだと1.8mのセクションを余裕で置けるようだ。

さて、試走してみると想定どおりマーカーの誤検出だらけ、
減速区間用の2本線は読み間違えてもリカバリ可能だが、
(しれっと変更された)クランク用の1本線は読み落とすと何も出来ない。

///////////////////////////////////////
減速区間の走行については
急減速後停止状態で時間待ちするよりも、
逆走しながら時間を待つことで
加速距離を稼ぐのがエレガントな解ではないだろうか?
といっても実現には
エンコーダの2相読取りのハード変更か、
逆走検出のソフト処理の追加が必要で、
やっぱり時間が足りない。

減速走行区間の速度制御

130720

減速区間のレギュレーションに加えて、
1.8mの場所での速度を可能な限り早くする場合には、
マーカー検出後に急停止して、停止状態で時間待ちした後に
急加速しながら1.8mポイントを通過することになる。

実際には、
通常走行速度からの停止までの距離と
停止状態から通常走行速度に到達する距離の合計が
1.8mでは収まらないので
定常速度での立上りはできなさそう。

センサバーレスの場合は
ロボットがマーカーラインを見つけてから
1.8m区間のタイマー計測が開始されるまでに
距離のズレが発生するはずなので、
実際の減速走行区間は1.8mよりも長く使えそうである

二本線の見つけ方を考える

言いたい事はあるが、
まずはマーカの検出方法を考える。
1本のマーカーの検出は、ある程度動くことは確認済み。
2本のマーカーの検出案としては
①カメラの画角を広げて2本を同時に見つける
②これまで通りのマーカー検出と距離情報から計算して見つける
③新たなセンサの追加
の3通りがある

①のカメラ画角の拡張は、カメラ誘導としては正解なのだけれども
・データ読取り時間の増加でカメラのフレームレートが落ちる
・LED照明の照射エリアの変更も必要
ってことで現実的ではない。
(マーカーを見つけた瞬間だけ、画角を増やせば通常走行中のフレームレートには影響なさそう)

③は確実だがスマートでない。

②は、
距離情報の追加や演算をカメラ処理マイコンかメインマイコン側かで選択できるが、
カメラ側でやると、データ信号線を増やす必要があるのでパス。
で、メインマイコン側で演算させる方向で検討する。

現在のマーカー検出処理の結果を利用して
1cm毎にマーカー情報を取得して、距離とマーカ情報からなるパターンに
2本線の検出パターンと、幅20mm~40mmからなる1本線の検出パターンを、
比較してなんとかする。

実際にコードを書いて手押し確認してみる
2本線の場合はマーカー情報の最初と最後の幅が8cmで、
20mm幅の1本線なら4cm、
40mm幅の1本線ならば6cm、
試しに50mmの1本線も試してみると7cmだったので
ある程度は検出距離の比較だけで期待できそうである。

インシュレーター

130707
坂道で減速できずにコースアウトしたり、平地で減速したりすることが増えた。
調べてみると、坂道検出に利用しているジャイロの出力にノイズが乗っている。
本物の坂に進入した時と似た波形のノイズなのフィルタでは除去できない。

ということで、ノイズ源の調査
・走行中に乗り続ける
・駆動モータを空回ししても乗る
・モータ停止中には乗らない
・駆動モータ回転中も電源にはノイズは無い
・駆動モータの回転中、車体全体が振動する
ってことで、走行中の振動が原因と推定する。

で、メイン基板に強く固定していたジャイロユニットを
スポンジを介して弱く固定してみる。
結果、駆動モータ空回し中のノイズは半分以下になった。
ジャイロが振動の影響を受けることを知っていたら防げた問題だったようだ。

で、前の車体で確認したときはノイズが乗ってなかったのは
・マクソンモータによるモータ個々の振動の少なさ
・2WD仕様によるモータ、ギヤ等のノイズ源の量の少なさ
・ジャイロユニットを厚手のスポンジ材で固定していたことによる防振効果
という事なのだろう。