1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo đồ án môn học Robot tìm đường trong mê cung đơn giản

34 1,7K 19

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 741,21 KB

Nội dung

Đồ án báo cáo về kỹ thuật robot hoặc vi xử lý, đề tài Robot tìm đường trong mê cung đơn giản dành cho các bạn sinh viên cần tham khảo. Hướng dẫn về thuật toán bám tường cơ bản trong lập trình vi điều khiển

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN

Trang 2

TP HỒ CHÍ MINH, THÁNG 6/2016

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Giáo viên hướng dẫn: TS Trương Đình Nhơn

Họ và tên sinh viên: Hồ Đức Dũng MSSV: 13151015

Nguyễn Hữu Toàn MSSV: 13151102

Ngành: Công Nghệ Kỹ Thuật Điều Khiển và Tự Động Hóa

Tên đề tài: Thiết Kế và Điều Khiển Robot Dò Đường Trong Mê Cung

Nhận xét của giáo viên hướng dẫn:

-

TP.HCM, tháng 6 năm 2016

TS Trương Đình Nhơn

Trang 4

MỤC LỤC

MỞ ĐẦU……… 3

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT……… …5

1.1 Tổng quan về bài toán bám tường của robot di động……… 5

1.1.1 Bài toán di chuyển theo tường……… ….6

1.2 Giải Thuật PID……… 7

1.2.1 Sơ Đồ Khối Nguyên Lý Hoạt Động……… 7

1.2.2 Lý Thuyết Thuật Toán PID……….7

CHƯƠNG 2 GIỚI THIỆU CÁC PHẦN TỬ ROBOT……….…10

2.1 Động Cơ DC ……… 10

2.2 Mạch Cầu H……… … 10

2.3 Cảm biến hồng ngoại……… 12

2.4 Board mạch Arduino UNO R3……… 13

2.5 Thiết kế Robot……… 16

CHƯƠNG 3 THUẬT TOÁN ĐIỀU KHIỂN ……… …17

3.1 Điều Chế Độ Rộng Xung PWM……… ……… … …17

3.2 Giải Thuật PID……….… 20

3.2.1 Lưu Đồ Giải Thuật……… …… …20

3.2.2 Thuật Toán Bám Tường Trái……….… 21

3.2.3 Thuật Toán Bám Tường Phải……… … 22

3.4 Ứng Dụng……… … 22

KẾT LUẬN……… 23

TÀI LIỆU THAM KHẢO……… … 24

PHỤ LỤC……… …25

Trang 5

MỞ ĐẦU

Ngày nay điều khiển tự động đã trở thành một nhu cầu không thể thiếu đượccủa con người dưới sự xuất hiện của các học thuyết và các ứng dụng cụ thể trongđời sống hằng ngày, có thể nói điều khiển tự động đang chi phối dần cuộc sống củachúng ta con người đang cố gắng sáng tạo ra các con robot có khả năng làm việcthay cho con người Chúng ta thường bắt gặp các con robot trong các dây chuyềncông nghiệp sản xuất tự động hay robot giúp việc trong gia đình Để tìm ra các ýtưởng sáng tạo hay hàng năm đề diễn ra cuộc thi robocon châu á thái bình dương

đó là tiền đề để tạo ra những con robot có khả năng áp dụng vào thực tế

Robot di động là một thành phần có vai trò quan trọng trong ngành robothọc Cùng với sự phát triển mạnh mẽ của hệ thống tự động hóa, các mạch vi điềukhiển, robot tìm đường đã ngày càng hoàn thiện và cho thấy lượi ích to lớn trongcuộc sống Một vấn đề rất được quan tâm khi nghiên cứu về robot tìm đường là làmthế nào robot có thể di chuyển 1 cách ổn định, nhận biết được vị trí nó đang đứng

Trong phạm vi đề tài này em sẽ tìm hiểu thuật toán và thi công Robot dichuyển theo mép tường (Wall Following Robot) dựa vào cảm biến hồng ngoại vậncản

Trang 6

Nội dung của đề tài: bao gồm những chương sau:

Chương 1: Cơ sở lý thuyết

Nội dung của chương này là trình bày lý thuyết về các thuật toán tìm kiếmđường và lý thuyết giải thuật PID

Chương 2: Giới thiệu các phẩn tử của Robot

Chương này chủ yếu trình bày sơ lược về cấu trúc hoạt động của Board mạchArduino, cảm biến hồng ngoại, mạch cầu H và thiết kế về phần khung xe và phầnđiện cho mô hình robot di động

Chương 3: Thuật toán điều khiển

Chương này trình bày giải thuật tìm đường bám tường, ứng dụng PID đểđiểu khiển tốc độ động cơ

Kết luận và hướng phát triển của đề tài.

