Projekt

Ogólne

Profil

Lab5 » Historia » Wersja 3

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


Lab 5: Inverse kinematics

Scope:

This laboratory consist of two parts:

  • A short introduction.
  • Writing your own ROS package.

The task:

  • Develop the system from the previous laboratory by either copying the package or modyfying it.
  • Tworzymy węzeł IKIN rozwiązujący kinematykę odwrotną manipulatora, na którym dotychczas pracowaliśmy,
  • Tworzymy algorytm analityczny bez użycia numerycznych algorytmów KDL.
  • Przy wyznaczaniu położenia stawów nie trzeba uwzględniać orientacji końcówki. Interesuje nas tylko osiąganie zadanego położenia (translacji).
  • Węzeł IKIN powinien korzystać z parametrów zdefiniowanych w rosparam w tym samym miejscu co dla tworzonego wcześniej węzła DKIN
  • Rozkazy dla węzła IKIN mają pochodzić z węzła interpolacji trajektorii w przestrzeni operacyjnej,
  • Wyznaczone położenie stawów przesyłamy do robot_state_publisher,
    • Jeżeli wyznaczenie położenia nie jest możliwe, węzeł IKIN nie publikuje nowej pozycji zadanej oraz sygnalizuje błąd w ROS log
  • Porównujemy w RVIZ, dwie pozycje:
    • Wyznaczoną przez węzeł interpolacji trajektorii w przestrzeni operacyjnej,
    • Pochodzącą z robot_state_publisher.
  • Wysyłamy szereg rozkazów dla węzła interpolacji trajektorii w przestrzeni operacyjnej sprawdzając poprawność wykonania zadania,
    • W szczególności zadajemy z węzła ocmd ruch końcówki po prostokącie i elipsie. Ruch ma wykonywać się cyklicznie. Trajektoria ma pozostawiać ślad w postaci smugi. * Należy tak dobrać długości członów i postać narzędzia, żeby ruch był wykonalny dla pewnych przykładowych trajektorii.
  • Ruch powinien wykonywać się poprawnie niezależnie od tego jaka będzie początkowa konfiguracja robota (położenie stawów).
    • Początkową konfigurację można zadawać korzystając ze struktury systemu z poprzedniego zadania (interpolacji w przestrzeni złącz).
    • Uwaga na wybór właściwego rozwiązania zadania odwrotnej kinematyki podczas interpolacji w przestrzeni operacyjnej, tak żeby nie wykonywać gwałtownych zmian położeń złącz.
      • Nie należy wprowadzać sztucznych ograniczeń zakresu ruchu w przestrzeni konfiguracyjnej, tak aby nie było konieczności wyboru jednego z kilku rozwiązań kinematyki odwrotnej.
  • W wersji rozszerzonej:
    • należy uwzględnić ograniczenia kinematyki odwrotnej co do przestrzeni roboczej manipulatora.
      • W szczególności jeżeli wyznaczenie położenia nie jest możliwe, węzeł liczący kinematykę odwrotną nie powinien publikować nowych pozycji zadanych oraz ma 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.
    • Uczulam na właściwe udokumentowanie struktury systemu z oznaczeniem, gdzie są tematy, a gdzie zdalne wywoływanie procedur.
    • Przebiegi zmiennych z rqt_plot powinny potwierdzić zgodność pozycji końcówki robota z poszczególnych potoków przetwarzania pozycji zadanej przez interpolator (z użyciem odwrotnej kinematyki i bez).
  • Use separate roslaunch files for:
    • roscore and RVIZ (it should be running until URDF file is modified).
    • The rest of the system.
  • Test the system and show it to the tutor.

lab5-scheme-a.png (13 KB) Dawid Seredyński, 2018-06-13 21:50