前壁がある場合に前壁との距離を合わせ、ターン中に壁切れを監視し、
ターン後に壁切れからの距離を評価して、
基準値よりも距離が長ければ、ターン後のオフセット距離を長くし、
基準値よりも距離が短かければ、ターン後のオフセット距離を短くする
これで、やっと↓のパターンの迷路をクリアできるようになった
pidream
超信地旋回の処理
180度一括で回転するようにして、回転後に左右壁が見えるまで後退するようにする。
さらに、袋小路では左右の壁との距離を測って、直後のターンでターン後のオフセット距離を変更する。
こつこつ
吸引ファンの厚みはあまりいらないらしいので薄くしたものを描いて発注する
連続ターンの横壁補正
探索中のターンの中で前壁補正が使えないパターンが苦手だったのが解決できた
まず①で、右ターンの直前に左壁との距離を測り、ターン後のオフセット距離を補正することでX方向のズレを補正する
次に②で、左ターンの直前に右壁との距離を測り、ターン後のオフセット距離を補正することでY方向のズレを補正する
串区間の制御
〇久々に串区間の制御を入れる
左右の壁切れ位置の差を測って、差が5mm以上差があるようなら、進行方向を3度ずらして30mm進む。
〇変則四輪では90度づつの超信地旋回はあまり適切ではないのでないか?タイヤの汚れ具合にによっては90度回転したときに車体の位置が前後左右に大きくズレることがある。
だとすれば、素直に1回で180度回転をして、その後に、左右センサで左右のずれを測定して、壁切れで前後位置のズレを測定して、次のターンのオフセット距離で補正したほうが良いように思う
〇直線の終わりの定速度走行区間
ターン前には一定速度で走る区間はどのくらいにすべきか?というか揺らぎはどの程度が?
最高速度から定加速度で減速していく作りなので、最高速度が速いほどに減速中の誤差の蓄積が厳しくなってしまう。
とりあえず2cm、または、最高速度で10ms進む距離(4m/sなら4cm)の長いほうに設定するが、
リアルタイムに位置と速度から加速度を更新したほうがよいのだろうか?
こつこつ
ターンの目標最終角度をグローバルな角度にしているため、長期間の探索で0度がずれてくるのが不安になっていた。
そこで、5区間以上両壁がある区間で左右のセンサ値が少ないまま走行している場合に現在の角度を0度にするように変更。
前壁での角度補正を、壁に近づきすぎている場合には行わないように変更。
センサの値がサチル寸前なのと、左右の前センサのバラツキの修正が難しいので一旦無視する。
上2つの処理を入れていると前壁センサは左右に2つも要らないような気がしてきた
前1個、真横2個、斜め2個の5個の構成が気になる
壁センサの消費電流
小まめに壁センサをOFFすることで省エネ化を進めているが実際に壁センサがどの程度電力を使っていたか測定する。主電源での平均電流を測定する
通常アイドル時:99.6mA
壁センサOFF時:78.1mA
思っていたよりも多い印象である
こつこつ(ログ保存方法変更)
吸引力が上がったので加速度を上げて最高速度を早くしたい。ところが、今のソフトではログの都合により2.5m/s以上の速度が設定できなかった。
8bitで1bit=0.1m/sで目標速度を保存していたのを、10bit割いて1bit=0.05m/sで保存することにした。これで5m/sまで保存できる。
ついでに、左右のタイヤの回転速度をそれぞれ8bitで保存していたのを、走行速度(左右タイヤの回転速度の合計)は目標速度との差分を8bitで保存して、左右のタイヤの回転差を8bitで保存することに
15m/ss加速はふらつきが酷い、まずは12m/ssが妥当な目標に感じる
吸引機構のスカート変更
やる事リストを潰していく
スカートの材料を約0.1mm厚の帯電防止パウチ袋の素材から、その半分の厚さのフッ素樹脂フィルムに変更する。
薄く柔らかすぎて加工しにくいため、加工時には養生テープに張り付けて好みの寸法にカットして、次に養生テープから剥がして使用することで、何とかくみ上げる
吸引力がファンモータ電圧3.5V時に12g→22gに増加した