SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
TP2 : Couche d’abstraction entre un robot physique et ROS
Said Benaissa
said.benaissa@ensem.ac.ma
Ann´ee universitaire 2015–2016
1 Introduction
Player/Stage est un projet permettant la simulation de robot sur votre ordinateur. Bien que nous appelions
ici le simulateur Player/Stage, Player n’est pas un simulateur mais une couche d’abstraction entre un robot
physique et votre programme.
Stage est une simulateur 2D sur lequel Player peut s’appuyer, et peut accepter un ou plusieurs robots permettant
ainsi de simuler les comportements collaboratifs.
Player se trouve donc `a la fois sur le robot et sur le poste de d´eveloppement. La configuration de celui-ci
permet de l’interfacer avec les capteurs et les actionneurs du robot, ou avec l’environnement de simulation
fournit par stage.
Le mod`ele Player/Stage permet d’unifier le d´eveloppement et de faciliter l’´echange entre collaborateurs. Il
permet de tester rapidement et `a moindre coˆut le comportement de votre programme sur le simulateur 2D.
2 Pr´e-requis
– Disposer des droits d’administration (sudo -s).
– Disposer d’une connexion `a internet configur´ee et activ´ee.
– Stage n´ecessite un environnement graphique.
3 Installation avec les sources
Nous allons ici traiter de l’installation de Player et Stage avec les derni`eres sources disponibles de :
– Player 3.0.1
– Stage 3.2.2.
3.1 Installation de cmake
– sudo apt-get install cmake
3.2 T´el´echargement des sources de player 3.0.1
– cd /
– mkdir install
– cd install
– wget http ://sourceforge.net/projects/playerstage/files/Player/3.0.1/player-3.0.1.tar.gz/player-3.0.1
– tar -xvf player-3.0.1.tar.gz
– cd player-3.0.1/
3.3 Installation de player 3.0.1
– mkdir build
– cd build
– cmake ../
– make
– sudo make install
3.4 Pour le bon fonctionnement de pkgconfig
– export PKG CONFIG PATH+ = /usr/local/lib/pkgconfig
– export PKG CONFIG PATH+ = /usr/local/lib64/pkgconfig
3.5 Installation des d´ependances pour stage 3.2.2
– sudo apt-get install libfltk1.1-dev
– sudo apt-get install libglu1-mesa-dev
– sudo apt-get install libtool
3.6 T´el´echargement des sources de stage 3.2.2
– cd /install
– wget http ://sourceforge.net/projects/playerstage/files/Stage/3.2.2/Stage-3.2.2-Source.tar.gz/Stage-3.2.2
– tar -xvf Stage-3.2.2-Source.tar.gz
– cd Stage-3.2.2-Source/
3.7 Installation de stage 3.2.2
– mkdir build
– cd build
– cmake ../
– make
– sudo make install
3.8 Simulation 2D
Il reste ensuite `a copier les fichiers world donn´e en exemple dans votre espace de travail :
– mkdir /Player-stage
– cp -r /install/Stage-3.2.2-Source/worlds/ /Player-stage/
3.9 Code Source
Listing 1 – TP :Communication .
#include <iostream>
#include ”/ usr / l o c a l / include / player −3.0/ l i b p l a y e r c++/playerc++.h”
#include ”/ usr / l o c a l / include / player −3.0/ l i b p l a y e r c / playerc . h”
int
main ( int argc , char ∗argv [ ] )
{
using namespace PlayerCc ;
PlayerClient robot (” l o c a l h o s t ” ) ;
SonarProxy sp(&robot , 0 ) ;
Position2dProxy pp(&robot , 0 ) ;
f or ( ; ; )
{
double turnrate , speed ;
// read from the proxies
robot . Read ( ) ;
// print out sonars f or fun
std : : cout << sp << std : : endl ;
// do simple c o l l i s i o n avoidance
i f (( sp [ 0 ] + sp [ 1 ] ) < ( sp [ 6 ] + sp [ 7 ] ) )
turnrate = dtor ( −20); // turn 20 degrees per second
e l s e
turnrate = dtor ( 2 0 ) ;
i f ( sp [ 3 ] < 0.500)
speed = 0;
e l s e
speed = 0.100;
// command the motors
pp . SetSpeed ( speed , turnrate ) ;
}
}
Listing 2 – TP :Communication avec Camera de robot mobile KHeperaIII.
#include <l i b p l a y e r c++/playerc++.h>
#include </usr / l o c a l / include / args . h>
#include <iostream>
int main ( int argc , char ∗∗ argv )
{
parse args ( argc , argv ) ;
try
{
PlayerCc : : PlayerClient c l i e n t ( gHostname , gPort ) ;
PlayerCc : : CameraProxy cp(& c l i e n t , gIndex ) ;
f or ( uint i =0; i <10; ++i )
{
c l i e n t . Read ( ) ;
cp . SaveFrame (” camera ” ) ;
std : : cout << cp << std : : endl ;
}
}
catch ( PlayerCc : : PlayerError e )
{
std : : cerr << e << std : : endl ;
return −1;
}
return 1;
}
3.10 Compilation
La compilation de votre programe se fait `a l’aide de la commande suivante :
g++ -o example0 ‘pkg-config --cflags playerc++‘ example0.cc ‘pkg-config --libs playerc++‘
4 Conclusion
Player/Stage est con¸cu pour fournir une infrastructure, des pilotes et une collection de biblioth`eques de
p´eriph´eriques partag´es pour les applications robotiques. C’est l’un des premiers intergiciels qui a ´emerg´e pour
les syst`emes robotiques, et d’autres intergiciels utilisent Player comme fondation. Player/Stage ne consid`ere
pas un robot comme une unit´e, mais traite s´epar´ement les dispositifs, ce qui en fait un serveur de r´ef´erentiel
pour actionneurs, capteurs et robots. Les principales caract´eristiques de Player sont le serveur de r´ef´erentiel
des p´eriph´eriques, la vari´et´e des langages de programmation, le protocole de transport bas´e sur des sockets, la
modularit´e et le fait d’ˆetre open-source. Cet intergiciel est compos´e de deux ´el´ements : Player et Stage. Player
repr´esente l’intergiciel lui mˆeme et Stage est un simulateur 2D.

