Lab5 » Historia » Wersja 4
Dawid Seredyński, 2018-06-13 21:33
1 | 1 | Dawid Seredyński | h1. Lab 5: Inverse kinematics |
---|---|---|---|
2 | 2 | Dawid Seredyński | |
3 | 2 | Dawid Seredyński | h2. Scope: |
4 | 2 | Dawid Seredyński | |
5 | 2 | Dawid Seredyński | This laboratory consist of two parts: |
6 | 2 | Dawid Seredyński | |
7 | 2 | Dawid Seredyński | * A short introduction. |
8 | 2 | Dawid Seredyński | * Writing your own ROS package. |
9 | 2 | Dawid Seredyński | |
10 | 2 | Dawid Seredyński | h2. The task: |
11 | 2 | Dawid Seredyński | |
12 | 2 | Dawid Seredyński | * Develop the system from the previous laboratory by either copying the package or modyfying it. |
13 | 4 | Dawid Seredyński | * Create ROS node IKIN that calculates inverse kinematics (IK) of the manipulator. |
14 | 4 | Dawid Seredyński | * Create an analytical algorithm for IK without use of KDL. |
15 | 4 | Dawid Seredyński | * Ignore orientation of the end effector. In this task, only position (translation) is relevant. |
16 | 4 | Dawid Seredyński | * The node should use the same ROS parameters as previously implemented node DKIN. |
17 | 4 | Dawid Seredyński | * Commands for IKIN should be read from the node that interpolates trajectory in operational space. |
18 | 4 | Dawid Seredyński | * The calculated joint position should be sent to robot_state_publisher. |
19 | 2 | Dawid Seredyński | |
20 | 4 | Dawid Seredyński | * If IK cannot be solved, the node IKIN does not publish new position and it sends error information to ROS log. |
21 | 4 | Dawid Seredyński | * Compare two positions in RVIZ: |
22 | 2 | Dawid Seredyński | |
23 | 4 | Dawid Seredyński | * The one calculated by the node that interpolates trajectory in operational space. |
24 | 4 | Dawid Seredyński | * Position calculated by robot_state_publisher. |
25 | 3 | Dawid Seredyński | !https://www.robotyka.ia.pw.edu.pl/redmine/attachments/download/182/lab5-scheme-a.png! |
26 | 4 | Dawid Seredyński | * Send a number of commands to operational space interpolation node and check if they are executed properly. |
27 | 2 | Dawid Seredyński | |
28 | 4 | Dawid Seredyński | * 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. |
29 | 4 | Dawid Seredyński | * Set such physical parameters of the manipulator (e.g. lengths of links) that the desired example motion is possible. |
30 | 4 | Dawid Seredyński | * Each example motion should be executed successfully for any initial configuration of the robot. |
31 | 2 | Dawid Seredyński | |
32 | 4 | Dawid Seredyński | * You can set the initial position using the method from the previous laboratory (i.e. interpolation in joint space). |
33 | 2 | Dawid Seredyński | * 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. |
34 | 2 | Dawid Seredyński | |
35 | 2 | Dawid Seredyński | * 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. |
36 | 2 | Dawid Seredyński | * W wersji rozszerzonej: |
37 | 2 | Dawid Seredyński | |
38 | 2 | Dawid Seredyński | * należy uwzględnić ograniczenia kinematyki odwrotnej co do przestrzeni roboczej manipulatora. |
39 | 2 | Dawid Seredyński | |
40 | 2 | Dawid Seredyński | * 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 |
41 | 2 | Dawid Seredyński | * 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. |
42 | 2 | Dawid Seredyński | |
43 | 2 | Dawid Seredyński | * Uczulam na właściwe udokumentowanie struktury systemu z oznaczeniem, gdzie są tematy, a gdzie zdalne wywoływanie procedur. |
44 | 2 | Dawid Seredyński | * Przebiegi zmiennych z rqt_plot powinny potwierdzić zgodność pozycji końcówki robota z poszczególnych potoków przetwarzania pozycji zadanej przez interpolator (z użyciem odwrotnej kinematyki i bez). |
45 | 2 | Dawid Seredyński | * Use separate roslaunch files for: |
46 | 2 | Dawid Seredyński | |
47 | 2 | Dawid Seredyński | * roscore and RVIZ (it should be running until URDF file is modified). |
48 | 2 | Dawid Seredyński | * The rest of the system. |
49 | 2 | Dawid Seredyński | * Test the system and show it to the tutor. |