Chương này trình bày những kết quả đạt được, các mặt hạn chế và hướngphát triển của đề tài

Trang 7

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT

1.1 Tổng quan về bài toán bám tường của robot di động

Ngày nay, Robot học đã đạt được những thành tựu to lớn trong nền sản xuấtcông nghiệp Những cánh tay robot có khả năng làm việc với tốc độ cao, chínhxác và liên tục làm năng suất lao động tăng nhiều lần Chúng có thể làm việctrong các môi trường độc hại như hàn, phun sơn, các nhà máy hạt nhân, hay lắp rápcác linh kiện điện tử tạo ra điện thoại, máy tính…một công việc đòi hỏi sự tỉ mỉ,chính xác cao Tuy nhiên những robot này có một hạn chế chung đó là hạn chế vềkhông gian làm việc Không gian làm việc của chúng bị giới hạn bởi số bậc tự dotay máy và vị trí gắn chúng Ngược lại, các Robot tự hành lại có khả năng hoạtđộng một cách linh hoạt trong các môi trường khác nhau

Robot tự hành là loại mobile robot có khả năng tự hoạt động, thực thi nhiệm vụ

mà không cần sự can thiệp của con người Với những cảm biến, chúng có khả năngnhận biết về môi trường xung quanh Robot tự hành ngày càng có nhiều ý nghĩatrong các ngành công nghiệp, thương mại, y tế, các ứng dụng khoa học và phục vụđời sống của con người Với sự phát triển của ngành Robot học, robot tự hànhngày càng có khả năng hoạt động trong các môi trường khác nhau, tùy mỗi lĩnh vực

áp dụng mà chúng có nhiều loại khác nhau như robot sơn, robot hàn, robot cắt cỏ,robot thám hiểm đại dương, robot làm việc ngoài vũ trụ Cùng với sự phát triểncủa yêu cầu trong thực tế, robot tự hành tiếp tục đưa ra những thách thức mới chocác nhà nghiên cứu Vấn đề của robot tự hành là làm thế nào để robot tự hành cóthể hoạt động, nhận biết môi trường và thực thi các nhiệm vụ đề ra

Trang 8

Hiện tại vấn đề di chuyển là vấn đề trọng tâm của robot di động Để di chuyểnđược, robot phải thực hiện một loạt các tác vụ, mỗi tác vụ gắn với một bài toán nhỏtrong bài toán "dịch chuyển" Các bài toán đó gồm:

- Công việc lập bản đồ môi trường hoạt động của robot Nếu không được cungcấp dữ liệu trước thì robot phải có khả năng lập bản đồ

- Việc định vị, robot phải có khả năng biết được mình đang ở đâu trong bản đồtoàn cục hoặc địa phương

- Việc hoạch định đường đi sắp tới của robot, sau khi nó biết được bản đồ vàbiết mình đang ở vị trí nào

- Việc điều khiển cho robot di động, tức là điều khiển các cơ cấu để robot đitheo con đường thu được

- Nhiệm vụ tránh chướng ngại vật khi robot đang di chuyển

1.1.1 Bài toán di chuyển theo tường

Việc di chuyển theo tường (wall following) là một tác vụ thường thấy ởrobot di động, trong các môi trường biết trước hoặc không biết trước Tác vụ nàyđược dùng với các nhiệm vụ: tránh chướng ngại vật, đi theo tường biết trước, đitheo tường không biết trước

Để thực hiện mục tiêu trên, trong đồ án này bọn em tập trung vào các vấn đềsau:

- Nghiên cứu các bộ điều khiển cho robot bám tường

- Thiết kế và chế tạo một Mobile Robot

- Thiết kế và thực hiện các mạch điều khiển cho robot

Trang 9

- Lập trình cho robot để hiện thực các bộ điều khiển

- Nhận xét kết quả và kết luận

1.2 Giải Thuật PID

1.2.1 Sơ đồ khối nguyên lý hoạt dộng

1.2.2 Lý thuyết thuật toán PID

Một bộ điều khiển vi tích phân tỉ lệ (bộ điều khiển PID- Proportional IntegralDerivative) là một cơ chế phản hồi vòng điều khiển (bộ điều khiển) tổng quátđược sử dụng rộng rãi trong các hệ thống điều khiển công nghiệp – bộ điềukhiển PID là bộ điều khiển được sử dụng nhiều nhất trong các bộ điều khiểnphản hồi Bộ điều khiển PID sẽ tính toán giá trị "sai số" là hiệu số giữa giá trị

đo thông số biến đổi và giá trị đặt mong muốn Bộ điều khiển sẽ thực hiện giảmtối đa sai số bằng cách điều chỉnh giá trị điều khiển đầu vào Giải thuật tínhtoán bộ điều khiển PID bao gồm 3 thông số riêng biệt, do đó đôi khi nó cònđược gọi là điều khiển ba khâu: các giá trị tỉ lệ, tích phân và đạo hàm, viết tắt

