drone(ドローン)Telloを音声で操縦できるアプリ「Drooone」を紹介していきます。speaker)ばかり登場しています。「もはや音楽再生装置になってしまった!」、という方も多いのではないでしょうか。そこで今回は、これまで紹介してきた技術を応用し、プログラムなどに興味がない一般の方でも楽しめるようにしました。市販の空飛ぶIoT機器として注目されているドローン(drone)を利用しています。アプリは無料で利用できるので、ドローンに興味がある方は実際に動かし試してみて下さい。音声操縦のメリットなどを体験してみましょう。音声操作の他にキーボードやタッチパネルでも操作できるようにUIを最適化しています。UIによる操縦性の違いなどを確認してみるのも面白いです。プログラムに興味がある方であれば、実用的なアプリを開発するうえでの参考にもなると思います。今回は、DroooneアプリとTelloで遊ぶための基本的な知識について説明します。離陸から着陸までの基本的な操作方法については、基本的な操作方法を参照して下さい。Toyドローンとは、撮影などに利用される民生用の本格的なドローンではなく、子供から大人までを対象とした室内での飛行を中心とする小型のドローンです。(Telloは、全長約10cm弱で重量80g)通常、本格的なドローンにはGPSが搭載されています。TelloはGPS非搭載にもかかわらず、安定したホバリング(hovering)を実現していることでも人気を得ています。GPS電波が届きにくい室内では、現時点で最も安定しているドローンの一つです。system)が採用されています。(DJIとは、ドローン業界で世界7割のシェアを持つ中国の企業)2018年3月の発売から既に1年以上経過しているのですが、Toyドローンとしては未だに人気を得ている製品です。Telloより格安な製品も多く販売されていますが、飛行が安定しない、直ぐに壊れる、技適未取得など信頼できる製品は少ないと思われます。筆者としては、お金をケチって購入後に後悔するより、現状ではTelloを選択するほうが無難だと思います。TelloにはプログラミングでコントロールできるSDKが提供されています。プログラム初心者でも、楽しみながらプログラミング学習ができることも魅力の1つだと思います。EDUと呼ばれる2種類の製品が存在します。どちらもハード性能は同じです。EDUは複数台をプログラムで制御できるなどの、プログラム学習用の機能が強化されています。筆者が購入しているのは、スタンダードTelloです。DroooneアプリもスタンダードTello用に最適化しています。kit)を利用します。1.3.0.0」を採用しています。そのためバージョンが古いSDKでは、動作しない可能性があります。その場合は、Tello純正アプリで最新のバージョンにアップデートを行って下さい。このSDKを利用してどんなことができるかというと、当然SDK側の仕様次第ということになります。プログラム初心者や、趣味でTelloを少しだけ制御してみたいというユーザーであれば、現在のSDK仕様でも問題ないと思います。実際にネット上で公開されているのは、ちょっとだけ動作させてみましたというプログラムばかりです。ところが、Droooneアプリのように、誰でも利用できる実用的なアプリを開発しようとした場合、SDKの仕様としては色々と残念な仕様で有ることが判明しました。以下に、残念な仕様についてまとめたので、今後、自分でも本格的なアプリを開発してみようという方は参考にして下さい。残念度が高い仕様から番号順にリストアップしています。複数ソケットを利用したコマンド送信時のレスポンス仕様が変態すぎる(基本的にNG仕様)複数のソケットでコマンドを送信した場合に、全てのレスポンスが最初に接続されたソケット宛に返る。通常のソケット通信では、接続したソケットを宛先として返す必要がある。しない場合は、レスポンスが混信状態になってしまう。操縦系と設定系のコマンドを別のソケットで管理したい場合に大変迷惑。コマンド送信後の割り込みができない例えば、5m前進させるコマンド送信した場合、5m前進が終了するまでレスポンスが返ってこない。そのため、壁に激突しそうな状況での危険回避が困難。レスポンス受信前にコマンドを送信すると制御不能になる。error」が返ると記載されているが返らない。指定した方向に移動するが停止せず最終的には自動的に着陸する。