YouTubeチャンネルにて、弊社製品を題材とした解説動画や活用動画などを配信しております。
毎週配信を目標に取り組んでおりますので、動画をお楽しみ頂けましたらチャンネル登録・高評価をお願いします!!
下記blogにて、アームの制御に関する技術解説を公開しております。
ビュートバランサー2(Beauto Balancer2)は、倒立振子を題材に、入門から本格的な研究まで幅広く制御の仕組みや理論を学習できる倒立振子制御学習キットです。従来のビュートバランサーシリーズ製品と同様に、2つのセンサ(ジャイロ センサとロータリーエンコーダ)の入力値を用いて、車輪を制御するDCモータの出力値を調整することで、不安定な倒立振子を安定して立たせることができます。
本製品では新たに双方向電流検出回路を搭載し、DCモータの電流制御によりトルク指令にて倒立制御を行うことが可能になりました。また、ログデータ記録用として4kByteのRAMを内蔵し、本体単体動作時のセンサログを取得できるようになりました。これにより、PCレス・ワイヤレスの実験が可能になりました。
プログラミングは、従来のビュートバランサーシリーズと同様に、GUI形式で本体の倒立調整・センサログ取得などが可能な「バランサー2プログラマ」、及びPC側・本体制御ボード側それぞれのC言語プログラミングができます。サンプルソースや専用ライブラリを公開し、プログラミング未経験者でも本体を動かすことが可能です。
ロボットには左右2軸のモータを搭載し、前後移動と旋回動作が可能です。各モータには双方向電流検出回路を搭載し、DCモータのトルク指令で倒立制御が可能で、電池の残量に関係なく安定した制御を行うことができます。
本体のフレーム部品を耐久性のあるポリカーボネート樹脂で製造。制御基板を含む機能部品全体をカバーしており、転倒時の衝撃を緩和します。本体の組み立てにはプラスドライバー(#2)のみを使用し、はんだ付け等の煩雑な作業を行わず組立できます。
本体の制御用ソフトウェア「バランサー2プログラマ」は、倒立調整や本体の動作実験などを行うためのソフトウェアです。GUI形式でセンサゲイン等のパラメータ調整を簡単に行うことができ、倒立振子の初学者でも簡単に本体を倒立させることができます。また、本体からパラメータを読み込んでモニタリング表示(数値・グラフ表示)したり、CSV形式のログデータ出力ができ、簡単な実験に活用することが可能です。本体単体での動作中に記録したログデータも本ソフトからCSV出力ができ、PCレス・ワイヤレスの実験にも利用しやすくなっています。
GUIソフトウェアで倒立振子の実習を行った後は、C言語プログラミングへのステップアップが可能です。C言語プログラミングには、ロボット本体内のファームウェアを書き換える方法と、専用のUSB通信ライブラリを使用してPCから本体を通信制御する方法の2種類を選択できます。
ロボット本体側のプログラミングには、NXPセミコンダクターズが無償公開しているC言語統合開発環境「LPCXpresso」を利用し、制御ボードのメインCPUであるARMマイコン(NXPセミコンダクターズ製ARM Cortex-M3 LPC1343)用のプログラミングを行います。倒立用のサンプルソースも公開し、専用ライブラリを用いてセンサ値の取得・モータの制御が可能で、少ないコードで倒立制御を実装できます。
PC側のプログラミングには、専用通信ライブラリ「バランサー2 SDK」を利用して行います。バランサー2 SDKはMicrosoft Visual C++等で利用でき、USBを介して本体のメモリマップを読み書きするためのライブラリです。
ロボット本体の制御ボードにはUART 、I2Cポート等を搭載し、オプションを取り付けることでより高度な制御が可能になります。オプションには無線コントローラ「VS-C3」、SPPプロトコル対応のBluetoothモジュール「VS-BT003」等を利用でき、これらを搭載して本体をリモコン操縦したり、PCから無線で通信制御することが可能です。
工業高校を中心とする高等学校、工業高等専門学校、専門学校、短期大学校、大学、または企業における研修教材としての活用も想定しています。
制御の仕組みを実際の動きで体感する教材として制御の仕組みについてレクチャーを受けた後、「バランサー2プログラマ」でパラメータの数値を入力してビュートバランサー2の挙動を観察することで、制御の基礎概念を実際の物の動きで体感することができます。
また、無償公開しているサンプルプログラムは極力シンプルな現代制御で倒立振子制御を実現しています。サンプルプログラム上で直接パラメータ値を変更してみたりサンプルプログラムについての解説を加えることで、C言語の組込みプログラム学習や制御理論の初歩的な理解の助けになります。
C言語によるプログラミング環境が提供されていますので、古典制御や現代制御理論に基づくモデルを構築し、それに基づいた制御プログラムを開発するといった本格的倒立振子制御学習に活用することができます。