Contenu connexe

Tendances

5.0 install de webiopi
5.0 install de webiopi5.0 install de webiopi
5.0 install de webiopiOsi Pallière
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoPASCAL Jean Marie
 
Odoo installation et configuration avancée
Odoo installation et configuration avancéeOdoo installation et configuration avancée
Odoo installation et configuration avancéeYasine LAKHDARI
 
Nouveautés PHP 7 : Introduction et performances - MeetUP Openska
Nouveautés PHP 7 : Introduction et performances - MeetUP OpenskaNouveautés PHP 7 : Introduction et performances - MeetUP Openska
Nouveautés PHP 7 : Introduction et performances - MeetUP OpenskaOpenska
 
Gestion des logs sur une plateforme web
Gestion des logs sur une plateforme webGestion des logs sur une plateforme web
Gestion des logs sur une plateforme webfredcons
 

Tendances (8)

5.0 install de webiopi
5.0 install de webiopi5.0 install de webiopi
5.0 install de webiopi
 
DRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation NuxeoDRAFT - Vm Ware - Installation Nuxeo
DRAFT - Vm Ware - Installation Nuxeo
 
Memo
MemoMemo
Memo
 
Odoo installation et configuration avancée
Odoo installation et configuration avancéeOdoo installation et configuration avancée
Odoo installation et configuration avancée
 
Linux Scripting
Linux Scripting Linux Scripting
Linux Scripting
 
Nouveautés PHP 7 : Introduction et performances - MeetUP Openska
Nouveautés PHP 7 : Introduction et performances - MeetUP OpenskaNouveautés PHP 7 : Introduction et performances - MeetUP Openska
Nouveautés PHP 7 : Introduction et performances - MeetUP Openska
 
Gestion des logs sur une plateforme web
Gestion des logs sur une plateforme webGestion des logs sur une plateforme web
Gestion des logs sur une plateforme web
 
Nagios doc
Nagios docNagios doc
Nagios doc
 

En vedette

Loan checklist j waller
Loan checklist j wallerLoan checklist j waller
Loan checklist j wallerJWALLERPDX
 
Actividad diplomado fotos
Actividad diplomado fotosActividad diplomado fotos
Actividad diplomado fotosMyriam Angeles
 
тексты для начальной школы
тексты для начальной школытексты для начальной школы
тексты для начальной школыAlisa Russu
 
Diseño de salida de un sistema grupo2 ana valencia_david duque_diana madariag...
Diseño de salida de un sistema grupo2 ana valencia_david duque_diana madariag...Diseño de salida de un sistema grupo2 ana valencia_david duque_diana madariag...
Diseño de salida de un sistema grupo2 ana valencia_david duque_diana madariag...Dianacarolinamadariagaf
 
Data is your Sales Teams Best Friend
Data is your Sales Teams Best FriendData is your Sales Teams Best Friend
Data is your Sales Teams Best Friendexapik
 
Meetamoose brand manual
Meetamoose   brand manualMeetamoose   brand manual
Meetamoose brand manualMalin Isaksson
 
