Passer aux informations sur le produit
Programmation robotique : débuter avec ROS 2
Programmation robotique avec ROS 2
Description
Introduction au livre
Ce livre est un guide de programmation robotique ROS écrit par les auteurs, qui sont des développeurs de TurtleBot3, la plateforme ROS officielle, et des ingénieurs en robotique qui travaillent sur des projets basés sur ROS depuis plus de 10 ans, en s'appuyant sur leur expérience pratique et leurs activités communautaires.
Nous avons pris en compte les objectifs d'apprentissage et les opinions des lecteurs à travers les retours reçus lors de diverses sessions de formation, séminaires et conférences ouvertes organisés au sein de la communauté ROS coréenne.

« ROS 2 Robot Programming » est une version mise à jour de « ROS Robot Programming », publié en 2015. Pour les lecteurs débutants en programmation robotique avec ROS 2, le livre divise le contenu en sections : Introduction à ROS, Programmation ROS 2 de base et Programmation ROS 2 avancée.
Il contient également fidèlement tout ce qu'il faut savoir sur la programmation ROS 2 pour les développeurs existants qui utilisaient ROS 1.
Nous espérons que ce livre vous emmènera dans un voyage agréable avec ROS 2 et vous conduira à la création de robots étonnants basés sur ROS.

indice
Partie 1 : Introduction à ROS 2
Chapitre 1 : Introduction à ROS 2
__1.1.
Outils pour le développement de robots
__1.2.
méta-système d'exploitation
1.3. Objectif de ROS
1.4. Configuration ROS
1.5. Historique de ROS
Version ROS 1.6.
__1.7.
Cycle de version
__1.8.
Sélectionner la version
Chapitre 2 : Informations requises pour le développement de robots basés sur ROS 2
__2.1.
Culture du développement axée sur la communauté
__2.2.
Informations et ressources de développement ROS 2 préférées
2.3. Tableau d'affichage de la communauté ROS
__2.4. Documentation ROS
__2.5. Code source ROS 2
__2.6. État de la distribution des packages ROS 2
__2.7. Questions et réponses sur ROS
__2.8.
etc.
Chapitre 3 : Création d’un environnement de développement ROS 2
__3.1.
environnement de développement
__3.2.
Installer le système d'exploitation de base
__3.3.
Installation du système d'exploitation du robot
3.4. Installation des outils de développement ROS
__3.5. Test de compilation ROS 2
__3.6.
Définir les commandes d'exécution
__3.7.
Installation d'un environnement de développement intégré (IDE)
3.8. Suppression de ROS 2
Chapitre 4 : Pourquoi devrions-nous passer à ROS 2 ?
__4.1.
Pourquoi devrais-je passer à ROS 2 ?
__4.2.
La tendance est maintenant à ROS 2 !
Chapitre 5 : Concepts clés de ROS 2
__5.1.
Pourquoi ROS 2 ?
Chapitre 6 : Caractéristiques de ROS 2 vues à travers les différences entre ROS 1 et ROS 2
6.1. Nécessité du développement de ROS 2
6.2. Différences entre ROS 1 et ROS 2
6.3. Caractéristiques de ROS 2
Chapitre 7 ROS 2 et DDS
7.1. ROS 2 et DDS
__7.2. Qu'est-ce que le DDS ?
7.3. Caractéristiques du DDS
7.4. Utilisation dans ROS
Chapitre 8 QoS DDS
8.1. Qualité de service (QoS) DDS
__8.2.
Types de QoS
8.3. Options QoS utilisées dans ROS 2
__8.4.
Utilisation de rmw_qos_profile et des profils QoS utilisateur
__8.5.
test QoS
Chapitre 9 : Installation des paquets et exécution de Node
__9.1.
Installation du package Turtlesim
__9.2.
Qu'est-ce que Turtlesim ?
__9.3.
package et nœuds Turtlesim
__9.4.
Exécution des nœuds dans le package Turtlesim
__9.5.
Interroger les nœuds, les sujets, les services et les actions
__9.6.
Vue graphique des nœuds et des sujets avec rqt_graph
Chapitre 10 : Nœuds ROS 2 et communication de données
__10.1.
Communication entre nœuds et messages
__10.2.
Exécuter le nœud (ros2 run)
__10.3.
Liste des nœuds (liste des nœuds ros2)
__10.4.
Informations sur le nœud (ros2 node info)
Chapitre 11 ROS 2 Sujets
__11.1.
Sujet
__11.2.
Consultez la liste des sujets (liste des sujets ros2)
__11.3.
Consulter les informations sur le sujet (ros2 topic info)
__11.4.
Vérifier le contenu du sujet (ros2 topic echo)
__11.5.
Vérifier la bande passante du sujet (ros2 topic bw)
__11.6.
Vérifier le cycle du sujet (fréquence du sujet ros2)
__11.7.
Vérifier le délai de traitement des sujets (délai de traitement des sujets ros2)
__11.8.
Publication de sujet (ros2 topic pub)
__11.9.
Enregistrement du sac (enregistrement du sac ros2)
__11.10.
Informations sur le sac (ros2 bag info)
__11.11.
jeu de sac (jeu de sac ros2)
Chapitre 12 Services ROS 2
__12.1.
service
__12.2.
Consultez la liste des services (liste des services ros2)
__12.3.
Vérifier le type de service (type de service ros2)
__12.4.
Trouver un service (ros2 service find)
__12.5.
Demande de service (appel de service ros2)
Chapitre 13 ROS 2 Actions
__13.1.
Action
__13.2.
Serveur et client d'action
__13.3.
Informations sur le nœud (ros2 node info)
__13.4.
Liste d'actions (ros2 action list -t)
__13.5.
Informations sur l'action (ros2 action info)
__13.6.
Communiquer les objectifs d'action
Chapitre 14 Interface ROS 2
__14.1. Interface ROS 2
__14.2.
Interface de messagerie (msg)
__14.3.
Interface de service (srv)
__14.4.
Interface d'action (action)
Chapitre 15 : Résumé et comparaison des thèmes, services et actions de ROS 2
__15.1.
Comparez les sujets, les services et les actions
Chapitre 16 Paramètres ROS 2
__16.1.
Paramètres
__16.2.
Vérifiez la liste des paramètres (ros2 param list)
__16.3.
Vérifier le contenu des paramètres (ros2 param describe)
__16.4.
Lecture des paramètres (ros2 param get)
__16.5.
Écrire les paramètres (ensemble de paramètres ros2)
__16.6.
Enregistrement des paramètres (vidage des paramètres ros2)
__16.7.
Supprimer le paramètre (ros2 param delete)
Chapitre 17 : Outils ROS 2 et commandes CLI
__17.1. Outils ROS
__17.2. Commandes CLI ROS 2
17.3. Utilisation de l'interface de ligne de commande ROS 2
__17.4. Types et fonctions de chaque sous-verbe de l'interface de ligne de commande ROS 2
__17.5.
L'interface de ligne de commande ROS 2 est en développement continu.
Chapitre 18 : Développement d’interfaces graphiques avec RQt pour ROS 2
__18.1. RQt, un outil GUI complet pour ROS
18.2. Framework RQt
__18.3. Installation et exécution de RQt
__18.4. Types de plugins RQt
__18.5. Exemple d'utilisation de RQt
18.6. Outils ROS en ligne de commande et en interface graphique
Chapitre 19 Unités standard de ROS 2
19.1. Nécessité d'unités standard dans ROS 2
__19.2. Unités standard de ROS 2
19.3. Utilisation des unités standard dans ROS 2
Chapitre 20 Représentation des coordonnées dans ROS 2
__20.1. Nécessité d'unifier la représentation des coordonnées dans ROS 2
__20.2.
Règles de base pour la représentation des coordonnées
__20.3.
Règles d'orientation des axes pour la représentation des coordonnées
__20.4.
Règles de représentation de rotation pour la représentation des coordonnées
Chapitre 21 : Le temps dans ROS 2
__21.1.
Horloge et temps
__21.2.
Abstractions temporelles
__21.3.
API temporelle
Chapitre 22 Système de fichiers ROS 2
__22.1.
système de fichiers
__22.2.
Paquets et métapaquets
__22.3.
Installation binaire et installation du code source
__22.4.
Dossier d'installation par défaut et dossier de travail de l'utilisateur
Chapitre 23 : Système de compilation et outils de compilation de ROS 2
__23.1.
Construire des systèmes et construire des outils
__23.2.
Système de construction
__23.3.
Outils de construction
__23.4.
Créer un paquet
__23.5.
Constituer le package
__23.6.
Fonctionnalités supplémentaires requises pour le système de construction
Chapitre 24 Fichiers du package ROS 2
__24.1.
fichier package
__24.2.
Fichier de configuration du paquet (package.xml)
__24.3.
Fichier de configuration de compilation (CMakeLists.txt)
__24.4.
Fichier de configuration du package Python (setup.py)
__24.5.
Fichier de configuration du package Python (setup.cfg)
__24.6. Fichier de configuration du plugin RQt (plugin.xml)
__24.7.
Fichier journal des modifications du package (CHANGELOG.rst)
__24.8.
Fichier de licence (LICENSE)
__24.9.
Fichier de description du paquet (README.md)


