(とりあえず,暫定的に完成 …)
1. はじめに
ここは,システム制御情報学会の学会誌「システム/制御/情報」における解説記事
川田昌克:LEGO 部品と Arduino を利用した「倒立振子」の開発レシピ ― やっぱりモノを動かしてみたいでしょ!,システム/制御/情報,Vol.68, No.3, pp.84-89 (2024)
のサポートページです.
学会員以外の方は,無料のアーカイブを刊行から半年後(2024 年 3 月に刊行なので,おそらく 2024 年の 9 月頃)に閲覧することができます.3 月に読みたい方は,会員になってください!(大学だと,図書館で購入しているかもしれませんよ.)
====> こちらで公開されました!
本記事の執筆のきっかけは,2022 年 5 月に開催された SCI'22(第 66 回システム制御情報学会研究発表講演会)での発表です.そのときのプレゼンについては,以下に公開していますので,興味があればご覧ください.
なお,工作などの一連の作業はすべて自己責任でお願いします!
2. 実験動画
まずは,実験動画をみてみましょう!
3. 使用した部品
ここでは,実験装置の製作に使用した部品について説明します.
3.1 LEGO 部品
3.2 マイコンとモータ,センサ
3.2.1 MinSegShield M2V5 を使用する場合の部品
円安で随分とお高くなりましたが,お財布に余裕がある場合は,こちらが楽です.解説記事では,こちらの構成を利用しています.
3.2.2 MinSegShield M2V5 を使用しない場合の部品
お財布が厳しい場合は,こちらをお勧めします.純正の Arduino Mega を購入しても,合計 1 万 2 千円程度でマイコン部を構成することができます.
3.3 その他の部品
4. 組み立て
4.1 LEGO 部品を使って組み立てよう!
4.2 少しだけ電子工作しよう!
4.2.1 共通事項
4.2.2 MinSegShield M2V5 を使用する場合の電子工作
4.2.3 MinSegShield M2V5 を使用しない場合の電子工作
5. 配布する MATLAB/Simulink ファイル
5.1 RASPLib + Simulink Support Package 用
MinSegShield M2V5 を使用する場合(3.2.1, 4.2.2),MinSegShield M2V5 を使用しない場合(3.2.2, 4.2.3 (b))のいずれであっても,
を併用して Simulink モデルを実装することができます.
5.2 Simulink Support Package 用
MinSegShield M2V5 を使用しない場合(3.2.2, 4.2.3 (c)),
のみで Simulink モデルを実装することができます.
6. MATLAB/Simulink ファイルの実行例
ソフトウェア環境については,付録を参照してください.
Simulink モデルを実行する前に,以下の事項を確認してください.
確認事項
- AC アダプタを Arduino Mega に接続してください.
-
MinSegShield M2V5 を使用する場合は,スイッチを以下のように設定してください.
- Driver Enable:ON 側
- Driver Voltage:BATT 側
- Battery Switch:ON/OFF のいずれでも可(乾電池を使用しないこと)
6.1 動作確認
6.1.1 アーム用エンコーダの動作確認
6.1.2 振子用エンコーダの動作確認
6.1.3 モータの動作確認
6.2 回転型倒立振子の数理モデル
6.3 アーム駆動系のパラメータ同定
6.4 振子系のパラメータ同定
6.5 レギュレータ制御
6.5.1 クレーンの振れ止め制御
この内容は本解説記事には未掲載です.
6.5.2 倒立振子の安定化制御
6.6 倒立振子の目標値追従制御
6.7 外乱補償
ここでは,岡島らにより提案されているモデル誤差抑制補償器 (MEC: Model Error Compensator) により外乱補償を行います.MEC に関する詳細は,たとえば,
を参照してください.また,MEC と外乱オブザーバの関係については
-
川田:零点と不安定極をもたない 2 次系に対する外乱オブザーバとモデル誤差抑制補償器の関係について,計測自動制御学会論文集,Vol.60,No.2,pp.101-103 (2024)
…… 会員外は 2025 年 2 月末に web 上で閲覧可能
で議論されています.
6.7.1 外乱補償されたレギュレータ制御
この内容は本解説記事には未掲載です.
6.7.2 外乱補償された目標値追従制御
6.8 倒立振子の振り上げ安定化制御
7. おわりに
本記事では,LEGO / Arduino / Simulink を利用して倒立振子を開発しました.なお,以下の方々が本実験装置のレプリカを製作されています.皆さんも是非,チャレンジしてみてください!
- 山口大学
- 熊本大学
- 大阪大学
付録 ソフトウェア環境
A.1 インストール
本解説記事では,Windows11 でバージョン R2023a の
- MATLAB
- Simulink
- Control System Toolbox
に加えて,Arduino 用の無償の Simulink パッケージ(ライブラリ)
- Simulink Support Package for Arduino Hardware
- Rensselaer Arduino Support Package Library (RASPLib)
を使用して,制御系解析/設計および実機実験を行いました.Simulink Support Package や RASPLib のインストール方法については,
を参照してください.
A.2 Simulink Support Package for Arduino Hardware の使い方