LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong luận văn là hoàn toàn trung thực và chưa từng được ai công bố trong bất kì công trình khoa học nào khác, các dữ liệu tham khảo được trích dẫn đầy đủ. Tác giả luận văn LỜI CẢM ƠN Trước tiên, tôi bày tỏ sự kính trọng và xin gửi lời cảm ơn sâu sắc tới giáo viên hướng dẫn TS. đã luôn luôn nhiệt tình chỉ bảo và luôn động viên để tôi hoàn thành bản luận văn. Tiếp theo, tôi gửi lời cảm ơn tới trung tâm đào tạo sau đại học, cùng các cán bộ công tác tại trung tâm đã giúp đỡ tôi trong quá trình học tập, nghiên cứu khoa học và có những ý kiến đóng góp quý báu về nội dung, bố cục của luận văn. Cuối cùng, tôi muốn gửi lời cảm ơn tới gia đình tôi, bố mẹ, anh chị em đã động viên và tạo mọi điều kiện để tôi có động lực và quyết tâm thực hiện thành công luận văn. Do thời gian thực hiện có hạn, kiến thức chuyên môn còn nhiều hạn chế, luận văn tôi thực hiện chắc chắn không thể tránh khỏi những thiếu sót nhất định. Tôi rất mong nhận được ý kiến đóng góp của các thầy, cô giáo và các bạn. Xin chân thành cảm ơn MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH MỤC CÁC KÝ HIỆU ĐƯỢC VIẾT TẮT v DANH MỤC CÁC HÌNH VẼ vi MỞ ĐẦU………………………………………………………………….…..1 CHƯƠNG 1: TỔNG QUAN VỀ TAY MÁY ROBOT CÔNG NGHIỆP 4 1.1 GIỚI THIỆU CHUNG 4 1.1.1 Khái niệm robot công nghiệp 4 1.1.2 Lịch sử phát triển của robot 5 1.1.3 Ưu điểm và nhược điểm của robot 7 1.1.4 Cấu trúc chung của robot công nghiệp 8 1.1.5 Động lực học tay máy robot 8 1.2 TỔNG QUAN VỀ ĐIỀU KHIỂN TAY MÁY ROBOT 12 Kết luận chương 1: 16 CHƯƠNG 2: XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN TAY MÁY ROBOT CÔNG NGHIỆP SỬ DỤNG BỘ ĐIỀU KHIỂN NƠ RON THÍCH NGHI 17 2.1 KHÁI QUÁT CHUNG VỀ ĐIỀU KHIỂN THÍCH NGHI 17 2.1.1 Lịch sử phát triển của điều khiển thích nghi 17 2.1.2 Khái quát về hệ điều khiển thích nghi 19 2.2 KHÁI QUÁT CHUNG VỀ MẠNG NƠ RON 23 2.2.1 Mạng nơ ron nhân tạo 23 2.2.2 Ma trận GL và toán tử 28 2.2.3 Ước lượng mạng nơ ron 29 2.2.4. Động lực học của tay máy robot 30 2.2.5. Thiết kế bộ điều khiển 32 Kết luận chương 2: 37 CHƯƠNG 3: MÔ PHỎNG VÀ ĐÁNH GIÁ KẾT QUẢ 38 3.1. MÔ HÌNH TOÁN HỌC VÀ CÁC THAM SỐ MÔ PHỎNG 38 3.2. SƠ ĐỒ MÔ PHỎNG VÀ KẾT QUẢ MÔ PHỎNG. 40 3.2.1. Sơ đồ mô phỏng. 40 3.2.2. Kết quả mô phỏng và nhận xét. 52 KẾT LUẬN 57 Kết luận……………………………………………………………………...66 TÀI LIỆU THAM KHẢO………………………………………………….. 58 DANH MỤC CÁC KÝ HIỆU ĐƯỢC VIẾT TẮT H(q) Ma trận quán tính. ▁V (▁q,▁(q ̇ )) Véc tơ ly tâm và tương hỗ. ▁g (▁q) Véc tơ thành phần trọng trường. ▁D (▁(q ̇ )) Véc tơ ma sát. ▁D_v Hệ số ma sát nhớt. ▁τ Véc tơ mô men đặt vào các khớp. ▁τ_d Thành phần nhiễu. G Gia tốc trọng trường. ∅ Ma trận hướng của hệ tọa độ gắn lên khâu tác động cuối so với hệ tọa độ gốc. J(▁q) Ma trận Jacobi của Robot. S Ma trận chọn trong điều khiển lai vị trílực. Inxm Ma trận đơn vị. Q(▁q) Ma trận chiếu theo phương tiếp tuyến. P(▁q) Ma trận chiếu theo phương pháp tuyến. λ Toán tử Lagrange tại điểm tương tác. η Hệ số khuếch đại sai lực. L Hệ số khuếch đại sai lệch vị trí Γ Hệ số cập nhập tham số động lực học. ▁x Vị trí của khâu tác động cuối trong hệ trục tọa độ { 0} DANH MỤC CÁC HÌNH VẼ Hình 1.1: Mô hình tay máy robot trong công nghiệp 2 Hình 1.2: Sơ đồ các phương pháp điều khiển tay máy robot. 10 Hình 1.3: Sơ đồ cấu trúc điều khiển chung trong không gian khớp 12 Hình 1.4: Sơ đồ điều khiển chung trong không gian công tác. 13 Hình 2.1: Sơ đồ cấu trúc bộ điều khiển thích nghi tín hiệu. 18 Hình 2.2: Sơ đồ cấu trúc bộ điều khiển ở cấp 1 và cấp 2. 19 Hình 2.3: Cấu trúc mạng RBF 23 Hình 2.4: Sơ đồ cấu trúc bộ điều khiển. 30 Hình 3.1: Mô hình tay máy robot 2 bậc tự do. 35 Hình 3.2: Sơ đồ khối mô tả hệ thống điều khiển trên Simulink. 37 Hình 3.3: Đáp ứng vị trí bám của x1 50 Hình 3.4: Đáp ứng vị trí bám của x2 50 Hình 3.5: Vận tốc thực và vận tốc bám của x1 51 Hình 3.7: Mô men điều khiển 51 Hình 3.9: Dạng ước lượng của C 52 Hình 3.8: Dạng ước lượng của M 52 Hình 3.10: Dạng ước lượng của G 52 Hình 3.11: Quỹ đạo bám của tay máy robot 53 MỞ ĐẦU Lý do chọn đề tài. Trong cuộc cách mạng công nghệ 4.0 hiện nay, robot là một trong những công cụ không thể thiếu trong rất nhiều lĩnh vực. Hiện nay robot được ứng dụng trong mọi mặt đời sống xã hội loài người như: trong các nhà máy, robot tham gia vào các dây chuyền sản xuất thay thế sức lao động của con người. Lĩnh vực an ninh có các robot giám sát an ninh tại các địa điểm quan trọng hoặc trong các môi trường phức tạp. Trong lĩnh vực quốc phòng robot được sử dụng ngày càng rộng rãi như các máy bay không người lái, xe tăng không người lái, tàu chiến không người lái, robot thay thế lính bộ binh trên chiến trường. Trong lĩnh vực y học có các robot phục vụ cho việc phẫu thuật thay thế bác sĩ với độ chính xác cao, không phụ thuộc vào các yếu tố tâm lí như con người. Robot cũng được sử dụng trong lĩnh vực thám hiểm, thăm dò các vùng đất hoặc các vùng biển mà con người chưa khám phá được. Ngày nay robot cũng được sử dụng trong việc khám phá, thăm dò các hành tinh khác ngoài trái đất, và nó có thể được sử dụng để tìm kiếm sự sống ngoài trái đất. Những năm gần đây, tay máy kết hợp robot di động được ứng dụng và phát triển một cách nhanh chóng trong nhiều lĩnh vực khác nhau, nó đáp ứng được những đòi hỏi về kĩ thuật ngày càng cao trong mọi lĩnh vực trên thế giới như: lắp ráp, khai thác mỏ, xây dựng, vận chuyển các bộ phận trong nhà máy có địa hình phức tạp với rất nhiều chướng ngại vật (có thể biết trước hoặc không biết trước). Khi nói đến vấn đề về chuyển động của tay máy kết hợp với robot di động có rất nhiều nghiên cứu đã cải tiến các bộ điều khiển cho tay máy kết hợp robot di động một cách chính xác hơn, mục đích của việc giải quyết vấn đề chuyển động là điều khiển cánh tay Robot kết hợp với Robot di động từ trạng thái ban đầu đến trạng thái tiếp theo với cơ cấu chấp hành cuối cùng đươc xác định ở vị trí mong muốn. Điều khiển Robot đang còn nhiều vấn đề cần giải quyết do độ phức tạp, tính phi tuyến và độ bất định của các hệ phương trình động lực và động lực học của robot gây nên. Các nghiên cứu về lĩnh vực này đang được phát triển rất mạnh ở các phòng thí nghiệm, các trường đại học hàng đầu trên thế giới. Phát triển các thuật toán điều khiển cho robot là một trong những vấn đề khoa học cơ bản của các nghiên cứu về robot và cơ điện tử hiện nay. Ở Việt Nam các vấn đề này đang ngày càng được nhiều người quan tâm và nghiên cứu. Gần đây vấn đề điều khiển cho robot có nhiều tham số bất định nhận được rất nhiều sự chú ý của giới nghiên cứu. Vì vậy em đã lựa chọn đề tài: “nghiên cứu xây dựng bộ điều khiển tay máy robot dựa trên mạng nơ ron thích nghi”. Tính cấp thiết của đề tài Trong thời kỳ phát triển công nghiệp như hiện nay, việc ứng dụng khoa học công nghệ trong quân sự, trong sản xuất công nghiệp cũng như trong sinh hoạt đang được đặt lên hàng đầu. Trong đó, việc xây dựng và phát triển các modul điều khiển, các thuật toán điều khiển mới trong các thiết bị quân sự, dây truyền sản xuất và các hệ thống điều khiển tự động hóa ngày càng được chú trọng và phát triển. Có thể nói Robot công nghiệp đóng vai trò nòng cốt trong cách mạng công nghiệp lần thứ 4, Robot được yêu cầu ngày càng thông minh hơn, thích nghi tốt với môi trường biến đổi liên tục và chuyển đổi sản xuất linh hoạt trong các hệ thống sản xuất FMS. Điều đó đã đặt ra những thách thức cho các nhà nghiên cứu tập trung vào tăng khả năng ứng dụng và tương tác giữa Robot với các quá trình sản xuất thực tế, đặc biệt là phát triển các thuật toán điều khiển thông minh cho Robot. Nghiên cứu động học và điều khiển tay máy Robot đã được phát triển rất mạnh ở các nước và được xem như một nghành nghiên cứu là nghành Robot. Vì vậy, đã có rất nhiều các thuật toán điều khiển kinh điển và hiện đại được nghiên cứu và ứng dụng để điều khiển tay máy Robot ví dụ như PID bù trọng trường, điều khiển trượt, điều khiển thích nghi, điều khiển Backsteping, điều khiển bền vững, điều khiển sử dụng hệ logic mờ, nơron… 1.3. Mục tiêu và phương pháp nghiên cứu 1.3.1. Mục đích nghiên cứu Nghiên cứu khảo sát mô hình động lực của tay máy robot công nghiệp. Từ đó đề xuất bộ điều khiển thích nghi sử dụng mạng nơron nhằm nâng cao chất lượng điều khiển, độ ổn định của tay máy robot công nghiệp, nhất là đối với những ứng dụng đòi hỏi chất lượng và độ chính xác cao. 1.3.2. Nội dung nghiên cứu Đối tượng nghiên cứu là tay máy robot chuyển động theo quỹ đạo đặt. Phạm vi nghiên cứu của luận văn được giới hạn trong nhiệm vụ điều khiển tay máy obot ba bậc tự do chuyển động bám theo một quỹ đạo đặt. 1.3.3. Phương pháp nghiên cứu Nêu lên vấn đề của đối tượng nghiên cứu. Phân tích và xây dựng mô hình động lực học, các vấn đề đối tượng nghiên cứu. Tìm hiểu các nghiên cứu trong và ngoài nước về điều khiển tay máy robot. Xây dựng thuật toán điều khiển. Chứng minh tính đúng đắn của thuật toán điều khiển. Kiểm tra tính đúng đắn của thuật toán điều khiển bằng phần mềm mô phỏng MatlabSimulink. CHƯƠNG I: TỔNG QUAN VỀ TAY MÁY ROBOT CÔNG NGHIỆP 1.1 GIỚI THIỆU CHUNG Khái niệm robot công nghiệp Robot công nghiệp có thể được định nghĩa theo một số tiêu chuẩn sau: Theo tiêu chuẩn RIA của Mỹ (Robot institute of America): Robot là một tay máy vạn năng có thể lặp lại các chương trình, được thiết kế để di chuyển vật liệu, chi tiết, dụng cụ, hoặc các thiết bị chuyên dùng thông qua các chương trình chuyển động có thể thay đổi để hoàn thành các nhiệm vụ khác nhau. Theo tiêu chuẩn AFNOR của Pháp: Robot công nghiệp là một cơ cấu chuyển động tự động có thể lập trình, lặp lại các chương trình, tổng hợp các chương trình đặt ra trên các trục tọa độ, có khả năng định vị, định hướng, di chuyển các đối tượng vật chất như chi tiết, đạo cụ, gá lắp theo những hành trình thay đổi đã được chương trình hóa nhằm thực hiện các nhiệm vụ công nghệ khác nhau. Theo tiêu chuẩn TOCT 2568685 của Nga: Robot công nghiệp là một máy tự động, được đặt cố định hoặc di động được, liên kết giữa một tay máy và một hệ thống điều khiển theo chương trình, có thể lặp đi lặp lại để hoàn thành các chức năng vận động và điều khiển trong quá trình sản xuất. Do đó, robot công nghiệp có thể được hiểu là những thiết bị tự động linh hoạt, thực hiện các chức năng lao động công nghiệp của con người dưới một hệ thống điều khiển theo những chương trình đã được lập trình sẵn. Hình 1.1: Mô hình tay máy robot trong công nghiệp Với đặc điểm có thể lập trình lại được, robot công nghiệp là thiết bị tự động hóa và ngày càng trở thành bộ phận không thể thiếu được của các hệ thống sản xuất linh hoạt. Vì vậy, robot công nghiệp trở thành phương tiện hữu hiệu để tự động hóa, nâng cao năng suất lao động và giảm nhẹ cho con người những công việc nặng nhọc, độc hại dưới sự giám sát của con người. 1.1.2 Lịch sử phát triển của robot Trên thế giới Thuật ngữ “Robot” xuất phát từ tiếng Séc (Czech) “Robota” có nghĩa là công việc tạp dịch trong vở kịch Rossum’s Universal Robots của Karel Capek, vào năm 1921. Thuật ngữ Industrial Robot (IR) xuất hiện đầu tiên ở Mỹ do công ty AMF (American Machine and Foundry Company) quảng cáo, mô phỏng một thiết bị có dáng dấp và có một số chức năng như tay người được điều khiển tự động, thực hiện một số thao tác sản xuất có tên gọi là “Versatran”. Quá trình phát triển của Robot công nghiệp được tóm tắt như sau: Năm 1950 ở Mỹ thành lập viện nghiên cứu đầu tiên. Đầu năm 1960 công ty AMF cho ra đời sản phẩm đầu tiên có tên gọi là Versatran. Từ năm 1967, ở Anh, người ta đã bắt đầu nghiên cứu và chế tạo IR theo bản quyền của Mỹ. Từ năm 1970, việc nghiên cứu các tính năng của robot đã được chú ý nhiều hơn và cũng bắt đầu xuất hiện ở các nước Đức, Ý, Pháp, Thụy Điển. Từ năm 1968, ở Châu Á, Nhật bắt đầu nghiên cứu những ứng dụng của IR. Từ những năm 1980, nhất là vào những năm 1990, do áp dụng rộng rãi các tiến bộ kỹ thuật về vi xử lý và công nghệ thông tin, số lượng robot công nghiệp đã gia tăng với nhiều tính năng vượt bậc. Chính vì vậy mà robot công nghiệp đã có vị trí quan trọng trong các dây chuyền sản xuất tự động hiện đại như hiện nay. Đến nay, trên thế giới có khoảng trên 200 công ty sản xuất IR trong số đó bao gồm: 30 công ty của Mỹ, ta có thể lấy một số công ty điển hình như: Robots.Pro, Vecna Robotics, Robot Dynamics…cùng với những sản phẩm nổi tiếng như: robot lấy sách tự động, robot HOAP3, robot BEAR, robot tự hành Spirit and Opportunity… 80 công ty của Nhật, ta có thể lấy một số công ty điển hình như: Fanuc, Toyota, Honda, Hitachi, Kawasaki, shikawajimaHarima, Yasukawa…Cùng với những sản phẩm robot được áp dụng phổ biến như: robot Asimo, robot EMIEW 2, robot Simroid, robot chơi vĩ cầm, robot phẫu thuật……. Ngoài ra, trên thế giới còn có 90 công ty của Tây Âu và một số công ty của Nga, Tiệp….Do đó, ta có thể thấy rằng robot là một lĩnh vực nghiên cứu và ứng dụng không thể thiếu của những nước phát triển. Tại Việt Nam Nghiên cứu phát triển robot đã có những bước tiến đáng kể trong 25 năm vừa qua. Nhiều đơn vị trên toàn quốc đã thực hiện các nghiên cứu cơ bản và nghiên cứu ứng dụng về robot như: Trung tâm Tự động hoáĐại học Bách Khoa Hà Nội, Viện Điện tử Tin học, Viện Khoa học và Công nghệ quân sự, Học viện Kỹ thuật Quân sự, Viện Cơ học, Viện Công nghệ thông tin thuộc Viện KHCNVN… Bên cạnh đó, còn phải kể đến Công ty Cổ phần Robot TOSY doanh nghiệp thiết kế và chế tạo Robot Việt Nam có nhiều sản phẩm ấn tượng trên trường quốc tế. Các nghiên cứu về động học và động lực học robot được các khoa cơ khí, chế tạo máy ở các trường đại học và các viện nghiên cứu quan tâm. Ngoài việc tìm các phương pháp giải các bài toán liên quan đến cơ học của các loại robot nối tiếp, song song, di động, thì các chương trình mô phỏng kết cấu và chuyển động 3D được áp dụng và phát triển để minh họa cũng như phục vụ cho phân tích, thiết kế robot. Ưu điểm và nhược điểm của robot Ưu điểm: Có khả năng thay thế con người làm việc trong các môi trường độc hại: việc nặng nhọc, gây nguy hiểm cho con người, như nóng, độc, phóng xạ, dưới nước sâu, trong lòng đất, ngoài khoảng không vũ trụ,… Tính chính xác cao, có khả năng tự động hoá cao, có tính lặp lại Tăng năng suất, giảm giá thành sản phẩm Nhược điểm Giá thành đầu tư cho dây chuyền sử dụng robot công nghiệp tương đối cao Việc ứng dụng robot công nghiệp vào sản xuất thì cần phải có kiến thức cũng như nhân công kĩ thuật sử dụng và vận hành chúng, cùng những chi phí tốn kém trong việc bảo dưỡng và sửa chữa. Cấu trúc chung của robot công nghiệp Tay máy: là cơ cấu cơ khí gồm các khâu, khớp, hình thành nên cánh tay để tạo các chuyển động cơ bản. Cổ tay: tạo nên sự linh hoạt của robot. Phần công các: trực tiếp thực hiện các thao tác trên đối tượng. Hệ thống cảm biến: gồm các cảm biến và các thiết bị chuyển đổi. Hệ thống dùng để nhận biết trạng thái của bản thân robot và trạng thái của môi trường bên ngoài. Cơ cấu chấp hành: tạo chuyển động cho các khâu của tay máy. Nguồn động lực cho cơ cấu chấp hành là động cơ điện, động cơ thủy lực, động cơ khí nén, ... Hệ thống điều khiển: hiện nay thường là hệ thống điều khiển số, có máy tính để giám sát và điều khiển hoạt động của robot. Động lực học tay máy robot Mô hình toán học của tay máy Robot Để điều khiển được các đối tượng trong công nghiệp thì một yêu cầu rất quan trọng để thực thi các luật điều khiển đã được thiết kế là phải xây dựng được mô hình toán học của đối tượng và có đầy đủ thông tin của các tham số của mô hình toán học của đối tượng. Mô hình động lực học của tay máy Robot được mô tả bởi hệ phương trình vi phân và được xây dựng bằng phương pháp EulerLagrange. Phương trình động lực học tổng quát của một tay máy Robot n bậc tự do được mô tả bằng một phương trình vi phân 7 như sau: H(▁q) ▁(q ̈ )+▁V (▁q,▁(q ̇ ))+▁g (▁q)+▁D (▁(q ̇ ))+▁τ_d=▁τ (1.1) Trong đó, ▁q∈Rn là Véc tơ biến khớp, ▁τ∈Rn là véc tơ mô men đặt vào các khớp. H(▁q)∈Rnxn là ma trận quán tính. ▁V (▁q,▁(q ̇ )) là véc tơ momenlực trọng trường. ▁D (▁(q ̇ ))∈Rn là véc tơ momenlực ma sát. ▁D (▁(q ̇ )) được xác định như sau: ▁D (▁(q ̇ ))=D_v ▁(q ̇ )+D_d (▁(q ̇ )) (1.2) Trong đó, D_v là ma trận hệ số ma sát nhớt và D_d (▁(q ̇ )) là véc tơ với các phần tử là các hàm của q ̇ đặc trưng cho thành phần ma sát động lực học. ▁τ_d là thành phần nhiễu. Phương trình động lực học Robot được viết dưới dạng sau: H(▁q) ▁(q ̈ )+▁N (▁q,▁(q ̇ ))+▁τ_d=▁τ (1.3) ▁N (▁q,▁(q ̇ )) được xác định như sau: ▁N (▁q,▁(q ̇ ))=▁V (▁q,▁(q ̇ ))+▁g (▁q)+▁D (▁(q ̇ )) (1.4) Phương trình động lực học tay máy robot trong (1.1) có thể được viết dưới dạng không gian trạng thái như sau: ▁x_1=▁q ▁(x ̇ )_1=▁x_2=▁(q ̇ ) ▁(x ̇ )_2=H(1) (▁q) ▁τ▁τ_d▁C (▁q,▁(q ̇ ))▁g (▁q)▁D (▁(q ̇ )) (1.5) Các đặc tính của các thành phần trong phương trình động lực học tay máy robot lần lượt được phân tích trong phần sau. Khi không xét đến sự tác động của nhiễu, (1.1) được viết lại như sau: H(▁q) ▁(q ̈ )+C(▁q,▁(q ̇ )) ▁(q ̇ )+▁g (▁q)+D_v ▁(q ̇ )=▁τ (1.6) Với ▁C (▁q,▁(q ̇ ))=12 (H(▁q) ) ̇+S(▁q,▁(q ̇ )) 1.1.5.2 Các đặc tính của các thành phần động lực học tay máy Robot Đặc tính của ma trận quán tính: H(q) là ma trận vuông cấp n, đối xứng, xác định dương. Động năng của tay máy robot được xác định như sau: K=12 ▁(q ̇ )T H(▁q) ▁(q ̇ ) (1.7) Ma trận quán tính H(q) bị chặn 8 như sau: {█(μ_1 I≤ H(▁q)≤μ_2 I γ_1≤‖H(▁q)‖≤γ_2 )┤ (1.8) Như vậy, chuẩn bậc hai của ma trận quán tính bị chặn trên và chặn dưới bởi hai đại lượng vô hướng là μ_1 và μ_2. Khi μ_1 I≤ H(▁q) tức là H(▁q)μ_1 I là xác định dương nên tay suy ra với một véc tơ ▁x∈Rn bất kì ta luôn có: ▁xT (H(▁q)μ_1 I)▁x≥0 (1.9) Tương tự như vậy ma trận nghịch đảo của ma trận quán tính bị chặn như sau: 1μ_2 I≤H(1) (▁q)≤1μ_1 I (1.10) Nếu như khớp của tay máy robot là khớp chuyển động quay thi μ_1 và μ_2 là các hằng số, khi đó, ▁q chỉ xuất hiện trong H(▁q) thông qua các hàm sin và cos của biến ▁q. Đặc tính của thành phần hướng tâm và Coriolis: Thành phần hướng tâm và coriolis trong phương trình động lực học tay máy Robot ▁V (▁q,▁(q ̇ )) được xác định như sau: ▁V (▁q,▁(q ̇ ))=H ̇(▁q,▁(q ̇ ))12 δ(δ▁q)(▁(q ̇T H(▁q))) ▁(q ̇ ) (1.11) Dựa vào bổ đề được chứng minh trong 8, Hai ma trận bất kì là ma trận A(▁q)∈Rnxm, ma trận B(▁q)∈Rnxm và véc tơ ▁q∈Rn thì ta có: δ(δ▁q) A(▁q)B(▁q)=(I_n⨂A) δB(δ▁q)+δA(δ▁q) B (1.12) Suy ra phương trình (1.11) được viết lại như sau: ▁V (▁q,▁(q ̇ ))=H ̇(▁q,▁(q ̇ ))12(I_n⨂q ̇T)(δH(▁q))(δ▁q) ▁(q ̇ ) (1.13) Nếu ta đặt U(▁q,▁(q ̇ ))=〖(I〗_n⨂q ̇T)(δH(▁q))(δ▁q) (1.14) Thì phương trình trên được viết lại như sau: ▁V (▁q,▁(q ̇ ))=H ̇(▁q)12 U(▁q,▁(q ̇ )) ▁(q ̇ ) (1.15) Ta tiếp tục đặt: C(▁q,▁(q ̇ ))=12 (H ̇(▁q))+UT (▁q,▁(q ̇ ))U(▁q,▁(q ̇ )) (1.16) Với H ̇(▁q,▁(q ̇ ))=UT (▁(q ̇ )) được chứng minh trong 9, suy ra phương trình (1.15) và phương trình (1.16) được viết lại lần lượt như sau: ▁V (▁q,▁(q ̇ ))=UT (▁q,▁(q ̇ ))12 U(▁q,▁(q ̇ )) ▁(q ̇ ) (1.17) C(▁q,▁(q ̇ ))=UT (▁q,▁(q ̇ ))12 U(▁q,▁(q ̇ )) (1.18) Từ phương trình (1.17) và (1.18) suy ra ▁V (▁q,▁(q ̇ ))=C(▁q,▁(q ̇ )) ▁(q ̇ ). Nếu ta đặt: S(▁q,▁(q ̇ ))=H ̇(▁q)2C(▁q,▁(q ̇ )) (1.19) Suy ra: S(▁q,▁(q ̇ ))=U(▁q,▁(q ̇ ))UT (▁q,▁(q ̇ )) (1.20) Từ công thức (1.20) ta thâý S(▁q,▁(q ̇ )) là ma trận phản đối xứng có tính chất ▁(xT ) S▁x=0 với mọi véc tơ ▁x∈Rn. Như vậy, phương trình động lực học tay máy robot cũng được biển diễn ở dạng nhau thông qua các biến đổi của ▁V (▁q,▁(q ̇ )) hoặc của C(▁q,▁(q ̇ )). Đặc tính của trọng trường ▁g(▁q): Thành phần trọng tường được xác định từ thế năng như sau: ▁g (▁q)=δP(δ▁q)=∑_(i=1)n▒〖δ(δ▁q) (▁(gT ) T_i (q)I_i ▁e_4 ) 〗 (1.21) Trong đó: P(q)=∑_(i=1)n▒▁(gT ) T_i (q)I_i ▁e_4 (1.22) Với ▁(gT )=■(g_xg_yg_z 0) là gia tốc trọng trường. Nếu ta xét tay máy robot dựa trên trục z là trục thẳng đứng thì ▁(gT )=■(009.8062 0), Ti là ma trân chuyển đổi hệ tọa độ xét tại khớp thứ I về tọa độ gốc, Ii là mô men quán tính, ▁e_4=■(000 1)T. Từ phương trình (1.21) suy ra: ▁g (▁q)=∑_(i=1)n▒〖(I_n⊗▁(gT )) (δT_i (▁q))(δ▁q)〗 I_i ▁e_4 (1.23) Các đặc tính của thành phần ma sát và nhiễu sẽ được phân tích và trình bày chi tiết hơn trong các chương tiếp theo. TỔNG QUAN VỀ ĐIỀU KHIỂN TAY MÁY ROBOT Nội dung bài toán điều khiển tay máy robot bao gồm các bài toán sau: Bài toán thứ nhất: Xét một tay máy Robot nDOF , vị trí khớp được mô tả bởi véc tơ ▁q=〖q_(1,) q_2,…,q_n〗T. Nội dung của bài toán điều khiển tay máy robot là đi xây dựng các bộ điều khiển tạo ra các mô men hoặc lực tác động lên trục các khớp sao cho quỹ đạo vị trí góc các khớp q bám theo một quỹ đạo mong muốn ▁q=〖q_(1d,) q_2d,…,q_nd〗T và véc tơ tốc độ các khớp ▁(q ̇ )=〖q ̇_(1,) q ̇_2,…,q ̇_n〗T bám theo tốc đội khớp mong muốn ▁((q_d ) ̇ )=〖q ̇_(1d,) q ̇_2d,…,q ̇_nd〗T Hình 1.2: Sơ đồ các phương pháp điều khiển tay máy robot. Bài toán thứ 2 là điểu khiển vị trí hệ trục tọa độ {n} gắn trên khâu tác động cuối của tay mát robot ▁x=〖x,y,z,ϕ_x,ϕ_y,ϕ_z〗T bám theo vị trí đặt ▁(x_d )=〖x_d,y_d,z_d,ϕ_xd,ϕ_yd,ϕ_zd〗T và tốc độ ▁(x ̇ ) bám theo tốc độ mong muốn ▁(x ̇ )_d. Bài toán thứ ba là khi tay máy Robot tương tác hoặc chịu sự ràng buộc của môi trường làm việc thì cần điều khiển đồng thời lực tương tác giữa tay máy robot với môi trường luôn bám theo một lực mong muốn và quỹ đạo vị trí điểm tác động cuối bám theo quỹ đạo vị trí mong muốn. Động học và động lực học tay máy phục vụ việc phân tích kết cấu của tay máy, đồng thời cũng đặt nền móng cho thiết kế tay máy. Mặt khác, mối quan hệ giữa các biến khớp với vị trí của phần công tác trong vùng hoạt động của nó, giữa các thông số động học (vị trí, vận tốc, gia tốc) của các khâu, khớp với các thông số động lực của chúng (momen tại các khớp, động năng và thế năng của các khâu ...) cũng rất cần thiết cho việc thiết kế bộ điều khiển. Về cơ bản, các nội dung trên mới đề cập tới phần tay máy. Nói một cách đơn giản, TMCN là một tay máy được điều khiển tự động theo chương trình. Nó gồm đối tượng điều khiển (phần tay máy) và hệ thống điều khiển. Nhiệm vụ của hệ thống điều khiển là điều khiển tay máy thực hiện các nhiệm vụ đặt ra, nghĩa là phần công tác phải chuyển động theo quỹ đạo định trước và thực hiện các chức năng công tác. Nghiên cứu về điều khiển robot động chạm tới các vấn đề sau: Quan hệ giữa quỹ đạo của phần công tác với các thông số động học, động lực học của tay máy. Luật, phương pháp điều khiển và cấu trúc của hệ điều khiển. Các cơ cấu của hệ thống điều khiển như: cơ cấu phát động, cảm biến, bộ điều khiển ... cùng các cơ cấu chuyển đổi và truyền tín hiệu giữa chúng. Lập trình cho robot. Các vấn đề trên liên quan đến nhiều ngành kỹ thuật khác nhau: cơ khí truyền động điện, điều khiển tự động, công nghệ thông tin ... mà ranh giới giữa chúng ngày càng khó phân định. Sau khi nhận được số liệu đầu vào tương ứng với quỹ đạo của phần công tác hay của khớp, hệ thống điều khiển phải điều khiển tay máy Robot chuyển động theo đúng quỹ đạo đặt ra. Vấn đề điều khiển tay máy Robot nói chung rất phức tạp, vì ngoài việc đảm bảo thực hiện quỹ đạo một cách chính xác, còn phải giải quyết vấn đề tương tác với đối tượng công tác. Tuỳ theo yêu cầu sử dụng tay máy Robot, có rất nhiều kỹ thuật điều khiển được ứng dụng, chẳng hạn: Điều khiển tự do và điều khiển có tương tác với đối tượng. Điều khiển trong không gian khớp và điều khiển trong không gian làm việc. Điều khiển phân tán và điều khiển tập trung. Điều khiển điểm điểm và điều khiển theo đường. Ngoài ra, kỹ thuật điều khiển còn phụ thuộc kết cấu phần cơ khí của tay máy Robot, ví dụ sử dụng hệ toạ độ đề các hay hệ toạ độ khác, sử dụng động cơ chấp hành kiểu nào, có dùng truyền dộng cơ khí phụ hay không. Truyền động cơ khí phụ cho phép sử dụng vùng có lợi nhất trên đặc tuyến của động cơ, mở rộng được vùng tuyến tính của nó, ... nhưng lại chịu các tác động phụ, như biến dạng, tổn hao năng lượng do ma sát, khe hở, các lực và momen phát sinh, như lực ly tâm, dao động, lực coriolis, ... Sự lựa chọn giữa điều khiển trong không gian công tác hay trong không gian khớp cũng là vấn đề khó. Nhiệm vụ của tay máy được thiết lập trong không gian công tác, trong khi tác động điều khiển lại đặt vào các khớp nên biến khớp là đối tượng điều khiển trực tiếp. Vì vậy bài toán động học ngược bao giờ cũng phải được giải, nhưng vị trí của nó khác nhau giữa trường hợp điều khiển trong không gian khớp và điều khiển trong không gian công tác. Khi điều khiển trong không gian khớp, bài toán động học ngược được giải trước để chuyển các thông số từ không gian công tác sang không gian khớp (Hình 1.3). Mạch điều khiển nhận giá trị đặt của các biến khớp và điều khiển khớp theo sát diễn tiến thời gian của biến khớp. Mạch điều khiển kiểu này đơn giản hơn nhưng độ chính xác bị hạn chế do chính đối tượng cần giám sát trực tiếp là phần công tác lại nằm ngoài mạch điều khiển. Hệ điều khiển trong không gian công tác (Hình 1.4) nhận trực tiếp thông số của không gian khớp làm số liệu đầu vào, bài toán ngược được giải trong mạch phản hồi, nên về lý thuyết thì có vẻ chính xác hơn. Tuy nhiên, nó có hai nhược điểm cơ bản. Thứ nhất, hệ điều khiển phức tạp hơn. Thứ hai, hệ thống đo thường gắn lên các khớp, giám sát trực tiếp các thông số của khớp. Muốn chuyển chúng sang không gian công tác thì phải thực hiện các phép tính động học thuận và đó cũng là nguồn phát sinh sai số. Kết luận chương 1: Chương 1 đưa ra các phân tích tổng quát về cấu trúc của tay máy robot, động học của tay máy robot và các đặc tính của các thành phần trong phương trình động lực học của tay máy robot, phân tích các phương pháp điều khiển tay máy robot với các thuật toán điều khiển cơ bản và nâng cao được thực hiện điều khiển vị trí cho tay máy Robot trong cả không gian khớp và không gian Descartes. Việc xây dựng thuật toán điều khiển tay máy robot theo một quỹ đạo đặt trước sẽ được thực hiện trong chương 2. CHƯƠNG II: XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN TAY MÁY ROBOT CÔNG NGHIỆP SỬ DỤNG BỘ ĐIỀU KHIỂN NƠ RON THÍCH NGHI KHÁI QUÁT CHUNG VỀ ĐIỀU KHIỂN THÍCH NGHI Lịch sử phát triển của điều khiển thích nghi Điều khiển thích nghi (ĐKTN) ra đời năm 1958 để đáp ứng yêu cầu của thực tế mà các hệ điều khiển truyền thống không thoả mãn được. Trong các hệ điều khiển truyền thống, các xử lý điều khiển thường dùng những mạch phản hồi là chính. Vì vậy, chất lượng ra của hệ bị thay đổi khi có nhiễu tác động hoặc tham số của hệ thay đổi. Trong hệ ĐKTN cấu trúc và tham số của bộ điều khiển có thể thay đổi được vì vậy chất lượng ra của hệ được đảm bảo theo các chỉ tiêu đã định. Điều khiển thích nghi khởi đầu là do nhu cầu về hoàn thiện các hệ thống điều khiển máy bay. Do đặc điểm của quá trình điều khiển máy bay có nhiều tham số thay đổi và có nhiều yếu tố ảnh hưởng đến quá trình ổn định quỹ đạo bay, tốc độ bay. Ngay từ năm 1958, trên cơ sở lý thuyết về chuyển động của Boócman, lý thuyết điều khiển tối ưu… hệ thống điều khiển hiện đại đã ra đời. Ngay sau khi ra đời lý thuyết này đã được hoàn thiện nhưng chưa được thực thi vì số lượng phép tính quá lớn mà chưa có khả năng giải quyết được. Ngày nay, nhờ sự phát triển mạnh mẽ của công nghệ thông tin, điện tử, máy tính… cho phép giải được những bài toán đó một cách thuận lợi nên hệ thống ĐKTN được ứng dụng đáng kể vào thực tế. Hệ ĐKTN có mô hình mẫu MRAS (Model Reference Adaptive Systems) đã được Whitaker đề xuất khi giải quyết vấn đề điều khiển lái tự động máy bay năm 1958. Phương pháp độ nhậy và luật MIT đã được dùng để thiết kế luật thích nghi với mục đích đánh giá các thông số không biết trước trong sơ đồ MRAS. Thời gian đó việc điều khiển các chuyến bay do còn tồn tại nhiều hạn chế như: thiếu phương tiện tính toán, xử lý tín hiệu và lý thuyết cũng chưa thật hoàn thiện. Đồng thời những chuyến bay thí nghiệm bị tai nạn là cho việc nghiên cứu về lý thuyết điều khiển thích nghi) bị lắng xuống vào cuối thập kỷ 50 và đầu năm 1960. Thập kỷ 60 là thời kỳ quan trọng nhất trong việc phát triển các lý thuyết tự động, đặc biệt là lý thuyết ĐKTN. Kỹ thuật không gian trạng thái và lý thuyết ổn định dựa theo luật Liapunov đã được phát triển. Một loạt các thuyết như: Điều khiển đối ngẫu, điều khiển ngẫu nhiên, nhận dạng hệ thống, đánh giá thông số … ra đời cho phép tiếp tục phát triển và hoàn thiện lý thuyết ĐKTN. Vào năm 1966 Park và các đồng nghiệp đã tìm được phương pháp mới để tính toán lại luật thích nghi sử dụng luật MIT ứng dụng vào các sơ đồ MRAS của những năm 50 bằng cách ứng dụng lý thuyết của Liapunov Tiến bộ của các lý thuyết điều khiển những năm 50 cho phép nâng cao hiểu biết về ĐKTN và đóng góp nhiều vào đổi mới lĩnh vực này. Những năm 70 nhờ sự phát triển của kỹ thuật điện tử và máy tính đã tạo ra khả năng ứng dụng lý thuyết này vào điều khiển các hệ thống phức tạp trong thực tế. Tuy nhiên những thành công của thập kỷ 70 còn gây nhiều tranh luận trong ứng dụng ĐKTN. Đầu năm 1979 người ta chỉ ra rằng những sơ đồ MRAS của thập kỷ 70 dễ mất ổn định do nhiễu tác động. Tính bền vững trong ĐKTN trở thành mục tiêu tập trung nghiên cứu của các nhà khoa học vào năm 1980. Những năm 80 nhiều thiết kế đã được cải tiến, dẫn đến ra đời lý thuyết ĐKTN bền vững. Một hệ ĐKTN được gọi là bền vững nếu như nó đảm bảo chất lượng ra cho một lớp đối tượng trong đó có đối tượng đang xét. Nội dung của bài toán bễn vững trong ĐKTN là điều khiển những đối tượng có thông số không biết trước và biến đổi theo thời gian. Cuối thập kỷ 80 có các công trình nghiên cứu về hệ thống ĐKTN bền vững, đặc biệt là MRAS cho các đối tượng có thông số biến thiên theo thời gian. Các nghiên cứu của những năm 90 đến nay tập trung vào đánh giá kết quả của nghiên cứu những năm 80 và nghiên cứu các lớp đối tượng phi tuyến có tham số bất định. Những cố gắng này đã đưa ra một lớp sơ đồ MRAS xuất phát từ lý thuyết hệ thống phi tuyến. Khái quát về hệ điều khiển thích nghi Trong các nghiên cứu về điều khiển tay máy Robot đã được công bố, các tham số động lực học của tay máy Robot đều được giả sử là được xác định trước và không thay đổi trong khi làm việc. Tuy nhiên trong thực tế, có rất nhiều mô hình động lực học tay máy Robot không được xác định trước và các tham số động lực học có sự thay đổi trong khi làm việc do mô men quán tính thay đổi hoặc do trọng lượng của vật mà tay máy Robot gắp thay đổi. Phương pháp điều khiển thích nghi đã được nghiên cứu, phát triển và ứng dụng rất rộng trong lĩnh vực điều khiển tay máy Robot công nghiệp. Các nghiên cứu về điều khiển thích nghi đầu tiên được giới thiệu trong 1, 2. Một thuật toán điều khiển thích nghi đã được đề xuất trong 7. Phương pháp này được áp dụng hiệu quả đối với trường hợp các tham số của tay máy robot và tải trọng không xác định. Một bộ điều khiển thích nghi bền vững được tổng hợp dựa trên nguyên lý điều khiển trượt với các đặc tính bất định được xấp xỉ bằng mạng nơ ron được công bố trong 3. Một phương pháp điều khiển thích nghi được công bố trong nghiên cứu 6 để đảm bảo chính xác và ổn định vị trí của hệ thống robot có các tham số động lực học không xác định và các vùng chết khi làm việc. Ưu điểm đặc biệt của phương pháp này là các tham số động lực học và các tham số vùng chết được ước lượng đồng thời trong các luật thích nghi và các giá trị ước lượng này được sử dụng trong luật điều khiển. Các phương pháp điều khiển thích nghi đã phân tích ở trên đều điều khiển quỹ đạo của các khớp (điều khiển trong không gian khớp) hoặc quỹ đạo của điểm tác động cuối (điều khiển trong không gian Descartes) bám theo một quỹ đạo mong muốn khi không có bất cứ một ràng buộc nào của môi trường cũng như không xét đến sự ảnh hưởng của lực tương tác giữa điểm tác động cuối của tay máy robot với môi trường. Hệ thống điều khiển thích nghi có thể được phân loại theo một vài cách khác nhau. Điều khiển thích nghi trực tiếp và điều khiển thích nghi gián tiếp + Hệ thống với sự chỉnh định trực tiếp các tham số điều khiển mà không nhận dạng rõ các tham số của đối tượng (điều khiển thích nghi trực tiếp). + Hệ thống với sự điều chỉnh gián tiếp các tham số điều khiển với việc nhận dạng rõ các tham số của đối tượng (điều khiển thích nghi gián tiếp). Hệ thống điều khiển thích nghi mô hình tham chiếu, hầu hết được gọi là MRAS, chủ yếu áp dụng điều khiển thích nghi trực tiếp. Tuy nhiên, việc áp dụng MRAS để nhận dạng hệ thống cũng sẽ được minh hoạ ở nhiên cứu này. Triết lý cơ bản đằng sau việc áp dụng MRAS đó là đặc trưng mong muốn của hệ thống được đưa ra bởi một mô hình toán học, hay còn gọi là mô hình mẫu. Khi hành vi của đối tượng khác với hành vi “lý tưởng” mà hành vi này được xác định bởi mô hình mẫu, đối tượng sẽ được sửa đổi theo 2 cách, hoặc bằng cách chỉnh định các thông số của bộ điều khiển, hoặc bằng cách tạo ra tín hiệu bổ sung đầu vào cho đối tượng này. Điều này có thể được chuyển thành bài toán tối ưu hóa, ví dụ tối thiểu hoá các tiêu chuẩn 4: C=∫_0T▒e2 dt (2.1) Tại đó: e = ym – yp (2.2) Ngoài việc tối thiểu hoá sai lệch giữa những tín hiệu đầu ra của đối tượng và mô hình mẫu, thì tất cả các biến trạng thái của đối tượng và mô hình mẫu còn được đưa vào tính toán. Khi các biến trạng thái của đối tượng được ký hiệu là (xp) và các biến trạng thái của mô hình mẫu ký hiệu là (xm), véc tơ sai lệch e được định nghĩa là: e = xm – xp (2.3) Trong trường hợp này, bài toán tối ưu hoá có thể được chuyển thành tối thiểu hoá tiêu chuẩn: C=∫_oT▒eT Pedt (2.4) Trong đó P là một ma trận xác định dương. Những xem xét sau đây đóng một vai trò nhất định trong việc lựa chọn giữa thích nghi tham số và thích nghi tín hiệu. Một tính chất quan trọng của hệ thống với việc thích nghi tham số đó là vì hệ thống có nhớ. Ngay khi các tham số của đối tượng đã được điều chỉnh đúng với giá trị của chúng và những tham số này không thay đổi nữa, vòng lặp thích nghi trong thực tế không còn cần thiết: đối tượng thực và mô hình mẫu hiển thị các trạng thái như nhau. Do đó, vòng lặp thích nghi vẫn còn cần thiết trong mọi trường hợp, để nhằm liên tục tạo ra những tín hiệu phù hợp ở đầu vào. Do vậy, các hệ thống thích nghi tín hiệu cần phải phản ứng nhanh hơn hẳn đối với những thay đổi động học của đối tượng so với các hệ thống thích nghi tham số vì hệ thích nghi tín hiệu không sử dụng thông tin từ quá khứ. Trong những hệ thống mà các thông số liên tục thay đổi trong một phạm vi rộng, sự có mặt của tính chất nhớ là rất có lợi. Tuy nhiên, trong một môi trường ngẫu nhiên, ví dụ như trong các hệ thống với rất nhiều nhiễu, điều này lại là bất lợi. Hệ số cao trong vòng thích nghi có thể gây nhiễu đưa tới đầu vào của đối tượng. Khi các tham số của đối tượng thay đổi chậm hoặc chỉ thời gian ngắn ngay sau đó và ngay lúc đó, những hệ thống với sự thích nghi tham số đưa ra một cách thực hiện tốt hơn vì chúng có nhớ. Cũng có một vài thuật toán thích nghi mà kết hợp những ưu điểm của cả hai phương pháp trên. Trong những lưu ý sau chủ yếu sẽ được tập trung vào các hệ thống thích nghi tham số, mặc dù vậy việc kết hợp giữa thích nghi tham số và thích nghi tín hiệu cũng sẽ được bàn đến. Một cách khác để xem xét hệ thống như sau. Các vòng điều khiển phản hồi tiêu chuẩn được xem như là một hệ thống điều khiển sơ cấp phản ứng nhanh, chính xác mà nó buộc phải loại ra nhiễu “thông thường”. Những biến thiên lớn trong các tham số hoặc là nhiễu lớn được xử lý bởi hệ thống điều khiển thích nghi (thứ hai) phụ tác động chậm hơn. KHÁI QUÁT CHUNG VỀ MẠNG NƠ RON Mạng nơ ron nhân tạo Mạng nơ ron nhân tạo (Artificial Neural Netyvork ANN) là một hệ nhiều đầu vào nhiều đầu ra (Multi Input Multi OutputMIMO), có cấu trúc mô phỏng theo một số cơ chế xử lý cơ bản của hệ nơ ron thần kinh của não người. Mạng nơ ron là một hệ xử lý song song khác hẳn với cơ chế xử lý tuần tự của máy tính điện tử và là một hệ xử lý mới hứa hẹn nhiều ứng dụng mà máy tính điện tử không giải quyết được hiệu quả. Cấu trúc của mạng nơ ron đặc biệt rất phù hợp với các bài toán phân loại, nhận dạng và xấp xỉ tối ưu dòng dữ liệu trong thời gian thực, trong khi cấu trúc của máy tính điện tử hiện nay có lợi thế trong việc tính chính xác các phép tính và thuật toán số học. Mạng nơ ron bao gồm nhiều nơ ron được kết nối với nhau thành mạng. Mỗi nơ ron có cấu trúc động lực đơn giản và mỗi nơ ron không có ý nghĩa gì khi đứng một mình. Điều kỳ diệu của mạng nơ ron là sự kết nối giữa các nơ ron và với số nút nơ ron càng lớn thì mối kết nối giữa các nơ ron càng có khả năng tăng gấp bội. Chính sự hợp tác này giữa các nơ ron tạo khả năng học, lưu trữ và tạo dựng năng lực xử lý, suy diễn khôn lường. Não người có khoảng 100 tỷ nơ ron, mỗi nơ ron trung bình có 1000 kết nối với các nơ ron khác tạo nên một mạng xử lý song song khổng lồ. Mỗi kết nối của mạng có tốc độ xử lý khoảng 200 phép tínhgiây. Như vậy tốc độ tính toán của não người ước tính là 2.1016 phép tínhgiây vượt xa tốc độ tính toán của máy tính điện tử hiện nay. Mô hình nơ ron đầu tiên được Pitts đề xuất năm 1943 là loại nơ ron ngưỡng nhị phân có khả năng thực hiện 3 phép tính logic cơ bản là NOT, OR và AND bằng việc thay đổi các trọng số và ngưỡng của nơ ron. Do bất cứ hàm logic nào cũng có thể được thực hiện bằng 3 phép logic cơ bản này nên mạng nơ ron CullochPitts có tính xử lý vạn năng như máy tính số hiện hành. Giai đoạn 1960 các thuật học đơn giản như “perceptron”, “adaline” được phát triển nhưng ứng dụng của mạng nơ ron còn bị hạn chế. Vào những năm 1970 các nghiên cứu về cấu trúc cũng như thuật học của mạng nơ ron mới thực sự được chú ý do những hạn chế của máy tính điện tử xử lý tuần tự lúc này bị bộc lộ. Những ứng dụng thiết thực đầu tiên của mạng nơ ron trong việc xử lý thông tin với mô hình mạng Hopfield và mô hình mạng tự tổ chức được xây dựng năm 1982. Sự phát triển của thuật học lan truyền ngược (Back Propagation BP) và những khám phá bước đầu của giải thuật di truyền (thuật gen GA) vào đầu những năm chín mươi đã mở ra một thời kỳ áp dụng mạng nơ ron nhiều lớp vào rất nhiều lĩnh vực như bài toán xử lý ảnh, bài toán xử lý thông tin và trong kỹ thuật điều khiển . Mạng nơ ron với khả năng có thể xấp xỉ được mọi hàm phi tuyến với độ chính xác tuỳ ý cho phép ta tổng hợp được các bộ điều khiển phi tuyến khác nhau. Để thực hiện bài toán điều khiển ta cần phải có mô tả toán học của đối tượng điều khiển và mục tiêu điều khiển. Trên cơ sở đó ta có thể tổng hợp được bộ điều khiển tương ứng. Bài toán điều khiển kinh điển được ứng dụng có hiệu quả khi hệ thống có cấu trúc đã biết. Nhưng bài toán điều khiển hiện đại thường xuyên phải đối mặt với các hệ thống phức tạp, có tính phi tuyến cao và hệ thống là không rõ ràng. Khi đó, cần phải xác định một công cụ điều khiển mới nhằm đáp ứng được các yêu cầu của bài toán điều khiển đặt ra. Mạng nơ ron ngay từ khi mới ra đời đã được sử dụng đặc biệt trong lĩnh vực điều khiển. Trong thực tế, đa số các đối tượng điều khiển đều có đặc trưng phi tuyến. Để giải quyết những bài toán này, lý thuyết tuyến tính hóa được sử dụng rộng rãi trong một thời gian dài trên cơ sở lý thuyết điều khiển hệ tuyến tính. Khi dùng giải pháp này người ta buộc phải chấp nhận những sai số do quá trình tuyến tính hoá, do sự thay đổi của các tham số của đối tượng trong quá trình làm việc, do tác động của nhiễu loạn vv... Các hệ phi tuyến nói chung thường có các đặc trưng phi tuyến rất khác nhau, vì vậy không thể xây dựng được một lý thuyết chung để thiết kế các hệ điều khiển phi tuyến. Đối với những hệ có đặc trưng phi tuyến cao thì phương pháp tuyến tính hoá không thể đáp ứng được. Khi sử dụng ANN làm bộ điều khiển, căn cứ vào từng bài toán điều khiển cụ thể chúng ta có thể xác định thuật học tương ứng cho mạng nơ ron (GA hay BP, Fuzzy, mạng Hopfield thậm chí là Adaline) để giải quyết bài toán một cách nhanh chóng và chính xác nhất. Khi gặp đối tượng điều khiển có đặc tính phi tuyến cao, các tham số không được xác định rõ ràng thì bộ điều khiển nơ ron với thuật học là GA xem ra có nhiều ưu điểm vì đây là một thuật học đơn giản, có thể dễ dàng thực hiện và có tính tối ưu toàn cục. Có khi GA còn được sử dụng để trực tiếp xác định các tham số tối ưu của hệ thống điều khiển. Tuy nhiên như đã trình bày ở trên, cho đến nay chưa có một lý thuyết chung để xây dựng các hệ điều khiển phi tuyến. Vì vậy, khi áp dụng mạng nơ ron và các thuật học tương ứng vào một bài toán điều khiển cụ thể thì vấn đề đảm bảo các chỉ tiêu của điều khiển cũng như xác định tính ổn định và bền vững của hệ thống điều khiển là một trở ngại lớn. Để khắc phục trở ngại này, đối với những bài toán điều khiển phức tạp có thể sử dụng bộ điều khiến nơ ron kết hợp với một vài phương pháp điều khiển kinh điển như tuyến tính hóa phản hồi (feed back linectrizantion) hay điều khiển trượt. Trước đây đối với các đối tượng điều khiển có đặc trưng phi tuyến và tham số bất định như các hệ điều khiển robot trong công nghiệp chẳng hạn thì điều khiển trượt được sử dụng khá phổ biến vì phương pháp này đảm bảo được tính ổn định và bền vững của hệ. Tuy nhiên hiện tượng dao động còn gọi là chatering xuất hiện trong quá trình điều khiến trượt làm ảnh hưởng đáng kể đến chất lượng của điều khiển. Sự phát triển của công nghệ chế tạo đã cho ra đời những chip mạng nơ ron tạo điều kiện thuận lợi cho việc sử dụng mạng nơ ron vào nhiều ứng dụng của điều khiển, do đó các nghiên cứu để phát triển các thuật học cho mạng nơ ron cũng rất được quan tâm. Mạng nơ ron nhân tạo gồm 3 phần chính là mô hình của bản thân các nút nơ ron, mô hình cấu trúc mạng và thuật học của mạng. Ta sẽ điểm qua các tính chất cơ bản của các thành phần này. 1.2.2. Mạng nơ ron RBF (Radial Basic Function Networks) Mạng nơ ron nhân tạo đã được sử dụng thành công trong nhận dạng và điều khiển các hệ động lực. Khả năng xấp xỉ vạn năng của mạng nơ ron nhiều lớp đã được sử dụng để mô hình hóa các hệ phi tuyến và xây dựng các bộ điều khiển đa năng. Ta sẽ đi sâu vào kiến trúc mạng nơ ron RBF (Radial Basis Function). Cấu trúc mạng RBF tối thiểu thường có 3 lớp: lớp vào, lớp ẩn và lớp ra như mô tả trong hình 2.3.11 Lớp 1: Lớp đầu vào. Trong lớp này, các tín hiệu đầu vào x=x_1,x_2,…,x_n được chuyển trực tiếp sang lớp tiếp theo. Lớp 2: Lớp ẩn. Lớp này bao gồm một mảng các đơn vị tính toán được gọi là các nút ẩn. Mỗi nơ ron của lớp ẩn được kích hoạt bởi một hàm cơ sở xuyên tâm. Đầu ra của lớp ẩn được tính như sau: h_j (x)=exp(‖xc_j ‖2(2d_j2 )),j=1,…,m (2.5) Trong đó m là số nút ẩn, c_j=c_j1,…,c_jn là véc tơ của tâm mạng nơ ron, d_j là hàm cơ cơ sở của độ lệch chuẩn thứ j, d=〖d_1,…,d_m〗T, và h_j là hàm kích hoạt Gausian cho mạng nơ ron tâm j. Lớp 3: Lớp đầu ra. Trong lớp này, tín hiệu đầu ra là một tổ hợp có trọng số tuyến tính như sau: f_j (x)=j=1mW_jihj(x,c,d), i=1,…,n Trong đó W_ji là trọng số kết nối nút ẩn thứ j với nút đầu ra thứ i và n là số lượng đầu vào của mạng nơ ron. Các trọng liên kết giữa lớp vào và lớp ẩn thường là cố định. Hàm ra của các nút nơ ron ở lớp ẩn thường là hàm Gauss. Các nơ ron đầu ra là các nơ ron tuyển tính. Các trọng liên kết giữa lớp ẩn và lớp ra đuợc huấn luyện để mạng có thể xấp xỉ được hàm f(s) không biết. Mô hình toán học của mạng RBF được mô tả bằng phương trình sau: f = Wσ = w1,w2,...........wnσ (2.7) Trong đó w1 là vector cột thứ i của ma trận trọng W. Hàm đầu ra σi của nơ ron trong lớp ẩn là dạng phân bố Gauss: σ_i=exp 〖(s_i ci)〗2(λ_j2 ) (2.8) Trong đó c i là trọng tâm và λ i là tham số chuẩn hoá có thể tuỳ chọn của hàm Gauss σi. Lúc này hàm xấp xỉ của f(s) được tính như sau: (〖 f〗_i ) ̅_j=∑_(j=1)n▒〖w_ij σ_j 〗 với i,j =1,2,…,n (2.9) Trong đó wij là các trọng số kết nối giữa nơ ron lớp ẩn và đầu ra của mạng nơ ron xấp xỉ. Theo định lý StoneWeirtrass mạng nơ ron nhân tạo RBF có khả năng xấp xỉ một hàm phi tuyến với độ chính xác ε cho trước với số nút nơ ron hữu hạn. Phương trình xấp xỉ hàm f(s) có thể viết như sau: f(s)= Wσ + ε (2.10) hay: f(s)= f + ε Trong đó Wσ=f ̅,(f_1 ) ̅,(f_2 ) ̅,…(f_n ) ̅ là thành phần xấp xỉ của f(s) , ε là sai số của phép xấp xỉ. với |f(s)|f_0 ta có thể xác định được giới hạn của ε_0 của ε. Ma trận GL và toán tử Trong mục này, định nghĩa về ma trận GL được ký hiệu là {.}, và toán tử của nó là “•” được đưa ra. Để tránh nhầm lẫn, . được sử dụng để ký hiệu vec tơ và ma trận ban đầu. Cho I_∝ là tập số nguyên và ɵkj, ξkj ϵ R(n_kj ) với nkj ϵ I0, k = 1, 2,...,n. Vec tơ hàng GL {θ_k } và chuyển vị của nó {θ_k }T được định nghĩa như sau: {θ_k }= {θ_k1 θ_k2… θ_kn } {θ_k }T={θ_k1T θ_k2(T )… θ_knT } (2.11) Ma trận GL {θ} và chuyển vị {θ}T của nó được định nghĩa lần lượt là: {θ}={█(θ_11 θ_12 ⋯ θ_1nθ_21 θ_22 ⋯ θ_2n⋮ ⋮ ⋱ ⋮ θ_n1 θ_n2 … θ_nn )}={█({θ_1 }{θ_2 }…{θ_n } )} (2.12) {θ}T={█(θ_11T θ_12T ⋯ θ_1nTθ_21T θ_22T ⋯ θ_2nT⋮ ⋮ ⋱ ⋮θ_n1T θ_n2T ⋯ θ_nnT )} (2.13) Đối với một ma trận GL cho trước {Ξ} {Ξ}= {█(ξ_11 ξ_12 ⋯ ξ_1nξ_21 ξ_22 ⋯ ξ_2n⋮ ⋮ ⋱ ⋮ ξ_n1 ξ_n2 … ξ_nn )} (2.14) Tích ma trận GL {Θ}T và {Ξ} là một ma trận n×n được định nghĩa là: {Θ}T. {Ξ}=█(θ_11T ξ_11 θ_12T ξ_12 ⋯ θ_1nT ξ_1nθ_21T ξ_21 θ_22T ξ_22 ⋯ θ_2nT ξ_2n⋮ ⋮ ⋱ ⋮θ_n1T ξ_n1 θ_n2T ξ_n2 ⋯ θ_nnT ξ_nn ) (2.15) Ma trận tích GL của một ma trận vuông với vec tơ hàng GL được định nghĩa như sau. Cho Γ_k= Γ_kT= γ_(k1 ) γ_(k2 )…γ_(kn ) ,γ_kj ϵ R(m×n_kj ),m=∑_(j=1)n▒n_kj thì ta có: Γ_k.{ξ_k }={Γ_k }.{ξ_k }=γ_k1 ξ_(k1 ) γ_k1 ξ_(k1 )…〖 γ〗_k1 ξ_(k1 ) ϵR(m×n) (2.16) Chú ý rằng ma trận tích GL phải được tính trước trong ma trận tích hỗn hợp. Ví dụ trong tập {A}.{B}C, ma trận {A}.{B} phải được tính trước sau đó mới nhân {A}.{B} với ma trận C. 2.2.3 Ước lượng mạng nơ ron Trong lĩnh vực kỹ thuật điều khiển, mạng nơ ron thương được sử dụng để ước lượng hàm tuyến tính f(y) với hệ số dung sai (hệ số tolerance) lệch nhỏ. Vấn đề ước lượng hàm có thể được thực hiện từng bước như sau: Định nghĩa: Cho hàm f(y): Rn →Rm là một hàm liên tục được đĩnh nghĩa trên tập y ϵ Rn và f ̂(W,y): R(l×m) ×Rn→ Rm là một hàm ước lượng phụ thuộc một cách liên tục vào ma trận W có tham số W và y, vấn đề ước lượng là để xác định tham số tối ưu W. d(f ̂(W,y),f(y))≤ ∈ (2.17) ∈ một hằng số nhỏ ở mức có thể chấp nhận được 10. Trong mục này, mạng nơ ron RBF Gaussian được xem xét. Đây là cấu trúc mạng đặc trưng sử dụng hệ số l của hàm Gaussian theo công thức: a_i (y)=exp(((yμ_i )T (yμ_i))σ2 ) (2.18) Tại đó μ_i ϵRn là vec tơ trung tâm và σ2 ϵRn là phương sai. Như hình 2.3, mỗi mạng RBF Gaussian bao gồm 3 lớp: lớp dữ liệu đầu vào, lớp ẩn có chứa hàm Gaussian và lớp dữ liệu đầu ra. Ở lớp dữ liệu đầu vào, không gian vào được chia thành mạng lưới với hàm cơ bản tại mỗi điểm nút định nghĩa trường phạm vi có phản hồi trong Rn. Dữ liệu đầu ra của mạng f ̂(W,y) được cho bởi công thức: f ̂(W,y)=WT a(y) (2.19) Với a(y)=a_1 (y) a_1 (y) …〖 a〗_1 (y) là véc tơ hàm cơ bản. Chú ý chỉ liên kết từ lớp ẩn để dữ liệu đầu ra được xem xét. Mạng RBF Gaussian đã khá thành công trong việc biểu diễn hàm tuyến tính phức tạp. Ta thấy trùng lặp tuyến tính của hàm cơ bản nội suy Gaussian cho một ước lượng giá trị trung bình bình quân đến hàm không biết mà khác biệt hoàn toàn với giá trị của nó được được trưng bởi tập các điểm không giới hạn trên Rn. Hơn nữa người ta đã chứng minh hàm liên tục không nhất thiết là hàm liên tục đều có thể được ước lượng đồng đều bởi kết hợp tuyến tính của Gassians. 2.2.4. Động lực học của tay máy robot Xét một tay máy robot với n khớp, phương trình động học của tay máy Robot có n khớp được viết như sau: D(q) q ̈+C(q,q ̇ ) q ̇+G(q)=τ (2.20) Tại đó q ϵ Rn là vec tơ khớp nối, τ ϵ Rn là vec tơ của mô men nối cấp bởi bộ dẫn động. D(q) ϵ R(m×n) là ma trận quán tính xác định dương đối xứng, C(q,q ̇ )ϵ R(m×n) là Coriolis và ma trận ly tâm, G(q) ϵ Rn là vec tơ của lực hấp dẫn. Thường thì thông số kỹ thuật tác vụ của tay máy robot có mối quan hệ tương đối với yếu tố tác động cuối. Do đó, việc cố gắng suy ra thuật toán điều khiển trực tiếp từ không gián tác vụ là tự nhiên hơn so với trong không gian nối. Ký hiệu định vị tác động cuối và định hướng trong không gian tác nghiệp là x ϵ〖 R〗n. Mô hình động không gian tác vụ có thể được viết như sau: D_x (q) x ̈+C_x (q,q ̇ ) x ̇+G_x (q)=F_x (2.21) Tại đó: D_x (q)=J(T) (q)D(q)J(1) (q) (2.22) C_x (q,q ̇ )=J(T) (q)(C(q,q ̇ )D(q) J(1) (q)J(q))J(1) (q) (2.23) G_x (q)=J(T) (q)G(q) (2.24) F_x=J(T) (q)τ (2.25) Và J(q)ϵ R(m×n) là ma trận Jacobian phụ thuộc cấu hình, ma trận này được giả định là không suy biến trong không gian làm việc giới hạn. Phương trình mô hình động ở trên có các đặc tính cấu trúc hữu ích như sau, những tính chất này có thể tận dụng khai thác để tiến hành thiết kế hệ thống điều khiển như sau: Tính chất 1: Ma trận quán tính Dx(q) là đối xứng và xác định dương. Tính chất 2: Ma trận là đối xứng lệch (đối xứng xiên) nếu N≔D ̇_x (q)2C_x (q,q ̇) được định nghĩa bởi ký hiệu Chrisstoffel. Quan sát thất cả D_x (q) và G_x (q) là hàm chỉ của q, do đó mạng nơ ron tĩnh đã đủ để tạo mô hình cho chúng. Giả thiết rằng d_xkj (q) và g_xk (q) được hô hình hóa là: d_xkj (q)=∑_l▒〖θ_kjl ξ_kjl (q)〗+ε_dkj (q)=θ_kjT ξ_kj (q)+ε_dkj (q) (2.26) g_xk (q)=∑_l▒〖β_kl η_kl (q)〗+ε_gk (q)=β_kT η_k (q)+ε_gk (q) (2.27) Tại đó θ_kjl,β_kl ϵ R là trọng số của mạng nơ ron, ξ_kjl (q),η_kl (q) ϵ R là hàm cơ bản Gaussian tương ứng với vec tơ đầu vào q và ε_dkj (q), ε_gk (q) lần lượt là sai số mô hình của d_xkj (q) và g_xk (q) , chúng được giả định là bị chặn. Vì thế, mô hình động không gian tác vụ C_xkj (q,q ̇) có thể được miêu tả như sau: D_x (q) x ̈+C_x (q,q ̇ ) x ̇+G_x (q)=F_x (2.28) Với: d_xkj (q)=θ_kjT ξ_kj
LỜI CAM ĐOAN Tôi xin cam đoan công trình nghiên cứu riêng tơi Các số liệu, kết nêu luận văn hoàn toàn trung thực chưa cơng bố cơng trình khoa học khác, liệu tham khảo trích dẫn đầy đủ Tác giả luận văn LỜI CẢM ƠN Trước tiên, tơi bày tỏ kính trọng xin gửi lời cảm ơn sâu sắc tới giáo viên hướng dẫn TS ln ln nhiệt tình bảo ln động viên để tơi hồn thành luận văn Tiếp theo, gửi lời cảm ơn tới trung tâm đào tạo sau đại học, cán công tác trung tâm giúp đỡ tơi q trình học tập, nghiên cứu khoa học có ý kiến đóng góp quý báu nội dung, bố cục luận văn Cuối cùng, muốn gửi lời cảm ơn tới gia đình tơi, bố mẹ, anh chị em động viên tạo điều kiện để tơi có động lực tâm thực thành công luận văn Do thời gian thực có hạn, kiến thức chun mơn cịn nhiều hạn chế, luận văn thực chắn tránh khỏi thiếu sót định Tơi mong nhận ý kiến đóng góp thầy, giáo bạn Xin chân thành cảm ơn! MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN .ii DANH MỤC CÁC KÝ HIỆU ĐƯỢC VIẾT TẮT .v DANH MỤC CÁC HÌNH VẼ vi MỞ ĐẦU………………………………………………………………….… CHƯƠNG 1: TỔNG QUAN VỀ TAY MÁY ROBOT CÔNG NGHIỆP 1.1 GIỚI THIỆU CHUNG 1.1.1 Khái niệm robot công nghiệp 1.1.2 Lịch sử phát triển robot 1.1.3 Ưu điểm nhược điểm robot .7 1.1.4 Cấu trúc chung robot công nghiệp 1.1.5 Động lực học tay máy robot 1.2 TỔNG QUAN VỀ ĐIỀU KHIỂN TAY MÁY ROBOT 12 KẾT LUẬN CHƯƠNG 1: 16 CHƯƠNG 2: XÂY DỰNG THUẬT TOÁN ĐIỀU KHIỂN TAY MÁY ROBOT CÔNG NGHIỆP SỬ DỤNG BỘ ĐIỀU KHIỂN NƠ RON THÍCH NGHI 17 2.1 KHÁI QUÁT CHUNG VỀ ĐIỀU KHIỂN THÍCH NGHI 17 2.1.1 Lịch sử phát triển điều khiển thích nghi .17 2.1.2 Khái quát hệ điều khiển thích nghi 19 2.2 KHÁI QUÁT CHUNG VỀ MẠNG NƠ RON 23 2.2.1 Mạng nơ ron nhân tạo 23 2.2.2 Ma trận GL toán tử 28 2.2.3 Ước lượng mạng nơ ron .29 2.2.4 Động lực học tay máy robot 30 2.2.5 Thiết kế điều khiển 32 KẾT LUẬN CHƯƠNG 2: 37 CHƯƠNG 3: MÔ PHỎNG VÀ ĐÁNH GIÁ KẾT QUẢ 38 3.1 MƠ HÌNH TỐN HỌC VÀ CÁC THAM SỐ MÔ PHỎNG 38 3.2 SƠ ĐỒ MÔ PHỎNG VÀ KẾT QUẢ MÔ PHỎNG .40 3.2.1 Sơ đồ mô 40 3.2.2 Kết mô nhận xét 52 KẾT LUẬN 57 Kết luận…………………………………………………………………… 66 TÀI LIỆU THAM KHẢO………………………………………………… 58 DANH MỤC CÁC KÝ HIỆU ĐƯỢC VIẾT TẮT H(q) Ma trận quán tính Véc tơ ly tâm tương hỗ Véc tơ thành phần trọng trường Véc tơ ma sát Hệ số ma sát nhớt Véc tơ mô men đặt vào khớp Thành phần nhiễu G Gia tốc trọng trường Ma trận hướng hệ tọa độ gắn lên khâu tác động cuối so với hệ tọa độ gốc Ma trận Jacobi Robot S Ma trận chọn điều khiển lai vị trí/lực Inxm Ma trận đơn vị Ma trận chiếu theo phương tiếp tuyến Ma trận chiếu theo phương pháp tuyến Toán tử Lagrange điểm tương tác Hệ số khuếch đại sai lực L Hệ số khuếch đại sai lệch vị trí Hệ số cập nhập tham số động lực học Vị trí khâu tác động cuối hệ trục tọa độ { 0} DANH MỤC CÁC HÌNH VẼ Hình 1.1: Mơ hình tay máy robot cơng nghiệp Hình 1.2: Sơ đồ phương pháp điều khiển tay máy robot 10 Hình 1.3: Sơ đồ cấu trúc điều khiển chung không gian khớp 12 Hình 1.4: Sơ đồ điều khiển chung khơng gian cơng tác 13 Hình 2.1: Sơ đồ cấu trúc điều khiển thích nghi tín hiệu 18 Hình 2.2: Sơ đồ cấu trúc điều khiển cấp cấp 19 Hình 2.3: Cấu trúc mạng RBF .23 Hình 2.4: Sơ đồ cấu trúc điều khiển 30 Hình 3.1: Mơ hình tay máy robot bậc tự .35 Hình 3.2: Sơ đồ khối mơ tả hệ thống điều khiển Simulink 37 Hình 3.3: Đáp ứng vị trí bám x1 .50 Hình 3.4: Đáp ứng vị trí bám x2 .50 Hình 3.5: Vận tốc thực vận tốc bám x1 .51 Hình 3.7: Mơ men điều khiển 51 Hình 3.9: Dạng ước lượng C 52 Hình 3.8: Dạng ước lượng M 52 Hình 3.10: Dạng ước lượng G 52 Hình 3.11: Quỹ đạo bám tay máy robot 53 MỞ ĐẦU 1.1 Lý chọn đề tài Trong cách mạng công nghệ 4.0 nay, robot công cụ thiếu nhiều lĩnh vực Hiện robot ứng dụng mặt đời sống xã hội loài người như: nhà máy, robot tham gia vào dây chuyền sản xuất thay sức lao động người Lĩnh vực an ninh có robot giám sát an ninh địa điểm quan trọng mơi trường phức tạp Trong lĩnh vực quốc phịng robot sử dụng ngày rộng rãi máy bay không người lái, xe tăng không người lái, tàu chiến khơng người lái, robot thay lính binh chiến trường Trong lĩnh vực y học có robot phục vụ cho việc phẫu thuật thay bác sĩ với độ xác cao, khơng phụ thuộc vào yếu tố tâm lí người Robot sử dụng lĩnh vực thám hiểm, thăm dò vùng đất vùng biển mà người chưa khám phá Ngày robot sử dụng việc khám phá, thăm dò hành tinh khác ngồi trái đất, sử dụng để tìm kiếm sống ngồi trái đất Những năm gần đây, tay máy kết hợp robot di động ứng dụng phát triển cách nhanh chóng nhiều lĩnh vực khác nhau, đáp ứng đòi hỏi kĩ thuật ngày cao lĩnh vực giới như: lắp ráp, khai thác mỏ, xây dựng, vận chuyển phận nhà máy có địa hình phức tạp với nhiều chướng ngại vật (có thể biết trước khơng biết trước) Khi nói đến vấn đề chuyển động tay máy kết hợp với robot di động có nhiều nghiên cứu cải tiến điều khiển cho tay máy kết hợp robot di động cách xác hơn, mục đích việc giải vấn đề chuyển động điều khiển cánh tay Robot kết hợp với Robot di động từ trạng thái ban đầu đến trạng thái với cấu chấp hành cuối đươc xác định vị trí mong muốn Điều khiển Robot nhiều vấn đề cần giải độ phức tạp, tính phi tuyến độ bất định hệ phương trình động lực động lực học robot gây nên Các nghiên cứu lĩnh vực phát triển mạnh phịng thí nghiệm, trường đại học hàng đầu giới Phát triển thuật toán điều khiển cho robot vấn đề khoa học nghiên cứu robot điện tử Ở Việt Nam vấn đề ngày nhiều người quan tâm nghiên cứu Gần vấn đề điều khiển cho robot có nhiều tham số bất định nhận nhiều ý giới nghiên cứu Vì em lựa chọn đề tài: “nghiên cứu xây dựng điều khiển tay máy robot dựa mạng nơ ron thích nghi” 1.2 Tính cấp thiết đề tài Trong thời kỳ phát triển công nghiệp nay, việc ứng dụng khoa học công nghệ quân sự, sản xuất công nghiệp sinh hoạt đặt lên hàng đầu Trong đó, việc xây dựng phát triển modul điều khiển, thuật toán điều khiển thiết bị quân sự, dây truyền sản xuất hệ thống điều khiển tự động hóa ngày trọng phát triển Có thể nói Robot cơng nghiệp đóng vai trị nịng cốt cách mạng cơng nghiệp lần thứ 4, Robot yêu cầu ngày thông minh hơn, thích nghi tốt với mơi trường biến đổi liên tục chuyển đổi sản xuất linh hoạt hệ thống sản xuất FMS Điều đặt thách thức cho nhà nghiên cứu tập trung vào tăng khả ứng dụng tương tác Robot với trình sản xuất thực tế, đặc biệt phát triển thuật tốn điều khiển thơng minh cho Robot Nghiên cứu động học điều khiển tay máy Robot phát triển mạnh nước xem nghành nghiên cứu nghành Robot Vì vậy, có nhiều thuật toán điều khiển kinh điển đại nghiên cứu ứng dụng để điều khiển tay máy Robot ví dụ PID bù trọng trường, điều khiển trượt, điều khiển thích nghi, điều khiển Backsteping, điều khiển bền vững, điều khiển sử dụng hệ logic mờ, nơron… 1.3 Mục tiêu phương pháp nghiên cứu 1.3.1 Mục đích nghiên cứu Nghiên cứu khảo sát mơ hình động lực tay máy robot cơng nghiệp Từ đề xuất điều khiển thích nghi sử dụng mạng nơ-ron nhằm nâng cao chất lượng điều khiển, độ ổn định tay máy robot công nghiệp, ứng dụng đòi hỏi chất lượng độ xác cao 1.3.2 Nội dung nghiên cứu Đối tượng nghiên cứu tay máy robot chuyển động theo quỹ đạo đặt Phạm vi nghiên cứu luận văn giới hạn nhiệm vụ điều khiển tay máy obot ba bậc tự chuyển động bám theo quỹ đạo đặt 1.3.3 Phương pháp nghiên cứu - Nêu lên vấn đề đối tượng nghiên cứu - Phân tích xây dựng mơ hình động lực học, vấn đề đối tượng nghiên cứu - Tìm hiểu nghiên cứu nước điều khiển tay máy robot - Xây dựng thuật toán điều khiển - Chứng minh tính đắn thuật tốn điều khiển - Kiểm tra tính đắn thuật tốn điều khiển phần mềm mô Matlab-Simulink CHƯƠNG I: TỔNG QUAN VỀ TAY MÁY ROBOT CÔNG NGHIỆP 1.1 GIỚI THIỆU CHUNG 1.1.1 Khái niệm robot công nghiệp Robot công nghiệp định nghĩa theo số tiêu chuẩn sau: Theo tiêu chuẩn RIA Mỹ (Robot institute of America): Robot tay máy vạn lặp lại chương trình, thiết kế để di chuyển vật liệu, chi tiết, dụng cụ, thiết bị chun dùng thơng qua chương trình chuyển động thay đổi để hồn thành nhiệm vụ khác Theo tiêu chuẩn AFNOR Pháp: Robot công nghiệp cấu chuyển động tự động lập trình, lặp lại chương trình, tổng hợp chương trình đặt trục tọa độ, có khả định vị, định hướng, di chuyển đối tượng vật chất chi tiết, đạo cụ, gá lắp theo hành trình thay đổi chương trình hóa nhằm thực nhiệm vụ công nghệ khác Theo tiêu chuẩn TOCT 25686-85 Nga: Robot công nghiệp máy tự động, đặt cố định di động được, liên kết tay máy hệ thống điều khiển theo chương trình, lặp lặp lại để hoàn thành chức vận động điều khiển q trình sản xuất Do đó, robot cơng nghiệp hiểu thiết bị tự động linh hoạt, thực chức lao động công nghiệp người hệ thống điều khiển theo chương trình lập trình sẵn 45 PHỤ LỤC Phụ lục 1: Code chương trình mơ Khối đầu vào (input) mơ tả quỹ đạo đặt ban đầu đạo hàm chúng Chương trình viết Matlab sau: function [sys,x0,str,ts] = spacemodel(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 3, sys=mdlOutputs(t,x,u); case {2,4,9} sys=[]; otherwise error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs sizes.NumInputs = 6; = 0; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; sys = simsizes(sizes); x0 = []; 45 46 str = []; ts = [0 0]; function sys=mdlOutputs(t,x,u) xd1=1+0.1*cos(pi*t); d_xd1=-0.1*pi*sin(pi*t); dd_xd1=-0.1*pi*pi*cos(pi*t); xd2=1+0.1*sin(pi*t); d_xd2=0.1*pi*cos(pi*t); dd_xd2=-0.1*pi*pi*sin(pi*t); sys(1)=xd1; sys(2)=d_xd1; sys(3)=dd_xd1; sys(4)=xd2; sys(5)=d_xd2; sys(6)=dd_xd2; Khối điều khiển (control) thực luật điều khiển mô tả phương trình (2.39) Chương trình viết Matlab sau: function [sys,x0,str,ts] = spacemodel(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 3, sys=mdlOutputs(t,x,u); case {2,4,9} sys=[]; 46 47 otherwise error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes global node c_M c_C c_G b ce node=7; c_M=zeros(2,node); c_G=zeros(2,node); c_C=zeros(4,node); c_M=[0.25 0.5 0.75 1.25 1.5 1.75; 0.25 0.5 0.75 1.25 1.5 1.75]; c_G=[0.25 0.5 0.75 1.25 1.5 1.75; 0.25 0.5 0.75 1.25 1.5 1.75]; c_C=[0.25 0.5 0.75 1.25 1.5 1.75; 0.25 0.5 0.75 1.25 1.5 1.75; -1.5 -1 -0.5 0.5 1.0 1.50; -1.5 -1 -0.5 0.5 1.0 1.50]; b=10; ce=15.0; sizes = simsizes; sizes.NumContStates = 10*node; sizes.NumDiscStates = 0; sizes.NumOutputs sizes.NumInputs = 5; = 10; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 0; sys = simsizes(sizes); 47 48 x0 = zeros(1,10*node); str = []; ts = []; function sys=mdlDerivatives(t,x,u) global node c_M c_C c_G b ce xd1=u(1); d_xd1=u(2); dd_xd1=u(3); xd2=u(4); d_xd2=u(5); dd_xd2=u(6); x1=u(7); d_x1=u(8); x2=u(9); d_x2=u(10); xx=[x1;x2]; for j=1:1:node h_M11(j)=exp(-norm(xx-c_M(:,j))^2/(b*b)); h_M12(j)=exp(-norm(xx-c_M(:,j))^2/(b*b)); h_M21(j)=exp(-norm(xx-c_M(:,j))^2/(b*b)); h_M22(j)=exp(-norm(xx-c_M(:,j))^2/(b*b)); end for j=1:1:node h_G1(j)=exp(-norm(xx-c_G(:,j))^2/(b*b)); h_G2(j)=exp(-norm(xx-c_G(:,j))^2/(b*b)); end z=[x1;x2;d_x1;d_x2]; 48 49 for j=1:1:node h_C11(j)=exp(-norm(z-c_C(:,j))^2/(b*b)); h_C12(j)=exp(-norm(z-c_C(:,j))^2/(b*b)); h_C21(j)=exp(-norm(z-c_C(:,j))^2/(b*b)); h_C22(j)=exp(-norm(z-c_C(:,j))^2/(b*b)); end W_M11=[x(1:node)]'; W_M12=[x(node+1:node*2)]'; W_M21=[x(node*2+1:node*3)]'; W_M22=[x(node*3+1:node*4)]'; e1=xd1-x1; e2=xd2-x2; de1=d_xd1-d_x1; de2=d_xd2-d_x2; e=[e1;e2]; de=[de1;de2]; Hur=ce*eye(2); r=de+Hur*e; dxd=[d_xd1;d_xd2]; dxr=dxd+Hur*e; ddxd=[dd_xd1;dd_xd2]; ddxr=ddxd+Hur*de; T_M11=2*eye(node); T_M12=2*eye(node); T_M21=2*eye(node); T_M22=2*eye(node); for i=1:1:node %Dot theta for M 49 50 sys(i)=T_M11(i,i)*h_M11(i)*ddxr(1)*r(1); sys(i+node)=T_M12(i,i)*h_M12(i)*ddxr(2)*r(1); sys(i+node*2)=T_M21(i,i)*h_M21(i)*ddxr(1)*r(2); sys(i+node*3)=T_M22(i,i)*h_M22(i)*ddxr(2)*r(2); end W_G1=[x(node*4+1:node*5)]'; W_G2=[x(node*5+1:node*6)]'; T_G1=5*eye(node); T_G2=5*eye(node); for i=1:1:node %Dot beta for G sys(i+node*4)=T_G1(i,i)*h_G1(i)*r(1); sys(i+node*5)=T_G2(i,i)*h_G2(i)*r(2); end W_C11=[x(node*6+1:node*7)]'; W_C12=[x(node*7+1:node*8)]'; W_C21=[x(node*8+1:node*9)]'; W_C22=[x(node*9+1:node*10)]'; T_C11=0.5*eye(node); T_C12=0.5*eye(node); T_C21=0.5*eye(node); T_C22=0.5*eye(node); for i=1:1:node %Dot alpha for C sys(i+node*6)=T_C11(i,i)*h_C11(i)*dxr(1)*r(1); sys(i+node*7)=T_C12(i,i)*h_C12(i)*dxr(2)*r(1); sys(i+node*8)=T_C21(i,i)*h_C21(i)*dxr(1)*r(2); sys(i+node*9)=T_C22(i,i)*h_C22(i)*dxr(2)*r(2); end 50 51 function sys=mdlOutputs(t,x,u) global node c_M c_C c_G b ce xd1=u(1); d_xd1=u(2); dd_xd1=u(3); xd2=u(4); d_xd2=u(5); dd_xd2=u(6); x1=u(7); d_x1=u(8); x2=u(9); d_x2=u(10); xx=[x1;x2]; for j=1:1:node h_M11(j)=exp(-norm(xx-c_M(:,j))^2/(b*b)); h_M12(j)=exp(-norm(xx-c_M(:,j))^2/(b*b)); h_M21(j)=exp(-norm(xx-c_M(:,j))^2/(b*b)); h_M22(j)=exp(-norm(xx-c_M(:,j))^2/(b*b)); end for j=1:1:node h_G1(j)=exp(-norm(xx-c_G(:,j))^2/(b*b)); h_G2(j)=exp(-norm(xx-c_G(:,j))^2/(b*b)); end z=[x1;x2;d_x1;d_x2]; for j=1:1:node h_C11(j)=exp(-norm(z-c_C(:,j))^2/(b*b)); h_C12(j)=exp(-norm(z-c_C(:,j))^2/(b*b)); 51 52 h_C21(j)=exp(-norm(z-c_C(:,j))^2/(b*b)); h_C22(j)=exp(-norm(z-c_C(:,j))^2/(b*b)); end W_M11=[x(1:node)]'; W_M12=[x(node+1:node*2)]'; W_M21=[x(node*2+1:node*3)]'; W_M22=[x(node*3+1:node*4)]'; MSNN_g=[W_M11*h_M11' W_M12*h_M12'; W_M21*h_M21' W_M22*h_M22']; Mm_g=norm(MSNN_g); W_G1=[x(node*4+1:node*5)]'; W_G2=[x(node*5+1:node*6)]'; GSNN_g=[W_G1*h_G1'; W_G2*h_G2']; Gm_g=norm(GSNN_g); W_C11=[x(node*6+1:node*7)]'; W_C12=[x(node*7+1:node*8)]'; W_C21=[x(node*8+1:node*9)]'; W_C22=[x(node*9+1:node*10)]'; CDNN_g=[W_C11*h_C11' W_C12*h_C12'; W_C21*h_C21' W_C22*h_C22']; Cm_g=norm(CDNN_g); e1=xd1-x1; e2=xd2-x2; de1=d_xd1-d_x1; de2=d_xd2-d_x2; e=[e1;e2]; 52 53 de=[de1;de2]; Hur=ce*eye(2); r=de+Hur*e; dxd=[d_xd1;d_xd2]; dxr=dxd+Hur*e; ddxd=[dd_xd1;dd_xd2]; ddxr=ddxd+Hur*de; Ks=0.5; K=50*eye(2); Fx=MSNN_g*ddxr+CDNN_g*dxr+GSNN_g+K*r+Ks*sign(r); sys(1)=Fx(1); sys(2)=Fx(2); sys(3)=Mm_g; sys(4)=Cm_g; sys(5)=Gm_g; Khối robot: mô tả động lực học tay máy robot bậc tự phương trình (3.1) Chương trình viết Matlab sau: function [sys,x0,str,ts]=s_function(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 3, sys=mdlOutputs(t,x,u); case {2, 4, } sys = []; 53 54 otherwise error(['Unhandled flag = ',num2str(flag)]); end function [sys,x0,str,ts]=mdlInitializeSizes global J Mx Cx Gx l1 l2 l1=1;l2=1; sizes = simsizes; sizes.NumContStates = 4; sizes.NumDiscStates = 0; sizes.NumOutputs sizes.NumInputs = 9; = 2; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 0; sys=simsizes(sizes); x0=[1 0]; str=[]; ts=[]; J=0;Mx=0;Cx=0;Gx=0; function sys=mdlDerivatives(t,x,u) global J Mx Cx Gx l1 l2 P=[2.66 1.42 1.63 4.75 2.25]; g=9.8; L=[l1^2 l2^2 l1*l2 l1 l2]; D=P+pl*L; Q=(x(1)^2+x(3)^2-l1^2-l2^2)/(2*l1*l2); q2=acos(Q); dq2=-1/sqrt(1-Q^2); 54 55 A=x(3)/x(1); p1=atan(A); d_p1=1/(1+A^2); B=sqrt(x(1)^2+x(3)^2+l1^2-l2^2)/(2*l1*sqrt(x(1)^2+x(3)^2)); p2=acos(B); d_p2=-1/sqrt(1-B^2); if q2>0 q1=p1-p2; dq1=d_p1-d_p2; else q1=p1+p2; dq1=d_p1+d_p2; end J=[-sin(q1)-sin(q1+q2) -sin(q1+q2); cos(q1)+cos(q1+q2) cos(q1+q2)]; d_J=[-dq1*cos(q1)-(dq1+dq2)*cos(q1+q2) -(dq1+dq2)*cos(q1+q2); -dq1*sin(q1)-(dq1+dq2)*sin(q1+q2) -(dq1+dq2)*sin(q1+q2)]; M=[D(1)+D(2)+2*D(3)*cos(q2) D(2)+D(3)*cos(q2); D(2)+D(3)*cos(q2) D(2)]; C=[-D(3)*dq2*sin(q2) -D(3)*(dq1+dq2)*sin(q2); D(3)*dq1*sin(q2) 0]; G=[D(4)*g*cos(q1)+D(5)*g*cos(q1+q2); D(5)*g*cos(q1+q2)]; Mx=(inv(J))'*M*inv(J); Cx=(inv(J))'*(C-M*inv(J)*d_J)*inv(J); Gx=(inv(J))'*G; Fx=u(1:2); 55 56 dx=[x(2);x(4)]; S=inv(Mx)*(Fx-Cx*dx-Gx); sys(1)=x(2); sys(2)=S(1); sys(3)=x(4); sys(4)=S(2); function sys=mdlOutputs(t,x,u) global J Mx Cx Gx l1 l2 Gm=norm(Gx); Cm=norm(Cx); Mm=norm(Mx); Fx=u(1:2); sys(1)=x(1); sys(2)=x(2); sys(3)=x(3); sys(4)=x(4); sys(5)=Mm; sys(6)=Cm; sys(7)=Gm; sys(8:9)=J'*Fx; 56