Điều khiển AGV
Bạn đang xem tài liệu "Điều khiển AGV", để 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:
dieu_khien_agv.pdf
Nội dung text: Điều khiển AGV
- ĐIỀU KHIỂN AGV Nguyễn Thanh Phương. Nguyễn Anh Tuấn Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM Tóm tắt AGV ( AUTOMATED GUIDED VEHICLR): Một phương tiện tự động định hướng hoặc robot tự hành là một robot di động được định hướng bằng các chỉ dẫn hoặc các vạch ở dưới sàn nhà hoặc sử dụng camera để quan sát. Chúng được sử dụng trong các ứng dụng trong công nghiệp, trong các nhà xưởng để vận chuyển các vật liệu, các sản phẩm trong một không gian hoặc trong nhà xưởng. Ứng dụng robot tự hành ngày càng được phát triển mạnh trong thời gian gần đây. Bài viết trình bày các quy tắc điều khiển thích nghi ở mức độ mô hình động học với các thông số vào chưa biết . Điều khiển thích nghi được suy ra từ kỹ thuật điều khiển backsteping với robot di động, để theo dõi quỹ đạo của nó với một quỹ đạo tham chiếu cho trước. Đối với các vấn đề này điều khiển đảm bảo sai số của quỹ đạo và quỹ đạo tham chiếu là nhỏ nhất. Để ổn định các vấn đề được chuyển đổi thành các tín hiệu lỗi và phản hồi về bộ điều khiển để xử lý. 1. Giới thiệu Phương tiện tự động định hướng sẽ làm tăng hiệu suất và giảm chi phí bởi vì nó giúp cho các quá trình tự động hóa tại các cơ sở sản xuất, các kho bãi trở nên linh hoạt và chính xác hơn. Nó được phát minh đầu tiên vào năm 1953 bởi Barrett Electronics. Phía sau AGV có thể có các thùng xe đã được gắn cố định vào nó. Các thùng xe này có thể dùng để di chuyển các nguyên vật liệu hoặc các sản phẩm đã hoàn thành. AGV có thể chứa các đối tượng, các sản phẩm trong một bệ chứa của nó.Các sản phẩm này được đặt trên một con lăn và khi muốn lấy chúng ra ta chỉ cần khởi động hệ thống trên AGV. AGV đã và đang có mặt trong hầu hết các ngành công nghiệp bao gồm bột giấy, giấy, kim loại, báo chí và các ngành sản xuất khác nhau. Các công việc như vận chuyển thực phẩm lạnh, các loại thuốc trong bệnh viện cũng được AGV thực hiện một cách tốt nhất và linh hoạt. Ngày nay AGV đóng một vai trò quan trọng trong việc thiết kế các nhà kho, các cơ sở sản xuất và nó đóng một vai trò quan trọng trong việc vận chuyển hàng hóa một cách an toàn và chính xác. 1
- 2 Định vị cho AGV 2.1 Phương pháp dead-reckoning. Dead-reckoning là phương pháp dẫn đường được sử dụng rộng rãi nhất đối với robot di động. Phương pháp này cho độ chính xác trong thời gian ngắn, giá thành thấp và tốc độ lấy mẫu rất cao. Tuy nhiên do nguyên tắc cơ bản của phương pháp dead- reckoning là tích luỹ thông tin về gia số chuyển động theo thời gian do đó dẫn tới sự tích luỹ sai số. Sự tích luỹ sai số theo hướng sẽ dẫn đến sai số vị trí lớn tăng tỉ lệ với khoảng cách chuyển động của robot. Tuy nhiên hầu hết các nhà nghiên cứu đều đồng ý rằng dead-reakoning là một phần quan trọng trong hệ thống dẫn đường robot, các lệnh dẫn đường sẽ được đơn giản hoá nếu độ chính xác của phương pháp dead-reckoning được cải thiện. Phương pháp dead-reakoning dựa trên phương trình đơn giản và thực hiện được một cách dễ dàng, sử dụng dữ liệu từ bộ mã hoá số vòng quay bánh xe. Dead-reckoning dựa trên nguyên tắc là chuyển đổi số vòng quay bánh xe thành độ dịch tuyến tính tương ứng của robot. 2.2 Phương pháp đo ba cạnh của tam giác Phép đo 3 cạnh tam giác xác định vị trí vật thể dựa trên khoảng cách đo được tới cột mốc biết trước. Trong hệ thống dẫn đường sử dụng phép đo này thông thường có ít nhất là 3 trạm phát đặt tại các vị trí biết trước ngoài môi trường và 1 trạm nhận đặt trên robot . Hoặc ngược lại có 1 trạm phát đặt trên robot và các trạm nhận đặt ngoài môi trường. Sử dụng thông tin về thời gian truyền của chùm tia hệ thống sẽ tính toán khoảng cách giữa các trạm phát cố định và trạm nhận đặt trên robot. GPS (Global Positionings Systems) - hệ thống định vị toàn cầu hoặc hệ thống cột mốc sử dụng cảm biến siêu âm là các ví dụ khi sử dụng phép đo 3 cạnh tam giác 2.3 Phép đo ba góc của tam giác Trong phép đo này có ít nhất 3 trạm phát chủ động đặt tại các vị trí xác định ngoài môi trường như hình. Một cảm biến quay tròn trên robot, phép đo được thực hiện tại các góc λ1, λ2 và λ3. Từ các phép đo biết trước tại các trục x,y ta tính được góc θ tại vị trí của Hình 2.1: Phép đo ba góc của tam giác robot. 2
- 2.4 Hệ thống định vị vệ tinh GPS Năm 1973 hệ thống dẫn đường phòng thủ bằng vệ tinh của Mỹ đã được xây dựng phục vụ cho hải quân và không quân Mỹ nhằm mục đích phát triển hệ thống dẫn đường bằng vệ tinh với độ chính xác cao – GPS. Trong suốt 24 năm sau đó GPS được sử dụng cho cả mục đích quân sự và mục đích dân sự trên toàn thế giới, dẫn đường cho robot di động là một trong số các ứng dụng đó. Khi GPS được tách ra khỏi hệ thống phòng thủ nó được dùng cho một vài hệ thống khác tuy vậy vẫn được thiết kế để có độ chính xác tối đa có thể cho các ứng dụng phi quân sự. Các phương pháp cải tiến đã được thực hiện để tăng khả năng sử dụng của hệ thống trong việc dẫn đường cho robot. Có 3 thành phần hợp thành nên hệ thống GPS là không gian, điều khiển và sử dụng như được minh hoạ trên hình vẽ. Trong đó thành phần không gian của GPS gồm 24 vệ tinh quay trên quỹ đạo ở độ cao khoảng 20000 km. 3 Mô hình động học của robot 3.1 Động học của Robot Trong luận văn này ta xét mô hình động học của Robot gồm có 3 bánh, hai bánh lái phía sau và một bánh định hướng ở phía trước [8]. Hình 3.1: Cấu tạo của Mobile robot r: là bán kính của bánh xe l: Là chiều dài nối hai trục bánh xe ∅: Là góc định hướng của bánh xe x, y : Là tọa độ của robot trong hệ trục tọa độ , : Là hệ trục tọa độ tham chiếu đến với góc đinh hướng của robot v: Là vận tốc dài của robot 1
- I: Là monent quán tính của bánh xe m: Khối lượng xe Với T1 và T2 lần lượt là lực xoắn của hai bánh xe vì vậy mô hình động học của robot có thể viết lại dưới dạng sau: 훼 = sin ∅ + 1 1 cos ∅ 훼 = − sin ∅ + cos ∅ (1) 1 1 ∅ = 2 2 sin ∅ − cos ∅ = 0 (2) 1 푙 Với = , = , = + , = 2 1 2 1 1 2 2 = 1 − 2, 훼 = − ∅( cos ∅ + sin ∅) Ở đây 1, 2 là những hằng số không rõ nhưng có dấu hiệu được biết đến. Các dấu hiệu 1, 2được gọi là thực tế khi nó có liên quan đến khối lượng của robot, lực quán tính, bán kính bánh xe và khoảng cách giữa hai bánh xe [8]. Công thức thứ hai đúng khi xe không bị trược và vecto 푞 푡 = 푡 , 푡 , ∅(푡) đại diện cho vị trí và hướng của robot theo thời gian t. Bất cứ lúc nào robot cũng có tọa độ theo thời gian t 푡 là ma trận q(t). Vì vậy ta luôn có 푞 = , , ∅ . 3.2 Định nghĩa bài toán đường di chuyển Bài toán đường di chuyển là làm sao cho quỹ đạo q của robot di chuyển theo một quỹ đạo tham chiếu 푞 . Quỹ đạo tham chiếu 푞 푡 = 푡 , 푡 , ∅ (푡) được tạo ra bởi một thiết bị chuẩn hoặc một robot có phương trình là: = 푣 cos ∅ = 푣 sin ∅ (3) ∅ = 휔 Ở đây chỉ số r là chỉ số chỉ về vị trí chuẩn, vị trí tương đối, và 푣 , 휔 vecto vận tốc và tốc độ góc ứng với điểm tham chiếu r tương ứng. Ta giả sử là các giá trị trên là có sẵn và nằm trong một khoảng chặn cho phép. Giả sử cho rằng các vecto trên là không bao giờ bằng không cùng một lúc. Vì vậy giới hạn của các vecto trên khi t dần tới vô cực là khác không. Với giả định như trên ta sẽ tìm ra được một quy luật phản hồi 1 = (푞, 푞 , 푞 , 푣 , 휔 , 푣 , 휔 ) đó là 2 lim푡→∞ 푞 푡 = 0 ở đây ta có 푞 푡 = 푞 푡 − 푞(푡) được định nghĩa là quỹ đạo theo dõi lỗi với biểu thức sau: 푒 = 푞 (4). 2
- Ở đây 푒 = 푒1, 푒2, 푒3 và ma trận T sẽ bằng: cos ∅ sin ∅ 0 T = − sin ∅ cos ∅ 0 T là ma trận không kì dị, e là khác không cho đến khi 0 0 1 푞 # 0. Giả sử các góc ∅ , ∅ nằm trong khoảng từ − , thì khoảng di chuyển lỗi chỉ bằng 0 khi 푞 = 푞 . Mục đích của bộ điều khiển theo dõi lỗi là làm sao cho các lỗi e về bằng không. Trong phần tiếp theo chúng ta sử dụng e là quỹ đạo lỗi để thực hiện tính toán. Sử dụng mô hình chứa trong (2) và công thức (4) khi đó (1) có thể viết lại là: 푒 1 = 푒2휔 − 푣 + 푣 cos 푒3 푒 2 = −푒1휔 + 푣 sin 푒3 (5) 푒 3 = 휔 − 휔 Ở đây v và 휔 là vận tốc dài và vận tốc góc của robot được cho bởi công thức: 푣 = cos ∅ + sin ∅ ; 휔 = ∅ (6) 3.3 Thiết kế bộ điều khiển chuyển động Thiết kế bộ điều khiển ở đây là buộc các lỗi 푒 = 푒1, 푒2, 푒3 bằng không. Sử dụng kỹ thuật quay bước để thực hiện. Vì các biến 1, 2 không có ở trong phương trình (5) vì vậy ở đây chúng ta sử dụng các biến ảo để thực hiện tính toán cho hệ thống đó là 푣 , 휔 , nó được gọi là một bộ điều khiển ảo. Khi đó ta có thể viết 푣, 휔 dưới dạng sau: 푣 = 푣 + 푣 ; 휔 = 휔 + 휔 (7) Vậy bộ điều khiển ảo có thể viết lại như sau: 푣 = 푣 cos 푒3 + 1 푣 , 휔 푒1 (8) 휔 = 휔 + 1푣 푒2+ 1 푣 , 휔 sin 푒3 Ở đây k là các hằng số dương phụ thuộc vào bộ điều khiển thiết kế. Từ công thức đã xây dựng ở trên ta có thể tính được các giá trị của u nhứ sau: 1 = 훽1(− 1푣 + 푒1 + 푣 ) (9) 1 2 = 훽2(−푒2휔 + sin 푒3 + 휔 ) 푒2 1 1 훽1 = ; 훽2 = ; 1 2 3
- 3.4 Lưu đồ giải thuật 5 6 1 2 3 4 Hình 3.2: Lưu đồ giải thuật của robto tự hành 1: Tọa độ tham chiếu của robot đã được cho trước bởi người lập trình; 2: Ma trận T dùng để tính toán sai số e giữa vị trí thực và vị trí tham chiếu của robot; 3: Bộđiều khiển ảo được cho bởi công thức 8 dùng để so sánh với giá trị vận tốc và tốc độ góc thực của robot.; 4: Giá trị vận tốc dài và vận tốc góc được hồi tiếp vềđể so sánh với giá trị từ bộđiều khiển ảo; 5: Bộđiều khiển của robot; 6: Cơ cấu chấp hành của robot 4 Kết quả mô phỏng 4.1 Quỹ đạo là hình tròn Với M = 500 4
- 1.5 1 0.5 0 yd,yp -0.5 -1 -1.5 -1.5 -1 -0.5 0 0.5 1 1.5 xd xp Hình 4.1: Quỹ đạo ứng với số lần lặp Các đường màu xanh là các quỹ đạo chạy tương ứng của Robot. Các đường mày đỏ là quỹ đạo ban đầu của Robot. 1.5 1 0.5 0 yd,yp -0.5 -1 -1.5 -1.5 -1 -0.5 0 0.5 1 1.5 xd xp Hình 4 2: Quỹ đạo cuối cùng và lúc đầu của Robot 5
- Change of maximum absolute value of e1,e2 and angle with times i 6 5 4 3 e1,e2 and angle and e1,e2 2 1 0 0 50 100 150 200 250 300 350 400 450 500 times Hình 4.3 Sai số với lần lặp thứ i Với M = 50 1 0.8 0.6 0.4 0.2 0 yd,yp -0.2 -0.4 -0.6 -0.8 -1 -1 -0.5 0 0.5 1 1.5 xd xp Hình 4.4: Quỹ đạo ứng với số lần lặp 6
- 1 0.8 0.6 0.4 0.2 0 yd,yp -0.2 -0.4 -0.6 -0.8 -1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 xd xp Hình 4.5: Quỹ đạo cuối cùng và lúc đầu của Robot Từ kết quả mô phỏng ta có thể rút ra kết luận rằng ứng với các giá trị giới hạn về số lần lặp thì kết quả mô phỏng sẽ khác nhau và tùy thuộc vào quỹ đạo cài đặt khác nhau. Nếu số lần lặp quá lớn thì sai số cũng sẽ cao và nếu số lần lặp quá nhỏ thì quỹ đạo tham chiếu và quỹ đạo thực sẽ cho ra sai số lớn hơn vì vậy cần có một giới hạn về số lần lặp của hệ thống 4.2 Quỹ đạo là đường thẳng 2.5 2 1.5 yd,yp 1 0.5 0 0 0.5 1 1.5 2 2.5 xd xp 7
- Hình 4.6: Quỹ đạo là đường thẳng 5 Thiết kế và lập trình 5.1 Thiết kế 1 2 3 4 5 Hình 5.1: Cấu tạo tổng thể của thiết bị 1: Cơ cấu đo dùng để xác định vị trí của robot trong không gian cho trước: Cơ cấu này bao gồm một cảm biến thu phát hồng ngoại được gắn trên một động cơ DC có phản hồi số vòng quay và tốc độ về để xử lý tính toán. 2: Cơ cấu bánh xe: Bao gồm hai bánh lái chủ động mỗi động cơ DC sẽ điều khiển một bánh thông qua mạch công suất được gắn trên robot. 3: Khối ổn áp dùng để ổn định điện áp đầu ra để cung cấp nguồn cho hệ thống và các encoder. 4: Chip STM32 dùng để lập trình cho robot. 5: Bánh định hướng của robot. 5.2 Lập trình cho robot 8
- Hình 5.2: Sơ đồ lập trình tổng thể của robot Đây là sơ đồ lập trình của robot sử dụng phần mô phỏng của Matlab và công cụ Waijum để hỗ trợ lập trình với STM32. Mỗi khối trong sơ đồ có những chức năng và nhiệm vụ riêng phù hợp với bộ điều khiển đã được thiết kế. Khi thực hiện đổ chương trình vào chip matlab sẽ biên dịch chương trình thành ngôn ngữ để có thể làm việc được với chip lập trình. Tùy vào chương trình dài hay ngắn, kích thước và dung lượng của chương trình mà quá trình biên dịch sẽ nhanh hay chậm. Điểm đặc biệt là khi có lỗi trong quá trình lập trình thì hệ thống sẽ báo và chỉ cho người lập trình vị trí sai để có thể gỡ lỗi một cách nhanh nhất và hiệu quả nhất. Vì vậy có thể nói đây là một công cụ hỗ trợ lập trình đắc lực của matlab 9
- 1 Hình 5.3: Sơ đồ lập trình chi tiết của robot Target Setup: Là chíp lập trình họ ST. Hàm 2: Vị trí tham chiếu được cho trước của robot. Tính góc: Dùng để tính góc của 3 cạnh tam giác từ đó suy ra vị trí của robot. Vị trí thực: Là khối hàm dùng để xác định vị trí thực tế của robot thông qua các góc. Thiết lập ma trận e: Là khối hàm dùng để tính ra sai số giữa vị trí đặt và vị trí thực tế của robot. Hàm V_r: Dùng để tính vận tốc dài ứng với quỹ đạo tham chiếu của robot. 10
- 1 Hình 5.4: Sơ đồ lập trình chi tiết của robot Hàm 6: Dùng để tính ra được vận tốc dài và vận tốc góc ứng với bộ điều khiển ảo, nhằm so sánh với tín hiệu thực để điều khiển cho robot. Vận tốc thực: Là hàm dùng để tính toán giá trị vận tốc thật của robot thông qua các encoder phản hồi từ bánh xe đưa về. Hằng số robot: Là các thông số của robot về khối lượng, moment và các thông số về động học của robot. Tính toán u1, u2: Là hàm dùng để tính toán bộ số u1 và u2 để từ đó điều khiển giá trị của hai bánh xe thông qua moment xoắn T. Hàm 8: Nhằm chuyển đổi giữa giá trị u và vận tốc hai bánh xe. Khối bánh lái: Chính là hai bánh xe cần điều khiển. 6 Kết quả đạt được Thiết kế bộ điều khiển cho robot bám theo một quỹ đạo tham chiếu cho trước với quỹ đạo là đường thẳng và đường tròn. Xây dựng được một số giải pháp về định vị cho robot trong không gian. Tận dụng được nguồn tài nguyên của Matlap để ứng dụng vào trong lập trình trên STM32. 11
- Hiểu và nắm được cấu trúc hoạt động của STM32 và các lệnh ứng dụng trên chip Thi công và lắp đặt phần cững cho robot. Nắm được về một hệ thống động học của robot là như thế nào và mô hình động học của robot. 7 tài liệu tham khảo [1] Kanayama Y, Kimura Y, Miyazaki F, Noguchi T. A stable tracking control method for an autonomous mobile robot. vol. 1. Proceedings of IEEE International Conference on Robotics and Automation, Cincinnati, Ohio, 1990, p. 384–9. [2] Canudas de Wit C, Khennouf H, Samson C, Sordalen OJ. Nonlinear control design for mobile robots. In: Zheng YF, editor. Recent trends in Mobile robots, World Scientific, 1993. p. 121–56. [3] Guldner J, Utkin VI. Stabilization of nonholonomic mobile robot using Lyapunov functions for navigation and sliding mode control. Control-Theory Adv Technol 1994;10(4):635–47. [4] Colbaugh R, Barany E, Glass K. Adaptive Control of Nonholonomic Mechanical Systems. Proceedings of 35th Conference on Decision and Control, Kobe, Japan, 1996. p. 1428–34. Fig. 8. Time plots of x, y, and /. 252 F. Pourboghrat, M.P. Karlsson / Computers and Electrical Engineering 28 (2002) 241–253 [5] Nguyễn Phùng Quang. Matlab & Simulink dành cho kỹ sư điều khiển tự động. NXB Đại học Quốc Gia,2008 [6] Nonlinear Motion Control of Mobile Robot Dynamic Model. Jasmin Velagic, Bakir Lacevic and Nedim OsmicUniversity of SarajevoBosnia and Herzegovina [7] Dynamic Adaptive Control of Mobile Robot UsingRBF Networks D Narendra Kumar#, S LalithaKumari #, Veeravasantarao D* #Department of Power and Industrial Drives, GMRIT, Rajam, Andra Pradesh, India *Indian Institute of Technology, Kanpur, India. [8] Adaptive control of dynamic mobile robots with nonholonomic constraints Farzad Pourboghrat *, Mattias P. Karlsson 12
- Thông tin liên hê:̣ Nguyễn Thanh Phương Tel:0932757142,email: nt.phuong@hutech.edu.vn Nguyễn Anh Tuấn Tel:0937287246, email: nguyenanhtuanhui@gmail.com 13
- 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.