2輪型倒立振子車「2WV」の開発

  Print Print

"LabVIEWを用いることにより、データ測定、車体情報のグラフ表示、プログラムの値(サンプリング時間やゲイン値)を容易に変更できるシステムを作ることができました。"

- 高橋 貴大 氏, 神奈川工科大学 創造工学部 自動車システム開発工学科 石濱研究室

The Challenge:
以下の条件を含む2輪型倒立振子車(2WV)を制作する。

  • 本体の構想、設計、製作を8ヵ月間、制御プログラム開発を約2ヶ月間で完成させる
  • 走行実験等における各種データの取り出し(保存)や、試走後に制御ゲインのチューニングを容易に行える
  • 稼働中の車体の情報をリアルタイムにグラフ表示でき、稼働状態によってサンプリング時間やゲイン値をリアルタイムに変更できる
  • アスファルト地面での走行でも制御システムの安全性を確保する

The Solution:
制御システムの開発には、直観的なインタフェース(グラフィカル)でシステムを構築でき、 しかも実機がなくても開発が可能なLabVIEWを、また、実機をコントロールする段階では、開発したシステムをそのまま2WVへ実装可能であり、スタンドアロンで動作するCompactRIOを用いて、2WV制御システムのマシンインターフェイス、データ測定、制御プログラムを開発しました。

Author(s):
高橋 貴大 氏 - 神奈川工科大学 創造工学部 自動車システム開発工学科 石濱研究室

1.背景

大学3年次に履修したプロジェクト授業において、人が乗車可能な移動体を製作するという課題が与えられました。私たちはこの課題について議論を行い、2輪型倒立振子車(以下、2WVと称します)を製作することに決定しました。2WVは人の体重移動による車体の角度変化等をセンサーで検出、倒立振子の原理を用いて操作量を算出し、左右のモーターをコントロールすることにより移動することができます。2WVは不安定で制御システムが必須ですが、制御回路を製作する知識や技能も特になく、限られた期間内で、車両本体の設計製作と制御システムの開発等をすべて行わなければならなりませんでした。そこで、制御システムの開発では、直観的なインタフェース(グラフィカル)でシステムを構築でき、しかも実機がなくても開発が可能なLabVIEWを用いることにしました。また、実機をコントロールする段階では、開発したシステムをそのまま2WVへ実装可能であり、スタンドアロンで動作するCompactRIOを用いることにしました。
これらを用いて2WV制御システムのマシンインターフェイス、データ測定、制御プログラムを開発しました。

2.課題

2WVを制作するうえで、課題として次の5点が挙げられました。

(1) 本体の構想(コンセプト)、設計、製作が8ヵ月間、制御プログラム開発約2ヶ月間という期間で完成させなくてはならなかった。
(2) 従来、制御プログラムを開発する際、PICマイコン等を使った複雑な制御回路を開発しなくてはならなかったため多くの時間と専門的な知識が必要だった。また実機のモデルをPICに組み込むことが容易に行えないと推測された。
(3) 走行実験等における各種データの取り出し(保存)や、試走後に制御ゲインのチューニングを容易に行える。
(4) 稼働中の車体の情報をリアルタイムにグラフ表示でき、稼働状態によってサンプリング時間やゲイン値をリアルタイムに変更できる。
(5) 坂道を除くアスファルト地面での走行でも制御システムの安全性を確保する。

3.ソリューション

3-1 システム構成

システム構成をFig.2に示します。2WVの制御システムはCompactRIO+Cモジュールを用いることにより非常にシンプルなものとなりました。車体の情報を得るためのセンサーとしてジャイロセンサー1個、傾斜角センサー1個の計2個を搭載しています。これらのセンサーはアナログ電圧で情報を出力するためNI 9215を介してNI cRIO-9014に取り込みます。NI cRIO-9014ではセンサーからの入力と姿勢の目標値から制御ゲインを算出し、指令電圧をNI 9263を介してモータードライバに出力します。NI cRIO-9014はボルトによる完全固定はせず、本体とマジックテープで固定しました。システムが不安定になった場合の対策として、ハンドル付近に制御プログラムの緊急停止スイッチも設置しています。このスイッチは制御プログラムの指令電圧のON/OFFを切り替えるスイッチ(VI)と接続されているのでデータ計測中でもcRIOの電源を切ることなくモーターを停止させることができます。


Fig.1 2WV

Fig.2 システム構成

Fig.3  2WV制御部拡大

3-2 ソフトウェア構成

Fig.4にフロントパネルに示します。フロントパネルでは角度、オフセット後の角度、角速度の表示グラフが3個、左右モーターへの指令電圧の表示グラフが2個あります。姿勢センサーのキャリブレーションをプログラム起動時にいつも行うことで常に正しい角度で制御を実行することができます。そしてキャリブレーション(初期姿勢校正)中であるかを確認できるよう、LEDが2個設置してあります。使用したモータードライバが0V~5Vの指令電圧であったため、計算した操作量を変換するVIを作りました。

Fig.4 フロントパネル

3-3 結果

・課題(1)(2)
プログラムの予定開発期間2ヶ月の間で完成し、走行テストを行うことができました。本体が完成する前にFig.6 で示す実験機をNI cRIO-9014と接続して使うことで、倒立振子のシミュレーションや実際にプログラムを使った制御実験を行い、大まかな挙動やゲインを取得しておくことができました。その結果、本体の製作と制御プログラムの製作を同時進行で行うことで開発期間を短縮することができたと思います。

・課題(3)(4)
同様に、LabVIEWを用いることにより、データ測定、車体情報のグラフ表示、プログラムの値(サンプリング時間やゲイン値)を容易に変更できるシステムを作ることができました。

・課題(5)
NI cRIO-9014を本体内部に固定し実装することで、坂道を除くアスファルト地面での走行でも制御システムの安全性を確保することができました。スタンドアロンでの制御における安全性に関しても、緊急停止スイッチをプログラムに組み込むことで確保することができました。

Fig.5  走行風景

           

走行風景のビデオはこちら

Fig.6 実験機

 

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