Báo cáo Các kết quả nghiên cứu theo nhiệm vụ 3 - Đề tài KC.03.08 - Nhóm sản phẩm robot RE
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo Các kết quả nghiên cứu theo nhiệm vụ 3 - Đề tài KC.03.08 - Nhóm sản phẩm robot RE", để 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:
- bao_cao_cac_ket_qua_nghien_cuu_theo_nhiem_vu_3_de_tai_kc_03.pdf
Nội dung text: Báo cáo Các kết quả nghiên cứu theo nhiệm vụ 3 - Đề tài KC.03.08 - Nhóm sản phẩm robot RE
- BỘ KHOA HỌC VÀ CÔNG NGHỆ CHƯƠNG TRÌNH KC.03 YZ YZ YZ YZ YZ YZY YZ YZ YZY YZ YZ YZY “NGHIÊN CỨU THIẾT KẾ, CHẾ TẠO CÁC ROBOT THÔNG MINH PHỤC VỤ CHO CÁC ỨNG DỤNG QUAN TRỌNG” MÃ SỐ: KC.03.08 BÁO CÁO CÁC KẾT QUẢ NGHIÊN CỨU THEO NHIỆM VỤ 3 - ĐỀ TÀI KC.03.08 Nhãm s¶n phÈm robot re HÀ NỘI 2006
- MỤC LỤC I. Giới thiệu chung 3 II. Tổng quan về kỹ thuật tái hiện ngược và những vấn đề cơ bản về mô 7 phỏng các đường cong, mặt cong không gian 2.1. Giíi thiÖu chung vÒ kü thuËt t¸i hiÖn ng−îc 7 2.1.1. Qu¸ tr×nh thiÕt kÕ 7 2.1.2. Qu¸ tr×nh “s¶n xuÊt ng−îc” 8 2.1.3. Qu¸ tr×nh kü thuËt t¸i hiÖn ng−îc 8 2.1.4. øng dông kü thuËt t¸i hiÖn ng−îc 9 2.1.5. C¸c lo¹i ®Çu dß sè hãa 10 2.1.6. C¸c m¸y ®o phôc vô kü thuËt t¸i hiÖn ng−îc 11 2.2. Ph−¬ng ph¸p m« t¶ ®−êng cong trªn m¸y tÝnh 14 2.2.1. C¸c phÐp néi suy vµ xÊp xØ ®−êng cong 14 2.3. Ph−¬ng ph¸p m« t¶ c¸c mÆt cong trªn m¸y tÝnh 31 2.3.1. Giíi thiÖu chung vÒ mÆt cong 31 2.3.2. C¸c mÆt cong tù do 32 2.4. §Æt vÊn ®Ò vÒ néi dung nghiªn cøu 37 III. Nghiên cứu, thiết kế, chế tạo Robot RE 38 3.1. Nghiªn cøu thiÕt kÕ, chÕ t¹o Robot RE 38 3.1.1. Giíi thiÖu chung 38 3.1.2. §éng häc Robot RE-01 42 3.1.3. Ch−¬ng tr×nh tÝnh to¸n ®éng häc Robot RE-02 43 3.1.4. HÖ ph−¬ng tr×nh ®éng häc cña robot RE-01 44 3.1.5. Ph−¬ng ¸n chÕ thö Robot RE-01 55 1
- 3.2. ThiÕt kÕ Robot RE - 02 56 3.2.1. Ph©n tÝch kÕt cÊu 56 3.2.2. ThiÕt kÕ c¬ cÊu d¹ng pantograph 57 3.2.3. TÝnh to¸n c¬ cÊu tay m¸y pantograph 58 3.3. TÝnh to¸n vÒ ®é chÝnh x¸c cña robot RE - 02 73 3.3.1. Tæng quan vÒ sai sè phÐp ®o dïng c¬ cÊu tay ®o 73 3.3.2. TÝnh to¸n sai sè cña robot RE 74 IV. Nghiªn cøu, thiÕt kÕ, chÕ t¹o Robot RE-03 ho¹t ®éng theo täa ®é trô 81 4.1. Giíi thiÖu chung 81 4.2. C¸c m«®un hîp thµnh Robot RE-03 82 V. X©y dùng c¸c ch−¬ng tr×nh phÇn mÒm t¸i hiÖn bÒ mÆt cong kh«ng gian 100 5.1. C¬ së thuËt to¸n x©y dùng c¸c ®−êng cong vµ mÆt cong kh«ng 100 gian 5.1.1. C¸c thuËt to¸n x©y dùng ®−êng cong 100 5.1.2. Ph−¬ng ph¸p x¸c ®Þnh ®iÓm tùa vµ l−u tr÷ d÷ liÖu cña 104 ®−êng cong 5.1.3. Mét sè vÝ dô t¸i hiÖn ®−êng cong 105 5.1.4. Mét sè kÕt qu¶ t¸i hiÖn ®−êng cong ®−îc thùc hiÖn b»ng 107 robot RE 5.2. C¬ së thuËt to¸n x©y dùng mÆt cong kh«ng gian 109 5.3. ThuËt to¸n qu¶ bãng r¬i 123 5.4. X©y dùng ch−¬ng tr×nh m¸y tÝnh 127 5.5. Ch−¬ng tr×nh phÇn mÒm t¸i hiÖn c¸c bÒ mÆt cong phøc t¹p 133 VI. KÕt luËn 143 Tµi liÖu tham kh¶o 145 2
- b¸o c¸o tãm t¾t C¸c kÕt qu¶ nghiªn cøu nhiÖm vô 3 ®Ò tµi kc.03.08 nhãm s¶n phÈm robot re I. Giíi thiÖu chung Robot RE là gọi tắt tên một nhóm robot phục vụ kỹ thuật tái hiện ngược (Reverse Engineering). Nhận xét rằng, cơ cấu của các máy đo toạ độ CMM (Coordinate Measuring Machines) rất quen biết trong công nghiệp, cũng như cơ cấu của các thiết bị tay đo hoặc CMM cầm tay (Portable coordinate measuring machine - PCMM) đều có cấu trúc động học như các loại cơ cấu robot. Trên cơ sở nhận xét đó hoàn toàn có thể vận dụng và phát triển các phương pháp nghiên cứu kỹ thuật robot để nghiên cứu các thiết bị đo CNC, kể cả phần cứng và phần mềm. Các phương pháp hiện đại trong kỹ thuật robot tỏ ra có nhiều ưu điểm nổi trội so với các phương pháp kinh điển khi vận hành khai thác các thiết bị CMM. Như đã biết các thiết bị CMM kinh điển, các rất đắt tiền. Nhiều xí nghiệp đang có nhu cầu bức súc trang bị các thiết bị này. Trên hình 1 là ví dụ về máy CMM và khi được lắp thêm loại đầu đo có thể quay nghiêng so với trục thẳng đứng, ví dụ đầu đo hình 2. Trong trường hợp này sơ đồ động của máy CMM ngoài 3 bậc tự do chuyển dịch theo 3 trục toạ độ còn có các bậc tự do bổ sung để tạo các độ nghiêng của trục đầu đo. 3
- Hình 1 Máy đo CMM Hình 2. Đầu đo quay nghiêng được Còn trên hình 3 là một kiểu PCMM để bàn. Đó là tay đo 6 bậc tự do Spin Arm của hãng Mitutoyo. Ngoài ra còn có Micro Scribe 3D, Stringer PCMM, 3000i của Cim Core. Sơ đồ động của các thiết bị này đều là những cơ cấu chuỗi hở, như nhiều loại cơ cấu tay máy robot thường gặp. 4
- Hình 3. Máy PCMM để bàn Một vấn đề quan trọng của thiết bị CMM là nâng cao độ chính xác đo lường. Ngày nay có xu thế không đơn thuần nỗ lực nâng cao độ chính xác chế tạo thiết bị, vì đó là những việc rất khó khăn và rất đắt tiền. Vì thế người ta còn đồng thời nghiên cứu đề xuất những phần mềm có thể suy luận của phép đo với số làn đo ít nhất có thể. Với cách đặt vấn đề như trên, Đề tài đã triển khai đề mục nghiên cứu các nhóm sản phẩm robot RE với các nội sung sau: 1. Vận dụng các phương pháp của robotics để nghiên cứu các đặc tính hình động học, nhất là độ chính xác của các cơ cấu máy CMM 2. Xây dựng các chương trình phần mềm tái hiện các bề mặt phức tạp với số phép đo tối thiểu. 3. Nghiên cứu cải tiến các cơ cấu thiết bị CMM để có khả năng hiện thực trong điều kiện chỉ có các trang bị thông thường cho công nghệ chế tạo. 5
- Trong lĩnh vực này Đề tài đã nhận được các kết quả qua: 1. So với các phương pháp kinh điển thì vận dụng các phương pháp hiện đại trong robotics tỏ ra hiệu quả hơn khi giải các bài toán động học thuận, động học ngược và bài toán di chuyển nhỏ liên quan đến độ chính xác cơ cấu tay đo, nhất là đối với trường hợp cơ cấu nhiều khâu phức tạp. 2. Xây dựng được chương trình phần mềm tái hiện các bề mặt phức tạp với số phép đo giảm thiểu và đã được cấp giấy bản quyền tác giả. 3. Đề xuất và tạo dựng thành công một loại thiết bị CMM kiểu mới (hình 4), hoạt động theo tọa độ trụ Z = Z (r, ϕ), có độ chính xác đảm bảo, mà giá thành thấp. Hình 4 Thiết bị CMM kiểu mới hoạt động theo tọa độ trụ 6
- II. TỔNG QUAN VỀ TÁI HIỆN NGƯỢC VÀ NHỮNG VẤN ĐỀ CƠ BẢN VỀ MÔ PHỎNG CÁC ĐƯỜNG CONG, MẶT CONG KHÔNG GIAN. 2.1. Giới thiệu chung về kỹ thuật tái hiện ngược (Reverse Engineering) “Kỹ thuật tái hiện ngược” là một khái niệm được dịch từ một thuật ngữ tiếng Anh là Reverse Engineering (RE). Nhiều khi nó còn được hiểu và dịch với các tên gọi khác nhau như “kỹ thuật đảo chiều” hay là “kỹ thuật ngược”. Đây là một khái niệm còn tương đối mới mẻ không những ở nước ta mà còn với nhiều nước trên thế giới. Thuật ngữ này xuất hiện và có bản chất từ bài toán kỹ thuật lấy mẫu các chi tiết và vật thể với sự trợ giúp của máy tính. Từ các mẫu vật đã có sẵn như là các tác phẩm điêu khác, các chi tiết cần gia công nhưng không còn bản vẽ chi tiết v.v. Bài toán đặt ra là làm sao để chế tạo được các chi tiết giống hệt với các mẫu đó. Với mục tiêu như vậy dẫn đến ý tưởng là dựng lại mô hình bằng cách xác định tọa độ các điểm trên bề mặt của vật thể. Tuy nhiên ta không thể đo được tất cả các điểm của vật thể đó, vì như vậy số điểm đo sẽ rất lớn và khó có thể kiểm soát được. Vấn đề ở đây là số điểm đo nhỏ nhất nhưng vẫn đủ để dựng lại chính xác hình dáng hình học của vật thể. Có rất nhiều thuật toán và phương pháp xây dựng các đường và bề mặt không gian dựa trên các điểm tựa. Sau đây ta sẽ tìm hiểu chung về các thuật toán đó và xây dựng phần mềm tái hiện các đường và bề mặt không gian qua các điểm tựa. 2.1.1. Quá trình thiết kế Trong thiết kế kỹ thuật thông thường người thiết kế sẽ xuất phát từ ý tưởng của mình về sản phẩm trong tương lai. Khái niệm ban đầu ấy được xuất phát từ những yêu cầu cụ thể của một nhiệm vụ kỹ thuật nào đó. Với mục đích đã được xác định ý tưởng thiết kế sẽ nảy sinh và một hình hài của 7
- sản phẩm được định hình sơ bộ trong óc người thiết kế. Nó có hình dáng ra sao, kích thước lớn nhỏ thế nào v.v. sẽ là những khái niệm đầu tiên. Với những ý tưởng như vậy nó sẽ đựoc kết hợp với quan niệm của người thiết kế để từng bước hình thành nên sản phẩm. Cũng như ý tưởng ban đầu thì quan niệm của mỗi người thiết kế sẽ rất khác nhau. Từ quan niệm của mình sẽ đi đến thiết kế chi tiết. Trong bước này các kích thước, hình dáng sẽ được xác định và thể hiện thông qua các bản vẽ chi tiết CAD/CAM và các chương trình gia công CNC. Bước tiếp theo của quá trình thiết kế là khâu sản xuất dựa trên những bản vẽ chi tiết hoặc các chương trình CNC đã được thiết lập. Kết thúc khâu sản xuất sẽ cho ta một sản phẩm hoàn thiện của qúa trình thiết kế này. 2.1.2. Quá trình “sản xuất ngược” Trong phần trên ta đã chỉ ra một quá trình thiết kế và sản xuất truyền thống với quy trình được mô tả sơ lược như sau: Ý tưởng → Quan niệm thiết kế → Thiết kế chi tiết CAD/CAM/CNC → Sản xuất → Sản phẩm hoàn thiện. Trong sơ đồ này bước khởi đầu là ý tưởng về sản phẩm rồi qua các bước tiếp theo để đi đến sản xuất ra sản phẩm cuối cùng. Quá trình “sản xuất ngược” (tức là ngược lại quá trình sản xuất) sẽ có điểm xuất phát từ một sản phẩm cụ thể đã có sẵn rồi thông qua sản phẩm này để quay lại quá trình sản xuất ra nó. Lược đồ của quá trình này như sau: Sản xuất ↓ Start → Sản phẩm hoàn chỉnh 2.1.3. Quá trình kỹ thuật tái hiện ngược 8
- Quá trình này cũng có điểm xuất phát là một sản phẩm hoàn chỉnh và nó được xem như một vật mẫu. Nhưng ở đây không như quá trình sản xuất ngược là quay lại ngay sản xuất, mà đối với kỹ thuật tái hiện ngược còn qua khâu thiết kế chi tiết CAD/CAM/CNC. Nghĩa là mẫu sản phẩm hoàn chỉnh sẽ được tái hiện lại thông qua chương trình mô phỏng CAD/CAM hoặc chương trình gia công CNC rồi từ đó sản xuất ra sản phẩm hoàn chỉnh. Sơ đồ của quá trình kỹ thuật tái hiện ngựoc có thể được mô tả như sau: Thiết kế chi tiết CAD/CAM/CNC ↓ Kỹ thuật Sản xuất tái hiện ngựoc ↓ Start → Sản phẩm hoàn chỉnh 2.1.4. Ứng dụng kỹ thuật tái hiện ngược Đúng như tên gọi của phương pháp: kỹ thuật tái hiện ngược, bài toán đặt ra ở đây là đã có một sản phẩm hoàn chỉnh nào đó và ta cần phải dựng lại mô hình của nó thông qua hệ thống CAD/CAM hoặc chương trình CNC. Tiến đến việc sản xuất ra các phiên bản là sự sao chép y hệt với nguyên bản ban đầu của nó. Với đặc điểm của phương pháp như đã nêu, kỹ thuật tái hiện ngược có thể được ứng dụng rộng rãi trong các bài toán kỹ thuật như: - Thiết kế chi tiết dựa vào mẫu đã có - Lưu giữ hình dáng, tính chất của mẫu vật hoặc nguyên mẫu ban đầu. - Phục hồi những thiết kế không còn bản vẽ 9
- - Đánh bóng sản phẩm - Tạo mẫu nhanh 2.1.5. Các loại đầu dò số hóa Qua các đặc điểm của kỹ thuật tái hiện ngược ta có thể thấy nhiệm vụ của bài toán này là dựng lại mô hình của vật mẫu. Như vậy ta phải nắm bắt được tọa độ các điểm trên bề mặt vật thể bằng cách đo với các phương pháp đo tọa độ trong không gian 3 chiều. Tuy nhiên ta không thể đo được tất cả tọa độ các điểm trên bề mặt vật thể. Vì vậy vấn đề đặt ra là với một số lượng hạn chế các điểm đo ta vẫn dựng lại được chính xác mô hình của vật thể thông qua các chương trình phần mềm. Để nắm bắt được tọa độ các điểm trên bề mặt vật thể ở đây người ta dùng phương pháp quét số hóa. Đây là phương pháp tập hợp thông tin về hình dạng của các vật thể 2 hoặc 3 chiều. Tập dữ liệu điểm thu được có thể dùng để thiết lập các chương trình gia công NC hoặc làm dữ liệu đầu ra của hệ thống CAD. Các loại sensor sẽ là công cụ thực hiện việc quét số hóa này. Sau đây ta tìm hiểu một số loại sensor thường được dùng trong kỹ thuật này. 2.1.5.1. Đầu dò điểm tiếp xúc Với loại sensor này khi thực hiện thao tác đo, đầu dò sẽ tiếp xúc trực tiếp với bề mặt cần đo. Tiếp điểm của đầu đo và bề mặt là tọa độ cần xác định của phép đo. Ưu điểm của loại sensor này là độ chính xác cao, giá thành thấp, lực tiếp cận nhỏ. Còn nhược điểm là tốc độ xác định dữ liệu điểm chậm 2.1.5.2. Đầu quét liên tục Đây cũng là loại đầu dò tiếp xúc, nhưng khác với loại trên chỉ ghi nhận dữ liệu điểm khi có lệnh của người thao tác. Còn với loại sensor này 10
- dữ liệu sẽ được ghi liên tục khi đầu quét di trượt trên bề mặt đo. Vì vậy tập dữ liệu chứa một số lượng rất lớn điểm đo. Ưu điểm của phương pháp đo này là độ chính xác tương đối cao, dữ liệu liên tục. Nhược điểm là đầu dò có thể chệch hướng khi đo. 2.1.5.3. Đầu quét laser Không như hai loại đầu quét kể trên là có sự tiếp xúc của đầu đo với bề mặt cần đo. Ở đây đầu đo sẽ sử dụng kỹ thuật laser để bắt các điểm đo. Các tia laser với cường độ lớn sẽ được phát ra đến bề mặt đo vì vậy sẽ đo được các bề mặt lớn với khoảng cách tương đối xa. Đặc điểm nổi bật của phương pháp này là bắt dữ liệu nhanh, đầu đo không tiếp xúc cơ học với bề mặt, do vậy có thể đo được các bề mặt với chất liệu mềm. Nhược điểm của phương pháp là: - Sự giới hạn phạm vi theo chiều trục z - Không đo được bề mặt phản xạ - Yêu cầu bề mặt đo phải thẳng góc 2.1.6. Các máy đo phục vụ kỹ thuật tái hiện ngược Trên đây ta đã biết đến các loại đầu dò dùng để bắt tọa độ các điểm. Tuy nhiên nó cần phải được gắn với một thiết bị nào đó để thực hiện tốt các thao tác của phép đo. Tùy thuộc vào độ mềm dẻo của thiết bị sẽ cho phép các thao tác đo càng dễ dàng thực hiện, điều này phụ thuộc vào cấu trúc và số bậc tự do của thiết bị đó. Trong thực tế các thiết bị có thể dùng để thao tác đo rất đa dạng, nó có thể là chuyên dụng hoặc đa năng. Sau đây ta sẽ xét đến các loại thiết bị có thể dùng cho bài toán tái hiện ngược. 2.1.6.1. Máy công cụ số hóa 11
- Đây là loại máy được thiết kế chủ yếu để phục vụ việc gia công. Tuy nhiên trong những mẫu máy mới có trang bị thêm thiết bị để kết hợp làm nhiệm vụ “tái hiện ngược”. Bản chất của nó là máy gia công chi tiết cơ khí với đầu mang dao thông thường có 3 chuyển động tịnh tiến theo 3 chiều của hệ trục tọa độ Đềcác. Như vậy nếu ta thay thế đầu dao gia công bằng một đầu dò và đặt chi tiết cần lấy mẫu lên bàn máy thì lúc này ta đã có một máy với công dụng tương đương với máy đo tọa độ 3 chiều. Đầu dò sẽ quét trên bề mặt của vật mẫu và ghi lại tọa độ của các điểm cần đo. Ưu điểm của phương pháp này là: - Tận dụng máy đã có sẵn - Sự thao tác với máy đã quen thuộc - Nhanh chóng hòa nhập với máy - Vùng quét khá rộng Bên cạnh đó cũng tồn tại những nhược điểm như: - Chiếm dụng thời gian làm việc của máy - Làm việc chậm với đầu dò tiếp xúc trực tiếp 2.1.6.2. Máy đo tọa độ (Coordinate Measuring Machine: CMM) Qua tªn gäi ta còng dÔ dµng thÊy ®−îc c«ng dông chÝnh cña m¸y. §©y lµ mét lo¹i m¸y chuyªn dông ®−îc thiÕt kÕ ®Ó x¸c ®Þnh to¹ ®é §Ò c¸c cña c¸c ®iÓm ®o. §Çu dß th−êng dïng lo¹i tiÕp xóc vµ cã 3 chuyÓn ®éng theo 3 trôc X, Y, Z trong hÖ to¹ ®é §Ò c¸c. M¸y ®−îc kÕt nèi víi m¸y tÝnh PC vµ cã phÇn mÒm xö lý d÷ liÖu kÌm theo. To¹ ®é c¸c ®iÓm ®o sÏ ®−îc l−u tr÷ trong bé nhí cña m¸y tÝnh sau ®ã ®−îc xö lý b»ng phÇn mÒm. KÕt qu¶ thu ®−îc sÏ lµ ®Çu ra cña c¸c hÖ thèng CAD/CAM m« pháng l¹i bÒ mÆt víi ®é chÝnh x¸c cao tuú thuéc vµo ®é chÝnh x¸c cña phÐp ®o còng nh− thuËt 12
- to¸n vµ phÇn mÒm lµm viÖc víi d÷ liÖu. V× ®©y lµ m¸y chuyªn dông cho viÖc sè ho¸ bÒ mÆt nªn nã cã rÊt nhiÒu −u ®iÓm næi bËt nh−: - M¸y cã dung l−îng bé nhí l−u tr÷ d÷ liÖu lín. - Cã vïng quÐt réng. - KÕt nèi vµ truyÒn d÷ liÖu trùc tiÕp cho m¸y gia c«ng. - §é chÝnh x¸c rÊt cao. M¸y dïng lo¹i ®Çu ®o tiÕp xóc trùc tiÕp nªn nã còng tån t¹i nh÷ng nh−îc ®iÓm cña lo¹i thiÕt bÞ nµy nh−: - LÊy d÷ liÖu chËm. - Møc ®é c¬ ®éng thÊp 2.1.6.3- M¸y quÐt. Còng gièng nh− c¸c lo¹i m¸y ®o to¹ ®é ë trªn. M¸y quÐt nµy lµ mét thiÕt bÞ chuyªn dïng cho viÖc sè ho¸ bÒ mÆt, nh−ng cã sù kh¸c biÖt ë ®©y lµ dïng lo¹i ®Çu dß kh«ng tiÕp xóc. Do vËy tèc ®é lÊy d÷ liÖu nhanh, tiÕp cËn ®−îc víi nh÷ng vÞ trÝ khã kh¨n, nh÷ng ho¹ tiÕt nhá trªn bÒ mÆt chi tiÕt. M¸y ®−îc kÕt nèi m¸y tÝnh vµ cã phÇn mÒm thao t¸c víi d÷ liÖu nªn sÏ cho phÐp dÔ dµng t¸i hiÖn l¹i bÒ mÆt còng nh− xuÊt kÕt qu¶ sang c¸c m¸y gia c«ng sè. 2.1.6.4- M¸y ®o to¹ ®é kiÓu tay quay. §©y lµ mét lo¹i thiÕt bÞ sè ho¸ bÒ mÆt chuyªn dông cã cÊu t¹o pháng sinh nh− mét c¸nh tay cã 5 bËc tù do víi liªn kÕt lµ c¸c khíp b¶n lÒ. T¹i mçi khíp ®−îc g¾n víi mét encorder ghi l¹i chuyÓn ®éng quay t−¬ng ®èi cña 2 kh©u. Khi lµm viÖc ®Çu dß di tr−ît trªn bÒ mÆt cña vËt thÓ lµm cho c¸c khíp quay vµ c¸c encorder sÏ ghi l¹i trÞ sè gãc quay cña tõng khíp t−¬ng øng. Sau ®ã qua c¸c ch−¬ng tr×nh phÇn mÒm kÌm theo sÏ tÝnh to¸n chuyÓn ®æi 13
- thµnh to¹ ®é ®iÓm 3 chiÒu cña ®Çu ®o. TËp hîp c¸c ®iÓm ®o nµy sÏ ®−îc xö lý gièng nh− ®èi víi c¸c m¸y ®o kh¸c ®· t×m hiÓu ë trªn. 2.2- Ph−¬ng ph¸p m« t¶ c¸c ®−êng cong trªn m¸y tÝnh. 2.2.1- C¸c phÐp néi suy vµ xÊp xØ ®−êng cong. C¸c ®−êng cong sö dông trong m« h×nh ho¸ h×nh häc cã thÓ ®¬n gi¶n ho¸ chØ lµ ®−êng th¼ng hoÆc ®−êng trßn. Tuy nhiªn trong c¸c øng dông kü thuËt ®ßi hái ph¶i cã c¸c ®−êng cong phøc t¹p h¬n. §−êng cong bÊt kú cã thÓ biÓu diÔn b»ng ma trËn c¸c ®iÓm, tuy vËy nã ®ßi hái sù l−u tr÷ lín vµ kh«ng thÓ biÓu diÔn chÝnh x¸c h×nh d¹ng cña ®−êng cong. V× vËy c¸c ph−¬ng tr×nh to¸n häc, cô thÓ lµ c¸c hµm ®a thøc th−êng ®−îc dïng ®Ó thÓ hiÖn c¸c ®−êng cong. §a thøc thÓ hiÖn c¸c −u ®iÓm næi bËt nh− vÒ sù ®¬n gi¶n trong tÝnh to¸n c¸c gi¸ trÞ thùc (chØ dïng c¸c phÐp tÝnh nh©n vµ céng) vµ ®Æc biÖt thuËn lîi cho viÖc tÝnh to¸n b»ng m¸y tÝnh. Bªn c¹nh ®ã c¸c øng dông trong ®å ho¹ m¸y tÝnh th−êng ®ßi hái x¸c ®Þnh c¸c tiÕp tuyÕn vµ ph¸p tuyÕn cña ®−êng cong, do vËy ph−¬ng tr×nh ®a thøc hiÓn nhiªn lµ sù lùa chän tèt nhÊt cho viÖc tÝnh vi, tÝch ph©n ®−êng cong. Trong kü thuËt c¸c ph−¬ng ph¸p to¸n häc dïng ®Ó biÓu diÔn c¸c ®−êng cong th−êng dùa trªn c¸c lý thuyÕt néi suy hoÆc xÊp xØ. Lý thuyÕt néi suy lµ bµi to¸n thiÕt kÕ ®−êng cong ®i qua tËp hîp c¸c d÷ liÖu ®iÓm. PhÐp néi suy ®−îc sö dông ®Ó tÝnh to¸n gi¸ trÞ c¸c ®iÓm l©n cËn. C¸c phÐp néi suy th−êng ®−îc dïng nh−: néi suy tuyÕn tÝnh tõng khóc (®é chÝnh x¸c thÊp), néi suy ®a thøc Lagrange, ®−êng cong tham sè bËc 3 (Hermite), ®−êng cong spline bËc 3 Cßn trong lý thuyÕt xÊp xØ, ®−êng cong ®−îc thiÕt kÕ mµ kh«ng cÇn quan t©m ®Õn chÊt l−îng cña phÐp néi suy, tiªu chuÈn quan träng nhÊt ë ®©y lµ ®é tr¬n, lµ sù thay ®æi côc bé trong thiÕt kÕ. Do vËy ph−¬ng ph¸p biÓu diÔn ®−êng cong xÊp xØ sÏ t¹o ra ®−êng cong tr¬n xÊp xØ c¸c ®iÓm cho s½n chø kh«ng ®i qua chÝnh x¸c tÊt c¶ c¸c ®iÓm ®ã. 14
- 2.2.1.1- C¸c phÐp néi suy. a. §a thøc Lagrange. XÐt mét d·y c¸c ®iÓm trªn mÆt ph¼ng: (x0 , y0), (x1, y1), (xn , yn) trong ®ã xi < yj víi i < j. §a thøc néi suy bËc n cã thÓ x¸c ®Þnh nh− sau: n fn (x) = ∑ yi Li,n (x) (2.1) i=0 trong ®ã n x − x j Li = ∏ (2.2) j=0 xi − x j j≠i Cã thÓ thÊy r»ng thõa sè yi = 1 khi x = xi nh−ng sÏ b»ng 0 khi x b»ng bÊt kú gi¸ trÞ to¹ ®é nµo kh¸c. Víi n = 1 ta ®−îc ph−¬ng tr×nh ®−êng th¼ng ®i qua 2 ®iÓm: xx−−11 xx ⎛⎞x0 − x fxn ()=−=+− y01010 y y ( y y )⎜⎟ x01−−xxx 10⎝⎠ xx 01 − + Nh−îc ®iÓm cña ®a thøc Lagrange lµ bËc cña ®a thøc phô thuéc vµo sè l−îng c¸c ®iÓm sö dông. NÕu cÇn ®é chÝnh x¸c cao h¬n th× sè l−îng ®iÓm sö dông t¨ng, t¹o ra 1 ®a thøc bËc cao h¬n dÉn ®Õn cã sù dao ®éng lín vÒ h×nh d¹ng ®−êng cong (h×nh 2.1). Trong c¸c øng dông kÜ thuËt th× c¸c dao ®éng nµy kh«ng ®−îc chÊp nhËn. 15
- y y x x H×nh 2.1 Sù dao ®éng ®¸ng kÓ h×nh d¹ng ®−êng cong cña phÐp néi suy khi t¨ng sè ®iÓm sö dông. z P(t) y x H×nh 2.2. Mét ®iÓm trªn ®−êng cong tham sè bËc ba b. §−êng cong tham sè bËc ba (Hermite). §−êng cong tham sè bËc ba ®−îc ®Þnh nghÜa nh− sau: 3 i p(t) = ∑ ait ; 0 ≤ t ≤ 1 (2.3) i=0 16
- trong ®ã P(t) lµ mét ®iÓm trªn ®−êng cong (H×nh 2.2) C¸c hÖ sè ®¹i sè ai trong (2.3) cã thÓ biÓu diÔn râ rµng theo c¸c ®iÒu kiÖn biªn, c¸c ®iÓm cuèi vµ c¸c vÐc t¬ tiÕp tuyÕn nh− sau: a0 = p(0) , a2 = -3p(0) + 3p(1) - 2p'(0) - p'(1) a1 = p'(0) , a3 = 2p(0) - 2p(1) + p'(0) + p'(1) Thay ai vµo (1.3) vµ s¾p xÕp l¹i ta cã: p(t) = (2t3 - 3t2 + 1)p(0) + (-2t3 + 3t2)p(1) +(t3 - 2t2 + t)p'(0) + (t3 - t2)p'(1) (2.4) Ph−¬ng tr×nh (2.4) nµy ®óng cho mçi ph©n ®o¹n tham sè bËc 3 cña tËp hîp c¸c ph©n ®o¹n (H×nh 2.3). Tãm l¹i ®−êng cong tham sè bËc 3 ®−îc biÓu diÔn b»ng c¸c ®a thøc bËc 3 tõng khóc víi liªn tôc vÞ trÝ vµ ®é nghiªng. C¸c gi¸ trÞ tham sè t biÕn thiªn tõ 0 ®Õn 1 ®èi víi mçi ph©n ®o¹n. ⎡ 2 − 2 1 1 ⎤⎡ p(0) ⎤ ⎢− 3 3 − 2 −1⎥⎢ p(1) ⎥ p(t) = []t 3 t 2 t 1 ⎢ ⎥⎢ ⎥ ⎢ 0 0 1 0 ⎥⎢ p'(0)⎥ (2.5) ⎢ ⎥⎢ ⎥ ⎣ 1 0 0 0 ⎦⎣ p'(1)⎦ p(0), p(1), p'(0), p'(1): hÖ sè h×nh häc. P P 2 4 P 3 P 5 P 1 H×nh 2.3.PhÐp néi suy tham sè bËc ba tõng khóc 17
- c. §−êng cong spline bËc 3. ý t−ëng cña ®−êng cong spline dùa trªn viÖc sö dông mét thanh cong spline dÎo, máng ®Ó vÏ ®−êng cong tr¬n ®i qua mét lo¹t c¸c ®iÓm. Thanh spline tù nhiªn ®−îc t¹o d¸ng b»ng c¸ch liªn kÕt c¸c vËt chÆn nÆng víi thanh tr−ît dÎo. NÕu c¸c vËt chÆn trong thanh spline ho¹t ®éng gièng nh− c¸c gèi tùa ®¬n gi¶n th× ®−êng cong trë thµnh ®a thøc bËc 3 tõng khóc, cã ®¹o hµm bËc 2 liªn tôc t¹i mçi gèi tùa, nghÜa lµ liªn tôc vÞ trÝ, liªn tôc tiÕp tuyÕn vµ liªn tôc ®é cong. C¸c ®−êng cong spline bËc 3 tõng khóc cã nhiÒu −u ®iÓm khi sö dông trong c¸c bµi to¸n kü thuËt, ®Æc biÖt khi gi¸ trÞ d÷ liÖu t−¬ng ®èi chÝnh x¸c vµ cã sè l−îng lín, vÝ dô nh− kÕt qu¶ ®o c¬ tÝnh vËt liÖu(khèi l−îng riªng, modun ®µn håi, ), t¸i hiÖn l¹i c¸c ®−êng cong, mÆt cong khi biÕt ®−îc mét sè h÷u h¹n c¸c ®iÓm cña chóng. ThuËt ng÷ “spline” trong ®å ho¹ m¸y tÝnh vµ m« h×nh ho¸ h×nh häc dïng ®Ó chØ sù biÓu diÔn tham sè tõng khóc mét c¸ch tæng qu¸t víi møc ®é ®Æc biÖt cña sù liªn tôc tham sè. §−êng cong spline bËc ba ®−îc biÓu diÔn bëi 1 ®a thøc bËc 3 cã ®¹o hµm bËc 2 liªn tôc t¹i c¸c ®iÓm nèi chung gi÷a c¸c ph©n ®o¹n. ý t−ëng liªn tôc tham sè ®−îc biÓu diÔn b»ng ch÷ C in hoa víi c¸c chØ sè ë trªn lµ 0, 1, 2, t−¬ng øng víi c¸c cÊp ®é liªn tôc cña ®−êng cong. D¹ng ®¬n gi¶n nhÊt cña tÝnh liªn tôc lµ sù liªn tôc vÒ vÞ trÝ, vµ ®−îc gäi lµ tÝnh liªn tôc C0 , nã b¶o ®¶m r»ng kh«ng cã sù gi¸n ®o¹n hoÆc b−íc nh¶y trªn ®−êng cong. ë møc ®é liªn tôc C1, ®−êng cong sÏ cã ®é dèc hoÆc lµ ®¹o hµm bËc nhÊt liªn tôc. ë møc ®é liªn tôc C2, ®−êng cong sÏ bÞ uèn cong hoÆc lµ cã ®¹o hµm bËc 2 liªn tôc vµ t−¬ng tù nh− vËy ë c¸c cÊp ®é cao h¬n. Chó ý r»ng c¸c ®iÒu kiÖn liªn tôc nµy liªn quan ®Õn c¸c ph−¬ng tr×nh tham sè nªn ®−îc gäi lµ ®iÒu kiÖn liªn tôc tham sè. Bªn c¹nh ®ã cßn 18
- tån t¹i c¸c ®iÒu kiÖn liªn tôc kh¸c nh− lµ liªn tôc h×nh häc mµ ta kh«ng xÐt ®Õn ë ®©y. NÕu c¸c ph©n ®o¹n cña ®−êng cong spline bËc 3 ®−îc tham sè ho¸ 1 c¸ch riªng rÏ, sao cho tham sè t biÕn thiªn tõ 0 ®Õn 1 ®èi víi tÊt c¶ c¸c ph©n ®o¹n th× ®−êng cong spline bËc 3 chuÈn nµy lµ tr−êng hîp ®Æc biÖt cña phÐp néi suy Hermite. PhÐp néi suy nµy ®¶m b¶o tÝnh liªn tôc cña ®¹o hµm bËc nhÊt gi÷a c¸c ph©n ®o¹n. Trong ®−êng cong spline bËc 3 nµy, c¸c gi¸ trÞ ®¹o hµm bËc nhÊt ®−îc chän sao cho nã còng trïng víi ®¹o hµm bËc 2 . Ma trËn hµm liªn kÕt tr¬n cho ®−êng cong spline chuÈn (t=0->1) trong tr−êng hîp nµy gièng nh− ma trËn dïng trong phÐp néi suy Hermite: ⎡ 2 − 2 1 1 ⎤ ⎢− 3 3 − 2 −1⎥ []t 3 t 2 t 1 ⎢ ⎥ ⎢ 0 0 1 0 ⎥ (2.6) ⎢ ⎥ ⎣ 1 0 0 0 ⎦ Hµm sè ®−êng cong spline bËc 3 ®èi víi mçi ph©n ®o¹n ®−îc x¸c ®Þnh bëi ph−¬ng tr×nh: ⎡ 2 − 2 1 1 ⎤⎡ p(0) ⎤ ⎢− 3 3 − 2 −1⎥⎢ p(1) ⎥ p(t) = []t 3 t 2 t 1 ⎢ ⎥⎢ ⎥ ⎢ 0 0 1 0 ⎥⎢ p'(0)⎥ (2.7) ⎢ ⎥⎢ ⎥ ⎣ 1 0 0 0 ⎦⎣ p'(1)⎦ p(0), p(1), p'(0), p'(1): hÖ sè h×nh häc. hoÆc: P(t) = [t][M]H[G]H (2.8) ë ®©y ma trËn [t] vµ [M]H lµ bÊt biÕn ®èi víi tÊt c¶ c¸c ph©n ®o¹n cña ®−êng cong spline bËc 3. C¸c thay ®æi chØ xuÊt hiÖn trong ma trËn h×nh häc [G]H , vµ kh¸c nhau trong tõng ph©n ®o¹n. Trong ma trËn [G]H c¸c vÐc t¬ ®iÓm cuèi ®· ®−îc biÕt cho tõng ph©n ®o¹n bËc 3, nh−ng c¸c vÐc t¬ tiÕp tuyÕn 19
- ph¶i ®−îc x¸c ®Þnh sao cho tÝnh liªn tôc cña ®¹o hµm bËc 2 ph¶i ®−îc b¶o ®¶m. Do ®ã t¹i mçi ®iÓm Pi cña ph©n ®o¹n c¸c gi¸ trÞ ph¶i ®−îc lùa chän sao cho ®¹o hµm bËc 2 t¹i ®iÓm cuèi cña 1 ph©n ®o¹n trïng víi ®¹o hµm bËc 2 cña ®iÓm b¾t ®Çu cña ph©n ®o¹n kÕ tiÕp. BiÓu diÔn to¸n häc cña nã nh− sau: P’’i-1(1) = P’’i(0) (2.9) §èi víi ®a thøc bËc 3: 3 2 1 Pi(t) = a3it + a2it + a1it + a0i (2.10) ®¹o hµm bËc 2 lµ: P’’i(t) = 6a3it + 2a2i (2.11) Thay biÓu thøc (2.11) vµo (2.9) víi c¸c gi¸ trÞ tham sè t−¬ng øng, ta cã: 6a3(i-1) + 2a2(i-1) = 2a2i (2.12) C¸c gi¸ trÞ a2 vµ a3 ®−îc tÝnh trong phÐp néi suy Hermite ®−îc thay vµo (2.12), céng víi tÝnh liªn tôc vÞ trÝ C0 , biÕn ®æi ta ®−îc: P’i-1 + 4P’i + P’i+1 = 3(Pi+1 - Pi-1) (2.13) víi l−u ý ë ®©y Pi vµ P’i ®· ®−îc biÓu diÔn thay thÕ cho Pi(0) vµ P’i(0) nh»m ®¬n gi¶n ho¸ c¸ch viÕt. Sö dông lÆp l¹i nhiÒu lÇn ph−¬ng tr×nh (2.13) cho tÊt c¶ c¸c ph©n ®o¹n cña spline bËc 3 cho phÐp tÝnh ®−îc tÊt c¶ c¸c vÐc t¬ tiÕp tuyÕn trong. Gi¶ sö ®−êng cong spline bËc 3 cã n-1 ph©n ®o¹n, tõ P0 ®Õn Pn-1, néi suy n ®iÓm. Trong tr−êng hîp nµy cã n-2 ®iÓm nèi bªn trong, dÉn ®Õn n-2 ph−¬ng tr×nh (2.13). V× cÇn n vÐc t¬ tiÕp tuyÕn nªn cÇn ph¶i cã c¸c ®iÒu kiÖn rµng buéc cho ®−êng spline bËc ba. Hai ®iÒu kiÖn rµng buéc th−êng sö dông lµ: 1. BiÕt c¸c vÐc t¬ tiÕp tuyÕn P’0 vµ P’n-1 t¹i c¸c ®iÓm cuèi. 20
- 2. §¹o hµm bËc 2 t¹i 2 ®iÓm cuèi P0 vµ Pn-1 ®Òu b»ng 0. §©y gäi lµ ®−êng cong spline bËc 3 tù nhiªn. Tr−êng hîp 1: Sö dông ®Ö quy ph−¬ng tr×nh (2.13) cho tÊt c¶ c¸c ph©n ®o¹n ®−êng spline vµ c¸c vÐc t¬ tiÕp tuyÕn ®· biÕt t¹i 2 ®iÓm cuèi cña ®−êng cong bËc 3, ta cã thÓ biÓu diÔn ë d¹ng ma trËn nh− sau: ⎡1 0 . . . .⎤⎡ P0′ ⎤ ⎡ P0′ ⎤ ⎢1 4 1 0 . .⎥⎢ P′ ⎥ ⎢ 3(P − P ) ⎥ ⎢ ⎥⎢ 1 ⎥ ⎢ 2 0 ⎥ ⎢0 1 4 1 0 .⎥⎢ . ⎥ ⎢ . ⎥ ⎢ ⎥⎢ ⎥ = ⎢ ⎥ (2.14) ⎢ . . . . . .⎥⎢ . ⎥ ⎢ . ⎥ ⎢ . . 0 1 4 1⎥⎢ . ⎥ ⎢3(P − P )⎥ ⎢ ⎥⎢ ⎥ ⎢ n−1 n−3 ⎥ ⎣⎢ . . . 0 0 1⎦⎥⎣⎢Pn′−1 ⎦⎥ ⎣⎢ Pn′−1 ⎦⎥ Gi¶i ph−¬ng tr×nh ma trËn nµy sÏ tÝnh ®−îc tÊt c¶ c¸c vÐc t¬ tiÕp tuyÕn: −1 ⎡ P0′ ⎤ ⎡1 0 . . . .⎤ ⎡ P0′ ⎤ ⎢ P′ ⎥ ⎢1 4 1 0 . .⎥ ⎢ 3(P − P ) ⎥ ⎢ 1 ⎥ ⎢ ⎥ ⎢ 2 0 ⎥ ⎢ . ⎥ ⎢0 1 4 1 0 .⎥ ⎢ . ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ (2.15) ⎢ . ⎥ ⎢ . . . . . .⎥ ⎢ . ⎥ ⎢ . ⎥ ⎢ . . 0 1 4 1⎥ ⎢3(P − P )⎥ ⎢ ⎥ ⎢ ⎥ ⎢ n−1 n−3 ⎥ ⎣⎢Pn′−1 ⎦⎥ ⎣⎢ . . . 0 0 1⎦⎥ ⎣⎢ Pn′−1 ⎦⎥ hoÆc: -1 [P’i] = [M]S [G]S (2.16) Chó ý r»ng ë ®©y ma trËn [M]S lµ ma trËn 3 ®−êng chÐo. Do ®ã dÔ dµng tÝnh phÐp nghÞch ®¶o cña ma trËn nµy. HÖ n ph−¬ng tr×nh víi n Èn sè nµy cã thÓ gi¶i b»ng phÐp khö Gauss, hoÆc dïng c¸c phÇn mÒm th«ng dông ®Ó gi¶i. Tr−êng hîp 2: Ph−¬ng tr×nh (2.14) ®−îc sö dông lÇn n÷a vµ ®¹o hµm bËc 2 ®−îc g¸n b»ng 0 t¹i 2 ®iÓm ®Çu vµ cuèi cña ®−êng cong spline bËc 3. 21
- T¹i ®iÓm ®Çu tiªn, P0 (tham sè t=0), ®¹o hµm bËc 2 theo ph−¬ng tr×nh (2.11) trë thµnh a2i=0. Thay gi¸ trÞ a2i vµo ph−¬ng tr×nh trong ®−êng cong Hermite, ta cã: 2P0’ + P1’ = 3(P1-P0) (2.17) G¸n gi¸ trÞ cña ®¹o hµm bËc 2 t¹i ®iÓm cuèi Pn-1 (tham sè t=1) =0, sau ®ã thay vµo ph−¬ng tr×nh (2.11), rót gän cuèi cïng ta ®−îc: P’n-2 + 2P’n-1 = 3(Pn-1-Pn-2) (2.18) HÖ n ph−¬ng tr×nh víi n Èn sè ®−îc biÓu diÔn ë d¹ng ma trËn nh− sau: ⎡2 1 . . . . ⎤⎡ P0′ ⎤ ⎡ 3(P1 − P0 ) ⎤ ⎢1 4 1 0 . . ⎥⎢ P′ ⎥ ⎢ 3(P − P ) ⎥ ⎢ ⎥⎢ 1 ⎥ ⎢ 2 0 ⎥ ⎢0 1 4 1 0 . ⎥⎢ . ⎥ ⎢ 3(P3 − P1 ) ⎥ ⎢ ⎥⎢ ⎥ = ⎢ ⎥ (2.19) ⎢ . . . . . . ⎥⎢ . ⎥ ⎢ . ⎥ ⎢ . . 0 1 4 1⎥⎢ . ⎥ ⎢3(P − P )⎥ ⎢ ⎥⎢ ⎥ ⎢ n−1 n−3 ⎥ ⎣⎢ . . . 0 1 2⎦⎥⎣⎢Pn′−1 ⎦⎥ ⎣⎢3(Pn−1 − Pn−2 )⎦⎥ Khi c¸c gi¸ trÞ P’i ®· t×m ®−îc b»ng tr−êng hîp 1 hoÆc 2 th× c¸c ®iÓm trªn ®−êng cong spline bËc 3 sÏ t×m ®−îc b»ng ph−¬ng tr×nh (2.8). 2.2.1.2- C¸c phÐp xÊp xØ. C¸c ph−¬ng ph¸p to¸n häc dïng ®Ó biÓu diÔn c¸c ®−êng cong trong CAD vµ c¸c phÇn mÒm ph¸t triÓn trªn nÒn CAD dùa trªn lý thuyÕt néi suy hoÆc xÊp xØ. NÕu lµ bµi to¸n thiÕt kÕ ®−êng cong ®i qua tËp hîp c¸c d÷ liÖu ®iÓm, th× cã thÓ sö dông c¸c phÐp néi suy cæ ®iÓn ®· ®−îc m« t¶ ë trªn. Tuy nhiªn trong thùc tÕ kÜ thuËt cã nhiÒu bµi to¸n kh«ng thÓ sö dông ®−îc ph−¬ng ph¸p nµy, vÝ dô nh− phÇn chuyÓn tiÕp gi÷a th©n vµ c¸nh m¸y bay, th©n tµu thuû, vá xe «t«, chóng ®−îc m« t¶ b»ng c¸c mÆt cong cã h×nh d¹ng tù do, mµ kh«ng thÓ biÓu diÔn b»ng c¸c mÆt cong gi¶i tÝch nh− mÆt 22
- ph¼ng, mÆt trô, ThiÕt kÕ c¸c ®−êng cong vµ mÆt cong cã h×nh d¹ng tù do lµ phÇn quan träng bËc nhÊt trong c¸c bµi to¸n thiÕt kÕ kü thuËt. Theo ph−¬ng ph¸p truyÒn thèng, c¸c bµi to¸n thiÕt kÕ nµy ®−îc thùc hiÖn b»ng c¸c ph−¬ng ph¸p h×nh häc ho¹ h×nh. VÝ dô c¸c mÆt cong ®−îc ph©n ra thµnh c¸c mÆt ph¼ng vµ c¸c ®−êng ®Æc tÝnh. Víi nh÷ng th«ng tin nµy c¸c m« h×nh chÝnh ®−îc t¹o ra, vµ tõ ®ã chÕ t¹o ra khu«n dËp. Sù xuÊt hiÖn m¸y tÝnh ®· thay ®æi hoµn toµn qu¸ tr×nh nµy. M« h×nh m¸y tÝnh ®−îc t¹o ra b»ng qu¸ tr×nh sè ho¸ c¸c ®−êng vµ mÆt cong ®Þnh s½n, tõ ®ã ph¸t ra c¸c chØ thÞ ®iÒu khiÓn m¸y gia c«ng. Nh− vËy m« h×nh vµ b¶n vÏ chÝnh ®· ®−îc thay b»ng c¸c m« h×nh m¸y tÝnh cã d¹ng c¸c mÆt cong tù do. Trong CAD, ®Æc biÖt lµ trong c¸c bµi to¸n thiÕt kÕ m« t¶ ë trªn, tiªu chuÈn quan träng nhÊt lµ ®é tr¬n cña ®−êng cong hoÆc mÆt cong. Cã nghÜa lµ ng−êi thiÕt kÕ ph¶i chÊp nhËn kh«ng quan t©m ®Õn chÊt l−îng cña phÐp néi suy. Mét ®iÒu quan träng n÷a lµ bÊt kú thay ®æi nµo khi thiÕt kÕ ®Òu chØ lµ côc bé, do ®ã c¸c chØnh söa trong 1 vïng quy ®Þnh kh«ng ¶nh h−ëng ®Õn h×nh d¸ng tæng thÓ cña ®−êng cong hoÆc mÆt cong. Do vËy c¸c ph−¬ng ph¸p xÊp xØ ®−îc thiÕt kÕ ®Ó tho¶ m·n phÇn nµo c¸c yªu cÇu nµy. Ph−¬ng ph¸p biÓu diÔn ®−êng cong xÊp xØ t¹o ra ®−êng cong tr¬n xÊp xØ c¸c ®iÓm cho s½n, chø kh«ng ®i qua chÝnh x¸c tÊt c¶ c¸c ®iÓm ®ã. Hai ph−¬ng ph¸p xÊp xØ th«ng dông nhÊt trong c¸c hÖ thèng CAD hiÖn nay lµ Bezier vµ B-spline a_ §−êng cong Bezier. §−êng cong Bezier cã c¸c ®iÓm tùa hoÆc ®Ønh tùa lµ 1 tËp hîp theo thø tù c¸c ®iÓm (V0, Vn), dùa vµo ®ã ®Ó xÊp xØ ®−êng cong (h×nh 2.4). C¸c ®iÓm nµy cã thÓ ®−îc biÓu diÔn trªn mµn h×nh ®å ho¹, vµ cho phÐp ng−êi sö 23
- dông ®iÒu khiÓn h×nh d¹ng ®−êng cong. §−êng cong Bezier dùa trªn c¸c hµm ®a thøc, th−êng dïng ®Ó biÓu diÔn c¸c ®−êng cong h×nh d¹ng tù do. V 2 V V 1 3 V 4 V 0 H×nh 2.4. §−êng cong xÊp xØ c¸c ®iÓm tùa chø kh«ng ®i qua chÝnh x¸c c¸c ®iÓm nµy. §−êng cong Bezier bËc n ®−îc x¸c ®Þnh bëi n+1 ®iÓm ®iÒu khiÓn, lµ ph−¬ng tr×nh tham sè cã d¹ng sau: n Q(t) = ∑Vi Bi,n (t) (2.20) i=0 trong ®ã vÐc t¬ Vi biÓu diÔn n+1 ®iÓm ®iÒu khiÓn. hµm Bi,n(t) lµ hµm liªn kÕt tr¬n cña ®−êng cong Bezier, vµ ®−îc m« t¶ b»ng ®a thøc Bernstein nh− sau: n i n-i Bi,n(t) = ( i )(t) (1- t) 0 ≤ t ≤ 1 (2.21) trong ®ã n lµ bËc cña ®a thøc vµ: ⎛n⎞ n! ⎜ ⎟ = i=0, n (2.22) ⎝i ⎠ i!(n − i)! lµ hÖ sè nhÞ thøc. C¸c hµm liªn kÕt tr¬n nµy tho¶ m·n c¸c ®iÒu kiÖn sau: Bi,n(t) >= 0, víi mäi i, 0 ≤ t ≤ 1 24
- n ∑ Bi,n (t) = 1, 0 ≤ t ≤ 1. (2.23) i=0 Ph−¬ng tr×nh nµy ®−îc gäi lµ "tÝnh chÊt chuÈn ho¸". C¸c ®iÒu kiÖn nµy Ðp buéc ®−êng cong n»m hoµn toµn trong 1 ®a gi¸c låi giíi h¹n b»ng c¸c ®Ønh cña ®a gi¸c ®−îc t¹o bëi c¸c ®iÓm ®iÒu khiÓn, gäi lµ bao låi (h×nh 2.5). C¸c hµm liªn kÕt tr¬n Bezier Bi,n(t) t¹o ra 1 ®a thøc bËc n cho n+1 ®iÓm ®iÒu khiÓn, vµ nãi chung Ðp buéc ®−êng cong Bezier ®i qua c¸c ®iÓm ®iÒu khiÓn ®Çu vµ cuèi (V0, Vn) (h×nh 2.5). C¸c ®iÓm ®iÒu khiÓn trung gian ®iÒu chØnh ®−êng cong ®Õn h×nh d¹ng mong muèn. H×nh 2.6 chØ ra sù ¶nh h−ëng ®Õn h×nh d¹ng ®−êng cong Bezier khi di chuyÓn c¸c ®iÓm tùa V5 V6 V V 4 1 V7 V2 V0 V3 H×nh 2.5. §−êng cong Bezier ®i qua c¸c ®iÓm tùa ®Çu, cuèi vµ tho¶ m·n tÝnh bao låi V3' ' V2 V3 V3 ' V1 V 4 V0 H×nh 2.6. Thay ®æi vÞ trÝ ®iÓm tùa sÏ lµm thay ®æi ®−êng cong Bezier 25
- Chó ý r»ng: t¹i t=0, Q(0) = V0 vµ B0,n = 1 ; Bi,n = 0 , i != 0, n t¹i t=1, Q(1) = Vn vµ Bn,n = 1 ; Bi,n = 0 , i != 0, n §å thÞ c¸c hµm liªn kÕt tr¬n cña ®−êng cong Bezier (Bi,n) lµ c¸c ®−êng cong bËc n. Mçi ®iÓm ®iÒu khiÓn (Vi) cã träng sè b»ng hµm liªn kÕt tr¬n liªn kÕt víi nã (Bi,n), vµ ¶nh h−ëng cña mçi ®iÓm ®−îc thay ®æi nh− c¸c biÕn tham sè dao ®éng tõ 0 ®Õn 1. C¸c hµm liªn kÕt tr¬n cßn Ðp buéc ®−êng cong Bezier tiÕp xóc víi c¸c ®−êng th¼ng nèi 2 ®iÓm ®iÒu khiÓn ®Çu tiªn vµ 2 ®iÓm ®iÒu khiÓn cuèi cïng. NÕu ®iÓm ®iÒu khiÓn ®Çu tiªn vµ ®iÓm ®iÒu khiÓn cuèi cïng trïng nhau th× ®−êng cong sÏ khÐp kÝn (h×nh 2.7). V3 V 4 V2 V5 V1 V0 V 7 V6 H×nh 2.7. Khi c¸c ®iÓm tùa ®Çu vµ cuèi trïng nhau th× ®−êng cong Bezier khÐp kÝn §Ó t¨ng c−êng tÝnh mÒm dÎo cho thiÕt kÕ ®ßi hái sè l−îng lín c¸c ®iÓm tùa, tuy nhiªn khi ®ã c¸c ®a thøc Bernstein ®−îc t¹o ra sÏ cã bËc cao dÉn ®Õn viÖc khã qu¶n lý chóng. §Ó gi÷ cho bËc cña ®−êng cong thÊp mµ vÉn gi÷ ®−îc sù mÒm dÎo khi thiÕt kÕ, c¸c ®−êng cong víi sè l−îng lín c¸c ®iÓm ®iÒu khiÓn ®−îc t¹o ra b»ng c¸ch liªn kÕt nhiÒu ph©n ®o¹n bËc thÊp * * h¬n nh− h×nh 2.8. ë ®©y hai ph©n ®o¹n V0 , V1 , V2 , V3 , V4 vµ V0 , V1 , * * * V2 , V3 , V4 ®−îc sö dông, nh− vËy thay v× mét ph©n ®o¹n cã 9 ®iÓm tùa t−¬ng øng víi hµm liªn kÕt tr¬n Bernstein bËc 8 ta ®· dïng 2 ph©n ®o¹n víi 5 ®iÓm tùa trªn mçi ph©n ®o¹n, nghÜa lµ hµm liªn kÕt tr¬n b©y giê chØ cßn 26
- bËc 4. §iÓm nèi gi÷a c¸c ph©n ®o¹n cña ®−êng cong Bezier tõng khóc th−êng ®−îc ¸p dông tÝnh liªn tôc C0 vµ C1 . §Ó tho¶ m·n ®iÒu kiÖn nµy c¸c c¹nh cña ®a gi¸c ®iÒu khiÓn héi tô t¹i ®iÓm nèi gi÷a c¸c ph©n ®o¹n ph¶i t¹o thµnh ®−êng th¼ng. Hay nãi c¸ch kh¸c, ®iÓm ®iÒu khiÓn nèi hai ph©n ®o¹n vµ c¸c ®iÓm ngay tr−íc vµ sau nã ph¶i th¼ng hµng. H×nh 2.8 chØ ra c¸c ®iÒu * * kiÖn nµy, ®iÓm nèi V4 còng chÝnh lµ V0 cïng víi V3 vµ V1 n»m trªn mét ®−êng th¼ng. V* V V 3 2 3 V* 2 V V* 1 V 4 4 V* 0 V 0 V* 1 H×nh 2.8. §−êng cong Bezier nhiÒu ph©n ®o¹n b_ §−êng cong B_Spline. Nh− trong phÇn trªn ta thÊy c¸c hµm liªn kÕt tr¬n Bezier sö dông c¸c ®a thøc Bernstein phô thuéc vµo sè l−îng c¸c ®iÓm ®iÒu khiÓn. C¸c ®−êng cong nµy cã sù ®iÒu khiÓn toµn bé, di chuyÓn mét ®iÓm tùa sÏ ¶nh h−ëng ®Õn toµn bé ®−êng cong. §Ó tr¸nh c¸c ®a thøc bËc cao vµ gi¶m sù ¶nh h−ëng mét c¸ch tæng thÓ nµy, c¸c ®−êng cong Bezier th−êng ®−îc x©y dùng b»ng c¸ch kÕt nèi nhiÒu ph©n ®o¹n bËc thÊp h¬n. §iÒu nµy cho phÐp sù ®iÒu khiÓn côc bé vµ cã quyÒn tù do thay ®æi bËc t¹i c¸c ®iÓm sö dông tÝnh liªn tôc. Mçi ph©n ®o¹n ®−êng cong Bezier cã c¸c tÝnh chÊt ®Ò cËp ë trªn, nh−ng ®−êng cong phøc hîp cã nh÷ng tÝnh chÊt kh¸c. Ph−¬ng ph¸p ®−îc chän ®Ó kÕt nèi c¸c ph©n ®o¹n víi nhau phô thuéc vµo bËc mong muèn cña tÝnh liªn tôc. NÕu c¸c ph©n ®o¹n chØ ®¬n gi¶n cã chung c¸c ®iÓm cuèi th× xuÊt hiÖn 27
- tÝnh liªn tôc C0. TÝnh liªn tôc bËc cao h¬n thu ®−îc chØ b»ng c¸ch buéc theo c¸c rµng buéc h×nh häc t¹i vÞ trÝ c¸c ®Ønh (h×nh 2.8) Cã thÓ sö dông c¸c hµm liªn kÕt tr¬n B-spline xen kÏ víi c¸c ®a thøc Bernstein ®Ó t¹o ra ®−êng cong ®a thøc tham sè tõng khóc riªng lÎ th«ng qua mét sè ®iÓm ®iÒu khiÓn. BËc cña ®a thøc cã thÓ ®−îc ng−êi thiÕt kÕ lùa chän ®éc lËp víi sè l−îng c¸c ®iÓm tùa. §ã lµ bËc cña c¸c hµm liªn kÕt tr¬n hoÆc hµm c¬ së, mµ nã ®iÒu khiÓn bËc cña ®−êng cong B-spline cuèi cïng. C¸c ®−êng cong B-spline kÕ thõa sù ®iÒu khiÓn côc bé, nghÜa lµ khi mét ®iÓm dÞch chuyÓn chØ mét vµi ph©n ®o¹n cña nã bÞ ¶nh h−ëng, phÇn cßn l¹i cña ®−êng cong kh«ng thay ®æi. TÝnh liªn tôc gi÷a c¸c ph©n ®o¹n B-spline lµ mét hµm cã bËc cña c¸c hµm c¬ së. Do ®ã tÝnh liªn tôc lµ mét nh©n tè quan träng trong viÖc h¹ bËc cã thÓ chän bëi ng−êi thiÕt kÕ. §èi víi c¸c øng dông nh− thiÕt kÕ c¸c ®−êng cong tù do trong ®ã ®é tr¬n lµ mét tiªu chuÈn quan träng th× tÝnh liªn tôc ®é cong C2 ®−îc −u tiªn h¬n. §iÒu nµy ®−îc tho¶ m·n bëi ®−êng cong B-spline bËc ba. N 1,3 N2,3 N 0,3 N3,3 t t t t t t i i+1 i+2 i+3 i+4 H×nh 2.9. C¸c hµm c¬ së cña ®−êng cong B-spline ®Òu * §−êng cong B-spline bËc 3 ®Òu Tr−íc tiªn ta nghiªn cøu mét lo¹i B-spline ®Æc biÖt vµ ®¬n gi¶n gäi lµ B-spline ®Òu. 2 B-spline tham sè bËc ba ®Òu , Ni(t) lµ mét hµm c¬ së C bËc ba, nh− trªn h×nh 2.9. C¸c kho¶ng tham sè hoÆc c¸c nót (knot) t, mµ t¹i ®ã hµm c¬ 28
- së ®−îc ®Þnh nghÜa, cã gi¸ trÞ b»ng nhau. ChÝnh v× vËy mµ ®−êng cong B- spline nµy ®−îc gäi lµ ®Òu. C¸c nót t¹o thµnh vector c¸c sè thùc gäi lµ vector nót, theo thø tù kh«ng gi¶m. Hµm sè ®−îc ®Æt vµo gi÷a t¹i vÞ trÝ ti+2 vµ cã gi¸ trÞ b»ng 0 víi t ti+4 (h×nh 2.9) . C¸c ®o¹n kh¸c 0 cña hµm sè ®−îc t¹o tõ 4 ®a thøc bËc 3 : N0,3 , N1,3 , N2,3 , N3,3 . §−êng cong B-spline thu ®−îc b»ng c¸ch nh©n c¸c hµm xÊp xØ nµy b»ng tËp con cña bèn ®iÓm ®iÒu khiÓn trªn vïng l©n cËncña ®−êng cong, vµ cã thÓ biÓu diÔn b»ng ph−¬ng tr×nh sau: Pi(t) = N0,3(t)Vi + N1,3(t)Vi+1 + N2,3(t)Vi+2 + N3,3(t)Vi+3 . (2.24) H×nh 2.10 chØ ra ®−êng cong B-spline bËc 3 ®Òu cã 6 ®Ønh ®iÒu khiÓn. Trong ph−¬ng tr×nh (2.24) c¸c ®Ønh ®iÒu khiÓn lµ ch÷ V V V3 1 V5 V0 V2 V4 H×nh 2.10. §−êng cong B-spline bËc 3 ®Òu cã 6 ®Ønh ®iÒu khiÓn * §−êng cong B - spline. D−íi d¹ng tæng qu¸t, c¸c ®−êng cong B- spline cã thÓ biÓu diÔn b»ng c¸c hµm liªn kÕt tr¬n cña chóng, nh− ®· thùc hiÖn ë ®−êng cong Bezier: n P(t) = ∑ N i,k (t).Vi (2.25) i=0 trong ®ã 29
- Vi - tËp c¸c ®iÓm ®iÒu khiÓn Ni,k - biÓu diÔn c¸c hµm liªn kÕt tr¬n bËc 1-k. Hµm liªn kÕt tr¬n thø i ®−îc ®Þnh nghÜa b»ng ph−¬ng tr×nh ®Ö quy nh− sau: ⎡1 N i,1 (t) = ⎢ = 1 víi (ti ≤ t ≤ ti+1 ) vµ ngùoc l¹i ⎣0 vµ (t − ti ) (ti+k − t ) N i,k (t) = × N i,k −1 (t) + × N i+1,k −1 (t) (2.26) (ti+k −1 − ti ) (ti+k − ti+1 ) trong ®ã, vÐct¬ nót lµ []ti , ,ti+k . Ph−¬ng tr×nh trªn cã thÓ biÓu diÔn theo c¸ch nãi “ B-spline cÊp k ë nhÞp thø i lµ trung b×nh träng sè cña c¸c B-spline cÊp (k-1) ë nhÞp thø i vµ (i+1) “. Mét ®−êng cong spline ®−îc gäi lµ cÊp k, hoÆc cã bËc (k-1), khi nã ®−îc ®Þnh nghÜa nh− mét ®a thøc bËc (k-1), tõng khóc cã tÝnh liªn tôc Ck-2 (tÝnh liªn kÕt trôc bËc k lµ sù liªn tôc cña ®¹o hµm bËc k). C¸c r»ng buéc ¸p ®Æt lªn vect¬ nót lµ: • Nã ph¶i cã thø tù kh«ng gi¶m, nghÜa lµ gi¸ trÞ c¸c thµnh phÇn ti cña vÐct¬ nót ph¶i tho¶ m·n quan hÖ: ti<= ti+1. • C¸c gi¸ trÞ gièng nhau kh«ng ®−îc xuÊt hiÖn qu¸ k lÇn, nghÜa lµ kh«ng lín h¬n cÊp cña spline. C¸c nót gi¸ trÞ gièng nhau nµy th−êng ®−îc gäi lµ nót béi. Vect¬ nót cã ¶nh h−ëng ®¸ng kÓ ®Õn c¸c hµm liªn kÕt h¬n Ni,k(t) vµ c¶ b¶n th©n ®−êng cong B - spline. Gièng nh− c¸c ®−êng cong Bezier, ®−êng cong B - spline tho¶ m·n tÝnh chÊt bao låi vµ tÝnh chÊt chuÈn. 30
- n ∑ N i,k (t) = 1 (2.27) i=0 Gi¶ sö vect¬ nót [t0 tm], ta cã mèi quan hÖ: m+1 = n + 1 + k (2.28) sè l−îng sè l−îng ®iÓm ®iÒu khiÓn c¸c ®−êng cong Trong phÐp biÓu diÔn B - spline, vect¬ nót [t0 tn+k] cã thÓ ®−îc ph©n lo¹i thµnh: • §Òu/tuÇn hoµn • Kh«ng ®Òu • Kh«ng tuÇn hoµn V× c¸c vÐct¬ nót ¶nh h−ëng ®Õn h×nh d¹ng cña ®−êng B-spline, ®iÒu ®ã cã thÓ suy ra r»ng c¸c ®−êng cong B-spline còng cã sù ph©n lo¹i nh− trªn. 2.3. Phương pháp mô tả các mặt cong trên máy tính 2.3.1. Giới thiệu chung về mặt cong Các mặt cong đóng vai trò quan trọng trong thiết kế kỹ thuật và sản xuất. Theo phương pháp thiết kế truyền thống, mặt cong thường được biểu hiện bằng các hình chiếu vuông góc. Trong thời gian gần đây nhờ sự xuất hiện của đồ họa máy tính và sự phát triển nhanh chóng trong lĩnh vực hình học số, ta có thể biểu diễn các mô hình mặt cong thực trong không gian 3 chiều. Các mô hình toán học cho phép ta phân tích nhanh chóng các tính chất quan trọng của mặt cong như trọng tâm, diện tích mặt v.v Các phương pháp biểu diễn tham số sử dụng cho đường cong cũng là các công cụ hiệu quả trong thiết kế mặt cong. Phương pháp giá trị véctơ để biểu diễn mặt cong cần có 2 biến tham số s, t. 31
- P(s, t) = [x (s,t), y (s, t), z (s, t)] 0< = s, t < = 1 (2.29) P(s,1) P(1,t) P(0,t) t P(s,0) s Hình 2.11. Mặt cong tạo bởi lưới đường cong theo các hướng s và t Các vết đường cong biểu diễn mặt cong được tạo ra bằng cách giữ không đổi 1 tham số và thay đổi tham số kia. Trên hình 2.11 là mặt cong được tạo bởi lưới đường cong theo hướng s và t. Như vậy để tạo nên mặt cong cần phải tạo các đường cong cấu tạo nên mặt cong. Điều này áp dụng cho các mặt cong giải tích hoặc mặt cong tự do. 2.3.2. Các mặt cong tự do Cũng giống như đường cong, một vài mặt cong không thể được mô tả đầy đủ bằng các hàm giải tích như đã đề cập ở trên. Như các mặt cong thiết kế thân ô tô, vỏ tàu, cánh máy bay Chúng thường được biểu diễn bởi một loại các ô lưới. Các công thức cơ sở của các đường cong Hermite, Bezier và B - spline có thể sử dụng trong thiết kế mặt cong tự do. 2.3.2.1. Mặt cong tham số bậc 3. Là sự mở rộng của đường cong Hermite. Mặt cong được tạo bởi các đường biên là các đường cong tham số bậc 3 hoặc các đường cong Hermite và phần bên trong được xác định bởi các hàm liên kết trơn. Mỗi đường biên 32
- được biểu diễn bởi các điểm cuối và véctơ tiếp tuyến tại điểm cuối của nó như sau: ⎡ 2 − 2 1 1 ⎤⎡ p(0) ⎤ ⎢ ⎥⎢ ⎥ 3 2 − 3 3 − 2 −1 p(1) p(t) = []t t t 1 ⎢ ⎥⎢ ⎥ , hay P(t) = [t] [M]H [G]H (2.30) ⎢ 0 0 1 0 ⎥⎢ p'(0)⎥ ⎢ ⎥⎢ ⎥ ⎣ 1 0 0 0 ⎦⎣ p'(1)⎦ T−¬ng tù ta cã ph−¬ng tr×nh tham sè theo h−íng s: P(s) = [s] [M]H [G]H (2.31) vÐc t¬ tiÕp tuyÕn V11 s=1 V 10 ®−êng cong biªn t=0 t=1 s s=0 V 00 t V01 H×nh 2.12. MÆt cong tham sè bËc 3 Tuy nhiên nếu chỉ định nghĩa riêng lẻ các đường cong biên thì chưa thể định dạng hoàn toàn mặt cong. Với cùng các đường cong biên, các mặt cong khác nhau được định nghĩa bởi các hình dạng bên trong khác nhau. Do đó để định dạng được hoàn toàn mặt cong, hình dạng bên trong trên vùng lân cận của mỗi góc được điều khiển bởi các véctơ xoắn đặt tại các góc. Mặt cong tham số bậc 3 có cơ sở được xác định bằng tích các véctơ cơ sở của 2 biến s và t. Nó được gọi là tích mặt cong hoặc tích tenxơ. P (s,t) = [s] [M] [G] [M]T[t]T (2.32) Trong đó 33
- ⎡⎤PPPP(0,0) (0,1)11 (0,0) (0,1) ⎢⎥PPPP(1, 0) (1,1) (1, 0) (1,1) vitricacgoc vectotheohuongtaicacgoc ⎢⎥11⎡ ⎤ []G ==⎢ ⎥ ⎢⎥PPPs(0,0) s (0,0) st (0,0) P st (0,1) ⎣vectotheohuongtaicacgoc tichvectotaicacgoc ⎦ ⎢⎥ ⎣⎦PPPs(0,0) s (0,0) st (1,0) P st (1,1) Các dạng mặt cong khác nhau thu được bằn cách thay đổi vị trí các điểm góc, các véctơ tiếp tuyến hoặc các véctơ xoắn. Để làm đơn giản phương trình mặt cong người ta có thể cho tất cả các véctơ xoắn bằng 0 và đây được gọi là ô lưới Ferguson hoặc F-patch. Tuy vậy điều này làm phẳng các góc nên nó thường không được sử dụng trong thực tế kỹ thuật. Các ô lưới tham số bậc 3 và F-patch có thể ráp từng mảng lại với nhau và các cạnh sẽ có tính liên tục C’ (đạo hàm bậc 1 bằng nhau - có cùng tiếp tuyến tại điểm ráp). Pháp tuyến của mặt cong cũng rất quan trọng trong các ứng dụng mô hình hóa hình học, như việc tính toán điều khiển số hoặc phát hiện chướng ngại vật cho các robot. Pháp tuyến tại bất kỳ điểm nào của đường cong tham số bậc 3 được xác định bằng véctơ các đạo hàm theo tham số tại điểm đó. N = Ps x Pt (2.34) 2.3.2.2. Mặt cong Bezier. Như ta đã thấy ở trên, các mặt cong tham số bậc 3 là công cụ thiết kế khá hiệu quả, tuy nhiên chúng vẫn có khuyết điểm là các giá trị tiếp tuyến và các véctơ xoắn không mang tính trực giác. Ngược lại các mặt cong Bezier dễ dàng tạo ra và sửa chữa một cách trực giác hơn nhiều. Mặt cong Bezier được định nghĩa bằng một phép tạo đường cong đơn giản. Tích tenxơ dùng trong định nghĩa mặt cong tham số bậc 3 được áp dụng lần nữa với cùng 2 hướng s và t như trên hình vẽ. 34
- V14 V24 V34 V13 23 V33 V44 V V22 V12 V43 V32 V21 t V31 V42 V11 s V41 H×nh 2.13. L−íi ®iÓm tùa cña mÆt cong Bezier bËc ba kÐp Mäi ®iÓm trªn mÆt cong cã thÓ x¸c ®Þnh b»ng c¸ch g¸n gi¸ trÞ cho cÆp tham sè x¸c ®Þnh bëi ph−¬ng tr×nh: n m Q(s,t) = ∑∑Vi, j Bi,n (s)B j,n (t) 0 ≤ s,t ≤1 (2.35) i==0 j 0 Nh− tr−êng hîp ®−êng cong Bezier, Vi,j ®Þnh nghÜa c¸c ®Ønh ®iÒu khiÓn vµ Bi,n(s), Bj,m(t) lµ c¸c hµm liªn kÕt tr¬n Bernstein theo c¸c h−íng s vµ t. C¸c tÝnh chÊt cña mÆt cong Bezier ®−îc quy ®Þnh bëi c¸c hµm liªn kÕt tr¬n nh−: - MÆt cong cã h×nh d¹ng theo c¸c ®iÓm ®iÒu khiÓn. - MÆt cong n»m trong miÒn bao låi cña c¸c ®iÓm ®iÒu khiÓn. - C¸c ®iÓm gãc cña mÆt cong vµ c¸c ®iÓm ®iÒu khiÓn t¹i gãc trïng nhau. C¸c ®iÓm ®iÒu khiÓn cña mÆt cong Bezier cã cïng chøc n¨ng nh− c¸c tham sè sö dông trong « l−íi tham sè bËc 3. Bèn ®iÓm ®iÒu khiÓn gãc n»m trªn chÝnh mÆt cong. C¸c vÐc t¬ tiÕp tuyÕn Hermite t¹i c¸c gãc ®−îc x¸c ®Þnh bëi vÞ trÝ c¸c ®iÓm ®iÒu khiÓn Bezier kÒ s¸t c¸c ®−êng cong biªn. TÊt c¶ c¸c vÐc t¬ tiÕp tuyÕn kh¸c còng ®óng nh− vËy. C¸c ®iÓm ®iÒu khiÓn n»m bªn trong x¸c ®Þnh h×nh d¹ng bªn trong cña mÆt cong gièng nh− vÐc t¬ xo¾n trong mÆt cong tham sè bËc 3. §Ó ®iÒu chØnh h×nh d¹ng mÆt cong ng−êi ta chØ cÇn di chuyÓn 1 c¸ch ®¬n gi¶n c¸c ®iÓm ®iÒu khiÓn nµy. Ph−¬ng ph¸p nµy mang tÝnh trùc quan h¬n nhiÒu so víi ph−¬ng ph¸p sö dông mÆt cong 35
- tham sè bËc 3, v× lý do gÆp ph¶i nh÷ng khã kh¨n khi g¸n gi¸ trÞ thÝch hîp cho c¸c vÐc t¬ tiÕp tuyÕn vµ vÐc t¬ xo¾n. MÆt cong Bezier cã thÓ biÓu diÔn ë d¹ng ma trËn nh− sau: T T Q(s,t) = [s] [M]B [V]B [M]B [t] (2.36) Víi mÆt cong bËc 3 kÐp, ma trËn ®−îc rót gän thµnh: 3 ⎡−1 3 − 3 1⎤⎡V0,0 V0,1 V0,2 V0,3 ⎤⎡−1 3 − 3 1⎤⎡t ⎤ ⎢ ⎥⎢ ⎥⎢ ⎥⎢ 2 ⎥ 3 − 6 3 0 V V V V 3 − 6 3 0 t Q(s,t) = []s3 s 2 s 1 ⎢ ⎥⎢ 1,0 1,1 1,2 1,3 ⎥⎢ ⎥⎢ ⎥ (2.37) ⎢− 3 3 0 0⎥⎢V2,0 V2,1 V2,2 V2,3 ⎥⎢− 3 3 0 0⎥⎢ t ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥ ⎣ 1 0 0 0⎦⎣V3,0 V3,1 V3,2 V3,3 ⎦⎣ 1 0 0 0⎦⎣⎢ 1 ⎦⎥ Do ®ã ®Ó biÓu diÔn mÆt cong Bezier bËc 3 kÐp cÇn ph¶i x¸c ®Þnh 16 ®iÓm ®iÒu khiÓn. Còng nh− ë ®−êng cong Bezier, viÖc t¨ng sè ®iÓm ®iÒu khiÓn sÏ tù ®éng t¨ng bËc cña mÆt cong. CÇn ph¶i sö dông nhiÒu « l−íi Bezier ®Ó t¹o ra mÆt cong bËc thÊp. Trong tr−êng hîp mÆt cong bËc 3 kÐp tÝnh liªn tôc C1 cÇn ph¶i b¶o ®¶m däc theo c¸c c¹nh chung gi÷a 2 « l−íi. Mét c¸ch ®Ó b¶o ®¶m ®iÒu kiÖn nµy lµ c¸c c¹nh ®iÒu khiÓn ph¶i th¼ng hµng t¹i c¸c c¹nh chung. 2.3.2.3. MÆt cong B-spline. Còng gièng nh− mÆt cong Bezier, mÆt cong B-spline cã thÓ biÓu diÔn b»ng tÝch tens¬: n m P(s,t) = ∑∑Ni,k (s)N j,l (t)Vi, j 0 ≤ s,t ≤1 (2.38) i==0 j 0 Trong ®ã Vi,j lµ c¸c ®iÓm ®iÒu khiÓn vµ Ni,k(s), Nj,l(t) lµ c¸c hµm liªn kÕt tr¬n B-spline. C¸c vÐc t¬ nót theo 2 h−íng tham sè cã thÓ ph©n lo¹i thµnh ®Òu (tuÇn hoµn, kh«ng tuÇn hoµn) vµ kh«ng ®Òu, gièng nh− ®−êng cong B-spline. MÆt cong n»m trong giíi h¹n ®a diÖn t¹o bëi c¸c ®iÓm ®iÒu khiÓn (d¹ng ®iÒu khiÓn côc bé). 36
- C¸c mÆt cong B-spline ®Òu tuÇn hoµn ®−îc t¹o ra b»ng c¸ch sö dông c¸c vÐc t¬ nót ®Òu vµ 1 m¶ng c¸c ®iÓm ®iÒu khiÓn. VÝ dô mÆt cong bËc 3 kÐp ®−îc biÓu diÔn b»ng m¶ng 4x4 c¸c ®iÓm ®iÒu khiÓn. §èi víi mÆt cong B-spline bËc 3 kÐp tuÇn hoµn cã tÝnh liªn tôc C2 (cã cïng gi¸ trÞ ®¹o hµm bËc 2 t¹i ®iÓm liªn kÕt), mçi ph©n ®o¹n cÇn 16 ®iÓm ®iÒu khiÓn, trong ®ã 12 ®iÓm ®−îc dïng chung víi ph©n ®o¹n kÕ tiÕp. MÆt cong B-spline tuÇn hoµn khÐp kÝn thu ®−îc cïng ph−¬ng ph¸p víi ®−êng cong B-spline tuÇn hoµn khÐp kÝn. C¸c c¹nh ®èi diÖn cña mÆt cong ®−îc trén víi nhau b»ng c¸ch ®Æt trïng c¸c ®Ønh ®iÒu khiÓn trªn c¸c c¹nh. 2.4. Đặt vấn đề về nội dung nghiên cứu. Các máy đo tọa độ (Coordinate Measuring Machine - CMM) là những thiết bị chính xác và rất đắt tiền, phục vụ cho những việc đo lường. Ngoài các máy đo tọa độ thao tác trong hệ trục tọa độ Đềcác vuông góc còn có các thiết bị kiểu xách tay nhiều trục quay như MicroScrible, Spin Arm, Stinger v.v. Ngày nay nhờ có các chương trình phần mềm hiện đại nên đã nâng cao nhiều tính năng như tốc độ và độ chính xác đo lường của các loại thiết bị nói trên. Có thể nhận xét rằng sơ đồ động của các thiết bị đo lường nói trên có cấu trúc tương tự như trong cơ cấu robot. Vì thế việc áp dụng các phương pháp nghiên cứu động học robot là hoàn toàn hợp lý và có thể đem lại nhiều tiện ích. Ở đây gọi tên robot RE, tương tự như một máy đo tọa độ xách tay (portable CMM). Ở đây gọi tên robot RE là để chỉ mục tiêu sử dụng cho kỹ thuật tái hiện ngược (Reverse Engineering - RE) các đường và bề mặt phức tạp trên cơ sở các phương pháp của robotics. Sản phẩm được xây dựng như một hệ thống thiết bị số hóa các đường và bề mặt không gian. 37
- III. NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO ROBOT RE THEO KIỂU PCMM CƠ CẤU CHUỖI. 3.1. Phân tích kết cấu các thiết bị PCMM cơ cấu chuỗi và phương án chế thử Robot RE - 01. 3.1.1. Giới thiệu chung Các máy đo tọa độ (Coordinate Measuring Machine – CMM) là những thiết bị chính xác và rất đắt tiền, phục vụ cho những công việc đo lường. Các máy CMM này thao tác trong hệ tọa độ vuông góc. Ngoài các máy CMM này còn các thiết bị kiểu xách tay (Portable CMM – PCMM). Các hình ảnh dưới đây là những kiểu thiết bị PCMM có thương hiệu nổi tiếng như Micro Scribe, Spin Arm, Stringer v.v. Hình 3.3.1 Thiết bị PCMM – Micro Scribe 38
- Hình 3.3.2. Thiết bị PCMM – Spin Arm 39
- Các kiểu PCMM có cấu hình như một cánh tay, nên còn gọi là “máy tay đo”. Chúng thao tác linh hoạt hơn và rất thích hợp với công việc đo lường các vật lớn không thể đưa lên bệ máy CMM được (xem các hình chụp). Ngày nay nhờ có những chương trình phần mềm thông minh, biết suy diễn các số liệu đo, nên đã nâng cao nhiều tính năng như tốc độ và độ chính xác đo lường của các loại thiết bị nói trên. Sơ đồ cơ cấu của các loại máy tay đo tương tự như trong các loại robot có cơ cấu dạng chuỗi. Vì thế việc áp dụng các phương pháp nghiên cứu động học, động lực học và độ chính xác của cơ cấu robot cho các máy tay đo là hoàn toàn hợp lý và có thể đem lại nhiều tiện ích. Trong phần này trình bày một số kết quả nghiên cứu thiết kế, chế thử robot RE-01 tham khảo theo các thông số kỹ thuật của mẫu nước ngoài, kiểu Micro Scribe. Công trình nghiên cứu này không nhằm mục đích phục vụ công việc đo lường mà chủ yếu khai thác chúng như các hệ thống thiết bị số hóa (Digitizing Systems) phục vụ cho kỹ thuật tái hiện (Reverse Engineering - RE) các bề mặt cong phức tạp. Cũng vì thế sản phẩm được gọi tên là Robot RE. 40
- Hình 3.3.3. Sử dụng PCMM để đo lường các đồ vật kích cỡ lớn 41
- 3.1.2. Động học Robot RE – 01 Robot RE - 01 lµ tªn gäi t¾t cho lo¹i robot dïng cho kü thuËt t¸i hiÖn (Robot for Reverse Engineering). Mét kiÓu robot RE, cã s¬ ®å cÊu tróc nh− h×nh 1, ®· ®−îc thiÕt kÕ, chÕ t¹o t¹i Trung t©m NCKT Tù ®éng ho¸, §HBK – Hµ néi. z x 4 2 x 4 z3 d 2 a 2 z a4 z 2 y d 1 d3 2 x3 4 y 4 x 1 a3 y 3 d 1 z0 y 0 x0 H×nh 3.3.4: S¬ ®å RE-01 vµ c¸c hÖ to¹ ®é Theo ph−¬ng ph¸p th«ng dông khi nghiªn cøu vÒ robot [2], ta g¾n víi c¸c hÖ to¹ ®é t−¬ng øng víi c¸c kh©u vµ lËp b¶ng th«ng sè DH (Denavit – Hartenberg) cña c¬ cÊu. Sau ®ã ta nhËp b¶ng th«ng sè DH nµy vµo Ch−¬ng tr×nh phÇn mÒm tù ®éng thiÕt lËp c¸c ph−¬ng tr×nh ®éng häc robot. Ch−¬ng tr×nh nµy ®−îc x©y dùng n¨m 1999 [3] vµ gÇn ®©y ®· ®−îc chóng t«i nghiªn cøu c¶i tiÕn vµ n©ng cÊp trªn c¬ së øng dông MATLAB vµ MAPLE. Trªn h×nh 33.3.5 lµ mét cöa sæ mµn h×nh m¸y tÝnh cña ch−¬ng tr×nh c¶i tiÕn nµy. PhÝa bªn tr¸i mµn h×nh lµ b¶ng th«ng sè DH cña robot RE ®· ®−îc n¹p, vµ phÝa bªn ph¶i mµn h×nh lµ chç lÇn l−ît hiÖn c¸c kÕt qu¶ tÝnh to¸n b»ng ch÷ cña c¸c ph−¬ng tr×nh ®éng häc. 42
- H×nh 3.3.5. Mµn h×nh ch−¬ng tr×nh tù ®éng thiÕt kÕ ph−¬ng tr×nh ®éng häc 3.1.3. Chương trình tính toán động học Robot RE-02 Theo [2] ta thiết lập phương trình động học của robot theo các bước sau: 1. Xác định các hệ toạ độ Việc gắn hệ toạ độ với các khâu có vai trò rất quan trọng khi thiết lập hệ phương trình động học của robot. Trong thực tế các trục nối khớp động của robot thường song song hoặc vuông góc với nhau, tức là rơi vào những trường hợp đặc biệt, nên có thể gây nhầm lẫn. Hơn nữa việc xác định các hệ toạ độ cần phải phù hợp với các phép biến đổi ma trận Ai để có thể sử dụng được bộ thông số DH. Vì thế, trình tự xác định các hệ toạ độ cần được lưu ý các điểm sau: Trục Zi phải chọn cùng phương với trục khớp động i+1 Các hệ toạ độ phải tuân theo quy tắc bàn tay phải 43
- 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 Ai. Đó là 4 phép biến đổi: R(z, θi), Tp (o, o, di), Tp(ai, o, o), R(x, αi) Như vậy có thể xem hệ toạ độ thứ i+1 là do phép biến đổi từ hệ toạ độ thứ i. Các phép quay (R) và tịnh tiến (T) trong các phép biến đổi này phải có mặt trong các phép biến đổi của ma trận Ai. 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. Việc gắn hệ toạ độ lên các khâu ở vị trí, khi mà các biến khớp có giá trị ban đầu, thường bằng 0. 2. Lập bảng thông số DH 3. Xác định các ma trận Ai theo các thông số DH 4. Tính các ma trận Ti 5. Lập phương trình động học cơ bản 3.2.1. Hệ phương trình động học của robot RE-01 Các phần trên ta đã nghiên cứu tổng quát về cách lập và các bước thực hiện thiết lập hệ phương trình động học của robot, trong phần này ta sẽ thực hiện với robot RE sơ đồ 1 (hình 3.3.4). Vị trí ban đầu của robot được chọn khi các cánh tay duỗi ngang, trên mỗi khâu động sẽ được gắn các hệ toạ độ (hình 3.3.4). Các biến khớp là các góc quay θi, i = 1 4 của 4 khớp động. Ở vị trí ban đầu các biến khớp có giá trị bằng 0. Bước tiếp theo ta xác định bộ thông số DH và lập thành bảng sau. 44
- * Khâu θi αi ai di Khớp 0 1 θ1 -90 0 d1 R 0 2 θ2 -180 a2 d1 R 0 3 θ3 -180 a3 d2 R 0 4 θ4 0 a4 d1 R (*: Các biến khớp) Để thuận tiện cho việc biểu diễn và dễ theo dõi ta quy ước ký hiệu các hàm lượng giác như sau: Si = sin θi Ci = cos θi Sik = sin(θi + θk) ; Si-k = sin(θi - θk) Cik = cos(θi + θk) ; Ci-k = cos(θi - θk) Sikj = sin(θi + θk+ θj) ; Sik-j = sin(θi + θk- θj) Cikj = cos(θi + θk+ θj) ; Cik-j = cos(θi + θk- θj) C¸c ma trËn Ai cña robot RE ®−îc x¸c ®Þnh nh− sau: ⎡C1 0 − S1 0 ⎤ ⎡C2 S2 0 C2a2 ⎤ ⎢S 0 C 0 ⎥ ⎢S − C 0 S a ⎥ ⎢ 1 1 ⎥ ⎢ 2 2 2 2 ⎥ A1 = A2 = (3.1) ⎢ 0 −1 0 d1 ⎥ ⎢ 0 0 −1 d2 ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ ⎡C3 S3 0 C3a3 ⎤ ⎡C4 −S4 0 C4a4 ⎤ ⎢S −C 0 S a ⎥ ⎢S C 0 S a ⎥ A = ⎢ 3 3 3 3 ⎥ A = ⎢ 4 4 4 4 ⎥ 3 4 (3.2) ⎢ 0 0 −1 d3 ⎥ ⎢ 0 0 1 d4 ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎣ 0 0 0 1 ⎦ 45
- i Ta x¸c ®Þnh c¸c ma trËn T4 theo c¸c hÖ täa ®é lÇn l−ît tõ kh©u cuèi trë vÒ gèc: ⎡C4 − S4 0 a4C4 ⎤ ⎢S C 0 a S ⎥ 3T = ⎢ 4 4 4 4 ⎥ 4 (3.3) ⎢ 0 0 1 d4 ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎡C3C4 +S3S4 −C3S4 +S3C4 0 a4C3C4 +a4S3S4 +a3C3⎤ ⎢S C −C S −S S −C C 0 a S C −a C S +a S ⎥ 2T = A A =⎢ 3 4 3 4 3 4 3 4 4 3 4 4 3 4 3 3 ⎥ 4 3 4 (3.4) ⎢ 0 0 −1 d3 −d4 ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ hay ⎡C3−4 S3−4 0 a4C3−4 + a3C3 ⎤ ⎢S − C 0 a S + a S ⎥ 2T = A A = ⎢ 3−4 3−4 4 3−4 3 3 ⎥ 4 3 4 (3.5) ⎢ 0 0 −1 d3 − d4 ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎡C2−34 − S2−34 0 C2−34a4 +C2−3a3 +C2a2 ⎤ ⎢S C 0 S a + S a + S a ⎥ 1 ⎢ 2−34 2−34 2−34 4 2−3 3 2 2 ⎥ T4 = A2 A3 A4 = (3.6) ⎢ 0 0 1 d2 − d3 + d4 ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ Cuèi cïng: 46
- ⎡nx S x ax px ⎤ ⎢n S a p ⎥ T = ⎢ y y y y ⎥ = A1T 4 1 4 (3.7) ⎢nz S z az pz ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ ⎡C1C2−34 − C1S2−34 S1 C1(a2C2 + a3C2−3 + a4C2−34 ) − S1 (d2 − d3 + d4 )⎤ ⎢S C − S S − C S (a C + a C + a C ) + C (d − d + d )⎥ 1 ⎢ 1 2−34 1 2−34 1 1 2 2 3 2−3 4 2−34 1 2 3 4 ⎥ T4 = A1 T4 = ⎢ − S2−34 − C2−34 0 − (a2S2 + a3S2−3 + a4S2−34 ) + d4 ⎥ ⎢ ⎥ ⎣ 0 0 0 1 ⎦ C©n b»ng c¸c phÇn tö cña ma trËn T4 ta ®−îc mét hÖ thèng c¸c ph−¬ng tr×nh sau: n x = C1C2-34 n y = S1C2-34 n z = -S2-34 Sx = -C1S2-34 Sy = -S1S2-34 S z = -C2-34 (3.8) (3.25) a x = - S1 a y = C1 az = 0 px = C1(C2-34a4+ C2-3a3+ C2a2) – S1(d2- d3+ d4) (3.9) py = S1(C2-34a4+ C2-3a3+ C2a2) + C1(d2- d3+ d4) pz = - ( S2-34a4 + S2-3a3 + S2a2) + d1 (3.10) 47
- Như vậy ta đã thiết lập được hệ phương trình động học của robot RE- 01. Dựa vào hệ phương trình này để phân tích sự hoạt động và điều khiển robot. Nếu ta biết các giá trị của biến khớp, thì vị trí và hướng của đầu dò robot sẽ hoàn toàn xác định từ hệ phương trình động học nói trên. Đó là nội dung chủ yếu của bài toán động học thuận. Còn bài toán động học ngược thì lại nhằm xác định giá trị của các biến khớp theo các thông số trạng thái đã biết của “điểm tác động cuối”. Để xác định được các giá trị đó cũng xuất phát từ việc giải hệ các phương trình động học nói trên. j Việc tính toán các ma trận Ti để thiết lập hệ các phương trình động học của robot, như đã thấy ở phần trên, là việc rất mất nhiều thời gian và dễ nhầm lẫn. Bởi vậy sẽ rất có ý nghĩa nếu sử dụng máy tính để tính toán với lời giải không phải bằng số mà bằng các biểu thức giải tích. Để so sánh với kết quả tính toán bằng tay ở phần trên sau đây sử dụng chương trình tính toán như vậy để thiết lập các phương trình động học của robot ở dạng các biểu thức giải tích. Chương trình phần mềm này được viết bằng ngôn ngữ lập trình MATLAB là sản phẩm nghiên cứu của Trung tâm NCKT Tự động hoá, ĐHBK- HN Để sử dụng chương trình tính toán này ta chỉ cần dựa vào bảng thông số DH của robot. Ví dụ, đối với robot RE ta đã thiết lập bảng thông số DH như trên và kết quả tính toán sau đay in ra từ máy tính. ThiÕt lËp ph−¬ng tr×nh ®éng häc cña robot RE: 48
- Hình 3.3.6. Thiết lập phương trình động học của robot RE 49
- Tổng hợp chuyển động của robot Trong phần trước ta đã khảo sát bài toán phân tích động học robot: cho trước chuyển động của các khâu, cần xác định quy luật của điểm tác động cuối. Chương trình chuyển động được biểu thị bằng hàm qi (t), (i = 1, n), với qi là toạ độ suy rộng hoặc là biến khớp. Ở phần này ta tiến hành xây dựng phương pháp giải bài toán tổng hợp chuyển động của robot. Nhiệm vụ tổng hợp chuyển động bao gồm việc xác định bộ lời giải qi(t), (i = 1, n) sao cho điểm cuối của robot thực hiện được các chuyển dịch trước. Các bài toán tổng hợp này rất đa dạng, tuỳ thuộc các yếu tố sau đây: - Sự chuyển dịch trước đó ở dạng nào: dạng quỹ đạo hay phương trình nào đó; biết điểm đầu, điểm cuối hay biết một số điểm trung gian trên đường đi v.v. - Chỉ định trước các vị trí liên tiếp của bàn kẹp hay là cả định hướng của nó. - Có những hạn chế gì trong quá trình chuyển động của robot. Thông thường có 2 loại hạn chế: 1) Do kết cấu của robot mà có thể hạn chế phạm vi thay đổi về giá trị của biến khớp hoặc của vận tốc và gia tốc chuyển động. 2) Do môi trường hoạt động có yêu cầu không va chạm vào các vật xung quanh. - Số bậc tự do của cơ cấu robot như đã phân tích ở trên có thể dư thừa hoặc không và bài toán có thể có lời giải đa trị hoặc đơn trị Biết quy luật chuyển động của điểm cuối, cần xác định quy luật thay đổi các biến khớp tương ứng. Đó là nội dung chính của việc tổng hợp quỹ đạo chuyển động robot. 50
- Có thể xem quỹ đạo chuyển động là tập hợp liên tục các vị trí khác nhau của điểm cuối. Trong thực tế cũng chỉ cần xét lại một số hữu hạn các vị trí trên quỹ đạo. Tại mỗi vị trí trên quỹ đạo ta cần xác định bộ thông số các biến khớp qi. Đó là nội dung của bài toán động học ngược (inverse kinematics problem) của robot. Bài toán động học ngược được đặc biệt quan tâm vì lời giải của nó là cơ sở chủ yếu để xây dựng chương trình điều khiển chuyển động của robot bam theo quỹ đạo cho trước. Tuy nhiên đối với robot RE thì nhiệm vụ được đặt ra là lấy toạ độ điểm trên các đường và bề mặt không gian với sự điều khiển đầu đo được thực hiện bằng tay. Chính vì vậy bài toán động học ngược ở đây sẽ không cần đề cập đến. TÝnh to¸n vÒ ®é chÝnh x¸c t¸i hiÖn cña Robot RE-03 Bµi to¸n ®Æt ra nh− sau: Do nhiÒu nguyªn nh©n kh¸c nhau ë c¸c khíp ®éng cã thÓ xuÊt hiÖn c¸c sai sè dqi. Chóng sÏ g©y nªn sai sè ®Þnh vÞ vµ sai sè ®Þnh h−íng cña hÖ to¹ ®é g¾n liÒn víi ®iÓm mót cña kh©u cuèi cïng ( ë ®©y lµ ®Çu dß). C¸c gi¸ trÞ vÒ sai sè ®Þnh vÞ vµ ®Þnh h−íng nãi trªn lµ nh÷ng ®¹i l−îng cÇn x¸c ®Þnh. §èi víi m¸y ®o to¹ ®é x¸ch tay nh− mét thiÕt bÞ ®o l−êng, th× viÖc tÝnh sai sè l¹i cµng quan träng. Tuy nhiªn viÖc tÝnh to¸n sai sè cña c¸c c¬ cÊu kh«ng gian tõ 3 kh©u trë lªn lµ rÊt phøc t¹p. V× thÕ theo c¸c ph−¬ng ph¸p tÝnh h×nh häc th«ng th−êng ng−êi ta th−êng tÝnh to¸n sai sè cña c¸c nhãm c¬ cÊu d−íi 3 kh©u vµ kÕt hîp víi kinh nghiÖm ph©n tÝch kü thuËt tõng ®èi t−îng cô thÓ ®Ó ®Ò ra nh÷ng lêi gi¶i gÇn ®óng . ë ®©y trªn c¬ së c¸c quan hÖ ®éng häc robot khi di chuyÓn nhá ta x©y dùng ph−¬ng ph¸p tÝnh ®é chÝnh x¸c t¸i hiÖn cña robot RE nãi trªn. Bµi to¸n ®−îc thiÕt lËp cho tr−êng hîp chung c¬ cÊu tay m¸y 6 bËc tù do vµ thùc hiÖn tÝnh to¸n cho tr−êng hîp c¬ cÊu trªn h×nh 1. Bµi to¸n nãi trªn ®−îc cô thÓ 51
- ho¸ nh− sau: Cho biÕt tr¹ng th¸i cña T6 (biÕt ®Þnh vÞ vµ ®Þnh h−íng cña ®iÓm t¸c ®éng cuèi tøc lµ còng biÕt c¸c phÇn tö cña ma trËn T6 [2]), ta cÇn x¸c ®Þnh ®é di chuyÓn nhá dT6 khi ®· biÕt tr−íc sù thay ®æi dqi ë c¸c khíp quay. Nh− ®· biÕt [4], sù thay ®æi nhá vÒ ®Þnh vÞ vµ ®Þnh h−íng cña T6 phô thuéc vµo 6 to¹ ®é khíp ®éng vµ cã thÓ m« t¶ b»ng ma trËn 6x6 sau ®©y. Ma trËn nµy ®−îc gäi lµ Jacobian cña c¬ cÊu tay m¸y. T 6 T 6 T 6 T 6 T 6 T 6 T 6 ⎡ dx ⎤ ⎡ d1x d2x d3x d4x d5x d6x ⎤⎡dq1 ⎤ ⎢ T 6 ⎥ ⎢ T 6 T 6 T 6 T 6 T 6 T 6 ⎥⎢ ⎥ d d d d d d d dq ⎢ y ⎥ ⎢ 1y 2 y 3y 4 y 5 y 6 y ⎥⎢ 2 ⎥ T 6 T 6 T 6 T 6 T 6 T 6 T 6 ⎢ d ⎥ ⎢ d d d d d d ⎥⎢dq3 ⎥ ⎢ z ⎥ = ⎢ 1z 2z 3z 4z 5z 6z ⎥⎢ ⎥ (3.11) T 6 T 6 T 6 T 6 T 6 T 6 T 6 dq ⎢ δ x ⎥ ⎢ δ1x δ 2x δ 3x δ 4x δ 5x δ1x ⎥⎢ 4 ⎥ ⎢ T 6δ ⎥ ⎢ T 6δ T 6δ T 6δ T 6δ T 6δ T 6δ ⎥⎢dq ⎥ ⎢ y ⎥ ⎢ 1y 2 y 3y 4 y 5 y 6 y ⎥ 5 T 6 T 6 T 6 T 6 T 6 T 6 T 6 ⎢ ⎥ ⎣⎢ δ z ⎦⎥ ⎣⎢ δ1z δ 2z δ 3z δ 4z δ 5z δ 6z ⎦⎥⎣⎢dq6 ⎦⎥ Trong ®ã c¸c phÇn tö ë mçi cét cña Jacobian t−¬ng øng c¸c vi ph©n ®é dÞch chuyÓn tÞnh tiÕn vµ quay cña mçi khíp ®éng. ë ®©y chØ toµn khíp quay nªn c¸c biÓu thøc sÏ ®−îc ®¬n gi¶n ®i nhiÒu. Tr×nh tù gi¶i bµi to¸n cã thÓ thùc hiÖn nh− sau: Khi ®· biÕt dqi , theo ph−¬ng tr×nh (3.11) ta x¸c ®Þnh ®−îc 2 vÐct¬ T6 T6 chuyÓn dÞch nhá tÞnh tiÕn d vµ quay δ ®èi víi hÖ to¹ ®é T6 : T6 T6 T6 T6 d = dxi + dyj + dzk , (3.12) T6 T6 T6 T6 δ = δx i + δyj + δzk . (3.13) Trªn c¬ së (2) vµ (3) ta x¸c ®Þnh T6∆ [4]: T 6 T 6 T 6 ⎡ 0 − δ z δ y dx ⎤ ⎢ ⎥ T 6δ 0 −T 6δ T 6d T 6∆ = ⎢ z x y ⎥ (3.14) ⎢−T 6δ T 6δ 0 T 6d ⎥ ⎢ y x z ⎥ ⎣⎢ 0 0 0 0 ⎦⎥ Råi sau ®ã tÝnh : 52
- T6 dT6 = T6 ∆ . (3.15) Muèn vËy tr−íc hÕt ph¶i x¸c ®Þnh c¸c phÇn tö trong tõng cét cña Jacobian ë ph−¬ng tr×nh (3.11). C¸c phÇn tö ë mçi cét t−¬ng øng víi c¸c vi ph©n ®é di chuyÓn cña mçi khíp ®éng. Khi gi¶i bµi to¸n ®éng häc robot ta ®· dïng c¸c ph−¬ng tr×nh quan hÖ sau [2] : −1 1 (3.16) A1 T6 = T6 −1 −1 2 (3.17) A2 A1 T6 = T6 −1 −1 −1 3 (3.18) A3 A2 A1 T6 = T6 −1 −1 −1 −1 4 (3.19) A4 A3 A2 A1 T6 = T6 −1 −1 −1 −1 −1 5 (3.20) A5 A4 A3 A2 A1 T6 = T6 ∂T C¸c cét cña ma trËn Jacobian t−¬ng øng víi c¸c thµnh phÇn cña 6 : ∂qi ∂T6 T 6 = T6 ∆i , (3.21) ∂qi víi i=1, 6 tÝnh tõ cét 1 ®Õn cét 6 vµ lÇn l−ît thay T6 b»ng c¸c biÓu thøc tõ (3.16) ®Õn (3.20). B¶n th©n T6 lµ ma trËn biÓu thÞ tr¹ng th¸i ®Þnh vÞ vµ ®Þnh h−íng ®iÓm mót cña ®Çu dß. Nh− ®· biÕt [2], ng−êi ta th−êng biÓu thÞ ma trËn T6 d−íi d¹ng sau ⎡ni si ai pi ⎤ T6 = ⎢ ⎥, (3.22) ⎣ 0 0 0 1 ⎦ trong ®ã vect¬ pi x¸c ®Þnh “ ®Þnh vÞ” cña ®iÓm mót ®Çu dß, cßn c¸c vect¬ ni, si, ai, n»m theo 3 trôc cña hÖ to¹ ®é T6 ®Æt t¹i ®iÓm mót ®Çu dß, sÏ x¸c ®Þnh “ ®Þnh h−íng” cña T6. Khi ®· biÕt ni, si, ai, vµ pi cã thÓ tÝnh c¸c phÇn tö cña c¸c cét Jacobian theo c¸c c«ng thøc sau [4] : 53
- T 6 dix = −nix piy + niy pix T 6 diy = −six piy + siy pix T 6d = −a p + a p iz ix iy iy ix (3.23) T 6 δ ix = niz T 6 δ iy = siz T 6 δ iz = aiz Ch−¬ng tr×nh m¸y tÝnh ®· x©y dùng trªn c¬ së tr×nh tù gi¶i nãi trªn vµ sau khi n¹p vµo c¸c sè liÖu theo b¶ng sau ®©y øng víi tr−êng hîp robot RE (h×nh 3.1) : a2=450mm a3=450mm a4=160m m d1=250mm d2=50mm d3=50mm d4=50m m q1=pi/2 rad q2=pi/3 rad q3=pi/4 q4=pi/2 rad rad B¶ng 3.1: B¶ng sè liÖu cña robot RE-01 ta nhËn ®−îc kÕt qu¶ tÝnh to¸n vÒ ®é di chuyÓn nhá cña robot RE (h×nh 3.3.4) nh− sau: ⎡ 0.0016 − 0.0000 0.0000 0⎤ ⎢− 0.0015 − 0.0004 0.0004 0⎥ dT = ⎢ ⎥ ⎢ 0.0004 − 0.0015 0.0015 0⎥ ⎢ ⎥ ⎣ 0 0 0 0⎦ 54
- 3.2.1. Phương án chế thử Robot RE - 01 Theo phân tích ở trên phỏng theo cơ cấu tay đo của Micro Scribe ta có sơ đồ động robot RE-01 (hình 3.3.4) với 4 bậc tự do là 4 khớp quay. Theo sơ đồ này đã tiến hành tính toán, thiết kế, chế tạo, lắp ráp và tiến hành làm cải tiến thử nghiệm, (Hình 3.3.7). Tuy nhiên do các hạn chế về kỹ thuật như vật liệu, độ chính xác chế tạo, cân bằng, mức ma sát cần thiết của khớp động v.v. mà thiết bị chưa thể vận hành theo yêu cầu được. Qua tìm hiểu về các nguyên nhân dẫn đến sự hạn chế đó, có thể đi đến các nhận xét sau. Hình 3.3.7. Hình chụp Robot RE-01 1) Khi thiết kế cơ cấu cũng đã lưu ý đến vấn đề vật liệu, tuy nhiên với điều kiện cụ thể của thực tế nên không thể có được loại vật liệu titan như mẫu của nước ngoài. Thiết bị lại có yêu cầu cao về tính cứng vững và gia công chính xác nên chất liệu được sử dụng ở đây vẫn chỉ là các hợp kim thông dụng của nhôm và thép. Chính vì vậy làm cho khối lượng của thiết bị 55
- lớn, đặc biệt là các cánh tay có chiều dài khá lớn. Đây là một nguyên nhân làm cho tính ổn định của cơ cấu rất khó có thể đạt được yêu cầu. 2) Do các hạn chế về việc lựa chọn vật liệu như đã trình bày ở phần trên nên vấn đề cân bằng của cơ cấu rất khó khăn. Các cánh tay có chiều đài lớn vì vậy trọng tâm có tay đòn dài, nếu ta sử dụng các đối trọng để cân bằng thì khối lượng đòi hỏi cũng rất lớn, làm cho khối lượng của cả cơ cấu càng lớn hơn. Trong một giới hạn nào đó thì điều này là không thể chấp nhận được. Các phương án cân bằng khác như dùng lực căng của lò xo tại các khớp lại cũng khó có thể hiện thực được chính xác. 3) Như đã biết các khớp động được gắn với các encoder đo góc quay tương đối giữa các khâu. Các encoder này thường có độ nhạy rất lớn nên đòi hỏi các khớp quay cũng không thể quá nhạy, hay nói cách khác các khớp động cần phải có một mức độ ma sát cần thiết để chuyển động tương đối giữa các khâu khi làm việc không quá lớn thì thiết bị mới ghi được chính xác góc quay tương đối này. Vì khối lượng các khâu lớn nên việc tạo ma sát này cũng rất khó khăn. Mẫu khớp động của nước ngoài được chế tạo bằng những vật liệu rất chuyên dụng. 3.2. Thiết kế robot RE -02 3.2 1. Phân tích kết cấu Trong các phần trên ta đã nghiên cứu một phương án kết cấu của robot RE-01, chúng đã thể hiện được các ưu điểm với yêu cầu kỹ thuật về sự linh họat, mềm dẻo của một thiết bị đo. Tuy nhiên với sơ đồ kết cấu của phương án 1 vẫn còn tồn tại những hạn chế kỹ thuật cần được nghiên cứu cải tiến. Ở đây ta tìm hiểu một giải pháp khác về kết cấu nhằm khắc phục những hạn chế của phương án 1. Qua nghiên cứu các sơ đồ động của robot RP của Trung tâm NCKT Tự động hóa ta thấy cơ cấu hình bình hành 56
- pantograph có thể đạt được những yêu cầu đặt ra. Đây là một kết cấu thể hiện nhiều ưu điểm và đã được lựa chọn cho rất nhiều các kết cấu tay máy. Chính vì vậy ta sẽ chọn phương án kết cấu thứ hai này cho Robot RE-02 3.2.2. Thiết kế cơ cấu dạng pantograph Trong những cơ cấu robot công nghiệp, cơ cấu tay máy, người máy tùy theo quan hệ kích thước hình học giữa các khâu và giá trị tọa độ suy min max rộng qi , qi cuả các khớp động mà không gian hoạt động của chúng chiếm những vùng nhỏ khác nhau. Bên cạnh những yếu tố về kết cấu hình động học chúng ta cần xét đến nhiều yếu tố khác nữa như động lực học, cân bằng và ổn định của cơ cấu. Qua phân tích và nghiên cứu các cơ cấu tay máy phỏng sinh của nhiều hãng khác nhau trên thế giới ta thấy được tính ưu viết nổi bật của cơ cấu bình hành pantograph khi dùng làm cơ cấu tay máy phỏng sinh. Vì vậy loại cơ cấu này ngày càng được dùng rộng rãi trong các loại tay máy khác nhau. Với những ưu điểm được khẳng định qua sự lựa chọn của rất nhiều cơ cấu tay máy trên thế giới, nên ở đây ta đi sâu vào nghiên cứu cơ cấu bình hành pantogrph này nhằm tìm ra được một kết cấu phù hợp và tối ưu cho nhiệm vụ thiết kế RE-02 Cơ cấu tay máy dùng patograph thể hiện nhiều ưu điểm như: - Nguồn động lực được bố trí gắn với thân nhưng vẫn đảm bảo chuyển động độc lập của các khâu chấp hành - Đảm bảo đơn giản về kết cấu, linh họat và nhỏ gọn về kích thước - Dễ dàng giữ cân bằng ở các vị trí khác nhau và tiêu hao ít năng lượng - Các khâu đều chuyển động trong cùng mặt phẳng nên các bài toán độc học và động lực học cũng là bài toán phẳng do đó dễ dàng giải quyết. 57
- Qua phân tích về cấu tạo và động học ta nhận thấy với kết cấu như hình 3.4 thì ngoài những ưu điểm chung kể trên nó còn có thêm một tính chất nữa là dễ điều khiển. Tính chất này xuất phát từ đặc điểm là bài toán động học ngược ở đây là bài toán phẳng và có thể điều khiển chuyển dịch của bàn kẹp theo các trục tọa độ bằng một hệ trục tọa độ suy rộng của khớp động. Vị trí và hướng di chuyển của bàn kẹp là sự kết hợp chuyển động tịnh tiến đơn giản của hai con trượt. Miền làm việc của kết cấu này khá rộng và phụ thuộc vào khoảng dịch chuyển của hai con trượt cũng như hệ số khuyếch đại của sơ đồ mà ta sẽ xét cụ thể trong các phần tiếp theo. 3.2.3. Tính toán cơ cấu tay máy pantograph 1. Lựa chọn sơ đồ Với những phân tích về kết cấu tay máy pantograph ở trên ta đi đến quyết định lựa chọn một mô hình kết cấu cho robot RE-02 theo sơ đồ như hình 3.3.8 58
- P Q A b D m z G1 ψ M z0 d G3 G2 B G 4 R V e ϕ . E S2 . C y . S 1 y0 x 0 Hình 3.3.8 Với mô hình kết cấu của robot RE như trên ta có thể xem như bao gồm 3 bộ phận chính đó là: thân đế, các cánh tay và đầu đo. - Phân thân đế Đây là bộ phận đỡ của cơ cấu và làm chuẩn khi robot hoạt động do vậy nó cần phải chính xác đồng thời làm đối trọng của phần cánh tay. Trong phần thân này có một khớp quay quanh trục thẳng đứng vuông góc với mặt đế. Để ghi lại chuyển động quay này trục của khớp sẽ được gắn với một encoder đo góc. Vùng làm việc của robot RE sẽ là phần trụ do miền làm việc hình chữ nhật trong mặt phẳng yz vạch nên khi quay quanh khớp quay của thân. Phần thân robot được liên kết với phần cánh tay bởi 2 khớp trượt E, C. Khớp E có phương trượt nằm ngang dọc trục y và có quan hệ với 59
- phương chuyển động ngang của điểm M theo một quan hệ của kích thước cơ cấu. Tương tự khớp C có một phương trượt thẳng đứng dọc trục z và quyết định đến chuyển động của điểm M theo phương z. Trong robot RE để xác định khoảng trượt của các con trượt E và C ta dùng một bộ truyền bánh răng - thanh răng. Các con trượt gắn liền với các thanh răng. Khi thanh răng di chuyển sẽ làm quay bánh răng và quan hệ giữa hai chuyển động đó sẽ được tính qua bán kinh vòng lăn r1 của bánh răng. Giả sử gọi khoảng trượt của thanh răng là S ứng với góc quay của bánh răng là ϕ(rad) thì khi đó ta có quan hệ: S = rL. ϕ. Trong công thức này rL là hoàn toàn xác định qua kích thước bộ truyền, do vậy S sẽ phụ thuộc vào ϕ, S = S(ϕ). Để xác định S ta phải xác định được góc quay của bánh răng ϕ bằng cách gắn vào trục quay của bánh răng đó một encoder đo góc. - Bộ phân cánh tay với cấu trúc pantogarph Trong phần này tâm điểm là cấu trúc hình bình hành ABCD có các khớp quay tại các góc A, B, C, D. Ba điểm E, C, M thẳng hàng. Với những quan hệ hình học nhất định của cơ cấu mà ta sẽ xét cụ thể trong phần sau thì khi cơ cấu hoạt động các điểm đo vẫn luôn thẳng hàng. Bên cạnh đó tùy thuộc vào tỷ lệ hình học của hình bình hành ta sẽ xác định được vị trí của điểm M khi biết vị trí của các con trượt E, C. - Phần đầu đo Đây là bộ phận cuối cùng, nó chứa điểm tác động cuối là đầu đo của robot. Khâu này được nối với phần cánh tay bởi một khớp quay có gắn encoder ghi lại chuyển động quay của đầu đo. 2. Miền làm việc của robot RE-02 60
- Miền làm việc của robot là khoảng không gian mà điểm tác động cuối của tay máy có thể thao tác được. Đối với robot RE-02 thì điểm tác động cuối chính là đầu dò T. Như vậy miền làm việc của robot sẽ phụ thuộc vào độ linh họat cũng như kết cấu hợp lý của nó. Độ hình hoạt ở đây phụ thuộc vào số bậc tự do của cơ cấu robot, khi số bậc tự do càng lớn đồng nghĩa với sự linh hoạt càng cao nhưng đồng thời cũng kéo theo số khâu động tăng lên, làm tăng độ phức tạp về kết cấu và chế tạo. Với robot RE-02 đã có sơ đồ lược ta sẽ tìm và lựa chọn miền làm việc của nó. - Trước tiên ta xét miền làm việc của cơ cấu pantograph. Như ta đã biết ở phần trên, cơ cấu pantograph có hệ số khuyếch đại theo chiều y và z trong mặt phẳng làm việc yz của nó là Ky và Kz. Nếu khoảng di trượt của hai con trượt E, C theo trục y và z là hai cạnh của một hình chữ nhật có độ dài Sy và Sz thì ta dễ dàng nhận thấy miền làm việc của cơ cấu là một miền hình chữ nhật PQVR có độ dài PQ = Ky. Sy và QV = Kz.Sz (hình 3.3.9). Còn nếu vì một lí do nào đó giả sử như bị khống chế bởi kết cấu mà khoảng trượt của E và C không đi hết chiều dài các cạnh hình chữ nhật thì khi đó miền làm việc của cơ cấu sẽ là một miền chữ nhật bị khuyết góc (hình 3.3.10). Thật vậy: Gọi vị trí biên của con trượt C là C0 và C1 ứng với vị trí thấp nhất và cao nhất của con trượt C. Vị trí biên của con trượt E là E0 và E1 ứng với vị trí cận phải và cận trái của con trượt E. Như vậy hành trình của hai con trượt C và E sẽ là C0C1 = Sz và E0E1 = Sy. - Khi E0 = C0 và BC + BE ≥C1E1 thì ta sẽ có C0C1 và E0E1 là hai cạnh của một hình chữ nhật. Ta chứng minh trong trường hợp này miền làm việc của 61
- cơ cấu pantograph là hình chữ nhật PQVR có độ dài PQ = Ky.Sy và QV = Kz. Sz (hình 3.5) Xét vị trí ban đầu của các con trượt tại vị trí biên E0, C0. Khi đó ta dễ dàng nhận thấy điểm M cũng trùng với các điểm E0, C0 và đó cũng chính là vị trí biên đầu tiên R của miền làmviệc. Cố định con trượt C ở vị trí C0, cho con trượt E di chuyển từ E0 đến E1 làm cho điểm tác động cuối M di chuyển từ R đến V dọc theo trục y (RV ≡ Oy và RV = Ky . Sy). Tiếp theo, cố định con trượt E ở vị trí E1 và cho con trượt C di chuyển từ vị trí C0 đến C1 khi đó điểm M sẽ di chuyển từ V đến Q (VQ // Oz và VQ = Kz.Sz). Cố định con trượt C ở vị trí C1 đến C0, khi đó điểm M sẽ di chuyển từ P đến R (PR ≡ Oz và PR = Kz.Sz). Như vậy kết thúc một chu kì di chuyển độc lập của các con trượt E và C ta thu được giới hạn biên miền làm việc PQVR của cơ cấu pantograph. Phối hợp chuyển động của cả hai con trượt thì điểm M sẽ quét hết toàn bộ miền làm việc PQVR. Khi chu kỳ của các con trượt khép kín và gặp nhau tại một điểm chung E0 ≡ C0 thì ta thu được miền làm việc là miền chữ nhật PQVR. z A D Q P B C1 Sz R E C V y E1 Sy 0, 0 Hình 3.3.9 62
- - Khi E0 ≠ C0 và BC + BE ≥ C1E1 thì ta sẽ có tam giác OC0E0 vuông tại O. Chứng minh tương tự phần trên ta cũng có miền làm việc của cơ cấu pantograph là hình chữ nhật PQVR có độ dài PQ = Ky. Sy và QV = KzSz (hình 3.6). Tuy nhiên điểm R bây giờ không còn trùng với gốc O nữa mà nó có toạ độ yR = │O.E0│.Ky, zR│O.C0 │.Kz z P Q A D M V C1 R B C Sz E C0 E 1 y E0 O Sy Hình 3.3.11 Trong thực tế ta còn thường gặp trường hợp không những E0 ≠C0 mà còn xảy ra tình huống giới hạn về cấu trúc hình học của cơ cấu như BC + BE ≤C1E1. Điều này làm cho hai con trượt không thể đồng thời cùng đạt đến được vị trí biên xa nhất E1 và C1, nghĩa là điểm tác động cuối M không thể với tới góc xa nhất Q của hình chữ nhật như trong các trường hợp trên. Phần góc của miền làm việc bị khuyết đi sẽ có dạng một hình tam giác vuông với cạnh huyền cong lõm. Độ dài của hai cạnh góc vuông có độ lớn là tích của hệ số khuyếch đại với khoảng di chuyển của hai con trượt C và E từ C1 đến C2 và từ E2 đến E1 khi cơ cấu duỗi thẳng hoàn toàn (hình 3.3.11). C2 là vị trí của con trượt C khi cơ cấu duỗi thẳng và con trượt E ở vị trí E1, 63
- tương tự E2 là vị trí của con trượt E khi cơ cấu duỗi thẳng và con trượt C ở vị trí C1 |QQ1| = KY.|E1E2| |QQ2| = KZ.|C1C2| §©y lµ tr−êng hîp gÆp ph¶i cña robot RE bëi v× c¸c thanh tr−ît cïng n»m trªn mét mÆt ph¼ng nªn nã sÏ bÞ giíi h¹n vÒ kho¶ng tr−ît, do vËy miÒn lµm viÖc còng cã d¹ng nh− h×nh 3.3.11 z P Q Q 1 M Q 2 C 1 C C R V C2 E E E E O0 y 1 2 0 H×nh 3.3.12 Trong robot RE phÇn c¸nh tay cã kÕt cÊu pantograph cßn ®−îc liªn kÕt víi phÇn th©n ®Õ b»ng hai khíp tr−ît E, C vµ phÇn ®Çu ®o t¹i ®iÓm M b»ng mét khíp quay víi trôc quay song song víi c¸c trôc quay cña c¬ cÊu pantograph. Do vËy miÒn lµm viÖc xÐt trong mÆt ph¼ng yz cña robot RE (P’Q’V’R’) sÏ lµ miÒn lµm viÖc cña c¬ cÊu pantograph (PQVR) nh−ng ®−îc më réng thªm ra mét kho¶ng b»ng víi chiÒu dµi cña ®Çu ®o theo ph−¬ng ph¸p tuyÕn (h×nh 3.3.12) 64
- P' Q'1 nn ph−¬ng ph¸p tuyÕn ®−êng biªn z P Q1 n n M Q'2 Q2 T R V C SzR' V' E y Sy H×nh 3.3.12 P’Q’V’R’ lµ miÒn lµm viÖc cña Z robot RE xÐt trong mÆt ph¼ng yz P Q chøa c¬ cÊu pantograph. Bªn c¹nh ®ã mÆt ph¼ng nµy l¹i ®−îc quay quanh mét khíp b¶n lÒ cña V th©n robot cã ®−êng trôc Oz0 R O th¼ng ®øng. Do vËy miÒn lµm viÖc cña robot RE sÏ lµ miÒn mÆt Hình 3.3.13 trô rçng do mÆt P’Q’V’R’ quÐt nªn khi quay quanh Oz0 (H×nh 3.3.13). §Ó thiÕt kÕ robot RE ta lùa chän s¬ bé miÒn lµm viÖc cña nã nh− sau: (h×nh 3.3.14) P’Q’ = 700 (mm); P’R’ = 1250 (mm) R’V’ = 1200 (mm); V’F’ = 500 (mm) R’G’ = 1300 (mm); R’H’ = 1400 (mm) 65
- 70 P' Q' H' G' 125 140 F' 130 50 R' V' 120 H×nh 3.3.14 3- HÖ to¹ ®é cña robot RE-02 a) VÞ trÝ xuÊt ph¸t (vÞ trÝ kh«ng). §©y lµ vÞ trÝ cña robot tr−íc khi ®−îc khëi ®éng ®Ó lµm viÖc, nã ®−îc xem nh− lµ vÞ trÝ kh«ng cña c¸c biÕn khíp. Khi ®ã ®Çu ®o lu«n ë mét vÞ trÝ cè ®Þnh (X0 ,Y0 , Z0) trong hÖ to¹ ®é Oxyz g¾n liÒn víi phÇn c¸nh tay cña robot. HÖ to¹ ®é nµy cã gèc O lµ giao hai ®−êng tr−ît cña hai con tr−ît E vµ C, trôc Oy däc theo ®−êng tr−ît cña con tr−ît E, trôc Oz däc theo ®−êng tr−ît cña con tr−ît C. ë vÞ trÝ kh«ng c¸c encoder còng sÏ ë vÞ trÝ gèc xuÊt ph¸t, tÊt c¶ ®Òu cã trÞ sè b»ng kh«ng. Ng−êi thiÕt kÕ sÏ quyÕt ®Þnh vÞ trÝ kh«ng nµy tuú thuéc vµo kÕt cÊu vµ c¸c ®iÒu kiÖn kh¸c cña robot nh− tÝnh æn ®Þnh vÞ trÝ, dÔ dµng x¸c ®Þnh c¸c quan hÖ h×nh häc, ChÝnh v× vËy trong tr−êng hîp nµy t¸c gi¶ ®−a ra mét lùa chän vÞ trÝ kh«ng lµ khi hai con tr−ît ë vÞ trÝ biªn thÊp nhÊt vµ ®Çu dß h−íng th¼ng ®øng xuèng d−íi (h×nh 3.11). Víi kÕt cÊu b×nh hµnh cña robot th× ®©y sÏ lµ mét vÞ trÝ c©n b»ng bÒn cña nã do vËy rÊt dÔ dµng cho viÖc æn ®Þnh cña vÞ trÝ kh«ng nµy. Ta sÏ ®i x¸c ®Þnh c¸c quan hÖ h×nh häc vµ to¹ ®é (X0 ,Y0 , Z0) cña ®Çu dß T ë vÞ trÝ kh«ng nµy. Sau khi khëi ®éng m¸y nÕu ta di chuyÓn ®Çu dß sÏ lµm cho c¸c khíp quay vµ tÞnh tiÕn cña c¬ cÊu dÞch chuyÓn, dÉn ®Õn lµm quay trôc cña c¸c encoder rêi khái vÞ trÝ kh«ng vµ c¸c gãc quay b¾t ®Çu ®−îc tÝnh. NÕu ta nhÊc tay quay ra khái vÞ trÝ kh«ng tr−íc khi bËt m¸y th× vÞ trÝ cña ®Çu dß ch−a 66
- ®−îc x¸c ®Þnh tr−íc khi c¸c encoder ®Õm sè xung ®Ó ®o gãc, do ®ã sÏ kh«ng thÓ tÝnh ra ®−îc chÝnh x¸c vÞ trÝ cña ®Çu dß khi lµm viÖc. V× vËy mét ®iÒu ®Æc biÖt cÇn ph¶i l−u ý khi thao t¸c m¸y lµ lu«n ph¶i ®Ó m¸y ë vÞ trÝ kh«ng quy ®Þnh tr−íc khi khëi ®éng cho m¸y lµm viÖc. ψ a h Z 0 T y0 a Y ϕ C zc R q1 y E y E Y 0 X x H×nh 3.3.15 b) HÖ to¹ ®é cña chi tiÕt. HÖ to¹ ®é cña chi tiÕt do ng−êi sö dông ®Æt ra, nã cã thÓ n»m trªn hoÆc n»m bªn ngoµi chi tiÕt, tÊt c¶ to¹ ®é ®iÓm ®o cña chi tiÕt sÏ ®−îc x¸c ®Þnh theo hÖ to¹ ®é nµy. ViÖc ®Æt hÖ to¹ ®é chi tiÕt chØ lµ sù chuyÓn ®æi tõ hÖ to¹ ®é m¸y b»ng nh÷ng phÐp quay vµ tÞnh tiÕn vÒ hÖ to¹ ®é mµ ta ®Þnh nghÜa. Tuy nhiªn viÖc ®Æt hÖ to¹ ®é chi tiÕt nhiÒu khi lµ rÊt cÇn thiÕt vµ kh«ng thÓ thiÕu ®−îc, vÝ dô nh− khi ®o c¸c chi tiÕt qu¸ lín, n»m ngoµi vïng lµm viÖc cña robot, ta chia chi tiÕt ra lµm nh÷ng phÇn nhá, mçi phÇn sÏ quy 67
- ®Þnh mét ®iÓm lµm gèc to¹ ®é cña hÖ to¹ ®é chi tiÕt cña phÇn ®ã. Sau ®ã ta ®o tõng phÇn riªng biÖt råi ghÐp chóng l¹i nhê c¸c hÖ to¹ ®é ®· ®Æt. Gi¶ sö trªn h×nh 3.3.15 lµ vÞ trÝ kh«ng cña robot víi hÖ to¹ ®é gèc lµ (Ox0y0z0). Gäi vÞ trÝ kh«ng cña ®Çu dß trong hÖ to¹ ®é Oxyz lµ (X0 ,Y0 ,Z0). ë vÞ trÝ nµy to¹ ®é cña c¸c con tr−ît E , C lµ yE vµ zC Theo quan hÖ h×nh häc cña robot ta cã: X0 = 0 Y0 = a(cosϕ - cosψ) + yE (3.24) Z0 = a(sinϕ - sinψ) – h Víi c¬ cÊu ®· ®−îc thiÕt kÕ hoÆc ®· tån t¹i th× c¸c kÝch th−íc ®éng häc, vÞ trÝ cña c¬ cÊu lµ hoµn toµn x¸c ®Þnh, nghÜa lµ c¸c th«ng sè h×nh ®éng häc c«ng thøc (3.1) lµ ®· biÕt hoÆc dÔ dµng ®o ®¹c, tÝnh to¸n ®−îc khi thiÕt kÕ c¬ cÊu. Khi robot lµm viÖc c¸c encoders sÏ cho trÞ sè c¸c gãc quay q1, q2, q3, q4. Trong ®ã q2 vµ q3 sÏ ®−îc chuyÓn ®æi thµnh chuyÓn ®éng tÞnh tiÕn cña c¸c thanh r¨ng. q2 Æ S2 = rL.q2 (3.25) q3 Æ S3 = rL.q3 (3.26) rL - b¸n kÝnh vßng l¨n cña b¸nh r¨ng trong bé truyÒn b¸nh r¨ng – thanh r¨ng. Ta tÝnh vÞ trÝ ®Çu dß (X,Y,Z) trong qu¸ tr×nh lµm viÖc cña robot trong hÖ to¹ ®é gèc Ox0y0z0. R = Y0 – kyS2 + h.sinq4 (3.27) X = R.sinq1 Y = R.cosq1 (3.28) Z = Z0 – kzS3 + h.cosq4 68
- 4- C¸c th«ng sè kÝch th−íc. * Quan hÖ kÝch th−íc tèi −u. Trªn h×nh 3.4 ta ký hiÖu nh− sau: MD = m, AD = b, AB = d, EB = e, e + d = a, b + m = l C¸c kÝch th−íc ph¶i ®¶m b¶o quan hÖ sau: a l e b = Æ = (3.29) d m d m Víi ®Æc ®iÓm bµi to¸n ph¼ng cña c¬ cÊu pantograph nªn ®Ó xÐt chuyÓn vÞ ta sÏ g¾n vµo c¬ cÊu mét hÖ to¹ ®é §Òc¸c Oxyz cã trôc Oy n»m däc theo ®−êng tr−ît cña con tr−ît E vµ trôc Oz n»m däc theo ®−êng tr−ît cña con tr−ît C (h×nh 3.3.15). Nh− vËy c¸c kh©u cña phÇn c¬ cÊu pantograph sÏ chuyÓn ®éng trong mÆt ph¼ng Oyz, mÆt ph¼ng nµy l¹i ®−îc quay quanh mét khíp b¶n lÒ lµ th©n ®Õ cña robot g¾n víi hÖ trôc to¹ ®é cè ®Þnh x0 y0 z0 XÐt trong hÖ to¹ ®é Oxyz víi h×nh chiÕu cña c¸c ®iÓm M, E trªn trôc Oy lÇn l−ît lµ yM vµ yE , h×nh chiÕu cña c¸c ®iÓm M, C trªn trôc Oz lÇn l−ît lµ zM vµ zC . Qua c¸c quan hÖ h×nh häc ta cã: yM CM m = = = KY (3.30) yE CE b zM EM l = = = K Z (3.31) zC EC b Tõ (3.25) vµ (3.26) ta thÊy khi con tr−ît E di chuyÓn mét ®o¹n ∆E th× lµm cho ®iÓm M di chuyÓn mét kho¶ng lµ ∆MY = KY .∆E theo ph−¬ng y, con tr−ît C di chuyÓn mét ®o¹n ∆C th× lµm cho ®iÓm M di chuyÓn mét kho¶ng lµ ∆MZ = KZ.∆C theo ph−¬ng z, thËt vËy ta cã: yM + ∆MY = KY(yE + ∆E) = KY .yE + KY .∆E KÕt hîp (3.20) Æ ∆MY = KY .∆E (3.32) zM + ∆MZ = KZ(zC + ∆C) = KZ .zC + KZ .∆C 69
- KÕt hîp (3.21) Æ ∆MZ = KZ.∆C (3.33) Do vËy KY vµ KZ ®−îc gäi lµ hÖ sè khuÕch ®¹i theo chiÒu y vµ theo chiÒu z l b + m m K = = = 1+ = 1+ K (3.34) Z b b b y m = b.KY , d = e.KY (3.35) d e §Æt = = n (3.36) m b Gäi vÞ trÝ xa nhÊt cña M lµ M’ vµ gi¶ thiÕt c¬ cÊu cã thÓ duçi th¼ng th× con tr−ît E ë vÞ trÝ E’, khi ®ã: L = E’M’ = m + d + b + e = b(1 + n)(1 + KY) (3.37) Trong tr−êng hîp c¬ cÊu kh«ng cho phÐp duçi th¼ng hoµn toµn th× gäi ∆ lµ ®é dµi phÇn kh«ng duçi th¼ng hÕt vµ ®Æt: L = L + ∆ (3.38) Bµi to¸n x¸c ®Þnh kÝch th−íc c¬ cÊu nhá gän nhÊt ®èi víi vïng lµm viÖc PQVR (h×nh 3.3.8) cho biÕt tr−íc cã thÓ ®Æt ra nh− sau: Cho M’ trïng víi ®iÓm xa nhÊt cña vïng lµm viÖc, vÝ dô ®iÓm Q (h×nh 3.3.8) vµ ®Æt hµm môc tiªu lµ: F = b(1 + n)(1 + KY) - L (3.38) NÕu ta ®Æt: x1 = b, x2 = n, x3 = KY th× F = x1(1 + x2)(1 + x3) - L (3.39) NhiÖm vô lµ ph¶i chän bé th«ng sè x1, x2, x3 sao cho Fmin . §©y lµ mét d¹ng bµi to¸n tèi −u ®¬n gi¶n vµ cã nhiÒu ch−¬ng tr×nh m¸y tÝnh gi¶i bµi to¸n tèi −u lo¹i nµy. Tõ h×nh ta dÔ dµng thiÕt lËp ®−îc c¸c quan hÖ sau: yE = - ecosϕ - bcosψ (3.40) zC = esinϕ - bsinψ (3.41 NÕu lÊy n = 1 (tøc lµ x2 = 1) tõ ph−¬ng tr×nh (3.2) cã e = b, do ®ã: 70
- yE = - b(cosϕ + cosψ) (3.42) zC = b(sinϕ - sinψ) (3.43) 5- Lùa chän c¸c kÝch th−íc ®éng häc cña robot RE. XuÊt ph¸t tõ yªu cÇu lµm viÖc, miÒn lµm viÖc nh− ®· ®Ò cËp ë phÇn trªn ta sÏ ph©n bè vµ lùa chän c¸c th«ng sè kÝch th−íc Víi kÕt cÊu ®· thiÕt kÕ ta cã c¸c th«ng sè kÝch th−íc nh− sau: rL = 5,93 (mm) YE = -169 (mm) ZC = 27 (mm) a = 600 (mm) h = 202 (mm) ϕ = 40,23960 ψ = 157,91470 Ky = 5 Kz = 6 Thay c¸c gi¸ trÞ kÝch th−íc vµo c«ng thøc (3.14) ta cã vÞ trÝ ®iÓm kh«ng lµ: X0 = 0 Y0 = 845 (mm) (3.45) Z0 = -40 (mm) Khi robot lµm viÖc ®Çu ®o T xuÊt ph¸t tõ ®iÓm kh«ng cã to¹ ®é (X0,Y0,Z0) theo c«ng thøc (3.35) vµ di chuyÓn ®Õn mét vÞ trÝ bÊt k× cã to¹ ®é (X, Y, Z). Gi¸ trÞ to¹ ®é ®iÓm nµy sÏ ®−îc x¸c ®Þnh cô thÓ th«ng qua c¸c c«ng thøc tõ (3.15) ®Õn (3.18) 3.2.3.4. Encoder của robot RE Trong phần cứng của robot RE-02 bên cạnh các kết cấu cơ khí hình thành nên các tay đo còn có một thành phần hết sức quan trọng khác nữa đó là 4 encoders dung để đo góc quay chuyển vị tương đối của khớp động. Sau 71
- đây ta sẽ phân tích và tìm hiểu một số loại encoder đo góc để lựa chọn cho robot RE-02 Trên thị trường ngày nay tồn tại rất nhiều các chủng loại encoder phục vụ rất nhiều những công việc thuộc các lĩnh vực khác nhau. Chúng được cung cấp bởi rất nhiều hãng nổi tiếng. Ở đây ta sẽ nghiên cứu và chọn lựa các loại encoder của hãng OMRON Nhật Bản, vì rất nhiều ưu điểm nổi bật của nó như: tính chuyên nghiệp, sự đa dạng về chủng loại, kích thước, kết cấu nhỏ gọn. Đối với loại encoder quay ta có thể gặp những versions như: E6A2, E6B2, E6C2, E6CB, E6F hầu như đều có một nguyên lý cấu tạo chung. Qua nghiên cứu về các đặctính kinh tế kỹ thuật ta đi đến lựa chọn loại encoder E6B2 với độ phân giải 1000 xung/ một vòng quay. Hình 3.3.16. Hình chụp Robot RE-02 72
- 3.3. Tính toán về độ chính xác của robot RE – 02 3.3.1 Tổng quan về sai số phép đo dùng cơ cấu tay đo Khi tiến hành bất kỳ một phép đo nào, ta cũng phải luôn luôn quan tâm đến mức độ chính xác của phép đo bởi vì kết quả đo chỉ cho ta một giá trị gần đúng với giá trị thực của đại lượng đo. Mặc dù máy có chính xác đến đâu phương pháp đo có tốt đến mấy, người sử dụng có cẩn thận thế nào đi chăng nữa thì phép đo vẫn tồn tại một sai số nhất định. Sai số của phép đo là sai lệch giữa giá trị chỉ thị đọc được và giá trị thực của đại lượng đo, nó phản ánh mức độ chính xác của phép đo. Sai số đo càng nhỏ thì độ chính xác của phép đo càng cao, kết quả đo được càng gần với giá trị thực của đại lượng đo và ngược lại. Chỉ khi biết rõ sai số đo hay phạm vi xuất hiện của sai số đo thì kết quả đo được mới có ý nghĩa. Tổng quát sai số đo được chia làm hai thành phần. - Sai số hệ thống: Là loại sai số có trị số và dấu nhất định, biến thiên theo quy luật ví dụ như sau số do chế tạo, lắp ráp, điều chỉnh; sai số do điều kiện đo: nhiệt đọ, áp suất sai số do sơ đồ cấu tạo của dụng cụ đo như cơ cấu culit, bình hành Khi thao tác đo nguyên nhân gây ra sai số hệ thống hoàn toàn xác định được, ta cần nắm được cách tính toán sai số hệ thống về trị số, dấu và nắm được quy luật xuất hiện để có phương pháp giảm thấp hoặc khử bỏ ra khỏi kết quả đo. - Sai số ngẫu nhiên Là loại sau số do những nguyên nhân có tính ngẫu nhiên gây ra, chưa biết chắc nguyên nhân gây ra sai số, độ lớn, dấu và cả quy luật biến thiên của nó. Sai số này được phát hiện bằng cách lắp đi lặp lại nhiều lần phép đo 73
- với mọi điều kiện đo như nhau. Chỉ có thể dự đoán khả năng gây ra sai số, ví dụ như sai số do khe hở khớp động, do các sai số hình dáng hoặc vị trí của các khâu trong dụng cụ đo. Có hai phương pháp đo: - Đo trực tiếp: Là phương pháp đo mà giá trị của đại lượng đo được xác định trực tiếp không phải tính toán thông qua các đại lượng khác, ví dụ dùng thước thẳng, thước cặp đo chiều dài, đường kính, . của chi tiết. - Đo gián tiếp Là phương pháp đo mà giá trị của đại lượng đo phải tính toán thông qua các đại lượng đo trực tiếp khác. Robot RE chỉ cho ta toạ độ các điểm đầu đo từ đó tính toán các thông số hình học của chi tiết đó thông qua toạ độ các điểm đo, do đó mắc phải sai số đo gián tiếp. Bên cạnh đó nó còn chứa đựng các yếu tố sai số của bản thân dụng cụ đo là robot RE. Đây cũng là một yếu tố rất quan trọng gây nên sai số của phép đo. Để làm rõ yếu tố sai số này ta sẽ đi tìm hiểu các nguyên nhân gây nên sai số của robot RE. 3.3.2. Tính toán sai số của robot RE Xét sơ đồ kết cấu robot R như hình 3.4. Đứng trên phương diện về sai số của cơ cấu ta có thể phân tích các yếu tố cấu thành như sau: - Gãc quay cña c¸c encoders ϕ1 , ϕ2 , ϕ3 , ϕ4 - C¸c kÝch th−íc ®éng häc cña c¬ cÊu. - CÊu tróc b×nh hµnh cña c¬ cÊu. 3. 3.2.1- Sai sè gãc quay cña encoder. 74
- C¸c gãc quay ϕi cña encoder chøa sai sè hÖ thèng do b¶n th©n encoder g©y ra. §ã chÝnh lµ c¸c sai sè do chÕ t¹o, l¾p r¸p, gi·n në nhiÖt cña encoder. Bªn c¹nh ®ã c¸c gãc ϕi cßn chøa ®ùng sai sè ngÉu nhiªn nh− lµ sai sè nhá h¬n mét v¹ch chia cña ®Üa kÝnh. VÝ dô ®Üa kÝnh ®−îc chia lµm 360 v¹ch nghÜa lµ mçi v¹ch t−¬ng øng víi 10, do vËy nÕu ®Üa kÝnh quay mét gãc nhá h¬n 10 th× encoder sÏ kh«ng cã kh¶ n¨ng x¸c ®Þnh ®−îc gãc quay ®ã. Khi thiÕt kÕ ta ph¶i lùa chän chñng lo¹i encoder phï hîp víi c¸c yªu cÇu vÒ tÝnh chÝnh x¸c, tÝnh kinh tÕ kü thuËt nh»m tèi −u ho¸ s¶n phÈm. 3.3.2.2- Sai sè do cÊu tróc cña robot RE. Trong robot RE ngoµi nh÷ng sai sè do hÖ thèng c¸c encoder g©y nªn th× mét nguyªn nh©n chÝnh yÕu vµ hÕt søc quan träng n÷a ®ã lµ sai sè do gia c«ng chÕ t¹o. C¬ cÊu cµng phøc t¹p th× ®é chÝnh x¸c gia c«ng cµng thÊp, nhÊt lµ trong ®iÒu kiÖn kinh tÕ vµ kü thuËt cña n−íc ta. Víi c¬ cÊu b×nh hµnh pantograph ta thÊy xuÊt hiÖn nh÷ng nguyªn nh©n g©y nªn sai sè nh−: - Sai sè c¸c kÝch th−íc ®éng häc vÝ dô nh− sai sè vÒ kÝch th−íc c¸c c¹nh h×nh b×nh hµnh. - Sai sè vÒ kho¶ng dÞch chuyÓn cña c¸c con tr−ît E, C trong ®ã bao gåm sai sè bé truyÒn b¸nh r¨ng – thanh r¨ng (con tr−ît). Sau ®©y ta ®i tÝnh to¸n c¸c sai sè cña robot RE. 3.3.2.3- TÝnh to¸n sai sè. C¬ cÊu thay thÕ. Víi nguyªn nh©n g©y nªn sai sè thø nhÊt ®· nªu, ®ã lµ sai sè vÒ kÝch th−íc ®éng häc cña c¬ cÊu b×nh hµnh. §Ó thuËn tiÖn cho viÖc tÝnh sai sè vÒ c¬ cÊu nµy ta cã thÓ thay thÕ b»ng mét c¬ cÊu hë t−¬ng ®−¬ng. Nguyªn t¾c thay thÕ t−¬ng ®−¬ng cã thÓ ®−îc hiÓu lµ: c¬ cÊu thay thÕ cã miÒn lµm viÖc t−¬ng ®−¬ng víi miÒn lµm viÖc cña c¬ cÊu ®−îc thay thÕ. Trªn nguyªn t¾c 75
- ®ã ë ®©y ta sÏ thay thÕ c¬ cÊu b×nh hµnh b»ng mét c¬ cÊu hë cã 3 tay quay (h×nh 3.15) vµ ®i xÐt sai sè cña c¬ cÊu thay thÕ nµy. Sai sè cña mét tay quay (h×nh 3 3.17) XÐt mét tay quay víi chiÒu dµi l ë vÞ trÝ cã gãc quay ϕ. NÕu sai sè gãc quay lµ ∆ϕ th× sai sè cña ®Çu tay quay lµ mét ®¹i l−îng ∆l ≈ l. ∆ϕ ChiÕu sai sè lªn trôc x ta cã: ∆x = l.cos(ϕ + ∆ϕ) – l.cosϕ = l(cos(ϕ + ∆ϕ) – cosϕ) ≈ l. sinϕ. ∆ϕ (3.46) Chia hai vÕ cho ∆ϕ ta cã: ∆x/∆ϕ = l.sinϕ hay x’ϕ = l.sinϕ ChiÕu sai sè lªn trôc y ta cã: ∆y = l.sin(ϕ + ∆ϕ) – l.sinϕ = l(sin(ϕ + ∆ϕ) – sinϕ) ≈ l. cosϕ. ∆ϕ (3.47) Chia hai vÕ cho ∆ϕ ta cã: ∆y/∆ϕ = l.cosϕ hay y’ϕ = l.cosϕ y A l ∆ϕ ϕ O x H×nh 3.3.17 HoÆc ta cã thÓ viÕt l¹i nh− sau: ∂x ∂y ∆x = ∆ϕ ; ∆y = ∆ϕ (3.48) ∂ϕ ∂ϕ Sai sè do mçi tay quay g©y nªn cã gi¸ trÞ kh«ng ®æi l. ∆ϕ. Khi tæ hîp 76
- nhiÒu tay quay, v× mçi tay quay ë c¸c vÞ trÝ kh¸c nhau nªn sai sè chiÕu lªn c¸c ph−¬ng kh¸c nhau vµ tæ hîp c¸c sai sè phô thuéc vÞ trÝ c¸c tay quay, tøc lµ phô thuéc vµo gãc gi÷a c¸c tay quay víi c¸c trôc. Sai sè cña hÖ hai tay quay. XÐt hai tay quay trong mÆt ph¼ng víi chiÒu dµi l1 , l2 t−¬ng øng cã vÞ trÝ ϕ1 , ϕ2 (h×nh 3.3.18) y B l 2 A ϕ2 l 1 ϕ1 O x H×nh 3.3.18 C¸c h×nh chiÕu cña ®iÓm cuèi trªn c¸c trôc lµ: x = l1cosϕ1 + l2cosϕ2 (3.49) y = l1sinϕ1 + l2sinϕ2 (3.50) ∂x ∂x ∆x = ∆ϕ1 + ∆ϕ 2 (3.51) ∂ϕ1 ∂ϕ 2 ∂y ∂y ∆y = ∆ϕ1 + ∆ϕ 2 (3.52) ∂ϕ1 ∂ϕ 2 ∆x = -l1 sinϕ1∆ϕ1 - l2 sinϕ2∆ϕ2 (3.53) ∆y = l1 cosϕ1∆ϕ1 - l2 cosϕ2∆ϕ2 (3.54) Sai sè cña c¬ cÊu lµ: ∆ = ∆x2 + ∆y2 (3.55) 77
- Trong biÓu thøc trªn ta thÊy l1 , l2 , ∆ϕ1 , ∆ϕ2 lµ nh÷ng ®¹i l−îng ®· biÕt tr−íc. Khi ϕ1 , ϕ2 thay ®æi th× ∆x , ∆y thay ®æi. Sai sè lín nhÊt t¹i c¸c ®iÓm øng víi vÞ trÝ ϕ1 = ϕ2 , tøc lµ c¸c tay quay cïng n»m trªn mét ®−êng th¼ng. Sai sè cña hÖ ba tay quay. XÐt tr−êng hîp ba tay quay l1 , l2 , l3 t−¬ng øng cã vÞ trÝ ϕ1 , ϕ2 , ϕ3 (h×nh 3.15) y B l 2 ϕ3 l A ϕ2 3 C l 1 ϕ1 O x H×nh 3.3.19 x = l1cosϕ1 + l2cosϕ2+ l3cosϕ3 (3.56) y = l1sinϕ1 + l2sinϕ2+ l3sinϕ3 (3.57) ∂x ∂x ∂x ∆x = ∆ϕ1 + ∆ϕ 2 + ∆ϕ 3 (3.58) ∂ϕ1 ∂ϕ 2 ∂ϕ 3 ∂y ∂y ∂y ∆y = ∆ϕ1 + ∆ϕ 2 + ∆ϕ 3 (3.59) ∂ϕ1 ∂ϕ 2 ∂ϕ 3 ∆x = -l1 sinϕ1∆ϕ1 - l2 sinϕ2∆ϕ2 - l3sinϕ3∆ϕ3 (3.60) ∆y = l1 cosϕ1∆ϕ1 - l2 cosϕ2∆ϕ2 + l3cosϕ3∆ϕ3 (3.61) Sai sè cña c¬ cÊu lµ: ∆ = ∆x2 + ∆y2 (3.62) 78
- Sai sè lín nhÊt t¹i c¸c ®iÓm øng víi vÞ trÝ ϕ1 = ϕ2 = ϕ3 , tøc lµ c¸c tay quay cïng n»m trªn mét ®−êng th¼ng. ∆ = l1 ∆ϕ1 + l2 ∆ϕ2 + l3 ∆ϕ3 (3.63) Sai sè cña c¬ cÊu pantograph XÐt c¬ cÊu pantograph (h×nh 3.16) víi hai con tr−ît E, C theo c¸c ph−¬ng y vµ z. HÖ sè khuyÕch ®¹i cña c¬ cÊu lÇn l−ît lµ KY vµ KZ , KZ = 1+KY. Gäi sai sè dÞch chuyÓn cña hai con tr−ît lµ ∆E , ∆C . Ta tÝnh sai sè cña ®iÓm cuèi M : ∆M z M C Sc y E S E H×nh 3.3.20 Tr−êng hîp chØ riªng con tr−ît E di chuyÓn, khi ®ã ®iÓm M sÏ di chuyÓn theo ph−¬ng y vµ gäi sai sè cña M lµ ∆Y , ta cã quan hÖ gi÷a kho¶ng dÞch chuyÓn cña ®iÓm cuèi M (SMY) vµ kho¶ng tr−ît cña E (SE) nh− sau: SM + ∆Y = KY(SE + ∆E) Nh− vËy ∆Y = KY ∆E Tr−êng hîp chØ riªng con tr−ît C di chuyÓn, khi ®ã ®iÓm M sÏ di chuyÓn theo ph−¬ng z vµ gäi sai sè cña M lµ ∆Z , ta cã quan hÖ gi÷a kho¶ng dÞch chuyÓn cña ®iÓm cuèi M (SMZ) vµ kho¶ng tr−ît cña C (SC) nh− sau: SMZ + ∆Z = KZ(SC + ∆C) (3.65) Nh− vËy ∆Z = KZ ∆C = (1+KY )∆C 79
- NÕu ®ång thêi c¶ hai con tr−ît ®Òu di chuyÓn th× sai sè theo mçi ph−¬ng vÉn lµ ∆Y , ∆Z ®−îc tÝnh nh− trªn, do vËy sai sè tæng cña M sÏ lµ: 2 2 ∆ M = ∆ Y + ∆ Z (3.66) 80
- IV. Nghiªn cøu, thiÕt kÕ, l¾p r¸p Robot re – 03 ho¹t ®éng theo täa ®é trô 4.1. Giíi thiÖu chung Môc tiªu NhiÖm vô 3 cña §Ò tµi lµ vËn dông c¸c ph−¬ng ph¸p cña robotics (khoa häc c«ng nghÖ robot) ®Ó nghiªn cøu vÒ CMM (m¸y ®o täa ®é) hoÆc PCMM (m¸y ®o täa ®é x¸ch tay). Con ®−êng ph¸t triÓn c¸c thiÕt bÞ nµy kh«ng chØ lµ biÖn ph¸p n©ng cao ®é chÝnh x¸c chÕ t¹o mµ cßn ®Æc biÖt quan t©m ®Õn ph−¬ng ph¸p suy luËn, xö lý, bï trõ b»ng c¸c phÇn mÒm kÌm theo. Néi dung nghiªn cøu ë c¸c phÇn trªn ®©y chøng tá r»ng c¶ hai con ®−êng nãi trªn ®Òu cã vai trß quan träng, ®Æc biÖt lµ con ®−êng thø nhÊt. Sù ch−a thµnh ®¹t cña c¶ 2 ph−¬ng ¸n Robot RE-01 vµ Robot RE-02 lµ bµi häc rót ra tõ thùc tÕ, r»ng chÕ t¹o c¸c thiÕt bÞ liªn quan ®Õn ®o l−êng ph¶i cã c¶ mét “hËu ph−¬ng” c«ng nghiÖp hïng m¹nh. Ph−¬ng ¸n thø 3, Robot RE-03 ra ®êi xuÊt ph¸t tõ ý thøc muèn kh¾c phôc c¸c khã kh¨n trªn, nh−ng l¹i lµ mét ®Ò xuÊt míi. ThËt vËy, Robot RE- 03 ho¹t ®éng theo täa ®é trô Z = Z (r, ϕ) víi 3 m«®un thiÕt bÞ: M«®un t¹o gãc quay ϕ; M«®un t¹o ®é di chuyÓn r h−íng t©m quay; M«®un t¹o ®é di chuyÓn theo trôc Z. C¶ 3 m«®un nµy cã thÓ chän lùa tõ c¸c thiÕt bÞ ®o l−êng chuÈn hãa do c¸c h·ng cã th−¬ng hiÖu næi tiÕng s¶n xuÊt víi ®é chÝnh x¸c vµ tin cËy cao. C¸c m¸y ®o täa ®é CMM hoÆc PCMM ®Òu ch−a cã lo¹i nµo ho¹t ®éng theo täa ®é trô c¶, trong lóc cã nhiÒu bÒ mÆt cong nÕu ®−îc ghi ®o theo täa ®é trôc th× rÊt thuËn tiÖn vµ gi¶m thiÓu ®−îc sè ®iÓm ®o. ¦u ®iÓm næi tréi cña viÖc t¹o dùng Robot RE-03 lµ gi¸ thµnh thÊp xuèng rÊt nhiÒu lÇn so víi viÖc nhËp ngo¹i c¸c lo¹i thiÕt bÞ CMM hoÆc PCMM. 81
- §Ò tµi ®· t¹o ra ®−îc 1 mÉu m¸y ®o theo täa ®é trô mang tªn Robot RE-03, mÆc dÇu kh«ng ph¶i víi môc ®Ých ®Ó ®o l−êng, mµ lµ thiÕt bÞ sè hãa (Digitizing Systems) ®Ó t¸i hiÖn c¸c bÒ mÆt cong, nh−ng cã ®é chÝnh x¸c vµ ®é tin cËy cao v× phô thuéc chñ yÕu vµo 3 m«®un thiÕt bÞ chuÈn hãa nhËp ngo¹i. Ngoµi 3 m«®un thiÕt bÞ chñ yÕu nãi trªn Robot RE-03 cßn cã bé phËn thiÕt bÞ ®iÖn tö ®Ó thu nhËn, chuyÓn ®æi c¸c tÝn hiÖu ®o tõ c¸c m«®un nãi trªn thµnh c¸c sè liÖu ®Çu vµo cña ch−¬ng tr×nh phÇn mÒm, xö lý c¸c sè liÖu nhËn ®−îc tõ c¸c ®iÓm ®o, råi t¸i hiÖn ra bÒ mÆt cong ®ang ®−îc kh¶o s¸t. Víi nh÷ng giao diÖn t−¬ng øng ®−îc thiÕt lËp Robot RE-03 hßan toµn cã thÓ sö dông c¸c ch−¬ng tr×nh phÇn mÒm t¸i hiÖn c¸c bÒ mÆt cong kh«ng gian do §Ò tµi tù x©y dùng vµ dïng chung cho nhiÒu thiÕt bÞ CMM vµ PCMM kh¸c. V× thÕ d−íi ®©y chØ giíi thiÖu nh÷ng phÇn dµnh riªng cho Robot RE- 03 . Ch−¬ng tr×nh phÇn mÒm t¸i hiÖn mÆt cong vµ nh÷ng bé phËn cã chung trong c¸c thiÕt bÞ CMM hoÆc PCMM kh¸c ®· ®−îc tr×nh bµy ë c¸c môc trªn. 4.2. C¸c m«®un hîp thµnh Robot RE-03 4.2.1. M«®un quay ϕ 82
- Ø 250 Tr. nhi?m H? và tên Ký Ngày ROBOT RE-03 Đ? tài KC - 03 - 08 Thi?t k? T.V.H.SON B?n v? s?: S? lu?ng: T? l?: Ki?m tra Nguy?n Van Minh Modun góc quay Duy?t Nguy?n Thi?n Phúc Trung tâm NCKT T? d?ng hóa Tru?ng Đ?i h?c Bách Khoa Hà N?i V?t li?u: thép CT5 H×nh 3.4.1. B¶n vÏ M«®un t¹o gãc quay ϕ 83
- H×nh 3. 4.2. ¶nh chôp M«®un quay ϕ 84
- B¶ng th«ng sè kü thuËt cña M«®un quay ϕ §−êng kÝnh m©m quay: 250 mm V¹ch chia ®é: 360' víi ®é ph©n d¶i 1' Dung sai: 0,05 mm Tèc ®é quay: 3'30 s mét vßng quay §éng c¬: 24VDC, 20W 85
- H×nh 3.4.3. ¶nh chôp m«®un dÞch chuyÓn theo trôc z Th«ng sè kü thuËt ®Çu ®o: Linear Gauge LGE-1025 (Mitutoyo) D¶i do: 25mm §é ph©n d¶i: 5µm §é chÝnh x¸c lÆp l¹i: 20µm Lùc ®Çu ®o: - khi ®i xuèng: 4,6 N - khi ®i ngang: 4,3N - Khi ®i lªn: 4,0 N Ph−¬ng ph¸p x¸c ®Þnh vÞ trÝ ®o: Bé gi¶i m· tuyÕn tÝnh t¨ng dÇn biÕn tô tÜnh Tèc ®é ®¸p øng ®o: - TÜnh: 1,4 m/gi©y - §éng: 17,5 m/gi©y TÝn hiÖu ra: LÖch pha 900, Kho¶ng c¸ch s−ên tÝn hiÖu ra t−¬ng ®−¬ng 20µm KÝch th−íc ®Çu tiÕp ®iÓm ®o: φ 3 mm, mÆt cÇu, b»ng carbit æ ®ì: æ bi cÇu ChiÒu dµi c¸p tÝn hiÖu ra: 2 mÐt NhiÖt ®é m«i tr−êng lµm viÖc: 0 - 400C 88
- H×nh 3.3.4. ¶nh chôp m«®un dÞch chuyÓn theo trô Z Th«ng sè kü thuËt th−íc ®o cao hiÖn sè: Series 192-655 (Mitutoyo) HiÓn thÞ sè: LCD D¶i do: 0 - 600 mm §é ph©n d¶i: 0,01 m §é chÝnh x¸c: ± 0,04 Chøc n¨ng: ®Æt ®iÓm 0, cã c«ng t¾c chuyÓn ®æi chÕ ®é ®o tuyÖt ®èi-t−¬ng ®èi D÷ liÖu ra: SPC Nguån ®iÖn: 3 pin 1,5V Tèc ®é ®¸p øng lín nhÊt: kho¶ng 500 mm/gi©y B¸o ®éng: nguån pin yÕu NhiÖt ®é m«i tr−êng lµm viÖc: 0 - 400C Träng l−îng: 9,5 kg 90
- 4.2.4. Hép ®iÒu khiÓn vµ giao diÖn víi m¸y tÝnh S¬ ®å hÖ thèng ®iÒu khiÓn cña Robot RE HiÓn thÞ gi¸ trÞ ®o Bé ®Öm P3.0 Bé VXL AT89C52 Bé ®Öm RS 232 P0 P3.1 c«ng suÊt XTAL1 24MHz Bµn phÝm XTAL2 P1 ®iÒu khiÓn Quay tr¸i P2. Bé khuÕch Quay ph¶i P2. ®¹i c«ng P3.2 Đo dßng suÊt §Çu ®o P2. P3.4 P3.3 P3.5 out out +5v +24v §éng c¬ Nguån cung quay m©m cÊp cÆp Encoder KĐ ®Öm do gãc - 24V + H×nh 3.4.5. S¬ ®å hÖ thèng ®iÒu khiÓn cña Robot RE 91
- H×nh 3.4.6. ¶nh chôp hép ®iÒu khiÓn B¶ng th«ng sè kü thuËt Th«ng sè kü thuËt bé gi¶i m∙: Rotary Encorder Incremental E6B2-CWZ6C (OMRON - 06802) §é ph©n d¶i: 1000 xung/vßng D©y mµu vµng 24VDC D©y mµu xanh: 0V D©y mµu n©u: GND D©y mµu ®en: OUT A D©y mµu tr¾ng: OUT B D©y mµu da cam: OUT Z 92
- 4.2.5. L¾p r¸p, vËn hµnh Robot RE-03 H×nh 3.4.8. Dïng Robot RE-03 ®Ó t¸i hiÖn bÒ mÆt “phom” dµy H×nh 3.4.9. C¸c kÕt qu¶ t¸i hiÖn bÒ mÆt “phom” dµy 95
- H×nh 3.9.10. Dïng Robot RE-03 ®Ó t¸i hiÖn bÒ mÆt t−îng “con c¸ heo” H×nh 3.9.11. T¸i hiÖn bÒ mÆt t−îng “con c¸ heo” 96
- H×nh 3.9.12. Dïng Robot RE-03 ®Ó t¸i hiÖn bÒ mÆt lä hoa kh«ng ®èi xøng H×nh 3.9.13. KÕt qu¶ t¸i hiÖn bÒ mÆt lä hoa kh«ng ®èi xøng 97
- V. XÂY DỰNG CÁC CHƯƠNG TRÌNH PHẦN MỀM TÁI HIỆN BỀ MẶT CONG KHÔNG GIAN 5.1. C¬ së thuËt to¸n x©y dùng c¸c ®−êng cong vµ mÆt cong kh«ng gian 5.1.1. Các thuật toán xây dựng đường cong 1. Giải thuật xây dựng đường cong Hermite Procedure Hermite_Curve() # §©y lµ gi¶i thuËt x©y dùng ®−êng cong Hermite # M4x4 lµ ma trËn Hermite # G4x1 lµ ma trËn hÖ sè h×nh häc # t1x4 ma trËn c¸c tham sè # P ®iÓm tÝnh to¸n trªn ®−êng cong begin Khëi t¹o ma trËn M ®äc c¸c hÖ sè h×nh häc Herrmite; to¹ ®é ®iÓm cuèi vµ c¸c vÐct¬ tiÕp tuyÕn t¹i c¸c ®iÓm cuèi for t = 0 to 1 insteps of 0.05 do khëi t¹o ma trËn [t] víi c¸c gi¸ trÞ hiÖn thêi P = t*M*G # PhÐp nh©n ma trËn chuÈn if P(t) lµ ®iÓm b¾t ®Çu then Move_to(P) else Draw_to(P) next t return 98
- end. 2.Gi¶i thuËt x©y dùng ®−êng cong Bezier. Procedure Bezier_Curve() # §©y lµ gi¶i thuËt x©y dùng ®−êng cong bezier # n+1 sè l−îng c¸c ®iÓm ®iÒu khiÓn # Pi ®iÓm ®iÒu khiÓn thø i cã c¸c to¹ ®é lµ x, y, z lµ (Pix, Piy, Piz) begin for i = 0 to n do ®äc ®iÓm ®iÒu khiÓn Pi next i for t = 0.0 to 1.0 insteps of 0.05 do x = y = z = 0.0 for i = 0 to n do B = Blend (i, n, t) x = x + Pix*B y = y + Piy*B z = z + Piz*B next i if (x, y, z) lµ ®iÓm b¾t ®Çu then Move_to (x, y, z) else Draw_to (x, y, z) endif next t return end function blend (i, n, t) 99
- begin blend= giaithua (n)/giaithua (i)*giaithua (n-i) blend=blend*(t)i * ((1-t)n-1) return (blend) end 3. Ch−¬ng tr×nh con x©y dùng ®−êng cong néi suy spline bËc 3. function p =fun3d(pp,step); %chuong trinh nay se su dung phuong phap noi suy duong cong %spline bac 3 tu nhien (phuong trinh 1.19) de thiet lap duong cong %di qua cac vecto diem 3 chieu if step>0 & step<1 & (mod(1,step)==0) [r,c]=size(pp); %ma tran he so cua 1.19 v=linspace(1,1,r-1); triu=diag(v,1); tril=diag(v,-1); trim=4*eye(r); trim(1,1)=2; trim(r,r)=2; mt=triu+tril+trim; %ma tran nghich dao cua m4t mt_1=inv(mt); %ma tran ve phai cua 1.19 for i=2:(r-1) g(i,:)=3*(pp(i+1,:)-pp(i-1,:)); 100
- end g(1,:)=3*(pp(2,:)-pp(1,:)); g(r,:)=3*(pp(r,:)-pp(r-1,:)); %ma tran cac vector tiep tuyen p' tai cac diem tua pt=mt_1*g; size(pt); %ma tran tham so t(0->1) voi buoc step %n la so diem noi suy trong 1 phan doan t=0:step:1; n=round(1/step)+1; %ma tran he so M(const) trong (1.8) m=[2 -2 1 1 -3 3 -2 -1 0 0 1 0 1 0 0 0 ]; %gk la ma tran G trong (1.8) for k=1:(r-1) gk=[pp(k,:); pp(k+1,:); pt(k,:); pt(k+1,:)]; for i=1:n ti=[t(i)*t(i)*t(i) t(i)*t(i) t(i) 1]; p(n*(k-1)+i,:)=ti*m*gk; end end %p la ma tran cac diem noi suy size(p); 101
- else helpdlg('Hay nhap lai gia tri buoc (0<step<1 & mod(1,step)==0)','Thong bao'); end 5.1.2. Phương pháp xác định điểm tựa và lưu trữ dữ liệu của đường cong Để lấy toạ độ các điểm nội suy của một đường cong không gian trước tiên ta phải vạch ra đường cong đó (các điểm nội suy đó ta gọi là điểm tựa). Trên đường cong này sẽ đánh dấu các điểm tựa, chúng không cần phải cách đều nhau mà mật độ các điểm được đánh dấu sẽ tuỳ thuộc vào độ cong của từng phân đoạn trên đường cong đó. Tất nhiên mật độ càng lớn thì chất lượng phép nội suy càng cao, nhưng nó sẽ đòi hỏi tài nguyên lưu trữ lớn và thời gian xử lý dữ liệu trong chương trình. Vấn đề đặt ra là tối ưu hoá điểm tựa này, nghĩa là xác định số điểm tựa nhỏ nhất có thể nhưng vẫn đảm bảo được chất lượng của phép nội suy. Các phân đoạn có bán kính cong nhỏ thì cần số điểm chia mau hơn và ngược lại với phân đoạn có bán kính cong lớn số điểm chia sẽ thưa. Sau khi đánh dấu các điểm tựa ta sẽ tiến hành đánh số các điểm đo theo một trật tự nhất định nhằm tránh nhầm lẫn trong quá trình đo đạc sau này. Xuấ phát từ điểm đầu tiên của đường cong ta đánh số 1 và lần lượt là các số tự nhiên tiếp theo cho các điểm kế tiếp đến điểm cuối cùng của đường cong là n. Nếu đường cong khép kín thì điểm cuối cùng n sẽ trùng với điểm đầu tiên 1. Quá trình đo toạ độ các điểm tựa bằng robot RE sẽ được thực hiện lần lượt từ 1 đến n. Toạ độ của một điểm tựa thứ I trong không gian 3 chiều có ba thành phần xi, yi, zi và chúng sẽ được lưu trữ trong hàng thứ I của ma trận dữ liệu nội duy của đường cong. Như vậy ma trận dữ liệu các điểm tựa của một đường cong sẽ là một ma trận n hàng 3 cột, n là số điểm tựa, còn 3 là số chiều trong hệ toạ độ Oxyz của một điểm tựa. Để thuận tiện cho việc quản lý và lưu trữ, ma trận các điểm tựa của đường cong sẽ được ghi vào file dạng text. Chương trình nội đường cong sẽ đọc dữ liệu các điểm tựa từ file dữ liệu sau đó tính toán ra các toạ độ nội suy trung gian giữa các điểm tựa và vẽ ra đường cong nội suy. Kết quả ma 102