Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング
Search
mogiken
April 05, 2018
Technology
0
290
JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング
JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング
mogiken
April 05, 2018
Tweet
Share
More Decks by mogiken
See All by mogiken
Ethereumをさわって実感するブロックチェーンハンズオン
mogiken
0
200
自己紹介LT
mogiken
0
400
チームスマコン・ブロックチェーン勉強会資料3回
mogiken
0
320
チームスマコン・ブロックチェーン勉強会資料2回
mogiken
0
230
チームスマコン・ブロックチェーン勉強会資料1回
mogiken
0
400
Ethereumをさわって実感するブロックチェーンハンズオン
mogiken
1
330
自己紹介
mogiken
0
210
Other Decks in Technology
See All in Technology
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
160
Google Cloud Next '24 Recap(Cloud Run/k8s)
mokocm
0
330
Building a RAG-poweredAI chat appwith Python and VS Code
pamelafox
0
160
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
1k
M&A戦略を支えるデータマネジメント (MIDAS Tech Study #16 GENDA Komiyama)
kommy339
1
110
DMM.com アルファ室採用案内資料
hsugita
1
230
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
37k
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
35k
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
160
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
190
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
2
320
今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
devops_vtj
1
350
Featured
See All Featured
How GitHub Uses GitHub to Build GitHub
holman
468
290k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
How to Ace a Technical Interview
jacobian
273
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
Building Applications with DynamoDB
mza
88
5.6k
KATA
mclloyd
16
12k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
8
1.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
Transcript
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 最近ドローン流行ってますよね。 流行語にもなりました。 落ちたりw COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6
3 ドローンはラジコンの延長のような おもちゃと思っていませんか? 実はセンサーがたくさんあり それらを制御するためにコンピュー タが内蔵されています。 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS
RESERVED. 6
4 応用範囲も広くレースだけではなく 端の点検や土壌調査、農薬散布など に使われ始めています。 Amazonは宅配も計画中!!! 第四次産業革命とも COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS
RESERVED. 6
5 実際に飛ばしたことありますか? COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6
6 実際に飛ばしてみましょう!!! おもちゃのドローンなら簡単で す。 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6
7 みなさんはプログラマーですよね? であればプログラムで制御してみた いと思いませんか? COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6
8 おもちゃのドローンでもSDKが配布 されているものもあり、手軽にプロ グラム制御できます。 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6
9 もちろん簡単なJavaScriptでも制 御できるのです。 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6
10 今回はJavaScriptの実行環境に Node.jsを使って、ドローン制御方 法を学びましょう。 ハンズオン形式で!! COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
11 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 使用するドローン
12 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ドローンはどうやって飛ぶのでしょう? ジャイロセンサー、加速度センサ、 高度センサ、GPSセンサなどをもと
に、コントローラ(コンピュータ) が制御します。
13 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ドローンを制御するには 参考: h#p://www.drone-jp.net/?page_id=121
スロットル = 上昇下降 ピッチ = 前後 ロール = 左右 ラダー(ヨー) = 左右の回転
14 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ドローンをプログラムで制御するには WiFi/Bluetoothなどの無線 スマホ/PCなど
15 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 今回、制御する構成 Bluetooth PC(Node.js)
16 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Node.jsとは JavaScriptはブラウザで動作する 言語ですが、Node.jsはサーバーで
動作するJavaScriptです。 非同期処理が得意なためチャットな どの通信用によく使われます。 また、動作が軽いためIoTなどの組 み込みLinuxでよく使われます。
17 「Node.jsをインストール」「必要なライブラリをインストール」のページを実 行して、Node.jsとライブラリーをインストール済みにしておいてください。 6 事前準備
18 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 この学びの対象者は? →JavaScript初心者でJavaScriptを 使ってドローンを制御してみたい人。つい
でにNode.jsも学びたい人。 教えないことは? →ばりばりのJavaScriptプログラマーで はないので深い知識はありません。難しい 質問はしないで。
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の極意[共著](秀 和システム)
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
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
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
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で実行します。
24 動かしてみましょう COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 設定完了のメッセージが表示されたら、ターミナルのキーで操作できます。 緊急時にはドローンのガード部分を掴んで捕まえてしまいましょう。
l = 着陸(緊急時に着陸させるために必ず確認してください。) t = 離陸 x = 接続解除(ちゃんと解除しないと次回接続できません) 離陸後の操作 矢印キー = 方向移動 u = 上昇 d = 下降 w = 90度右回転 q = 90度左回転 a = 自動操縦。離陸して着陸。
25 ソースコード解説 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6
26 Let’s ゲーム COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 指示に従ってゲームをクリアしま しょう
優勝すると。。。。。 aキーの自動操縦の動きを修正して所定の位置にうまく着陸させましょう。 単純な横移動以外の動きをつければ、ポイントを加算します。 参考:https://github.com/voodootikigod/node-rolling-spider
27 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 あとは、サンプルを自分なりに改造して遊びましょう。 自分でもおもちゃのドローンを入手してチャレンジ これであなたも新しい第4次産業エンジニア
の仲間入り!!
28 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・IoT事業の参考 ・本格的な第四次(六次?)産業への参入検証 ・Node.jsの開発サービス参入
・デザイナー・エンジニアのスキル向上 適用事例(経営者・営業担当の方に)