Projekt

Ogólne

Profil

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.