Introdução ao desenvolvimento de aplicativos ROS Uso de roslaunch

ROS é a abreviatura de Robot Operating System. Este artigo apresenta a introdução do desenvolvimento de aplicativos ROS e o uso de roslaunch. Sem o roslaunch, precisamos abrir muitos terminais, iniciar o roscore, vários nós e assim por diante. Para desenvolvedores ou usuários ros, roslaunch é uma ferramenta muito importante.

roslaunch é uma ferramenta que pode facilmente iniciar vários nós ROS local e remotamente (via SSH) e definir parâmetros no servidor de parâmetros. Inclui a opção de regenerar automaticamente os processos mortos. roslaunch recebe um ou mais arquivos de configuração XML (extensão .launch), esses arquivos especificam os parâmetros a serem definidos e o nó a ser lançado e o host no qual deve ser executado.

O lançamento do roslaunch

Existem 2 maneiras de iniciar o roslaunch:

Método 1: caminho do arquivo de inicialização do roslaunch + nome do arquivo de inicialização

Se estiver no diretório do arquivo de inicialização, não precisa do diretório

比如 : roslaunch turtle.launch

ou:

Método 2: nome do pacote do projeto roslaunch nome do arquivo de lançamento

tal como:

Crie um arquivo de inicialização simples

A simulação de tartaruga no ROS  apresenta um exemplo de como iniciar e controlar o movimento da tartaruga. Existem três terminais abertos, respectivamente roscore inicial, rosrun turtlesim turtlesim_node e rosrun turtlesim turtle_teleop_key. Agora, apenas um terminal é usado para o lançamento.

lançamento mkdir 

lançamento de cd

nano turtle.launch

O conteúdo do arquivo é:

<launch>
    <node pkg="turtlesim" type="turtlesim_node" name="turtle1" output="screen" />
    <node pkg="turtlesim" type="turtle_teleop_key" name="key" output="screen" />
</launch>

Salvar e sair.

Execute no terminal: roslaunch turtle.launch

Vi que a emulação da tartaruga é iniciada, pois agora no terminal da tartaruga, clique para retornar ao terminal original.Claro que a posição relativa dos dois terminais deve ser configurada para evitar o bloqueio. Use as setas do teclado para controlar o movimento da pequena tartaruga.

 

Método de pacote de engenharia

espaço de trabalho ROS  é estabelecido no artigo Desenvolvimento de ROS e preparação de aplicativos: Criar um espaço de trabalho . Agora, crie um pacote funcional:

cd ~ / catkin_ws / src

catkin_create_pkg learning_launch

cd ~ / catkin_ws / src / learning_launch

lançamento mkdir 

lançamento de cd

nano turtle.launch

O conteúdo é o mesmo acima, ou copie o arquivo acima diretamente.

Volte para o diretório do projeto e, em seguida, compile, fonte

cd ~ / catkin_ws /

catkin_make

fonte ~ / catkin_ws / devel / setup.bash

Agora você pode iniciar o roslaunch como um pacote de projeto

roslaunch learning_launch turtle.launch

Percebe-se que o método do pacote do projeto é igual ao método do arquivo, pode ser fácil de lembrar, ou pode estar no pacote do projeto, por exemplo, learning_tf está localizado no diretório onde está localizado.

lançar o conteúdo do arquivo

Iniciar o roslaunch é muito simples, a chave é o conteúdo do arquivo de inicialização.

O arquivo de inicialização é um arquivo xml cujo elemento raiz é a definição da tag <launch>

Inicie o nó: <node>

<node name = "$ (anon foo)" pkg = "rospy_tutorials" type = "talker.py" />   
<node pkg = "turtlesim" type = "turtlesim_node" name = "turtle1" output = "screen" /> O
most Os três
nomes de pacote de projeto importantes do pacote
tipo Nome do arquivo de execução
Nome do nó
Outros incluem:
output respawn required ns args

configurações de parâmetros

Defina os parâmetros do sistema e armazene-os no servidor de parâmetros

<param> Definir parâmetros

<param name = "publish_frequency" type = "double" value = "10.0" />

<rosparam> Importar todos os parâmetros no arquivo de parâmetro YAML

<rosparam command = "load" file = "FILENAME" />

Variáveis ​​locais no arquivo de lançamento

<arg>

<arg name = "hoge" value = "fuga" />

<remap> remapear

<remapear de = "/ tópico_diferente" para = "/ tópico_necessário" />

<include> contém outros arquivos de inicialização

<includefile = "$ (find pkg-name) /path/filename.xml" />

Para obter mais informações, consulte  http://wiki.ros.org/roslaunch/XML/

Agora, os tutoriais gerais têm um método de inicialização. Depois de conhecer os princípios básicos, você se familiarizará com o conteúdo do arquivo de inicialização várias vezes.

É isso para a introdução.

 

 

 


 

 

 

 

 

Acho que você gosta

Origin blog.csdn.net/leon_zeng0/article/details/115111624
Recomendado
Clasificación