今日は五月雨にいろいろな内容を
★Pi zeroのUSBをシリアルとして認識させる。
そうすると母艦PCからシリアルポートにて接続可能となります。
参考はこのあたりを
https://blog.goo.ne.jp/lm324/e/60f508289efeb89c9ea024127032649c
https://www.slideshare.net/matoken/lutris?next_slideshow=1
https://learn.adafruit.com/turning-your-raspberry-pi-zero-into-a-usb-gadget/serial-gadget
まとめると、
①/boot/cmdline.txtと/boot/config.txtを変更追加する。
②/dev/ttyGS0.serrvie にリンクを張る
がPi zero側の作業です。
母艦側はOSにあわせてUSB OTGなドライバーをインストールする。
Windows7 + TeraTerm + COM9でPi zeroに接続している様子です。
★ WindowsにX windowを飛ばす
Pi zeroをX window表示にしてそれをWindowsに飛ばします。これで、センサー情報を可視化できるかも。
参考はこのあたりで
http://manabi.science/library/2017/02142121/
WindowsのX clinetはこちら。最近は無料で結構あるようです。
https://sourceforge.net/projects/xming/
TeraTermの設定で、「設定」→「SSH転送」の中で「リモートのXアプリケーション...」をチェックしておくと、新しくポップアップしたウインドウは常にWindowsへ画面を転送してくれます。
★mpu6050のフィルター
bmx055と比較すると、ノイズが大分少ないようです。定常状態で観測すると以下のとおりです。
左軸は角度です。
紫線は1軸から計算した角度、緑線は3軸から計算した角度、水色線はさらにLPFを入れたグラフです。静止状態でLPF入れなくてもプラスマイナス1度位しか変動ありません。
X軸で左右に45度ほど傾けて動かしてみると
線の色は、先ほどと同じです。1軸だけだとたまに異常値が出ますが、3軸から角度を出すとほぼ正確でフィルターも要らない感じです。LPF通すとやはり少し遅延が出ます。
3軸の値を使って角度計算すると正確かつ速度も十分な感じです。Madgwickフィルターを使わなくても大丈夫な感じです。
センサー出力をスペース区切りで出力させ、gnuplotでグラフ書きました。pythonからgnulotをパイプで繋げて、リアルタイムでグラフ作成も可能なようです。なるほど。
gnuplot久しぶりで懐かしい感じです。大学院時代のグラフ作成にはよく使ってました。
倒立のセンサーをbmx055からmpu6050へ交換してみようと思います。