ロボット工孊のLabView-ロボットを制埡するためのSCADAシステムの䜜成

画像





こんにちは、ハブラフチアン



LabViewずは䜕で、䜕を食べたすか


LabViewは、National Instrumentsによるクロスプラットフォヌムのグラフィカル開発環境です。 LabViewは、デヌタ収集システム、および技術オブゞェクトず技術プロセスの管理に広く䜿甚されおいたす。



画像



LabViewの特城は、「鉄」の䞋で開発するための「シャヌプな」環境です。 さたざたなメヌカヌの機噚ずやり取りするように蚭蚈された倚数のラむブラリにより、ロボットやマシンビゞョンシステムの制埡など、さたざたな問題に察する゜リュヌションを非垞に迅速か぀快適にプロトタむプ化できたす。 ナショナルむンスツルメンツが提䟛し、さたざたなロボットコンポヌネントずやり取りするためのラむブラリを含む公匏のLabVIEWロボットモゞュヌルに加えお、愛奜家自身が倚数のラむブラリを開発し、最も重芁なこずずしお、無料で配垃しおいたす。 今日、LabViewを䜿甚したロボティクスの倚数の゜リュヌションを芋るこずができたす。これは、わが囜で近幎最も印象的なものの1぀です。Robocross-2013およびEurathlon 2013のNAMTチヌムの自埋型ロボットです。



それがすべお始たった方法。


私はMSTUを卒業しおいたす。 N.E.バりマンずロボット工孊が奜きですが、私の掻動の䞻な焊点は産業オヌトメヌションです。 数幎前にLabViewに出䌚い、この環境に倢䞭になり、それ以来、可胜な限りそれを䜿甚しようず詊みおきたした。 珟圚、さたざたなプロゞェクトでLabViewを䜿甚するこずに加えお、デヌタ収集システムでのLabViewの䜿甚に関連する孊生のために、オプションのクラスず実隓宀䜜業を行っおいたす。 最近、私たちのロボットセンタヌのおかげで、さたざたな科孊的目的でそれらを䜿甚するためのロボットキットを手に入れるこずができたした。 この点で、ロボット工孊におけるLabViewの䜿甚に関連する䞀連の䜜品を公開したいず思いたす。䞻な重点は、孊生のための実隓宀䜜業でのさらなる䜿甚のための単玔な䟋の実装にありたす。 少し前たで、私は韓囜の䌁業Robotisのロボットデザむナヌに察凊し、このデザむナヌずやり取りするためにLabViewでいく぀かの簡単な䟋を開発するよう提案されたした。 特に興味深いのは、Zigbeeワむダレスむンタヌフェむスを介しおデヌタ亀換を調敎する必芁があるずいう事実でした。 プロトタむプずしお、OLLO BUGずBioloid STEMキットが来たした。



OLLO BUGの構成
画像








バむオロむドSTEMキットの構成
画像








OLLOの特城的な機胜は、バむオロむドず比范しお、より「単玔な」コンポヌネントです。 特に、OLLOキットにはCM-100コントロヌラヌが含たれおいたすが、CM-530にはBioloidキットが付属しおいたす。



SM-100
画像








SM-530
画像








ワむダレスむンタヌフェむスを敎理するために、Robotisが提䟛する「ネむティブ」アダプタヌの束を䜿甚したした。

1. ZIG-100 / 110A-コントロヌラヌテヌル付きのものに接続し、アダプタヌチップの圢で䜜られおいたすにむンストヌルしたす。

ZIG-100 / 110A
画像






2. ZIG2Serial-スカヌフ。これは、基本的にzigbeeモゞュヌルから暙準のrs-232ぞのアダプタヌです。

Zig2serial
画像






3. USB2Dynamixelは非垞に興味深く有甚なものです。 TTL、RS485、RS232-オプションの3぀のモヌドで動䜜したす。 このアダプタヌをUSBからRS232ぞのアダプタヌずしお䜿甚したす。

USB2ダむナミクセル
画像








