1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tính toán thiết kế robot

44 332 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 1,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI NÓI ĐẦU Trong sự nghiệp công nghiệp hóa, hiện đại hóa đất nước vấn đề tự động hóa có vai trò đặc biệt quan trọng. Nhằm nâng cao năng suất dây chuyền công nghệ, nâng cao chất lượng và khả năng cạnh tranh của sản phẩm, cải thiện điều kiện lao động, nâng cao năng suất lao động đặt ra là hệ thống sản xuất phải có tính linh hoạt cao. Robot công nghiệp, đặc biệt là những tay máy robot là bô phận quan trọng để tạo ra những hệ thống đó. Tay máy Robot đã có mặt trong quá trình sản xuất từ nhiều năm trước, ngày nay tay máy Robot đã dùng ở nhiều lĩnh vực sản xuất, xuất phát từ những ưu điểm mà tay máy Robot đó và đúc kết lại trong quá trình sản xuất làm việc, tay máy có những tính năng mà con người không thể có được, khả năng làm việc ổn định, có thể làm việc trong môi trường độc hại…Do đó việc đầu tư nghiên cứu, chế tạo ra những loại tay máy Robot phục vụ cho công cuộc tự động hóa sản xuất là rất cần thiết cho hiện tại và tương lai. Đồ án thiết kế cơ khí tử giúp chúng em bước đầu làm quen với những vấn đề cốt lõi và cơ bản nhất về robot, giúp cho sinh viên có thể hệ thống hóa lại các kiến thức của môn học như: Lí thuyết điều khiển tử động, Robotics, Robot công nghiệp, Tính toán thiết kế Robot, Động lực học hệ nhiều vật, …Đồng thời giúp cho sinh viên làm quen với công việc thiết kế và làm đồ án tốt nghiệp sau này. Cuối cùng em xin chân thành cảm ơn thầy Trần Ích Thịnh đã hướng dẫn cho em trong suốt quá trình thực hiện đề tài này.

Trang 1

M c c

LỜI NÓI ĐẦU 2

CHƯƠNG 1:GIỚI THIỆU VỀ ROBOT CÔNG NGHIỆP 3

CHƯƠNG 2:GIỚI THIỆU CHUNG VỀ PHẦN MỀM MATLAB 5

2.1 Giới thiệu về MATLAB 5

2.2 Giới thiệu về một số toolbox MATLAB được sử dụng trong đồ án 6

CHƯƠNG 3:THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ROBOT CÔNG NGHIỆP 8

3.1 Thiết lập bảng thông số DH (Denavit-Hartenberg) 8

3.2 Tìm các ma trận biến đổi tọa độ thuần nhất i 1 i T, i = 1, 2, 3 9

3.3 Sử dụng MATLAB để xác định lời giải 0 3 T cho bài toán động học thuận dưới dạng các ký hiệu (là hàm của i) 10

3.4 Kiểm nghiệm lại toàn bộ kết quả bằng cách sử dụng Corke Robotics Toolbox 13

3.5 Tìm lời giải bài toán động học ngược cho robot 16

3.6 Chương trình MATLAB để giải bài toán động học ngược cho robot phẳng 19 3.7 Kiểm tra lại toàn bộ các kết quả bằng cách sử dụng Corke Matlab Robotics Toolbox Sử dụng hàm ikine() 21

3.8 Chương trình MATLAB để tính ma trận Jacobian và mô phỏng thuật toán điều khiển điều tốc (resolved-rate control) đối với robot phẳng 3R 23

3.9 Giải bài toán động lực học ngược 32

3.10 Giải bài toán động lực học thuận 38

KẾT LUẬN 43

TÀI LIỆU THAM KHẢO 44

Trang 2

LỜI NÓI ĐẦU Trong sự nghiệp công nghiệp hóa, hiện đại hóa đất nước vấn đề tự động hóa có vai trò đặc biệt quan trọng

