Tài liệu Robot công nghệ - Phạm Đăng Phước (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu Robot công nghệ - Phạm Đăng Phước (Phần 1)", để 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:
tai_lieu_robot_cong_nghe_pham_dang_phuoc_phan_1.pdf
Nội dung text: Tài liệu Robot công nghệ - Phạm Đăng Phước (Phần 1)
- Robot Công nghiệp 1 Ch−ơng I Giới thiệu chung về robot công nghiệp 1.1. Sơ l−ợt quá trình phát triển của robot công nghiệp (IR : Industrial Robot) : 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 Mỹ AMF (American Machine and Foundry Company) quảng cáo một loại máy tự động vạn năng và gọi là “Ng−ời máy công nghiệp” (Industrial Robot). Ngày nay ng−ời ta đặt tên ng−ời máy công nghiệp (hay robot công nghiệp) cho những loại thiết bị có dáng dấp và một vài chức năng nh− tay ng−ời đ−ợc điều khiển tự động để thực hiện một số thao tác sản xuất. 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 (hay các thiết bị kiểu chủ-tớ) đã 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ạ. Ng−ời thao tác đ−ợc tách biệt khỏi khu vực phóng xạ bởi một bức t−ờng có một hoặc vài cửa quan sát để có thể nhìn thấy đ−ợc công việc bên trong. Các cơ cấu điều khiển từ xa thay thế cho cánh tay của ng−ời thao tác; nó gồm có một bộ kẹp ở bên trong (tớ) và hai tay cầm ở bên ngoài (chủ). Cả hai, tay cầm và bộ kẹp, đ−ợc nối với nhau bằng một cơ cấu sáu bậc tự do để tạo ra các vị trí và h−ớng tuỳ ý của tay cầm và bộ kẹp. Cơ cấu dùng để điều khiển bộ kẹp theo chuyển động của tay cầm. Vào khoảng năm 1949, các máy công cụ điều khiển số ra đời, nhằm đáp ứng yêu cầu gia công các chi tiết trong ngành chế tạo máy bay. Những robot đầu tiên thực chất là sự nối kết giữa các khâu cơ khí của cơ cấu điều khiển từ xa với khả năng lập trình của máy công cụ điều khiển số. D−ới đây chúng ta sẽ điểm qua một số thời điểm lịch sử phát triển của ng−ời máy công nghiệp. Một trong những robot công nghiệp đầu tiên đ−ợc chế tạo là robot Versatran của công ty AMF, Mỹ. Cũng vào khoảng thời gian nầy ở Mỹ xuất hiện loại robot Unimate -1900 đ−ợc dùng đầu tiên trong kỹ nghệ ôtô. Tiếp theo Mỹ, các n−ớc khác bắt đầu sản xuất robot công nghiệp : Anh -1967, Thuỵ Điển và Nhật -1968 theo bản quyền của Mỹ; CHLB Đức -1971; Pháp - 1972; ở ý - 1973. . . Tính năng làm việc của robot ngày càng đ−ợc nâng cao, nhất là khả năng nhận biết và xử lý. Năm 1967 ở tr−ờng Đại học tổng hợp 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 Mỹ Cincinnati đ−a ra loại robot đ−ợc điều khiển bằng máy vi tính, gọi là robot T3 (The Tomorrow Tool : Công cụ của t−ơng lai). Robot nầy có thể nâng đ−ợc vật có khối l−ợng đến 40 KG. Có thể nói, Robot là sự tổ 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í khôn nhân tạo, hệ chuyên gia Trong những năm sau nầy, việc nâng cao tính năng hoạt động của robot không ngừng phát triển. Các robot đ−ợc trang bị thêm các loại cảm biến khác nhau để nhận biết môi tr−ờng TS. Phạm Đăng Ph−ớc
- Robot Công nghiệp 2 chung quanh, cùng với những thành tựu to lớn trong lĩnh vực Tin học - Điện tử đã tạo ra các thế hệ robot với nhiều tính năng đăc biệt, Số l−ợng robot ngày càng gia tăng, giá thành ngày càng giảm. Nhờ vậy, robot công nghiệp đã có vị trí quan trọng trong các dây chuyền sản xuất hiện đại. Một vài số liệu về số l−ợng robot đ−ợc sản xuất ở một vài n−ớc công nghiệp phát triển nh− sau : (Bảng I.1) N−ớc SX Năm 1990 Năm 1994 Năm 1998 (Dự tính) Nhật 60.118 29.756 67.000 Mỹ 4.327 7.634 11.100 Đức 5.845 5.125 8.600 ý 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 Mỹ là n−ớc đầu tiên phát minh ra robot, nh−ng n−ớc phát triển cao nhất trong lĩnh vực nghiên cứu chế tạo và sử dụng robot lại là Nhật. 1.2. ứng dụng robot công nghiệp trong sản xuất : Từ khi mới ra đời robot công nghiệp đ−ợc áp dụng trong nhiều 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 ứ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. Đạt đ−ợc các mục tiêu trên là nhờ vào những khả năng to lớn của robot nh− : làm việc không biết mệt mỏi, rất dễ dàng chuyển nghề một cách thành thạo, chịu đ−ợc phóng xạ và các môi tr−ờng làm việc độc hại, nhiệt độ cao, “cảm thấy” đ−ợc cả từ tr−ờng và “nghe” đ−ợc cả siêu âm Robot đ−ợc dùng thay thế con ng−ời trong các tr−ờng hợp trên hoặc thực hiện các công việc tuy không nặng nhọc nh−ng đơn điệu, dễ gây mệt mõi, nhầm lẫn. Trong ngành cơ khí, robot đ−ợc sử dụng nhiều trong công nghệ đúc, công nghệ hàn, cắt kim loại, sơn, phun phủ kim loại, tháo lắp vận chuyển phôi, lắp ráp sản phẩm . . . Ngày nay đã xuất hiện nhiều dây chuyền sản xuất tự động gồm các máy CNC với Robot công nghiệp, các dây chuyền đó đạt mức tự động hoá cao, mức độ linh hoạt cao . . . ở đây các máy và robot đ−ợc điều khiển bằng cùng một hệ thống ch−ơng trình. 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, sử dụng trong quốc phòng, trong chinh phục vũ trụ, trong công nghiệp nguyên tử, trong các lĩnh vực xã hội . . . Rõ ràng là khả năng làm việc của robot trong một số điều kiện v−ợt hơn khả năng của con ng−ời; do đó nó là ph−ơng tiện hữu hiệu để tự động hoá, nâng cao năng suất lao động, giảm nhẹ cho con ng−ời những công việc nặng nhọc và độc hại. Nh−ợc điểm lớn nhất của robot là ch−a linh hoạt nh− con ng−ời, trong dây chuyền tự động, nếu có một robot bị hỏng có thể làm ngừng hoạt động của cả dây chuyền, cho nên robot vẫn luôn hoạt động d−ới sự giám sát của con ng−ời. TS. Phạm Đăng Ph−ớc
- Robot Công nghiệp 3 1.3. Các khái niệm và định nghĩa về robot công nghiệp : 1.3.1. Định nghĩa robot công nghiệp : Hiện nay có 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. Định nghĩa theo RIA (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 ΓOCT 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. Có thể nói Robot công nghiệp là một máy tự động linh hoạt thay thế từng phần hoặc toàn bộ các hoạt động cơ bắp và hoạt động trí tuệ của con ng−ời trong nhiều khả năng thích nghi khác nhau. Robot công nghiệp có khả năng ch−ơng trình hoá linh hoạt trên nhiều trục chuyển động, biểu thị cho số bậc tự do của chúng. Robot công nghiệp đ−ợc trang bị những bàn tay máy hoặc các cơ cấu chấp hành, giải quyết những nhiệm vụ xác định trong các quá trình công nghệ : hoặc trực tiếp tham gia thực hiện các nguyên công (sơn, hàn, phun phủ, rót kim loại vào khuôn đúc, lắp ráp máy . . .) hoặc phục vụ các quá trình công nghệ (tháo lắp chi tiết gia công, dao cụ, đồ gá . . .) với những thao tác cầm nắm, vận chuyển và trao đổi các đối t−ợng với các trạm công nghệ, trong một hệ thống máy tự động linh hoạt, đ−ợc gọi là “Hệ thống tự động linh hoạt robot hoá” cho phép thích ứng nhanh và thao tác đơn giản khi nhiệm vụ sản xuất thay đổi. 1.3.2. Bậc tự do của robot (DOF : Degrees 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 ở đây : 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 với số khâu động . Đối với cơ cấu hở, 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. 1.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 khâu cơ bản (base) đứng yên. Hệ toạ độ gắn với TS. Phạm Đăng Ph−ớc
- Robot Công nghiệp 4 khâu cơ bản gọi là hệ toạ độ cơ bản (hay hệ 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 cuả các 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à biến khớp. z θ4 n θ θ5 3 a On d2 o θ1 y x O0 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 z tuân theo qui 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 : cái, trỏ và giữa theo 3 ph−ơng vuông góc nhau, nếu chọn ngón cái là ph−ơng và chiều của trục z, thì ngón trỏ chỉ x O ph−ơng, chiều của trục x và ngón giữa sẽ biểu thị ph−ơng, chiều của trục y (hình 1.2). Trong robot ta th−ờng dùng chữ O và chỉ số n y để chỉ hệ toạ độ gắn trên khâu thứ n. Nh− vậy hệ toạ độ cơ bản (Hệ toạ độ gắn với khâu cố định) sẽ đ−ợc ký Hình 1.2 : Qui tắc bàn tay phải hiệu là O0; hệ toạ độ gắn trên các khâu trung gian t−ơng ứng sẽ là O1, O2, , On-1, Hệ toạ độ gắn trên khâu chấp hành cuối ký hiệu là On. 1.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 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; ví dụ, một khớp quay có chuyển động nhỏ hơn một góc 3600. 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 (hình 1.3). β H R Hình chiếu đứng Hình chiếu bằng Hình 1.3 : Biểu diễn tr−ờng công tác của robot. TS. Phạm Đăng Ph−ớc
- Robot Công nghiệp 5 1.4. Cấu trúc cơ bản của robot công nghiệp : 1.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 nh− hình 1.4. Các cảm biến Bộ điều Thiết bị khiển và Nguồn Cánh tay dạy học máy tính động lực robot Các ch−ơng Dụng cụ trình thao tác Hình 1.4 : Các thành phần chính của hệ thống robot. Cánh tay robot (tay máy) 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 (một chiều hoặc động cơ b−ớc), các hệ thống xy lanh khí nén, thuỷ lực để tạo động lực cho tay máy hoạt động. Dụng cụ thao tác đ−ợc gắn trên khâu cuối của robot, dụng cụ của 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, đầu phun sơn Thiết bị dạy-hoc (Teach-Pendant) 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 (ph−ơng pháp lập trình kiểu dạy họ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 (Controller). Bộ điều khiển còn đ−ợc gọi là Mođun điều khiển (hay Unit, Driver), nó th−ờng đ−ợc kết nối với máy tính. Một mođun đ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; điều khiển các băng tải hoặc cơ cấu cấp phôi hoạt động phối hợp với robot 1.4.2. Kết cấu của tay máy : Nh− đã nói trên, tay máy là thành phần quan trọng, nó quyết định khả năng làm việc của robot. 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 đa dạng, nhiều cánh tay robot có hình dáng rất 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 (hay tr−ờng công tác), số bậc tự do (thể hiện sự khéo léo linh hoạt của robot), độ cứng vững, tải trọng vật nâng, lực kẹp . . . TS. Phạm Đăng Ph−ớc
- Robot Công nghiệp 6 Các khâu của robot th−ờng thực hiện hai chuyển động cơ bản : • Chuyển động tịnh tiến theo h−ớng x,y,z trong không gian Descarde, 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,z ký hiệu là R (Roatation). Tuỳ thuộc vào số khâu và sự tổ hợp các chuyển động (R và T) 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 là Robot là robot kiểu toạ độ Đề các, toạ độ trụ, toạ độ cầu, robot kiểu SCARA, hệ toạ độ góc (phỏng sinh) Robot kiểu toạ độ Đề các : là tay máy có 3 chuyển động cơ bản tịnh tiến T.T.T 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ó thuờng dùng để vận chuyển phôi liệu, lắp ráp, hàn trong mặt phẳng Hình 1.5 : Robot kiểu toạ độ Đề các R.T.T Robot kiểu toạ độ trụ : Vùng làm việc của robot có dạng hình trụ rỗng. Th−ờng khớp thứ nhất chuyển động quay. Ví dụ robot 3 bậc tự do, cấu hình R.T.T nh− hình vẽ 1.6. Có nhiều robot kiểu toạ độ trụ nh− : robot Versatran của hãng AMF (Hoa Kỳ). 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 loại robot nầy thấp hơn so với hai loại trên. Ví dụ robot 3 bậc tự do, cấu hình R.R.R hoặc R.R.T làm việc theo kiểu toạ độ cầu (hình 1.7). R.R.R R.R.T Hình 1.7 : 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 hơn cả. 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 TS. Phạm Đăng Ph−ớc
- Robot Công nghiệp 7 động 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 hệ toạ độ góc nh− : Robot PUMA của hãng Unimation - Nokia (Hoa Kỳ - Phần Lan), IRb-6, IRb-60 (Thuỵ Điển), Toshiba, Mitsubishi, Mazak (Nhật Bản) .V.V Ví dụ một robot hoạt động theo hệ toạ độ góc (Hệ toạ độ phỏng sinh), 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 việc lắp ráp nên SCARA đôi khi đ−ợc giải thích là từ viết tắt của "Selective Compliance 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ơ Hình 1.9 : Robot kiểu SCARA đồ của robot SCARA nh− hình 1.9. 1.5. Phân loại Robot công nghiệp : Robot công nghiệp rất phong phú đa dạng, có thể đ−ợc phân loại theo các cách sau : 1.4.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ụ, kiểu toạ độ cầu, kiểu toạ độ góc, robot kiểu SCARA nh− đã trình bày ở trên. 1.4.2. Phân loại theo hệ thống truyền động : Có các dạng truyền động phổ biến là : Hệ truyền động điện : Th−ờng dùng các động cơ điện 1 chiều (DC : Direct Current) hoặc các động cơ b−ớc (step motor). 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 độ phi 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 taọ 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ấc lên - đặt xuống” (Pick and Place or PTP : Point To Point). TS. Phạm Đăng Ph−ớc
- Robot Công nghiệp 8 1.4.3. Phân loại theo ứng dụng : Dựa vào ứng dụng của robot trong sản xuất có Robot sơn, robot hàn, robot lắp ráp, robot chuyển phôi .v.v 1.4.4. Phân loại theo cách thức và đặc tr−ng của ph−ơng pháp điều khiển : Có robot điều khiển hở (mạch điều khiển không có các quan hệ phản hồi), Robot điều khiển kín (hay điều khiển servo) : sử dụng cảm biến, mạch phản hồi để tăng độ chính xác và mức độ linh hoạt khi điều khiển. Ngoài ra còn có thể có các cách phân loại khác tuỳ theo quan điểm và mục đích nghiên cứu TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 9 Ch−ơng II Các phép biến đổi thuần nhất (Homogeneous Transformation) Khi xem xét, nghiên cứu mối quan hệ giữa robot và vật thể ta không những cần quan tâm đến vị trí (Position) tuyệt đối của điểm, đ−ờng, mặt của vật thể so với điểm tác động cuối (End effector) của robot mà còn cần quan tâm đến vấn đề định h−ớng (Orientation) của khâu chấp hành cuối khi vận động hoặc định vị taị một vị trí. Để mô tả quan hệ về vị trí và h−ớng giữa robot và vật thể ta phải dùng đến các phép biến đổi thuần nhất. Ch−ơng nầy cung cấp những hiểu biết cần thiết tr−ớc khi đi vào giải quyết các vấn đề liên quan tới động học và động lực học robot. 2.1. Hệ tọa độ thuần nhất : Để biểu diễn một điểm trong không gian ba chiều, ng−ời ta dùng Vectơ điểm (Point vector). Vectơ đ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 ,. . . Tùy 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 vectơ điểm khác nhau : V vE vF E F Hình 2.2 : Biểu diễn 1 điểm trong không gian vE và vF là hai vectơ khác nhau mặc dù cả hai vectơ cùng mô tả điểm V. Nếu i, j, k là các vec tơ đơn vị của một hệ toạ độ nào đó, chẳng hạn trong E, ta có : r r r vr = ai + bj + ck 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 vectơ v trong không gian bốn chiều với suất vectơ là một ma trận cột : x x/w = a v = y Trong đó y/w = b z 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 dễ thấy : x x y y z z ==x=a; ==y=b; ==za= w 1 w 1 w 1 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 10 Trong tr−ờng hợp nầy thì các 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. x y z Với w = 0 ta có : ===∞ 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 đó ≠ 0 và 1 thì việc biểu diễn điểm trong không gian t−ơng ứng với hệ số tỉ lệ w : rrr Ví dụ : vir =+34j+5k với w = 1 (tr−ờng hợp thuần nhất) : v = [3 4 5 1]T với w=-10 biểu diễn t−ơng ứng sẽ là : v = [-30 -40 -50 -10]T Ký hiệu [ . . . . ]T (Chữ T viết cao lên trên để chỉ phép chuyển đổi vectơ hàng thành vectơ cột). Theo cách biểu diễn trên đây, ta qui −ớc : [0 0 0 0]T là vectơ không xác định [0 0 0 n]T với n ≠ 0 là vectơ không, trùng với gốc toạ độ [x y z 0]T là vectơ chỉ h−ớng [x y z 1]T là vectơ điểm trong hệ toạ độ thuần nhất. 2.2. Nhắc lại các phép tính về vectơ và ma trận : 2.2.1. Phép nhân véctơ : r r r r Cho hai vectơ : aa=+xyi aj+azk r r r r bb=+xyibj+bzk Ta có tích vô h−ớng a.b = axbx + ayby + azbz Và tích vectơ : r r r i j k r r r r r a x b = = (aybz-azby)i + (azbx-axbz) j + (axby-aybx) k ax a y az bx by bz 2.2.2. Các phép tính về ma trận : a/ 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 số thực. b/ Tích của 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 = 3 4 7 8 9 5 6 Ta có : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 11 1.1+2.3+3.5 1.2+2.4+3.6 22 28 C = A.B = 4.1+5.3+6.5 4.2+5.4+6.6 = 49 64 7.1+8.3+9.5 7.2+8.4+9.6 76 100 Phép nhân hai ma trận không có tính giao hoán, nghĩa là : A . B ≠ B . A Ma trận đơn vị I (Indentity Matrix) 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 : 1. (k.A).B = k.(A.B) = A.(k.B) 2. A.(B.C) = (A.B).C 3. (A + B).C = A.C + B.C 4. C.(A + B) = C.A + C.B c/ 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 : nx Ox ax px T = ny Oy ay py nz Oz az pz 0 0 0 1 Ma trận nghịch đảo của T ký hiệu là T-1 : nx ny nz -p.n -1 T = Ox Oy Oz -p.O (2-1) ax ay az -p.a 0 0 0 1 Trong đó p.n là tích vô h−ớng của vectơ p và n. nghĩa là : p.n = pxnx + pyny + pznz t−ơng tự : p.O = pxOx + pyOy + pzOz và p.a = pxax + pyay + pzaz Ví dụ : tìm ma trận nghịch đảo của ma trận biến đổi thuần nhất : 0 0 1 1 H = 0 1 0 2 -1 0 0 3 0 0 0 1 Giải : áp dụng công thức (2-1), ta có : 0 0-13 H-1 = 0 1 0 -2 1 0 0 -1 0 0 0 1 Chúng ta kiểm chứng rằng đây chính là ma trận nghịch đảo bằng các nhân ma trận H với H-1 : 0 01 1 00-13 1000 0 10 2 010-2=0100 -1 00 3 100-1 0010 0 00 1 0001 0001 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 12 Ph−ơng pháp tính 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. d/ Vết của ma trận : Vết của ma trận vuông bậc n là tổng 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 : 1/ Tr(A) = Tr(AT) 2/ Tr(A+B) = Tr(A) + Tr(B) 3/ Tr(A.B) = Tr(B.A) 4/ Tr(ABCT) = Tr(CBTAT) e/ Đạ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. ⎡a11 a12 a13 a14 ⎤ ⎢a a a a ⎥ Ví dụ : cho A = ⎢ 21 22 23 24 ⎥ ⎢a31 a32 a33 a34 ⎥ ⎢ ⎥ ⎣a41 a42 a43 a44 ⎦ ⎡∂a11 ∂a12 ∂a13 ∂a14 ⎤ ⎢ ∂t ∂t ∂t ∂t ⎥ ⎢∂a ∂a ∂a ∂a ⎥ ⎢ 21 22 23 24 ⎥ thì : dA = ⎢ ∂t ∂t ∂t ∂t ⎥ dt ⎢∂a31 ∂a32 ∂a33 ∂a34 ⎥ ⎢ ∂t ∂t ∂t ∂t ⎥ ⎢∂a ∂a ∂a ∂a ⎥ ⎢ 41 42 43 44 ⎥ ⎣ ∂t ∂t ∂t ∂t ⎦ T−ơng tự, phép tích phân của ma trận A là một ma trận, có : ∫ A(t)dt = {∫ aij (t)dt} 2.3. Các phép biến đổi Cho u là vectơ điểm biểu diễn điểm cần biến đổi, h là vectơ 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à vectơ biểu diễn điểm sau khi đã biến đổi. 2.3.1. Phép biến đổi tịnh tiến (Translation) : r r r r Giả sử cần tịnh tiến một điểm hoặc một vật thể theo vectơ dẫn ha=+ibj+ck. Tr−ớc hết ta có định nghĩa của ma trận chuyển đổi H : 1 0 0 a H = Trans(a,b,c) = 0 1 0 b (2.2) 0 0 1 c 0 001 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 13 Gọi u là vectơ biểu diễn điểm cần tịnh tiến : u = [x y z w]T Thì v là vectơ biểu diễn điểm đã biến đổi tịnh tiến đ−ợc xác định bởi : 1 0 0 a x x+aw x/w+a v = H.u = 0 1 0 b . y = y+bw = y/w+b 0 0 1 c z z+cw z/w+c 0 0 0 1 w w 1 Nh− vậy bản chất của phép biến đổi tịnh tiến là phép cộng vectơ giữa vectơ biểu diễn điểm cần chuyển đổi và vectơ dẫn. r r r ur = 2i + 3j + 2k Ví dụ : rrrr h = 4i - 3j + 7k Thì 1 0 0 4 2 2+4 6 v = Hu = 0 1 0 -3 . 3 = 3-3 = 0 0 0 1 7 2 2+7 9 0 0 0 1 1 1 1 và viết là : v = Trans(a,b,c) u z 9 7 v h 2 u -3 0 3 y 2 4 6 x Hình 2 4: Phép biến đổi tịnh tiến trong không gian 2.3.2. Phép quay (Rotation) 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 θo, ta lần l−ợt có các ma trận chuyển đổi nh− sau : 1 0 0 0 Rot(x, θo) = 0 cosθ -sinθ 0 (2.3) 0 sinθ cosθ 0 0 0 0 1 cosθ 0 sinθ 0 Rot(y, θo) = 0 1 0 0 (2.4) -sinθ 0 cosθ 0 0 0 0 1 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 14 cosθ -sinθ 0 0 Rot(z, θo) = sinθ cosθ 0 0 (2.5) 0 0 1 0 0 0 0 1 r r r Ví dụ : Cho điểm U biểu diễn bởi u=7r i+3j+2k quay xung quanh z một góc θ = 90o (hình 2.5). Ta có 0 -1 0 0 7 -3 v= Rot(z, 90o)u = 1 0 0 0 3 = 7 0 0 1 0 2 2 0 0 0 1 1 1 Nếu cho điểm đã biến đổi tiếp tục quay xung quanh y một góc 90o ta có : 0 0 1 0 -3 2 w = Rot(y, 90o)v = 0 1 0 0 7 = 7 -1 0 0 0 2 3 0 0 0 1 1 1 Và có thể biểu diễn : 2 w = Rot(y, 90o). Rot(z, 90o) . u = 7 3 1 Chú ý : Nếu đổi thứ tự quay ta sẽ đ−ợc w’≠ w (hình 2.6), cụ thể : cho U quay quanh y tr−ớc 1 góc 900, ta có : 0 0 1 0 7 2 v’ = 0 1 0 0 3 = 3 = Rot(y, 90o).u -1 0 0 0 2 -7 0 0 0 1 1 1 Sau đó cho điểm vừa biến đổi quay quanh z một góc 900, ta đ−ợc : 0 -1 0 0 2 -3 w’ = 1 0 0 0 3 = 2 = Rot(z, 90o).Rot(y,900)u 0 0 1 0 -7 -7 0 0 0 1 1 1 Rõ ràng : Rot(y, 90o).Rot(z,900)u ≠ Rot(z,900).Rot(y, 90o)u z z v y y w’ w u u x x v’ Hình 2.5 Hình 2.6 w = Rot(y, 90o). Rot(z, 90o)u w’= Rot(z, 90o). Rot(y, 90o)u TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 15 2.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,z). Trong phần nầy, ta nghiên cứu phép quay quanh một vectơ k bất kỳ một góc θ. Ràng buộc duy nhất là vectơ 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 : n (Cz) Cx Cy Cz Co nx Ox az 0 C = ny Oy ay 0 Co nz Oz az 0 0 0 0 1 O(Cy) a (Cx) Hình 2.7 : 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.7), các vectơ đơn vị đ−ợc biểu thị nh− sau : a : là vectơ có h−ớng tiếp cận với đối t−ợng (approach); O: là vectơ có h−ớng mà theo đó các ngón tay nắm vào khi cầm nắm đối t−ợng (Occupation); n : Vectơ pháp tuyến với (O,a) (Normal). Bây giờ ta hãy coi vectơ 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 vectơ đơn vị của hệ C. r r r r Chẳng hạn : k=axyi+a j+azk 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à vectơ bất kỳ, thì ta có X mô tả trong hệ C với k là một trong các vectơ đơn vị. Từ điều kiện biến đổi thuần nhất, T và X có 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) Trong đó Rot(z,θ) là phép quay cơ bản quanh trục z một góc θ, có thể sử dụng công thức (2.5) nh− đã trình bày. C-1 là ma trận nghịch đảo của ma trận C. Ta có : nx ny nz 0 -1 C =Ox Oy Oz 0 ax ay az 0 0 0 0 1 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 16 Thay các ma trận vào vế phải của ph−ơng trình (2.6) : nx Ox ax 0 cosθ -sinθ 00 nx ny nz 0 Rot(k,θ) = ny Oy ay 0 sinθ cosθ 00 Ox Oy Oz 0 nz Oz az 0 0 0 1 0 ax ay az 0 0 0 0 1 0 0 0 1 0 0 0 1 Nhân 3 ma trận nầy với nhau ta đ−ợc : nxnxcosθ - nxOxsinθ + nxOxsinθ + OxOxcosθ + axax Rot(k,θ) = nxnycosθ - nyOxsinθ + nxOysinθ + OxOycosθ + ayax nxnzcosθ - nzOxsinθ + nxOzsinθ + OxOzcosθ + azax 0 nxnycosθ - nxOysinθ + nyOxsinθ + OxOycosθ + axay nynycosθ - nyOysinθ + nyOysinθ + OyOycosθ + ayay nznycosθ - nzOysinθ + nyOzsinθ + OzOycosθ + azay 0 nxnzcosθ - nxOzsinθ + nzOxsinθ + OxOzcosθ + axaz 0 nynzcosθ - nyOzsinθ + nzOysinθ + OyOzcosθ + ayaz 0 nznzcosθ - nzOzsinθ + nzOzsinθ + OzOzcosθ + azaz 0 0 1 (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 vectơ 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ó đều bằng 1 vì là vectơ đơn vị. r - Vectơ đơn vị z bằng tích vectơ của x và y, hay là : ar = nr x O Trong đó : ax = nyOz - nzOy ay = nxOz - nzOx ax = nxOy - nyOx Khi cho k trùng với một trong số các vectơ đơn vị của C ta đã chọn : kz = ax ; ky = ay ; kz = az Ta ký hiệu Versθ = 1 - cosθ (Versin θ). Biểu thức (2.6) đ−ợc rút gọn thành : kxkxversθ+cosθ kykxversθ-kzsinθ kzkxversθ+kysinθ 0 Rot(k,θ) = kxkyversθ+kzsinθ kykyversθ+cosθ kzkyversθ-kxsinθ 0 (2.8) kxkzversθ+kysinθ kykzversθ+kzsinθ kzkzversθ+cosθ 0 0 0 0 1 Đây là biểu thức của phép quay tổng quát quanh một vectơ bất kỳ k. Từ phép quay tổng quát có thể suy ra các phép quay cơ bản quanh các trục toạ độ. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 17 2.3.4. Bài toán ng−ợc : tìm góc quay và trục quay t−ơng đ−ơng : 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 R=Rot(k, θ), xác định bởi : nx Ox ax 0 R = ny Oy ay 0 nz Oz az 0 0 0 0 1 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 : nx Ox ax 0 kxkxversθ+cosθ kykxversθ-kzsinθ kzkxversθ+kysinθ 0 ny Oy ay 0 = kxkyversθ+kzsinθ kykyversθ+cosθ kzkyversθ-kxsinθ 0 nz Oz az 0 kxkzversθ+kysinθ kykzversθ+kzsinθ kzkzversθ+cosθ 0 0 0 0 1 0 0 0 1 (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ó : 2 2 2 nx + Oy + az + 1 = k x versθ + cosθ + k y versθ + cosθ + k z versθ + cosθ + 1 2 2 2 = (1 - cossθ)( k x + k y + k z ) + 3cosθ + 1 = 1 - cosθ + 3cosθ +1 = 2(1+ cosθ) ⇒ cosθ = (nx + Oy + az - 1)/2 * Tính hiệu các phần tử t−ơng đ−ơng của hai ma trận, chẳng hạn : Oz- ay = 2kxsinθ ax - nz = 2kysinθ (2.10) ny - Ox = 2kzsinθ 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) = 4 sin θ 1 ⇒ sinθ = ± (O - a )2 + (a - n )2 + (n - O )2 2 zy xz yx Với 0 ≤ θ ≤ 1800 : 2 2 2 (O zy- a ) + (a xz - n ) + (n y - O x) tgθ = (n xy + O + a z - 1) Và trục k đ−ợc định nghĩa bởi : O− a a− n n− O k = zy; k = xz; k = yz (2.11) x 2sinθ y 2sinθ x 2sinθ Để ý 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 phải chuẩn hoá k sao cho ⎥ k⎥ = 1 x y z 0 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 18 a ≠ 0 - Nếu θ = 1800 thì k , k , k có dạng . Lúc nầy k không xác định đ−ợc, ta phải x y z 0 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) : 2 nx = k x versθ+cosθ 2 Oy = k y versθ+cosθ 2 az = k z versθ+cosθ Từ đây ta suy ra : n − cosθ n − cosθ k=± xx=± x versθ 1- cosθ O − cosθ O − cosθ k=± yy=± y versθ 1- cosθ a − cosθ a − cosθ k=± zz=± z versθ 1- cosθ 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 : n − cosθ k=− Sgn(Oa ) x xzy 1- cosθ O − cosθ k= Sgn(a- n)y (2.12) yxz1- cosθ a − cosθ k=− Sgn(nO) z zyx1- cosθ Hệ ph−ơng trình (2.12) chỉ dùng để xác định xem trong các kx, ky, kz 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 đổi (2.9) : ny + Ox = 2kxkyversθ = 2kxky(1 - cosθ) Oz + ay = 2kykzversθ = 2kykz(1 - cosθ) (2.13) ax + nz = 2kzkxversθ = 2kzkx(1 - cosθ) Giả sử theo hệ (2.12) ta có kx là lớn nhất, lúc đó ky, kz sẽ tính theo kx bằng hệ (2.13); cụ nOy + x thể là : k y = 21k x (c− osθ) anx + z k z = 21k x (c− osθ) Ví dụ : Cho R = Rot[y,900]Rot[z,900]. Hãy xác định k và θ để R = Rot[k,θ]. Ta đã biết : 0 0 1 0 R = Rot(y,900).Rot(z,900) = 1 0 0 0 0 1 0 0 0 0 0 1 Ta có cosθ = (nx + Oy + az - 1) / 2 = (0 + 0 + 0 - 1) / 2 = -1 / 2 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 19 1 sinθ = (O - a )2 + (a - n )2 + (n - O )2 2 zy xz yx 1 3 = (1 - 0) 22 + (1 - 0) + (1 - 0) 2 = 2 2 ⇒ tgθ = − 3 và θ = 1200 Theo (2.12), ta có : 01+ / 2 1 kx = ky = kz = + = 11+ / 2 3 Vậy : R = Rot(y,900).Rot(z,900) = Rot(k, 1200); với : r 1 r 1 r 1 r k =+i j +k 3 3 3 z 1/ 3 k 1200 1/ 3 O y x 1/ 3 Hình 2.8 : Tìm góc quay và trục quay t−ơng đ−ơng 2.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 quanh 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.9). z z’ z’’z’’’ θ Φ y’’’ Ψ Ψ θ y’y’’ Φ y x Φ θ Ψ x’ x’’ x’’’ Hình 2.9 : Phép quay Euler Ta biểu diễn phép quay Euler bằng cách nhân ba ma trận quay với nhau : Euler (Φ,θ,ψ) = Rot(z, Φ) Rot(y, θ) Rot(z, ψ) (2.14) TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 20 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). Cosθ 0 sinθ 0 cosψ -sinψ 00 Euler (Φ,θ,ψ) = Rot(z, Φ) 0 1 0 0 sinψ cosψ 00 -sinθ 0 Cosθ 0 0 0 1 0 0 0 0 1 0 0 0 1 cosΦ -sinΦ 0 0 Cosθcosψ -Cosθ sinψ sinθ 0 = sinΦ cosΦ 0 0 sinψ cosψ 0 0 0 0 1 0 -sinθ cosψ sinθ sinψ Cosθ 0 0 0 0 1 0 0 0 1 cosΦCosθcosψ - sinΦsinψ -cosΦCosθsinψ - sinΦcosψ cosΦsinθ 0 = sinΦCosθcosψ + cosΦsinψ -sinΦCosθsinψ + cosΦcosψ sinΦsinθ 0 -sinθ cosψ sinθ sinψ cosθ 0 0 0 0 1 (2.15) 2.3.6. Phép quay Roll-Pitch-Yaw : 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 Yaw thân một con tàu. Dọc theo thân tàu là trục z, x Roll là chuyển động lắc của thân tàu, t−ơng Ψ đ−ơng với việc quay thân tàu một góc Φ quanh Roll trục z. Pitch là sự bồng bềnh, t−ơng đ−ơng với Φ z quay một góc θ xung quanh trục y và Yaw là sự lệch h−ớng, t−ơng đ−ơng với phép quay một góc ψ xung quanh trục x (Hình 2.10) Pitch θ y Các phép quay áp dụng cho khâu chấp Thân tàu hành cuối của robot nh− hình 2.11. Ta xác định thứ tự quay và biểu diễn phép quay nh− Hình 2.10: Phép quay Roll-Pitch-Yaw sau : RPY(Φ,θ,ψ)=Rot(z,Φ)Rot(y,θ)Rot(x, ψ) (2.16) z Roll, Φ Pitch, θ y x Yaw, ψ Hình 2.11 : 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 truc z. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 21 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 : cosθ 0 sinθ 0 1 0 0 0 0 1 0 0 0 cosψ -sinψ 0 RPY(Φ,θ,ψ)=Rot(z,Φ) -sinθ 0 cosθ 0 0 sinψ cosψ 0 0 0 0 1 0 0 0 1 cosΦ -sinΦ 0 0 cosθ sinθsinψ sinθcosψ 0 = sinΦ cosΦ 0 0 0 cosψ -sinψ 0 0 0 1 0 -sinθ cosθsinψ cosθ cosψ 0 0 0 0 1 0 0 0 1 cosΦcosθ cosΦsinθsinψ - sinΦcosψ cosΦsinθcosψ + sinΦsinψ 0 = sinΦcosθ sinΦsinθsinψ +cosΦcosψ sinΦsinθcosψ - cosΦsinψ 0 -sinθ cosθ sinψ cosθ cosψ 0 0 0 0 1 (2.17) 2.4. Biến đổi hệ toạ độ và mối quan hệ giữa các hệ toạ độ biến đổi : 2.4.1 Biến đổi hệ toạ độ : Giả sử cần tịnh tiến gốc toạ độ Đề cát O(0, 0, 0) theo một vectơ dẫn r r r r h = 4i - 3j + 7k (hình 2.12) . Kết quả của phép biến đổi là : 1 0 0 4 0 4 OT = 0 1 0 -3 0 = -3 0 0 1 7 0 7 0 0 0 1 1 1 Nghĩa là gốc ban đầu có toạ độ O(0, 0, 0) đã chuyển đổi đến gốc mới OT có toạ độ (4, -3, 7) so với hệ toạ độ cũ. z zT 7 OT yT xT -3 O y 4 x Hình 2.12 : Phép biến đổi tịnh tiến hệ toạ độ 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. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 22 Nếu ta tiếp tục thực hiện các phép biến đổi quay : o o Rot(y,90 )Rot(z,90 ).OT 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) khi cho hệ OT quay quanh z một góc 900 (chiều quay d−ơng qui −ớc là ng−ợc chiều kim đồng hồ), ta có : zT z'T y'T o 90 0 OT Rot(z,90 ) OT y T x'T xT 0 Ta tiếp tục quay hệ OT quanh truc y (trục y của hệ toạ độ gốc ) một góc 90 , Ta có : z'T y''T y'T 90o y 0 Rot(y,90 ) OT OT z"T x'' x'T T Ví dụ trên đây 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 là 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 : o o Rot(y,90 )Rot(z,90 ).OT zT o 90 o y' O Rot(y,90 ) T T O'T yT z' T xT x' T 0 Ta tiếp tục quay hệ O'T quanh truc z (Bây giờ là trục z'T của hệ toạ độ mới) một góc 90 : y''T o y'T o 90 O'T Rot(z',90 ) O''T z" z'T T x''T x'T 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. 2.4.2. Quan hệ giữa các hệ toạ độ biến đổi : A Giả sử ta có 3 hệ toạ độ A, B, C; Hệ B có quan hệ với hệ A qua phép biến đổi T/B và B hệ C có quan hệ với hệ B qua phép biến đổi T/c . Ta có điểm P trong hệ C ký hiệu PC, ta tìm mối quan hệ của điểm P trong hệ A, tức là tìm PA (Hình 2.13) : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 23 zC zB pC z A xC pA C B xB yC A xA yB y A Hình 2.13 : 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 = T/c pC, (2.18) Sau đó biến đổi pB thành pA nh− sau : A pA = T/B pB, (2.19) Kết hợp (2.18) và (2.19) ta có : A B p A = TB TC pc (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ệ tọa độ 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.14. z O2 O3 Bàn tay O1 O4 T 4 y O0 x Hình 2.14 : Hệ toạ độ cơ bản (base) và các hệ toạ độ trung gian của Robot. 2.5. Mô tả một vật thể : Các vật thể là đối t−ợng làm việc của robot rất đa 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 (Rotative) Nhóm vật thể có góc cạnh (Prismatic) Nhóm vật thể có cấu trúc hổn hợp (Kombination) 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 còn lại 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.15. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 24 Ta thực hiện các phép biến đổi sau : z H = Trans(4,0,0)Rot(y,900)Rot(z,900) Với vị trí của vật thể, ta có ma trận toạ độ của 6 -1,0,2,1 điểm đặc tr−ng mô tả nó là : 1,0,2,1 -1,0,0,1 -1,4,0,1 y 1 -1 -1 1 1 -1 1,0,0,1 1,4,0,1 0 0 0 0 4 4 0 0 2 2 0 0 x 1 1 1 1 1 1 Hình 2.15 : Mô tả vật thể 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.16), - Cho vật thể quay quanh trục y một góc 900 (Hình 2.17), - 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.18) ta xác đị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) : 0 0 1 4 1 -1 -1 1 1 -1 H = 1 0 0 0 0 0 0 0 4 4 0 1 0 0 0 0 2 2 0 0 0 0 0 1 1 1 1 1 1 1 4 4 6 6 4 4 = 1 -1 -1 1 1 1 0 0 0 0 4 4 1 1 1 1 1 1 z z y y O O x x 0 0 Hình 2.16 : Rot (z,900) Hình 2.17: Rot (y,90 ) Rot (z,90 ) TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 25 z y O H = Trans(4,0,0)Rot (y,900)Rot (z,900) x Hình 2.18: Vị trí vật thể sau khi biến đổi 2.6. Kết luận : Các phép biến đổi thuần nhất dùng để miêu tả vị trí và h−ớng của các hệ toạ độ trong không gian. Nếu một hệ toạ độ đ−ợc gắn liền với đối t−ợng thì vị trí và h−ớng của chính đối t−ợng cũng đ−ợc mô tả. Khi mô tả đối t−ợng A trong mối quan hệ với đối t−ợng B bằng các phép biến đổi thuần nhất thì ta cũng có thể dựa vào đó mô tả ng−ợc lại mối quan hệ của B đối với đối t−ợng A. Một chuyển vị có thể là kết quả liên tiếp của nhiều phép biến đổi quay và tịnh tiến. Tuy nhiên ta cần l−u ý đến thứ tự của các phép biến đổi, nếu thay đổi thứ tự thực hiện có thể dẫn đến các kết quả khác nhau. Bài tập ch−ơng II : Bài 1 : Cho điểm A biểu diễn bởi vectơ điểm v=[ 2 4 1 1 ]T. Tịnh tiến điểm A theo vectơ 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 vectơ biểu diễn điểm A sau hai phép biến đổi. Bài 2 : Viết ma trận biến đổi thuần nhất biểu diễn các phép biến đổi sau : H = Trans(3,7,9)Rot(x,-900)Rot(z,900) Bài 3 : Cho ma trận biến đổi thuần nhất A, tìm ma trận nghịch đảo A-1 và kiểm chứng. 0 1 0 -1 A = 0 0-12 -1 0 0 0 0 0 0 1 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 26 Bài 4 : Hình vẽ 2-19 mô tả hệ toạ độ {B} đã đ−ợc {B} 0 quay đi một góc 30 xung quanh trục zA, tịnh tiến {A} y B x dọc theo trục xA 4 đơn vị và tịnh tiến dọc theo yA y B 3 đơn vị. A A (a) Mô tả mối qua hệ của {B} đối với {A} : TB ? B (b) Tìm mối quan hệ ng−ợc lại TA ? xA Hình 2.19 : Quan hệ {A} và {B} 1 Bài 5 : Cho k = (1, 1, 1)T, θ = 900. Tìm ma trận R = Rot(k, θ). 3 Bài 6 : Xác định các góc quay Euler, và các góc quay RPY khi biết ma trận T6 : 1 0 0 0 T6 = 0 0 1 5 0 -1 0 3 0 0 0 1 Bài 7 : Một vật thể đặt trong một hệ toạ độ tham chiếu đ−ợc xác định bởi phép biến đổi : 0 1 0 -1 U TP = 0 0 -1 2 -1 0 0 0 0 0 0 1 Một robot mà hệ toạ độ chuẩn có liên hệ với hệ toạ độ tham chiếu bởi phép biến đổi 1 0 0 1 U TR = 0 1 0 5 0 0 1 9 0 0 0 1 Chúng ta muốn đặt bàn tay của robot lên vật thể, đó là làm cho hệ tọa độ gắn trên bàn tay R trùng với hệ toạ độ của vật thể. Tìm phép biến đổi TH (biểu diễn mối quan hệ giữa bàn tay và hệ toạ độ gốc của robot) để thực hiện điều nói trên. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 27 Ch−ơng III ph−ơng trình động học của robot (Kinematic Equations) 3.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âu của robot một hệ toạ độ. Sử dụng các phép biến đổi thuần nhất có thể mô tả vị trí t−ơng đối và h−ớng giữa các hệ toạ độ 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 quay và phép tịnh tiến t−ơng đối giữa hệ toạ độ của hai khâu liền nhau. A1 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ệ toạ độ gốc đ−ợc biểu diễn bởi ma trận : T2 = 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 ; v.v 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ệ toạ độ 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ó : T6 = A1.A2.A3.A4.A5.A6 (3.1) T 6 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ệ toạ độ 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 vị trí thuần tuý 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 toạ độ của hệ mô tả tại điểm giữa của các ngón tay. Gốc toạ độ 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 : n p o a Hình 3.1 : Các vectơ định vị trí và định h−ớng của bàn tay máy TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 28 ∗ 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 n (normal), do vậy ta có : nr = or x ar Chuyển vị T6 nh− vậy sẽ bao gồm các phần tử : nx Ox ax px T6 = ny Oy ay py (3.2) nz Oz az pz 0 0 0 1 Tổng quát, ma trận T6 có thể biểu diễn gọn hơn nh− sau : Ma trận định h−ớng R Vectơ vị trí p (3.3) T6 = 0 0 0 1 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ệ toạ độ cơ bản. Việc xác định h−ớng 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 pr có kích th−ớc 3x1, biểu diễn mối quan hệ tọa độ vị trí của của gốc hệ tọa độ gắn trên khâu chấp hành cuối đối với hệ toạ độ cơ bản. 3.2. Bộ thông số Denavit-Hartenberg (DH) : 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. Khớp n Khớp n+1 Khâu n αn a Hình 3.5 : Chiều dài và góc xoắn của 1 khâu. Thông th−ờng, ng−ời ta gọi an là chiều dài và αn là góc xoắn của khâu (Hình 3.5). 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.6). TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 29 Khớp n Khớp n+1 Khớp n-1 θn θn-1 θn+1 Khâu n Khâu n-1 Khâu n+1 Khâu n-2 zn αn an x zn-1 n dn On xn-1 θn Hình 3.6 : Các thông số của khâu : θ, d, a và α. 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 dn 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ệ toạ độ. Nguyên tắc chung để gắn hệ tọa độ lên các khâu nh− sau : + Gốc của hệ toạ độ 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 toạ độ sẽ đặt tại chính điểm cắt đó. Nếu các trục khớp song song với nhau, gốc toạ độ đ−ợc chọn trên trục khớp của khâu kế tiếp, tại điểm thích hợp. + Trục z của hệ toạ độ gắn lên khâu thứ n đặt dọc theo trục khớp thứ n+1. + Trục x th−ờng đ−ợc đặt dọc theo pháp tuyến chung và h−ớng từ khớp n đến n+1. r r Trong tr−ờng hợp các trục khớp cắt nhau thì trục x chọn theo tích vectơ z n x 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.7 : y2 x2 O2 y z2 1 θ 2 a1 x1 y0 a2 θ O1 1 z1 O0 x 0 z0 Hình 3.7 : Tay máy có hai khâu phẳng (vị trí bất kỳ). TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 30 Ta gắn các hệ toạ độ lên các khâu nh− hình vẽ : trục z0, z1 và z2 vuông góc với tờ giấy. Hệ toạ độ cơ sở là O0x0y0z0, chiều của x0 h−ớng từ O0 đến O1. Sau khi thiết lập hệ toạ độ cơ sở, Hệ toạ độ o1x1y1z1 có h−ớng nh− hình vẽ, O1 đặt tại tâm trục khớp 2. Hệ toạ độ O2x2y2x2 có gốc O2 đặt ở điểm cuối của khâu 2. Bảng thông số Denavit-Hartenbert của tay máy nầy nh− sau : Khâu θi αi ai di * 1 θ1 0 a1 0 * 2 θ2 0 a2 0 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.8 : Đâ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ệ toạ độ gắn lên các khâu nh− hình vẽ. a2 z0 z 1 θ1 θ2 x0 x2 O0 O1 x O2 1 d3 z2 x3 a1 O3 d 4 O4 x θ4 z3, z4 Hình 3.8 : Robot SCARA và các hệ toạ độ (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 toạ độ đặ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ệ toạ độ khác nh− hình vẽ. Bảng thông số DH của robot SCARA nh− sau : Khâu θi αi ai di * 1 θ1 0 a1 0 * 0 2 θ2 180 a2 0 * 3 0 0 0 d3 * 4 θ4 0 0 d4 * : Các biến khớp. 3.3. Đặc tr−ng của các ma trận A : Trên cơ sở các hệ toạ độ đã ấ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ệ toạ độ nối tiếp nhau (n-1), (n) bởi các phép quay và tịnh tiến sau đây : Quay quanh zn-1 một góc θn 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 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 31 Bốn phép biến đổi thuần nhất nầy thể hiện quan hệ của hệ toạ độ thuộc khâu thứ n so với hệ toạ độ thuộc khâu thứ n-1 và tích của chúng đ−ợc gọi là ma trận A : An = Rot(z,θ) Trans(0,0,d) Trans(a,0,0) Rot(x,α) (3.4) cosθ -sinθ 0 0 1 0 0 a 1 0 0 0 An = sinθ cosθ 0 0 0 1 0 0 0 cosα -sinα 0 0 0 1 0 0 0 1 d 0 sinα cosα 0 0 0 0 1 0 0 0 1 0 0 0 1 cosθ -sinθ cosα sinθ sinα a cosθ An = sinθ cosθ cosα -cosθ sinα a sinθ (3.5) 0 sinα cosα d 0 0 0 1 Đối với khớp tịnh tiến (a = 0 và θi = 0) thì ma trận A có dạng : 1 0 0 0 An = 0 cosα - sinα 0 (3.6) 0 sinα cosα d 0 0 0 1 Đố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 một 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 số 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. 3.4. Xác định T6 theo các ma trận An : Ta đã biết : T6 = A1A2A3A4A5A6 Trong đó T6 đ−ợc miêu tả trong hệ toạ độ gốc (hệ toạ độ gắn với khâu cơ bản cố định của robot). Nếu mô tả T6 theo các hệ toạ độ trung gian thứ n-1 thì : 6 n − 1 = A 6 ∏ i T in= 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ệ toạ độ cơ bản của robot có liên hệ với một hệ toạ độ nào đó bởi phép OR biến đổi Z, Khâu chấp hành cuối lại có Z gắn một công cụ, có quan hệ với vật thể E T6 X bởi phép biến đổi E (hình 3.9) thì vị trí và A h−ớng của điểm cuối của công cụ, khảo sát ở hệ toạ độ tham chiếu mô tả bởi X sẽ Hình 3.9 : Vật thể và Robot đ−ợc xác định bởi : X= Z T6E TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 32 Quan hệ nầy đ−ợc thể hiện trên toán đồ sau : Z O0 A1 A2 A3 A4 A5 EA X 5 OR OR T 6 4 T 6 3 T 6 2 T 6 1 T 6 T 6 Hình 3.10 : Toán đồ chuyển vị của robot. -1 -1 Từ toán đồ nầy ta có thể rút ra : T6 = Z X E (Z-1 và E-1 là các ma trận nghịch đảo). 3.5. Trình tự thiết lập hệ ph−ơng trình động học của robot : Để thiết lập hệ ph−ơng trình động học của robot, ta tiến hành theo các b−ớc sau : 1. Chọn hệ toạ độ cơ sở, gắn các hệ toạ độ mở rộng lên các khâu. Việc gắn hệ toạ độ 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. Nguyên tắc gắn hệ toạ độ lên các khâu đã đ−ợc trình bày một cách tổng quát trong phần 3.5. 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ệ toạ độ 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. + Chọn gốc toạ độ 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 xn là trục quay của zn thành zn+1 và góc của zn với zn+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ệ toạ độ Oxyz phải tuân theo qui tắc bàn tay phải. + Khi gắn hệ toạ độ 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ệ toạ độ thứ n+1 là biến đổi của hệ toạ độ thứ n; các phép quay và tịnh tiến của biến đổi nầy phải là một 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. 2. Lập bảng thông số DH (Denavit Hartenberg). 3. Dựa vào các thông số DH xác định các ma trận An. 4. Tính các ma trận T và viết các ph−ơng trình động học của robot. (♦) Vị trí ban đầu là vị trí mà các biến nhận giá trị ban đầu, th−ờng bằng 0. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 33 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 RRT nh− hình 3.11. Hãy thiết lập hệ ph−ơng trình động học của robot. θ2 d3 θ1 Hình 3.11 : Robot RRT 1. Gắn hệ toạ độ lên các khâu : Ta giả định vị trí ban đầu và chọn gốc toạ độ O0 của robot nh− hình 3.12. Các trục z đặt cùng ph−ơng với các trục khớp. Ta thấy trục z1 đã quay t−ơng đối một y1 0 góc 90 so với trục z0, đây chính là phép quay θ2 d3 O1 , O2 quanh trục x0 một góc α1 (phép biến đổi Rot(x0,α1) trong biểu thức tính An). Nghĩa là x1 z2 z1 trục x0 vuông góc với z0 và z1. Ta chọn chiều của x từ trái sang phải thì góc quay α =900 θ1 0 1 d (chiều d−ơng ng−ợc chiều kim đồng hồ). 1 z 0 y0 Đồng thời ta cũng thấy gốc O1 đã tịnh tiến x0 một đoạn dọc theo z0 , so với O0, đó chính là O0 phép biến đổi Trans(0,0,d1) (tịnh tiến dọc theo z một đoạn d ) ; các trục y ,và y xác định 0 1 0 1 Hình 3.12 : Gắn các hệ toạ độ O và O theo qui tắc bàn tay phải (Hình 3.12 ) . 0 1 z3 O Tiếp tục chọn gốc tọa độ O2 đặt trùng 3 x3 với O1 vì trục khớp thứ ba và trục khớp thứ hai cắt nhau tại O1 (nh− hình 3.12). Trục z2 d3 cùng ph−ơng với trục khớp thứ ba, tức là đã d quay đi một góc 900 so với z quanh trục y ; 3 1 1 y1 ≡ z2 phép biến đổi nầy không có trong biểu thức O θ2 1 ≡ O2 tính An 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 z x1 ≡ x2 khâu thứ 3) nh− hình 3.13. 1 θ1 Theo hình 3.13, O2 vẫn đ−ợc đặt trùng d1 với O1, trục z2 có ph−ơng thẳng đứng, nghĩa là z0 y0 ta đã quay trục z1 thành z2 quanh trục x1 một x0 0 0 O0 góc -90 (tức α2= -90 ). Đầu cuối của khâu thứ 3 không có khớp, ta đặt O tại điểm giữa của các ngón 3 Hình 3.13 : Hệ toạ độ tay, và trục z , x chọn nh− hình vẽ, nh− vậy 3 3 gắn lên các khâu ta đã tịnh tiến gốc toạ độ dọc theo z2 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 . TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 34 Nh− vậy việc gắn các hệ toạ độ lên các khâu của robot đã hoàn thành. Thông qua các phân tích trên đây, ta có thể xác định đ−ợc các thông số DH của robot. 2. Lập bảng thông số DH : Khâu θi αi ai di * 1 θ1 90 0 d1 * 2 θi -90 0 0 * 3 0 0 0 d3 3. Xác định các ma trận A : Ma trận An có dạng : cosθ -sinθ cosα sinθ sinα 0 An = sinθ cosθ cosα -cosθ sinα 0 0 sinα cosα d 0 0 0 1 Với qui −ớc viết tắt : C1 = cosθ1 ; S1 = sinθ1 ; C2 = cosθ2 . . . C1 0 S1 0 A1 = S1 0 -C1 0 0 1 0 d1 0 0 0 1 C2 0 -S2 0 A2 = S2 0 C2 0 0 -1 0 0 0 0 0 1 1 0 0 0 A3 = 0 1 0 0 0 0 1 d3 0 0 0 1 4. 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 C2 0 -S2 0 1 0 0 0 C2 0 -S2 -S2*d3 1 T3 = S2 0 C2 0 0 1 0 0 = S2 0 C2 C2*d3 0 -1 0 d2 0 0 1 d3 0 -1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1 + Ma trận T3 = A1 . T3 C1 0 S1 0 C2 0 -S2 -S2*d3 T3 = S1 0 -C1 0 S2 0 C2 C2*d3 0 1 0 d1 0 -1 0 0 0 0 0 1 0 0 0 1 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 35 C1C2 -S1 -C1S2 -C1S2d3 = S1d2 C1 -S1S2 -S1S2d3 S2 0 C2 C2d3 + d1 0 0 0 1 Ta có hệ ph−ơng trình động học của robot nh− sau : nx = C1C2; ny = S1C2; nz = S2 Ox = -S1; Oy = C1; Oz = 0; ax = -C1S2; ay = -S1S2; az = C2; px = -C1S2d3 py = -S1S2d3 pz = C2d3 + d1; (Ta có thể sơ bộ kiểm tra kết quả tính toán bằng cách dựa vào toạ độ vị trí px,py, pz đã tính so với cách tính hình học trên hình vẽ). 3.9. Hệ ph−ơng trình động học của robot STANFORD : Stanford là một robot có 6 khâu với cấu hình RRT.RRR (Khâu thứ 3 chuyển động tịnh tiến, năm khâu còn lại chuyển động quay). Kết cấu của robot Stanford nh− hình 3.14 : Hình 3.14 : Robot Stanford TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 36 Trên hình 3.15 trình bày mô hình của robot Stanford với việc gắn các hệ toạ O ,O O ,O z ,z ,z 3 4, 5 6 độ lên từng khâu. Để đơn giản trong khi 3 5 6 z viết các ph−ơng trình động học của robot, 4 ta qui −ớc cách viết tắt các hàm l−ợng giác x nh− sau : i d2 d3 C1 = cosθ1; z0 z2 S1 = sinθ1; O0,O1 z1 O2 C12 = cos(θ1+θ2); S12 = sin(θ1+θ2) x0 x1 S234 = sin (θ2+θ3+θ4) . Hệ toạ độ gắn lên các khâu của robot nh− hình 3.15. (Khâu cuối có chiều dài và khoảng cách bằng không, để có thể gắn các Hình 3.15 : Hệ toạ độ của Robot Stanford loại công cụ khác nhau nên chọn O6≡O5). Bảng thông số DH (Denavit-Hartenberg) của robot Stanford nh− sau : Khâu θi αi ai di 0 1 θ1* -90 0 0 0 2 θ2* 90 0 d2 3 0 0 0 d3* 0 4 θ4* -90 0 0 0 5 θ5* 90 0 0 6 θ6* 0 0 0 (* : Các biến khớp). Các ma trậm A của robot Stanford đ−ợc xác định nh− sau : C1 0 -S1 0 C2 0 S2 0 A1= S1 0 C1 0 A2=S2 0 -C2 0 0 -1 0 0 0 1 0 d2 0 0 0 1 0 0 0 1 1 0 0 0 C4 0 -S4 0 A3= 0 1 0 0 A4=S4 0 C4 0 0 0 1 d3 0 -1 0 0 0 0 0 1 0 0 0 1 C5 0 S5 0 C6 -S6 0 0 A5= S5 0 -C5 0 A6=S6 C6 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 Tích của các ma trận chuyển vị A đối với robot Stanford đ−ợc bắt đầu ở khâu 6 và chuyển dần về gốc; theo thứ tự nầy ta có : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 37 C6 -S6 0 0 5 T6 = S6 C6 0 0 0 0 1 0 0 0 0 1 C5C6 -C5S6 S5 0 4 T6 = A5A6 =S5C6 -S5S6 -C5 0 S6 C6 0 0 0 0 0 1 C4C5C6 - S4S6 -C4C5S6-S4C6 C4S5 0 3 T6 = A4A5A6 =S4C5C6 + C4S6 -S4C5S6 + C4C6 S4S5 0 -S5C6 S5S6 C5 0 0 0 0 1 C4C5C6-S4S6 -C4C5S6 - S4C6 C4S5 0 2 T6 = A3A4A5A6 = S4C5C + C4S6 -S4C5S6 + C4C6 S4S5 0 -S5C6 S5S6 C5 d3 0 0 0 1 C2(C4C5C6 - S4S6) - S2S5C6 -C2(C4C5S6-S4C6)+S2S5S6 1 T6 =A2 A3A4A5A6 = S2(C4C5C6 - S4S6) + C2S5C6 -S2(C4C5S6+S4C6)-C2S5S6 S4C5C6 + C4S6 -S4C5S6+C4C6 0 0 C2C4S5 + S2C5 S2d3 S2C4S5 - C2C5 -C2d3 S4S5 d2 0 1 Cuối cùng : nx Ox ax px 1 T6 = ny Oy ay py = A1T6 nz Oz az pz 0 0 0 1 1 Để tính T6, ta phải nhân A1 với T6 sau đó cân bằng các phần tử của ma trận T6 ở hai vế ta đ−ợc một hệ thống các ph−ơng trình sau : nx = C1[C2(C4C5C6 - S4S6) - S2S5C6] - S1(S4C5C6 + C4S6) ny = S1[C2(C4C5C6 - S4S6) - S2S5C6] + C1(S4C5C6 + C4S6) nz = -S2(C4C5C6 - S4S6) + C2S5C6 Ox = C1[-C2(C4C5S6 + S4C6) + S2S5S6] - S1(-S4C5S6 + C4C6) Oy = S1[-C2(C4C5S6 + S4C6) + S2S5S6] + C1(-S4C5C6 + C4C6) Oz = S2(C4C5S6 + S4C6) + C2S5S6 aX = C1(C2C4S5 + S2C5) - S1S4S5 ay = S1(C2C4S5 + S2C5) + C1S4S5 az = -S2C4S5 + C2C5 px = C1S2d3 - S1d2 py = S1S2d3 + C1d2 pz = C2d3 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 38 Nếu ta biết đ−ợc các giá trị của biến khớp, thì vị trí và h−ớng của bàn tay robot sẽ tìm đ−ợc bằng cách xác định các giá trị các phần tử của T6 theo các ph−ơng trình trên. Các ph−ơng trình trên gọi là hệ ph−ơng trình động học thuận của robot Stanford. 3.10. Hệ ph−ơng trình động học của robot ELBOW : Để hiểu rõ hơn về cách thiết lập hệ ph−ơng trình động học của robot, ta xét thêm tr−ờng hợp robot Elbow. Khâu 2 Khâu 3 Khâu 4 Khâu 1 Khâu 5 Khâu 6 Hình 1.16 : Robot Elbow z 0 a O0,O1 2 z θ 4 2 a3 θ5 z1 O2 a4 O 3 O2,O5,O6 z2 θ3 θ1 xi z3 θ4 z5,z6 θ 6 a5 = a6 = 0 Hình 1.17 : Vị trí ban đầu của robot Elbow và các hệ toạ độ Bộ thông số DH của robot Elbow * Khâu θi αi ai di 0 1 θ1 90 0 0 2 θ2 0 a2 0 3 θ3 0 a3 0 0 4 θ4 -90 a4 0 0 5 θ5 90 0 0 6 θ6 0 0 0 (* : các biến khớp ) Các ma trận A của robot Elbow đ−ợc xác định nh− sau : C1 0 S1 0 C2 -S2 0C2a2 A1= S1 0 -C1 0 A2=S2 C2 0S2a2 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 39 C3 -S3 0 C3a3 C4 0 -S4 C4a4 A3= S3 C3 0 S3a3 A4=S4 0 C4 S4a4 0 0 1 0 0 -1 0 0 0 0 0 1 0 0 0 1 C5 0 S5 0 C6 -S6 0 0 A5= S5 0 -C5 0 A6=S6 C6 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 Ta xác định các ma trận T theo các hệ toạ độ lần l−ợt từ khâu cuối trở về gốc : C6 -S6 0 0 5 T6 = S6 C6 0 0 0 0 1 0 0 0 0 1 C5C6 -C5S6 S5 0 4 T6 = A5A6 =S5C6 -S5S6 -C5 0 S6 C6 0 0 0 0 0 1 C4C5C6 - S4S6 -C4C5S6-S4C6 C4S5 C4a4 3 T6 = A4A5A6 = S4C5C6+C4S6 -S4C5S6+C4C6 S4S5 S4a4 -S5C6 S5S6 C5 0 0 0 0 1 C34C5C6 - S34S6 -C34C5C6 - S34C6 C34S5 C34a4+C3a3 2 T6 = A3A4A5A6 = S34C5C6+C34S6 -S34C5S6+C34C6 S34S5 S34a4+S3a3 -S5C6 S5S6 C5 0 0 0 0 1 1 T6 =A2 A3A4A5A6 = C234C5C6 - S234S6 -C234C5S6 - S234C6 C234S5 C234a4+C23a3+C2a2 S234C5C6 + C234S6 -S234C5S6 + C234C6 S234S5 S234a4+S23a3+S2a2 -S5C6 S5S6 C5 0 0 0 0 1 Cuối cùng : nx Ox ax px 1 T6 = ny Oy ay py = A1T6 nz Oz az pz 0 0 0 1 1 Để tính T6, ta phải nhân A1 với T6 sau đó cân bằng các phần tử của ma trận T6 ta đ−ợc một hệ thống các ph−ơng trình sau : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 40 nx = C1(C234C5C6- S234S6) - S1S5C6 ny = S1(C234C5C6- S234S6) + C1S5C6 nz = S234C5C6 + C234S6 Ox = -C1(C234C5S6 + S234C6) + S1S5S6 Oy = -S1(C234C5S6 + S234C6) - C1S5S6 Oz = -S234C5S6 + C234C6 aX = C1C234S5 + S1C5 ay = S1C234S5 - C1C5 az = S234S5 px = C1(C234a4 + C23a3 + C2a2) py = S1(C234a4 + C23a3 + C2a2) pz = S234a4 + S23a3 + S2a2 r r r Cột đầu tiên của ma trận T6 có thể đ−ợc xác định bởi tích vectơ : n=Ox a. 3.11. Kết luận : Trong ch−ơng nầy chúng ta đã nghiên cứu việc dùng các phép biến đổi thuần nhất để mô tả vị trí và h−ớng của khâu chấp hành cuối của robot thông qua việc xác lập các hệ toạ độ gắn lên các khâu và các thông số DH. Ph−ơng pháp nầy có thể dùng cho bất cứ robot nào với số khâu (khớp) tuỳ ý. Trong quá trình xác lập các hệ toạ độ mở rộng ta cũng xác định đ−ợc vị trí dừng của mỗi robot. Tuỳ thuộc kết cấu của robot cũng nh− công cụ gắn lên khâu chấp hành cuối mà ta có thể đ−a các thông số của khâu chấp hành cuối vào ph−ơng trình động học hay không. Việc tính toán các ma trận T để thiết lập hệ ph−ơng trình động học của robot th−ờng tốn nhiều thời gian và dễ nhầm lẫn, ta có thể lập trình trên máy tính để tính toán (ở dạng ký hiệu) nhằm nhanh chóng xác định các ma trận An và thiết lập hệ ph−ơng trình động học của robot . Thiết lập hệ ph−ơng trình động học của robot là b−ớc rất quan trọng để có thể dựa vào đó lập trình điều khiển robot. Bài toán nầy th−ờng đ−ợc gọi là bài toán động học thuận robot. Việc giải hệ ph−ơng trình động học của robot đ−ợc gọi là bài toán động học ng−ợc, nhằm xác định giá trị của các biến khớp theo các thông số đã biết của khâu chấp hành cuối; vấn đề nầy ta sẽ nghiên cứu trong ch−ơng tiếp theo. Bài tập ch−ơng III : Bài 1 : Cho ma trận : ? 0-10 T6 = ? 0 0 1 ? -1 0 2 ? 0 0 1 là ma trận biểu diễn h−ớng và vị trí của khâu chấp hành cuối. Tìm các phần tử đ−ợc đánh dấu ? Bài 2 : Cho một robot có 3 khâu phẳng nh− hình 3.18, cấu hình RRR. Thiết lập hệ ph−ơng trình động học của robot. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 41 Bài 3 : Cho một robot có 2 khâu tịnh tiến nh− hình 3.19, cấu hình TT. Thiết lập hệ ph−ơng trình động học của robot. Hình 3.18 : Robot cấu hình RRR Hình 3.19 : Robot cấu hình TT Bài 4 : Cho một robot có 2 khâu phẳng nh− hình 3.20, cấu hình RT. Thiết lập hệ ph−ơng trình động học của robot. Bài 5 : Cho một robot có 3 khâu nh− hình 3.21, cấu hình RTR. Thiết lập hệ ph−ơng trình động học của robot. Hình 3.20 : Robot cấu hình RT Hình 3.21 : Robot cấu hình RTR Bài 6 : Cho một robot có 3 khâu nh− hình 3.22, cấu hình RRR. Thiết lập hệ ph−ơng trình động học của robot. Hình 3.22 : Robot cấu hình RRR Hình 3.23 : Robot cấu hình RRRRR Bài 7 : Cho một robot có 5 khâu nh− hình 3.23, cấu hình RRRRR. Thiết lập hệ ph−ơng trình động học của robot. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 42 Ch−ơng IV Giải ph−ơng trình động học robot hay ph−ơng trình động học ng−ợc (Invers Kinematic Equations) Trong ch−ơng 3, ta đã nghiên cứu việc thiết lập hệ ph−ơng trình động học của robot thông qua ma trận T6 bằng ph−ơng pháp gắn các hệ toạ độ lên các khâu và xác định các thông số DH. Ta cũng đã xét tới các ph−ơng pháp khác nhau để mô tả h−ớng của khâu chấp hành cuối nh− các phép quay Euler, phép quay Roll-Pitch và Yaw .v.v Trong ch−ơng nầy chúng ta sẽ tiến hành giải hệ ph−ơng trình động học đã thiết lập ở ch−ơng tr−ớc nhằm xác định các biến trong bộ thông số Denavit - Hartenberg khi đã biết ma trận vectơ cuối T6. Kết quả của việc giải hệ ph−ơng trình động học đóng vai trò hết sức quan trọng trong việc điều khiển robot. Thông th−ờng, điều ta biết là các vị trí và h−ớng mà ta muốn robot phải dịch chuyển tới và điều ta cần biết là mối quan hệ giữa các hệ toạ độ trung gian để phối hợp tạo ra chuyển động của robot, hay nói cách khác đó chính là giá trị của các biến khớp ứng với mỗi toạ độ và h−ớng của khâu chấp hành cuối hoặc công cụ gắn lên khâu chấp hành cuối, muốn vậy ta phải giải hệ ph−ơng trình động học của robot. Việc nhận đ−ợc lời giải của bài toán động học ng−ợc là vấn đề khó mà ta sẽ nghiên cứu trong ch−ơng nầy. Nhiệm vụ của bài toán là xác định tệp nghiệm (θ1, θ2, ,θ6,di*) khi đã biết hình thể của robot thông qua vectơ cuối T6 (khái niệm “hình thể” của robot bao gồm khái niệm về vị trí và h−ớng của khâu chấp hành cuối : Configuration = Position + Orientation). Cũng cần l−u ý rằng, đa số các robot có bộ Teach pendant là thiết bị dạy học, có nhiệm vụ điều khiển robot đến các vị trí mong muốn trong động trình đầu tiên (điều khiển điểm : Point to point ), các chuyển động nầy sẽ đ−ợc ghi lại vào bộ nhớ trung tâm (CPU) của robot hoặc máy tính điều khiển robot, sau đó robot có thể thực hiện lại đúng các động tác đã đ−ợc học. Trong quá trình hoạt động của robot, nếu dạng quĩ đạo đ−ờng đi không quan trọng thì không cần lời giải của bài toán động học ng−ợc. 4.1. Các điều kiện của bài toán động học ng−ợc : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 43 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 : 4.1.1. Đ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, ,θ6,di*) 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). 4.1.2. Đ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. + 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. 4.2. Lời giải của phép biến đổi Euler : Trong ch−ơng 3 ta đã nghiên cứu về phép biến đổi Euler để mô tả h−ớng của khâu chấp hành cuối : Euler (Φ,θ,ψ) = Rot(z, Φ) Rot(y, θ) Rot(z, ψ) Tệp nghiệm muốn tìm là các gó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ó : Euler (Φ,θ,ψ) = T6 (4-1) Vế trái của ph−ơng trình (4-1) đã đ−ợc biểu diễn bằng công thức (3-4) , nên ta có : cosΦCosθcosψ - sinΦsinψ -cosΦCosθsinψ - sinΦcosψ cosΦsinθ 0 sinΦCosθcosψ + cosΦsinψ -sinΦCosθsinψ + cosΦcosψ sinΦsinθ 0 = -sinθ cosψ sinθ sinψ cosθ 0 0 0 0 1 nx Ox ax px ny Oy ay py (4-2) nz Oz az pz 0 0 0 1 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 (4-2) ta có các ph−ơng trình sau : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 44 nx = cosΦCosθcosψ - sinΦsinψ (4.3) ny = sinΦCosθcosψ + cosΦsinψ (4-4) nz = -sinθ cosψ (4-5) Ox = -cosΦCosθsinψ - sinΦcosψ (4-6) Oy = -sinΦCosθsinψ + cosΦcosψ (4-7) Oz = sinθ sinψ (4-8) ax = cosΦsinθ (4-9) ay = sinΦsinθ (4-10) az = cosθ (4-11) Ta thử giải hệ ph−ơng trình nầy để tìm Φ, θ, ψ nh− sau : -1 Từ (4-11) ta có θ = cos (az) (4-12) -1 Từ (4-9) ta có Φ = cos (ax / sinθ) (4-13) -1 Từ (4-5) và (4-12) ta có ψ = cos (-nz / sinθ) (4-14) 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θ = 0: θ xác định không chính xác. dθ 0,180 + Trong lời giải đối với Φ và ψ một lần nữa chúng ta lại dùng hàm 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 0. + Các ph−ơng trình (4-13) và (4-14) 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 y nhất khi xét dấu của hai biến y và x. Hàm số trả X- Y+ X+ Y+ về giá trị góc trong khoảng -π ≤ θ < π. θ Ví dụ : arctg2(-1/-1)= -1350, x trong khi arctg2(1/1) = 450 Hàm nầy xác định ngay cả khi x hoặc y bằng 0 và cho kết quả đúng. X- Y- X+ Y- (Trong một số ngôn ngữ lập trình nh− Matlab, turbo C++, Maple hàm arctg2(y,x) đã có sẳn trong th− viện) Hình 4.1 : Hàm arctg2(y,x) TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 45 Để có thể nhận đ−ợc những kết quả chính xác của bài toán Euler, ta thực hiện -1 thủ thuật toán học sau : Nhân T6 với ma trận quay nghịch đảo Rot(z, Φ) ,ta có: -1 Rot(z, Φ) T6 = Rot(y, θ) Rot(z, ψ) (4-15) Vế trái của ph−ơng trình (4-15) 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 (4-15), 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ừ (4-15) ta có : cosΦ sinΦ 0 0 nx Ox ax px Cosθcosψ -Cosθ sinψ sinθ 0 -sinΦ cosΦ 0 0 ny Oy ay py = sinψ cosψ 0 0 0 0 1 0 nz Oz az pz -sinθ cosψ sinθ sinψ Cosθ 0 0 0 0 1 0 0 0 1 0 0 0 1 (4-16) Tích hai ma trận ở vế trái của ph−ơng trình (4-16) là một ma trận mà có thể đ−ợc viết gọn lại bằng các ký hiệu sau : f11(n) f11(O) f11(a) f11(p) f12(n) f12(O) f12(a) f12(p) f13(n) f13(O) f13(a) f13(p) 0 0 0 1 Trong đó : f11 = cosΦ x + sinΦ y (4-17) f12 = -sinΦ x + cosΦ y (4-18) f13 = z (4-19) và x, y, z là các phần tử của vectơ xác định bởi các dữ kiện f11, f12, f13, ví dụ : f11(n) = cosΦ nx + sinΦ ny f12(O) = -sinΦ Ox + cosΦ Oy f13(a) = az Nh− vậy ph−ơng trình (4-16) có thể đ−ợc viết thành : f11(n) f11(O) f11(a) 0 Cosθcosψ -Cosθ sinψ sinθ 0 f12(n) f12(O) f12(a) 0 = sinψ cosψ 0 0 (4-20) f13(n) f13(O) f13(a) 0 -sinθ cosψ sinθ sinψ Cosθ 0 0 0 0 1 0 0 0 1 Trong đó f11, f12, f13 đã đ−ợc định nghĩa ở (4-17), (4-18) và (4-19). Khi tính toán vế trái, ta chú ý rằng px, 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 (4-20), cho cân bằng phần tử ở hàng 2 cột 3 ta có : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 46 f12(a) = -sinΦ ax + cosΦ ay = 0. (4-21) Cộng hai vế với sinΦ ax và chia cho cosΦ ax ta có : sin Φ a tgΦ ==y cosΦ a x Góc Φ có thể xác định bằng hàm arctg hai biến : Φ = arctg2(ay, ax). Ta cũng có thể giải ph−ơng trình (4-21) 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ó : sin Φ -a tgΦ ==y cosΦ -a x Trong tr−ờng hợp nầy góc Φ tìm đ−ợc là : Φ = arctg2(-ay, -ax). Nh− vậy ph−ơng trình (4-21) có một cặp nghiệm cách nhau 1800 (đây là nghiệm toán) và ta có thể viết : 0 Φ = arctg2(ay, ax) và Φ = Φ + 180 . (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 (4-20) 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ó : f11(a) = cosΦ ax + sinΦ ay = sinθ. Và f13(a) = az = cosθ. Vậy θ = arctg2(cosΦ ax + sinΦ ay, az) 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 (4-20) ta có : f12(n) = -sinΦ nx + cosΦ ny = sinψ f12(O) = -sinΦ Ox + cosΦ Oy = cosψ TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 47 Vậy : ψ = arctg2(-sinΦ nx + cosΦ ny, -sinΦ Ox + cosΦ Oy) 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à : 0 Φ = arctg2(ay, ax) và Φ = Φ + 180 θ = arctg2(cosΦ ax + sinΦ ay, az) ψ = arctg2(-sinΦ nx + cosΦ ny, -sinΦ Ox + cosΦ Oy) 4.3. Lời giải của phép biến đổi Roll, Pitch và Yaw : Phép biến đổi Roll, Pitch và Yaw đã đ−ợc định nghĩa : RPY(Φ,θ,ψ)= Rot(z,Φ)Rot(y,θ)Rot(x, ψ) 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 quay -1 Euler. Nhân T6 với ma trận nghịch đảo Rot(z, Φ) , ta có : -1 Rot(z, Φ) T6 = Rot(y,θ)Rot(x, ψ) Hay là : f11(n) f11(O) f11(a) 0 cosθ sinθ sinψ sinθ cosψ 0 f12(n) f12(O) f12(a) 0 =0 cosψ -sinψ 0 (4-22) f13(n) f13(O) f13(a) 0 -sinθ cosθ sinψ cosθcosψ 0 0 0 0 1 0 0 0 1 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ó : -sinΦ x + cosΦ y = 0 Ph−ơng trình nầy cho ta hai nghiệm nh− đã biết : Φ = arctg2(nx, ny) và Φ = Φ + 1800 Tiếp tục cân bằng các phần tử t−ơng ứng của hai ma trận ta có : -sinθ = nz cosθ = cosΦ nx + sinΦ ny TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 48 do vậy : θ = arctg2(-nz, cosΦ nx + sinΦ ny) Ngoài ra ta còn có : -sinψ = -sinΦ ax + cosΦ ay cosψ = -sinΦ Ox + cosΦ Oy Nên : ψ = arctg2(sinΦ ax - cosΦ ay, -sinΦ Ox + cosΦ Oy) 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. 4.4. Giải bài toán động học ng−ợc của robot Stanford : Hệ ph−ơng trình động học của robot Stanford đã đ−ợc thiết lập trong ch−ơng III, Ta có : T6 = A1A2A3A4A5A6 (4-23) Liên tục nhân (4-23) với các ma trận A nghịch đảo, ta đ−ợc : −1 = 1T (4-24) A 1 T6 6 −1 −1 = 2T (4-25) A 2 A 1 T6 6 −1 −1 −1 = 3T (4-26) A 3 A 2 A 1 T6 6 −1 −1 −1 −1 = 4T (4-27) A 4 A 3 A 2 A 1 T6 6 −1 −1 −1 −1 −1 = 5T (4-28) A 5 A 4 A 3 A 2 A 1 T6 6 Các phần tử ở vế trái của các ph−ơng trình nầy là hàm số của các phần tử T6 và các biến khớp của (n-1) khớp đầu tiên. Trong khi đó các phần tử của ma trận vế bên phải hoặc bằng 0, bằng hằng số hoặc là hàm số của các biến khớp thứ n đến khớp thứ 6. Từ mỗi ph−ơng trình ma trận, cho cân bằng các phần tử t−ơng ứng chúng ta nhận đ−ợc 12 ph−ơng trình. Mỗi ph−ơng trình có các phần tử của 4 vectơ n, O, a, p. Từ ph−ơng trình (4-24), ta có : C1 S1 0 0 nx Ox ax px −1 0 0 -1 0 n O a p A 1 T6 = y y y y -S1 C1 0 0 nz Oz az pz 0 0 0 1 0 0 0 1 f11(n) f11(O) f11(a) f11(p) = f12(n) f12(O) f12(a) f12(p) f13(n) f13(O) f13(a) f13(p) 0 0 0 1 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 49 Trong đó : f11 = C1 x + S1 y f12 = - z f13 = -S1 x + C1 y Vế bên phải của (4-24) là : C2(C4C5C6 - S4S6) - S2S5C6 -C2(C4C5S6-S4C6)+S2S5S6 C2C4S5 + S2C5 S2d3 1 T6 = S2(C4C5C6 - S4S6) + C2S5C6 -S2(C4C5S6+S4C6)-C2S5S6 S2C4S5 - C2C5 -C2d3 S4C5C6 + C4S6 -S4C5S6+C4C6 S4S5 d2 0 0 0 1 Các phần tử của ma trận vế phải đều là hàm số của θ2, d3, θ4, θ5, θ6 ngoại trừ phần tử ở hàng 3 cột 4, đó là : f13(p) = d2 hay : -S1px + C1py = d2 Để giải ph−ơng trình ở dạng nầy ta có thể thay thế bởi các hàm l−ợng giác sau đây : px = r cosΦ py = r sinΦ 2 2 Trong đó : r = + ppx + y Φ = arctg2(py, px) Thế px và py vào ph−ơng trình -S1px + C1py = d2 ta có : sinΦcosθ1 - cosΦsinθ1 = d2 / r Với 0 0, nên ta có : θ2 = arctg2(C1px + S1py, pz ) (4-30) TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 50 −1 −1 −1 1 2 Từ ph−ơng trình (4-25) : A 2 A 1 T6 = A 2 T6 = T6, ta có : f21(n) f21(O) f21(a) 0 C4C5C6-S4S6 -C4C5S6 - S4C6 C4S5 0 f22(n) f22(O) f22(a) 0 = S4C5C + C4S6 -S4C5S6 + C4C6 S4S5 0 f23(n) f23(O) f23(a) f23(p) -S5C6 S5S6 C5 d3 0 0 0 1 0 0 0 1 (4-31) Trong đó : f21 = C2(C1 x + S1 y) - S2 z f22 = -S1 x + C1 y f23 = S2(C1 x + S1 y) + C2 z Từ cân bằng phần tử ở hàng 3 cột 4 ta có : d3 = S2(C1 px + S1 py) + C2 pz (4-32) −1 −1 2 4 - Từ ph−ơng trình (4-27) ta có : A 4 A 3 T6 = T6 Thực hiện phép nhân các ma trận ở vế trái, và biểu diễn ở dạng rút gọn nh− sau : f41(n) f41(O) f41(a) 0 C5C6 -C5S6 S5 0 f42(n) f42(O) f42(a) 0 = S5C6 -S5S6 C5 0 f43(n) f43(O) f43(a) 0 S6 C6 0 0 0 0 0 1 0 0 0 1 Trong đó : f41 = C4[C2(C1 x + S1 y) - S2 z] + S4(-S1 x + C1 y) f42 = -S2(-S1 x + C1 y) - C2 z f43 = -S4[C2(C1 x + S1 y) + S2 z] + C4(-S1 x + C1 y) Cân bằng phần tử hàng 3, cột 3 ta đ−ợc một hàm số của θ4, đó là : f43(a) = 0. Hay : -S4[C2(C1 ax + S1 ay) + S2 az] + C4(-S1 ax + C1 ay) = 0 Đây là ph−ơng trình l−ợng giác có dạng : - sinΦ ax + cosΦ ay = 0. Nh− đã giải trong các phần tr−ớc đây, ph−ơng trình nầy có hai nghiệm : θ4 = arctg2(-S1 ax + C1 ay, C2(C1 ax + S1 ay) + S2 az) (4-33) 0 và θ4 = θ4 + 180 Nếu các yếu tố tử số và mẫu số của (4-33) tiến tới 0 thì robot rơi vào tình trạng suy biến nh− tru−ờng hợp đã nói ở mục 4.2. Ta cũng có thể tìm giá trị của góc quay θ4 bằng cách cân bằng các phần tử hàng 1 cột 3 và hàng 2 cột 3 của ph−ơng trình ma trận (4-31) , ta có : C4S5 = C2(C1 ax + S1 ay) - S2 az TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 51 S4S5 = -S1 ax + C1 ay Với θ5 > 0 ta đ−ợc θ4 = arctg(-S1 ax + C1 ay, C2(C1 ax + S1 ay) + S2 az) 0 Với θ5 < 0 ta đ−ợc θ4 = θ4 + 180 đúng nh− kết quả đã tìm (4-33). Khi S5 = 0, θ5 = 0. Robot có suy biến do cả hai trục của khớp 4 và 6 nằm thẳng hàng (z3 ≡ z5). ở vị trí nầy chỉ có tổng θ4+θ6 là có ý nghĩa. Khi θ5 = 0, ta có thể tự do chọn một giá trị của θ4. Th−ờng giá trị hiện hành đ−ợc sử dụng. −1 −1 2 4 Từ vế phải của ph−ơng trình A 4 A 3 T6 = T6 = A5A6 ta có thể có các ph−ơng trình của S5, C5, S6 và C6 bằng cách cân bằng các phần tử thích hợp. Chẳng hạn khi cân bằng các phần tử của ma trận hàng 1 cột 3 và hàng 2 cột 3 ta có : S5 = C4 [C2(C1 ax + S1 ay) - S2 az] + S4(-S1 ax + C1 ay) C5 = S2 (C1 ax + S1 ay) + C2 az Từ đó suy ra : θ5 = arctg2(C4 [C2(C1 ax + S1 ay) - S2 az] + S4(-S1 ax + C1 ay) , S2 (C1 ax + S1 ay) + C2 az ) (4-34) Các ph−ơng trình có liên quan đến θ6 nằm ở cột 1 của ph−ơng trình ma trận, đó là các thành phần của vectơ n của T6. Vectơ nầy th−ờng không có ý nghĩa trong tính toán, ví nó luôn có thể đ−ợc xác định bằng tích vectơ của hai vectơ O và a nh− đã nói r r r tr−ớc đây ( n = O x a ). Do đó ta phải tìm cách khác để xác định θ6. −1 4 Thực hiện phép nhân các ma trận ở vế trái của ph−ơng trình (4-28) : A 5 T6= 5 T6 = A6, biểu diễn ở dạng ký hiệu ta có : f51(n) f51(O) 0 0 C6 -S6 0 0 f52(n) f52(O) 0 0 = S6 C6 0 0 (4-35) f53(n) f53(O) 1 0 0 0 1 0 0 0 0 1 0 0 0 1 Trong đó : f51 = C5{ C4 [C2(C1 x + S1 y) - S2 z] + S4(-S1 x + C1 y)} + S5[-S2 (C1 x + S1 y) - C2 z] f52 = -S4 [C2(C1 x + S1 y) - S2 z] + C4[-S1 x + C1 y] f53 = S5{ C4 [C2(C1 x + S1 y) - S2 z] + S4(-S1 x + C1 y)} + C5[S2 (C1 x + S1 y) - C2 z] Cho cân bằng các phần tử ở hàng 1 cột 2 và hàng 2 cột 2 ta nhận đ−ợc các giá trị của S6 và C6 : S6 = -C5{C4[C2(C1Ox+S1Oy)-S2Oz] +S4(-S1Ox+C1Oy)} + S5[S2 (C1Ox + S1Oy) + C2Oz] C6 = -S4 [C2(C1Ox + S1Oy)- S2 Oz] + C4[-S1 Ox + C1 Oy] Từ đó ta xác định đ−ợc : θ6 = arctg2(S6, C6) (4-36) TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 52 Các biểu thức (4-29), (4-30), (4-32), (4-33), (4-34) và (4-36) xác định tệp nghiệm khi giải bài toán ng−ợc của robot Stanford. 4.5. Giải bài toán động học ng−ợc của robot ELBOW : Để tiếp tục làm quen với việc giải hệ ph−ơng trình động học, chúng ta nghiên cứu phép giải bài toán động học ng−ợc của robot Elbow. Hệ ph−ơng trình động học thuận của robot Elbow đã d−ợc xác định trong ch−ơng III. Tr−ớc hết ta khảo sát ph−ơng trình : −1 1 A1 T6 = T6 = A2A3A4A5A6 T−ơng tự nh− đã làm, ta xác định các phần tử ma trận của hai vế nh− sau : f11(n) f11(O) f11(a) f11(p) f12(n) f12(O) f12(a) f12(p) = f13(n) f13(O) f13(a) f13(p) 0 0 0 1 C234C5C6 - S234S6 -C234C5S6 - S234C6 C234S5 C234a4+C23a3+C2a 2 S234C5C6 + C234S6 -S234C5S6 + C234C6 S234S5 S234a4+S23a3+S2a2 -S5C6 S5S6 C5 0 0 0 0 1 (4-37) Trong đó : f11 = C1 x + S1 y f12 = z f13 = S1 x + C1 y Ta đã ký hiệu : C234 = cos(θ2+θ3+θ4) S234 = sin(θ2+θ3+θ4) Cho cân bằng phần tử ở hàng 3 cột 4, ta có : S1 px + C1 py = 0 Suy ra : θ1 = arctg2(py , px) 0 và θ1 = θ1 + 180 (4-38) Trong tr−ờng hợp robot Elbow, ba khớp kế tiếp đều song song và không có kết -1 quả nào nhận đ−ợc từ phép nhân với những ma trận nghịch đảo A i . Cho đến khâu thứ 4 thì phép nhân với ma trận nghịch đảo mới có ý nghĩa. -1 -1 -1 1 4 A4A 3A 2 T6 = T6 = A5A6 Khi xác định các phần tử ma trận của hai vế ta đ−ợc : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 53 f41(n) f41(O) f41(a) f41(p)-C34a2-C4a3-a4 C5C6 -C5S6 S5 0 f42(n) f42(O) f42(a) 0 = S5C6 -S5S6 -C5 0 f43(n) f43(O) f43(a) f43(p)+S34a2+S4a3 S6 C6 0 0 0 0 0 1 0 0 0 1 (4-39) Trong đó : f41 = C234(C1 x + S1 y) + S234 z f42 = -S1 x + C1 y f43 = -S234(C1 x + S1 y) + C234 z Cân bằng phần tử hàng 3 cột 3 ta đ−ợc một ph−ơng trình cho θ234 : -S234(C1 ax + S1 ay) + C234 az = 0 Suy ra : θ234 = arctg2(az , C1 ax + S1 ay) 0 và θ234 = θ234 + 180 (4-40) Bây giờ ta trở lại ph−ơng trình (4-37). Cân bằng các phần tử ma trận ở hàng 1 cột 4 và hàng 2 cột 4, ta có : C1 px + S1 py = C234a4+C23a3+C2a2 (a) pz = S234a4+S23a3+S2a2 (b) Ta gọi : p’x = C1 px + S1 py - C234a4 (c) p’y = pz - S234a4 (d) Đem (a) + (c) và (b) + (d) ta đ−ợc ; p’x = C23 a3 + C2a2 (e) p’y = S23 a3 + S2a2 (g) Bình ph−ơng hai vế và cộng hai ph−ơng trình (e) và (g), ta có : 2 2 p’x = (C23 a3 + C2a2) 2 2 p’ y = (S23 a3 + S2a2) 2 2 2 2 2 2 2 2 p’ x + p’ y = (S 23 + C 23 )a 3 + (S 2 + C 2)a 2 + 2 a2a3(C23C2 + S23S2 ) Ta có C23C2 + S23S2 = cos(θ2+θ3-θ2) = cosθ3 = C3. Nên suy ra : 2 2 2 2 C3 = (p’ x + p’ y - a 3 - a 2) / 2a2a3 Trong khi có thể tìm θ3 từ hàm arccos, ta vẫn nên tìm một giá trị S3 và dùng hàm arctg2 nh− th−ờng lệ : 2 Ta có : S3 = ±−()1 C3 Cặp nghiệm ứng với hai dấu +,- phù hợp với hình thể của robot lúc nâng vai lên và hạ vai xuống : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 54 θ3 = arctg2(S3 , C3) (4-41) Để tìm S2 và C2 ta giải hệ ph−ơng trình (e),(g). Từ (e) ⇒ (C2C3 - S2S3)a3 + C2a2 = p’x Từ (g) ⇒ (S2C3 - C2S3)a3 + S2a2 = p’y Khai triển và rút gọn : (C3a3 + a2)C2 - S3a3.S2 = p’x Từ (g) ⇒ S3a3 .C2 + (C3a3 + a2)S2 = p’y Ta có : Ca +a - Sa ∆= 33 2 33 Sa33 C33a +a2 , , p-x S33a C33a + a 2 p x ∆ c = , ∆ s = , pCy 33a+a2 Sa33 py ∆ C (C3a 3 + a 2 )p'y −S3a 3p'x C2 = = 2 2 ∆ (C3a 3 + a 2 ) + (S3a 3 ) ∆ S (C33a + a 2)p'x+S33a p'y S2 = = 2 2 ∆ (C33a ++a 2) (S33a ) Do mẫu số d−ơng và bằng nhau, nên ta có : θ2 = arctg2(S2, C2) θ2 = arctg2((C3a3 + a2)p’y - S3a3p’x , (C3a3 + a2)p’x + S3a3p’y ) (4-42) Đến đây θ4 đ−ợc xác định bởi : θ4 = θ234 - θ3 - θ2 (4-43) Các ph−ơng trình dùng để tính θ5 đ−ợc thiết lập từ sự cân bằng các phần tử ma 4 trận hàng 1 cột 3 và hàng 2 cột 3 của ph−ơng trình T6 (4-39) : S5 = C234(C1ax + S1ay) + S234az C5 = S1ax - C1ay Suy ra : θ5 = arctg2(C234(C1ax + S1ay) + S234az , S1ax - C1ay) (4-44) -1 4 -1 4 Để tìm θ6 , ta tiếp tục nhân A 5 với T6 , ta đ−ợc : A 5 . T6 = A6. Viết tích ma trận vế trái ở dạng ký hiệu : TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 55 f51(n) f51(O) 0 0 C6 -S6 0 0 f52(n) f52(O) 0 0 =S6 C6 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 Trong đó : f51 = C5[C234(C1 x + S1 y) + S234 z] - S5(S1 x + C1 y) f52 = -S234(C1 x + S1 y) + C234 z Cho cân bằng các phần tử ma trận t−ơng ứng, ta có : S6 = -C5[C234(C1 Ox + S1 Oy) + S234 Oz] - S5(S1 Ox + C1 Oy) C6 = -S234(C1 Ox + S1 Oy) + C234 Oz Vậy : θ6 = arctg2(S6 , C6) (4-45) Các ph−ơng trình (4-38), (4-41), (4-42), (4-43), (4-44) và (4-45) xác định tệp nghiệm khi giải bài toán động học ng−ợc của robot Elbow. 4.6. Kết luận : Ph−ơng pháp giải bài toán động học ng−ợc đ−a ra trong ch−ơng nầy sử dụng các hàm l−ợng giác tự nhiên. Các góc th−ờng đ−ợc xác định thông qua hàm arctang hai biến. Ph−ơng pháp nầy đ−ợc đ−a ra bởi Pieper và áp dụng tốt với những robot đơn giản, Th−ờng ta nhận đ−ợc nghiệm ở dạng công thức đơn giản. Khi giải bài toán động học ng−ợc có thể xảy ra hiện t−ợng “suy biến” . Khi có nhiều hơn một tệp nghiệm đối với bài toán ng−ợc để xác định vị trí và h−ớng của bàn tay, thì cánh tay đ−ợc gọi là suy biến. Dùng ph−ơng pháp Pieper, các nghiệm nhận đ−ợc th−ờng có 4 dạng công thức, mỗi dạng có một ý nghĩa động học riêng. Dạng thứ nhất : - sinΦ ax + cosΦ ay = 0 Dạng nầy cho ta một cặp nghiệm cách nhau 1800, nó mô tả hai hình thể t−ơng ứng của robot. Nếu các tử số và mẫu số đều bằng không, robot bị suy biến, lúc đó robot mất đi một bậc tự do. Dạng thứ hai : -S1px + C1py = d2 Dạng nầy cũng cho ta cặp nghiệm sai khác nhau 1800, một lần nữa lại tồn tại khả năng suy biến khi tử số và mẫu số bằng 0. Robot ở tr−ờng hợp nầy th−ờng có một khớp tịnh tiến và độ dài tịnh tiến đ−ợc coi là > 0. Dạng thứ ba : C1px + S1py = S2d3 và dạng thứ t− : - C2d3 = - pz TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 56 y2 x2 O2 Các ph−ơng thình nầy th−ờng có nghiệm duy nhất. z2 Ngoài các dạng phổ biến, khi roboty1 có hai hay nhiều khớp song song (Ví dụ θ2 robot Elbow), các góc của từng khớp phải đ−ợc xác định bằng cách giải đồng thời a1 x1 nhiều khớp trong mối quany0 hệ tổng các góc khớp. a2 θ O1 Tìm ra các nghiệm phù hợp1 với hìnhz1 thể của robot (vị trí và h−ớng) là một trong những vấn đề khó khăn nhất. Hầu nh− ch−a có thuật toán chung nào mà nhờ đó có thể O0 x0 tìm ra đ−ợc tệp nghiệmz0 cho mọi robot. Tuy nhiên ph−ơng pháp đ−a ra trong ch−ơng nầy đã thiết lập đ−ợc các nghiệm số ở dạng t−ờng minh, trực tiếp. Hình 4.3 : Hệ toạ độ và các thông số của robot 2 khâu phẳng Khi lập trình điều khiển robot ta phải dựa vào các giới hạn vật lý để chọn các nghiệm vật lý, nghĩa là loại trừ các nghiệm toán không thích hợp để xác định một cấu hình duy nhất của robot. Bài tập ch−ơng IV : Bài 1 : Cho một vị trí mong muốn của khâu chấp hành cuối của robot có 3 khâu phẳng nh− hình 4.2; Dùng ph−ơng pháp hình học để xác định có bao nhiêu lời giải của bài toán động học ng−ợc ? Nếu h−ớng của khâu chấp hành cuối cũng đ−ợc xác định, thì có bao nhiêu lời giải ? Bài 2 : Dùng ph−ơng pháp hình học để giải bài toán động học ng−ợc (xác định các góc θ1, θ2 ) của robot có hai khâuHình phẳng 4.2 nh: Robot− hình cấu 4.3 hình : RRR TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 57 Bài 3 : Thiết lập hệ ph−ơng trình động học của robot SCARA (hình 4.4) và giải bài toán động học ng−ợc của nó. a2 z 0 z1 θ1 θ2 O x x 0 x z d3 2 x a1 O3 d4 O4 x θ4 z3, z4 Hình 4.4 : Robot SCARA TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 58 Ch−ơng V ngôn ngữ lập trình robot (Robot Programming Languages ) 5.1. Giới thiệu chung 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ả lập 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 (Programmable : khả lập trình). 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 đ−ợc 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. Để b−ớc đầu làm quen với việc lập trình điều khiển robot, ch−ơng nầy cũng giới thiệu tóm tắt 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 5.2. Các mức lập trình điều khiển robot : Ng−ời sử dụng có thể có nhiều kiểu giao diện lập trình điều khiển robot. Tr−ớc sự phát triển nhanh chóng của các loại máy vi tính dùng trong công nghiệp và các ngôn ngữ lập trình ngày càng có nhiều tiện ích cao, việc lập trình điều khiển robot ngày càng dễ dàng và thuận tiện hơn. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 59 5.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 (Teach by showing), 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 (teaching box) 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. 5.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 : a) 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 (Syntax) và ngữ nghĩa (Semantics) 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 (Hoa kỳ); 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 Stanford (hoa kỳ) b) 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 th− viện các thủ tục 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 để 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. 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 (Robot library for a new general - purpose language) : 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 TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 60 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 5.2.3. Ngôn ngữ lập trình theo nhiệm vụ (Task-level programming language) 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 một chỉ thị “Grasp the bolt” (cầm lấy bulong) đ−ợc tạo ra, hệ thống phải vạch ra đ−ợc 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 chung 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 đang đ−ợc nghiên cứu. Sau đây ta sẽ nghiên cứu một phần mềm đa dụng dùng truyền dữ liệu và điều khiển thiết bị có thể dùng để điều khiển robot. 5.3. Giới thiệu tóm tắt phần mềm Procomm Plus For Windows : Procomm Plus là phần mềm 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 : a) Sử dụng Desktop Windows : ấn đúp chuột trên biểu t−ợng của Procomm Plus terminal Windows. b) Từ mục Run trong Start của Windows, gõ lệnh : pw3 , chọn OK. c) 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 RS 232. Của sổ chính của phần mềm Procomm plus ở chế độ Terminal nh− hình 5.1. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 61 Thanh công cụ Menu chính Cửa sổ nhập - xuât dữ liệu . Meta keys Thanh trạng thái Dòng chọn nhanh kiểu giao diện Hình 5.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ủa Menu chính có thể thay đổi đ−ợc 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ử 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 (buffer) của Procomm. Menu Scripts : 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 hội 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 hội thoại soạn thảo và dịch các file nguồn. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 62 + Start recorder : bắt đầu tự động tạo ra một scrips file bằng các 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 recorder, dùng khi muốn kết thúc việc ghi tự động scrips file. Có thể chọn mục nầy trên thanh công cụ bằng cách ấn chuột vào biểu t−ợng . 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 script 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 hội 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 chỉ cần ấn chuột vào 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 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 ấn nút chuột trái lên các mục. 5.4. Ngôn ngữ lập trình ASPECT trong Procomm : 5.4.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. Tóm lại : 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. TS. Phạm Đăng Ph−ớc
- Robot công nghiệp 63 Chúng ta có thể tạo mới và soạn thảo file nguồn (.was) 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ó, từ menu chính của Procomm, chọn Scripts | Compile/Edit hoặc ấn chuột vào biểu t−ợng trên thanh công cụ. Hộp hội thoại dùng để soạn thảo và dịch các script files nh− hình 5.3. 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 ta 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ử đổi ch−ơng trình. Sau khi soạn thảo xong, muốn ghi vào đĩa ta chọn File | Save hoặc File | Save as Ta cũng có thể chọn biểu tuợng “Ghi và dịch” (Save and Compile) trên thanh công cụ để ghi vào đĩa đồng thời dịch thành file .wax. Hình 5.3 : 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 hội 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 một 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.3). TS. Phạm Đăng Ph−ớc