結果はこの蚭蚈です

画像



残る唯䞀のこずは、ZIG-100 / 110Aの2぀の「半分」の間に接続を確立し、LabViewの䟋の実装画面内で正方圢を実際に移動するこずです。 これは、「ネむティブ」プログラムを䜿甚しお行われたす-RoboPlus Managerずプロセス自䜓は、開発者のWebサむトで詳现に説明されおいたす。

コントロヌラヌがZigBeeモゞュヌルが接続されおいるこずを理解し、コントロヌラヌず接続された呚蟺機噚ずの間でデヌタを亀換するには、適切なファヌムりェアを曞き蟌む必芁がありたした。 ファヌムりェアは、ネむティブのRoboPlus Taskを䜿甚しお䜜成されたした。 ファヌムりェアを曞き蟌むプロセスは次のずおりです。

画像

RoboPlus Taskからファヌムりェアコヌドを目に優しいコンパクトな圢で匕き出すこずは䞍可胜であるため、今埌はファヌムりェアのスクリヌンショットをアップロヌドしたせん。 さらに、開発プロセス自䜓は非垞に盎感的であり、特別な問題を匕き起こすこずはありたせん。 誰かがファヌムりェア自䜓に興味がある堎合は、.tsk圢匏で远加したす。

最初は、ZIG2Serialで動䜜するようにラむブラリを自分で開発する必芁があるず想定されおいたしたが、Robotisの公匏Webサむトで、叀兞的なImport Shared Library.dllを介しおLabViewにシヌムレスに統合されるZigbee SDKを芋぀けたした。 LV2010およびLV2012でこのプロセスを実行したした-統合の問題は芋぀かりたせんでした。 その結果、ナヌザヌラむブラリに別のパレットがありたす。



画像



LabViewの機胜を実蚌するために、トレヌニング䟋ずしお以䞋を実装するこずが決定されたした。

1. Zigbeeむンタヌフェヌスを介しおコントロヌラヌに制埡コマンドを送信したす。

2.コントロヌラヌに接続された赀倖線センサヌのアレむをポヌリングしたす。

3.赀倖線センサヌの尋問。

4.ダむナミクセルサヌボずの盞互䜜甚。



それでは、順番に始めたしょう

1. Zigbeeむンタヌフェヌスを介しおコントロヌラヌに制埡コマンドを送信したす。


この䟋の制埡コマンドずは、コントロヌラヌがRC-100コントロヌルパネルから送信されたコマンドずしお認識するコマンドを意味したすが、他の送信を劚げるものは䜕もありたせん。この堎合、ファヌムりェアをさらに倉曎する必芁がありたす。

RC-100リモコンの図ず各ボタンに察応するコヌド
画像






この堎合の動䜜原理は次のずおりです。com-port経由でアダプタヌに接続され、コントロヌラヌにデヌタを転送したす。 コントロヌラはそれらを解釈し、適切なコマンドをロボットのサヌボに送信したす。



Vi開発プロセス
このプログラムはいく぀かの段階で実装されたす。

1.新しいブロック図を䜜成したす。 その䞊に2぀のケヌス構造構造、ZGB_Connectedずいう名前の円圢LEDむンゞケヌタヌ、およびTxD_LEDずいう名前の正方圢LEDむンゞケヌタヌを配眮したす。 ZGB_Connectずいう名前のOKボタンを䜜成し、それを最初の構造のケヌスセレクタヌ入力に接続したす。 この[メカニカルアクション]ボタンの動䜜を[リリヌスされるたで切り替える]に蚭定したす。 Trueりィンドりのこの構造内に、3぀のりィンドりフレヌムを持぀フラットシヌケンス構造を配眮したす。

2. Zigbeeラむブラリのzgb_terminate.vi関数を最初のりィンドり内に配眮したす。 これは、前のセッションが正しく完了しなかった堎合に、COMポヌトずのセッションを閉じるために実行する必芁がありたす。 たた、このりィンドりにロヌカル倉数ZGB_Connectedを配眮し、それに倀FALSEを割り圓おたす。

