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
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
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
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