Scratch Advent Calendar 2015 の 12/24 の記事として書きます。日付変わってしまってちょっと遅れてしまいました、ごめんなさい。
題名そのままですが、Scratch からミニドローンの Parrot Airborne シリーズのをコントロールできる Scratch2Airborne をつくりました。検証はしていませんが、たぶん共通のインターフェースである Rolling Spider シリーズも動くんじゃないかと思います。
注意(2015/12/27 追記) ミニドローンといえども、プロペラ部分など大変危険です。ワークショップなどでこどもと操作する場合には、長袖シャツ、保護メガネ、手袋を着用するなど、安全管理に十分ご注意ください。家の観葉植物をかすった際、写真のように、葉っぱがスパっと切られてしまいました。
ちなみに僕が買って動かしてみたのは黄色いボディの Parrot Aiborne Cargo Travis です。この記事を読んで欲しくなった方は以下のリンクから買っていただけるとうれしいです :)
いつものように Scratch のリモートセンサープロトコルの仕組みを利用し、Scratch から送られてきた命令を変換してドローンに渡します。(リモートセンサープロトコルについて詳しく知りたい方はこちら → Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その5))
今回、ドローンに命令を送るライブラリとして、node.js のnode-rolling-spiderを使うことにしたので、Scratch2Airborne は node.js のプログラムです。
ソースコードはこちら↓
» Scratch2Airborne | GitHub
node.js が利用できる環境を準備し、上記ソースをダウンロードしたあと、必要なライブラリを以下のようにインストールします。
ミニドローンが起動されているのを確認した上で、
これは、Bluetooth 接続でミニドローンにアクセスできる ID である uuid を確認するためのプログラムです。
この ID をひかえた上で、別の scratch2airborne.js の以下の該当部分にコピペします。
スクラッチの遠隔センサ接続を有効にした上で(やり方はこちら)、scratch2airborne を以下のように実行します。
SESSION START というメッセージが表示されたら、接続成功です。
スクラッチの「送る」ブロックを使って、命令をドローンに送ります。
スクラッチのプロジェクトはこんな感じです ↓
送ることができる命令は以下の通りです。
こんな感じで飛びますという動画を撮りました。こちらです ↓
今後は、スクラッチを経由して、Leap Motion や Kinect でドローンを動かしてみることに挑戦していきたいと思います。
題名そのままですが、Scratch からミニドローンの Parrot Airborne シリーズのをコントロールできる Scratch2Airborne をつくりました。検証はしていませんが、たぶん共通のインターフェースである Rolling Spider シリーズも動くんじゃないかと思います。
注意(2015/12/27 追記) ミニドローンといえども、プロペラ部分など大変危険です。ワークショップなどでこどもと操作する場合には、長袖シャツ、保護メガネ、手袋を着用するなど、安全管理に十分ご注意ください。家の観葉植物をかすった際、写真のように、葉っぱがスパっと切られてしまいました。
ちなみに僕が買って動かしてみたのは黄色いボディの Parrot Aiborne Cargo Travis です。この記事を読んで欲しくなった方は以下のリンクから買っていただけるとうれしいです :)
パロット ミニ ドローン エアボーン カーゴ クワッドコプター トラビス (イエロー) 【日本正規品】
posted with amazlet at 15.12.24
パロット (2015-09-18)
売り上げランキング: 3,004
売り上げランキング: 3,004
いつものように Scratch のリモートセンサープロトコルの仕組みを利用し、Scratch から送られてきた命令を変換してドローンに渡します。(リモートセンサープロトコルについて詳しく知りたい方はこちら → Scratch(スクラッチ)を外部のプログラムなどとつなぐ「遠隔センサー接続」を解説する(その5))
今回、ドローンに命令を送るライブラリとして、node.js のnode-rolling-spiderを使うことにしたので、Scratch2Airborne は node.js のプログラムです。
ソースコードはこちら↓
» Scratch2Airborne | GitHub
node.js が利用できる環境を準備し、上記ソースをダウンロードしたあと、必要なライブラリを以下のようにインストールします。
$ npm i noble
$ npm i rolling-spider
ミニドローンが起動されているのを確認した上で、
$ node find.js
これは、Bluetooth 接続でミニドローンにアクセスできる ID である uuid を確認するためのプログラムです。
この ID をひかえた上で、別の scratch2airborne.js の以下の該当部分にコピペします。
スクラッチの遠隔センサ接続を有効にした上で(やり方はこちら)、scratch2airborne を以下のように実行します。
$ node scratch2airborne.js
SESSION START というメッセージが表示されたら、接続成功です。
スクラッチの「送る」ブロックを使って、命令をドローンに送ります。
スクラッチのプロジェクトはこんな感じです ↓
送ることができる命令は以下の通りです。
- takeoff: 離陸
- land: 着陸
- forward: 前進
- backward: 後退
- hover: ホバリング(その場で静止する)
- right: 右に約90度旋回
- left: 左に約90度旋回
- flip: 前方宙返り
- backflip: 後方宙返り
- up: 上昇
- down: 下降
こんな感じで飛びますという動画を撮りました。こちらです ↓
今後は、スクラッチを経由して、Leap Motion や Kinect でドローンを動かしてみることに挑戦していきたいと思います。
2015/12/25 03:19:45