EA2012 Langages et Canevas pour la robotique de service
Présentation
- Enseignants: Georges-Pierre Bonneau, Didier Donsez
- Auteurs: Elizabeth Paz <Elizabeth.Paz-Hernandez@e.ujf-grenoble.fr>, Salem Harrache <Salem.Harrache@e.ujf-grenoble.fr>
- Télécharger (FR):Media:Presentation_EA_ROS_URBI_PAZ_&_HARRACHE.pdf
Abstract
Keywords
Résumé
La robotique de service est la robotique qui rend des services utiles aux personnes. Cette robotique s'étend de plus au plus au marché grand public. Ces systèmes complexes à base de composants (moteur, détecteurs...) ont besoin d'interagir et communiquer entre eux. Il existe de plus en plus de middleware qui tendent à rendre la programmation de ces robots plus facile et compatible entre plusieurs machines.
Dans cette présentation, nous allons nous intéresser à deux middleware en particulier qui sont ROS et Urbi.
Mots Clés
Robotique, ROS, Urbi, Urbi-script, Plateforme de developpement robotique
Synthèse
La robotique de service peut se définir comme la robotique qui exécute des services utiles pour le « bien-être » des personnes et des biens. Cette robotique s'étend au marché grand public : cela va du simple robot jouet au robot d’assistance médicale en passant par des “engins” autonomes qui n’assurent que certaines fonctions domestiques (aspirateurs, tondeuses à gazon, etc.).
Ces robots sont composés de systèmes complexes à base de composants (moteur, détecteurs...) qui ont besoin d'interagir et communiquer entre eux. Il existe de plus en plus de middleware qui tendent à rendre la programmation de ces robots plus facile et compatible entre plusieurs machines. On peut citer YARP (Yet Another Robot Platform) écrit en C++ et qui permet l’interconnexion entre détecteurs, processeurs et articulation, ou encore l'environnement Microsoft Robotics Developer Studio, qui a l’avantage d’offrir deux types de développement : un SDK classique en C#, mais également la possibilité d'utiliser le VPL (Visual Programming Language) pour modéliser et concevoir les comportements avec des graphes.
Nous allons nous intéresser à deux middlware en particulier qui sont ROS et Urbi.
ROS
Urbi
Gostaï
Urbi est une plateforme logicielle de developpement pour la robotique développé par Gostaï [1] en 2006. L'entreprise a été fondé en 2006 par Jean-Christophe Baillie, ancien enseignant chercheur à l'ENSTA ParisPolytech où il a créé le laboratoire de Robotique Cognitive.
Plateforme logicielle
Compatibilité
Urbiscript
Démonstration Urbi et NXT Mindstorm
Pour la démonstration on utilise le Lego NXT de Mindstorm.
Avancer et reculer
Global.wheels.speed = 50; sleep (3s); Global.wheels.speed = −50; sleep (2s); Global.wheels.speed = 0;
Tourner
Global.wheelL.speed = - 50 time:1s & Global.wheelR.speed = 50 time:1s; Global.wheelL.speed = 0 time:2s & Global.wheelR.speed = 0 time:2s;
Explorer
var Global.explorer = Tag.new; explorer: { every(500ms) wheels.speed = 25; },
Arrêter le robot :
explorer.freeze() stop();
Reprendre l'exploration :
explorer.unfreeze()
Détecter les obstacles
var Global.DistanceDanger = 25; var Global.detecter = Tag.new; detecter: { at (sonar.val < Global.DistanceDanger) { explorer.freeze; wheels.speed = - 50 time:1500ms; // Tourner {Global.wheelL.speed = - 50 & Global.wheelR.speed = 50} & sleep(600ms); stop(); explorer.unfreeze; }, },
Contrôler
var Global.currentState = 0; at (bumper.val == 1) { if(Global.currentState == 0) { echo("On"); Global.currentState = 1; explorer.unfreeze; detecter.unfreeze; } else { echo("Off"); explorer.freeze; detecter.freeze; stop(); Global.currentState = 0; }| },
Conclusion
Liens
- ROS Website : http://www.ros.org/
- Gostai website : http://www.gostai.com/
- Wikipedia : http://fr.wikipedia.org/wiki/Urbi
- 2-high : http://www.2-high.info/post/2010/10/08/Installer-URBI-pour-Lego-Mindstorm-NXT
- ardi-rhonealpes : robotique de service et son potentiel en rhone-alpes