#author("2022-12-14T10:16:52+00:00","","")
[[大森]]
#author("2022-12-16T07:25:28+00:00","","")
[[大森]]~
[[技術資料]]~


*目次 [#e890b3d5]

#CONTENTS
**【このページでできること】[#i495c384]

足裏センサデバイスのオフラインにおける使い方

**【参考資料】[#n524e1f0]

arduinoの記事 : https://qiita.com/ketaro-m/items/f6d6eb8175f1c845839e

**【実行環境】[#rde624e4]
・python 64bit版~
・python3.9.2~
・Python3.8.5~
・RealVNC~
・Arduino IDE 1.8.19~

**【使い方】[#q403d9b3]
***ファイルの説明 [#yd049dee]
まず、PCにRealVNCをダウンロードする。~
次にVNCアカウントを作成する。~
VNCアカウントは無料で作成でき、最大5台のRaspberryPyをVNCできる。

<RaspberryPiに置くプログラム>~
#ref(client_left.py,,client_left.py)~
#ref(client_right.py,,client_right.py)~
圧力、加速度、ジャイロを検出し、csv形式で書き込むためのプログラム。~
データは1分ごとに新しいファイルが作成されて作り変えられるようになっている。~
#ref(AccelGyro.ino,,AccelGyro.ino)~
Arduino nanoに書き込むプログラム。センサの取り方を記載してある。~
注意:「デバイスの使い方」にあるAccelGyro.inoとは中身が違うので要注意。~

~
<サーバに置くプログラム>~
#ref(server.py,,server.py)~
RaspberryPiで集めたデータを受信する。~
~
#ref(connection.py,,connection.py)~
右足データと左足データを組み合わせる。~
~
#ref(gravity.py,,gravity.py)~
重心を計算する。~
~
#ref(kalmanfilter_left.py,,kalmanfilter_left.py)~
左足の拡張カルマンフィルタを計算する。~
~
#ref(kalmanfilter_right.py,,kalmanfilter_right.py)~
右足の拡張カルマンフィルタを計算する。~
~
#ref(study_preparation.py,,study_preparation.py)~
機械学習に用いるcsvファイルを生成する。~
~
#ref(filemaker.py,,filemaker.py)~
ディレクトリを作成する。~
~

***データの集め方 [#q0bc128b]
***<ステップ1 (PCでの作業)> [#vd791eef]
まず、VNCを使ってPCからRaspberryPyにSensor.pyとAccelGyro.inoを送信する。~
送信したらSensor.pyのプログラムを少し書き換える。~
プログラムの最後、csvファイルの名前をSensorData_leftまたはrightになっている。これを右足、左足に合わせる。~
図は右足用のセンサに使うSensor.pyのためrightにしてある。

***<ステップ2 (RaspberryPiでの作業)> [#na008614]
Sensor.pyを送信できたらhome/piの階層にSensorDataというフォルダを作り、
その中にその日の日付でフォルダを作る。~
例、「20220921」のように~
そうしたらその日付フォルダの中にSensor.pyをコピーする。
次にArduinoというフォルダをhome/piの階層に作る。その中にAccelGyroという名前でフォルダを作り、そこにAccelGyro.inoを格納する。~
***<ステップ3 (RaspberryPiでの作業)> [#me575527]
Arduino IDEを用いてArduino nanoにAccelGyro.inoを書き込ませる。~
このときボードはArduino nano、プロセッサはATmega328P(Old Bootloader)、シリアルポートはUSBの方を選択。~
注意:もし初めて書き込む場合、ライブラリ「MPU9250_asukiaaa」が必要となる。~
スケッチ→ライブラリをインクルード、からMPU9250_asukiaaaをインクルードする。~
***<ステップ4 (RaspberryPiでの作業)> [#z97570d8]
以上ができたらプログラム実行開始。~
このとき、最初の行に「This is Debug 1023~.」などといった数字が書かれているときと「This is Debug.」のように何も書かれていないときがあるがどちらもデータを取れているので気にしない。言わばバグの処理。~
***<ステップ5 (RaspberryPiでの作業)> [#rd360b0e]
ステップ4ができたらあとは動作を実行してデータを集めるのみ。~
実験が終わったらプログラムを停止する。~
***<ステップ6 (RaspberryPiでの作業)>[#k99cb72d]
データを収集できたらVNCのTransfar Fileを使ってRaspberryPyからPCにデータを送信する。~

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS