SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
NAONECT
Contrôler un robot humanoïde par des gestes en temps réel
Rouneau Anthony
sous la direction de Tom Mens
1 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Objectifs (de manière générale)
Donner goût à la recherche scientique, approcher
l'éventualité d'une thèse de doctorat.
Se familiariser avec les domaines de recherche de la robotique
et l'interaction homme-machine.
2 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Objectifs (de manière concrète)
Programmer un robot humanoide
(NAO) pour reproduire en temps
réel les gestes eectuées par un
humain.
Les gestes seront détectées et
analysées à l'aide d'une camera 3D
(Kinect)
3 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Aldebaran NAO
Corps version H25, tête version V5.
c Aldebaran
ATOM Z530 1.6 GHz
CPU, 1GB Ram, 2Gb
mémoire ash.
25 degrés de liberté
Mains préhensiles, tête
amovible.
2 caméras, 2 sonars,
capteurs tactiles,
2 bumpers, 2 micros,
2 haut-parleurs, ...
4 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Microsoft Kinect V2
Une camera couleur en Full-HD a 30FPS
Une caméra de profondeur en 512 x 424 à 30FPS.
5 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Contrôler NAO  Simulateur Choregraphe
6 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Contrôler NAO  Contrôle des jointures
7 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Contrôler NAO  Modèle Choregraphe
8 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Contrôler NAO  Script Choregraphe
9 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Contrôler NAO  Script Python
10 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
SDK  NAO
SDK Python fournit par Aldebaran.
Préféré au SDK C++ par connaissance du langage.
NAOqi 2.1 for Python 2.7
11 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Driver/SDK  Kinect V2
Pas de driver open source stable pour le moment...
Wrapper Python du SDK ociel du Kinect V2.
PyKinect2 : mapping d'une partie du SDK 2.0 ociel.
C++ =⇒ Python.
Quelques limitations : ne pas pouvoir suivre les mouvements de la
tête, alors que le SDK C++ le permet.
12 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Skeleton
Skeleton détecté par Kinect V2.
13 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Quaternion de rotation
vecteurs 4D de rotation :
(a, b, c, d) → a + bi + cj + dk
Axes de rotation pour jointure humaine :
14 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Quaternion de rotation  Problème
Maintenant voyons l'épaule de NAO par exemple :
15 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Système d'axe de NAO
Idée : partir du système d'axes de Kinect vers un nouveau.
= Multiplication par une matrice de transformation A
16 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Calcul d'angle
Exemple : Pitch de l'épaule droite
Transformer toutes les coordonnées par la matrice A.
Translater la jointure Spine_Mid pour qu'elle se situe en
dessous de l'épaule. = modiedJoint
Prendre le vecteur entre la jointure Right_Shoulder et
Spine_Shoulder. = joint8, 20
La base de comparaison (angle 0) sera le produit vectoriel
entre modiedJoint et joint8, 20. = basis
On abandonne la composante x dans nos vecteurs, et notre
angle est le cos−1 du produit scalaire du vecteur épaule-coude
et de basis.
(Tous les vecteurs sont normalisés à chaque étape)
17 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Filtrage des données venant de la Kinect
18 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Filtrage des données venant de la Kinect
19 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Filtrage des données venant de la Kinect
Filtre à prédiction de données : Holt-Winters
20 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Filtrage de l'ouverture de la main
Théoriquement : 0 = Fermé, 1 = Ouvert
0, 0, 1, 0, 0, 1, 0 = Ferm´e
1, 1, 1, 0, 1, 1, 0 = Ouvert
21 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Que le haut du corps ?
Module équilibre de NAO : OFFLINE...
→ Besoin d'un module d'équilibre ONLINE
22 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Travaux Futurs  Contrôle total
Améliorer la précision de l'orientation de la main
Contrôler le clignement des yeux
Contrôler par la voix
Contrôler l'orientation du regard
...
23 / 24 Rouneau Anthony NAONECT
Introduction
Matériel et logiciels utilisés
Utilisation des données
Travaux futurs
Démonstration
Questions et Démo
Des questions avant la démonstration?
24 / 24 Rouneau Anthony NAONECT

Contenu connexe

En vedette

[Infographie Etude JLL] Enquête sur l’évolution de la fonction immobilière 2015
[Infographie Etude JLL] Enquête sur l’évolution de la fonction immobilière 2015[Infographie Etude JLL] Enquête sur l’évolution de la fonction immobilière 2015
[Infographie Etude JLL] Enquête sur l’évolution de la fonction immobilière 2015JLL France
 
