Compilation, installation et test du code source FastDDS

Auteur de cette série de didacticiels : Xiaoyu
Compte public : Yuxiang ROS
Groupe d'échange QQ : 139707339
Adresse de la vidéo d'enseignement : station B de Xiaoyu
Adresse complète du document : site officiel de Yuxiang ROS Déclaration de
droits d'auteur : la réimpression et l'utilisation commerciale sont interdites sauf autorisation.
Pas de public

Bonjour à tous, je m'appelle Xiaoyu. Hier, j'ai été invité par des amis du groupe dans l'article lié à DDS. J'ai dit que le code source est bon pour expérimenter DDS. Xiaoyu ne peut plus roucouler, donc je vais le partager aujourd'hui, Installation et expérience FastDDS.

1. Sur les trois façons d'ouvrir FastDDS

Comme les packages ROS ordinaires, FastDDS dispose de trois méthodes d'installation : installation binaire, compilation du code source et Docker.

Parce que l'officiel a mis le binaire et Docker sur le site officiel. .
Et vous devez remplir vos informations personnelles pour télécharger. .
Et la vitesse de téléchargement est super super lente. .
Et il n'est pas commode d'observer le code source. .
Xiaoyu vous emmène donc installer à partir du code source.

Je voulais à l'origine faire une installation en un clic, économiser tout le monde en tapant le script ! !

Aimer une personne ne doit pas être habitué à lui, tout comme la farine de poisson, afin de laisser chacun réfléchir davantage lors du copier-coller (en fait, pour rattraper le nombre de mots dans l'article), Xiaoyu prendra tout le monde pour installer et compiler le code source étape par étape.

Cependant, l'installation du code source est également très simple, n'ayez pas peur. .

Parce que DDS est lié à ROS2, nous pouvons également utiliser colcon pour compiler sans cmake (si vous avez besoin de cmake, vous pouvez le trouver sur le site officiel)

2. Compilez et installez FastDDS à partir du code source

Le téléchargement et la compilation de DDS sont divisés en trois étapes. La première étape peut être ignorée si vous avez déjà installé ROS2. .

1. Outil d'installation

sudo apt install python3-colcon-common-extensions python3-vcstool zip openjdk-8-jdk  -y

2. Créez un répertoire et téléchargez l'entrepôt

mkdir -p fastdds_ws/src 
cd fastdds_ws && wget https://downloads.gradle-dn.com/distributions/gradle-6.4-bin.zip && unzip gradle-6.4-bin.zip 
wget http://fishros.com/tools/files/fastrtps.repos && vcs import src < fastrtps.repos

3. Compiler

colcon build
cd src/fastddsgen/ &&  gradle assemble

Dernière étape : configurer les variables d'environnement

xxx est le préfixe de votre répertoire

echo 'source xxx/fastdds_ws/install/setup.bash' >> ~/.bashrc
echo 'export PATH=$PATH:xxx/fastdds_ws/gradle-6.4/bin/' >> ~/.bashrc
echo 'export DDSGEN=xxx/fastdds_ws/src/fastddsgen/scripts' >> ~/.bashrc

3. Routine HelloFish

Le RTPS utilisé par DDS est le protocole Real-Time Publish Subscribe, qui est en fait le même que la publication et l'abonnement dans ROS et ROS2, nous exécutons donc une routine pour envoyer et recevoir des messages, et le contenu du message est appeléHelloFish

Le programme écrit par Xiaoyu est prêt et mis sur github. Vous pouvez le télécharger directement pour le compiler et le tester~

code de téléchargement

git clone https://github.com/fishros/dds_tutorial.git

routine de compilation

cd dds_tutorial/examples/01-hellofishros
mkdir build && cd build
cmake .. 
make

exécuter la routine

ouvrir un terminal

./DDSHelloFishRosPublisher  

ouvrir un autre terminal

./DDSHelloFishRosSubscribe

Voir les résultats

Le résultat correct est comme le suivant, qui a prouvé que tout est OK ~
Test pubsub DDS

4. Résumé

Est-ce étonnant de voir la publication et l'abonnement familiers ? La couche inférieure de FASTDDS utilise une variété de protocoles pour la transmission de données, y compris l'UDP peu fiable mais très rapide, le TCP fiable mais pas très rapide et la transmission peu fiable. Swap Memory (SHM ).

Afin de vous montrer ce qu'on appelle le faible rendement (paresseux), Xiaoyu a décidé de vous expliquer le code demain ~

Je suppose que tu aimes

Origine blog.csdn.net/qq_27865227/article/details/121747897
conseillé
Classement