Lab3 » Historia » Wersja 3
Wersja 2 (Dawid Seredyński, 2018-06-13 16:54) → Wersja 3/8 (Dawid Seredyński, 2018-06-13 17:02)
h1. Lab 3: Forward kinematics
h2. Scope:
This laboratory consist of two parts: Zajęcia składają się z kilku części:
* A short introduction. Krótkiego wprowadzenia do zajęć
* Writing your own Napisania własnego pakietu ROS package. w ramach zadania,
h2. The task:
* Develop the Rozwijamy system from the previous laboratory by either copying the package or modyfying it. z poprzedniego laboratorium rozszerzając istniejący już pakiet albo dokładając nowy.
* Using C++ or Python create a ROS node NONKDL_DKIN that calculates forward kinematics of manipulator using analytical method (without KDL). 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
* The node gets current position of joints from joint_state_publisher node. Węzeł otrzymuje położenie zadane stawów z węzła joint_state_publisher.
* The result (i.e. position of end effector of type Rezultat (pozycja końcówki geometry_msgs/PoseStamped) should be published on ROS topic and visualized in ma być publikowany na temacie i wizualizowany w RVIZ.
* Do not interpolate movement. Na tym etapie nie interpolujemy ruchu.
* Please refer to Pomocna może być dokumentacja RVIZ documentation http://wiki.ros.org/rviz/Tutorials
* Read parameters (e.g. lengths of links) from ROS parameter server. Parametry takie jak długość członów powinny być wczytywane z serwera parametrów.
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/203/lab3-scheme-a.png(graph a: !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/203/lab3-scheme-a.png(schemat a węzłów ROS nodes for ANRO laboratory laboratorium 3)!
* Tworzymy drugi, analogiczny węzeł KDL_DKIN z użyciem KDL
* podłączamy go do istniejących węzłów tak samo jako węzeł rozwiązujący prostą kinematykę bez użycia KDL
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/204/lab3-scheme-b.png(graph b: !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/204/lab3-scheme-b.png(schemat b węzłów ROS nodes for ANRO laboratory laboratorium 3)!
* 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.
* Sprawdzamy zgodność pozycji końcówki manipulatora z poszczególnym węzłów, odczytując pozycje w programie RVIZ.
* 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.
* 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.
* Testy uzupełniamy wydrukami położenia w przestrzenie konfiguracyjnej i operacyjnej. Testy te tradycyjnie należy zamieścić w dokumentacji.
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/205/lab3-scheme-c.png(graph c: !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/205/lab3-scheme-c.png(schemat c węzłów ROS nodes for ANRO laboratory laboratorium 3)!
* W rozszerzonym wariancie zadania należy uwzględnić ograniczenia kinematyki co do zakresu ruchu stawów.
* 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
* 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.
* 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.
* Pozostała część systemu sterowania powinna być uruchamiana w oddzielnym pliku roslaunch.
* Testujemy system i przedstawiamy prowadzącemu do oceny.
h2. Scope:
This laboratory consist of two parts: Zajęcia składają się z kilku części:
* A short introduction. Krótkiego wprowadzenia do zajęć
* Writing your own Napisania własnego pakietu ROS package. w ramach zadania,
h2. The task:
* Develop the Rozwijamy system from the previous laboratory by either copying the package or modyfying it. z poprzedniego laboratorium rozszerzając istniejący już pakiet albo dokładając nowy.
* Using C++ or Python create a ROS node NONKDL_DKIN that calculates forward kinematics of manipulator using analytical method (without KDL). 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
* The node gets current position of joints from joint_state_publisher node. Węzeł otrzymuje położenie zadane stawów z węzła joint_state_publisher.
* The result (i.e. position of end effector of type Rezultat (pozycja końcówki geometry_msgs/PoseStamped) should be published on ROS topic and visualized in ma być publikowany na temacie i wizualizowany w RVIZ.
* Do not interpolate movement. Na tym etapie nie interpolujemy ruchu.
* Please refer to Pomocna może być dokumentacja RVIZ documentation http://wiki.ros.org/rviz/Tutorials
* Read parameters (e.g. lengths of links) from ROS parameter server. Parametry takie jak długość członów powinny być wczytywane z serwera parametrów.
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/203/lab3-scheme-a.png(graph a: !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/203/lab3-scheme-a.png(schemat a węzłów ROS nodes for ANRO laboratory laboratorium 3)!
* Tworzymy drugi, analogiczny węzeł KDL_DKIN z użyciem KDL
* podłączamy go do istniejących węzłów tak samo jako węzeł rozwiązujący prostą kinematykę bez użycia KDL
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/204/lab3-scheme-b.png(graph b: !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/204/lab3-scheme-b.png(schemat b węzłów ROS nodes for ANRO laboratory laboratorium 3)!
* 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.
* Sprawdzamy zgodność pozycji końcówki manipulatora z poszczególnym węzłów, odczytując pozycje w programie RVIZ.
* 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.
* 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.
* Testy uzupełniamy wydrukami położenia w przestrzenie konfiguracyjnej i operacyjnej. Testy te tradycyjnie należy zamieścić w dokumentacji.
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/205/lab3-scheme-c.png(graph c: !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/205/lab3-scheme-c.png(schemat c węzłów ROS nodes for ANRO laboratory laboratorium 3)!
* W rozszerzonym wariancie zadania należy uwzględnić ograniczenia kinematyki co do zakresu ruchu stawów.
* 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
* 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.
* 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.
* Pozostała część systemu sterowania powinna być uruchamiana w oddzielnym pliku roslaunch.
* Testujemy system i przedstawiamy prowadzącemu do oceny.