SlideShare una empresa de Scribd logo
1 de 42
Conquista el mundo
  con Robotics y
      Kinect

   Bruno Capuano
 Innovation Manager
      @elbruno
Bruno Capuano
 Innovation Manager
       @elbruno
http://www.elbruno.co
          m
¿Robots?
Hoy podemos conectarnos a casi cualquier tipo
de dispositivo
 Este tipo de dispositivos son plataformas
  minúsculas
     Controles remotos o de dispositivos
     Dispositivos de un solo uso
     Dispositivos con un solo propósito
 El procesador está allí simplemente para
  controlar el dispositivo
     Producción en alto volumen
     No necesidad de un sistema operativo
Demo: USB Email Notifier

 USB con un LED 6 colores
 Precio al día de hoy: €6 (aprox.)
 Incluye una aplicación que escanea nuestro
  buzón de correo y muestra notificaciones
  “luminosas” frente a eventos
     New email: Green
     Buzón lleno: Red
 También muestra notificaciones de estado
  con Live Messenger y Skype
 Link: http://bit.ly/IBgZjL
USB Missile Launcher

 Este es mucho más conocido
 No hace falta presentación
 Link: http://bit.ly/fhc3k1
¿Dónde estamos?
¿Hasta donde podemos llegar?
Microsoft Robotics Developer Studio
Microsoft Robotics
  Plataforma de desarrollo para robótica

  Runtime liviano orientado a servicios

  Plataforma extensible


        LEGO Mindstorm NXT                 fishertechnik

 Parallax Boe-Bot BASIC Stamp Robot       iRobot Roomba

  MobileRobots Pioneer P3 DX    Trasxter     Kondo KH-1
LEGO Mindstorm NXT
Microsoft Robotics
   Boe-Bot Kit for          iRobot Roomba
  Microsoft Robotics
        Studio
Microsoft Robotics

                              Visual
                          Programming




             Simulation
               Engine




                                 Microsoft Robotics
MRDS - Simulation Engine

        Retos a superar por Simulation Engine
          Beneficios del Simulation Engine



  El hardware es costoso, no está al alcance de
  No es necesario hardware para comenzar
  todos
  Es posible prototipar y separar en módulos los
  Los problemas de Hardware son de difícil solución
  componentes de la simulación
  El Hardware es “único” por lo que no se puede
  Es posible utilizar la simulación con el robot
  utilizar simultáneamente
MRDS - Simulation Engine
RoboCup: Nao simulation
DARPA Urban Challenge
DARPA: Princeton University
 DARPA Urban Challenge

 5 x Dual Core Servers

 25 distributed services

 35 undergraduates!




   http://pave.princeton.edu/
ROBOCHAMPS
www.robochamps.com
now call for robotics >>
http://blogs.msdn.com/b/msroboticsstudio/archive/2012/
06/29/call-for-robotics-projects.aspx
Demo Simulation Engine
Visual Programming

 Microsoft Visual Programming Language


 Basado en Procesos


 Ideal para no-developers 


 Toolbox con componentes extensibles
Visual Programming
Demo Visual Programming
Robotics Runtime
 ¿Cómo funciona una aplicación de robótica?

          Actores
                         Orquestación
                                          User Exp (UI)
                           Behavior

          Sensores


 Está compuesta por una serie de componentes
 desacoplados que proveen:
   “Orquestación” de los sensores y actores
   Interacción con el usuario
   Control de la lógica del proceso
Robotics Runtime
                                    Custom/Application Services

   Orchestration                    Control                   Sensors                     Actuators


                                              Services

                       Simulation                                     Sensors          Algorithms
   Authoring                                   Reference
   Services                                    Services
                   Visualization                                  Actuators               …



                                              Runtime

      Concurrency               Decentralized            Activation      Diagnostics        UX
    and coordination            System
        runtime                 Services                 Discovery       Monitoring       Storage
