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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
mogiken
April 05, 2018
Technology
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング
JavaScript初心者のためのNode.jsで学ぶドローン制御プログラミング
mogiken
April 05, 2018
More Decks by mogiken
See All by mogiken
Ethereumをさわって実感するブロックチェーンハンズオン
mogiken
0
260
自己紹介LT
mogiken
0
570
チームスマコン・ブロックチェーン勉強会資料3回
mogiken
0
420
チームスマコン・ブロックチェーン勉強会資料2回
mogiken
0
270
チームスマコン・ブロックチェーン勉強会資料1回
mogiken
0
440
Ethereumをさわって実感するブロックチェーンハンズオン
mogiken
1
380
自己紹介
mogiken
0
260
Other Decks in Technology
See All in Technology
企業でAWS Organizationsを動かすための組織設計の考え方
nrinetcom
PRO
1
110
世界、断片、モデル。そして理解
ardbeg1958
1
130
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
280
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
3.3k
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
320
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
830
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
5.9k
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
130
AI時代のYAGNI:「爆速で無駄になった機能」からの学び / 20260720 Naoki Takahashi
shift_evolve
PRO
2
310
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
390
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
1
420
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
340
Navigating Weather and Climate Data
rabernat
0
360
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Ethics towards AI in product and experience design
skipperchong
2
330
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
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の開発サービス参入
・デザイナー・エンジニアのスキル向上 適用事例(経営者・営業担当の方に)