
SimpleFOC でリアクションホイール姿勢制御モジュール3
またまたブラシレスモータによるリアクションホイール姿勢制御モジュールの検討を実施しました。
過去、何度もいろいろな部品や構成でブラシレスモータ姿勢制御モジュールを製作してきました。
いまではさらにブラシレスモータやsimpleFOCライブラリに慣れ親しみ、理解も深まっておりますので改めて検討してみます。
目次
姿勢制御モジュール
機体は以前 強化学習を検討した際に制作したモジュールをほぼそのまま使用します。
倒立
ブラシレスモータのホイールのみで倒立確認。
ブラシレスモータかと思ったら
リアクションホイールでした pic.twitter.com/MM03tWXlj5— HomeMadeGarbage (@H0meMadeGarbage) July 3, 2025
この構成での倒立は過去に何度も実施済みです。
ブラシレスモータはSimpleFOCのトルク駆動ベクトル制御で回してます。
構成
- ブラシレスモータ 5010 360KV
- 磁気エンコーダ
- ESP32搭載 モータコントローラ MKS ESP32 FOC V1.0
IMUは壊れたATOMから摘出したMPU6886を実装しました。
コントローラとはI2Cで通信
フライホイール導入
ブラシレスモータの回転子のみではトルクが十分でないのでフライホイールをこしらえて導入します。
力強い倒立が実現されました。
ブラシレスモータ姿勢制御
ホイール追加でパワフルになった pic.twitter.com/T1WAYK4Eeo— HomeMadeGarbage (@H0meMadeGarbage) July 4, 2025
自立動作もまぁまぁできる。
立てる pic.twitter.com/KqMRUPOGTI
— HomeMadeGarbage (@H0meMadeGarbage) July 4, 2025
ベクトル制御による回転速度コントロール
これまではベクトル制御 (FOC)でトルク(電流)をフィードバック制御してモジュールの倒立動作を実施してきました。
しかし、起き上がりの際にトルク制御では回転の反転動作などにバラつきが生じました。
ここでは安定した起き上がり動作を実現するためにトルクではなく回転速度フィードバックのベクトル制御を検討します。
回転速度を制御の目標値とするので起き上がり時の反転などの回転を安定してコントロールできます。
↓ほらうまくいった
ブラシレスモータ リアクションホイール 自立 pic.twitter.com/EOCzB35ZDl
— HomeMadeGarbage (@H0meMadeGarbage) July 8, 2025
ベクトル制御による回転速度コントロールのコーディングは以下を参考にしました。
おわりに
ここではブラシレスモータによるリアクションホイール姿勢制御モジュールを改めてSimpleFOCライブラリを活用して楽しみました。
SimpleFOCライブラリは非常に便利ですが 様々な駆動方式に対応しており、それに伴って設定も若干複雑に感じられます。
SimpleFOCのチュートリアルの理解段階で疲弊して創作への活用に至らないという声もきくこともありました。
私自身はSimpleFOCライブラリを活用して、今回の姿勢制御モジュールのほかにも倒立振子や2足歩行ロボットなども楽しんでおります。
だいぶ理解も深まっているので、実例をもとにSimpleFOCを理解し活用できるような学習キットができればいいかなぁなどと考えております。
リアクションホイールとか倒立振子のように物理でガンガン動くような題材なら楽しいから挫折もしにくいかと思うし。
各種制御モードを体になじませてロボットなどへの応用の礎になるような学習キットを提供できれば面白いかもしれません。
それではまた。