・【ご予算申請に】センサ製品ラインナップ特集(価格別)、パソコン・サーバ・プリンタなど優待販売
・【採用情報】ソフトウェア開発エンジニア、メカ開発エンジニアを募集しています!
トップ > 製品情報 > e-nuvo WHEEL > よくあるご質問(FAQ)
e-nuvo WHEEL よくあるご質問(FAQ)
開発環境について
- 開発環境には何が必要ですか?
以下が必要です。- コンパイラ(統合開発環境)
HEW(High Performance Embedded Workshop)(ルネサステクノロジ社)
C言語のプログラムをコンパイルするために必須のツールです。ルネサステクノロジ社のホームページから、無償でダウンロード可能です。 - フラッシュ書き込みツール
FDT(Flash Development Toolkit)(ルネサステクノロジ社)
H8 CPUにプログラムを書き込むために必須のツールです。ルネサステクノロジ社のホームページから、無償でダウンロード可能です。 - 制御系設計ツール
MATLAB/Simulink(サイバネットシステム社)
制御系設計、シミュレーションを行うためのツールです。別途購入する必要があります。必須ではありません。参考フィードバックゲインを添付していますので、MATLAB/Simulinkが無いお客様も、問題なく、WHEELを動かせます。制御の授業で用いる際は、ご購入をお勧めします。
- コンパイラ(統合開発環境)
- コンパイラは付属していますか?
コンパイラは、ルネサステクノロジ製のHEWを使用します。HEWは、エディタ、コンパイラ、リンカ、デバッカなど開発統合環境を提供するソフトウエアです。
HEWが、ターゲットとなるマイコンに対応した実行形式のファイル(motファイル)を生成します。
無償版のHEWには、プログラムサイズが64KBまでという制限がありますが、e-nuvoBASIC、WHEELで使用しているH8/3687FのROM容量は64KB未満ですので、無償版で問題なく使用できます。 - HEWの動作環境は?
IBM PC/AT互換機(Windows XP, Windows 2000, Windows Vista※)
※64bit版Windows Vistaには未対応
詳細は、ルネサステクノロジ社のホームページをご覧ください。
- H8 CPUへのファームウェア書き込みツールは?
CPUへのプログラムダウンロードは、ルネサステクノロジのFDT(Flash Development Toolkit)というソフトを使います。このソフトも同様に、無償で利用可能です。 - FDTの動作環境は?
ホストPC対象OS Windows 2000、Windows XP、Windows Vista※。
※64bit版Windows Vistaには未対応
詳細は、ルネサステクノロジ社のホームページをご覧ください。
尚、e-nuvo BASIC、WHEELには、ダウンロード用のシリアルケーブルが付属します。PCにシリアル端子が必要となります。シリアル端子が無い場合、USB-シリアル変換ケーブルをお求めください。
- デバッガは繋がりますか?
ルネサステクノロジ社のE8エミュレータを接続することができます。実験に必須ではありません。別売ですので、別途お問合せください。
MATLAB/Simulinkについて
- MATLAB/Simulinkは、必須ですか?
必須ではありません。参考フィードバックゲインを公開しているので、その値を使うことで、MATLAB無しでも、WHEELを動かすことが可能です。
ただし、MATLAB/Simulinkがあると、制御系の設計やシミュレーションを行うことができます。 - MATLAB/Simulinkで必要なオプションを教えてください
実験で用いるツールボックス類は、MATLAB、Control System Toolbox、Simulinkです。 - MATLAB/Simulinkで制御系の設計後、どのように実装するのでしょうか?
WHEELのH8 CPUには、C言語でプログラムを記述します。
MATLAB/Simulinkを用いて、制御系の設計を行った後、設計で得られたゲインを、C言語のソースコードに書き込み、設計したコントローラを実装します。
本教材では、産業界で最も広く利用されているMATLAB/Simulinkを、制御系設計ツールとして利用しています。
もちろん、他のフリーソフトを活用したり、C言語を用いて、制御プログラムを自作することも可能です。 - MATLAB/Simulinkの自動コード生成機能により、C言語のソースコードを生成することはできますか?
技術的には可能ですが、弊社では検証しておりません。
Realtime Workshop Embeeded Coderの利用
産業界からの要望を鑑み、将来的に、自動コード生成の実験手順書等の整備を進めていく予定です。
しかし、開発者の意図としては、組込みCプログラミングに、一度はキチンと触れておいて頂きたい、という気持ちがあります。量産コードを自動コード生成ツールによって生成する場合でも、マイコンの全てのコードを自動コード生成するのではなく、I/O部分などのマイコンのハードウエアを動かすコードは、ハンドコードする必要があり、それらに自動コード生成によって作られたコードを組み込みのが一般的です。したがって、組込みプログラミングの知識を習得した上で、便利なツールを使う必要があると考えているためです。 - MacOS XやLinux版のMATLAB/Simulinkでも実験できますか?
最適制御の計算ができれば問題ありません。
サンプルプログラムについて
- ソフトウェアの構成は、どうなっているのでしょう?
サンプルプログラムは,C言語で記述しています。(ただし、ごく一部だけアセンブラでの記述のファイルがあります。)
コードの詳細な内容は、e-nuvoシリーズの基礎教材である「モータ学習キットe-nuvo BASIC」で学習ができます。 - サンプルプログラムには、H8用のA/D変換のライブラリが用意されているのでしょうか?
使用しているH8/3687FのA/D変換の関数は、サンプルプログラムで用意しております。 - GCCに対応してますか?
e-nuvo BASIC/WHEELのコンパイラには、ルネサステクノロジ社のHEWを使っております。
GCC環境への対応は未確認ですが、移植はおそらく可能だと思います。(サンプルプログラムでは、HEWに特化した機能を使っているわけではありません。)
ただし、GCCでコンパイルしたときに必ずしも動くという保証はできません。予めご了承ください。推奨環境であるHEWはメーカのサポート対象外ですがフリーで使えますので、こちらをご利用ください。 - 現代制御理論による制御則をシリアルでプログラム書き込みが可能となっていますが、制御則にはどの程度の自由度があるのでしょうか?
C言語で記述できる内容であれば、どのような制御器でも実装可能です。もちろん、H8マイコンのパワーの問題もありますが、工夫すればかなり複雑な処理も可能だと思います。
サンプルプログラムでは、ボディ(振子)の角度θ、角速度dθ/dt、タイヤ(台車)の角度φ、角速度dφ/dtの4つの状態量を状態フィードバックし、そのゲインを最適制御理論により計算しています。ここで、4つの状態量は全て取得できるとして制御器を実装しております。(角速度dθ/dtはジャイロセンサより取得、角度θはジャイロセンサの値を信号処理した上で時間積算(積分)して取得、角度φはエンコーダより取得、角速度dφ/dtは、エンコーダの角度φを時間差分(微分)により取得) 制御はできているので問題ありませんが、本来ジャイロセンサで取得できるのは角速度なので、角度θをオブザーバにより推定するアルゴリズムを、H8マイコンに実装した実験を慶應義塾大学様が実施しました。このようにオブザーバの実装やロバスト制御などの実装も可能です。
ログデータについて
- ログ情報の取得は可能ですか?
シリアル(RS-232C)経由での、動作ログの取得が可能です。(シリアルケーブルが付属します。)
PC側では、ハイパーターミナルなどの通信端末ソフトでログデータを取得できます。
シリアル端子の無いPCの場合、汎用の「USB-シリアル変換ケーブル」を別途ご購入いただく必要があります。 - どの程度のデータ量を、ログとして収集できますか?
サンプルプログラムで提供しているログ収集プログラムでは、以下の仕様のログを収集しています。
・計測周期:10msecごと
・測定項目:
・タイムスタンプ
・ジャイロセンサの角度
・ジャイロセンサの角速度
・車輪の角度
・車輪の角速度
・車輪の角度目標値
・車輪の角速度目標値
・電流測定値
・電流目標値
・PWM Duty比
H8 CPUから、シリアル経由で、プログラム実行中、常にログデータを送信しています。
H8 CPUのメモリ上に、ログデータをバッファする訳ではないので、特に、メモリ容量の制約はありません。有線ですが、いつまでも、必要なだけログ情報を取得できます。
また、計測周期を変更することで、測定項目を増やすなど、プログラムの変更も容易に尾kなえます。
マニュアルについて
- マニュアルには、どのようなものが付属していますか?
ご購入いただくと以下のものが付属します。
・組立マニュアル
・FDTインストールマニュアル
・HEWインストールマニュアル
・ファームウェアダウンロードマニュアル
・サンプルプログラムの使い方
・ロギングデータの取得方法
・その他 (ロボットの参考パラメータ、参考ゲイン) - 「カリキュラム教科書」というのはどういうものなのでしょうか? マニュアルとは別のもので、通常なくても問題のない内容だと考えてよろしいでしょうか?
マニュアル(取り扱い説明書)とは別で、カリキュラム教科書は無くても実際に動作させること。コンパイル、プログラムのダウンロードなどすることは可能です。しかし、現代制御を用いて制御する方法(技術的ノウハウ)をまとめたものなので、授業などで使わなくても1冊はご購入されることをお勧め致します。
特に最適制御を用いて制御する際に、最初QとRの重みを単位行列としてゲインを設計し動かしてみると、安定化はできているものの外乱によりフラーフラーと前後方向に0.15mくらい動きながら直立します。そこで、タイヤの角度φ、角速度dφ/dtに対応する重みを大きくして、ボディの角度θよりも、その場で静止することにプライオリティを高くしたゲインにすると前後方向に数cmくらいしか動かず、その場で静止することができるようになります。
このように、最適制御の重みの意味を実際のロボットの挙動から体験できるところがこのロボットの一番面白いところかと思っております。
オプションのCPLD基板について
- オプションのCPLD基板の役割は何ですか? 購入する必要はありますか?
CPLD基板では、モータの回転軸に直結されたエンコーダのパルス信号をカウントし、モータの回転角度を計算します。
CPLD基板が無い場合、エンコーダのパルス信号のカウント処理を、すべてH8 CPUで行う必要があるため、H8 CPUの負荷が、非常に大きくなります。
【ログ情報を収集したい場合】
CPLDオプションをご購入ください。
CPLD基板無しでは、H8 CPUの負荷が高いため、10[msec]ごとの、シリアルログ送信が、できなくなります。
【モータ2軸(パッケージB)での実験をしたい場合】
CPLDオプションをご購入ください。モータ2軸の場合、エンコーダも2軸となり、パルス信号のH8 CPUへの割り込みも2倍となります。H8 CPUの負荷が非常に高くなり、処理が追いつかなくなります。
上記の通り、モータ1軸(パッケージA:前後しか動かない)で、単純に動かすだけ(ログ収集は不要)な場合には、CPLDオプションはなくてもOKですが、できれば、ご購入頂きたいオプションです。 - H8 CPUとCPLD間の通信は、どうなっていますか?
CPLDでは、常に、エンコーダのパルス信号をカウントし続けており、保持しています。
H8 CPUは、10msecごとに、CPLDに対して、現在のカウント値(車輪角度)を問合せます。
H8 CPU - CPLD間の通信は、4線を利用しており、ZMP独自のプロトコルを利用しています。
- FPGAの学習としても使えますか?
CPLDは、機能的にみて、FPGAと同様と考えて問題ありません。
例えば、e-nuvo WHEELのCPLD基板に書き込むコードは、Verilog-HDLで記述しておりますが、同一コードを、別のFPGAに設定してコンパイルすれば、そのまま活用できます。
Verilog-HDLは、汎用のハードウェア記述言語ですので、ALTERA社、XILINX社、いずれのCPLD/FPGA製品でも問題なく利用できます。
(使用するデバイスや、ピンアサイン等の設定は、ツール側の問題であり、ソースコードを限定しません。VHDLを用いた場合も、同様です。)
その他、技術仕様
- 電池はどれくらいもちますか?
SANYOのeneloop(http://jp.sanyo.com/eneloop/)では、90分の連続倒立が可能です。(モータ1軸での実験)
通常の授業では、シミュレーションやプログラミング等がありますので、フル充電で、大学等の講義での利用は、全く問題ないといえます。 - 最小回転半径を教えてください。
モータ2軸を利用した際の、最小回転半径は0[m]です。(パッケージ【B】)
最小回転半径0[m]のその場での旋回は、超信地旋回とも呼ばれます。 - 最高速度を教えてください。
0.3[m/s]以上です。
サンプルプログラムでは、0.3[m/s]で目標回転角度指示を与えて、走らせています。
より高速走行にも対応した制御系設計など、どこまで速く走らせることができるか、ぜひチャレンジしてください。 - モータに対するPWMの周期を教えてください。
200kHzです。 - エンコーダの精度を教えてください。
スリット数:100[スリット/rev]
処理方法:4逓倍
減速機の減速比:30
上記により、車輪の回転角度に対する精度は、下記の通り、計算できます。
100 × 4 × 30 = 12,000[カウント/rev]
==> 0.002778[deg/カウント]