là P, I, và D Giá trị tỉ lệ xác định tác động của sai số hiện tại, giá trị tích

Trang 10

phân xác định tác động của tổng các sai số quá khứ, và giá trị vi phân xác địnhtác động của tốc độ biến đổi sai số Tổng chập của ba tác động này dùng đểđiều chỉnh quá trình thông qua một phần tử điều khiển như vị trí của van điềukhiển hay bộ nguồn của phần tử gia nhiệt Nhờ vậy, những giá trị này có thểlàm sáng tỏ về quan hệ thời gian: P phụ thuộc vào sai số hiện tại, I phụ thuộcvào tích lũy các sai số quá khứ, và D dự đoán các sai số tương lai, dựa vào tốc

độ thay đổi hiện tại

Khâu tỉ lệ, tích phân, vi phân được cộng lại với nhau để tính toán đầu ra của bộ

điều khiển PID Định nghĩa rằng u(t) là đầu ra của bộ điều khiển, biểu thức

cuối cùng của giải thuật PID là:

trong đó các thông số

Độ lợi tỉ lệ, K p

giá trị càng lớn thì đáp ứng càng nhanh do đó sai số càng lớn, bù khâu tỉ lệcàng lớn Một giá gị độ lợi tỉ lệ quá lớn sẽ dấn đến quá trình mất ổn định vàdao động

Độ lợi tích phân, K i

giá trị càng lớn kéo theo sai số ổn định bị khử càng nhanh Đổi lại là độ vọt

lố càng lớn: bất kỳ sai số âm nào được tích phân trong suốt đáp ứng quá độphải được triệt tiêu tích phân bằng sai số dương trước khi tiến tới trạng thái

ổn định

Độ lợi vi phân, K d

Trang 11

giá trị càng lớn càng giảm độ vọt lố, nhưng lại làm chậm đáp ứng quá độ và

có thể dẫn đến mất ổn định do khuếch đại nhiễu tín hiệu trong phép vi phân sai số

CHƯƠNG 2 GIỚI THIỆU VỀ CÁC PHẦN TỬ TRONG ROBOT 2.1 Động cơ DC

DC động cơ là động cơ điện hoạt động với dòng một chiều Động cơ DC sửdụng rộng rãi trong các ứng dụng dân cư cũng như các ngành công nghiệp Thôngthường động cơ DC chỉ chạy ở một tốc độ khi kết nối với nguồn điện, nhưng chúngtôi vẫn có thể kiểm soát tốc độ và hướng của động cơ với sự hỗ trợ của các mạchđiện tử với phương pháp PWM

Động cơ DC trong các hình thức của động cơ dân sự thường hoạt động vớiđiện áp thấp, được sử dụng với tải trọng nhỏ Trong công nghiệp, động cơ DC được

sử dụng trong các lĩnh vực đòi hỏi phải có mô-men xoắn lớn hơn trên máy tínhhoặc yêu cầu thay đổi trong phạm vi tốc độ

Trang 12

2.2 Mạch cầu H dùng IC L298N

Cầu H là một mạch điện tử cho phép điện áp được đặt lên tải theo 2 hướng , mạch này thường được sử dụng để thay đổi điện áp trung bình cấp cho động cơ nhờvào xung PWM, ngoài ra cầu H còn được dùng để đảo chiều quay động cơ

Trang 13

- Động cơ quay theo chiều thuận.Ở phía A, transistor Q1 mở, Q3 đóng Ở phía B,transistor Q2 đóng, Q 4 mở Dó đó, dòng điện trong mạch có thể chạy từ nguồn12V đến Q1, qua động cơ đến Q4 để về GND

- Động cơ quay theo chiều ngược: Ở phía A, transistor Q1 đóng, Q3 mở Ở phía B,transistor Q2 mở, Q 4 đóng Dó đó, dòng điện trong mạch có thể chạy từ nguồn12V đến Q2, qua động cơ đến Q3 để về GND

Trang 14

2.3 Cảm biến hồng ngoại

Nguyên lý của cảm biến này như sau : mắt phát hồng ngoại sẽ phát ra sóng ánhsáng có bước sóng hồng ngoại , ở mắt thu bình thường thì có nội trở rất lớn(khoảng vài trăm kilo ôm ) , khi mắt thu bị tia hồng ngoại chiếu vào thì nội trở của

nó giảm xuống ( khoảng vài chục ôm) Lợi dụng nguyên lý này người ta chế tạo racác cảm biến IR Hình sau biểu diễn nguyên lý hoạt động của cảm biến phát hiện

vật cản IR:

Sơ đồ mạch cảm biến chống nhiễu

Trang 15

Hình ảnh cảm biến sau khi hoàn thành:

