Obtendo mais informações
Sumário
Como aludido acima, este livro não faz nenhuma tentativa de ser uma referência abrangente para ROS. É quase certo que você precisará de detalhes adicionais para fazer algo interessante. Felizmente, as informações online sobre ROS são abundantes.
- Mais importante ainda, os desenvolvedores de ROS mantêm uma documentação extensa, incluindo um conjunto de tutoriais. Este livro inclui links para muitas das páginas correspondentes nesta documentação.
- Quando coisas inesperadas acontecem – e é muito provável que isso aconteça – há um site de perguntas e respostas (no estilo do Stack Exchange) dedicado ao ROS.
- Também pode ser valioso se inscrever na lista de discussão dos usuários de ROS, na qual as novidades geralmente aparecem.
Aqui estão dois detalhes importantes que o ajudarão a entender parte da documentação, mas nem sempre são totalmente explicados no contexto.
Distribuições
As versões principais de ROS são chamadas de distribuições e são nomeadas usando adjetivos que começam com letras sucessivas do alfabeto (isso é, para comparação, muito semelhante aos esquemas de nomenclatura usados para outros grandes projetos de software, incluindo Ubuntu e Android). No momento em que este livro foi escrito, a distribuição atual era indigo
. A próxima distribuição, chamada de jade
, foi lançada em maio de 2015. Distribuições mais antigas incluem hydro
, groovy
, fuerte
, electric
, diamondback
, C Turtle
, e box turtle
. Esses nomes de distribuição aparecem em muitos lugares ao longo da documentação.
⚠️ Para manter as coisas o mais simples e atualizadas que for possível, este livro pressupõe que você esteja usando
indigo
.
⏩ Se, por algum motivo, você precisar usar
hydro
em vez deindigo
, quase todo o conteúdo do livro ainda se aplica sem modificação. O mesmo é verdadeiro paragroovy
também, com uma exceção importante: em distribuições mais recentes quegroovy
(e, portanto, neste livro), os comandos de velocidade para o simuladorturtlesim
foram alterados para usar um tipo de mensagem padrão e um nome de tópico que é compartilhado entre muitos robôs móveis
Distribuição Nome do tópico tipo de mensagem groovy
/turtle1/command_velocity
turtlesim/Velocity
indigo/hydro
/turtle1/cmd_vel
geometry_msgs/Twist
Essa mudança tem algumas implicações práticas:
- Ao adicionar dependências ao seu pacote, você precisará de uma dependência de
turtlesim
, em vez degeometry_msgs
.- O arquivo de cabeçalho relevante (consulte a página 49) é
turtlesim/Velocity.h
em vez degeometry_msgs/Twist.h
.- O tipo de mensagem
turtlesim/Velocity
tem apenas dois campos, chamados linear e angular. Esses campos desempenham as mesmas funções que os camposlinear.x
eangular.z
degeometry_msgs/Twist
. Essa alteração se aplica à linha de comando e ao código C++.
Sistemas de construção
Começando com a distribuição groovy
distribution, ROS teve algumas mudanças importantes na forma como o software é compilado. Distribuições mais antigas e pré groovy
usavam um sistema de construção chamado rosbuild
, mas versões mais recentes começaram a substituir o rosbuild
por um novo sistema de construção chamado catkin
. É importante saber sobre essa mudança porque alguns dos tutoriais têm versões separadas, dependendo se você está usando rosbuild
ou catkin
. Essas versões separadas são selecionadas usando um par de botões próximo ao topo do tutorial. Este livro descreve catkin
, mas pode haver alguns casos em que rosbuild
é a escolha melhor.