Social Media Books
Social Media BooksSocial Media Books
Social Media BooksBrandy
 
Unique Labs - Passage de seuil
Unique Labs - Passage de seuilUnique Labs - Passage de seuil
Unique Labs - Passage de seuiluniquelabs
 
Jual minyak kemiri bakar untuk rambut botak
Jual minyak kemiri bakar untuk rambut botakJual minyak kemiri bakar untuk rambut botak
Jual minyak kemiri bakar untuk rambut botakMuhammad Kholis
 
SKInfotechCompanyProfile
SKInfotechCompanyProfileSKInfotechCompanyProfile
SKInfotechCompanyProfileSK Infotech
 
Clt Office Photos
Clt Office PhotosClt Office Photos
Clt Office PhotosAllen Angle
 
Crosland Greens Competition
Crosland Greens CompetitionCrosland Greens Competition
Crosland Greens CompetitionAllen Angle
 
Lamlighther Office Building
Lamlighther Office BuildingLamlighther Office Building
Lamlighther Office BuildingAllen Angle
 
5.1 asignación
5.1 asignación5.1 asignación
5.1 asignaciónromeprofe
 
Потенциальная целевая аудитория
Потенциальная целевая аудиторияПотенциальная целевая аудитория
Потенциальная целевая аудиторияHiconversion
 
0 043
0 0430 043
0 043GGoFi
 
Toma de Decisiones by Valio Competitive Intelligence
Toma de Decisiones by Valio Competitive IntelligenceToma de Decisiones by Valio Competitive Intelligence
Toma de Decisiones by Valio Competitive IntelligenceAndre Marques Valio
 
Conceptos generales de números
Conceptos generales de númerosConceptos generales de números
Conceptos generales de númerosromeprofe
 
Historia de las computadoras
Historia de las computadorasHistoria de las computadoras
Historia de las computadorasromeprofe
 

En vedette (20)

Loan checklist j waller
Loan checklist j wallerLoan checklist j waller
Loan checklist j waller
 
Actividad diplomado fotos
Actividad diplomado fotosActividad diplomado fotos
Actividad diplomado fotos
 
тексты для начальной школы
тексты для начальной школытексты для начальной школы
тексты для начальной школы
 
Diseño de salida de un sistema grupo2 ana valencia_david duque_diana madariag...
Diseño de salida de un sistema grupo2 ana valencia_david duque_diana madariag...Diseño de salida de un sistema grupo2 ana valencia_david duque_diana madariag...
Diseño de salida de un sistema grupo2 ana valencia_david duque_diana madariag...
 
Data is your Sales Teams Best Friend
Data is your Sales Teams Best FriendData is your Sales Teams Best Friend
Data is your Sales Teams Best Friend
 
Meetamoose brand manual
Meetamoose   brand manualMeetamoose   brand manual
Meetamoose brand manual
 
Social Media Books
Social Media BooksSocial Media Books
Social Media Books
 
Unique Labs - Passage de seuil
Unique Labs - Passage de seuilUnique Labs - Passage de seuil
Unique Labs - Passage de seuil
 
Jual minyak kemiri bakar untuk rambut botak
Jual minyak kemiri bakar untuk rambut botakJual minyak kemiri bakar untuk rambut botak
Jual minyak kemiri bakar untuk rambut botak
 
SKInfotechCompanyProfile
SKInfotechCompanyProfileSKInfotechCompanyProfile
SKInfotechCompanyProfile
 
Clt Office Photos
Clt Office PhotosClt Office Photos
Clt Office Photos
 
Crosland Greens Competition
Crosland Greens CompetitionCrosland Greens Competition
Crosland Greens Competition
 
Lamlighther Office Building
Lamlighther Office BuildingLamlighther Office Building
Lamlighther Office Building
 
5.1 asignación
5.1 asignación5.1 asignación
5.1 asignación
 
Потенциальная целевая аудитория
Потенциальная целевая аудиторияПотенциальная целевая аудитория
Потенциальная целевая аудитория
 
0 043
0 0430 043
0 043
 
Toma de Decisiones by Valio Competitive Intelligence
Toma de Decisiones by Valio Competitive IntelligenceToma de Decisiones by Valio Competitive Intelligence
Toma de Decisiones by Valio Competitive Intelligence
 
Conceptos generales de números
Conceptos generales de númerosConceptos generales de números
Conceptos generales de números
 
RBI Terms
RBI TermsRBI Terms
RBI Terms
 
Historia de las computadoras
Historia de las computadorasHistoria de las computadoras
Historia de las computadoras
 

