DexterFixxor / Neindustrijska_robotika

Vezbe iz predmeta Neindustrijska robotika na smeru Mehatronika

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ROS: Neindustrijska robotika (FTN)

ROS paketi razvijani na vezbama iz predmeta Neindustrijska robotika na Mehatronici.

Potrebni programi

Dodaci za VSCode

Uputstvo za konfigurisanje dodataka se moze pronaci ovde.

Obavezni:

  • CMake
  • CMakeTools
  • Dev Containers
  • Docker
  • ROS
  • Python

Opciono:

  • C/C++
  • C/C++ Extension Pack
  • Material Icon Themes

Uputstvo za koriscenje

  1. Klonirati repozitorijum preko git clone komande
  2. Otvoriti folder u terminalu i pokrenuti komandu:
    docker compose -f docker/docker-compose-dev.yml build (ukoliko ste na windows-u pokrenuti .yml fajl sa windows sufiksom)
  3. Prvo pokretanje moze da potraje i do 10 min
  4. Nakon sto je preuzimanje i kompajliranje kontejnera gotovo, pokrenuti kontejner uz komandu:
    docker compose -f docker/docker-compose-dev.yml up
  5. Odabirom docker ikonice sa leve strane (gde su i fajlovi, ekstenzije, itd), u gornjem levom uglu se moze videti kontejner pod nazivom: ros_noetic:dev. Ukoliko je sve instalirano kako treba, desnim klikom na njega dobijate ponudjenu opciju Attach Visual Studio Code.

VAZNO: Unutar kontejnera je moguce kreirati nove fajlove i foldere, medjutim sve sto je kreirano van /src foldera ce biti obrisano nakon sledeceg pokretanja procesa kompajliranja docker-compose fajla.

Test

Nakon sto je kontejner pokrenut i uspesno ste izvrsili attach na njega, mozete koristiti VSCode redovno kao i do sada. Otvaranjem tri terminala i pokretanjem sledecih komandi:

  1. roscore
  2. rosrun turtlesim turtlesim_node
  3. rosrun turtlesim_controler turtlesim_controler_node.py

treba da se dobije turtlesim simulacioni prozor i da se robot pomeri na odgovarajucu tacku. Da bi treca komanda radila, prvobitno je potrebno pokrenuti catkin build, a zatim izvrsiti source devel/setup.bash komandu.

Kratko uputstvo za GIT

Posto cemo kod razvijati na dev grani, a tek nakon sto proradi cemo ga spajati na master granu, potrebno je uraditi sledece:

git pull origin dev - ovo ce da povuce dev granu sa repozitorijuma na github-u.

Ukoliko zelite da imate svoju verziju projekta gde cete modifikovati stvari, savetujem da kreirate svoju granu koja ce se bazirati na dev grani. To se moze uraditi na sledeci nacin:

  1. git switch dev da se prebacite na dev granu ako vec niste na njoj
  2. git branch NEKI_NAZIV gde cete dati naziv grani u kojoj zelite da radite, ova grana ce biti identicna dev grani u trenutku pozivanja ove komande
  3. git switch NEKI_NAZIV tako da mozete da radite u svojoj lokalnoj verziji koda bez da vas dotice to da li je nesto menjano na github-u

Ukoliko zelite da ispratite izmene na github-u, svaki put pre nego sto krenete da radite sa projektom, odradite sledece:

  1. prebacivanje na dev granu:
    git switch dev
  2. povlacenje izmena sa github-a na dev grani ukoliko ih ima (moguce je da ce neki delovi koda biti azurirani):
    git pull origin dev
  3. vracanje na svoju granu:
    git switch NEKI_NAZIV
  4. spajanje svoje grane sa novim izmenama iz dev grane (ovo nece raditi ukoliko ste menjali kod koji je vec postojao):
    git merge dev
    4.1. ukoliko ste imali izmena u postojecem kodu, onda umesto merge koristiti rebase za tacku 4.

About

Vezbe iz predmeta Neindustrijska robotika na smeru Mehatronika

License:MIT License


Languages

Language:CMake 63.2%Language:Python 20.7%Language:Dockerfile 16.1%