Laboratorium 2 - pw-eiti-anro-20l/kuzmich_ostrysz GitHub Wiki
W katalogu roboczym zostal utworzony nowy pakiet o nazwie visualization. W pakiecie tym zostalo utworzonych 7 plikow: dh2urdf.py, movable.urfd, state.urdf, movable.launch, state.launch, mdh_value.json i urdf.yaml. Program zaimplementowny w tych plikach ma za zadanie wizualizacje robota w RVIZ.
W pliku dh2urdf.py napisany zostal program ktorego zadaniem jest przeliczenie parametrw DH danych w tabelce z wejsciowki na reprezentacje rotacji adektwatna dla urdf. Program wczytuje z pliku mdh_value.json parametry w notacji DH, otwiera plik urdf.yaml i zapisuje parametry w macierzy, nastepnie przelicza parametry na reprezentacje rotacji dla URDF i zapisuje odpowiednio przeliczone wyniki w pliku urdf.yaml
W pliku movable.urdf napisany zostal program ktorego zadaniem jest wizualizacja robota o zadanych parametrach z ruchomymi stawami.
Robot sklada sie z czterech czlonow i trzech stawow. Pierwszy czlon to nieruchoma podstawa wynosi robota ponad poziom ziemi. Drugi i trzeci czlon to czlony mogace sie obracac, dlugosc tych czlonow jest wczytywana z serwera parametrow. Czwarty czlon to narzedzie bez wewnetrznych stopni swobody. Kazdemu z czlonow przypisany zostal inny kolor. Stawy lacza kolejno powyzsze czlony robota.
Analogicznie w pliku state.urdf napisany zostal program ktorego zadaniem jest wizualizacja robota o zadanych parametrach jednakze z zablokowanymi stawami.
W pliku movable.launch napisany zostal program ktorego zadaniem jest pobranie odowiednich parametrow robota zadanych w pliku mdh_value.json i uruchomienie trzech wezlow joint_state_publisher, robot_state_publisher i RVIZ ktore komunikuja sie za posrednictwem tematow Jointstate i tf. Schemat komunikacji miedzy wezlami opiiany jest ponizszym grafem:
Analogicznie w pliku state.launch napisany zostal program ktorego zadaniem jest pobranie odpowiednich parametrow i uruchomienie dwoch wezlow robot_state_publisher i RVIZ ktore kounikuja sie za posrednictwem tematu tf. Schemat komunikacji miedzy wezlami opisany jest ponizszym grafem:
W pliku mdh_value.json znajduja sie parametry robota w notacji DH.
W pliku urdf.yaml znajduja sie przeliczone parametry DH na reprezentacje rotacji adekwatna dla URDF.
W celu uruchomienia programu nalezy:
- przejsc do katalogu roboczego uzywajac w terminalu komend "source /opt/ros/melodic/setup.bash" i " cd ~/catkin_ws/"
- pobrac repozytorium wywolujac polecenie wstool update
- w nowym terminalu uzywajac komend "source /opt/ros/melodic/setup.bash" i "roscore" uruchomic roscore
- w katalogu roboczym uzyc komend "source sevel/setup.bash" i "roscd visualization"
- przejsc do katalogu poleceniem "cd /scripts" przeliczyc parametry uzywajac komendy "python dh2urdf.py"
- uruchomic plik movable.launch poleceniem "roslaunch visualization movable.launch model:=urdf/movable.urdf."
- uruchomic plik state.launch poleceniem "roslaunch visualization state.launch model:=urdf/state.urdf."