Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
屋内自転車競技場を走行する自転車の走行状態を 遠隔取得するテレメトリーデバイスの開発
Search
MIXI ENGINEERS
PRO
June 01, 2023
Technology
1
530
屋内自転車競技場を走行する自転車の走行状態を 遠隔取得するテレメトリーデバイスの開発
MIXIでは、公益財団法人日本自転車競技連盟 様より、デバイス開発の提案依頼を受け、プロトタイプの開発を受託しました。本スライドでは、その開発内容についてご紹介します。
MIXI ENGINEERS
PRO
June 01, 2023
Tweet
Share
More Decks by MIXI ENGINEERS
See All by MIXI ENGINEERS
スクラムマスターなしでもいい感じにスクラム開発している話
mixi_engineers
PRO
1
180
組織のデータリテラシー向上に向けて ~ MIXI データ活用ガイドラインができるまで 〜
mixi_engineers
PRO
6
170
MIXI配信取り組み
mixi_engineers
PRO
2
51
MIXIにおけるWebRTC技術の活用/Use of WebRTC Technology in MIXI
mixi_engineers
PRO
2
86
「人物ごとのアルバム」の精度改善の軌跡/Improving accuracy of albums by person
mixi_engineers
PRO
2
260
「モンスターストライク」の運営を支えるデータ分析基盤の歴史と進化 / History and evolution of the data analysis infrastructure supporting “Monster Strike” operations
mixi_engineers
PRO
3
410
【全貌公開】 MIXI の Atlassian Cloud 移行の裏側 / Behind MIXI's Migration to Atlassian Cloud
mixi_engineers
PRO
0
760
MIXI TECH NOTE #12
mixi_engineers
PRO
2
80
運営11年目タイトルを守る最強の盾の有効性と活用法
mixi_engineers
PRO
2
430
Other Decks in Technology
See All in Technology
エンジニアリングで組織のアウトカムを最速で最大化する!
ham0215
1
280
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
1
730
もう難しくない!誰でもカンタンDocker入門 〜30分であなたのPCにアプリを立ち上げる〜
devops_vtj
0
170
Как мы автоматизировали интеграционное тестирование с Gonkey и не пожалели. Паша Егорычев, Кирилл Поляков
lamodatech
0
1.6k
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
5
450
ペアーズにおける評価ドリブンな AI Agent 開発のご紹介
fukubaka0825
4
1.3k
持続可能なドキュメント運用のリアル: 1年間の成果とこれから
akitok_
1
270
社会人力と研究力ー博士号をキャリアの武器にするー
kentaro
2
100
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
12
9k
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5k
白金鉱業Meetup_Vol.18_生成AIはデータサイエンティストを代替するのか?
brainpadpr
4
220
OPENLOGI Company Profile
hr01
0
63k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
How to train your dragon (web standard)
notwaldorf
91
6k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
105
19k
The Pragmatic Product Professional
lauravandoore
33
6.6k
How STYLIGHT went responsive
nonsquared
100
5.5k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
It's Worth the Effort
3n
184
28k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Transcript
©MIXI 屋内自転車競技場を走行する自転車の走行状態を 遠隔取得するテレメトリーデバイスの開発 2023年4月 株式会社MIXI 開発本部CTO室
©MIXI 概要 公益財団法人日本自転車競技連盟 様よりデバイス開発の提案依頼を受け、プロトタイプの開発を受託。 2023年3月にプロトタイプを納品。 2 公益財団法人日本自転車競技連盟 HPCJC(High Performance Center
of Japan Cycling) 日本自転車競技連盟(JCF)トラック競技強化指定選手のトレーニングセンターとして、世界選手権やオリンピック でメダルを獲得を目指してアスリートを強化、育成する組織 https://japanhpc.com/ 開発内容 トラック競技用自転車のサドル後ろに取り付ける、ANT+センサーデータのネットワーク転送機能付きデータロガーの 開発 ※各社の商品またはサービスなどの名称は各社の商標または登録商標です。 なお、本開発は競輪の補助を受けて公益財団法人日本自転車競技連盟と共同で実施しました。
©MIXI 開発の流れ 日本自転車競技連盟 様からご依頼を受け事前検証を実施、納期までの完成可否を確認しました。 競技用自転車とANT+センサーを連盟よりご提供していただき開発と動作確認を繰り返し行い、伊 豆ベロドロームでの走行動作確認を経て2023年3月にプロトタイプを納品。 事前検証 ・ANT+の調査 ・部品の調査、選定 ・技適確認
・提案内容の検討 …etc 開発 ・logger ・Cplane ・ディスプレイ表示 ・筐体設計 ・部品の再選定 ...etc 動作確認 ・ANT+受信 ・データ記録、転送 ・ディスプレイ表示 ・伊豆バンク走行 ...etc 納品 3
©MIXI 事前検証 当初、Nordic社nrf52832をファームアップしANT+の通信を検討していたが、ファームアップする には新規で技適取得が必要なため大幅に開発期間が必要になってしまうことが判明。プランを変更 し連盟へ提案しました。 ANT+に対応したファームのマイコンで国内技 適取得しているものが無く、別の方法を模 索、開発期間(約2カ月)を考慮し技適取得済 の製品を組み込む方針で連盟へ提案 プランの変更
ANT+センサー受信 Garmin USB ANT+STICK マイコン Wi-Fi2.4GHz BCM2835 RaspberryPi/Zero-W 当初のプラン ANT+ Sensors nrf52832 ISP1507 ANT ProtocolStack S332 SoC ESP32-W ROOM Wi-Fi ProtocolStack Specific firmware SoC UDP/IP management Application /Server UDP/IP UART RX/TX Wi-Fi 2.4Ghz radio ANT+ 2.4Ghz radio 4
©MIXI MIXI-CycleComputer MIXI-CycleComputer Cplane for Development Speed Sensor MIXI-CycleComputer は、自転車側に取り付けてある各種センサーをANT+USBドングル、GPIO、I2C、
UART、インタフェイス等によって制御、終端し、それら各センサーデータを同一ネットワーク上の受 信機(cplane)に転送および、制御するモジュールです。 5 Power Sensor Wi-Fi Logger UART 6-Axis Accelerometor ANT+ センサーデータ 制御・設定
©MIXI 電子回路ブロック Logger Logger は RaspiOS Lite 32bit 環境でCompile/Link して動作するCycleComputerモジュールです。
6 搭載パーツ BCM2835 RaspberryPi/Zero-W 加速度、角速度センサー ディスプレイ/ボタン バッテリー USB ANT+STICK 6-axis Accelerometor Display Button Battery Power BCM2835 RaspberryPi Zero-W USB ANT+STICK Garmin UART/TX,RX GND 3.3V UART/TX,RX GND 3.3V SDA/SCL GPIO GND SDA/SCL GND 5V SDA/SCL GND 5V 5V GPIO GND 5V USB micro USB micro
©MIXI Logger 7 Logger は RaspiOS Lite 32bit 環境でCompile/Link して動作するCycleComputerモジュールです。
OLEDディスプレイ、ボタンを搭載することでセンサーデータの表示や操作が可能です。 主な機能 ・各センサーデータの受信 ・ANTセンサーとのペアリング、キャリブレーション ・センサーID、通信状況等の各ステータス表示 ・スピード、パワー、ケイデンスデータ表示 ・Cplaneとの時刻同期 ・ログデータの書き出し 端末番号 通信状況 時刻 電池残量 スピード、パワー、ケイデンス データ表示
©MIXI Control Plane Cplaneは Loggerと同一ネットワーク上に配置することで、Loggerに対してリモートコントロー ルコマンドを発行できます。 リアルタイムにセンサーデータをデコードし視覚化し、logger 開発時/動作確認に利用するソフ トウェアモジュールです。 8
©MIXI 筐体製作 Loggerの筐体は自社設計、複数の形状を3Dプリンターにて製作しています 9 横型、最小サイズ案 縦型、厚みを抑えた案 プロトタイプ用筐体
©MIXI 動作確認 動作確認のため伊豆ベロドロームにて走行テストを実施 走行時のセンサーデータの転送(Wi-Fi 2.4GHz)を確認しました。 10 Logger Cplane Wi-Fi 2.4GHz
ANT+ デバイス センサーデータ 制御・設定 使用機材 logger MIXI開発プロトタイプ Cplane macOS x86_64 ANT+デバイス 自転車競技連盟様ご提供 Wi-Fi AP 2.4GHz Aruba APIN0515 ネットワーク SW NETGEAR GS105E Wi-Fi AP Internet SW
©MIXI 動作確認 動作確認のため伊豆ベロドロームにて走行テストを実施 走行時のセンサーデータの転送(Wi-Fi 2.4GHz)を確認しました。 11
©MIXI 動作確認(一部抜粋) ANT+ センサーデータの受信 内容 データロガーのUSB ANT StickでANT+センサーデータを受信する 確認 事項 a.
ANT+ Device Profile Bike Speed (Device type 123) センサーデータの受信を確認する 検証 方法 speedデータの連続パケット差分を確認する ANT+センサーデータのUDPパケットの流し込みは有線クロス接続経由とする 結果 SPDセンサーID : 62937 到達パケット - 1(ID: f5 d9, データ: 7b 01 ff) 到達パケット - 2(ID: f5 d9, データ: 7b 01 7f) 同一のUIDでSpeedデータが更新されていることを確認 12
©MIXI 動作確認(一部抜粋) NTP同期 内容 NTPでサーバーと時刻同期しタイムスタンプを付与する cplane端末とlogger端末の時刻同期先(ntp.nict.jp) 確認 事項 データに付与されているパケット内のtimestampが cplane端末と同時刻であることを確認する 検証
方法 cplane端末とlogger端末はWi-Fi経由でNTP時刻同期 ANT+センサーデータのUDPパケットの流し込みは有線クロス接続経由とする 結果 データ受信時刻 = 12:17:37 JST(EpochTime : 1679455057) ANT+センサーデータパケット内時刻 = 641A893D 16進数(EpochTime : )1679455057 cplane端末時刻 = データ受信時刻 logger端末時刻 = パケット内時刻 = データ生成時刻 となり。時刻同期ができていることを確認 13
©MIXI 動作確認(一部抜粋) ANT+ Wi-Fi UDP転送 内容 データロガーが受信したANT+センサーデータを 2.4GHz Wi-Fi で同 一ネットワーク上のホストに
UDP で転送する(約4Hz) 確認 事項 約4HzでUDP転送できていること 4Hz = 0.25秒間隔 検証 方法 speedデータの連続パケット到達時刻を確認する ANT+センサーデータのUDPパケットの流し込みは同一AP接続経由とする 結果 センサーデータのパケット到達状況 おおよそ0.25秒間隔で到達していることを確認 ※ただし現地Wi-FiのRTTの状況によっては到達時間が遅れる場合がございます 14
©MIXI 動作確認(一部抜粋) ANT+ Wi-Fi UDP転送 内容 センサーデータは、ANT トランシーバーが受信(RX)した Broadcast メッセージをデコードせずに転送する 確認
事項 デコードせずに転送していること 検証 方法 cplane端末でパケットキャプチャ(wireshark)利用して到達パケットの中身を確認する 結果 最後のデータ領域のとおりデコードされていない状態で到達していることを確認 15
©MIXI