SlideShare 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

More Related Content

What's hot

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

What's hot (20)

わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
 
Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発Windows10時代のクロスプラットフォーム開発
Windows10時代のクロスプラットフォーム開発
 
わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25
 
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
 
.NET 5 and Windows app dev
.NET 5 and Windows app dev.NET 5 and Windows app dev
.NET 5 and Windows app dev
 
Visual Studio と Azure で Python を始めよう
Visual Studio と Azure で Python を始めようVisual Studio と Azure で Python を始めよう
Visual Studio と Azure で Python を始めよう
 
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
 
Uwpアプリケーション開発入門
Uwpアプリケーション開発入門Uwpアプリケーション開発入門
Uwpアプリケーション開発入門
 
Uno Platform 入門
Uno Platform 入門Uno Platform 入門
Uno Platform 入門
 
Team development
Team developmentTeam development
Team development
 
.NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!).NET Core と .NET Framework (続きは de:code 2016 で!)
.NET Core と .NET Framework (続きは de:code 2016 で!)
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議
 
WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発WPF on .NET Core 3.1 で Windows 10 アプリ開発
WPF on .NET Core 3.1 で Windows 10 アプリ開発
 
デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912デスクトップアプリ最新事情201912
デスクトップアプリ最新事情201912
 
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
 
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
Visual Studio 2013 と HTML5 で実現するマルチデバイス/マルチプラットフォーム アプリの開発
 
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
 
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
 
Getting Started .NET Core
Getting Started .NET CoreGetting Started .NET Core
Getting Started .NET Core
 
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
 

Similar to FPV LEGO MINDSTORM EV3 (Prototype)

ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
 
Q a9 for ics(lotus) developers
Q a9 for ics(lotus) developersQ a9 for ics(lotus) developers
Q a9 for ics(lotus) developers賢次 海老原
 
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
典子 松本
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
Kouji Matsui
 
非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps
非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps
非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps
典子 松本
 
MozOpenHardプロジェクトと そのコア技術について
MozOpenHardプロジェクトと そのコア技術についてMozOpenHardプロジェクトと そのコア技術について
MozOpenHardプロジェクトと そのコア技術について
Takagi Koichi
 
皆さん!ふくてんが来ましたよ!!
皆さん!ふくてんが来ましたよ!!皆さん!ふくてんが来ましたよ!!
皆さん!ふくてんが来ましたよ!!
ru pic
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
OSSラボ株式会社
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Yuya Yamaki
 
Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満
Masakazu Muraoka
 
IPv6勉強会のご紹介
IPv6勉強会のご紹介IPv6勉強会のご紹介
IPv6勉強会のご紹介
Syuichi Murashima
 
Ocs2010 kyoto nonweb
Ocs2010 kyoto nonwebOcs2010 kyoto nonweb
Ocs2010 kyoto nonweb
Osamu Monoe
 
Ocs2010 kyoto nonweb
Ocs2010 kyoto nonwebOcs2010 kyoto nonweb
Ocs2010 kyoto nonwebOsamu Monoe
 
RancherのWindowsサポートと事始め
RancherのWindowsサポートと事始めRancherのWindowsサポートと事始め
RancherのWindowsサポートと事始め
cyberblack28 Ichikawa
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528
Atomu Hidaka
 
04 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r00104 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r001
cyberblack28 Ichikawa
 
IoT Cyber Security Counter Measurement
IoT Cyber Security Counter MeasurementIoT Cyber Security Counter Measurement
IoT Cyber Security Counter Measurement
Kiyoshi Ogawa
 
Kinect2で未来をつかむ
Kinect2で未来をつかむKinect2で未来をつかむ
Kinect2で未来をつかむ
Akira Hatsune
 
160608 01
160608 01160608 01
160608 01
openrtm
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
 

Similar to FPV LEGO MINDSTORM EV3 (Prototype) (20)

ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414ネットワークOS野郎 ~ インフラ野郎Night 20160414
ネットワークOS野郎 ~ インフラ野郎Night 20160414
 
Q a9 for ics(lotus) developers
Q a9 for ics(lotus) developersQ a9 for ics(lotus) developers
Q a9 for ics(lotus) developers
 
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!ノンコーディングでここまでできる!LINE BOT を作ってみよう!
ノンコーディングでここまでできる!LINE BOT を作ってみよう!
 
.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み.NET Coreから概観する.NETのOSSへの取り組み
.NET Coreから概観する.NETのOSSへの取り組み
 
非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps
非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps
非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps
 
MozOpenHardプロジェクトと そのコア技術について
MozOpenHardプロジェクトと そのコア技術についてMozOpenHardプロジェクトと そのコア技術について
MozOpenHardプロジェクトと そのコア技術について
 
皆さん!ふくてんが来ましたよ!!
皆さん!ふくてんが来ましたよ!!皆さん!ふくてんが来ましたよ!!
皆さん!ふくてんが来ましたよ!!
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
Wpf 4とSilverlight 4、これから業務アプリを開発するならどっち?
 
Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満Mozapps installがなくなったことへの不平不満
Mozapps installがなくなったことへの不平不満
 
IPv6勉強会のご紹介
IPv6勉強会のご紹介IPv6勉強会のご紹介
IPv6勉強会のご紹介
 
Ocs2010 kyoto nonweb
Ocs2010 kyoto nonwebOcs2010 kyoto nonweb
Ocs2010 kyoto nonweb
 
Ocs2010 kyoto nonweb
Ocs2010 kyoto nonwebOcs2010 kyoto nonweb
Ocs2010 kyoto nonweb
 
RancherのWindowsサポートと事始め
RancherのWindowsサポートと事始めRancherのWindowsサポートと事始め
RancherのWindowsサポートと事始め
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528
 
04 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r00104 コンテナ管理ツール比較 public_r001
04 コンテナ管理ツール比較 public_r001
 
IoT Cyber Security Counter Measurement
IoT Cyber Security Counter MeasurementIoT Cyber Security Counter Measurement
IoT Cyber Security Counter Measurement
 
Kinect2で未来をつかむ
Kinect2で未来をつかむKinect2で未来をつかむ
Kinect2で未来をつかむ
 
160608 01
160608 01160608 01
160608 01
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 

FPV LEGO MINDSTORM EV3 (Prototype)