2016-02 << 2016-03 >> 2016-04

2016-03-30 (水)

金曜の夜に出かけるのでそろそろ準備しないとと思って,寝る前に自転車用の輪行バッグとリュックサックを注文した.Amazonなのできっと明日届くはず.準備ギリギリすぎる気がするけど.

あと,サドルバッグ届いたので取り付けたりした.シートチューブ太すぎて付属のベルトが使えない罠があった.手元にあったケーブルを束ねる用のマジックテープのバンドで固定...

2016-03-21 (月)

休みが終わってしまう...

2016-03-20 (日)

天気良い.

ysaotomeと自転車で多摩湖まで行ってくる.待ち合わせ場所が中野坂上だったけど,家から新宿までが上り坂で,すでに疲れていた.

DSC_0286.jpg

駅伝やってたみたいで人がたくさんいた.西武園ゆうえんちが見えたけど,小学生の時に来た気がする.懐かしい.

往復で80kmくらい走った.

帰りにうどん食べて,ysaotomeの家で肉を焼いて食べた.

2016-03-19 (土)

コード書く日.

* 立った

不安定ですぐに倒れるけど.奇跡的に写真を撮れるくらいに上手く動いてる時の状態.

DSC_0281.jpg

とてもわかりにくいけど,2つ関節があるアルミの棒が支え無しで立ってる.先端についてるのは錘としてその辺にあったのりを固定しただけ.

DSC_0280.jpg

足元.左右には倒れないように棒が固定してあるけど,制御しないと前後に倒れる.下の関節から姿勢を計算したほうが楽だったので,センサー類を下につけたけど,あまり剛性が高くないので上の方は誤差大きくなって振動する原因になる.頭のほうにつけるべきかもしれない.人間の三半規管も頭にあるし.

DSC_0283.jpg

Amazonのダンボール製の机...

最初コンソール上に行列を出力してたけど,WebSocketでデータ送ってWebGLで表示したりブラウザのコンソールからパラメータ変えられるようにしたら大分遊びやすくなった.

ただ,ちょっと振れ幅が大きくなると制御不能になるので,色々間違ってるかも.いいかげんな制御で動かしてるので,このままだと安定させるの難しい.そもそも,関節動かしてコントロール出来る角速度の幅が狭すぎる.もう1関節増やして腕を下にむけておけば,制御しやすくなりそう.

一応,サーボのスペック上は倒れた状態から自力で立つことができるはずなのだけど,いまのところ立ってる状態でちゃんと静止させてあげないと立てない.

2016-03-18 (金)

工作する日.髪を切った.

* 本当に地球が回ってるのか確認する

今使ってるジャイロセンサ,X,Y軸はノイズ多いけど,Z軸だけ妙に値が安定してるのに気づいた.X,Y軸も実用上は問題ないしデータシートに書いてある値には収まってるのだけど,Z軸だけ1桁近く精度が良い気がする.ワンチップの部品なので,X,Y軸はパッケージ内にMEMS部品を立てて設置する必要があるので安定しないのかも?

試しに,Z軸を北に向けた時と南に向けた時の30秒間の回転量を取ってみる.北緯36度くらいの所に住んでるので,大雑把に36度くらいZ軸を上を向けて固定.あと温度によって値が変わるので,少し寒いけどエアコン止めてしばらく待つ...

gyro_z.png

青い点と赤い点が,向いてる方向ごとのデータ.一応事前に0点を合わせておいたのだけど,室温が変わったせいで,+方向に少し寄ってしまっている.

それぞれ最大と最小のデータを除外して平均の差を取る.

(0.04574 - 0.04342) / 30 * 86400 = 6.6816 Rad./Day

微妙なところだけど,地球は回っているっぽい.世間で言われてるよりちょっと速く回ってるようだけど気にしない.たまたまそれっぽい値が出てきたけど,たぶん有効数字は一桁以下しかない.

2016-03-17 (木)

有給消化週間っぽいので流れに乗って今日と明日は休み.

基板に飲み物こぼしてしまって加速度センサがなにもデータ返さなくなって焦ったけど,洗って乾かしたら直った.

牡蠣食べる日.恵比寿まで行く.

DSC_0268.jpg

2016-03-16 (水)

ジャイロセンサ,そこそこ安定して動いてて1/1000ラジアン/秒程度の精度で取れる.地球が自転してるのをデータ上でも見れるかなと思って眺めてたけど,もう少し精度が良くないと(目で見る限りは)ノイズに埋もれてしまうな.

