Lab2 » Historia » Wersja 7
« Poprzednie -
Wersja 7/17
(diff) -
Następne » -
Obecna wersja
Dawid Seredyński, 2018-06-13 16:22
Lab 2: Modeling and visualization of manipulator¶
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.
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.
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
- 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.
- 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.
- 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