今回紹介するのはST製 機械学習機能付きモーションセンサ LSM6DSOXです。
LSM6DSOXの機械学習機能を紹介する前に通信インタフェースについて説明します。モーションセンサとしてI2C、SPIに対応しているというのは普通ですが、これらに加えてI3C(MIPI I3C)に対応しています。I3Cの紹介はまた別の機会にしたいと思いますが、一言でいえばI2Cと後方互換を保ちつつ、I2Cよりも速い12.5MHzのクロック転送ができます。ただ、STからI3Cに対応したマイコンが出ていません...
機械学習コアを内蔵すること特徴として、センサのモーションパターンをあらかじめ学習させると、マイコン側にモーションパターンの結果だけ返すことができるようになります。これで何がよいかというと、モーションパターンを分析するために高周期でセンサとマイコンで通信したり、マイコンで高度な分析処理をする必要がなくなります。電池の長寿命化やマイコンを他の処理に割り当てることが可能となります。エッジ処理のさらにエッジ化という感じです。
機械学習コアに学習させるためには決定木分析のツール、Wekaを使用して学習させることができるようです。
例えば、走っている状態、歩いている状態、止まっている状態を区別する場合、センサ単体で状態を区別できるようになり、マイコン側の処理が不要となります。
※STのデータシートから抜粋
さらにLSM6DSOXの機械学習コアの特徴としてモーションセンサ内の加速度、ジャイロだけでなく、外部のセンサ情報も取り込んで学習させることができるようです。これはLSM6DSOXがI2Cマスタとなって外部センサを接続できる機能の応用例です。
マイコンでなく、センサ側で学習させるというLSM6DSOXは非常に面白いセンサだと思いました。今後、機械学習コアを試食してみたいと思います。