Génération Robots / Humarobotics Novembre 2012. Une première mise en œuvre de ROS (Robot Operating System)

Documents pareils
Trixbox: Asterisk packagé. Unité Réseaux du CNRS

DEPLOIEMENT MICROSOFT WINDOWS

PLATE-FORME DE CLOUD COMPUTING SLAPOS. Intégration d applications

Création d installateurs pour Windows avec InnoSetup

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

Installation de BOINC (pour Windows) La procédure reste néanmoins très similaire pour les utilisateurs de LINUX

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Sébastien Geiger IPHC Strasbourg

Création d une application Android (APPInventor)

Travail personnel sur ordinateur

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Gestion des licences et activation des logiciels : déploiement d'un logiciel à l'aide de Symantec Ghost

Procédure d installation :

Système Principal (hôte) 2008 Enterprise x64

L annuaire et le Service DNS

Configurer la supervision pour une base MS SQL Server Viadéis Services

Vérification formelle de la plate-forme Java Card

Création d'une nouvelle base de données

Remote Method Invocation (RMI)

Automatisation de l administration système

TP WINDOWS 2008 SERVER - OUTILS DE SAUVEGARDE ET DE RESTAURATION

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

Présentation d HyperV

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

contact@nqicorp.com - Web :

Gérard Castagnoli OSU PYTHEAS 25/06/2013 VVT2013 1

Installation de Premium-RH

Traduction des Langages : Le Compilateur Micro Java

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

WSM la solution complète de provisionnement de bureaux virtuels

TD/TP 1 Introduction au SDK d Android

Sources Authentiques. Denis VAN NUFFELEN - Chef de Projet S.A. - ewbs-bced. BCED 3 décembre 2013 Moulins de Beez

Forex VPS Mode d emploi

Sybase High Avalaibility

PROJET : ETNIC ESB JANUS. Guide technique : WS-Notification - Clustering. BULL Services et Solutions

ENVOI EN NOMBRE DE MESSAGES AUDIO

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Éléments d'architecture des ordinateurs

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

ORTIZ Franck Groupe 4. Terminal serveur pour administrer un serveur Windows à distance, client rdp linux.

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Enterprise Intégration

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

DLTA Deploy. Une offre unique de gestion de flotte mobile pour iphone, ipad & ipod touch. La solution de gestion de flotte mobile pour ios

Projet «Evolution» Référentiel d activités et de compétences : Administrer un parc informatique. Objectifs pédagogiques :

RTDS G3. Emmanuel Gaudin

Guide d installation JMap 5.0

Préparer la synchronisation d'annuaires

MANUEL D INSTALLATION D UN PROXY

Alfstore workflow framework Spécification technique

Plan du cours. Historique du langage Nouveautés de Java 7

Manuel logiciel client Java

Guide de démarrage rapide

Oracle WebLogic Server (WLS) 11gR1 ( et ) Installation sur Oracle Linux 5 et 6 Hypothèses Installation Oracle Linux 5 (OL5)

Messages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Titre: Version: Dernière modification: Auteur: Statut: Licence:

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

A. Architecture du serveur Tomcat 6

Remote Method Invocation Les classes implémentant Serializable

Sophos Endpoint Security and Control Guide de configuration pour réseaux étendus. Enterprise Console, version 3.1 EM Library, version 1.

MIGRATION ANNEXE SAINT YVES. 1 : L existant. Pourquoi cette migration Schéma et adressage IP. 2 : Le projet. Schéma et adressage IP.

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Les fichiers de configuration d'openerp

TP Contraintes - Triggers

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame

Retour d'expérience avec : OCS Inventory & GLP

Les clés d un réseau privé virtuel (VPN) fonctionnel

Comment Connecter une Base de Données MySQL via un Driver JDBC Avec OpenOffice.org


1 Démarrage de Marionnet

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

LICENCE : INFORMATIQUE GENERALE

Instructions d installation de MS SQL Server pour Sage 50 Classement et Gestion commerciale. Sage Suisse SA Avenue Mon-Repos Lausanne

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

L'accélération 3D sous Linux

Bases Java - Eclipse / Netbeans

ParallelKnoppix. Majid Hameed. Copyright 2005 Majid Hameed. Copyright 2005 Gauthier Savart. Copyright 2005 Joëlle Cornavin

Automatisation de l administration système avec

WINDOWS SERVER 2003 Maintenance d'active directory V1.0

Ethernet Industriel Réseaux Ethway Coupleur Ethernet sur Automates Programmables. Plan. Contexte

Vade mecum installation et configuration d une machine virtuelle V5.1.0

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

UltraBackup NetStation 4. Guide de démarrage rapide

Lancez le setup, après une phase de décompression, la fenêtre d installation des prérequis apparaît, il faut les installer :

Projet Robot Centaure

Cahier des charges (CDC)

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

DEILLON Thomas. Copyright CRI74 GNU Free Documentation License

Débuter avec WordPress 1/5

TUTORIAL ULTRAVNC (EDITION 2)

Gestion des licences Mia-Studio Manuel de l'utilisateur. - Procédure d'installation -

Transcription:

