Mauro Pichiliani, Researcher/Scientist
mpichi@br.ibm.com, @pichiliani
TJBot:
Incorporando um chatbot em um robô
© 2017 IBM Corporation
Agenda
 Incorporando chatbots
 Projeto TJBot
 Aplicações
 Hardware
 Software
 Demo
© 2017 IBM Corporation
Incorporando chatbots
 Chatbots podem assumir várias “formas”
– Assistentes pessoais (Google Home, Amazon Echo)
– Agentes virtuais
– NPCs de um game
– Carros
– Robôs (androids, geminods)
– Personagens em obra de arte
 Forma escolhida impacta na forma de interação e UX
 Livro Embodied Conversational Agents (Justine
Cassell et al. 2000)
© 2017 IBM Corporation
Projeto TJBot
 TJBot criado em 2016 pela pesquisadora Maryam Ashoori (IBM
Research – Yorktown):
– Projeto estilo DIY (Do It Yourself)
– Basedo em software e hardware livre
– Fácil montagem (não requer solda)
– Integração com a plataforma Watson
 TJBot é um ponto de partida: várias possibilidades!
 Página oficial do projeto: https://ibmtjbot.github.io/
© 2017 IBM Corporation
Aplicações
 Ensino de programação
 Introdução a eletrônica
 Conceitos de robótica básica
 Uso em conjunto com IoT
 Possibilidade de customização para melhorar a UX!
© 2017 IBM Corporation
Hardware
 Kit básico de montagem com componentes acessíveis:
• Raspberry Pi 3 + Cartão de memória + carregador
• Câmera do Raspberry Pi
• Led RGB
• Servo 9g
• Dongle USB para áudio
• Microfone (jack p2)
• Caixa de som
• Cabos tipo jumper wire
• Opcional: extensor USB
• Opcional: monitor, mouse, teclado
• Opcional: power bank
• Opcional: outros sensores a atuadores
Kit na Adafruit
(~150 USD)
https://ibm.biz/BdjRj6
© 2017 IBM Corporation
Hardware - corpo
 “Corpo” do TJBot pode ser montado com:
– Kit cardboard
– Gerado com impressora 3D
Design aberto - https://ibmtjbot.github.io/
https://www.youtube.com/watch?v=bLt3Cf2Ui3o
© 2017 IBM Corporation
Software - sistema
 TJBot requer SO no Raspberry Pi 3 (recomendação: Raspbian pelo
Noobs)
 Componentes externos requerem configuração extra:
– Rede (WiFi ou Ethernet)
– Placa de som USB
– Câmera
– Ligação dos cabos (jumper wire)
 Desenvolvimento pode ser feito em diversas plataformas e
linguagens de programação
© 2017 IBM Corporation
Software - NodeRed
 Plataforma de programação por blocos com módulos para o TJBot
 Exemplos (recipes): https://ibm.biz/BdjRbG
 Módulo (npm) do NodeJS Red: https://ibm.biz/BdjRbC
© 2017 IBM Corporation
Software – Serviços do Watson
 Diversos serviços disponíveis por API Rest
© 2017 IBM Corporation
Software – Integração com NodeJS
 Integração com o NodeJS:
– 1) Cadastro na plataforma
– 2) Criação do serviço e obtenção da chave de acesso (api Key)
– 3) Download do SDK (NodeJS, Java, Python, C#)
– 4) Desenvolvimento do código
 Diversos exemplos prontos!
– Exemplos com NodeRed: https://ibm.biz/BdjRpx
– Exemplos com NodeJS: https://ibm.biz/BdjRbG
– Exemplos no Instructables: https://ibm.biz/BdjRpF
© 2017 IBM Corporation
Mão na massa
 Tutorial passo a passo: https://ibm.biz/Bdjcci
© 2017 IBM Corporation
Demo – TJBot com o TTS
 Demo 1: TJBot movendo braço e acendendo LED (wavetest.js)
 Demo 2: TJBot com o TTS (Text to Speech) em português
–a) Gerar audio (flac) utilizando o Watson (tts_sample.js)
–b) Converter para wav que toca na placa
• Sox o.flac –r 44100 o.wav
• sox –M o.wav o.wav o.wav
–c) Tocar o audio na placa (aplay –D hw: 1,0 o.wav)
© 2017 IBM Corporation
IBM Research – Brazil
http://www.research.ibm.com/brazil/
mpichi@br.ibm.com, @pichiliani

