Lab3 » Historia » Wersja 4
Dawid Seredyński, 2018-06-13 17:08
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 | 3 | Dawid Seredyński | This laboratory consist of two parts: |
6 | 1 | Dawid Seredyński | |
7 | 3 | Dawid Seredyński | * A short introduction. |
8 | 3 | Dawid Seredyński | * Writing your own ROS package. |
9 | 1 | Dawid Seredyński | |
10 | 1 | Dawid Seredyński | h2. The task: |
11 | 1 | Dawid Seredyński | |
12 | 3 | Dawid Seredyński | * Develop the system from the previous laboratory by either copying the package or modyfying it. |
13 | 3 | Dawid Seredyński | * Using C++ or Python create a ROS node NONKDL_DKIN that calculates forward kinematics of manipulator using analytical method (without KDL). |
14 | 1 | Dawid Seredyński | |
15 | 3 | Dawid Seredyński | * The node gets current position of joints from joint_state_publisher node. |
16 | 3 | Dawid Seredyński | * The result (i.e. position of end effector of type geometry_msgs/PoseStamped) should be published on ROS topic and visualized in RVIZ. |
17 | 3 | Dawid Seredyński | * Do not interpolate movement. |
18 | 3 | Dawid Seredyński | * Please refer to RVIZ documentation http://wiki.ros.org/rviz/Tutorials |
19 | 3 | Dawid Seredyński | * Read parameters (e.g. lengths of links) from ROS parameter server. |
20 | 3 | Dawid Seredyński | !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/203/lab3-scheme-a.png(graph a: ROS nodes for ANRO laboratory 3)! |
21 | 4 | Dawid Seredyński | * Create a second node KDL_DKIN that uses KDL, with the same functionality as NONKDL_DKIN. |
22 | 1 | Dawid Seredyński | |
23 | 4 | Dawid Seredyński | * Connect it to existing nodes in place of NONKDL_DKIN. |
24 | 3 | Dawid Seredyński | !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/204/lab3-scheme-b.png(graph b: ROS nodes for ANRO laboratory 3)! |
25 | 4 | Dawid Seredyński | * Test the results in RVIZ. Compare nodes NONKDL_DKIN and KDL_DKIN using data generated by robot_state_publisher. |
26 | 4 | Dawid Seredyński | * Check if the calculated pose is the same as the pose calculated by ROS tf. Compare both poses in 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 | 3 | Dawid Seredyński | !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/205/lab3-scheme-c.png(graph c: ROS nodes for ANRO laboratory 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. |