ROS Міні-проект

ROS Міні-проект

ros

Мета

Ми хочемо переконатися, що ти

  • знайомий з Linux, ROS1 та git
  • маєш базові навички програмування
  • знаєш, як документувати код та дотримуватисяStyle-Guides

Підготовчі завдання

  • Виконай Beginner Level Навчання 1-17 на http://wiki.ros.org/ROS/Tutorials
  • Слідуй кроками встановлення, необхідним для запуску симулятора Husky у 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

Запуск симуляції

Запусти головний файл запуску для робота Husky з:

roslaunch husky_gazebo husky_empty_world.launch

Оцінена позиція робота забезпечується виводом розширеного фільтра Кальмана: вона опублікована на /odometry/filtered.

$ rostopic echo /odometry/filtered

Швидкість робота можна встановити, опублікувавши повідомлення Twist на /twist_marker_server/cmd_vel:

  • Введи rostopic pub /twist_marker_server/cmd_vel geometry_msgs/Twist
  • Двічі натисни Tab
  • Встанови частоту 10 Гц

Ти можеш встановити швидкість руху вперед, наприклад:

$ 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

Завдання

Напиши C++-вузол, який направляє робота до позиції x = 10.0 та y = 1.0 в рамці odom.

Твій вузол повинен

  • підписатися на /odometry/filtered
  • опублікувати на /twist_marker_server/cmd_vel

Правильна позиція досягнута, коли робот знаходиться в межах 0,5 м від цільової позиції, наприклад

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

Не пиши ніщо занадто складне: будь ласка, тримай це просто.

І будь ласка дотримуйся Style-Guide, описаних на http://wiki.ros.org/StyleGuide, http://wiki.ros.org/CppStyleGuide та http://wiki.ros.org/PyStyleGuide.

Додай README.md

Додай файл README.md, який описує:

  • як встановити необхідні залежності
  • що робить твій вузол
  • як його використовувати

Завантаж на gitlab.com

  • Створи приватний репозиторій
  • Завантаж свій код (ти повинен мати більше одного коміту для цього міні-проекту)
  • Додай maug (Maurice Gohlke) та ddimarco (Daniel Di Marco) як collaborators

Надішли нам посилання на репозиторій електронною поштою на maurice.gohlke@farming-revolution.com.

Farming Revolution
Copyright © farming revolution GmbH - 2026