Nhằm nâng cao năng suất dây chuyền công nghệ, nâng cao chất ượng và khả năng cạnh tranh của sản phẩm, cải thiện điều kiện ao động, nâng cao năng suất ao động đặt

ra là hệ thống sản xuất phải có tính linh hoạt cao Robot công nghiệp, đặc biệt là những tay máy robot là bô phận quan trọng để tạo ra những hệ thống đó

Tay máy Robot đã có mặt trong quá trình sản xuất từ nhiều năm trước, ngày nay tay máy Robot đã dùng ở nhiều ĩnh vực sản xuất, xuất phát từ những ưu điểm mà tay máy Robot đó và đúc kết lại trong quá trình sản xuất làm việc, tay máy có những tính năng

mà con người không thể có được, khả năng àm việc ổn định, có thể làm việc trong môi trường độc hại…Do đó việc đầu tư nghiên cứu, chế tạo ra những loại tay máy Robot ph c v cho công cuộc tự động hóa sản xuất là rất cần thiết cho hiện tại và tương ai

Đồ án thiết kế cơ khí tử giúp chúng em bước đầu làm quen với những vấn đề cốt

õi và cơ bản nhất về robot, giúp cho sinh viên có thể hệ thống hóa lại các kiến thức của môn học như: Lí thuyết điều khiển tử động, Robotics, Robot công nghiệp, Tính toán thiết kế Robot, Động lực học hệ nhiều vật, …Đồng thời giúp cho sinh viên làm quen với công việc thiết kế và àm đồ án tốt nghiệp sau này

Cuối cùng em xin chân thành cảm ơn thầy Trần Ích Thịnh đã hướng dẫn cho

em trong suốt quá trình thực hiện đề tài này

Hà Nội, ngày 02, tháng 6, năm 2017

Sinh viên thực hiện Tiến

Nguyễn Đức Tiến

Trang 3

CHƯƠNG 1 GIỚI THIỆU VỀ ROBOT CÔNG NGHIỆP

1.1 Sự ra đời của Robot công nghiệp

1: Hình ảnh Robot công nghiệp

Thuật ngữ “Robot” xuất phát từ tiếng CH Séc (Czech) “Robota” có nghĩa à công việc tạp dịch trong vở kịch Rossum‟s Universa Robots của Kare Capek, vào năm

1921 Trong vở kịch này, Rossum và con trai của ông ta đã chế tạo ra những chiếc máy gần giống với con người để ph c v con người Có ẽ đó à một gợi ý ban đầu cho các nhà sáng chế kỹ thuật về những cơ cấu, máy móc bắt chước các hoạt động cơ bắp của con người

Về mặt kỹ thuật, những robot công nghiệp ngày nay, có nguồn gốc từ hai ĩnh vực kỹ thuật ra đời sớm hơn đó à các cơ cấu điều khiển từ xa (Te eoperators) và các máy công c điều khiển số (NC - Numerica y Contro ed machine too )

Có thể nói, Robot à sự tổ hợp khả năng hoạt động inh hoạt của các cơ cấu điều khiển từ xa với mức độ “tri thức” ngày càng phong phú của hệ thống điều khiển theo chương trình số cũng như kỹ thuật chế tạo các bộ cảm biến, công nghệ ập trình và các phát triển của trí khôn nhân tạo, hệ chuyên gia…

Trang 4

Trong những năm sau này, việc nâng cao tính năng hoạt động của robot không ngừng phát triển Các robot được trang bị thêm các oại cảm biến khác nhau để nhận biết môi trường chung quanh, cùng với những thành tựu to ớn trong ĩnh vực Tin học

- Điện tử đã tạo ra các thế hệ robot với nhiều tính năng đăc biệt, Số ượng robot ngày càng gia tăng, giá thành ngày càng giảm Nhờ vậy, robot công nghiệp đã có vị trí quan trọng trong các dây chuyền sản xuất hiện đại

