Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CANについて(計測データの扱いについて) #52

Open
tubemerc opened this issue Dec 28, 2019 · 26 comments
Open

CANについて(計測データの扱いについて) #52

tubemerc opened this issue Dec 28, 2019 · 26 comments
Milestone

Comments

@tubemerc
Copy link
Member

tubemerc commented Dec 28, 2019

CAN ID 確定版→can.md(CANの通信仕様について)

CANbusに流すとき、どのような形で送ればよいか決めたい.IDも決める.
GPSで緯度経度に加えて経過時間や衛星数も流すか,9軸は角速度を角度やクォータニオンに変換してを流すのか……なども決めたい.
過去のプロジェクトはこうでしたなどあれば言ってください.

現状,

  • CANbusに流すだけ

    • GPS
    • 気圧
    • 9軸
    • 燃圧
    • 対気速度
  • CANbusから受け取って

    • マイコン①
      • 無線(920MHz)で送信.
    • マイコン②
      • 無線(2.4GHz)で送信.
    • マイコン③
      • microSDカードに保存.
    • マイコン④
      • 開放離床判定・フェーズ判定.
      • 判定をCANbusに流す.
  • その他

@tubemerc tubemerc changed the title CANの\\nituite CANについて Dec 28, 2019
@tubemerc tubemerc changed the title CANについて CANについて(計測データの扱いについて) Dec 28, 2019
@sksat
Copy link
Member

sksat commented Dec 28, 2019

ASAHIのTWE-LiteではこんなかんじにID付けてやってました.

@sksat
Copy link
Member

sksat commented Jan 16, 2020

時刻同期する必要がある気がしてきました

@tubemerc
Copy link
Member Author

CANでやり取りするためにってこと?それとも,後でデータを検証するためにってこと?

@sksat
Copy link
Member

sksat commented Jan 17, 2020

後者です.

@tubemerc tubemerc added this to the その他 milestone Jan 19, 2020
@tubemerc
Copy link
Member Author

tubemerc commented Jan 20, 2020

CANの統合試験するために暫定でID割り振ります.プログラム書いたら埋めてく.
とりあえず↓のデータをCANに送る.

  • char senddata[5]
senddata[0]~[3] senddata[4]
送りたいデータ(float->char) データ種類を表す文字
  • char senddata[13] (9軸センサ)
senddata[0]~[3] senddata[4]~[7] senddata[8]~[11] senddata[12]
x成分 y成分 z成分 データ種類を表す文字
  • ID割り振り
該当センサ データ種類 文字 ID
差圧 差圧[kPa] 'k' 0x01
差圧 大気速度[m/s] 'v' 0x01
9軸 角速度 'g' 0x05
9軸 加速度 'c' 0x05
9軸 地磁気 'm' 0x05
気圧 気圧[hPa] 'p' 0x02
気圧 温度[℃] 't' 0x02
GPS 緯度 'a' 0x04
GPS 経度 'o' 0x04
圧力 燃圧[MPa] 'c' 0x03
  • 受信側
該当センサ 受信ID
ES920 0x02, 0x04
トワ 0x01, 0x03, 0x05
SD 0x01, 0x02, 0x03, 0x04, 0x05
EEP(判定) 0x02, 0x05

時刻同期に関しては……後で考えるぜ!

@sksat
Copy link
Member

sksat commented Jan 20, 2020

暫定なので関係ないですけど,そういえばCANってID低い方が優先度高いとかあった気がするんですが把握してます?

@tubemerc
Copy link
Member Author

把握していた時期もありました……IDは後で調整します!

@tubemerc
Copy link
Member Author

#52 (comment) の通りにID・文字を設定し,各受信側のマイコンで指定したIDのデータを受信できていることを確認(ID0x01を除く,手元になかったので).

@tubemerc
Copy link
Member Author

tubemerc commented Feb 2, 2020

時刻同期

@tubemerc
Copy link
Member Author

tubemerc commented Feb 4, 2020

  • 100kbpsだとデータの欠損無し.
  • 1Mbpsで通信させたらデータの欠損があった.
    • ちょうどいい値を探す.
  • ノーズまでのケーブル長が800[mm]なので長いケーブルでも試験する.

@tubemerc
Copy link
Member Author

tubemerc commented Feb 6, 2020

