Projekt

Ogólne

Profil

Lab5 » Historia » Wersja 8

Tomek Winiarski, 2018-06-13 22:41

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 8 Tomek Winiarski
This laboratory consists 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 7 Tomek Winiarski
* Develop the system from the previous laboratory by either copying the package or modifying 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 7 Tomek Winiarski
  * Chose such solution for IK that the robot does not make any discontinuous 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.