Partie 2 : Programmation de base ROS 2
Chapitre 1 Règles de programmation ROS (Style de code)
__1.1.
Guide de style du code
__1.2.
Règles de base en matière de dénomination
__1.3.
Style C++
__1.4.
Style Python
__1.5.
Autres langues
Chapitre 2 : Notions de base de la programmation ROS (Python)
__2.1. Hello World de ROS, version rclpy
__2.2.
Créer un paquet
__2.3.
Paramètres du paquet
__2.4.
Création d'un nœud éditeur
__2.5.
Création d'un nœud abonné
__2.6.
Construire
__2.7.
exécution
Chapitre 3 Principes de base de la programmation ROS (C++)
3.1. Hello World de ROS, version rclcpp
__3.2.
Créer un paquet
__3.3.
Paramètres du paquet
__3.4.
Création d'un nœud éditeur
__3.5.
Création d'un nœud abonné
__3.6.
Construire
__3.7.
exécution
Chapitre 4 ROS 2 Conseils
__4.1.
script d'installation
__4.2.
setup.bash vs local_setup.bash
__4.3.
colcon_cd
4.4. ROS_DOMAIN_ID vs Espace de noms
__4.5.
Ajout de la saisie semi-automatique pour les commandes colcon et vcstool.
Chapitre 5 : Interfaces de sujet, de service et d’action
__5.1. Création d'une nouvelle interface ROS 2
__5.2.
Création d'un package d'interface
__5.3.
Fichier de configuration du paquet (package.xml)
__5.4.
Fichier de configuration de compilation (CMakeLists.txt)
__5.5.
Construire
Chapitre 6 Conception de paquets ROS 2 (Python)
__6.1.
Conception d'emballage
__6.2.
Créer un nœud
__6.3.
Fichier de configuration du paquet (package.xml)
__6.4.
Fichier de configuration du package Python (setup.py)
__6.5.
Téléchargez et compilez le code source
__6.6.
exécution
Chapitre 7 : Programmation (Python)
__7.1.
Sujet
__7.2.
Code de l'éditeur du sujet
__7.3.
Code d'abonnement au sujet
__7.4.
Code d'exécution du nœud
Chapitre 8 Programmation de services (Python)
__8.1.
service
__8.2.
Code serveur de service
__8.3.
Code client de service
__8.4.
Code d'exécution du nœud
Chapitre 9 Programmation d'actions (Python)
__9.1.
Action
__9.2.
Code du serveur d'action
__9.3.
Code client d'action
__9.4.
Code d'exécution du nœud
Chapitre 10 : Programmation paramétrique (Python)
__10.1.
Paramètres
__10.2.
Paramètres
__10.3.
Comment utiliser les paramètres (CLI)
__10.4.
Comment utiliser les paramètres (client de service)
__10.5.
Comment paramétrer les paramètres de base
Chapitre 11 : Arguments d’exécution de la programmation (Python)
__11.1.
Arguments d'exécution
__11.2. Gestion des arguments d'exécution dans ROS 2
__11.3.
Analyse syntaxique des arguments d'exécution
Chapitre 12 Conception de paquets ROS 2 (C++)
__12.1.
Conception d'emballage
__12.2.
Créer un nœud
__12.3.
Fichier de configuration du paquet (package.xml)
__12.4.
Fichier de configuration de compilation (CMakeLists.txt)
__12.5.
Téléchargez et compilez le code source
__12.6.
exécution
Chapitre 13 : Programmation (C++)
__13.1.
Sujet
__13.2.
Code de l'éditeur du sujet
__13.3.
Code d'abonnement au sujet
__13.4.
Code d'exécution du nœud
Chapitre 14 Programmation de services (C++)
__14.1.
service
__14.2.
Code serveur de service
__14.3.
Code client de service
__14.4.
Code d'exécution du nœud
Chapitre 15 Programmation d'actions (C++)
__15.1.
Action
__15.2.
Code du serveur d'action
__15.3.
Code client d'action
__15.4.
Code d'exécution du nœud
Chapitre 16 : Programmation paramétrique (C++)
__16.1.
Paramètres
__16.2.
Serveur de paramètres et initialisation
__16.3.
Client de paramètres
Chapitre 17 : Arguments d’exécution de la programmation (C++)
__17.1.
Arguments d'exécution
__17.2.
Code d'argument d'exécution
__17.3. Paramètres et arguments d'exécution de ROS 2
Chapitre 18 : Lancement de la programmation (Python, C++)
__18.1. Système de lancement ROS 2
__18.2.
Créer un lancement
__18.3.
Constituer le package

