狠狠撸

狠狠撸Share a Scribd company logo
.NETラボ 勉強会 2016年4月
FPV LEGO MINDSTORM EV3
2016/04/23 初音玲
.NETラボ 勉強会 2016年4月
自己紹介
?初音 玲
?仕事略歴
? システム企画
? インフラ構築
? 業務アプリ構築
? DB設計、構築、各種支援
?略歴
? Microsoft MVP (2008/04-2017/03)
? Oracle ACE (2008/04-:日本で2人目)
2
.NETラボ 勉強会 2016年4月
本日のシステム構成
?LEGO MINDSTORM EV3
?Raspberry PI 2 Freetel KATANA 01
?Freetel KATANA 02
3
.NETラボ 勉強会 2016年4月
本日のシステム構成図
4
UWP
アプリ
UWP
アプリ
音声認識
音声合成
画像認識
コンパス
EV3制御
コンパス
表示
AllJoyn (予定)
.NETラボ 勉強会 2016年4月
本日のシステム構成図
5
UWP
アプリ
UWP
アプリ
音声認識
音声合成
画像認識
コンパス
EV3制御
コンパス
表示
AllJoyn (予定)
.NETラボ 勉強会 2016年4月
本日のシステム構成図
6
UWP
アプリ
UWP
アプリ
音声認識
音声合成
画像認識
コンパス
EV3制御
コンパス
表示
AllJoyn (予定)
.NETラボ 勉強会 2016年4月
コンパス連携
7
.NETラボ 勉強会 2016年4月
コンパス連携の仕組み
?方位があうようにEV3の向きを変える
8
(1)方位計測(2)方位送信(3)方位差計算
(4)EV3制御
北方向=0 北方向=0
.NETラボ 勉強会 2016年4月
コンパス連携
?方位測定
9
this.MyCompass = Compass.GetDefault();
private async void MyCompass_ReadingChanged(Compass sender,
CompassReadingChangedEventArgs e)
{
await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(
CoreDispatcherPriority.Normal,
new DispatchedHandler(() =>
{
var reading = e.Reading;
this.HeadingMagneticNorth = reading.HeadingMagneticNorth;
this.HeadingAccuracy = reading.HeadingAccuracy.Text();
}));
}
.NETラボ 勉強会 2016年4月
【重要】機能で「場所」を許可
10
.NETラボ 勉強会 2016年4月
コンパス連携
?方位差計算
? (0?360跨ぎは未考慮)→動かしてみたら実はすごく重要
11
var ceilHeading = Math.Ceiling(headingMagneticNorth);
var ceilRequest = Math.Ceiling(requestMagneticNorth);
if (ceilHeading < ceilRequest - 5)
{
// 東方向に回転
var step = (uint)Math.Ceiling((ceilRequest - ceilHeading) / 180);
}
else if (ceilHeading > ceilRequest - 5)
{
// 西方向に回転
var step = (uint)Math.Ceiling((ceilHeading - ceilRequest) / 180);
}
.NETラボ 勉強会 2016年4月
コンパス連携
?EV3制御
12
private Lego.Ev3.Core.Brick Connecter;
await this.Connecter.DirectCommand.
StepMotorAtPowerAsync(OutputPort.A, 50, step, true);
await this.Connecter.DirectCommand.
StepMotorAtPowerAsync(OutputPort.D, -50, step, true);
.NETラボ 勉強会 2016年4月
音声会話
13
.NETラボ 勉強会 2016年4月
音声会話
14
Bot Frameworkは、
日本語でやるのに一工夫が必要
音声認識 雑談API 音声合成
.NETラボ 勉強会 2016年4月
音声会話
?音声認識
15
this.Speech =
new SpeechRecognizer
(SpeechRecognizer.SystemSpeechLanguage);
var dictationConstraint =
new SpeechRecognitionTopicConstraint
(SpeechRecognitionScenario.Dictation,
"dictation");
this.Speech.Constraints.Add(dictationConstraint);
SpeechRecognitionCompilationResult result =
await this.Speech.CompileConstraintsAsync();
this.Speech.ContinuousRecognitionSession.ResultGenerated
+= ContinuousRecognitionSession_ResultGenerated;
.NETラボ 勉強会 2016年4月
音声会話
?EV3制御+雑談
? https://api.apigw.smt.docomo.ne.jp/
16
var client = new HttpClient();
var respon = await client.PostAsync(requestUri,
new StringContent(json,
System.Text.Encoding.UTF8,
"application/json"));
var responJsonText =
await respon.Content.ReadAsStringAsync();
var ans =
JsonConvert.DeserializeObject<TAnswer>(responJsonTex
this.AnswerText = ans.utt;
.NETラボ 勉強会 2016年4月
音声会話
?音声合成 (Win10標準)
17
var synthesizer =
new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
var stream =
await synthesizer.SynthesizeTextToStreamAsync(message);
this.Element.SetSource(stream, stream.ContentType);
this.Element.Play();
.NETラボ 勉強会 2016年4月
音声会話で問題発生
18
音声認識 雑談API 音声合成
.NETラボ 勉強会 2016年4月
音声会話で問題発生
?解決方法は?
1. 音声認識は操作側、音声合成はEV3側と役目を分ける
2. 音声合成時には音声認識をオフにする
19
音声認識 雑談API 音声合成
音声合成したものを音声認識が入力としてしまい
延々と雑談を一人ノリ突っ込みしてしまう
.NETラボ 勉強会 2016年4月
画像認識連携
20
.NETラボ 勉強会 2016年4月
FIN
25
Ad

Recommended

鲍奥笔によるマルチデバイス开発最新事情
鲍奥笔によるマルチデバイス开発最新事情
Akira Hatsune
?
Microsoft Holographicってなに? 来年、Windows 10に来るらしいぜ?
Microsoft Holographicってなに? 来年、Windows 10に来るらしいぜ?
Akira Hatsune
?
//build/ 2016現地で感じたクライアント開発の潮流
//build/ 2016現地で感じたクライアント開発の潮流
Akira Hatsune
?
無償のVisual studioで作るクライアント アプリ
無償のVisual studioで作るクライアント アプリ
Yasuhiko Yamamoto
?
UWP アプリを JavaScript で作る 3つの方法
UWP アプリを JavaScript で作る 3つの方法
Yasuhiko Yamamoto
?
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」
Yasuhiko Yamamoto
?
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
Yasuhiko Yamamoto
?
その後のBash on windows
その後のBash on windows
Kazushi Kamegawa
?
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
Yasuhiko Yamamoto
?
奥颈苍诲辞飞蝉10时代のクロスプラットフォーム开発
奥颈苍诲辞飞蝉10时代のクロスプラットフォーム开発
Kazushi Kamegawa
?
わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25
Yasuhiko Yamamoto
?
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
Yasuhiko Yamamoto
?
.NET 5 and Windows app dev
.NET 5 and Windows app dev
一希 大田
?
Visual Studio と Azure で Python を始めよう
Visual Studio と Azure で Python を始めよう
Akira Inoue
?
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
?
鲍飞辫アプリケーション开発入门
鲍飞辫アプリケーション开発入门
Makoto Nishimura
?
Uno Platform 入門
Uno Platform 入門
m ishizaki
?
Team development
Team development
Takao Tetsuro
?
.NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!)
Akira Inoue
?
第5回业开中心会议
第5回业开中心会议
Kaoru NAKAMURA
?
WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発
一希 大田
?
デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912
m ishizaki
?
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
Akira Inoue
?
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Osamu Monoe
?
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
Akira Inoue
?
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Akira Inoue
?
Getting Started .NET Core
Getting Started .NET Core
Yuta Matsumura
?
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
一希 大田
?

