あることでステッピングモータの制御プログラムを書いていました。
昨日になって「ステッピングモータの脱調が多くなったんだけど、どうしよう…?」という
話になりまして、急遽対応することになりました。
いろいろと検討をしていって、結果としては摩耗が進んで接地面積が増え抵抗が
増したのではないか、ということ。
多くの人は「え?たったそれだけのことで?」と思うかもしれないけど、
開発した本人にとっては「やっぱりそうなっちゃったか…」という感じでした。
というのも、実は今回のモータの機構、当初想定していたモータドライバと異なるものを
使っていたり、最終的な動きが初期の設計の段階で検討されていなかったりして、
結構ちぐはぐな状況で動いていたんです。
その事実には気づいていたんですが、僕の方に来た段階ではすでに出来上がった状態、
前に戻るにも戻れず、動かし方はほとんど決まっていたりで、仕様変更が難しかったため、
モータ自体の性能のぎりぎりのところでソフト的な調整をしていました。
最終的な動きを少し遅くしたり、余裕は少し持たせるようにしました。
でも、やっぱり無理なものは無理だったようです。まぁ当然かなぁ…。
今回のことから学ぶのは、アナログなものとはいえ、しっかりと机上計算をして余裕を見ておくこと。
データシート見れば特性は書いてあるので、これと合わせてちゃんと定格+ある程度の余裕で
所望の動作を見積もれることを確認しておくことが大切だと思う。
アタリマエのことだけど、以下のことは確認しよう:
何か大学の時にロボット作った時にもこんな感じだったね…。
横着して計算しなかったのは今も昔も変わらずか。。。
最近はそう思えるようになってきたかも。
物がいくらあってもそれは一時的な幸福に過ぎず、
思い出という形になるほうが長期的な幸福なんだと思う。
何かついつい余計なものを買ってしまったり、
本当に必要かどうかわからないのに「ま、いっか」で
買ってしまったりするけど、良くないよね。
ただ、思い出を作ると言っても、年齢によってできるものだったり
できないものだったりすることがある。
できるうちにいろいろなことを体験・経験してみて、
素敵な思い出を作ると良さそうだよね。
これは面白い。
過去の台風情報と比べて、類似する台風の経路を表示したり、
ある月の雲の動きを動画で見られたり、「こんなのあったらいいな」的なものが揃ってる。
デジタル台風:台風画像と台風情報 - 国立情報学研究所
http://agora.ex.nii.ac.jp/digital-typhoon/
特に今年の台風19号は突然進路が変わったり、速度が早くなったりしていたけど、
これを見ると偏西風の影響を強く受けて、雲が散り散りになっていくことがわかるね。
JR東日本で非常ブレーキ不具合 山手線など1548両
http://www.asahi.com/articles/ASGB6764KGB6UTIL07W.html
理由を見てみると、
システムでは、電車の走行中に60秒間、運転士がブレーキや汽笛などを動かさないと警告ブザーが鳴る。
さらに5秒間放置すると、「運転士に異常発生」と判断。非常ブレーキがかかるはずだが、
ATC(自動列車制御装置)などにより速度が抑えられると、運転士が操作したものと誤って認識してしまうという。
ありがちだよなぁと思った。システムが複雑化してくると見落としがち。
まぁテスト仕様考えるときに、きちっと影響範囲が見えてればこういうミスも防げるだろうな。
でも、これ本当に見落としたのかな?
ATCで自動制御すればなんとかなるでしょ、と担当する人は思って、非常ブレーキを優先しなかったようにも見える。
優先度としては、ATCは人間より上、非常ブレーキは人間より下(人間の操作があれば動作しないという意味で)だと思うので、
ATCが優先されるのはそういうもんなんじゃとも思う。
Rails4以降、今まではscript以下にあったスクリプトがbin以下に移動されているようです。
また、gemから入るrailsコマンドはrails new専用になったとのこと。
結果として、bin以下のパスが通っていない時にrails serverを使用すると、rails newのusageが表示されてしまいます。
この辺りの話は、以下の記事に書いてありました。ありがとうございます。
Rails 4.0 と bundler install --binstubs について - willnet.in
http://www.willnet.in/82
この辺りの変更に関しては、railsのrelease noteを見ても記述が見当たらず。
railsの初期化の資料を見てみると、3系列と4系列で以下の1.3の記述が変わっている。これかな?
http://guides.rubyonrails.org/v4.1.6/initialization.html
http://guides.rubyonrails.org/v3.2.13/initialization.html
私の場合は、gitにコミットするときに「binはいらないよね…」と思ってこのフォルダを除外してしまったこと。
別のclone先で動かしても動かないのでおかしいなと思ったら、bin以下のファイルが足りていなかった。
binフォルダを追加して動かしてみて、無事動くことが確認できた。