Tải bản đầy đủ (.pdf) (22 trang)

Term project report robotics (me3015

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.15 MB, 22 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>HO CHI MINH CITY UNIVERSITY OF TECHNOLOGYFALCUTY OF MECHANICAL ENGINEERING</b>

<b>DIVISION OF MECHATRONICS</b>

<b>TERM PROJECT REPORTROBOTICS (ME3015)</b>

Instructor: Assoc. Prof. PhD. Nguyễn Quốc Chí

Student: Lê Xuân Phúc

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>d.Maximum travel speed... 6</b>

<b>e.The communication with other systems...6</b>

<b>2.The forward kinematics of the robot...7</b>

<b>a.Assign coordinates using D-H convention...7</b>

<b>b.The D-H Table... 7</b>

<b>3.Using the robotics Toolbox...10</b>

<b>a.Declare the robot...10</b>

<b>b.The transformation matrices...10</b>

<b>c.Compare with the result from Question 2...12</b>

<b>4.Verify the robot forward kinematic...16</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>Term project request</b>

Consider a KUKA industrial robot. Please use the last digit of your student ID to find the robot assigned to you. For example, you can come to the folder "Technical manuals of robots," the robot types are listed from 0 to 9, and pick the number same at the last digit of your student ID. Then, with the KUKA robot assigned, please do the following.

1) Based on the technical manuals, describe the main specifications of the robot, which include workspace, accuracy, payload, the maximum travel speed of the end effector, and the communication with other systems.

2) Derive the forward kinematics of the robot

a. Assign the coordinate by using the D-H convention. b. Describe the D-H table.

c. Derive the homogeneous transformation matrices of consecutive coordinates and the homogeneous transformation matrix from the final link coordinate o the world coordinate.

3) Using the Robotics Toolbox

a. Declare the robot (define robot by declaring some parameters)

b. "Prinf" the homogeneous transformation matrices of consecutive coordinates and the homogeneous transformation matrix from the final link coordinate o the world coordinate.

c. Compare the results with the one yielded by Question 2.

4) Verify the forward kinematics of robot position by using the Robotics Toolbox performed 2) and 3) with three cases. The position of the robot for each case should be plotted. 5) Pick up a point and a vector (for the direction of the end effector). Using this data and the

Robotics Toolbox, solve the inverse kinematics of the robot. Verify the correctness of the solution with the forward kinematics (using Robotics Toolbox again).

Hint: You can follow the technical report "Modeling and Control of a Bending Backwards Industrial Robot".

3

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>Term project</b>

Consider a KUKA industrial robot. From ID Student: 1852067, search the folder "Technical

<b>1. Main specifications of the robota. Workspace</b>

- The robot can be installed on either wall or ceiling. With the first link has a wide range of motion: ± 185°, can cover a circular pattern, while the second link, with the arc angle from –135° to +35° can cover a circular plane perpendicular to the first one. The third link is similar to the second, but can rotate from -120° to +158°.

- The other links (fourth, fifth, sixth) can be rotate an angle of ± 350°, ± 119°,± 350° respectively. With the given rotation angles and link lengths from the figure 1 below, we can visualize and approximate the working space as a spherical shape.

- If the tool is not included and not taking the radius of mounting flange into account,

robot’s base that is fixed into the floor.

intersection of axes 4 and 5.

Fig 1.1. The top view (bottom) of the working space of the robot.

4

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Fig 1.2. The side view (upper) of the working space of the robot.

<b>b. Accuracy</b>

- The repeatability (the accuracy or displacement of the end effector compare to the location of it in the last task, each time the robot redo it task) of this robot is ± 0.05 mm.

<b>c. Payload</b>

- For this robot type, the rated payload, the supplementary load with rated payload and the maximum total distributed load is 30kg, 35kg and 65kg, respectively. However, it should be noted that the load specification also depends on the location of the object’s center of mass that the robot works with to the location of the end effector assigned coordinate.

5

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Fig 1.3. Load center of gravity and loading curve for KR 30 HA

<b>d. Maximum travel speed</b>

compared to the 5 link.<small>th</small>

<b>e. The communication with other systems</b>

- To communicate, each robot is equipped with a controller, whose control and power electronics are integrated in a common cabinet.

- The controller is compact, user-friendly in term of communicating with human operators.

- The communication line between the robot and the controller are connecting cables that contain all the relevant energy supply and signal lines.

- The cable connections are plug-in types, same as the energy and fluid supply lines.

6

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>2. The forward kinematics of the robota. Assign coordinates using D-H convention</b>

- From page 21, we can assign the coordinates:

Fig 2.1. Assigned coordinates of the robot.

- The frame 0 (for first link) is set coincidence to the world coordinate (which is not presented in this figure, but they are coincidence in Matlab robotic toolbox figure).

<b>c. The homogenous transformation matrices</b>

From the formula (p.31[2]), we obtain the following transformation matrices:

7

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

