Projekt

Ogólne

Profil

Lab2 » Historia » Wersja 13

Wersja 12 (Dawid Seredyński, 2018-06-13 21:53) → Wersja 13/17 (Tomek Winiarski, 2018-06-13 22:39)

h1. Lab 2: Modelling Modeling and visualization of manipulator

h2. Scope

This laboratory consist of three parts:

* A short introduction.
* Reading and following URDF tutorials: http://wiki.ros.org/urdf/Tutorials
* Writing your own ROS package.

h2. Detailed description for URDF tutorials:

* Building a Visual Robot Model with URDF from Scratch

* For your convenience add your URDF files in *urdf* directory of package *beginners_tutorials*, the one created during the first laboratory.
* In next sections create new URDF files according to roslaunch files.
* The final version of r2d2 has different gripper.
* Building a Movable Robot Model with URDF

* Continue creating new URDF files.
* Adding Physical and Collision Properties to a URDF Model

* You can omit this section, as we do not use model of dynamics and friction.
* Using Xacro to Clean Up a URDF File

* The practical example in this section is not working properly.
* Understanding the PR2 Robot Description

* You can omit this section.
* Create your own urdf file

* Create new URDF files.
* ROS Kinetic is newer than ROS Hydro
* Parse a urdf file

* Copy URDF file from beginners_tutorials package
* Using the robot state publisher on your own robot

* This section is unclear and can be omited.
* Start using the KDL parser

* You can omit this section.
* Using urdf with robot_state_publisher

* This section shows a method to move the model of robot written in URDF file.

h2. The task:

* Create a new package in your repository created in the previous laboratory.
* Create a program (can be a ROS node) that calculates rotation parameters (RPY or quaternion), compatible with URDF format, from DH parameters.

* You may find KDL documentation useful: http://wiki.ros.org/kdl
* Create URDF file for a robot with given parameters expressed in Denavit-Hartenberg notation

* You can create base for the robot with arbitrarily chosen height.
* Add a tool with no internal degrees of freedom
* Parameters (e.g. length of a link) should be read from ROS parameter server
* At first, treat all joints as fixed.
* Create a roslaunch file and visualize the robot in RVIZ using robot_state_publisher.
!lab2-scheme-a.png(graph a: ROS nodes for ANRO laboratory 2)!
* Create second URDF file with moveable joints
* Create second roslaunch file that runs joint_state_publisher to move joints.

* Both roslaunch files should be executed in separate terminals. The first one runs RVIZ as long as the URDF file is unchanged. The second runs the rest of the system.
!lab2-scheme-b.png(graph b: ROS nodes for ANRO laboratory 2)!
* Commit and push your work to GitHub.
* Add wiki page to your repository (the documentation). The page should contain description of source files, instruction for launching and description of tests.

* Additionally, upload graph and description of structure of the system with communication mechanisms. Add a graph with structure of the manipulator.
* Describe the tests. Use tools such as rqt_plot to plot changes of some variables in ROS topics (e.g. joint state, tf).
* Test the system and show it to the tutor.