sử dụng fpga để xây dựng hệ điều khiển cho robot tự...
Post on 30-Apr-2018
222 Views
Preview:
TRANSCRIPT
Bùi Tuấn Anh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 13 - 16
13
SỬ DỤNG FPGA ĐỂ XÂY DỰNG HỆ ĐIỀU KHIỂN CHO ROBOT TỰ HÀNH
Bùi Tuấn Anh*, Kim Đình Thái
Trường Đại học Công nghệ Thông tin và Truyền thông – ĐH Thái Nguyên
TÓM TẮT
Robot tự hành hay robot di động (mobile robot) đƣợc định nghĩa là một loại xe có khả năng tự
dịch chuyển, tự vận động (có thể lập trình lại đƣợc) duới sự điều khiển tự động hoàn thành một
công việc đƣợc giao. Theo lý thuyết, môi trƣờng hoạt động của robot tự hành có thể là mặt đất,
nuớc, không khí, không gian vũ trụ hay tổ hợp giữa chúng. Ðịa hình bề mặt mà robot di chuyển
trên đó có thể bằng phẳng hoặc thay đổi, lồi lõm. Ðề tài nghiên cứu này đi sâu nghiên cứu ứng
dụng FPGA để xây dựng hệ điều khiển robot tự hành.
Từ khóa: Ngôn ngữ mô tả phần cứng (VHDL), Field Programmable Gate Array (FPGA), Very high
speed Circuit Itergrated (VHSIC), điều chế độ rộng xung (PWM), robot di động (mobile robot)
GIỚI THIỆU*
Ở trong bài báo này chúng tôi trình bày việc
sử dụng ngôn ngữ VHDL để mô tả phần cứng
cho mạch tích hợp tốc độ cao. Ngôn ngữ mô
tả phần cứng VHDL đƣợc phát triển dùng cho
chƣơng trình VHSIC (Very High Speed
Itergrated Circuit) của Bộ Quốc phòng Mỹ.
VHDL đƣợc ba công ty Intermetics, IBM và
Texas Instruments bắt đầu ngiên cứu phát
triển vào tháng 7 năm 1983. Phiên bản đầu
tiên đƣợc công bố vào tháng 8-1985. Sau đó
nó đƣợc tổ chức IEEE xem xét thành một tiêu
chuẩn chung. Năm 1987 đã trở thành tiêu
chuẩn (tiêu chuẩn IEEE-1076).
Theo lý thuyết, môi trƣờng hoạt động của
robot tự hành có thể là đất, nƣớc, không khí
không gian vũ trụ hay tổ hợp giữa chúng. Địa
hình bề mặt robot mà robot di chuyển có thể
bằng phẳng hoặc thay đổi lồi lõm. Theo bộ
phận thực hiện chuyển động, ta có thể chia
robot tự hành làm hai loại: chuyển động bằng
chân (legged) hoặc chuyển động bằng bánh
(wheeled). Mặc dù có ứng dụng cao, nhƣng
để chế tạo robot tự hành còn vƣớng nhiều hạn
chế chƣa giải quyết trọn vẹn nhƣ chi phí chế
tạo cao, đã không cho phép chúng đƣợc sử
dụng rộng rãi. Một nhƣợc điểm khác của
robot tự hành phải kể đến là còn thiếu linh
hoạt và thích ứng khi làm việc ở những vị trí
khác nhau. Bài toán tìm đƣờng (navigation
* Tel: 01692 478758, Email: btanh@ictu.edu.vn
problem) của robot tự hành cũng không phải
là loại bài toán đơn giản nhƣ nhiều ngƣời
nghĩ ban đầu. Trong bài báo này, bài toán tìm
đƣờng cũng nhƣ mô hình điều khiển robot sẽ
đƣợc giải quyết mức độ không quá phức tạp
bằng ngôn ngữ mô tả phần cứng VHDL, trên
công cụ lập trình cho FPGA. Trong một robot
phần cơ bản quan trọng nhất trong robot
chính là hệ thống cảm biến. Cảm biến đƣợc
định nghĩa là các giác quan của robot. Robot
cần xác định trạng thái của môi trƣờng bên
ngoài (nhƣ là các vạch trắng, màu sắc của các
chƣớng ngại vật…) để gửi trạng thái môi
trƣờng đến bộ xử lý rồi đƣa ra các phản ứng
điều khiển robot để thích ứng với các sự kiện
bên ngoài ấy. Các loại cảm biến trong kỹ
thuật robot ngƣời ta sử dụng nhiều loại cảm
biến nhƣ: LED hồng ngoại, quang điện trở
(photorresistance), tế bào quang điện, cảm
biến công nghiệp, camera số trong công nghệ
xử lý ảnh. Mạch công suất dùng để điều khiển
động cơ điện một chiều (DC motor).
MÔ TẢ PHẦN CỨNG CHO ROBOT DI ĐỘNG
Kiến trúc của một robot tự hành cơ bản
Mạch điều khiển đƣợc lập trình tạo ra 3 khối.
Khối chuyển đổi tín hiệu tƣơng tự thành số
(ADC): Có nhiệm vụ xử lý tín hiệu sensor dò
đƣờng đƣa vào bộ xử lý xây dựng bằng
FPGA. Khối điều khiển chuyển động: Nhận
tín hiệu điều khiển từ khối phát hiện tín hiệu
đƣờng dẫn và đƣa ra mức điều khiển hợp lý.
Bùi Tuấn Anh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 13 - 16
14
Khối tạo xung: Phát xung cho hai động cơ
giúp cho động cơ có thể hoạt động linh hoạt
theo phƣơng pháp PWM để bám theo đƣờng
dẫn
Hình 1: Sơ đồ khối của một robot
tự hành sử dụng FPGA
Hệ thống này bao gồm cả hai phần cứng và
phần mềm. Đầu ra của ADC đƣợc nối đến bộ
xử lý trên kit FPGA và nó đã đƣợc sử dụng
nhƣ là đầu vào của các mã nguồn. Ngôn ngữ
sử dụng trong hệ thống này là VHDL.
Bộ chuyển đổi ADC8-bit sử dụng trên
kit FPGA
Hình 2: Sơ đồ khối của bộ chuyển đổi ADC 8-bit
Trong đó Vin là tín hiệu điện áp cần chuyển
đổi (Input). Vref là tín hiệu điện áp so sánh
(Input). Di là 8 bit đầu ra số của bộ ADC
i=0,…,7 (Output). Ta lấy Vref=15 VDC làm
điện áp so sánh. Với ADC 8 bit sẽ có 28=256
trạng thái chạy từ 0000 0000 đến 1111 1111.
Nhƣ vậy mỗi bƣớc tính tƣơng ứng là
N=10/(256-1). Số 8 bits ra của bộ ADC sẽ là
n=Vin/N=Vin(256-1)/15=Vin(255/15)= Vin.17
Điều chế độ rộng xung (PWM)
Điều chế độ rộng xung PWM (Pulse With
Modulation) là một khâu quan trọng trong
thiết kế robot. Sử dụng phƣơng pháp này
chúng ta có thể điều khiển một cách linh hoạt
cho motor DC từ đó có thể dùng các hàm vận
tốc để cho robot bám theo vạch trắng. Module
PWM có các nhiệm vụ nhƣ sau: Hỗ trợ các
thanh ghi lập trình, độ phân giải tối đa là 8
bit, tích hợp timer, hỗ trợ một ngõ ra điều chế.
Sơ đồ chân của PWM nhƣ sau.
Hình 3: Bộ chuyển đổi ADC 8 bit xây dựng trên
phần mềm Quartus II
Hình 4: Sơ đồ chân của bộ chuyển đổi ADC
Hình 5: Sơ đồ khối của module PWM như sau
Hệ thống bao gồm thanh ghi bộ đếm 8 bit,
luôn đếm lên, và hai thanh ghi tham chiếu
period và duty. Các thanh ghi này đƣợc ghi
vào bởi một master. Tại sƣờn lên bộ đếm,
duty match sẽ xảy ra trƣớc period match. Nếu
thanh ghi duty lớn hơn thanh ghi period thì
Bùi Tuấn Anh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 13 - 16
15
xem nhƣ ngõ ra xung điều chế không đổi. Khi
period match xảy ra, ngõ ra đƣợc đặt lên logic
1, đồng thời thanh ghi counter timer bị xóa.
Khi duty match xảy ra, ngõ ra bị xóa về logic
0 và thanh ghi counter timer tiếp tục đếm đến
period match. Để tránh hiện tƣợng max speed
của bộ điều chế ta cho ngõ ra bằng 0.
Hình 6: Bộ điều chế độ rộng xung ( PWM)
xây dựng trên phần mềm Quartus II
Cách bố trí cảm biến trên robot
Trong mạch này chúng tôi sử dụng 3 cặp thu
phát hồng ngoại dò đƣờng. Khi cặp thu phát ở
giữa chạm vạch trắng mức tín hiệu đƣa vào
kit FPGA tƣơng ứng là R=101. Khi cặp thu
phát bên trái chạm vạch trắng mức tín hiệu
đƣa vào kit FPGA là R=011. Tƣơng tự khi cặp
thu phát bên phải chạm vạch trắng thì tín hiệu
đƣa vào FPGA sẽ là R=110. Sau đây là sơ đồ
biểu diễn trạng thái hoạt động của robot.
Hình 7: Sơ đồ trạng thái hoạt động của robot
KẾT QUẢ ĐẠT ĐƢỢC
Chúng tôi sử dụng ngôn ngữ mô tả phần cứng
VHDL để xây dựng hệ điều khiển cho robot
tự hành trên kit FPGA DE2 của Altera và
thực hiện mô phỏng trên phần mềm Quartus
II. Robot hoạt động ổn định tuy nhiên sự nhạy
cảm với nhiễu còn tƣơng đối lớn. Trong các
nghiên cứu tiếp theo chúng tôi sẽ tâp trung
vào việc giảm ảnh hƣởng của nhiễu, tăng tính
ổn định của hệ thống để có thể áp dụng trong
thực tế.
Hình 8: Mô phỏng Bộ điều chế độ rộng xung
(PWM) xây dựng bằng ngôn ngữ VHDL
Hình 9: Mô phỏng bộ ADC xây dựng
bằng ngôn ngữ VHDL
Hình 10: Mô phỏng của robot tự hành
xây dựng bằng ngôn ngữ VHDL
Bùi Tuấn Anh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 116 (02): 13 - 16
16
Hình 11: Hình ảnh robot tự hành xây dựng
trên Board DE2 của ALTERA
TÀI LIỆU THAM KHẢO 1. Nguyễn Linh Giang, (2003)Thiết kế mạch bằng
máy tính. Nxb KH&KT, Hà Nội.
2. Chris Lo. (2006) “Dynamic Reconfiguration
Mechanism ForRobot Control Software”.
Department of Electricaland Computer
Engineering, University of Auckland, Auckland,
New Zealand.
3. K. Sridharan and P. Rajesh Kumar. (2009)
“Design and Development of an FPGA based
Robot”.
4. Volnie A.Pedroni. (2004) “Circuit Design with
VHDL”.MIT Press, Cambridge, Massachusetts,
London, England.
5. Prabhas Chongstitvatana. (1998) “A FPGA-
based Behavioral Control System for a Mobile
Robot”.IEEE Asia-Pacific Conference on Circuits
andSystems, Chiangmai, Thailand,
SUMMARY
USE FPGA TO INTEGRATE SYSTEM CONTROL FOR MOBILE ROBOT
Bui Tuan Anh*, Kim Đinh Thai
College of Information and Communication Technology - TNU
Autonomous robot or mobile robot , defined as a robotic vehicle capability of self-moving, self-
movement (programmable) under automatic control is able to complete assigned work. In theory,
the operating environment of the self-propelled robot may be ground, water, air, space or
combination between them. The surface of terrain on which the robot can move is flat or
changeable, convex and concave. This project has been studied deeply applications FPGA to
control for a Mobile Robot.
Keyword: Very High Speed Intergrated Circuit Hardware Description Language (VHDL), Field
Programmable Gate Array (FPGA), Very high speed Circuit Itergrated (VHSIC), mobile robot,
Pulse-width modulation (PWM)
Ngày nhận bài:25/01/2014; Ngày phản biện:10/02/2014; Ngày duyệt đăng: 26/02/2014
Phản biện khoa học: TS. Phạm Đức Long – Trường ĐH Công nghệ Thông tin & Truyền thông - ĐHTN
* Tel: 01692 478758, Email: btanh@ictu.edu.vn
top related