Ứ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.

pdf 6 trang kimcuc 17261
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

Ứ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:

  • pdfung_dung_encoder_de_nang_cao_chat_luong_dieu_khien_duong_di.pdf