ROS paketi razvijani na vezbama iz predmeta Neindustrijska robotika na Mehatronici.
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
- Klonirati repozitorijum preko
git clone
komande - 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) - Prvo pokretanje moze da potraje i do 10 min
- Nakon sto je preuzimanje i kompajliranje kontejnera gotovo, pokrenuti kontejner uz komandu:
docker compose -f docker/docker-compose-dev.yml up
- 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.
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:
roscore
rosrun turtlesim turtlesim_node
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.
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:
git switch dev
da se prebacite na dev granu ako vec niste na njojgit branch NEKI_NAZIV
gde cete dati naziv grani u kojoj zelite da radite, ova grana ce biti identicna dev grani u trenutku pozivanja ove komandegit 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:
- prebacivanje na dev granu:
git switch dev
- povlacenje izmena sa github-a na dev grani ukoliko ih ima (moguce je da ce neki delovi koda biti azurirani):
git pull origin dev
- vracanje na svoju granu:
git switch NEKI_NAZIV
- 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 umestomerge
koristitirebase
za tacku 4.