Lab4 » Historia » Wersja 9
Tomek Winiarski, 2018-06-13 22:26
1 | 3 | Dawid Seredyński | h1. Lab 4: Interpolation of motion |
---|---|---|---|
2 | 1 | Dawid Seredyński | |
3 | 1 | Dawid Seredyński | h2. Scope: |
4 | 1 | Dawid Seredyński | |
5 | 1 | Dawid Seredyński | This laboratory consist of two parts: |
6 | 1 | Dawid Seredyński | |
7 | 1 | Dawid Seredyński | * A short introduction. |
8 | 1 | Dawid Seredyński | * Writing your own ROS package. |
9 | 1 | Dawid Seredyński | |
10 | 1 | Dawid Seredyński | h2. The task: |
11 | 1 | Dawid Seredyński | |
12 | 4 | 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 jint that interpolates trajectory in configuration space. |
14 | 1 | Dawid Seredyński | |
15 | 4 | Dawid Seredyński | * The node uses ROS service (Remote Procedure Call - RPC) of type jint_control_srv. You should create this service type. |
16 | 2 | Dawid Seredyński | |
17 | 4 | Dawid Seredyński | * The node jint gets desired joint position and other required parameters (e.g. duration) as input. |
18 | 4 | Dawid Seredyński | * The node answers interpolation status that can be sent after the interpolation is complete or immediately, if there are errors in the input parameters (e.g. zero or negative duration). |
19 | 4 | Dawid Seredyński | * The RPC can be executed directly from terminal or by a dedicated node jcmd. |
20 | 4 | Dawid Seredyński | * After reception of valid command, the node jint publishes interpolated positions on ROS topic and sends it to robot_state_publiher node. |
21 | 4 | Dawid Seredyński | |
22 | 4 | Dawid Seredyński | * At first, use linear interpolation. |
23 | 9 | Tomek Winiarski | * Next, add more sophisticated method, e.g. trapezoid velocity profile or spline interpolation (please refer to: https://en.wikipedia.org/wiki/Spline_interpolation#Algorithm_to_find_the_interpolating_cubic_spline). You can assume zero velocity at the beginning and at the end of motion. |
24 | 4 | Dawid Seredyński | * All interpolation modes should be implemented in one ROS node and can be selected in jint_control_srv. |
25 | 9 | Tomek Winiarski | * Visualize behaviour of the system in RVIZ. Visualize the followed trajectory. |
26 | 8 | Dawid Seredyński | !lab4-scheme-a.png! |
27 | 2 | Dawid Seredyński | |
28 | 6 | Dawid Seredyński | * Create a similar ROS node oint, that generates interpolation of a reference frame in Cartesian space. |
29 | 5 | Dawid Seredyński | |
30 | 6 | Dawid Seredyński | * In this task the frame is not related to the robot nor to its end effector. |
31 | 7 | Dawid Seredyński | * Use *pose* marker in RVIZ and set its shape as axes. |
32 | 7 | Dawid Seredyński | * The message sent to RVIZ is of type PoseStamped from geometry_msgs package. |
33 | 7 | Dawid Seredyński | * At first, interpolate position only and keep orientation constant. |
34 | 7 | Dawid Seredyński | * Next, interpolate orientation. |
35 | 7 | Dawid Seredyński | * The command for node oint is sent through ROS service of type oint_control_srv from terminal or from a dedicated node ocmd. |
36 | 7 | Dawid Seredyński | * Visualize behavior of the system in RVIZ. Draw the trajectory of the frame. |
37 | 8 | Dawid Seredyński | !lab4-scheme-b.png! |
38 | 5 | Dawid Seredyński | |
39 | 7 | 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. |
40 | 2 | Dawid Seredyński | |
41 | 7 | Dawid Seredyński | * On all graphs of structure of the system topics and services should be shown differently. |
42 | 9 | Tomek Winiarski | * The plots of variables from topics should contain outputs of interpolators. The outputs should be continuous. |
43 | 7 | Dawid Seredyński | * Use separate roslaunch files for: |
44 | 2 | Dawid Seredyński | |
45 | 7 | Dawid Seredyński | * roscore and RVIZ (it should be running until URDF file is modified). |
46 | 7 | Dawid Seredyński | * The rest of the system. |
47 | 2 | Dawid Seredyński | * Test the system and show it to the tutor. |