Ứng dụng encoder để nâng cao chất lượng điều khiển đường đi của robot tự động
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.
6 trang |
Chia sẻ: linhmy2pp | Ngày: 22/03/2022 | Lượt xem: 238 | Lượt tải: 0
Bạn đang xem 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ải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
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ử.
Các file đính kèm theo tài liệu này:
- ung_dung_encoder_de_nang_cao_chat_luong_dieu_khien_duong_di.pdf