Similaire à Tp2: Installation d'une couche d’abstraction entre un robot physique et ros

Comment développer un serveur métier en python/C++
Comment développer un serveur métier en python/C++Comment développer un serveur métier en python/C++
Comment développer un serveur métier en python/C++cppfrug
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsPhilippeBrogi
 
Retour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesRetour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesVincent Composieux
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec GoMickaël Rémond
 
PFE PSA Peugeot Citroen - Prototypage rapide
PFE PSA Peugeot Citroen - Prototypage rapide PFE PSA Peugeot Citroen - Prototypage rapide
PFE PSA Peugeot Citroen - Prototypage rapide Régis Castéran
 
Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotiqueLouise Roy
 
Les commandes CISCO (routeur)
Les commandes CISCO (routeur)Les commandes CISCO (routeur)
Les commandes CISCO (routeur)EL AMRI El Hassan
 
Installation de snort avec pulled pork
Installation de snort avec pulled porkInstallation de snort avec pulled pork
Installation de snort avec pulled porkSamiMessaoudi4
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
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
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerMed Ali Bhs
 
découverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspectsdécouverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspectsThierry Gayet
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembeddedAyoub Rouzi
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 

Similaire à Tp2: Installation d'une couche d’abstraction entre un robot physique et ros (20)

Comment développer un serveur métier en python/C++
Comment développer un serveur métier en python/C++Comment développer un serveur métier en python/C++
Comment développer un serveur métier en python/C++
 
Sizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloadsSizing PoC LSF & PowerAI for Engineers schools workloads
Sizing PoC LSF & PowerAI for Engineers schools workloads
 
Retour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, KubernetesRetour d'expérience technique Go, gRPC, Kubernetes
Retour d'expérience technique Go, gRPC, Kubernetes
 
iTunes Stats
iTunes StatsiTunes Stats
iTunes Stats
 
Messaging temps réel avec Go
Messaging temps réel avec GoMessaging temps réel avec Go
Messaging temps réel avec Go
 
Ogre 3D : une introduction
Ogre 3D : une introductionOgre 3D : une introduction
Ogre 3D : une introduction
 
Astuces cisco
Astuces ciscoAstuces cisco
Astuces cisco
 
PFE PSA Peugeot Citroen - Prototypage rapide
PFE PSA Peugeot Citroen - Prototypage rapide PFE PSA Peugeot Citroen - Prototypage rapide
PFE PSA Peugeot Citroen - Prototypage rapide
 
Atelier IDS SNORT
Atelier IDS SNORTAtelier IDS SNORT
Atelier IDS SNORT
 
Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotique
 
Les commandes CISCO (routeur)
Les commandes CISCO (routeur)Les commandes CISCO (routeur)
Les commandes CISCO (routeur)
 
Mise en place nagios
Mise en place nagiosMise en place nagios
Mise en place nagios
 
Installation de snort avec pulled pork
Installation de snort avec pulled porkInstallation de snort avec pulled pork
Installation de snort avec pulled pork
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
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
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracer
 
découverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspectsdécouverte du langage python dans tous ses aspects
découverte du langage python dans tous ses aspects
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembedded
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 

