MÔ PHỎNG ROBOT VÀ ĐIỀU KHIỂN CHUYỂN ĐỘNG BẰNG MATLAB SIMSCAPE TOOLBOX...26 6.1 Mô phỏng robot trên matlab simulink – simscape toolbox...26 6.2 Mô phỏng động lực học robot trên Simscape..
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN
BỘ MÔN TỰ ĐỘNG HÓA CÔNG NGHIỆP
BÀI TẬP LỚN : TÍNH TOÁN THIẾT KẾ ROBOT MPL-80II
Giảng viên hướng dẫn : PGS.TS Nguyễn Phạm Thục Anh Nhóm sinh viên thực hiện MSSV Lớp
Vũ Trí Thành 20166751 CN ĐK&TĐH 02 Phạm Đức Long 20166386 CN ĐK&TĐH 01 Nguyễn Quang Linh 20166357 CN ĐK&TĐH 01
Lưu Long Nhật 20166544 CN ĐK&TĐH 01
Vũ Minh Chiến 20165811 CN ĐK&TĐH 01 Nguyễn Đình Dần 20160608 ĐK&TĐH 03 Phạm Quang Huy 20166197 CN ĐK&TĐH 02
Hồ Khánh Huy 20166185 CN ĐK&TĐH 02 Lương Xuân Phong 20166568 CN ĐK&TĐH 02 Đặng Tiến Đạt 20165947 CN ĐK&TĐH 02
Hà nội , tháng 6 năm 2020
Trang 2MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU ROBOT MPL80II 5
1.1 Lịch sử hình thành và phát triển robot 5
1.2 Robot MPL 80II 5
1.3 Ứng dụng công nghiệp 6
1.4 Thông số kỹ thuật 6
CHƯƠNG 2 XÂY DỰNG PHẦN MỀM TÍNH TOÁN ĐỘNG LỰC HỌC TRÊN MATLAB 8
2.1 Xác định số khớp và các hệ trục tọa độ 8
2.2 Xác định các thông số động lực học của robot MPL-80II thông qua bảng DH 9
2.3 Các ma trận A của robot MPL800II 10
2.4 Tính toán ma trận T0 11
2.5 Xây dựng phần mềm tính toán ( sử dụng GUI trong Matlab ) 11
CHƯƠNG 3 VIẾT CHƯƠNG TRÌNH MATLAB TÍNH TOÁN MA TRẬN JACOBY THÔNG QUA MA TRẬN JH 13
3.1 Ma trận Jacoby 13
3.2 Viết chương trình Matlab tính ma trận Jacoby thông qua ma trận JH 16
CHƯƠNG 4 ĐỘNG HỌC NGƯỢC ROBOT 18
4.1 Đặt vấn đề 18
4.2 Tính động học ngược cho Robot MPL-80II 18
CHƯƠNG 5 THIẾT KẾ QUỸ ĐẠO CHUYỂN ĐỘNG CHO ROBOT 22
5.1 Giới thiệu và cơ sở thiết kế quỹ đạo 22
5.2 Tính toán thiết kế quỹ đạo chuyển động 22
CHƯƠNG 6 MÔ PHỎNG ROBOT VÀ ĐIỀU KHIỂN CHUYỂN ĐỘNG BẰNG MATLAB SIMSCAPE TOOLBOX 26
6.1 Mô phỏng robot trên matlab simulink – simscape toolbox 26
6.2 Mô phỏng động lực học robot trên Simscape 27
6.3 Điều khiển chuyển động của robot bằng thuật toán PID 32
Trang 3Danh mục hình ảnh
Hình 1.1: Robot MPL 80II 5
Hình 1.2: Không gian làm việc của robot MPL 80II 6
Hình 1.3: Một số mặt cắt của robot MPL - 80II 7
Hình 1.4: Thông số kỹ thuật của robot MPL 80II 7
Y Hình 2 1:Gắn trục tọa độ cho robot 8
Hình 2 2 Giao diện 12
Hình 2 3 Chạy thử guide tính động học thuận 12
Hình 3 1 Giao diện 17
Hình 3 2 Chạy thử guide tính Jacoby 17
Y Hình 4 1 Phương pháp phân li biến 19
Hình 4 2 Biểu diễn q2 q3 trên trục tọa độ 20
Hình 5 1 Đồ thị vị trí 24
Hình 5 2 Đồ thị vận tốc 24
Hình 5 3 Đồ thị gia tốc 25
Y Hình 6 1 Sơ đồ mô phỏng 26
Hình 6 2 Mô hình 3D của đối tượng sau khi thiết kế 27
Hình 6 3 Sơ đồ phương trình động lực học 32
Hình 6 4 Mô phỏng trên simscape 33
Hình 6 5 Trạng thái robot sau mô phỏng 33
Hình 6 6 Đồ thị quỹ đạo vị trí, vận tốc của các khớp 34
Hình 6 7 Đồ thị quỹ đạo vị trí, vận tốc của khớp 1 34
Hình 6 8 Đồ thị quỹ đạo vị trí, vận tốc của khớp 2 35
Hình 6 9 Đồ thị quỹ đạo vị trí, vận tốc của khớp 3 35
Hình 6 10 Đồ thị quỹ đạo vị trí, vận tốc của khớp 4 36
Hình 6 11 Đồ thị quỹ đạo vị trí, vận tốc của khớp 5 36
Hình 6.12 Sơ đồ thuật toán PID 32
Hình 6.13 Sự ảnh hưởng của các tham số PID tới chất lượng điều khiển 32
Hình 6.14 Thiết kế mô hình thuật toán PID trên simscape 33
Hình 6.15 Hình 3D trạng thái robot sau khi mô phỏng 33
Hình 6.16 Quỹ đạo các khớp với các bộ PID tương ứng 34
Trang 4Hình 6.17 Quỹ đạo của khớp 1 với bộ PID đã chọn 34
Hình 6.18 Quỹ đạo của khớp 2 với bộ PID đã chọn 35
Hình 6.19 Quỹ đạo của khớp 3 với bộ PID đã chọn 35
Hình 6.20 Quỹ đạo của khớp 4 với bộ PID đã chọn 36
Hình 6.21 Quỹ đạo của khớp 5 với bộ PID đã chọn 36
Trang 5LỜI MỞ ĐẦU
Từ lâu , con người đã không còn xa lạ với Robot nữa Bởi lẽ , Robot xuất hiện nhiều trongcuộc sống của chúng ta và nếu chưa tận mắt chứng kiến những Robot này hoạt động thì cũng xemđược qua các phương tiện đại chúng thông tin
Có thể thấy Robot đã đi vào mọi lĩnh vực đời sống con người Vậy , Robot được ứng dụngnhư thế nào ? Có thể nói , Robot được ứng dụng rất phong phú trong đời sống con người , cả trongtrường học và trong nông nghiệp Đặc biệt trong công nghiệp , Robot được sử dụng rộng rãi để làmmột số công việc : vận chuyển nguyên vật liệu , sản phẩm , máy móc hay làm những công việc nặng ,hoặc trong những môi trường có nhiệt độ cao , độc hại ,…
Robot được dùng trong một số ngành công nghiệp kỹ thuật cao như công nghiệp xe hơi , côngnghiệp máy bay … để làm những công việc như hàn thân xe , phun sơn … Những Robot này là nhữngcánh tay mô phỏng con người , mỗi tay máy bao gồm nhiều khâu liên kết với nhau bằng các khớp Các khâu này có thể chuyển động tương đối với nhau và làm thay đổi tầm với của Robot Thôngthường những Robot này được đặt cố định một chỗ và chỉ thao tác được trong khả năng tầm với củachúng
Qua môn học Kỹ Thuật Robot do cô PGS.TS Nguyễn Phạm Thục Anh giảng dạy , chúng em
đã được nhận đề tài : “ Robot MPL80II ”
Xong với những hiểu biết còn hạn chế nên nhóm em không tránh khỏi những sai sót , chúng
em rất mong được sự chỉ bảo của cô và sự góp ý kiến của các bạn trong lớp để được hoàn thiện hơn
Chúng em xin chân thành cảm ơn
Trang 6CHƯƠNG 1 GIỚI THIỆU ROBOT MPL80II 1.1 Lịch sử hình thành và phát triển robot
Kể từ khi Robot đầu tiên được chế tạo với sản phẩm đầu tiên có tên gọi người máy công nghiệp làverstran của công ty Mỹ vào năm 1960 các sản phẩm liên quan đến tay máy công nghiệp bắt đầu đượcquan tâm nghiên và nhờ đó kỹ thuật Robot bắt đầu có những bước phát triển đầu tiên
Cùng theo bản quyền của Mỹ các nước trên thế giới đă chạy đua sản xuất robot côngnghiệp,các công ty về Robot được thành lập để nghiên cứu và phát triển ,ứng dụng Robot trong tự
Yaskawa Motoman là một công ty chuyên cung cấp các giải pháp tự động hóa sáng tạo chohầu như tất cả các ngành công nghiệp và ứng dụng robot như: hàn, lắp ráp, sơn, pha chế, cắt gọt vậtliệu, với hơn 175 mô hình robot khác biệt và hơn 40 giải pháp công nghệ để giải quyết các công việcmột cách hoàn chỉnh như các hệ thống vận hành , thiết bị an toàn
Yaskawa Motoman là công ty đi đầu trong lĩnh vực phát triển các Robot phục vụ cho các côngnghệ gia công và tự động, Robot Motoman chính là sản phẩm nghiên cứu sản xuất thành côngcủa hãng
1.2 Robot MPL 80II
Robot MPL80II là Robot tác động nhanh, linh hoạt, nhỏ gọn và đáng tin cậy.Đây là một loại Robot hoạt động với nhiều cài đặt Nó cũng cung cấp rất nhiều ứng dụng, vớihiệu suất sử dụng cao, đảm bảo những yêu cầu về chất lượng, thời gian hoàn vốn ngắn
MPL 800II là một robot tác động tốc độ cao với 5 trục, mang lại hiệu suất cao và độ tincậy cho việc xử lý thực phẩm, chọn, đóng gói và các ứng dụng xử lý vật liệu tốc độ cao khác
Trang 7 Các quá trình hàn và nhiệt luyện.
Công nghệ gia công lắp ráp
Phun sơn, vận chuyển hàng hóa
Trang 8Hình 1.: Không gian làm việc của robot MPL 80II
- Một số mặt cắt của robot :
Hình 1.: Một số mặt cắt của robot MPL - 80II
Trang 9Hình 1.: Thông số kỹ thuật của robot MPL 80II
CHƯƠNG 2 XÂY DỰNG PHẦN MỀM TÍNH TOÁN ĐỘNG LỰC
HỌC TRÊN MATLAB 2.1 Xác định số khớp và các hệ trục tọa độ
- Robot MPL80II là robot có 5 trục tự do
- Ta sẽ lần lượt xác định các trục tọa độ như sau :
Xác định trục Zi: vì tất cả các khớp đều là khớp quay nên Zi là trục mà khớp i+1 quay xung quanh nó
Xác định trục Xi , Yi : xác định như hình bên dưới
Hình 2.:Gắn trục tọa độ cho robot
Trang 102.2 Xác định các thông số động lực học của robot MPL-80II thông qua bảng DH
- Ta xác định các thông số của bảng D-H như sau :
di : khoảng cách Xi-1 với Xi theo trục Zi-1
i : góc quay của thanh nối Xi-1 quanh trục Zi-1 theo quy tắc bàn tay phải để song song với Xi
ai : khoảng cách Zi-1 tơi Zi theo trục Xi
αi : góc vặn của thanh nối Zi-1 tới Zi quanh trục Xi theo quy tắc bàn tay phải
α1 = -π2(rad) là góc quay quanh trục X1 để biến Z0 thành Z1
α2 = π(rad)là góc quay quanh trục X2 để biến Z1 thành Z2
α3 = 0là góc quay quanh trục X3 để biến Z2 thành Z3
α4 = π2 (rad) là góc quay quanh trục X4 để biến Z3 thành Z4
α5 = 0là góc quay quanh trục X5 để biến Z4 thành Z5
Trang 11C1 = cos(p1) , C2 = cos(p2), … , C5 = cos(p5)
S1 = sin(p1), S2 = sin(p2), … , S5 = sin(p5)
Các ma trận A được xác định bằng ma trận biến đổi tọa độ thuần nhất tổng quát :
Trang 12Sử dụng công cụ matlab để nhập và nhân các ma trận Sau khi dùng hàm simplify để rút gọn , ta
sẽ được thành phần của ma trận như sau :
nx = sin(q1)*sin(q5) + cos(q3 - q2 + q4)*cos(q1)*cos(q5)
ny = cos(q3 - q2 + q4)*cos(q5)*sin(q1) - cos(q1)*sin(q5)
nz = sin(q3 - q2 + q4)*cos(q5)
ox = cos(q5)*sin(q1) - cos(q3 - q2 + q4)*cos(q1)*sin(q5)
oy = - cos(q1)*cos(q5) - cos(q3 - q2 + q4)*sin(q1)*sin(q5)
oz = -sin(q3 - q2 + q4)*sin(q5)
ax = sin(q3 - q2 + q4)*cos(q1)
ay = sin(q3 - q2 + q4)*sin(q1)
Trang 13Giao diện phần mềm tính toán động học thuận vị trí
- Từ ma trận hàm truyền ta có thể thấy rằng các giá trị của các thành phần phụ thuộc vào các giá trị của các tham số đầu vào là :
Các góc : 1, 2, 3, 4, 5
- Sau khi thiết kế giao diện và viết code ta sẽ được như hình dưới :
Hình 2.: Giao diện guide tính động học thuận.
- Ta sẽ chạy thử một ví dụ và kết quả như sau :
Trang 14Hình 2.: Chạy thử guide tính động học thuận.
Chương trình code : tham khảo phụ lục 1 và 2
CHƯƠNG 3 VIẾT CHƯƠNG TRÌNH MATLAB TÍNH TOÁN MA
TRẬN JACOBY THÔNG QUA MA TRẬN JH 3.1 Ma trận Jacoby
- Ta xác định các ma trận iTntheo các hệ tọa độ lần lượt từ khâu cuối trở về gốc :
4T5 =[cos(q 5) −sin(q 5) 0 sin(q 5) cos(q 5) 0 00
Trang 15Với: Px=175∗sin(q 3+ q 4 )+1046∗cos(q 3)
Py=1046∗sin(q 3)−175∗cos(q 3+q 4 )
1T5 =[−sin(q 3−q 2+q 4)∗cos(q 5)cos(q 3−q 2+q 4 )∗cos(q 5) −cos(q 3−q 2+q 4)∗sin(q 5) sin(q 3−q 2+q 4) Px sin (q 3−q 2+q 4)∗sin (q 5) cos(q 3−q 2+q 4) Py
Với: Px= 1046*cos(q2 - q3) + 175*sin(q3 - q2 + q4) + 870*cos(q2)
Py= 1046*sin(q2 - q3) + 175*cos(q3 - q2 + q4) + 870*sin(q2)
0T5 = [n x o x a x p x
n y o y a y p y
n z o z a z p z
Các hệ số của 0T5 được xác định ở phần động lực thuận vị trí
- Tiếp theo ta sẽ tính toán ma trận HJ bằng việc tính các ma trận theo từng cột , tương ứng với từng khớp của robot
Trang 183.2 Viết chương trình Matlab tính ma trận Jacoby thông qua ma trận JH
a) Thiết kế giao diện trên GUIDE
Hình 3.: Giao diện gui tính Jacoby
- Nhập thử số ta sẽ được kết quả như sau :
Trang 19Hình 3.: Chạy thử guide tính Jacoby robot.
Chương trình code : tham khảo phụ lục 1 và 3
CHƯƠNG 4 ĐỘNG HỌC NGƯỢC ROBOT 4.1 Đặt vấn đề
Trong bài toán động học ngược ta cần xác định giá trị các biến khớp của Robot khi đã biết vị trí
và hướng của điểm tác động cuối Vị trí và hướng của khâu tác động cuối được xác định từ quỹ đạochuyển đông cho trước của robot, dưới dạng ma trận:
Các phương trình có dạng phi tuyến và siêu việt thường không cho lời giải đúng
Có thể có nhiều lời giải
Có thể có nhiều nghiệm tìm được bằng toán học lại không chấp nhận được
về mặt vật lý, do các ràng buộc về kết cấu robot
Tính đa nghiệm của bài toán động học vào số bậc tự do của Robot, và vị trí mà
cơ cấu tác động cuối cần thực hiện Khi số bậc tự do của Robot càng lớn thì số lời
giải chấp nhận được càng nhiều Do đó việc tìm kiếm một nghiệm phù hợp đòi hỏi
có một trực giác về toán học và về kết cấu để dự đoán được những điểm hoặc khu
vực khả dĩ mà lựa chọn nghiệm cho thích hợp
4.2 Tính động học ngược cho Robot MPL-80II
Vì robot MPL 80II có tới 5 bậc tự do nên ta phải dùng phương pháp phân ly biến để giải bài toán động học ngược:
0T5 = [n x o x a x p x
n y o y a y p y
n z o z a z p z
0 0 0 1 ] = A1 A2 A3 A4 A5
Trang 20Hình 4.: Phương pháp phân li biến
Đầu tiên ta có:
0T5 (robot) = 0T5 (bài toán đặt ra)
Ta thấy từ đây không thể tìm ra được bất cứ góc nào bằng cách cân bằng phần tử hai ma trận, vì vậy ta nhân A1-1 cho cả hai vế trên được:
VT=1T5 = [ C 234∗C 5 −C 234∗S 5 S 234 1046∗C 23+175∗S 234+870∗C 2
−S 234∗C 5 S 234∗S 5 C 234 175∗C 234 +1046∗S 23+870∗S 2
VP = [C 1∗nx+S 1∗ny C 1∗ox +S 1∗oy C 1∗ax +S 1∗ay C 1∗px +S 1∗py−145−nz −oz −az −p z
C 1∗ny −S 1∗nx C 1∗oy−S 1∗ox C 1∗ay−S 1∗ax C 1∗py−S 1∗px
Cân bằng các phần tử của ma trận VT và VP ta được:
VT(3,3) = VP(3,3) C 1∗ay−S 1∗ax = 0