![Page 1: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/1.jpg)
![Page 2: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/2.jpg)
2
Types de problématiques
Système d’exploitation Quel CPU? Quelles fonctionnalités?
Temps-réel? Stacks réseaux?
Plateforme Applicative Interfaces graphiques? Architectures des composants?
![Page 3: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/3.jpg)
3
Le système d’exploitation
![Page 4: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/4.jpg)
4
Systèmes d’exploitations
Monolithique / General Purpose
Hardware sur étagère
Facilité de développement
Rapidité de développement
La taille peut être un problème
Drivers et flexibilité de l’OS
Monolithique/ Spécialisé
Hardware sur étagère/ Hardware custom
Rapidité de développement pour des
verticaux spécifiques (APIs)
Support Hardware/Driver
Modulaire/ Spécialisé
Hardware sur étagère/ Hardware custom
Nécessite du développement BSP/Driver
Modularité = flexibilité (taille, fonctionnalité)
Image maîtrisée et vérouillée
![Page 5: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/5.jpg)
5
Industrial Automation
MedicalEntertainment
Thin Client
Office Automation
ATM /Kiosk
Consumer
Robotics
Portable media
Industrial Automation Telematics
Thin Client
Windows Embedded
Personal Navigation
Point of Service
Dedicated servers
Kiosks Entertainment
![Page 6: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/6.jpg)
6
Le .NET MicroFramework
![Page 7: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/7.jpg)
7
La plateforme applicative
![Page 8: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/8.jpg)
8
Robotics Developer Studio
Application Robotique
Orchestration Contrôle Capteurs Actuateurs
Services de référence
Services
Services d’édition
Simulation
Visualisation
Capteurs
Actuateurs
Algorithmes
...
Runtime
DecentralizedSoftwareServices
Concurrency andCoordination
Runtime
Diagnostics
Monitoring
Activation
Découverte
UX
Stockage
![Page 9: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/9.jpg)
9
Managed Extensibility FrameworkStéphanie Hertrich
![Page 10: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/10.jpg)
10
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
![Page 11: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/11.jpg)
11
.Net duServo au Cerveau
Nicolas CLERCCEO/CTO QuidMind [email protected]
Microsoft Regional Director
![Page 12: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/12.jpg)
12
Nicolas CLERC [email protected]
Architecte logiciel et expert technique reconnu par Microsoft, les Microsoft Regional Director ont 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.
Regional Director depuis 10ans et créateur de la société d’expertise logicielle QuidMind, Nicolas CLERC est formateur officiel au sein du programme Microsoft Metro (Windows Azure, Silverlight, Unified Communication, …).
www.quidmind.com www.theregion.com
Azure
Windows Phone 7
WPFSensor & MultiTouch
Innovation
R & DSilverlight
RIA ServicesWCF
AppFabric
Architecture
CoachingAccompagnement
stratégiqueVSTO
SOA & architecture distribuéeVeille technologique
Confidentialité Sécurité
![Page 13: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/13.jpg)
13
Agenda
• Le Robot• Le pilotage• La télécommande• Retour d’information
![Page 14: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/14.jpg)
14
Un robot vert ?
CLOud
RObot
FEELing
CloRoFeel
![Page 15: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/15.jpg)
16
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 »
![Page 16: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/16.jpg)
17
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 (Clorofeel Remote)• Une application Silverlight 4 (Clorofeel Viewer)
![Page 17: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/17.jpg)
18
Architecture « POC »
Roboard RB110
PWM USB
Windows XP Pro allégée
RoboIo Lib .Net 4
RoboIO_dotNet
CloRoFeel Main Service
CloRoFeel WebCam Grabber
WCF WCF
![Page 18: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/18.jpg)
19
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
![Page 19: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/19.jpg)
20
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)
![Page 20: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/20.jpg)
22
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
![Page 21: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/21.jpg)
23
Architecture logicielle
CloRoFeelMain service
AppFabric
CloRoFeelRemote
![Page 22: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/22.jpg)
24
DEMO
• Service de Pilotage• Exposition sur Azure App Fabric• Utilisation du programme de test
![Page 23: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/23.jpg)
25
CloRoFeel Remote
• 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
![Page 24: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/24.jpg)
26
DEMO
• Pilotage avec CloRoFeel Remote
![Page 25: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/25.jpg)
27
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 : CloRoFeel upload 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é à Clorofeel Remote• Viewer web Silverlight 4
![Page 26: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/26.jpg)
28
Architecture logicielle
CloRoFeelwebCam Grabber Video Service
Web viewer
CloRoFeelRemote
![Page 27: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/27.jpg)
29
Demo
• CloroFeel Remote avec la vidéo• Viewer Silverlight
![Page 28: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/28.jpg)
30
Architecture logicielle
CloRoFeelMain service
CloRoFeelwebCam Grabber
AppFabric
Video Service
Web viewer
CloRoFeelRemote
![Page 29: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/29.jpg)
31
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 boutMAIS des contraintes spécifiques
• Délai de propagation• Fiabilité des réseaux d’interconnexion• Pas de « temps réel » ni timing garanti
![Page 30: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/30.jpg)
32
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
![Page 31: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/31.jpg)
33
MSDN et TechNet : l’essentiel des ressources techniques à portée de clic
http://technet.com http://msdn.com
Portail administration et infrastructure pour informaticiens
Portail de ressources technique pour développeurs
![Page 32: 2 Types de problématiques Système dexploitation Quel CPU? Quelles fonctionnalités? Temps-réel? Stacks réseaux? Plateforme Applicative Interfaces graphiques?](https://reader035.vdocuments.pub/reader035/viewer/2022062512/551d9dbd497959293b8e0225/html5/thumbnails/32.jpg)