二ヶ月以上ぶりにソースコードを見ると、何を書いているかサッパリ分からない。
よく思い出せない処理を削除して、
分からないなりにスラロームでの最短走行を書く。
駆動がガリガリ鳴っているのが気にかかるが、
先に実装すべきは
・最短での壁切れ補正
・Uターン時のバック処理
・迷路情報をEEPROMに保存
数回壁に ぶつかると すぐにピニオンが空転してしまうので、
アニキに紹介頂いたPOMを接着できるというセメダインPPXを発注する。
二ヶ月以上ぶりにソースコードを見ると、何を書いているかサッパリ分からない。
よく思い出せない処理を削除して、
分からないなりにスラロームでの最短走行を書く。
駆動がガリガリ鳴っているのが気にかかるが、
先に実装すべきは
・最短での壁切れ補正
・Uターン時のバック処理
・迷路情報をEEPROMに保存
数回壁に ぶつかると すぐにピニオンが空転してしまうので、
アニキに紹介頂いたPOMを接着できるというセメダインPPXを発注する。
合宿にて次やることは”ジャイロを使ってのスラローム”
と教えてもらったので実装してみる。
車両全体の速度はエンコーダだけ見て
角速度はジャイロだけ見て制御してみる
とりあえず動くロボットを作り上げて、
何から始めれば良いかを教えて貰おうという目的で、
マイクロマウス合宿に行ってきた。
拡張左手+超信地旋回で挑んだプチ大会もなんとか完走。
度重なる質問に、色々と教えてくださった
まついさん、こじまさん、アニキさん、こみねさん
ありがとうございました。
・前壁による位置補正実装
・最短走行実装
・たまに減速動作なしに、次の旋回動作に移行していたことを修正
・壁切れによる距離補正追加(動作がイマイチ)
//////////////
昨年5月末にはRMCR開催のアナウンスがあったけど、
今年の大会はどうなのだろう?
左手法。
周回した
壁トレース制御できた
//////////////
使用しているモータドライバICの都合で、
正逆転時に異なるポートからPWMを出す必要があり、
リセット同期PWMの出力ポート切り替えをTOERレジスタで行なっていたのだけれど、駄目な操作のようでPWMがよく暴走した。
PWM出力をピンファンクションコントローラで切り替えると上手く行くようになったが、
それにたどり着くまでにモータを2個壊してしまった。
とりあえず回路が動いたとこまでで放置していたマウスのソフトを書き始める。
モータ駆動用の関数やらLED発光関数やらを作成、
赤外線センサはパルス発光させて5ms毎にデータを更新させるように。
で、適当に速度制御を作って目標速度を台形的に入力する。
/////////
main関数内でPE.DRL.BIT.B10に書き込みながら
割り込み内でPE.DRL.BIT.B15に書き込もうとすると
割り込み内でポートが書き換わらないことが起きた。
main内の処理でポートに書き込んでいる間は割り込みを禁止すると良さそう。
モータとエンコーダの結線できた。とりあえずモータは回った。