MajorTom:Alexa Voice Controlled ARDrone 2.0
HologramNovaを搭載したセルラーバックドアRaspberryPiフラスコで-サーバーに問い合わせる-AmazonAlexaが制御します。
ストーリー
動機
ARDrone 2.0を使用した以前のプロジェクトは、新しいプロジェクトについて学ぶのに役立ちました。現在のAlexaとArduinoのスマートホームチャレンジのエントリでは、音声制御ドローンの実用的なデモを作成するために必要なスキルを紹介しました。
以下に、プロセスの概要を示します。
Piソフトウェアのセットアップ
必要なソフトウェアを使用してPiをセットアップするには、flask-askをインストールします。
$ sudo pipinstallflask-質問
Alexaスキルとアプリのセットアップ
#!/ usr / bin / envpythonfromフラスコimportFlaskfromflask_ask import Ask、statementimport ardroneimport timeapp =Flask(__ name __)ask =Ask(app、 '/')drone =ardrone.ARDrone() time.sleep(5)drone.reset()@ app.route( '/')def home():return'Ground Control to Major Tom '@ ask.intent(' reset ')def reset():drone.reset ()speech_text ='resetting' return statement(speech_text)
このアプリケーションを実行するには、次のように入力します。
python app.py
このプロジェクトでは、ngrokを使用してhttps経由でアプリケーションを提供しました。リンクがAmazonAlexaスキル構成と一致するように、予約済みのサブドメイン名を使用しました。アプリケーションを提供するには、次を実行します:
./ ngrok http -subdomain =5000
Raspberry PiがARDroneのWiFiアクセスポイントに参加するため、Hologram Nova USBモデムをセルラーバックドアとして使用して、Alexaがフラスコアスクサーバーと通信できるようにします。
Alexaスキルを設定し、Amazonデベロッパーダッシュボードに移動してログインします。 Alexa をクリックします。 および開始 Alexaスキルキット付き。次に、[新しいスキルを追加]をクリックして新しいスキルを作成します。 指示に従って、左側のタブの完成を開始します。
- 相互作用モデルの下で [インテントスキーマ]ボックスに次のように入力します。
{"intents":[{"intent": "reset"}、{"intent": "takeoff"}、{"intent": "land"}、{"intent": "hover"}、{"intent": "goForward"}、{"intent": "goBackward"}、{"intent": "goLeft"}、{"intent": "goRight"}、{"intent": "AMAZON.PreviousIntent"}、{"intent": "AMAZON.NextIntent"}、{"intent": "AMAZON.HelpIntent"}、{"intent": "AMAZON.ScrollUpIntent"}、{"intent": "AMAZON .ScrollLeftIntent "}、{" intent ":" AMAZON.ScrollDownIntent "}、{" intent ":" AMAZON.ScrollRightIntent "}、{" intent ":" AMAZON.PageUpIntent "}、{" intent ":" AMAZON.PageDownIntent "}、{" intent ":" AMAZON.MoreIntent "}、{" intent ":" AMAZON.NavigateSettingsIntent "}、{" intent ":" AMAZON.StopIntent "}]}
- [サンプル発話]ボックスに、次のように入力します。
リセットresettakeofftakeofftakeoffliftofftakeoffrise uptakeoff blast offtakeoff riseland landland come down to earthland come downland get on the Groundland Ground controlhover hoverhover stay puthover stay where you aregoForward going forwardgoForward comeforwardgoForward comegoBackward go backgoBackward go backsgoBackward backgoLeft move leftgoLeft go leftgoLeft turn leftgoRight go rightgoRight move rightgoRight turn right
- 構成 タブで、HTTPSへのサービスエンドポイントを選択してください。 httpsリンクをコピーして、下の[デフォルト]ボックスに貼り付けます。アカウントのリンクは「いいえ」のままにしておくことができます。
- SSL証明書内 真ん中のオプション「私の開発エンドポイントは、認証局からのワイルドカード証明書を持つドメインのサブドメインです」を選択します。
- テスト タブを使用すると、サンプルコマンドの1つを入力して、新しいスキルをテストできます。
実行
アプリケーション全体を実行するには、まずドローンがオンになっていて、Wi-Fi接続がオンになっていることを確認します。 Raspberry Piサーバーで、ARDroneのネットワークに接続します。ターミナルで、次のコマンドを実行してホログラムのネットワークに接続します。
$ sudoホログラムネットワーク接続
Novaの青色LEDが点灯し、このプロセスが完了すると、セルラーネットワークに接続されます。別のタブで、前述のngrokコマンドを実行します:
$ ./ngrok http -subdomain =5000
最後に、別のタブでアプリケーションを実行します
$ python app.py
ドローンのライトが緑色の場合は、飛行しても問題ありません。そうでない場合は、「Alexa、MajorTomにリセットを依頼してください」と言ってAlexaにリセットを依頼してください。
出典: MajorTom:Alexa Voice Controlled ARDrone 2.0
製造プロセス