Robotics Runtime
 Los servicios con los bloques principales
    Gestionan estados
    Behavior
    Respetan un contrato predefinido




 Las operaciones
    Administran los estados
    Crean y destruyen nuevos servicios
    Son las encargardas de gestionar las notificaciones
Orchestration Service




                                                 Laser Range Finder Service
Laser Range Finder Service

                                                            Camera Service
  Camera Service

                                                             Bumper Service

 Bumper Service

    Drive Service
Microsoft Robotics
Necesidades en Robotics

                            Asíncrono
                            Concurrente
   MultiCore/ManyCore
                            Poco
   Distributed Computing     acoplamiento
                            Descentralizado
                           …
Microsoft Robotics
Necesidades en Robotics

      Runtime              Authoring Tools           Services
 • Coordination and       • Visual Simulation    • Samples and
   Concurrency library      Runtime and Editor     tutorials
   (CCR)
                          • Visual Programming   • Robot services
 • Distributed Services     Language (VPL)
                                                 • Robot models
   Framework (DSS)
                          • Visual Studio
                                                 • Infrastructure
                            templates
                                                   services
Sequential programming




                CPU Core
Parallel programming




 CPU Core         CPU Core   CPU Core
Parallel programming, too many threads




 CPU Core         CPU Core          CPU Core
Parallel programming, too few threads




 CPU Core          CPU Core              CPU Core
                              CPU Core
Parallel programming, with CCR




                      CCR
CPU Core   CPU Core         CPU Core   CPU Core
CCR nos permite crear aplicaciones
escalables y concurrentes
 Descomponiendo el trabajo en un conjunto de elementos heterogeneous
 Permitiendo que la concurrencia se balance en base a los recursos disponibles



 En pocas palabras tu decides QUÉ puede ser ejecutado en paralelo, CCR
  decide CUÁNDO y DÓNDE puede ser ejecutado
Robotics Runtime
Demo Robotics Runtime
Tribot + WebCam
Lego NXT# / MindSqualls.Net
  Una alternativa interesante
Lego NXT# / MindSqualls.Net
  Código más limpio
Demo NXT Shart
Referencias

 Download and tutorials:
     http://microsoft.com/robotics
 Book:
     http://www.amazon.es/Professional-Microsoft-Robotics-Developer-
      Programmer/dp/0470141077/ref=sr_1_2?ie=UTF8&qid=1347534766&sr=8-2
 Blogs:
     http://blogs.msdn.com/msroboticsstudio
     http://elbruno.com
Bruno Capuano
 Innovation Manager
       @elbruno
http://www.elbruno.co
          m

Más contenido relacionado

Destacado

9 PARTICIPACION EN IV OLIMPIADA DE PROGRAMACION.PDF
9 PARTICIPACION EN IV OLIMPIADA DE PROGRAMACION.PDF9 PARTICIPACION EN IV OLIMPIADA DE PROGRAMACION.PDF
9 PARTICIPACION EN IV OLIMPIADA DE PROGRAMACION.PDFRandy Mujica
 
La conciencia-ambiental
La conciencia-ambientalLa conciencia-ambiental
La conciencia-ambientalErickaSS
 
Identifying individuals at high risk for lung cancer in Australia
Identifying individuals at high risk for lung cancer in AustraliaIdentifying individuals at high risk for lung cancer in Australia
Identifying individuals at high risk for lung cancer in AustraliaSax Institute
 
مدونة الصحافة والنشر بالمغرب
مدونة الصحافة والنشر بالمغربمدونة الصحافة والنشر بالمغرب
مدونة الصحافة والنشر بالمغربMustapha Khalfi
 

Destacado (7)

Doc1per foso
Doc1per fosoDoc1per foso
Doc1per foso
 
La web2 francis
La web2 francisLa web2 francis
La web2 francis
 
9 PARTICIPACION EN IV OLIMPIADA DE PROGRAMACION.PDF
9 PARTICIPACION EN IV OLIMPIADA DE PROGRAMACION.PDF9 PARTICIPACION EN IV OLIMPIADA DE PROGRAMACION.PDF
9 PARTICIPACION EN IV OLIMPIADA DE PROGRAMACION.PDF
 
