Mini-Projeto ROS

Mini-Projeto ROS

ros

Objetivo

Queremos garantir que você

  • está familiarizado com Linux, ROS1 e git
  • possui conhecimentos básicos de programação
  • sabe como documentar código e seguir style guides

Tarefas Preparatórias

  • Complete os tutoriais de Nível Iniciante 1 a 17 em http://wiki.ros.org/ROS/Tutorials
  • Siga as etapas de instalação necessárias para iniciar o simulador Husky em ROS Noetic
$ sudo apt install ros-noetic-gazebo-ros-* ros-noetic-lms1xx
$ cd ~/catkin_ws/src
$ git clone https://github.com/husky/husky.git
$ cd ..
$ rosdep install --from-path src --ignore-src
$ catkin build
$ source devel/setup.bash

Iniciar a Simulação

Inicie o arquivo launch principal para o robô Husky com:

roslaunch husky_gazebo husky_empty_world.launch

A posição estimada do robô é fornecida pela saída do Filtro de Kalman Estendido: é publicada em /odometry/filtered.

$ rostopic echo /odometry/filtered

A velocidade do robô pode ser definida publicando uma mensagem Twist em /twist_marker_server/cmd_vel:

  • Digite rostopic pub /twist_marker_server/cmd_vel geometry_msgs/Twist
  • Pressione Tab duas vezes
  • Defina uma taxa de 10 Hz

Pode definir uma velocidade para a frente, por exemplo:

$ rostopic pub /twist_marker_server/cmd_vel geometry_msgs/Twist "linear:
  x: 0.2
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0" -r 10

Tarefa

Escreva um nó em C++ que dirija o robô para a posição x = 10.0 e y = 1.0 no frame odom.

Seu nó deve

  • subscrever /odometry/filtered
  • publicar em /twist_marker_server/cmd_vel

A posição correta é alcançada quando o robô está dentro de 0,5 m do local de destino, por exemplo

$ rosrun tf tf_echo odom base_link
- Translation: [10.254, 1.324, 0.000]
- Rotation: ...

Não escreva nada demasiado complicado: mantenha simples.

E siga os style guides descritos em http://wiki.ros.org/StyleGuide, http://wiki.ros.org/CppStyleGuide e http://wiki.ros.org/PyStyleGuide.

Adicionar README.md

Adicione um arquivo README.md que descreva:

  • como instalar as dependências necessárias
  • o que seu nó faz
  • como utilizá-lo

Fazer Upload para gitlab.com

  • Crie um repositório privado
  • Faça push do seu código (deve ter mais de um commit para este mini-projeto)
  • Adicione maug (Maurice Gohlke) e ddimarco (Daniel Di Marco) como colaboradores

Envie-nos o link do repositório por e-mail para maurice.gohlke@farming-revolution.com.

Farming Revolution
Copyright © farming revolution GmbH - 2026