Bremen 2008 Elternverein Weidendamm Throw Away Your Television
Bremen 2008 Elternverein Weidendamm Throw Away Your TelevisionBremen 2008 Elternverein Weidendamm Throw Away Your Television
Bremen 2008 Elternverein Weidendamm Throw Away Your TelevisionKarsten D. Wolf
 
the new digital world explained to the C-suite
the new digital world explained to the C-suitethe new digital world explained to the C-suite
the new digital world explained to the C-suiteBertrand Petit
 
DAE Internetclub Bitcom Vortrag "New Deal on Data und die Wiederkehr der Disk...
DAE Internetclub Bitcom Vortrag "New Deal on Data und die Wiederkehr der Disk...DAE Internetclub Bitcom Vortrag "New Deal on Data und die Wiederkehr der Disk...
DAE Internetclub Bitcom Vortrag "New Deal on Data und die Wiederkehr der Disk...DAE-Internetclub
 
Atelier 4 Evénementiel, l'exemple de Chartres en lumières #RTB8
Atelier 4 Evénementiel, l'exemple de Chartres en lumières #RTB8Atelier 4 Evénementiel, l'exemple de Chartres en lumières #RTB8
Atelier 4 Evénementiel, l'exemple de Chartres en lumières #RTB8R-Evolutions Touristiques de Brive
 
Webinar decembre 9 facteurs satisfaction v1 121206
Webinar decembre 9 facteurs satisfaction  v1 121206Webinar decembre 9 facteurs satisfaction  v1 121206
Webinar decembre 9 facteurs satisfaction v1 121206Simon Chapleau
 
Fette Reifen Rennen Konzept
Fette Reifen Rennen KonzeptFette Reifen Rennen Konzept
Fette Reifen Rennen Konzeptsick.rick
 
Best of mensuel bowers & wilkins - juillet-août 2012
Best of mensuel   bowers & wilkins - juillet-août 2012Best of mensuel   bowers & wilkins - juillet-août 2012
Best of mensuel bowers & wilkins - juillet-août 2012B&W Group France
 
Campus Talk, Basel (Switzerland): Pimp your XING Profile
Campus Talk, Basel (Switzerland): Pimp your XING ProfileCampus Talk, Basel (Switzerland): Pimp your XING Profile
Campus Talk, Basel (Switzerland): Pimp your XING Profilebeeq
 
Rapport energies marines_2013.31_merged
Rapport energies marines_2013.31_mergedRapport energies marines_2013.31_merged
Rapport energies marines_2013.31_mergedBassot Baptiste
 
Chateaux syndicat (2)
Chateaux syndicat (2)Chateaux syndicat (2)
Chateaux syndicat (2)desintocx
 
Willkommen in der analog-digitalen Bibliothekswelt
Willkommen in der analog-digitalen BibliotheksweltWillkommen in der analog-digitalen Bibliothekswelt
Willkommen in der analog-digitalen BibliotheksweltChristoph Deeg
 
Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Damien Laureaux
 

En vedette (15)

[Infographie Etude JLL] Enquête sur l’évolution de la fonction immobilière 2015
[Infographie Etude JLL] Enquête sur l’évolution de la fonction immobilière 2015[Infographie Etude JLL] Enquête sur l’évolution de la fonction immobilière 2015
[Infographie Etude JLL] Enquête sur l’évolution de la fonction immobilière 2015
 
Bremen 2008 Elternverein Weidendamm Throw Away Your Television
Bremen 2008 Elternverein Weidendamm Throw Away Your TelevisionBremen 2008 Elternverein Weidendamm Throw Away Your Television
Bremen 2008 Elternverein Weidendamm Throw Away Your Television
 
the new digital world explained to the C-suite
the new digital world explained to the C-suitethe new digital world explained to the C-suite
the new digital world explained to the C-suite
 
DAE Internetclub Bitcom Vortrag "New Deal on Data und die Wiederkehr der Disk...
DAE Internetclub Bitcom Vortrag "New Deal on Data und die Wiederkehr der Disk...DAE Internetclub Bitcom Vortrag "New Deal on Data und die Wiederkehr der Disk...
DAE Internetclub Bitcom Vortrag "New Deal on Data und die Wiederkehr der Disk...
 
Atelier 4 Evénementiel, l'exemple de Chartres en lumières #RTB8
Atelier 4 Evénementiel, l'exemple de Chartres en lumières #RTB8Atelier 4 Evénementiel, l'exemple de Chartres en lumières #RTB8
Atelier 4 Evénementiel, l'exemple de Chartres en lumières #RTB8
 
