intTypePromotion=1

Sử dụng FPGA để xây dựng hệ điều khiển cho robot tự hành

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:4

0
55
lượt xem
11
download

Sử dụng FPGA để xây dựng hệ điều khiển cho robot tự hành

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Sử dụng FPGA để xây dựng hệ điều khiển cho robot tự hành

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2