Compilación e instalación y prueba del código fuente de FastDDS

Autor de esta serie de tutoriales: Xiaoyu
Cuenta pública: Yuxiang ROS
QQ grupo de intercambio: 139707339
Dirección del video de enseñanza: estación B de Xiaoyu
Dirección completa del documento: sitio web oficial de Yuxiang ROS
Declaración de derechos de autor: la reimpresión y el uso comercial están prohibidos a menos que estén permitidos.
sin publico

Hola a todos, soy Xiaoyu. Ayer, los amigos del grupo me instaron en el artículo relacionado con DDS. Dije que el código fuente es bueno para experimentar DDS. Xiaoyu ya no puede arrullar, así que lo compartiré hoy. Instalación y experiencia FastDDS.

1. Sobre las tres formas de abrir FastDDS

Al igual que los paquetes ROS ordinarios, FastDDS tiene tres métodos de instalación: instalación binaria, compilación del código fuente y Docker.

Porque el funcionario puso el binario y Docker en el sitio web oficial. .
Y necesita completar su información personal para descargar. .
Y la velocidad de descarga es súper súper lenta. .
Y no conviene observar el código fuente. .
Entonces Xiaoyu te lleva a instalar desde el código fuente.

Originalmente quería hacer una instalación con un solo clic, ¡salva a todos a escribir el script! !

El amor de una persona no debe estar acostumbrado a él, al igual que la harina de pescado, para que todos piensen más al copiar y pegar (en realidad, para compensar la cantidad de palabras en el artículo), Xiaoyu llevará a todos a instalar y compilar el Código fuente paso a paso.

Sin embargo, la instalación del código fuente también es muy simple, no tengas miedo. .

Debido a que DDS está relacionado con ROS2, también podemos usar colcon para compilar sin cmake (si necesita cmake, puede encontrarlo en el sitio web oficial)

2. Compile e instale FastDDS desde el código fuente

La descarga y compilación de DDS se divide en tres pasos. El primer paso se puede omitir si ya ha instalado ROS2. .

1. Herramienta de instalación

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

2. Crea un directorio y descarga el almacén.

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. Compilar

colcon build
cd src/fastddsgen/ &&  gradle assemble

Paso final: Configurar variables de entorno

xxx es su prefijo de directorio

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. Rutina Hello Fish

El RTPS utilizado por DDS es el protocolo de suscripción de publicación en tiempo real, que en realidad es lo mismo que publicar y suscribir en ROS y ROS2, por lo que ejecutamos una rutina para enviar y recibir mensajes, y el contenido del mensaje se llamaHelloFish

El programa escrito por Xiaoyu está listo y puesto en github. Puedes descargarlo directamente para compilarlo y probarlo~

código de descarga

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

compilar rutina

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

ejecutar rutina

abrir una terminal

./DDSHelloFishRosPublisher  

abrir otra terminal

./DDSHelloFishRosSubscribe

Ver resultados

El resultado correcto es como el siguiente, que ha demostrado que todo está bien ~
prueba pubsub DDS

4. Resumen

¿Es sorprendente ver la publicación y suscripción familiares? La capa inferior de FASTDDS utiliza una variedad de protocolos para la transmisión de datos, incluido el UDP poco confiable pero realmente rápido, el TCP confiable pero no muy rápido y la transmisión no confiable. ).

Para mostrarte lo que se llama bajo rendimiento (perezoso), Xiaoyu decidió explicarte el código mañana ~

Supongo que te gusta

Origin blog.csdn.net/qq_27865227/article/details/121747897
Recomendado
Clasificación