Doc6
Doc6Doc6
Doc6
 
La conciencia-ambiental
La conciencia-ambientalLa conciencia-ambiental
La conciencia-ambiental
 
Identifying individuals at high risk for lung cancer in Australia
Identifying individuals at high risk for lung cancer in AustraliaIdentifying individuals at high risk for lung cancer in Australia
Identifying individuals at high risk for lung cancer in Australia
 
مدونة الصحافة والنشر بالمغرب
مدونة الصحافة والنشر بالمغربمدونة الصحافة والنشر بالمغرب
مدونة الصحافة والنشر بالمغرب
 

Similar a SecondNug Robotics, Kinect y un par de demos más

Tr programacionrobots
Tr programacionrobotsTr programacionrobots
Tr programacionrobotsCamila Prieto
 
eMobc Android Startup
eMobc Android StartupeMobc Android Startup
eMobc Android Startupemobc
 
Presentación de eMobc en BetaBeers Madrid
Presentación de eMobc en BetaBeers MadridPresentación de eMobc en BetaBeers Madrid
Presentación de eMobc en BetaBeers Madridemobc
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationCamilo Buscaron
 
Software para el modelamiento, simulación y programación de aplicaciones rob...
Software para el modelamiento, simulación y programación de  aplicaciones rob...Software para el modelamiento, simulación y programación de  aplicaciones rob...
Software para el modelamiento, simulación y programación de aplicaciones rob...Jose Antonio Velasquez Costa
 
Proyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolProyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolDaniel Dominguez
 
Clase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtualClase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtualDemián Gutierrez
 
Aspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareAspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareLenin Lozano
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryManuel Carrasco Moñino
 
Sesion 1 introducción a la plataforma windows phone
Sesion 1   introducción a la plataforma windows phoneSesion 1   introducción a la plataforma windows phone
Sesion 1 introducción a la plataforma windows phoneCésar Reneses
 
Business Logic 2012
Business Logic 2012Business Logic 2012
Business Logic 2012juanma_ari
 
MOOC de Realidad aumentada (Coursera)
MOOC de Realidad aumentada (Coursera)MOOC de Realidad aumentada (Coursera)
MOOC de Realidad aumentada (Coursera)C Xyon PalaXy
 
Code Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingCode Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingINSIGNIA4U
 

Similar a SecondNug Robotics, Kinect y un par de demos más (20)

Tr programacionrobots
Tr programacionrobotsTr programacionrobots
Tr programacionrobots
 
RobotStudio
RobotStudioRobotStudio
RobotStudio
 
eMobc Android Startup
eMobc Android StartupeMobc Android Startup
eMobc Android Startup
 
Ia Robotica
Ia RoboticaIa Robotica
Ia Robotica
 
Ia Robotica
Ia RoboticaIa Robotica
Ia Robotica
 
Presentación de eMobc en BetaBeers Madrid
Presentación de eMobc en BetaBeers MadridPresentación de eMobc en BetaBeers Madrid
Presentación de eMobc en BetaBeers Madrid
 
00463531f7b1b6cf3f000000
00463531f7b1b6cf3f00000000463531f7b1b6cf3f000000
00463531f7b1b6cf3f000000
 
ROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-PresentationROS-RoboMaker-ROS2-Spanish-Presentation
ROS-RoboMaker-ROS2-Spanish-Presentation
 
Software para el modelamiento, simulación y programación de aplicaciones rob...
Software para el modelamiento, simulación y programación de  aplicaciones rob...Software para el modelamiento, simulación y programación de  aplicaciones rob...
Software para el modelamiento, simulación y programación de aplicaciones rob...
 
Proyecto De Grado (2005) - Español
Proyecto De Grado (2005) - EspañolProyecto De Grado (2005) - Español
Proyecto De Grado (2005) - Español
 