通信速度
1Mbps
  • データ優先度
該当センサ データ種類 文字 送信ID
コマンド 0x01
エラー 0x02
気圧 気圧 0x03
9軸 加速度ノルム 0x04
GPS 緯度・経度・時間 'a', 'o', 't' 0x05
フェーズ 0x06
9軸 加速度 'x', 'y', 'z' 0x07
9軸 角速度 'x', 'y', 'z' 0x08
燃圧 圧力 0x09
差圧 動圧 0xA
気圧 温度 0xB
9軸 地磁気 'x', 'y', 'z' 0xC
  • layer1のヤツら
該当センサ 利用するデータ 送信するデータ
ES920 エラー, 気圧, 経度・緯度, 時刻, フェーズ コマンド
トワ 時刻, 9軸, 圧力, 動圧, 温度 -
SD 全部 -
EEP(判定) コマンド, エラー, 気圧, 加速度, 時刻 エラー, フェーズ

@tubemerc
Copy link
Member Author

tubemerc commented Feb 6, 2020

@sksat
Copy link
Member

sksat commented Feb 6, 2020

無線コマンド用のIDも必要だと思います

@tubemerc
Copy link
Member Author

tubemerc commented Feb 8, 2020

優先
①判定など
コマンド,エラー,気圧,加速度,フェーズ
②捜索と時刻
緯度・経度,時刻
③ミッション
角速度,地磁気,圧力,動圧,温度

IDを減らそうキャンペーン

  • GPS ID一緒
  • 角速度・地磁気 ID一緒

@tubemerc
Copy link
Member Author

tubemerc commented Feb 8, 2020

9軸データこないよ~~><してたら,CANは8バイトまでしか送れないのに13バイト送ってることに気が付きました,アホすぎる(今まで遅れてる感じの挙動してたの何?)
x,y,z成分があるヤツは"x""y""z"の文字付けて1つずつ送ります……

@sksat
Copy link
Member

sksat commented Feb 8, 2020

CANが8byteまでしか送れんの僕も忘れてたあ 壁にでっかく書いておきましょう

@tubemerc
Copy link
Member Author

tubemerc commented Feb 8, 2020

  • 1kbpsでID7つ(内4つは3種のデータを送る)で通信すると,4つ目のIDから受け取れなかった.
  • 1Mbpsで同じ条件でやると一番優先度が低いIDでも受け取れる.
    • 受信した全IDをシリアルで羅列すると漏れがあるが,特定のIDだけ表示するようにしたら確認できる.
    • 1Mbpsで欠損があったのもバイト数の問題だった感じがするので,使えそうでうれしい.

@tubemerc
Copy link
Member Author

tubemerc commented Feb 9, 2020

#52 (comment)
データの優先度はこんな感じかなぁと思います.

@sksat
Copy link
Member

sksat commented Feb 9, 2020

加速度・気圧用のマイコンってデータ取得して送るだけですか?(移動平均ぐらいはやる?

@sksat
Copy link
Member

sksat commented Feb 9, 2020

移動平均ぐらいセンサ側マイコンでやって下さい(断言).

@tubemerc
Copy link
Member Author

tubemerc commented Feb 9, 2020

移動平均ぐらいはやってもいい、やろう
判定に使うやつは移動平均と生のやつどっちも送ってもいいかもね

@sksat
Copy link
Member

sksat commented Feb 9, 2020

了解です

@haru-11
Copy link
Member

haru-11 commented Feb 9, 2020

生データは独立ロガーで取ってるし,CNAロガーで取得するのは移動平均データ(つまり判定に使った値)だけでよいのと思う

@tubemerc
Copy link
Member Author

tubemerc commented Feb 10, 2020

  • 一部のノードが切断されても,繋がってるノードからは受信し続けていることを確認.
  • ノードを再度接続したら,接続したノードから再び受信できることを確認.

しました.

@tubemerc
Copy link
Member Author

各センサのCAN送信IDを #52 (comment) にした
9軸と気圧は5回移動平均をとるようにした

残り

  • ES920(ダウンリンク系①)
  • TWE-Lite RED(ダウンリンク系②)
  • microSDカード(保存系)
  • EEPROM(フェーズ判定系)

@tubemerc
Copy link
Member Author

姿勢角忘れてたぁので足した 2136534

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants