2010 10 25 Universidad Autonoma de Madrid - Microsoft Robotics

  • 1,090 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,090
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Cambio a estilo 2007 ¿?
  • 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
  • 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.
  • 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
  • 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)//);
  • 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
  • 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.
  • 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
  • Actua como un orquestador

Transcript

  • 1. Microsoft RoboticsDeveloper Studio
    2010 04 08
    Bruno Capuano
    MVP – Visual Studio ALM
    b.capuano@gmail.com
    Avanade
    www.elbruno.com
  • 2. Agenda
  • 3. A donde queremos llegar
  • 4. Donde estamos
  • 5. Qué nos puede suceder
  • 6. Microsoft RoboticsDeveloper Studio
  • 7. Microsoft Robotics
    LEGO Mindstorm NXT
    fishertechnik
    iRobotRoomba
    Parallax Boe-Bot BASIC Stamp Robot
    Kondo KH-1
    Trasxter
    MobileRobotsPioneer P3 DX
  • 8. Microsoft Robotics
    LEGO Mindstorm NXT
    Boe-Bot Kit for
    Microsoft Robotics Studio
    iRobotRoomba
  • 9. Microsoft Robotics
  • 10. Retos a superar por Simulation Engine
    Beneficios del Simulation Engine
    MRDS - Simulation Engine
  • 11. MRDS - Simulation Engine
  • 12. ROBOCHAMPSwww.robochamps.com
  • 13. Demo – SimulationEngine
  • 14. Visual Programming
  • 15. Visual Programming
  • 16. Demo – VisualProgramming
  • 17. ¿Cómofuncionaunaaplicación de robótica?
    Estácompuestaporunaserie de componentesdesacopladosqueproveen:
    “Orquestación” de los sensores y actores
    Interacción con el usuario
    Control de la lógica del proceso
    Robotics Runtime
    Actores
    Orquestación
    User Exp (UI)
    Behavior
    Sensores
  • 18. Microsoft Robotics Necesidades en Robotics
    Necesidades
    Asíncrono
    Concurrente
    Pocoacoplamiento
    Descentralizado

    MultiCore/ManyCore
    Distributed Computing
  • 19. Microsoft Robotics Necesidades en Robotics
    ¡No solo en aplicaciones de Robots!
    Runtime
    Services
    Authoring Tools
    • Coordination and Concurrency library (CCR)
    • 20. Distributed Services Framework (DSS)
    • 21. Visual Simulation Runtime and Editor
    • 22. Visual Programming Language (VPL)
    • 23. Visual Studio templates
    • 24. Samples and tutorials
    • 25. Robot services
    • 26. Robot models
    • 27. Infrastructure services
  • Robotics Runtime
    Custom/Application Services
    Sensors
    Actuators
    Orchestration
    Control
    Services
    Algorithms
    Simulation
    Sensors
    Authoring
    Services
    Reference
    Services

    Visualization
    Actuators
    Runtime
    Concurrency
    and coordination
    runtime
    Activation
    UX
    Diagnostics
    Decentralized
    System
    Services
    Discovery
    Storage
    Monitoring
  • 28. Robotics Runtime
    Port
    Handlers
    State
    Los servicios con losbloquesprincipales
    Gestionanestados
    Behavior
    Respetan uncontratopredefinido
    Service
    Las operaciones
    Administran los estados
    Crean y destruyen nuevos servicios
    Son lasencargardas de gestionarlasnotificaciones
  • 29. Robotics Runtime
  • 30. Demo – RoboticsRuntime
  • 31. Tribot + WebCam
  • 32. Lego NXT# / MindSqualls.Net
    Una alternativa interesante
  • 33. Lego NXT# / MindSqualls.Net
    Código más limpio
  • 34. Demo – Lego NXT Sharp
  • 35. Referencias
    Microsoft Robotics Studio http://msdn.microsoft.com/robotics/
    Microsoft Robotics Studio Blog
    http://blogs.msdn.com/MSRoboticsStudio/
    Wiimote Controlled Car
    http://blogs.msdn.com/coding4fun/archive/2007/07/16/3902344.aspx
    NXT# (Librería opcional para controlar Lego Mindstorm desde .NET Framework)http://nxtsharp.fokke.net/
    NXTMindSqualls.Net(otra Librería opcional)http://www.mindsqualls.net/
    Managed Library for Nintendo's Wiimotehttp://blogs.msdn.com/coding4fun/archive/2007/03/14/1879033.aspx
    WiiEarth -- Wiimote Interface for Virtual Earthhttp://blogs.msdn.com/coding4fun/archive/2007/10/18/5506286.aspx
    Wiimote Controlled Carhttp://blogs.msdn.com/coding4fun/archive/2007/10/18/5506286.aspx
  • 36. Microsoft RoboticsDeveloper Studio
    Bruno Capuano
    MVP – Visual Studio ALM
    bcapuano@gmail.com
    Avanade
    www.elbruno.com