Upgrade to Pro — share decks privately, control downloads, hide ads and more …

あいぼっと紹介(2017)

 あいぼっと紹介(2017)

おおがきロボット×AIハッカソン 2017(提供API紹介)

ISHIGO Yusuke

October 16, 2017
Tweet

More Decks by ISHIGO Yusuke

Other Decks in Programming

Transcript

  1. あいぼっとに文字列を送る override func viewDidAppear(_ animated: Bool) { self.talk(message: “おはよう”) }

    ViewController.swift 音声認識したのと同じように、あいぼっとに文字を伝えることができる
  2. あいぼっとに新しい表情を追加する 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
  3. 腕を動かす 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 連続して腕を動かす
  4. 機能を追加する(BotFeature)① BotFeatureという単位で、機能を追加する 音楽 100 50 10 200 優先順位 雑談機能 機能B

    機能A 機能C 1.優先順位順に実行される 2.次の機能につなげるかどうかを選択できる BotFeatureリスト 音楽 音楽 音楽 音楽
  5. 機能を追加する(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
  6. 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と連携する