Ngày nay chuyên ngành khoa học về robot “robotics” đã trở thành một ĩnh vực rộng trong khoa học, bao gồm các vấn đề về cấu trúc cơ cấu động học, động ực học,

ập trình quỹ đạo, cảm biến tín hiệu, điều khiển chuyển động

1.2 Ứng dụng Robot công nghiệp trong sản xuất

Từ khi mới ra đời robot công nghiệp được áp d ng trong nhiều ĩnh vực dưới góc độ thay thế sức người Nhờ vậy các dây chuyền sản xuất được tổ chức ại, năng suất và hiệu quả sản xuất tăng ên rõ rệt

M c tiêu ứng d ng robot công nghiệp nhằm góp phần nâng cao năng suất dây chuyền công nghệ, giảm giá thành, nâng cao chất ượng và khả năng cạnh tranh của sản phẩm đồng thời cải thiện điều kiện ao động Đạt được các m c tiêu trên à nhờ vào những khả năng to ớn của robot như : àm việc không biết mệt mỏi, rất dễ dàng chuyển nghề một cách thành thạo, chịu được phóng xạ và các môi trường àm việc độc hại, nhiệt độ cao, “cảm thấy” được cả từ trường và “nghe” được cả siêu âm

Ngày nay đã xuất hiện nhiều dây chuyền sản xuất tự động gồm các máy CNC với Robot công nghiệp, các dây chuyền đó đạt mức tự động hoá cao, mức độ inh hoạt cao Ở đây các máy và robot được điều khiển bằng cùng một hệ thống chương trình

Trang 5

CHƯƠNG 2 GIỚI THIỆU CHUNG VỀ PHẦN MỀM MATLAB

2.1 Giới thiệu về MATLAB

MATLAB là một bộ phần mềm dùng để tính toán các bài toán kỹ thuật, được viết bằng ngôn ngữ C do hãng Math Works Inc sản xuất Nó được tạo trên cơ sở những phần mềm do các nhà lập trình của các dự án LINPACK và EISPACK viết ra bằng ngôn ngữ Fortran dùng cho việc thực hiện các phép tính và thao tác trên ma trận Tên của phần mềm MATLAB là chữ viết tắt của „Matrix Laboratory‟ có nghĩa à

„phương pháp ma trận‟ Đến khi thực hành sử d ng phần mềm ta sẽ thấy mỗi phần tử

cơ bản của MATLAB là một ma trận Phần mềm MATLAB liên t c được bổ sung và hoàn thiện

Các ứng d ng điển hình của MATLAB:

- Toán học và tính toán

- Phát triển thuật toán

- Tạo mô hình, mô phỏng và giao thức

- Khảo sát, phân tích số liệu

- Đồ họa khoa học kỹ thuật

- Phát triển ứng d ng, gồm cả giao diện người dùng đồ họa GUI

- Thiết kế các hệ thống điều khiển trong thời gian thực

Về mặt cấu trúc, MATLAB gồm một cửa sổ chính và rất nhiều hàm viết sẵn khác nhau Các hàm trên cùng ĩnh vực ứng d ng được xếp chung vào một thư viện, điều này giúp ta sử d ng dễ dàng tìm được hàm cần quan tâm Matlab cung cấp cho ta các phương pháp theo hướng chuyên d ng hóa được gọi là các Toolbox (hộp công c ) Các Too box cho phép người sử d ng học và áp d ng các kỹ thuật chuyên d ng cho

Trang 6

file) cho phép mở rộng môi trường MATLAB để giải các lớp bài toán c thể Các ĩnh vực trong đó có sẵn các Toolbox bao gồm: xử lý tín hiệu, hệ thống điều khiển, mạng noron, mô phỏng…

Hệ thống Matlab gồm có 5 phần chính:

