二輪型倒立振子の数値シミュレーションに理想サンプラと0次ホールダを適用する方法

制御工学

みなさん,こんにちは
おかしょです.

昨年から作成していてなかなか完成しない二輪型倒立振子があるのですが,機体だけでなく数値シミュレーションも満足のできるものはできていません.

今回はその数値シミュレーションを満足のいく出来にするために必要な理想サンプラと0次ホールダを適用したので,その方法について解説します.

この記事を読むと以下のようなことがわかる・できるようになります.

  • 理想サンプラなどを考慮する必要性
  • 離散かした 数値シミュレーションを行う方法

 

この記事を読む前に

この記事で使用する数値シミュレーションは以下の記事で使用しているパラメータを用いています.

以下の記事をまだ読んでいない方や倒立振子の数値シミュレーションのやり方を知りたい方は以下の記事を先に読んでおくことをおすすめします.

 

理想サンプラとは

理想サンプラとは何なのか.

それについての回答はこちらで詳細に解説しているので,ここでは簡単に解説します.

自律したロボットを作成するためには,マイコンを使用して制御を行います.

センサーなどでロボットの状態を知るためにもマイコンを使用します.

ただ,センサーから情報を読み取るにはセンサーとマイコンで一定の周期でデータのやり取りをする必要があります.

それを数値シミュレーションで再現したのが,理想サンプラと呼ばれるものです.

 

0次ホールダとは

0次ホールダも理想サンプラと同じように,こちらの記事で詳細に解説しているので簡単に説明します.

マイコンはセンサーから情報を読みとる以外に,モーターなどの制御も行って制御します.

この時,マイコンがモーターなどに指示を出すタイミングは常に送られるわけではありません.

これもセンサーと同様に,ある一定の周期でモーターに指令が送られます.

モーターなどの駆動装置の場合は,マイコンから指令を与えられていない時間でも前回の指令通りに動き続けます.

これを数値シミュレーションで再現したのが0次ホールダです.

 

シミュレーションのやり方

上で解説したような二輪型倒立振子のシミュレーションのやり方は以下の記事を順に読んでいただければ誰にでもできると思います.

まずは運動方程式です.数値シミュレーションを行うにはそのシステムの微分方程式を求める必要があります.

以下の記事で導出方法から解説しています.

運動方程式がわかったら,パラメータに値を代入してシミュレーションを行います.

先ほど解説した理想サンプラを適用します.以下の記事で理想サンプラのプログラムの書き方も解説しています.

制御入力を一定の時間保持する0次ホールダは以下の記事でプログラムの書き方も解説しています.

 

シミュレーション結果

これまで解説してきた数値シミュレーションを行うと,以下のような結果を得ることができます.

青い線が実際の倒立振子の角度です.

理想サンプラによって読み取れるデータは赤まるで示しています.

ここではわかりやすいようにデータを取るタイミングを1秒おきにしています.

この数値シミュレーションでは制御器を搭載せずに,以下のようにしています.

0次ホールダによって一定の周期で制御入力量をホールドしている様子がわかります.

 

理想サンプラと0次ホールダの重要性

上のシミュレーション結果を見ると,倒立振子の姿勢が振動しているにもかかわらず,理想サンプラで得られるデータは振動していないように見えてしまっています.

そのため,振り子の角度が乱れてもすぐに知ることができず,制御入力が遅れてしまいます.

そのため,サンプリング周期はできるだけ小さくする必要があります.

しかし,サンプリング周期はセンサーやマイコンの性能によって限界があります.

なので,サンプリング周期のことも考慮して制御器を設計することが大切です.

ただ,考えなければならないのは理想サンプラだけではなく0次ホールダのこともです.

制御入力が一定の時間保持されてしまうので,このことも考慮して制御器を設計する必要があります.

 

まとめ

この記事では二輪型倒立振子のシミュレーションに理想サンプラと0次ホールダを適用する方法を解説しました.

プログラムはタイミングに合わせてデータを出力したり,入力を保持するだけなので簡単です.

 

続けて読む

理想サンプラのことや0次ホールダのことを考慮して制御系を設計するには,離散時間システムを利用することが重要です.

離散時間システムを基に制御系を設計するには,まず制御対象の離散時間モデルを求める必要があります.

以下の記事では一次遅れ系の伝達関数の離散時間モデルの求め方を解説しています.

いきなり倒立振子の離散時間モデルを求めるのは難しいと思うので,まずは1次遅れ系から学習することをおすすめします.

Twitterでは記事の更新情報や活動の進捗などをつぶやいているので気が向いたらフォローしてください.

それでは最後まで読んでいただきありがとうございました.

コメント

タイトルとURLをコピーしました