LabVIEW FPGA

 柴田がLabVIEW FPGAについて紹介します。


 以前FPGAについてご紹介しましたが、最近はLabVIEW FPGAを使った案件が
 増えてきましたのでご紹介します。
 (以前の記事)https://ts1781.blog.fc2.com/blog-category-4.html


 FPGAはプログラム可能なデジタル回路です。
 LabVIEW FPGAはこのFPGAプログラムをLabVIEWで記述できるモジュールです。
 http://www.ni.com/fpga/ja/

 複雑な回路をLabVIEWで比較的簡単に記述することができるので研究開発
 部門で利用するとメリットがあると感じています。

 ■VHDL等と比べた場合の利点
 ・記述が簡単
  LabVIEWのブロックダイアグラムで記述できるのでVHDL等と比べれば
  記述が簡単です。
  IPもLabVIEWのVIとして提供されているのでIPの利用も簡単です。

 ・シミュレーションが簡単
  FPGA固有の機能を使っていなければプロジェクト内でPC側にVIをドラッグ
  することでPC上で動作をある程度確認できます。
  
 ・PCとの連携が簡単
  一番のメリットかもしれません。
  PCとFPGA間のデータのやり取り(通信)をVHDLで記述しようとすると
  かなり大変です。

  LabVIEW FPGAではいろいろな通信の手段が用意されているので簡単に
  PCとFPGA間の通信を実装することができます。

  FPGA内の値をPC上にリアルタイムに表示したりPC内にロギングしたり
  することが比較的簡単にできます。

 ■注意点
 ・専用のハードウェアが必要
  LabVIEW FPGAを利用するにはNI製のハードウェアが必要です。

 ・ロジック回路の知識が必要
  LabVIEWで簡単に記述できると言ってもロジック回路の知識は必要です。
  (特に同期回路の知識)
  LabVIEWのブロックダイアグラムがどのようなロジック回路になるかを
  ある程度想像できないとうまく回路を組めません。





フォースプレート

 フォースプレート

 昨年より販売を開始したフォースプレートを紹介します。
 http://www.tech-s.co.jp/Product/Product1/Unit5.html

 フォースプレートは床反力計とも言います。
 床に置いてその上にかかる力を測定します。

 Wii Fitのバランスボードの高機能版と考えていただくとわかり易いです。
 バランスボードは重心と体重(鉛直荷重)を測定できます。

 一方、フォースプレートは水平2軸(X軸,Y軸)と鉛直軸(Z軸)に
 かかる力とそれぞれの軸の周りのモーメントの計6軸を測定できます。
 重心は水平軸のモーメントと鉛直荷重から計算できます。


 元々は大阪大学の中田研先生のグループで研究している「動的バランス
 評価」の研究用ソフトウェア開発のお手伝いをさせていただいたのが
 始まりでした。

 このソフトウェアではフォースプレートを使って重心等を測定するのです
 が、「市販のフォースプレートは非常に高価なため安価に作れないか?」
 という要望があり開発しました。

 動的バランス評価の研究内容は下記リンクの下のほうにあります。
 http://www.comit.med.osaka-u.ac.jp/jp/research/unit4.html


 フォースプレートの最初のユーザーであり開発時に助言を頂いた大阪大学
 の小笠原先生はフォースプレートをいろいろな計測に活用しています。
 下記ページを参照下さい。
 https://www.facebook.com/ogasawara.lab/

 3つ並べたり、陸上トラックに持ち込んだり、私としては想定外の使い方
 ですが大活躍ですね。

関節力学試験ロボット

 関節力学試験ロボットについて紹介します。
 
 このロボットは首都大学東京の藤江研究室と共同開発した製品です。
 http://www.tech-s.co.jp/Product/Product1/Unit4.html

 ロボットに膝関節,肩関節,脊髄などを取り付けて試験を行います。
 取り付けた関節に任意の力と変位を与えることが出来ます。

 主に、靭帯の張力解析や靭帯再建手術の評価に使用されています。
 すでに国内,海外の研究機関や医療機関で使用されており、特に膝靭帯の
 再建手術の評価では多くの実績を出しています。


 機構的な特徴として、直動3軸と回転3軸が分かれていることがあります。
 回転の根元1軸にガイドが付いている事もあり剛性を高くできています。
 この機構は特許となっています。


 制御部にはナショナルインスツルメンツ製(以下NI)のリアルタイム
 コントローラとパソコンを使用しています。

 開発ソフトウェアにはNIのLabVIEWを用いています。
 LabVIEWを用いることで、ユーザ側でも比較的簡単にソフトウェアを変更
 することができます。


 藤江研究室のホームページでは旧型ロボットでの試験の様子を見ることが
 できます。
 http://www.comp.sd.tmu.ac.jp/fujielab/robsyoukai.html