* B3M-SC-1040-Aのステップ応答

一通り揃ってきたので,サーボの挙動を調べる.

posはサーボへの位置指定. servoはサーボが報告してきた位置.gyroがジャイロセンサから求めた位置.一応スペック通りの動作をしている.

servotest01.png

最後少しずれてるのは固定が適当なせいなのもありそう.いきなり計算通りに動くと嬉しい.左軸が1/100度.右がラジアン.サーボが1/100度で出してくるのをそのまま出力したせいで2軸になってる.

立ち上がり部分.

servotest02.png

それなりに上手く動いているけど,ジャイロの値が50msくらい遅れてるように見えるな...

DSC_0262.jpg

2016-03-15 (火)

なんとか確定申告を済ませた.

昨年も最終日にやってた気がするな.

GVS+VRの時代が来た(ような気がした).サムスンがやってるのか.http://shiropen.com/2016/03/14/14249

* USBシリアル変換時の遅延

日曜日に作ったやつ,精度がイマイチなのはセンサの値をPCの時刻を基準に計算してるせいなのは分かっているのだけど,想定してたよりひどいので少し調べる.AVR側で処理すれば解決する気がするのだけど,当面はデバッグしやすいようにPC上で動かしておきたい.

調べてみると,やっぱり時刻の問題でCOMポートからPCにデータが届く時間がちょうど16msごとになってるように見える.

大きいデータを連続で送り続けた場合はレイテンシが小さくなるので,明らかにUSBのバッファ周りっぽいと思って確認したら,USBシリアル変換に使っているFTDIのコントローラのLatency Timerのデフォルトが,ちょうど16msだった.そして,普通にデバイスマネージャのCOMポートの設定から変更できた.

http://www.hdl.co.jp/USB/FTDI/lt/

USBはホストがポーリングしないといけないので,うっかりするとレイテンシを犠牲にしてしまいがち.

とりあえず解決したけど,センサの値のタイムスタンプをデバイス側で振るようにしたほうが良いな.

2016-03-14 (月)

眠い...

眠いし雨降ってるので確定申告は明日することにした.

2016-03-13 (日)

確定申告の準備.ふるさと納税あまり調べずやってみたけど,大半は住民税から控除されるのか.そしてもっと寄付しても良かったっぽい.

Golangで簡単な3次元のジオメトリ変換したかったのでライブラリ探していた.

gonum/matrixかgo-gl/mathglかなあ.

* Wiiコントローラ的なやつ

昨日の加速度センサとジャイロセンサをWebSocketでセンサの情報送ってブラウザのWebGLで表示するようにした.基板を動かすと同期してブラウザ上の直方体がグリグリ動く.やっつけなので精度はイマイチ.

センサ ―SPI→ AVR ―UART→ Golangで書いたサーバ ―WebSocket→ ブラウザ という感じでかなり遠回りしてる感じする.

DSC_0256.jpg

2016-03-12 (土)

とても眠い...昼過ぎまで寝る.

TODO: 確定申告

* STマイクロのジャイロセンサ使ってみた

加速度センサだけだとイマイチだったのでジャイロセンサを載せた.

DSC_0254.jpg

ジャイロセンサは L3GD20 を使ってみた.すでに使ってる加速度センサのLIS3DHと同じくSTマイクロのセンサなので,ほぼ同じインターフェイスで使えて嬉しい.

https://github.com/binzume/avr-lis3dh

とりあえず,LIS3DHを試した時のコード少しいじるだけで動くのは確認.制御周りはまだ.大学生の時にデジタル制御の授業はちょっとだけ受けたけど,ニューラルネットワークの方が流行に乗ってる感あってよいかなあ.続きは明日か来週辺りやろう.

2016-03-11 (金)

HTC Viveで遊んでたら終電逃したので歩いて帰る日.

DSC_0253.jpg

2016-03-07 (月)

とても身体がだるいのは月曜日だからなのか体調悪いのかの判別が難しい.

2016-03-06 (日)

電子工作する日.

B3M-SC-1040-A って ARM載ってるのか.LM3S811.

2つ手元にあるけど,片方の挙動がおかしいな.なんか引っかかったような動作する.

2016-03-05 (土)

眠い...

秋葉原.

切ったり削ったり穴あけたりする日.

2016-03-03 (木)

映画.豊洲.4DX初体験.

2016-03-02 (水)

会社でHTC Vive少し遊ばせてもらった.かなり良い感じだったので少し欲しくなった.