Projekt

Ogólne

Profil

Lab3 » Historia » Wersja 2

« Poprzednie - Wersja 2/8 (diff) - Następne » - Obecna wersja
Dawid Seredyński, 2018-06-13 16:54


Lab 3: Forward kinematics

Scope:

Zajęcia składają się z kilku części:

  • Krótkiego wprowadzenia do zajęć
  • Napisania własnego pakietu ROS w ramach zadania,

The task:

  • Rozwijamy system z poprzedniego laboratorium rozszerzając istniejący już pakiet albo dokładając nowy.
  • Za pomocą dowolnego z dwóch języków (C++, Python) tworzymy węzeł NONKDL_DKIN, który będzie rozwiązywał prostą kinematykę manipulatora metodą analityczną bez użycia KDL
    • Węzeł otrzymuje położenie zadane stawów z węzła joint_state_publisher.
    • Rezultat (pozycja końcówki geometry_msgs/PoseStamped) ma być publikowany na temacie i wizualizowany w RVIZ.
    • Na tym etapie nie interpolujemy ruchu.
    • Pomocna może być dokumentacja RVIZ http://wiki.ros.org/rviz/Tutorials
    • Parametry takie jak długość członów powinny być wczytywane z serwera parametrów.
      schemat a węzłów ROS ANRO laboratorium 3
  • Tworzymy drugi, analogiczny węzeł KDL_DKIN z użyciem KDL
    • podłączamy go do istniejących węzłów tak samo jako węzeł rozwiązujący prostą kinematykę bez użycia KDL
      schemat b węzłów ROS ANRO laboratorium 3
  • Testujemy rozwiązanie w programie RVIZ, zestawiając działanie dwóch autorskich węzłów NONKDL_DKIN i KDL_DKIN z manipulatorem wizualizowanym na podstawie danych dostarczanych z robot_state_publisher. * Sprawdzamy zgodność pozycji końcówki manipulatora z poszczególnym węzłów, odczytując pozycje w programie RVIZ. * Warto zwrócić uwagę, że wszystkie 3 węzły obliczające prostą kinematykę powinny publikować na oddzielnych tematach, choć dwa z nich korzystają z tego samego typu wiadomości. * Układy współrzędnych związane z końcówką mogą (a nawet powinny) być zgodne co do położenia i orientacji. Warto manipulować parametrami ich wyświetlania (długością i grubością strzałek) tak, żeby były widoczne i się nie przysłaniały. * Testy uzupełniamy wydrukami położenia w przestrzenie konfiguracyjnej i operacyjnej. Testy te tradycyjnie należy zamieścić w dokumentacji.
    schemat c węzłów ROS ANRO laboratorium 3
  • W rozszerzonym wariancie zadania należy uwzględnić ograniczenia kinematyki co do zakresu ruchu stawów. * w szczególności jeżeli wyznaczenie położenia nie jest możliwe, węzły liczące kinematykę nie powinny publikować nowych pozycji zadanych oraz mają sygnalizować błąd w ROS log
  • W ramach repozytorium na serwerze GitHub z własnym pakietem dodajemy wiki z opisem plików źródłowych, instrukcją jak uruchomić system opisany w pliku roslaunch oraz przebiegiem testów.
  • Podczas pracy z systemem właściwe jest wydzielenie pliku roslaunch, który będzie uruchamiany jako pierwszy w dedykowanej konsoli włączając roscore oraz RVIZ. Ta część systemu zasadniczo nie powinna być wyłączana, o ile nie jest modyfikowany plik URDF. * Pozostała część systemu sterowania powinna być uruchamiana w oddzielnym pliku roslaunch.
  • Testujemy system i przedstawiamy prowadzącemu do oceny.

lab3-scheme-b.png (6,04 KB) Dawid Seredyński, 2018-06-13 21:52

lab3-scheme-a.png (6,17 KB) Dawid Seredyński, 2018-06-13 21:52

lab3-scheme-c.png (11,1 KB) Dawid Seredyński, 2018-06-13 21:52