ナキのブログ

ナキのいろいろについて書くブログです

おはようございます。

本日午前3時からサッカー日本代表がベルギーと史上初のベスト8をかけて激闘を繰り広げていました。
私もこの一戦を楽しみにしていましたが、翌日のことも考え、一応少し睡眠をとろうと思いました。




そして目が覚めたのでテレビをつけると、そこには負けて悔しがる選手たちのインタビューが広がっていました。




そうです、私はこの非常に大切な一戦を見過ごしたのです。

しかもTwitterを見ていると「非常にいい試合だった」や「2点リードしたのに」といった試合前には信じられない言葉が広がっていました。


こんなに、こんなに大切な一戦を私は寝ていて見ることができなかったのです。


そうです、寝過ごしたのです。

今まで無遅刻無欠席で大学頑張ってきたのに…
いまだにこの現実を受け入れられていません…
本当に信じられません…
私はどれだけ後悔すればいいのでしょうか、いや後悔してもしきれないでしょう。
なぜなら日本代表が負けたという事実も、その歴史的な一戦を寝ていて見過ごしたという事実も決して覆らないのですから…



後悔だけしていてもいいことはありません。

日本代表が先を見るように私も先を見なければいけません。



これから先の人生、同じようなミスを起こさないために何ができるのか。



そこで私は決めました。




絶対に起きることができる目覚ましを作ろうと

そして二度と、このような悲劇を起こさないようにしようと。






そうはいっても今日は本当に悔しいのでそういうツイートしても許してください……

今日はarduinoの高速化についてです。

今日慌ててブログを書いているのは大雑把に実験しすぎて誤った理解をしてしまったからです。
というわけでしっかりやったほうの実験について話をしていきたいと思います。

まず、今回arduinoの高速化をするにあたり僕が用いた方法はレジスタをいじることです。
僕は素人であんまり詳しいことはわかっていないので詳しく知りたい方はほかのブログを参照してみてください。「arduino 高速化」で検索するとすごくわかりやすいサイトが出てきます。

今回やったことを簡単に言うと、digitalWriteとdigitalReadの代わりにPORTD |= _BV(3)や PIND & _BV(2)などの暗号のようなものを使うことでプログラムが一周するのにかかる時間を減らそうというものです。
具体的にはナキロボのメインプログラムを100周するとレジスタを操作したものとそうでないものではどれくらい高速化が図れるのかという検証を行いました。

ただ、前提条件としてテストをする際にI2cを使ったスレーブとの通信とシリアル出力はしていません。
デバッグ用のシリアル出力なんて今回のテストにはいりませんもんね!!!!!!
また、事前の検証でI2cがかなり遅いことはわかっていたのでポート操作の成果を見るという観点からは不必要だと思ったので抜きました。

さて、検証の結果ですが、既存のプログラムは67940(μs)、レジスタを叩くほうが57588(μs)という結果になりました。
これは100周した値なので単純計算では1周あたり約0.1ミリ秒の差があるということです。
この差によって何かが変わるかどうかは正直わからないですが、早くなって損はないと思いました(こなみ)
あとプログラムの容量はレジスタを

終わりに、とてつもなく適当な検証をしてしまって申し訳ありませんでした。
また、この検証も間違っている可能性が大いにあることをご了承ください。


追伸 今回の検証はあくまで僕のロボットのプログラムをベースとして行っているものなので後日改めて検証したいと思います。

今日は僕が永遠と反省するだけのブログです。



まず、先日のブログで「これからやることの宣言」をしましたがこの度ロボカップジュニアジャパンオープンへ参加させていただけることとなりましたので、再び保留とさせていただきます。
ごめんなさい。


さて、今日の話題に行きます。




今回のミスは非常に初歩的なものであり、基本ができている方々にはあきれられる類のものです。
また、この先は自分への戒めという面が非常に強いものとなっておりますのでご了承ください。










ロボカップ関連で先日発注した基板のミスが見つかったことをツイッターでつぶやいたところ

というリプをいただきました。
このリプがなければおそらくブログを書いたりはせずなあなあにして終わらせてしまっていたと思います。まずそこが間違いですね。
ミスの詳細は以下のツイートを見ていただければと思います。



まず、一つ目のツイートと三つ目のツイートで理由が変わっています。
一つ目は「どうせトップとボトム間違えたんでしょ」という適当な発言です。

その後、このリプに返信するために少し回路を確認したところ原因が三つ目のツイートであることに気付きました。

また、二つ目のツイートで「自動配線を使ったから」という発言をしたところ

このような意見をいくつもいただきました。

僕はEAGLEをネットで必要な箇所を調べながら利用しており、自動配線がそのようなものだとは知りませんでした。

今回のミスの原因をまとめると
・基板作成時の確認不足
・ライブラリを作る手間を惜しんだこと
・自動配線利用に関する知識のなさ
だと考えています。
これらはすべて、自分の横着から来ており、それは物を作るうえであってはならないことです。

僕は今回の件を深く反省し、
・基板作成時のチェックの仕方の見直し
・ミスの原因解明を憶測だけでなくしっかり分析すること
・対象を絞った情報収集だけで無く、幅広い情報収集
以上の項目を具体的な改善点にし、適当な作業や横着を行わず、正確な動作のために全力を尽くしていきます。



このようにしっかり反省する機会を与えてくださった方々に感謝し、今後の活動の糧にさせていただきます。



このブログに対するご意見や改善点などあれば教えてください、よろしくお願いいたします。

↑このページのトップヘ