Partie 3 : Programmation avancée de ROS 2
Chapitre 1 L'exploitation forestière
__1.1.
Enregistrer
__1.2.
Paramètres de journalisation
__1.3.
Exemple de code
Chapitre 2 ROS 2 CLI
__2.1. Interface de ligne de commande ROS 2
__2.2. Exercices pratiques sur l'interface de ligne de commande ROS 2
2.3. Démarrage rapide de l'interface de ligne de commande ROS 2
__2.4. Utilisation des arguments ROS dans les commandes CLI
__2.5.
Comment écrire une nouvelle interface de ligne de commande ROS 2
Chapitre 3 Communication intra-processus
3.1. Nœuds ROS et Nodelets
__3.2.
Communication intra-procédurale
__3.3.
Code de démonstration
Chapitre 4 QoS
__4.1.
QoS (Qualité de service)
__4.2.
Paramètres QoS pour le sujet, le service et l'action
__4.3.
Pratiques QoS
__4.4.
Exemples utiles de QoS
Composantes du chapitre 5
__5.1.
Liaison statique et liaison dynamique
__5.2.
Chargement dynamique et composants ROS 2
__5.3.
Code de démonstration
__5.4.
Comment courir
Chapitre 6 Plugin RQt
__6.1. RQt
__6.2. Plugin RQt
6.3. Environnement de développement RQt
6.4. Ordre d'écriture des plugins RQt
6.5. Structure de l'exemple RQt
6.6. Analyse de l'interface utilisateur d'exemple de RQt
6.7. Examen du fichier de configuration d'exemple RQt
6.8. Examen du code source de l'exemple RQt
6.9. Exemple d'exécution du plugin RQt
__6.10.
Exemple d'intégration avec d'autres nœuds et plugins RQt
Chapitre 7 Cycle de vie
__7.1.
Gestion des nœuds
__7.2.
Cycle de vie
__7.3.
Code de démonstration
Chapitre 8 : Sécurité
8.1. Sécurité dans ROS 2
__8.2. SROS2 (Secure Robot Operating System 2)
8.3. Fonctionnalités d'authentification, de contrôle d'accès et de chiffrement de ROS 2
__8.4.
Sécurité vs. Performance
8.5. Modèle de menaces des systèmes robotiques ROS 2
Chapitre 9 Temps réel
__9.1.
Définition du temps réel
__9.2.
Connaissances de base sur le temps réel
__9.3. ROS 2 Temps réel
__9.4.
Code de démonstration