2.4 Board mạch Arduino UNO R3

Trang 16

Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

Điện áp vào khuyên dùng 7-12V DC

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30 mA

~ trước mã số của pin) Song song đó, ta có thêm 6 pin nhận tín hiệu analog được

đánh kí hiệu từ A0 - A5, 6 pin này cũng có thể sử dụng được như các pin ra / vào

Trang 17

bình thường (như pin 0 - 13) Ở các pin được đề cập, pin 13 là pin đặc biệt vì nối

trực tiếp với LED trạng thái trên board

Trên board còn có 1 nút reset, 1 ngõ kết nối với máy tính qua cổng USB và 1 ngõcấp nguồn sử dụng jack 2.1mm lấy năng lượng trực tiếp từ AC-DC adapter haythông qua ắc-quy nguồn

Khi làm việc với Arduino board, một số thuật ngữ sau cần được lưu ý:

 Flash Memory: bộ nhớ có thể ghi được, dữ liệu không bị mất ngay cả khi tắtđiện Về vai trò, ta có thể hình dung bộ nhớ này như ổ cứng để chứa dữ liệutrên board Chương trình được viết cho Arduino sẽ được lưu ở đây Kíchthước của vùng nhớ này thông thường dựa vào vi điều khiển được sử dụng,

ví dụ như ATmega8 có 8KB flash memory Loại bộ nhớ này có thể chịuđược khoảng 10,000 lần ghi / xoá

 RAM: tương tự như RAM của máy tính, sẽ bị mất dữ liệu khi ngắt điệnnhưng bù lại tốc độ đọc ghi xoá rất nhanh Kích thước nhỏ hơn FlashMemory nhiều lần

 EEPROM: một dạng bộ nhớ tương tự như Flash Memory nhưng có chu kìghi / xoá cao hơn - khoảng 100,000 lần và có kích thước rất nhỏ Để đọc /ghi dữ liệu ta có thể dùng thư viện EEPROM của Arduino

Trang 18

2.4 Thiết Kế Robot

Phần này giới thiệu sơ lược về phần cứng của robot tìm đường

Robot tìm đường được thiết kế như hình gồm các phần chính như sau:

- Khung xe bằng mica

- Bánh xe đa hướng

- Động cơ DC có hộp số dùng để truyền động cho 2 bánh xe

- Hệ thống cảm biến được chọn sử dụng trong mô hình này là cảm biến hồng ngoạivật cản

- Nguồn pin 12 VDC, kèm theo mạch giảm áp

- Bo mạch Arduino UNO

- Module L298N

Trang 19

CHƯƠNG 3 THUẬT TOÁN ĐIỀU KHIỂN

3.1 Điều chế độ rộng xung PWM

Điều khiển động cơ PWM phương pháp dựa trên nguyên tắc hoạt động cho động cơchạy bằng chuỗi xung nhanh chóng mở và đóng Điện DC được chuyển đổi thànhtín hiệu sóng vuông (chỉ có hai cấp độ và khoảng 0 điện áp hoạt động volt) Tínhiệu sóng vuông này cho động cơ

Nếu tần số chuyển đổi là đủ lớn động cơ sẽ chạy ở tốc độ ổn định phụ thuộc vàotrục mô-men xoắn

Với phương pháp PWM, điều chỉnh tốc độ động cơ thông qua điều chế độ rộngxung, tức là thời gian "xung đầy đủ" ("on") của chuỗi xung vuông cho động cơ.Điều chỉnh này sẽ ảnh hưởng đến công suất trung bình cho động cơ và do đó sẽthay đổi cần điều khiển tốc độ động cơ

Trang 20

Code Thay đổi xung PWM để thay đổi tốc dộ động cơ:

- Điều khiển 2 động cơ cùng một lúc:

Trang 22

52.MotorRunning();

53.delay(1000);

54.}

3.2 Giải thuật PID

3.2.1 Lưu đồ giải thuật

Trang 23

3.2.2 Thuật toán bám tường trái

Trang 24

int Rmax=250,Midwall=9, Rwall=15 ,basespeed;

Trang 25

- Đo được khoảng cách từ robot tới tường, từ đó xác định vị trí của Robot

- Luật điều khiển đơn giản nhưng khá hiệu quả

Hướng phát triển:

- Kết hợp công nghệ xử lí ảnh vẽ lại hình dạng đường đi của robot tự hành để

ứng dụng trong việc tìm đường đến các vị trí nguy hiểm trong thực tế

- Tùy thuộc vào các ứng dụng và đường đi mà áp dụng các thuật toán khácnhau để đem lại hiệu quả cao nhất

Trang 26

TÀI LIỆU THAM KHẢO

Ngày đăng: 12/06/2016, 20:21

TỪ KHÓA LIÊN QUAN

w