予選を3位通過し、
決勝トーナメントでは幸運にも準優勝することができました。
カメラを使ってのライントレースで、
十分に勝負できることを実証できました。
大会を運営して下さったルネサスの皆様や参加者の皆様お疲れ様でした。
予選を3位通過し、
決勝トーナメントでは幸運にも準優勝することができました。
カメラを使ってのライントレースで、
十分に勝負できることを実証できました。
大会を運営して下さったルネサスの皆様や参加者の皆様お疲れ様でした。
福工で走り納め。
完走率はアレだけど、フリー走行の予選ならある程度いけるか?
来週末は頑張ろー。
熊本のマイコンクラブにて走りこみ。
マーカ検出処理変更のおかげで、読み落としは減少したようだ。
減速区間処理に対しても、
マーカ検出から計測開始までの距離を考慮に入れたり、
1本線と読み間違った場合のためにクランクモードで110cm走行したら
減速区間走行に切り替えるバックアップ処理も追加する。
直線やコーナの目標速度も、大抵のレイアウトで安定走行できそうな値に変更する。
1本線クロスラインの読み落としが酷いので、
マーカー検出の基準となる黒色算出に用いる画処理エリアを
32×2行から32×3行に変更。
/////////////////////////////////////////
ふと10度坂レギュレーションを確認してみると、シャシ底のマージンが無い。
設計と比較して、最低地上高が1mm低い。
1mm=タイヤの変形+メインシャシ材が0.1mm分厚い+よく分からないズレ
タイヤのスポンジ固定用の両面テープを0.75mm厚に変えて底上げする。
熊本のマイコンクラブにお邪魔させていただく。
学生さんは新車の作成と工作機械の組立中だったので、
一番長い直線に2本線を引かせてもらう。
これくらい広いコースだと1.8mのセクションを余裕で置けるようだ。
さて、試走してみると想定どおりマーカーの誤検出だらけ、
減速区間用の2本線は読み間違えてもリカバリ可能だが、
(しれっと変更された)クランク用の1本線は読み落とすと何も出来ない。
///////////////////////////////////////
減速区間の走行については
急減速後停止状態で時間待ちするよりも、
逆走しながら時間を待つことで
加速距離を稼ぐのがエレガントな解ではないだろうか?
といっても実現には
エンコーダの2相読取りのハード変更か、
逆走検出のソフト処理の追加が必要で、
やっぱり時間が足りない。
減速区間のレギュレーションに加えて、
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だったので
ある程度は検出距離の比較だけで期待できそうである。
坂道で減速できずにコースアウトしたり、平地で減速したりすることが増えた。
調べてみると、坂道検出に利用しているジャイロの出力にノイズが乗っている。
本物の坂に進入した時と似た波形のノイズなのフィルタでは除去できない。
ということで、ノイズ源の調査
・走行中に乗り続ける
・駆動モータを空回ししても乗る
・モータ停止中には乗らない
・駆動モータ回転中も電源にはノイズは無い
・駆動モータの回転中、車体全体が振動する
ってことで、走行中の振動が原因と推定する。
で、メイン基板に強く固定していたジャイロユニットを
スポンジを介して弱く固定してみる。
結果、駆動モータ空回し中のノイズは半分以下になった。
ジャイロが振動の影響を受けることを知っていたら防げた問題だったようだ。
で、前の車体で確認したときはノイズが乗ってなかったのは
・マクソンモータによるモータ個々の振動の少なさ
・2WD仕様によるモータ、ギヤ等のノイズ源の量の少なさ
・ジャイロユニットを厚手のスポンジ材で固定していたことによる防振効果
という事なのだろう。
合宿にて次やることは”ジャイロを使ってのスラローム”
と教えてもらったので実装してみる。
車両全体の速度はエンコーダだけ見て
角速度はジャイロだけ見て制御してみる