Webinar decembre 9 facteurs satisfaction v1 121206
Webinar decembre 9 facteurs satisfaction  v1 121206Webinar decembre 9 facteurs satisfaction  v1 121206
Webinar decembre 9 facteurs satisfaction v1 121206
 
Compte rendu job tour
Compte rendu job tourCompte rendu job tour
Compte rendu job tour
 
Volver al origen Arquitectura sustentable
Volver al origen Arquitectura sustentableVolver al origen Arquitectura sustentable
Volver al origen Arquitectura sustentable
 
Fette Reifen Rennen Konzept
Fette Reifen Rennen KonzeptFette Reifen Rennen Konzept
Fette Reifen Rennen Konzept
 
Best of mensuel bowers & wilkins - juillet-août 2012
Best of mensuel   bowers & wilkins - juillet-août 2012Best of mensuel   bowers & wilkins - juillet-août 2012
Best of mensuel bowers & wilkins - juillet-août 2012
 
Campus Talk, Basel (Switzerland): Pimp your XING Profile
Campus Talk, Basel (Switzerland): Pimp your XING ProfileCampus Talk, Basel (Switzerland): Pimp your XING Profile
Campus Talk, Basel (Switzerland): Pimp your XING Profile
 
Rapport energies marines_2013.31_merged
Rapport energies marines_2013.31_mergedRapport energies marines_2013.31_merged
Rapport energies marines_2013.31_merged
 
Chateaux syndicat (2)
Chateaux syndicat (2)Chateaux syndicat (2)
Chateaux syndicat (2)
 
Willkommen in der analog-digitalen Bibliothekswelt
Willkommen in der analog-digitalen BibliotheksweltWillkommen in der analog-digitalen Bibliothekswelt
Willkommen in der analog-digitalen Bibliothekswelt
 
Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014Présentation Appcelerator Platform - Juin 2014
Présentation Appcelerator Platform - Juin 2014
 

Similaire à NAONECT: Contrôler un robot humanoïde par des gestes en temps réel

Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Badr Hakkari
 
Kinect + Office365 : Un bon geste en faveur de votre SI !
Kinect + Office365 : Un bon geste en faveur de votre SI ! Kinect + Office365 : Un bon geste en faveur de votre SI !
Kinect + Office365 : Un bon geste en faveur de votre SI ! Microsoft Technet France
 
Kinect et Office365 : Un bon geste en faveur de votre SI
Kinect et Office365 : Un bon geste en faveur de votre SIKinect et Office365 : Un bon geste en faveur de votre SI
Kinect et Office365 : Un bon geste en faveur de votre SIFabrice BARBIN
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxbpmana
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonMohammed TAMALI
 
Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotiqueLouise Roy
 
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008FAN Fully Automated Nagios
 
Petit guide des possibilités d'utilisation du logiciel scratch en technologie
Petit guide des possibilités d'utilisation du logiciel scratch en technologiePetit guide des possibilités d'utilisation du logiciel scratch en technologie
Petit guide des possibilités d'utilisation du logiciel scratch en technologieخالد المشكوري
 
Presentation base
Presentation basePresentation base
Presentation baseLouise Roy
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2Jérôme Esnault
 
Meetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceMeetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceYannick Comte
 
Presentation base
Presentation basePresentation base
Presentation baseLouise Roy
 
Introduction to NI, LabVIEW, ELVIS and Planet NI
Introduction to NI, LabVIEW, ELVIS and Planet NIIntroduction to NI, LabVIEW, ELVIS and Planet NI
Introduction to NI, LabVIEW, ELVIS and Planet NIslemoslideshare
 
memoire utilisation de Puppet et Nagios
memoire utilisation de Puppet et Nagiosmemoire utilisation de Puppet et Nagios
memoire utilisation de Puppet et Nagiosabouaalexis
 
Datascience & IoT
Datascience & IoTDatascience & IoT
Datascience & IoTZenika
 
Decentralised Control of Intelligent Devices: A Healthcare Facility Study
Decentralised Control of Intelligent Devices: A Healthcare Facility Study Decentralised Control of Intelligent Devices: A Healthcare Facility Study
Decentralised Control of Intelligent Devices: A Healthcare Facility Study FactoVia
 

