Ứng dụng encoder để nâng cao chất lượng điều khiển đường đi của robot tự động
Trong các cuộc thi robocon vừa qua các đội tuyển của trường Đại học Kỹ thuật Công
nghiệp Thái Nguyên đã có nhiều thành công. Về mặt kỹ thuật đã có nhiều tiến bộ rõ rệt như: Cơ
khí, mạch điện tử, lập trình và tư duy chiến thuật khi thi đấu. Trong đó có thể nói về phần cơ khí
và mạch điện tử đã hoàn thiện, cụ thể là các robot bằng tay tương đối chắc chắn và linh hoạt
không kém các đội mạnh trên toàn quốc, tuy nhiên robot tự động thường kém ổn định và chưa
linh hoạt trong thi đấu. Đó là vì chưa tìm ra một thuật toán điều khiển tối ưu cho robot tự động.
Trong bài báo này xin giới thiệu cách ứng dụng encoder kết hợp với các cảm biến quang học để
điều khiển đường đi của robot.
Bạn đang xem tài liệu "Ứng dụng encoder để nâng cao chất lượng điều khiển đường đi của robot tự động", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Ứng dụng encoder để nâng cao chất lượng điều khiển đường đi của robot tự động
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 4(44)/N¨m 2007 – 97 ỨNG DỤNG ENCODER ĐỂ NÂNG CAO CHẤT LƯỢNG ĐIỀU KHIỂN ĐƯỜNG ĐI CỦA ROBOT TỰ ĐỘNG Nguyễn Tiến Dũng (Trường Đại học KTCN - ĐH Thái Nguyên) 1. Đặt vấn đề Trong các cuộc thi robocon vừa qua các đội tuyển của trường Đại học Kỹ thuật Công nghiệp Thái Nguyên đã có nhiều thành công. Về mặt kỹ thuật đã có nhiều tiến bộ rõ rệt như: Cơ khí, mạch điện tử, lập trình và tư duy chiến thuật khi thi đấu. Trong đó có thể nói về phần cơ khí và mạch điện tử đã hoàn thiện, cụ thể là các robot bằng tay tương đối chắc chắn và linh hoạt không kém các đội mạnh trên toàn quốc, tuy nhiên robot tự động thường kém ổn định và chưa linh hoạt trong thi đấu. Đó là vì chưa tìm ra một thuật toán điều khiển tối ưu cho robot tự động. Trong bài báo này xin giới thiệu cách ứng dụng encoder kết hợp với các cảm biến quang học để điều khiển đường đi của robot. 2. Sơ đồ khối Như chúng ta đã biết những năm gần đây các đội tuyển điều khiển đường đi của robot phần lớn dựa vào tín hiệu từ các cảm biến nhận vạch trên sân. Việc lập trình chỉ đơn thuần là nhận tín hiệu từ cổng này để tính toán rồi xuất tín hiệu ra cổng khác. Sự hoạt động của robot phụ thuộc rất nhiều vào sự ổn định và chính xác của các cảm biến. Do vậy gặp rất nhiều nhược điểm như: Chịu ảnh hưởng của ánh sáng, của thời tiết, điều kiện sân bãi, hơn thế nữa đề thi nhiều khi yêu cầu robot đi vào những vùng không có vạch hoặc phát hiện những vùng cấm, điều này nếu chỉ dùng cảm biến tìm vạch sẽ không hiệu quả. Để khắc phục những nhược điểm trên, ta có thể dùng thêm các bộ encoder lấy tín hiệu từ hai bánh xe để xác định chính xác vị trí của robot, từ đó tính toán so sánh và đưa ra những tín hiệu điều khiển tới chuyển động của hai bánh. Sơ đồ khối của hệ như hình vẽ 1. Hình 1. Sơ đồ khối hệ điều khiển Hệ thống cảm biến: Gồm các cảm biến đặt dưới gầm và cạnh xe, có nhiệm vụ nhận biết các vạch trên sân. Nó gồm LED rọi và quang trở (hoặc cặp phát – thu hồng ngoại). Khuếch đại và chu>n hoá tín hiệu: Phần này đảm bảo phối hợp mức tín hiệu giữa hệ thống thu phát của cảm biến và của ENCODER với vi xử lý. T¹p chÝ Khoa häc & C«ng nghÖ - Sè 4(44)/N¨m 2007 – 98 Vi xử lý: Là bộ não của robot nó có nhiệm vụ nhận thông tin từ các đầu cảm biến và hệ thống encoder, tính toán và đưa ra tín hiệu điều khiển tới hệ thống chấp hành. Encoder: Gồm hai encoder gắn đồng trục với hai bánh xe, có nhiệm vụ xác định đoạn đường và chiều chuyển động của mỗi bánh, gửi tín hiệu về vi xử lý. Đệm: Nhằm trao đổi tín hiệu giữa vi xử lý và các khối bên ngoài một cách linh hoạt hơn Bộ biến đổi: Nhận tín hiệu điều khiển từ bộ vi xử lý và đưa ra điện cấp cho động cơ đảm bảo về tốc độ cũng như chiều quay theo yêu cầu của thuật toán. LED hiển thị: Cho phép ta kiểm tra thuật toán trên sân một cách trực quan hơn. Về cơ bản mạch phần cứng và cảm biến không có nhiều thay đổi so với các mạch mà ta vẫn dùng trước đây. 3. Giới thiệu sơ bộ về encoder và ứng dụng Bộ encoder gồm một bánh xe có dạng như hình vẽ 2. Trên đó ta xẻ một rãnh ở vòng trong được gọi là rãnh định vị, ở vòng ngoài ta xẻ các rãnh đều nhau trên chu vi của bánh (Số rãnh nhiều hay ít tuỳ thuộc vào yêu cầu về “độ mịn” trong quá trình điều khiển), giả thiết là có N rãnh. Như vậy nếu đặt các bóng thu – phát đối xứng nhau ở hai bên của các rãnh, và sử dụng bộ đếm xung. Có thể thấy, cứ mỗi lần quay qua một rãnh, thì bộ đếm lại được tăng lên một đơn vị. Dựa vào số xung đếm được ta có thể xác định được đoạn đường chuyển động của bánh xe. Tuy nhiên, nếu cứ đếm như vậy thì bộ đếm sẽ rơi vào vòng đếm vô hạn, chưa kể mỗi lần có rung động, trượt bánh hay nhiễu có thể làm ta xác định nhầm số vòng quay của bánh xe. Để khắc phục điều này, người ta xẻ thêm một rãnh ở vòng trong gọi là rãnh định vị để đếm số vòng quay của bánh. Cứ mỗi lần bộ đếm này nhận được một xung thì sẽ gửi tín hiệu reset lại bộ đếm ở vòng ngoài. Như vậy cho dù bộ đếm ở vòng ngoài có bị nhiễu lệch đi một vài xung thì vẫn xác định được chính xác số vòng quay đồng thời bộ đếm ngoài sẽ tránh rơi vào vòng đếm vô hạn. Đoạn đường mà bánh xe chuyển động được xác định qua công thức: L = Đ2.P+ N 1 Đ1.P (Trong đó Đ1, Đ2 tương ứng là bộ đếm vòng ngoài và bộ đếm định vị, P là chu vi của bánh xe, N số rãnh ở vòng ngoài) Để xác định được bánh xe đang quay tiến hay quay lùi, ta đặt hai đèn LED lệch nhau trên hàng rãnh vòng ngoài. Khi bánh xe quay bộ đếm của hai LED này sẽ nhận được các xung lệch nhau như hình vẽ 3 Từ đó ta thấy nếu như bộ đếm A có xung đi từ mức cao xuống mức thấp, mà lúc đó bộ đếm B đang ở mức thấp, thì chuyển động của bánh xe sẽ theo chiều T. Ngược lại nếu A đang ở mức cao xuống mức thấp, mà B đang ở mức cao thì bánh xe đang quay theo chiều N. Với một encoder như trên ta hoàn toàn quản lý được Hình 3. Giản đồ xung các bộ đếm Hình 2. Dạng đĩa encoder T¹p chÝ Khoa häc & C«ng nghÖ - Sè 4(44)/N¨m 2007 – 99 đường đi của robot với đội chính xác tới N 1 Chu vi của bánh xe và cả chiều quay của nó. Do vậy hoàn toàn có thể xây dựng các thuật toán điều khiển phù hợp cho từng bài toán cụ thể. 4. Ứng dụng encoder trong điều khiển robot Khi ứng dụng encoder để điều khiển robot, ta có thể sử dụng độc lập hoặc kết hợp với các cảm biến quang học khác.Trong ví dụ ứng dụng này ta dùng 05 cảm biến: CB1, CB2, CB3, CB4, CB5 để nhận biết vạch dò đường trên những đoạn đường có vạch, 01 cảm biến đếm vạch ngang, 02 encoder đặt ở hai bánh xe, ta sẽ dùng nó để giám sát quá trình chạy thẳng trên đoạn đường có vạch và điều khiển chạy thẳng trên những đoạn đường không có vạch, hoặc quay một góc bất kỳ. Vị trí đặt các cảm biến và encoder được mô tả như hình 4 Hinh4. Vị trí đặt các cảm biến và encoder Sơ đồ mạch điều khiển Hình 5. Sơ đồ nguyên lý mạch điều khiển T¹p chÝ Khoa häc & C«ng nghÖ - Sè 4(44)/N¨m 2007 – 100 Thuật toán điều khiển Trong ví dụ này chỉ đưa ra lưu đồ thuật toán cho bài toán đơn giản, đó là điều khiển robot đi thẳng trên đoạn đường có vạch, đếm a vạch ngang (khoảng cách giữa các vạch ngang là L1), sau đó quay sang trái một góc α và đi thẳng một đoạn L3 (không cần bắt vạch trên sân). Ở phần trên đã giới thiệu cách xác định các đoạn đường chạy thẳng, để xác định góc quay α ta thực hiện như sau: Giả thiết thực hiện quay sang trái theo phương án đơn giản nhất là, bánh trái sẽ dừng lại và bánh phải di chuyển một đoạn là: 360 .. 2 αpi dL = (trong đó d là khoảng cách của hai bánh xe) Lưu đồ thuật toán thực hiện như hình 6 Hình 6. Lưu đồ thuật toán T¹p chÝ Khoa häc & C«ng nghÖ - Sè 4(44)/N¨m 2007 – 101 Kết quả thực nghiệm Thuật toán trên đã được các thành viên trong nhóm CN-2007 thử nghiệm với robot tự động của đội mình, trên nền sân của trường Đại học Kỹ thuật Công nghiệp Thái Nguyên. Kết quả cho thấy robot đã tìm được đúng những vị trí mà thuật toán yêu cầu. Khi thử nghiệm với những thuật toán phức tạp hơn robot đã trở nên linh hoạt và chính xác hơn nhiều so với khi chưa dùng encoder. Tuy nhiên, phương pháp này gặp phải nhược điểm là yêu cầu phần cơ khí có độ chính xác cao, độ bám của bánh xe với bề mặt sân tốt. Việc lắp đặt các encoder phải cực kỳ chính xác. Khi lập trình cho robot chạy trên những mặt sân khác nhau vẫn cần có những hiệu chỉnh nhất định về phần mềm. Robot không thể xác định được vật cản phía trước, khi bị đối phương cản phá. Hình 7. Robot tự động của đội CN – 2007 đang dò đường trên đoạn đường không có vạch 5. Kết luận Mặc dù phương pháp này vẫn gặp nhiều khó khăn trong chế tạo và điều khiển robot, song đã khắc phục được phần lớn những nhược điểm, mà các đội tuyển gặp phải, trong các phương pháp điều khiển trước đây. Ở đây chỉ nêu sơ lược về phương pháp áp dụng và thuật toán đơn giản. Trong bài toán điều khiển cụ thể cần phát triển và đưa ra những thuật toán phức tạp, cụ thể hơn. Đồng thời chúng ta hoàn toàn có thể ứng dụng tương tự để điều khiển các lĩnh vực khác. Tóm tắt Bài báo này đưa ra cách thiết kế và ứng dụng encoder, kết hợp với cảm biến, cũng như đưa ra thuật toán điều khiển đường đi của robot tự động. Phương pháp này sẽ khắc phục được những nhược điểm cơ bản gặp phải khi điều khiển robot chỉ bằng cảm biến dò đường. T¹p chÝ Khoa häc & C«ng nghÖ - Sè 4(44)/N¨m 2007 – 102 Summary Applying encoder to improve quality of controlling line detection of automatic machine This paper proposes a method of designing and applying encoder, in combination with other sensors as well as the control algorithm of line detection of automatic machine. This control algorithm will limit basic disadvantages encountered when controls the machine only using line detection sensors. Tài liệu tham khảo [1] Tống Văn On – Hoàng Đức Hải, “Họ vi điều khiển 8051”, Nxb Lao động-Xã hội, Hà Nội. [2] Nguyễn Tăng Cường – Phan Quốc Thắng (2004), “Cấu trúc và lập trình họ vi điều khiển 8051”, Nxb Khoa học và Kỹ thuật Hà Nội. [3] Nxb Khoa học (2000) - Sổ tay tra cứu linh kiện điện tử.
File đính kèm:
- ung_dung_encoder_de_nang_cao_chat_luong_dieu_khien_duong_di.pdf