Projekt

Ogólne

Profil

Lab3 » Historia » Wersja 8

Tomek Winiarski, 2018-06-13 22:26

1 2 Dawid Seredyński
h1. Lab 3:  Forward kinematics
2 1 Dawid Seredyński
3 1 Dawid Seredyński
h2. Scope:
4 1 Dawid Seredyński
5 3 Dawid Seredyński
This laboratory consist of two parts:
6 1 Dawid Seredyński
7 3 Dawid Seredyński
* A short introduction.
8 3 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 8 Tomek Winiarski
* Develop the system from the previous laboratory by either copying the package or modifying it.
13 3 Dawid Seredyński
* Using C++ or Python create a ROS node NONKDL_DKIN that calculates forward kinematics of manipulator using analytical method (without KDL).
14 1 Dawid Seredyński
15 3 Dawid Seredyński
  * The node gets current position of joints from joint_state_publisher node.
16 3 Dawid Seredyński
  * The result (i.e. position of end effector of type geometry_msgs/PoseStamped) should be published on ROS topic and visualized in RVIZ.
17 3 Dawid Seredyński
  * Do not interpolate movement.
18 3 Dawid Seredyński
  * Please refer to RVIZ documentation http://wiki.ros.org/rviz/Tutorials
19 3 Dawid Seredyński
  * Read parameters (e.g. lengths of links) from ROS parameter server.
20 7 Dawid Seredyński
  !lab3-scheme-a.png(graph a: ROS nodes for ANRO laboratory 3)!
21 4 Dawid Seredyński
* Create a second node KDL_DKIN that uses KDL, with the same functionality as NONKDL_DKIN.
22 1 Dawid Seredyński
23 4 Dawid Seredyński
  * Connect it to existing nodes in place of NONKDL_DKIN.
24 7 Dawid Seredyński
  !lab3-scheme-b.png(graph b: ROS nodes for ANRO laboratory 3)!
25 5 Dawid Seredyński
* Test the results in RVIZ. Compare nodes NONKDL_DKIN and KDL_DKIN with data from robot_state_publisher.
26 5 Dawid Seredyński
27 5 Dawid Seredyński
  * Check if the calculated pose is the same as the pose calculated by robot_state_publisher. Compare the poses in RVIZ.
28 5 Dawid Seredyński
  * All three nodes that calculate forward kinematics should publish to different topics.
29 5 Dawid Seredyński
  * Reference frames of the end effector should coincide. Set different visualization parameters (e.g. width, length of arrows) to see them all.
30 5 Dawid Seredyński
  * The documentation of tests should be supplemented with plots of end effector position calculated using different methods and plots of configuration space position.
31 7 Dawid Seredyński
        !lab3-scheme-c.png(graph c: ROS nodes for ANRO laboratory 3)!
32 8 Tomek Winiarski
* Joint limits should be taken into account.
33 5 Dawid Seredyński
34 5 Dawid Seredyński
  * If joint position is outside limits, the pose of end effector should not be published and error should be published to ROS log.
35 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.
36 5 Dawid Seredyński
* Use separate roslaunch files for:
37 6 Dawid Seredyński
38 5 Dawid Seredyński
  * roscore and RVIZ (it should be running until URDF file is modified).
39 5 Dawid Seredyński
  * The rest of the system.
40 5 Dawid Seredyński
* Test the system and show it to the tutor.