このページの内容は,作者のN.Kさんの承諾を得て掲載しております.
自分たちがやってきたことのまとめなので内容は間違っているかもしれません.
内容について,ETロボコン実行委員会,MathWorksに問い合わせないようにお願い致します.
ご利用の際は自己責任でお願い致します.

EV3Way-ETの2輪倒立振子パラメータの計算方法

EV3Way-ETの2輪倒立振子パラメータの計算方法は,Simulinkで行われています.
個人用ライセンスが購入できますが,諸々の事情により,PCにインストールできない方がいると思います.
ここに「Octave for Windows」でも計算する方法を掲載します.

オリジナルデータ

オリジナルデータは, MathWorksのFile Exchangeにあります.

Simulinkを持っている方は,Simulink Support Package for LEGO MINDSTORMS NXT Hardwareの Self-Balancing Two-Wheel Robotも参考にしてください.
一部修正(NXTのブロックをEV3のブロックに置き換える,TimerブロックはないのでClockブロックに置き換える,時間単位をさらに1000倍する,ジャイロセンサを 逆向きにする)すると,EV3でも使用できます.

バランサ制御の解説

nxtway_gs\docs\Japanese
┗NXTway-GS モデルベース開発.pdf
に制御の解説を含めて,色々な有益な情報が記載されています.

p.14の計算結果では,

K_f(1,4)
-0.83508
-34.18958
-1.29354
-2.81409

K_i
-0.44721

となっており,
※K_f(3)はX0.85しています.

Octave for Windowsの入手とインストール

Octave for Windowsのダウンロードとインストール方法については,こちらで解説がありますので参考にしてください.

ダウンロードサイトから「octave-4.0.0_0-installer.exe」をダウンロードしてください.

Octave for Windowsの入手とインストール

ダウンロードした「octave-4.0.0_0-installer.exe」をインストールします.

インストールが終了したら,Octave(GUI)を起動します.

ホームパスへ「nxt_gs」を配置してください.

ホームパスへの「nxt_gs」の配置

パラメータを再計算するため,param_nxtway_gsを実行すると,lqr関数がないというエラーが出ます.

lqr関数がないというエラー

不足している関数の追加インストール方法はこちらで確認します.

ここから検索します.

不足関数の追加インストール方法を確認

「L」をクリックして,lqrを見つけると,「control」のパッケージに含まれているものだと分かります.

「L」をクリックして,lqrを見つける

「L」をクリックして,lqrを見つける

lqrの使い方を一応見ておきます.

lqrの使い方

ここではダウンロードせずに,

ここではダウンロードせず

pkg install –forge control
のコマンドでインストールします.

controlのダウンロード

パッケージのインストール終了

パッケージのインストール終了

パッケージのロード(pkg load control)と
再計算する(param_nxtway_gs)と
エラー無く終了します.

パッケージのロード

値の確認をします.

値の確認

念のためのスクリプト確認をします.

値の確認

モデルの物理パラメータの確認をします.

値の確認