Clase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtualClase 08c ejemplo_maquina_virtual
Clase 08c ejemplo_maquina_virtual
 
Aspect Oriented Programming Middleware
Aspect Oriented Programming MiddlewareAspect Oriented Programming Middleware
Aspect Oriented Programming Middleware
 
GWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactoryGWT: Why GWT, GQuery, and RequestFactory
GWT: Why GWT, GQuery, and RequestFactory
 
Sistemas operativos para robots
Sistemas operativos para robotsSistemas operativos para robots
Sistemas operativos para robots
 
Sesion 1 introducción a la plataforma windows phone
Sesion 1   introducción a la plataforma windows phoneSesion 1   introducción a la plataforma windows phone
Sesion 1 introducción a la plataforma windows phone
 
DOCKER+AWS+MELI
DOCKER+AWS+MELIDOCKER+AWS+MELI
DOCKER+AWS+MELI
 
Business Logic 2012
Business Logic 2012Business Logic 2012
Business Logic 2012
 
DotNetDom: El futuro de Xamarin
DotNetDom: El futuro de XamarinDotNetDom: El futuro de Xamarin
DotNetDom: El futuro de Xamarin
 
MOOC de Realidad aumentada (Coursera)
MOOC de Realidad aumentada (Coursera)MOOC de Realidad aumentada (Coursera)
MOOC de Realidad aumentada (Coursera)
 
Code Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingCode Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile Prototyping
 

Más de Bruno Capuano

Let's code a drone to follow faces using Python 🐍
Let's code a drone to follow faces using Python 🐍Let's code a drone to follow faces using Python 🐍
Let's code a drone to follow faces using Python 🐍Bruno Capuano
 
Using Azure IoT to feed my squirrels ️
Using Azure IoT to feed my squirrels ️Using Azure IoT to feed my squirrels ️
Using Azure IoT to feed my squirrels ️Bruno Capuano
 
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...Bruno Capuano
 
2021 06 19 ms student ambassadors nigeria ml net 01 slide-share
2021 06 19 ms student ambassadors nigeria ml net 01   slide-share2021 06 19 ms student ambassadors nigeria ml net 01   slide-share
2021 06 19 ms student ambassadors nigeria ml net 01 slide-shareBruno Capuano
 
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...Bruno Capuano
 
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...Bruno Capuano
 
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoMLBruno Capuano
 
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...Bruno Capuano
 
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...Bruno Capuano
 
2020 10 22 AI Fundamentals - Azure Machine Learning
2020 10 22 AI Fundamentals - Azure Machine Learning2020 10 22 AI Fundamentals - Azure Machine Learning
2020 10 22 AI Fundamentals - Azure Machine LearningBruno Capuano
 
2020 09 24 - CONDG ML.Net
2020 09 24 - CONDG ML.Net2020 09 24 - CONDG ML.Net
2020 09 24 - CONDG ML.NetBruno Capuano
 
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...Bruno Capuano
 
2020 06 27 Global AI On Tour Virtual GTA
2020 06 27 Global AI On Tour Virtual GTA2020 06 27 Global AI On Tour Virtual GTA
2020 06 27 Global AI On Tour Virtual GTABruno Capuano
 
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...Bruno Capuano
 
Global Azure AI Tour Buenos Aires Argentina, Drones and AI
Global Azure AI Tour Buenos Aires Argentina, Drones and AIGlobal Azure AI Tour Buenos Aires Argentina, Drones and AI
Global Azure AI Tour Buenos Aires Argentina, Drones and AIBruno Capuano
 
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AIBruno Capuano
 
2020 04 10 Catch IT - Getting started with ML.Net
2020 04 10 Catch IT - Getting started with ML.Net2020 04 10 Catch IT - Getting started with ML.Net
2020 04 10 Catch IT - Getting started with ML.NetBruno Capuano
 
2020 04 09 Global AI Community Virtual Tour - Drones and AI
2020 04 09 Global AI Community Virtual Tour - Drones and AI2020 04 09 Global AI Community Virtual Tour - Drones and AI
2020 04 09 Global AI Community Virtual Tour - Drones and AIBruno Capuano
 
