TAKEROOM

電子工作についてのメモ書きです。主にマイクロマウスについて書いていきたいです(初心者)。たまにチャリ乗ります。

後輩にブログ書けとか言っておきながら全然書いていないTKRです。

一応、言い訳をさせてもらうとサークルのブログのほうに怒涛の5部構成で書いてました。


3月末以降から全然書いていないので、そこから色々振り返ってみたいと思います。

6月はマウス合宿に初めて参加しました。
実際に機体を触らせてもらい、足回りの設計の重要性を思い知らされました。
自分の上にマウスを作って走らせている先輩がいなかったので、実際に触ってみて得られるものがとても大きかったです。

その後はFusion360のCAMを使ってギアを切削したりしていました。

それによって得るものは別にありましたが、やはり外付けエンコーダの軸がぐらぐらなせいでなかなか走行が安定しませんでした。

今年から板マウスにチャレンジしている先輩の機体の足回りをみて、8月下旬に今まで使っていた「DCモーター&外付けエンコーダ」を止め,1717モーターに変更することを決意。

そこからは「基板再発注」「足回りの再設計」を約2週間で行い改造をしました。

そのせいで東日本大会は出られませんでした。

そして今回,全日本学生大会に出場しました。

卒業研究の中間報告を書いていた関係で,調整に本腰を入れられたのは前々日の金曜日。
倉庫の迷路で,超信地最短走行までできるくらいまで調整しました。

いざ当日、自分の1つ前の出走であった先輩がスラ探&スラ最短を見事に決めていました。
隣で見てましたが,とても安定していて今年はすごいなと思いました。

肝心の自分ですが,1走目は横壁のキャリブレーションに失敗し,壁に吸い込まれ「R」。
2走目は壁あてしながらの超信地探索でゴール。そのまま帰り探索も決めました。
3,4走目は超信地最短走行を試みましたが,同じ場所で引っ掛かり「R」。
そこで時間切れとなりました。

ということで結果は2走目の記録の「01.40.801」になりました。
ひとまず認定証も手に入れ、帰り探索もできたので、個人的な目標は達成できたので良かったです。
先輩は特別賞を受賞していました。おめでとうございます!

IMG_20180930_161001


台風が近づいている中、予定時間を早めて大会を運営してくださった皆さんありがとうございました。
次は中部大会に参加したいと思います。
まだ1ヶ月あるので、次はスラローム走行ができるように調整していきたいと思います。







Renesas Optimizing Linker Abort

ソースコードを書いて、コンパイルしようするとエラーが出ました。

リンクできないとか言ってます。

しかも

The evaluation period has expird 
(お前さん評価期間が過ぎてるぜ‼)

とかも言っているので、リンクサイズ確認するが別にサイズに問題なし...

今まで使っていた関数とか名前を変えてみても原因は見つからず。

過去のバックアップデータと比較しながら、しらみつぶしにソースコードを当たってみるとヘッダーファイルで宣言しているグローバル変数がおかしいことに気づきました。

調べてみると、「extern付き宣言」にたどり着きました。

原因は複数のファイルで、ヘッダーファイルで宣言した変数を使っていたことが原因でした。

ファイルが大きくなるとこういうことが起こるんですね。

ヘッダーファイルで宣言した変数にexternをつけ、1つのCファイルでextern無しで変数宣言したらコンパイルしました。

ソフトはまだまだ勉強不足です(ハードができるとは言っていない)。




はじめに
今後,研究室が忙しくなり,後輩となかなか顔を合わせる機会が無くなると思います。

それなので,マウスをやっている人が当たり前にやっているようなことも今後は書いていきます。

今回は関数や変数がどこで実行されているか探す方法についてお話しします。


検索方法
僕の所属するサークルではOBの先輩のソースコードを解析しながら,プログラムを書いています。

僕は今まで、検索するときは「Ctrl + F」を使い、キーワード検索をファイルごとにいちいち行っていました。

しかし、あるプログラムがわからず先輩に相談したときに「grepしてソースを解析する」という話をしていただきました。

そこで初めて「grep」という単語を聞きました。


grepとは?
Wikipedia先生は「テキストファイル中から、正規表現に一致する行を検索して出力するコマンド」と言っています。
https://ja.wikipedia.org/wiki/Grep

要は「指定した文字列を検索するときに使うコマンド」です。

これを使うことで、検索ワードに該当する箇所が一覧となって出力されます。


実際に使ってみる
僕は普段、サクラエディタを使っているのでそれを例に解説します。

・図1のように「検索」→「Grep(G)」をクリックして,図2の画面を立ち上げます。
ショートカットだと「Ctrl + G」で立ち上がります。

図1
図1


図2
図2

・「条件(N)」の中に検索したいキーワードを入力します。

・「ファイル(T)」で検索するファイルの拡張子の指定を行います。

・「フォルダ(O)」で検索するフォルダを指定します。

・その他の設定を行い、「検索」をクリックすると、図3のように該当箇所が一覧となって出力されます。

図3
図3

・出力された箇所をダブルクリックするとその場所にジャンプできます。


感想
今までの方法が如何に効率が悪いかを痛感させられました。

当たり前にやっているようなことでも、こうして書くことは結構重要だと思います。


↑このページのトップヘ