Laboratorium 5 - pw-eiti-anro-20l/kuzmich_ostrysz GitHub Wiki

W katalogu roboczym zostal utworzony nowy pakiet o nazwie inverse_kinematics ktory jest kontynuacja pakietu Interpolation. W pakiecie tym zostalo utworzonych 2 now3 pliki: ikin.py, ikin.launch. Program zaimplementowny w tych plikach ma za zadanie wyznaczenie analitycznej kinematyki odwrotnej dla manipulatora, na którym dotychczas pracowano.

W pliku ikin.py zostal napisany program przeliczajacy zadanie odwrotnej kinematyki dla manipulatora, program pobiera parametry z pliku mdh_value.json, odczytuje dane z wezla interpolation, nastepnie oblicza zadanie odwrotnej kinematyki i publikuje informacje.

W pliku ikin.launch zosta napisany program ktorego zadaniem jest uruchomienie wezlow rviz, ikin, oint, robot_state_publisher i wczytanie odpowiednich danych z serwera parametrow.

Schemat komunikacji miedzy wezlami opisany jest ponizszym grafem:

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 katalogu roboczym uzyc komend "source sevel/setup.bash" i "roscd inverse_kinematics" uruchomic plik ikin.launch "roslaunch inverse_kinematics ikin.launch"
  • w programie RViz przejść do menu File i wybrać opcję Open Config wybrac plik **inverse.rviz ** w nowej konsoli uruchomic plik ocmd.py z zadanymi parametrami ruchu poleceniem "rosrun inverse_kinematics ocmd.py x y z qx qy qz time style" do wybrania typu interpolacji nalezy w pole "i" lub "style" wpisac "complex" dla interpolacji zlozonej lub "const" dla interpolacji prostej. Np : "rosrun inverse_kinematics ocmd.py 0 0 1.2 0 0 0 5 complex"
  • w celu poruszania manipulatora po elipsie nalezu uzyc komendy "rosrun inverse_kinematics ocmd.py x y style". Np. "rosrun inverse_kinematics ocmd.py 1 1 complex"
  • w celu poruszania manipulatora po prostokacie nalezu uzyc komendy "rosrun inverse_kinematics ocmd.py x y time style". Np. "rosrun inverse_kinematics ocmd.py 1 1 10 complex"