2020 04 04 NetCoreConf - Machine Learning.Net
2020 04 04 NetCoreConf - Machine Learning.Net2020 04 04 NetCoreConf - Machine Learning.Net
2020 04 04 NetCoreConf - Machine Learning.NetBruno Capuano
 
2020 02 29 TechDay Conf - Getting started with Machine Learning.Net
2020 02 29 TechDay Conf - Getting started with Machine Learning.Net2020 02 29 TechDay Conf - Getting started with Machine Learning.Net
2020 02 29 TechDay Conf - Getting started with Machine Learning.NetBruno Capuano
 

Más de Bruno Capuano (20)

Let's code a drone to follow faces using Python 🐍
Let's code a drone to follow faces using Python 🐍Let's code a drone to follow faces using Python 🐍
Let's code a drone to follow faces using Python 🐍
 
Using Azure IoT to feed my squirrels ️
Using Azure IoT to feed my squirrels ️Using Azure IoT to feed my squirrels ️
Using Azure IoT to feed my squirrels ️
 
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...
2021 12 01 Global XR Conference - My experiences adapting a Digital Twin WebG...
 
2021 06 19 ms student ambassadors nigeria ml net 01 slide-share
2021 06 19 ms student ambassadors nigeria ml net 01   slide-share2021 06 19 ms student ambassadors nigeria ml net 01   slide-share
2021 06 19 ms student ambassadors nigeria ml net 01 slide-share
 
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...
Global AI on Virtual Tour Oslo - Anomaly Detection using ML.Net on a drone te...
 
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...
2021 04 21 Azure Sydney User Group - Scaling a POC to an Enterprise using Azu...
 
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML
2021 02 23 MVP Fusion Getting Started with Machine Learning.Net and AutoML
 
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...
2021 02 13 CodeGen Verona - Let’s code a drone to follow faces syncing everyt...
 
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...
2020 11 19 MVP Days Israel 2020 - Introduction to Machine Learning.Net and Au...
 
2020 10 22 AI Fundamentals - Azure Machine Learning
2020 10 22 AI Fundamentals - Azure Machine Learning2020 10 22 AI Fundamentals - Azure Machine Learning
2020 10 22 AI Fundamentals - Azure Machine Learning
 
2020 09 24 - CONDG ML.Net
2020 09 24 - CONDG ML.Net2020 09 24 - CONDG ML.Net
2020 09 24 - CONDG ML.Net
 
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...
2020 08 06 Global XR Talks - Lessons Learned creating a multiplatform AI proj...
 
2020 06 27 Global AI On Tour Virtual GTA
2020 06 27 Global AI On Tour Virtual GTA2020 06 27 Global AI On Tour Virtual GTA
2020 06 27 Global AI On Tour Virtual GTA
 
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...
2020 06 13 Best of Build 2020 - Canada Community Edition - Artificial Intelli...
 
Global Azure AI Tour Buenos Aires Argentina, Drones and AI
Global Azure AI Tour Buenos Aires Argentina, Drones and AIGlobal Azure AI Tour Buenos Aires Argentina, Drones and AI
Global Azure AI Tour Buenos Aires Argentina, Drones and AI
 
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI
2020 04 18 Global AI On Tour Monterrey - Program a Drone using AI
 
2020 04 10 Catch IT - Getting started with ML.Net
2020 04 10 Catch IT - Getting started with ML.Net2020 04 10 Catch IT - Getting started with ML.Net
2020 04 10 Catch IT - Getting started with ML.Net
 
2020 04 09 Global AI Community Virtual Tour - Drones and AI
2020 04 09 Global AI Community Virtual Tour - Drones and AI2020 04 09 Global AI Community Virtual Tour - Drones and AI
2020 04 09 Global AI Community Virtual Tour - Drones and AI
 