ミニコントローラRX62T

 柴田がミニコントローラRX62Tについて紹介します。

 この基板は、あるアナログ制御を依頼された時に開発した製品です。

 市販されている一般的なCPU基板にはプラスマイナス10Vのアナログ入出力
 が実装されていません。 

 プラスマイナス10Vを使用する制御ユニットを市販のCPU基板を使って構成
 する場合には、CPU基板+アナログ出力基板+アナログ入力基板が必要に
 なります。

 さらにエンコーダ入力等の差動信号を入力させるためには別途基板が必要
 です。 

 ミニコントローラRX62Tにはこれらの入出力がすべて実装されています。

 またUSBでFIFOデータ送信ができるので、上位ホストへアナログデータを
 高速で送ることも可能です。


 (使用例)
 ・サーボモータ/パウダーブレーキのトルク制御
   トルクメータの値をフィードバックし任意のトルクを出力するように
   サーボモータやパウダーブレーキをコントロールします。

 ・サーボモータの位置制御/速度制御
   速度制御型もしくはトルク制御型のサーボドライバの上位コントロ
   ーラとして構成します。
   サーボドライバからの位置パルスをフィードバックして位置決めや
   速度制御を行います。
   独自の制御ループを組み込むことができます。

 ・アナログ/パルス計測
   アナログ信号とパルス入力を同じタイミングで測定します。


 詳細仕様は下記ホームページをご覧ください。
 http://www.tech-s.co.jp/Product/Product2/Kiban2.html





大型自動ライン装置制御ソフトウェア

 柴田が大型自動ライン装置制御ソフトウェアを紹介します。

 ■どんなテーマ?
 以前、望月が同じ名称で紹介しています。

 望月のソフトウェアは機械体の制御を受け持っています。
 私のソフトウェアはユーザーインターフェースを主に担当しています。
 両方のソフトウェアが協調して一つの装置を制御します。


 ソースファイルが数百もある大規模なソフトウェアですので、トップ
 ダウンでしっかり設計していないとおかしなソフトウェアが出来上がり
 ます。

 その当時流行っていたUMLをつかってトップダウンで設計しています。
 UMLは制御対象の使い方やソフトウェア構造を検討するのに有用です。
 現在もよく使用しています。

 UMLで設計したものをC++のコード(ソースファイル)として出力できる
 ツールがあります。このソフトウェアもこのツールを使ってソフト
 ウェアの骨組みを出力しています。


 C++などのオブジェクト指向言語は大規模ソフトウェアの構築に適して
 います。それぞれのオブジェクト間(ソースファイル間)のつながりが
 しっかりと定義されています。またデータとロジック部もきちんと定義
 されています。そのため、不具合原因の特定が容易です。


 ■どんな所が難しい?
 人を相手にするユーザーインターフェースは特有の難しさがあります。
 機械の制御はある程度動きが特定されますが、人は思ってもいない操作を
 することがあります。
  
 また、人によって「使いやすい」「使いにくい」と感じる点が違うので
 そのあたりを想像しながら作りこむ点が難しいです。


 ■どんなスキルが必要?
 C++のプログラミングはもちろんですが、見やすく,使いやすくデザイン
 するセンスも必要ですね。
 (自分のデザインセンスがどの程度かは?ですが)






プロフィール

テクノロジーサービス

Author:テクノロジーサービス

カテゴリ
関連記事へ

制御 サーボモータ コントローラ 組み込み ロボット シーケンサ 計測 デジタル回路 PLC アナログ回路 LabVIEW MS-DOS FPGA 試験装置 電流源 メッキ用電源 ネットワーク コーヒー ソフトウェア 基板設計 3D 

リンク
検索フォーム