手動制御系総合アプリケーション

  Print Print

"与えられた期間内にほとんどのプログラムを完成することができ、 さらにリアルタイムに実験し、同定に必要なデータの測定をすることができた。"

- 浅羽  佑介 氏, 東京工業大学工学部 機械制御システム専攻

The Challenge:
MATLAB によりシミュレーションを行うことはできたが、リアルタイムの計測は難しかった。また手動制御系では、システムに外乱を加えることで、特性を評価することが多い。しかし、これまで MATLAB により外乱のデータを作り、使用していた。つまり毎回同じ外乱がシステムに加わることになり、外乱をある程度覚えてしまえるという問題があった。そのために毎回異なる外乱発生は必要であった。

The Solution:
TransferFunction.VI を用いることで制御対象の特性(伝達関数)を簡単に変えることができた。そのために制御対象の特性が変化した時の人の特性変化を知ることが容易となった。 また、一様白色雑音.VI とバターワースフィルタ.VI を組み合わせることにより、自由に毎回異なるノイズを発生させることができた。

Author(s):
浅羽  佑介 氏 - 東京工業大学工学部 機械制御システム専攻

【背景】
これまで東京工業大学の制御システム工学科では、各研究室の研究内容を実際に体験する機会があまり設けられていなかった。そこで新たに 『Lab 研修』 という授業がスタートした。この授業は各研究室の研究内容を、学部生に実験を通じて体験学習してもらうためのものである。本アプリケーションは、この 『Lab 研修』 の一環として開発された。
私の所属する研究室では、『手動制御系』 という分野を扱っている。手動制御系とは、人間を制御器として組み込んだシステムのことである。人間は、多様に変化する環境にも柔軟に対応でき、また高精度の物体認識能力を備え、自律的に行動できる非常に優れたシステムと考えることができる。変化の激しい変種変量生産では、このような人間の能力に頼らざるを得ないのが現状である。そのために手動制御系について研究を進めることは、社会的にも有益である。手動制御系の研究をするためには、人間の制御器としての特性を同定する必要がある。そこで、Mcruer という研究者の成果がある。Mcruer は、論文のなかで、「人間の振る舞いは、通常、非線形であるが、作業に習熟した場合、その人間の振る舞いは線形な要素として、表現することができる」と述べている。私は、学部生に手動制御系の概要を理解してもらうために、Mcruer の論文にそって、人の制御器としての特性を調べることができるアプリケーションを開発した。
このアプリケーションで調べることができる特性は、(1)視覚補償 (2)予測補償の2つ。視覚補償とは目で見て物体をコントロールする補償特性で、予測補償とは、こういう力を加えたらこんな動きをするだろうなと、予測しながら物体をコントロールする補償特性である。



【課題】
課題は以下の4点だった。

  • 開発の猶予期間が2週間程度しかなかった
  • リアルタイムにデータを計測し、シミュレーションを行える必要があった
  • 制御対象の特性(伝達関数)を任意に変える必要があった
  • 毎回異なる一様白色外乱を生成する必要があった

これまで、MATLAB によりシミュレーションを行うことはできたが、リアルタイムの計測は難しかった。また手動制御系では、システムに外乱を加えることで、特性を評価することが多い。しかし、これまで MATLAB により外乱のデータを作り、使用していた。つまり毎回同じ外乱がシステムに加わることになり、外乱をある程度覚えてしまえるという問題があった。そのために毎回異なる外乱発生は必要であった。



【ソリューション】

1. システム構成
図1 にシステム構成を示す。構成要素は、

① 操作器:ひずみゲージのついたアルミの棒
② アンプ:ひずみゲージから得られる微小な電圧の変化を1000倍に増幅するアンプ
③ LabVIEW 7.1:増幅された電圧を5 ms でサンプリングし、単位を力に変換する
④ 仮想対象:LabVIEW 上に作った点物体、加えた力により上下運動する
⑤ 操作者:仮想対象の動きなどの情報を検出し力を出力する

である。④の仮想対象は、任意の伝達関数を与えることができるので、操作者の力を入力として受け、様々な応答をさせることができる。


図1:システム構成

2. Lab 研修の内容
Lab 研修の内容を、以下に記す。
【第一回】多重積分器操作実験:仮想対象の特性を、k、、...と変化させ、自在に操作できる限界を体験する。
【第二回】外乱抑制実験:加えた外乱によりランダムに上下運動する仮想対象を原点に留める作業を行い、自分の視覚補償をスペクトル解析により同定する。
【第三回】未来目標値追従実験:流れてくる波形(目標値)に仮想対象を追従させる作業を行い、自分の予測補償をスペクトル解析により同定する。



【結果】

1. 多重積分器操作実験



図2:多重積分器操作実験のフロントパネル

図2にフロントパネルをのせる。赤い点が、仮想対象であり、その特性は transferfunction.VI により、自由に変えられる。このプログラムを実行すると、画面右側から白いステップ波形が流れてくる。操作者は、この目標値に沿うように仮想対象を操作しなくてはならない。

仮想対象の伝達関数を、k、、...と変えたときの時間応答グラフを図3に載せた。

図の凡例は、

  • f:操作力
  • m:出力(仮想対象の位置)
  • i :目標値


