Lab2 » Historia » Wersja 8
Wersja 7 (Dawid Seredyński, 2018-06-13 16:22) → Wersja 8/17 (Dawid Seredyński, 2018-06-13 16:34)
h1. Lab 2: Modeling and visualization of manipulator
h2. Scope
This laboratory consist of three parts:
* A short introduction.
* Reading and following URDF tutorials: http://wiki.ros.org/urdf/Tutorials
* Writing your own ROS package.
h2. Detailed description for URDF tutorials:
* Building a Visual Robot Model with URDF from Scratch
* For your convenience add your URDF files in *urdf* directory of package *beginners_tutorials*, the one created during the first laboratory.
* In next sections create new URDF files according to roslaunch files.
* The final version of r2d2 has different gripper.
* Building a Movable Robot Model with URDF
* Continue creating new URDF files.
* Adding Physical and Collision Properties to a URDF Model
* You can omit this section, as we do not use model of dynamics and friction.
* Using Xacro to Clean Up a URDF File
* The practical example in this section is not working properly.
* Understanding the PR2 Robot Description
* You can omit this section.
* Create your own urdf file
* Create new URDF files.
* ROS Kinetic is newer than ROS Hydro
* Parse a urdf file
* Copy URDF file from beginners_tutorials package
* Using the robot state publisher on your own robot
* This section is unclear and can be omited.
* Start using the KDL parser
* You can omit this section.
* Using urdf with robot_state_publisher
* This section shows a method to move the model of robot written in URDF file.
h2. The task:
* Create a new package in your repository created in the previous laboratory. Tworzymy własny pakiet jako nowy pakiet w katalogu roboczym wykorzystywanym podczas przechodzenia poprzedniego przewodnika
* Create a Tworzymy program (can be a ROS node) that calculates rotation parameters (może korzystać z ROS), w którym przeliczymy parametry DH na reprezentacje rotacji adekwatną dla URDF (RPY or quaternion), compatible with URDF format, from DH parameters. lub kwaternion)
* You may find pomocna będzie dokumentacja KDL documentation useful: http://wiki.ros.org/kdl
* Create Tworzymy plik URDF file for a robot with given parameters expressed in Denavit-Hartenberg notation robota o zadanych parametrach w notacji Denavita-Hartenberga
* You can create base for the robot with arbitrarily chosen height. Całego robota można umieścić na członie (podstawie) unoszącym go ponad poziom ziemi
* Add a tool with no internal degrees of freedom Do robota dołączamy narzędzie w postaci członu bez wewnętrznych stopni swobody
* Parameters (e.g. length of a link) should be read from ROS parameter server Parametry takie jak długość członów powinny być wczytywane z serwera parametrów
* At first, treat all joints as fixed. W pierwszym podejściu traktujemy stawy jako zablokowane
* Create a Tworzymy plik roslaunch file and visualize the robot in RVIZ using robot_state_publisher. 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 a węzłów ROS ANRO laboratorium 2)!
* Create second Tworzymy drugi plik URDF file with moveable joints z ruchomymi stawami
* Create second roslaunch file that runs Tworzymy drugi plik roslauch, który uruchomi joint_state_publisher to move joints. do poruszania stawami
* Both Oba pliki roslaunch files should be executed in separate terminals. The first one runs uruchamiamy w oddzielnych konsolach. Pierwszy uruchamia RVIZ as long as the URDF file is unchanged. The second runs the rest of the system. 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 b węzłów ROS ANRO laboratorium 2)!
* Commit and push your work to GitHub. 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
This laboratory consist of three parts:
* A short introduction.
* Reading and following URDF tutorials: http://wiki.ros.org/urdf/Tutorials
* Writing your own ROS package.
h2. Detailed description for URDF tutorials:
* Building a Visual Robot Model with URDF from Scratch
* For your convenience add your URDF files in *urdf* directory of package *beginners_tutorials*, the one created during the first laboratory.
* In next sections create new URDF files according to roslaunch files.
* The final version of r2d2 has different gripper.
* Building a Movable Robot Model with URDF
* Continue creating new URDF files.
* Adding Physical and Collision Properties to a URDF Model
* You can omit this section, as we do not use model of dynamics and friction.
* Using Xacro to Clean Up a URDF File
* The practical example in this section is not working properly.
* Understanding the PR2 Robot Description
* You can omit this section.
* Create your own urdf file
* Create new URDF files.
* ROS Kinetic is newer than ROS Hydro
* Parse a urdf file
* Copy URDF file from beginners_tutorials package
* Using the robot state publisher on your own robot
* This section is unclear and can be omited.
* Start using the KDL parser
* You can omit this section.
* Using urdf with robot_state_publisher
* This section shows a method to move the model of robot written in URDF file.
h2. The task:
* Create a new package in your repository created in the previous laboratory. Tworzymy własny pakiet jako nowy pakiet w katalogu roboczym wykorzystywanym podczas przechodzenia poprzedniego przewodnika
* Create a Tworzymy program (can be a ROS node) that calculates rotation parameters (może korzystać z ROS), w którym przeliczymy parametry DH na reprezentacje rotacji adekwatną dla URDF (RPY or quaternion), compatible with URDF format, from DH parameters. lub kwaternion)
* You may find pomocna będzie dokumentacja KDL documentation useful: http://wiki.ros.org/kdl
* Create Tworzymy plik URDF file for a robot with given parameters expressed in Denavit-Hartenberg notation robota o zadanych parametrach w notacji Denavita-Hartenberga
* You can create base for the robot with arbitrarily chosen height. Całego robota można umieścić na członie (podstawie) unoszącym go ponad poziom ziemi
* Add a tool with no internal degrees of freedom Do robota dołączamy narzędzie w postaci członu bez wewnętrznych stopni swobody
* Parameters (e.g. length of a link) should be read from ROS parameter server Parametry takie jak długość członów powinny być wczytywane z serwera parametrów
* At first, treat all joints as fixed. W pierwszym podejściu traktujemy stawy jako zablokowane
* Create a Tworzymy plik roslaunch file and visualize the robot in RVIZ using robot_state_publisher. 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 a węzłów ROS ANRO laboratorium 2)!
* Create second Tworzymy drugi plik URDF file with moveable joints z ruchomymi stawami
* Create second roslaunch file that runs Tworzymy drugi plik roslauch, który uruchomi joint_state_publisher to move joints. do poruszania stawami
* Both Oba pliki roslaunch files should be executed in separate terminals. The first one runs uruchamiamy w oddzielnych konsolach. Pierwszy uruchamia RVIZ as long as the URDF file is unchanged. The second runs the rest of the system. 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 b węzłów ROS ANRO laboratorium 2)!
* Commit and push your work to GitHub. 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