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
330
JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング
JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング
mogiken
April 05, 2018
Tweet
Share
More Decks by mogiken
See All by mogiken
Ethereumをさわって実感するブロックチェーンハンズオン
mogiken
0
240
自己紹介LT
mogiken
0
520
チームスマコン・ブロックチェーン勉強会資料3回
mogiken
0
410
チームスマコン・ブロックチェーン勉強会資料2回
mogiken
0
250
チームスマコン・ブロックチェーン勉強会資料1回
mogiken
0
420
Ethereumをさわって実感するブロックチェーンハンズオン
mogiken
1
360
自己紹介
mogiken
0
240
Other Decks in Technology
See All in Technology
自然言語でAPI作業を片付ける!「Postman Agent Mode」
nagix
0
120
巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略
zozotech
PRO
0
240
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
6.7k
米軍Platform One / Black Pearlに学ぶ極限環境DevSecOps
jyoshise
2
520
ABEJA FIRST GUIDE for Software Engineers
abeja
0
3.2k
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
3
920
現地速報!Microsoft Ignite 2025 M365 Copilotアップデートレポート
kasada
2
1.5k
DDD x Microservice Architecture : Findy Architecture Conf 2025
syobochim
12
3.4k
Axon Frameworkのイベントストアを独自拡張した話
zozotech
PRO
0
220
[CV勉強会@関東 ICCV2025 読み会] World4Drive: End-to-End Autonomous Driving via Intention-aware Physical Latent World Model (Zheng+, ICCV 2025)
abemii
0
240
Building AI Applications with Java, LLMs, and Spring AI
thomasvitale
1
230
不確実性に備える ABEMA の信頼性設計とオブザーバビリティ基盤
nagapad
4
5.4k
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Rails Girls Zürich Keynote
gr2m
95
14k
Become a Pro
speakerdeck
PRO
29
5.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
118
20k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Why Our Code Smells
bkeepers
PRO
340
57k
Building Applications with DynamoDB
mza
96
6.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
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の開発サービス参入
・デザイナー・エンジニアのスキル向上 適用事例(経営者・営業担当の方に)