ダイクストラ法を使った最短経路導出を入れてから発生していたメモリ破壊
原因は分からないものの、最終的には迷路の壁情報、コストといった配列のサイズを33×33、つまり23×32より1列増やすと意図通りに動くようになった。
しかし、何故かダイクストラ法に関する配列のサイズは32×32にしていても問題なさそうで本当に分からない
また、不具合解析の途中で見つけて対処した他の内容、たとえば、メモリ変数領域を逸脱しそうな処理とか、関数内に大きなメモリを確保したことによるスタックサイズの溢れとかは影響していたのかどうかも分からない
マイクロマウス
タイル式マイクロマウス迷路用ベースの小ネタ
この記事はMicro Mouse Advent Calendar 2022の14日目の記事で、昨日の記事はNoriさんの「STM32CubeMonitorの紹介」でした。マイコンの変数をリアルタイムに可視化、とても便利そうな機能で使ってみたいし、ルネサスにも欲しい。
部屋に15×15サイズの迷路が準備できつつある。この迷路はハーフマウスのタイル式マイクロマウス迷路用ベースを16個組み合わせたもので、移動制限の厳しい去年、どうしても大きな迷路を走らせたいと願っていたらいつの間にか手元にあった。たぶんアールティ社の次に沢山持っていると思う。
複数個の迷路ベースを組わせて作る迷路は、個々の迷路ベースどうしが固定されないために組付け時にズレて並べてしまったり、迷路ベースの並びを変える時にもズレてしまうことがある。もちろん組み立てた後にもズレやすくて、例えば住環境で広い迷路を広げようとすると床に迷路を敷くのが楽だけど、その迷路の上を歩くとズレる。
そこで今回は、迷路ベースのズレを抑える小ネタを紹介
①シフトして並べる
上の写真のように上下に並列する迷路ベースどうしを左右方向に1区間分ずらして並べる。こうすることで写真の上下方向への迷路ベースの位置がずれにくくなる。
②迷路の外形の柱と壁をテープで固定する
迷路ベースの連結部分に架かる壁と、その左右の柱と壁とを養生テープで固定する。こうすることで迷路ベースどうしが離れることによるズレを止めることができる。養生テープの幅は25mmが使いやすい。
③壁と柱を接着
迷路の外周だけでは固定が不安な場合に迷路の内側に使うのがコレ。1枚の壁とその両端にはまる柱を接着材で固定して1つのユニットにしたもの。コレを迷路ベースの連結部分に架かる部分の壁&柱として使用する。
迷路ベースの柱用の孔の間隔の公差、迷路ベースどうしを組わせた時の公差を吸収するために、壁と柱との接着には弾性のあるゴム系接着剤(ex.スーパーXの透明)を使用する。
また、壁と柱を0距離で固定してしまうと迷路ベースの孔の間隔よりも短くなりすぎるので、実際の迷路ベース上に柱を刺した状態で柱と壁とを接着する。
この時、迷路の塗装面に接着剤がつかないとうに迷路ベースの裏面を使うと安心できる。
ついでに、迷路ベースの厚さと柱の差し込み部分の長さからくる柱の浮きが気になる場合には、あらかじめ柱の差し込み部を1.5mmほど削っておく
というわけで、タイル式マイクロマウス迷路用ベースはいいぞ。
明日はNakashimaさんによる「最近買った充電器のはなし」です。ガジェットはいくつあっても良い。民望書房にもそう書かれている
2022年度マイクロマウス関西地区大会
大阪電気通信大学の新設の体育館で行われた2022年度マイクロマウス関西地区大会。皆様お疲れ様でした。
パラメータはターン速度1.1m/s、直線速度2.5m/s、加速度15m/ssで、動きは悪くないのにタイムは伸びず。もっと良い経路を選ぶことが次の課題のようだ。
スカート変更
吸引スカートの素材を変更して1枚物を作ってみる。素材的には若干分厚く硬くなったが前回の複数の部品を組み合わせた構造よりは作りやすい。そして、精度が良くなったためか吸引力があがった
ピニオンの固定
やっと固定する方法が分かった。
ちなみに、これまで、シャフトにピニオンを挿入した状態で、シャフトとピニオンの境界部分にロックタイト601(あるいはメタルロック)を塗布して、ピニオンを少しづつ動かすことでシャフトとピニオンの隙間に接着剤を浸透させようとしていた。
しかしながら、この方法で固定しても、ピニオンが滑ることがあった。
今回やってみた方法は、ピニオン(孔径0.8mm、歯厚1.0mm)に
ロックタイト601をぶっかける
その後、ティッシュペーパーで孔の部分以外のロックタイトを拭きとり(ふき取っても孔部分の中にロックタイトが少量残る)、直ぐにシャフトに挿入する
(直ぐにピニオンをシャフトに挿入しないと、挿入が硬くて出来なくなるが、)挿入の直後からシャフトとピニオンが固定される
ハーフマウス用のモータ
重量の重いハーフマウスは、MK06-4.5モータの特性だと12m/ssの加速が厳しい。そのため、もう少し電流の流れる(端子間抵抗が3Ωくらいの)モータを探している。
試しにAmazonで購入したこのモータは端子間抵抗が6~7Ωだった。たぶんMK06-4.5(端子間抵抗:約4.5Ω)より回らないので不採用。