概要
VR-HMDと組み合わせて使うIMUセンサーのKAT locoの国内代理店である
さんからご厚意で分解可能なKAT locoを頂いたので分解して初見の所見を書きます。
KAT locoは今後KAT loco Sという改良版が出るというニュースがあるので、逆に旧版を確認しておきたいというモチベーションがあります。
前提:僕は誰?
KAT locoと同じようなVR-HMDと組み合わせて使うIMUセンサー方式のハードウェア Haritoraを趣味で開発、販売しています。
#Haritora 0.1.7-b1を胸マウントして、あしお( @nico_asio )さんのアーシィちゃんでフルトラ検証
— おめが( ゜ヮ゜)ノ@クロスマーケットセカンド2021年2月20日 (@Omegamega) 2020年12月23日
胸マウント特有の足ズレはさておき、足をクロスさせたりした時の挙動が自然になってる感じ。
マント姿が独特なアーシィちゃんは、さすがのダンス適正とハッキリしたシルエットで足動かすにもいいね pic.twitter.com/UFRwzaZ0pF
前提:受け取りの経緯
反応遅くなりましたがおもしろそうなツイートなので対応します!
— 【公式】 -KAT VR 日本総代理店-歩行型VR (@KATVRJP_TAKUMI) 2020年12月24日
センサー非点灯で、廃棄予定のloco(動作は問題ないです)でよろしければお送り致します🙋♂️
分解レビュー楽しそうです♪
分解の様子
箱に入っています。腰と足で微妙に作りが違いますが、外装サイズやPCBサイズは合わせてそうですね(生産性向上…!)
早速分解しました。表面にUARTっぽいテストピンが4本出ているので、たぶん繋げたらなにか喋ってそうです。
裏面はこんな感じ。リポを直はんだで止めているのがコスト対策を感じます。
コンポーネント解説
メインSoC(計算するチップ)
STM32L152CBT6 (ARM Cortex-M3) 32MHzということでかなり消費電力を気にしている雰囲気です。 後述のIMUのDMPサンプルプログラムとの兼ね合いかも知れません。I2CでIMUと繋がってるようです。
STM32L152CBT6-A|製品情報(STM32)|STM32, STM8ファミリはSTの32bit/8bit汎用マイクロコントローラ製品
IMU(姿勢を取得するジャイロセンサ)
TDK InvenSense MPU6050 ということでかなり昔のIMUで、加速度とジャイロが入ってる6軸IMUです。モーキャプとか姿勢計測には定番の地磁気センサが含まれていませんね…
正直なところ数年前から「新規設計には非推奨」というステータスなので、個人的にはもっと新しい世代を使っているかと思っていました。
たとえば、InvenSenseのDMP(クオータニオンを求める賢いフィルタモードや、タップ検知などが動く専用機能)を使いたい、と思っていて
DMPがリバースエンジニアリングによって解析済みなMPU6050を使いたかった、みたいな動機かもしれません。
MPU-6050 TDK InvenSense | センサ、トランスデューサ | DigiKey
Bluetooth通信部
HY-40R204系のBLEモジュール
BLE 5.0 Module : HY-40R204_BLE 5.0 Modules_Products_Shenzhen ShengRun Technology Co.,Ltd
BLEを使ってるっぽい予感があります。賢い!!!
電源IC
TP4056系のリチウムイオン電池充電ICです。
大体データシートのリファレンス通りっぽい作り方で堅実な作り!
所感
IMUをマイコンでI2Cから読んで、BLEパケットを喋る。リポで電源供給、という仕組みから考えるとストレイトフォワードな実装でした。
ねじ一個で組み立て固定できるようになってたり、金型の共有化とかが考えられてて会社の仕事だ!!!と思いました。
ただし、このIMUで5点式のモーキャプはかなり難しいのでは…と思ってしまった…(なのでIMU自体の性能を上げたKAT loco Sを出す必要がありそうです)