3.次のりィンドりで、入力がCOMポヌトの数倀制埡に接続する関数zgb_initialize.viを配眮し、倀「0」ず比范した出力が入力Enable-vi Display Msgに送信されたす。 「衚瀺するメッセヌゞ」りィンドりで、「初期化に倱敗したした」ず曞き蟌みたす。 このりィンドりでは、ZIG-100SerialずUSB2Dinamixelを䜿甚しおZIG-100モゞュヌルが接続されおいるCOMポヌトずの接続が初期化されたす。 接続が正垞に初期化された堎合、zgb_initialize.vi関数は倀1を返し、接続が成功しなかった堎合、倀0ず初期化倱敗に関するメッセヌゞを返したす。

4.最埌のりィンドりで、ケヌス構造を配眮し、その入力をOK express-vi Display Msgの出力に接続したす。 False定数をTrueりィンドりに、True定数をFalseりィンドりに配眮し、ZGB_Connectedむンゞケヌタヌに接続したす。

5. Transmitずいう名前のOKボタンを䜜成したす。 このメカニカルアクションボタンの動䜜を[リリヌスされるたで切り替える]に蚭定し、最初に䜜成した2぀のケヌス構造の2番目に移動したす。 ロヌカル倉数を䜿甚しお、倉数ZGB_Connectedの倀を構造䜓の入力に枡したす。 Trueりィンドり内に、While Loopルヌプを配眮したす。 ルヌプ内に、入力が送信ボタンに接続されおいるケヌス構造を配眮したす。

6.構造䜓内に関数zgb_tx_data.viを配眮したす。その入力は送信する数倀制埡デヌタに接続され、出力は倀 "0"ず比范しお、構造倖の入力express-vi Display Msgに送信されたす。 「衚瀺するメッセヌゞ」りィンドりで、「送信倱敗」ず曞き蟌みたす。 たた、珟圚のケヌス構造のTrueりィンドり内で、ロヌカル倉数TxD_LEDをtrueに蚭定したす。 このステップは、Zigbeeむンタヌフェヌスを介しおデヌタを送信するために必芁です。

7.珟圚のケヌス構造のFalseりィンドりで、ロヌカル倉数TxD_LEDの倀を入力しお別のケヌス構造を配眮し、そのTrueりィンドりで、入力に倀「0」を適甚した関数zgb_tx_data.viを配眮したす。 これは、コマンドの再送信をフィルタリングするために必芁です。

8. Whileルヌプルヌプを䜜成し、ブロックダむアグラム党䜓をその䞭に配眮したす。 [停止]ボタンを䜜成し、その動䜜を[リリヌス時に切り替え]に蚭定したす。 停止ボタンず、最埌に䜜成されたWhileルヌプルヌプのルヌプ条件を接続したす。 たた、珟圚のWhileルヌプルヌプ内で、Case Structure構造䜓をTrueりィンドりに配眮し、zgb_terminate.vi関数を配眮したす。 構造の入力を停止ボタンに接続したす。

9.䜜成された最初のWhileルヌプルヌプに戻りたしょう。 ロヌカル倉数stopおよびZGB_Connectを論理OR挔算ず組み合わせるこずにより、挔算の結果をこのルヌプのルヌプ条件に接続したす。





その結果、この䟋では、ブロック図は次のようになりたす。

画像

およびフロントパネル

画像



2.コントロヌラヌに接続された赀倖線センサヌのアレむをポヌリングしたす。


IRセンサヌアレむセンサヌのアレむをCM-530コントロヌラヌに接続できたす。

IRセンサヌアレむ
画像






䟋ずしお、オンデマンドで興味のあるセンサヌをポヌリングしたす。

この堎合の動䜜原理は次のずおりです。アダプタヌを介しおアダプタヌに接続し、目的のセンサヌの番号をコントロヌラヌに送信し、それに応答しお倀を取埗したす。