TJBot: Incorporando um chatbot em um robô

  • 1.
    Mauro Pichiliani, Researcher/Scientist mpichi@br.ibm.com,@pichiliani TJBot: Incorporando um chatbot em um robô
  • 2.
    © 2017 IBMCorporation Agenda  Incorporando chatbots  Projeto TJBot  Aplicações  Hardware  Software  Demo
  • 3.
    © 2017 IBMCorporation Incorporando chatbots  Chatbots podem assumir várias “formas” – Assistentes pessoais (Google Home, Amazon Echo) – Agentes virtuais – NPCs de um game – Carros – Robôs (androids, geminods) – Personagens em obra de arte  Forma escolhida impacta na forma de interação e UX  Livro Embodied Conversational Agents (Justine Cassell et al. 2000)
  • 4.
    © 2017 IBMCorporation Projeto TJBot  TJBot criado em 2016 pela pesquisadora Maryam Ashoori (IBM Research – Yorktown): – Projeto estilo DIY (Do It Yourself) – Basedo em software e hardware livre – Fácil montagem (não requer solda) – Integração com a plataforma Watson  TJBot é um ponto de partida: várias possibilidades!  Página oficial do projeto: https://ibmtjbot.github.io/
  • 5.
    © 2017 IBMCorporation Aplicações  Ensino de programação  Introdução a eletrônica  Conceitos de robótica básica  Uso em conjunto com IoT  Possibilidade de customização para melhorar a UX!
  • 6.
    © 2017 IBMCorporation Hardware  Kit básico de montagem com componentes acessíveis: • Raspberry Pi 3 + Cartão de memória + carregador • Câmera do Raspberry Pi • Led RGB • Servo 9g • Dongle USB para áudio • Microfone (jack p2) • Caixa de som • Cabos tipo jumper wire • Opcional: extensor USB • Opcional: monitor, mouse, teclado • Opcional: power bank • Opcional: outros sensores a atuadores Kit na Adafruit (~150 USD) https://ibm.biz/BdjRj6
  • 7.
    © 2017 IBMCorporation Hardware - corpo  “Corpo” do TJBot pode ser montado com: – Kit cardboard – Gerado com impressora 3D Design aberto - https://ibmtjbot.github.io/ https://www.youtube.com/watch?v=bLt3Cf2Ui3o
  • 8.
    © 2017 IBMCorporation Software - sistema  TJBot requer SO no Raspberry Pi 3 (recomendação: Raspbian pelo Noobs)  Componentes externos requerem configuração extra: – Rede (WiFi ou Ethernet) – Placa de som USB – Câmera – Ligação dos cabos (jumper wire)  Desenvolvimento pode ser feito em diversas plataformas e linguagens de programação
  • 9.
    © 2017 IBMCorporation Software - NodeRed  Plataforma de programação por blocos com módulos para o TJBot  Exemplos (recipes): https://ibm.biz/BdjRbG  Módulo (npm) do NodeJS Red: https://ibm.biz/BdjRbC
  • 10.
    © 2017 IBMCorporation Software – Serviços do Watson  Diversos serviços disponíveis por API Rest
  • 11.
    © 2017 IBMCorporation Software – Integração com NodeJS  Integração com o NodeJS: – 1) Cadastro na plataforma – 2) Criação do serviço e obtenção da chave de acesso (api Key) – 3) Download do SDK (NodeJS, Java, Python, C#) – 4) Desenvolvimento do código  Diversos exemplos prontos! – Exemplos com NodeRed: https://ibm.biz/BdjRpx – Exemplos com NodeJS: https://ibm.biz/BdjRbG – Exemplos no Instructables: https://ibm.biz/BdjRpF
  • 12.
    © 2017 IBMCorporation Mão na massa  Tutorial passo a passo: https://ibm.biz/Bdjcci
  • 13.
    © 2017 IBMCorporation Demo – TJBot com o TTS  Demo 1: TJBot movendo braço e acendendo LED (wavetest.js)  Demo 2: TJBot com o TTS (Text to Speech) em português –a) Gerar audio (flac) utilizando o Watson (tts_sample.js) –b) Converter para wav que toca na placa • Sox o.flac –r 44100 o.wav • sox –M o.wav o.wav o.wav –c) Tocar o audio na placa (aplay –D hw: 1,0 o.wav)
  • 14.
    © 2017 IBMCorporation IBM Research – Brazil http://www.research.ibm.com/brazil/ mpichi@br.ibm.com, @pichiliani