Lab2 » Historia » Wersja 5
Wersja 4 (Dawid Seredyński, 2018-06-13 16:00) → Wersja 5/17 (Dawid Seredyński, 2018-06-13 16:07)
h1. Lab 2: Modeling and visualization of manipulator
h2. Scope
Zajęcia składają się z kilku części:
* Krótkiego wprowadzenia do zajęć
* Przejścia rozdziałów przewodnika URDF na stronie ROS http://wiki.ros.org/urdf/Tutorials
* Napisania własnego pakietu ROS w ramach zadania,
h2. Szczegółowe uwagi do korzystania z przewodnika URDF, z podziałem na rozdziały:
* Building a Visual Robot Model with URDF from Scratch
*
dla wygody i porządku twórzcie pliki URDF w katalogu urdf pakietu beginners_tutorials, który tworzyliście na poprzednich zajęciach.
*
w kolejnych podrozdziałach twórzcie kolejne pliki URDF zgodnie z wywołaniami roslaunch
*
finalnemu r2d2, troszeczkę zmienił się chwytak ;)
* Building a Movable Robot Model with URDF
*
kontynuujemy tworzenie kolejnych plików URDF
* Adding Physical and Collision Properties to a URDF Model
*
ten rozdział można pominąć, bo na laboratorium nie zajmujemy się dynamiką i tarciem
* Using Xacro to Clean Up a URDF File
*
praktyczny przykład nie uruchamia się poprawnie
* Understanding the PR2 Robot Description
*
ten rozdział można pominąć,
* Create your own urdf file
*
kontynuujemy tworzenie kolejnych plików URDF
*
wersja ROS: kinetic jest nowsza od hydro
* Parse a urdf file
*
kopiujemy plik urdf z pakietu beginners_tutorials
* Using the robot state publisher on your own robot
*
ten rozdział jest mało czytelny i proponuję go pominąć
* Start using the KDL parser
*
ten rozdział można pominąć
* Using urdf with robot_state_publisher
*
ten rozdział pokazuje jak na poruszać z programu robotem opisanym za pomocą pliku URDF
h2. The task:
* Tworzymy własny pakiet jako nowy pakiet w katalogu roboczym wykorzystywanym podczas przechodzenia poprzedniego przewodnika
* Tworzymy program (może korzystać z ROS), w którym przeliczymy parametry DH na reprezentacje rotacji adekwatną dla URDF (RPY lub kwaternion)
pomocna będzie dokumentacja KDL http://wiki.ros.org/kdl
* Tworzymy plik URDF robota o zadanych parametrach w notacji Denavita-Hartenberga
Całego robota można umieścić na członie (podstawie) unoszącym go ponad poziom ziemi
Do robota dołączamy narzędzie w postaci członu bez wewnętrznych stopni swobody
Parametry takie jak długość członów powinny być wczytywane z serwera parametrów
* W pierwszym podejściu traktujemy stawy jako zablokowane
* Tworzymy plik roslaunch i wizualizujemy robota w RVIZ, z użyciem robot_state_publisher
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/175/lab2-scheme-a.png(schemat !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/175/lab2-scheme-a.png!
schemat a węzłów ROS ANRO laboratorium 2)! 2
Tworzymy drugi plik URDF z ruchomymi stawami
Tworzymy drugi plik roslauch, który uruchomi joint_state_publisher do poruszania stawami
Oba pliki roslaunch uruchamiamy w oddzielnych konsolach. Pierwszy uruchamia RVIZ i jest stale uruchomiony, o ile nie zmienia się plik URDF. Drugi uruchamia pozostałe części systemu.
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/176/lab2-scheme-b.png(schemat
schemat b węzłów ROS ANRO laboratorium 2)! 2
* Tradycyjnie efekty wrzucamy na GitHub
* 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.
Dodatkowo tradycyjnie schemat i opis struktury systemu wraz z użytymi mechanizmami komunikacji oraz schemat struktury manipulatora zawartej w plikach URDF.
Dokumentację uzupełniamy opisem testów. Właściwe jest użycie m.in. narzędzi takich jak rqt_plot do utworzenia wykresów przebiegów zmiennych na kanałach komunikacyjnych np. JointState, czy też tf.
* Testujemy system i przedstawiamy prowadzącemu do oceny
h2. Scope
Zajęcia składają się z kilku części:
* Krótkiego wprowadzenia do zajęć
* Przejścia rozdziałów przewodnika URDF na stronie ROS http://wiki.ros.org/urdf/Tutorials
* Napisania własnego pakietu ROS w ramach zadania,
h2. Szczegółowe uwagi do korzystania z przewodnika URDF, z podziałem na rozdziały:
* Building a Visual Robot Model with URDF from Scratch
*
dla wygody i porządku twórzcie pliki URDF w katalogu urdf pakietu beginners_tutorials, który tworzyliście na poprzednich zajęciach.
*
w kolejnych podrozdziałach twórzcie kolejne pliki URDF zgodnie z wywołaniami roslaunch
*
finalnemu r2d2, troszeczkę zmienił się chwytak ;)
* Building a Movable Robot Model with URDF
*
kontynuujemy tworzenie kolejnych plików URDF
* Adding Physical and Collision Properties to a URDF Model
*
ten rozdział można pominąć, bo na laboratorium nie zajmujemy się dynamiką i tarciem
* Using Xacro to Clean Up a URDF File
*
praktyczny przykład nie uruchamia się poprawnie
* Understanding the PR2 Robot Description
*
ten rozdział można pominąć,
* Create your own urdf file
*
kontynuujemy tworzenie kolejnych plików URDF
*
wersja ROS: kinetic jest nowsza od hydro
* Parse a urdf file
*
kopiujemy plik urdf z pakietu beginners_tutorials
* Using the robot state publisher on your own robot
*
ten rozdział jest mało czytelny i proponuję go pominąć
* Start using the KDL parser
*
ten rozdział można pominąć
* Using urdf with robot_state_publisher
*
ten rozdział pokazuje jak na poruszać z programu robotem opisanym za pomocą pliku URDF
h2. The task:
* Tworzymy własny pakiet jako nowy pakiet w katalogu roboczym wykorzystywanym podczas przechodzenia poprzedniego przewodnika
* Tworzymy program (może korzystać z ROS), w którym przeliczymy parametry DH na reprezentacje rotacji adekwatną dla URDF (RPY lub kwaternion)
pomocna będzie dokumentacja KDL http://wiki.ros.org/kdl
* Tworzymy plik URDF robota o zadanych parametrach w notacji Denavita-Hartenberga
Całego robota można umieścić na członie (podstawie) unoszącym go ponad poziom ziemi
Do robota dołączamy narzędzie w postaci członu bez wewnętrznych stopni swobody
Parametry takie jak długość członów powinny być wczytywane z serwera parametrów
* W pierwszym podejściu traktujemy stawy jako zablokowane
* Tworzymy plik roslaunch i wizualizujemy robota w RVIZ, z użyciem robot_state_publisher
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/175/lab2-scheme-a.png(schemat !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/175/lab2-scheme-a.png!
schemat a węzłów ROS ANRO laboratorium 2)! 2
Tworzymy drugi plik URDF z ruchomymi stawami
Tworzymy drugi plik roslauch, który uruchomi joint_state_publisher do poruszania stawami
Oba pliki roslaunch uruchamiamy w oddzielnych konsolach. Pierwszy uruchamia RVIZ i jest stale uruchomiony, o ile nie zmienia się plik URDF. Drugi uruchamia pozostałe części systemu.
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/176/lab2-scheme-b.png(schemat
schemat b węzłów ROS ANRO laboratorium 2)! 2
* Tradycyjnie efekty wrzucamy na GitHub
* 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.
Dodatkowo tradycyjnie schemat i opis struktury systemu wraz z użytymi mechanizmami komunikacji oraz schemat struktury manipulatora zawartej w plikach URDF.
Dokumentację uzupełniamy opisem testów. Właściwe jest użycie m.in. narzędzi takich jak rqt_plot do utworzenia wykresów przebiegów zmiennych na kanałach komunikacyjnych np. JointState, czy też tf.
* Testujemy system i przedstawiamy prowadzącemu do oceny