You are on page 1of 2

Task 2: Planar manipulator

A planar manipulator consisting of four links connected by three joints is given, see linked gure. World coordinate system is marked by axes x, y . Coordinate system of a gripper is labeled as x , y . Angle of relative position of both coordinate systems is labeled . All angles are measured in positive direction (counterclockwise). Links are drawn and labeled by blue color (that is blue dimensions does not change) and are labeled i a li , where there is rst a rotation by the angle i and then a translation by li . Joint coordinates (labeled in red) are labeled for revolute joints i and for prismatic joint di . The type of the manipulator (e.g. PPR, that is prismatic, prismatic, revolute, counting from the base of the manipulator) and numerical values of the parameters i and li are listed in the linked table. The gure with the extension g can be downloaded directly to Matlab and additional items can be drawn in Matlab interactively, but this is not required.

Tasks:
1. There is a dierent robot for each student: a robot scheme in PDF, numerical values in Matlab le including testing data, robots numerical values in a text le, robots schema as a matlab gure. Study the given manipulator. 2. Choose coordinate systems connected with individual links. 3. Write down transformation matrices, which represent transformation between individual links. 4. Using above transformations, solve the direct kinematics of the robot. 5. Solve the inverse kinematics of the robot. 6. Briey describe both solutions by gures and in writing. 7. Implement both solutions in Matlab. 8. Test both solutions on the given data. 9. Check the syntax of both functions by the command mlint. Uploaded functions shall generate neither errors nor warnings. 10. Prepare both functions in Matlab, drawing of coordinate system (could be even hand-drawing and brief description especially of inverse kinematics. 11. Before uploading of the results it is necessary to compress all les into a ZIP archive. 12. Resulting archive shall be uploaded to the uploading system

Matlab functions and testing data format


Description of the robot is following: three letters denoting type of the joint e.g. PPR, counting from the robots base, four numbers specifying numerical values of i in degrees, again counting from the base, four numbers specifying numerical values of links lengths li . Angles and links lengths l are in scale on the gures, lenghts of prismatics joints and angles of revolute joints are shown just for illustration. Direct kinematics is a matlab function in the shape [X]=mydkt(robot,J), where robot is the variable describing the manipulator, J is a matrix, where each column of the length 3 represents joint coordinates counting from the base, each column thus represents one position of the manipulator, X is a matrix, where each column of the length 3 represents required position of the gripper, rst two coordinates are coordinates of the vector fromt the origin of the world coordinate system to the origin of the gripper coordinate system, third coordinate is the angle between the two coordinate systems. Inverse kinematics is a function [J1 ,J2 ,...]=myikt(robot,X) with the same meaning of parameters. If inverse kinematics has more solutions, return more matrices Ji . That means if there will be for the 30th given position more solutions, the rst solution will be in 30th column of J1 , the second solution will be in the 30th column of J2 etc. Neglect periodic solutions of the type i = 1+2k outside the interval < 0 , 360 >. All angles are given in degrees, the values returned shall be in degrees as well. If the position is not reachable, return vector of NaN. Testing data Xtestdata, Jtestdata are in the le, where the robot is specied.

Evaluation:
You can get 5 points at most for it.

You might also like