センサバーが短すぎて車線変更が走れないとは何度も言っているが、
どう足掻こうと、ヤッパリ車線変更のリズムが悪いので、
(仮想)センサバー延長の為にカメラの取り付け角度を現状から4度浅くしてみる。
実際に走行させると、ライントレースは問題無いが、マーカーを見落とすようになってしまった。
色々試して、
現状のマーカ検出データに、昔やっていたマーカ検出エリア2画素の差分値によるマーカ有無判定を追加したところ、なんとなく動くようになった。
センサバーが短すぎて車線変更が走れないとは何度も言っているが、
どう足掻こうと、ヤッパリ車線変更のリズムが悪いので、
(仮想)センサバー延長の為にカメラの取り付け角度を現状から4度浅くしてみる。
実際に走行させると、ライントレースは問題無いが、マーカーを見落とすようになってしまった。
色々試して、
現状のマーカ検出データに、昔やっていたマーカ検出エリア2画素の差分値によるマーカ有無判定を追加したところ、なんとなく動くようになった。
高精度でお気に入りだったカワダ模型の10枚ピニオンが入手できなくなり
試しに、某社のアルミピニオンギアを購入してみた。
試した結果、購入した全てが手で軽く回しても分かるほどの異音がする。
使い物にならないので、ブログのネタにして供養とする。
で、このギヤの歯型は何か違うようで、それが異音の原因ではないだろうか?
各社のピニオンの歯型を撮影してみた。上から、カワタ模型、レインボープロダクツ、某社の昔のロット、某社の今のロットの順。
この中で、静かに回るギヤはカワダ製、レインボー製、某社の昔の物で
これらの歯型は(上記写真には無いが)協育歯車の物に似ているように見える。
そして、異音のする某社最近のギヤは歯底が平坦で幅広い形となっている。
何を理由に、この歯型に変更したのだろうか?
二ヶ月以上ぶりにソースコードを見ると、何を書いているかサッパリ分からない。
よく思い出せない処理を削除して、
分からないなりにスラロームでの最短走行を書く。
駆動がガリガリ鳴っているのが気にかかるが、
先に実装すべきは
・最短での壁切れ補正
・Uターン時のバック処理
・迷路情報をEEPROMに保存
数回壁に ぶつかると すぐにピニオンが空転してしまうので、
アニキに紹介頂いたPOMを接着できるというセメダインPPXを発注する。
予選を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だったので
ある程度は検出距離の比較だけで期待できそうである。