Giải thuật trên máy tính

Một phần của tài liệu Thiết kế robot tự hành theo vết hoạt động trong nhà xưởng (Trang 55)

Sơ đồ nhà xưởng thử nghiệm gồm: khu vực xuất phát của robot, các vị trí đặt hàng và nơi giao hàng. Quá trình vận chuyển hàng của robot là: nhận tín hiệu yêu cầu món hàng (thông tin vị trí kệ hàng), di chuyển đến đúng kệ hàng, nhận hàng chuyển đến điểm giao hàng. 4 2 1 1 2 3 Start Pick 2n 2n-1 n

Hình 5.1: Sơ đồ bố trí hàng trong nhà xưởng.

Với một nhánh rẽ robot có thể đến được hai dãy hàng. Cách bố trí rẽ nhánh như vậy sẽ giảm được chiều đường dẫn, tiết kiệm chi phí. Các ký hiệu chữ là các cột, các số là thứ tự hàng. Ô vuông là vị trí kệ hàng, các đường nối và rẽ nhánh là đường dẫn từ trường.

Giao diện điều khiển được lập trình trên máy tính, khi có người chọn một món hàng thì đường đi đến vị trí hàng sẽ được gửi đến robot. Robot di chuyển theo đường đi đó để lấy hàng và đem đến điểm giao hàng.

Chương trình tính toán đường đi dựa vào thứ tự các cột và hàng. Cột A tương ứng với thứ tự cột là 1, tương tự cho các chữ tiếp sau. Từ đường đi chính (đường thẳng từ Bắt đầu đến Kết thúc) các nhánh rẽ có thứ tự từ trái qua phải, bắt đầu là số 1. Giải thuật yêu cầu phải chỉ rõ hướng đi khi gặp một giao điểm.

Gọi các biến thứ tự cột là x, hàng là y, nhánh rẽ là n thì mỗi kệ hàng có vị trí là (x,y). Ban đầu robot di chuyển từ vị trí xuất phát đến kệ hàng để lấy hàng. Sau đó robot di chuyển hàng đến vị trí kết thúc. Cuối cùng robot quay về lại vị trí bắt đầu chờ lệnh tiếp theo. Giữa ba giai đoạn di chuyển trên là quay xe 180°.

Quy định hướng đi bằng các kí hiệu như sau: s là đi thẳng, b là quay 180°, l là rẽ trái, r là rẽ phải, e là kết thúc.

Ban đầu, robot sẽ di chuyển từ vị trí xuất phát đến vị trí hàng. Giải thuật giúp robot có thể thực hiện đúng các bước di chuyển đó.

n = y/2 Xuất phát

Đi thẳng n-1 giao điểm, rẽ phải, đi thẳng x-1 giao điểm Kệ hàng Vị trí (x,y) y chẵn ? Đ S n = y Rẽ trái y chẵn ? Đ S Rẽ phải

Khi nhận được hàng, robot sẽ di chuyển đến điểm giao hàng và quay về vị trí đợi lệnh tiếp theo. Trình tự di chuyển được điều khiển theo giải thuật sau:

Rẽ phải Kệ hàng

Đi thẳng x-1 giao điểm, rẽ phải, đi thẳng 2-n giao điểm End Vị trí (x,y) y chẵn ? Đ S Rẽ trái

Quay đầu lại, đi thẳng n giao điểm

Hình 5.3: Lưu đồ giải thuật đi từ kệ hàng về lại vị trí xuất phát. 5.2. Giải thuật trên robot

Robot cần thực hiện đúng các lệnh mà máy tính gửi xuống. Các lệnh đó gồm: s là đi thẳng, b là quay 180°, l là rẽ trái, r là rẽ phải, e là kết thúc. Vi điều khiển lưu lệnh với biến chuỗi, thực hiện đến hết độ dài của chuỗi lệnh. Cần thiết lập sẵn các thông số cho chế độ rẽ phải, trái, quay 180° bằng tính toán và thực nghiệm.

Vi điều khiển nhận lệnh di chuyển qua UART. Trong Arduino, có thể sử dụng hàm serialEvent() trên arduino để đọc dữ liệu ngay khi nhận. Hàm này không gây ra độ trễ cho hệ thống.

Kết thúc lệnh “start”

Đ S

Sự kiện nhận dữ liệu UART

ready_flag = 1, i = 0, path = chuỗi đường đi

Hình 5.4: Lưu đồ giải thuật hàm sự kiện nhận dữ liệu.

Robot cần phát hiện được giao điểm và thực hiện ngay lựa chọn đường đi. Do đó, sử dụng một chương trình ngắt cho cảm biến khi gặp giao điểm.

Kết thúc Gặp giao điểm

turn = 1, i++

