ROS Mini-Project

ROS Mini-Project

ros

Doel

We willen zeker weten dat je

  • met Linux, ROS1 en git vertrouwd bent
  • basale programmeerkennnis bezit
  • weet hoe je code documenteert en stijlgidsen volgt

Voorbereiding

  • Voltooi de Beginner Level Tutorials 1 tot 17 op http://wiki.ros.org/ROS/Tutorials
  • Volg de installatiestappen die nodig zijn om de Husky-simulator onder ROS Noetic te starten
$ 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

Simulatie Starten

Start het hoofd-Launch-bestand voor de Husky-robot met:

roslaunch husky_gazebo husky_empty_world.launch

De geschatte positie van de robot wordt geleverd door de output van de Extended Kalman Filter: het wordt gepubliceerd op /odometry/filtered.

$ rostopic echo /odometry/filtered

De robotsnelheid kan worden ingesteld door een Twist-bericht op /twist_marker_server/cmd_vel te publiceren:

  • Typ rostopic pub /twist_marker_server/cmd_vel geometry_msgs/Twist
  • Druk tweemaal op Tab
  • Stel een frequentie van 10 Hz in

U kunt een voorwaartse snelheid instellen, bijvoorbeeld:

$ 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

Taak

Schrijf een C++-node die de robot naar positie x = 10.0 en y = 1.0 in het odom-frame laat rijden.

Uw node moet

  • /odometry/filtered abonneren
  • publiceren naar /twist_marker_server/cmd_vel

De juiste positie is bereikt wanneer de robot zich binnen 0,5 m van het doel bevindt, bijvoorbeeld

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

Schrijf niets te ingewikkelds: hou het alstublieft eenvoudig.

En volg alstublieft de codestijlen beschreven op http://wiki.ros.org/StyleGuide, http://wiki.ros.org/CppStyleGuide en http://wiki.ros.org/PyStyleGuide.

README.md Toevoegen

Voeg een README.md-bestand toe dat beschrijft:

  • hoe de vereiste afhankelijkheden worden geïnstalleerd
  • wat uw node doet
  • hoe u deze kunt gebruiken

Uploaden naar gitlab.com

  • Maak een privé repository aan
  • Push uw code (u dient meer dan één commit voor dit mini-project te hebben)
  • Voeg maug (Maurice Gohlke) en ddimarco (Daniel Di Marco) toe als medewerkers

Stuur ons de link naar de repository per e-mail naar maurice.gohlke@farming-revolution.com.

Farming Revolution
Copyright © farming revolution GmbH - 2026