Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング

Avatar for mogiken mogiken
April 05, 2018

 JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング

JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング

Avatar for mogiken

mogiken

April 05, 2018
Tweet

More Decks by mogiken

Other Decks in Technology

Transcript

  1. TECHNOMOBILE GROUP  HEAD OFFICE TOKUSHIMA development section | 5floor Column Minamiaoyama,7-1-5,Minamiaoyama,Minato-ku,Tokyo

    107-0062,Japan | 3floor Tokushimakenkohkagaku-center,Hiraishisumiyoshi,Kawauchi-cho,Tokushima-shi Tokushima 771-0134,Japan JavaScript初心者のための
 Node.jsで学ぶドローン制御プログラミング
  2. 13 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ドローンを制御するには 参考: h#p://www.drone-jp.net/?page_id=121 

    スロットル  =  上昇下降 ピッチ    = 前後 ロール = 左右 ラダー(ヨー) = 左右の回転
  3. 16 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Node.jsとは JavaScriptはブラウザで動作する 言語ですが、Node.jsはサーバーで

    動作するJavaScriptです。 非同期処理が得意なためチャットな どの通信用によく使われます。 また、動作が軽いためIoTなどの組 み込みLinuxでよく使われます。
  4. 18 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 この学びの対象者は? →JavaScript初心者でJavaScriptを 使ってドローンを制御してみたい人。つい

    でにNode.jsも学びたい人。 教えないことは? →ばりばりのJavaScriptプログラマーで はないので深い知識はありません。難しい 質問はしないで。
  5. 19 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 講師 Gashfara,Inc.代表   デジタルハリウッド大学院客員講師 茂木健一

    [email protected]  [email protected]  http://facebook.com/mogiken http://www.slideshare.net/mogiken1  自己紹介 [プロフィール/実績] もぎ・けんいち•青山学院大学大学院卒。Gashfara,Inc.代表。本社はハワイですが出社したことな し。ホノルルマラソンには参加w 青山学院大学大学院卒:エニックスでオリジナルゲーム制作(Z80アセンブラ CP/M)、SmallTalk で人工知能開発(企業買収)。 (株)東洋情報システム退社後、(株)エイチアイ、グランスフィア(株)、(株)ファッション ウォーカー(えびもえのEC)など数社のベンチャー企業の立ち上げ・創業期に参画し、ガシュファ ラ・インクをUSで起業。システム開発ではゲーム、TOL(ツタヤオンライン)の立ち上げ。動画配 信システム(USENのGate01:Gyaoの前進)、電子マネーシステム(Bitcash)、ECフルフィルメ ントシステムなど、多彩な分野を経験。IT関連教育では1998年ころからデジハリの2.5階に間借 りしながら教育コンテンツ作成(JIB社)。Brew、Java、セキュリティーなどの講師として活躍。 現在、(株)HUGGを設立し、スマホのカップル向けSNSサービス[HUGG]をグローバルに展開。㈱ テクノモバイルにて技術サポート。 【著書】 BREWプログラミング実践バイブル [共著] (インプレス)、PHP逆引き大全 516の極意[共著](秀 和システム)
  6. 20 成長を実現させるシステム”モバイルトータルソリューション” Web システム スマホ アプリ ゲーム アプリ モバイルトータルソリューション B2B2C

    •  コンシューマ向けの⼤規模Webシステムの開発からアプリ・ゲーム開発までをマルチデバイスで対応 高い技術力 市場ニーズとマッチ ⼤規模 Webシステム に強い Java,PHP Strong1 最先端技術・独⾃ フレームワークで 効率的な 開発 Strong2 ⾼トラフィック、 インフラ ネットワーク に強い Strong3 プライマリー ベンダー、 ヒアリング・ 要件定義 に強い Strong Ⅰ 情報資産の活⽤ 最先端と 知⾒に強い Strong Ⅱ 最先端のマルチ デバイス ウェアラブルに 強い Strong Ⅲ Mashup Awards 5年連続 受賞 会社名 株式会社テクノモバイル 設 ⽴ 2008年 資本⾦ 2,500万円 代 表 播⽥ 誠 従業員数 100名(グループ合計) 本社所在地 〒 107-0062  東京都港区南⻘⼭7-1-5 コラム南⻘⼭ 5F 開発室 〒771-0134 徳島県徳島市川内町平⽯住吉209-5 徳島健康科学総合センター 3F
  7. 21 Macを例に解説します。Windowsはここを参考に  http://qiita.com/takuyakojima/items/780b3b3133a17cceb175  Node.jsをインストール COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6

    nvm(Node.jsバージョン管理ツール)をインストールします。 ・ターミナルを開き下記2行を実行。 git clone https://github.com/creationix/nvm.git ~/.nvm   source ~/.nvm/nvm.sh ・下記を実行してNode.jsの4.1.1をインストールします nvm install 4.1.1 ※gitがインストールされていない時は yum -y install git または brew install git
  8. 22 必要なライブラリをインストール COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ドローンを制御するために必要なライブラリをインストールします。 ・ターミナルを開き下記2行を実行。新しくターミナルを開くたびに必要です。

    ログインシェルに記載するのがよいでしょう。 source ~/.nvm/nvm.sh nvm use 4.1.1 ・下記を実行してライブラリをインストールします npm i noble npm i keypress npm i rolling-spider npm i temporal
  9. 23 動かしてみましょう COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 h#ps://goo.gl/YOjWNW からファイルをダウンロードして実行しましょう。 node

    finddrone.js でドローンの BluetoothIDを探します。PC毎にIDは違い ます。Ctrl-Cで停止できます。 drone.jsの14行目あたりのuuidを見つけた IDに書き換えます。 node drone.jsで実行します。
  10. 24 動かしてみましょう COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 設定完了のメッセージが表示されたら、ターミナルのキーで操作できます。 緊急時にはドローンのガード部分を掴んで捕まえてしまいましょう。

    l = 着陸(緊急時に着陸させるために必ず確認してください。) t = 離陸 x = 接続解除(ちゃんと解除しないと次回接続できません) 離陸後の操作 矢印キー = 方向移動 u = 上昇 d = 下降 w = 90度右回転 q = 90度左回転 a = 自動操縦。離陸して着陸。
  11. 26 Let’s ゲーム COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 指示に従ってゲームをクリアしま しょう

    優勝すると。。。。。 aキーの自動操縦の動きを修正して所定の位置にうまく着陸させましょう。 単純な横移動以外の動きをつければ、ポイントを加算します。 参考:https://github.com/voodootikigod/node-rolling-spider