- Ngôn ngữ Matlab: là một ngôn ngữ ma trận, mảng cấp cao với các câu lệnh, hàm, cấu trúc dữ liệu vào/ra, các tính năng ập trình đối tượng Nó cho phép lập trình các ứng d ng từ nhỏ đến các ứng d ng lớn, từ ứng d ng đơn giản đến phức tạp

- Môi trường làm việc của Mat ab: đây à một bộ các công c và phương tiện mà bạn sử d ng với tư cách người dùng hoặc người lập trình Matlab Nó bao gồm các phương tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng như xuất nhập dữ liệu Nó cũng bao gồm các công c để phát triển quản lý, gỡ rối và định hình M – file

- Xử ý đồ họa: đây à một hệ thống đồ họa của Matlab Nó bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh động,… Nó cũng cung cấp các lệnh cấp thấp cho phép bạn tùy biến giao diện đồ họa cũng như đi xây dựng một giao diện đồ họa hoàn chỉnh cho ứng d ng Matlab của mình

- Thư viện toán học Mat ab: đây à một thuật toán khổng lồ các thuật toán tính toán

từ các hàm cơ bản cộng, trừ, nhân, chia, sin, cos, số học phức…tới các hàm phức tạp hơn như: nghịch đảo, ma trận, tìm giá trị riêng của ma trận, phép biến đổi fourier nhanh

- Giao diện chương trình ứng d ng Matlab API ( Application Program Interface): đây à một thư viện cho phép ta viết các chương trình C và Fortran tương thích với Matlab

2.2 Giới thiệu về một số toolbox MATLAB đƣợc sử dụng trong đồ án

2.2.1 Corke Matlab Robotics Toolbox

Corke Matlab Robotics Toolbox là toolbox miễn phí được viết bởi Peter Corke bao gồm các hàm giúp tính toán và vẽ mô hình robot 3D một cách nhanh chóng Toolbox

Trang 7

này là công c rất hữu ích cho việc tính toán với robot như: động học, động lực học, thiết kế quỹ đạo… đặc biệt à tính năng mô phỏng cũng như phân tích kết quả từ các thí nghiệm ảo trên robot

Công c này dựa trên nguyên tắc rất cơ bản của robot như động học (kinematics) và động lực học (dynamics) Các thông số này được đóng gói thành các hàm m-file trong MATLAB Khi thiết kế robot, người dùng có thể thiết kế chúng trên các giao diện chuyên về robot khác như Easy Rob, So idworks, RobotStudio… sau đó nhúng chúng vào môi trường MATLAB để mô phỏng và điều khiển chuyển động theo ý muốn

2.2.2 Symbolic Math Toolbox

Symbo ic Math Too box à too box để kết hợp tính toán bằng chữ vào môi trường MATLAB, bổ sung các tiện ích số và đồ thị với các kiểu tính toán toán học khác nhau Symbo ic Math Too box định nghĩa một kiểu dữ liệu mới của MATLAB gọi à đối tượng Symbolic Một đối tượng Symbolic là một cấu trúc dữ liệu ưu trữ một đại diện kiểu sâu ký tự của một biểu tượng (Symbol) Symbolic Math Toolbox sử d ng các đối tượng Symbolic để biểu diễn các biến, biểu thức và ma trận symbolic

Trong Symbolic Math Toolbox cung cấp một thư viện các hàm để vẽ đồ thị, giải phương trình đại số, tích phân, vi phân, đơn giản hóa, điều khiển các biểu thức symbolic

Động lực tính toán nằm trong toolbox là nhân Maple, một hệ thống tính toán được phát triển đầu tiên ở trường đại học Water oo, Canada và sau đó tại Eidgenroessiche Technische Hochschule Zurich, Th y Sĩ Map e được thương mại hóa và hỗ trợ của công ty Waterloo Maple

Trang 8

CHƯƠNG 3 THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CHO ROBOT CÔNG NGHIỆP

3.1 Thiết lập bảng thông số DH (Denavit-Hartenberg)