2020 04 04 NetCoreConf - Machine Learning.Net
2020 04 04 NetCoreConf - Machine Learning.Net2020 04 04 NetCoreConf - Machine Learning.Net
2020 04 04 NetCoreConf - Machine Learning.Net
 
2020 02 29 TechDay Conf - Getting started with Machine Learning.Net
2020 02 29 TechDay Conf - Getting started with Machine Learning.Net2020 02 29 TechDay Conf - Getting started with Machine Learning.Net
2020 02 29 TechDay Conf - Getting started with Machine Learning.Net
 

Último

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (10)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

SecondNug Robotics, Kinect y un par de demos más

  • 1. Conquista el mundo con Robotics y Kinect Bruno Capuano Innovation Manager @elbruno
  • 2. Bruno Capuano Innovation Manager @elbruno http://www.elbruno.co m
  • 4. Hoy podemos conectarnos a casi cualquier tipo de dispositivo  Este tipo de dispositivos son plataformas minúsculas  Controles remotos o de dispositivos  Dispositivos de un solo uso  Dispositivos con un solo propósito  El procesador está allí simplemente para controlar el dispositivo  Producción en alto volumen  No necesidad de un sistema operativo
  • 5. Demo: USB Email Notifier  USB con un LED 6 colores  Precio al día de hoy: €6 (aprox.)  Incluye una aplicación que escanea nuestro buzón de correo y muestra notificaciones “luminosas” frente a eventos  New email: Green  Buzón lleno: Red  También muestra notificaciones de estado con Live Messenger y Skype  Link: http://bit.ly/IBgZjL
  • 6. USB Missile Launcher  Este es mucho más conocido  No hace falta presentación  Link: http://bit.ly/fhc3k1
  • 10. Microsoft Robotics Plataforma de desarrollo para robótica Runtime liviano orientado a servicios Plataforma extensible LEGO Mindstorm NXT fishertechnik Parallax Boe-Bot BASIC Stamp Robot iRobot Roomba MobileRobots Pioneer P3 DX Trasxter Kondo KH-1
  • 11. LEGO Mindstorm NXT Microsoft Robotics Boe-Bot Kit for iRobot Roomba Microsoft Robotics Studio
  • 12. Microsoft Robotics Visual Programming Simulation Engine Microsoft Robotics
  • 13. MRDS - Simulation Engine Retos a superar por Simulation Engine Beneficios del Simulation Engine El hardware es costoso, no está al alcance de No es necesario hardware para comenzar todos Es posible prototipar y separar en módulos los Los problemas de Hardware son de difícil solución componentes de la simulación El Hardware es “único” por lo que no se puede Es posible utilizar la simulación con el robot utilizar simultáneamente
  • 17. DARPA: Princeton University  DARPA Urban Challenge  5 x Dual Core Servers  25 distributed services  35 undergraduates! http://pave.princeton.edu/
  • 18. ROBOCHAMPS www.robochamps.com now call for robotics >> http://blogs.msdn.com/b/msroboticsstudio/archive/2012/ 06/29/call-for-robotics-projects.aspx
  • 20. Visual Programming Microsoft Visual Programming Language Basado en Procesos Ideal para no-developers  Toolbox con componentes extensibles
  • 23. Robotics Runtime ¿Cómo funciona una aplicación de robótica? Actores Orquestación User Exp (UI) Behavior Sensores Está compuesta por una serie de componentes desacoplados que proveen: “Orquestación” de los sensores y actores Interacción con el usuario Control de la lógica del proceso
  • 24. Robotics Runtime Custom/Application Services Orchestration Control Sensors Actuators Services Simulation Sensors Algorithms Authoring Reference Services Services Visualization Actuators … Runtime Concurrency Decentralized Activation Diagnostics UX and coordination System runtime Services Discovery Monitoring Storage
  • 25. Robotics Runtime Los servicios con los bloques principales Gestionan estados Behavior Respetan un contrato predefinido Las operaciones Administran los estados Crean y destruyen nuevos servicios Son las encargardas de gestionar las notificaciones
  • 26. Orchestration Service Laser Range Finder Service Laser Range Finder Service Camera Service Camera Service Bumper Service Bumper Service Drive Service
  • 27. Microsoft Robotics Necesidades en Robotics  Asíncrono  Concurrente MultiCore/ManyCore  Poco Distributed Computing acoplamiento  Descentralizado …
  • 28. Microsoft Robotics Necesidades en Robotics Runtime Authoring Tools Services • Coordination and • Visual Simulation • Samples and Concurrency library Runtime and Editor tutorials (CCR) • Visual Programming • Robot services • Distributed Services Language (VPL) • Robot models Framework (DSS) • Visual Studio • Infrastructure templates services
  • 30. Parallel programming CPU Core CPU Core CPU Core
  • 31. Parallel programming, too many threads CPU Core CPU Core CPU Core
  • 32. Parallel programming, too few threads CPU Core CPU Core CPU Core CPU Core
  • 33. Parallel programming, with CCR CCR CPU Core CPU Core CPU Core CPU Core
  • 34. CCR nos permite crear aplicaciones escalables y concurrentes  Descomponiendo el trabajo en un conjunto de elementos heterogeneous  Permitiendo que la concurrencia se balance en base a los recursos disponibles  En pocas palabras tu decides QUÉ puede ser ejecutado en paralelo, CCR decide CUÁNDO y DÓNDE puede ser ejecutado
  • 38. Lego NXT# / MindSqualls.Net  Una alternativa interesante
  • 39. Lego NXT# / MindSqualls.Net  Código más limpio
  • 41. Referencias  Download and tutorials:  http://microsoft.com/robotics  Book:  http://www.amazon.es/Professional-Microsoft-Robotics-Developer- Programmer/dp/0470141077/ref=sr_1_2?ie=UTF8&qid=1347534766&sr=8-2  Blogs:  http://blogs.msdn.com/msroboticsstudio  http://elbruno.com
  • 42. Bruno Capuano Innovation Manager @elbruno http://www.elbruno.co m

