![見出し画像](https://assets.st-note.com/production/uploads/images/92075445/rectangle_large_type_2_2968e58b9557e5c11332eae5c6a0caa5.png?width=1200)
倒立振子(ビュートバランサー2)のジャイロセンサの制御ができるようなWebアプリの開発の練習をしてみた。
動画
車体安定化の制御をしている間は、ジャイロセンサが原点付近を振動する
制御OFF中は、ジャイロセンサが動いていないので、ジャイロセンサの値は原点付近で安定する。
動作画面
![](https://assets.st-note.com/img/1669528843836-VPnfd4ziXU.png?width=1200)
ビュートバランサー2(倒立振子)
ヴィストン株式会社が提供する、2輪のタイヤで自分の形態制御をするようなオモチャです。
![](https://assets.st-note.com/img/1669528954801-eKnwCguiKE.png)
開発環境
PC & OS
Ubuntu 20.04 LTS
PCはASUS Expertbook B1500CEAEを使用。
メモリ8GB、CPU Core-i7第9世代
ストレージは外部SSDで全部動作
開発環境
![](https://assets.st-note.com/img/1669529160349-3YvD4EVLF8.png?width=1200)
デバイスドライバ:C言語 (linux_kernel)
デバイスコントロール:ROS2 + python
バックエンド:Flask (Python)
フロントエンド:jquery、bootstrap 5.0.2
解決しないといけなかった課題
ビュートバランサー2は、Windows用のSDKしか提供されていなかったので、Ubuntuへの移植が必要であった。
① Ubuntu対応のデバイスドライバの開発
② Ubuntu内でrospyを使用してデバイスコントロール
開発した機能
USB-HIDを使用して、ビュートバランサー2のジャイロセンサの値をリアルタイムでトラッキングする。
周期:500ms(※本来は制御可能だが、今回は練習ということで)
今後の課題 (いつやるかは未定)
・ 倒立振子の形態制御が出来る機能の追加。
・CADデータとの連携及びシミュレーション、rvizによるシミュレーション環境構築。
・(既成品ではない環境で)倒立振子の制御CPUロジックの開発。
LiDARなどと連携して、自分の今いる場所の空間を掴み取る制御などに挑戦する
実装について
Qiitaでまとめ中