Trang 9

Trong đó:

- ai là khoảng dịch chuyển giữa 2 tr c khớp kề nhau

- i là góc quay quanh tr c zi-1 để tr c xi-1 chuyển đến tr c xi theo quy tắc bàn tay phải

- di là dịch chuyển tịnh tiến giữa hai đường vuông góc chung của 2 tr c

- αi là góc lệch giữa tr c của 2 khớp động liền kề, là góc quay quanh tr c xi sao cho

tr c zi-1 chuyển đến tr c zi theo quy tắc bàn tay phải

3.2 Tìm các ma trận biến đổi tọa độ thuần nhất i 1

cos( ) sin( ) 0 cos

sin( ) cos( ) 0 sin

cos( ) sin( ) 0 cos

sin( ) cos( ) 0 sin

L L T

cos( ) sin( ) 0 cossin( ) cos( ) 0 sin

L L T

cos( ) sin( ) 0 cos

sin( ) cos( ) 0 sin

L L T

Trang 10

Kết quả thu được là:

Trang 12

4: Sơ đồ khâu ứng với trường hợp a

5: Sơ đồ khâu ứng với trường hợp b

6: Sơ đồ khâu ứng với trường hợp c

Trang 13

3.4 Kiểm nghiệm lại toàn bộ kết quả bằng cách sử dụng Corke Robotics Toolbox

Chương trình kiểm tra trên MATLAB:

Ứng với mỗi trường hợp ta thu được kết quả là:

a) { ,  1 2, } = {0 ,0 ,0 }3 T 0 0 0 T

Sơ đồ các khâu:

Trang 14

7: Sơ đồ khâu (a) vẽ bằng Corke Toolbox

1 2 3

{ ,  , } = {10 ,20 ,30 }T T

Sơ đồ các khâu:

Trang 15

8: Sơ đồ khâu (b) vẽ bằng Corke Toolbox

1 2 3

{ ,  , } = {90 ,90 ,90 }T T

Trang 16

Sơ đồ các khâu:

9: Sơ đồ khâu (c) vẽ bằng Corke Toolbox

3.5 Tìm lời giải bài toán động học ngƣợc cho robot

Bài toán động học ngược là cho biết vị trí khâu cuối H, tìm các góc θi

Trang 17

Suy ra, ta biết: xE, yE,  Tìm { ,  1 2, }3 T

) sin(

sin

) cos(

cos

sin ) sin(

cos ) cos(

1 1 2 1

2

1 1 2 1

2

3 2 1

3 2 1

L

x L

cos

2L L

L L y

 

2 1

2 2 2 1 2 2 2

2

cos

L L

L L y

2 2 2 1 2 2

L L y x

(5)

2 1

2 2 2 1 2 2 2

21

L L

x L

L L

1 2

2 1 1 2 2

1 2 2 1 1

2 2

cossin

)sin(

cos

sinsin)

1 k k

r  và  = atan2(k2, k1)

Trang 18

x r

r

1 1

1 1

cossin)sin(

cos

sinsin)cos(

)sin(

Trang 19

3.6 Chương trình MATLAB để giải bài toán động học ngược cho robot phẳng

clc

matranT03 = input( 'Nhap ma tran T03 :' );

chieudai1 = input( 'Nhap L1:' );

chieudai2 = input( 'Nhap L2:' );

chieudai3 = input( 'Nhap L3:' );

Trang 20

Kiểm nghiệm với các đầu vào:

Trang 21

3.7 Kiểm tra lại toàn bộ các kết quả bằng cách sử dụng Corke Matlab Robotics

Toolbox Sử dụng hàm ikine()

Chương trình viết trên MATLAB:

Trang 22

Kết quả thu được là:

Trang 23

3.8 Chương trình MATLAB để tính ma trận Jacobian và mô phỏng thuật toán điều khiển điều tốc (resolved-rate control) đối với robot phẳng 3R

Cho trước các góc khớp ban đầu  = {1 2 3}T = {100 200 300}T, và vận tốc khâu

z

y x

có thể quan sát chuyển động mô phỏng để xác nhận rằng nó là chính xác

Các tọa độ của bộ phận tác động cuối 0T3:

3 2 1 3 2 1 2 1 1

3 2 1 3 2 1 2 1 1

)sin(

sin)

