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."