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