PCからiGadgetsを管理し、さらにはプログラムする方法についても説明したいと思います。 この記事に記載されているすべては、Brookstone Rover Spy TankとAR Drone Parrotの両方に適用されます。 ハイテクガジェットのAR Drone Parrotシリーズに関するHabréシリーズに関する記事はすでにあります。 なんとなくBrokstone Rover Spy Tankにはあまり興味がありませんが、奇妙なことに、このおもちゃはそれほど壮観ではありませんが、飛ぶことはないため、より実用的です。 第一に、AAシリーズpyatniaの6要素の充電は、数時間の連続運転に十分です。 第二に、オタクのウェブカメラとして使用できます。これにより、自宅で起きていることを他のコンピューターから監視したり、ボーナスとしてペットを追いかけたりすることができます。 自宅のコンピューターへのRDPアクセスを設定することで、この製品をモバイルWebカメラとして制御できます。モバイルWebカメラは、写真を表示するだけでなく、部屋の中を移動します。
まず、Brookstone Rover Spy Tankとは何ですか
Brookstone Rover Wireless Spy Tankは、無線誘導戦車です。 iPhoneまたはiPadはコントロールパネルとして機能し、作成されたWi-Fiポイントを介して通信が直接行われます。 このデバイスには、他の人を見ることができる内蔵ビデオカメラが装備されています。 デバイスには、完全な暗闇で撮影するためのマイクと赤外線エミッタもあります。 奇跡のタンクは、単三電池6本で駆動します。 Androidデバイスの所有者には、RoverOpenの実装があり、 play.google.com / store / apps / details?id = org.almende.roveropenのGooglePlayマーケットでダウンロードできます。
最近、第2版の戦車が市場に登場しました。 彼らはいくつかの改善を加えました。 サーボドライブが追加されました。これにより、カムコーダーの回転角度がアプリケーションとサウンドを再生できるスピーカーから制御されます。 上記のすべてに加えて、ビルトインライトが全地形型車両に追加され、その明るさはアプリケーションを介してリモートで制御することもできます。 このバージョンのタンクには、App StoreとGoogle Playに公式アプリケーションがあります。
パソコンから制御
iPhoneまたはAndroidデバイスをお持ちでない場合、そのようなガジェットを入手することはまずありません。 しかし、本当にしたい場合は? それで何?
このような素晴らしいソフトウェアパッケージがあります-EZ-Builder、カナダの同志のツールです。 AR Drone ParrotおよびBrookstone Rover Spy Tankとの交換プロトコルを既に実装しています。 プログラムはC#で書かれています。 管理はカブよりも簡単です。 ここからソフトウェアをダウンロードしてください
www.ez-robot.com/EZ-Builder
インストールは簡単で、説明は不要です。
EZ-Scriptでの簡単なプログラミング
EZ-Builderには、今後のスクリプト言語で簡単なスクリプトを作成する機能があります。 それはBASICを幾分連想させます。 EZ-Builderを使用すると、プロのロボットビルダーおよびソフトウェアエンジニアでなくても、おもちゃの動作をプログラムできます。 EZ-Script言語では、ローバーを制御できるシンプルなプログラムを作成できます。 それらをマスターし、原則を理解するには、管理コンソール「スクリプトコンソール」をEZ-Builderデスクトップに追加します。 これを行うには、F3キーを押すか、[コントロールの追加]-> [スクリプト]-> [スクリプトコンソール]で選択します。
いくつかのコマンドを分析しましょう:
- スリープ(ミリ秒)-ミリ秒単位で一時停止を設定します。 1秒の一時停止の例:スリープ(1000)
- SleepRandom(lowMilliSec、highMilliSec)-ランダムな値で一時停止します。 例:SleepRandom(1000、5000)
- Forward([speed]、[milliSeconds])-前進するコマンド。 0〜255の速度値とミリ秒単位のエンジン動作時間がかかります。 デフォルトは無限です。 例:転送()、転送(50)、転送(255、5000)
- リバース([速度]、[ミリ秒])-フォワードコマンドのリバースアクション、つまり 後方移動。
- 停止()-停止します。
- 左([速度]、[ミリ秒])-左に曲がります。 速度と時間の値をミリ秒単位で取得します。
- 右([速度]、[ミリ秒])-右折
- #-コメント
- :ラベル-GOTO(LABEL)コマンドのラベル。 例:: MyLabel
- Goto(ラベル)-ラベルに移動
- Return()-GOTOを終了してプログラムを続行します
- Halt()-スクリプトの実行を終了します
- HTTPGet(url)-指定されたアドレスにGETリクエストを送信します
- 印刷(txt)-デバッグコンソールにテキストを印刷します
- Exec(EXE / Batファイル、[パラメータ])-外部Windowsプログラムを呼び出します
- ブラウザ(url)-指定されたアドレスでブラウザを起動します
- ツイート(メッセージ)-Twitter.comサービスにメッセージを送信します。 これを行うには、Tweetモジュールを構成します:File-> Twitter Settings。 例:ツイート(「I Love EZ-Robot!」)。 スクリーンショットをカメラからTwitterに送信する例:ControlCommand(「Camera」、CameraTweet、「Our New Image」)
- ControlCommand(windowName、ControlCommandParameter、[values])-コンポーネントをその名前でコンタクトすることでコマンドを実行します。windowNameはEZ-Builderデスクトップ上のウィンドウの名前、ControlCommandParameterはコマンド、[values]は呼び出しコンテキストに応じた追加のオプションパラメーターです。
特別なタブのすべてのコマンドのヘルプをいつでも入手できます。または、次の方法で対応するヘルプを呼び出します。
ヘルプ->スクリプトマニュアルの印刷
オブジェクトを追跡することを学ぶ
[トラッキングタイプ]セクションで、[色]の横にあるチェックボックスをオンにします。 デバイスのカメラの前に明るいオブジェクト(何よりも赤)を置きます。 [色]タブに切り替えて、検出されたオブジェクトの最小サイズ(最小オブジェクトサイズ)を選択し、オブジェクトの明るさ(オブジェクトの明るさ)を設定します。 アイテムが特定されるとすぐに、戦車を動かそうとすると、戦車は彼の方向を向き始めます。 トラッキングクアドラント設定セクションの設定で、垂直線をエッジに少し近づけて、ロボットがオブジェクトの動きにより適切に反応するようにすることをお勧めします。 さらに、さまざまなパラメーターを使用して、必要な設定と最適値を個別に実現できます。
簡単なプログラム
ここで、受け取った情報を集約して、すべてを結び付けます。 Script ManagerコンポーネントをEZ-Builderデスクトップに追加します:[広告コントロール]-> [スクリプト]-> [EZ-Script Manager]。 開いたウィンドウで、[スクリプトの追加]ボタンをクリックします。 [名前]フィールドに、PursuitTargetと入力します。 これが運動プログラムの名前になります。 これは非常にシンプルで、1行で構成されます。 一般的に、EZ-Builderでは、すべてのコンポーネントはウィンドウ名とスクリプト名で相互接続されていると言わなければなりません。 次の内容のプログラムを作成しています。
forward(255)
これは、ターゲット検索プログラムで速度を下げるため、転送速度を最大に設定するためにのみ必要です。 繰り返しますが、[スクリプトの追加]をクリックして、[名前]フィールドにFindTargetとそれに応じてプログラムテキスト自体を記述します。
$findTargetSpeed = 100 $iteration = 0 :Loop1 reverse($findTargetSpeed,1000) # left($findTargetSpeed, 2000) right($findTargetSpeed, 4000) left($findTargetSpeed, 2000) $iteration = $iteration + 1 if ($iteration > 4) return() goto(Loop1) stop()
カメラパネルの[構成]ボタンをクリックし、[スクリプト]タブに移動して、[追跡開始]フィールドの[追跡スクリプト]セクションでPursuitTargetスクリプトへの呼び出しを記述します。
ControlCommand( "Script Manager", ScriptStart, "PursuitTarget" )
追跡終了フィールドに入力します。
ControlCommand( "Script Manager", ScriptStart, "FindTarget"
)
[移動追跡]セクションの[追跡設定]タブに移動し、対応するボックスをオンにします。 また、[左/右の移動を許可]ボックスにチェックマークを付けます。 保存します。 [デバイスリストの更新]をクリックし、[ビデオデバイス:Brookstone_Rover]を選択して、[デバッグ]ボックスと[色]ボックスをオンにします。 [色]タブに移動し、追跡するオブジェクトのサイズと明るさを設定します。 これでターミネーターの「鼻」の前に赤いボールを投げるだけで十分です。彼はすぐにそれを認識してアクティブになります。 その後、彼は追跡を開始します。 ロボットがそれに遭遇するとすぐに、ボールはほとんどの場合横に転がります。 ロボットは彼の方向に向き直り、彼が完全に彼の視界を失った場合、彼は戻って動き始め、左右に向きを変え、追跡されたターゲットを見つけようとします。
ARドローンオウムのプログラミング
違いはありません。 エンジンの始動と着陸のコマンドのみが追加されます。
次は?
次の記事では、C#での作業の例を説明したいと思います。同時に、レーザー懐中電灯を固定し、Webカメラと組み合わせて、レーザー距離計に変換します。
PS:テストのために親切に提供されたガジェットをありがとうicases.ru