Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Megoldás

🤖 Autonóm robot verseny megoldás template

Telepítés

A minél szélesebb használhatóság érdeklében leírjuk a Windows alapú (WSL) és natív Ubuntu telepítés lépéseit is. A használt szoftververziók:

  • Ubuntu 18.04
  • ROS Melodic

Az első lépés esetében tehát választhattok az 1/A. vagy az 1/B. opció közül:

1/A. WSL alapú telepítés

A Windows Subsystem for Linux egy kompatibilitási réteg Linux-alapú elemek natív futtatásához Windows 10, vagy Windows 11 alapú rendszereken. Akkor válasszátok a WSL használatát, ha nem szeretnétek natív Ubuntu 18.04-et telepíteni a számítógépeitekre.

  • Rendszergazdaként futtatva nyissatok egy PowerShell ablakot.
  • Másoljátok be az alábbi parancsot. Ezzel engedélyezitek a WSL használatát.
    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
  • Indítsátok újra a számítógépet az Y betű beírásával.
  • Nyissátok meg a Microsoft Store-t, és keressetek rá a Windows Subsystem for Linux Preview-ra. Telepítsétek.
  • Szintén a Microsoft Store-ban keressetek rá az Ubuntu 18.04-re, és telepítsétek.
  • A könnyebb kezelhetőség érdekében érdemes telepíteni a Windows Terminal programot is. Szintén a Microsoft Store-ban keressetek rá a Windows Terminal-ra, és telepítsétek.
  • Indítsátok el a Windows Terminal programot, és a Ctrl+, (Control és vessző) billentyűkombinációval nyissátok meg a beállításokat. A Default Profile beállítási sor legördülő listájából válasszátok az Ubuntu 18.04-et.
  • Indítsátok újra a Windows Terminal-t. Az első induláskor adjatok meg tetszőleges felhasználónevet és jelszót.
  • A megoldás kidolgozásához a VS Code szerkesztőt javasoljuk. Telepítsétek innen: https://code.visualstudio.com/download
  • Végül telepítsétek a VS Code Remote Development kiegészítőjét, hogy WSL használatával is elérhető legyen: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

A WSL telepítését bemutató videó itt érhető el

A VS Code telepítéséhez itt találtok video útmutatót

1/B. Natív Ubuntu alapú telepítés

Ubuntu 18.04

  • VS code szerkesztő: https://code.visualstudio.com/download

2. ROS telepítése

A következő lépések végrehajtásával az ROS Melodic változatát fogjuk telepíteni.

2.1. Forrás megadása

Adjuk hozzá a packages.ros.org helyet a telepítési források listájához:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.2. Kulcs megadása

Állítsuk be az ROS Melodic telepítéséhez szükséges kulcsot:

sudo apt install curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

2.3. Telepítés

Frissítsük a Debian csomagokat:

sudo apt update

A következő parancs a tényleges telepítést fogja indítani:

sudo apt install ros-melodic-desktop-full

A telepítést követően tegyük a basrc-be az ROS környezeti változóját:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

Az ROS Melodic telepítését bemutató videó itt tekinthető meg

Megjegyzés

További információk a telepítéssel kapcsolatban elérhetőek itt: http://wiki.ros.org/melodic/Installation/Ubuntu

3. szimulátor és a példamegoldás telepítése

A szükésges csomagok így telepíthetőek:

sudo apt-get -y install ros-melodic-ros-control ros-melodic-gazebo-ros-control ros-melodic-ros-controllers ros-melodic-navigation qt4-default ros-melodic-ackermann-msgs ros-melodic-serial ros-melodic-teb-local-planner* ros-melodic-tf-conversions zip unzip ros-melodic-jsk-rviz-plugins python3-catkin-tools

Készítsünk egy külön workspace-t (‘sim_ws’), hogy később könnyen törölhessük, ha már nem kell.

cd ~
mkdir -p sim_ws/src
cd ~/sim_ws/src
git clone https://github.com/robotverseny/racecar_gazebo
git clone https://github.com/robotverseny/megoldas
cd ~/sim_ws
catkin build

Adjuk meg bashrc-ben a szimulátorhoz szükséges modellek elérési útvonalát.

echo "export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/sim_ws/src/racecar_gazebo/f1tenth/virtual/dependencies/racecar_gazebo/models" >> ~/.bashrc
source ~/.bashrc

Hogy ne kelljen minden terminalban megadnunk a workspace-t, tegyük azt is a bashrc-be. Ha ezt nem szerenénk, elég mindig kiadni a source ~/sim_ws/devel/setup.bash parancsot.

echo "source ~/sim_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

A csomagok telepítését és a workspace létrehozását bemutató videó itt érhető el

Később, ha a verseny után már nem szükséges, a bashrc-ből törölhető ez a sor, nyissuk meg vs code-ból: code ~/.bashrc, majd a fájl utolsó soraiból töröljük a korábban hozzáadottat.

Fejlesztés

Fontos, hogy a középiskola neve és azonosítója ki legyen töltve, így a /kozepiskola topic-ban a tényleges középisola név és azonosító szerepeljen. Ezt a legkönnyebben a pid_error.py fájl elején lévő változók átírásával lehet elérni (ékezetek nélkül).

A középiskola nevének és kódjának beállítását szemléltető videó

A fájlt a fenti videóban bemutatott módon érhetitek el a telepített csomagban. Ha külön is szeretnétek megtekinteni, a módosítandó fájlra mutató link: https://github.com/robotverseny/megoldas/blob/main/src/pid_error.py#L15-L16

A szimulátor és a megoldás futtatásához a következő lépéseket tegyétek:

Terminal1:

roscore

Terminal2:

roslaunch racecar_gazebo racecar.launch

Tipp: rosservice call /gazebo/reset_simulation "{}" paranccsal alaphelyzetbe állítható a szimulátor, de a megoldas1.launch-ban lévő:

<node pkg="rosservice" type="rosservice" name="rosservice" args="call /gazebo/reset_simulation"/>

ugyanezt teszi.

Terminal3:

roslaunch megoldas megoldas1.launch

Ellenőrizzétek, hogy sikeres volt-e a középiskolátok és a csapatotok kódjának beállítása. Írjátok be egy újabb terminálba a következőt:

$ rostopic echo -n1 /kozepiskola

A következő állapot alaphelyzet, hibás beküldést jelent. Itt az általatok megadott névnek és kódnak kell megjelennie:

$ rostopic echo -n1 /kozepiskola
data: "Ismeretlen kozepiskola(A00)"

A munkamenetet ismertető videó itt érhető el

Beküldés

Az alábbi módon csomagoljátok a megoldást .zip mappába, majd töltsétek fel a verseny honlapjára.

cd sim_ws/src
zip -r csapatnev_EEHHNN.zip megoldas

(értelemszerűen a csapatnev helyére a csapatnév ékezetek nélkül, alulvonásokkal, az EEHHNN helyére pedig a dátum kerüljön)

Link a feltöltéshez: https://felveteli.sze.hu/robotverseny-feladat-feltoltese