sin(

)cos(

cos)

L

L L

L y

1

123 3 123 3 12 2 123 3 12 2 1 1

123 3 123 3 12 2 123 3 12 2 1 1

3 2 1

3 2 1

3 2 1

c L c

L c L c

L c L c L

s L s

L s L s

L s L s L y

y y

x x x

Trang 24

123 3 123 3 12 2 123 3 12 2 1 1

123 3 123 3 12 2 123 3 12 2 1 1

3

2

1

11

L c L c

L c L c L

s L s

L s L s

L s L s L J

123 3 123 3 12 2 123 3 12 2 1 1

123 3 123 3 12 2 123 3 12 2 1 1

11

L c L c

L c L c L

s L s

L s L s

L s L s L T

J m

Giả thiết rằng trong mỗi bước thời gian t: new old t

Chương trình viết trên MATLAB:

clc

startup_rvc

syms x1 x2x3 % x1 x2 x3 là các bien khop

assume(x1,'real'); %x1 x2 x3 là cac so thuc

assume(x2,'real');

assume(x3,'real');

T1 = [cos(x1) -sin(x1) 0 4*cos(x1);sin(x1) cos(x1) 0 4*sin(x1);0 0 1 0;0 0 0 1]; T2 = [cos(x2) -sin(x2) 0 3*cos(x2);sin(x2) cos(x2) 0 3*sin(x2);0 0 1 0;0 0 0 1]; T3 = [cos(x3) -sin(x3) 0 2*cos(x3);sin(x3) cos(x3) 0 2*sin(x3);0 0 1 0;0 0 0 1]; T03 = simplify(T1*T2*T3);

Trang 25

detaJ = zeros(51,1); detaJ(1)=subs(deta,[x1 x2 x3],[10*pi/180 20*pi/180 30*pi/180]); subs(t,[x1 x2 x3],[10*pi/180 20*pi/180 30*pi/180]);

Trang 26

ylabel('Joint Angle(rad)')

Trang 27

10: Đồ thị giữa vận tốc khớp với thời gian

- Các góc khớp  = {123}T với thời gian:

Trang 28

11:Đồ thị giữa góc khớp với thời gian

- Các tọa độ của 0T , X = {x y 3 }T (m m rad) với thời gian:

Trang 29

12: Đồ thị giữa tọa độ khâu cuối và thời gian

- Định thức của ma trận Jacobian |J| với thời gian:

Trang 30

13: Đồ thị giữa định thức ma trận Jacobian với thời gian

- Các mô men xoắn khớp T = {1 2 3}T với thời gian:

Trang 31

14: Đồ thị giữa các mô men xoắn khớp với thời gian

3.8.2 Kiểm tra các kết quả về ma trận Jacobian đối với các tập hợp góc khớp ban đầu và kết thúc bằng cách sử dụng Corke Matlab Robotics Toolbox Dùng hàm

disp( 'Ma tran Jacobi voi goc khop ban dau :' )

j0 = rob.jacob0([q1(1) q2(1) q3(1)], 'trans' ) + rob.jacob0([q1(1) q2(1) q3(1)], 'rot' )

disp( 'Ma tran Jacobi voi goc khop ket thuc :' )

j0 = rob.jacob0([q1(51) q2(51) q3(51)], 'trans' ) + rob.jacob0([q1(51) q2(51) q3(51)], 'rot' )

Ngày đăng: 20/01/2018, 09:50

TỪ KHÓA LIÊN QUAN

w