Sử dụng giải thuật di truyền tìm kiếm thông số PID điều khiển robot scara bám theo quỹ đạo cho trước
Bạn đang xem tài liệu "Sử dụng giải thuật di truyền tìm kiếm thông số PID điều khiển robot scara bám theo quỹ đạo cho trước", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
su_dung_giai_thuat_di_truyen_tim_kiem_thong_so_pid_dieu_khie.pdf
Nội dung text: Sử dụng giải thuật di truyền tìm kiếm thông số PID điều khiển robot scara bám theo quỹ đạo cho trước
- SỬ DỤNG GIẢI THUẬT DI TRUYỀN TÌM KIẾM THÔNG SỐ PID ĐIỀU KHIỂN ROBOT SCARA BÁM THEO QUỸ ĐẠO CHO TRƢỚC USING GENETIC ALGORITHM TO ESTIMATE THE PID’S CONTROLLER’S PARAMETERS WHICH IS USED TO CONTROL THE ROBOT SCARA’S MOVING BASED ON A GIVEN TRAJECTORY PLANING Lê Minh Ngọc1, Nguyễn Văn Thái2 Trường Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh ABSTRACT The major purpose of this thesis is how to apply the Genetic Algorithm (GA) to estimate the PID controller’s parameters: Kp, Ki and Kd which is used to control the robot SCARA’s moving based on a given trajectory planning. First, the PID’s parameters are estimated, and the simulation result also show that the proposed algorithm for search using GA is good. The large range searching is an advantage. After that I perform verifiable the results of the GA on the experimental model. The experimental results show the shape and movement trajectory of the Robot that is relatively like the simulation results. The GA’s disadvantage is the response time slower than the different methods. The indicated control algorithm is experimented by using KIT of PIC18F4431 processing unit to connect with a SCARA Robot. Keywords: Genetic algorithm, PID controller, trajectory planning TÓM TẮT Mục đích chính của Luận văn này là tập trung nghiên cứu việc sử dụng giải thuật di truyền tìm kiếm thông số PID điều khiển Robot SCARA bám theo quỹ đạo cho trước. Giải thuật di truyền được hỗ trợ bởi phần mềm MATLAB nhằm tìm ra các thông số Kp, Ki và Kd của bộ điều khiển PID. Bước đầu, tôi đã tìm ra được bộ thông số PID mong muốn và kết quả mô phỏng cho thấy khả năng tìm kiếm của giải thuật GA là tốt. Vùng tìm kiếm rộng là một lợi thế. Sau đó, tôi tiến hành kiểm chứng kết quả tìm kiếm của giải thuật di truyền trên mô hình thực nghiệm. Kết quả thực nghiệm cho thấy hình dạng và quỹ đạo di chuyển của Robot là tương đối giống kết quả mô phỏng. Hạn chế của giải thuật GA là thời gian đáp ứng chậm so với nhiều phương pháp khác. Giải thuật điều khiển đề xuất được thực nghiệm bằng việc sử dụng KIT vi điều khiển PIC18F4431 kết nối với một Robot SCARA. Từ khóa: Giải thuật di truyền, bộ điều khiển PID, hoạch định quỹ đạo
- 1 GIỚI THIỆU Giải thuật di truyền (GA-Genetic Algorithm) là kỹ thuật phỏng theo quá trình thích nghi tiến hóa của các quần thể sinh học dựa trên học thuyết Darwin. Tư tưởng của thuật toán di truyền là mô phỏng các hiện tượng tự nhiên, kế thừa và đấu tranh sinh tồn. Đề tài sử dụng giải thuật GA để tìm kiếm thông số PID điều khiển Robot Hình 2: Hình chiếu cạnh mô hình động học SCARA bám theo quỹ đạo cho trước robot SCARA 2 khớp quay. là một đề tài có tính học thuật và tính khả thi tương đối cao. Bên cạnh giải thuật GA thì việc tìm kiếm thông số PID cũng có thể được thực hiện bởi thuật toán logic mờ, mạng nơ-ron Trong quá trình thực hiện đề tài, tác giả nhận thấy rằng giải thuật di truyền có khả năng tìm kiếm trên phạm vị rộng. Hình 3: Hình chiếu bằng mô hình động học Tuy nhiên, đáp ứng về mặc thời gian thì tương đối chậm so với một số phương robot SCARA 2 khớp quay. pháp kinh điển. Hệ {0} được gắn vào đế robot. Hệ {1} được gắn vào cuối của khâu 1. 2 PHƢƠNG PHÁP THỰC HIỆN Hệ {0} được gắn vào cuối của khâu 2. 2.1 Mục tiêu tổng quát Động học thuận Robot Nghiên cứu, xây dựng và mô phỏng Quan hệ giữa hai khung toạ độ o x y z và chương trình sử dụng giải thuật GA để 1 1 1 1 o x y z được xác định như sau: tìm ra bộ thông số PID nhằm điều khiển 0 0 0 0 tay máy SCARA bám theo quỹ đạo Quay xung quanh trục z0 một góc 1 sao cho đường tròn dựa trên môi trường Matlab. trục x0 trùng với phương chiều của trục x1, Đối tượng nghiên cứu là Robot SCARA tham khảo hình 2.2. với cấu hình kiểu RR. Hệ tọa độ gắn lên Tịnh tiến dọc theo trục x1 (phương pháp các khâu như hình vẽ [1]: tuyến chung) một đoạn bằng a1. vậy phép biến đổi tổng hợp như sau: 0 1 = rot(z0, 1) trans (a1,0,0) (2.1) 0 1 : phép biến đổi từ hệ {0} sang hệ {1} trong đó: rot(z0, 1) là phép quay quanh trục z0 một góc 1 Hình 1: Robot SCARA 2 khớp quay.
- Phương trình động học ngược P 2 P 2 a 2 a 2 x y 1 2 Px 1 arcsin arcsin 2 2 2 2 2a1 Px Py Px Py P 2 P 2 a 2 a 2 (2.2) ar cos x y 1 2 2 2a a 1 2 trans(a1,0,0) là phép tịnh tiến khung toạ (2.6) độ o0x0y0z0 theo trục x0 một đoạn bằng a1. Thiết kế bộ điều khiển bám theo quỹ đạo hình tròn Mục đích điều khiển là tín hiệu ra y(t) bám theo quỹ đạo thiết kế u(t) (2.4) Để cánh tay Robot di chuyển theo quỹ đạo 1 2 = rot(z1, 2) trans (a2,0,0) (2.4) hình tròn, ta có: 0 0 1 = 푠𝑖푛푡 2 = 1 x 2 = { trong đó: r là bán kính đường = 표푠푡 n x o x a x p x tròn, t là thời gian di chuyển. (2.7) n o a p 0 y y y y 2 = = n o a p xxd z z z z Ta lại có: và tọa độ điểm trong yy 0 0 0 1 d vùng làm việc của cánh tay Robot được xác định bởi: Tọa độ điểm trong vùng làm việc: = 표푠휃 + cos (휃 + 휃 ) (2.5) { 1 1 2 1 2 (2.8) (3.16) = 푠𝑖푛휃 + sin(휃 + 휃 ) 푡 ậ푛 ℎướ푛𝑔 푅 ị 푡 í 푃 1 1 2 1 2 = [ ] 0 0 0 1 − ≤ 휃 ≤ { 1 Như vậy hệ phương trình động học − ≤ 휃2 ≤ thuận của robot như sau: Ta có: nx = cos (1+ 2) n = sin ( + ) 푒푖 푡 y 1 2 = −퐾 − 퐾 푒̇ − 퐾 ∫ 푒 푡 푖 푖 푡 푖 푖 푖푖 0 푖 nz = 0 với 푒 = − (i=1;2) (2.9) ox = - sin (1+ 2) 푖 푖 푖 oy = cos (1+ 2) Hướng Mô hình giải thuật điều khiển GA-PID o = 0 z Ta dùng giải thuật GA để tìm ra các hệ số ax = 0 Kp, Ki, Kd thích hợp theo yêu cầu của hệ ay = 0 thống. Đầu vào của giải thuật GA là sai az = 1 số góc quay ứng với 3 đầu ra Kp, Ki, Kd cho px = a1cos1 + a2 cos (1+ 2) bộ điều khiển PID. py = a1sin1 + a2 sin (1+ 2) Vị trí pz = 0
- xác suất cho mỗi cá thể là như nhau. Ứng với mỗi cá thể biến đổi một bit được chọn ngẫu nhiên trong cách thể hiện của nó. 4. Cập nhật: PS vào P. Hình 4: Mô hình giải thuật điều khiển 5. Ước lượng: Ứng với mỗi h trong P, tính GA-PID Fitness(h) Hàm trong Matlab: Trả về giả thuyết trong P có độ thích nghi GA( Fitness, Fitness_threshold, p, r, cao nhất. m) 2.2 Lƣu đồ giải thuật di truyền [2] // Fitness: Hàm gán thang điểm ước Các tham số của giải thuật di truyền trong lượng cho một giả thuyết nghiên cứu này được lựa chọn như sau: Số // Fitness_threshold: Ngưỡng xác định thế hệ là 30; kích thước của quần thể là 6; việc kết thúc giải thuật tìm kiếm. tần suất lai ghép là 0.9; xác suất đột biến là // p: Số cá thể trong quần thể giả thuyết 0.2 // r: Phần cá thể được lai ghép ở mỗi Tác giả sử dụng bài toán tìm giá trị lớn bước nhất để tìm kiếm thông số K , K , K // m: Tỉ lệ cá thể bị đột biến p d i Khởi tạo quần thể: P (Tạo ngẫu nhiên p cá thể giả thuyết) Ước lượng: Ứng với mỗi h trong P, tính Fitness(h) while [max Fitness(h)] , tạo ra hai con bằng cách áp Khi sai số của đáp ứng ngõ ra bằng với đáp dụng toán tử lai ghép. Thêm tất cả các ứng ngõ vào thì giải thuật hội tụ. con vào PS. Số thế hệ càng tăng thì kết tìm kiếm chưa 3. Đột biến: Chọn m% cá thể của PS với hẳn đã tốt.
- 3 KẾT QUẢ Vọt lố Thời gian Thời gian 3.1 Kết quả mô phỏng xác lập tăng lên Kết quả tìm kiếm thông số của bộ PID bằng giải thuật di truyền. 21,4% 4.5s 1.1s Bảng 2: Thông số đáp ứng ngõ ra. Kp1 Ki1 Kd1 Kp2 Ki2 Kd2 60 50 20.5 52.3 9.9 37.6 1.0 23.3 40 30 Bảng 1: Kết quả tìm kiếm 20 10 0 -10 0 1 2 3 4 5 6 7 8 9 10 Hình 7: Tín hiệu điều khiển khớp 1. Moment khớp 1 được kích hoạt ở 0,1s đầu và sau đó ổn định ở 0. 7 6 5 4 3 Hình 5: Quỹ đạo di chuyển của 2 1 đầu công tác. 0 -1 0 1 2 3 4 5 6 7 8 9 10 0.24 0.22 Hình 8: Tín hiệu điều khiển khớp 2. 0.2 0.18 Moment ở khớp 2 sẽ kích thích động cơ quay 0.16 ngược chiều kim đồng hồ để bám tham theo 0.14 0.12 biên dạng 0,2 đơn vị. 0.1 0 1 2 3 4 5 6 7 8 9 10 Hình 6: Biểu đồ đáp ứng ngõ ra. 3.2 Kết quả thực nghiệm Đáp ứng ngõ ra của hệ thống được thống kê bởi bảng 2. Ứng dụng này yêu Kp1 Ki1 Kd1 Kp2 Ki2 Kd2 cầu vọt lố không được vượt quá 25%. Kết quả cho thấy đáp ứng ngõ ra của hệ 0.9 0.3 2.1 0.6 0.6 1.1 thống đã thỏa mãn yêu cầu của bài toán. Bảng 3: Thông số PID thực tế.
- xung điều khiển từ chip trung tâm để điều khiển đóng nhắt 4 FET IRF640, giúp động cơ chạy thuận nghịch. Hình 9: Bám theo quỹ đạo đường tròn Độ chính xác lặp lại là 3mm với tần số lấy mẫu là 20 lần đối với mô hình thực. Thời gian xác lập trên mô phỏng là 1.1s Hình 11: KIT điều khiển PIC18F4431 và mô hình thực là 176s Vật liệu sử dụng chủ yếu là mika. Loại 4 KẾT LUẬN động cơ được sử dụng là DC Servo Bài báo trình bày phương pháp tìm 12VDC, có bộ giảm tốc với tỷ số truyền kiếm bộ thông số PID bằng giải thuật di 1:3. Encoder loại 200 xung, bao gồm 3 truyền, thỏa mãn yêu cầu bám theo quỹ kênh. đạo tròn cho trước. Đối với giải thuật tìm +12V D1A +12V kiếm GA thì càng tăng số lần lai ghép, đột +12V D1 Q1 Q2 R5 IRF640 D2 D8 IRF640 R6 RSA RS U2 10K U1 D4 R1 2K2 8 5 10K 5 8 10_1W 10_1W VB VCC C3 C1 VCC VB CB 7 1 CA HO IN PW1H biến thì kết quả chưa hẳn đã là tốt. Ưu 1 7 474 10U_25V PW1L 474 10U_25V IN HO 6 2 SD 2 6 R2 2K2 D6 VS SD SD SD VS 4 3 M1 M2 3 4 LO COM COM LO IR2184 IR2184 Q3 Q4 R7 IRF640 D9 D10 IRF640 R8 điểm của giải thuật GA là phạm vi tìm C8 104 R 100_1W 10_1W 10_1W S1 R13 1M_2W kiếm rộng, thích hợp đối với bài toán hộp S1GND đen. Nhược điểm là đáp ứng chậm về mặt +12V thời gian. Do sử dụng động cơ cũ và các +12V 2D1 2Q1 2Q2 2D1A +12V R9 IRF640 D11 D12 IRF640 R10 2RS D5 R3 2K2 2RSA 10K 10_1W 10_1W 2U2 chi tiết lắp ráp bằng tay nên độ chính xác 2U1 8 5 10K 5 8 VB VCC C4 C2 VCC VB 2CB 7 1 2CA PW2H 1 7 R4 2K2 D7 474 HO IN 10U_25V PW2L 474 10U_25V IN HO 6 2 2M1 2M2 2SD 2 6 VS SD 2SD SD VS 4 3 chưa cao, sai số lên đến 3mm. Thời gian 3 4 C9 R16 LO COM COM LO 2Q3 2Q4 IR2184 IR2184 R11 IRF640 D13 D14 IRF640 R12 C R 10_1W 10_1W S1 xác lập ở mô hình thực rất chậm lên đến R14 1M_2W S2GND 176s. Thông số bộ PID sử dụng ở mô hình +24V thật tế thấp hơn mô phỏng gần 25 lần. U3 LM7812 +12V R19 2K2 1 3 VI VO D3 GND C7 LED_2Li Hướng khắc phục 104 C5 2 C6 100u_25V 220u_25V Để tăng độ chính xác của tay máy thì các Hình 10: Sơ đồ nguyên lý mạch Drive và nguồn cho DC servo. chi tiết nên được gia công và lắp ráp trên các máy chính xác. Sử dụng động cơ LM7812 có tác dụng ổn định điện áp Harmonic. Sử dụng dòng PIC32Fxxxx để 12VDC. Tụ C6 giúp lọc điện áp nguồn tăng tốc độ xứ lý các phép toán phức tạp. ngõ ra, tụ C7 có tác dụng lọc nhiễu tần số cao. Hai IC số IR2184 nhận tín hiệu
- TÀI LIỆU THAM KHẢO TIẾNG VIỆT [1] TS. Phạm Đăng Phước. Giáo trình Robot Công Nghiệp. Đại học Bách Khoa Đà Nẵng, 2007. [2] PGS.TS Nguyễn Chí Ngôn. Tối Ưu Hóa Bộ Thông Số PID Bằng Giải Thuật Di Truyền. Đại học Cần Thơ, 2008. [3] Lê Văn Chung. Nâng Cao Chất Lượng Điều khiển Robot SCARA 4 Bậc Tự Do. Đại học Thái Nguyên, 2014. [4] Nguyễn Phùng Quang. Matlab và Simulink dành cho kỹ sư điều khiển tự động. NXB Khoa Học Kỹ Thuật, 2006. [5] Lê Thanh Hải, Đào Khánh Dư và Phạm Văn Hùng. Nghiên cứu ứng dụng chuyển động của cánh tay người cho Robot. Hội nghị khoa học toàn quốc về cơ khí lần III, 5 tháng 4 năm 2013, Trường ĐHCN Hà Nội. [6] Lê Minh Ngọc và Đinh Cao Vỹ. Nghiên cứu chế tạo Robot 5 bậc tự do. Đại học Giao Thông Vận Tải TP. Hồ Chí Minh, 2012. [7] ThS. Phan Văn Đức. Thiết kế và sản xuất thử nghiệm tay máy Scara 3 và 4 bậc tự do phục vụ đào tạo về kỹ thuật điều khiển tự động hóa. Công ty TNHH Sản xuất Thương mại Dịch vụ AUTEQ, 2013. [8] Tập thể nhân viên kỹ thuật công ty CP TOSY. Nghiên cứu chế tạo Robot Scara. Công ty CP Robot TOSY Việt Nam, 2013. TIẾNG NƢỚC NGOÀI [7] Jones A.H. and P.B.M. Oliveira. Genetic Auto-tuning of PID Controllers. IEEE Conf. Publ. No. 414, 12-14 Sep 1995, pp. 141-145. [8] Auwalu M. Abdullahi, Z. Mohamed, Mustapha Muhammad and AA Bature. Vibration Control Comparison Of A Single Link Flexible Manipulator Between Fuzzy Logic Control And Pole Placement Control. International Journal of Scientific & Technology Research, p236, Dec 2013. [9] Ignacio Herrera-Aguilar, Oscar Sandoval-Gonzales, Raúl Pimentel-Cortés, Juan Manuel Jacinto-Villegas and Marco Vásquez-Beltrán. From Motion Planning to Kinematic control of SCARA robot. Rossum 2011, 27-28 Jun 2011, Xalapa Mexico. [10] T.C. Manjunath. Trajectory Planning Design Equations and Control of a 4 - axes
- Stationary Robotic Arm. IEEE Conf. 16-18 Dec 2007, pp. 38-44. [11] Denavit-Hartenberg. Automatic Generation of the Denavit-Hartenberg Convention. Robotics (ISR), 2010 41st International Symposium on and 2010 6th German Conference on Robotics (ROBOTIK). [12] Kwok, D.P. and P. Wang. Fine-tuning of classical PID Controllers based on Genetic Algorithms. IEEE Inter. Workshop on Emerging Technologies and Factory Automation, 1992, pp. 37-43. [13] Mitsukura Y., T. Yamamoto and M. Kaneda. A Genetic Tuning Algorithm of PID Parameters. IEEE Confer. Syst, Man and Cyber., Orlando, Oct 1997, pp. 923-928. [14] Salami, M. and G. Cain. An adaptive PID controller based on genetic algorithm processor. IEEE Conf. Publ. No. 414, 12-14 Sep 1995, pp. 88-93. [15] Singh, R. and I. Sen. Tuning of PID Controller Based AGC System Using Genetic Algorithms. TENCON 2004. IEEE Region 10th Confer., pp. 531-534. [16] The Regents of the University of Michigan. PID Design Method for DC Motor Speed Control. In: Control Tutorials for MATLAB. [17] The Mathworks Inc., 2007. Genetic Algorithm and Direct Search Toolbox 2, User’s Guide. Thông tin liên hệ tác giả chính (người chịu trách nhiệm bài viết): Họ tên: Lê Minh Ngọc Đơn vị: Trường Đại học Sư phạm Kỹ thuật Tp. Hồ Chí Minh Điện thoại: 0933365637 Email: minhngoctd08@gmail.com Tp. Hồ Chí Minh, ngày tháng năm 20 Giảng viên hƣớng dẫn (Ký & ghi rõ họ tên)
- BÀI BÁO KHOA HỌC THỰC HIỆN CÔNG BỐ THEO QUY CHẾ ĐÀO TẠO THẠC SỸ Bài báo khoa học của học viên có xác nhận và đề xuất cho đăng của Giảng viên hướng dẫn Bản tiếng Việt ©, TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH và TÁC GIẢ Bản quyền tác phẩm đã được bảo hộ bởi Luật xuất bản và Luật Sở hữu trí tuệ Việt Nam. Nghiêm cấm mọi hình thức xuất bản, sao chụp, phát tán nội dung khi chưa có sự đồng ý của tác giả và Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. ĐỂ CÓ BÀI BÁO KHOA HỌC TỐT, CẦN CHUNG TAY BẢO VỆ TÁC QUYỀN! Thực hiện theo MTCL & KHTHMTCL Năm học 2016-2017 của Thư viện Trường Đại học Sư phạm Kỹ thuật Tp. Hồ Chí Minh.