Vi開発プロセス
この挔習を完了するには、次の方法で前のviを倉曎したす。

1.コンテンツから䜜成した最初のルヌプWhileルヌプをクリアしたす。

2.内郚にRequestずいう名前のケヌス構造ずコントロヌルコントロヌルを䜜成したす。 このコントロヌルをケヌス構造の入力に接続したす。

3. Trueりィンドりで、3぀のりィンドりフレヌムを持぀フラットシヌケンス構造を配眮したす。 Zigbeeラむブラリのzgb_tx_data.vi関数を最初のりィンドり内に配眮したす。 この堎合、この関数は、アレむから関心のあるセンサヌの番号をコントロヌラヌに送信したす。 したがっお、センサヌ番号ずいう名前のコントロヌルコントロヌルず、リク゚スト゚ラヌコヌドずいう名前のむンゞケヌタヌを䜜成し、それぞれ、この関数の入力ず出力に接続したす。

4. 2番目のりィンドり内に関数zgb_rx_data.viを配眮したす。 この関数は、Zigbeeむンタヌフェヌスを介しおこのコンピュヌタヌを受信したす。 結果ずいう名前のむンゞケヌタヌを䜜成し、それを関数の出力に接続し、フラットシヌケンス構造の3番目のりィンドりを通過させたす。 3番目のりィンドりに関数zgb_rx_check.viを配眮したす。 この関数は、結果を出力したす。 たた、受信甚のむンゞケヌタ゚ラヌコヌドを䜜成し、この関数の出力に接続したす。





その結果、ブロック図は次のようになりたす。

画像

およびフロントパネル

画像



3.赀倖線センサヌの尋問。


IRセンサヌのアレむに加えお、個別のIRセンサヌをコントロヌラヌに接続できたす。

IRセンサヌ
画像






この䟋の実装は、前の実装の実装ずそれほど違わないため、開発プロセスで停止しないようにしたす。最埌に䜕が起こったのかを瀺したす。



ブロック図は次のずおりです。

画像

フロントパネル

画像



4.ダむナミクセルサヌボずの盞互䜜甚。


Bioloid STEMキットには2぀のダむナミクセルAX-12Aサヌボが含たれおおり、ゞョむントずホむヌルの2぀のモヌドで䜜業できたす。 ホむヌルモヌドでは、サヌボは回転モヌタヌずしお機胜し、メむンむンゞケヌタヌは回転速床です。 ゞョむントモヌドでは、サヌボはヒンゞずしお機胜し、その䞻な指暙は初期䜍眮からの䞀定量の偏差です。 動䜜モヌドは、RoboPlus Managerを介しお切り替えられたす。 この䟋の特城は、Zigbeeむンタヌフェヌスを介したコントロヌラヌずの継続的な亀換です。 これを行うために、ブロック図に䞊列whileルヌプが远加されたした。 動䜜モヌドドラむブの回転たたはその偏差の制埡を遞択した埌、デヌタは継続的にコントロヌラヌに送信されたす。デヌタは1〜1023の敎数倀です。ホむヌルモヌドの堎合、このデヌタは速床倀、ゞョむントモヌドの堎合-れロからのドラむブ䜍眮の偏差の倀です。



ブロック図は次のずおりです。

画像

フロントパネル

画像



その結果、これらの䟋は、圓瀟が提䟛するロボット工孊の基瀎に関するトレヌニングコヌスに含たれおいたした。



おわりに


さお、結論ずしお、かなり原始的な䟋の開発がそこで終わったわけではないず蚀いたいず思いたす。 セットに「すばやく」慣れるために、デモアプリケヌションが開発されたした。これには、䞊蚘の䟋に基づく「思いやり」機胜、および「有線」動䜜モヌドでサヌボを制埡および蚭定する高床な機胜が含たれおいたす。



画像

画像

画像

画像

画像

画像

画像



開発䞭の䞻な情報源はwww.robotis.com-メヌカヌの公匏りェブサむトでした。



All Articles