Similaire à NAONECT: Contrôler un robot humanoïde par des gestes en temps réel (20)

Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)Connected Developper Ep6 (25-05-2013)
Connected Developper Ep6 (25-05-2013)
 
Kinect Arduino Robot
Kinect Arduino RobotKinect Arduino Robot
Kinect Arduino Robot
 
Kinect + Office365 : Un bon geste en faveur de votre SI !
Kinect + Office365 : Un bon geste en faveur de votre SI ! Kinect + Office365 : Un bon geste en faveur de votre SI !
Kinect + Office365 : Un bon geste en faveur de votre SI !
 
Kinect et Office365 : Un bon geste en faveur de votre SI
Kinect et Office365 : Un bon geste en faveur de votre SIKinect et Office365 : Un bon geste en faveur de votre SI
Kinect et Office365 : Un bon geste en faveur de votre SI
 
Support Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptxSupport Formation Samsung - Python - Session 1 - 2022.pptx
Support Formation Samsung - Python - Session 1 - 2022.pptx
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
 
Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotique
 
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
FAN, Fully Automated Nagios, Paris Capitale du Libre 2008
 
Fully Automated Nagios Jm2L 2009
Fully Automated Nagios Jm2L 2009Fully Automated Nagios Jm2L 2009
Fully Automated Nagios Jm2L 2009
 
Petit guide des possibilités d'utilisation du logiciel scratch en technologie
Petit guide des possibilités d'utilisation du logiciel scratch en technologiePetit guide des possibilités d'utilisation du logiciel scratch en technologie
Petit guide des possibilités d'utilisation du logiciel scratch en technologie
 
Presentation base
Presentation basePresentation base
Presentation base
 
ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2ADT SOFAVR jesnault 01-10-12 final presentation 2
ADT SOFAVR jesnault 01-10-12 final presentation 2
 
Meetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open sourceMeetup XVRRAA #2 : Les news de l'open source
Meetup XVRRAA #2 : Les news de l'open source
 
Hernandez_Remi_CV_v2
Hernandez_Remi_CV_v2Hernandez_Remi_CV_v2
Hernandez_Remi_CV_v2
 
Presentation base
Presentation basePresentation base
Presentation base
 
L'univers Android
L'univers AndroidL'univers Android
L'univers Android
 
Introduction to NI, LabVIEW, ELVIS and Planet NI
Introduction to NI, LabVIEW, ELVIS and Planet NIIntroduction to NI, LabVIEW, ELVIS and Planet NI
Introduction to NI, LabVIEW, ELVIS and Planet NI
 
memoire utilisation de Puppet et Nagios
memoire utilisation de Puppet et Nagiosmemoire utilisation de Puppet et Nagios
memoire utilisation de Puppet et Nagios
 
Datascience & IoT
Datascience & IoTDatascience & IoT
Datascience & IoT
 
Decentralised Control of Intelligent Devices: A Healthcare Facility Study
Decentralised Control of Intelligent Devices: A Healthcare Facility Study Decentralised Control of Intelligent Devices: A Healthcare Facility Study
Decentralised Control of Intelligent Devices: A Healthcare Facility Study
 

Plus de Tom Mens

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD studentTom Mens
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentTom Mens
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubTom Mens
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHubTom Mens
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureTom Mens
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Tom Mens
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubTom Mens
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networksTom Mens
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsTom Mens
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero SpaceTom Mens
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesTom Mens
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Tom Mens
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Tom Mens
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsTom Mens
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...Tom Mens
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Tom Mens
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Tom Mens
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsTom Mens
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarTom Mens
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersTom Mens
 

Plus de Tom Mens (20)

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the Future
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 

