Giới thiệu chung về robot: Robot hay người máy là một loại máy có thể thực hiện những công việc một cách tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình.
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ
Giáo viên hướng dẫn : Nguyễn Thiện Thành Sinh viên thực hiện :
Nguyễn Phước Lộc 40901457
Trang 2PHỤ LỤC
1 Giới thiệu chung về robot: 4
2 Tổng quan về các bài toán của robot di động 7
3 Bài toán di chuyển theo tường 8
PHỤ LỤC CODE
Trang 3Tóm tắt đề tài
Trong thời đại công nghiệp ngày nay, Robot ngày càng được sử dụng phổ biến trong sản xuất cũng như trong cuộc sống của con người Robot đã có một vị trí quan trọng khó có thể thay thế được, nó giúp con người để làm việc trong các điều kiện nguy hiểm, khó khăn Ngoài ra, Robot còn được dùng vào các lĩnh vực thám hiểm không gian, quân sự, giải trí…
Lĩnh vực Robot di động đang ngày càng chiếm được sự quan tâm của các nhà nghiên cứu và xã hội Từ tình hình thực tế đó, việc xây dựng các chương trình hoạt động cho các Robot là điều thiết yếu đặc biệt đối với các Robot di động Bài toán Robot di động bám tường (wall-following problem) là một trong các bài toán thường gặp của Robot kiểu phản xạ (reactive paradigm), nó đã được giải bằng nhiều cách khác nhau
Trong phạm vi đề tài này em sẽ tìm hiểu thuật toán và thi công Robot di chuyển theo mép tường (Wall Following Robot) dựa vào cảm biến siêu âm
Trang 4Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
CHƯƠNG 1: TỔNG QUAN VÀ ĐẶT VẤN ĐỀ
1 Giới thiệu chung về robot:
Robot hay người máy là một loại máy có thể thực hiện những công việc một
cách tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình
Robot là một tác nhân cơ khí, nhân tạo, ảo, thường là một hệ thống cơ khí-điện tử
Với sự xuất hiện và chuyển động của mình, robot gây cho người ta cảm giác rằng nó giác
quan giống như con người Từ "robot" (người máy) thường được hiểu với hai nghĩa:
robot cơ khí và phần mềm tự hoạt động Về lĩnh vực người máy Nhật Bản là nước đi đầu
thế giới về lĩnh vực này
Khái niệm Robot xuất hiện lần đầu tiên ở NewYork vào ngày 9/10/1922 trong vở
kịch “Rossum’s Universal Robot” của nhà soạn kịch người Tiệp Khắc là Karen Chapek,
còn từ Robot là một cách gọi khác của từ Robota-theo tiếng Tiệp có nghĩa là công việc
lao dịch Khi đó, Karen Chapek cho rằng Robot là những người máy có khả năng làm
việc nhưng không có khả năng suy nghĩ
Gần một thế kỷ tiếp theo, khái niệm robot đã liên tục được phát triển, đóng góp
thêm bởi nhiều nhà nghiên cứu, nhiều công ty chuyên về lĩnh vực robot
Trước những năm 1970, người ta chỉ tập trung vào việc phát triển những robot tay
máy hoạt động trong các nhà máy công nghiệp Sau đó mới xuất hiện những khái niệm về
robot thông minh, và các nghiên cứu bắt đầu tập trung hơn vào robot di động Một trong
những chuyên gia đầu ngành về robot di động là Hans P Moravec (bắt đầu nghiên cứu từ
năm 1964), và hiện nay, chuyên nghiên cứu về robot di động là Sebastien Thruns
Các robot di động có người điều khiển đã được dùng cho các mục đích quân sự,
các nhiệm vụ nguy hiểm như phá mìn, thăm dò đáy đại dương, hầm mỏ, kiểm tra các
đường ống ngầm, hay thăm dò sao Hoả…
Sản phẩm robot di động được sản xuất đại trà và đưa vào thị trường lần đầu tiên là
robot hút bụi Roomba và Trilobite của hãng Electrolux năm 2003
Trang 5Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
Một số hình ảnh về các Robot và ứng dụng của nó:
Robot tự hành Rover thám hiểm sao Hoả
Robot dò mìn
Trang 6Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
Robot thám hiểm đại dương
Robot cắt cỏ
Trang 7Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
2 Tổng quan về các bài toán 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ất công
nghiệp Những cánh tay robot có khả năng làm việc với tốc độ cao, chính xá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ệc trong 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áp cá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ự do tay 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ăng nhận biết
về môi trường xung quanh Robot tự hành ngày càng có nhiều ý nghĩa trong 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ành ngà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ển củ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 cho cá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
Vấn đề đầu tiên là "navigation" (tạm dịch là "di chuyển"), Robot tự hành nên di
chuyển như thế nào và cơ cấu di chuyển nào là sự lựa chọn tốt nhất Điều hướng là vấn
đề cơ bản trong nghiên cứu và chế tạo Robot tự hành Trong hiệp hội nghiên cứu về
Robot tự hành có 2 hướng nghiên cứu khác nhau:
- Hướng thứ nhất là nghiên cứu về Robot tự hành có khả năng điều hướng ở tốc độ
cao nhờ thông tin thu được từ cảm biến, đây là loại robot có khả năng hoạt động ở môi
trường trong phòng cũng như môi trường bên ngoài Loại robot này yêu cầu khả năng
tính toán đồ sộ và được trang bị cảm biến có độ nhạy cao, dải đo lớn để có thể điều khiển
robot di chuyển ở tốc độ cao, trong những môi trường có địa hình phức tạp
- Hướng thứ hai nhằm giải quyết các vấn đề về các loại robot tự hành chỉ dùng để
hoạt động trong môi trường trong phòng Loại robot tự hành này có kết cấu đơn giản hơn
loại trên, thực hiện những nhiệm vụ đơn giản
Trang 8Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
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
"navigation" Các bài toán đó gồm:
Mapping: là công việc lập bản đồ môi trường hoạt động của robot Nếu không được
cung cấp dữ liệu trước thì robot phải có khả năng lập bản đồ
Positioning: là 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
Path planning: là 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
Motion control: là việc điều khiển cho robot di động, tức là điều khiển các cơ cấu
để robot đi theo con đường thu được từ bài toán "path planning"
Obstacle avoidance: là nhiệm vụ tránh chướng ngại vật khi robot đang di chuyển
3 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, đi theo tường không biết
trước
Để thực hiện mục tiêu trên, trong đồ án này 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 (mobile platform)
- Thiết kế và thực hiện các mạch điều khiển cho robot
- 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
3.1 Giới thiệu bài toán
Thiết kế và thực hiện bộ điều khiển dùng để điều khiển Mobile Robot di chuyển dọc
theo tường với vận tốc và khoảng cách từ Robot đến tường cho trước
Giả thiết của bài toán:
- Đo được khoảng cách d từ tường đến Robot
- Đo được góc lệch giữa Robot và tường
Trang 9Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
3.2 Mô hình toán học
Mô hình robot di động bám tường được cho như hình
Mô hình toán học của Robot
Mô hình bánh xe được lý tưởng hóa: bánh xe hình tròn, lăn không trượt Bánh xe
quay quanh trục của nó (trục Y) và chuyển động theo phương X (trục X) Ta xây dựng
phương trình động học của robot, bao gồm mối quan hệ giữa thông số điều khiển và
thông số trạng thái của hệ thống trong không gian
Các trục x, y xác định tọa độ của điểm bất kỳ trong hệ tọa độ xOy Điểm P coi là
tâm dịch chuyển, dùng để xác định vị trí robot Hệ tọa độ x Py m m là hệ tọa độ tham chiếu
của robot Như vậy điểm P được xác định bởi x, y và góc lệch giữa hai hệ tọa độ toàn
R: khoảng cách từ tâm robot tới tâm vận tốc tức thời
ICC: tâm vận tốc tức thời
Trang 10Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
R-L/2: bán kính mô tả chuyển động cong của bánh trái
R+L/2: bán kính mô tả chuyển động cong của bánh phải
Vận tốc góc của robot:
( )( )
/ 2
r
v t t
R L
( )( )
/ 2
l
v t t
R L
( ) ( )( ) v t r v t l t
( ) ( )
v v
Trang 11Đồ án điều khiển tự động 1 Chương 1: Tổng quan và đặt vấn đề
3.3 Mục tiêu điều khiển
Yêu cầu của bài toán đặt ra là phải điều khiển sao cho Mobile Robot chạy song
song với tường theo một khoảng cách d cho trước Robot sẽ đo khoảng cách bằng cảm
biến siêu âm, từ các khoảng cách này nó sẽ tính toán bằng logic mờ để điều khiển vận tốc
hai bánh chủ động
3.4 Giải quyết bài toán
Để giải quyết bài toán này, trong phạm vi của đồ án 1, em thiết kế mô hình robot
gồm 2 bánh xe chủ động phía sau, 1 bánh xe phía trước chuyển động tự do, 2 cảm biến
siêu âm SRF05 để thu khoảng cách và tránh vật cản, mạch điều khiển được sử dụng ở đây
là MSP430 G2553, mạch nguồn acquy 12V
Trang 12Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
CHƯƠNG 2: GIỚI THIỆU VỀ CÁC PHẦN TỬ TRONG MẠCH
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ông thườ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úng tô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ính hoặc yêu cầu thay
đổi trong phạm vi tốc độ
2 Điều chế độ rộng xung
Đ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ành tín
hiệu sóng vuông (chỉ có hai cấp độ và khoảng 0 điện áp hoạt động volt) Tín hiệ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ào
trụ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ộng
xung, 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 13Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
3 Mạch cầu H
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ơ
Động cơ sẽ chạy chậm khi cấp xung PWM có độ rộng nhỏ
Nếu độ rộng xung lớn hơn (chẳng hạn như xung 2 và 3) động cơ DC chạy càng nhanh
Trang 14Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
Như hình ta thấy nếu ta bật S2,S4 thì dòng điện sẽ có chiều từ (+ sang -) sẽ làm motor
quay theo chiều thuận, motor sẽ quay theo chiều nghịch nếu ta bật S1,S3
Bảng dưới đây tóm tắt hoạt động, với S1-S4 tương ứng với sơ đồ ở trên:
High Side
Left
High Side Right
Lower Left
Lower Right Quadrant Description
Siêu âm là sóng cơ học có tần số lớn hơn tần số âm nghe thấy (trên 20kHz) Thính
Để điều khiển động cơ ta
điều khiển cùng lúc 2 công
tắc (FET) ở 2 phía ngược
nhau
Trang 15Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch Cảm biến siêu âm là thiết bị dùng để xác định vị trí của các vật thông qua phát sóng
siêu âm
Cảm biến siêu âm có thể phát hiện ra hầu hết các đối tượng là kim loại hoặc không
phải kim loại,chất lỏng hoặc chất rắn,vật trong hoặc mờ đục (những vật có hệ số phản xạ
sóng âm thanh đủ lớn)
Một số hình ảnh về cảm biến siêu âm:
Cảm biến siêu âm Endress Hauser-Ultrasonic Level Measurement
Cảm biến siêu âm Omron E4PA-LS600-M1-N Cảm biến siêu âm tiệm cận loại thu-phát
Trang 16Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
4.2 Cảm biến siêu âm và nguyên tắc TOF:
Sóng siêu âm được truyền đi trong không khí với vận tốc khoảng 343m/s Nếu một
cảm biến phát ra sóng siêu âm và thu về các sóng phản xạ đồng thời, đo được khoảng
thời gian từ lúc phát đi tới lúc thu về, thì máy tính có thể xác định được quãng đường mà
sóng đã di chuyển trong không gian Quãng đường di chuyển của sóng sẽ bằng 2 lần
khoảng cách từ cảm biến tới chướng ngoại vật, theo hướng phát của sóng siêu âm Hay
khoảng cách từ cảm biến tới chướng ngại vật sẽ được tính theo nguyên lý TOF:
Trong đó:
d là khoảng cách cần đo,
v là vận tốc sóng siêu âm trong môi trường truyền sóng,
t là thời gian từ lúc sóng được phát đi đến lúc sóng được ghi nhận lại
Ưu điểm và nhược điểm của cảm biến siêu âm:
Ưu điểm:
Khoảng cách mà cảm biến có thể phát hiện lên tới 15m
Sóng phản hồi của cảm biến không phụ thuộc vào màu sắc của bề mặt đối
tượng hay tính chất phản xạ ánh sáng của đối tượng
Ví dụ:bề mặt kính trong suốt ,bề mặt gốm màu nâu,bề mặt plastic màu trắng hay bề mặt chất liệu nhôm sáng trắng là như nhau
Tín hiệu đáp ứng của cảm biến tiệm cận analog là tỉ lệ tuyến tính với
khoảng cách.Điều này đặc biệt lí tưởng cho các ứng dụng như theo dỏi các
Trang 17Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
Nhược điểm:
Cảm biến siêu âm yêu cầu đối tượng có một diện tích bề mặt tối thiểu (giá
trị này tùy thuộc vào từng loại cảm biến)
Sóng phản hồi cảm biến nhận được có thể chịu ảnh hưởng của sóng âm
thanh tạp âm
Cảm biến tiệm cận siêu âm yêu cầu một khoảng thời gian sau mỗi lần sóng
phát đi để sẵn sàng nhận sóng phản hồi Kết quả cảm biến tiệm cận siêu âm nhìn chung chậm hơn các cảm biến khác
Với các đối tượng có mật độ vật chất thấp như bọt hay vảu quần áo rất khó
để phát hiện với khoảng cách lớn
Cảm biến tiệm cận siêu âm giới hạn bởi khoảng cách phát hiện nhỏ nhất
4.3 Cảm biến siêu âm SRF05
SRF05 là bản nâng cấp của SRF04, được thiết kế để tăng độ chính xác, phạm vi
hoạt động và giảm giá thành Như vậy, việc sử dụng SRF05 hoàn toàn tương tự SRF04
ngoài những cải tiến trên Phạm vi hoạt động được tăng từ 3m lên 4m
Có hai mode làm việc: mode 1 tương tự SRF04, cần 1 chân trigger và 1 chân echo;
mode 2 chỉ cần 1 chân cho cả trigger và echo Nhưng vậy tiết kiệm được số chân sử dụng
trên vi điều khiển, vi xử lý… SRF05 có thêm một khoảng thời gian trễ nhỏ trước khi trả
về xung echo để cho những bộ điều khiển có tốc độ xử lý chậm có thời gian để thực hiện
các lệnh
Mode 1 - Nhƣ SRF04 - Hai chân Trigger và Echo riêng
Ở mode này, SRF05 sử dụng hai chân riêng biệt: chân trigger và chân echo, là mode đơn
giản nhất Tất cả hoàn toàn giống như SRF04, chỉ cần không nối chân mode ( như hình
vẽ)
Trang 18Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
Mode 2 – Một chân cho cả Trigger và Echo
Mode này sử dụng một chân duy nhất cho cả hai tín hiệu trigger và echo, được thiết kế để
tiết kiệm chân sử dụng cho các bộ điều khiển nhúng Để sử dụng chế độ này, ta kết nối
chân Mode với mass Khi đó sau khi gửi tín hiệu trigger, thì tín hiệu echo sẽ xuất hiện
trên chân trigger trả về bộ điều khiển SRF05 sẽ không lập tức phản hồi tín hiệu echo
ngay sau khi nhận được tín hiệu trigger mà sau thời gian 700uS kể từ kết thúc tín hiệu
Trang 19Đồ án điều khiển tự động 1 Chương 2: Giới thiệu về các phần tử trong mạch
Tính toán khoảng cách:
Theo sơ đồ thời gian của SRF05 như trên, ta chỉ cần cung cấp một xung ngắn tối
thiểu 10uS làm tín hiệu trigger Sau đó cảm biến sẽ gửi một khối 8 chu kỳ sóng siêu âm
tại 40kHz và xuất xung echo Sau đó SRF05 đợi sóng siêu âm phản hồi sau khi gặp vật
cản, khi nhận được sóng phản hồi thì xung echo bị ngắt Như vậy, xung echo có chiều
rộng tỉ lệ thuận với khoảng cách tới vật cản Thời gian xung echo tồn tại có thể cho ta biết
được khoảng cách giữa cảm biến với vật Nếu trường hợp không phát hiện được vật cản,
hoặc vật cản ngoài tầm xác định của SRF05 (4m) thì sau 30ms xung echo cũng được đưa
về mức thấp SRF05 có thể được kích hoạt nhanh nhất mỗi 50ms (20 lần mỗi giây) Nên
chờ mỗi 50ms rồi thực hiện lần đo tiếp theo Điều này đảm bảo cho các nhiễu siêu âm