Lab5 » Historia » Wersja 5
Wersja 4 (Dawid Seredyński, 2018-06-13 21:33) → Wersja 5/8 (Dawid Seredyński, 2018-06-13 21:50)
h1. Lab 5: Inverse kinematics
h2. Scope:
This laboratory consist of two parts:
* A short introduction.
* Writing your own ROS package.
h2. The task:
* Develop the system from the previous laboratory by either copying the package or modyfying it.
* Create ROS node IKIN that calculates inverse kinematics (IK) of the manipulator.
* Create an analytical algorithm for IK without use of KDL.
* Ignore orientation of the end effector. In this task, only position (translation) is relevant.
* The node should use the same ROS parameters as previously implemented node DKIN.
* Commands for IKIN should be read from the node that interpolates trajectory in operational space.
* The calculated joint position should be sent to robot_state_publisher.
* If IK cannot be solved, the node IKIN does not publish new position and it sends error information to ROS log.
* Compare two positions in RVIZ:
* The one calculated by the node that interpolates trajectory in operational space.
* Position calculated by robot_state_publisher.
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/182/lab5-scheme-a.png!
* Send a number of commands to operational space interpolation node and check if they are executed properly.
* In particular, the node ocmd commands motion of the end effector that follows rectangle and ellipse shape. Each motion should be executed periodically. The trajectory should be visualized as a streak in RVIZ.
* Set such physical parameters of the manipulator (e.g. lengths of links) that the desired example motion is possible.
* Each example motion should be executed successfully for any initial configuration of the robot.
* You can set the initial position using the method from the previous laboratory (i.e. interpolation in joint space).
* Chose such solution for IK that the robot does not make any discontinous motions. Uwaga na wybór właściwego rozwiązania zadania odwrotnej kinematyki podczas interpolacji w przestrzeni operacyjnej, tak żeby nie wykonywać gwałtownych zmian położeń złącz.
* Do not add any limits in joint space. Nie należy wprowadzać sztucznych ograniczeń zakresu ruchu w przestrzeni konfiguracyjnej, tak aby nie było konieczności wyboru jednego z kilku rozwiązań kinematyki odwrotnej.
* Additionally: W wersji rozszerzonej:
* Take into account limits of IK for the workspace of the robot. należy uwzględnić ograniczenia kinematyki odwrotnej co do przestrzeni roboczej manipulatora.
* If IK cannot be solved, the node should not publish new position and it should send error information to W szczególności jeżeli wyznaczenie położenia nie jest możliwe, węzeł liczący kinematykę odwrotną nie powinien publikować nowych pozycji zadanych oraz ma sygnalizować błąd w ROS log. log
* Add W ramach repozytorium na serwerze GitHub z własnym pakietem dodajemy wiki page to your repository (the documentation). The page should contain description of source files, instruction for launching and description of tests. z opisem plików źródłowych, instrukcją jak uruchomić system opisany w pliku roslaunch oraz przebiegiem testów.
* On all graphs of structure of the system topics and services should be shown differently. Uczulam na właściwe udokumentowanie struktury systemu z oznaczeniem, gdzie są tematy, a gdzie zdalne wywoływanie procedur.
* The plots generated with Przebiegi zmiennych z rqt_plot should prove compatibility of poses of end effector calculated in different streams with the position calculated by powinny potwierdzić zgodność pozycji końcówki robota z poszczególnych potoków przetwarzania pozycji zadanej przez interpolator (with and without IK). (z użyciem odwrotnej kinematyki i bez).
* Use separate roslaunch files for:
* roscore and RVIZ (it should be running until URDF file is modified).
* The rest of the system.
* Test the system and show it to the tutor.
h2. Scope:
This laboratory consist of two parts:
* A short introduction.
* Writing your own ROS package.
h2. The task:
* Develop the system from the previous laboratory by either copying the package or modyfying it.
* Create ROS node IKIN that calculates inverse kinematics (IK) of the manipulator.
* Create an analytical algorithm for IK without use of KDL.
* Ignore orientation of the end effector. In this task, only position (translation) is relevant.
* The node should use the same ROS parameters as previously implemented node DKIN.
* Commands for IKIN should be read from the node that interpolates trajectory in operational space.
* The calculated joint position should be sent to robot_state_publisher.
* If IK cannot be solved, the node IKIN does not publish new position and it sends error information to ROS log.
* Compare two positions in RVIZ:
* The one calculated by the node that interpolates trajectory in operational space.
* Position calculated by robot_state_publisher.
!https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/182/lab5-scheme-a.png!
* Send a number of commands to operational space interpolation node and check if they are executed properly.
* In particular, the node ocmd commands motion of the end effector that follows rectangle and ellipse shape. Each motion should be executed periodically. The trajectory should be visualized as a streak in RVIZ.
* Set such physical parameters of the manipulator (e.g. lengths of links) that the desired example motion is possible.
* Each example motion should be executed successfully for any initial configuration of the robot.
* You can set the initial position using the method from the previous laboratory (i.e. interpolation in joint space).
* Chose such solution for IK that the robot does not make any discontinous motions. Uwaga na wybór właściwego rozwiązania zadania odwrotnej kinematyki podczas interpolacji w przestrzeni operacyjnej, tak żeby nie wykonywać gwałtownych zmian położeń złącz.
* Do not add any limits in joint space. Nie należy wprowadzać sztucznych ograniczeń zakresu ruchu w przestrzeni konfiguracyjnej, tak aby nie było konieczności wyboru jednego z kilku rozwiązań kinematyki odwrotnej.
* Additionally: W wersji rozszerzonej:
* Take into account limits of IK for the workspace of the robot. należy uwzględnić ograniczenia kinematyki odwrotnej co do przestrzeni roboczej manipulatora.
* If IK cannot be solved, the node should not publish new position and it should send error information to W szczególności jeżeli wyznaczenie położenia nie jest możliwe, węzeł liczący kinematykę odwrotną nie powinien publikować nowych pozycji zadanych oraz ma sygnalizować błąd w ROS log. log
* Add W ramach repozytorium na serwerze GitHub z własnym pakietem dodajemy wiki page to your repository (the documentation). The page should contain description of source files, instruction for launching and description of tests. z opisem plików źródłowych, instrukcją jak uruchomić system opisany w pliku roslaunch oraz przebiegiem testów.
* On all graphs of structure of the system topics and services should be shown differently. Uczulam na właściwe udokumentowanie struktury systemu z oznaczeniem, gdzie są tematy, a gdzie zdalne wywoływanie procedur.
* The plots generated with Przebiegi zmiennych z rqt_plot should prove compatibility of poses of end effector calculated in different streams with the position calculated by powinny potwierdzić zgodność pozycji końcówki robota z poszczególnych potoków przetwarzania pozycji zadanej przez interpolator (with and without IK). (z użyciem odwrotnej kinematyki i bez).
* Use separate roslaunch files for:
* roscore and RVIZ (it should be running until URDF file is modified).
* The rest of the system.
* Test the system and show it to the tutor.