Nghiên cứu hệ thống điều khiển trượt cho chuyển động tay máy 3 bậc tự do

Tài liệu Nghiên cứu hệ thống điều khiển trượt cho chuyển động tay máy 3 bậc tự do: ... Ebook Nghiên cứu hệ thống điều khiển trượt cho chuyển động tay máy 3 bậc tự do

doc140 trang | Chia sẻ: huyen82 | Lượt xem: 2872 | Lượt tải: 2download
Tóm tắt tài liệu Nghiên cứu hệ thống điều khiển trượt cho chuyển động tay máy 3 bậc tự do, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỞ ĐẦU Theo quá trình phát triển của xã hội, nhu cầu nâng cao sản xuất và chất lượng sản phẩm ngày càng đòi hỏi ứng dụng rộng rãi các phương tiện tự động hóa sản xuất. Xu hướng tạo ra những dây chuyền và thiết bị tự động có tính linh hoạt cao đã hình thành và phát triển mạnh mẽ…Vì thế ngày càng tăng nhanh nhu cầu ứng dụng người máy để tạo ra các hệ sản xuất tự động linh hoạt. Robot ứng dụng rộng rãi và đóng vai trò quan trọng sản xuất cũng như trong đời sống. Robot là cơ cấu đa chức năng có khả năng lập trình được dùng để di chuyển nguyên vật liệu, các chi tiết, các dụng cụ thông qua các truyền động được lập trình trước. Khoa học robot chủ yếu dựa vào các phép toán về đại số ma trận. Robot có thể thao tác như con người và có thể hợp tác với nhau một cánh thông minh . Robot có cánh tay với nhiều bậc tự do và có thể thực hiện được các chuyển động như tay người và điều khiển được bằng máy tính hoặc có thể điều khiển bằng chương trình được nạp sẵn trong chip trên bo mạch điều khiển robot . Các Robot đã dược sử dụng để phục vụ cho các máy móc công nghiệp ngay từ khi kỹ thuật này ra đời . Mô hình Robot đầu tiên ra đời vào năm 1960. Năm 1961 robot công nghiệp (Industrial Robot : IR) ra đời. Càng ngày ngành robot càng phát triển, nó đem lại những thay đổi quan trọng trong chế tạo sản phẩm và nâng cao năng suất chất lượng ở rất nhiều ngành công nghiệp. Theo [4] thì : Robot công nghiệp là một cơ cấu tay máy nhiều chức năng, với chương trình làm việc thay đổi được, dùng để thực hiện một số thao tác sản xuất. Sử dụng RBCN, các xí nghiệp công nghiệp thu được nhiều lợi ích như: tăng thời gian hoạt động của máy móc, tăng độ linh hoạt, có khả năng định trước được công việc sản xuất và tăng sản lượng nhờ làm ổn định quá trình. Việc tự động hóa nhờ robot cũng khắc phục được tình trạng thiếu nhân công, đồng thời tăng được độ an toàn và công thái học cho công nhân. Việc tiết kiệm nhân công đã hạ được giá thành sản phẩm, một ưu điểm quyết định khả năng cạnh tranh. Giá thành của robot đang giảm đi trong khi tính năng của nó được gia tăng và công nghệ ngày càng dễ sử dụng. RBCN và máy CNC có thể kết hợp với nhau thành một hệ thống và có thể lập trình điều khiển bằng máy tính để cho chúng hoạt động theo công nghệ đã đặt ra. Robot đóng vai trò quan trọng trong tự động hoá linh hoạt như công tác vận chuyển bổ trợ cho máy CNC, trong dây chuyền lắp ráp, sơn hàn tự động, trong các thao tác lặp đi lặp lại, trong các vùng nguy hiểm. Một robot có thể chuyển động từ vị trí này sang vị trí khác để cung cấp chi tiết đồng thời vẫn giao tiếp với các thiết bị ngoại vi như bộ PLC, bàn điều khiển hoặc hệ thống mạng truyền thông công nghiệp. Ưu điểm quan trọng nhất của kỹ thuật robot là tạo nên khả năng linh hoạt hóa sản xuất. Việc sử dụng máy tính điện tử - robot và máy điều khiển theo chương trình đã cho phép tìm được những phương thức mới mẻ để tạo nên các dây chuyền tự động cho sản xuất hàng loạt với nhiều mẫu, loại sản phẩm. Kỹ thuật robot công nghiệp và máy vi tính đã đóng vai trò quan trọng trong việc tạo ra các dây chuyền tự động linh hoạt (Hệ sản xuất hàng loạt FMS). Để hệ ĐKRB có độ tin cậy, độ chính xác cao, giá thành hạ và tiết kiệm năng lượng thì nhiệm vụ cơ bản là hệ ĐKRB phải đảm bảo giá trị yêu cầu của các đại lượng điều chỉnh và điều khiển. Ngoài ra, hệ ĐKRB phải đảm bảo ổn định động và tĩnh, chống được nhiễu trong và ngoài, đồng thời không gây tác hại cho môi trường như: tiếng ồn quá mức quy định, sóng hài của điện áp và dòng điện quá lớn cho lưới điện v.v... Khi thiết kế hệ ĐKRB mà trong đó sử dụng các hệ điều chỉnh tự động truyền động, cần phải đảm bảo hệ thực hiện được tất cả các yêu cầu về công nghệ, các chỉ tiêu chất lượng và các yêu cầu kinh tế. Chất lượng của hệ thống được thể hiện trong trạng thái tĩnh và trạng thái động. Trạng thái tĩnh yêu cầu quan trọng là độ chính xác điều chỉnh. Trạng thái động thì có yêu cầu về độ ổn định và các chỉ tiêu về chất lượng động là độ quá điều chỉnh, tốc độ điều chỉnh, thời gian điều chỉnh và số lần dao động. Đối với hệ ĐKRB, việc lựa chọn sử dụng các bộ biến đổi, các loại động cơ điện, các thiết bị đo lường, cảm biến, các bộ điều khiển và đặc biệt là phương pháp điều khiển có ảnh hưởng rất lớn đến chất lượng điều khiển bám chính xác quỹ đạo của hệ. Các công trình nghiên cứu về hệ thống ĐKRB tập trung chủ yếu theo hai hướng là sử dụng các mô hình có đặc tính phi tuyến có thể ước lượng được để đơn giản việc phân tích và thiết kế hoặc đề ra các thuật toán điều khiển mới nhằm nâng cao chất lượng đáp ứng của Robot. Đặc điểm cơ bản của hệ thống ĐKRB là thực hiện được điều khiển bám theo một quỹ đạo phức tạp đặt trước trong không gian, tuy nhiên khi dịch chuyển thì trọng tâm của các chuyển động thành phần và mômen quán tính của hệ sẽ thay đổi, điều đó dẫn đến thông số động học của hệ cũng thay đổi theo quỹ đạo chuyển động và đồng thời xuất hiện những lực tác động qua lại, xuyên chéo giữa các chuyển động thành phần trong hệ với nhau. Các yếu tố trên tác động sẽ làm cho hệ ĐKRB mang tính phi tuyến mạnh, gây cản trở rất lớn cho việc mô tả và nhận dạng chính xác hệ thống ĐKRB. Do vậy, khi ĐKRB bám theo quỹ đạo đặt trước phải giải quyết được những vấn đề sau: Khắc phục các lực tương tác phụ thuộc vào vận tốc, gia tốc của quỹ đạo riêng các chuyển động thành phần và quỹ đạo chung của cả hệ như: lực quán tính, lực ly tâm, lực ma sát v.v... Khi trọng tâm của các chuyển động thành phần và của cả hệ thay đổi theo quỹ đạo riêng và chung kéo theo sự thay đổi của các thông số động học của hệ, điều đó đòi hỏi phải có sự biến thiên các tham số đưa vào bộ điều khiển tương ứng để vẫn đảm bảo sự cân bằng, ổn định và bền vững đồng thời vẫn bám theo được quỹ đạo đặt. Với công cụ toán vi phân người ta đã có thể phân tích tính điều khiển được, tính quan sát được cho hệ phi tuyến. Ngoài ra người ta sử dụng các thuật toán khác phục vụ việc thiết kế điều khiển tuyến tính hoá chính xác hệ phi tuyến [10] như: Tuyến tính chính xác quan hệ vào-ra; Tuyến tính chính xác quan hệ vào-trạng thái; Tuyến tính chính xác quan hệ vào-ra và điều khiển tách kênh; Tuyến tính chính xác quan hệ vào - trạng thái và điều khiển tách kênh. Những phương pháp điều khiển này thực sự hiệu quả và góp phần nâng cao chất lượng điều khiển cho hệ phi tuyến. Các phương pháp điều khiển thông thường sử dụng biện pháp phân tích gián tiếp thông qua mô hình làm việc của hệ, song lại không cung cấp được thông tin một cách đầy đủ về toàn bộ hệ thống. Còn đối với những phương pháp phân tích trực tiếp thì ngoại trừ tiêu chuẩn Lyapunov cho việc phân tích tính ổn định và phương pháp mặt phẳng pha giới hạn ở hệ phi tuyến có hai biến trạng thái, cho tới nay chưa có một phương pháp cụ thể nào khác. Phương pháp điều khiển ĐLH ngược cần phải biết chính xác thông số của đối tượng, trong khi đối tượng thực tế lại có thông số thay đổi và nhiễu không xác định trong môi trường làm việc. Do đó, việc thực hiện các bộ điều khiển theo phương pháp này gặp nhiều khó khăn về độ chính xác, hay nói cách khác là khó thực hiện được trong thực tế. Phương pháp điều khiển phân ly phi tuyến có nhược điểm là hệ thống điều khiển có tính phi tuyến cao, do đó độ phức tạp trong điều khiển là khá lớn, khó có khả năng thực hiện trong thực tế. Phương pháp điều khiển thích nghi theo mô hình chuẩn chỉ thực hiện đơn giản cho mô hình tuyến tính với giả thiết bỏ qua sự liên hệ ĐLH giữa các chuyển động thành phần trong hệ. Ngoài ra, sự ổn định của hệ thống kín cũng đang là vấn đề khó giải quyết với tính phi tuyến cao của mô hình chuẩn. Phương pháp điều khiển thích nghi theo sai lệch có luật điều khiển thích nghi được đơn giản hoá bằng cách áp dụng phương pháp điều khiển thích nghi suy giảm phân ly, do đó phương pháp này luôn tồn tại sai lệch quỹ đạo trong quá trình điều khiển thực và như vậy sẽ không phù hợp với yêu cầu của hệ thống điều khiển chính xác quỹ đạo. Phương pháp điều khiển kiểu trượt có ưu điểm là tính bền vững cao, đặc tính động học của hệ chỉ phụ thuộc vào việc lựa chọn mặt trượt. Tại thời điểm đầu của quá trình quá độ, hệ thống điều khiển này rất nhạy cảm với các nhiễu và sai lệch để có thể bám vào quỹ đạo trượt vốn biến đổi theo thời gian nên thường xuất hiện tình trạng lập bập, điều này sẽ gây ra những rung động không mong muốn trong hệ điều khiển. Để giảm bớt hiện tượng này thì cần phải giảm độ chính xác điều chỉnh tuy nhiên thời gian quá độ tăng. Phương pháp điều khiển trượt có đầy đủ các yếu tố cần thiết cho việc thiết kế bộ điều khiển có các tính năng theo yêu cầu đề ra. Tính ổn định của điều khiển trượt rất rộng và đồng quy và được ứng dụng trong việc thực hiện các điều khiển nhảy cấp lý tưởng. Phương pháp này đảm bảo được tính bền vững và tính bất biến đối với tác động bên ngoài. Căn cứ vào các đánh giá nêu trên cùng với yêu cầu nghiên cứu ứng dụng phương pháp điều khiển hiện đại nâng cao chất lượng hệ thống điều khiển quỹ đạo Robot, tác giả của luận văn đã chọn phương pháp điều khiển trượt làm mục tiêu nghiên cứu. Nội dung của đề cương nghiên cứu như sau: 1. Tên đề tài: Nghiên cứu hệ thống điều khiển trượt cho chuyển động tay máy 3 bậc tự do. 2. Cơ sở khoa học và thực tiễn của đề tài: ứng dụng phương pháp điều khiển trượt hiện đại cho điều khiển bền vững quỹ đạo Robot. 3. Mục đích của đề tài: Xây dựng cấu trúc và thuật toán điều khiển. 4. Nội dung của đề tài, các vấn đề cần giải quyết: - Xây dựng mô hình toán học cho Robot 3 bậc tự do. - Xây dựng hệ thống điều khiển quỹ đạo đạt độ chính xác cao. - Đánh giá chất lượng bằng mô phỏng. Nội dung của luận văn đề cập tới vấn đề “Nâng cao chất lượng hệ thống điều khiển quỹ đạo cho Robot Scara 3 bậc tự do ứng dụng phương pháp điều khiển trượt phi tuyến” với mục tiêu điều khiển bền vững và bám chính xác quỹ đạo chuyển động trong không gian yêu cầu. Luận văn được trình bày thành 5 chương với nội dung cơ bản của từng chương được tóm tắt như sau: Mở đầu: Mô tả tổng quan về Robot và hệ điều khiển chuyển động Robot và đưa ra một số vấn đề cần đề cập cũng như phương pháp chung để tiếp cận với hướng đi của luận văn: Nâng cao chất lượng hệ thống điều khiển quỹ đạo cho Robot bằng một phương pháp điều khiển hiện đại. Chương 1 - Tổng quan về điều khiển Robot: Đưa ra mô tả toán học của hệ Robot với hệ thống các phương trình động học và động lực học của Robot n bậc tự do; đề cập đến những vấn đề chính của điều khiển phi tuyến nhằm định hướng cho nội dung nghiên cứu trong các chương tiếp theo. Phân tích chi tiết ưu, nhược điểm của một số phương pháp điều khiển Robot đã và đang được áp dụng trong thực tiễn để nâng cao độ chính xác điều khiển quỹ đạo Robot. Chương 2 - Nâng cao chất lượng hệ thống điều khiển quỹ đạo cho robot bằng bộ điều khiển trượt cải tiến: Trình bày cơ sở lý thuyết của phương pháp điều khiển trượt cải tiến. Kiểm chứng về mặt lý thuyết cơ sở thực tiễn của đề tài cũng như tính khả thi của phương pháp điều khiển bền vững ứng dụng phương pháp điều khiển trượt khi áp dụng để điều khiển quỹ đạo Robot. Chương 3 - Mô tả toán học đối tượng - Robot Scara Serpent: Nghiên cứu một đối đối tượng cụ thể là mô hình Robot Scara Serpent để phục vụ việc nghiên cứu và kiểm chứng các lý thuyết và các phương pháp điều khiển được lựa chọn. Chương 4 - Xây dựng mô hình hệ thống điều khiển: Thiết kế bộ điều khiển bền vững ứng dụng phương pháp điều khiển trượt để nâng cao chất lượng hệ thống điều khiển quỹ đạo cho Robot. Xây mô hình hệ thống điều khiển trượt cho Robot Scara Serpent. Xây dựng mô hình mô phỏng sử dụng phần mềm chuyên dụng. Chương 5 - Mô phỏng: Định hình và kiểm chứng về mặt lý thuyết cơ sở thực tiễn của đề tài cũng như tính khả thi của phương pháp điều khiển trượt khi áp dụng cho hoạt động bền vững của điều khiển quỹ đạo Robot Scara Serpent 3 bậc tự do. Chương 1 CÁC HỆ THỐNG ĐIỀU KHIỂN ROBOT 1.1. Cấu trúc tổng quan của một Robot [2],[17]. Các Robot công nghiệp ngày nay thường được cấu thành bởi các hệ thống sau: - Tay máy là cơ cấu cơ khí gồm các khâu, khớp hình thành cánh tay để tạo ra các chuyển động cơ bản, gồm: . Bệ (thân) - Base . Khớp - thanh nối: joint- link . Cổ tay – wrist: tạo nên sự khéo léo, linh hoạt. . Bàn tay - hand, end effector: trực tiếp hoàn thành các thao tác trên đối tượng. - 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 của cơ cấu chấp hành là động cơ. - Hệ thống cảm biến gồm các sensor và các thiết bị chuyển đổi tín hiệu cần thiết khác. Các Rôbốt cần hệ thống sensor trong để nhận biết trạng thái của bản thân các cơ cấu của Rôbốt. - Hệ thống điều khiển hiện nay thường là máy tính để giám sát và điều khiển hoạt động của Rôbốt, có thể chia ra thành 2 hệ thống: . Hệ thống điều khiển vị trí (quỹ đạo) . . Hệ thống điều khiển lực. Cấu trúc vật lý cơ bản của một robot bao gồm thân, cánh tay và cổ tay. Thân được nối với đế và tổ hợp cánh tay thì được nối với thân. Cuối cánh tay là cổ tay được chuyển động tự do. Về mặt cơ khí, Rôbốt có đặc điểm chung về kết cấu gồm nhiều khâu, được nối với nhau bằng các khớp để hình thành một chuỗi động học hở, tính từ thân đến phần công tác. Tuỳ theo số lượng và cách bố trí các khớp mà có thể tạo ra tay máy kiểu toạ độ Đề các, toạ độ trị, tọa độ cầu… Trong robot thì thân và cánh tay có tác dụng định vị trí còn cổ tay có tác dụng định hướng cho end effector. Cổ tay gồm nhiều phần tử giúp cho nó có thể linh động xoay theo các hướng khác nhau và cho phép Rôbốt định vị đa dạng các vị trí. Quan hệ chuyển động giữa các phần tử khác nhau của tay máy như: cổ tay, cánh tay được thực hiện qua một chuỗi các khớp nối. Các chuyển động bao gồm chuyển động quay, chuyển động tịnh tiến… Các rôbốt công nghiệp ngày nay hầu hết thường được đặt trên đế và thân đế này được gắn chặt xuống nền. Gắn vào cổ tay có thể là một bàn kẹp (gripper) hoặc một số công cụ khác dùng để thực hiện các nhiệm vụ khác nhau (như mũi khoan, đầu hàn, đầu phun sơn...) và chúng được gọi chung là “end effector”. Sự chuyển động của Robot bao gồm chuyển động của thân và cánh tay, chuyển động của cổ tay. Những khớp kết nối chuyển động theo 2 dạng trên gọi là bậc tự do. Ngày nay robot được trang bị từ 4 đến 6 bậc tự do. Dựa vào hình dáng vật lý hoặc khoảng không gian mà cổ tay có thể di chuyển tới mà người ta chia robot thành bốn hình dạng cơ bản sau : Robot cực (H 1.1.a) . Robot Decac (H 1.1.b) . Robot trụ (H 1.1.c). Robot tay khớp (H 1.1.d) . Hình 1.1. Phân loại robot cơ bản . Robot Gryphon EC Hình 1.2 : Hình dạng của các loại robot cơ bản. Các khớp được sử dụng trong robot là khớp L, R, T, V (khớp tuyến tính, khớp quay, khớp cổ tay quay và khớp vuông). Cổ tay có thể có đến 3 bậc tự do. Input link Output link Input link Output link Output link Input link Input link Output link Loại Tên Minh họa Tuyến tính Quay Cổ tay quay Vuông V T R L Bảng 1.3. Các dạng cơ bản của các khớp Robot Các khớp có thể chuyển động được chính là nhờ được cung cấp năng lượng bởi các thiết bị truyền động. Các robot hiện nay thường dùng một trong ba phương pháp truyền động sau đây : Truyền động thuỷ lực . Truyền động khí nén. Truyền động điện . Không gian làm việc của một robot phụ thuộc vào hình dạng và kết cấu cơ khí của tay máy robot. Robot có 3 hình dạng cơ bản của không gian làm việc là dạng cầu, dạng trụ và dạng khối hộp (lập phương hoặc chữ nhật) Cartesian. Hình dưới mô tả hình dạng của không gian làm việc của robot : (a) (b) (c) Hình 1.4. Không gian làm việc của Robot Sơ đồ khối tổ chức kỹ thuật của một robot ở hình 1.5. Ghi dữ liệu Động học thuận Động học ngược Mặt phẳng quỹ đạo Bộ điều khiển Nguồn động lực Vị trí vật lý Máy tính Chạy Khóa chuyển mạch Servo Sai số vị trí C : D B A Hình 1.5. Sơ đồ khối của Robot Cơ cấu chấp hành Lưu giữ kết quả Chế độ dạy học Trong đó : Khối A: là khối thu thập và chuyển giao dữ liệu đầu vào. Khối B: là khối não bộ của robot gồm các cụm vi xử lý, giải quyết các vấn đề về: Thiết lập và giải các bài toán động học trên cơ sở bộ thông tin đầu vào (qs , hs). (cụm Động học thuận). Lưu trữ và chuyển giao các kết quả của quá trình giải bài toán động học thuận. (Cụm Cartesian Point Storage). Lập trình quỹ đạo đi qua các điểm hình học để hoàn thành toàn bộ quỹ đạo chuyển động cần có. (cụm Mặt phẳng quỹ đạo). Giải các bài toán động học ngược để tìm ra các thông số điều khiển (còn gọi là bộ dữ liệu điều khiển) - (Cụm Động học ngược). Khối C: là khối điều khiển. Khối D: là khối cơ cấu chấp hành. Nó bao gồm nguồn động lực (Motor Dynamics), các cơ cấu chấp hành (Robot Dynamics) và các bộ cảm nhận vật lý trên chúng (Cụm vị trí vật lý). 1.2. Các hệ thống Điều khiển Robot. Hệ thống điều khiển của robot có nhiệm vụ điều khiển hệ truyền động điện để thực hiện điều chỉnh chuyển động của robot theo yêu cầu của quá trình công nghệ. Hệ thống Điều khiển Robot có thể chia ra: - Điều khiển vị trí (quỹ đạo) - điều khiển thô. - Điều khiển lực - điều khiển tinh. Tùy theo khả năng thực hiện các chuyển động theo từng bậc tự do mà phân ra các hệ thống điều khiển dưới đây: Điều khiển chu tuyến: chuyển động được thực hiện theo một đường liên tục. Điều khiển vị trí: đảm bảo cho robot dịch chuyển bám theo một quỹ đạo đặt trước. Sơ đồ khối mô tả: Bộ điều khiển Robot Phản hồi Quỹ đạo đặt Tín hiệu điều khiển Quỹ đạo thực Hình 1.6: Sơ đồ khối điều khiển vị trí Robot Điều khiển chu kỳ: chuyển động được xác định bằng các vị trí đầu và cuối của mỗi bậc tự do. 1.2.1. Các phương thức điều khiển. Điều khiển theo quỹ đạo đặt (3 phương thức điều khiển): Điều khiển Robot theo chuỗi các điểm giới hạn. Điều khiển lặp lại ( playback ): Điều khiển Robot theo kiểu điểm - điểm (PTP). Robot điều khiển theo quỹ đạo liên tục PCC. Điều khiển ứng dụng kỹ thuật cao (Robot thông minh). Điều khiển dựa vào tính chất của đối tượng điều khiển là tuyến tính hay phi tuyến. 1.2.2. Điều khiển theo quỹ đạo đặt 1.2.1.1. Điều khiển theo chuỗi các điểm giới hạn. Là phương thức điều khiển bằng cách thiết lập các công tắc giới hạn và các điểm dừng cơ khí. Chuyển động của các khớp nối được bắt đầu và kết thúc khi gặp các công tắc giới hạn hoặc các điểm dừng cơ khí này. Việc thiết lập các điểm dừng và các công tắc giới hạn tương đương với việc lập chương trình cho robot, mỗi một công tắc được coi như một phần tử nhớ. Phương pháp điều khiển này thường được dùng trong các loại robot đơn giản. 1.2.1.2. Điều khiển lặp lại (playback). Thường được dùng trong các hệ thống điều khiển phức tạp và quỹ đạo chuyển động của robot là theo một quỹ đạo đã được tính toán và xác định từ trước thông qua một chuỗi các vị trí xác định. Các vị trí này đã được ghi vào bộ nhớ của robot và robot phải tự tính toán điều khiển để đạt tới các vị trí mong muốn này theo các điều kiện tối ưu có thể. Robot điều khiển playback được chia làm hai loại tùy theo phương thức điều khiển: Điều khiển kiểu điểm - điểm. (PTP): Phương thức điều khiển kiểu điểm - điểm là phương thức điều khiển mà việc xác định quỹ đạo chuyển động từ điểm này sang điểm khác là do bản thân robot xác định tuỳ theo điều kiện cụ thể. Quỹ đạo chuyển động của robot được ghi từ trước trong bộ nhớ chỉ là một chuỗi vị trí các điểm mong muốn. Robot sẽ tự tìm cách lần lượt đạt tới các điểm mong muốn đó bằng cách so sánh tọa độ hiện tại với tọa độ của điểm mong muốn và tính toán xây dựng quỹ đạo điều khiển chuyển động theo hướng làm giảm sự sai lệch đó. Dạng quỹ đạo này phù hợp cho các robot có hoạt động “gắp”, “nhả”. Phương pháp điều khiển quỹ đạo liên tục : PCC - Path Continuos Control: Là phương thức điều khiển mà quỹ đạo chuyển động của robot tới các điểm đã xác định. Trong quá trình hoạt động robot phải điểu khiển hệ thống bám theo quỹ đạo được ghi trong bộ nhớ. Quỹ đạo liên tục có thể được cho dưới dạng các điểm liên tục hoặc cho dưới dạng các điểm cần phải đi qua với các tham số về vận tốc, gia tốc, thời gian.v.v và được xây dựng bằng các đa thức nội suy bậc cao. Quỹ đạo liên tục được đòi hỏi trong các nguyên công công nghệ như sơn, hàn, cắt ... mà tay máy thực hiện việc trực tiếp. 1.2.1.3. Điều khiển kiểu robot thông minh: Ứng dụng để điều khiển cho những robot ngoài việc có thể thực hiện được chương trình đặt trước, nó còn có khả năng tùy biến thực hiện các hành động phù hợp với các cảm nhận từ môi trường. Robot thông minh có thể thay đổi chương trình phù hợp với điều kiện làm việc của môi trường nhận được từ các sensor (quang, nhiệt, vị trí, tốc độ, từ trường, âm thanh, tần số…) sử dụng logic mờ và mạng nơron. Robot loại này có khả năng giao tiếp với con người hoặc với hệ thống máy tính chung để có thể đưa ra các xử lý thông minh. Hiện nay trên thế giới đã xuất hiện các robot thông minh có thể hiểu được các lệnh đơn giản của con người, có thể giao tiếp, giúp đỡ để thực hiện các công việc phức tạp trong nhà máy. 1.2.3. Các hệ thống điều khiển hệ tuyến tính Khi khảo sát đặc tính động học của một đối tượng điều khiển hay một hệ thống, thông thường các đối tượng khảo sát được xem là tuyến tính, dẫn đến cho phép mô tả hệ thống bằng một hệ phương trình vi phân tuyến tính. Sử dụng nguyên lý xếp chồng của hệ tuyến tính, ta còn có thể dễ dàng tách riêng các thành phần đặc trưng cho từng chế độ làm việc để nghiên cứu với những công cụ toán học chặt chẽ, chính xác mà lại rất đơn giản, hiệu quả. Sử dụng mô hình tuyến tính để mô tả hệ thống có nhiều ưu điểm như: Mô hình đơn giản, các tham số mô hình tuyến tính dễ dàng xác định được bằng các phương pháp thực nghiệm mà không cần phải đi từ những phương trình hoá lý phức tạp mô tả hệ. Các phương pháp tổng hợp bộ điều khiển tuyến tính rất phong phú và không tốn nhiều thời gian để thực hiện. Cấu trúc đơn giản của mô hình cho phép theo dõi được kết quả điều khiển một cách dễ dàng và có thể chỉnh định lại mô hình cho phù hợp với yêu cầu thực tế. Chính vì những ưu điểm này của mô hình tuyến tính mà lý thuyết điều khiển tuyến tính và mô hình tuyến tính đã có được miền ứng dụng rộng lớn. 1.2.4. Các hệ thống điều khiển hệ phi tuyến Trong thực tế phần lớn các đối tượng được điều khiển lại mang tính động học phi tuyến (đặc biệt là robot là đối tượng có tính phi tuyến mạnh - có thể thấy rất rõ ngay trong hệ thống điều khiển Robot luận văn này sẽ trình bày), tức là không thoả mãn nguyên lý xếp chồng; và không phải đối tượng nào, hệ thống nào cũng có thể mô tả được bằng một mô hình tuyến tính, cũng như không phải lúc nào những giả thiết cho phép xấp xỉ hệ thống bằng mô hình tuyến tính được thoả mãn. Hơn thế nữa độ tối ưu tác động nhanh chỉ có thể tổng hợp được nếu ta sử dụng bộ điều khiển phi tuyến. Các hạn chế này bắt buộc người ta phải trực tiếp nghiên cứu tính toán động học của đối tượng, tổng hợp hệ thống bằng những công cụ toán học phi tuyến. Để nghiên cứu và nâng cao chất lượng hệ thống điều khiển quỹ đạo Robot, chương này sẽ tổng hợp và nêu lên một số phương pháp điều khiển các hệ phi tuyến như đã được trình bày chi tiết trong [8], [10] và [11] và ứng dụng có hiệu quả vào hệ thống điều khiển Robot. Sau đây là một số phương pháp điều khiển ổn định hệ thống phi tuyến: 1.2.4.1. Phương pháp tuyến tính hoá trong lân cận điểm làm việc. Bản chất của tuyến tính hoá xấp xỉ mô hình hệ thống xung quanh điểm làm việc đó là thay đổi một đoạn đường cong trong lân cận điểm bằng một đoạn thẳng tiếp xúc với đường cong đó tại điểm . Như vậy, việc tuyến tính hoá một hệ phi tuyến xung quanh điểm làm việc đồng nghĩa với sự xấp xỉ gần đúng hệ phi tuyến trong lân cận điểm làm việc bằng một mô hình tuyến tính. Xét hệ phi tuyến có mô hình trạng thái: (1.1) Giả sử rằng hệ có điểm cân bằng và trong lân cận điểm làm việc , , hệ được mô tả gần đúng bằng mô hình tuyến tính: (1.2) Trong đó: sai số , . R - Hình 1.7: Ổn định hệ phi tuyến Hệ (1.1) được chứng minh là ổn định (tiệm cận Lyapunov) tại khi hệ (1.2) là ổn định, khi và chỉ khi các giá trị riêng của ma trận A có phần thực âm. Trường hợp hệ (1.2) không ổn định thì có thể áp dụng phương pháp thiết kế bộ điều khiển phản hồi trạng thái R tĩnh để ổn định hóa hệ (hình 1.7), tức là xác định ma trận R sao cho ma trận A – BR có các giá trị riêng nằm bên trái trục ảo. Các phương pháp thiết kế thường hay được sử dụng nhất là bộ điều khiển cho trước điểm cực của Rosenbrock, hay của Roppenecker hoặc của Ackermann nếu là hệ SISO tuyến tính. Ta cũng có thể sử dụng phương pháp thiết kế bộ điều khiển tối ưu của bài toán LQR (Linear Quadratic Regulator) để tìm R. Bộ điều khiển R được thiết kế nhờ mô hình tuyến tính (1.2) song lại làm việc thực với mô hình phi tuyến (1.1), trong đó hai mô hình chỉ tương đương với nhau trong một lân cận L đủ nhỏ nào đó xung quanh điểm làm việc , . Nếu như R chỉ có thể đưa lại cho hệ phi tuyến tính ổn định với miền ổn định O nhỏ (giống như L) thì điều đó hoàn toàn không có ý nghĩa ứng dụng trong thực tế. Chỉ khi O tương đối lớn (lớn hơn rất nhiều so với L) thì chất lượng ổn định mà R mang lại mới có ý nghĩa. Do vậy cần thiết phải kiểm tra lại chất lượng mà R đã thực sự mang đến cho hệ phi tuyến, trong đó ưu tiên hàng đầu là chất lượng ổn định của hệ. 1.2.4.2. Điều khiển tuyến tính hình thức. Xét hệ thống phi tuyến mà mô hình trạng thái của nó có dạng: (1.3) Trong đó là các ma trận thích hợp có phần tử là hàm số của , và thời gian t. Dạng mô hình (1.3) có tên gọi là mô hình tuyến tính hình thức, vì trong trường hợp đặc biệt, khi mà các ma trận trong mô hình (1.3) không còn phụ thuộc , và trở thành A(t), B(t), C(t) thì nó chính là mô hình của hệ tuyến tính (không dừng). Bài toán điều khiển tuyến tính hình thức ở đây là tìm cách can thiệp vào hệ thống, chẳng hạn như bộ điều khiển phản hồi trạng thái (hình 1.8) để hệ có được chất lượng như mong muốn. - Hình 1.8: Điều khiển tuyến tính hình thức bằng bộ điều khiển phản hồi trạng thái. (1.4) Chất lượng mong muốn đầu tiên là tìm bộ điều khiển (1.4) để sao cho với nó, hệ kín với mô hình trạng thái: (1.5) có ma trận không còn phụ thuộc , . Khi đó (1.5) trở thành tuyến tính. Việc thiết kế bộ điều khiển phản hồi trạng thái như trên có thể được thực hiện thông qua các phương pháp thiết kế như: Phương pháp thiết kế định hướng hình thức theo giá trị riêng, Phương pháp thiết kế Sieber [11]. 1.2.4.3. Điều khiển bù phi truyến. Xét đối tượng phi tuyến được mô tả bởi hệ phương trình trạng thái: (1.6) Trong đó: A Î Rn x n, B Î Rn x r, C Î Rs x n, P Î Rn x q là các ma trận hằng không suy biến. là vectơ có q phần tử phụ thuộc , đại diện cho các thành phần phi tuyến trong hệ. Mục đích điều khiển là thiết kế bộ điều khiển sao cho hệ kín có được chất lượng mong muốn và chất lượng này không phụ thuộc vào thành phần phi tuyến . Việc thiết kế gồm hai bước như sau: Bước 1: Nhận dạng thành phần phi tuyến bằng một mô hình tuyến tính. Bước 2: Thiết kế bộ điều khiển để loại bỏ thành phần phi tuyến trong hệ kín và mang lại cho hệ một chất lượng mong muốn. Thiết kế bộ điều khiển R theo nguyên lý phản hồi trạng thái và có tín hiệu ra của R được xét như sau (hình 1.9): Đối tượng (1.7) Mô hình quan sát Hình 1.9: Thiết kế bộ điều khiển R - , tức là R = (Rx, Rn) (1.7) Tóm tắt các bước xác định Rn, Rx như sau: Xác định ma trận BP giả nghịch đảo bên trái nào đó của B, sử dụng công thức sau: BP = (BTB)-1BT. Tính Rn theo công thức: Rn = BP.P.H. Thiết kế bộ điều khiển tuyến tính Rx phản hồi trạng thái cho đối tượng tuyến tính: (hình 1.10) để hệ kín gồm Rx và đối tượng tuyến tính này có được chất lượng như mong muốn (phương pháp điểm cực đặt trước, phương pháp tối ưu tuyến tính). Xác định R = (Rx, Rn). Đối tượng (1.7) Mô hình quan sát Hình 1.10: Bù phi tuyến. - - Rn Rx Hệ tuyến tính Từ đây ta có thể xây dựng nên các phương pháp điều khiển robot trong thực tế 1.2.5. Các phương pháp điều khiển Robot Cho đến nay trong thực tế, nhiều phương pháp và hệ thống điều khiển Robot đã được thiết kế và sử dụng, trong đó các phương pháp điều khiển chủ yếu là: - Điều khiển động lực học ngược. - Điều khiển phản hồi phân ly phi tuyến. - Các hệ thống điều khiển thích nghi. + Điều khiển thích nghi theo sai lệch. + Điều khiển thích nghi theo mô hình mẫu (MRAC) + Điều khiển động lực học ngược thích nghi. + Điều khiển trượt Chúng ta sẽ lần lượt tìm hiểu các phương pháp điều khiển Robot để biết được ưu nhược điểm của từng phương pháp . 1.2.5.1. Phương pháp điều khiển động lực học ngược. Nguyên lý của phương pháp này là chọn một luật điều khiển phù hợp để khử thành phần phi tuyến của phương trình động lực học và phân ly đặc tính động lực học của các khớp nối. (1.8) Nếu ta biết các tham số của Robot ta có thể tính được các ma trận H,h,G từ đó có luật điều khiển. (1.9) cân bằng Mdk=M với điều kiện H(q) ≠ 0 và (vectơ điều khiển phụ ) Như vậy động lực học hệ thống kín sẽ được phân tích thành hệ phương trình vi phân tuyến tính hệ số hằng. Với Robot n khớp nối tương đương với n hệ con độc lập. chọn U là tín hiệu điều khiển phụ có cấu trúc PID. Lúc đó: (1.10) trong đó :qm,q là biến khớp đặt và biến khớp thực của khớp. q.m ,q. là tốc độ đặt và tốc độ thực của khớp. Tính Robot t U e Hình 1.11: Sơ đồ cấu trúc hệ điều khiển ĐLH ngược. - - Và phương trình sai số tương ứng sẽ là: (1.11) các hệ số KD,Kp,KI được chọn theo điều kiện ổn định của Lyapunov để sai số giữa quỹ đạo chuyển động chuẩn và quỹ đạo chuyển động thực hội tụ tại điểm 0 không phụ thuộc vào điều kiện ban đầu. Ưu điểm của phương pháp này là khử được tính phi tuyến và sự ràng buộc trong phương trình động lực học. Nhược điểm của nó là phải biết được đầy đủ chính xác các thông số cũng như đặc tính động lực học Robot, đồng thời cũng phát sinh tính toán phụ. Thuật toán tính toán điều khiển U sẽ liên quan các phép tính lượng giác nên phải thực hiện một số phép nhân ma trận vectơ và ma trận phụ. Thời gian tính toán lớn là một yếu tố ảnh hưởng đến sự hạn chế của phương pháp này. Phương pháp này chỉ thường áp dụng trong phòng thí nghiệm hầu như chưa áp dụng vào thực tế. 1.2.5.2. Phương pháp điều khiển phản hồi phân ly phi tuyến. phương pháp này được xây dựng trên cơ sở lý thuyết của điều khiển phân ly cho hệ thống phi tuyến bằng phản hồi tuyến tính hoá tín hiệu ra. Từ phương trình động lực học : (1.12) ma trận H không đơn nhất nên ta có thể viết lại như sau. (1.13) Phương trình này gồm các phương trình vi phân cấp hai cho mỗi biến, vì lẽ đó qua hai lần vi phân phương trình đầu ra thì hệ số của tín hiệu U sẽ khác 0. Lúc này tín hiệu U sẽ xuất hiện trong phương trình đầu ra: với: Tín hiệu M(t) của bộ điều khiển được chọn sao cho đảm bảo hệ thống phân ly là: (1.14) Trong đó: Từ phương trình (1.14) ta nhận thấy tín hiệu điều khiển Mi(t) cho khớp i chỉ phụ thuộc vào các biến động lực học và tín hiệu vào._. E(t). Thay M(t) từ phương trình 1.14 vào phương trình 1.12 ta được: (1.15) Hay (1.16) Phương trình 1.16 biểu thị vào ra phân ly của hệ thống. Các hệ số được chọn theo tiêu chuẩn ổn định. 1.2.5.3. Phương pháp điều khiển thích nghi theo sai lệch. Dựa trên cơ sở lý thuyết sai lệch, Lee và Chung [15] đã đề xuất thuật toán điều khiển đảm bảo Robot luôn bám quỹ đạo chuyển động đặt trước với phạm vi chuyển động rộng và tải thay đổi rộng. Phương pháp điều khiển thích nghi theo sai lệch được xây dựng trên cơ sở phương trình sai lệch tuyến tính hoá lân cận quỹ đạo chuyển động chuẩn. Hệ thống điều khiển gồm hai khối: Khối tiền định (truyền thẳng - feedforward) và khối phản hồi (feedback) như hình (1.12). Hình 1.12: Hệ thống điều khiển thích nghi theo sai lệch. Đối tượng điều khiển Quỹ đạo chuyển động chuẩn Phương trình Neuton-Euler xm(t) + - Bộ điều khiển tối ưu một nấc + + x(t) Hệ thống nhận dạng bình phương tối thiểu đệ quy Khối tiền định tính toán mô men của Robot ứng với quỹ đạo chuyển động chuẩn theo phương trình Newton-Euler. Khối phản hồi thực hiện tính toán thành phần mô men sai lệch theo luật tối ưu một nấc nhằm bù sai lệch vị trí và tốc độ của khớp dọc theo quỹ đạo chuyển động chuẩn. Khối đánh giá tham số thực hiện theo sơ đồ nhận dạng bình phương tối thiểu thời gian thực đệ quy các tham số và hệ số phản hồi của hệ tuyến tính hoá được cập nhật và chỉnh định ở mỗi chu kỳ mẫu. Mô men tổng đặt lên cơ cấu chấp hành sẽ gồm hai thành phần: mô men danh định được tính theo phương trình Newton-Euler từ khối tiền định và mô men bù sai lệch sẽ được tính bởi khối phản hồi thực hiện theo luật tối ưu một cấp. Phương pháp điều khiển thích nghi theo sai lệch có hai ưu điểm cơ bản: Nó cho phép chuyển từ vấn đề điều khiển phi tuyến về điều khiển tuyến tính quanh quỹ đạo chuẩn. Việc tính toán mô men danh định cũng như mô men sai lệch được thực hiện độc lập và đồng thời. Tuy nhiên phương pháp này gặp khó khăn do khối lượng tính toán quá lớn và do đó thời gian tác động sẽ chậm, khó tối ưu trong việc điều khiển Robot. 1.2.5.4. Phương pháp điều khiển thích nghi theo mô hình mẫu. Trong số các phương pháp điều khiển thích nghi (điều khiển thích nghi thông qua điều chỉnh hệ số khuếch đại, điều khiển thích nghi tự chỉnh, diều khiển thích nghi theo mô hình chuẩn) thì phương pháp điều khiển thích nghi theo mô hình chuẩn (Model Reference Adaptive Control - MRAC) được sử dụng rộng rãi nhất và tương đối dễ thực hiện. Nguyên lý cơ bản của điều khiển thích nghi theo mô hình chuẩn dựa trên sự lựa chọn thích hợp mô hình chuẩn và thuật toán thích nghi. Thuật toán thích nghi được tính toán dựa trên tín hiệu vào là sai lệch giữa đầu ra của hệ thống thực và mô hình chuẩn từ đó đưa ra điều chỉnh hệ số khuếch đại phản hồi sao cho sai lệch đó là nhỏ nhất. Sơ đồ khối chung của hệ thống điều khiển thích nghi theo mô hình chuẩn được trình bày trên hình 1.13. Cơ cấu điều chỉnh Đối tượng điều khiển Mô hình chuẩn tín hiệu đặt Bộ điều chỉnh e + - Đầu ra y ym Hình 1.13: Hệ thống điều khiển thích nghi theo mô hình chuẩn. Phương pháp điều khiển thích nghi theo mô hình chuẩn có một số ưu điểm quan trọng là nó không bao gồm mô hình toán học phức tạp và không phụ thuộc vào tham số môi trường... Tuy nhiên, phương pháp này chỉ thực hiện được cho mô hình đơn giản tuyến tính với giả thiết bỏ qua sự liên hệ ĐLH giữa các khớp của Robot. Hơn nữa sự ổn định của hệ thống kín cũng là một vấn đề khó giải quyết với tính phi tuyến cao của mô hình ĐLH Robot. 1.2.5.5. Phương pháp điều khiển ĐLH ngược thích nghi. Là phương pháp tổng hợp các kỹ thuật nhằm tự động chỉnh định các bộ điều chỉnh trong mạch điều khiển nhằm thực hiện hay duy trì ở một mức độ nhất định chất lượng của hệ khi thông số của quá trình được điều khiển không biết trước hoặc thay đổi theo thời gian. Việc phân tích các hệ thống điều khiển có chất lượng cao luôn là vấn đề trọng tâm trong quá trình phát triển của lý thuyết điều khiển tự động nói chung và vấn đề nâng cao chất lượng hệ thống điều khiển bám chính xác quỹ đạo chuyển động của Robot nói riêng. Tùy thuộc vào các tiêu chuẩn phân loại mà có các hệ điều khiển thích nghi khác nhau: Hệ có tín hiệu tìm hay không có tín hiệu tìm; hệ điều khiển trực tiếp hay gián tiếp; hệ cực trị hay hệ giải tích; hệ có mô hình mẫu hay hệ không có mô hình mẫu; hệ tự chỉnh hay hệ tự tổ chức vv... đang được phát triển và và áp dụng để tổng hợp các hệ thống điều khiển quỹ đạo với chỉ tiêu chất lượng cao. Phương pháp tổng quát hóa các hệ thích nghi có ý nghĩa rất lớn trong việc bao quát một số lượng lớn các bài toán thích nghi, đơn giản được việc tìm hiểu nguyên lý cơ bản của ngay cả các hệ phức tạp, trên cơ sở đó xây dựng các bài toán mới, các thiết bị cụ thể mới. Sơ đồ khối tổng quát của một hệ thích nghi như ở hình 1.14: ĐTĐK CCĐK Cơ cấu thích nghi Nhận dạng x a b u y Hình 1.14: Sơ đồ khối tổng quát hệ thích nghi Vấn đề điều khiển bám chính xác quỹ đạo Robot là một vấn đề luôn nhận được sự quan tâm chú ý. Hiện nay sự phát triển mạnh mẽ của kỹ thuật về phần cứng và phần mềm đã cho phép giảm thời gian tính toán, điều đó dẫn tới những động lực cho việc thúc đẩy sự phát triển của các hệ thống điều khiển quỹ đạo thích nghi cho Robot. 1.2.5.6. Điều khiển trượt [3], [8], [21], [23]. Điều khiển ĐKCĐ bất biến với nhiễu loạn và sự thay đổi thông số có thể sử dụng điều khiển ở chế độ trượt. Điều khiển kiểu trượt thuộc về lớp các hệ thống có cấu trúc thay đổi (Variable Structure System - VSS) với mạch vòng hồi tiếp không liên tục. Phương pháp điều khiển kiểu trượt có đặc điểm là tính bền vững rất cao do vậy việc thiết kế bộ điều khiển có thể được thực hiện mà không cần biết chính xác tất cả các thông số. Chỉ một số các thông số cơ bản hoặc miền giới hạn của chúng là đủ cho việc thiết kế một bộ điều khiển trượt (Variable Structure Controller - VSC). Chế độ trượt ở hệ Rơle: Xét ở trên hình 1.15 mô tả một đối tượng điều khiển gồm hai khâu tích phân được điều khiển bởi một rơle 2 vị trí : K -K - x(t) º 0 e Hình 1.15: Đối tượng được điều khiển bởi rơle 2 vị trí Ta có hệ phương trình sau: (1.17) Chia hai phương trình này cho nhau và chuyển vế ta được: y2.dy2 ± K.dy1 = 0; từ đó: (1.18) Phương trình trên là phương trình parabol mà quỹ đạo pha là hai nửa parabol với đường chuyển đổi: e = - y1 = 0 (trục y2) Quỹ đạo pha này ứng với chế độ tự dao động trong hệ rơ le: dao động với biên độ không đổi khi mất cả tín hiệu vào x(t) = 0. (Hình 1.16) +K -K y2 y1 Hình 1.16. Quỹ đạo pha với đường chuyển đổi e = 0 Thật vậy, khi cho một xung lượng dương rất bé x(t) ở đầu vào, lúc đầu hệ chưa làm việc, phản hồi không có tín hiệu, đầu ra của rơle lý tưởng có đại lượng +K, đầu ra y1 của hệ có hàm . Sau khi qua mạch phản hồi, đổi dấu và trở về đầu vào rơ le với đại lượng âm, do đó đầu ra rơle sẽ là -K và quá trình cứ thế tiếp diễn, tạo nên dao động bất tận. Điều chỉnh theo chế độ trượt: KsT Ke CCĐK ĐTĐK y f u Umax Umin Hình 1.17 : Hệ trượt với luật chuyển đổi mạch phản hồi e Một hệ điều chỉnh làm việc theo chế độ trượt với luật chuyển đổi ở mạch phản hồi trạng thái có sơ đồ khối như hình 1.17 : Đại lượng điều khiển u từ cơ cấu điều khiển (CCĐK) chỉ có hai giá trị umax và umin . Luật chuyển đổi được thực hiện bằng phần tử phi tuyến: u = umax nếu s(xs) > 0 u = umin nếu s(xs) < 0 Trong đó: s(xs) = ke.e – ksT.xs Cơ cấu điều khiển sẽ thực hiện chức năng chuyển đổi với thời gian trễ rất bé. K -K - x(t) º 0 e a - Hình 1.18: Mạch điều khiển với phản hồi nội Để hệ trở về trạng thái cân bằng, ta có thể dùng phản hồi nội như sơ đồ hình 1.18 dưới đây: Đường chuyển đổi là đường thẳng đi qua gốc trục vì: +K -K y2 y1 Hình 1.19: Quỹ đạo pha với đường chuyển đổi S = - (y1+ay2) = 0 S = - (y1 + a.y2) = 0 Quỹ đạo pha hội tụ về gốc và dao động tắt dần (hình 1.19). Nếu hệ số phản hồi lớn, chuyển động sẽ thực hiện theo chế độ trượt theo đường chuyển đổi, chứ không theo quỹ đạo pha. ở hệ rơle thực (có vùng kém nhạy nhất định), chuyển động sẽ theo đường gãy khúc (lập bập) theo đường chuyển đổi. ở chế độ trượt, hệ có hành vi như một hệ tuyến tính và chất lượng của hệ thống được nâng cao. Đó là một dạng của những hệ có cấu trúc biến đổi. Hệ trượt có ưu điểm quan trọng là có tính bền vững khi thông số của hệ biến đổi, tuy nhiên việc ứng dụng trong thực tế có hạn chế như cơ cấu làm việc ở chế độ rung nặng nề và khi hệ bậc cao phải dùng một số khâu vi phân. Thay thế cho rơ le làm việc ở chế độ nặng nhọc là các cơ cấu điện tử (các bộ rung) cho phép làm việc với tần số cao đã khắc phục được nhược điểm nói trên. Thiết kế một bộ điều khiển kiểu trượt: Gồm có hai bước: Thứ nhất là phải chọn một mặt trượt, trong đó sai lệch e giữa tín hiệu đặt và tín hiệu ra có duy nhất một giá trị 0. Thứ hai, chọn luật điều khiển tín hiệu vào sao cho hệ thống điều khiển kín luôn được duy trì trên mặt trượt. Ta xét một đối tượng SISO một tín hiệu vào u(t), một tín hiệu ra y(t) mô tả bởi: (1.19) và được viết đưới dạng mô hình trạng thái kiểu: (1.20) trong đó y = x1 và . Giả sử đối tượng bị một nhiễu tức thời tác động đưa nó ra khỏi điểm làm việc . Bài toán đặt ra là tìm tín hiệu điều khiển u(t) để đưa được đối tượng trở về điểm làm việc. Đặt: e(t) = x10 - x1(t) (1.21) và xét hàm chuyển đổi, ký hiệu bằng s(e), có dạng như sau: s(e) = e + l, l > 0 (1.22) Ta thấy, khi x1(t) = x10 thì với e(t) = x10 - x1(t) = 0 cũng sẽ có s(e) = 0, ngược lại phương trình vi phân s(e) = 0 với điều kiện ban đầu e(0) = 0 chỉ có một nghiệm e(t) = 0 duy nhất, do đó cũng có x20 = 0. Bởi vậy bài toán trên trở thành bài toán tìm u(x1, x2) để đưa được s(e) về giá trị 0, hay u(x1, x2) phải được chọn sao cho khi s(e) > 0 thì có để s(e) có chiều hướng giảm và ngược lại khi s(e) < 0 thì để s(e) có chiều hướng tăng, tức là phải thoả mãn: (1.23) Ngoài ra, để quá trình về 0 được nhanh, giá trị modul đặc trưng cho tốc độ tăng, giảm giá trị của s(e) phải đạt được giá trị cực đại. Điều kiện (1.23) được gọi là điều kiện trượt (sliding condition). Đường s(e) = 0 được gọi là đường trượt (sliding line) hay đường chuyển đổi. Thay (1.21) vào (1.23) có: (1.24) thay tiếp (1.20) vào (1.23) ta đi đến: (1.25) Từ đó suy ra: (1.26) Từ (1.21) và để cho x1(t) ® x10 có tốc độ cao, tín hiệu điều khiển u(t) phải có giá trị nhỏ nhất khi 0 thì u(t) phải có giá trị lớn nhất. Từ đó có thể chọn: (1.27) và nếu như điều kiện với mọi t. (1.28) được thoả mãn thì với (1.22) sẽ có: (1.29) Để được (1.22) ta chọn bộ điều khiển hai trạng thái. Bộ điều khiển hai trạng thái kết hợp với khâu hiệu chỉnh s = tạo nên bộ điều khiển trượt theo công thức (1.23) được xem như là bộ điều khiển có đặc tính tổng thể tốt nhất, nếu như xét đến cả sự tồn tại sai lệch tĩnh của hệ thống. Bộ điều khiển trượt thường được dùng để loại bỏ sự tác động nhiễu dạng xung vào hệ làm hệ bị bật ra khỏi điểm làm việc bằng cách đưa nhanh hệ về điểm trạng thái cũ. Có thể minh họa nguyên lý điều khiển kiểu trượt bằng hình 1.20, trong trường hợp hệ vô hướng, khi đó mặt trượt suy biến thành đường trượt. Đường trượt trong mặt phẳng thường được chọn là đường thẳng có phương trình: với a > 0 (1.30) đường trượt s = 0 0 s > 0 s < 0 s(t=0) e Hình 1.20: Sơ đồ nguyên lý điều khiển kiểu trượt. Trên hình 1.20, đường thẳng đi qua gốc toạ độ tức s = 0, nếu điều kiện trượt là thì đường trượt có tính hấp dẫn. Một khi quỹ đạo của hệ thống điều khiển bám được vào đường trượt thì nó sẽ nhanh chóng trượt dọc theo đường trượt về gốc toạ độ, tại đó các giá trị sẽ đồng thời đạt giá trị 0, tức là hệ ổn định. Khi hoạt động ở chế độ trượt, hệ có các ưu điểm nổi bật sau đây: - Đảm bảo tính bền vững: Khi hoạt động ở chế độ trượt, sự thay đổi của các tham số động học của đối tượng điều khiển trong phạm vi nhất định sẽ không làm giảm các chỉ tiêu chất lượng của hệ thống. Sở dĩ như vậy là điều kiện cần và đủ cho chế độ trượt được thể hiện ở dạng các bất đẳng thức. Sự thay đổi các tham số động học trong phạm vi cho phép của các bất đẳng thức sẽ không làm mất đi chế độ trượt của hệ. - Đảm bảo tính bất biến đối với tác động bên ngoài: Nếu trong hệ thống điều khiển với cấu trúc biến đổi, đảm bảo điều kiện cần và đủ cho chế độ trượt với tác động điều khiển cùng mức với tác động bên ngoài, hệ thống sẽ hoạt động với chỉ tiêu chất lượng không thay đổi, không phụ thuộc vào các tác động bên ngoài, chỉ phụ thuộc vào mặt trượt. Đây chính là khả năng bất biến của hệ thống. 1.3. Kết luận. Các phương pháp điều khiển được nêu ra trên đây là những phương pháp điều khiển có tính khả thi và đã được áp dụng ở một số lĩnh vực cụ thể trong thực tế. Qua phân tích tổng quan các phương pháp điều khiển Robot ở trên, ta có thể rút ra những nhận xét sau: Vấn đề nâng cao chất lượng và tăng độ chính xác điều khiển bám quỹ đạo của hệ thống ĐKRB chủ yếu dựa vào việc lựa chọn và sử dụng các phương pháp điều khiển, do vậy cần có các công trình nghiên cứu cụ thể. Mỗi phương pháp được áp dụng lại có những ưu, điểm khác nhau và được áp dụng tuỳ theo từng ứng dụng cụ thể, tuỳ thuộc vào bài toán kinh tế cần giải quyết. Những phương pháp điều khiển đơn giản lại mắc phải nhược điểm về độ chính xác hoặc tốc độ di chuyển v.v... Còn với những phương pháp điều khiển phức tạp có chất lượng cao, độ chính xác điều khiển lớn thì thường mắc phải nhược điểm về tốc độ xử lý hay giải pháp kinh tế. Điều khiển trượt là phương pháp điều khiển tiếp cận rất mạnh mẽ để điều khiển các hệ thống phi tuyến và bất định. Đó là phương pháp điều khiển bền vững và có thể áp dụng cho hệ bất định và có tham số bị thay đổi lớn. Với tay máy robot khi các tham số của hệ thay đổi liên tục; lực, vị trí, mô men, mô men quán tính… và các tác động qua lại làm cho mô hình robot trở nên phi tuyến mạnh thì phương pháp điều khiển trượt tỏ ra có ưu thế vượt trội, cho việc điều khiển chuyển động bền vững và bám theo quỹ đạo đặt của robot. Trên cơ sở phân tích ở trên ta nhận thấy phương pháp điều khiển trượt rất thích hợp cho điều khiển robot, tuy vậy phương pháp này còn bộc lộ nhược điểm cần phải giải quyết: Tín hiệu điều khiển không liên tục (đảo dấu liên tục), là nguyên nhân gây ra hiện tượng rung (dao động với tần số khá cao xung quanh mặt trượt), đó là do luôn tồn tại thời gian nhảy cấp xác định bởi thời gian trễ và quán tính của bộ phận truyền động mà các hiện tượng nhảy cấp lập bập thường xảy ra. Trong thực tế, do quán tính của các thành phần có liên quan làm cho hiện tượng rung, lập bập đó xẩy ra với tần số thấp hơn. Tuy nhiên hiện tượng rung vẫn làm giảm đi tính ưu việt của chế độ trượt lý tưởng. Vì vậy khi thiết kế chọn phương pháp điều khiển trượt ta sẽ phải cố gắng để khử hiện tượng này bằng cách sử dụng bộ điều khiển trượt cải tiến và ưu việt hơn sẽ trình bày ở chương sau. Chương 2 NÂNG CAO CHẤT LƯỢNG CHO HỆ THỐNG ĐIỀU KHIỂN ROBOT 2.1. Đặt vấn đề. Khi tổng hợp bộ điều khiển quỹ đạo cho Robot sử dụng các hệ điều chỉnh tự động cần phải đảm bảo hệ thực hiện được tất cả các yêu cầu về công nghệ, các chỉ tiêu chất lượng và các yêu cầu kinh tế, kỹ thuật. Bất cứ một hệ điều chỉnh tự động nào cũng đòi hỏi đại lượng điều chỉnh phải bám chính xác tín hiệu điều khiển và tác động nhanh; đó là các chỉ tiêu quan trọng của hệ điều khiển quỹ đạo cho Robot. Trên cơ sở phân tích các sai lệch, tính bền vững, độ ổn định và ưu nhược điểm của từng phương pháp điều khiển có thể áp dụng cho điều khiển robot đã nêu ở chương 1, ta có thể chọn được bộ điều khiển thích hợp để nâng cao chất lượng về độ chính xác và độ tác động nhanh của điều khiển bám chính xác quỹ đạo. Các phương pháp điều khiển kinh điển nhiều khi không đáp ứng được các yêu cầu công nghệ của một đối tượng điều khiển phức tạp có thông số biến thiên trong một phạm vi nhất định v.v... Các phương pháp điều khiển tối ưu, điều khiển thích nghi, điều khiển với cấu trúc biến đổi v.v... đang được phát triển và áp dụng để tổng hợp các hệ thống điều khiển có các chỉ tiêu chất lượng cao. Nội dung chính của luận văn này đề xuất một phương pháp tổng hợp bộ điều khiển trượt cho điều khiển quỹ đạo Robot. Ưu điểm của phương pháp này là đã tận dụng được các ưu điểm của phương pháp điều khiển thích nghi và bền vững; cho phép chuyển hệ phi tuyến MIMO về hệ tuyến tính hoá phân ly bậc hai đơn giản nhằm hạn chế sai lệch quỹ đạo khi có nhiễu tải và sự thay đổi các thông số của mô hình, nâng cao tính ổn định và bền vững của hệ thống điều khiển robot. 2.2. Cơ sở lý thuyết của phương pháp điều khiển bền vững. Lý thuyết điều khiển bền vững ra đời vào những năm 80 khi người ta nhận thấy những khiếm khuyết không thể bỏ qua của các phương pháp điều khiển thích nghi đối với một số đối tượng điều khiển chẳng hạn trong các quá trình phản ứng hoá học hay điều khiển robot. Điều đầu tiên mà các nhà thiết kế nghĩ tới là tận dụng các ưu điểm và lịch sử phát triển của phương pháp tổng hợp hệ điều khiển đầu tiên ra đời trên cơ sở sửa đổi, điều chỉnh các luật điều khiển thích nghi được xây dựng trước đó cho các đối tượng lý tưởng (không có sai lệch giữa mô hình và đối tượng thực) và được gọi là luật điều khiển thích nghi bền vững (robust adaptive control laws). Đối tượng của việc điều chỉnh này là làm cho các đặc tính điều khiển sau khi điều chỉnh có sai lệch ít nhất so với các đặc tính lý tưởng trước đó mặc dù tồn tại các sai lệch trong khâu xây dựng mô hình. Mục đích của công việc thiết kế điều khiển là đáp ứng các yêu cầu về chất lượng điều khiển của đối tượng thực trên cơ sở các mô tả toán học của hệ thống. Một bộ điều khiển được gọi là bền vững khi nó đáp ứng các yêu cầu về chất lượng điều khiển không chỉ của đối tượng theo như mô tả toán học (chỉ đạt độ chính xác nhất định) mà có khả năng đáp ứng cho một lớp đối tượng có đặc tính cơ bản (mô tả toán học) như đối tượng cần điều khiển (family of plants). Phần đặc tính của đối tượng không được đưa vào mô tả toán học gọi là phần sai lệch không xác định (uncertainly) thường đặc tính hoá theo một vài chuẩn toán học để đưa về phân tích , xác định miền giá trị chứa sai lệch. Trong nhiều trường hợp, sai lệch không xác định của hệ thống thường có các dạng đặc biệt do chúng xuất phát từ hàng loạt các thông số vật lý hoặc từ việc giảm bậc của các hàm toán học phức tạp bậc cao, như vậy chúng có thể được biểu diễn cùng với mô hình đối tượng. Sai lệch loại này gọi là sai lệch của mô hình đối tượng có cấu trúc. Ví dụ đối với một hệ SISO, việc mô tả sai lệch đơn trong không gian trạng thái: (2.1) được thể hiện bởi vector tham số V và vector hằng số C. Thông thường bài toán điều khiển bền vững với sai lệch có cấu trúc hay được xét với lớp các mô hình tuyến tính gần đúng như trên cho đối tượng đo các thuận lợi trong lý thuyết điều khiển tuyến tính. Ký hiệu tập các giá trị thích hợp của vector tham số V thì bài toán điều khiển bền vững cho đối tượng có đối tượng có mô hình tuyến tính như trên được phát biểu như sau: Tổng hợp bộ điều khiển R sao cho hệ thống thoả mãn yêu cầu chất E với mọi tham số mô hình v của đối tượng thuộc miền V cho trước. Đặc trưng cho tiêu chuẩn chất lượng E trong miền thời gian thường là vị trí các giá trị riêng thuộc ma trận hệ thống trong mặt phẳng phức được xác định bằng nghiệm của phương trình đặc tính. Det(lI - A) = 0 (2.2) I: Ma trận đơn vị Như vậy nhiệm vụ của bài toán điều khiển bền vững là tổng hợp bộ điều khiển R sao cho các giá trị riêng của ma trận hệ thống nằm trong một miền D cho trước trong mặt phẳng phức khi tham số mô hình v chạy trên miền V. Nếu tập D bao gồm các sai lệch DS giữa đối tượng thực và mô hình S(p) không thể thể mô tả dưới dạng tham số phương trình hay mô hình toán học thì nó được gọi là tập sai lệch có cấu trúc. Sai lệch không có cấu trúc thường được phân ra làm hai loại căn cứ vào quan hệ của chúng với đối tượng bao gồm sai lệch cộng, sai lệch nhân và sai lệch hệ số ổn định. Giả sử mọi đối tượng có hàm truyền thực tế lý tưởng là G(s) thế nhưng chỉ có thể mô hình hoá được các phần tử cơ bản đặc trưng bởi hàm truyền đạt G0(s). Xét ổn định của hệ thống trong miền tần số: - Sai lệch cộng G(s) = G0(s) + Da(s) (2.3) Trong đó Da(s) ổn định thì Da(s) gọi là sai lệch cộng. Cấu trúc của Da(s) thường không biết nhưng Da(s) được giả định thoả mãn chặn trên của một miền tần số nào đó: ½Da(jw½£da(w) "w (2.4) Với da(w) là hàm đã biết nào đó. Từ đó có thể xác định lớp các đối tượng Pa = (2.5) Chặn trên da(w) của hàm Da(jw) có thể được xác định bằng thực nghiệm. - Sai lệch nhân Nếu quan hệ giữa G(s) và G0(s) được xác định bởi biểu thức G(s) = G0(s) (1+ Dm(s)) (2.6) Trong đó Dm(s) ổn định thì Dm(s) gọi là sai lệch nhân. Tương tự như trên, Dm(s) được giả định thoả mãn chặn trên của một miền tần số nào đó. {Dm(jw)}£ dm(w) "w (2.7) với dm(w) là hàm đã biết nào đó có thể xác định bằng thực nghiệm. Từ phương trình (2.6) và (2.7) có thể xác định lớp các đối tượng : Õm = (2.8) - Sai lệch hệ số ổn định Nếu G(s) và G0(s) có dạng các phân thức G(s) = (2.9) G0(s) = (2.10) Trong đó N0(s) và D0(s) là các hàm truyền hợp thức và nguyên tố cùng nhau, D1(s), D1(s) giả thiết ổn định và được gọi là sai lệch hệ số ổn định. Ta sử dụng định nghĩa: Hai hàm truyền hợp thức là nguyên tố cùng nhau khi và chỉ khi chúng có điểm zero chung không giới hạn ở lân cận phải mặt phẳng phức. H 2.1a H 2.1b H 2.1c Hình 2.1 Sơ đồ khối mô hình đối tượng có tính đến các sai lệch không cấu trúc H 2.1a : sai lệch cộng. H 2.1b : sai lệch nhân. H 2.1c : sai lệch hệ số ổn định Đối với các đối tượng điều mà mô hình của chúng ta tuyến tính hoá được mô tả trong không gian trạng thái và các sai lệch thuộc dạng có cấu trúc. Khi đó mục tiêu của bài toán điều khiển bền vững là xét bộ điều khiển R ở hai dạng tĩnh điền hình phản hồi trạng thái hoàn toàn và phản hồi đầu ra. Phương pháp Konigoski được sử dụng cho các hệ MIMO có miền sai lệch D cho trước và phương pháp cơ bản cho tổng hợp các bộ điều khiển bền vững được mô tả trong không gian trạng thái. Với các hệ phi tuyến hay các hệ tồn tại sai lệch không cấu trúc thì thường phải sử dụng các không gian chuẩn như chuẩn Hardy để mô tả đối tượng và xét tính ổn định của hệ. Ngoài ra còn có một số phương pháp ứng dụng cho hệ phi tuyến như phương pháp điều khiển trượt của các trạng thái hệ thống zsi(x,t) = 0 với x là vector trạng thái. Thông qua một luật điều khiển phi tuyến, nếu hệ thống khỏi mặt phẳng đã được xác định thì nó sẽ có xu hướng bị kéo trở lại do vậy đặc tính động học của hệ thống phụ thuộc vào việc chọn mặt phẳng trượt. Trong thực tế người ta đã kiến nghị sử dụng 3 phương pháp để nâng cao chất lượng điều khiển và ổn định bền vững với nhiễu hệ thống là phương pháp điều khiển lớp biên dùng mô hình điều khiển trượt (Sat), phương pháp dùng hàm điều khiển tích phân bão hòa Sat_PI và phương pháp điều khiển trượt bậc cao dùng luật điều khiển HOSMC. 2.3. Lý thuyết ổn định của Lyapunov áp dụng cho điều khiển phi tuyến hệ Robot. Điều khiển bền vững có thể phân tích bằng cách sử dụng công cụ là tín hiệu vào ra ổn định hoặc không gian trạng thái. Trong cách nghiên cứu theo tín hiệu vào ra, sự ổn định của bộ điều khiển Robot sử dụng thuyết khuếch đại nhỏ hay thuyết trọng lực. Trong cách nghiên cứu theo không gian trạng thái, phần lớn các thiết kế sự dụng thuyết ổn định của Lyapunov. Bộ điều khiển bền vững trong Robot được phân chia thành hai cách dựa trên việc sử dụng thuyết ổn định Lyapunop hay bền vững các tín hiệu vào ra: Ổn định Lyapunov tại điểm cân bằng 0 nếu với e > 0 bất kỳ bao giờ cũng tồn tại d phụ thuộc e sao cho nghiệm x(t) của phương trình trên với x(0) = x0 thoả mãn: ||x0||<d ® ||x(t)|| < e, "t ³ 0 Ổn định tiệm cận Lyapunov tại điểm cân bằng 0 nếu với e > 0 bất kỳ bao giờ cũng tồn tại d phụ thuộc e sao cho nghiệm x(t) của phương trình trên với x(0) = x0 thoả mãn: Hình 2.2: Minh hoạ khái niệm ổn định Lyapunov 2.4. Tiêu chuẩn Lyapunov: Tính ổn định tại 0 cho ta một hướng đơn giản để tính ổn định cho hệ tại 0. Bằng cách nào đó người ta có một đường cong khép kín v bao quanh gốc toạ độ 0. Vậy để kiểm tra tính ổn định tại 0 hay không người ta xem quỹ đạo pha x(t) đi từ điểm trạng thái đầu x0 cho trước nhưng tuý ý nằm trong miền bao bởi một trong các đường cong v này theo hướng từ ngoài vào trong hay không. - Nếu x(t) không cắt đường cong họ v nào theo chiều từ trong ra ngoài thì hệ sẽ ổn định tại 0. - Nếu x(t) cắt mọi đường cong họ v nào theo chiều từ ngoài vào trong thì hệ sẽ ổn định tiệm cận tại 0. 2.5. Phương pháp điều khiển trượt cho Robot n bậc tự do 2.5.1. Cơ sở toán học Ta xem xét hệ động học sau: x(n) = a(X) + B(X).u (2.11) trong đó đại lượng vô hướng x là đầu ra mong muốn, đại lượng vô hướng u là tín hiệu điều khiển đầu vào, là vectơ trạng thái, a(X) là hàm phi tuyến không biết chính xác và B(X) là ma trận biểu diễn độ khuếch đại điều khiển không biết chính xác. Trạng thái ban đầu Xd(0) phải là: Xd(0) º X(0) (2.12) và Ngoài ra, ta định nghĩa bề mặt biến thiên theo thời gian s(t) trong không gian trạng thái R(n) bằng phương trình vô hướng S(X;t) = 0 trong đó: S(X;t) = (2.13) với l là một hằng số dương. Ví dụ nếu n = 2 thì tức s là tổng mức ảnh hưởng của sai lệch vị trí và sai lệch vận tốc. Việc giữ giá trị vô hướng S bằng 0 có thể giải quyết được bằng cách chọn luật điều khiển u trong (2.11) sao cho ở bên ngoài s(t) ta có: (2.14) trong đó h là hằng số dương. (2.14) cho thấy rằng khoảng cách đến bề mặt s, được tính bằng S2, giảm xuống theo quỹ đạo hệ thống. Vì thế nó buộc các quỹ đạo hệ thống hướng tới bề mặt s(t) như minh họa trong hình 2.3 dưới đây. s(t) Hình 2.3 Hỡnh 2.4 x Thời gian tớn hiệu điều khiển chạm vào mặt trượt S = 0 xd(t) 0 Mặt phẳng trượt x(t) Hỡnh 2.5 S = 0 xd(t) x Chattering x(t) Bắt đầu từ điểm xuất phát ban đầu nào đó, quỹ đạo trạng thái chạm đến mặt phẳng trượt, sau đó sẽ trượt dọc theo mặt trượt và hướng đến xd với tốc độ hàm mũ, với hằng số thời gian 1/l (hình 2.4). Tóm lại, từ phương trình (2.13) chọn một hàm S, sau đó chọn luật điều khiển u trong (2.11) sao cho S2 duy trì một hàm Lyapunov của hệ thống kín, bất chấp sự thiếu chính xác của mô hình và sự có mặt của nhiễu loạn. Trình tự thiết kế do đó sẽ bao gồm 2 bước: + Bước một, chọn luật điều khiển u thỏa mãn điều kiện trượt (2.14). + Bước hai, luật điều khiển không liên tục u đã được chọn trong bước một được làm nhẵn một cách thích hợp để có sự dung hòa tối ưu giữa dải thông điều khiển và tính chính xác của quỹ đạo, đồng thời khắc phục hiện tượng chattering (hình 2.5). Xét một hệ phi tuyến bậc hai có phương trình trạng thái như sau: (2.15) với là ma trận biểu thị trạng thái của hệ thống. 2.5.1.1. Các giả thiết của (2.15) Giả thiết có phương trình động lực học của Robot như sau: Với : là tín hiệu điều khiển. là vectơ lực Coriolis là nhiễu ngoài chưa biết. Hàm a(X) không được biết chính xác nhưng có ngưỡng giới hạn là một hàm xác định (2.16) Gọi bx là giá trị riêng của B(X), bx min và bx max lần lượt là giá trị riêng nhỏ nhất và lớn nhất của B(X). Đặt bx = (bx max/bx min)1/2, ta được: (2.17) 2.5.1.2. Các bước xây dựng bộ điều khiển trượt Sai lệch quỹ đạo: (2.18) + Bước 1: Định nghĩa mặt s(t) như sau: (2.19) trong đó l là hằng số dương. Nếu n = 2 thì mặt s(X,t) là: S(X,t) = = 0 (2.20) + Bước 2: Tính u để cho trạng thái hệ thống tiến về mặt s(t) và nằm trên đó như trên hình 2.2. Để có được điều đó, xét một hàm năng lượng của hệ thống kín. Giả sử có điểm cân bằng tại điểm x = 0 tại đó V(x) cực tiểu. Nếu chứng minh được: (2.21) thì điểm x = 0 được gọi là điểm ổn định. Theo nguyên lý ổn định Lyapunov, chọn một hàm: với S ¹ 0 Phải làm cho , nghĩa là: . Đây là điều kiện để hệ thống luôn luôn ổn định tiệm cận toàn thể tại S = 0. Khi điều kiện (2.17) được thỏa mãn thì trạng thái của hệ thống luôn luôn được đưa về trên mặt trượt S = 0 và giữ trên đó. Đó là yêu cầu của bước 2. Như vậy phải thiết kế tín hiệu điều khiển u sao cho điều kiện (2.17) được thỏa mãn. Ta có: = (2.22) Chọn tín hiệu đầu vào theo công thức sau [12]: (2.23) Trong đó: và (2.24) với sgn(S) = [sgn(S1), ..., sgn(Sn)]T K = diag(K1, ..., Kn); Ki > 0 với i = 1, 2, ..., n (2.25) Đối với hệ phương trình trạng thái (2.15), nếu các giả thiết (2.16) và (2.17) đều được thỏa mãn và luật điều khiển được chọn như trong (2.23) với (2.26) thì sai số quỹ đạo e = xd – x sẽ hội tụ về 0, nghĩa là xd º x. Từ đây ta sẽ xem xét lý thuyết tổng hợp bộ điều khiển kiểu trượt cho cơ cấu Robot n bậc tự do. Bỏ qua thành phần trọng lực g(q), ta có được: (2.27) Giả định rằng các thông số được đánh giá và các giá trị thực của chúng có mối liên hệ theo các bất đẳng thức sau: (2.28) (2.29) Trong đó B(q), là các hàm đã biết. Điều này cho thấy cả ma trận quán tính và lực liên kết trên khớp được đánh giá với sai số xác định. Phương trình ĐLH (2.27) có thể được viết lại như sau: (2.30) Với: (2.30’) B(q) = H-1(q) Dễ thấy B(q) là ma trận nghịch đảo của H(q). Nhiệm vụ điều khiển là tính mô men t thích hợp sao cho vectơ vị trí thực qt (góc quay) luôn bám theo quỹ đạo đặt qd . Chọn sai số trạng thái và mặt trượt có dạng mô tả sau: e = qd – qt (2.31) , với C = CT > 0 (2.32) Dễ thấy rằng, việc duy trì trên mặt trượt (s = 0) sẽ dẫn đến q(t) ® qd. Thực tế khi chọn s = 0 thì phương trình (2.32) trở thành: (2.33) Phương trình (2.33) chỉ có nghiệm duy nhất e = 0. Nói cách khác, nó đặc trưng cho hệ ĐLH ổn định tiệm cận có e = 0 là giải pháp duy nhất, từ đó điều kiện bám qt ® qd được thoả mãn. Do vậy, vấn đề cần giải quyết của luật điều khiển là tìm mô men động tại các khớp ti sao cho duy trì quỹ đạo Robot trên mặt trượt. Vận dụng lý thuyết ổn định Lyapunov, vấn đề chọn t có thể chuyển thành xét tính ổn định hàm năng lượng V. Chọn hàm V có dạng: V = (1/2).sT.s > 0 (2.34) Vi phân hàm V ta có: (2.35) Do vậy điều kiện để hệ ổn định là: (2.36) Điều kiện (2.36) được gọi là điều kiện trượt. Khi điều kiện trượt được thoả mãn, hệ thống kín sẽ ổn định tiệm cận, toàn bộ và xảy ra hiện tượng bám của tín hiệu ra qt so với tín hiệu đặt qd mặc dù tồn tại các phần không mô hình được, nhiễu hai sai lệch ._.hanh nối của Robot bám rất chính xác các quỹ đạo chuyển động chuẩn với sai số góc quay tĩnh cũng như sai số góc quay trong giai đoạn di chuyển tốc độ không đổi rất nhỏ. Sai số góc quay trong giai đoạn gia tốc và giảm tốc cũng đủ nhỏ ở giới hạn cho phép. 5.4. Kiến nghị Việc lựa chọn các tham số điều khiển phải phụ thuộc vào đặc tính mô phỏng mà chưa có phương pháp thuận tiện hơn trong việc đánh giá ảnh hưởng của các tham số và sự ổn định trong điều khiển. Mặt khác khối lượng công việc tính toán là tương đối lớn, do vậy cần cải tiến phương pháp và sử dụng các công cụ hỗ trợ đủ mạnh để giải quyết công việc này. Để bù nhiễu tốt hơn và giảm đáng kể hiện tượng rung mà phương pháp lớp biên chưa thể đáp ứng được ta có thể sử dụng phương pháp điều khiển trượt bậc cao hoặc phương pháp trượt PI - bão hòa như đã đề cập ở chương 2. Trong thực tế cánh tay Robot luôn luôn bị ảnh hưởng mởi ma sát và các nhiễu loạn , đồng thời trong quá trình chuyển động các tham số của hệ cũng luôn thay đổi, do đó ta sử dụng phương trình tổng quát để mô hình hóa mômen lực cánh tay bằng phương trình động lực học: . Tuy nhiên trong khuôn khổ của luận văn này, cơ cấu chấp hành như động cơ truyền động và cơ cấu truyền động trong mô hình hoá được coi là khâu quán tính, đồng thời các thành phần lực khác ảnh hưởng đến độ chính xác của quỹ đạo chuyển động được bỏ qua. Vì vậy, để hoàn thiện hệ thống có thể dùng phương pháp mô phỏng trên máy tính để tính toán các thông số thích hợp của bộ điều khiển khi xét đến tính chất động học của các cơ cấu chấp hành và của bản thân các lực động tương tác giữa các khớp. Cuối cùng, thuật toán điều khiển trượt chưa tính đến bài toán kiểm tra và giới hạn sự tồn tại của ma trận nghịch đảo , cũng như cách để đo , (thực tế các Robot công nghiệp chỉ trang bị các cảm biến đo vị trí và tốc độ). Hướng nghiên cứu tiếp theo của luận văn là nghiên cứu, thiết kế bộ điều khiển thích nghi bù quán tính và gia tốc trọng trường thông qua hàm Lyapunov được sử dụng để phân tích sự ổn định của hệ thống. KẾT LUẬN Luận văn đã nghiên cứu về lý thuyết điều khiển bền vững và áp dụng cho Robot Serpent với ba khớp động. Luận văn đã kiểm nghiệm tính đúng đắn của thuật toán điều khiển thông qua việc xây dựng các phương trình động lực học cho Robot Serpent dựa vào thông số đã cho của nhà sản xuất. Đưa ra công thức tính động học thuận và động học ngược cho Robot Serpent, xây dựng mô hình toán học cho cơ cấu truyền động Robot, tổng hợp hệ truyền động. Thiết kế bộ điều khiển Bền Vững áp dụng tiêu chuẩn ổn định Lyapunov. Đánh giá chất lượng tĩnh và động của hệ thống bằng mô hình hoá hệ thống đã thiết kế sử dụng Simulink khi Robot được mô phỏng làm việc không tải và tải định mức với quỹ đạo chuyển động chuẩn đặt trước. Kết quả mô phỏng cho thấy các thanh nối của Robot bám chính xác các quỹ đạo chuyển động chuẩn với sai số góc quay tĩnh cũng như sai số góc quay trong giai đoạn di chuyển tốc độ không đổi rất nhỏ. Sai số góc quay trong giai đoạn gia tốc và giảm tốc cũng đủ nhỏ ở giới hạn cho phép. Kết quả nghiên cứu ảnh hưởng của bộ số (KD,KV) đến độ chính xác điều khiển bám theo quỹ đạo chuẩn cho thấy bộ số (KD,KV) có giá trị càng lớn thì sai số quỹ đạo chuyển động và độ qúa điều chỉnh nhỏ, tuy nhiên cũng cần thiết phải chọn bộ số (KD,KV) sao cho có giá trị đủ lớn sẽ đem lại sự tối ưu cho hệ thống điều khiển về cả giải pháp kỹ thuật lẫn kinh tế. Chất lượng động và độ tác động nhanh của hệ thống cũng được kiểm nghiệm với tín hiệu đặt biến thiên nhanh. Kết quả thu được cho thấy hệ thống đảm bảm phản ứng nhanh với các tín hiệu đặt và sai số quỹ đạo đủ nhỏ. Mặc dù luận văn chưa có kết quả thực nghiệm, song những kết quả thu được đã tạo cơ sở tốt cho việc thiết kế một hệ thống điều khiển bám chính xác quỹ đạo chuyển động của Robot trong thực tế. KIẾN NGHỊ Trong thực tế một cánh tay Robot luôn luôn bị ảnh hưởng mởi ma sát và các nhiễu loạn đồng thời. Do đó chúng ta sẽ tổng quát hoá mô hình cánh tay bằng phương trình động lực học: . Tuy nhiên trong khuôn khổ của luận văn này, cơ cấu chấp hành như động cơ truyền động và cơ cấu truyền động trong mô hình hoá được coi là khâu không quán tính, đồng thời các thành phần lực khác ảnh hưởng đến độ chính xác của quỹ đạo chuyển động được bỏ qua. Vì vậy, để hoàn thiện hệ thống có thể dùng phương pháp mô phỏng trên máy tính để tính toán các thông số thích hợp của bộ điều khiển khi xét đến tính chất động học của các cơ cấu chấp hành và của bản thân các lực động tương tác giữa các khớp. Luận văn cũng chưa đề cập đến phương pháp tính chọn bộ số (KD,KV) để có được bộ số thích hợp đảm bảo chỉ tiêu chất lượng tĩnh và động yêu cầu. Để giải quyết những vấn đề này hướng nghiên cứu tiếp theo của luận văn là nghiên cứu bộ điều khiển bền vững bù quán tính và gia tốc trọng trường thông qua hàm Lyapunov được sử dụng để phân tích sự ổn định của hệ thống. Ngoài ra luận văn chưa đề cập được đến việc lập trình và ứng dụng trực tiếp vào Robot Serpent các kết quả nghiên cứu trên thông qua việc ghép nối với các thiết bị ngoại vi. Mặc dù đã cố gắng hết sức để tìm tòi, nghiên cứu nhằm hoàn thành yêu cầu đặt ra, xong vì thời gian có hạn và điều kiện nghiên cứu còn nhiều hạn chế nên chắc chắn không tránh khỏi những khiếm khuyết và thiếu sót. Vì vậy tác giả mong nhận được sự chỉ bảo và góp ý tận tình của các Thầy, Cô giáo trong hội đồng bảo vệ và phản biện để luận văn được hoàn thiện hơn. Tôi xin chân thành cảm ơn Thầy cô giáo đã tận tình hướng dẫn và giúp đỡ Tôi hoàn thành luận văn này. PHỤ LỤC 1: CÁC SƠ ĐỒ KHỐI Sơ đồ khối mạch điều khiển Robot Scara Serpent: Sơ đồ khối mạch tạo quỹ đạo chuyển động chuẩn: Sơ đồ khối Khâu điều chỉnh: Sơ đồ khối khâu Tính giá trị trung gian: Khi điều khiển trượt sử dụng hàm sgn(S) để mô phỏng: Khi điều khiển trượt sử dụng hàm sat(S/F) để mô phỏng: Sơ đồ khâu Robot Serpent: Sơ đồ khối các Tín hiệu: Nhập các giá trị tham số cho mô hình: PHỤ LỤC 2: CÁC CHƯƠNG TRÌNH M FILES: (chạy trên nền Matlab/simulink) RbSerpent.m % chuong trinh chinh %RbSerpent Robot toolbox demonstrations % Displays popup menu of toolbox demonstration scripts that illustrate: % * homogeneous transformations % * trajectories % * forward kinematics % * inverse kinematics % * robot animation % * inverse dynamics % * forward dynamics % echo off clear all delete( get(0, 'Children') ); while 1, selection = menu('Menu chÝnh cña Robot Scara Serpent', ... 'NhËp c¸c th«ng sè cho m« h×nh', ... 'Load M« h×nh', ... 'Quü ®¹o', ... '§éng häc thuËn', ... '§éng häc ngîc', ... '§éng lùc häc', ... 'HiÓn thÞ', ... 'Tho¸t'); switch selection, case 1, quydaochuan case 2, DktruotRBSP case 3, Dapung case 4, dhthuanRS case 5, dhnguocRS case 6, dlhocRS case 7, Robot_TN case 8, delete( get(0, 'Children') ); break; end end %%======================================================%% %%======================================================%% DhocnguocRS.m%%Tính toán động học ngược Robot Serpent function theta=DhnguocRS(u) clc; disp('Dong hoc thuan Robot Serpent'); a1=input('chieu dai a1 = '); a2=input('chieu dai a2 = '); disp('Vi tri toa do cua tay may Robot: px,py,pz,nx...'); px=input('vi tri theo toa do x: px ='); py=input('vi tri theo toa do x: py ='); nx=input('nhap gia tri dinh vi nx = '); if (nx>1) disp('Error'); end disp('Tinh toan cac gia tri goc quay cua cac khop khi biet toa do vi tri khop cuoi cung'); % Goc quay theta2: C2=(px^2+py^2-a1^2-a2^2)/(2*a1*a2); S2=sqrt(1-C2^2); theta2=atan2(S2,C2); % Goc quay theta1: C1=((a1+a2*C2)*px+a2*S2*py)/(px^2+py^2); S1=((a1+a2*C2)*py-a2*S2*px)/(px^2+py^2); theta1=atan2(S1,C1); % d3=-pz % Goc quay theta4: kk=sqrt(1-nx^2); theta4=theta1+theta2-atan2(kk,nx); disp('Cac goc quay tuong ung voi vi tri:'); disp(' theta1 theta2 theta4') theta=[theta1,theta2,theta4]; % end %================================================= Gocquaybd.m %% Tính toán góc quay ban đầu function init=gocquaybd(u) x=u(1); y=u(2); z=u(3); a1=u(4); %(m) a2=u(5); %(m) nx=u(6); %q20=Gocquay2(X0,Y0,a1,a2) %q10=Gocquay1(X0,Y0,q20,a1,a2); %q40=Gocquay4(q10,q20,nx); %Tinh cac gia tri tuong ung goc quay 1: q10,q1c %=================================================== C2=(x^2+y^2-a1^2-a2^2)/(2*a1*a2); if (C2 >1) disp('Error'); end S2=sqrt(1-C2^2); q20=atan2(S2,C2); %=================================================== %Tinh cac gia tri tuong ung goc quay 2: q20,q2c %=================================================== C1=((a1+a2*cos(q20))*x+a2*sin(q20)*y)/(x^2+y^2); S1=((a1+a2*cos(q20))*y-a2*sin(q20)*x)/(x^2+y^2); if (abs(C1) >1|abs(S1)>1) disp('Error'); end q10=atan2(S1,C1); %===================================================%Tinh cac gia tri tuong ung goc quay 3: q30,q3c %=================================================== if (nx>1) disp('Error'); end KK=sqrt(1-nx^2); tetaphu=atan2(KK,nx); q40=q10+q20-tetaphu; %============================================= init=[q10;q20;q40]; %================================================= %================================================= qdcdc.m %% Tính toán Quỹ đạo chuyển động chuẩn function qdc=qdcdc(u) %=================================================== % Xay dung quy dao chuyen dong chuan cho 3 khop quay cua Robot Serpent %=================================================== % qi0,qic: goc quay dau va cuoi cua khop quay thu i % --------------------------------------------------% Toa do diem dau: DDau=[X0;Y0;Z0] X0=u(1); Y0=u(2); Z0=u(3); % Toa do diem cuoi: DCuoi=[Xc;Yc;Zc] Xc=u(4); Yc=u(5); Zc=u(6); td=u(7); % td: Dat thoi gian chuyen dong; ta=u(8); %Thoi gian gia toc (giam toc). %---------------------------- % Thong so cua Robot: a1,a2. a1=u(9); %(m) a2=u(10); %(m) t=u(11); % thoi gian thuc nx=u(12); %=================================================== % CHUONG TRINH CHINH %=================================================== % Dong hoc nguoc va tinh cac goc quay cua tung khop tai diem dau va diem cuoi %---------------------------- q20=Gocquay2(X0,Y0,a1,a2); q2c=Gocquay2(Xc,Yc,a1,a2); q10=Gocquay1(X0,Y0,q20,a1,a2); q1c=Gocquay1(Xc,Yc,q2c,a1,a2); q40=Gocquay4(q10,q20,nx); q4c=Gocquay4(q1c,q2c,nx); %---------------------------- %Khoi tao cac he so cua quy dao chuan cua 3 khop %---------------------------- h1=Init(q10,q1c,ta,td); h2=Init(q20,q2c,ta,td); h4=Init(q40,q4c,ta,td); %---------------------------- qdc1= Quydaochuan(t,h1,ta,td); qdc2= Quydaochuan(t,h2,ta,td); qdc4= Quydaochuan(t,h4,ta,td); qdc=[qdc1;qdc2;qdc4]; %=================================================== %KET THUC CHUONG TRINH CHINH %=================================================== %=================================================== %Tinh cac gia tri tuong ung goc quay 2: q20,q2c %=================================================== function gq2=Gocquay2(x,y,a1,a2) C2=(x^2+y^2-a1^2-a2^2)/(2*a1*a2); if (C2 >1) disp('Error'); end S2=sqrt(1-C2^2); gq2=atan2(S2,C2); %=================================================== %Tinh cac gia tri tuong ung goc quay 1: q10,q1c %=================================================== function gq1=Gocquay1(x,y,q2,a1,a2) C1=((a1+a2*cos(q2))*x+a2*sin(q2)*y)/(x^2+y^2); S1=((a1+a2*cos(q2))*y-a2*sin(q2)*x)/(x^2+y^2); if (abs(C1) >1|abs(S1)>1) disp('Error'); end gq1=atan2(S1,C1); %=================================================== %Tinh cac gia tri tuong ung goc quay 4: q40,q4c %=================================================== function gq4=Gocquay4(q1,q2,nx) if (nx>1) disp('Error'); end KK=sqrt(1-nx^2); tetaphu=atan2(KK,nx); gq4=q1+q2-tetaphu; %=================================================== %Xay dung quy dao chuyen dong chuan %=================================================== function quydao=Quydaochuan(t,h,ta,td) %gsi_ac=a0ac+a1ac*t+a2ac*t^2+a3ac*t^3+a4ac*t^4; a0ac=h(1); a3ac=h(2); a4ac=h(3); a0cd=h(4); a1cd=h(5); a0df=h(6); a1df=h(7); a3df=h(8); a4df=h(9); qcuoi=h(10); if td<=0 td=0; quydao=-1;%Error elseif (td>0)&(td<=4*ta) %Gom 2 giai doan: gia toc, giam toc if (t>=0)&(t<=td/2)%Gia toc quydao=a0ac+a3ac*t^3+a4ac*t^4;%Gia toc elseif (t>td/2)&(t<=td) %Giam toc quydao=a0df+a1df*(t-td/2)+a3df*(t-td/2).^3+a4df*(t-td/2).^4; %Giam toc elseif t>td quydao=qcuoi; else quydao=-1;%Error end else %if td>(4*ta) %Gom 3 giai doan: gia toc, chay deu, giam toc if (t>=0)&(t<2*ta) quydao=a0ac+a3ac*t^3+a4ac*t^4;%Gia toc elseif (t>=2*ta)&(t<=(td-2*ta)) quydao=a0cd+a1cd*(t-2*ta); %Chay deu elseif (t>(td-2*ta))&(t<=td) quydao=a0df+a1df*(t-td+2*ta)+a3df*(t-td+2*ta).^3+a4df*(t-td+2*ta).^4; %Giam toc elseif t>td quydao=qcuoi; else quydao=-1;%Error end end %=================================================== %Tinh cac he so cua quy dao chuan ung voi tung khop %=================================================== function heso=Init(qdau,qcuoi,ta,td) if (td>0)&(td<=4*ta) %Quy dao doan ac:(thay ta=td/4) a0ac=qdau; a3ac=(qcuoi-qdau)/(td^3/8); a4ac=-(qcuoi-qdau)/(td^4/8); %Quy dao doan cd: a0cd=0; a1cd=0; %Quy dao doan df: a0df=qcuoi-(qcuoi-qdau)/2; a1df=(qcuoi-qdau)/(td/2); a4df=-(3*qcuoi-3*a0df-a1df*td)/(td^4/16); a3df=-(a1df+a4df*(td^3/2))/(3*td^2/4); %------------------------------------ end if td>(4*ta) %Quy dao doan ac: a0ac=qdau; a3ac=(qcuoi-qdau)/(4*ta^2*(td-2*ta)); a4ac=-(qcuoi-qdau)/(16*ta^3*(td-2*ta)); %Quy dao doan cd: a0cd=qdau+(qcuoi-qdau)*ta/(td-2*ta); a1cd=(qcuoi-qdau)/(td-2*ta); %Quy dao doan df: a0df=qcuoi-(qcuoi-qdau)*ta/(td-2*ta); a1df=(qcuoi-qdau)/(td-2*ta); a4df=-(3*qcuoi-3*a0df-4*a1df*ta)/(16*ta^4); a3df=-(a1df+32*a4df*ta^3)/(12*ta^2); %------------------------------------ end heso=[a0ac,a3ac,a4ac,a0cd,a1cd,a0df,a1df,a3df,a4df,qcuoi]; %=================================================== %=================================================== RobotTN.m % chương trình hiển thị mô hình và tham số RB function robot_tn(action); % robot_tn Hien thi cac tham so va mo hinh cua robot trong MATLAB. % Su dung phuong phap dieu khien truot cho he phi tuyen de % dieu khien ben vung cho hoat dong cua robot Scara Serpent % Co the nhap so lieu cho tay may, hien thi cac quy dao dat % va quy dao thuc te va so sanh ve sai so va toc do bam, % Su dung thuat toan dieu khien bao hoa Sat de khu hien tuong chattering % Cac ket qua mo phong duoc hien thi tren man hinh % Thong tin chi tiet tham khao o % C:\matlabR11\toolbox\matlab\demos % copyright by KhangHD - Cao hoc DK_TDH 2004 - 2006 if nargin<1, action='initialize'; end; if strcmp(action,'initialize'), oldFigNumber=watchon; figNumber=figure( ... 'Name','Ch¬ng tr×nh m« pháng cña Robot Scara Serpent', ... 'NumberTitle','off', ... 'Visible','off'); axes( ... 'Units','normalized', ... 'Position',[0.10 0.45 0.65 0.45]); %=================================== % Set up the MiniCommand Window top=0.35; left=0.05; right=0.75; bottom=0.05; labelHt=0.05; spacing=0.005; promptStr=str2mat(' ',' % Ban hay nhan vao nut ben phai man hinh de lua chon', ... ' % cac lenh can thuc hien va hien thi cac ket qua'); % First, the MiniCommand Window frame frmBorder=0.02; frmPos=[left-frmBorder bottom-frmBorder ... (right-left)+2*frmBorder (top-bottom)+2*frmBorder]; uicontrol( ... 'Style','frame', ... 'Units','normalized', ... 'Position',frmPos, ... 'BackgroundColor',[0.50 0.50 0.50]); % Then the text label labelPos=[left top-labelHt (right-left) labelHt]; uicontrol( ... 'Style','text', ... 'Units','normalized', ... 'Position',labelPos, ... 'BackgroundColor',[0.50 0.50 0.50], ... 'ForegroundColor',[1 1 1], ... 'String','Cua so tro giup'); % Then the editable text field mcwPos=[left bottom (right-left) top-bottom-labelHt-spacing]; mcwHndl=uicontrol( ... 'Style','edit', ... 'HorizontalAlignment','left', ... 'Units','normalized', ... 'Max',10, ... 'BackgroundColor',[1 1 1], ... 'Position',mcwPos, ... 'Callback','robot_tn(''eval'')', ... 'String',promptStr); % Save this handle for future use set(gcf,'UserData',mcwHndl); %==================================== % Thong tin cho tat ca cac nut labelColor=[0.8 0.8 0.8]; top=0.95; left=0.80; btnWid=0.15; btnHt=0.08; % Spacing between the button and the next command's label spacing=0.03; %==================================== % Khung CONSOLE (ban dieu khien) frmBorder=0.02; yPos=0.05-frmBorder; frmPos=[left-frmBorder yPos btnWid+2*frmBorder .9+2*frmBorder]; uicontrol( ... 'Style','frame', ... 'Units','normalized', ... 'Position',frmPos, ... 'BackgroundColor',[0.50 0.50 0.50]); %==================================== % The "Mo hinh robot" button - Nut do hoa duong net lien btnNumber=1; yPos=top-(btnNumber-1)*(btnHt+spacing); %labelStr='Line'; labelStr='Mo hinh robot'; callbackStr='robot_tn(''demobutton'')'; cmdStr=str2mat( ... ' % Hien thi mo hinh cua robot Scara Serpent ', ... ' hold on;', ... ' plot([0 .4 .4 0 0],[0 0 .1 .1 0]);', ... ' plot([.1 .3 .3 .1 .1],[.1 .1 .5 .5 .1]);', ... ' plot([0 .5 .5 0 0],[.5 .5 .6 .6 .5]);', ... ' plot([.5 .6 .6 .5 .5],[.45 .45 .65 .65 .45]);', ... ' plot([.6 .8 .8 .6 .6],[.5 .5 .6 .6 .5]);', ... ' plot([.8 .9 .9 .8 .8],[.4 .4 .7 .7 .4]);', ... ' plot([.83 .87 .87 .83 .83],[.3 .3 .4 .4 .3]);', ... ' plot([.83 .87 .87 .83 .83],[.7 .7 .8 .8 .7]);', ... ' hold off;' ... ); % Generic popup button information btnPos=[left yPos-btnHt btnWid btnHt]; uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',btnPos, ... 'String',labelStr, ... 'Callback',callbackStr, ... 'UserData',cmdStr); %==================================== % The "Quy dao dat" button btnNumber=2; yPos=top-(btnNumber-1)*(btnHt+spacing); labelStr='Quy dao dat'; callbackStr='robot_tn(''demobutton'')'; cmdStr=str2mat( ... ' % Hien thi quy dao dat truoc cua robot', ... ' x = -2.9:0.2:2.9;', ... ' bar(x,exp(-x.*x));' ... ); % Generic popup button information btnPos=[left yPos-btnHt btnWid btnHt]; uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',btnPos, ... 'String',labelStr, ... 'Callback',callbackStr, ... 'UserData',cmdStr); %==================================== % The "Cac Ket qua mo phong" button btnNumber=3; yPos=top-(btnNumber-1)*(btnHt+spacing); %labelStr='Stair'; labelStr='Cac ket qua'; callbackStr='robot_tn(''demobutton'')'; cmdStr=str2mat( ... ' % Hien thi ca ket qua mo phong quy ve vi tri,van toc va dao thuc', ... ' x=0:0.25:10;', ... ' stairs(x,sin(x));', ... ' grid;' ... ); % Generic popup button information btnPos=[left yPos-btnHt btnWid btnHt]; uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',btnPos, ... 'String',labelStr, ... 'Callback',callbackStr, ... 'UserData',cmdStr); % The "Sai so" button btnNumber=4; yPos=top-(btnNumber-1)*(btnHt+spacing); labelStr='Sai so'; callbackStr='robot_tn(''demobutton'')'; cmdStr=str2mat( ... ' % Hien thi sai so cua quy dao thuc so voi quy dao dat', ... ' x = 0:0.1:4;', ... ' y = sin(x.^2).*exp(-x);', ... ' stem(x,y)' ... ); % Generic button information btnPos=[left yPos-btnHt btnWid btnHt]; uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',btnPos, ... 'String',labelStr, ... 'Callback',callbackStr, ... 'UserData',cmdStr); %==================================== % The "Mo phong qua trinh chay" button btnNumber=5; yPos=top-(btnNumber-1)*(btnHt+spacing); labelStr='Qua trinh chay'; callbackStr='robot_tn(''demobutton'')'; cmdStr=str2mat( ... ' % Canh tay cua robot dich chuyen trong khong gian thuc', ... ' x=-2:0.1:2;', ... ' y=erf(x);', ... ' e = rand(size(x))/10;', ... ' errorbar(x,y,e);' ... ); % Thong tin chung cho cac nut % Generic popup button information btnPos=[left yPos-btnHt btnWid btnHt]; uicontrol( ... 'Style','pushbutton', ... 'Units','normalized', ... 'Position',btnPos, ... 'String',labelStr, ... 'Callback',callbackStr, ... 'UserData',cmdStr); % Nut thong tin chung uicontrol( ... 'Style','push', ... 'Units','normalized', ... 'Position',[left bottom+btnHt+spacing btnWid btnHt], ... 'String','Thong tin', ... 'Callback','robot_tn(''Thong tin'')'); %==================================== %Nut dong chuong trinh %The CLOSE button uicontrol( ... 'Style','push', ... 'Units','normalized', ... 'Position',[left bottom btnWid btnHt], ... 'String','Dong', ... 'Callback','close(gcf)'); % Now uncover the figure set(figNumber,'Visible','on'); elseif strcmp(action,'demobutton'), cmdStr=get(gco,'UserData'); mcwHndl=get(gcf,'UserData'); set(mcwHndl,'String',cmdStr); evalmcw(mcwHndl); elseif strcmp(action,'eval'), mcwHndl=get(gcf,'UserData'); cmdStr=get(mcwHndl,'String'); evalmcw(mcwHndl); elseif strcmp(action,'Thong tin'), helpwin(mfilename); end; %================================================= %================================================= Timgoc.m %% - Tìm góc quay tương ứng cho tay máy Robot Serpent function[h,cMin,theta1,dp1,theta2,dp2]= timgoc(px,py) % Bai toan cho biet toa do cua vi tri dau va cuoi cua tay ro bot % ta phai tim duoc cac goc quay theta1, theta2 tuong % ung voi hai khop main va fore tuong ung voi cac % diem chia khi quy dao la duong thang disp('Toa do cua diem dau :'); x0 = input('nhap gia tri hoanh do diem dau: '); y0 = input('nhap gia tri tung do diem dau: '); if (x0^2+y0^2)>.16 errordlg('Ban nhap sai roi','H·y nhËp l¹i'); return end disp('Toa do cua diem cuoi :'); xC = input('nhap gia tri hoanh do diem cuoi: '); yC = input('nhap gia tri tung do diem cuoi: '); if (x0^2+y0^2)>.16 errordlg('Ban nhap sai roi','H·y nhËp l¹i'); return end if(x0~=xC) a = (y0-yC)/(x0-xC); b = (yC*x0-y0*xC)/(x0-xC); end format short; a1=.25; a2=.15; dv=6600/192; c=px^2+py^2; c0=x0^2+y0^2; cC=xC^2+yC^2; cMin= sqrt(a1^2+a2^2-2*a1*a2*cos(65*pi/180)); %goc giua gG = abs(atan2(y0,x0)-atan2(yC,xC)); % dien tich s = 1/2*sqrt(c0*cC)*sin(gG); % chieu cao la duong ngan nhat h=s*2/sqrt((x0-xC)^2+(y0-yC)^2); % i = input('Nhap gia tri so khoang chia: '); if sqrt(c) <cMin warndlg('gia tri cua toa do tay khong thoa man','H·y xem l¹i to¹ ®é'); break end if h<cMin errordlg('quy dao theo duong thang nay khong the thuc hien duoc ','H·y xem l¹i to¹ ®é'); break end m = (c-a1^2-a2^2)/(2*a1*a2); %n = sqrt(1-m^2); t2=acos(m); theta2=180*t2/pi; dp2=(115-theta2)*dv; %p=(a1+a2*cos(t2)*py-a2*sin(t2)*px)/(a1^2+a2^2+2*a1*a2*cos(t2)); %q=(px+a2*po*sin(t2))/(a1+a2*cos(t2)); %t1=atan2(p,q); if px~=0 t1=atan2(py,px)-acos((c+ a1^2-a2^2)/(2*a1*sqrt(c))); else t1=pi/2 -acos((c+a1^2-a2^2)/(2*a1*sqrt(c))); end theta1=t1*180/pi; if theta1>0 dp1=(96-theta1)*dv; else dp1=(96-theta1)*dv; end %================================================= %================================================= Tinh_Hij.m %% - Chương trình tính Hij function Hij=tinh_Hij(u) % nhap thong so cua tai mt=u(1); Jt=u(2); % dau vao 3 la goc quay theta2 % moment quan tinh cua khop thu 4 J1=0.021; J2=0.0034; J3=.006; J40=0.001; J4=J40+Jt; J124=J1+J2+J4; J24+J2+J4; m1=4; m2=1.5; m3=2; m40=.6; m4=m40+mt; m1234=m1+m2+m3+m4; m234=m2+m3+m4; m34=m3+m4; l1=.25; l2=.15; % Tinh toan cac gia tri Hij H11=m1234*l1^2+m234*l2^2+J124+2*m234*l1*l2*cos(u(3)); H12=m234*l2^2+J24+m234*l1*l2*cos(u(3)); H13=J4; H21=H12; H22=m234*l2^2+J24; H31=J4; H32=J4; H33=J4; % Cac gia tri dau ra Hij Hij=[H11;H12;H13;H21;H22;H23;H31;H32;H33]; %%--------------------------------------------------------------------------%% %%--------------------------------------------------------------------------%% Tinh_bij_T.m %% Chương trình tính bij và T function BT=tinh_bij_T(u) % nhap thong so cua tai mt=u(1); Jt=u(2); % dau vao 3 la goc quay theta2 % moment quan tinh cua khop thu 4 J1=0.021; J2=0.0034; J3=.006; J40=0.001; J4=J40+Jt; J124=J1+J2+J4; J24+J2+J4; m1=4; m2=1.5; m3=2; m40=.6; m4=m40+mt; m1234=m1+m2+m3+m4; m234=m2+m3+m4; m34=m3+m4; l1=.25; l2=.15; % Tinh T T=m234*l1*l2*sin(u(3)); % Tinh toan cac gia tri Hij H11=m1234*l1^2+m234*l2^2+J124+2*m234*l1*l2*cos(u(3)); H12=m234*l2^2+J24+m234*l1*l2*cos(u(3)); H13=J4; H21=H12; H22=m234*l2^2+J24; H31=J4; H32=J4; H33=J4; DH=J4^2*(2*H12-H11-H22)+J4*(H11*H22-H12^2); % Cac gia tri dau ra bij b11=DH^-1*(H22*H33-H23*H32); b12=DH^-1*(H13*H32-H12*H33); b13=DH^-1*(H11*H23-H13*H22); b21=DH^-1*(H23*H31-H21*H33); b22=DH^-1*(H11*H33-H13*H31); b23=DH^-1*(H13*H21-H11*H23); b31=DH^-1*(H21*H32-H31*H22); b32=DH^-1*(H12*H31-H11*H32); b33=DH^-1*(H11*H22-H12^2); % Dau ra BT=[b11;b12;b21;b22;b31;b32;b13;b23;b33;T]; %================================================= Tinh_ai.m% Tinh toan gia tri ai function ai=tinh_ai(u) % cac dau vao b11=u(1); b12=u(2); b21=u(3); b22=u(4); b31=u(5); b32=u(6); h1=u(7); h2=u(8); %tinh toan a1=-(b11*h1+b12*h2); a2=-(b21*h1+b22*h2); a3=-(b31*h1+b32*h2); ai=[a1;a2;a3]; %end %================================================= tinh_ddtheta % Tính toán góc điều khiển thực function d2theta=tinh_ddtheta(u) u1=u(1); u2=u(2); u4=u(3); % ai duoc dua tu khau tinh_ai den a1=u(4); a2=u(5); a4=u(6); % bij duoc tinh o chtrinh tinh_bij_T.m % h1,h2 duoc xac dinh trong subsystem khau_dieu_chinh % chuong trinh tinh_Hij.m b11=u(7); b12=u(8); b21=u(9); b22=u(10); b31=u(11); b32=u(12); b13=u(13); b23=u(14); b33=u(15); % init=u(16); % a1=-(b11*h1+b12*h2); % a2=-(b21*h1+b22*h2); % a4=-(b31*h1+b32*h2); %Tinh dao ham cap hai cua goc quay thuc ddtheta1=a1+b11*u1+b12*u2+b13*u4; ddtheta2=a2+b21*u1+b22*u2+b23*u4; ddtheta4=a4+b31*u1+b32*u2+b33*u4; d2theta=[ddtheta1;ddtheta2;ddtheta4]; Danh mục hình vẽ và đồ thị Trang Hình 1.1 Phân loại robot cơ bản 9 Hình 1.2 Hình dạng của các loại robot cơ bản. 10 Bảng 1.3 Các dạng cơ bản của các khớp Robot 10 Hình 1.4 Không gian làm việc của Robot 11 Hình 1.5 Sơ đồ khối của Robot 11 Hình 1.6 Sơ đồ khối điều khiển vị trí Robot 13 Hình 1.7 ổn định hệ phi tuyến 17 Hình 1.8 Điều khiển tuyến tính hình thức bằng bộ điều khiển phản hồi trạng thái 19 Hình 1.9 Quan sát trạng thái 20 Hình 1.10 Thiết kế bộ điều khiển 21 Hình 1.11 Sơ đồ cấu trúc hệ điều khiển ĐLH ngược 22 Hình 1.12 Hệ thống điều khiển thích nghi theo sai lệch 25 Hình 1.13 Hệ thống điều khiển thích nghi theo mô hình chuẩn. 26 Hình 1.14 Sơ đồ khối tổng quát hệ thích nghi 27 Hình 1.15 Đối tượng được điều khiển bởi rơle 2 vị trí 28 Hình 1.16 Quỹ đạo pha với đường chuyển đổi e = 0 29 Hình 1.17 Hệ trượt với luật chuyển đổi mạch phản hồi 29 Hình 1.18 Mạch điều khiển với phản hồi nội 30 Hình 1.19 Quỹ đạo pha với đường chuyển đổi e = -(y1+ay2) = 0 30 Hình 1.20 Sơ đồ nguyên lý điều khiển kiểu trượt 33 Hình 2.1 Sơ đồ khối mô hình đối tượng có tính đến các sai lệch không cấu trúc 40 Hình 2.2 Minh hoạ khái niệm ổn định Lyapunov 42 Hình 2.3 Mặt phẳng trượt s(t) 44 Hình 2.4 Thời gian tín hiệu điều khiển chạm vào mặt trượt 44 Hình 2.5 Hiện tượng chattering 44 Hình 2.6 Lược đồ điều khiển trượt cải tiến sử dụng mô hình trượt SMC 50 Hình 2.7 Giản đồ pha theo luật điều khiển HOSM 52 Hình 2.8 Định nghĩa lớp biên B(t) 54 Hình 3.1 Robot Scara Serpent và các hình chiếu 58 Hình 3.2 Cấu hình và hệ trục tọa độ gắn trên khúc tay của Robot 59 Bảng 3.3 Các thông số động học của robot Serpent 60 Bảng 3.4 Thông số các động cơ của robot 60 Hình 3.5 Giới hạn góc quay của 2 khớp 61 Hình 3.6 Giới hạn không gian làm việc của robot Serpent 61 Bảng 3.7 Tham số Denavit – Hartenberg của Robot Scara Serpent 63 Bảng 3.8 Thông số của Rôbốt Serpent 69 Hình 4.1 Sơ đồ cấu trúc chung của hệ thống điều khiển tay máy Robot 80 Hình 4.2 Sơ đồ điều khiển chuyển động trong không gian khớp 81 Hình 4.3 Lược đồ khớp tay máy 81 Hình 4.4 Sơ đồ khối cơ cấu chuyển động 82 Hình 4.5 Mô hình truyền động điện Rôbốt 83 Hình 4.6 Mô hình toán học động cơ 83 Hình 4.7 Dạng quỹ đạo chuyển động chuẩn 85 Hình 4.8 Mụ hỡnh húa đỏp ứng đầu ra thực của Robot 91 Hình 5.1 Sơ đồ khối mô hình hoá Robot Scara Serpent 96 Hình 5.2 Sơ đồ khối tạo quỹ đạo chuyển động chuẩn 97 Hình 5.3 Mụ hỡnh mạch điều khiển cho khớp 1 của Robot Serpent 97-98 Hình 5.4 Menu chính của chương trình 98 Hình 5.5 Bảng thông số của Robot Scara Serpent 99 Hình 5.6 Sơ đồ khối mô hình chuẩn Robot Serpent 99 Hình 5.7 Giao diện mô phỏng Robot Serpent 100 Hình 5.8 Mô hình Robot 100 Hình 5.9 Cửa sổ trợ giúp 100 Bảng 5.10 Cỏc tham số của tay mỏy 101 Hình 5.11 Các thông số của tảI 101 Hình 5.12 Quỹ đạo chuyển động chuẩn của Robot Scara Serpent 102 Hình 5.13 Quỹ đạo đặt và quỹ đạo thực khớp 1 102-103 Hình 5.14 Quỹ đạo đặt và quỹ đạo thực khớp 2 103 Hình 5.15 Quỹ đạo đặt và quỹ đạo thực khớp 4 104 Hình 5.16 Moment tỏc động lờn cỏc trục (dựng hàm sgn(S)) 106 Hình 5.17 Mụ men tỏc động lờn cỏc trục (dựng hàm sat(S)) 105 Bảng 5.18 Cỏc tham số lựa chọn cho mạch điều khiển 107 Hình 5.19 Sai số ei(t) 107-108 DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT RBCN Rô bốt công nghiệp ĐKRB Điều khiển Robot ĐKCĐ Điều khiển chuyển động ĐCMC Động cơ một chiều ĐCXC Động cơ xoay chiều ĐC KĐB Động cơ không đồng bộ BBĐ Bộ biến đổi ĐKTN Điều khiển thích nghi DTC Direct Torque Control DSP Digital Signal Processor IC Integrated Circuits (Mạch tích hợp) FMS Flexible Manufacturing System SMC Sliding Mode Control (Mô hình điều khiển trượt) PWM Pulse Width Modulation (Điều biến độ rộng xung) PID Proportional Integral Derivative Controller MRAC Model Refrence Adaptive Control PTP Point to point CPC Continuous Path Control MỤC LỤC ._.

Các file đính kèm theo tài liệu này:

  • docLV2149.doc