Slide 1

Slide 1 text

おおがきロボット×AIハッカソン by MashupAwards 2017

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

ロボットとは自分とってどんな存在だと嬉しい?

Slide 4

Slide 4 text

自分の次に自分のことを知っている存在 スマートフォン

Slide 5

Slide 5 text

ϩϘοτͱਓ޻஌ೳͰͪΐͬͱະདྷͷίϛϡχέʔγϣϯΛ։ൃ͠Α͏

Slide 6

Slide 6 text

ϓϩάϥϚ σβΠφ ϋʔυ΢ΣΞ ΤϯδχΞ

Slide 7

Slide 7 text

あいぼっとの仕組み あいぼっと SDK for iOS(Swift) koshian(Konashi) Bluetooth LE

Slide 8

Slide 8 text

Xcode Macで使うことができるプログラミング環境

Slide 9

Slide 9 text

あいぼっとに話しかける ダブルタップ → 話す → タップ

Slide 10

Slide 10 text

OSCコマンド送信機能 iPhoneのIPアドレスを入力する あいぼっとに話しかけたい言葉

Slide 11

Slide 11 text

あいぼっとにしゃべらせてみる override func viewDidAppear(_ animated: Bool) { self.say(str: “こんにちは、あいぼっとです”, comp: {}) } ViewController.swift

Slide 12

Slide 12 text

あいぼっとに文字列を送る override func viewDidAppear(_ animated: Bool) { self.talk(message: “おはよう”) } ViewController.swift 音声認識したのと同じように、あいぼっとに文字を伝えることができる

Slide 13

Slide 13 text

あいぼっとに新しい表情を追加する self.addFaceType(images: 画像配列, type: 表情名) 画像に名前を付けて、表情として登録できる self.changeFaceType(type: 表情名) 表情名を指定して、表情を変えることができる 新しい表情

Slide 14

Slide 14 text

あいぼっとに新しい表情を追加する public override func viewDidLoad() { self.addFaceType(images: [UIImage(named: "dislikekao-1")!], type: "dislike") let gesture = UISwipeGestureRecognizer(target: self, action: #selector(self.swipeAction(sender:))) gesture.direction = .left self.view.addGestureRecognizer(gesture) } func swipeAction(sender:AnyObject) { self.changeFaceType(type: "dislike") } ViewController.swift

Slide 15

Slide 15 text

腕を動かす override func viewDidAppear(_ animated: Bool) { self.moveArm(left: 0.5, right: 0.5) } ViewController.swift 位置(0.0(下)〜1.0(上))を指定して腕を動かす override func viewDidAppear(_ animated: Bool) { self.moveArm(left: 0.5, right: 0.5) .moveArm(left: 1.0, right: 1.0 delay: 1.0) .moveArm(left: 0.0, right: 0.0 delay: 2.0) } ViewController.swift 連続して腕を動かす

Slide 16

Slide 16 text

機能を追加する(BotFeature)① BotFeatureという単位で、機能を追加する 音楽 100 50 10 200 優先順位 雑談機能 機能B 機能A 機能C 1.優先順位順に実行される 2.次の機能につなげるかどうかを選択できる BotFeatureリスト 音楽 音楽 音楽 音楽

Slide 17

Slide 17 text

機能を追加する(BotFeature)② import iBot class Number : BotFeature { override func work(str: String) -> Bool { if (str != “数字”) { return true; } let random = arc4random() % 10 self.say(str: random.description, comp: {}) } return false } Number.swift override func viewDidLoad() { let number = Number(priority: 50, name:”ランダム数字”) self.featureController.add(feature: number) } ViewController.swift

Slide 18

Slide 18 text

GETリクエストモジュール override func viewDidAppear(_ animated: Bool) { let client = URLSessionGetClient() client.get(url: “https://www.cotogoto.ai/webapi/noby.json”, queryItems: [URLQueryItem(name: “appkey”, value:”〜”, URLQueryItem(name: “text”, value:”おみくじ引きたい”))]) {(data) in if let data = data as? Dictionary { if let res = data[“text”] as? String { self.say(str: res, comp: {}) } } } } ViewController.swift NOBY APIと連携する

Slide 19

Slide 19 text

No content