手軽に倒立振子を学習できるプログラミング教材!
ビュートバランサー2(Beauto Balancer2)は、倒立振子を題材に、入門から本格的な研究まで幅広く制御の仕組みや
理論を学習できる倒立振子制御学習キットです。従来のビュートバランサーシリーズ商品と同様に、2つのセンサー
(ジャイロ センサーとロータリーエンコーダ)の入力値を用いて、車輪を制御するDCモーターの出力値を調整することで、
不安定な倒立振子を安定して立たせることができます。
双方向電流検出回路搭載の2軸モータによる優れた移動性と安定性
ロボットには左右2軸のモーターを搭載し、前後移動と旋回動作が可能です。
さらに、各モーターには新たに双方向電流検出回路を搭載したことで、DCモーターの電流制御によりトルク指令にて倒立制御を行うことや、
電池の残量に関係なく安定した制御を行うことが可能になりました。
未経験者でも容易に扱えるソフトウェアを公開
本体の制御用ソフトウェア「バランサー2プログラマ」は、倒立調整や本体の動作実験などを行うためのソフトウェアです。
GUI形式でセンサーゲイン等のパラメータ調整を簡単に行うことができ、倒立振子の初学者でも簡単に本体を倒立させることができます。
また、本体からパラメータを読み込んでモニタリング表示(数値・グラフ表示)したり、CSV形式のログデータ出力ができ、
簡単な実験に活用することが可能です。
PC側・本体側それぞれに対応したC言語開発環境を用意
C言語プログラミングには、
ロボット本体内のファームウェアを書き換える方法と、専用のUSB通信ライブラリを使用してPCから本体を通信制御する方法の2種類を選択できます。
ロボット本体側のプログラミングには、NXPセミコンダクターズが無償公開しているC言語統合開発環境「LPCXpresso」を利用し、
制御ボードのメインCPUであるARMマイコン(NXPセミコンダクターズ製ARM Cortex-M3 LPC1343)用のプログラミングを行います。
倒立用のサンプルソースも公開し、専用ライブラリを用いてセンサー値の取得・モーターの制御が可能で、少ないコードで倒立制御を実装できます。
PC側のプログラミングには、専用通信ライブラリー「バランサー2 SDK」を利用して行います。バランサー2 SDKはMicrosoft Visual C++等で利用でき、
USBを介して本体のメモリーマップを読み書きするためのライブラリーです。
豊富なI/OポートとBluetooth等の高度なオプションを用意
ロボット本体の制御ボードにはUART 、I2Cポート等を搭載し、オプションを取り付けることでより高度な制御が可能になります。
オプションには無線コントローラー「VS-C3」、SPPプロトコル対応のBluetoothモジュール「VS-BT003」等を利用でき、
これらを搭載して本体をリモコン操縦したり、PCから無線で通信制御することが可能です。
活用イメージ
工業高校を中心とする高等学校、工業高等専門学校、専門学校、短期大学校、大学、または企業における研修教材としての活用も想定しています。
制御の仕組みを実際の動きで体感する教材として制御の仕組みについてレクチャーを受けた後、「バランサー2プログラマ」でパラメーターの数値を入力してビュートバランサー2の挙動を観察することで、制御の基礎概念を実際の物の動きで体感することができます。
また、無償公開しているサンプルプログラムは極力シンプルな現代制御で倒立振子制御を実現しています。サンプルプログラム上で直接パラメーター値を変更してみたりサンプルプログラムについての解説を加えることで、C言語の組込みプログラム学習や制御理論の初歩的な理解の助けになります。
本格的な制御理論学習の題材として
C言語によるプログラミング環境が提供されていますので、古典制御や現代制御理論に基づくモデルを構築し、それに基づいた制御プログラムを開発するといった本格的倒立振子制御学習に活用することができます。
【関連商品】
コントローラーを接続することで操縦する事ができます。
※注意:VS-C3を接続する際には10芯コネクターフラットケーブルが必要となります。VS-C3を接続する際に10芯コネクターフラットケーブルをお持ちでない場合、下記をお買い求めください。
【利用方法、活用事例動画紹介】
製品仕様
サイズ | 177(H)×90(W)×42(D)[mm] |
重量 | 約150g(バッテリー非搭載時) |
モーター | FA-130-2270タイプDCコアードモーター×2(本体駆動用) |
CPU | NXPセミコンダクターズ社製 ARM Cortex-M3マイコン LPC1343 |
搭載出力 | DCモーター出力×2、LED×2 |
センサー | ジャイロセンサー×1、ロータリーエンコーダ×2、DCモーター用双方向電流検出回路×2 |
インタフェース | USB(HID)×1、I2C×1、UART×1、無線コントローラー「VS-C3」接続ポート×1 |
制御方法 |
- 「バランサー2プログラマー」
- C言語統合開発環境「LPCXpresso」
- USB通信制御ライブラリー「バランサー2 SDK」
|
電源 | 単3アルカリ乾電池 または 単3型ニッケル水素充電池 2本(別売) 、USBバスパワー(モーターなど一部機能を除く) |
対応OS | Windows7/8/8.1/10(日本語版) |
※本製品をご利用になる場合は、Windows7/8/8.1/10をインストールしたPC、及び一般的なPCの操作知識が必要となります。
※製品仕様その他は、予告なく変更する場合がございます。
※本製品は組立キットです。
各種ダウンロード
よくあるご質問(FAQ)
- 統合開発環境「LPCXpresso」をPCにインストールできません
- 「ビュートバランサー2ダウンロードページ」の「ビュートバランサー2 取扱説明書」に詳しい方法を説明しているので、一度こちらをご確認ください。
- フィードバック制御はどの様な処理をしていますか?
- PI制御を行っています。
- バランサー2をプログラムしたいのですが、どのようにすればよいですか?
- バランサー2 SDKを使えば、USB経由でPCからバランサー2を制御するプログラムが書くことができます。
バランサー2本体のプログラムを書きたい場合は、LPCXpressoで開発します。
詳しくは「ビュートバランサー2 取扱説明書」をご確認ください。
- サンプルコードはありますか?
- 「ビュートバランサー2ダウンロードページ」から、バランサー2 SDK、および、LPCXpresso用のC言語サンプルを入手していただけます。
- バランサー2に搭載されているマイコンは何ですか?
- NXP社のLPC1343を搭載しています。LPC1343の詳しい情報はNXP社のサイトをご確認ください。
- タイマー処理や割込み処理はできますか?
- サンプルとしてはありませんが、バランサー2のライブラリではTimer32B1は使用していないので使用可能です。
詳しくはNXP社のwebページで配布されている、LPC1343のユーザーマニュアル及びデーターシートをご確認ください。