やったこと・やらなきゃいけないことをまとめてみた
お久ぶりです。
東日本大会まで20日を切ったということで、これからやななければいけないことについてまとめてみようと思います。
思いついたことだけを書いているので抜けがあるかもしれません。
既に終わっていること
- ハード(吸引を除く)
- 染色
- 機能確認(タイマー・ジャイロ・モータ・エンコーダー・センサー(AD変換)・スピーカー・etc)
- 台形加速
- 宴会芸
- ターンもどき(←超信地旋回が気持ち悪い←ピニオン滑り?)
- 壁制御
これからやること(JASALMAでやったやつ)
- 直進・ターンをしっかりまとめる
- スラローム
- 左手法(←いるか?)
- 座標管理
- 足立法
- 足立法最短
これからやること(JASALMAでやってない)
- 前壁補正
- 壁切れ補正
- 探索改良
- 最短経路導出改良(←できるのか?)
- 吸引
- 斜め
いかんせん初代マウスのJASALMAで経験してないところが多いので抜けもあるだろうし、どれくらい時間かかるかわかんないですが・・・
ともあれ、やらなきゃいけないことが多くあるのでコツコツやらなっきゃな~と思っております。
正直言ってこの調子でいくと夏休みがマウスで消滅しそうですヒィー(((゚Д゚)))ガタガタ
まあ折角家に迷路やチャージャーを借りてきたのでしっかり進捗を生んで合宿に参加したい所存です。
合宿までにターンとか全部終わらせて合宿中に足立法入ったらいいな・・・
そんな感じで終わったことと、これからやることでした。
以下、困ってるこや雑談
- ピニオンが滑る
今まで糸を通して圧入してたのですがどうにも滑る!ということでメタルロックで固めてみました。ちゃんと固定出来てるかはしばらく様子見です。
- 直進しない
BIJELAさんはどうしても右に曲がりながら進みたがるんですよね・・・
タイヤを押してタイヤ軸を無理やり補正するとよくなったりもするのだけど・・・
うーん、どうしたものか
個人的にはマウントにはめ込んでる、シャフト固定用のナットが斜めってるとかな気がするから、切削しなおしとかも考えてはいるけど・・・
時間も手間もかかりすぎる気がしてあまりやりたくないな
壁補正で何とかなるならいいけど壁がなくなるとずれていくの怖いからな~
まあここは考えます。
- ターンが安定しない
宴会芸とか見てると左右の回転で挙動が違ったり、跳ねたりしてたのでこれが不安要素
ピニオンが滑ってるのが原因で今は直っててくれたりしないかな~
- Gitを導入
学科の強い友人にすすめられてGit(及びGitHub)を使い始めました。
まだ最低限しか使えていないと思いますが、それでも「いいぞ~これ」という気持ちになりました。
戻せるのと変化が見れるのがいいですね。
- テストが終わった
今回は舐めプしてたせいかものすごくつらいテスト期間でした・・・
カフェイン中毒になりそうでした
友人に動画をすすめられて見てたらはまってしまった。
マウス開発に影響が出ない程度に楽しんでいきたい。
- 現役がブログ書いてくれない!
まあ自分もそんなに書いてるわけじゃないので強くは言えないけれどみんなにはもっとブログ書いてほしいなと思っておりますので、是非是非書いてください。
あ、老害の方もブログ待ってます。
ではでは、いつになく適当なお話ばかりでしたが最後までお付き合いいただきありがとうございました。
T
近況報告
お久しぶりです。
とある方から「最近ブログ更新してる人すくなくね?」と指摘されたので思い出したかのように書いていきます。
現段階でなにも書くこと決まってないし、ぱっとかいて、ぱっと投稿しするので、内容が薄いのと、読みにくいのはご容赦くださいませ。
まず初めに、マウス合宿、Miceプチ大会と参加していただいた方、お手伝いいただいた方ありがとうございました!!
次に最近の進捗についてなんですが・・・
まあ、びっくりするくらい何もないですΣ(゚Д゚)
プチ大会で動いてたらいいな~とか幻想だったらしいです。
そんな新作のBIJELAさんなんですが、すべての機能の動作確認は終わり、走行系の関数を作成してます。
が、台形加速の理論値計算に4日も5日もかけてるポンコツ具合ですよ、ほんとに...
ここで苦しんだ理由の一つにコンパイラの最適化があるらしいです。
フラグが立つまでwhile文で待機しようとしてたんですけど、この中にデバッグ用に「LEDを光らせる」を記述してると動くのに、これをコメントアウトすると動かなくなったり、この動作を関数化するとダメだったり・・・
なのでver4.2というとっても古いe2studioのバージョンの更新をするとともに、最適化のレベルを1つ下げて最弱モードにしました。
これによって意図する動作になりました。
よくよく考えてみると去年のJASALMAで発生した小さなバグ(?)もこういったところが原因だったりするのかなと、思いました。(まあ、知らんけど)
他には先輩に話を聞きながら、C言語のポインタとか構造体とか勉強してます。
いや、これが難しい、
今までゴリゴリのパワープレイばっかりできれいなコードを書いてこなかったので今回は美しくかけたらいいな~と思ってます。(どうせ後々汚くなるんだけど、最初くらいは・・・ね?)
あ、そうだ、忘れてました。染色は用法・容量を守って正しく使いましょう。
さもなくば思ってた色にならないでしょう
例えばネイビーが黒になったりね
マウスの話はこのくらいしか書くことないかな~?
早く三角加速導入して、モータ回していきたいなと思いますよ、ほんとに
以下雑談
- 知り合いにブログ書いててめっちゃ面白く文章書く人がいて、文才だな~と思ってるんですけど、すごく憧れます。どうやったらあんなに面白く書けるのか...
- 最近すごくバカになってきててやばい!なんかこう、病んでるとかじゃないんですけど、単純に「頭悪いな」と思うことが多くて、「もっとできると思ってたんだけどな~」と感じる日々です。もっと頑張らねば!
- 夏休み、特にロックアウト期間どうしようか。迷路持ってかいるのはしんどいし、誰か金町済みの友達の家に押しかけようかしら
- それに伴って(?)Lipoの充電器欲しい。買うか~?
- 新入生の進捗に殺されてます。去年の自分より全然はやくてすごいな~という気持ち
- やっと前期のテスト終わったのに、もうすぐテスト・・・テストが8月初めで終わったらロックアウト期間、その後10日でパシフィコ横浜...は~、きつい
- みんな頑張っていこうな、ブログ期待してます!
以上!
I
初心者向け・最低限TeXが使えるようになる話
久しぶりのブログ更新です。
今日はマウス界隈向けではなく、むしろ学部の友人向けの記事です。
僕が所属している学科では2年時に訪れる謎の手書き実験レポート地獄を経て、3年時ではパソコンを使ったレポート作成を行います。
そんな中、多くの人はWordを使っていると思います。
いいですよね、Word。使い慣れてるしね。
ただ美しい文書作れるらしいしかっこつけてTeX使ってみませんか?ってお話です。
せっかく理系大学生だし触ってみてもいいのでは、と思います。
はじめての方へ - TeX WikiにTeXはいいぞ~って話が書いてあるのでTeXって何?って方は読んでみるといいと思います。
個人的には図番号とか表番号を自分で管理しなくていいことと、図を”いい感じに適当に”張り付けてくれるのがメリットだと思ってます。
それとなんだかんだ慣れると数式を入力するのがWordより楽です。(個人的には)
では導入方法と使い方を書いていきます。
※書いてる本人が最低限TeX使えてるだけなので間違いやおかしいところが多々あると思いますが、優しいく広い心で見守って頂ければと思います。(特に強い方々は)
こんな初心者のブログ見るよりはTeX Wikiiを見たほうが有意義な気がするのでそれは伝えておきます
今回はTeXstudioをエディタとしてpLaTeX(?)を使った方法について書いていきます。
- TeX Liveのダウンロード
2時間ほど時間がかかるので暇なときにやっておくといいと思います。
Tex LiveをダウンロードするとTeXWorksというエディタが標準で入っています。
これでもTeXは使えますのでTeXstudioインストールしたくないよ、って方はこちらを使いましょう。(←問題なく使えるけどTeXstudioの方が個人的にはオススメ)
- TeXstudioをインストールと設定
ここを参考にTeXstudioのインストールを行います。
インストールが終わったら起動し、上部のバーの中にあるオプションから
オプション→TeXstudioの設定
を開き、設定を行っていきます。
設定はここを参考に行います。
自分はコマンドの設定の一番上のLaTeXの部分は
”platex.exe -synctex=1 -interaction=nonstopmode %.tex”
にしています。
多分これをやらないと以下で提示する文章のコンパイルができません。
これ以外はTeXWiki通りです。
マストで設定しないといけないのが「コマンド」と「ビルド」、お好みで「一般」と「エディタ」でしょうか。他のはよくわからんす。
設定するとこんな感じ。
簡単ですね!
これで導入と設定は終わりです!
ここからは書き方について説明していきます。
といってもほとんどおまじない的な感じで書くので頑張って解読してください。
書き方とかは全部TeXで書いてあります。
これを上記の設定をしたTeXstudioにコピペしてコンパイルしてもらえば何となく理解して使えるようになると思います。
\documentclass[11pt,a4paper]{jsarticle} \usepackage{booktabs} \usepackage{multirow} \usepackage[dvipdfmx]{graphicx} \usepackage{float} \usepackage{url} \usepackage{amsmath} \usepackage{array} \usepackage{plistings} \usepackage[top=35truemm,bottom=30truemm,left=30truemm,right=30truemm]{geometry} \begin{document} \section{目的} ここに目的を書くよ \section{原理} 原理はこんな感じです。 改行しても改行されませんね。こんな風にたくさん書いたり、変なところで改行 しても出力は問題 なく行われているのがわかると思います。 こんな風に1行スペースを開けると改行されて先頭が1文字分下がります。 \section{実験器具} \begin{itemize} \item 実験器具1 \item はんだごて \item こんな感じです \end{itemize} \section{方法} \subsection{画像の貼り方} ここでは画像の貼り方の説明します。 画像ファイル(ここではtest.JPG)は、今書いてるTeXファイルと同じフォルダ内に置かないとエラーになるので気を付けてください。 \begin{figure}[htbp] \centering \includegraphics[width=13cm]{test.JPG} \caption{Texstudio} \end{figure} \begin{figure}[htbp] \centering \includegraphics[width=5cm]{test.JPG} \caption{名前を書くよ} \end{figure} 画僧の貼り方はいろいろなやり方があるみたいですが自分はこれしか知りません。 captionのところに名前を付けてあげれば図1、とかは勝手に番号振ってくれます。 widthの値を変えると大きさが変わります。 [htpb]はおまじないでいいと思います。気になる方は調べてみてください。 \subsection{数式の書き方} 書くの遅くね?って気がするけど数式系のお話です。 文章のなかで数式等を書く場合にはドルマークでサンドウィッチします。 例えば$y=ax+b$みたいな感じですね。何も書かないとy=ax+bみないな感じ。 文字のフォントが違うのがわかるでしょう。 そんな感じで行を変えて真ん中に書くのはこれ。TeXstudioだとcnrl+shift+Nで出てきます。 \begin{equation}\label{key} y=ax+b \end{equation} 番号をつけない数式はこれ \[ y=ax+b \] その他$\sum$とか$\lim$とか$\int_{t=0}^{t=\infty}$とか$\pi$とかは各々必要な時に調べてみてください。 \section{結果} 次に表の書き方についてまとめます。 以下のような書き方で表が作成できます。 % Table generated by Excel2LaTeX from sheet 'Sheet1' \begin{table}[htbp] \centering \caption{ここに名前を書くよ} \begin{tabular}{ccc} \toprule \multicolumn{1}{l}{時間} & \multicolumn{1}{l}{温度} & \multicolumn{1}{l}{制御量} \\ \midrule 0 & 23 & \\ 0.5 & 23 & 3.2 \\ 1 & 23 & 12.4 \\ 1.5 & 23 & 21.8 \\ 2 & 23 & 30.5 \\ 2.5 & 25 & 36.1 \\ 3 & 29 & 37.3 \\ 3.5 & 35 & 34.2 \\ 4 & 42 & 29.2 \\ 4.5 & 46 & 26.1 \\ 5 & 48 & 25.4 \\ \bottomrule \end{tabular}% \label{tab:addlabel}% \end{table}% ただ、これを書くのはめんどくさいですよね? なのでみんな大好きExcelを使います。 そこで以下のサイトを参考に、アドインをExcelに追加します。 \url{http://mac-physics.ldblog.jp/archives/51933868.html} Excelで数字や文字を記入し、罫線等の設定を行った後、導入したアドインを使うと簡単に上のようなものを作成してくれます。 これはすごい便利なので是非活用しよう!。 \section{考察} もう特に書くことないかな \begin{thebibliography}{99} \item 誰か著,TeXはいいぞ \item \url{https://texwiki.texjp.org/},TeX Wiki \end{thebibliography} \end{document}
最後に少しだけ説明して終わります。
1行目は"jsarticle"というドキュメントクラスを使うよ。文字の大きさは11ptですよ。っていうおまじないみたいなもんです。
次のuserpackageは××って機能を使います、って宣言みたいなものです。
例えばURLをキレイに貼れるようにしたり、プログラム部分を枠で囲んでみたり、余白を調整してみたり・・・
文章を書く時には
\begin{document}
ここが出力される部分
\end{document}
こんな感じです。
この外の領域に書くと出力されない(エラーになる?)ので気を付けましょう。
その他は何とかわかると思いますので各々頑張ってください。
何かわからないことやこんな機能無いの?と思ったらググってみると色々出てくると思いますので参考にしてみてください。
自分で読んでても読みにくい文章をここまで読んでいただきありがとうございました。
では。
※注意
上記の方法だと”参考文献”に番号が振られません。
Slack導入のすゝめ
お久しぶりです。
今日はMiceで導入しているチャットツール”Slack”について書いていこうと思います。
以下話すのは通知設定して!、って話だけなので読みにくい文章読みたくないとか、時間ないぜ、って人はここ読んでもらって通知設定してもらえればあとは読まなくても問題ないです。
※今回の記事は(今回に限らずですが)Miceの部長ではなく、一個人としての見解です※
※この記事は大半が部員向けに書いています※
Slackとはグループチャット、1対1のメッセージング(DM)、等の機能を有するチームコミュニケーションツールです。(By Wikipedia)
ちなみに”"Searchable Log of All Conversation and Knowledge”の頭文字らしいです。
そして我がMiceでは去年よりメール・LINEからSlackへの移行を行いました。
…が、部員のアクティブ率が悪いです。(あくまでも個人的な感想)
これは現在催事長がeventチャンネルに投げている食事会に関する話へのレスポンスでもわかることです。
これがこの記事を書くきっかけになりました。
というわけで今回はSlackのアクティブ率が上がればいいな、と思いながら、いくつか関連することを書いていきます。
- 通知設定しよう
とりあえずこれ!!!
通知設定してない人意外と多いのではないでしょうか?(個人的感想)
「いやでも難しいんでしょ~」と思ってるそこのあなた!!
全然難しくないんです!
ということで通知設定の仕方をまとめていきます。
ここではAndroidの画面で説明していますがiOSでもそこまで変わらないです。
- 右上の:みたいなやつをタップ(開くチャンネルやトークはどこでも問題ないです)
- 設定をタップ
- 通知・設定をタップ
- モバイル通知のタイミングを変更
ここでは画像を用いた紹介を省略しますがWindows(アプリ版)で通知の設定を行う場合には
- 左上のワークスペース名をタップ
- 環境設定
- 通知
から設定が変更できます。
さあ、皆さん、通知の設定できましたか?
え?やってない・・・?
今すぐやってどうぞ(*^-^*)
- ミュートの設定
通知の設定してくれてありがとうございます!
となると困るのがopenthedoorの通知ですよね。
部室開いたメーリスの通知がじゃまだ、という理由もあってSlackに移行したのに、Slackでもopenthedoorの通知が頻繁に来るのでは意味がありません。
そこでチャンネルごとのミュートの設定を行いましょう。
今度はiOSのアプリで行います。(これもAndroidでもそんなに差はないです)
- ミュートしたいチャンネルを開いてチャンネル名をタップ
- 通知をタップ
- チャンネル全体をミュート
- 完了
上記の手続きでチャンネルごとのミュートが設定できます。
(できる限りミュートはopenthedoorだけにとどめておいていただければ・・・)
(できる限り@channelの無視とかはしないでいただければ・・・)
あとは携帯では入ってるけどパソコンにSlackが入っていない人なんかはぜひ入れましょう(半ば脅迫)
以上、通知とミュートの設定についてでした。
わからないことがあれば自分でもほかのわかる人にでも質問してください。
最後に
- Slackでできる便利なこと
折角Slack使っているのですから便利にできるものはどんどん導入していきましょう。
と、言っても自分はあまり多くは知らないし詳しくはないので少しだけ...
「こんなのありますよ!」「これ入れると便利ですよ!」みたいなのがあれば是非教えてください。
- Googleカレンダーと連携
これは自分も使っているのですがGoogleカレンダーを連携させておくと予定が追加されたとき、予定の前、1週間の予定などを自動で通知してくれます。(いずれも設定次第で変更可)
任意のカレンダーから任意のチャンネルに投稿することができます。
※個人的な予定を連携させる場合などは他の人に見えないように自分だけに投稿されるようにしましょう。
詳しくはこちらへ
- 届いたメールをSlackに自動転送する
これもすごく便利です。
普段あまりチェックしないアドレスに重要なメールが届いたりすること、よくありますよね?(←ほんまか?)
そんなあなたはSlack通知するための転送先アドレスにメールが転送されるように設定するだけでメールの確認がSlackでできるようになります。
詳しくはこちらへ
他にもみんな大好きTwitterと連携させたりもできるみたいです。
他のメンバーの迷惑にならない範囲でどんどんカスタマイズさせていきましょう!!
ではでは(^.^)/~~~
B
P.S.
完全に部内向け&個人的な考えなんだけどもっとrandomチャンネルを雑談みたいな感じで動かしていけると楽しいのかなと思いました。
逆にgeneralで雑談とか最重要でない話はしないようにしないとですね・・・
この辺は次の部会で話してもいいかもしれない。
それとお食事会行く気があるけどスタンプ押してないそこのあなた、eventチャンネルに投稿されているのでスタンプ押してください。
P.S.2
新作の基板をElecrowに発注しました。
それに伴い名前も決定しましたが、まだ公開はしません。
(去年走っていた某先輩のマウスの名前とそっくりなのは承知しているのですが許してください・・・)
P.S.3
よりもい、終わってしまってなんとも言えない気持ちです。
最高でした。
まだ見てない方は是非。
P.S.4
他大の代表の方と話して実感わいた節もあるのですがもうすぐ新歓ですよ・・・
新入生入ってくれるのか、ちゃんと教えて行けるのか不安ですが頑張っていきましょう。
新作の予定
お久しぶりです。
今までJASALMAのプログラム解読を行ってきましたが今回は新作のお話をしていきたいと思います。
(といいつつ皆様からのダメ出し・アドバイスが欲しい、というのも本心です)
というわけで回路や配線図など気になる点があればコメントやTwitterで教えてほしい所存です。
よろしくお願いします!!
まず機体名称から紹介します。
- BALTA
- BIJELA
- BIANCO
現状上記の3つが候補となっております。
(これ以外になる可能性もあり)
次に回路図ドーン!(追記:↓いくつか間違ってる可能性ありますが、少なくとも書き込み間違ってます)
その次に配線図ドーン!
- GND無し
- GND有
- GNDピックアップ
こう見るとGNDがペタでつながってないんですよね・・・
なんともやばい気がしないでもないんですけどどうなんでしょう、強い方々・・・
まだ初の配線率100%なのでやり直さなきゃなのかな~とは思ってるんですが
次に機体概形
色は適当です。
基板色は白にしようかな~と思っています。
がそれも未定。
最後にここまでで苦しんだことを
- モーターが高い
- 足回り設計難すぎ
- センサー置く位置いいのかこれで?
- 吸引ファンの機構がわかんない
- 部品選定難しい
- 部品集め難しい
ちゃんと全日本に出れるのか、って不安はあるのですが頑張って作り上げたい所存です。
ではでは(^.^)/~~~
.
P.S.
改めてですが「ここおかしいやろ!」みたいな批判お待ちしております。
それと強いハーフマウサーの先輩が勧めていた「よりもい(宇宙よりも遠い場所)」、めっちゃ良いです。
観てて止まらない感じがすごい。
毎回が神回、わかる気がします。
JASALMAのプログラム解読Part6 左手法
今日は左手法についてまとめていきます。
これは多くの場合初心者が一番最初に導入する探索法だと思います!
その理由は後程。
まず左手法とはなんぞや、ってところから話していきます。
左手法とはスタートから常に左壁に沿って進んで行く、というごくごく簡単なものです。(←一番最初に導入する一番の理由!!)
メリットとしては簡単である、というところです。
一方デメリットもあります。(←このデメリットが大きい)
それが「迷路によっては永遠にゴールできない」というものです。
マイクロマウスにおいてスタートは左下(0,0)に固定されていてゴールは迷路の内側に存在しているためゴールが浮いている(?)、島になっている(?)と延々にクルクル外周し続けてしまいます。(下図参照)
どんな迷路でもゴールできるようになるには次回以降で紹介する「足立法」なりを導入する必要があるかと思います。
では以下左手法の導入についてです。
まず探索走行の大前提としてセンサーで壁の有無を調べてその情報を用いて進路を決めていく必要があります。
(ここではJASALMAの例を紹介しますがこれよりももっといい方法もあるかもしれません)
そこでセンサー値を読むタイミングを決めてしまいます。
ここではそれを区画の境界(区画の入り口)で行うものとしています。
ここで前壁、左右の壁の有無を判定します。
その結果生じるパターンは以下の4パターンであり、それぞれにおいてとる動作は決まっています。
- 左壁無し
→左折
- 左壁有り&前壁無し
→前進
- 左壁有り&前壁在&右壁無し
→右折
- 左壁有り&前壁有り&右壁有り
→Uターン
ここまでで左手法の大まかな流れが理解できたと思います。
のでここからは探索走行の実装についてまとめていきます。
(ここからの話は足立法等でも使えるものです)
まず初めの段階では区画の入り口で停止しセンサー値をよんで壁を判断する、というのがいいと思います。
以下ではセンサーを読むときに停止&超信地旋回のパターンを紹介します。
- 区画の入り口に進み停止
- センサー値を用いて進路を決定
- 90mm進み停止
- 左折or待機or右折or180°旋回(Uターン)
- 90mm進み停止(区画の入り口に進み停止)
これを実現するのに必要な動作は
- 停止状態→90mm進む→停止
- 90°右・左旋回
- 180°旋回
のみです。
とても少ないですよね!
以上のもので左手法は完成できると思います。
これが出来たらセンサーを読むときに停止しない、直進時に区画中心で停止せずスルー出来るようにするなどで速度向上を図っていきましょう!
最終的にスラロームを導入すればスタートからゴールまでノンストップで進むことができます。
センサーを読むときに止まらない、などを実装する際には方向距離のリセット(プログラム的な)のタイミングによっては適切に走れないので距離が合わない場合にはここも考えてみましょう。
(この考えはスラローム走行時のオフセットの際にも用いられる考え方です)
では、本日はここまで!
ではでは(^.^)/~~~
R
P.S.
書こう書こう思っていて遅くなってしまったのですが、先日NTFから正式発表があったようにマイクロマウスのクラス分け・名称の変更がありました。
したがってマイクロマウスを作っていた(作った)つもりだったのですがそれがクラシックマウスとなってしました。
なんとなく悲しさあります・・・
(↑マイクロマウス(旧ハーフ)やればいいじゃん!って指摘は現状受け付けてません(笑))
JASALMAのプログラム解読Part5 壁制御2
昨日に引き続きまて壁制御のお話です。
昨日書き残していた壁があるか内科の判断基準のセンサー値(閾値)と吸い込まれ吸い込まれ対策についてです。
前回の記事で左右の壁の状態によって制御量の式を変えなければならない、という話をしました。
閾値(←しきいち派です)とは壁が有るか無いか判断するために使うセンサー値の基準値になります。
つまりセンサー値がある値(閾値)よりも小さければ壁は無い、それ以上ならある、って判断をするための値です。
この値をどう設定するかも宗教によるものだと思います。
例えば区画中心のセンサー値の半分とか?(←適当に言ってみました)
僕が先輩に聞いて、実装していたのは壁を30mm遠ざけた時のセンサー値を閾値とする、というものでした。
これは後々左手法や足立法において壁が有るかどうか判断するときにも使うものです。
さて、次は吸い込まれについて書いていきます。
・・・と思ったところで壁制御について書き忘れていたことに気が付いたので順序が悪いですがここで書いていきます。
それが制御量の計算をどこでやるのか、ってところです。
これは1ms毎に割り込まれるCMTで行っています。
そして求めた制御量(速度と同じ次元になっている)をMTU割り込みのタイミングで書くモーターに代入する速度に足す形にしました。
ここまでのことで壁制御は出来ると思います。
左右に寄せて直進を走らせてみましょう!
1区画くらいで中心に戻りましたか?
それで最後に吸い込まれ対策です。
吸い込まれとは壁が急になるところや櫛(くし)を走る場合にまっすぐ区画中心をはしらずふらふらしてしまう状態です。
以下でその原因と対策方法についてまとめていきます。
まずその原因についてですがその説明のためにMice Wikiの画像(↓↓)
用いて説明します。
これは急に壁がなくなった時のセンサー値を示しています。
黒が理想のセンサー値、赤が実際のセンサー値です。
閾値はこのグラフでいうHighとLowの間のどこかに設定されていると思います。
が、赤が示すセンサー値が閾値に到達するまで壁がなくなったほうに近づいて行ってしまいますよね。
これが吸い込まれの原因です。
これはセンサー値が閾値以下に落ちるまでに1ms以上の時間がかかってしまうために生じるものです。
そのためセンサー値の急激な変化を検知した瞬間に壁制御を止めてあげればいいと思います。
なので3msや5ms前のセンサー値と現在のセンサー値でいくつずれていたら壁制御を停止、などという処理を加えてあげましょう。
何ms前、どれだけの変化で止めるか、によって吸い込まれ対策の強さを変化させられると思います。
以上で壁制御の大まかな説明は終了!
後はプチ情報的な感じでいくつか
- 旋回させているときは壁制御OFF
- 機体と前壁の距離が近くなったら壁制御OFF
- 速度が遅くなったら壁制御OFF(ないし弱める)
- etc(なんかあるかも?)
以上、今日は終わります!
ではでは(^.^)/~~~
C