ScratchでTelloを操縦してみる
はじめに
ホビー用のドローンを数年前に購入しましたが、操縦が難しくてすぐに断念しました。Telloは安定飛行できそうなので購入して、まずはScratchの操縦を試してみました。
使用するもの
アプリのインストール
AndroidスマホのPlayストアで"tello"を検索してアプリインストールしました。
アプリで操縦
Telloのアプリで離陸まではできましたが、その後は無反応でした。。
仕方なく、スマホ機種を変更しても、状況は変わらず。
Telloのサポートに問合せした所、推奨機種ではないということでした。
(下記サイト参照)
https://www.ryzerobotics.com/jp/tello/downloads
推奨機種を見ると、非常に少ない。。Telloについて書いている本やサイトを色々見ましたが、推奨機種でなくてダメでしたというのがないので不思議。。
ただ、その後、いつの間にかそれなりに操縦できるようになりました。不思議なのでアプリを再インストールすると、まだダメ。。
それでも、またいつの間にかそれなりに操縦できます。色々検証しても理由は不明。。
Scratchとの連携情報
下記サイトの「Scratch README」を開き、これを元に作業開始。
https://www.ryzerobotics.com/jp/tello/downloads
Scratchのインストール
Scratchのオフライン用をダウンロードインストールする。
既にインストール済みだったので省略。
Node.jsのインストール
下記サイトからNode.jsをインストールする。(今回は ver 10.13.0 LTS)
連携ファイルのインストール
下記サイトから連携ファイルをダウンロード・解凍。
フォルダ名を「ScratchTello」に変更してドキュメントフォルダへ移動。
https://dl-cdn.ryzerobotics.com/downloads/tello/20180910/scratch0907.7z
しかし、上記最新だと「not ok」エラー出てだめで下記の古いやつでOKだった。。
https://dl-cdn.ryzerobotics.com/downloads/tello/20180222/Scratch.zip
起動用のショートカットを新規作成する。
項目の場所は「C:\Program Files\nodejs\node.exe」
ショートカットのプロパティを次のように編集する。
リンク先: "C:\Program Files\nodejs\node.exe" Tello.js
作業フォルダ: C:\Users\tsakai\Documents\ScratchTello
連携設定
ショートカットをダブルクリックしてnodeを起動。
パソコンからTelloにwifi接続する。
スクラッチを起動する。shift押しながらメニューのファイルを開く。
サブメニューの「Import experimental HTTP extension」を選択する。
ダウンロードしていたTello.s2eを選択する。
スクリプトタブ内の「その他」にTelloのブロックが表示されている。
残念ながらカメラ映像のAPIがありません。次のステップで画像などもしたかったのですが無理でした。ただ、ネットで調べると、解析してライブラリを公開されているサイトもあるようです。
実行
スクラッチを実行してみたが、コマンドで「not ok」と表示されてTelloは無反応。
前述の通り、少し古いバージョンの連携ファイルだと動作できた。
各指示の間に5秒程度の待機が必ず必要だった。
最後に
なぜか徐々に上に行ってしまい、最後には部屋の天井に張り付いてしまう。。
仕方がないので、指令毎に30cm降下する処理を追加して対応した。