Khi đã phát hiện giao điểm, robot cần xử lý để đi đúng đường. Các bước xử lý gồm chuyển lệnh thành lựa chọn đường đi và thực hiện lựa chọn đó. Giải thuật xử lý giao điểm giúp robot thực hiện các công việc trên.

Kết thúc S cài vL > vR path[i] = r S path[i] = l S path[i] = b Đ S cài vL < vR path[i] = s cài vL < vR Đ Đ Đ Bắt đầu Góc quay đạt turn = 0, i++ turn = 1 Đ S path[i] = e S Đ vL = vR = 0

Giải thuật chương trình chính trên robot sẽ tổng hợp các giải thuật con. Sử dụng các giải thuật con đúng thời điểm giúp robot thực hiện được nhiệm vụ. Chương trình chính kết hợp các nhiệm vụ nhỏ như: nhận và lưu vị trí điểm đến, ra lệnh di chuyển, nhận kết quả từ cảm biến để lựa chọn đường đi.

Khởi động

Kết thúc ready_flag = 1

Đ S

Khởi động các mô đun, khởi tạo các biến

Đ S

Xử lý giao điểm turn = 1

Bám line

Hình 5.7: Lưu đồ giải thuật chương trình chính.

Chương này đã thiết kế được giải thuật điều khiển gồm: giải thuật chương trình điều khiển trên máy tính và giải thuật thực hiện lệnh của robot.

CHƯƠNG 6:THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ

Chương này sẽ áp dụng các giải thuật đã thiết kế vào mô hình robot thử nghiệm. Từ đó có thể rút ra nhận xét về việc áp dụng hệ thống robot vào thực tế.

6.1. Phương pháp thực nghiệm

Sử dụng mô hình thí nghiệm không giống hoàn toàn nhưng vẫn đảm bảo đúng các yêu cầu về:

-Cơ cấu lái của robot.

-Phương án điều khiển: sử dụng vi điều khiển.

-Đáp ứng được một số tín hiệu để điều khiển robot như động cơ có encoder, sử dụng cảm biến từ trường, sử dụng giao tiếp với máy tính.

Mạch giao tiếp được sử dụng là mô đun bluetooth HC-05 để truyền dữ liệu từ vi điều khiển lên máy tính có bluetooth. Sau khi kết nối bluetooth, trên máy tính có một cổng COM giao tiếp với mạch. Arduino truyền dữ liệu cho mạch bluetooth bằng cổng UART. Các thông số mạch bluetooth HC-05 như sau:

-Điện áp hoạt động: 3,3 − 5 (V).

-Giao tiếp với vi điều khiển bằng UART. -Tầm hoạt động: 10 (m).

6.2.Thực nghiệm điều khiển động cơ

Kết quả thực nghiệm tìm hai thông số là độ lợi và chu kì dao động của hai động cơ như sau:

-Động cơ bên trái dao động khi = 4,1và = 0,525 (s)

Hình 6.2: Đồ thị vận tốc động cơ trái khi đạt độ lợi tới hạn.

Theo bảng 4.1, tính đước các hệ số bộ điều khiển PID động cơ bên trái: = 0,6 = 0,6 × 4,1 = 2,46 =2 =2 × 2,460,525 = 9,37 = 8 =2,46 × 0,5258 = 0,16 0 50 100 150 200 250 300 0 2 4 6 8 10 Vậ n tốc (rpm ) Thời gian (s)

-Động cơ bên phải dao động khi = 4,1và = 0,525 (s)

Hình 6.3: Đồ thị vận tốc động cơ phải khi đạt độ lợi tới hạn.

Suy ra thông số bộ điều khiển PID động cơ bên phải là = 2,46; = 9,37; = 0,16.

Đưa các thông số vào bộ điều khiển, thử nghiệm lại với tốc độ mong muốn là 180 (rpm) tương đương khoảng 0,6 (m/s) qua bánh xe thử nghiệm. Đáp ứng động cơ trái là 0,6 (s) và động cơ phải khoảng 0,8 (s). Như vậy đáp ứng vận tốc của động cơ thỏa điều kiện tăng tốc lớn hơn 0,5 (m/s ).

Hình 6.4: Đồ thị đáp ứng của động cơ bên trái.

0 50 100 150 200 250 300 0 2 4 6 8 10 Vậ n tốc (rpm ) Thời gian (s) 0 20 40 60 80 100 120 140 160 180 200 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 V ận tốc (rpm ) Thời gian (s)

Hình 6.5: Đồ thị đáp ứng của động cơ bên phải. 6.3. Thực nghiệm điều khiển bám line

