Mardi 22 octobre a eu lieu la cinquième édition de Nao sur Seine, une rencontre organisée dans les locaux de sfeir à deux pas de la Défense. Cette soirée à été l’occasion d’échanger avec des développeurs travaillant sur Nao mais aussi avec quelques employés d’Aldebaran Robotics.
C’est donc dans une ambiance conviviale que l’équipe de Planète Robots a été à la rencontre de ces gens, amateurs éclairés, membres du Nao Developer Program ou encore professionnels qui travaillent à donner vie à Nao.
Depuis la présentation des premiers prototype en 2007, nombreux sont ceux à attendre la commercialisation d’un Nao à destination du grand publique. En effet si aujourd’hui, Nao est un succès avec 3500 exemplaires commercialisés à travers le monde , nous sommes encore loin du robot autonome dont tout le monde rêve. Voilà des années que Bruno Maisonnier, PDG d’AR, nous fait miroiter l’arrivée prochaine d’un petit compagnon qui interagirait naturellement avec nous et qui semblerait vivant.
Seulement voilà pour arriver à cette illusion de vie, il faut en passer par des années de développement, mettre bout à bout moult comportements pour animer cette petite marionnette électronique.
Alors quoi de mieux que d’aller dans les coulisses du développement voir ce qui se passe sous le capot de Nao pour mieux apprécier tout le travail et le potentiel que cela représente?
La soirée a été l’occasion de rencontrer l’équipe chargée de la qualification des applications chez Aldebaran Robotics. Concrètement le rôle de cette équipe est de tester sur des Nao en situation réelle les packages applicatif programmés en interne ou ceux soumis par les membres du Dev Prog. Le but est de contrôler au sein de la test room qu’un programme qui sera mis à disposition sur la boutique répond bien à un certain nombre de critères parmi lesquels on peut citer:
– la sécurité: pas d’actions dangereuses pour le robot et les personnes
– intégrité: pas de modification des librairies et du système.
– éthique: Nao ne doit pas dire de gros mot ou ne pas inciter à faire des choses dangereuses (Nao ne vous lancera donc jamais de défie digne de Jackass )
– langue: Nao doit au minimum parler en anglais
– comportements du robot: pas de bug, pas de mouvement entrainant un déséquilibre ou la surchauffe des moteurs. Test de réactivité à la compréhension et l’exécution.
– packaging: l’app doit avoir un titre parlant et être accompagnée de préférence d’une vidéo de démo. L’interaction avec le robot doit être décrite (ex: trigger word) et respecter certains standards (exemple: sortie de l’application par une tape sur la tête ).
Cette soirée fut donc l’occasion de rappeler aux développeurs l’importance de faire leurs propres check list, d’effectuer des tests fonctionnels et de performances avant de soumettre leur création.
Par exemple pour ceux programmant sur Nao une danse ou des gestes rapide en station debout, il faut faire attention de ne pas trop solliciter les parties mécaniques sur de longues périodes. En effet, cela peut entrainer une chauffe et réduire la capacité à exécuter certains mouvements. Il est même conseillé de tester l’exécution correcte d’un mouvement lorsque que les moteurs sont chaud… tester les limitations de couple. Un comportement limite (léger déséquilibre en mouvement) peut passer sur un robot mais pas un autre. Il existe des petites variations mécatronique d’un modèle à l’autre, il est donc préférable de ne pas pousser à l’extrême sur ce que permettent les degrés de liberté des articulations.
Les tests effectuer en interne par AR peuvent prendre jusqu’à une semaine par application. Ce contrôle draconien permet notamment en cas de problème d’identifier si un bug vient simplement du package ou du system lui même.
A l’avenir d’autres tests plus restrictifs pourraient voir le jour comme l’empreinte mémoire d’une app. Pour contourner le problème, il est toujours possible de déporter certains traitements via un PC en réseau. Aldebaran Robotics ne pose pas de limites sur un éventuel mode connecté . L’important étant d’avoir toujours la possibilité de quitter l’application si la connexion réseau/Internet est perdue pour revenir sur un fonctionnement autonome de Nao.
Aujourd’hui, ce sont environ 500 applications qui ont été approuvées et l’équipe d’AR continue d’en tester au rythme de 2 à 3 par semaine. A noter que dans les phases de tests se sont les applications internes qui sont priorisées.
Au niveau mondial, il y a maintenant 300 personnes ayant eu le privilège d’accéder au dev prog dont une large frange de Français (cocorico! ). En échange de l’achat d’un Nao à prix discount (environ 75% de remise), les développeurs s’engagent à proposer aux moins de 2 applications la première année d’adhésion. A noter que Nao et ses API évoluent régulièrement, il est donc conseiller de nettoyer régulièrement le code pour s’assurer de faire appel à des fonctions toujours supportées. Côté évolution, AR planifie l’arrivée de la partie payante du store pour l’année prochaine.
Après cette introduction par l’équipe d’Aldebaran sur la gestion de la communauté des développeurs, la soirée s’est prolongée par une présentation par Blandine Bourgois de Chorégraphe, l’environnement de développement (ide) permettant de programmer Nao.
Pour rappel, Chorégraphe permet aux utilisateurs de NAO de créer et d’éditer de façon simple des mouvements et comportements interactifs. Cet IDE, propose une interface graphique intuitive et inclus une bibliothèque de comportements standard (ex: une brique “se relever” qu’il suffit de glisser sur la timeline). Les plus expert peuvent également éditer “une boite” et se plonger dans les entrailles du code. (exemple: en écrivant des scripts Python ou Urbi qui pourront appeler des modules C++ développés séparément)
Pour mieux vous faire une idée sur l’utilisation de Chorégraphe, je vous invite à regarder cette vidéo réalisée par Céline Boudier, Manager of Application Incubator Studio Team chez Aldebaran Robotics, dans le cadre du Paris NAO User Group le 21 février 2013 chez SFEIR.
Après avoir montré le fonctionnement de Chorégraphe, Blandine a réalisé une démo de son application “Beer Buddy” créée dans le cadre du concours Buddypaddy.com. Cette application fait appel au système de reconnaissance visuelle de Nao qui devient capable de reconnaitre les étiquettes de différentes bières et de fournir tout un tas de conseils amusant.
Plus de détails dans ces slides.
Pour terminer, Vincent participant au Hackaton Nao du weekend dernier, nous a présenté son application développé en seulement 36H. (cf video)
Un sorte de jeu interactif façon Cluedo, où Nao campe le rôle dans un PNJ IRL comme dirait les gamers. En gros, chaque joueur se voit attribuer un objectif par Nao et le but étant de trouver des indices puis de les rapporter au petit robot.
Cette application est vraiment excellente autant d’un point de vue ludique que d’un point de vue technique. En effet, cette application fait appel à la reconnaissance visuelle en identifiant le visage des joueurs. Elle fait également appel à la reconnaissance et la synthèse vocale pour effectuer de petits échanges avec Nao. Il en résulte une interaction vraiment intéressante et presque naturelle (presque dans la mesure ou les temps de traitements de Nao sont toujours un peu long… cette lenteur à traiter les informations visuelle et auditive reste un gros point noir avec Nao qui fini par nuire à l’expérience… ).
Vous trouverez plus de détail sur cette superbe application sur influence-pc.
Hackathon Nao 2013 – Cité des sciences
Une chose est certaine, c’est qu’après une soirée avec l’équipe de Nao sur Seine, cela démange de s’inscrire au developer program et de pouvoir se lancer dans la programmation de Nao. (voir même dans la bidouille puisqu’il est possible pour un Nao d’interagir avec un Arduino (exemple créer un banc de tests via un pont USB > Série)
A noté qu’Aldebaran dans le cadre du dev prog ne recherche pas seulement des as du code mais aussi des gens ayant une sensibilité artistique notamment en animation (danse, musique, son) car développer le côté cognitif du robot, commence par la gestuelle.
Nao en 2013 de petites différences par rapport à 2008 🙂
Ping : Podcast de ma démo à Nao sur Seine #5 - Influence PC