- Using Matlab we obtain the homogeneous transformation matrixes of consecutive coordinate (<small>1</small>T ,<small>2</small>T, T ,<small>34</small>T ,<small>5</small>T, T<small>6</small> ) and the homogeneous transformation matrixes of world coordinate (T¿ ¿<small>6</small> as follow:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>3. Using the robotics Toolboxa. Declare the robot</b>

- Because the matrix with symbolic varibles will result in terribly long result, which makes it very difficult to check, so a specific set of joint angles is used.

can set the initial angles for the robot as follows:

θ<sub>1</sub>=θ<sub>2</sub>=90 ° ;θ<sub>3</sub>=θ θ<sub>4</sub>= <sub>5</sub>=θ<sub>6</sub>=0 °;

- Based on (p.8[1]) , (p.349[3]) and ([4]), the input angles in Matlab as shown below (the array in the r.plot() command ) is manually converted to radian, the code is written:

Fig 3.1. Assigned coordinates of the robot.

<b>b. The transformation matrices</b>

- Homogeneous transformation matrices of consecutive coordinates (

<small>1</small> , T<small>2</small> , T<small>3</small> , T<small>4</small> , T<small>5</small> ∧ T<small>6</small> )

- The code using Peter Corke’s Robotic toolbox:

%% bai 3a & bai 4

%create an object for robot in Matlab %Link([Theta d a alpha], CONVENTION)

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

L(3) = Link([0 0 0.145 pi/2], 'standard'); L(4) = Link([0 0.82 0 -pi/2], 'standard'); L(5) = Link([0 0 0 pi/2], 'standard');

KR30HA = SerialLink(L, 'name', 'KR30HA'); % Assign initial angles

- The consecutive transformation matrix for each pair of links can be obtain using syntax “SerialLink.A” (line 23), based on ([5]). By changing the first number in the bracket in (line 23), the other consecutive matrices are obtained:

11

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Fig 3.2. The resulting homogeneous transformation matrices

- Based on p.22[3], we can use the toolbox function “fkine” to obtain the homogeneous transformation matrice of consecutive coordinate as well as the one for the world coordinate:

Fig 3.3. The resulting homogeneous transformation matrix from the code

<b>c. Compare with the result from Question 2</b>

- The code will be:

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

T56 = DH(0, 0.17, 0, 0);

T06 = T01*T12*T23*T34*T45*T56;

function transform_matrix = DH(theta, d, a, alpha)

transform_matrix = [cosd(theta), -sind(theta)*cosd(alpha), sind(theta)*sind(alpha),

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Fig 3.3. The resulting homogeneous transformation matrices after manually calculated

we only need to re-check once.

-

Translation part:

From fig 5, to check the position we use the outmost right column, which shows us that the position of O<small>6</small> to O<small>0</small> (in fig 3) on x, y, z axis respectively is

horizontal dimensions in fig 1. Getting back in fig 1: + Vertical length: 0.815+0.85+0.145=1.81 (m)

+ Horizontal length: 0.35+0.82+0.17=1.34 (m) So the translational results are correct.

- Rotation part: In fig 3, to get to the final frame O<sub>6</sub>, we need rotate frame O<sub>0</sub> about Ox axis an angle of -90° then continue to rotate it about Oz axis an angle of -90°. Therefore, using commands rotx and rotz, we have:

14

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Fig 3.4. The rotational part of the homogenous transformation matrices

3x3 matrix) of matrix T in Fig3.3. is correct.

Fig 3.5. The compared results in ZOY plane using code

15

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>4. Verify the robot forward kinematic</b>

- Plot the position for the robot:

Fig 4.1. XZ plane view (top right) of the robot

Fig 4.2. YZ plane view (bottom right) of the robot 16

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Fig 4.3. Isometric view of the robot

- Input the code like the first case, we will still have the same answer:

Fig 4.4. Resulting homogeneous matrices for case 2 in 2 methods

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Fig 4.5. XZ plane (top view) of the robot

Fig 4.6. Isometric view (top left view) of the robot

18

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Fig 4.7. XY plane view (bottom left view) of the robot

- Input the code like the first case, we will still have the same answer:

Fig 4.8. Resulting homogeneous matrices for case 3 in 2 methods

<b>5. Solve the inverse kinematics of the robot</b>

- We pick a random point and vector (for the direction of the end effector):

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

P06 = transl([1.75 0.5 1]); %Declare the position matrix R06 = eul2tr(0,0,0,'deg'); %Declare the orientation matrix T2 = P06*R06; %Obtain the transformation matrix

theta_inverse = KR30HA.ikunc(T2); %Get the joint angles from inverse kinematics T3 = KR30HA.fkine(theta_inverse); %Verify the inverse kinematics solution KR30HA.plot(theta_inverse); %Plot the robot

theta_inverse = theta_inverse*180/pi; % Convert to degrees KR30HA.islimit(theta_inverse);

Fig 5.1. The joint angles of the inverse kinematics

- Plot the position for the robot:

Fig 5.2. Isometric view of the robot 20

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

Fig 5.3. XZ plane view (top right view) of the robot

Fig 4.7. XY plane view (bottom left view) of the robot 21

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>6. Reference</b>

- [1] KUKA. Spez KR 30 HA, KR 60 HA de/en/fr

- [3] Modeling and control industrial robot using robotics Toolbox

- [4] Robotic 08_ Robot Simulation using matlab (DH parameter using Peter corke toolbox)_part3, uploaded by Amr Zamel, “

×