投稿者「pidream」のアーカイブ

メモリ破壊直った?

ダイクストラ法を使った最短経路導出を入れてから発生していたメモリ破壊
原因は分からないものの、最終的には迷路の壁情報、コストといった配列のサイズを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さんによる「最近買った充電器のはなし」です。ガジェットはいくつあっても良い。民望書房にもそう書かれている

ひさしぶりに

整備した機体を走行させる
2個準備したネタはどちらも不発だけど、開発はいつだってそんなもの
普通に走行して満足していたら終盤に操作ミスでクラッシュ。カメラマシンで最も重要なカメラマウントを交換する羽目に…焦りながら修理して何か変だけど1回は完走できた。本番は無事走れるのだろうか

モータ交換


交換して取り外したモータのブラシ。ブラシの全面が削れている。前に交換したのはこの時なので流石に使い過ぎたようだ。
標準モータの一番の旬はブラシのサイドのリムが削れて、ブラシとコミュテータが線で接触した状態だと思っている

がさごそ

  • マイコンカーのソフトウェア開発環境が見当たらない。どうも古いノートPCにしか構築してなかったようだ。発掘したPCは起動に3回も失敗してしまい焦る。新しいPCに環境を移さねば
  • 起動したPCから機体にファームの書き込みはできた
  • 長い間使っている機体なので所々あやしいケーブルが…、切れかかっていたアース線と操舵角検出用ポテンショメータの線を交換する
  • ひさしぶりに


    勝ち逃げは許されない?または、枯れ木も山の賑わい?
    某イベントにお声かけいただいたので機体を整備する。呼ばれたからには、せめて完走はしないと面目が立たない。
    機体を箱から出して見ると、引っ越しの時に箱の中で暴れていたようで緩衝材も機体も所々壊れている
    エンコーダの取り付け部のアルミ部品は曲げ直して、樹脂パーツは呼びに変更して、
    曲がった後輪のシャフトは、形状の近い別のシャフトに置き換える

    マイクロマウス九州大会


    熊本高専で開催された九州大会に参加してきた。同日は文化祭も催されていて展示やイベントや出店でのランチができて楽しい。

    マウスの競技にも文化祭の来場者が見学に来てくれて大盛況な大会でした

    競技成績は久しぶりの1位。連取中に課題もみつかったし有意義な大会でした。大会を運営頂いた熊本高専の皆さまありがとうございました。

    RXコンパイラ(CC-RX)の初期設定

    • いままでchar型はsingned charだと思い込んでたけどunsigned charが初期設定だった。これまで不具合がみえなかったのは運が良いだけだったのか?早速char型をunsingned charに設定して様子をみてみる
    • int型を16bitと思い込んでた。32bitマイコンってそういう意味だったのか。コード上に沢山ある意図のないint宣言の置き換えを進めていく

    内部大会?


    なんかすごい所にお邪魔して内部の大会に参加してきた
    試走時に全面探索に移らなかったり、吸引スカートが床に触れなくて十分な吸引ができなかったり
    前者は前日に見直していたコードの不具合のようで元に戻すと意図した動きにもどった。原因は分からない
    後者はファンを回した後に自動で走行開始していたのを、ファンの回転後に操作者が吸引を確認してからスタートするように変更。あんまり良い手ではないけれど…
    試走から大会中、大会後も意見交換ができて、特にGitの使い方を見せて貰えたのは有難かった
    イベントを開催してくださった皆様ありがとうございました

    2022年度マイクロマウス関西地区大会


     大阪電気通信大学の新設の体育館で行われた2022年度マイクロマウス関西地区大会。皆様お疲れ様でした。

    パラメータはターン速度1.1m/s、直線速度2.5m/s、加速度15m/ssで、動きは悪くないのにタイムは伸びず。もっと良い経路を選ぶことが次の課題のようだ。