Tp2: Installation d'une couche d’abstraction entre un robot physique et ros

  • 1. TP2 : Couche d’abstraction entre un robot physique et ROS Said Benaissa said.benaissa@ensem.ac.ma Ann´ee universitaire 2015–2016 1 Introduction Player/Stage est un projet permettant la simulation de robot sur votre ordinateur. Bien que nous appelions ici le simulateur Player/Stage, Player n’est pas un simulateur mais une couche d’abstraction entre un robot physique et votre programme. Stage est une simulateur 2D sur lequel Player peut s’appuyer, et peut accepter un ou plusieurs robots permettant ainsi de simuler les comportements collaboratifs. Player se trouve donc `a la fois sur le robot et sur le poste de d´eveloppement. La configuration de celui-ci permet de l’interfacer avec les capteurs et les actionneurs du robot, ou avec l’environnement de simulation fournit par stage. Le mod`ele Player/Stage permet d’unifier le d´eveloppement et de faciliter l’´echange entre collaborateurs. Il permet de tester rapidement et `a moindre coˆut le comportement de votre programme sur le simulateur 2D. 2 Pr´e-requis – Disposer des droits d’administration (sudo -s). – Disposer d’une connexion `a internet configur´ee et activ´ee. – Stage n´ecessite un environnement graphique. 3 Installation avec les sources Nous allons ici traiter de l’installation de Player et Stage avec les derni`eres sources disponibles de : – Player 3.0.1 – Stage 3.2.2. 3.1 Installation de cmake – sudo apt-get install cmake 3.2 T´el´echargement des sources de player 3.0.1 – cd / – mkdir install – cd install
  • 2. – wget http ://sourceforge.net/projects/playerstage/files/Player/3.0.1/player-3.0.1.tar.gz/player-3.0.1 – tar -xvf player-3.0.1.tar.gz – cd player-3.0.1/ 3.3 Installation de player 3.0.1 – mkdir build – cd build – cmake ../ – make – sudo make install 3.4 Pour le bon fonctionnement de pkgconfig – export PKG CONFIG PATH+ = /usr/local/lib/pkgconfig – export PKG CONFIG PATH+ = /usr/local/lib64/pkgconfig 3.5 Installation des d´ependances pour stage 3.2.2 – sudo apt-get install libfltk1.1-dev – sudo apt-get install libglu1-mesa-dev – sudo apt-get install libtool 3.6 T´el´echargement des sources de stage 3.2.2 – cd /install – wget http ://sourceforge.net/projects/playerstage/files/Stage/3.2.2/Stage-3.2.2-Source.tar.gz/Stage-3.2.2 – tar -xvf Stage-3.2.2-Source.tar.gz – cd Stage-3.2.2-Source/ 3.7 Installation de stage 3.2.2 – mkdir build – cd build – cmake ../ – make – sudo make install 3.8 Simulation 2D Il reste ensuite `a copier les fichiers world donn´e en exemple dans votre espace de travail : – mkdir /Player-stage – cp -r /install/Stage-3.2.2-Source/worlds/ /Player-stage/ 3.9 Code Source Listing 1 – TP :Communication . #include <iostream> #include ”/ usr / l o c a l / include / player −3.0/ l i b p l a y e r c++/playerc++.h” #include ”/ usr / l o c a l / include / player −3.0/ l i b p l a y e r c / playerc . h” int main ( int argc , char ∗argv [ ] ) { using namespace PlayerCc ; PlayerClient robot (” l o c a l h o s t ” ) ; SonarProxy sp(&robot , 0 ) ; Position2dProxy pp(&robot , 0 ) ; f or ( ; ; )
  • 3. { double turnrate , speed ; // read from the proxies robot . Read ( ) ; // print out sonars f or fun std : : cout << sp << std : : endl ; // do simple c o l l i s i o n avoidance i f (( sp [ 0 ] + sp [ 1 ] ) < ( sp [ 6 ] + sp [ 7 ] ) ) turnrate = dtor ( −20); // turn 20 degrees per second e l s e turnrate = dtor ( 2 0 ) ; i f ( sp [ 3 ] < 0.500) speed = 0; e l s e speed = 0.100; // command the motors pp . SetSpeed ( speed , turnrate ) ; } } Listing 2 – TP :Communication avec Camera de robot mobile KHeperaIII. #include <l i b p l a y e r c++/playerc++.h> #include </usr / l o c a l / include / args . h> #include <iostream> int main ( int argc , char ∗∗ argv ) { parse args ( argc , argv ) ; try { PlayerCc : : PlayerClient c l i e n t ( gHostname , gPort ) ; PlayerCc : : CameraProxy cp(& c l i e n t , gIndex ) ; f or ( uint i =0; i <10; ++i ) { c l i e n t . Read ( ) ; cp . SaveFrame (” camera ” ) ; std : : cout << cp << std : : endl ; } } catch ( PlayerCc : : PlayerError e ) { std : : cerr << e << std : : endl ; return −1; } return 1; } 3.10 Compilation La compilation de votre programe se fait `a l’aide de la commande suivante : g++ -o example0 ‘pkg-config --cflags playerc++‘ example0.cc ‘pkg-config --libs playerc++‘
  • 4. 4 Conclusion Player/Stage est con¸cu pour fournir une infrastructure, des pilotes et une collection de biblioth`eques de p´eriph´eriques partag´es pour les applications robotiques. C’est l’un des premiers intergiciels qui a ´emerg´e pour les syst`emes robotiques, et d’autres intergiciels utilisent Player comme fondation. Player/Stage ne consid`ere pas un robot comme une unit´e, mais traite s´epar´ement les dispositifs, ce qui en fait un serveur de r´ef´erentiel pour actionneurs, capteurs et robots. Les principales caract´eristiques de Player sont le serveur de r´ef´erentiel des p´eriph´eriques, la vari´et´e des langages de programmation, le protocole de transport bas´e sur des sockets, la modularit´e et le fait d’ˆetre open-source. Cet intergiciel est compos´e de deux ´el´ements : Player et Stage. Player repr´esente l’intergiciel lui mˆeme et Stage est un simulateur 2D.