Lab5 » Historia » Wersja 6
Dawid Seredyński, 2018-06-13 21:51
| 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 | 6 | Dawid Seredyński | !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 | 5 | Dawid Seredyński | * Chose such solution for IK that the robot does not make any discontinous motions. |
| 34 | 2 | Dawid Seredyński | |
| 35 | 5 | Dawid Seredyński | * Do not add any limits in joint space. |
| 36 | 5 | Dawid Seredyński | * Additionally: |
| 37 | 2 | Dawid Seredyński | |
| 38 | 5 | Dawid Seredyński | * Take into account limits of IK for the workspace of the robot. |
| 39 | 2 | Dawid Seredyński | |
| 40 | 5 | Dawid Seredyński | * If IK cannot be solved, the node should not publish new position and it should send error information to ROS log. |
| 41 | 5 | Dawid Seredyński | * Add wiki page to your repository (the documentation). The page should contain description of source files, instruction for launching and description of tests. |
| 42 | 2 | Dawid Seredyński | |
| 43 | 5 | Dawid Seredyński | * On all graphs of structure of the system topics and services should be shown differently. |
| 44 | 5 | Dawid Seredyński | * The plots generated with rqt_plot should prove compatibility of poses of end effector calculated in different streams with the position calculated by interpolator (with and without IK). |
| 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. |