More Related Content

What's hot (20)

わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
Yasuhiko Yamamoto
?
奥颈苍诲辞飞蝉10时代のクロスプラットフォーム开発
奥颈苍诲辞飞蝉10时代のクロスプラットフォーム开発
Kazushi Kamegawa
?
わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25
Yasuhiko Yamamoto
?
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
Yasuhiko Yamamoto
?
.NET 5 and Windows app dev
.NET 5 and Windows app dev
一希 大田
?
Visual Studio と Azure で Python を始めよう
Visual Studio と Azure で Python を始めよう
Akira Inoue
?
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
?
鲍飞辫アプリケーション开発入门
鲍飞辫アプリケーション开発入门
Makoto Nishimura
?
Uno Platform 入門
Uno Platform 入門
m ishizaki
?
Team development
Team development
Takao Tetsuro
?
.NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!)
Akira Inoue
?
第5回业开中心会议
第5回业开中心会议
Kaoru NAKAMURA
?
WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発
一希 大田
?
デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912
m ishizaki
?
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
Akira Inoue
?
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Osamu Monoe
?
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
Akira Inoue
?
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Akira Inoue
?
Getting Started .NET Core
Getting Started .NET Core
Yuta Matsumura
?
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
一希 大田
?
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
Yasuhiko Yamamoto
?
奥颈苍诲辞飞蝉10时代のクロスプラットフォーム开発
奥颈苍诲辞飞蝉10时代のクロスプラットフォーム开発
Kazushi Kamegawa
?
わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25
Yasuhiko Yamamoto
?
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
Yasuhiko Yamamoto
?
.NET 5 and Windows app dev
.NET 5 and Windows app dev
一希 大田
?
Visual Studio と Azure で Python を始めよう
Visual Studio と Azure で Python を始めよう
Akira Inoue
?
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
Yasuhiko Yamamoto
?
鲍飞辫アプリケーション开発入门
鲍飞辫アプリケーション开発入门
Makoto Nishimura
?
Uno Platform 入門
Uno Platform 入門
m ishizaki
?
.NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!)
Akira Inoue
?
第5回业开中心会议
第5回业开中心会议
Kaoru NAKAMURA
?
WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発
一希 大田
?
デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912
m ishizaki
?
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
Akira Inoue
?
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Osamu Monoe
?
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
Akira Inoue
?
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Akira Inoue
?
Getting Started .NET Core
Getting Started .NET Core
Yuta Matsumura
?
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
一希 大田
?

FPV LEGO MINDSTORM EV3 (Prototype)