Đề tài nghiên cứu khoa học Phân tích và mô phỏng động học rôbốt 6 bậc tự do cấp phôi cho các máy phay CNC

pdf 49 trang thiennha21 12/04/2022 5560
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài nghiên cứu khoa học Phân tích và mô phỏng động học rôbốt 6 bậc tự do cấp phôi cho các máy phay CNC", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfde_tai_nghien_cuu_khoa_hoc_phan_tich_va_mo_phong_dong_hoc_ro.pdf

Nội dung text: Đề tài nghiên cứu khoa học Phân tích và mô phỏng động học rôbốt 6 bậc tự do cấp phôi cho các máy phay CNC

  1. TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM VIỆN CƠ KHÍ THUYẾT MINH ĐỀ TÀI NCKH CẤP TRƯỜNG ĐỀ TÀI PHÂN TÍCH VÀ MÔ PHỎNG ĐỘNG HỌC RÔBỐT 6 BẬC TỰ DO CẤP PHÔI CHO CÁC MÁY PHAY CNC Chủ nhiệm đề tài: TS. HOÀNG MẠNH CƯỜNG Thành viên tham gia: KS. NGUYỄN ĐỨC SANG Hải Phòng, tháng 05/2016 i
  2. MỤC LỤC MỞ ĐẦU 1 CHƯƠNG 1. GIỚI THIỆU CHUNG VỀ ROBOT CÔNG NGHIỆP 3 1.1 Lịch sử hình thành và phát triển Robot công nghiệp 3 1.2. Cấu trúc chung của robot công nghiệp 5 1.3 Phân loại robot công nghiệp 6 1.4 Các chỉ tiêu đánh giá và các thông số kỹ thuật 7 1.5. Các bài toán thường gặp đối với robot công nghiệp 9 CHƯƠNG 2. PHÂN TÍCH ĐỘNG HỌC ROBOT UR 11 2.1. Phân tích động thuận rôbốt UR 11 2.2. Phân tích động học ngược robot UR 18 2.3. Một số kết quả mô phỏng 32 CHƯƠNG 3. MÔ PHỎNG HOẠT ĐỘNG CỦA ROBOT UR 38 3.1. Giới thiệu chung về kỹ thuật mô phỏng 38 3.2. Giới thiệu thư viện Simmechanics 39 3.3 Mô phỏng hoạt động của Robot cấp phôi 42 KẾT LUẬN 46 TÀI LIỆU THAM KHẢO 47 ii
  3. MỞ ĐẦU 1. Tính cấp thiết của vấn đề nghiên cứu Với sự phát triển mạnh mẽ của khoa học công nghệ, việc tự động hóa quá trình sản xuất ngày càng nâng cao, làm cho công nghệ sản xuất chuyển sang thời kỳ mới: thời kỳ công nghệ sản xuất tiên tiến mà trong đó robot công nghiệp đóng vai trò hết sức quan trọng, các robot tham gia vào hầu hết các nguyên công và dần thay thế con người trong những công việc nhàm chán, nặng nhọc, nguy hiểm, . Do vậy, việc nghiên cứu ứng dụng robot vào sản xuất tự động đang được nhiều người quan tâm nghiên cứu. 2. Tổng quan về tình hình nghiên cứu thuộc lĩnh vực đề tài Robot công nghiệp được sử dụng phổ biến trong các hệ thống sản xuất linh hoạt, đã có nhiều cấu hình robot được nghiên cứu ứng dụng trong sản xuất và được đề cập trong nhiều tài liệu [3, 4, 5, 6, 7]. Tuy nhiên, cấu hình robot UR, với đặc điểm nhỏ gọn và linh hoạt, nó vẫn đang được nhiều người quan tâm nghiên cứu ứng dụng trong nhiều các hệ thống sản xuất khác nhau. 3. Mục tiêu, đối tượng, phạm vi nghiên cứu - Mục tiêu của đề tài là nghiên cứu đưa ra được nghiệm giải tích của bài toán phân tích động học ngược đối với một cấu hình robot công nghiệp, dựa vào nghiệm này sẽ đi xây dưng chương trình mô phỏng chuyển động mô hình robot đó. - Đối tượng nghiên cứu của đề tài là robot UR, đây là một cấu hình robot đang được nhiều người quan tâm nghiên cứu trong nhiều ứng dụng. - Phạm vi nghiên cứu, với giới hạn của một đề tài nghiên cứu cấp trường công trình này cũng chỉ dừng lại ở bài toán phân tích động học và mô phỏng chuyển động đối robot UR. 4. Phương pháp nghiên cứu, kết cấu của công trình nghiên cứu Phương pháp nghiên cứu sử dụng trong công trình này là phương pháp tính toán mô phỏng mô hình trên máy tính. 1
  4. Kết cấu của thuyết minh đề tài, ngoài mở đầu, kết luận, nội dung chính của đề tài được chia làm 3 chương: chương 1, giới thiệu về những nét cơ bản về robot công nghiệp, chương 2, tập trung phân tích động học đối với cấu hình robot UR, chương 3, tập trung xây dựng chương trình mô phỏng chuyển động đối với robot UR. 5. Kết quả đạt được của đề tài Một số kết quả đạt được trong đề tài này đó là: - Phân tích động học thuận robot UR. Xác định vị trí, vận tốc, gia tốc các khâu và thiết lập phương trình động học của robot. - Phân tích động học ngược robot UR. Đã đưa ra được nghiệm giải tích của các biến khớp, việc tìm ra được nghiệm giải tích sẽ giúp cho việc giải quyết bài toán điều khiển sau này trở nên đơn giản hơn. - Xây dựng được chương trình tính toán động học ngược và mô phỏng chuyển động của robot UR. 2
  5. CHƯƠNG 1 GIỚI THIỆU CHUNG VỀ ROBOT CÔNG NGHIỆP 1.1 Lịch sử hình thành và phát triển Robot công nghiệp Nhu cầu nâng cao năng suất và chất lượng sản phẩm ngày càng đòi hỏi ứng dụng rộng rãi các phương tiện tự động hóa sản xuất. Xu hướng tạo ra những dây chuyền về thiết bị tự động có tính linh hoạt cao đang hình thành. Các thiết bị này đang thay thế dần các máy tự động “cứng” chỉ đáp ứng một việc nhất định trong khi thị trường luôn đòi hỏi thay đổi mặt hàng về chủng loại, về kích cỡ và về tính năng Vì thế ngày càng tăng nhanh nhu cầu ứng dụng robot để tạo ra các hệ thống sản xuất tự động linh hoạt. Thuật ngữ “robot” lần đầu tiên xuất hiện năm 1921 trong tác phẩm viễn tưởng “Rossum’s Universal Robot” của Karel Capek. Theo tiếng Séc thì robot là người làm tạp dịch. Trong tác phẩm này nhân vật Rossum và con trai của ông đã tạo ra những chiếc máy gần giống con người để hầu hạ con người. Hình 1.1. Ba chú robot trong vở kịch của Karel Capek, 1921 Hơn 20 năm sau, ước mơ viễn tưởng của Karel Capek đã bắt đầu hiện thực. Ngay sau chiến tranh thế giới lần thứ 2, ở Hoa Kỳ đã xuất hiện các loại tay máy chép hình điều khiển từ xa trong các phòng thí nghiệm về vật liệu phóng xạ. Vào những năm 50, bên cạnh các tay máy chép hình cơ khí , đã xuất hiện các loại tay máy chép hình thủy lực và điện từ, như tay máy Minotaur I hoặc tay máy 3
  6. Handyman của General Electric. Năm 1954 George C. Devol đã thiết kế một thiết bị có tên là “ Cơ cấu bản lề dùng để chuyển hàng theo chương trình”. Đến năm 1965 Devol cùng với Joseph F. Engelber, một kỹ sư trẻ của công nghiệp hàng không, đã tạo ra loại robot công nghiệp đầu tiên năm 1959 ở Công ty Unimation. Chỉ đến năm 1975 Công ty Unimation mới bắt đầu có lợi nhuận từ sản phẩm robot đầu tiên này. Chiếc robot công nghiệp được đưa vào ứng dụng đầu tiên, năm 1961, ở một nhà máy ô tô của General Motors tại Trenton, New Jersey Hoa Kỳ. Năm 1967 Nhật Bản mới nhập khẩu chiếc robot công nghiệp đầu tiên từ Công ty AMF của Hoa Kỳ ( American Machine and Foundry Company). Đến năm 1990 có hơn 40 công ty Nhật Bản, trong đó có những công ty khổng lồ như Công ty Hitachi và Công ty Mitsubishi, đã đưa ra thị trường quốc tế nhiều loại robot nổi tiếng. Từ những năm 70, việc nghiên cứu nâng cao tính năng của robot đã chú ý nhiều đến sự lắp đặt thêm các cảm biến ngoại tín hiệu để nhận biết môi trường làm việc. Tại trường Đại học Tổng hợp Standford người ta đã tạo ra loại robot lắp ráp tự động điều khiển bằng máy vi tính trên cơ sở xử lý thông tin từ các cảm biến lực và thị giác. Vào thời gian này, Công ty IBM đã chế tạo loại robot có các cảm biến xúc giác và cảm biến lực, điều khiển bằng máy tính để lắp ráp các máy in gồm 20 cụm chi tiết. Vào giai đoạn này ở nhiều nước khác cũng tiến hành các công trình nghiên cứu tương tự, tạo ra các loại robot tự hành theo hướng bắt chước chân người hoặc súc vật. Các robot này còn chưa có nhiều ứng dụng trong công nghiệp. Tuy nhiên các loại xe robot (robocar) lại nhanh chóng được đưa vào hoạt động trong các hệ thống sản xuất tự động linh hoạt. Từ những năm 80, nhất là vào những năm 90, do áp dụng rộng rãi các tiến bộ kỹ thuật về vi xử lý và công nghệ thông tin, số lượng robot công nghiệp đã gia tăng, giá thành đã giảm đi rõ rệt, tính năng đã có nhiều bước tiến vượt bậc. Nhờ vậy robot công nghiệp đã có vị trí quan trọng trong các dây chuyền tự động sản xuất hiện đại. 4
  7. Trước khi bước vào nghiên cứu các nội dung tiếp theo, chúng ta cũng cần thống nhất về thuật ngữ “ robot công nghiệp” ( Industrial robot). Trong nhiều tài liệu khác nhau, định nghĩa về robot công nghiệp cũng khác nhau. Khi “ robot công nghiệp” đầu tiên ra đời, Công ty AMF đã quảng cáo nó là loại máy tự động vạn năng. Trong từ điển Webster định nghĩa robot là những máy tự động có thể thực hiện được một số chức năng của con người. Nhưng nếu vậy thì có nhiều loại máy khác nhau cũng có thể gọi là robot. Viện Kỹ thuật robot của Hoa Kỳ định nghĩa robot là loại tay máy nhiều chức năng, với chương trình làm việc thay đổi được, dùng để thực hiện một số thao tác sản xuất. Có nhiều tài liệu khi định nghĩa robot rất lưu ý đến tiêu chí điều khiển bằng máy tính nhưng trong phân loại robot công nghiệp theo tiêu chuẩn của Nhật Bản (JIS B 0134- 1979) có cả nhóm tay máy điều khiển bằng tay. Theo ISO ( International Standards Organization) thì: “ robot công nghiệp là một tay máy đa mục tiêu, có một số bậc tự do, dễ dàng lập trình, điều khiển trợ động, dùng để tháo lắp phôi, dụng cụ hoặc các vật dụng khác. Do chương trình thao tác có thể thay đổi nên thực hiện nhiều nhiệm vụ đa dạng”. Tuy nhiên, robot công nghiệp được định nghĩa như thế chưa hoàn toàn thỏa đáng. Robot công nghiệp có thể được hiểu là những thiết bị tự động linh hoạt, bắt chước được các chức năng lao động công nghiệp của con người. Nói đến thiết bị tự động linh hoạt là nhấn mạnh đến khả năng thao tác với nhiều bậc tự do, được điều khiển trợ động và lập trình thay đổi được. Còn nói đến sự bắt chước các chức năng lao động công nghiệp của con người là có ý nói đến sự không hạn chế từ các chức năng lao động chân tay đơn giản đến trí khôn nhân tạo, tùy theo loại hình công việc lao động cần đến chức năng đó hay không. Đồng thời cũng nói đến mức độ cần thiết bắt chước được như con người hay không. 1.2. Cấu trúc chung của robot công nghiệp Trên hình 1.2 giới thiệu các bộ phận chủ yếu của robot công nghiệp thông thường. Tay máy gồm các bộ phận: đế 1 đặt cố định hoặc gắn liền với xe di động 2, thân 3, cánh tay trên 4, cánh tay dưới 5, bàn kẹp 6. 5
  8. Hình 1.2. Các bộ phận cấu thành robot công nghiệp Bên trong hoặc ở bên ngoài tay máy còn đặt nhiều bộ phận khác nữa: + Hệ thống truyền dẫn động có thể là cơ khí, thủy khí hoặc điện khí, là bộ phận chủ yếu tạo nên sự chuyển dịch ở các khớp động. + Hệ thống điều khiển đảm bảo sự hoạt động của robot theo các thông tin đặt trước hoặc nhận biết được trong quá trình làm việc. + Hệ thống cảm biến tín hiệu thực hiện việc nhận biết và biến đổi thông tin về hoạt động của bản thân robot (cảm biến nội tín hiệu) và của môi trường- đối tượng mà robot phục vụ (cảm biến ngoại tín hiệu). Các thông tin đặt trước hoặc cảm biến được sẽ đưa vào hệ thống điều khiển sau khi xử lý bằng máy vi tính, rồi tác động vào hệ thống truyền dẫn động của tay máy. Trực tiếp liên hệ với bàn kẹp là các dụng cụ (tools) thao tác với môi trường và đối tượng làm việc. 1.3 Phân loại robot công nghiệp Ngày nay robot công nghiệp đã phát triển rất đa dạng. Có thể phân loại robot công nghiệp theo nhiều cách khác nhau: + Theo vị trí “ công tác” phân ra các loại robot cấp thoát phôi, robot vận chuyển, robot vạn năng + Theo dạng công nghệ chuyên dụng phân ra các loại robot sơn, robot hàn, robot lắp ráp 6
  9. + Theo cách thức và đặc trưng điều khiển phân ra: robot điều khiển tự động, robot điều khiển bằng dạy học, robot điều khiển bằng tay, robot nhìn được ( vision) + Theo các hệ tọa độ được dùng khi thực hiện các chuyển động cơ bản phân ra các robot hoạt động theo hệ tọa độ trụ, cầu hoặc phỏng sinh 1.4 Các chỉ tiêu đánh giá và các thông số kỹ thuật Để các cơ cấu tay máy hoạt động linh hoạt tức là có thể thực hiện được dễ dàng các chuyển dịch muôn màu muôn vẻ, chúng cần phải có một số bậc tự do chuyển động cần thiết. Như đã biết, với các cơ cấu tay máy dùng các cơ cấu hở không gian có các khớp động loại 5 thì số bậc tự do bằng số khâu động. Khi tăng số bậc tự do tức là tăng số khâu động và tăng số thiết bị động lực cho các khâu động đó nên sẽ tăng độ phức tạp về kết cấu và chế tạo. Vấn đề đặt ra là khi cùng số bậc tự do có thể chọn lựa cơ cấu tay máy nào đảm bảo tính linh hoạt cao hơn. Tính linh hoạt của cơ cấu tay máy là một chỉ tiêu tổng hợp được thể hiện qua các yếu tố sau đây: 1.4.1 Độ động của cơ cấu Khâu thao tác robot được xác định bằng 6 thông số xEEE,,,,, y z   , trong đó 3 thông số đầu là vị trí của gốc hệ tọa độ gắn với khâu thao tác, còn 3 thông số sau xác định hướng của khâu thao tác. Trong lúc mỗi cấu hình của cơ cấu tay máy được xác định bằng n giá trị biến khớp q1, , qn. Số bậc tự do n của cơ cấu tay máy có thể bằng hoặc khác 6. Có thể xảy ra 3 trường hợp sau: + Nếu n=6, khi điểm E thực hiện di chuyển nhỏ xEEE,,,,,  y  z    sang một vị trí mới nào đó, thì có thể xác định q1, ,  qn một cách đơn trị. + Nếu n 6 thì không phải lúc nào điểm E cũng đạt tới vị trí với định hướng như yêu cầu được. + Nếu n 6 thì có nhiểu lời giải để điểm E đạt tới vị trí với định hướng đã yêu cầu. Hiệu số n-6=m được gọi là độ cơ động của tay máy. Có thể xác định độ cơ động m bằng số bậc tự do còn lại của cơ cấu nếu giữ cố định bàn kẹp lại. Ví dụ, trong trường hợp cơ cấu hình 2.4 nếu bàn kẹp vật ở vị trí cố định, tức là khâu 3 sẽ 7
  10. trở nên cố định và số khâu động còn lại là 2. Tính theo công thức (2.1) lúc này cơ cấu còn lại 1 bậc tự do (w=1). Sự tồn tại độ cơ động (m 1) là có lợi vì khi đó cơ cấu tay máy có thể đạt tới đích với nhiều phương án khác nhau. Điều đó càng quan trọng nhất là khi môi trường làm việc có các chướng ngại. Tuy nhiên dễ có độ cơ động cao, tức là cần số bậc tự do cao thì độ phức tạp kết cấu tay máy cũng tăng theo và sẽ không tránh khỏi việc tăng giá thành và giảm độ chính xác chuyển động. 1.4.2 Hệ số phục vụ Trong vùng làm việc, tức là trong khoảng không gian mà bàn kẹp tay máy có thể thao tác được, không phải ở bất cứ điểm nào trong vùng này bàn kẹp tay máy cũng thao tác dễ dàng như nhau. Để đánh giá mức độ dễ dàng thao tác đó người ta dùng khái niệm hệ số phục vụ. Hệ số phục vụ  là tỷ số giữa góc phục vụ  so với 4 . Góc phục vụ  là góc nón quét một vùng không gian mà chỉ ở phía trong đó bàn kẹp mới có thể hướng tới tọa độ cần thiết:   4 Giá trị của  và  không những phụ thuộc vào vị trí điểm thao tác trong vùng làm việc, mà còn phụ thuộc vào kết cấu của tay máy. 1.4.3 Độ dễ điều khiển của cơ cấu tay máy Trong thực tế điều khiển hoạt động của tay máy, từ khi nhận được tín hiệu về định vị và định hướng của” điểm tác động cuối” E tại một điểm của quỹ đạo, cho tới khi điều khiển để đạt được mục tiêu đó, robot phải thực hiện hoạt động đó trong một khoảng thời gian nhất định. Thời gian đó bao gồm thời gian tính toán để xác định các thông số điều khiển và thời gian thực hiện di chuyển. Tổng các thời gian đó có thể gọi là thời gian điều khiển. Trong đó thời gian tính toán giá trị các biến khớp qi theo các thông số định vị và định hướng tại điểm E, phụ thuộc vào loại cơ cấu tay máy. Qua thông số thời gian điều khiển nói trên có thể xác định mức độ khó dễ điều khiển, như một chỉ tiêu đánh giá cơ cấu tay máy. 8
  11. 1.4.4 Các thông số kỹ thuật của robot công nghiệp Robot công nghiệp thường được đặc trưng bằng bảng các thông số kỹ thuật cơ bản xem bảng (1.1). Hệ truyền dẫn động được ghi rõ là thủy lực, khí nén, động cơ điện một chiều, động cơ bước Trong chương IX sẽ phân tích về khả năng ứng dụng trong các hệ truyền dẫn động này. Hệ điều khiển được xác định theo chu kỳ, theo vị trí hoặc theo chu tuyến Trong chương VI sẽ đề cập đến các hệ điều khiển ứng dụng trong robot công nghiệp. Sai số định vị của bàn kẹp (mm) là độ sai lệch giữa vị trí thực so với vị trí yêu cầu. Mức chính xác thấp > 1(mm) áp dụng cho các loại robot vận chuyển, phun phủ Mức chính xác trung bình 0,1 1,0(mm) thích hợp với các việc như lắp ráp có khe hở, vặn vít, hàn hồ quang Mức chính xác cao 0,1(mm) dùng khi đo lường, lắp ráp khít Bảng 1.1. Đặc trưng của robot Đơn Đơn Thông số kỹ thuật Thông số kỹ thuật vị vị Số bậc tự do - Vận tốc tịnh tiến lớn nhất mm/s Tải nâng Kg Tầm với (max/min) mm Giá trị giới hạn (max, min) Tầm cao (max/min) mm * Biến khớp quay rad Sai số định vị mm * Biến khớp tịnh tiến mm Hệ truyền dẫn động - Vận tốc góc lớn nhất khi quay rad/s Hệ điều khiển - 1.5. Các bài toán thường gặp đối với robot công nghiệp Trong thực tế, để chế tạo ra một robot công nghiệp hoàn chỉnh và có thể thương mại hóa nó phải trải qua rất nhiều bước. Tuy nhiên, ở đây ta chỉ giới hạn ở các vấn đề tính toán lý thuyết cơ bản thì các bài toán liên quan đến robot công nghiệp bao gồm: + Phân tích động học: Tìm mối quan hệ giữa chuyển động của khâu thao tác (bàn kẹp, đầu hàn, sơn, phun phủ, ) và chuyển động của các khớp (góc quay của các động cơ hoặc chuyển động tịnh tiến đặt ở mỗi khớp). Sau đó, chúng ta cần phải 9
  12. giải mối quan hệ này theo cả hai chiều: cho trước chuyển động của khâu thao tác, cần tìm chuyển động của các khớp hoặc ngược lại. Bên cạnh đó, vấn đề tính toán vận tốc dài, vận tốc góc cũng là 1 vấn đề quan trọng, làm đầu vào cho bài toán động lực học. Các yếu tố đầu vào của bài toán động học bao gồm cấu trúc động học và kích thước các khâu của robot. + Phân tích động lực học: Ở bài toán động lực học, chúng ta cần quan tâm đề nguyên nhân gây ra chuyển động tức là mối quan hệ giữa momen ( hoặc lực) đặt vào các khớp quay (hoặc tịnh tiến) và chuyển động tương ứng của các khớp đó. Các yếu tố đầu vào của bài toán động lực học bao gồm kết quả của bài toán động học và các yếu tố về khối lượng, momen quán tính khối của các khâu của robot. + Thiết kế quỹ đạo và điều khiển: Đây là bài toán sau cùng cũng là bài toán phức tạp nhất của tính toán robot. Chúng ta cần thiết kế đường di chuyển cho khâu thao tác và chuyển động của các khớp cùng với các yếu tố về vận tốc, gia tốc để đáp ứng yêu cầu kỹ thuật trong sản xuất. Bài toán điều khiển nhằm đảm bảo robot sẽ hoạt động bám theo đúng những thông số ta đã thiết kế trước, chất lượng của điều khiển quan hệ mật thiết với chất lượng của một robot. 10
  13. CHƯƠNG 2 PHÂN TÍCH ĐỘNG HỌC ROBOT UR Trong chương này tập trung giải quyết hai bài toán đối với phân tích động học là bài toán động học thuận và bài toán động học ngược. Bài toàn động học thuận có nhiệm vụ chủ yếu là xác định ví trí và hướng khâu thao tác dưới dạng hàm của các biến khớp. Phương pháp sử dụng để giải quyết bài toán này là phương pháp ma trận Denavit-Hartenberg [1, 2]. Đối với bài toán động học ngược, cho biết chuyển động của khâu thao tác ta cần phải xác định chuyển động của các tọa độ khớp hai phương pháp được giới thiệu để giải bài toán này là phương pháp giải tích và phương pháp số [2]. 2.1. Phân tích động thuận rôbốt UR 2.1.1. Mô hình rôbốt và các hệ tọa độ Denavit-Hartenberg (DH) Trên hình 2.1 là hinh ảnh của một số dạng robot UR, các robot đó có kích thước khác nhau nhưng hình dáng nói chung là giống nhau, xuất phát từ hình ảnh thực tế, ta xây dựng được mô hình chuyển động của các robot UR có dạng như trên hình 2.2 dưới đây, trong đó ta đặt các kích thước trên hình bằng các tham số như sau: O0O1 = d1, O1A = d2, AO2 = a2, O2B = d3, BC = a3, CO3 = d4, O4O5 = d5, O5O6 = d6. Dựa vào phương pháp ma trận DH [1, 2], ta xây dựng được các hệ trục tọa độ khớp đối với rôbốt có dạng như trên hình 2.2. Sau khi xây dựng được các hệ tọa độ khớp, ta xác định được bảng các tham số động học DH được cho như trong bảng 2.2 Hình 2.1: Bộ sản phẩm robot công nghiệp UR3, UR5 và UR10 11
  14. q x z 5 4 4 O 5 x B x ’ C 2 6 x O x 3 2 5 O  O z 3 4 q q 2 3 z 4 q 3 6 z x 5 6 O 6 z 6 O1 q x 2 1 z A 0 z q 1 1 O 0 x ’ 1 x 0 Hình 2.2. Mô hình chuyển động của rôbốt UR Bảng 2.1: Bảng các tham số động học DH của rôbốt UR Hệ trục i di ai αi 0 1 q1 d1 0 90 0 2 q2 d2 a2 0 0 3 q3 d4 d 3 a3 0 0 4 q4 0 0 -90 0 5 q5 d5 0 90 0 6 q6 d6 0 0 2.1.2. Xác định các ma trận DH Từ cách xây dựng hệ trục ở trên ta thấy, để chuyển hệ trục thứ i – 1 sang hệ trục thứ i ta cần thực hiện bốn bước như sau [1, 2]: đầu tiên là quay quanh trục zi- 1 một góc i, tiếp theo dịch chuyển dọc trục zi-1 một đoạn di sau đó dịch chuyển dọc trục xi một đọa ai và cuối cùng là quay quanh trục xi một góc i. Vậy khi đó ma trận chuyển từ hệ trục i – 1 sang hệ trục i là tích của 4 ma trận quay thuần nhất cơ bản nói trên, khi đó ta có 12
  15. i 1 HHi i T z( i ). Trans z ( d i ). Trans x ( a i ). T x ( i ) cosi sin  i cos i sin  i sin ia i cos  i sin cos  cos cos  sin a sin  (2.1) i i i i i i i 0 sin i cos id i 0 0 0 1 Từ bảng các tham số động học DH (bảng 2.1), thay các tham số tương ứng vào (2.1) ta lần lượt nhận được các ma trận DH địa phương như sau: c10 s 1 0 c 2 s 2 0 a 2 c 2 s0 c 0 s c 0 a s 1 1 2 2 2 2 HH1 ; 2 0 1 0d1 0 0 1 d 2 0 0 0 1 0 0 0 1 c3 s 30 a 3 c 3 c 4 0 s 4 0 s c0 a s s 0 c 0 3 3 3 3 4 4 HH3 ; 4 0 0 1d4 d 3 0 1 0 0 0 0 0 1 0 0 0 1 c50 s 5 0 c6 s 6 0 0 s0 c 0 s c 0 0 5 5 6 6 H5 ; H6 0 1 0 d5 0 0 1 d6 0 0 0 1 0 0 0 1 Từ các ma trận DH địa phương ở trên, ta xác định được các ma trận DH toàn cục cho các khâu của robot được cho bởi công thức [1, 2] 0 0 1i 1 DHHHHHHHi i 1 2 i 1 2  i (2.2) Áp dụng (2.2) khi cho i = 1  6, ta được các ma trận Di như sau: c10 s 1 0 s0 c 0 1 1 D1 0 1 0 d1 0 0 0 1 c1 c 2 c 1 s 2 s 1 d 2 s 1 a 2 c 1 c 2 c s s s c a c s d c 2 1 1 2 1 2 2 1 2 1 D2 s2 c 20 d 1 a 2 s 2 0 0 0 1 13
  16. cc23 1 sc 23 1 s 1 ds 2 1 sd 1() 3 d 4 acc 2 1 2 acc 3 1 23 cs ss ccd() d dc acs acs 23 1 23 1 1 1 3 4 2 1 2 2 1 3 23 1 D3 s23 c 230 d 1 a 3 s 23 a 2 s 2 0 0 0 1 cc234 1 s 1 scdssd 234 1 2 1 1() 3 d 4 acc 2 1 2 acc 3 1 23 cs c sscd() d dcacsacs 234 1 1 234 1 1 3 4 2 1 2 2 1 3 23 1 D4 s2340 c 234 d 1 a 3 s 23 a 2 s 2 0 0 0 1 ccc234 1 5 ss 1 5 sc 234 1 cs 5 1 ccs 234 1 5() d 2 d 3 ds 4 1 acc 2 1 2 dsc 5 234 1 acc 3 1 23 cs ccs ss css cc() d d dc acs dss acs 1 5 234 5 1 234 1 234 1 5 1 5 3 4 2 1 2 2 1 5 234 1 3 23 1 D5 sc234 5 c 234 ss 234 5 dasasdc 1 3 23 2 2 5 234 0 0 0 1 css6( 1 5 ccc 234 1 5 ) scs 234 1 6 sss 6 ( 1 5 ccc 234 1 5 ) scc 234 1 6 cs 5 1 ccs 234 1 5D 6 [1,4] ccs( ccs ) sss scs ( ccs ) scs css cc D [2, 4] 6 1 5 234 5 1 234 1 6 6 1 5 234 5 1 234 6 1 234 1 5 1 5 6 D6 csscc234 6 234 5 6 ccscs 234 6 234 5 6 ss 234 5D 6[3, 4] 0 0 0 1 Trong đó D6[1,4] dcs 6 ( 5 1 ccs 234 1 5 ) ( d 2 d 3 ds 4 ) 1 acc 2 1 2 dsc 5 234 1 acc 3 1 23 D6[2,4] (d 2 d 3 dc 4 ) 1 dcc 6 1 5 acs 2 2 1 dss 5 234 1 asc 3 1 23 dcss 6 234 1 5 D6[3,4] d 1 a 3 s 23 a 2 s 2 d 5 c 234 d 6 s 5 s 234 Chú ý. Trong các ma trận ở trên, ta đưa vào các ký hiệu ci cos( q i ); c ij cos q i q j ; c ijk cos q i q j q k ; (2.3) si sin( q i ); s ij sin q i q j ; s ijk sin q i q j q k 2.1.3. Xác định vận tốc góc và gia tốc góc các khâu của rôbốt UR Để tìm vận tốc góc các khâu của rôbốt UR ta sử dụng công thức dưới đây [1] R0 dA ω(0) A AT, ω  ( i ) A T A  , A  i (2.4) i i i i i i i dt T ()()()()i  i  i  i ωi ω i[2,3] ω i [1,3] ω i [1,2] (2.5) 14
  17. Trong đó Ai là ma trận côsin chỉ hướng của khâu thứ i đối với hệ trục tọa độ cố định, các ma trận này được xác định dựa vào các ma trận Di như sau: như đã biết ma trận Di bao gồm các thành phần [1] 0A r (0) DH 0 i Oi (2.6) i i T 0 1 Từ (2.6) ta dễ dàng xác định được các ma trận Ai có dạng như sau c10 s 1 c1 c 2 c 1 s 2 s 1 c23 c 1 s 23 c 1 s 1 A s0 c ; A c s s s c ; A c s s s c 1 1 1 2 2 1 1 2 1 3 23 1 23 1 1 0 1 0 s2 c 2 0 s23 c 23 0 c234 c 1 s 1 s 234 c 1 ccc234 1 5 ss 1 5 sc 234 1 cs 5 1 ccs 234 1 5 A c s c s s ; A cs ccs ss css cc 4 234 1 1 234 1 5 1 5 234 5 1 234 1 234 1 5 1 5 s2340 c 234 s234 c 5 c 234 s 234 s 5 css6()() 1 5 ccc 234 1 5 scs 234 1 6 sss 6 1 5 ccc 234 1 5 scc 234 1 6 cs 5 1 ccs 234 1 5 A ccs()() ccs sss scs ccs scs css cc 6 6 1 5 234 5 1 234 1 6 6 1 5 234 5 1 234 6 1 234 1 5 1 5 csscc234 6 234 5 6 ccscs 234 6 234 5 6 ss 234 5 Sau khi có được các ma trận côsin chỉ hướng, áp dụng công thức (2.4) và để ý đến (2.5) ta xác định được các véctơ vận tốc góc các khâu của rô bốt UR như sau: * Vận tốc góc các khâu của robot UR khi chiếu lên các hệ tọa độ khớp (1) T ω1 0q 1 0 (2) T ω2 s 2 q 1 c 2 q  1 q  2  (3) T ω3 s 23 q 1 c 23 q  1 q  2 q  3  (4) T ω4 s 234 q 1 q  2 q  3 q  4 c 234 q  1  c5 s 234 q 1 s 5() q  2 q  3 q  4 (5) ω c q q  5 234 1 5 s234 s 5 q 1 c 5() q  2 q  3 q  4 ()()cs234 6 ccs 5 6 234 q 1 csq 6 5  2 q  3 q  4 sq 6  5 ω(6) ()()css ccq ssq  q  q  cq  6 5 234 6 234 6 1 5 6 2 3 4 6 5 s234 s 5 q 1 c 5() q  2 q  3 q  4 q  6 * Vận tốc góc các khâu của robot UR khi chiếu lên hệ tọa độ cố định 15
  18. (0) T ω1 0 0 q 1  (0) T ω2 s 1 q 2 c 1 q  2 q  1  (0) T ω3 s 1()() q 2 q  3 c 1 q  2 q  3 q  1  (0) T ω4 s 1()() q 2 q  3 q  4 c 1 q  2 q  3 q  4 q  1  s1() q 2 q  3 q  4 c 1 s 234 q  5 ω(0) c() q q  q  s s q  5 1 2 3 4 1 234 5 q1 c 234 q  5 sq1()() 2 q  3 q  4 csq 1 234  5 ccs 1 234 5 csq 5 1  6 ω(0) cq()() q  q  ssq  css ccq  6 1 2 3 4 1 234 5 234 1 5 1 5 6 q1 c 234 q  5 s 234 s 5 q  6 Tương tự như với vận tốc góc, bằng cách đạo hàm công thức (2.4) theo thời gian, ta được ma trận sóng của véctơ gia tốc góc của các khâu có dạng: ()()i i T  T  εi ω i A i A i A i A i (2.7) (0) (0) TT   εi ω i A i A i A i A i (2.8) Từ (2.7) và (2.8) ta dễ dàng suy ra được véctơ gia tốc góc các khâu của rôbốt. 2.1.4. Vận tốc và gia tốc điểm định vị khâu thao tác của rôbốt UR Theo (2.6) ta thấy ma trận D6 của rôbốt có dạng 0A r (0) 0A r (0) D 6 O6 6 P 6 T T 0 1 0 1 Từ đó suy ra vị trí điểm định vị của khâu thao tác chính là ba thành phần đầu tiên của cột thứ tư của ma trận D6, khi đó ta có dcs6()() 5 1 ccs 234 1 5 d 2 d 3 ds 4 1 acc 2 1 2 dsc 5 234 1 acc 3 1 23 r(0) ()d d dc dcc acs dss asc dcss (2.9) P 2 3 4 1 6 1 5 2 2 1 5 234 1 3 1 23 6 234 1 5 d1 a 3 s 23 a 2 s 2 d 5 c 234 d 6 s 5 s 234 Đạo hàm (2.9) theo thời gian ta được vận tốc của điểm định vị khâu thao tác như sau: 16
  19. vPx dcqc6[ 1 1 5 ssq 1 5  5 s 234 ( q  2 q  3 q  4 )c 1 s 5 csqs 234 1  1 5 cccq 234 1 5  5 ] (d2 d 3 dcq 4 ) 1 1 sqca 1  1 2 2 csqa 1 2  2 2 dc 5 234 ( q  2 q  3 qc  4 ) 1 ds5 234 sq 1 1 asqc 3 1  1 23 acs 3 1 23 ( q  2 q  3 ) vPy () d2 d 3 dsq 411 dsqc 6115  dcsq 6155  cqca 1122  ssqa 1222  dc5 234 ( q 2 q  3 qs  4 ) 1 dscq 5 234 1  1 acqc 3 1  1 23 assq 3 1 23 (  2 q  3 ) ds6 234 ( q 2 q  3 qss  4 ) 1 5 dccqs 6 234 1  1 5 dcscq 6 234 1 5  5 v acq()() q  cqa  ds q  qq   Pz 3 23 2 3 2 2 2 5 234 2 3 4 d6 c 5 q 5 s 234 d 6 s 5 c 234 ( q  2 q  3 q  4 ) Bằng cách đạo hàm lần nữa các hình chiếu vận tốc ta được hình chiếu véctơ gia tốc điểm định trên các trục cố định. 2.1.5. Thiết lập phương trình động học Robot Hệ các phương trình động học rôbốt cho ta mối quan hệ giữa vị trí điểm định vị và hướng của khâu thao tác và các tọa độ khớp. Hê phương trình này có một vai trò rất quan trọng trong việc phân tích bài toán động học ngược sau này, trong phần này ta sẽ đi thiết lập các phương trình đó. Từ trên ta đã biết, ma trận thuần nhất biểu diễn mối quan hệ giữa hệ tọa độ gắn với khâu thao tác và hệ tọa độ cố định có dạng css6( 1 5 ccc 234 1 5 ) scs 234 1 6 sss 6 ( 1 5 ccc 234 1 5 ) scc 234 1 6 cs 5 1 ccs 234 1 5D 6 [1,4] ccs( ccs ) sss scs ( ccs ) scs css cc D [2, 4] 6 1 5 234 5 1 234 1 6 6 1 5 234 5 1 234 6 1 234 1 5 1 5 6 D6 csscc234 6 234 5 6 ccscs 234 6 234 5 6 ss 234 5D 6[3, 4] 0 0 0 1 Mặt khác, ma trận thuần nhất mô tả khâu thao tác có dạng: nx s x a x x P n s a y T y y y P (2.10) nz s z a z z P 0 0 0 1 trong đó các vecto n nx,, n y n z ; s s x ,s,s; y z a a x ,a,a y z là các vecto đơn vị của 3 trục tọa độ của hệ tọa độ gắn với khâu thao tác. 3 vecto này thể hiện hướng của khâu thao tác, còn vecto rPPPP x,, y z thể hiện vị trí khâu thao tác (chính là vị trí 17
  20. gốc tọa độ của hệ tọa độ gắn với khâu thao tác) trong hệ tọa độ cố định. Từ đây ta thu được hệ phương trình động học dưới dạng: TDHHHHHH 6 1 2 3 4 5 6 (2.11) Khai triển (2.11) ở dạng tường minh, ta thu được hệ phương trình động học robot UR như sau: nx css6 1 5 ccc 234 1 5 scs 234 1 6; n y ccs 6 1 5 ccs 234 5 1 sss 234 1 6 nz c234 s 6 s 234 c 5 c 6 s sss ccc scc; s scs csc ssc x6 1 5 234 1 5 234 1 6 y 6 1 5 234 1 5 234 1 6 sz c234 c 6 s 234 c 5 s 6 (2.12) ax sc1 5 csc 1 5 234; a y cc 1 5 ssc 1 5 234 ; a z ss 234 5 x dcs ccs d d ds acc dsc acc P 6 5 1 234 1 5 2 3 4 1 2 1 2 5 234 1 3 1 23 y d d dc dcc acs dss asc dsss P 2 3 4 1 6 1 5 2 2 1 5 234 1 3 1 23 6 234 1 5 zP d1 as 3 23 as 2 2 dc 5 234 dss 6 5 234 Chú ý rằng ở (2.12) các biểu thức vế trái là các thành phần biểu diễn khâu thao tác, còn các biểu thức vế phải chứa kích thước các khâu cũng như góc quay của các khớp. (2.12) có 12 phương trình, gồm 3 phương trình liên quan tới vị trí và 9 phương trình liên quan tới hướng, tuy nhiên chỉ có 3 trong 9 phương trình về hướng là độc lập. Trong nhiều tài liệu người ta thường chọn 6 phương trình dưới đây làm hệ các phương trình động học của rôbốt nx c6 s 1 s 5 c 234 c 1 c 5 s 234 c 1 s 6 sy s6 c 1 s 5 c 234 s 1 c 5 s 234 s 1 c 6 az s234 s 5 (2.13) xP dcs6 5 1 ccs 234 1 5 d 2 d 3 ds 4 1 acc 2 1 2 dsc 5 234 1 acc 3 1 23 y d d dc dcc acs dss asc dsss P 2 3 4 1 6 1 5 2 2 1 5 234 1 3 1 23 6 234 1 5 zP d1 a 3 s 23 a 2 s 2 d 5 c 234 d 6s5 s 234 2.2. Phân tích động học ngược robot UR Đối với bài toán động học ngược, xuất phát từ hệ phương trình động học (2.11) với các thành phần về hướng và vị trí trong ma trận T ở (2.10) đã cho trước 18
  21. cùng với các kích thước động học robot đã biết ta cần đi tìm chuyển động của các khớp, tức là tìm véctơ: T T T q q1,,,,, q 2 q 3 q 4 q 5 q 6  , q q1,,,,, q  2 q  3 q  4 q  5 q  6  , q q1,,,,, q 2 q 3 q 4 q 5 q 6  (2.14) Đây là việc giải hệ phương trình đại số phi tuyến 6 ẩn. Đối với bài toán động học ngược rôbốt, thường có 2 nhóm phương pháp hay được sử dụng là phương pháp số và phương pháp giải tích. Trong đó, phương pháp số có thể giải quyết các bài toán tổng quát cho hầu hết các cấu hình robot công nghiệp nhưng lại cần thời gian tính toán lớn do sử dụng các vòng lặp trong thuật toán. Nếu không cắt giảm thời gian tính toán, sẽ không thích hợp làm đầu vào cho bài toán điều khiển sau này. Đối với phương pháp giải tích, với tùy cấu hình robot mà sẽ có các phương pháp tương ứng nhưng sẽ không mang tính tổng quát cho mọi rôbốt. Trong nhiều trường hợp, việc giải động học robot bằng phương pháp giải tích rất khó khả thi. Tuy nhiên, một ưu điểm rất lớn của phương pháp giải tích là nghiệm sẽ ở dạng công thức giải tích, cho kết quả tính toán nhanh, thích hợp cho các bài toán điều khiển sau này do có thể đảm bảo đáp ứng điều khiển thời gian thực. Sau đây sẽ giới thiệu cả phương pháp giải tích và phương pháp số trong việc phân tích động học ngược rôbốt UR. 2.2.1. Phương pháp giải tích Ta đưa vào ký hiệu: i DHHH6 i 1 i 2 6 (2.15) Phương trình (2.11) có thể viết lại như sau: i DDD6 i . 6 (2.16) 1 Nhân 2 vế của (2.16) với Di ta có 1 i DDDi . 6 6 và do i 1 1 1 1 1 DHHHHi  i i 2 1 i 1 ta thu được: 19
  22. 1 1 1 i HHHDDi 2 1 6 6 (2.17) Thay D6 = T vào (2.17) ta sẽ nhận được: 1 1 1 i HHHTDi 2 1 6 (2.18) Với i = 1  5, ta thu được 5 phương trình ma trận, sau đó đồng nhất các phần tử tương ứng của các phương trình ma trận (2.18) ta sẽ chọn được 6 phương trình tồn tại độc lập để xác định các biến khớp qi. Tuy nhiên, như đã nói ở trên, phương pháp giải tích không phải là phương pháp tổng quát áp dụng cho mọi loại rôbốt. Về cơ bản, việc chọn ra các phương trình độc lập này phải phụ thuộc vào cấu hình của từng rôbốt và ứng với mỗi cấu hình cụ thể, người ta cũng đã tìm ra cách chọn các phương trình phù hợp tương ứng. Với rôbốt mà ta xét ở đây, nó có các trục khớp 2,3,4 song song với nhau, ta sẽ sử dụng phương pháp như sau [4]: Xuất phát từ phương trình (2.18) ta có: 1 F1 H 1 T H 2 H 3 H 4 H 5 H 6 0 (2.19) 1 1 1 1 F2 H 4 H 3 H 2 H 1 T H 5 H 6 0 (2.20) 1 1 F3 H 2 H 1 T H 3 H 4 H 5 H 6 0 (2.21) Từ các ma trận F1=0, F2=0, F3=0 ta rút ra được 6 phương trình cần để giải bài toán động học ngược đối với rôbốt UR có dạng như sau: f1 F 1 3,4 d 3 d 2 d 4 d 6 c 5 py c 1 p x s 1 0 (2.22) f2 F 2 2,3 c 5 ay c 1 a x s 1 0 (2.23) f3 F 3 3,2 sx s 1 s y c 1 s 5 s 6 0 (2.24) f4 F 2 3,3 ax c 1 s 234 a y s 1 s 234 a z c 234 0 (2.25) f5 F 1 1,4 pcacax 1 2 2 3 c 23 psds y 1 5 234 dsc 6 5 234 0 (2.26) f6 F 1 2,4 pdasasdcz 1 3 23 2 2 5 234 dss 6 5 234 0 (2.27) Chú ý. Nếu ta sử dụng 3góc Roll-Pitch-Yaw là , ,  để xác định hướng của khâu thao tác, khi đó ta có 20
  23. nx s x a x x P (0) ny s y a y y P A rP T nz s z a z z P 0 1 0 0 0 1 Với cos  cos cos  sin sin sin  cos cos  sin cos sin  sin A sin  cos sin  sin sin cos  cos sin  sin cos cos  sin sin cos  sin  cos  cos  Từ đó ta suy ra sx cos sin  sin  sin cos  sy sin sin  sin  cos cos  ax cos sin  cos  sin sin  ay sin sin  cos  cos sin  az cos cos  Sau đây ta đi giải hệ 6 phương trình ở trên để tìm các biến khớp q1, q2, q2, q4, q5 và q6. Từ (2.23) ta suy ra c5 ax s 1 a y c 1 (2.28) Thế (2.28) vào (2.22), ta được ddd3 2 4 ( daxs 6x P ) 1 ( da 6 y yc P ) 1 0 ()()da6x xs P 1 da 6 y ycddd P 1 3 2 4 (2.29) Đặt (d6 ax x P ) r cos ; ( d 6 a y y P ) r sin (2.30) Trong đó 2 2 d6 ay y P d6 ax x P r ( d6 ax x P ) ( d 6 a y y P ) ; a tan 2 , (2.31) r r Chú ý. Hàm atan2(y,x) được định nghĩa như sau 21
  24. arctan y / x ; x 0 2 2 atan 2( y , x ) sgn y . ; x 0 (2.32) 2 2 arctan y/x sgn y . ; x 0 3 2 2 2 Thay (2.30) vào (2.29) ta dễ dàng suy ra d d d sin(q ) 3 2 4 (2.33) 1 r Để phương trình (2.33) có nghiệm thực thì điều kiện sau phải được thỏa mãn d d d 3 2 4 1 (2.34) r Điều kiện (2.34) phụ thuộc vào cấu hình robot và quỹ đạo của khâu thao tác. Giả sử điều kiện này được thỏa mãn, khi đó phương trình (2.33) có 2 nghiệm thực là d3 d 2 d 4 d3 d 2 d 4 q1 arcsin và q1 arcsin r r Từ đó ta suy ra hai nghiệm q1 là (1) d3 d 2 d 4 (2) d3 d 2 d 4 q1 arcsin ; q1 arcsin (2.35) r r Khi đã xác định được q1, từ (2.23) ta dễ dàng suy ra được c5 ax s 1 a y c 1 q5 arccos( ax . s 1 a y . c 1 ) (2.36) Ứng với mỗi giá trị của q1 ta có được 2 giá trị của q5, vậy ta có được 4 nghiệm của q5, cụ thể như sau: (1) (1) (1) (1) (2) (1) (1) q1 q 5 arccos( asacqx . 1 y . 1 ), 5 arccos( asac x . 1 y . 1 ) (2) (3) (2) (2) (4) (2) (2) q1 q 5 arccos( asacqx . 1 y . 1 ), 5 arccos( asac x . 1 y . 1 ) Từ (2.24), ta suy ra được 22
  25. sx s1 s y c 1 s6 s5 sx s1 s y c 1 sx s1 s y c 1 q6 arcsin và q6 arcsin (2.37) s5 s5 Ứng với mỗi cặp giá trị q1, q5 ta có 2 nghiệm q6, vậy ta sẽ có 8 nghiệm q6, cụ thể như sau: s s(1) s c (1) s s (1) s c (1) q(1), q (1) q (1) arcsinx1 y 1 , q (2) arcsin x 1 y 1 1 5 6 (1) 6 (1) s5 s 5 s s(1) s c (1) s s (1) s c (1) q(1)(2), q q (3) arcsinx1 y 1 , q (4) arcsin x 1 y 1 1 5 6 (2) 6 (2) s5 s 5 s s(2) s c (2) s s (2) s c (2) q(2)(3), q q (5) arcsinx1 y 1 , q (6) arcsin x 1 y 1 1 5 6 (3) 6 (3) s5 s 5 s s(2) s c (2) s s (2) s c (2) q(2)(4), q q (7) arcsinx1 y 1 , q (8) arcsin x 1 y 1 1 5 6 (4) 6 (4) s5 s 5 Mặt khác, từ phương trình (2.25) ta có ()ax c1 a y s 1 s 234 a z c 234 (2.38) Đặt q234 q 2 q 3 q 4 (2.39) az tan(q234 ) (2.40) ()ax c1 a y s 1 q234 a tan 2( az , a x c 1 a y s 1 ) (2.41) Ứng với mỗi giá trị của q1 ta có 1 giá trị của q234, vậy ta có được 2 giá trị của q234 như sau: (1) (1) (1) (1) q1 q 234 a tan 2( az , a x c 1 a y s 1 ) (2) (2) (2) (2) q1 q 234 a tan 2( az , a x c 1 a y s 1 ) Từ (2.26) và (2.27), ta suy ra 23
  26. ac2 2 ac 3 23 xcPP 1 ys 1 ds 5 234 dsc 6 5 234 (2.42) as2 2 as 3 23 zP d 1 dc 5 234 dss 6 5 234 Đặt D1 xPP c 1 y s 1 d 5 s 234 d 6 s 5 c 234 (2.43) D2 zP d 1 d 5 c 234 d 6 s 5 s 234 Chú ý. Ứng với mỗi bộ giá trị của q1, q234 và q5 ta có 1 cặp giá trị của D1 và D2, vậy ta có 4 cặp giá trị của D1 và D2 như sau: (1) (1) (1) (1) (1) (1) D1 xP c 1 p y s 1 d 5 s 234 d 6 s 5 c 234 q(1), q (1) , q (1) 1 234 5 (1) (1) (1) (1) D2 zP d 1 d 5 c 234 d 6 s 5 s 234 (2) (1) (1) (1) (2) (1) D1 xP c 1 p y s 1 d 5 s 234 d 6 s 5 c 234 q(1), q (1) , q (2) 1 234 5 (2) (1) (2) (1) D2 zP d 1 d 5 c 234 d 6 s 5 s 234 (3) (2) (2) (2) (3)(2) D1 xP c 1 p y s 1 d 5 s 234 d 6 s 5 c 234 q(2), q (2) , q (3) 1 234 5 (3) (2) (3)(2) D2 zP d 1 d 5 c 234 d 6 s 5 s 234 (4) (2) (2) (2) (4)(2) D1 xP c 1 p y s 1 d 5 s 234 d 6 s 5 c 234 q(2), q (2) , q (4) 1 234 5 (4) (2) (4)(2) D2 zP d 1 d 5 c 234 d 6 s 5 s 234 a2 c 2 a 3c 23 D 1 (2.44) a2 s 2 a 3 s 23 D 2 Bình phương hai vế các phương trình trong (2.44) rồi cộng theo vế các phương trình, ta được 2 2 2 2 a2 a 3 2 a 2 a 3 c 23 c 2 s 23 s 2 D 1 D 2 (2.45) 2 2 2 2 2a2 a 3 . c 3 D 1 D 2 a 2 a 3 2 2 2 2 D1 D 2 a 2 a 3 c3 (2.46) 2a2 a 3 2 2 2 2 D1 D 2 a 2 a 3 q3 arccos (2.47) 2a2 a 3 Ứng với mỗi cặp giá trị D1 và D2 ta có 2 nghiệm q3 hay nói cách khác ứng với mỗi bộ giá trị q1, q234 và q5 ta có 2 nghiệm q3, vậy ta sẽ có 8 nghiệm q3 như sau: 24
  27. (1) 2 (1) 2 2 2 (1) ()()D1 D 2 a 2 a 3 q3 arccos 2a a (1) (1) (1) (1) (1) 2 3 q1, q 234 , q 5 D 1 , D 2 ()()D(1) 2 D (1) 2 a 2 a 2 q(2) arccos 1 2 2 3 3 2a2 a 3 (2) 2 (2) 2 2 2 (3) ()()D1 D 2 a 2 a 3 q3 arccos 2a a (1) (1) (2) (2) (2) 2 3 q1, q 234 , q 5 D 1 , D 2 ()()D(2) 2 D (2) 2 a 2 a 2 q(4) arccos 1 2 2 3 3 2a2 a 3 (3) 2 (3) 2 2 2 (5) ()()D1 D 2 a 2 a 3 q3 arccos 2a a (2) (2) (3) (3) (3) 2 3 q1, q 234 , q 5 D 1 , D 2 ()()D(3) 2 D (3) 2 a 2 a 2 q(6) arccos 1 2 2 3 3 2a2 a 3 (4) 2 (4) 2 2 2 (7) ()()D1 D 2 a 2 a 3 q3 arccos 2a a (2) (2) (4) (4) (4) 2 3 q1, q 234 , q 5 D 1 , D 2 ()()D(4) 2 D (4) 2 a 2 a 2 q(8) arccos 1 2 2 3 3 2a2 a 3 Khai triển hệ (2.44), ta được a2 c 2 a 3() c 2 c 3 s 2 s 3 D 1 a2 s 2 a 3() s 2 c 3 c 2 s 3 D 2 ()()a2 a 3 c 3 c 2 a 3 s 3 s 2 D 1 (2.48) ()()a3 s 3 c 2 a 2 a 3 c 3 s 2 D 2 Hệ (2.48) là hệ đại số tuyến tính với các ẩn c2 và s2, nghiệm của hệ này có dạng c c2, s s 2 với 0 (2.49) 2 2 Trong đó ()a2 a 3 c 3 a 3 s 3 2 2 ()()a2 a 3 c 3 a 3 s 3 (2.50) a3 s 3() a 2 a 3 c 3 D1 a 3 s 3 c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 (2.51) D2() a 2 a 3 c 3 25
  28. ()a2 a 3 c 3 D 1 s2 D 2()D() a 2 a 3 c 3 1 a 3 s 3 (2.52) a3 s 3 D 2 Ta dễ thấy các đại lượng , s2, c2 phụ thuộc vào D1, D2 và q3, do đó ta có các bộ giá trị của , s2, c2 như sau: (1) (1) 2 (1) 2 ()()a2 a 3 c 3 a 3 s 3 (1) (1) (1) (1) (1) (1) (1) (1) D123, D , q s 22233 D ( a a c ) D 133 ( a s ) (1) (1) (1) (1) (1) c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 (2) (2)2 (2)2 ()()a2 a 3 c 3 a 3 s 3 (1) (1) (2) (2) (1) (2) (1) (2) D123, D , q s 22233 D ( a a c ) D 133 ( a s ) (2) (1) (2) (1) (2) c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 (3) (3)2 (3)2 ()()a2 a 3 c 3 a 3 s 3 (2) (2) (3) (3) (2) (3) (2) (3) D123, D , q s 22233 D ( a a c ) D 133 ( a s ) (3) (2) (3) (2) (3) c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 (4) (4)2 (4)2 ()()a2 a 3 c 3 a 3 s 3 (2) (2) (4) (4) (2) (4) (2) (4) D123, D , q s 22233 D ( a a c ) D 133 ( a s ) (4) (2) (4) (2) (4) c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 (5) (5)2 (5)2 ()()a2 a 3 c 3 a 3 s 3 (3) (3) (5) (5) (3) (5) (3) (5) D123, D , q s 22233 D ( a a c ) D 133 ( a s ) (5) (3) (5) (3) (5) c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 (6) (6)2 (6)2 ()()a2 a 3 c 3 a 3 s 3 (3) (3) (6) (6) (3) (6) (3) (6) D123, D , q s 22233 D ( a a c ) D 133 ( a s ) (6) (3) (6) (3) (6) c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 (7) (7)2 (7)2 ()()a2 a 3 c 3 a 3 s 3 (4) (4) (7) (7) (4) (7) (4) (7) D123, D , q s 22233 D ( a a c ) D 133 ( a s ) (7) (4) (7) (4) (7) c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 26
  29. (8) (8)2 (8)2 ()()a2 a 3 c 3 a 3 s 3 (4) (4) (8) (8) (4) (8) (4) (8) D123, D , q s 22233 D ( a a c ) D 133 ( a s ) (8) (4) (8) (4) (8) c2 D 1()() a 2 a 3 c 3 D 2 a 3 s 3 Khi đó ta có s2 tan(q2 ) q 2 a tan 2( s 2 , c 2 ) c2 s2 c 2 q2 a tan 2 , (2.53) Ứng với mỗi giá trị của , s2, c2 ta có 1 nghiệm q2, vậy ta sẽ có 8 nghiệm q2 như sau: (1) (1) (1) s2 c 2 q2 a tan 2 , (1) (1) (1) (1) (1) (1) (1) (1) q3 q1, q 234 , q 5 D 1 , D 2 q(2) (2) (2) 3 q(2) a tan 2s2 , c 2 2 (2) (2) (3) (3) (3) s2 c 2 q2 a tan 2 , (3) (3) (3) (1) (1) (2) (2) (2) q3 q1, q 234 , q 5 D 1 , D 2 q(4) (4) (4) 3 q(4) a tan 2s2 , c 2 2 (4) (4) (5) (5) (5) s2 c 2 q2 a tan 2 , (5) (5) (5) (2) (2) (3) (3) (3) q3 q1, q 234 , q 5 D 1 , D 2 q(6) (6) (6) 3 q(6) a tan 2s2 , c 2 2 (6) (6) (7) (7) (7) s2 c 2 q2 a tan 2 , (7) (7) (7) (2) (2) (4) (4) (4) q3 q1, q 234 , q 5 D 1 , D 2 q(8) (8) (8) 3 q(8) a tan 2s2 , c 2 2 (8) (8) Khi đã xác định được q2 và q3, từ (2.39) ta dễ dàng suy ra được q4 có dạng q4 2 q 2 q 3 (2.54) Ứng với mỗi giá trị q2 và q3 ta có 1 giá trị q4, vậy ta có 8 gia trị q4 như sau: 27
  30. (1) (1) (1) (1) (2) (1) (2) (2) q4 q 234 q 2 q 3 , q4 q 234 q 2 q 3 , (3) (1) (3) (3) (4) (1) (4) (4) q4 q 234 q 2 q 3 , q4 q 234 q 2 q 3 , (5) (2) (5) (5) (6) (2) (6) (6) q4 q 234 q 2 q 3 , q4 q 234 q 2 q 3 , (7) (2) (7) (7) (8) (2) (8) (8) q4 q 234 q 2 q 3 , q4 q 234 q 2 q 3 Vậy đối với bài toán động học ngược, khi tìm nghiệm bằng phương pháp giải tích ta sẽ tìm được 8 bộ nghiệm đối với các biến khớp q1, q2, q3, q4, q5, q6, được cho trong bảng dưới đây: Bảng 2.2: Các nghiệm giải tích của bài toán động học ngược Nghiệm q1 q5 q3 q2 q4 q6 (1) (1) (1) (1) (1) (1) 1 q1 q5 q3 q2 q4 q6 (1) (1) (2) (2) (2) (2) 2 q1 q5 q3 q2 q4 q6 (1) (2) (3) (3) (3) (3) 3 q1 q5 q3 q2 q4 q6 (1) (2) (4) (4) (4) (4) 4 q1 q5 q3 q2 q4 q6 (2) (3) (5) (5) (5) (5) 5 q1 q5 q3 q2 q4 q6 (2) (3) (6) (6) (6) (6) 6 q1 q5 q3 q2 q4 q6 (2) (4) (7) (7) (7) (7) 7 q1 q5 q3 q2 q4 q6 (2) (4) (8) (8) (8) (8) 8 q1 q5 q3 q2 q4 q6 Chú ý. - Trong các công thức trên, ta sử dụng các ký hiệu: ()()()()k k k k ci cos( q i ); s i sin( q i ) - Nếu q5 = 0 s5 = 0, khi đó q6 có thể nhận giá trị tùy ý và khi đó hệ có vô số nghiệm. 2.2.2. Chọn nghiệm phù hợp Có thể thấy bài toán động học ngược cho ta đến 8 bộ nghiệm, từ đó nảy sinh yêu cầu chọn và kết hợp các bộ nghiệm trong miền không gian làm việc của robot một cách hợp lý để robot làm việc mềm dẻo, không giật cục, không gây ra bước 28
  31. nhảy về góc khớp. Nghiệm được chọn cũng không nên thay đổi quá nhanh về hướng, vận tốc, dẫn đến yêu cầu bước nhảy mômen động cơ cần cung cấp. Để chọn được nghiệm hợp lý nhất, ở mỗi thời điểm giải bài toán động học ngược ta cần phải biết 2 giá trị nghiệm được chọn ở 2 thời điểm liền trước nó. Giả sử nghiệm cần tìm tại thời điểm t là là q, nghiệm được chọn tại thời điểm (t - t) và (t - 2 t) là qP1 và qP2, ta lập hàm mục tiêu 2 2 W k1(q qPPPP 1 ) k 2 q ( q 1 t ( q 1 q 2 )) (2.55) Trong đó k1 là hệ số trọng lượng sai lệch của nghiệm cần tìm so với nghiệm tại tại thời điểm liền trước nó, k2 là hệ số trọng lượng sai lệch của nghiệm cần tìm so với nghiệm ngoại suy từ 2 giá trị nghiẹm chọn được liền trước, với k1 k 2 1 (2.56) Nghiệm hợp lý nhất là nghiệm mà hàm mục tiêu có giá trị nhỏ nhất. Vậy để chọn được nghiệm hợp lý, một vấn đề hết sức quan trọng đó là ta phải xác định được 2 nghiệm tại hai thời điểm liền trước. 2.2.3. Phương pháp số Cũng xuất phát từ hệ phương trình động học (2.11), ta lấy ra 6 phương trình độc lập, trong đó có 3 phương trình về vị trí và 3 phương trình về hướng: TDTDTD 1,4 6 1,4 ; 2,4 6 2,4 ; 3,4 6 3,4 (2.57) TDTDTD 1,1 6 1,1 ; 2,2 6 2,2 ; 3,3 6 3,3 Khai triển (2.57) ta nhận được hệ phương trình: xP dcs6 5 1 ccs 234 1 5 d 2 d 3 ds 4 1 acc 2 1 2 dsc 5 234 1 acc 3 1 23 yP d2 d 3 dc 4 1 dcc 6 1 5 acs 2 2 1 dss 5 234 1 asc 3 1 23 dsss 6 234 1 5 zP d1 as 3 23 as 2 2 dc 5 234 dss 6 5 234 (2.58) nx c6 s 1 s 5 c 234 c 1 c 5 s 234 c 1 s 6 s s c s c s c s s c y 6 1 5 234 1 5 234 1 6 az s234 s 5 Trong đó 3 phương trình đầu của (2.58) là 3 phương trình về vị trí, còn 3 phương trình cuối là 3 phương trình về hướng. Hệ (2.58) có thể viết lại dưới dạng phương trình vecto như sau: 29
  32. x f q (2.59) Với T x xP y P z P n x s y a z Để giải (2.59), phương pháp số được sử dụng ở đây là phương pháp Newton- Raphson có hiệu chỉnh gia lượng. Dưới đây ta trình bày nội dung của phương pháp này. Đạo hàm (2.59) theo thời gian ta thu được: x J() q q (2.60) Trong đó J là ma trận Jacobi 6 6 xác định bởi: f1  f 1  q1  q 6 f J() q    (2.61) q f  f 6 6  q1  q 6 Từ biểu thức (2.60), ta suy ra công thức xác định vecto vận tốc suy rộng các khớp: q()()t J 1 q x t (2.62) Tiếp tục đạo hàm 2 vế của (2.60) theo thời gian ta thu được: x()()()()()t J q q t J q q  t (2.63) Chuyển vế (2.63), kết hợp với (2.62) ta nhận được vecto gia tốc suy rộng của các khớp: q()()()()()()()t Jqx 1 t JqJqJqx 1 1  t 2.64) Các công thức (2.62) và (2.64) cho phép ta xác định được vecto vận tốc suy rộng và vecto gia tốc suy rộng nếu như biết được q(t) và x()t , x()t , x()t tại thời điểm khảo sát. Bây giờ ta sẽ trình bày thuật toán tìm q(t). Giả sử rôbốt làm việc tong khoảng thời gian từ t = 0 (s) đến t = T(s). Chia khoảng thời gian [0, T] làm N khoảng bằng nhau, với thời gian của mỗi khoảng là: T t N Ta có 30
  33. tk 1 t k t với k = 0, 1, , N-1 Áp dụng khai triển Taylor hàm vecto q(t) ở lân cận giá trị tk và lấy xấp xỉ ta được: 1 q(t t ) q ( t ) q ( t ) t q ( t )( t )2 (2.65) k k k2 k Từ đó, ta có sơ đồ tính toán như sau: 1  Bước 1: Cho biết q0, ta tính Jq(q0), Jq () q0 và Jq () q0 . Tính q(t 0) q  0 theo công thức (2.58) và tínhq(t 0) q0 theo công thức (2.64). Bước 2: Cho k chạy từ 0 tới N - 1, ta lần lượt tính được q(tk+1) theo công thức (2.65) và q()tk 1 , q()tk 1 theo công thức (2.62) và (2.64) Việc tính toán theo công thức (2.65) để tìm q(tk+1) cho kết quả thô, sai số lớn, vì vậy dưới đây ta sẽ trình bày thuật toán hiệu chỉnh vecto gia lượng để đạt được độ chính xác tùy ý. Để thuận tiện, ta sử dụng các kí hiệu sau: qk q()t k , qk q ()t k , qk q()t k xk x()t k , xk x ()t k , xk x ()t k Bước 1: Hiệu chỉnh gia lượng vecto tọa độ suy rộng tại thời điểm t0 = 0 Đầu tiên, ta có thể xác định vecto gần đúng của q0 bằng phương pháp vẽ hình (hoặc thực nghiệm). Sau đó áp dụng khai triển Taylor để tìm gần đúng tốt hơn của q0. Ban đầu ta có: q0 q 0 q 0 (2.66) Khai triển Taylor phương trình (2.59) ta có: f fqx( , ) fq ( qx , ) fqx (  , ) ( qxq  , ) 0 (2.67) 0 0 0 0 0 0 0q 0 0 0 Suy ra công thức gần đúng: f( q0 , x 0 ) Jq ( q  0 ) q 0  0 (2.68) Giải phương trình đại số tuyến tính (2.68) với ẩn q0 ta được: 1 q0 Jq ()(,) q 0 f q  0 x 0 (2.69) Sau đó ta tìm được xấp xỉ gần đúng mới, tốt hơn của q0 bởi: q0 q  0 q 0 (2.70) 31
  34. Nếu q0  với  là tham số dương bé cho trước, q0 là một chuẩn của q0 (có thể chọn chuẩn bình phương) thì ta lại thế vào phương trình (2.11) và lặp lại quá trình tính toán tới khi q0  . Như vậy, ta đã tìm được xấp xỉ của q0 với sai số  bé tùy ý do ta chọn. Từ đó, sử dụng công thức (2.62) và (2.64) để tìm q 0 và q0 . Bước 2: Hiệu chỉnh gia lượng vecto tọa độ suy rộng tại thời điểm tk+1 Giả sử ta đã biết qk, ta cần tìm qk+1. Trước tiên, ta xác định giá trị gần đúng của qk+1 bởi: 1 q k 1 q k J q() q k x k t (2.71) Sau đó ta xác định chính xác hơn xấp xỉ của qk+1 theo công thức: qk 1 q  k q k 1 (2.72) Để xác định qk 1 ta sử dụng khai triển Taylor: f fqx(,)(,)(,)(,) fq qx fqx  qxq  (2.73) k 1 k 1 k 1 k 1 k 1 k 1 k 1q k 1 k 1 k 1 Suy ra : 1 qk 1 J()(,) q k 1 f q  k 1 x k 1 (2.74) Kết hợp (2.65) và (2.68) cho ta giá trị xấp xỉ tốt hơn của qk+1. Nếu qk 1  thì ta tiếp tục lặp lại quá trình từ (2.65) tới (2.68) cho tới khi qk 1  , việc tính q()tk 1 , q()tk 1 theo công thức (2.62) và (2.64). 2.3. Một số kết quả mô phỏng Các thuật toán được triển khai trên môi trường MATLAB/Simulink từ việc thiết lập phương trình động học cho tới giải bài toán động học ngược bằng phương pháp số cũng như phương pháp giải tích. Ở phần này, các tác giả cũng thiết kế mô hình 3D của robot trên môi trường SoildWorks, sau đó nhúng mô hình này vào môi trường MATLAB/Simulink thông qua thư viện Simmechanics. Cách thức này cho phép ta mô phỏng 3D hoạt động của rôbốt. Để tính toán số ta cho giá trị các tham số như sau: 32
  35. a2 a 3 0.4 m ; d 1 0.3; d 2 d 3 d 4 d 5 0.2; d 6 0.15 m ; 2.3.1. Mô phỏng bài toán động học thuận Trong thực tế, chuyển động của rôbốt trong lúc làm việc thường chia làm 2 giai đoạn chính, giai đoạn 1, rôbốt nhanh chóng đạt tới vị trí mong muốn bằng chuyển động quay của 3 khớp đầu, giai đoạn 2, rôbốt thay đổi hướng của khâu thao tác bằng chuyển động quay của 3 khớp cuối. Sau khi thực hiện xong công việc, bôbốt sẽ quay lại vị trí ban đầu. Từ đó, ta giả sử quy luật chuyển động của các khớp được cho bởi phương trình: q 30 24 t q1 150; q 2 105; q 3 100 1 q 75 6 t 5 q2 75 6 t 4 t 5 ; 5 t 10 ; q3 80 4 t q5 45 18 t 5 q 75; q 45; q 30 4 5 6 q6 30 24 t 5 q1 150 24 t 10 q1 30; q 2 75; q 3 80 q 105 6 t 15 q2 75 6 t 10 4 10 t 15 ; 15 t 20 ; q 135 18 t 15 q3 80 4 t 10 5 q4 105; q 5 135; q 6 150 q6 150 24 t 15 Với các tọa độ khớp được cho như trên, sau khi mô phỏng ta được một số kết quả cho trong các hình từ 2.3 đến 2.7 Hình 2.3: Đồ thị mô tả góc quay các khớp 33
  36. Hình 2.4: Sự thay đổi về hướng của véctơ n Hình 2.5: Sự thay đổi về hướng của véctơ s Hình 2.6: Sự thay đổi về hướng của véctơ a 34
  37. Hình 2.7: Quỹ đạo điểm định vị khâu thao tác 2.3.2. Mô phỏng bài toán động học ngược + Hoạt động của Robot được khảo sát qua 2 trường hợp cơ bản: TH1: Khâu thao tác chuyển động theo đường thẳng trong T=10(s): p 0.55;p 0.2; p 0.9 0.04 t ; n 0; s 0; a 0 x y z x y z 0 0 1 0.55 1 0 0 0.2 T 0 1 0 0.9 0.04t 0 0 0 1 TH2: Khâu thao tác chuyển động theo đường tròn trong T=10(s): px 0.55;p y 0.1 R sin  t ; p z 0.9 R cos  t ; 2 2 1 nx 0; s y 0; a z 0; R 0.1 m ; 2 / 5 s 0 0 1 0.55 2 t 1 0 0 0.1 0.1sin 5 2 T 2 t 0 1 0 0.9 0.1cos 5 2 0 0 0 1 35
  38. Với các số liệu được cho như trên sau khi tính toán ta được các kết quả cho trong các hình từ 2.8 đến 2.11 Hình 2.8: Đồ thị mô tả các biến khớp khi tính bằng phương pháp số cho trường hợp 1 Hình 2.9: Đồ thị mô tả các biến khớp khi tính bằng phương pháp giải tích cho trường hợp 1 Hình 2.10: Đồ thị mô tả các biến khớp khi tính bằng phương pháp số cho trường hợp 2 36
  39. Hình 2.11: Đồ thị mô tả các biến khớp khi tính bằng phương pháp Giải tích cho trường hợp 2 Nhận xét: Kết quả bài toán động học ngược tính bằng 2 phương pháp số và phương pháp giải tích đều giống nhau, như vậy ta có một kết quả tin cậy. Ở phần tiếp theo, kết quả của bài toán động học ngược sẽ là đầu vào cho bài toán mô phỏng hoạt động của rôbốt. 37
  40. CHƯƠNG 3 MÔ PHỎNG HOẠT ĐỘNG CỦA ROBOT UR 3.1. Giới thiệu chung về kỹ thuật mô phỏng Mô phỏng là một kỹ thuật hiện đại, được áp dụng trong nhiều lĩnh vực nghiên cứu và sản xuất. Ngày nay, trước khi bắt tay vào chế tạo một sản phẩm, các nhà sản xuất luôn phải bắt đầu thiết kế, mô phỏng, tính toán sản phẩm đó trên máy vi tính nhằm có cái nhìn bao quát các vấn đề có thể xảy ra sau này. Trong lĩnh vực chế tạo robot thì bài toán mô phỏng hoạt động là một vấn đề rất quan trọng. Khi nghiên cứu về điều khiển robot có thể thực hiện điều khiển trực tiếp robot hoặc điều khiển mô phỏng. Điều khiển mô phỏng là dùng các mô hình tính toán động học và động lực học của robot kết hợp với các phương pháp đồ họa trên máy vi tính để mô tả kết cấu và hoạt động của cánh tay robot. Nghiên cứu về mô phỏng hoạt động của robot trên máy tính giúp cho các nhà thiết kế nhanh chóng chọn được phương án hình- động học của robot, có thể kiểm tra khả năng hoạt động của robot trên màn hình, kiểm tra sự phối hợp của robot với các thiết bị khác trong dây chuyền. Điều này rất có ý nghĩa trong quá trình thiết kế, chế tạo robot mới hoặc bố trí dây chuyền sản xuất. Qua mô phỏng thiết kế có thể đánh giá tương đối đầy đủ khả năng làm việc của phương án thiết kế mà không cần chế thử. Nó cũng được xem là phương tiện đối thoại, hiệu chỉnh thiết kế theo yêu cầu đa dạng của người sử dụng. Phương pháp lập trình mô phỏng cũng giúp người thiết kế chọn được quỹ đạo công nghệ hợp lý của robot trong quá trình làm việc với đối tượng cụ thể hay phối hợp với các thiết bị khác trong một công đoạn sản xuất được tự động hóa. Hiện nay có nhiều phần mềm công nghiệp và các phần mềm nghiên cứu khác nhau để mô phỏng robot, phạm vi ứng dụng và giá thành của chúng cũng khác nhau. Nhìn chung, một phần mềm mô phỏng cần đáp ứng được các yêu cầu cơ bản sau: Thiết kế được các bộ phận cấu thành nên rôbốt (các khâu, khớp, dụng cụ thao tác ). Sau đó cho phép thiết lập ràng buộc giữa các khâu và lắp ráp thành một rôbốt có cấu trúc động học theo yêu cầu thực tế. Cho phép mô phỏng hoạt 38
  41. động của robot thông qua việc cho trước dữ liệu chuyển động của các khớp hoặc của khâu thao tác Trong phạm vi chương này, sẽ mô phỏng hoạt động rôbốt bằng sự kết hợp giữa phần mềm thiết kế và phần mềm lập trình, tính toán. Cụ thể, mô hình 3D của rôbốt được thiết kế trên phần mềm SolidWorks, sau đó mô hình này được đưa vào tính toán, mô phỏng trong môi trường MATLAB/Simulink thông qua thư viện Simmechanics. 3.2. Giới thiệu thư viện Simmechanics Simmechanics là một khối thư viện trong Simulink của MATLAB, được sử dụng để mô hình hóa và mô phỏng các hệ cơ học, kết hợp với các tiện ích khác của Simulink thì đây là một công cụ mạnh, đặc biệt là trong các bài toán động lực học. Đối với các phiên bản gần đây, Simmechanics còn cho phép kết hợp với các phần mềm thiết kế 3D chuyên nghiệp như: Inventor, SolidWorks, ProEngi- neer, Sau khi thiết kế mô hình 3D trên phần mềm CAD, các đặc tính về hình học (kết cấu cơ học, hình dáng, màu sắc, kích thước ) cùng với các đặc tính về động lực học (khối lượng, trọng tâm, các tenxo quán tính khối) của chi tiết sẽ được chuyển vào môi trường MATLAB/Simulink qua thư viện Simmechanics. Từ đó, dựa trên mô hình “nhúng” này, cho phép ta thực hiện các bài toán mô phỏng phức tạp với công cụ tính toán số mạnh mẽ của MATLAB. Hình 3.1: Thư viện Simulink của MATLAB 39
  42. Trong thư viện Simmechanics cơ bản, cung cấp 7 khối chính: Bodies, Constraints & Drivers, Force Elements, Interface Elements, Joints, Sensor & Actuators và Utilities. Dưới đây, ta sẽ lần lượt xem xét chức năn của từng khối. + Khối Bodies: Cung cấp cho chúng ta 4 mô hình gồm Body, Ground, Machine Environment và Shared Environment. Chức năng chính của khối này là cung cấp các mô tả các vật rắn về các đặc tính như khối lượng, tenxo quán tính khối, các hệ tọa độ gắn vào vật rắn, các mô tả về hướng cũng như các mô tả hình dáng. Chú ý rằng các thông số này có thể nhập từ người dùng hoặc nhập từ chính mô hình vật rắn được thiết kế trên phần mềm CAD. Hình 3.2: Khối Bodies trong thư viện Simulink Hình 3.3: Khối Constraints & Drivers trong thư viện Simulink + Khối Constraints & Drivers: Cung cấp cho ta 7 mô hình: Angle Driver, Distance Driver, Gear Constraint, Linear Driver, Parallel Constraint, Point-Cruve 40
  43. Constraint và Velocity Driver. Chức năng của khối này mô tả ràng buộc giữa khâu chuyển động và khâu cố định theo một quy tắc cho trước như về khoảng cách, sự song song, quan hệ về vận tốc + Khối Force Elements và Interface Elements: Hai khối này cung cấp cho chúng ta 4 mô hình, mô tả mối quan hệ giữa 2 khâu kề nhau trong một cơ hệ, mối quan hệ này có thể là mô hình lò xo-giảm chấn, Hình 3.4: Khối Force Elements và Interface Elements trong thư viện Simulink + Khối Joints: Cung cấp cho ta các mô hình về ràng buộc giữa 2 vật rắn bất kỳ, có thể là trượt , quay tương đối với nhau, cũng có thể là gắn cứng với nhau, hoặc liên kết với nhau qua khớp cầu, Hình 3.5: Khối Joints trong thư viện Simulink + Khối Sensors & Actuators: Cung cấp cho ta các “cảm biến” để đo góc, vị trí của khớp, hoặc vị trí và hướng của các hệ tọa độ gắn trên vật rắn, đồng thời cũng cung cấp các “động cơ” để thực hiện hoạt động cho các khớp, để các khớp hoạt động thì cần có mô tả về đặc tính chuyển động của khớp như vị trí, vận tốc, gia tốc hoặc là mô tả về lực đặt vào khớp đó. 41
  44. Hình 3.6: Khối Sensors & Actuators trong thư viện Simulink Như vậy, từ các khối được cung cấp trong thư viện Simmechanics cho phép ta thực hiện việc mô hình hóa và mô phỏng chuyển động của các hệ cơ học. Ở mục tiếp theo, ta sẽ sử dụng thư viện này, kết hợp với các kết quả tính toán động học thuận, động học ngược ở chương 2 để mô phỏng hoạt động của robot. 3.3 Mô phỏng hoạt động của Robot cấp phôi Để mô phỏng hoạt động của rôbốt, đầu tiên ta cần thiết kế quỹ đạo chuyển động của khâu thao tác, dựa vào bài toán động học ngược ta sẽ tìm được chuyển động của các khớp tương ứng. Lấy kết quả này làm đầu vào cho chuyển động của mô hình robot trong môi trường Simmechanics. 3.3.1 Thiết kế quỹ đạo chuyển động Với rôbốt gắp phôi, quỹ đạo thông thường sẽ gắp vật ở vị trí P1, sau đó chuyển phôi sang vị trí P2 và quay lại vị trí P1 rồi tiếp tục lặp lại quá trình như vậy. Ở đây, ta giả sử quỹ đạo của điểm tác động cuối của khâu thao tác đi qua các 42
  45. điểm A, B, C, D, E như đồ thị hình 3.7. Robot lần lượt chuyển động theo các quỹ đạo thẳng AB, BC, quỹ đạo cong CD và cuối cùng là quỹ đạo thẳng DE. Tọa độ các điểm là A(0.55, -0.2, 0.6); B(0.55, -0.2, 0.8); C(0.45, -0.2, 0.8); D(0.2, 0.45, 0.8); E(0.2, 0.45, 0.6). Sử dụng kết quả của bài toán động học ngược ở chương 2, từ quỹ đạo chuyển động ở trên, ta tìm được chuyển động của các khớp như đồ thị ở dưới. Hình 3.7: Quỹ đạo khâu thao tác Hình 3.8: Đồ thị mô tả các tọa độ khớp 3.3.2 Mô hình robot trên phần mềm SolidWorks Trong bài toán này, ta chỉ tập trung vào vấn đề mô phỏng hoạt động, vì vậy việc thiết kế chỉ tập trung vào việc mô tả cấu trúc động học của robot (có 6 bậc tự do, các trục khớp 2,3,4 song song với nhau). 43
  46. Hình 3.9: Thiết kế mô hình rrôbốt trong Solidworks 3.3.3 Mô phỏng hoạt động trên MATLAB/Simulink 3.3.3.1. Mô hình hóa robot bằng Simmechanics Hình 3.10: Các khối mô tả các khâu của rôbốt Như đã nói ở phần trước, thư viện Simmechanics sẽ giúp ta chuyển mô hình robot từ SolidWorks sang môi trường MATLAB/Simulink. Các khớp quay sẽ được mô tả bởi các khối Revolute, các khâu được mô tả bằng khối Bodies. Hình 3.11: Nhập các tham số cho các khâu của rôbốt 44
  47. Hình trên thể hiện các đặc tính về khối lượng, tenxo quán tính cũng như tọa độ trọng tâm và các vị trí các gốc của các hệ tọa độ gắn lên khâu 1. Các đặc tính này có được từ việc ta thiết kế trên môi trường CAD. 3.3.3.2. Mô phỏng hoạt động Để mô phỏng chuyển động của robot, ta cần cung cấp quy luật chuyển động của các khớp, ở đây chính là nghiệm của bài toán động học ngược với quỹ đạo hoạt động đã thiết kế ở phần trước. Ở đây có 3 khối chính ta cần quan tâm, đó là khối giải động học ngược, khối khai báo chuyển động khớp và khối mô hình robot. Hình 3.12: Sơ đồ khối của chương trình mô phỏng chuyển động rôbốt 45
  48. KẾT LUẬN Để thiết kế chế tạo các rôbốt phục vụ cho việc đẩy mạnh công nghiệp hóa và hiện đại hóa nền công nghiệp thì việc nghiên cứu động học, động lực học và điều khiển các rôbốt là một công việc cần thiết và hết sức quan trọng. Trong đề tài này, các tác giả đã tập trung nghiên cứu các bài toán động học thuận và động học ngược và mô phỏng chuyển động của robot UR 6 bậc tự do. Đây là một trong những bài toán cơ bản nhất của việc phân tích và tổng hợp các robot. Một số kết quả đạt được trong đề tài này đó là: 1. Phân tích động học thuận robot UR. Việc giải quyết bài toán này nhằm mục đích xác định vị trí, vận tốc và gia tốc các khâu của robot, đồng thời từ phân tích này cũng giúp ta xây dựng được phương trình động học của robot, đây là cơ sở để giải bài toán phân tích động học ngược sau này. 2. Phân tích động học ngược robot UR. Đối với bài toán này, các tác giả đã đưa ra được nghiệm giải tích của các biến khớp, việc tìm ra được nghiệm giải tích sẽ giúp cho việc giải quyết bài toán điều khiển sau này trở nên đơn giản hơn rất nhiều. 3. Dựa trên các bài toán động học thuận và động học ngược, các tác giả đã xây dựng được chương trình tính toán động học ngược và mô phỏng chuyển động của robot UR. 46
  49. TÀI LIỆU THAM KHẢO [1] Nguyễn Văn Khang (2009), Động lực học hệ nhiều vật, NXB Khoa học kỹ thuật. [2] Nguyễn Văn Khang, Chu Anh Mỳ (2011), Cơ sở rôbốt công nghiệp, NXB giáo dục Việt Nam [3] Nguyễn Thiện Phúc (2006), Rôbốt công nghiệp, NXB Khoa học kỹ thuật [4] Lung Twen Sai (1999), Robot Analysis, The Mechanics of Serial and Parallel Manipulators, John Willey & Sons, INC. Pulisher. [5] Đào Văn Hiệp (2006), Kỹ thuật rôbốt, NXB Khoa học kỹ thuật. [6] Nguyễn Mạnh Tiến (2007), Điều khiển rôbốt công nghiệp, NXB Khoa học kỹ thuật. [7] Đinh Văn Phong, Đỗ Sanh, Nguyễn Trọng Thuần, Đỗ Đăng Khoa (2002),“ Tính toán động học và mô phỏng 3D rô bốt Gryphon”, Đại học Bách Khoa Hà Nội. 47