Sử dụng phương pháp Ziegler-Nichols để tìm thông số cho luật điều khiển PID của bộ điều khiển bám line. Tăng độ lợi lên đến mức xe bắt đầu dao động, thu được thông số = 0,26 và dựa vào đồ thị dao động xác định = 0,62 (s). Từ bảng 4.1, tính được các hệ số: = 0,6 = 0,6 × 0,26 = 0,156 =2 =2 × 0,1560,62 = 0,5 = 8 =0,156 × 0,628 = 0,01 0 20 40 60 80 100 120 140 160 180 200 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Vị trí t âm line (m m ) Thời gian (s)

Hình 6.6: Đồ thị dao động của vị trí tâm line đọc từ cảm biến.

Thay các giá trị tìm được vào bộ điều khiển, cho xe chạy bám theo line thẳng để kiểm tra sai số. Gắn thêm ngòi bút 0,1mm tại trung điểm cảm biến để vẽ lại đường chạy. Dùng camera chụp lại đường chạy, sau đó xử lý ảnh bằng LabView lấy sai số lớn nhất. Các bước xử lý ảnh sử dụng công cụ Image Calibration trên NI Vision Assistant như sau:

-Chỉnh bức ảnh về mặt phẳng vuông góc với camera

-Chỉnh đường dẫn từ song song với trục tọa độ của bức ảnh -Đo độ lệch lớn nhất bằng công cụ Clamp (Rack)

-80 -60 -40 -20 0 20 40 60 80 0 1 2 3 4 5 6 7 Vị trí t âm li ne (m m ) Thời gian (s)

Hình 6.7: Xử lý bức ảnh vuông góc với camera.

Hình 6.9: Đo khoảng lệch lớn nhất.

Sau các bước trên đo được sai số bám line là ± 10 (mm). Nguyên nhân là do các hệ số PID còn sai lệch so với đáp ứng của hệ thống robot. Để cải thiện sai số bám line cần thực nghệm lại phương pháp Ziegler-Nichols nhiều lần.

Tiến hành nhiều lần thực nghiệm lại nhiều lần và đạt được sai số là ±6 (mm), đủ điều kiện để robot di chuyển ổn định.

6.4.Thực nghiệm giải thuật di chuyển trong kho hàng

Sơ đồ thử nghiệm phải đảm bảo có đủ các trường hợp của giải thuật đã thiết kế. Sơ đồ line sau dùng để kiểm nghiệm giải thuật.

D

2 1

A B C

Start Pick

Hình 6.11: Sơ đồ kho hàng thực nghiệm.

Sơ đồ có hai nhánh rẽ ra bốn cột đủ để kiểm tra giải thuật theo cột khác nhau. Tương tự chỉ cần hai hàng để phân biệt giải thuật theo hàng khác nhau. Để thuận tiện cho phân biệt ký hiệu, số cột được đánh theo chữ cái A, B, C, D.

Tiến hành lắp đặt một hệ thống line thực nghiệm có kích thước: 1,2 × 1,6 (m). Trong quá trình thực nghiệm, các vị trí giao điểm cần đánh dấu để robot dễ dàng nhận biết.

D 2 1 A B C Start Pick Marker

Hình 6.12: Sơ đồ lắp đặt line từ thực nghiệm.

Hình 6.13: Hệ thống line từ thực nghiệm.

Giao diện trên máy tính lập trình bằng ngôn ngữ C# có các vị trí tương ứng trên sơ đồ để chọn.

Hình 6.14: Giao diện điều khiển trên máy tính và kết quả vị trí tính được.

Thử nghiệm cho robot thực hiện lệnh điều khiển từ máy tính. Sau khoảng thời gian 0,2 (s) gửi về giá trị sai số bám line một lần sau khi đã nhận lệnh.

Các bước thực hiện:

-Tiến hành đặt robot vào vị trí bắt đầu, bật nguồn cho robot.

-Kết nối máy tính với cổng giao tiếp, gửi xuống dữ liệu đường đi là điểm B1 có hành trình tính toán trên máy tính là: rlbrrsbsse.

-Chờ robot di chuyển hết quãng đường. -Lưu dữ liệu nhận được, vẽ lại đồ thị.

Hình 6.15: Giao diện chọn vị trí B1.

Hình 6.16: Đồ thị sai số bám line thực nghiệm.

 Phân tích đồ thị, với giá trị sai số lệch phải là âm, lệch trái là dương:

-Khoảng thời gian từ 0 đến 6 giây: di chuyển trên đoạn đường thẳng, có một thời điểm bị nhiễu là do đánh dấu giao điểm tại vị trí xuất phát.

-80 -70 -60 -50 -40 -30 -20 -100 10 20 30 40 50 60 70 80 0 5 10 15 20 25 30 35 40 45 50 55 60 65 Sai số bám li ne (m m ) Thời gian (s)

