Lab5 » Historia » Wersja 3
Dawid Seredyński, 2018-06-13 19:06
| 1 | 1 | Dawid Seredyński | h1. Lab 5: Inverse kinematics |
|---|---|---|---|
| 2 | 2 | Dawid Seredyński | |
| 3 | 2 | Dawid Seredyński | h2. Scope: |
| 4 | 2 | Dawid Seredyński | |
| 5 | 2 | Dawid Seredyński | This laboratory consist of two parts: |
| 6 | 2 | Dawid Seredyński | |
| 7 | 2 | Dawid Seredyński | * A short introduction. |
| 8 | 2 | Dawid Seredyński | * Writing your own ROS package. |
| 9 | 2 | Dawid Seredyński | |
| 10 | 2 | Dawid Seredyński | h2. The task: |
| 11 | 2 | Dawid Seredyński | |
| 12 | 2 | Dawid Seredyński | * Develop the system from the previous laboratory by either copying the package or modyfying it. |
| 13 | 2 | Dawid Seredyński | * Tworzymy węzeł IKIN rozwiązujący kinematykę odwrotną manipulatora, na którym dotychczas pracowaliśmy, |
| 14 | 2 | Dawid Seredyński | * Tworzymy algorytm analityczny bez użycia numerycznych algorytmów KDL. |
| 15 | 2 | Dawid Seredyński | * 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). |
| 16 | 2 | Dawid Seredyński | * Węzeł IKIN powinien korzystać z parametrów zdefiniowanych w rosparam w tym samym miejscu co dla tworzonego wcześniej węzła DKIN |
| 17 | 2 | Dawid Seredyński | * Rozkazy dla węzła IKIN mają pochodzić z węzła interpolacji trajektorii w przestrzeni operacyjnej, |
| 18 | 2 | Dawid Seredyński | * Wyznaczone położenie stawów przesyłamy do robot_state_publisher, |
| 19 | 2 | Dawid Seredyński | |
| 20 | 2 | Dawid Seredyński | * 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 |
| 21 | 2 | Dawid Seredyński | * Porównujemy w RVIZ, dwie pozycje: |
| 22 | 2 | Dawid Seredyński | |
| 23 | 2 | Dawid Seredyński | * Wyznaczoną przez węzeł interpolacji trajektorii w przestrzeni operacyjnej, |
| 24 | 2 | Dawid Seredyński | * Pochodzącą z robot_state_publisher. |
| 25 | 3 | Dawid Seredyński | !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/182/lab5-scheme-a.png! |
| 26 | 2 | Dawid Seredyński | * Wysyłamy szereg rozkazów dla węzła interpolacji trajektorii w przestrzeni operacyjnej sprawdzając poprawność wykonania zadania, |
| 27 | 2 | Dawid Seredyński | |
| 28 | 2 | Dawid Seredyński | * 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. |
| 29 | 2 | Dawid Seredyński | * Należy tak dobrać długości członów i postać narzędzia, żeby ruch był wykonalny dla pewnych przykładowych trajektorii. |
| 30 | 2 | Dawid Seredyński | * Ruch powinien wykonywać się poprawnie niezależnie od tego jaka będzie początkowa konfiguracja robota (położenie stawów). |
| 31 | 2 | Dawid Seredyński | |
| 32 | 2 | Dawid Seredyński | * Początkową konfigurację można zadawać korzystając ze struktury systemu z poprzedniego zadania (interpolacji w przestrzeni złącz). |
| 33 | 2 | Dawid Seredyński | * 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. |
| 34 | 2 | Dawid Seredyński | |
| 35 | 2 | Dawid Seredyński | * 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. |
| 36 | 2 | Dawid Seredyński | * W wersji rozszerzonej: |
| 37 | 2 | Dawid Seredyński | |
| 38 | 2 | Dawid Seredyński | * należy uwzględnić ograniczenia kinematyki odwrotnej co do przestrzeni roboczej manipulatora. |
| 39 | 2 | Dawid Seredyński | |
| 40 | 2 | Dawid Seredyński | * 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 |
| 41 | 2 | 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. |
| 42 | 2 | Dawid Seredyński | |
| 43 | 2 | Dawid Seredyński | * Uczulam na właściwe udokumentowanie struktury systemu z oznaczeniem, gdzie są tematy, a gdzie zdalne wywoływanie procedur. |
| 44 | 2 | Dawid Seredyński | * 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). |
| 45 | 2 | Dawid Seredyński | * Use separate roslaunch files for: |
| 46 | 2 | Dawid Seredyński | |
| 47 | 2 | Dawid Seredyński | * roscore and RVIZ (it should be running until URDF file is modified). |
| 48 | 2 | Dawid Seredyński | * The rest of the system. |
| 49 | 2 | Dawid Seredyński | * Test the system and show it to the tutor. |