2023年 SPRESENSE活用コンテスト への道⑧ ー平行犬ー
HomeMadeGarbage Advent Calendar 2023 |24日目
前回は 2023年 SPRESENSE活用コンテスト への応募に向けてBLE通信でサーボモータSTS3032ロボット犬の各種制御を楽しみました。
目次
9軸センサ (BMI270・AK09918) Addon ボード
コンテスト事前応募による提供サンプルの9軸センサが届きました!
2023年 SPRESENSE活用コンテスト
提供サンプル第二弾が届きました!これですべてのオーブが揃いましたので
あとはSPRESENSEを活用するのみ#HMGspresense2023 pic.twitter.com/X9eNaWF0xS— HomeMadeGarbage (@H0meMadeGarbage) December 22, 2023
6軸のIMUセンサ BMI270と3軸磁気センサAK09918が搭載されたSPRESENSE用センサボードです。
BLE通信ボード BLE1507との同梱が可能か心配でしたが無事に載りました。
メインポードいっぱいっぱいww
IMUセンサ
ここでは6軸のIMUセンサ BMI270の動作を楽しみたいと思います。
BMI270のライブラリ導入方法は以下の記事を参考にしました。
早速 X-Y軸の傾斜センサ動作を楽しみました。
SPRESENSEでIMUを堪能 pic.twitter.com/gVuUVdRuMq
— HomeMadeGarbage (@H0meMadeGarbage) December 22, 2023
BMI270のアドレスはボードのジャンパ設定に合わせてBMI2_I2C_SEC_ADDR から BMI2_I2C_PRIM_ADDRに変更しました。
傾斜はIMUから得られた加速度と角速度からカルマンフィルタを通して算出しています。
カルマンフィルタライブラリとして以下を使用しました。
https://github.com/TKJElectronics/KalmanFilter
平行ロボット犬
SPRESENSEによる傾斜計が実現されたのでロボット犬と融合して平行動作を楽しみました。
IMUセンサ BMI270をカルマンフィルタに通して得たX軸、Y軸の角度と角速度を用いて足高さをPD制御して平衡を保ちます。
おわりに
ついに提供サンプルが揃いました!
頂いたサンプルは以下のとおり
- Spresense メインボード
- Spresense 拡張ボード
- BLE1507(NUS firmware)
- 9軸 加速度計・ジャイロ・コンパスセンサ (BMI270・AK09918) Addon ボード
ここでは9軸Addon ボードのIMUセンサ BMI270 を用いてSPRESENSE傾斜計を実現してロボット犬の姿勢制御を楽しみました。
ついに部品とその基本動作を習得しましたので、いよいよ応募作品の製作に向けて加速をしていきたいと思います。
それではまた!