SlideShare uma empresa Scribd logo
1 de 14
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

Mais conteúdo relacionado

Semelhante a TJBot: Incorporando um chatbot em um robô

Slide blender 3 d apresentação
Slide blender 3 d apresentaçãoSlide blender 3 d apresentação
Slide blender 3 d apresentaçãoJosé Nascimento
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeAlessandro Binhara
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
Palestra BIM_UNIGRANRIO 2013
Palestra BIM_UNIGRANRIO 2013Palestra BIM_UNIGRANRIO 2013
Palestra BIM_UNIGRANRIO 2013Julio Bastos
 
Utilização de APIs do Windows Live
Utilização de APIs do Windows LiveUtilização de APIs do Windows Live
Utilização de APIs do Windows LiveCampus Party Brasil
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaJose Augusto Cintra
 
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Thiago Barros, PSM
 
Machine Learning & Machine Teaching
Machine Learning & Machine TeachingMachine Learning & Machine Teaching
Machine Learning & Machine Teachingpichiliani
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFGiordano Bruno Vieira
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot FrameworkFelipe Pedroso
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012Marlon Carvalho
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreBruno Brandes
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem FioDouglas Frari
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Felipe Pedroso
 
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Glaucia Lemos
 

Semelhante a TJBot: Incorporando um chatbot em um robô (20)

Slide blender 3 d apresentação
Slide blender 3 d apresentaçãoSlide blender 3 d apresentação
Slide blender 3 d apresentação
 
Interoperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente MainframeInteroperabilidade com .NET em ambiente Mainframe
Interoperabilidade com .NET em ambiente Mainframe
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
Palestra BIM_UNIGRANRIO 2013
Palestra BIM_UNIGRANRIO 2013Palestra BIM_UNIGRANRIO 2013
Palestra BIM_UNIGRANRIO 2013
 
Utilização de APIs do Windows Live
Utilização de APIs do Windows LiveUtilização de APIs do Windows Live
Utilização de APIs do Windows Live
 
Ai fest 2018
Ai fest 2018Ai fest 2018
Ai fest 2018
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis Multiplataforma
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot Framework
 
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
Apresentação desenvolvimento de plataforma para comandar microcontroladores e...
 
Machine Learning & Machine Teaching
Machine Learning & Machine TeachingMachine Learning & Machine Teaching
Machine Learning & Machine Teaching
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JF
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot Framework
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto Alegre
 
Mono Codebits
Mono CodebitsMono Codebits
Mono Codebits
 
.NET Open Source
.NET Open Source.NET Open Source
.NET Open Source
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem Fio
 
Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8Palestra Game Engines para Windows 8
Palestra Game Engines para Windows 8
 
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
Palestra Introdução a Bots com Node.Js - MVP National Conference 2018 by Glau...
 

Mais de pichiliani

Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade AumentadaRastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade Aumentadapichiliani
 
Interfaces hands free para o mundo atual e pós-Corona vírus
Interfaces hands free para o mundo atual  e pós-Corona vírusInterfaces hands free para o mundo atual  e pós-Corona vírus
Interfaces hands free para o mundo atual e pós-Corona víruspichiliani
 
The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...pichiliani
 
Carreira de cientista
Carreira de cientistaCarreira de cientista
Carreira de cientistapichiliani
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimentopichiliani
 
O papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learningO papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learningpichiliani
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowpichiliani
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLpichiliani
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka? pichiliani
 
Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualpichiliani
 
SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?pichiliani
 
MediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastMediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastpichiliani
 
Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015pichiliani
 
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...pichiliani
 
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...pichiliani
 
Como lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQLComo lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQLpichiliani
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimentopichiliani
 
Projeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement ApplicationProjeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement Applicationpichiliani
 
HTMA: Hand Tremor Measurement Application
HTMA: Hand Tremor Measurement ApplicationHTMA: Hand Tremor Measurement Application
HTMA: Hand Tremor Measurement Applicationpichiliani
 
Aplicações não convencionais de grafos
Aplicações não convencionais de grafosAplicações não convencionais de grafos
Aplicações não convencionais de grafospichiliani
 

Mais de pichiliani (20)

Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade AumentadaRastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
 
Interfaces hands free para o mundo atual e pós-Corona vírus
Interfaces hands free para o mundo atual  e pós-Corona vírusInterfaces hands free para o mundo atual  e pós-Corona vírus
Interfaces hands free para o mundo atual e pós-Corona vírus
 
The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...
 
Carreira de cientista
Carreira de cientistaCarreira de cientista
Carreira de cientista
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimento
 
O papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learningO papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learning
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQL
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka?
 
Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtual
 
SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?
 
MediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastMediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCast
 
Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015
 
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
 
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
 
Como lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQLComo lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQL
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimento
 
Projeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement ApplicationProjeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement Application
 
HTMA: Hand Tremor Measurement Application
HTMA: Hand Tremor Measurement ApplicationHTMA: Hand Tremor Measurement Application
HTMA: Hand Tremor Measurement Application
 
Aplicações não convencionais de grafos
Aplicações não convencionais de grafosAplicações não convencionais de grafos
Aplicações não convencionais de grafos
 

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 IBM Corporation Agenda  Incorporando chatbots  Projeto TJBot  Aplicações  Hardware  Software  Demo
  • 3. © 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)
  • 4. © 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/
  • 5. © 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!
  • 6. © 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
  • 7. © 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
  • 8. © 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
  • 9. © 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
  • 10. © 2017 IBM Corporation Software – Serviços do Watson  Diversos serviços disponíveis por API Rest
  • 11. © 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
  • 12. © 2017 IBM Corporation Mão na massa  Tutorial passo a passo: https://ibm.biz/Bdjcci
  • 13. © 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)
  • 14. © 2017 IBM Corporation IBM Research – Brazil http://www.research.ibm.com/brazil/ mpichi@br.ibm.com, @pichiliani