Giáo trình Robot công nghiệp

docx 156 trang ngocly 600
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Robot công nghiệp", để 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:

  • docxgiao_trinh_robot_cong_nghiep.docx

Nội dung text: Giáo trình Robot công nghiệp

  1. BỘ LAO ĐỘNG THƯƠNG BINH XÃ HỘI TỔNG CỤC DẠY NGHỀ GIÁO TRÌNH Mô đun: ROBOT CÔNG NGHIỆP NGHỀ: ĐIỆN TỬ CÔNG NGHIỆP TRÌNH ĐỘ: CAO ĐẲNG Ban hành kèm theo Quyết định số:120/QĐ-TCDN ngày 25 tháng 02 năm 2013 của Tổng cục trưởng Tổng cục Dạy nghề Năm 2013
  2. 1 TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm.
  3. 2 LỜI GIỚI THIỆU Để thực hiện biên soạn giáo trình đào tạo nghề Điện tử công nghiệp ở trình độ Cao Đẳng Nghề và Trung Cấp Nghề, giáo trình Rô bốt công nghiệp là một trong những giáo trình mô đun đào tạo chuyên ngành được biên soạn theo nội dung chương trình khung được Bộ Lao động Thương binh Xã hội và Tổng cục Dạy Nghề phê duyệt. Nội dung biên soạn ngắn gọn, dễ hiểu, tích hợp kiến thức và kỹ năng chặt chẽ với nhau, logíc. Khi biên soạn, nhóm biên soạn đã cố gắng cập nhật những kiến thức mới có liên quan đến nội dung chương trình đào tạo và phù hợp với mục tiêu đào tạo, nội dung lý thuyết và thực hành được biên soạn gắn với nhu cầu thực tế trong sản xuất đồng thời có tính thực tiễn cao. Nội dung giáo trình được biên soạn với dung lượng thời gian đào tạo 180 giờ gồm có: Bài 1: Giới thiệu chung về Robot công nghiệp Bài 2: Các phép biến đổi thuần nhất Bài 3: Phương trình động học của Robot Bài 4. Ngôn ngữ lập trình Robot Bài 5. Truyền động và điều khiển Robot Bài 6. Mô Phỏng Robot trên máy tính Trong quá trình sử dụng giáo trình, tuỳ theo yêu cầu cũng như khoa học và công nghệ phát triển có thể điều chỉnh thời gian và bổ sung những kiên thức mới cho phù hợp. Trong giáo trình, chúng tôi có đề ra nội dung thực tập của từng bài để người học củng cố và áp dụng kiến thức phù hợp với kỹ năng. Tuy nhiên, tùy theo điều kiện cơ sở vật chất và trang thiết bị, các trường có thể sử dụng cho phù hợp. Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêu đào tạo nhưng không tránh được những khiếm khuyết. Rất mong nhận được đóng góp ý kiến của các thầy, cô giáo, bạn đọc để nhóm biên soạn sẽ hiệu chỉnh hoàn thiện hơn. Các ý kiến đóng góp xin gửi về Trường Cao đẳng nghề Lilama 2, Long Thành Đồng Nai. Đồng Nai, ngày 10 tháng 06 năm 2013 Tham gia biên soạn 1. Chủ biên :Ts. Lê Văn Hiền 2. KS. Trần Xuân Thiện 3. Ths. Nguyễn Thị Hoạ My
  4. 3 MỤC LỤC TRANG LỜI GIỚI THIỆU 2 MỤC LỤC 3 BÀI 1 9 GIỚI THIỆU CHUNG VỀ RÔ BỐT CÔNG NGHIỆP 9 1. Sơ lược quá trình phát triển của robot công nghiệp (IR: Industrial Robot): 9 2. Ứng dụng của robot công nghiệp trong sản xuất: 11 3. Các khái niệm và định nghĩa về robot công nghiệp: 11 3.1. Định nghĩa robot công nghiệp: 11 3.2. Bậc tự do của robot (DOF:Degreees of Freedom): 12 3.3. Hệ toạ độ (Coordinate frames): 12 3.4. Trường công tác của robot (Workspace or range of motion): 13 4. Cấu trúc cơ bản của robot công nghiệp: 14 4.1. Các thành phần chính của robot công nghiệp: 14 4.2. Kết cấu của tay máy: 15 5. Phân loại robot công nghiệp: 17 5.1. Phân loại theo kết cấu: 17 5.2. Phân loại theo hệ thống truyền động: 17 5.3. Phân loại theo ứng dụng: 18 BÀI 2 19 CÁC PHÉP BIẾN ĐỔI THUẦN NHẤT 19 1. Hệ toạ độ thuần nhất: 19 2. Nhắc lại các phép tính về vecto và ma trận: 20 2.1. Phép nhân vector: 21
  5. 4 2.2. Các phép tính về ma trận: 21 3. Các phép biến đổi: 23 3.1. Phép biến đổi tịnh tiến: 23 3.2. Phép quay quanh các trục toạ độ: 25 3.3. Phép quay tổng quát: 26 3.4. Bài toán ngược: 29 3.5. Phép quay Euler: 32 3.6. Phép quay Roll – Pitch – Yall: 33 4. Biến đổi hệ toạ độ và mối quan hệ: 35 4.1. Biến đổi hệ toạ độ: 35 4.2. Quan hệ giữa các hệ toạ độ biến đổi: 37 5. Mô tả vật thể: 38 6. Bài tập: 40 BÀI 3 42 PHƯƠNG TRÌNH ĐỘNG HỌC CỦA RÔ BỐT 42 1. Phương trình động học của robot: 42 1.1. Dẫn nhập: 42 1.2. Bộ thông số Debavit – Hartnberg (DH) và bài toán ứng dụng: 44 1.3. Đặc trưng của các ma trận A và bài toán ứng dụng: 46 1.4. Xác định T6 theo các ma trận An và bài toán ứng dụng: 47 1.5. Trình tự thiết lập hệ phương trình động học của robot: 48 2. Phương trình động học ngược: 52 2.1. Các điều kiện của bài toán ngược: 52 2.2. Lời giải của phép biến đổi Euler và bài toán ứng dụng: 53 2.3. Lời giải của phép biến đổi Roll – Pitch – Yall và bài toán ứng dụng: 57 3. Động lực học của robot: 59 3.1. Cơ học Lagrange với các vấn đề động lực của Robot: 59 3.2. Hàm Lagrange và lực tổng quát: 61 3.3. Phương trình động lực học: 62
  6. 5 BÀI 4 70 NGÔN NGỮ LẬP TRÌNH RÔ BỐT 70 1. Giới thiệu chung về lập trình điều khiển robot: 70 2. Các mức lập trình điều khiển robot: 71 2.1. Lập trình kiểu “dạy – học”: 71 2.2. Dùng các ngôn ngữ lập trình: 71 2.3. Ngôn ngữ lập trình theo nhiệm vụ: 72 3. Phần mềm Procomm Plus For Windown: 72 3.1. Giới thiệu: 72 3.2. Ngôn ngữ lập trình Aspect trong Procomm: 75 3.3. Lập trình điều khiển robot TERGAN – 45 bằng Procomm: 85 4. Bài tập: 88 BÀI 5 89 TRUYỀN ĐỘNG VÀ ĐIỀU KHIỂN RÔ BỐT 89 1. Truyền động điện trong Robot: 89 1.1. Động cơ điện một chiều: 89 1.2. Động cơ bước: 91 2. Truyền động khí nén và thuỷ lực: 93 2.1. Truyền dẫn động khí nén: 93 2.2. Truyền dẫn động thuỷ lực: 93 3. Các thiết bị cảm biến: 93 3.1. Cảm biến vị trí: 94 3.2. Cảm biến lực: 109 3.3. Cảm biến quang: 118 4. Các phương pháp điều khiển Robot: 136 4.1. Điều khiển tỉ lệ sai lệch (PE: Propotional Error): 136 4.2. Điều khiển tỉ lệ - đạo hàm (PD: Propotional Derivative): 136 4.3. Điều khiển tỉ lệ - tích phân – đạo hàm (PID: Propotional Intergral Derivative): 137 4.4. Hàm truyền chuyển động của mỗi khớp động: 137
  7. 6 4.5. Điều khiển vị trí mỗi khớp động: 141 BÀI 6 144 MÔ PHỎNG RÔ BỐT TRÊN MÁY TÍNH 144 1. Kỹ thuật mô phỏng robot: 144 2. Giới thiệu phần mềm EASY – ROB: 145 2.1. Tìm hiểu màn hình: 146 2.2. Thao tác chuột: 149 3. Gắn hệ toạ độ và vẽ hình dáng Robot: 149 3.1. Gắn hệ toạ độ: 149 3.2. Vẽ hình dáng: 150 4. Lập trình điều khiển Robot mô phỏng: 151 TÀI LIỆU THAM KHẢO 155
  8. 7 MÔ DUN RÔ BỐT CÔNG NGHIỆP Mã mô đun: MĐ35 Vị trí, tính chất, ý nghĩa và vai trò của mô đun: Mô đun Robot Công Nghiệp là một mảng kiến thức và kỹ năng không thể thiếu được với một công nhân kỹ thuật chuyên ngành Điện Tử Công nghiệp. Các kiến thức và kỹ năng từ mô đun này giúp học sinh, sinh viên nắm bắt các kiến thức và kỹ năng thực hành rô bốt trong công nghiệp. Để có thể thực hiện tốt các nội dung của mô đun này người học cần phải nắm một số kiến thức cơ bản về kỹ năng trong mô đun kỹ thuật cảm biến, mô đun điều khiển điện khí nén, Mục tiêu của mô đun: Sau khi học xong mô đun này người học có kiến thức và kỹ năng: - Trình bày được cấu trúc của rô bốt công nghiệp - Mô tả được quá trình hoạt động của các rô bốt dùng trong công nghiệp -Lập trình và mô phỏng được các chuyển động của rô bốt -Sử dụng, bảo trì được các rô bốt công nghiệp đúng qui trình kỹ thuật -Sửa chữa được một số hư hỏng thông thường trên các rô bốt công nghiệp - Rèn luyện tính tỷ mỉ, chính xác, an toàn và vệ sinh công nghiệp Nội dung của mô đun: Thời gian Số Tên các bài trong mô đun TT Tổng Lý Thực Kiểm số thuyết hành tra* 1 Giới thiệu chung về Robot công 5 5 0 0 nghiệp 2 Các phép biến đổi thuần nhất 30 19 10 1 3 Phương trình động học của Robot 40 18 21 1 4 Ngôn ngữ lập trình Robot 20 5 14 1 5 Truyền động và điều khiển Robot 20 5 15 0
  9. 8 6 Mô phỏng Robot trên máy tính 65 5 58 2 Tổng 180 57 118 5
  10. 9 BÀI 1 GIỚI THIỆU CHUNG VỀ RÔ BỐT CÔNG NGHIỆP Mã bài: MĐ35 – 1 Giới thiệu: Trước khi bắt đầu tìm hiểu và học tập robot công nghiệp, thì người học cần nắm rõ những khái niệm về robot công nghiệp, cấu trúc cơ bản, phân loại và ứng dụng của robot công nghiệp Mục tiêu: - Trình bày được quá trình phát triển, các khái niệm và định nghĩa về rô bốt công nghiệp - Trình bày được ứng dụng và xu hướng phát triển của Rôbốt công nghiệp trong tương lai. - Rèn luyện tính tư duy, tác phong công nghiệp Nội dung chính: 1. Sơ lược quá trình phát triển của robot công nghiệp (IR: Industrial Robot): Mục tiêu: giới thiệu cho người học các kiến thức về quá trình phát triển của robot công nghiệp. Thuật ngữ “Robot” xuất phát từ tiếng Sec (Czech) “Robota” có nghĩa là công việc tạp dịch trong vở kịch Rossum’s Universal Robots của Karel 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ó lẽ đó là 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. Đầu thập kỷ 60, công ty của Mỹ AMF (American Machine Foundary Company) quảng cáo một loại máy tự động vạn năng gọi là “Người máy công nghiệp” (Industrial Robot). Về mặt kỹ thuật, những robot công nghiệp ngày nay có nguồn gốc từ hai lĩnh vực kỹ thuật ra đời sớm hơn đó là các cơ cấu điều khiển từ xa (Teleoperators) và các máy công cụ điều khiển số (NC – Numerically Controlled machine tool). Các cơ cấu điều khiển từ xa đã được phát triển mạnh trong chiến tranh thế giới lần thứ hai nhằm nghiên cứu các vật liệu phóng xạ. Các cơ cấu này
  11. 10 thay thế cho cánh tay của người thao tác gồm có một bộ kẹp bên trong và hai tay cầm bên ngoài. Cả tay cầm và bộ kẹp được nối với cơ cấu 6 bậc tự do để tạo ra hướng và vị trí tuỳ ý. Robot công nghiệp đầu tiên được chế tạo là robot Versatran của công ty AMF. Cũng trong khoản thời gian này ở Mỹ xuất hiện loại robot Unimate- 1990 được dùng đầu tiên trong kỹ nghệ ô tô. Tiếp theo Mỹ, thì các nước khác bắt đầu sản xuất robot công nghiệp như: Anh – 1967, Thuỵ Điển và Nhật – 1968 theo bản quyền của Mỹ, Cộng Hoà Liên Bang Đức – 1971, Pháp – 1972, Italia – 1973, Tính năng làm việc của robot ngày càng nâng cao, nhất là khả năng nhận biết và xử lý. Năm 1967, trường đại học Stanford (Mỹ) đã chế tạo ra mẫu robot hoạt động theo mô hình “mắt – tay”, có khả năng nhận biết và định hướng bàn kẹp theo vị trí vật kẹp nhờ các cảm biến. Năm 1974 công ty Cincinnati (Mỹ) đưa ra loại robot được điều khiển bằng máy vi tính gọi là robot T3 (The Tomoorrow Tool), robot này có khả năng nâng vật có khối lượng lên đến 40kg. Có thể nói, robot là sự tổng hợp khả năng hoạt động linh 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ệ lập trình và các phát triển của trí tuệ nhân tạo, hệ chuyên gia, Ngày nay, việc nâng cao tính năng của robot ngày càng được phát triển, nhiều robot thông minh hơn nhiều, đặc biệt là Nhật Bản đã chế tạo nhiều robot giống người như Asimo, robot có cảm giác, Một vài số liệu về công nghiệp sản xuất robot như sau: Nước sx Năm 1990 Năm 1994 Năm 1998 Nhật 60.118 29.765 67.000 Mỹ 4.327 7.634 11.100 Đức 5.845 5.125 8.600 Italia 2.500 2.408 4.000 Pháp 1.488 1.197 2.000 Anh 510 1.086 1.500 Hàn Quốc 1.000 1.200
  12. 11 2. Ứng dụng của robot công nghiệp trong sản xuất: Mục tiêu: giới thiệu cho người học hiểu rõ tầm quan trọng và ứng dụng của robot công nghiệp trong sản xuất. Từ khi mới vừa ra đời robot công nghiệp được ứng dụng trong nhiều lĩ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 lại, năng suất và hiệu quả sản xuất tăng lên rõ rệt. Múc tiêu của việc ứ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 lượ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 lao động. Lợi thế của robot là làm việc không biết mệt mỏi, có khả năng làm trong mô trường phóng xạ độc hại, nhiệt độ cao, 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á và mức độ linh hoạt cao, Ngoài các phân xưởng, nhà máy, kỹ thuật robot cũng được sử dụng trong việc khai thác thềm lục địa và đại dương, trong y học, trong quốc phòng, trong việc chinh phục vũ trụ, trong công nghiệp nguyên tử, Như vậy, robot công nghiệp được sử dụng trong nhiều lĩnh vực bởi ưu điểm của nó, tuy nhiên nó chưa linh hoạt như con người nên cũng cần con người giám sát. 3. Các khái niệm và định nghĩa về robot công nghiệp: Mục tiêu: trình bày cho người học nắm rõ các khái nhiệm và định nghĩa về robot công nghiệp. 3.1. Định nghĩa robot công nghiệp: Hiện nay có rất nhiều định nghĩa về robot, có thể điểm qua một số định nghĩa như sau: Định nghĩa theo tiêu chuẩn AFNOR (Pháp): Robot công nghiệp là một cơ cấu chuyển động tự động có thể lập trình, lặp lại các chương trình, tổng hợp các chương trình đặt ra trên các trục toạ độ; có khả năng định vị, định hướng, di chuyển các đối tượng vật chất: chi tiết, dao cụ, gá lắp, theo những hành trình thay đổi đã chương trình hoá nhằm thực hiện các nhiệm vụ công nghệ khác nhau.
  13. 12 Định nghĩa theo TIA (Robot Institute of America): Robot là một tay máy vạn năng có thể lặp lại các chương trình được thiết kế để di chuyển vật liệu, chi tiết, dụng cụ hoặc các thiết bị chuyên dùng thông qua các chương trình chuyển động có thể thay đổi để hoàn thành các nhiệm vụ khác nhau. Định nghĩa theo FOCT 25686 – 85 (Nga): Robot công nghiệp là một máy tự động, được đặt cố định hoặc di động được, liên kết giữa một tay máy và một hệ thống điều khiển theo chương trình, có thể lập trình lại để hoàn thành các chức năng vận động và điều khiển trong quá trình sản xuất. 3.2. Bậc tự do của robot (DOF:Degreees of Freedom): Bậc tự do là số khả năng chuyển động của một cơ cấu (chuyển động quay hoặc tịnh tiến). Để dịch chuyển được một vật thể trong không gian, cơ cấu chấp hành của robot phải đạt được một số bậc tự do. Nói chung cơ hệ của robot là một cơ cấu hở, do đó bậc tự do của nó có thể tính theo công thức. 5 w 6n ipi (1.1) i 1 Trong đó: - n: số khâu động - pi: số khớp loại i (i = 1,2, ,5: số bậc tự do bị hạn chế). Đối với các cơ cấu có các khâu được nối với nhau bằng khớp quay hoặc tính tiến (khớp động loại 5) thì số bậc tự do bằng số khâu động. Đối với cơ cấu hở, thì số bậc tự do bằng tổng số bậc tự do của các khớp động. Để định vị và định hướng khâu chấp hành cuối một cách tuỳ ý trong không gian 3 chiều robot cần có 6 bậc tự do, trong đó 3 bậc tự do để định vị và 3 bậc tự do để định hướng. Một số công việc đơn giản nâng hạ, sắp xếp, có thể yêu cầu số bậc tự do ít hơn. Các robot hàn, sơn, thường yêu cầu 6 bậc tự do. Trong một số trường hợp cần sự khéo léo, linh hoạt hoặc khi cần phải tối ưu hoá quỹ đạo, người ta dùng robot với số bậc tự do lớn hơn 6. 3.3. Hệ toạ độ (Coordinate frames): Mỗi robot thường bao gồm nhiều khâu (links) liên kết với nhau qua các khớp (joints), tạo thành một xích động học xuất phát từ một câu cơ bản đứng yên. Hệ toạ độ gắn với khâu cơ bản được gọi là hệ toạ độ cơ bản (hay toạ độ chuẩn). Các hệ toạ độ trung gian khác gắn với các khâu động gọi là hệ toạ độ suy rộng. Trong từng thời điểm hoạt động, các toạ độ suy rộng xác định cấu hình của robot bằng các chuyển dịch dài hoặc các chuyển dịch góc của các
  14. 13 khớp tịnh tiến hoặc khớp quay (hình 1.1). Các toạ độ suy rộng còn được gọi là các biến khớp. Hình 1.1 – Các toạ độ suy rộng của robot Các hệ toạ độ gắn trên các khâu của robot phải tuân theo quy tắc bàn tay phải: dùng tay phải, nắm hai ngón tay út và áp út vào lòng bàn tay, xoè 3 ngón sao cho ngón cái, ngón trỏ và ngón giữa theo 3 phương vuông góc, nếu chọn ngón cái là phương và chiều của trục z, thì ngón trỏ chỉ phương và chiều của trục x và ngón giữa sẽ biểu thị phương và chiều của trục y (hình 1.2). Hình 1.2 – Qui tắc bàn tay phải Trong robot ta thường dùng chữ O và chỉ số n để chỉ hệ toạ độ gắn trên khâu thứ n. Như vậy, hệ toạ độ cơ bản sẽ được ký hiệu là O 0, hệ toạ độ gắn trên các khâu trung gian tương ứng sẽ là O 1, O2, ,On-1, hệ toạ độ gắn trên khâu chấp hành cuối ký hiệu là On. 3.4. Trường công tác của robot (Workspace or range of motion): Trường công tác (hay vùng làm việc, không gian công tác) của robot là toàn bộ thể tích được quét bởi khâu chấp hành cuối khi robot thực hiện tất cả các chuyển động có thể. Trường công tác này bị ràng buộc bởi các thông số hình học của robot cũng như các ràng buộc cơ học của các khớp. Người ta thường dùng hai hình chiếu để mô tả trường công tác của một robot như hình 1.3.
  15. 14 Hình 1.3 – Biểu diễn trường công tác của robot 4. Cấu trúc cơ bản của robot công nghiệp: Mục tiêu: trình bày cho người học hiểu rõ cấu trúc cơ bản của robot công nghiệp. 4.1. Các thành phần chính của robot công nghiệp: Một robot công nghiệp thường bao gồm các thành phần chính như: cánh tay robot, nguồn động lực, dụng cụ gắn lên khâu chấp hành cuối, các cảm biến, bộ điều khiển, thiết bị dạy học, máy tính, các phần mềm lập trình cũng nên được coi là một thành phần của hệ thống robot. Mối quan hệ giữa các thành phần trong robot được mô tả như trong hình 1.4 Hình 1.4 – các thành phần chính của hệ thống robot Cánh tay robot là kết cấu cơ khí gồm các khâu liên kết với nhau bằng các khớp động để có thể tạo nên những chuyển động cơ bản của robot. Nguồn động lực là các động cơ điện, các hệ thống xy lanh khí nén, thuỷ lực để tạo động lực cho tay máy hoạt.
  16. 15 Dụng cụ thao tác được gắn trên khâu cuối cùng của robot, dụng cụ robot có thể có nhiều kiểu khác nhau như: dạng bàn tay để nắm bắt đối tượng hoặc các công cụ làm việc như mỏ hàn, đá mài, dầu phun sơn, Thiết bị dạy học dùng để dạy cho robot các thao tác cần thiết theo yêu cầu của quá trình làm việc, sau đó robot tự lặp lại các động tác đã được dạy để làm việc. Các phần mềm để lập trình và các chương trình điều khiển robot được cài đặt trên máy tính, dùng để điều khiển robot thông qua bộ điều khiển. Bộ điều khiển còn được gọi là module điều khiển (hay Unit, Driver), chúng thường được kết nối với máy tính. Một module điều khiển có thể còn có các cổng Vào – Ra (I/O port) để làm việc với nhiều thiết bị khác nhau như các cảm biến giúp robot nhận biết trạng thái của bản thân, xác định vị trí của đối tượng làm việc hoặc các dò tìm khác, 4.2. Kết cấu của tay máy: Các kết cấu của nhiều tay máy được phỏng theo cấu tạo và chức năng của tay người. Tuy nhiên, ngày nay tay máy được thiết kế rất da dạng, nhiều cánh tay robot có hình dạng khác xa cánh tay người. Trong thiết kế và sử dụng tay máy, chúng ta cần quan tâm đến các thông số hình – động học, là những thông số liên quan đến khả năng làm việc của robot như: tầm với, số bậc tự do, độ cứng vững, lực kẹp, Các khâu của robot thường thực hiện hai chuyển động cơ bản sau: - Chuyển động tịnh tiến theo hướng x, y, x trong không gian Đề Cac, thông thường tạo nên các hình khối, các chuyển động này thường ký hiệu là T (Translation) hoặc P (Prismatic). - Chuyển động quay quanh các trục x, y, x ký hiệu là R (Rotation). Tuỳ thuộc vào số khâu và sự tổ hợp các chuyển động mà tay máy có các kết cấu khác nhau với vùng làm việc khác nhau. Các kết cấu thường gặp của robot là robot kiểu toạ độ Đề Các, toạ độ trụ, toạ độ cầu, robot kiểu SCARA, hệ toạ độ góc, Robot kiểu toạ độ Đề Các: là tay máy có 3 chuyển động cơ bản tịnh tiến theo phương của các trục hệ toạ độ gốc (cấu hình T.T.T). Trường công tác có dạng khối chữ nhật. Do kết cấu đơn giản, loại tay máy này có độ cứng vững cao, độ chính xác cơ khí dễ đảm bảo, vì vậy nó thường dùng để vận chuyển phôi liệu, lắp ráp, hàn trong mặt phẳng,
  17. 16 Hình 1.5 – Robot kiểu toạ đệ Đề Các Robot kiểu toạ độ trụ: vùng làm việc của robot có dạng hình trụ rỗng. Thông thường khớp thứ nhất chuyển động quay. Ví dụ, robot có 3 bậc tự do, cấu hình R.T.T như hình 1.6. Có nhiều robot kiểu toạ độ trụ như: robot Versatran của hãng AMF. Hình 1.6 – Robot kiểu toạ độ trụ Robot kiểu toạ độ cầu: vùng làm việc của robot có dạng hình cầu, thường độ cứng vững của robot loại này thấp hơn so với hai loại trên. Hình 1.7 cho ta thấy ví dụ về robot 3 bậc tự do, cấu hình R.R.R và R.R.T làm việc theo kiểu toạ độ cầu. Hình 1.6 – Robot kiểu toạ độ cầu Robot kiểu toạ độ góc (Hệ toạ độ phỏng sinh): đây là kiểu robot được dùng nhiều. Ba chuyển động đầu tiên là các chuyển động quay, trục quay thứ nhất vuông góc với hai trục kia. Các chuyển động định hướng khác cũng là các chuyển động quay. Vùng làm việc của tay máy này gần giống một phần khối cầu. Tất cả các khâu đều nằm trong mặt phẳng thẳng đứng nên các tính toán cơ bản là bài toán phẳng. Ưu điểm nổi bật của các loại robot hoạt động
  18. 17 theo hệ toạ độ góc là gọn nhẹ, tức là có vùng làm việc tương đối lớn so với kích cở của bản thân robot, độ linh hoạt cao, Các robot hoạt động theo toạ độ góc như: robot PUMA của hãng Unimation – Nokia (Mỹ - Phần Lan), IRb- 6, IRb-60 (Thuỵ Điển), Toshia (Nhật), Hình 1.8 là một ví dụ về robot kiểu toạ độ góc có cấu hình RRR.RRR. Hình 1.8 – Robot hoạt động theo hệ toạ độ góc Robot kiểu SCARA: robot SCARA ra đời vào năm 1979 tại trường đại học Yamanashi (Nhật Bản) là một kiểu robot mới nhằm đáp ứng sự đa dạng của các quá trình sản xuất. Tên gọi SCARA là viết tắt của “Selective Compliant Articulated Robot Arm”: Tay máy mềm dẻo tuỳ ý. Loại robot này thường dùng trong công nghiệp lắp ráp nên SCARA đôi khi được giải thích là từ viết tắt của “Selective Compliant Assembly Robot Arm”. Ba khớp đầu tiên của kiểu robot này có cấu hính R.R.T, các trục khớp đều theo phương thẳng đứng. Sơ đồ của robot SCARA như hình 1.9. Hình 1.9 – Robot kiểu SCARA 5. Phân loại robot công nghiệp: Mục tiệu: trình bày cho người học hiểu rõ các phương pháp phân loại robot, các loại robot khác nhau. 5.1. Phân loại theo kết cấu: Theo kết cấu của tay máy người ta phân thành robot kiểu toạ độ Đề Các, kiểu toạ độ trục, kiểu toạ độ cầu, kiểu toạ độ góc, robot kiểu SCARA. 5.2. Phân loại theo hệ thống truyền động: Dựa vào hệ thống truyền động người ta phân loại robot công nghiệp theo các dạng như sau:
  19. 18 Hệ truyền động điện: Thường dùng các động cơ điện một chiều hoặc các động cơ bước. Loại truyền động này dễ điều khiển, kết cấu gọn. Hệ truyền động thuỷ lực: có thể đạt được công suất cao, đáp ứng những điều kiện làm việc nặng. Tuy nhiên, hệ thống thuỷ lực thường có kết cấu cồng kềnh, tồn tại độ phí tuyến lớn khó xử lý khi điều khiển. Hệ truyền động khí nén: có kết cấu gọn nhẹ hơn do không cần dẫn ngược nhưng lại phải gắn liền với trung tâm tạo ra khí nén. Hệ này làm việc với công suất trung bình và nhỏ, kém chính xác, thường chỉ thích hợp với các robot hoạt động theo chương trình định sẵn với các thao tác đơn giản như “nhất lên – đặt xuống”. 5.3. Phân loại theo ứng dụng: Dựa vào ứng dụng của robot trong sản xuất người ta phân chia robot công nghiệp thành những loại robot sau: robot sơn, robot hàn, robot lắp ráp, YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI 1:  Nội dung: - Về kiến thức: Trình bày được lịch sử phát triển, các khái niệm, định nghĩa, ứng dụng, cấu trúc và phân loại rô bốt trong công nghiệp. - Về kỹ năng: phân biệt được các loại rô bốt trong công nghiệp. - Về thái độ: Đảm bảo an toàn và vệ sinh công nghiệp.  Phương pháp: - Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp.
  20. 19 BÀI 2 CÁC PHÉP BIẾN ĐỔI THUẦN NHẤT Mã bài: MĐ35 – 2 Giới thiệu: - Để có thể tính toán robot thì người học cần nắm rõ những kiến thức về vecto và ma trận, và các phép biến đổi. Mục tiêu: - Giải được các phép tính về vecto và ma trận - Làm được các phép biến đổi - Biến đổi hệ toạ độ Nội dung chính: 1. Hệ toạ độ thuần nhất: Mục tiêu: trình bày các kiến thức cơ bản về hệ toạ độ thuần nhất. Để biểu diễn một điểm trong không gian 3 chiều, người ta dùng vecto điểm. Vecto điểm thường được ký hiệu bằng các chữ viết thường như u, v, x1, để mô tả vị trí của điểm U, V, X1, Tuỳ thuộc vào hệ qui chiếu được chọn, trong không gian 3 chiều, một điểm V có thể được biểu diễn bằng nhiều vecto điểm khác nhau. Hình 2.1 – Biểu diễn 1 điểm trong không gian vE và vF là hai vecto khác nhau, mặc dù cả hai vecto cùng mô tả điểm V. Nếu i, j, k là các vecto đơn vị của một hệ toạ độ nào đó, chẳng hạng E, ta có: v a i bj c k Với a, b, c là toạ độ vị trí của điểm V trong hệ đó. Nếu quan tâm đồng thời vấn đề định vị và định hướng, ta phải biểu diễn vecto v trong không gian bốn chiều với suất vecto là một ma trận cột.
  21. 20 x Trong đó: y v - x/w = a z - y/w = b - z/w = c w Với w là một hằng số thực nào đó. w còn được gọi là hệ số tỉ lệ, biểu thị cho chiều thứ tư ngầm định. Nếu w=1 thì ta có: x x y y z z a; b; c w 1 w 1 w 1 Trong trường hợp này, thì toạ độ biểu diễn bằng với toạ độ vật lý của điểm trong không gian 3 chiều, hệ toạ độ sử dụng w = 1 được gọi là hệ toạ độ thuần nhất. Với w = 0 thì ta có: x y z w w w Giới hạn ∞ thể hiện hướng của các trục toạ độ. Nếu w là một hằng số nào đó khác 0 và 1 thì việc biểu diễn điểm trong gian tương ứng với hệ số tỉ lệ w: Ví dụ: v 3 i 4 j 5 k Với w = 1 thì v =[3 4 5] T. Với w = -10 thì biểu diễn tương ứng là: v = [-30 -40 -50 -10]T. Theo cách biểu diễn trên, ta qui ước: [0 0 0 ] T là vecto không xác định [0 0 0 n]T với n ≠ 0 là vecto không, trùng với gốc toạ độ [x y x 0]T là vector chỉ hướng [x y x 1]T là vecto điểm trong hệ toạ độ thuần nhất 2. Nhắc lại các phép tính về vecto và ma trận: Mục tiêu: nhắc lại các kiến thức về phép tính vecto và ma trận.
  22. 21 2.1. Phép nhân vector: Cho 2 vecto: a ax i ay j az k b bx i by j bz k Ta có tích vô hướng của 2 vecto là: a.b = axbx + ayby + axbz Và tích vector là: i j k a.b ax ay az (aybz azby ) i (azbx axbz ) j (axby aybx ) k bx by bz 2.2. Các phép tính về ma trận: 2.2.1. Phép cộng, trừ ma trận: Cộng (trừ) các ma trận A và B cùng bậc sẽ có ma trận C cùng bậc, với các phần tử cij bằng tổng (hiệu) của các phần tử aij và bij (với mọi i, j). A + B = C với cij = aij + bij A – B = C với cij = aij - bij Phép cộng, trừ ma trận có các tính chất giống phép cộng, trừ số thực. 2.2.2. Tích hai ma trận: Tích của ma trận A (kích thức m x n) với ma trận B (kích thức n x p) là ma trận C có kích thước m x p. Ví dụ: cho hai ma trận 1 2 3 1 2 A 4 5 6 Và B 2 4 7 8 9 5 6 Ta có: Phép nhân hai ma trận không có tính chất giao hoán, nghĩa là: A.B ≠ B.A.
  23. 22 Ma trận đơn vị I giao hoán được với bất kỳ ma trận nào: I.A = A.I. Phép nhân ma trận tuân theo các qui tắc sau: (k.A).B = k.(A.B) = A.(k.B) A.(B.C) = (A.B).C (A + B).C = A.C + B.C C.(A + B) = C.A + C.B 2.2.3. Ma trận nghịch đảo của ma trận thuần nhất: Một ma trận thuần nhất là ma trận 4 x 4 có dạng: Ma trận nghịch đảo của T ký hiệu là T-1: (2.1) Trong đó p.n là tích vô hướng của vecto p và n, nghĩa là: p.n = px.nx + py.ny + pz.nz p.O = px.Ox + py.Oy + pz.Oz p.a = px.ax + py.ay + pz.az Phương pháp tính tích ma trận nghịch đảo này nhanh hơn nhiều so với phương pháp chung. Tuy nhiên, nó không áp dụng được cho ma trận 4x4 bất kỳ mà kết quả chỉ đúng với ma trận thuần nhất. 2.2.4. Vết của ma trận: Vết của ma trận vung bậc n là tổng của các phần tử trên đường chéo: n Trace(A) hay Tr(A) = aii i=1 Một số tính chất quan trọng của vết ma trận: Tr(A) = Tr(AT) Tr(A + B) = Tr(A) + Tr(B) Tr(A.B) = Tr(B.A)
  24. 23 Tr(ABCT) = Tr(CBTAT) 2.2.5. Đạo hàm và tích phân ma trận: Nếu các phần tử của ma trận A là hàm nhiều biến, thì các phần tử của ma trận đạo hàm bằng đạo hàm riêng của các phần tử ma trận A theo biến tương ứng. Ví dụ: Cho: Thì: Tương tự, phép tích phân của ma trận A là một ma trận có: 3. Các phép biến đổi: Mục tiêu: trình bày cho người học nắm rõ các kiến thức về các phép biến đổi ứng dụng trong robot công nghiệp. 3.1. Phép biến đổi tịnh tiến: Cho u là vecto điểm biểu diễn điểm cần biến đổi, h là vecto dẫn được biểu diễn bằng một ma trận H gọi là ma trận chuyển đổi. Ta có: v = H.u. v là vecto biểu diễn sau khi đã biến đổi. Giả sử cần tịnh tiến một điểm hoặc một vật thể theo vecto dẫn h a i b j c k . Trước hết ta có định nghĩa của ma trận chuyển đổi H:
  25. 24 (2.2) Gọi u là vecto biểu diễn điểm cần tịnh tiến: u = [x y x w]T Thì v là vecto biểu diễn điểm đã biến đổi tịnh tiến được xác định bởi: Như vậy, bản chất của phép biến đổi tịnh tiến là phép cộng vecto giữa vecto biểu diễn điểm cần chuyển đổi và vecto dẫn. Ví dụ: Cho: Thì: Và viết là: v = Trans(a,b,c)u Hình 2.2 – Phép biến đổi tịnh tiến trong không gian
  26. 25 3.2. Phép quay quanh các trục toạ độ: Giả sử ta cần quay một điểm hoặc một vật thể xung quanh trục toạ độ nào đó với góc quay 0, ta lần lược có các ma trận chuyển đổi sau: (2.3) (2.4) (2.5) Ví dụ: cho điểm U biểu diễn bởi u 7 i 3 j 2 k quay quanh trục z một góc  = 900, ta có: Nếu cho điểm đã biến đổi tiếp tục quay quanh y một góc 900 ta có: Và có thể biểu diễn: Chú ý là, nếu đổi thứ tự quay ta sẽ được w’ ≠ w (hình 2.4), cụ thể. Cho U quay quanh y trước một góc 900 ta có:
  27. 26 Sau đó cho điểm vừa biến đổi quay quanh z một góc 900, ta được: Rõ ràng ta thấy, Rot(y, 900).Rot(z, 900)u ≠ Rot(z, 900).Rot(y, 900)u Hình 2.3 Hình 2.4 w = Rot(y, 900).Rot(z, 900)u w = Rot(z, 900).Rot(y, 900)u 3.3. Phép quay tổng quát: Trong mục trên, ta vừa nghiên cứu các phép quay cơ bản xung quanh các trục toạ độ x, y, z của hệ toạ độ chuẩn O(x, y, x). Trong phần này, ta nghiên cứu phép quay quanh một vecto k bất kỳ một góc . Ràng buộc duy nhất là vecto k phải trùng với gốc của một hệ toạ độ xác định trước. Ta hãy khảo sát một hệ toạ độ C, gắn lên điểm tác động cuối (bàn tay) của robot, hệ C được biểu diễn bởi. Hình 2.5 – Hệ toạ độ gắn trên khâu chấp hành cuối (bàn tay) Khi gắn hệ toạ độ này lên bàn tay robot (hình 2.5), các vecto đơn vị được biểu thị như sau: a: là vecto có hướng tiếp cận với đối tượng
  28. 27 O: là vecto có hướng mà theo đó các ngón tay nắm vào khi cầm nắm đối tượng. n: vecto pháp tuyến với (O, a). Bây giờ, ta coi vecto bất kỳ k (mà ta cần thực hiện phép quay quanh nó một góc ) là một trong các vecto đơn vị của hệ C. Chẳng hạn: k ax i ay j az k Lúc đó, phép quay Rot(k, ) sẽ trở thành phép quay Rot(Cz, ). Nếu ta có T mô tả trong hệ gốc trong đó k là vecto bất kỳ, thì ta có X mô tả trong hệ C với k là một trong các vecto đơn vị. Từ điều kiện biến đổi thuần nhất, T và X có mối liên hệ: T = C.X Hay: X = C-1.T Lúc đó, các phép quay dưới đây là đồng nhất: Rot(k, ) = Rot (Cz, ) Hay là: Rot(k, ).T = C.Rot(z, ).X = C.Rot(z, ).C-1.T Vậy: Rot(k, ) = C.Rot(z, ).C-1. (2.6) C-1 là ma trận nghịch đảo của ma trận C, ta có: Thay các ma trận vào vế phải của phương trình (2.6) ta được: Nhân 3 ma trận này với nhau ta được:
  29. 28 (2.7) Để đơn giản cách biểu thị ma trận, ta xét các mối quan hệ sau: Tích vô hướng của bất kỳ hàng hay cột nào của C với bất kỳ hàng hay cột nào khác đều bằng 0 vì các vecto là trực giao. Tích vô hướng của bất kỳ hàng hay cột nào của C với chính nó cũng đều bằng 1 vì nó là vecto đơn vị. Vecto đơn vị z bằng tích vecto của x và y, hay là: a n.O Trong đó: - ax = nyOz - nzOy - ay = nxOz - nzOx - az = nxOy – nyOx khi cho k trùng với một trong số các vecto đơn vị của C ta đã chọn: k z = ax; ky = ay; kz = az. Ta ký hiệu Vers = 1 - cos (Versin ). Biểu thức (2.6) được rút gọn như sau: (2.8) Đây là biểu thức của phép quay tổng quát quang một vecto bất kỳ k. Từ phép quay tổng quát có thể suy ra các phép quay cơ bản quang các trục toạ độ.
  30. 29 3.4. Bài toán ngược: Trên đây, ta đã nghiên cứu các bài toán thuận, nghĩa là chỉ định trục quay và góc quay trước – xem xét kết quả biến đổi theo các phép quay đã chỉ định. Ngược lại với bài toán trên, giả sử ta đã biết kết quả của một phép biến đổi nào đó, ta phải đi tìm trục quay k và góc quay  tương ứng. Giả sử, kết quả của phép biến đổi thuần nhất là R = Rot(k, ) xác định bởi: Ta cần xác định trục quay k và góc quay . Ta đã biết Rot(k, ) được định nghĩa bởi ma trận (2.6) nên: (2.9)  Bước 1: xác định góc quay . Cộng đường chéo của hai ma trận ở hai vế ta có: Tính hiệu các phần tử tương đương của hai ma trận, chẳng hạn: (2.10) Bình phương hai vế của các phương trình trên rồi cộng lại ta có: 2 2 2 2 (Oz – ay) + (ax – nz) + (ny – Ox) = 4sin  Với 0 ≤  ≤ 1800:
  31. 30 Và trục k được định nghĩa bởi (2.11) Để ý rằng, với các công thức (2.8): 0 Nếu  = 00 thì k , k , k có dạng . Lúc này ta phải chuẩn hoá k sao x y z 0 cho | k | = 1. a 0 Nếu  = 1800 thì k , k , k có dạng . Lúc này k không xác định x y z 0 được, ta phải dùng cách tính khác cho trường hợp này: Xét các phần tử tương đương của hai ma trận (2.9): Từ đây suy ra: Trong khoảng 900 ≤  ≤ 1800 sin luôn luôn dương. Dựa vào hệ phương trình (2.10), ta thấy kx, ky, kz luôn có cùng dấu với vế trái. Ta dùng hàm Sgn(x) để biểu diễn quan hệ “cùng dấu với x”, như vậy:
  32. 31 (2.12) Hệ phương trình (2.12) chỉ dùng để xác định xem trong các kx, ky, kx thành phần nào có giá trị lớn nhất. Các thành phần còn lại nên tính theo thành phần có giá trị lớn nhất để xác định k được thuận tiện. Lúc đó, dùng phương pháp cộng các cặp còn lại của các phần tử đối xứng qua đường chéo ma trận chuyển (2.9). (2.13) Giả sử theo hệ (2.12) ta có k x là lớn nhất, lúc đó k y, kz sẽ tính theo k x bằng hệ (2.13) như sau: Ví dụ: cho R = Rot(y, 900)Rot(z, 900) hãy xác định k và  để R = Rot(k, ) 0 0 1 0 1 0 0 0 R Rot(y,900).Rot(z,900) 0 1 0 0 0 0 0 1 Ta có: cos = (nx + Oy + az -1)/2 = (0 + 0 + 0 -1)/2 = -1/2
  33. 32 Theo (2.12), ta có: Vậy: R = Rot(y, 900)Rot(z, 900)= Rot(k, 1200), với: Hình 2.6 – Tìm góc quay và trục quay tương đương 3.5. Phép quay Euler: Trên thực tế, việc định hướng thường là kết quả của phép quay xung quanh các trục x, y,z. Phép quay Euler mô tả khả năng định hường bằng cách: Quay một góc  xung quang trục z. Quay tiếp một góc  xung quanh trục y mới, đó là y’. Cuối cùng, quay một góc  quanh trục z mới, đó là z’’ (hình 2.7).
  34. 33 Hình 2.7 – Phép quay Euler Ta biểu diễn phép quay Euler bằng cách nhân 3 ma trận quay với nhau: Euler (, , ) = Rot(z, )Rot(y, )Rot(z, ) (2.14) Nói chung, kết quả của phép quay phụ thuộc chặt chẽ vào thứ tự quay. Tuy nhiên, ở phép quay Euler, nếu thực hiện theo thứ tự ngược lại, nghĩa là quay góc  quanh z rồi tiếp đến quay góc  quanh y và cuối cùng quay góc  quanh z cũng đưa đến kết quả tương tự (xét trong cùng hệ qui chiếu). Euler (, , ) = Rot(z, ) (2.15) 3.6. Phép quay Roll – Pitch – Yall: Một phép quay định hướng khác cũng thường được sử dụng là phép quay Roll – Pitch và Yaw. Ta tưởng tượng, gắn hệ toạ độ xyz lên thân một con tàu. Dọc theo thân tàu là trục x, Roll là chuyển động lắc của thân tàu, tương đương với việc quay
  35. 34 thân tàu một góc  quanh trục z. Pitch là sự bồng bềnh, tương đương với quay một góc  xung quanh trục y, và Yaw là sự lệch hướng, tương đương với một phép quay một góc  xung quanh trục x (hình 2.8). Hình 2.8 – Phép quay Roll – Pitch - Yaw Các phép quay áp dụng cho khâu chấp hành cuối của robot như hình 2.9. Ta xác định thứ tự quay và biểu diễn phép quay như sau. RPY (, , ) = Rot(z, )Rot(y, )Rot(z, ) (2.16) Hình 2.9 – Các góc quay Roll – Pitch và Yaw của bàn tay Robot Nghĩa là, quay một góc  quanh trục x, tiếp theo là quay một góc  quanh trục y và sau đó quay một góc  quanh trục z. Thực hiện phép nhân các ma trận quay, các chuyển vị Roll, Pitch và Yaw được biểu thị như sau:
  36. 35 (2.17) 4. Biến đổi hệ toạ độ và mối quan hệ: Mục tiêu: trình bày cho người học nắm rõ các kiến thức về các phép biến đổi hệ toạ độ và mối quan hệ của chúng. 4.1. Biến đổi hệ toạ độ: Giả sử cần tịnh tiến gốc toạ độ Đề Các O(0, 0, 0) theo một vecto dẫn h 4 i 3 j 7 k (hình 2.10). Kết quả của phép biến đổi là: Nghĩa là, góc ban dầu có toạ độ O(0, 0, 0) đã chuyển đổi đến gốc mới O T có toạ độ (4, -3, 7) so với hệ toạ độ cũ. Hình 2.10 – Phép biến đổi tịnh tiến hệ toạ độ
  37. 36 Tuy nhiên, trong phép biến đổi này, các trục toạ độ của OT vẫn song song và đồng hướng với các trục toạ độ của O. Nếu ta tiếp tục thực hiện các phép biến đổi quay: Ta sẽ có một hệ toạ độ hoàn toàn mới, cụ thể tại gốc toạ độ mới (4, -3, 7) 0 khi cho hệ OT quay quanh z một góc 90 (chiều quay dương qui ước là ngược chiều kim đồng hồ), ta có: Ta tiếp tục quay hệ O T quanh trục y (trục y của hệ toạ độ gốc) một góc 900, ta có: Ví dụ trên ta đã chọn hệ tạo độ cơ sở làm hệ qui chiếu và thứ tự thực hiện các phép biến đổi từ phải sang trái. Nếu thực hiện các phép biến đổi theo thứ tự ngược lại từ trái sang phải thì hệ qui chiếu được chọn là các hệ toạ độ trung gian. Xét lại ví dụ trên. Ta tiếp tục quay hệ O’ T quanh trục x (bây giờ là trục x’ T của hệ toạ độ mới) một góc 900:
  38. 37 Như vậy, kết quả của hai phương pháp quay là giống nhau, nhưng về ý nghĩa vật lý thì khác nhau. 4.2. Quan hệ giữa các hệ toạ độ biến đổi: Giả sử ta có 3 hệ toạ độ A, B, C. Hệ B có quan hệ với hệ A qua phép A B biến đổi TB và hệ C có quan hệ với hệ B qua phép biến đổi TC. Ta có điểm P trong hệ C ký hiệu là P C, ta tìm mối quan hệ của điểm P trong hệ A, tức là tìm PA (hình 2.11). Hình 2.11 – quan hệ giữa các hệ toạ độ biến đổi Chúng ta có thể biến đổi PC thành PB như sau: B PB = TCPC’ (2.18) Sau đó biến đổi PB thành PA như sau: A PA = TBPB’ (2.19) Kết hợp (2.18) và (2.19) ta có: A B PA = TB TCPC (2.20) Qua ví dụ trên ta thấy có thể mô tả mối quan hệ giữa hệ toạ độ gắn trên điểm tác động cuối với hệ toạ độ cơ bản, thông qua mối quan hệ của các hệ toạ độ trung gian gắn trên các khâu của robot, bằng ma trận T như hình 2.12.
  39. 38 Hình 2.12 – Hệ toạ độ cơ bản và các hệ toạ độ trung gian của Robot 5. Mô tả vật thể: Mục tiêu: trình bày cho người học hiểu rõ phương pháp và cách thức để mô tả vật thể. Các vật thể là đối tượng làm việc của robot rất da dạng và phong phú, tuy nhiên có thể dựa vào những đặc điểm hình học để mô tả chúng. Ta có thể chia hình dáng vật thể thành 3 nhóm chính sau: Nhóm vật thể tròn xoay: có các giá trị đặc trưng là toạ độ tâm và bán kính mặt cong Nhóm vật thể có góc cạnh: đặc trưng bằng toạ độ của các điểm giới hạn Nhóm vật thể có cấu trúc hỗn hợp: có các giá trị đặc trưng hỗn hợp Tuy nhiên, đối với hoạt động cầm nắm đối tượng và quá trình vận động của robot việc mô tả vật thể cần phải gắn liền với các phép biến đổi thuần nhất. Ta xét ví dụ sau đây: cho một vật hình lăng trụ đặt trong hệ toạ độ chuẩn O(xyz) như hình 2.13. Hình 2.13 – Mô tả vật thể Ta thực hiện phép biến đổi sau: H = Trans(4,0,0)Rot(y,900)Rot(z,900).
  40. 39 Với vị trí của vật thể, ta có ma trận toạ độ của 6 điểm đặc trưng mô tả nó là: Sau khi thực hiện các phép biến đổi: Quay vật thể quanh trục z một góc 900 (hình 2.14) Cho vật thể quay quanh trục y một góc 900 (hình 2.15) Tiếp tục tịnh tiến vật thể dọc theo trục x một đoạn bằng 4 đơn vị (hình 2.16) ta xác dịnh được ma trận toạ độ các điểm giới hạn của vật thể ở vị trí đã được biến đổi như sau (các phép quay đã chọn hệ qui chiếu là hệ toạ độ gốc). Hình 2.14 – Rot(z, 900) Hình 2.15 – Rot(y, 900)Rot(z, 900)
  41. 40 Hình 2.16 – Vị trí vật thể sau khi biến đổi 6. Bài tập: Bài tập 1: Cho điểm A biểu diễn bởi vecto điểm v = [2 4 1 1] T. Tịnh tiến điểm A theo vecto dẫn h = [1 2 1 1]T, sau đó tiếp tục quay điểm đã biến đổi quanh trục x một góc 900. Xác định vecto biểu diễn điểm A sau hai phép biến đổi. Đáp án: ketqua =[3 -2 6 1]T. Bài tập 2: Viết ma trận biến đổi biểu diễn các phép biến đổi sau: với u = [3 4 5 1] H = Trans(3, 7, 9) Rot(x, -900) Rot(z, 900) Đáp án: Tran(3,7,9) = [6 11 14 1]T Trans(3, 7, 9) Rot(z, 900) = [-11 6 14 1]T H = [-11 14 -6 1] YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI 2:  Nội dung: - Về kiến thức: Trình bày được các kiến thức về vecto và ma trận, các phép biến đổi, biến đổi hệ tọa độ. Phương pháp mô tả vật thể. - Về kỹ năng: Áp dụng các phép biến đổi để biến đổi hệ tọa độ và mô tả vật thể. - Về thái độ: Đảm bảo an toàn và vệ sinh công nghiệp.  Phương pháp:
  42. 41 - Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp.
  43. 42 BÀI 3 PHƯƠNG TRÌNH ĐỘNG HỌC CỦA RÔ BỐT Mã bài: MĐ35 – 3 Giới thiệu: - Để tìm hiểu và tính toán về robot thì người học cần nắm rõ những kiến thức, phương trình động học liên quan đến robot. Mục tiêu: - Trình bày được các bước thiết lập hệ phương trình động học - Giải được hệ phương trình động học của robot - Xác định được các mô men và lực động trong quá trình robot hoạt động - Tính và khắc phục được các sai số trong quá trình robot di chuyển Nội dung chính: 1. Phương trình động học của robot: Mục tiêu: trình bày cho người học nắm rõ các kiến thức về phương trình động học của robot 1.1. Dẫn nhập: Bất kỳ môt robot nào cũng có thể coi là một tập hợp các khâu (links) gắn liền với các khớp (joints). Ta hãy đặt trên mỗi khớp của robot một hệ tọa độ. Sử dụng các phép biến đổi một cách thuần nhất có thể mô tả vị trí tương đối và hướng giữa của hệ tọa độ này. DENAVIT.J đã gọi biến đổi thuần nhất mô tả quan hệ giữa một khâu và một khâu kế tiếp là một ma trận A. Nói đơn giản hơn, một ma trận A là một mô tả biến đổi thuần nhất bởi phép tịnh tiến tương đối giữa hệ tọa độ của hai khâu liền nhau. A 1 mô tả vị trí và hướng của khâu đầu tiên; A2 mô tả vị trí và hướng của khâu thứ hai so với khâu thứ nhất. Như vậy vị trí và hướng của khâu thứ hai so với hệ tọa độ gốc được biểu diễn bởi ma trận: T1 = A1.A2 Cũng như vậy, A3 mô tả khâu thứ ba so với khâu thứ hai và: T3=A1.A2.A3; vv . Cũng theo Denavit, tích của các ma trận A được gọi là ma trận T, thường có hai chỉ số: trên và dưới. Chỉ số trên chỉ hệ tọa độ tham chiếu tới, bỏ qua chỉ số trên nếu chỉ số đó bằng 0. Chỉ số dưới thường dùng để chỉ khâu chấp hành cuối. Nếu một robot có 6 khâu ta có:
  44. 43 T6 = A1.A2.A3.A4.A5.A6 (3.1) T6 mô tả mối quan hệ về hướng và vị trí của khâu chấp hành cuối đối với hệ tọa độ gốc. Một robot 6 khâu có thể có 6 bậc tự do và có thể được định vị trí và định hướng trong trường vận động của nó (range of motion). Ba bậc tự do xác định hướng và vị trí và định hướng thuần túy và ba bậc tự do khác xác định hướng mong muốn. T6 sẽ là ma trận trình bày cả hướng và vị trí của robot. Hình 3.1 mô tả quan hệ đó với bàn tay máy. Ta đặt gốc tọa độ của hệ mô tả tại điểm giữa của các ngón tay. Gốc tọa độ này được mô tả bởi vectơ p (xác định vị trí của bàn tay). Ba vectơ đơn vị mô tả hướng của bàn tay được xác định như sau: Hình 3.1 – Các vectơ định vị trí và định hướng của bàn tay máy Vectơ có hướng mà theo đó bàn tay sẽ tiếp cận đến đối tượng, gọi là vectơ a (approach). Vectơ có hướng mà theo đó các ngón tay của bàn tay nắm vào nhau khi cầm nắm đối tượng, gọi là vectơ o (Occupation). Vectơ cuối cùng là vectơ pháp tuyến (normal), do vậy ta có: Chuyển vị trí T6 như vậy sẽ bao gồm các phần tử : (3.2) Tổng quát, ma trận T6 có thể biểu diễn gọn như sau: (3.3) Ma trận R có kích thước 3x3, là ma trận trực giao biểu diễn hướng của bàn kẹp (khâu chấp hành cuối) đối với hệ tọa độ cơ bản. Việc xác định hướng
  45. 44 của khâu chấp hành cuối còn có thể thực hiện theo phép quay Euler hay phép quay Roll, Pitch, Yaw. Vectơ điểm p có kích thước 3x1, biểu diễn mối quan hệ toạ độ vị trí của gốc tọa độ gắn trên khâu chấp hành cuối đối với hê tọa độ cơ bản. 1.2. Bộ thông số Debavit – Hartnberg (DH) và bài toán ứng dụng: Một robot nhiều khâu cấu thành từ các khâu nối tiếp nhau thông qua các khớp động. Gốc chuẩn (Base) của một robot là khâu số 0 và không tính vào số các khâu. Khâu 1 nối với khâu chuẩn bởi khớp 1 và không có khớp ở đầu mút của khâu cuối cùng. Bất kỳ khâu nào cũng được đặc trưng bởi hai kích thước : Độ dài pháp tuyến chung: an Góc giữa các trục trong mặt phẳng vuông góc với an : αn. Hình 3.2 – Chiều dài và góc xoắn của 1 khâu. Thông thường, người ta gọi a n là chiều dài và α n là góc xoắn của khâu (Hình 3.2). Phổ biến là hai khâu liên kết với nhau ở chính trục của khớp (Hình 3.3). Hình 3.4 – Các thông số của khâu : θ, d, a và α
  46. 45 Mỗi trục sẽ có hai pháp tuyến với nó, mỗi pháp tuyến dùng cho mỗi khâu (trước và sau một khớp). Vị trí tương đối của hai khâu liên kết như thế được xác định bởi d n là khoảng cách giữa các pháp tuyến đo dọc theo trục khớp n và θn là góc giữa các pháp tuyến đo trong mặt phẳng vuông góc với trục. dn và θn thường được gọi là khoảng cách và góc giữa các khâu. Để mô tả mối quan hệ giữa các khâu ta gắn vào mỗi khâu một hệ tọa độ. Nguyên tắc chung để gắn hệ tọa độ lên các khâu như sau: Gốc của hệ tọa độ gắn lên khâu thứ n đặt tại giao điểm của pháp tuyến an với trục khớp thứ n+1. Trường hợp hai trục khớp cắt nhau, gốc tọa độ sẽ đặt tại chính điểm cắt đó. Nếu các khớp song song với nhau, gốc tọa độ được chọn trên khớp của khâu kế tiếp, tại điểm thích hợp. Trục z của hệ tọa độ gắn lên khâu thứ n đặt dọc theo trục khớp thứ n+1. Trong trường hợp các trục khớp cắt nhau thì trục x chọn theo tích vectơ X Z n Z n 1 . Trường hợp khớp quay thì θ n là các biến khớp, trong trường hợp khớp tịnh tiến thì dn là biến khớp và an bằng 0. Các thông số an , αn, dn, và θn được gọi là bộ thông số DH. Ví dụ 1: Xét một tay máy có hai khâu phẳng như hình 3.4: Hình 3.4 – Tay máy có hai khâu phẳng (vị trí bất kỳ). Ta gắn các hệ tọa độ lên các khâu như hình vẽ: trục z 0, z1 và z2 vuông góc với tờ giấy. Hệ tọa độ cở là O 0x0y0z0, chiều của x 0 hướng từ O 0 và đến O 1. Sau khi thiết lập hệ tọa độ cơ sở, hệ tọa độ O 1x1y1z1 có hướng như hình vẽ, O 1 đặt tại tâm trục khớp 2. Hệ tọa độ O2x2y2z2 có gốc O2 đặt tại điểm cuối của khâu 2.
  47. 46 Bảng thông số Denavit-hartenbert của tay máy này như sau: Trong đó θi là các biến khớp (dùng dấu * để ký hiệu các biến khớp). Ví dụ 2: Xem sơ đồ robot SCARA có 4 khâu như hình 3.5: Đây là robot có cấu hình kiểu RRTR,bàn tay có chuyển động xoay xung quanh trục đứng. Hệ tọa độ gắn lên các khâu như hình vẽ. Hình 3.5 – Robot SCARA và các hệ tọa độ (vị trí ban đầu). Đối với tay máy này các trục khớp đều song song nhau, để tiện lợi tất cả các gốc tọa độ đặt tại tâm các trục khớp. Trục x0 nằm trong mặt phẳng tờ giấy. Các hệ tọa độ khác nhau như hình vẽ. Bảng thông số DH của robot SCARA như sau : *: Các biến khớp. 1.3. Đặc trưng của các ma trận A và bài toán ứng dụng: Trên cơ sở các hệ tọa độ đã ấn định cho tất cả các khâu liên kết của robot, ta có thể thiết lập mối quan hệ giữa các hệ tọa độ nối tiếp nhau (n-1), (n) bởi các phép quay tịnh tiến sau đây : Quay quanh zn-1 một góc θn
  48. 47 Tịnh tiến dọc theo zn-1 một khoảng dn Tịnh tiến dọc theo xn-1 = xn một đoạn an Quay quanh xn một góc xoắn αn Bốn phép biến đổi thuần nhất này thể hiện quan hệ tọa độ thuộc khâu thứ n so với hệ tọa độ thuộc khâu thứ n-1và tích của chúng được gọi là ma trận A: (3.4) (3.5) Đối với khớp tịnh tiến (a = 0 và θi = 0) thì ma trận A có dạng: (3.6) Đối với một khâu đi theo một khớp quay thì d, a và α là hằng số. Như vậy ma trận A của khớp quay là một hàm số của biến khớp . Đối với một khâu đi theo khớp tịnh tiến thì , α là hằng số. Ma trận A của khớp tịnh tiến là một hàm số của biến d. Nếu các biến số được xác định thì giá trị của các ma trận A theo đó cũng được xác định. 1.4. Xác định T6 theo các ma trận An và bài toán ứng dụng: Ta đã biết: T6 = A1A2A3A4A5A6 Trong đó T 6 được miêu tả trong hệ tọa độ gốc (hệ tọa độ gắn với các khâu cơ bản, cố định của robot). Nếu mô tả T 6 theo các hệ tọa độ trung gian thứ n-1 thì:
  49. 48 Trong trường hợp tổng quát, khi xét quan hệ của robot với các thiết bị khác, nếu hệ tọa độ cơ bản của robot có liên hệ với một hệ tọa độ nào đó bởi phép biến đổi Z, khâu chấp hành cuối lại có gắn một công cụ, có quan hệ cụ thể bởi phép biên đổi E (hình 3.6) thì vị trí và hướng của điểm cuối của công cụ, khảo sát hệ ở hệ tọa độ tham chiếu mô tả bởi X sẽ được xác định Hình 3.5 – Vật thể và robot bởi : X = ZT6E Quan hệ này được thể hiện trên toán đồ sau : Hình 3.6 – Toán đồ chuyển vị của robot. -1 -1 -1 -1 Từ toán đồ này ta có thể rút ra: T 6 = Z X E (Z và E là các ma trận nghịch đảo). 1.5. Trình tự thiết lập hệ phương trình động học của robot: Để thiết lập phương trình động học của robot, ta tiến hành theo các bước sau: Chọn hệ tọa độ cơ sở, gắn các hệ tọa độ mở rộng lên các khâu. Việc gắn hệ tọa độ lên các khâu đóng vai trò rất quan trọng khi xác lập hệ phương trình động học của robot, thông thường đây cũng là bước khó nhất. Trong thực tế, các trục khớp của robot thường song song hoặc vuông góc với nhau, đồng thời thông qua các phép biến đổi của ma trận A ta có thể xác định các hệ tọa độ gắn trên các khâu của robot theo trình tự sau: Giả định một vị trí ban đầu (Home position) của robot.
  50. 49 Chọn gốc tọa độ O0, O1, Các trục Zn phải chọn cùng phương với trục khớp thứ n+1. Chọn trục X n là trục quay của Z n thành Zn+1 và góc của Z n với Z n+1 chính là αn+1. Nếu Zn và Zn+1 song song hoặc trùng nhau thì ta có thể căn cứ nguyên tắc chung hay chọn Xn theo Xn+1. Các hệ tọa độ Oxyz phải tuân theo qui tắc bàn tay phải. Khi gắn hệ tọa độ lên các khâu, phải tuân theo các phép biến đổi của ma trận An. Đó là bốn phép biến đổi: An = Rot(z,θ) Trans(0,0,d) Trans(a,0,0) Rot(x,α). Nghĩa là ta coi hệ tọa độ thứ n+1 là biến đổi của hệ tọa độ thứ n; các phép quay và tịnh tiến của biến đổi này phải là trong các phép biến đổi của An , các thông số DH cũng được xác định dựa vào các phép biến đổi này. Trong quá trình gắn hệ tọa độ lên các khâu, nếu xuất hiện phép quay của trục Zn đối với Zn+1 quanh trục yn-1 thì vị trí ban đầu của robot đã giả định là không đúng, ta cần chọn lại vị trí ban đầu khác cho robot. Lập bảng thông số DH (Denavit-Hartenberg) Dựa vào các thông số DH xác định các ma trận An Tính các ma trận T và viết các phương trình động học của robot Ví dụ sau đây trình bày chi tiết của các bước khi thiết lập hệ phương trình động học của robot: Cho một robot có ba khâu, cấu hình như RRT như hình 3.7. Hãy thiết lập hệ phương trình động học của robot. Hình 3.7 – Robot RRT B1 – Gắn hệ tọa độ lên các khâu: Ta giả định vị trí ban đầu và chọn gốc tọa độ O 0 của robot như hình 3.8. Các trục z đặt cùng phương với các trục khớp.
  51. 50 Ta thấy trục z 1 đã quay tương 0 đối một góc 90 so với trục z 0, đây chính là phép quay quanh trục x0 một góc α 1 (phép biến đổi Rot(x0, α1) trong biểu thức tính A n). Nghĩa là trục x0 vuông góc với z0 và z1. Ta chọn chiều của x 0 từ trái sang phải 0 thì góc quay α1 = 90 (chiều dương ngược chiều kim đồng hồ). Đồng thời ta cũng thấy góc O1 đã tịnh tiến một đoạn dọc theo z0, so với Hình 3.8 – Gắn các hệ tọa độ O0 và O1 O0, đó chính là phép biến đổi Trans(0,0,d1) (tịnh tiến dọc theo z 0 một đoạn d1); các trục y0 và y1 xác định theo quy tắc bàn tay phải (Hình 3.8). Tiếp tục chọn gốc tọa độ O2 đặt trùng với O1 vì trục khớp thứ ba và trục khớp thứ hai cắt nhau tại O 1 (như hình 3.8). trục z2 cùng phương với trục khớp thứ ba, tức là đã quay 0 đi một góc 90 so với z1 quanh trục y1; phép biển đổi này không có trong biểu thức tính A n nên không dùng được, ta cần chọn lại vị trí ban đầu của robot (thay đổi vị trí của khâu thứ 3) như hình 3.9. Theo hình 3.9, O vẫn được 2 Hình 3.9 – Hệ tọa độ gắn lên các khâu đặt trùng với O1, trục z2 có phương thẳng đứng, nghĩa là ta đã quay trục z1 thành z2 quanh trục x1 một góc - 0 0 90 (tức là α2 = -90 ). Đầu cuối của khâu thứ 3 không có khớp, ta đặt O3 tại điểm giữa của các ngón tay, và trục z3, x3 chọn như hình vẽ, như vậy ta đã tịnh tiến gốc tọa độ dọc theo z 2 một đoạn d3 (Phép biến đổi Trans(0,0,d3)), vì đây là khâu tịnh tiến nên d3 là biến.
  52. 51 Như vậy việc gắn các hệ tọa độ lên các khâu của robot đã hoàn thành. Thông qua các tích phân tích trên đây ta có thể xác định được các thông số DH của robot. B2 – Lập bảng thông số DH: B3 – Xác định các ma trận A: Ma trận An có dạng : Với qui ước viết tắt: C1 = cosθ1; S1 = sinθ1; C2 = cosθ2 . B4 – Tính các ma trận biến đổi thuần nhất T: 2 Ma trận T3 = A3 1 2 Ma trận T3 = A2. T3
  53. 52 1 Ma trận T3 = A1 . T3 Ta có hệ phương trình động học của robot như sau : (Ta có thể sơ bộ kiểm tra kết quả tính toán bằng cách dựa vào tọ độ vị trí px, py, pz đã tính so với cách tính hình học trên hình vẽ). 2. Phương trình động học ngược: Mục tiêu: trình bày cho người học nắm rõ các kiến thức về phương trình động học ngược của robot. 2.1. Các điều kiện của bài toán ngược: Việc giải bài toán động học ngược của robot cần thoả mãn các điều kiện sau: Điều kiện tồn tại nghiệm: Điều kiện này nhằm khẳng định: Có ít nhất một tập nghiệm (1, * 2, ,6di ) sao cho robot có hình thể cho trước. (“Hình thể” là khái niệm mô tả tường minh của vectơ cuối T6 cả về vị trí và hướng). Điều kiện duy nhất của tập nghiệm: Trong khi xác định các tập nghiệm cần phân biệt rõ hai loại nghiệm : Nghiệm toán (Mathematical Solution): Các nghiệm này thoả mãn các phương trình cho trước của T6.
  54. 53 Nghiệm vật lý (Physical Solution): là các tập con của nghiệm toán, phụ thuộc vào các giới hạn vật lý (giới hạn về góc quay, kích thước ) nhằm xác định tập nghiệm duy nhất. Việc giải hệ phương trình động học có thể được tiến hành theo hai phương pháp cơ bản sau: Phương pháp giải tích (Analytical Method): Tìm ra các công thức hay các phương trình toán giải tích biểu thị quan hệ giữa các giá trị của không gian biến trục và các thông số khác của bộ thông số DH. Phương pháp số (Numerical Method): Tìm ra các giá trị của tập nghiệm bằng kết quả của một quá trình lặp. 2.2. Lời giải của phép biến đổi Euler và bài toán ứng dụng: Phương trình Euler mô tả hướng của khâu chấp hành cuối: Tập nghiệm muốn tìm là các , ,  khi đã biết ma trận biến đổi đồng nhất T6 (còn gọi là ma trận vectơ cuối). Nếu ta có các giá trị số của các phần tử trong ma trận T6 thì có thể xác định được các góc , ,  Euler thích hợp. Như vậy ta có : (3.7) Ta có: (3.8) Lần lượt cho cân bằng các phần tử tương ứng của hai ma trận trong phương trình (3.8) ta có các phương trình sau: (3.9) (3.10) (3.11) (3.12)
  55. 54 (3.13) (3.14) (3.15) (3.16) (3.17) Ta thử giải hệ phương trình này để tìm , ,  như sau: Từ (3.17) ta có: (3.18) Từ (3.15) ta có: (3.19) Từ (3.11) và (3.18) ta có: (3.20) Trong đó ta đã dùng ký hiệu cos-1 thay cho hàm arccos. Nhưng các kết quả đã giải ở trên chưa dùng được vì các lý do dưới đây: Hàm arccos không chỉ biểu hiện cho một góc chưa xác định mà về độ chính xác nó lại phụ thuộc vào chính góc đó, nghĩa là: - Cos = cos(-):  chưa được xác định duy nhất. - dcos/d|0.180 = 0:  xác định không chính xác Trong lời giải đối với  và  một lần nữa chúng ta lại dùng arccos và chia cho sin, điều này dẫn tới sự mất chính xác khi  có giá trị lân cận giá trị 0. Các phương trình (3.19) và (3.20) không xác định khi =0 hoặc = 1800. Do vậy chúng ta cần phải cẩn thận hơn khi chọn lời giải. Để xác định các góc khi giải bài toán ngược của robot ta phải dùng hàm arctg2 (y,x) (hàm arctang hai biến). Hàm arctg2 nhằm mục đích xác định được góc thực - duy nhất khi xét dấu của hai biến y và x. Hàm số trả về giá trị góc trong khoảng - ≤0< . Ví dụ: arrctang 2(-1/-1) = -1350 arctg2(1/1) = 450
  56. 55 Hàm này xác định ngay cả khi x hoặc y bằng 0 và cho kết quả đúng. Hình 3.10 – Hàm arctg2(y,x) Để có thể nhận được những kết quả chính xác của bài toán Euler, ta thực -1 hiện thủ thuật toán học sau: Nhân T6 với ma trận quay nghịch đảo Rot(z, ) , ta có: (3.21) Vế trái của phương trình (3.21) là một hàm số của ma trận T và góc quay . Ta thực hiện phép nhân ma trận ở vế phải của (3.21), tìm ra các phần tử của ma trận có giá trị bằng 0 hoặc bằng hằng số, cho các phần tử này cân bằng với những phần tử tương ứng của ma trận ở vế trái, cụ thể từ (3.21) ta có: (3.22) Tích hai ma trận ở vế trải của phương trình (3.22) là một ma trận mà có thể được viết gọn lại bằng các ký hiệu sau: Trong đó: - f11 = cosx + siny (3.23) - f12 = -sinx + cosy (3.24) - f13 = z (3.25)
  57. 56 Và x, y, x là các phần tử của vector xác định bởi các dữ kiện f11, f12, f13, ví dụ: Như vậy phương trình (3.22) có thể được viết thành: (3.26) Khi tính toán vế trái, ta chú ý rằng p x, py, pz bằng 0 vì phép biến đổi Euler chỉ toàn phép quay không chứa một phép biến đổi tịnh tiến nào, nên f11(p) = f12(p) = f13(p) = 0. Từ phương trình (3.26), cho cân bằng phần tử ở hàng 2 cột 3 ta có: (3.27) Cộng hai vế với sinax và chia cho cosax ta có: Góc  có thể xác định bằng hàm arctg hai biến: Ta cũng có thể giải phương trình (3.27) bằng cách cộng hai vế với - cosay rồi chia hai vế cho –cosax, triệt tiêu –ax ở vế trái và cos ở vế phải, ta có: Trong trường hợp này góc  tìm được là: Như vậy phương trình (3.27) có một cặp nghiệm cách nhau 180 0 (đây là nghiệm toán) và ta có thể viết:
  58. 57 (hiểu theo cách viết khi lập trình trên máy tính). Nếu cả ax và ay đều bằng 0 thì góc  không xác định được. Điều đó xảy ra khi bàn tay chỉ thẳng lên trên hoặc xuống dưới và cả hai góc  và  tương ứng với cùng một phép quay. Điều này được coi là một phép suy biến (degeneracy), trong trường hợp này ta cho  = 0. Với giá trị của  nhận được, các phần tử ma trận ở vế bên trái của phương trình (3.27) sẽ được xác định. Tiếp tục so sánh các phần tử của hai ma trận ta có: Vậy: Khi cả hai hàm sin và cos đều được xác định như trường hợp trên, thì góc thường được xác định duy nhất và không xảy ra trường hợp suy biến như góc  trước đây. Cũng từ phương trình (3.27) ta có: Vậy: Tóm lại, nếu cho trước một phép biến đổi đồng nhất dưới dạng các phép quay, ta có thể xác định các góc Euler tương ứng là: 2.3. Lời giải của phép biến đổi Roll – Pitch – Yall và bài toán ứng dụng: Phép biến đổi Roll, Pitch và Yaw được đã được định nghĩa: Việc giải phương trình: T6 = RPY(, , ) sẽ xác định được các góc ,  và . Cách giải được tiến hành tương tự như khi thực hiện lời giải cho phép -1 quay Euler. Nhân T6 với ma trận nghịch đảo Rot(z, ) , ta có:
  59. 58 Hay là: (3.28) Trong đó: - f11 = cosx + siny - f12 = -sinx + cosy - f13 = z cân bằng phần tử ở hàng 2 cột 1: f12(n) = 0, ta có: Phương trình này cho ta hai nghiệm như đã biết: Và: Tiếp tục cân bằng các phần tử tương ứng của hai ma trận ta có: Do vậy: Ngoài ra ta còn có: Nên: Như vậy ta đã xác định được các góc quay Roll, Pitch và Yaw theo các phần tử của ma trận T6.
  60. 59 3. Động lực học của robot: Mục tiêu: trình bày cho người học nắm rõ các kiến thức về động học của robot. 3.1. Cơ học Lagrange với các vấn đề động lực của Robot: Hàm Lagrange của một hệ thống năng lượng được định nghĩa: L = K - P (3.29) Trong đó: - K là tổng động năng của hệ thống - P là tổng thế năng K và P đều là những đại lượng vô hướng nên có thể chọn bất cứ hệ toạ độ thích hợp nào để bài toán được đơn giản. Đối với một robot nó n khâu ta có: và Ở đây, Ki và Pi là động năng và thế năng của khâu thứ i xét trong hệ toạ độ chọn.Ta biết mỗi đại lượng Ki và Pi là một hàm số phụ thuộc nhiều biến số: và Với qi là toạ độ suy rộng của khớp thứ i. Nếu khớp thứ i là khớp quay thì qi là góc quay i, nếu là khớp tịnh tiến thì qi là độ dài tịnh tiến di. Ta định nghĩa: Lực tác dụng lên khâu thứ i (i =1, 2, , n) với quan niệm là lực tổngquát (Generalized forces), nó có thể là một lực hoặc một momen (phụ thuộc vào biến khớp q là tịnh tiến hoặc quay), được xác định bởi: (3.30) Phương trình này được gọi là phương trình Lagrange - Euler, hay thường được gọi tắt là phương trình Lagrange. Ví dụ: Xét một robot có hai khâu như hình vẽ, các khâu có chiều dài là d 1 và d2 với các khối lượng tương ứng m 1 và m2 qui đổi về đầu mút của khâu. Robot được đặt thẳng đứng chịu gia tốc trọng trường g. Các khớp chuyển động quay với các biến khớp 1 và 2. Tính lực tổng quát.
  61. 60 Qua ví dụ này, chỉ với một mối liên kết hai khâu, các vấn đề đặt ra đều đã có mặt trong quá trình nghiên cứu động lực học, và do đó, ví dụ nêu trên có thể mở rộng để áp dụng trong những trường hợp phức tạp hơn. Đối với khâu 1: Đối với khâu 2: Về toạ độ: Chiều cao thế năng: Về mặt vận tốc: Với: Động năng và thế năng sẽ là:
  62. 61 3.2. Hàm Lagrange và lực tổng quát: Áp dụng hàm Lagrange cho ví dụ trên, ta có: (3.31) Khi tính lực tổng quát, các biến của hệ: q1 = 1 và q2 = 2 Đối với khâu 1: Và: Vậy: (3.32) Muốn cho khâu 1 quay được một góc 1 thì động cơ phải tạo ra một lực tổng quát F1. Lực tổng quát này có đặc tính phi tuyến, là hợp tác dụng của nhiều yếu tố (non linear and cuppling). Tương tự, để tính lực tổng quát của khâu thứ hai, ta có :
  63. 62 Và: Vậy: (3.33) 3.3. Phương trình động lực học: Xét khâu thứ i của một robot có n khâu. Tính lực tổng quát F i của khâu thứ i với khối lượng vi phân của nó là d m. Lực tổng quát F i đóng vai trò rất quan trọng khi xây dựng sơ đồ khối để thiết lập hàm điều khiển cho robot có n bậc tự do. Vận tốc của một điểm trên robot: Một điểm trên khâu thứ i được mô tả trong hệ toạ độ cơ bản là: i r = Ti. r (3.34) Trong đó : ir là toạ độ của điểm xét đối với khâu thứ i, ir không thay đổi theo thời gian. Ti là ma trận chuyển đổi từ khâu thứ i về hệ toạ độ gốc: Ti=A1A2 Ai. Như vậy r là một hàm của thời gian t. Tốc độ của vi khối lượng dm được tính bởi công thức: (3.35) Khi tính bình phương của vận tốc này ta có: (3.36)
  64. 63 Hình 3.11 – Khảo sát tốc độ của vi khối lượng dm Với rT là chuyển vị vector và Tr là viết tắt của Trace (vết của ma trận): Hay: Do vậy: (3.37)
  65. 64 Tính động năng của vi khối lượng dm: Ký hiệu K i là động năng của khâu thứ i, dK i là động năng của vi khối i lượng dm đặt tại vị trí r trên khâu thứ i. (3.38) Và do đó, động năng của khâu thứ i sẽ là: (3.39) Đặt ma trận giả quán tính: Ý nghĩa "giả quán tính" được sử dụng vì khi thiết lập đầy đủ các phần tử của ma trận Ji ta có thể liên hệ với các khái niệm "mômen quán tính độc cực" và trình bày các phần tử của J i giống như các phần tử của mômen quán tính độc cực. Ta xét mối quan hệ này như sau: Theo như định nghĩa ta có: (3.40) Hình 3.12 – Mô mô men quán tính độc cực
  66. 65 Bây giờ ta nhắc lại mô men quán tính cực độc của một vật thể bất kỳ như hình 3.12. Theo định nghĩa ta có: Và vì: Vậy: Ngoài ra, ta còn có: Đối chiếu với ma trận giả quán tính Ji, ta có thể trình bày Ji như sau: (3.41) Như vậy ý nghĩa của biểu trưng Ji đã rõ. Vậy ta có: (3.42) Cuối cùng, động năng của một robot có n khâu được tính:
  67. 66 (3.43) Thế năng của robot: Thế năng của khâu thứ i có khối lượng m i, trọng tâm được xác định bởi vector ri (vector biểu diễn trọng tâm của khâu i trong hệ toạ độ cơ bản) là: (3.44) Trong đó, vector gia tốc trọng trường g được biểu diễn dưới dạng một ma trận cột: Thế năng của toàn cơ cấu robot n khâu động sẽ là: (3.45) Hàm Lagrange: Sau khi xác định động năng và thế năng của toàn cơ cấu, ta có hàm Lagrange của robot có n bật tự do: (3.46) Chúng ta chú ý rằng, trong hàm Lagrange vẫn chưa đề cập đến ảnh hưởng của nguồn truyền động (gồm các phần tĩnh (stator) và phần động (Rotor) của động cơ điện). Phương trình động lực học của robot: Ta đã biết lực tổng quát đặt lên khâu thứ i của robot có n khâu (phương trình Lagrange – Euler): (3.47) Sau khi thiết lập hàm Lagrange, với p = 1 n, ta tính được: (p là chỉ số lần lượt lấy theo j và k)
  68. 67 (3.48) Thay đổi chỉ số giả j thành k trong số hạng thứ 2, và để ý rằng: (3.49) Ta có: (3.50) Cũng để ý rằng: trong T i(q1, q2, ,qi), với qi là các biến khớp của i khớp đầu tiên. Do đó, nếu i < p thì Ti/ qp = 0. Cuối cùng ta có: (3.51) Lấy vi phân theo thời gian t của phương trình trên: (3.52) Số hạng cuối của phương trình Lagrange – Euler là: (3.53)
  69. 68 Cuối cùng, ta có lực tổng quát của khâu p: Thay thế các chỉ số p và i và j, ta sẽ có: (3.54) Với robot có n bậc tự do thì: Và: Để cho gọn, ta biểu diễn: (3.55) Trong đó: - J thể hiện tác dụng của quán tính, là một ma trận đối xứng (n x n) - C thể hiện tác dụng của lực ly tâm và Cariolis, là một vectơ (n x 1) - G thể hiện tác dụng của lực trọng trường, cũng là một vectơ (n x 1). - Đây là phương trình động lực học của robot. Nếu thêm vào phương trình trên các tác dụng khác như: F EX đặc trưng cho các ngoại lực tác dụng lên trục, V đặc trưng cho hiệu ứng ma sát, ta có: (3.56)
  70. 69 YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI 3:  Nội dung: - Về kiến thức: Trình bày được cách thiết lập hệ phương trình động học rô bot, cách xác định các mô men động lực học trong quá trình rô bốt hoạt động. - Về kỹ năng: Giải được hệ phương trình động học rô bốt, tính và khắc phục các sai số trong quá trình rô bốt chuyển động. - Về thái độ: Đảm bảo an toàn và vệ sinh công nghiệp.  Phương pháp: - Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp.
  71. 70 BÀI 4 NGÔN NGỮ LẬP TRÌNH RÔ BỐT Mã bài : MĐ35 – 4 Giới thiệu: - Để vận hành được robot, lập trình được cho robot thì người học cần trang bị những kiến thức liên quan đến việc lập trình và điều khiển robot, trong đó ngôn ngữ lập trình là một yếu tố rất quan trọng. Mục tiêu: - Trình bày được về các ngôn ngữ lập trình robot - Cài đặt và sử dụng phần mềm Procomm - Lập trình điều khiển được Robot TETGAN bằng phần mềm Procomm Nội dung chính: 1. Giới thiệu chung về lập trình điều khiển robot: Mục tiêu: giới thiệu cho người học các kiến thức tổng quát về lập trình điều khiển robot. Lập trình điều khiển robot thể hiện mối quan hệ giữa người điều khiển và robot công nghiệp. Tính phức tạp của việc lập trình càng tăng khi các ứng dụng công nghiệp đòi hỏi sử dụng đồng thời nhiều robot với các máy tự động khả trình khác tạo nên hệ thống sản xuất tự động linh hoạt. Robot khác với các máy tự động cố định ở tính “linh hoạt”, nghĩa là có thể lập trình được. Không những chỉ có các chuyển động của robot mà ngay cả việc sử dụng các cảm biến cũng như những thông tin quan hệ với máy tự động khác trong phân xưởng cũng có thể lập trình. Robot có thể dễ dàng thích nghi với sự thay đổi của nhiệm vụ sản xuất bằng cách thay đổi chương trình điều khiển nó. Khi xem xét vấn đề lập trình cho robot, chúng ta nên nhớ rằng robot là một thành phần của một quá trình tự động hoá. Thuật ngữ “ Workcell” được dùng để mô tả một tập hợp các thiết bị mà nó bao gồm một hoặc nhiều robot, hệ thống băng chuyền, các cơ cấu cấp phôi và đồ gá. Ở mức cao hơn, Workcell có thể được liên kết trong mạng lưới các phân xưởng vì thế máy tính điều khiển trung tâm có thể điều khiển toàn bộ các hoạt động của phân xưởng. Vì vậy, việc lập trình điều khiển robot trong thực tế sản xuất cần phải được xem xét trong mối quan hệ rộng hơn.
  72. 71 Để bước đầu tiên làm quen với việc lập trình điều khiển robot, bài này cũng giới thiệu tóm tắt các phương pháp lập trình điều khiển robot TERGAN – 45 thông qua ngôn ngữ ASPECT của phần mềm Procomm Plus for Window. 2. Các mức lập trình điều khiển robot: Mục tiêu: trình bày cho người học hiểu rõ các mức lập trình điều khiển robot trong công nghiệp. 2.1. Lập trình kiểu “dạy – học”: Các robot thế hệ đầu tiên đã được lập trình bằng một phương pháp mà chúng ta gọi là: dạy bằng chỉ dẫn, robot được điều khiển để di chuyển đến các điểm mong muốn và các vị trí đó được ghi lại trong bộ nhớ của máy tính, sau đó các dữ liệu sẽ được đọc tuần tự và robot thực hiện lại các động tác đã được học. Để dạy robot, người sử dụng có thể hướng dẫn robot bằng tay hoặc thông qua một thiết bị dạy học gọi là Teach Pendant. Thiết bị dạy học gồm một hộp nhỏ cầm tay có các nút bấm và card điều khiển mà nó cho phép điều khiển các khớp của robot đạt được các giá trị mong muốn. 2.2. Dùng các ngôn ngữ lập trình: Cùng với quá trình phát triển ngày càng rẻ hơn và mạnh hơn của máy tính, chương trình điều khiển robot được phát triển theo hướng viết các chương trình bằng các ngôn ngữ lập trình của máy tính. Thường các ngôn ngữ lập trình này có những đặc điểm mà chúng ta có thể ứng dụng để viết các phần mềm hay chương trình điều khiển robot, và chúng được gọi là “ngôn ngữ lập trình robot”. Hầu hết các hệ thống điều khiển dùng ngôn ngữ lập trình robot vẫn duy trì kiểu giao diện Teach Pendant (dạy – học). Ngôn ngữ lập trình robot có nhiều dạng khác nhau. Chúng ta phân chúng thành ba loại như sau:  Ngôn ngữ robot chuyên dùng: Những ngôn ngữ lập trình robot này được xây dựng bằng cách tạo ra một ngôn ngữ mới hoàn toàn. Cú pháp và ngữ nghĩa của các ngôn ngữ này cần phải rất đơn giản vì người lập trình cho các ứng dụng công nghiệp không phải là một chuyên gia về lập trình. Ví dụ như ngôn ngữ VAL (VAL 2) được dùng để điều khiển các robot công nghiệp của hãng Unimation (Mỹ), hoặc một ngôn ngữ robot chuyên dùng khác gọi là AL được xây dựng ở Đại học Stadord (Mỹ),  Tạo ra các thư viện robot cho một ngôn ngữ lập trình cấp cao đã có sẵn: Những ngôn ngữ lập trình robot này được xây dựng bằng cách dựa trên các ngôn ngữ lập trình cấp cao thông dụng (ví dụ như Pascal) và thêm vào một vài thư việc các thủ tụ và hàm đặc biệt dùng cho robot. Khi viết các chương trình Pascal để điều khiển robot, người sử dụng sẽ gọi các hàm hoặc thủ tục đã định nghĩa trước trong thư viện
  73. 72 để xử lý các nội dung có liên quan đến việc tính toán hoặc điều khiển robot. Ví dụ PASRO (Pascal for Robot) là một thư viện dùng cho lập trình robot, cung cấp nhiều thủ tục và hàm đặc biệt để tính toán và điều khiển robot dùng trong môi trường ngôn ngữ Turbo Pascal, hoặc PASRO/C là phát triển của PASRO, nhưng được viết trên cơ sở của ngôn ngữ Turbo C.  Tạo ra các thư viên robot cho một ngôn ngữ hoặc phần mềm đa dụng: Những ngôn ngữ lập trình robot này được xây dựng bằng cách sử dụng các ngôn ngữ hoặc phần mềm dùng chung cho nhiều mục đích như là một chương trình cơ bản, sau đó cung cấp thêm một thư viện chứa các thủ tục đặc biệt dùng cho robot. Ví dụ như ngôn ngữ lập trình robot AML của hãng IBM và RISE của hãng Silma, ngôn ngữ Aspect của phần mềm Procomm Plus, 2.3. Ngôn ngữ lập trình theo nhiệm vụ: Múc thứ ba của phương pháp lập trình robot là tạo ra các ngôn ngữ lập trình theo nhiệm vụ. Những ngôn ngữ này cho phép người sử dụng ra các lệnh để robot thực hiện một công việc mong muốn một cách trực tiếp mà không cần xác định một cách chi tiết các hoạt động của robot như các ngôn ngữ lập trình thông thường. Một hệ thống lập trình robot theo nhiệm vụ phải có khả năng thể hiện nhiều công việc một cách tự động. Chẳng hạn, nếu có một chỉ thị “Grasp the bolt” (cầm lấy bulong) được tạo ra, hệ thống phải vạch ra một quĩ đạo của tay máy mà nó tránh được sự va chạm với bất kỳ chướng ngại vật nào xung quanh, chọn được vị trí tốt nhất để cầm lấy bulong một cách tự động. Ngược lại, trong ngôn ngữ lập trình robot thông thường tất cả những sự lựa chọn này phải được thực hiện bởi người lập trình. Trong thực tế, ngôn ngữ lập trình theo nhiệm vụ chưa được dùng trong sản xuất, nó còn là một lĩnh vực dang được nghiên cứu. 3. Phần mềm Procomm Plus For Windown: Mục tiêu: trình bày cho người học nắm rõ các kiến thức về phần mềm Procomm Plus For Windown ứng dụng trong robot công nghiệp. 3.1. Giới thiệu: Procomm Plus là phần mềm chuyên dùng để truyền dữ liệu và điều khiển trực tiếp các thiết bị qua cổng COM của máy tính cá nhân. Với Procomm Plus ta có thể sử dụng máy tính như một Terminal hoặc thực hiện các Scrip files viết bằng ngôn ngữ lập trình Aspect. Để chạy phần mềm Procomm Plus ở chế độ Terminal ta có thể dùng một số cách sau:
  74. 73 Sử dụng Desktop Windows: nhấn đúp chuột trên biểu tượng của Procomm Plus Terminal Windows. Từ mục Run trong Start của Windows, gõ lệnh pw3, chọn OK. Vào Start của Windows, chọn Programs, chọn Procomm Plus 3, chọn Data Terminal Menu chính của Procomm Plus có nhiều tiện ích, rất thuận tiện khi điều khiển các thiết bị giao diện với máy tính kiểu RS232. Cửa sổ chính của phần mềm procomm Plus ở chế độ Terminal như hình 4.1. Hình 4.1 – Cửa sổ chính của Procomm Plus for Windows, Version 3.0 Menu chính: cung cấp các tiện ích cần thiết trong quá trình sử dụng, menu chính có các menu kéo xuống (Pulldown) tương tự như nhiều phần mềm thông dụng khác. Nội dung củ menu chính có thể thay đổi theo mục đích sử dụng. Một số nội dung của menu chính có thể dùng trong quá trình điều khiển robot như sau: Menu Setup: dùng để xác định cấu hình của Terminal Windows và chế độ giao diện giữa máy tính với thiết bị. Trong menu này còn có thể sử
  75. 74 dụng mục con Action Bars để chọn file chứa nội dung của thanh công cụ và cho thể hiện trên màn hình. Menu Data: trong menu này ta có thể dùng các menu con sau - Clear screen (Alt +C): xoá màn hình nhập xuất dữ liệu - Reset terminal (Alt+U): xoá màn hình và bộ đệm của Procomm. Menu Scrips: trong menu này ta có thể dùng các menu con sau: - Start scrips (Alt +.): thực hiện một Aspect scrips file, có tên được thể hiện trên thanh công cụ. - Run (Alt + F5): mở hộp thoại Run ASPECT file, chúng ta có thể chọn tên file, thực hiện việc dịch các file nguồn trước khi chạy chương trình. - Compile/Edit .(Alt+F3): mở hộp thoại soạn thảo và dịch các file nguồn. - Start recoder : bắt đầu tự động tạo ra một scrips file bằng cách ghi lại tất cả các lệnh thể hiện trên màn hình (nhập từ bàn phím). Khi chọn mục này sẽ xuất hiện mục Stop recoder, ta sử dụng mục này khi muốn kết thúc việc ghi tự động scrips file. Menu Tools: trong menu này ta có thể dùng các menu con sau: - Action bar Edition: dùng để soạn thảo hay thay đổi nội dung thanh công cụ cho phù hợp với mục đích sử dụng. - Aspect Editor: mở cửa sổ để soạn thảo scrips files bằng ngôn ngữ Aspect, chúng ta có thể tạo mới, xem hoặc sửa đổi nội dung của một file (dạng Text). - Dialog Editor: mở cửa sổ soạn thảo hộp hội thoại, cho phép ta tạo ra các hộp thoại bằng phương pháp trực quan (Visual). Thanh công cụ (Tool bar): có nhiều Icon (biểu tượng) giúp người sử dụng có thể thực hiện nhanh một công việc bằng cách bấm chuột trên biểu tượng tương ứng, thay vì phải vào menu chính. Nội dung của thanh công cụ cũng có thể thay đổi dễ dàng để phù hợp với mục đích sử dụng (mục Action bar Edition). Cửa sổ nhập – xuất dữ liệu: là phần màn hình để người sử dụng nhập vào các dữ liệu, các lệnh điều khiển và các thể hiện thông báo trả về từ các thiết bị được điều khiển. Meta Keys: dùng để cài đặt sẵn các ứng dụng thường hay thực hiện. Nội dung của các Meta Keys có thể thay đổi được để phù hợp với từng mục đích sử dụng. Khi muốn thực hiện một công việc đã gán cho Meta Key ta chỉ cần
  76. 75 nhấp chuột và Meta Key đó. Muốn soạn thảo hay thay đổi nhiệm vụ của Meta Keys ta thực hiện như sau: Cách 1: ấn tổ hợp phím ALT + M Cách 2: chọn mục Meta Keys Editor từ Tool menu. Dòng chọn nhanh kiểu giao diện: cho phép người sử dụng chọn nhanh kiểu thông số giao diện giữa thiết bị điều khiển và máy tính như: cổng giao diện, tốc độ truyền thông tin, kiểu xử lý dữ liệu, bằng cách nhấn chuột trái lên các mục. 3.2. Ngôn ngữ lập trình Aspect trong Procomm: 3.2.1. Giới thiệu: Một ASPECT script file là một file dạng text được tạo ra để chứa các lệnh được thực hiện bởi Procomm Plus. Giống như nhiều ngôn ngữ lập trình khác, ASPECT yêu cầu phải dịch chương trình soạn thảo. Một script file chưa dịch, hay còn gọi là file nguồn có đuôi là .was (Windows Aspect Source), còn một script file đã dịch có đuôi là .wax (Windows Aspect eXecutable). Khi một script đã được dịch, thì các dữ liệu và các câu lệnh chứa trong file nguồn sẽ được chuyển sang mã mà Procomm có thể đọc và xử lý một cách nhanh chóng. Sau khi dịch thì file dịch (.wax) có kích thước nhỏ hơn so với file nguồn. Nói chung là một script file phải được dịch trước khi có thể thực hiện. Một file đã được dịch không thể dịch ngược trở lại thành file nguồn. Chúng ta có thể tạo mới và soạn thảo file nguồn bằng trình ASPECT Editor hay bất kỳ một trình soạn thảo dạng text nào khác, nhưng phải đặt tên tệp có đuôi là .was. Để tạo mới một file nguồn hoặc thay đổi, bổ sung nội dung của một file đã có, thì từ menu chính của Procomm, ta chọn Scrips/Compile/Edit hoặc nhấn chuột vào biểu tượng trên thanh công cụ. Hộp thoại dùng để soạn thảo và dịch các script file như hình 4.2. Muốn tạo một file mới ta chọn nút lệnh New, muốn sửa đổi nội dung một file đã có (tên file đã chọn trước trong mục File name) ta chọn nút lệnh Edit, muốn thoát khỏi cửa sổ soạn thảo tao chọn nút lệnh Exit. Khi chọn nút lệnh New hoặc Edit, trên màn hình sẽ xuất hiện cửa sổ soạn thảo để ta viết hoặc sửa đổi chương trình. Sau khi soạn thảo xong, muốn lưu chương trình ta chọn File/Save hoặc File/Save as Ta cũng có thể chọn biểu tượng “Ghi và dịch” (Save and Compile) trên thanh công cụ để lưu chương trình đồng thời dịch thành file .wax.
  77. 76 Hình 4.2 – Cửa sổ soạn thảo và dịch các script file Để chạy một Aspect script file có thể thực hiện bằng nhiều cách: Chọn mục Script trên menu chính, tiếp theo chọn mục Run Lúc này sẽ xuất hiện hộp thoại để chọn file muốn thực hiện. Ấn chuột trên mục Script file của thanh công cụ, sau đó chọn tên file muốn thực hiện. Nếu file đã chạy, tên vẫn còn trong mục Script file, muốn chạy lại thì ấn chuột vào biểu tượng trên thanh công cụ. Có thể chạy một script file từ cửa sổ Compile/Edit ASPECT file (chọn mục Run) (hình 5.2). 3.2.2. Kiểu dữ liệu và khai báo biến trong ASPECT:  Kiểu dữ liệu: ASPECT cung cấp các kiểu dữ liệu như sau: Integer (kiểu nguyên): có giá trị từ -32768 đến 32768 Float (kiểu số thực): có giá trị từ 2.22507385072014e-308 đến 1.797693134862315e+308. Long (kiểu nguyên dài): có giá trị từ -2147483648 đến 2147483647. String (kiểu chuỗi): có thể chứ từ 0 đến 256 ký tự. Tất cả tên của các phần tử trong ASPECT, như tên từ lệnh, tên hàm và thủ tục, tên nhãn và biến, có chiều dài không quá 30 ký tự.  Các loại biến: trong ASPECT có các loại biến sau: Biến hệ thống: biến hệ thống là các biến “chỉ đọc” mà ASPECT và Procomm Plus có thể ấn định các giá trị đặc biệt. Ví dụ, chúng ta không thể thay đổi giá trị của biến hệ thống $ROW mà nó luôn
  78. 77 luôn bằng vị trí dòng hiện tại của con trỏ trên màn hình, ta chỉ có thể đọc giá trị của nó bất kỳ nơi nào trong chương trình và xử lý khi cần thiết. Biến hệ thống luôn có dấu $ ở đầu. Biến do người dùng định nghĩa: biến do người dùng định nghĩa có hai loại như sau: - Biến toàn cục (Global variables): biến toàn cục có thể được định nghĩa ở bất kỳ nơi nào trong chương trình nhưng phải ở bên ngoài các khối thủ tục và hàm. Thông thường, các biến toàn cục thường được khai báo ở đầu chương trình. Biến toàn cục có thể được tham chiếu đến từ bất cứ hàm hay thủ tục nào của chương trình. Nếu một thủ tục hoặc hàm làm thay đổi giá trị của một biến toàn cục thì giá trị đó vẫn được duy trì cho đến khi nào có một lệnh khác làm thay đổi giá trị của nó. - Biến địa phương (Local variables): không giống như biến toàn cục, biến địa phương chỉ được tham khảo đến trong phạm vi của thủ tục và hàm mà nó được định nghĩa. Giá trị của nó sẽ bị xoá khi ra khỏi thủ tục và hàm đó. Ta có thể đặt tên các biến địa phương giống nhau trong các thủ tục và hàm khác nhau của chương trình, nhưng điều đó không có nghĩa là giá trị của biến được ghi nhớ giữa các thủ tục hoặc hàm khác nhau. Tham biến (parameter Variables): Bất cứ thủ tục nào, ngoại trừ chương trình chính đều có thể khai báo (định nghĩa) đến 12 tham biến. Các tham biến tương tự như các biến địa phương, nghĩa là nó chỉ được tham chiếu đến trong phạm vi thủ tục hoặc hàm mà nó được dịnh nghĩa, tuy nhiên khác với biến địa phương, các tham biến nhận các giá trị ban đầu một cách tự động khi các thủ tục hoặc hàm được gọi, các giá trị sử dụng được cung cấp bởi câu lệnh gọi. Các tham biến phải được khai báo ở đầu mỗi thủ tục hoặc hàm, trước bất cứ lệnh nào hoặc các biến địa phương. Một tham biến được khai báo giống như biến địa phương. Thứ tự mà các tham biến được định nghĩa xác định thứ tự mà chúng sẽ được gọi bởi các thủ tục hoặc hàm.  Khai báo (định nghĩa) các biến: Tất cả các loại biến dùng trong chương trình phải được khai báo (định nghĩa) trước. Nếu các biến có cùng kiểu dữ liệu, ta có thể khai báo trên một dòng cách nhau bởi dấu phẩy (,). Ví dụ: Integer sokhop, Tong, i = 1 Float Goc
  79. 78 Integer A[4][4] Trong ví dụ trên ta khai báo các biến: sokhop, Tong, i là các biến kiểu nguyên, trong đó biến i được gán giá trị ban đầu là 1, Goc là biến thực, A là biến mảng có kích thước 4x4, các phần tử của mảng kiểu nguyên. Cách khai báo tham biến trong thủ tục và hàm như sau: para (kiểu dữ liệu) (tên) [,tên] Ví dụ: para Integer X, Y, Z Chương trình ví dụ: Proc main ; chương trình chính integer A,B,C ; khái báo 3 biến kiểu nguyên integer Tong ; tổng của 3 số A=2, B=4, C=8 ; gán giá trị cho các biến Tong = Sum(A,B,C) ; gọi hàm Sum để cộng các số Usermsg “ Tong = %d.” Tong ; cho hiện tổng các số lên màn hình Endproc ; kết thúc chương trình chính Func Sum : Integer ; Định nghĩa hàm Sum để tính tổng Param integer X, Y, Z ; khai báo các tham số biến kiểu nguyên integer Tong ; Khai báo biến tổng (biến địa phương) Tong= X+Y+Z ; Tổng của 3 số return Tong ; trả về giá trị của tổng 3 số Endfunc ; kết thúc định nghĩa hàm Chú ý là dấu “ ; ” dùng để ghi chú trong chương trình, các nội dung sau “;” không được biên dịch. 3.2.3. Cấu trúc của chương trình: Cấu trúc chương trình của một ASPECT script file gần giống như một file viết bằng ngôn ngữ Pascal, nghĩa là có một chương trình chính và các thủ tục hoặc hàm khác. Chỗ khác nhau cở bản là chương trình chính được viết trước, chương trình chính có thể gọi đến các hàm hoặc thủ tục được định nghĩa sau đó. Trong chương trình chính không được khai báo các tham biến. Khi thực hiện chương trình, nó sẽ lần lượt thực hiện các lệnh từ dòng đầu tiên đến hết chương trình. Khi kết thúc một hàm hoặc thủ tục được gọi, nó tự động trả về dòng lệnh tiếp theo. Cấu trúc chung của một chương trình như sau:
  80. 79 ; Dòng đầu tiên dùng ghi chú về nội dung chương trình, dòng này sẽ thể ; hiện trong hộp thoại Compile/Edit để người sử dụng dễ nhận biết về nội ; dung của chương trình chính Proc main ; bắt đầu chương trình chính (khai báo biến) (các câu lệnh thể hiện nội dung chương trình) . Endproc ; kết thúc chương trình chính Proc (tên thủ tục) ; bắt đầu một thủ tục (khai báo các tham biến nếu có) (khai báo các biến địa phương) (các câu lệnh thể hiện nội dung thủ tục) Endproc ; kết thúc một thủ tục Func (tên hàm) (khai báo các tham biến nếu có) (khai báo các biến địa phương) (các câu lệnh thể hiện nội dung của hàm) Return (biến) ; trả giá trị của biến về thủ tục gôi Endproc ; kết thúc hàm 3.2.4. Một số phép tính dùng trong ASPECT: ASPECT sử dụng nhiều phép tính số học và logic khác nhau, dưới đây giới thiệu một số phép tính hay dùng: + ; - ; * ; / Cộng, trừ, nhân, chia >; =; <= Lớn hơn, nhỏ hơn, lớn hơn hoặc bằng, nhỏ hơn hoặc bằng != Khác với ! NOT && AND || OR ++; Tăng hoặc giảm một đơn vị ?: Thực hiện một điều kiện
  81. 80 Ví dụ 1: Cho A = 2, B = 4 A + B = 6 ; A được cộng với B trước, sau đó B giảm đi 1 (B = 3) A+ B = 5 ; B giảm đi 1 trước, sau đó cộng A với B. Ví dụ 2: Proc main integer A,B,C,D integer Tong A=2, B=4 C=A+B Tong = A+ B D=(tong [WITH ][INTO ] khi gọi một thủ tục: call [WITH ] Tên: tên thủ tục hoặc hàm được gọi. Danh sách tham biến: tên các tham biến trong thủ tục hoặc hàm INTO : chỉ dùng khi gọi một hàm, biến sẽ chứa giá trị trả lại của hàm.
  82. 81 Case/endcase: Câu lệnh lựa chọn, dùng với từ lệnh Switch. Cú pháp: switch (string | integer | long) case (string | integer | long) [exitswitch] ; thoát khỏi khối lệnh switch không điều kiện [endcase] [default] ; thực hiện khi các trường hợp so sánh đều không đúng Endcase endswitch Ví dụ: proc main integer Alpha = 2 ; gán giá trị ban đầu cho biến Alpha = 2 switch Alpha ; tìm giá trị của biến số case 0 ; trường hợp biến có giá trị bằng 0 usermsg “Alpha = 0”; xuất kết quả trên cửa sổ màn hình endcase ; hết trường hợp so sánh thứ nhất case 1 ; tương tự như trên usermsg "Alpha = 1" endcase case 2 usermsg "Alpha = 2" endcase endswitch ; luôn đi kèm với switch để kết thúc khối lệnh switch endproc If/endif: câu lệnh điều kiện Cú pháp: if ; bắt đầu khối lệnh if
  83. 82 [elseif ] [else] endif ; kết thúc khối lệnh if While/endwhile: lặp lại một số câu lệnh cho đến khi điều kiện kiểm tra là sai. Ví dụ: Proc main integer SoLanLap = 0 ; biến nguyên dùng để đếm số lần lặp while (SoLanLap++) = UPTO | DOWNTO [BY ] [exitfor] ; chuyển điều khiển thoát khỏi câu lệnh for ; đến dòng lệnh sau endfor endfor Return: thoát khỏi thủ tục hoặc hàm hiện tại, tiếp tục ở câu lệnh tiếp theo của thủ tục đã gọi.  Các lệnh khác: Transmit: gửi một dòng ký tự (lệnh) đến cổng đang hoạt động. Ví dụ: proc main
  84. 83 transmit "B-250~C-200~F-240~~P+200” ; chuyển lệnh điều khiển ; robot TG-45 endproc pause: tạm dừng thực hiện chương trình trong một số giây qui định. Cú pháp: pause Ví dụ: Pause 5: tạm dừng thực hiện chương trình 5s Pause Forever: dừng với thời gian không xác định. Lệnh pause có thể được huỷ bỏ khi nhấn Ctrl – Break. Ký tự ~ thay cho lệnh pause với giá trị dừng bằng 0.5s Ví dụ: Transmit “B+200~~E-100” Sau khi truyền lệnh B+200 sẽ tạm dừng 1s (hai ký tự ~) mới truyền tiếp lệnh E-100. Chdir: thay đổi dường dẫn đến một ổ đĩa hoặc thư mục khác Cú pháp: chdir Ví dụ: chdir “C:\procom3\Robot” copyfile: copy một file theo đường dẫn hoặc với một tên khác Cú pháp: copyfile Ví dụ: copy “C:\ Procom3\ aspect\ robot.was” “C:\ tam\ robot1.txt delfile: xoá một file theo chỉ dịnh Cú pháp: delfile mkdir: tạo một thư mục mới Cú pháp: mkdir rmdir: xoá một thư mục (trống). Cú pháp: rmdir rename: đổi tên một file
  85. 84 Cú pháp: rename Fopen: mở một file để đọc hoặc ghi. Cú pháp: fopen READ|WRITE |READWRITE\CREATE\APPEND\READAPPEND Các tuỳ chọn: READ: chỉ đọc; READWRITE: có thể đọc và ghi; CREATE: tạo mới; APPEND: ghi tiếp vào cuối file; READAPPEND: có thể đọc và ghi tiếp vào cuối file. fclose: đóng một file đã mở Cú pháp: fclose fputs: ghi một chuỗi ký tự lên file Cú pháp: fputs feof: kiểm tra điều kiện đã ở cuối một file Cú pháp: feof [biến nguyên] [biến nguyên]: có giá trị 0 nếu chưa kết thức file, bằng 1 nếu đã kết thúc file. Fgets: đọc một dòng ký tự từ một tệp đã mở ghi vào một biến. Cú pháp: fgets Termwrites: viết một dòng ký tự lên cửa sổ nhập xuất dữ liệu Cú pháp: termwrites run: thực hiện một chương trình bên ngoài (đuôi com, exe hoặc bat) Cú pháp: run Ngoài các từ lệnh đã giới thiệu trên, còn có rất nhiều lệnh khác, người sử dụng có thể tham khảo trực tiếp trong mục Help của cửa sổ soạn thảo khi cần thiết.
  86. 85 Ngôn ngữ ASPECT không có sẵn các hàm toán học như sin, cos, nên khi muốn thực hiện các tính toán phức tạp ta phải dùng các phần mềm khác. 3.3. Lập trình điều khiển robot TERGAN – 45 bằng Procomm: 3.3.1. Giới thiệu robot TERGN 45 (TG-45): TERGAN – 45 là một loại robot dùng để dạy học do Pháp sản xuất. Đây là loại robot toàn khớp quay, có 4 bậc tự do. Đi kèm với robot gồm có một bộ nguồn và một module điều khiển. Module điều khiển cho phép điều khiển robot trên các Terminal hoặc máy tính có giao diện RS-232. Cấu hình của robot như hình 4.3. Hình 4.3 – Sơ đồ động học Robot TG - 45 Các khớp quay của robot được dẫn động bằng các động cơ điện một chiều có gắn các potentiometer, ngoài ra để đóng mở bàn tay của robot người ta dùng truyền động vit – me có gắn cử hành trình, vận tốc đóng mở các ngón tay có thể điều chỉnh được. Các góc quay giới hạn của các khâu trên robot là: Chuyển động của thân: 2610 Chuyển động của vai: 850 Chuyển động của cánh tay: 2490 Chuyển động của cổ tay: 1800. Tốc độ truyền thông tin qua module điều khiển từ 50 đến 9600 bauds với bộ vi xử lý 8 bits, Stop bit là 1 hoặc 2. Điện áp nguồn cung cấp là 110V/220V, 50Hz, điện áp điều khiển ±12V. Trên module điều khiển có thêm các đầu vào và ra để giao diện với các thiết bị khác (như cảm biến, điều khiển băng tải nhỏ, ). Module điều khiển robot TG – 45 được thiết kế giao diện với máy tính bằng các lệnh cơ bản sau: B±XXX: Điều khiển thân (Base) E±XXX: Điều khiển vai (Épaule) C±XXX: Điều khiển cánh tay (Coude) F±XXX: điều khiển cổ tay (Poignet) P±XXX: Đóng mở bàn tay (Pince) S±XXX: Điều khiển các tín hiệu ra
  87. 86 I ±XXX: Điều khiển các tín hiệu vào Chiều dài của các lệnh điều khiển là 5 ký tự mã ASCII. Ký hiệu XXX biểu diễn các chữ số từ 000 đến 5111. Ví dụ: Lệnh B – 200 sẽ điều khiển thân robot quay sang phải một góc: 0 0 1 = (261 /2) x 200/511 51 04’ Lệnh c + 200 sẽ điều khiển cánh tay robot quay lên phía trên một góc: 0 0 3 = (249 /2) x 200/511 48 43’ (so với vai). Lệnh P + 200 sẽ đóng bàn tay (dùng khi muốn nắm một vật), vận tốc đóng mở thay đổi được theo giá trị từ 001 đến 511. Ví dụ P + 100 sẽ dóng chậm hơn so với P + 200. Các lệnh được chuyển từ máy tính sẽ được module điều khiển xử lý sau đó trả lại các thông báo thực hiện (meassage) trên màn hình. 3.3.2. Điều khiển trực tiếp robot TG – 45 nhờ phần mềm Procomm: Ở chế độ TERMINAL của Procomm Plus ta có thể điều khiển trực tiếp robot TERGAN – 45 bằng cách gõ trực tiếp các lệnh làm quay các khớp của robot. Ví dụ: B + 200 C – 250 E – 100 F – 250 P + 200 Nếu trước khi nhập các lệnh ta chọn mục START RECODER trên menu hoặc Icon tương ứng thì ta có thể ghi lại các lệnh vừa nhập vào một file để thực hiện lại sau này. 3.3.3. Viết chương trình điều khiển robot TERGAN – 45: Ta có thể điều khiển robot TERGAN – 45 bằng cách viết các chương trình bằng ngôn ngữ ASPECT. Ví dụ: proc main transmit "E-100~B-250~F-180~C-200~B-300~ ~ ~P+150~ ~ ~” transmit “E+000~C-150~B+300~ ~C-180~ ~ ~ ~P-200~ ~ ~" transmit "E+200~B-400~~~E-000~~~C-300~~~F-080~~~”
  88. 87 transmit “C-250~~E+100~~B+300~~~P-200~~" transmit "F+100~C-130~B-350~F-300~~E-180~~B-400~~” transmit "E+200~~B+300~~~~E-100~~~F-230~~~~P-200~~” transmit “C-010~F-001~E-020~B-200~P-200~" pause 50 clear termwrites "Da thuc hien xong, xin cho lenh !" endproc Khi soạn thảo xong chương trình ta phải đặt tên và ghi vào đĩa, ví dụ tên chương trình là DEMO.WAS. Sau đó, ta phải dịch chương trình để tạo ra file DEMO.WAX lúc đó mới có thể chạy được trong Procomm Plus. Tuy nhiên, như đã giới thiệu ở trên, module điều khiển robot TG – 45 chỉ có các lệnh đơn giản để điều khiển các mô tơ dẫn động các khớp quay. Nếu chỉ điều khiển robot bằng các lệnh đơn thì không thể mở rộng khả năng làm việc của robot được, hơn nữa việc lập trình cũng mất nhiều công sức vì khó xác định được các toạ độ mà ta yêu cầu bàn tay robot phải đạt tới. Do đó, việc lập trình điều khiển robot phải tạo ra các chức năng khác khi điều khiển robot như: 1) Chương trình có thể giúp người sử dụng dạy robot học mà robot có thể lặp lại các chuyển động đã được dạy – học một cách chính xác. 2) Thiết kế điều khiển động học thuận: nghĩa là chương trình cho phép người sử dụng điều khiển robot theo giá trị các góc quay của khớp (tính bằng độ) khi xác định trước một cấu hình nào đó của robot. 3) Thiết kế điều khiển động học ngược: nghĩa là người sử dụng chương trình có thể điều khiển robot theo các toạ độ vị trí và hướng của bàn tay đã được xác định trước. Khi ta nhập các giá trị về toạ độ và hướng của bàn tay thì chương trình tự động tính toán các góc quay của các khớp để robot chuyển động đến vị trí yêu cầu với hướng đã được xác định. 4) Thiết kế các tiện ích khác như: điều khiển theo đường, tạo các meta keys, tạo ra các trị trợ giúp cho người sử dụng, Các nội dung 2 và 3 cần phải thiết lập hệ phương trình động học của robot TERGAN – 45 và giải hệ phương trình động học đó. Phần tính toán có thể viết bằng ngôn ngữ pascal hoặc C++ mà nó được gọi từ chương trình điều khiển (dùng lệnh RUN), chương trình điều khiển xử lý kết quả tính toán qua các file trung gian dạng text.
  89. 88 Phần mềm Procomm cung cấp nhiều tiện ích để ta có thể thiết kế chương trình kiểu trực quan, giúp cho việc viết chương trình và thao tác trong quá trình sử dụng được dễ dàng, thuận tiện hơn. 4. Bài tập: Bài tập 1: Hãy viết một Function của hàm arctg2 (y,x) bằng ngôn ngữ Turbo Pascal (hoặc C++). Bài tập 2: Viết một chương trình bằng Turbo Pascal (hoặc C++) để tính toán động học ngược (xác định góc quay) của robot TERGAN – 45. Dữ liệu nhập từ bàn phím, ghi kết quả vào một file dạng text. Bài tập 3: Viết một chương trình điều khiển robot TERGAN – 45 bằng ngôn ngữ ASPECT để robot có cấu hình như sau: 0 0 0 0 1 = +30 ; 2 = -10 ; 3 = -20 ; 4 = -25 Bàn tay robot nắm lại sau khi di chuyển đến vị trí yêu cầu. Bài tập 4: viết một chương trình bằng ngôn ngữa ASPECT, gọi chương trình tính động học được viết bằng Turbo Pascal (hoặc C++), xử lý kết quả tính toán để điều khiển robot TERGAN – 45 theo toạ độ vị trí và hướng của bàn tay. YÊU CẦU VỀ ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI 4:  Nội dung: - Về kiến thức: Trình bày được các nguyên lý lập trình rô bốt, các kiến thức cơ bản về phần mềm procomm. - Về kỹ năng: Cài đặt và sử dụng phần mềm procomm, lập trình điều khiển được rô bốt TETGAN bằng phần mềm procomm. - Về thái độ: Đảm bảo an toàn và vệ sinh công nghiệp.  Phương pháp: - Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp. - Về kỹ năng: Đánh giá kỹ năng sử dụng phần mềm procomm, kỹ năng lập trình điều khiển rô bốt, kỹ năng tìm và sửa lỗi chương trình. - Thái độ: Tỉ mỉ, cẩn thận, chính xác và ngăn nắp trong công việc.
  90. 89 BÀI 5 TRUYỀN ĐỘNG VÀ ĐIỀU KHIỂN RÔ BỐT Mã bài: MĐ35 – 5 Giới thiệu: - Để tính toán các truyền động và điều khiển robot, thì người học cần được trang bị những kiến thức về truyền động và điều khiển robot. Mục tiêu: - Trình bày được cấu tạo, nguyên lý hoạt động của một số thiết bị cảm biến, động cơ, van khí nén sử dụng trong rô bốt. - Kiểm tra, thay thế được một số thiết bị cảm biến động cơ, van khí nén sử dụng trong rô bốt đúng yêu cầu kỹ thuật. - Rèn luyện tính tỷ mỉ, chính xác, an toàn và vệ sinh công nghiệp Nội dung chính: 1. Truyền động điện trong Robot: Mục tiêu: trình bày cho người học các kiến thức truyền động trong Robot. 1.1. Động cơ điện một chiều: Động cơ điện một chiều gồm có hai phần:  Stato cố định với các cuộn dây có dòng điện cảm hoặc dùng nam châm vĩnh cửu. Phần này còn được gọi là phần cảm. Phần cảm tạo nên từ thông trong các khe hở không khí.  Roto với các thanh dẫn. Khi có dòng điện một chiều chạy qua và với từ thông xác định, roto sẽ quay. Phần này gọi là phần ứng. Tuỳ cách đấu dây giữa phần cảm so với phần ứng, ta có những loại động cơ một chiều khác nhau:  Động cơ kích từ nối tiếp (hình 5.1a)  Động cơ kích từ song song (hình 5.1b)  Động cơ kích từ hỗn hợp (hình 5.1c)
  91. 90 Hình 5.1 – Các loại động cơ điện một chiều Các thông số chủ yếu quyết định tính năng làm việc của động cơ điện một chiều là: U: Điện áp cung cấp cho phần ứng I: Cường độ dòng điện của phần ứng  r: Điện trở trong của phần ứng : Từ thông E: Sức phản điện động phần ứng Các quan hệ cơ bản của động cơ điện một chiều là: E = U – rI = kn Hệ số k phụ thuộc vào đặc tính của dây cuốn và số thanh dẫn của phần ứng. U ― Ir Số vòng quay của động cơ điện một chiều là: n = k Mômen động C xác định từ phương trình cân bằng công suất: EI = 2 nC k I Hay: C = 2  Muốn điều chỉnh tốc độ động cơ điện một chiều có thể thực hiện bằng cách:  Thay đổi từ thông , thông qua việc điều chỉnh điện áp dòng kích từ. Trong trường hợp giữ nguyên điện áp phần ứng U, tăng tốc độ từ 0 đến tốc độ định mức, thì công suất không đổi còn momen giảm theo tốc độ.  Điều chỉnh điện áp phần ứng. Trong trường hợp từ thông không đổi, khi tăng tốc độ từ 0 đến tốc độ định mức thì mô men sẽ không đổi, còn công suất tăng theo tốc độ.
  92. 91 Muốn đảo chiều quay của động cơ điện một chiều, cần thay đổi chiều của từ thông (tức chiều của dòng điện kích từ) hoặc thay đổi chiều của dòng điện phần ứng. 1.2. Động cơ bước:  Nguyên tắc hoạt động: Trên hình 5.2 là sơ đồ động cơ bước loại đơn giản nhất dùng nam châm vĩnh cửu gồm stato có 4 cực và roto có 2 cực. Hình 5.2 – Sơ đồ nguyên lý hoạt động của động cơ bước Nếu cấp điện cho cuộn dây αα’ thì robot sẽ dừng ở vị trí mà dòng từ qua cuộn dây là lớn nhất. Nếu cấp điện cho cuộn ’ thì roto sẽ quay đi một góc ±900 (phụ thuộc vào chiều dòng điện cấp vào). Khi đồng thời cấp điện cho cả hai cuộn dây α và  thì roto sẽ dừng ở vị trí giữa 0 0 và 900, và nếu dòng điện vào 2 cuộn dây hoàn toàn như nhau thì roto sẽ dừng ở vị trí 450. Như vậy, vị trí của roto phụ thuộc vào số cực được cấp điện trên stato và chiều của dòng điện cấp vào. Trên đây là sơ đồ nguyên lý của động cơ bước loại có ít cực và dùng nam châm vĩnh cửu. Trên cơ sở đó ta có thể tìm hiểu các loại động cơ có nhiều cực và dùng nam châm điện có từ tính thay đổi. Như vậy, tuỳ theo cách cấp điện cho các cuộn dây trên stato ta có thể điều khiển các vị trí dừng của roto. Việc cấp điện cho các cuộn dây có thể số hoá, cho nên có thể nói động cơ bước là loại động cơ điện chuyển các tín hiệu số đầu vào thành chuyển động cơ học từng nấc ở đầu ra.  Ưu nhược điểm: Khi dùng động cơ bước không cần mạch phản hồi cho cả điều khiển vị trí và vận tốc Thích hợp với các thiết bị điều khiển số. Với khả năng điều khiển số trực tiếp, động cơ bước trở thành thông dụng trong các thiết bị cơ điện tử hiện đại. Tuy nhiên, phạm vi ứng dụng động cơ bước là ở vùng công suất nhỏ và trung bình.
  93. 92 Việc nghiên cứu nâng cao công suất động cơ bước đang là vấn đề rất được quan tâm hiện nay. Ngoài ra, nói chung hiệu suất của động cơ bước thấp hơn so với các loại động cơ khác.  Các thông số chủ yếu của động cơ bước: Góc quay: Động cơ bước quay một góc xác định ứng với mỗi xung kích thích. Góc bước  càng nhỏ thì độ phân giải vị trí càng cao. Số bước s là một thông số quan trọng: s = 3600/ Tốc độ quay và tần số xung: Tốc độ quay của động cơ bước phụ thuộc vào số bước trong một giây. Đối với hầu hết các động cơ bước, số xung cấp cho động cơ bằng số bước (tính theo phút) nên tốc độ có thể tính theo tần số xung f. Tốc độ quay của động cơ bước tính theo công thưc sau: 60f (f: bước/phút), (s: bước/ vòng) n = s Trong đó: - n: tốc độ quay (vòng/phút) - f: tần số xung (Hz) - s: số bước trong một vòng. Ngoài ra, còn có các thông số quan trọng khác như độ chính xác vị trí, momen và quán tính của động cơ,  Các loại động cơ bước: Tuỳ theo kiểu của roto, động cơ bước được chia thành các loại sau: Động cơ bước kiểu từ trở biến đổi (VR: Variable Resistance) Động cơ bước nam châm vĩnh cửu (PM: Permanent Magnet) Động cơ bước kiểu lai (Hybrid) Tuỳ theo số cuộn dây độc lập trên stato động cơ bước được chia thành các loại: 2 pha, 3 pha hoặc 4 pha. Roto động cơ bước có nhiều cực (còn gọi là răng). Số cực của roto phối hợp với số cực của stato xác định giá trị góc bước . Góc bước lớn nhất là 90 0 ứng với động cơ có số bước s = 4 bước/vòng. Phần lớn những động cơ bước hiện nay có số bước s = 200, nên  = 1,80.
  94. 93 Số bước càng lớn độ phân giải càng cao và định vị càng chính xác. Nhưng trong thực tế, không thể tăng số bước lên quá cao. Tuy nhiên, có thể dùng công nghệ tạo bước nhỏ để chia bước thành 2 bước nữa hoặc từ 10 đến 125 bước nhỏ. Công nghệ tạo bước nhỏ còn gọi là tạo vi bước, chỉ đơn giản là mở rộng phương pháp nói trên cho nhiều vị trí trung gian bằng cách cấp những giá trị dòng khác nhau cho mỗi cuộn dây. Động cơ được tạo bước nhỏ có độ phân giải tinh hơn nhiều. Ví dụ, nếu phân 125 bước nhỏ trong một bước đầy, với 200 bước/vòng thì độ phân giải của động cơ là 125 x 200 = 25.000 bước nhỏ/vòng. 2. Truyền động khí nén và thuỷ lực: Mục tiêu: trình bày cho người học các kiến thức về truyền động khí nén và thuỷ lực ứng dụng trong robot công nghiệp. 2.1. Truyền dẫn động khí nén: Dùng khí nén trong hệ truyền động robot nhiều thuận lợi hơn như: do các phân xưởng công nghiệp thường có mạng lưới khí nén chung, nên đơn giản hoá được phần thiết bị nguồn động lực cho robot. Hệ truyền dẫn khí nén tương đối gọn nhẹ, dễ sử dụng, dễ đảo chiều, Tuy nhiên hệ truyền dẫn khí nén cũng có nhiều nhược điểm như: do tính nén được của chất khí nên chuyển động thường kèm theo dao động, dừng không chính xác, ngoài ra còn cần trang bị thêm các thiết bị phun dầu bôi trơn, lọc bụi, giảm tiếng ồn, 2.2. Truyền dẫn động thuỷ lực: Hệ truyền dẫn thuỷ lực có những ưu điểm như: tải trọng lớn, quán tính bé, dễ thay đổi chuyển động, dễ điều khiển tự động. Tuy nhiên chúng cũng có những nhược điểm như: Hệ thuỷ lực luôn đòi hỏi bộ nguồn, bao gồm thùng dầu, bơm thuỷ lực, thiết bị lọc, bình tích dầu, các loại van điều chỉnh, đường ống, làm hệ truyền động robot khá cồng kềnh so với truyền động khí nén và truyền động điện. Nhìn chung, hệ truyền dẫn thuỷ lực vẫn được sử dụng khá phổ biến trong robot, nhất là trong trường hợp tải nặng. Các phần tử trong hệ truyền động bằng khí nén và thuỷ lực đã được tiêu chuẩn hoá. Các tính toán thiết kế hệ truyền dẫn khí nén và thuỷ lực đã được nghiên cứu trong các giáo trình riêng. 3. Các thiết bị cảm biến: Mục tiêu: trình bày cho người học các kiến thức về các thiết bị cảm biến ứng dụng trong robot công nghiệp.