宇都宮大学工学部平田研究室のホームページです。

Hirata Laboratory

Arduinoを用いたオープンキャンパスプロジェクト2014

台車型倒立振子(五十嵐・岩田・小野寺・下袴田)

トップ画像

目次

はじめに
構造
目的
台車型倒立振子の概要
画像認識の方法
ブロック線図
動画

はじめに

このページでは台車型倒立振子についての説明をしています.

構造

倒立振子は,台車に搭載した振子の傾きを台車を駆動することで修正し,振子の倒立状態を維持するシステムです. センサーが振子の傾きを検知し,その量に応じた分だけ台車を駆動します.
ボール&プレート

⇧台車の表側

ボール&プレート

⇧台車の裏側

目的

台車の駆動によって振子を倒立させ続ける.

台車型倒立振子の概要

台車の鉛直方向に振子を立て,そこを目標角度0°とします.振子から手を離すと振子は左右どちらかに傾くので,その傾いた角度と目標角度の偏差をArduino上で計算し,それを元に信号を生成します.そしてこの信号によってモーターが回転し,台車が振子の傾きを修正する方向へ動き出します.このようにある決まった周期で現在の角度を観測し,目標角度との偏差を算出することで,生成される制御信号も時々刻々と変化し,その結果として振子の倒立を維持することができます.
ball&plate ball&plate

制御対象の数式表現

 制御系を設計することの目的は,現実の対象を思い通りに動かすことにあります.そのため,何を入力すれば現実の対象が所望の挙動をするのか知らなければなりません.しかし,制御対象に何を入力すれば所望の挙動をするのか分からないため,入力によってはその制御対象を破壊してしまう恐れがあります.
 これを回避するため,まず制御対象における運動方程式を求め,それを状態変数とよばれる変数xを導入した後,状態方程式と呼ばれる数式モデルに書き下します.数式モデル上であれば,大きな入力で制御対象が壊れる心配もなくなります.しかし,仮にこの数式モデルで所望の入力を得られたとしても,制御対象を正しくモデリングできていなければ,その入力を現実のシステムに適用しても想定外の挙動をすることになります.そのため,モデリングにおいて数式モデルが現実の対象をしっかりと表現していることが重要です.
 しかし,ここでも一つ問題があります.先でモデリングの重要性について触れましたが,現実の動的システムの挙動には数式で表現できない特性や,物理量が存在しています.この問題を解決する手法がフィードバック制御です.制御の大きな目的は目標とする挙動とモデルの動作を一致させることであったので,その目標と出力の差(偏差)を利用して制御を行います.これによって数式で表現できない部分を補うことが可能となります.そしてこのフィードバック制御は倒立振子にも使用されています.
 参考のため,以下に倒立振子の数式モデルである状態方程式を示します.この倒立振子のモデルにおいてxは台車の位置,台車の速度,振子の角度,振子の角速度を表すベクトル量です.そして左辺の点のついたxは,xの微分を表しており,uは入力です.

状態方程式

ブロック線図

Simulinkブロック

(上図クリックで拡大)


動画

台車型倒立振子の動画です. 振子が傾くとそれを修正する方向に台車が移動していることが確認できます.
台車型倒立振子(wmv)

△Page Top