Projekt

Ogólne

Profil

Lab3 » Historia » Wersja 1

Dawid Seredyński, 2018-06-13 16:45

1 1 Dawid Seredyński
h1. Laboratorium trzecie - kinematyka prosta
2 1 Dawid Seredyński
3 1 Dawid Seredyński
h2. Scope:
4 1 Dawid Seredyński
5 1 Dawid Seredyński
Zajęcia składają się z kilku części:
6 1 Dawid Seredyński
7 1 Dawid Seredyński
* Krótkiego wprowadzenia do zajęć
8 1 Dawid Seredyński
* Napisania własnego pakietu ROS w ramach zadania,
9 1 Dawid Seredyński
10 1 Dawid Seredyński
h2. The task:
11 1 Dawid Seredyński
12 1 Dawid Seredyński
* Rozwijamy system z poprzedniego laboratorium rozszerzając istniejący już pakiet albo dokładając nowy.
13 1 Dawid Seredyński
* 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
14 1 Dawid Seredyński
15 1 Dawid Seredyński
  * Węzeł otrzymuje położenie zadane stawów z węzła joint_state_publisher.
16 1 Dawid Seredyński
  * Rezultat (pozycja końcówki geometry_msgs/PoseStamped) ma być publikowany na temacie i wizualizowany w RVIZ.
17 1 Dawid Seredyński
  * Na tym etapie nie interpolujemy ruchu.
18 1 Dawid Seredyński
  * Pomocna może być dokumentacja RVIZ http://wiki.ros.org/rviz/Tutorials
19 1 Dawid Seredyński
  * Parametry takie jak długość członów powinny być wczytywane z serwera parametrów.
20 1 Dawid Seredyński
  !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/203/lab3-scheme-a.png(schemat a węzłów ROS ANRO laboratorium 3)!
21 1 Dawid Seredyński
* Tworzymy drugi, analogiczny węzeł KDL_DKIN z użyciem KDL
22 1 Dawid Seredyński
23 1 Dawid Seredyński
  * podłączamy go do istniejących węzłów tak samo jako węzeł rozwiązujący prostą kinematykę bez użycia KDL
24 1 Dawid Seredyński
  !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/204/lab3-scheme-b.png(schemat b węzłów ROS ANRO laboratorium 3)!
25 1 Dawid Seredyński
* 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.
26 1 Dawid Seredyński
  * Sprawdzamy zgodność pozycji końcówki manipulatora z poszczególnym węzłów, odczytując pozycje w programie RVIZ.
27 1 Dawid Seredyński
  * 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.
28 1 Dawid Seredyński
  * 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.
29 1 Dawid Seredyński
  * Testy uzupełniamy wydrukami położenia w przestrzenie konfiguracyjnej i operacyjnej. Testy te tradycyjnie należy zamieścić w dokumentacji.
30 1 Dawid Seredyński
        !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/205/lab3-scheme-c.png(schemat c węzłów ROS ANRO laboratorium 3)!
31 1 Dawid Seredyński
* W rozszerzonym wariancie zadania należy uwzględnić ograniczenia kinematyki co do zakresu ruchu stawów.
32 1 Dawid Seredyński
  * 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
33 1 Dawid Seredyński
* 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.
34 1 Dawid Seredyński
* 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.
35 1 Dawid Seredyński
  * Pozostała część systemu sterowania powinna być uruchamiana w oddzielnym pliku roslaunch.
36 1 Dawid Seredyński
* Testujemy system i przedstawiamy prowadzącemu do oceny.