Notas del editor

  1. IntroducciónMs lo anuncia el 20 de Junio de 2006 en la Robotics Business ConferenceCTP Agosto, Septiembre, Octubre, NoviembreRTM 13 Diciembre 2006 Plataforma de desarrollo de robots de End-to-End posee una herramienta para la generación de servicios que interactúan con piezas de hardware estos servicios son genéricos y pueden ser accedidos desde una interfaz web o win posee una herramienta para la simulación de aplicación en un entorno que soporta modelos 3D Utilizando the AGEIA PhysiscsTechnologyEl Runtime posee un engine para la ejecución concurrente de servicios (lo veremos mas adelante cuando tengamos que rotar un motor)Esto hace que la creación de aplicación asincronas sea mas facilSe puede acceder al estado de cualquier servicio a traves de una interfaz web para consultar su estado y para interactuar con el mismoVisual Studio y VS Express además de IronPhytonLa version RTM soporta interfaces para interactuar con LEGO Mindstorms, Irobot; aspiradoras inteligentes, ahora con bluetoothel mando de la XBox360
  2. Boe-Bot Kit for Microsoft Robotics StudioUsing Microsoft Robotics Studio, you can easily program the Boe-Bot Parallax kit over Bluetooth and best of all, the Robotics Studio team has negotiated a 15% discount on the BoeBot.  Cost: $178.77 after 15% discountGet it:Head over to ParallaxCode it: You can use Microsoft Robotics Studio which exposes services to control your Parallax Boe-Bot Kit using Bluetooth.iRobotRoombaBesides being a great way to vacuum your house, you can program your roomba to help you take over the world!  I suggest making it bark like a dog and "attack" people that get too close to your Xbox.Cost: $229 or $339 depending on modelGet it:Roomba Red + RooTooth bundle, Roomba Discovery + RooTooth BundleCode it: You can use Microsoft Robotics Studio which includes built-in services for Roomba programming.LEGO Mindstorm NXTLEGO Mindstorms NXT is Lego’s newest release of their popular Mindstorms robotics and includes built-in three motor support and multiple sensor support including motion, touch, sound, and light.  Heck, you may even be able to solve the most evil puzzle ever created.Cost: $249.99Get it:LEGO Mindstorms on Amazon.comCode it: You can use Microsoft Robotics Studio which includes built-in services for LEGO Mindstorms NXT programming.  Or check out Mind Squall's .Net 2.0 library for remote controlling your NXT.
  3. Hardware costoso, el LEGO cuesta mas de 200€Una parte importante del desarrollo y pruebas con elementos de robotica es la capacidad de emulacionEs diferente al desarrollo convencional (no hay Nunit :P)El equipo de Robotics, despues de investigar un poco, pensó que el punto de partida ideal para brindar capacidades de emulacion era un entorno de emulacion como el de los videojuegos; con base en visualizaciones realistasfisica aplicada a los objetos con restricciones basadas en el mundo realUtiliza AGEIA PhysxTechnologyManejado y renderizado con DirectXNo es necesario Hardware para comenzarSe pueden diseñar y coordinar proyectos interdisciplinarios para equipos distribuidos con roles diferentesEsto permite ajustar los valores de las variables que afectan al robot en tiempo real
  4. Proyecto de ejemplo de Demo"C:\\Microsoft Robotics Studio (1.5)\\samples\\SimulationTutorials\\Tutorial1\\SimulationTutorial1.sln“Descomentar y explicar como se agregan entidadesprivate void PopulateWorld() { //AddSky(); //AddGround(); //AddBox(new Vector3(1, 1, 1)); //AddTexturedSphere(new Vector3(3, 1, 0)); }F1 - Hides help text. F2 - Toggles display/rendering of the physics primitive visualization. Useful for debugging your physics geometry. Camera Movement: A - Strafe Left (lateral move left) D - Strafe Right (lateral move right) W - Move Forward S - Move Backward Q - Move Up on the Y-axis (vertically) E - Move Down in the Y-axis (vertically) Proyecto 2"C:\\Microsoft Robotics Studio (1.5)\\samples\\SimulationTutorials\\Tutorial2\\SimulationTutorial2.sln"Referencias a The tutorial requires the following additional references: SimulatedBumper.Y2006.M05.Proxy SimulatedDifferentialDrive.2006.M06.Proxy SimulatedLRF.Y2006.M05.Proxy SimulatedWebcam.Y2006.M09.Proxy Para controlar el lego y el Bot grandeHay ademas un sensor laser en la mesa para controlar las distanciasMostrar y descomentar el siguiente código para mostrar como se puede montar una webcam sobre un robot (lina 108)//CreateService(// simwebcam.Contract.Identifier,// Microsoft.Robotics.Simulation.Partners.CreateEntityPartner(// "http://localhost" + cam1.State.Name)//);
  5. En realidad el nombre es Microsoft Visual Programming LanguageEs un entorno de desarrollo visual basado en procesos “de datos”Esta pensado para nodesarrolladores, personas sin conocimientos de programación, pero con conocimientos basicos de conceptos como variables, flujos y logica.OJO, no está limitado para principiantes se pueden hacer app potentes con VPLPosee una toolbox con los componentes que se pueden utilizar en el proceso, y esta toolbox es extensibleNo se utiliza WWF, porque el engine de ejecución de VPL, para los procesos sincrónicos es parecido, pero tiene características propias de la programacion concurrente que no aplican a WWF
  6. Lanzar VPLDemos en c:\\YoRobot\\Source\\MRDS\\Ejemplo de un simple hola MundoLoop con text to speechMovimiento de un Lego, configurar el “GenericDifferentialDrive” para que utilice la interfaz de acceso del LEGO.
  7. Este es el esquema grafico principal de una aplicación robotica, compuesta por actires, sensores, y usuariosEs necesario una entidad que actue como un orquestador y que sea la encargada de
  8. Actua como un orquestador