最近お家ハックにハマってgooglehomeからTVの操作したり人感センサ設置して帰宅した際に自動で部屋の電気つけたりしていますが,ついにドローンの制御に手を出してることにしました.
  
その内高性能なドローンが出たら洗濯機動かしたり洗濯物干したりがドローンでできるようになるんじゃないかなとか淡い期待を抱いてます..

Parrot ドローン Mambo FLY
IMG_1191.JPG
これがpythonで制御できるらしいので買ってみました.

他の記事を読むとpymamboというライブラリが使われているんですが,いざこいつのgithubページにいくとpyparrotを使えと書いてあるのでこちらを使います.

んで基本的には上記github wikiのinstallationに従って設定していけば問題ないかと思います.

まぁそれだけだと味気ないので私が躓いた所だけメモしておきます.
まず上記installationのページに従ってapt-getを進めていけば良いのですが,

sudo apt-get install python-pip libglib2.0-dev
sudo pip install bluepy
sudo apt-get update

の2行目のところでつまずきました.盲目的にコマンドコピペしていたのでpip installsudoしてしまっているのを見逃しました.rootとかで実行しないならここpip install bluepyで良くて,sudoいらないです.

最後に同じみgit cloneで好きなところにライブラリ持って来ればOKです.

ライブラリ関係の設定が終わったらBLEの設定しましょう.
デバイス(ドローン)のスキャニングとか,この辺のページ参考にすればできますし
http://www.autumn-color.com/archives/248
githubのQuick start: Mamboに書いてあるようにcloneしたpyparrotフォルダ内でsudo python findMambo.pyと打ってやれば自分のドローンが見つかるはずです.

xxx@raspberrypi:~/Project/pyparrot $ sudo hcitool lescan
LE Scan ...
xx:xx:xx:xx:xx:xx (unknown)
yy:yy:yy:yy:yy:yy Mambo_612567
xx:xx:xx:xx:xx:xx (unknown)

これでQuick start: Mamboに書いてあるように,

python examples/demoMamboTricks.py

で試しフライトしてみたいのでdemoMamboTricks.pyのアドレス部分を自分のMamboのものに変えます.またwifiを使わない場合はそちらも設定します.

# you will need to change this to the address of YOUR mambo
# mamboAddr = "e0:14:d0:63:3d:d0"
mamboAddr = "yy:yy:yy:yy:yy:yy"

# make my mambo object
# remember to set True/False for the wifi depending on if you are using the wifi or the BLE to connect
# mambo = Mambo(mamboAddr, use_wifi=True)
mambo = Mambo(mamboAddr, use_wifi=False)

次にpython examples/demoMamboTricks.pyとやりたいところなんですがこのままだと

ImportError: No module named Mambo

とエラーが出るのでMambo.pyが置いてあるフォルダにパスを通しましょう.
パスの通し方は現在パスが通っているフォルダを確認して,そのフォルダにxxx.pthというファイルを作成してその中にパスを書き込んでやればOKです.

  • pathの確認
xxx@raspberrypi:~/Project $ python
Python 3.6.4 (default, Jan 21 2018, 22:53:16) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/home/xxx/.pyenv/versions/3.6.4/lib/python36.zip', '/home/xxx/.pyenv/versions/3.6.4/lib/python3.6', '/home/xxx/.pyenv/versions/3.6.4/lib/python3.6/lib-dynload', '/home/xxx/.pyenv/versions/dev_3.6.4/lib/python3.6/site-packages']
>>> 

/home/xxx/.pyenv/versions/dev_3.6.4/lib/python3.6/site-packagesにパスが通っているようなのでここに適当なファイルを作ります.

xxx@raspberrypi:~/Project $ vim /home/xxx/.pyenv/versions/dev_3.6.4/lib/python3.6/site-packages/mymodule.pth

mymodule.pthに下記を追記.

/home/xxx/Project/pyparrot

これで

python examples/demoMamboTricks.py

が実行できるようになりドローンがアクロバティックな動きをしてくれるはずです.

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.