Génération Robots / Humarobotics Novembre 2012 Une première mise en œuvre de ROS (Robot Operating System)

Objectifs de cette présentation Objectifs > A partir d une article de présentation en ligne > Utiliser ROS concrètement > Comprendre les concepts à l œuvre dans ROS > Comprendre comment les différents processus communiquent 2

Présentation des notions de ROS Qu est ce que ROS? A quoi sert ROS? Quelle est l histoire de ROS? > Une présentation des concepts à l œuvre et la réponse à toutes ces questions se trouve dans l article d introduction : «ROS, Système d'exploitation open-source pour robot» http://www.generationrobots.com/ros-robot-operatingsystem,fr,8,74.cfm 3

Mise en application des concepts Dans la suite de cette présentation : > Description concrète des concepts en se basant sur l utilisation d un exemple pas à pas > Hypothèse de démarrage : ROS est installé sur votre PC (Linux) 4

Démarrer ROS $ roscore Cette commande lance deux choses: Le MASTER Le serveur de paramètres 5

Le Master C'est le processus cœur Il comprend un serveur de noms Les différents nœuds vont se présenter à lui Il va mettre les nœuds en contact o Une fois que les nœuds sont en contact, ils communiquent directement architecture distribuée 6

Le serveur de paramètres Il permet de définir et de gérer les paramètres globaux du robot o Les paramètres peuvent être des entiers, des flottants, des booléens, des strings, des listes et dictionnaires Le serveur de paramètres est une mémoire partagée o Chaque nœud peut lire et modifier ces paramètres Modifier un paramètre en ligne de commande : $ rosparam set parameter_name value 7

Nœuds, messages, topics Le MASTER démarre un nœud, qui démarre un topic $ rosnode list o Le nœud s'appelle /rosout $ nosnode info /rosout o Il publie sur le topic /rosout_agg o Il est abonné au topic /rosout o Il fournit les services /rosout/set_logger_level et /rosout/get_loggers 8

$ rxgraph 9

Messages Un message est une structure de données o Il peut contenir des entiers, flottants, booléens, strings ou d'autres messages o On crée un message avec un fichier texte dans le dossier msg o Ex : pose_and_twist.msg Header header string child_frame_id geometry_msgs/posewithcovariance pose geometry_msgs/twistwithcovariance twist 10

Topics Un topic est un système de transport de l information many-to-many o Typé : il faut préciser quel type de messages on transporte o Basé sur le système de l abonnement / publication (subscribe / publish) On peut écouter un topic en ligne de commandes $ rostopic list $ rostopic echo /topic_name 11

Les nœuds Un nœud est une instance d'un exécutable o Il peut être lié à un moteur, un capteur, ou purement logiciel... Un nœud peut publier des messages sur un topic ou souscrire aux messages d'un topic o Les topics sont automatiquement créés Les nœuds sont des processus indépendants o Le crash d'un nœud ne fait pas crasher tout ROS (Notion de micro-kernel sur laquelle est basée ROS) 12

En pratique : > Chaque sous programme sera dans un nœud > Les nœuds communiquent entre eux de manière événementielle en utilisant les topics > Ils partagent une mémoire dans le serveur de paramètres 13

Exemple : Le nœud /obst_detect lit les capteurs de distance o Il publie dans les topics obst_droit et obst_gauche Le nœud /robot_size o Il fournit le service /robot_size/motspeed pour calculer la vitesse des moteurs en fonction de la vitesse de rotation souhaitée et de la taille des roues 14

Exemple : Le nœud /nav calcule la direction o Il souscrit à obst_droit et obst_gauche pour éviter les obstacles o Il lit le paramètre destination dans le serveur de paramètres o Il utilise le service /robot_size/motspeed o Il publie dans le topic vitesse_moteurs Le nœud /ctrl commande les moteurs des roues o Il souscrit à vitesse_moteurs 15

Les services > Un service est une fonction > Implémentée dans un nœud > Accessible aux autres nœuds > Un service doit être déclaré dans un fichier.srv > En précisant les types des entrées et des sorties > Exemple : add_two_ints.srv $ rosservice list int64 a int64 b $ rosservice call /service_name service_args --- int64 sum 16

Les packages : > Un package est un projet ROS. Il peut contenir : > Des nœuds dans le répertoire nodes > Des messages dans le répertoire msg > Des services dans le répertoire srv > Des scripts de lancement dans le répertoire launch > Un stack est une ensemble de packages 17

Les packages > Un package contient obligatoirement un fichier manifest.xml qui décrit o o Les licences Les dépendances > $ rosmake utilise le manifeste pour compiler le package et ses dépendances <package> <description brief="one line of text"/> <author>alice/alice@somewhere.bar</author> <license>bsd</license> <url>http://pr.willowgarage.com/</url> <depend package="pkgname"/> <depend package="common"/> <rosdep name="python" /> </package> 18

Quelques robots programmables à l aide de ROS : Darwin-Op Q.bo Aisoy1 II Eddie 19

Merci! Que faire ensuite? Consulter nos TPs ROS sur ce même site TurltleSim with ROS Piloter le robot mobile Eddie avec ROS Nous contacter pour toute question : contact@humarobotics.com 20