Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
Xây dựng bộ điều khiển mờ cho Robot bám đường
A Fuzzy controller design for following line robot
TS. Hoàng Quang Chính, KS. Nguyễn Đức Lành, KS. Nguyễn Công Khoa
Học viện Kỹ thuật Quân sự
e-Mail: [email protected]
ThS. Nguyễn Thành Sơn
Viện kỹ thuật Cơ giới Quân sự - TCKT
e-Mail: [email protected]
Tóm tắt Trong bài báo này trình bày phân tích luật và xây
dựng bộ điều khiển cho robot bám đường dựa trên lý
thuyết điều khiển mờ. Để chứng minh tính đúng đắn
của thuật toán, các tác giả đã xây dựng mô hình robot
và và thực hiện thuật toán khiển trên mờ trên vi điền
khiển Atmel ATMega16 cho mô hình robot.
Abstract: In this article presents analysis and design the
following line algorithm for robot based on fuzzy
control theory. To prove the correctness of the
algorithm, the authors have built robot model and
implement the fuzzy control algorithm on the Atmel
ATmega16 microcontroller for robot model.
Chữ viết tắt DT: Đi thẳng.
HST: Hơi sang trái.
HSP: Hơi sang phải.
MST: Mạnh sang trái.
MSP: Mạnh sang phải.
X: Không xác định.
KC Khoảng cách.
ADC : Analog to Digital Converter.
1. Đặt vấn đề Loại robot mà việc di động theo một quĩ đạo định sẵn
được gọi là Robot bám đường. Robot bám đường có
thể di chuyển theo một đường, đường đi có thể là có
thể được nhìn nhận như một dòng màu đen trên một
bề mặt trắng (hoặc ngược lại) hoặc nó có thể là đường
vô hình như một từ trường.
Trong các dây truyền sản xuất tự động, những robot
di chuyển theo một quĩ đạo lặp lại để thực hiện một số
nhiệm trong hệ thống tự động được ứng dụng ngày
càng rộng rãi. Ngoài ra, ngày nay trên những xe ô tô
hiện đại, thường được các hãng phát triển hệ thống lái
lái tự động. Bài toán đi theo quĩ đạo cũng được áp
dụng rộng rãi trong các cuộc thi ROBOCON dành cho
các sinh viên các trường Cao đẳng, Đại học kỹ thuật.
Vấn đề bài toán điều khiển robot di chuyển theo quĩ
đạo đã được rất nhiều nhà khoa học quan tâm, từ việc
mã hóa thông tin về đường đi dưới dạng số bằng việc
bố trí hàng loạt cảm biến thu phát quang đến ứng
dụng kỹ thuật xử lý ảnh. Trong bài báo này các tác giả
trình bày việc xây dựng bộ điều khiển bám đường cho
robot trên cơ sở ứng dụng lý thuyết điều khiển mờ.
Ngày nay lý thuyết logic mờ nói chung hay điều khiển
mờ nói riêng được áp dụng rộng rãi trong các thiết bị
công nghiệp cũng như những thiết bị dân dụng. Một
trong lý do chính của việc phát triển và ứng dụng rộng
rãi của logic mờ chính là việc thực hiện thuật toán mờ
tương đối dễ dàng và các công cụ tính toán đáp ứng
được những yêu cầu đó.
2. Xây dựng bộ điều khiển mờ cho robot
bám đường Sơ đồ khối của hệ điều khiển mờ robot bám đường
được biểu diễn trên hình 1. Các cảm biến hồng ngoại
trái phải sẽ cho bộ điều khiển biết thông tin về vị trí
của robot hiện tại dựa vào mức độ phản xạ tín hiệu
hồng ngoại. Dựa vào những thông tin trên, một luật
điều khiển mờ trong bộ điều khiển được thực hiện và
đưa ra các tín hiệu điều khiển thích hợp cho các động
cơ trái và phải sao cho quá trình di chuyển của robot
bám theo đường mong muốn cho trước. Để xây dựng
được luật điều khiển mờ chúng ta tiến hành các bước
sau :
Bước 1: Mờ hóa các thông tin đầu vào
Trong trường hợp này chọn đường đi là vạch đen và
nền trắng. Dự vào đặc điểm của cảm biến quang phần
phát của cảm biến thường phát ra một chùm sáng,
chính vì vậy nó sẽ chiếu lên một diện tích nhất định
trên bề mặt đường và điều này dẫn đến ánh sáng sẽ
phản xạ tới phần thu với mức độ khác nhau tùy thuộc
vào độ phản xạ của mặt đường. Chính vì vậy mà ta
tiến hành chia thành các vùng làm việc của cảm biến
như biểu diễn trên hình 2. Ở đây ta lấy tâm đường làm
chuẩn, và từ điểm chuẩn này chúng ta chia thành 3
vùng làm việc của cảm biến như sau:
+ Vùng 1: Là vùng phần phát của cảm biến phát ra
chùm ánh sáng tới bề mặt đường hoàn toàn là màu
đen. Ta gọi vùng này là vùng đen.
+ Vùng 2: Là vùng phần phát của cảm biến phát ra
chùm ánh sáng tới bề mặt đường có lẫn cả màu đen và
màu trắng (vùng gần với đường ngăn cách giữa màu
đen và màu trắng), lượng ánh sáng thu được trên phần
này của cảm biến trên vùng này tương đương với
lượng ánh sáng thu được trên phần thu của cảm biến
khi phần phát của cảm biến phát chùm sáng tới bề mặt
đường hoàn toàn màu xám. Ta gọi vùng này là vùng
xám.
245
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
+ Vùng 3: Là vùng phần phát của cảm biến phát ra
chùm ánh sáng tới bề mặt đường hoàn toàn là màu
trắng. Ta gọi vùng này là vùng trắng.
Hình 1. Sơ đồ khối hệ điều khiển mờ robot bám đường
NÒn
tr¾ng
NÒn
tr¾ng
Tr¾
ng
Tr¾
ng
§e
n
Tr¾ngTr¾ng §e
n
§en
Vïng 1
Vïng ®en
Vïng 2
Vïng
x¸m
Vïng 3
Vïng
tr¾ng
Vïng 2
Vïng
x¸m
Vïng 3
Vïng
tr¾ng
§êng biªn
gi÷a mµu
®en vµ
mµu tr¾ng
§êng biªn
gi÷a mµu
®en vµ
mµu tr¾ng
Hình 2. Phân vùng làm việc của cảm biến
Dựa vào việc phân vùng trên và tín hiệu lấy về từ cảm
biến là dạng tín hiệu tương tự. Tín hiệu này chuyển
thành tín hiệu số sử dụng một bộ chuyển đổi tương tự
số ADC. Nếu cảm biến di chuyển từ chính tâm đường
ra đến vùng trắng, thì tín hiệu số sẽ thay đổi giá trị từ
nmin đến nmax. Chúng ta tiến hành mờ hóa dải thông tin
này thành 03 biến ngôn ngữ là DEN, XAM và
TRANG tương ứng với các vùng đen, xám và trắng.
Hàm liên thuộc và miền xác định của các biến ngôn
ngữ được xác định như sau:
+ Biến ngôn ngữ DEN:
- Hàm liên thuộc: hàm trái.
- Miền xác định: nmin và a.
+ Biến ngôn ngữ XAM:
- Hàm liên thuộc: hàm tam giác cân.
- Miền xác định: b, c và d.
+ Biến ngôn ngữ TRANG:
- Hàm liên thuộc: hàm phải
- Miền xác định: e và nmax
Trên hình 2 mô tả các hàm liên thuộc và miền xác
định của tín hiệu vào ở dạng tổng quát trên. Do tính
đối xứng của hệ thống nên việc mờ hóa cho đầu vào
thứ hai của hệ cũng giống hệt như đầu vào thứ nhất.
Chúng ta chỉ qui ước các tín hiệu đầu và là đầu vào
cảm biến trái (SST) và đầu vào từ cảm biến phải
(SSP).
DEN TRANGXAM1
KC
μ(KC)
b a c e d nmax
nmax
Hình 3. Các hàm liên thuôc đầu vào.
Bước 2: Mờ hóa thông tin đầu ra
Việc mờ hóa thông tin đầu ra trong bài báo này các
tác giả dựa theo cách tiếp cận mô hình Sugeno bậc 0,
nghĩa là các thông tin mờ hóa đầu ra là những giá trị
tiền định.
Xét đặc thù di động của loại robot là chỉ tiến, cũng
như dựa trên những phân tích trên, chúng ta chỉ tập
trung vào những giá trị mờ đầu ra như sau:
- Chuyển động thẳng (DT)
- Hơi rẽ sang trái (HST)
- Rẽ mạnh sang trái (MST)
- Hơi rẽ sang phải (HSP)
- Rẽ mạnh sang phải (MSP)
Bước 3: Suy luận mờ
Từ việc mờ hóa các đầu vào ra, chúng ta có các luật
IF .. THEN sau:
- Luật 1: IF (SST=TRANG) AND (SSP=TRANG)
THEN robot = DT
- Luật 2: IF (SST=XAM) AND (SSP=TRANG)
THEN robot = HST
- Luật 3: IF (SST=DEN) AND (SSP=TRANG) THEN
robot = MST
-Luật 4: IF (SSP=XAM) AND (SST=TRANG) THEN
robot = HSP
- Luật 5: IF (SSP=DEN) AND (SST=TRANG) THEN
robot= MSP
Trong Bảng 1 biểu diễn luật hợp thành mờ cho robot
bám đường ở dạng bảng.
Mờ hóa
Luật điều
Khiển
Giải mờ Động cơ trái
Động cơ phải
sensor trái
sensor phải
Bộ điều khiển mờ
Thiết bị
hợp thành
Bộ điều
khiển
động cơ
246
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
Bảng 1. Luật hợp thành của bộ điều khiển mờ
SST
SSP
TRANG XAM DEN
TRANG DT HST MST
XAM HSP X X
DEN MSP X X
- Đi thẳng (DT): tín hiệu điều khiển sao cho hai động
cơ trái và phải quay cùng tốc độ và ngược chiều nhau.
- Hơi sang trái (HST): khi cả động cơ bên trái và bên
phải cùng quay cùng chiều kim đồng hồ với tốc độ
thấp hoặc hai động cơ quay ngược chiều nhưng động
cơ bên phải quay nhanh hơn một chút.
- Rẽ mạnh sang trái (MST): khi cả động cơ bên trái và
bên phải cùng quay cùng chiều kim đồng hồ với tốc
độ cao hoặc hai động cơ quay ngược chiều nhưng
động cơ bên phải quay nhanh hơn nhiều.
- Hơi sang phải (HSP): khi cả động cơ bên trái và bên
phải cùng quay ngược chiều kim đồng hồ với tốc độ
thấp hoặc hai động cơ quay ngược chiều nhưng động
cơ bên trái quay nhanh hơn một chút.
- Rẽ mạnh sang phải (MSP): khi cả động cơ bên trái
và bên phải cùng quay ngược chiều kim đồng hồ với
tốc độ cao hoặc hai động cơ quay ngược chiều nhưng
động cơ bên trái quay nhanh hơn nhiều.
Bước 4: Giải mờ
Trong bài toán này chọn phương pháp giải mờ là
phương pháp cực đại [2].
3. Kết quả thực nghiệm Thiết kế hệ thống điều khiển
Trong phần này trình bày thực hóa mô hình robot và
xây dựng bộ điều khiển trên cơ sở họ vi điều khiển
AVR Atmega 16 của hãng Atmel. Sơ đồ khối của hệ
thống điều khiển được trình bày trên hình 3
Khèi c¶m
biÕn
Khèi xö lý
trung t©m
Khèi c«ng
suÊt ®iÒu
khiÓn ®éng
c¬
Khèi ®éng c¬
Hình 3. Sơ đồ khối chức năng của hệ thống điều khiển
robot bám đường
+ Khối cảm biến: Chuyển đổi tín hiệu quang thành tín
hiệu điện, ở đây ta sử dụng 2 bộ cảm biến quang với
nguồn phát là ánh sáng hồng ngoại, phần thu là
photodiode (hình 4).
Hình 4. Mạch cảm biến
+ Khối xử lý trung tâm: Đây là vi điều khiển
Atmelga16, cho phép nhúng các thuật toán điều khiển
mờ cho robot. Thuật toán mờ thực hiện cho vi điều
khiển được viết bằng ngôn ngữ C sử dụng phần mềm
CodeVisionAVR [1,3] (hình 4).
Hình 4. Khối xử lý trung tâm
+ Khối công suất điều khiển động cơ: Đây là khối
nhận tín hiệu ra từ vi điều khiển để điều khiển tốc độ
và đảo chiều động cơ (hình 5).
Hình 5. Khối công suất
+ Khối động cơ: Ta sử dụng 2 động cơ DC 24V có
hộp số tích hợp với tỉ số truyền là 15 và tốc độ đầu ra
là 200 vòng/phút.
3.2. Xây dựng mô hình robot
Mô hình cơ khí robot được thiết kế với 2 bánh chủ
động được gắn với 2 động cơ thông qua hộp số có tỉ
số truyền là 15 và một bánh trước là bánh tự do. Kết
cấu cơ khí của mô hình robot được thể hiện trên các
hình 6, 7, 8, 9 và 10.
247
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
Hình 6. Robot được nhìn từ dưới lên
Hình 7. Robot được nhìn từ phía trước
Hình 8. Robot được nhìn từ bên phải
Hình 9. Mô hình 3D của robot
Hình 10. Mô hình thật của robot
3.3. Thuật toán điều khiển
Thuật toán điều khiển sự di chuyển của robot bám
được thực hiện như sau:
Bước 1: Đọc các thông tin từ cảm biến trái và phải
thông qua 02 bộ chuyển đổi ADC.
Bước 2: Tính toán các giá trị ngôn ngữ dựa trên các
hàm thuộc cho các cảm biến trái phải.
Bước 3: Thực hiện các luật logic mờ
Bước 4: Tính toán các giả trị rõ từ kết quả của bước 4
Bước 5: Điều khiển động cơ dựa theo các kết quả giải
mờ
Bước 6: Nhảy về bước 1.
3.4. Các kết quả thực nghiệm
Khối điều khiển trung tâm là vi điều khiển Atmega
16, vi điều khiển này có sẵn bên trong các bộ chuyển
đổi ADC 10 bít. Thực nghiệm với các cảm biến chỉ ra
rằng khi dạng bề mặt bên dưới cảm biến thay đổi, đầu
đọc cảm biến thay đổi giữa nmin =200 và nmax=800, và
các giá trị cho các vùng như sau :
-Vùng đen: 200÷400
-Vùng xám: 300 ÷ 700
-Vùng trắng: 600 ÷ 800.
Nên hình 3 mô tả hàm liên thuộc của tín hiệu đầu vào
sẽ được minh họa lại cho trường hợp cụ thể này như
sau :
DEN TRANGXAM1
KC
μ(KC)
300 400 500 600 700 800200
Hình 11. Các hàm thuộc cho đầu của bộ điều khiển
mờ robot bám đường.
Dựa trên thuật toán trên toàn bộ chương trình điều
khiển mờ được viết bằng ngôn ngữ C cho chíp
Atmega và nạp xuống bo mạch. Các kết quả thực
248
Hội nghị toàn quốc về Điều khiển và Tự động hoá - VCCA-2011
VCCA-2011
nghiệm cho robot chạy theo những quĩ đạo khác nhau
như hình oval (hình 12), hình số tám (hình 13) và
đường cong (hình 14) đều bám đường chính xác theo
cả hai chiều.
Hình 12. Quĩ đạo Oval
Hình 13. Quĩ đạo hình số tám.
Hình 14. Quĩ đạo đường cong.
4. Kết luận Bài báo này đã trình bày các bước xây dựng luật điều
khiển mờ và thực hiện nó trên chíp vi điều khiển
Atmega 16 cho robot bám đường. Xây dựng mô hình
robot và tiến hành thực nghiệm với bộ điều khiển mờ.
Các kết quả đạt được đảm bảo khả năng bám đường
chính xác. Với bộ điều khiển mờ cho phép chúng ta
sử dụng cảm biến dò đường đơn giản, việc thực hiện
luật điều khiển cũng đơn giản hơn so với luật điều
khiển PID vì nó không phải quan tâm đến mô hình
toán đối tượng điều khiển cũng như lựa chọn các hệ
số khuếch đại cho bộ điều khiển.
Tuy nhiên các kết quả đạt được vẫn còn những hạn
chế như tốc độ di chuyển của robot chưa thực cao do
khâu xử lý cảm biến còn chưa thật chọn vẹn. Nhưng
nó cho phép chúng ta có thể ứng dụng nhiều hơn nữa
lý thuyết logic mờ vào trong các bài toán điều khiển
nói chung và điều khiển robot nói riêng.
Tài liệu tham khảo [1] Dhananjay V. Gadre, Programming and
Customizing the AVR Microcontroller,
McGraw-Hill, 2000
[2] Kevin M. Passino, Stephen Yurkovich (1998),
Fuzzy Control, Addison Wesley Longman. Inc
[3] Pavel Hai Duc, HP InfoTech s.r.l (1998-2006),
CodeVisionAVR C Complier Help.
Hoàng Quang Chính sinh
năm 1974. Tốt nghiệp đại học
năm 1996 ngành điện - điện tử
tại Học viện Kỹ thuật Quân
sự, và nhận bằng Tiến sỹ Kỹ
thuật Điều khiển tại Trường
Đại Học Kỹ thuật Tổng hợp
Quốc gia Matxcơva, CHLB
Nga năm 2006.
Tiến sỹ Hoàng Quang Chính
tham gia giảng dạy tại Học viện Kỹ thuật Quân sự từ
năm 1996 đến nay. Hiện anh đang là Giảng Viên
thuộc Bộ môn Robot đặc biệt và Cơ điện tử, Khoa
Hàng không Vũ trụ.
Nguyễn Thành Sơn sinh năm
1974. Tốt nghiệp đại học năm
1996 ngành điện - điện tử, và
nhận bằng Thạc sỹ Kỹ thuật
Điều khiển tại năm 2003 tại
Học viện Kỹ thuật Quân sự.
Thạc sỹ Nguyễn Thành Sơn
hiện nay là Phó trưởng phòng
Đo lường – Thí nghiệm, Viện
Kỹ thuật Cơ giới Quân sự - Tổng Cục Kỹ thuật.
Nguyễn Công Khoa nhận
bằng Kỹ sư Điện - tự động hóa
tại Trường Đại Học Kỹ Thuật
Công Nghiệp - Đại Học Thái
Nguyên. Hiện nay đang theo
học Thạc sỹ ngành Cơ điện tử
tại Học viện Kỹ thuật Quân
sự.
Kỹ sư Nguyễn Công Khoa
tham gia giảng dạy tại Trường
Đại Học Công Nghệ Thông Tin Và Truyền Thông -
Đại Học Thái Nguyên từ năm 2009 đến nay. Hiện anh
đang là Giảng Viên thuộc Bộ môn Robot và điều
khiển tự động, Khoa Công Nghệ Tự Động Hóa.
Nguyễn Đức Lành là sinh viên hệ Dân sự Học viện
Kỹ thuật Quân sự. Nhận bằng kỹ sư năm 2011 ngành
Cơ điện tử tại Học viện Kỹ thuật Quân sự.
249