Lab3 » Historia » Wersja 2
Dawid Seredyński, 2018-06-13 16:54
1 | 2 | Dawid Seredyński | h1. Lab 3: Forward kinematics |
---|---|---|---|
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. |