1 / 32

Types de problématiques

Plateforme Applicative Interfaces graphiques? Architectures des composants?. Types de problématiques. Système d’exploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux?. Le système d’exploitation. Systèmes d’exploitations. Windows Embedded. Personal Navigation.

walt
Download Presentation

Types de problématiques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Plateforme Applicative Interfaces graphiques? Architectures des composants? Types de problématiques Système d’exploitation • Quel CPU? • Quelles fonctionnalités? • Temps-réel? • Stacks réseaux?

  2. Le système d’exploitation

  3. Systèmesd’exploitations

  4. Windows Embedded Personal Navigation Portable media Consumer Thin Client Entertainment Office Automation Medical Dedicated servers Industrial Automation Telematics Robotics ATM / Kiosk Industrial Automation Thin Client Kiosks Entertainment Point of Service

  5. Le .NET MicroFramework

  6. La plateforme applicative

  7. Robotics Developer Studio Application Robotique Orchestration Contrôle Capteurs Actuateurs Services Capteurs Algorithmes Simulation Servicesd’édition Services de référence Actuateurs ... Visualisation Runtime Concurrency and Coordination Runtime Activation Diagnostics UX Decentralized Software Services Découverte Monitoring Stockage

  8. ManagedExtensibility FrameworkStéphanie Hertrich

  9. Les idées pour la suite • Lync 2010 (ou Messenger) • Avec le SDK Lync, on peut connecter le robot à une infra de communications unifiées • Reactive Extensions (Rx) • «  LINQ to events » • L’asynchronisme à la portée de tous • Kinect et OpenNI !! • Windows Azure (le VM Role pour MSRDS / et le reste) • F# • Les langages fonctionnels sont particulièrements adaptés à la robotique

  10. .Net duServo au Cerveau Nicolas CLERC CEO/CTOQuidMind nclerc@quidmind.com Microsoft RegionalDirector

  11. Nicolas CLERC nclerc@quidmind.com Architecte logiciel et expert technique reconnu par Microsoft, les Microsoft RegionalDirectoront pour rôle de vous accompagner à la mise en œuvre des technologies et outils Microsoft, dans le cadre de migrations applicatives, de démarrages de projets ou de prototypages, aussi bien au niveau stratégique et décisionnaire qu’au sein de vos équipes de production. RegionalDirectordepuis 10ans et créateur de la société d’expertise logicielle QuidMind, Nicolas CLERCest formateur officiel au sein du programme Microsoft Metro (Windows Azure, Silverlight, Unified Communication, …). www.theregion.com www.quidmind.com Coaching Silverlight R & D Accompagnement stratégique Azure Sensor & MultiTouch WPF AppFabric RIA Services VSTO Windows Phone 7 WCF Architecture Innovation SOA & architecture distribuée Confidentialité Sécurité Veille technologique

  12. Agenda • Le Robot • Le pilotage • La télécommande • Retour d’information

  13. Un robot vert ? CLOud RObot FEELing CloRoFeel

  14. Hardware • Une carte PC s.o.c sous Windows XP allégé : Roboard RB110 • Classe x486, 256Mo RAM, 1Ghz • USB, I²C, RJ45, Jtag, SPI,RS232/485 CMOS/TTL, FTDI • 10*ADC, 16(24)*PWM bidirectionnel • SD Card (4Go) • MiniPci (VGA/Wifi) • 4 servos à rotation continue pourle déplacement (PWM) • 1 servo 180° pour l’orientation de la camera (PWM) • Un compas et un accéléromètre (I²C) • Un afficheur LCD TTL 2lignes • Une webcam (USB) • Une clé wifi (USB) • Prévu : senseur de contact , sonar à ultrason (ADC) • Alimentations dissociées servo / électronique • Le tout sur chassis « Custom » 

  15. Logiciels • OS : Windows XP Pro allégé • Installation sur SD Card via cle USB • Boot sur SD Card (simulation IDE) • Librairie native d’accès aux périphériques intégrés • I²C, PWM, ADC • Librairie d’interopérabilité .Net • Applicatif et services interne CloRoFeel • .NET 4 • Visual Studio 2010 • Windows Azure • Logiciel Client Clorofeel • Une application Windows Phone 7 (ClorofeelRemote) • Une application Silverlight 4 (ClorofeelViewer)

  16. Architecture « POC » WCF WCF CloRoFeel Main Service CloRoFeelWebCamGrabber RoboIO_dotNet RoboIo Lib .Net 4 Windows XP Pro allégée Roboard RB110 PWM USB

  17. Les contraintes CloRoFeel • Ressource limitée de Clorofeel • Pilotage du robot à distance • À partir d’un Windows Phone 7 • Mais ouverture vers d’autre plateforme • Accessibilité lointaine • Au delà de la portée directe d’un émetteur/récepteur embarqué • Éloignement géographique potentiellement important et non connu par avance, • Possibilité de pilotage multiple • Facilité de mise en œuvre

  18. CloRoFeel et AppFabric • Les fonctionnalités de pilotage sont exposé sous forme d’un service WCF • Utilisable localement : connexion directe entre la télecommande et le robot • Temps de réponse et réactivité amélioré • Accessible à distance : exposition du service de pilotage via Azure AppFabric • Sécurisation : pas d’accès directe au robot, pas d’ouverture de port IP au niveau réseau en entrée. • Gestion de la configuration par code ou par paramétrage (App.Config)

  19. Le service de pilotage • Interface Simple • Intégration d’une sécurité basique (!=hacking de Robot  ) • Définition de la vitesse droite et gauche • Position de la caméra

  20. Architecture logicielle CloRoFeel Remote AppFabric CloRoFeelMain service

  21. DEMO • Service de Pilotage • Exposition sur Azure App Fabric • Utilisation du programme de test

  22. CloRoFeelRemote • Application Windows Phone 7 • MultiTouch • Transmet au service exposé sur AppFabric les directives de pilotage du Robot • Vitesse droite • Vitesse gauche • Positionnement de la camera

  23. DEMO • Pilotage avec CloRoFeelRemote

  24. CloRoFeel et la vidéo • Consommation de temps cpu pour l’acquisition • Consommation de temps CPU et de bande passante pour la transmission • Utilisation d’un service de diffusion de la vidéo • Service WCF hébergé dans Azure • Fait office de tampon : CloRoFeelupload une seule fois l’image, le service la diffuse autant de fois que nécessaire • Le nombre de viewer n’a aucun impact sur CloRoFeel • Une méthode d’upload d’image sécurisé (token) • Une méthode de download d’image • Viewer intégré à ClorofeelRemote • Viewer web Silverlight 4

  25. Architecture logicielle CloRoFeel Remote CloRoFeelwebCamGrabber Video Service Web viewer

  26. Demo • CloroFeelRemote avec la vidéo • Viewer Silverlight

  27. Architecture logicielle CloRoFeel Remote AppFabric CloRoFeelMain service CloRoFeelwebCamGrabber Video Service Web viewer

  28. Verdict : Robot & Cloud Permet de simplifier l’accès à un dispositif embarqué • Multi-technologie et interopérable • ‘Transparent’ • Externalisation de traitement couteux, évolutivité, souplesse et puissance disponible • Technologie de développement maitrisée de bout en bout MAIS des contraintes spécifiques • Délai de propagation • Fiabilité des réseaux d’interconnexion • Pas de « temps réel » ni timing garanti

  29. Verdict : Robot & Cloud DONC • Continuer à utiliser l’intelligence locale pour les comportements « temps réel » sans pour autant négliger l’apport de services et fonctionnalités moins « embarqués » • Sélectionner un matériel avec un OS adaptés aux besoins mais ouvert • Windows ‘light’, Windows Embedded, Windows CE, MicroFramework • Camera avec logique de compression embarqué • Déporter les comportements évolués, non temps réel ou nécessitant de la puissance de calcul/stockage dans le cloud • Mémorisation, Analyse, … • Partage et capitalisation

  30. MSDN et TechNet: l’essentiel des ressources techniques à portée de clic • Portail administration et infrastructure pour informaticiens • Portail de ressources technique pour développeurs http://technet.com http://msdn.com

More Related