Avis de l'éditeur
Ce que ce livre couvre

- Qu'est-ce que ROS ?
- Introduction aux concepts et fonctionnalités importants de ROS 2 : sujets, services, actions, paramètres et système de construction.
- Programmation de base ROS 2 (Apprenez les bases de la programmation : style de code, sujets, services, actions, paramètres, etc.)
- Programmation avancée ROS 2 (Apprenez les fonctionnalités avancées de ROS 2 telles que la journalisation, l'interface de ligne de commande (CLI), l'interface graphique (GUI), la qualité de service (QoS), les composants, le cycle de vie et la sécurité)

Un mot des lecteurs

Si vous étudiez ROS, ce livre est absolument indispensable ! Je remercie les auteurs pour leur travail remarquable qui a permis de créer cet ouvrage, lequel offre une vue d'ensemble complète de ROS 2, faisant suite au succès de ROS 1.
- Kim Jae-hoon -

J'ai eu beaucoup de mal à apprendre ROS car les ressources étaient rares et le langage complexe, mais ce cours a été une véritable révélation. Merci ! – Jeong Min-jae –

Le Dr Pyo Yoon-seok, pionnier du développement de logiciels robotiques open source en Corée, présente sa deuxième pépite : la programmation robotique ROS 2 ! J’ai vraiment hâte de la découvrir.
- Jeong Hwan-seok -
SPÉCIFICATIONS DES PRODUITS
- Date de publication : 5 août 2021
Nombre de pages, poids, dimensions : 636 pages | 188 × 240 × 35 mm
- ISBN13 : 9791186710722
- ISBN10 : 1186710721

Vous aimerez peut-être aussi

카테고리