oficina kinect

117
Kinect Além do XBOX

Upload: odair-bonin

Post on 24-May-2015

166 views

Category:

Documents


1 download

TRANSCRIPT

  • 1. Kinect Alm do XBOX

2. Android para iniciantes Android intermedirio Mobile Games com AndEngine Hackathon Sesc Realidade Aumentada com Android Videos StopMotion Linux para certificao 3. Oficinas de tecnologia Odair Bonin Desenvolvedor experiente Articulista Entusiasta de tecnologia Projetos Java, Android, NoSQL Instrutor Java/Android Pai, marido, filho, irmo, 4. Precisa ter mais horas de Atividade Complementar na faculdade Tem muitas idias na cabea Quer resolver problemas com a tecnologia Se interessa por tecnologia Tem curiosidade Voce est aqui porque Gosta de programar 5. O que o futuro ? Consumer Eletronics Show 6. Tecnologias recentes ?(em 2001) "The tablet is an extension of the desktop" 7. Oficinas de tecnologia Tecnologias recentes ?(em 2001) Cell phone MP3 Player Messaging using SMS Wireless Web browser E-mail Bluetooth connectivity Security Games 8. Tecnologias recentes ?(em 2001) 9. Oficinas de tecnologia 10. Oficinas de tecnologia http://www.techtudo.com.br/eventos/ces 11. http://www.techtudo.com.br/eventos/ces 12. Oficinas de tecnologia http://www.techtudo.com.br/eventos/ces 13. Todas as grandes inovaes atuais envolvem software. dos os grandes softwares saram da cabea de um programa Fiquem atentos ( Clarice Lispector, 2012 ) 14. Ento, o que viemos fazer aqui ? 15. Nosso objetivo Desenvolver um simples aplicativo que envolva a tecnologia Kinect interagindo com Android 16. Como ? Processing Kinect SDK Android SDK 17. Processing 18. Processing Uma linguagem de programao de cdigo aberto baseada em Java construda para as artes eletrnicas e comunidades de projetos visuais IDE de programao 19. Processing openprocessing.org 20. Kinect alm do XBoX 21. Kinect O Kinect um sensor de movimentos desenvolvido para o Xbox 360 e Xbox One, pela empresa Microsoft junto com a empresa PrimeSense. Obrigado, wikipedia 22. Kinect m uma sensao de como seria no depender de nenhum tipo 23. Kinect Desde 2002 na Microsoft, ele j trabalhou na rea do Windows e atualmente o diretor geral de incubao do Xbox Nunca existir um SDK ahahahah ! O Kinect foi lanado em 04 de novembro de 2010 24. Kinect Somente para XBox ? Ser ? Do IT Yourself O Driver OpenKinect foi lanado em 10 de novembro de 2010 25. Kinect alm do XBoX Oficinas de tecnologia Kinect Somente para XBox ? http://git.marcansoft.com/?p=libfreenect.git 26. Kinect Somente para XBox ? Comunidade aberta de pessoas interessadas em fazer uso do hardware Kinect com o seu PC e outros dispositivos + de 2000 membros Framework libfreenet: escrito em C mas possui Wrappers para Java, Python, C#, Javascript 27. Kinect Somente para XBox ? Ecosistema de membros que criam aplicaes que envolvam Natural Interface (NI) Amplo suporte OpenNI SDK + NITE Middleware escrito em C mas possui Wrappers para Java 28. Kinect NI ? CLI Command Line Interface GUI Graphic User Interface NUI Natural User Interface 29. Kinect Somente para XBox ? Ecosistema de membros que criam aplicaes que envolvam Natural Interface (NI) Amplo suporte OpenNI SDK + NITE Middleware escrito em C mas possui Wrappers para Java 30. Kinect Somente para XBox ? Desenvolvedores criam aplicaes que permitem aos usurios interagir naturalmente com os seus computadores atravs de gestos e fala 31. Sistema Operacional Windows, Linux, Mac OS Windows, Linux, Mac OS Windows only Uso de vrios kinects SIM SIM SIM Deteco de esqueleto NO SIM SIM Deteco de movimentos da mo (click) NO SIM NO udio NO POR PADRO NO SIM 32. Android 79.3 % 1 bilho de pessoas no mundo 33. Como ganhar dinheiro ? Licena full: usurio paga para utilizar todas as funes App Freemium: verso free com muitas funes e verso paga com bnus de funes Licena in-apps: usurio compra adicionais (muito usado em games) Free com Ads: usurio recebe propaganda (e pode at pagar para remove-las) 34. Futuro Computao baseada em gestos ? Dispositivos mveis ? 35. Ento, o que viemos fazer aqui ? 36. Oficinas de tecnologia Opo 1 http://www.creativeapplications.net/processing/kinect-physics-tutorial-for-processing/ 37. Opo 1 App Oficina SESC Kinect Processing Server 38. Opo 1 Processing Server 39. Oficinas de tecnologia Opo 2 http://www.computer-orchestra.com/ 40. Opo 2 Gravar o som App para reproduzir o som 1 2 41. Oficinas de tecnologia Opo 2 Processing Reproduzir o som Reproduzir o som Reproduzir o som Reproduzir o som 42. Cronograma Hoje 8 15 22 8 15 29 Processing Kinect 5 12 Android 26 Grande dia Princpios de programao Java com processing Box2D para simular fsica (colises de objetos, gravidade, etc) Kinect SDK (gestos, tracking de esqueleto, cameras) App Android (Android SDK, comunicao com servidores, reconhecer toque) 43. Praticar fora do ambiente de trabalho Contribuio com algum projeto Networking Conhecimento Insight para os seus projetos pessoais Novas idias Experimentar a tecnologia Ficar por dentro das novidades Porque ? 44. Kinect Alm do XBOX Obrigado 45. Pixels Obrigado Wikipedia, alguma hora eu fao a doao 46. Pixels 7px x 8px = 56 / 1000000 = 0,000056 7px 8 p x 47. Pixels 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 linha de 0,1 at 4,5 ? 48. Pixels 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 linha de 0,1 at 4,5 49. Pixels size(600, 600); 50. Pixels 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 line (0,1,4,5); linha de 0,1 at 4,5 51. Kinect alm do XBoX Oficinas de tecnologia Primeiro cdigo fonte Processing :) 52. Pixels line(Ax, Ay, Bx, By); 53. Pixels E se 54. Pixels 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 rect(2,3,5,4); 55. Pixels 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 rect(2,3,5,4); 56. Pixels 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 rect(2,3,5,4); 57. Kinect alm do XBoX Oficinas de tecnologia Pixels 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 rect(2,3,5,4); 58. Pixels 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 rect(2,3,5,4); 59. 1 2 3 4 5 6 7 1 2 3 4 5 6 7 0 0 rectMode(CENTER); rect(2,3,5,4); 60. Kinect alm do XBoX Pixels CORNERS: Referencial TOP/LEFT (default rect) CENTER: Referencial CENTRO 61. Cores size(600, 600); ellipse(200,200,100,100); Ax Ay W H 62. Cores fill(255, 0, 0); ellipse(200,200,100,100); rect(200,300,500,400);? R G B A size(600, 600); 63. Cores size(600, 600); fill(255, 0, 0); ellipse(200,200,100,100); rect(200,300,500,400);? Quadrado azul ? 64. Cores size(600, 600); fill(255, 0, 0); ellipse(200,200,100,100); rect(200,300,500,400);? fill(0, 0, 255); 65. Zoog Tamanho: 600, 600 : size() Referencia elipse: CENTRO Referencia retangulo: CENTRO Cor da linha: 0 : stroke() Retangulo comeando em 100, 100 de tamanho 20, 100 Cor do preenchimento: 150 Cor do prximo preenchimento: 255 Circulo comeando em 100, 70 de tamanho 60, 60 Cor do prximo preenchimento: 0 Circulo comeando em 81, 70 de tamanho 16, 32 Circulo comeando em 119, 70 de tamanho 16, 32 Cor da linha: 0 : stroke() Linha comeando em 90, 150 indo at 80, 160 Linha comeando em 110, 150 indo at 120, 160 1 2 3 4 5 6 7 8 9 10 11 12 13 14 66. Geometria triangle(x1, y1, x2, y2, x3, y3) triangle(x1, y1, x2, y2, x3, y3) quad(x1, y1, x2, y2, x3, y3, x4, y4) quad(189, 18, 216, 18, 216, 360, 144, 360); arc(479, 300, 280, 280, PI, TWO_PI); arc(x, y, w, h, angulo inicial, angulo final); 67. Geometria Oba, iguras geomtricas :) 68. Kinect alm do XBoX http://proclipsing.googlecode.com/svn/tags/current_ releases/proclipsingSite/ Eclipse is the King Plugin Processing + 69. Interao mouseX, mouseY pmouseX, pmouseY Ponteiro do mouse: Posio anterior do ponteiro do mouse: 70. Oficinas de tecnologia Interao ? abs(posicao mouse x atual - posicao mouse x do passado) #FikDik 71. Interao mousePressed() keyPressed() Metodos de interao mouseClicked() Variveis de interao mousePressed mouseClicked width height mouseMoved() 72. http://mobideas.com.br/kinect/GravitySwarm.tar.gz #vamosprogramar 73. Box2D Box2D comeou com uma srie de tutoriais sobre fsica escritos em C++ por Erin Catto Box2D sabe tudo sobre fsica, mas nada sobre o mundo dos pixels 74. Box2Dpublic void setup(){ Criar todos os objetos do nosso mundo; } public void draw(){ Calcular todas as foras do mundo; Aplicar as foras aos nossos objetos; Atualizar a localidade dos objetos; Desenhar todos os objetos; } 75. Box2D Elementos principais Box2D World: representa o mundo e a fsica; Body: representa um elemento primario do Box2D; Tem uma localidade e uma velocidade; Shape: representa o rastreamento da coliso do Body; Fixture: adiciona ao Body propriedades como densidade e frico; Joint: adiciona conexo entre dois "Body"; 76. Box2D Elementos principais Box2D Vec2: representa um vetor no mundo Box2D; 77. Box2D Vivendo em um mundo Box2D 78. Mundo B P ndoPosicao = new Vec2(0,0); ? sicao.x, mundoPosicao.y ,160,160); 79. Mundo 1 Vec2 mundoPosicao = new Vec2(0,0); ? 2 Vec2 pixelPos = box2d.coordWorldToPixels(mundoPosicao); 3 rect(pixelPos.x, pixelPos.y ,160,160); 4 Vec2 mouseWorld = box2d.coordPixelsToWorld(mouseX,mouseY); 80. Body Dynamic: o mais comum, simula completamente a fsica. Static: no se move, usado para paredes ematic: pode se mover de acordo com uma velocidade aplica 81. Kinect 82. Kinect alm do XBoX 83. Kinect O Kinect um sensor de movimentos desenvolvido para o Xbox 360 e Xbox One, pela empresa Microsoft junto com a empresa PrimeSense. Obrigado, wikipedia 84. Kinect m uma sensao de como seria no depender de nenhum tipo 85. Kinect Desde 2002 na Microsoft, ele j trabalhou na rea do Windows e atualmente o diretor geral de incubao do Xbox Nunca existir um SDK ahahahah ! O Kinect foi lanado em 04 de novembro de 2010 86. Kinect Somente para XBox ? Ser ? Do IT Yourself O Driver OpenKinect foi lanado em 10 de novembro de 2010 87. Kinect Somente para XBox ? http://git.marcansoft.com/?p=libfreenect.git 88. Kinect Somente para XBox ? Comunidade aberta de pessoas interessadas em fazer uso do hardware Kinect com o seu PC e outros dispositivos + de 2000 membros Framework libfreenet: escrito em C mas possui Wrappers para Java, Python, C#, Javascript 89. Kinect Somente para XBox ? Ecosistema de membros que criam aplicaes que envolvam Natural Interface (NI) Amplo suporte OpenNI SDK + NITE Middleware escrito em C mas possui Wrappers para Java 90. Kinect NI ? CLI Command Line Interface GUI Graphic User Interface NUI Natural User Interface 91. Kinect Somente para XBox ? Ecosistema de membros que criam aplicaes que envolvam Natural Interface (NI) Amplo suporte OpenNI SDK + NITE Middleware escrito em C mas possui Wrappers para Java 92. Kinect Somente para XBox ? Desenvolvedores criam aplicaes que permitem aos usurios interagir naturalmente com os seus computadores atravs de gestos e fala 93. Sistema Operacional Windows, Linux, Mac OS Windows, Linux, Mac OS Windows only Uso de vrios kinects SIM SIM SIM Deteco de esqueleto NO SIM SIM Deteco de movimentos da mo (click) NO SIM NO udio NO POR PADRO NO SIM 94. Windows NiSimpleViewer .net Framework 2.0 OpenNI 1.5.7.10 NITE 1.5.2.23 Sensor Kinect 5.1.2.1 Ubuntu NiSimpleViewer Ver abaixo OpenNI 1.5.7.10 Sensor Kinect 5.1.2.1 NITE 1.5.2.23 Mac OS NiSimpleViewer Xcode MacPorts CMake sudo port install libtool sudo port install -devel +universal OpenNI 1.5.7.10 Sensor Kinect 5.1.2.1 NITE 1.5.2.23 sudo apt-get install git-core cmake freeglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev doxygen graphviz mono-complete 95. sudo xcode-select --install # recarregando repositrio sudo port -v selfupdate # instalando dependncias sudo port install libtool sudo port install libusb 96. Kinect Resoluo: 640 x 480 Frames: 30 fps 97. SimpleOpenNI Profundidade (Depth) 98. SimpleOpenNI Pixel mais longe Pixel mais perto O brilho do pixel cinza determina a distancia 99. Pixels 680px 4 8 0 p x 100. Pixels Linha 1 Linha 2 Array de pixels de profundidade int[] array = kinect.depthMap(); 0 a 8.000 milimetros 101. Pixels onNewUser startPoseDetection onStartPose requestCalibrationSkeleton onEndCalibration startTrackingSkeleton 102. Kinect Alm do XBOX 103. Kinect Alm do XBOX 104. Kinect Alm do XBOX 105. Kinect Alm do XBOX 106. Kinect Alm do XBOX 107. Kinect Alm do XBOX 108. Kinect Alm do XBOX Preparem-se, estou chegando para animar a festa ! + + + + Kinect OpenNI Framework Processing Eclipse + Java Toxiclibs + BlobsDetection Box2D OpenGL { Kinect depth Ainda vamos ver 109. Toxiclibs Coleo de bibliotecas OpenSource desenvolvidas para Design Computacional http://toxiclibs.org toxi.audio toxi.color toxi.geom toxi.math toxi.physics 110. Biblioteca para tratamento de partculas em uma imagem http://www.v3ga.net/processing/BlobDetection/ BlobsDetection 111. Socket + Processing ? PrimeiroBOX2D PrimeiroKinect 112. LeapMotion 113. Cronograma 8 15 22 8 15 29 5 12 261 3 meses 10 dias 3 horas / dia 10 participantes 300 horas ! 114. Kinect alm do XBoX Oficinas de tecnologia 115. Todas as grandes inovaes atuais envolvem software. dos os grandes softwares saram da cabea de um programa ( Clarice Lispector, 2012 ) 116. Obrigado