はじめに
バスと電車を比べると、バスでの乗り物酔いが圧倒的に多い。揺れが強いからとか振動周波数が違うからとか、巷で言われていることは本当なのか。非プログラマの私が齧った程度のMATLABでいい加減に調べてみた。Qiitaに載せていいのかかなり疑問、と思ったけど、まぁいい。
iOS MATLAB
PC上のMATLABは使ったことがあったのだが。iOSでも使えるのは知っていたものの、使ったことがなかった。たまたま触ってみて、センサーデータのログを取れることが分かり、この企画を思い立った。使えるセンサーは、Acceleration, Magnetic Field, Orientation, Angular Velocity, Positionの5つ。100Hzまでのサンプリングが可能。データはクラウドに保管され、コンピュータ上でも解析が可能。
サンプリング
ガジェットは大きめの方が揺れが少ないということで人目を気にしつつiPADでデータ取り。Acceleration,Orientation, Angular Velocityを100Hzでサンプリング。バス、電車それぞれ数回の乗車。座席に座って、ガジェットをなるべく水平に保つ。
分析
というほど、大袈裟なことはしていない。色々データで遊んだところ、Accelerationのデータが分かりやすそうという感触を得たので、これを使うことにした。体軸に対して上下、左右、前後をそれぞれ、プロット。あとは、フーリエ変換してみて、周波数毎のスペクトラムを計算させたものをプロット。詳細は
https://www.mathworks.com/help/matlab/ref/fft.html
結果
バス、電車2例ずつを提示する。いずれのバスもセンサーを見ているだけで、かなり酔った。電車の方は乗り心地は違うものの、いずれもほぼ酔わず。図を提示する。左から、加速度、スペクトラム、スペクトラム2Hzまでの拡大図。黄色が上下、青が左右、赤が前後。
バス1
バス2
電車1(乗り心地の良い方)
電車2(乗り心地が残念な方)
考察
- 確かにAccelerationはバスで大きいけど、乗り心地の残念な電車も負けてはいない。
- 一方、周波数スペクトラムを見ると、バスでは0.5Hz以下の成分が高め。一方、電車は乗り心地にかかわらず、それよりは低め。あちこちでデータ取りまくると有意差出るかどうかは不明だけど。
- ネットに転がっていた A review on the effects of frequency of oscillation on motion sickness www.dtic.mil/dtic/tr/fulltext/u2/a472991.pdf のAnnex Aによると、0.1〜0.5Hzの成分が酔いの原因とある。
- 正直、2には最初行き着かなかったのだけど、なんとなくそのあたりかなと思って、適当に検索していたら3を見つけたのでこれかな,とした。ちょっと邪道は承知。
- ガジェットのセンサー、結構使える。