-Khoảng 6 đến 12 giây: này robot đã nhận biết giao điểm đầu tiên và rẽ phải đúng theo lệnh đầu tiên. Đồ thị cho thấy robot xoay qua phải và gặp nhánh rẽ bên phải nên giá trị thay đổi nhanh chóng từ lệch phải sang trái.

-Khoảng 14 đến 18 giây: là đoạn robot rẽ trái

-Khoảng 18 đến 26 giây: là đoạn xoay 180° ngược chiều kim đồng hồ, tại vị trí này robot nhận biết giao điểm là kệ hàng và thực hiện lện quay lại.

-Khoảng 26 đến 30 giây: robot rẽ phải.

-Khoảng 38 đến 40 giây: robot rẽ phải, tuy nhiên không có line phía trước nên không có tín hiệu lệch phải (âm).

-Khoảng 50 đến 54 giây: robot đã đến vị trí Pick nên quay lại ngược chiều kim đồng hồ.

-Robot di chuyển trên các đoạn thẳng có sai số nhỏ hơn 10 (mm).  Nhận xét

-Robot đã hoạt động đúng với tín hiệu điều khiển, cho thấy giải thuật trên vi điều khiển hoạt động tốt, các cảm biến phát hiện giao điểm tốt.

-Hệ thống line thực nghiệm khá nhỏ nên robot di chuyển chưa liên tục, bị rẽ nhiều nhánh.

-Thời gian di chuyển để lấy một món hàng trong hệ thống kho hàng tương đối ngắn. Nên khi áp dụng thực tế với quy mô lớn hơn, robot có thể đáp ứng thời gian vận chuyển.

Chương này đã hoàn thành việc thực nghiệm điều khiển hệ thống robot, phân tích kết quả và đưa ra nhận xét về hệ thống robot thử nghiệm.

CHƯƠNG 7:TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 7.1. Đánh giá kết quả đề tài

7.1.1. Những công việc đã đạt được

Đề tài này đã hoàn thành được các công việc như sau:

-Phân tích mô hình động học, tìm ra mối qua hệ giữa vận tốc hai bánh và góc lệch của mô hình robot.

-Thiết kế cơ khí cho mô hình robot tự hành trong nhà xưởng thử nghiệm.

-Xây dựng được hệ thống điện, cảm biến, điều khiển và hoàn thiện kết nối các mô đun điện.

-Thực nghiệm sử dụng cảm biến, điều khiển động cơ, tìm sai số bám đường cho robot.

-Xây dựng được giải thuật chương trình tìm đường, thực nghiệm giải thuật cho robot trong một hệ thống kho hàng. Kết quả thực nghiệm cho thấy robot đã thực hiện được nhiệm vụ di chuyển trong kho hàng.

7.1.2. Những hạn chế trong thực hiện đề tài

-Giải thuật trên máy tính chưa đáp ứng được cho tất cả các dạng bố trí kho hàng, chỉ sử dụng cho một mô hình kho hàng nhất định.

-Giải thuật điều khiển robot chỉ có thể đáp ứng một số điều kiện môi trường nhất định. Điều kiện thực tế của kho hàng rất đa dạng, có rất nhiều yếu tố bên ngoài ảnh hưởng đến robot trong khi di chuyển.

-Mô hình thí nghiệm vẫn còn hạn chế về cơ khí: chưa đảm bảo độ đồng tâm của trục động cơ nên khi robot chạy thẳng cần điều chỉnh bằng lập trình. Mô hình chỉ đáp ứng nhu cầu chở hàng và di chuyển trong nhà xưởng.

-Robot trong quá trình thực hiện di chuyển chưa thực sử ổn định do môi trường bên ngoài có nhiều tác động mà không thể kiểm soát được.

7.2.Các hướng phát triển của đề tài

Để nghiên cứu phát triển và mở rộng đề tài, tận dụng được những ưu điểm của robot tự hành trong nhà xưởng, một số hướng nghiên cứu và phát triển dựa trên đề tài như sau:

-Sử dụng các phương pháp dẫn đường khác có thể đáp ứng được yêu cầu hoạt động trong nhà xưởng như dẫn đường bằng laser.

-Thay đổi giải thuật điều khiển trên máy tính cho những mô hình nhà xường có cách bố trí khác. Hoặc tìm giải thuật giảm thời gian chờ từ lúc lấy hàng đến lúc giao hàng.

-Thiết kế cơ cấu lấy hàng tự động trên robot. Khi di chuyển đến một vị trí hàng

Một phần của tài liệu Thiết kế robot tự hành theo vết hoạt động trong nhà xưởng (Trang 55)

Tải bản đầy đủ (PDF)

(76 trang)