Bem, o tutorial do DDS que você deseja | Primeira experiência do FastDDS - compilação, instalação e teste do código-fonte

Olá a todos, sou Xiaoyu. Ontem, fui incentivado por amigos do grupo no artigo relacionado ao DDS. Eu disse que o código-fonte é bom para experimentar o DDS. Xiaoyu não pode mais coo, então vou compartilhá-lo hoje, FastDDS instalação e experiência.

1. Sobre as três maneiras de abrir o FastDDS

Assim como os pacotes ROS comuns, o FastDDS possui três métodos de instalação: instalação binária, compilação do código-fonte e Docker.

Porque o oficial colocou o binário e o Docker no site oficial. . E você precisa preencher suas informações pessoais para fazer o download. . E a velocidade de download é super super lenta. . E não é conveniente observar o código-fonte. . Então Xiaoyu leva você para instalar a partir do código-fonte.

Originalmente queria fazer uma instalação com um clique, salve todo mundo digitando o script! !

Amar uma pessoa não deve estar acostumada a ele, assim como a farinha de peixe, para que todos pensem mais ao copiar e colar (na verdade, para compensar o número de palavras no artigo), Xiaoyu levará todos para instalar e compilar o código fonte passo a passo.

No entanto, a instalação do código fonte também é muito simples, não tenha medo. .

Como o DDS está relacionado ao ROS2, também podemos usar o colcon para compilar sem cmake (se você precisar de cmake, poderá encontrá-lo no site oficial)

2. Compile e instale o FastDDS a partir do código-fonte

O download e a compilação do DDS são divididos em três etapas. A primeira etapa pode ser ignorada se você já tiver instalado o ROS2. .

1. Ferramenta de instalação

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

2. Crie um diretório e baixe o warehouse

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 buildcd src/fastddsgen/ &&  gradle assemble

Etapa final: configurar variáveis ​​de ambiente

xxx é o prefixo do seu diretório

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

3. Rotina HelloFish

O RTPS usado pelo DDS é o protocolo Real-Time Publish Subscribe, na verdade, parece o mesmo que publicar e assinar no ROS e no ROS2, então executamos uma rotina para enviar e receber mensagens, e o conteúdo da mensagem é chamadoHelloFish

O programa escrito por Xiaoyu está pronto e colocado no github. Você pode baixá-lo diretamente para compilar e testar~

código de download

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

Compilar rotinas

cd dds_tutorial/examples/01-hellofishrosmkdir build && cd buildcmake .. make

executar rotina

abra um terminal

./DDSHelloFishRosPublisher

abra outro terminal

./DDSHelloFishRosSubscribe

Ver resultados

O resultado correto é como o seguinte, que provou que está tudo OK~

Teste pubsub DDS

4. Resumo

Não é incrível ver o familiar publicar e assinar? A camada inferior do FASTDDS usa uma variedade de protocolos para transmissão de dados, incluindo o UDP não confiável, mas muito rápido, o TCP confiável, mas não muito rápido, e a sensação de que não transmitir memória de troca (SHM).

Para mostrar o que é chamado de baixo rendimento (preguiçoso), Xiaoyu decidiu explicar o código para você amanhã~

O conteúdo acima foi escrito por Xiaoyu depois de ficar acordado até tarde e pisar no poço. Se você ler com atenção, é equivalente a ficar acordado até tarde de graça~

Acho que você gosta

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