減速エリア試走


熊本のマイコンクラブにお邪魔させていただく。
学生さんは新車の作成と工作機械の組立中だったので、
一番長い直線に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仕様によるモータ、ギヤ等のノイズ源の量の少なさ
・ジャイロユニットを厚手のスポンジ材で固定していたことによる防振効果
という事なのだろう。

スラローム走行


合宿にて次やることは”ジャイロを使ってのスラローム”
と教えてもらったので実装してみる。
車両全体の速度はエンコーダだけ見て
角速度はジャイロだけ見て制御してみる

ニカド電池

120620
出力抵抗の小さいニカドにチャレンジするも、パッケージで撃沈する
無駄買いになったのはサンヨーのN-700AACL

//////////////////////
RMCR大会が告知されたので、飛行機と宿を手配する。

2013年マイクロマウス合宿

とりあえず動くロボットを作り上げて、
何から始めれば良いかを教えて貰おうという目的で、
マイクロマウス合宿に行ってきた。

拡張左手+超信地旋回で挑んだプチ大会もなんとか完走。

度重なる質問に、色々と教えてくださった
まついさん、こじまさん、アニキさん、こみねさん
ありがとうございました。

こつこつ


・たまに減速動作なしに、次の旋回動作に移行していたことを修正
・壁切れによる距離補正追加(動作がイマイチ)

//////////////
昨年5月末にはRMCR開催のアナウンスがあったけど、
今年の大会はどうなのだろう?

不要輻射

CIMG0405
7年ぶりにマブチモータの餌食になった
走行中に操舵が固定され、そのままコースアウトすることが頻発する。
ログから原因を探ると、画処理マイコンからのデータの更新が止まっており
更に探ると、カメラからのデータ送信が止まっていた。

カメラはリセットして初期状態で待機中になっていそうである
画処理マイコンはデータが送られてくるのを待っているので、
カメラが応答しない限り次の処理に入れない
画処理マイコンと駆動制御マイコンは、
カメラのフレーム毎に通信するので、ここも動作できない。
結果として、
カメラが初期化→画処理マイコンがロック→暴走という流れになっていた。

ことの発端のカメラのリセットの原因を調べると、
カメラへのコネクタのポイントでは、電源と信号線のどちらにもノイズ無しで
前輪駆動用モータの輻射ノイズという結論になった。

ということで対策を打つ
①カメラの制御ケーブルをモータから離す
 これまでは”やぐら”の中にケーブルを通していたため距離が近かった
②制御ケーブルをシールドして、シールドはGNDに接続する
 シールドをGNDに落とさない場合は効果が無かった
③モーター缶をGNDに落とす。
 モータ缶自体の電位が暴れてアンテナになっていそうなので対処と
 モータ缶自体をシールドとして使用する

さらにソフトでも対策
①駆動制御マイコンは10ms間データの更新が止まったら走行停止させる。
②画処理マイコンはカメラからのデータが3ms間停止したら、
 カメラをリセットして初期設定から処理をやり直させる。
 画処理マイコンの通常の処理への影響を減らすため、
 ウォッチドックでマイコンごとリブートさせる。

///////////////////////////////

DCモータのノイズ対策にコンデンサを付けるのは一般的なのだろけど、
それで効果的に対処できるのはモータケーブルに乗る伝導ノイズだけではないのだろうか?
輻射ノイズの原因であろう、ブラシとコミュ間の火花放電への対処は
モータ全体を金属で覆ってシールドしないと利かないのではないか?