NAONECT: Contrôler un robot humanoïde par des gestes en temps réel

  • 1. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration NAONECT Contrôler un robot humanoïde par des gestes en temps réel Rouneau Anthony sous la direction de Tom Mens 1 / 24 Rouneau Anthony NAONECT
  • 2. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Objectifs (de manière générale) Donner goût à la recherche scientique, approcher l'éventualité d'une thèse de doctorat. Se familiariser avec les domaines de recherche de la robotique et l'interaction homme-machine. 2 / 24 Rouneau Anthony NAONECT
  • 3. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Objectifs (de manière concrète) Programmer un robot humanoide (NAO) pour reproduire en temps réel les gestes eectuées par un humain. Les gestes seront détectées et analysées à l'aide d'une camera 3D (Kinect) 3 / 24 Rouneau Anthony NAONECT
  • 4. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Aldebaran NAO Corps version H25, tête version V5. c Aldebaran ATOM Z530 1.6 GHz CPU, 1GB Ram, 2Gb mémoire ash. 25 degrés de liberté Mains préhensiles, tête amovible. 2 caméras, 2 sonars, capteurs tactiles, 2 bumpers, 2 micros, 2 haut-parleurs, ... 4 / 24 Rouneau Anthony NAONECT
  • 5. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Microsoft Kinect V2 Une camera couleur en Full-HD a 30FPS Une caméra de profondeur en 512 x 424 à 30FPS. 5 / 24 Rouneau Anthony NAONECT
  • 6. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Contrôler NAO Simulateur Choregraphe 6 / 24 Rouneau Anthony NAONECT
  • 7. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Contrôler NAO Contrôle des jointures 7 / 24 Rouneau Anthony NAONECT
  • 8. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Contrôler NAO Modèle Choregraphe 8 / 24 Rouneau Anthony NAONECT
  • 9. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Contrôler NAO Script Choregraphe 9 / 24 Rouneau Anthony NAONECT
  • 10. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Contrôler NAO Script Python 10 / 24 Rouneau Anthony NAONECT
  • 11. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration SDK NAO SDK Python fournit par Aldebaran. Préféré au SDK C++ par connaissance du langage. NAOqi 2.1 for Python 2.7 11 / 24 Rouneau Anthony NAONECT
  • 12. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Driver/SDK Kinect V2 Pas de driver open source stable pour le moment... Wrapper Python du SDK ociel du Kinect V2. PyKinect2 : mapping d'une partie du SDK 2.0 ociel. C++ =⇒ Python. Quelques limitations : ne pas pouvoir suivre les mouvements de la tête, alors que le SDK C++ le permet. 12 / 24 Rouneau Anthony NAONECT
  • 13. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Skeleton Skeleton détecté par Kinect V2. 13 / 24 Rouneau Anthony NAONECT
  • 14. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Quaternion de rotation vecteurs 4D de rotation : (a, b, c, d) → a + bi + cj + dk Axes de rotation pour jointure humaine : 14 / 24 Rouneau Anthony NAONECT
  • 15. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Quaternion de rotation Problème Maintenant voyons l'épaule de NAO par exemple : 15 / 24 Rouneau Anthony NAONECT
  • 16. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Système d'axe de NAO Idée : partir du système d'axes de Kinect vers un nouveau. = Multiplication par une matrice de transformation A 16 / 24 Rouneau Anthony NAONECT
  • 17. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Calcul d'angle Exemple : Pitch de l'épaule droite Transformer toutes les coordonnées par la matrice A. Translater la jointure Spine_Mid pour qu'elle se situe en dessous de l'épaule. = modiedJoint Prendre le vecteur entre la jointure Right_Shoulder et Spine_Shoulder. = joint8, 20 La base de comparaison (angle 0) sera le produit vectoriel entre modiedJoint et joint8, 20. = basis On abandonne la composante x dans nos vecteurs, et notre angle est le cos−1 du produit scalaire du vecteur épaule-coude et de basis. (Tous les vecteurs sont normalisés à chaque étape) 17 / 24 Rouneau Anthony NAONECT
  • 18. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Filtrage des données venant de la Kinect 18 / 24 Rouneau Anthony NAONECT
  • 19. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Filtrage des données venant de la Kinect 19 / 24 Rouneau Anthony NAONECT
  • 20. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Filtrage des données venant de la Kinect Filtre à prédiction de données : Holt-Winters 20 / 24 Rouneau Anthony NAONECT
  • 21. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Filtrage de l'ouverture de la main Théoriquement : 0 = Fermé, 1 = Ouvert 0, 0, 1, 0, 0, 1, 0 = Ferm´e 1, 1, 1, 0, 1, 1, 0 = Ouvert 21 / 24 Rouneau Anthony NAONECT
  • 22. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Que le haut du corps ? Module équilibre de NAO : OFFLINE... → Besoin d'un module d'équilibre ONLINE 22 / 24 Rouneau Anthony NAONECT
  • 23. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Travaux Futurs Contrôle total Améliorer la précision de l'orientation de la main Contrôler le clignement des yeux Contrôler par la voix Contrôler l'orientation du regard ... 23 / 24 Rouneau Anthony NAONECT
  • 24. Introduction Matériel et logiciels utilisés Utilisation des données Travaux futurs Démonstration Questions et Démo Des questions avant la démonstration? 24 / 24 Rouneau Anthony NAONECT