Parrot社のドローンManboをNode.jsで操作する簡単な方法

Parrot社のドローンManboをNode.jsで操作する簡単な方法

ドローンManboをNode.jsで動かしてみた

こんにちは。

AI coordinatorの清水秀樹です。

Pepperに変わって、今度はドローンManboで物体検出にチャレンジしてみたいと思います。

このparrot社のドローンManboは写真が撮れるらしいのです。

ということは筆者が好きな物体検出にもチャレンジできるはず!

ということでparrot社のドローンManboを購入しました。

 

とはいえ、いきなり物体検出できるわけではないので、まずは簡単にドローンを操作できるプログラミングをNode.jsでやっていきたいと思います。

Node.jsは触ったことがないので勉強がてらのんびり紹介していきたいと思います。

 

参考にさせて頂いたサイトの紹介

homebrewのインストール方法についてはこちらのサイトを参考にさせて頂きました。

nodebrewのインストール方法についてはこちらのサイトを参考にさせて頂きました。

ソースコードについてはこちらのサイトを参考にさせて頂きました。

ありがとうございます。

 

ドローンManboを操作するコマンドはこちらを参考にしています。

 

環境の準備

homebrewのインストール

homebrewとは、Macにソフトウェアやライブラリをインストールするパッケージ管理システムです。

まずはhomebrewのインストールから始めましょう。

下記コマンドでhomebrewをインストールしましょう。

 

nodebrewのインストール

nodebrewとは、node.jsを自分のマシン内でversion管理するためのツールです。

nodebrewは以下のコマンドでインストールできます。

インストールできたら、以下のコマンドでセットアップします。

続いてパスの設定をしろ!というようなメッセージが出ますので以下のパスを.bash_profileに反映しましょう。

 

node.jsのインストール

安定板をインストールしましょう。

stable: 安定版

latest: 最新版

インストールしただけではまだ利用できません。

useコマンドで、利用するnode.jsのバージョンを指定してあげる必要があります。

下記コマンドは安定版の指定方法です。

バージョンが表示されれば無事インストール完了です。

 

各モジュールのインストール

まずはdroneディレクトリを作成し、作成したディレクトリに移動しましょう。

以下、3つのモジュールをインストールします。

nobleはBluetoothを使うためのモジュールです。

keypressはキーボード入力をサポートするモジュールです。

rolling-spiderはドローンを制御するためのモジュールです。

 

ソースコードの作成

ドローンを検索するfind.jsと、ドローンを操作するapp.jsを作成します。

参考元サイトのソースコードをそのまま流用しています。

find.js

 

app.js

 

ドローンManboを探して接続する方法

早速、find.jsを使用してドローンを探してみましょう。

すると以下のような感じでドローンを検出できます。

yyyyyyyyyyyyyyyyyyyyyとなっている部分がUUIDになります。

このUUIDをapp.jsに指定しましょう。

 

ドローンManboを飛ばしてみよう

以下のコマンドでドローンManboに接続できます。

 

キーボード:t 離陸

キーボード:l 着陸

上記以外はapp.jsを参考にしてください。

 

とりあえず、これで飛びました。

次回は写真の取得にチャレンジしてみたいと思います。

 

 

それでまた。

About The Author

Hideki
東京大学発AIスタートアップ企業でロボット開発室室長、画像解析室室長、動画解析室室長を務め、AIエンジニアとしても画像認識関連の特許を在籍中に3つ取得。その後、KDDIグループ内でプロダクトリーダーとして自然言語処理パッケージの自社開発を経て、現在はAGRISTのテックリードとして農業の人手不足の解決に向けた収穫ロボットの開発にチャレンジしている。ロボットは技術の総合格闘技との考え方から、AIだけでなく、ハードやエレキ、通信からクラウド、IOTまで幅広く手掛けることができる。最近では人とロボットの共存を目指すべく、性能だけを追い求める開発から「感動やワクワク体験」をデザインできるロボットの研究を進めており、人とロボットがうまく共存できる世界を作り出したいと日々行動している。

LEAVE A REPLY

*
*
* (公開されません)