を示している。この図より、人の操作できる限界は、2重積分までであることがわかった。
人が3重積分器を操作できない理由として、「3重積分器は自然界に通常は存在しないため」が挙げられる。O重積分器は、バネ.1重積分器はダンパー.2重積分器は、マスと解釈できる。しかし、3重積分器の性質をもつ日常的なものは、思い浮かばない。そのために、人は扱いが不慣れであり、うまく操作ができなかったのではないかと考えられる。



図3:多重積分器操作実験の時間応答


2. 外乱抑制実験
作業のブロック線図を図4に示す。各信号は、

  • :出力(仮想対象の位置)
  • :目標値(※今回は0
  • :偏差
  • :操作力(※偏差を入力とし,それに対して線形に反応した力)
  • :レムナント(※線形な要素で表現できない成分)
  • :操作力外乱(※白色性のランダム信号)

を示している。この操作力外乱の影響により、仮想対象はランダムに上下運動をするので、操作者は、原点に留めるように操作力を加えなければならない。人は偏差を視覚により検出し操作力を出力するので、を 『視覚補償』 と呼ぶ。Lab 研修では、この作業を、4通りの仮想対象に対して行う。4通りとは、
1.
2
3.
4.

である。つまり1次系のTの値を4、2、1 と変化させたものと、T=2の2次系をひとつである。このように仮想対象の特性を変化させ、それぞれの開ループ伝達関数を調べた。



図4:外乱抑制実験のブロック線図

結果を図5に示した。赤のラインが開ループ伝達関数を示している。1次系の結果を見比べてみると、対象の特性は変化」しているにもかかわらず、開ループ伝達関数のゲイン交差角周波数はほぼ一定の 6rad/s に保たれており、その付近では開ループ伝達関数の傾きが -20dB/dec (1重積分型)であることがわかる。また2次系の結果をみると、ゲイン交差角周波数は、一次系の時と比べて若干落ちているが、その付近の傾きは、-20dB/dec (1重積分型)程度に整形されている。

したがって人の視覚補償には、
① 開ループのゲイン交差角周波数の高さを保とうとする
② その付近で開ループの傾きを1重積分系にしようする

の性質があることが確認できる。これは Mcruer の成果と一致しており、望みどおりの結果が得られた。またこのように開ループ特性が整形されることを 『開ループ整形』 と呼ぶ。



図5:対象の特性変化と開ループ伝達関数の関係

3.未来目標値追従実験



図6:未来目標値追従実験のフロントパネル


図6に未来目標値追従実験を行っているときのフロントパネルを載せる。図のように画面右側からランダムな波形が流れてくる。これを 『未来目標値』 と呼ぶことにする。この実験では、第2回実験と同様に操作力外乱が印加された上で、未来目標値に仮想対象を追従させる。

ブロック線図を図7に示した。第2回のブロック線図と比べて、新たにという項が加わった。この項を 『予測補償』 と呼ぶ。このシステムの特性を考えるために、外生信号 から偏差までの閉ループ伝達関数を求めと、



となり、外生信号の影響が小さくなる条件は、
、②  となることである.ここで,①の予測補償が対象の逆モデルになる状態を 『熟練者モデル』 という。この実験の目的は、自分の予測補償を同定し、熟練者モデルが成り立っているのか、調べることである。そこで、第2回と同じ4つの特性を仮想対象に与え、それぞれの場合で熟練者モデルが成り立っているのかどうか調べた。



図7:未来目標値追従実験のブロック線図

結果を図8に示した。赤のラインが、 を示している。①より熟練者モデルが成り立つとき、 は1になる。結果をみると、1次系のT=4,T=2と2次系では,ゲインが0となり、の大きさが1であることがわかる。また1次系のT=1では,5rad/s 以下の低域で、熟練者モデルが成り立っていない。これは、操作の難易度に原因があると思われる。T の値を減らすと、仮想対象は小さな力でも大きく動くように(感度が高く)なる。したがって、最も操作難易度が高いのはT=1である。ゆえに、T=1では難易度が高いために、熟練者モデルが成り立つほど、習熟できなかったためと思われる。

 
図8:対象の変化と熟練者モデル



【まとめ】

課題の解決

  • TransferFunction.VI を用いることで制御対象の特性(伝達関数)を簡単に変えることができた。そのために制御対象の特性が変化した時の人の特性変化を知ることが容易となった。
  • 一様白色雑音.VI とバターワースフィルタ.VI を組み合わせることにより、自由に毎回異なるノイズを発生させることができた。

導入効果

  • 与えられた期間内にほとんどのプログラムを完成することができた。
  • リアルタイムに実験し、同定に必要なデータの測定をすることができた。

そして、ひとつのアプリケーションにより上記の3種類の実験を行うことができるため、手動制御系をおこなう研究者にとって、便利なアプリケーションであるといえる。

Author Information:
浅羽  佑介 氏
東京工業大学工学部 機械制御システム専攻

Bookmark and Share


Explore the NI Developer Community

Discover and collaborate on the latest example code and tutorials with a worldwide community of engineers and scientists.

‌Check‌ out‌ the‌ NI‌ Community


Who is National Instruments?

National Instruments provides a graphical system design platform for test, control, and embedded design applications that is transforming the way engineers and scientists design, prototype, and deploy systems.

‌Learn‌ more‌ about‌ NI