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

Nghiên cứu thuật toán điều khiển mô hình robot omni 4 bánh bám quỹ đạo cho trước

151 209 10

Đ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 151
Dung lượng 7,93 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐỒ ÁN TỐT NGHIỆP CHUYÊN NGÀNH CƠ ĐIỆN TỬ NGHIÊN CỨU THUẬT TOÁN ĐIỀU KHIỂN MÔ HÌNH ROBOT OMNI 4 BÁNH BÁM QUỸ ĐẠO CHO TRƯỚC Cán bộ hướng dẫn: Trung tá, TS. Nguyễn Anh Văn Trung tá, TS. Vũ Thế Trung Giáp 2 LỜI CẢM ƠN Trong quá trình hoàn thành đồ án tốt nghiệp này, chúng em đã nhận được sự giúp đỡ, định hướng, tận tình chỉ dẫn, góp ý, động viên chúng em của Thầy hướng dẫn: Trung tá, TS. Nguyễn Anh Văn và Trung tá, TS. Vũ Thế Trung Giáp. Chúng em xin bày tỏ lòng biết ơn sâu sắc và kính trọng tới hai Thầy. Chúng em xin được gửi lời cảm ơn trân trọng tới các quý thầy cô giáo khác trong bộ môn Robot đặc biệt và Cơ điện tử - Khoa Hàng không vũ trụ, Ban Lãnh đạo Học Viện Kỹ Thuật Quân Sự, đã quan tâm tạo điều kiện thuận lợi để trang bị cho chúng em kiến thức cơ bản trong quá trình học tập, nhiệt tình giúp đỡ chúng em trong suốt khóa học vừa qua. Do thời gian thực hiện cũng như mức độ rộng lớn của đề tài, nên dù đã cố gắng và thực hiện nghiêm túc nhưng phương án giải quyết bài toán của chúng em chắc chắn không thể tránh khỏi những thiếu sót. Chúng em xin cảm ơn các thầy trong hội đồng đã dành thời gian nhận xét, góp ý để đồ án của chúng em được hoàn thiện hơn. Xin chân thành cảm ơn! Hà Nội, Ngày 20 Tháng 4 Năm 2021 Sinh viên thực hiện MỤC LỤC LỜI CẢM ƠN 5 MỞ ĐẦU 9 A. Đặt vấn đề 9 B. Mục đích nghiên cứu. 9 C. Ý nghĩa nghiên cứu. 9 D. Nội dung nghiên cứu. 10 E. Phạm vi nghiên cứu. 10 CHƯƠNG 1: TỔNG QUAN 12 1.1. Tổng quan về robot tự hành 12 1.1.1. Giới thiệu sơ lược 12 1.1.2. Lịch sử phát triển 13 1.1.3. Các thành phần cơ bản của robot tự hành 17 1.1.4. Phân loại robot tự hành 18 1.1.4.1. Robot tự hành di chuyển bằng chân (Legged Robot) 18 1.1.4.2. Robot tự hành di chuyển bằng bánh 21 1.1.4.3. Robot bánh xích 27 1.1.4.4. Robot di chuyển dưới nước. 28 1.1.5. Ứng dụng của robot tự hành 29 1.1.6. Nhiệm vụ của robot tự hành 29 1.1.7. Cấu trúc của mobile robot 29 1.1.8. Dạng chuyển động của robot tự hành 30 1.2. Tổng quan về mạch nhúng Arduino 30 1.2.1. Tìm hiểu chung về Arduino 30 1.2.2. Phần mềm lập trình Arduino IDE 30 1.2.3. Mạch Arduino Mega 2560 R3. 36 1.3. Tổng quan về phần mềm LabVIEW 38 1.3.1. Tổng quan về phần mềm LabVIEW 38 1.3.2. Khả năng của phần mềm LabVIEW 40 1.4. Tìm hiểu tổng quan về xử lý ảnh trên phầm mềm LabVIEW 43 1.4.1. Giới thiệu về hệ thống xử lý ảnh 43 1.4.2. Những vấn đề cơ bản trong hệ thống xử lý ảnh 45 1.4.3. Thu nhận ảnh 47 1.4.4. Biểu diễn ảnh. 48 1.4.5. Không gian màu 48 1.5. Tổng quan về giải pháp dẫn đường và định vị cho robot 49 1.5.1. Giới thiệu chung 49 1.5.2. Một số giải pháp dẫn đường cho robot di động 52 1.6. Phân tích và đặt yêu cầu bài toán 55 CHƯƠNG 2: THIẾT KẾ MÔ HÌNH ROBOT 57 2.1. Phân tích yêu cầu thiết kế 57 2.1.1. Đặc điểm thiết kế robot omni 57 2.1.2. Lựa chọn vật liệu cho thân xe. 57 2.1.3. Lựa chọn bánh omni 59 2.1.4. Lựa chọn loại động cơ cho bánh xe dẫn động 60 2.1.5. Lựa chọn mạch điều khiển, driver động cơ. 61 2.1.6. Lựa chọn nguồn 66 2.2. Tính toán và lựa chọn mô hình động học 68 2.3. Tính chọn cơ cấu chấp hành 72 2.4. Thiết kế cơ khí 77 2.4.1. Phần khung robot 77 2.4.2. Mô hình hoàn thiện 81 CHƯƠNG 3: XÂY DỰNG GIẢI PHÁP BÁM ĐƯỜNG CHO ROBOT 82 3.1. Xây dựng quỹ đạo di chuyển của robot theo vạch đường. 82 3.2. Xây dựng giải pháp định vị cho robot 83 3.2.1. Thuật toán nhận dạng đối tượng 83 3.2.1.1. Giai đoạn 1: Biến đổi ảnh đầu vào 83 3.2.1.2. Giai đoạn 2: Tách biên 84 3.2.1.3. Xác định làn đường sử dụng một số kĩ thuật xử lý trên ảnh biên .. 88 3.2.2.Phương án thực hiện với LabView 88 3.2.2.1.Giới thiệu Toolkit LabVIEW Vision and Motion 88 3.2.2.1.Xây dựng chương trình với LabView 96 3.2.3. Lưu đồ thuật toán định vị cho robot 99 CHƯƠNG 4: TỔNG HỢP BỘ ĐIỀU KHIỂN 103 4.1. Tổng quan về bộ điều khiển PID 103 4.2. Cấu trúc của bộ điều khiển. 103 4.2.1. Cấu trúc bộ điều khiển. 103 4.2.2. Các phương pháp dò thông số 104 4.3. Thiết kế bộ điều khiển. 105 4.3.1. Mô hình hóa cơ hệ và động cơ. 105 4.3.2. Mô hình toán của mobile robot 109 4.3.3. Mô hình hàm truyền của hệ thống 110 4.4. Tổng hợp bộ điều khiển PID và mô phỏng bằng phần mềm MATLAB.111 4.5. Thiết kế chương trình điều khiển mobile robot 114 4.5.1. Toolkit LabVIEW MarkerHub LINX 114 4.5.2. Toolkit LabVIEW Interface For Arduino 118 4.5.3. Chương trình điều khiển của hệ thống 124 CHƯƠNG 5: CHẾ TẠO VÀ THỰC NGHIỆM ROBOT TỰ HÀNH 128 5.1. Lắp ráp và chế tạo robot tự hành 128 5.1.1. Gia công, chế tạo các chi tiết cơ khí 128 5.1.2. Kết nối mạch điện tử 130 5.2. Thực nghiệm khả năng bám đường của mô hình 133 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 134 TÀI LIỆU THAM KHẢO 136 A. Đặt vấn đề. MỞ ĐẦU Robot là một hệ thống cơ điện tử, bao gồm 3 bộ phận: bộ cảm biến, bộ điều khiển và bộ chấp hành. Robot di động có chương trình điều khiển được nạp sẵn và lưu trữ trong bộ nhớ để khi khởi động có thể hoạt động độc lập. Vấn đề chính về mobile robot là bài toán định hướng. Bài toán chung của dẫn đường robot là việc trả lời 3 câu hỏi: “robot đang ở đâu?”, “robot sẽ đi tới đâu?”, và “robot sẽ đi tới đó như thế nào?”. Robot phải có sẵn hoặc xây dựng trong bộ nhớ của nó một mô hình môi trường, phải nhận biết và phân tích, tự xác định vị trí của nó để lập trình và điều khiển đến đích. Hiện tại, robot di động được định hướng bằng các công nghệ xử lý ảnh, đường dẫn, la bàn điện tử, GPS, bluetooth, web server. Đồ án “Nghiên cứu thuật toán điều khiển mô hình robot omni 4 bánh bám quỹ đạo cho trước” trình bày ứng dụng xử lý ảnh và web server trong điều khiển robot di động. - Ứng dụng xử lý ảnh, nhận dạng line quỹ đạo cho trước để điều khiển robot tự hành bám quỹ đạo đó và tính toán sai số thực tế. - Ứng dụng web server điều khiển robot tự hành bằng tay thông qua điện thoại thông minh di chuyển theo các hướng cơ bản. B. Mục đích nghiên cứu. Đồ án tập trung vào nghiên cứu lý thuyết và thực nghiệm, tiến hành phương pháp sử dụng xử lý ảnh để nhận diện quỹ đạo và điều khiển robot tự hành bám quỹ đạo đó. Nắm được những yêu cầu cơ bản khi thiết kế điều khiển robot tự hành sử dụng phương pháp xử lý ảnh, kiểm nghiệm thuật toán, phân tích sai số. C. Ý nghĩa nghiên cứu. Ý nghĩa khoa học của đồ án là xây dựng phương pháp điều khiển cho robot tự hành ứng dụng xử lý ảnh để nhận dạng line quỹ đạo cho trước. Ý nghĩa thực tiễn là triển khai ứng dụng cho các mobile robot trong nhà kho để làm các việc vận chuyển, sắp xếp, hay ứng dụng cho các xe tự hành trong các khu vực sản xuất khác. D. Nội dung nghiên cứu. + Tìm hiểu về robot tự hành, mạch nhúng Arduino, phần mềm LabVIEW và xử lý ảnh trên phần mềm LabVIEW. Lựa chọn phương án thiết kế robot tự hành. Thiết kế, tính toán, tính chọn cơ cấu chấp hành, điều khiển động cơ bằng LabVIEW và Arduino. + Tìm hiểu và giải quyết bài toán nhận dạng và bám quỹ đạo. Xây dựng thuật toán điều khiển sử dụng bộ điều khiển PID, thiết kế bộ điều khiển, thiết kế giao diện điều khiển, chương trình điều khiển robot. + Tìm hiểu và giải quyết bài toán điều khiển bằng tay robot tự hành theo các hướng cơ bản ứng dụng web server trên điện thoại thông minh + Chế tạo và thực nghiệm mô hình, thực nghiệm thuật toán điều khiển trên mô hình thiết kế để robot có thể vận hành ngoài thực tế. Giải quyết bài toán truyền thông, giao tiếp giữa các phần của robot di động (sensor, máy tính, arduino, động cơ). E. Phạm vi nghiên cứu. + Dạng robot tự hành nghiên cứu là dạng bánh omni. + Đề tài được giới hạn trong việc thao tác với dạng đường line đơn giản. Địa hình di chuyển là mặt phẳng, không gồ ghề. Đồ án chia làm 5 chương với những nội dung chính như sau: Chương 1: Giới thiệu tổng quan về robot và Omni robot, các nghiên cứu đã được tiến hành trong và ngoài nước về Omni robot, mục đích để thực hiện đồ án. Chương 2: Tính toán động học về động lực học cho Omni robot để từ đó có thể xây dựng các chuyển động cơ bản cho robot trong phần tiếp theo. Chương 3: Từ đặc điểm điều khiển và động học của robot, tiến hành xây dựng quỹ đạo cho robot ứng với các trường hợp quỹ đạo thẳng, hình Parabol và quỹ đạo sine. Từ đó đưa ra được thuật toán điều khiển cụ thể cho robot. Chương 4: Tổ hợp bộ điều khiển cho robot Chương 5: Trình bày các ứng dụng mô phỏng trên Labview và một số kết quả thực nghiệm.

Trang 1

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA HÀNG KHÔNG VŨ TRỤ

BỘ MÔN ROBOT ĐẶC BIỆT VÀ CƠ ĐIỆN TỬ

KHÓA 15

HỆ ĐÀO TẠO KỸ SƯ DÂN SỰ

ĐỒ ÁN TỐT NGHIỆP

CHUYÊN NGÀNH CƠ ĐIỆN TỬ

NGHIÊN CỨU THUẬT TOÁN ĐIỀU KHIỂN MÔ HÌNH ROBOT OMNI

4 BÁNH BÁM QUỸ ĐẠO CHO TRƯỚC

HÀ NỘI 2021

Trang 2

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA HÀNG KHÔNG VŨ TRỤ

BỘ MÔN ROBOT ĐẶC BIỆT VÀ CƠ ĐIỆN TỬ

4 BÁNH BÁM QUỸ ĐẠO CHO TRƯỚC

Cán bộ hướng dẫn: Trung tá, TS Nguyễn Anh Văn

Trung tá, TS Vũ Thế Trung Giáp

2

Trang 5

LỜI CẢM ƠN

Trong quá trình hoàn thành đồ án tốt nghiệp này, chúng em đã nhận được

sự giúp đỡ, định hướng, tận tình chỉ dẫn, góp ý, động viên chúng em của Thầyhướng dẫn: Trung tá, TS Nguyễn Anh Văn và Trung tá, TS Vũ Thế TrungGiáp Chúng em xin bày tỏ lòng biết ơn sâu sắc và kính trọng tới hai Thầy

Chúng em xin được gửi lời cảm ơn trân trọng tới các quý thầy cô giáokhác trong bộ môn Robot đặc biệt và Cơ điện tử - Khoa Hàng không vũ trụ, BanLãnh đạo Học Viện Kỹ Thuật Quân Sự, đã quan tâm tạo điều kiện thuận lợi đểtrang bị cho chúng em kiến thức cơ bản trong quá trình học tập, nhiệt tình giúp

đỡ chúng em trong suốt khóa học vừa qua

Do thời gian thực hiện cũng như mức độ rộng lớn của đề tài, nên dù đã cốgắng và thực hiện nghiêm túc nhưng phương án giải quyết bài toán của chúng

em chắc chắn không thể tránh khỏi những thiếu sót Chúng em xin cảm ơn cácthầy trong hội đồng đã dành thời gian nhận xét, góp ý để đồ án của chúng emđược hoàn thiện hơn

Xin chân thành cảm ơn!

Hà Nội, Ngày 20 Tháng 4 Năm 2021

Sinh viên thực hiện

Trang 6

MỤC LỤC

LỜI CẢM ƠN 5

MỞ ĐẦU 9

A Đặt vấn đề 9

B Mục đích nghiên cứu 9

C Ý nghĩa nghiên cứu 9

D Nội dung nghiên cứu 10

E Phạm vi nghiên cứu 10

CHƯƠNG 1: TỔNG QUAN 12

1.1 Tổng quan về robot tự hành 12

1.1.1 Giới thiệu sơ lược 12

1.1.2 Lịch sử phát triển 13

1.1.3 Các thành phần cơ bản của robot tự hành 17

1.1.4 Phân loại robot tự hành 18

1.1.4.1 Robot tự hành di chuyển bằng chân (Legged Robot) 18

1.1.4.2 Robot tự hành di chuyển bằng bánh 21

1.1.4.3 Robot bánh xích 27

1.1.4.4 Robot di chuyển dưới nước 28

1.1.5 Ứng dụng của robot tự hành 29

1.1.6 Nhiệm vụ của robot tự hành 29

1.1.7 Cấu trúc của mobile robot 29

1.1.8 Dạng chuyển động của robot tự hành 30

1.2 Tổng quan về mạch nhúng Arduino 30

1.2.1 Tìm hiểu chung về Arduino 30

1.2.2 Phần mềm lập trình Arduino IDE 30

1.2.3 Mạch Arduino Mega 2560 R3 36

1.3 Tổng quan về phần mềm LabVIEW 38

1.3.1 Tổng quan về phần mềm LabVIEW 38

1.3.2 Khả năng của phần mềm LabVIEW 40

Trang 7

1.4 Tìm hiểu tổng quan về xử lý ảnh trên phầm mềm LabVIEW 43

1.4.1.Giới thiệu về hệ thống xử lý ảnh 43

1.4.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh 45

1.4.3.Thu nhận ảnh 47

1.4.4.Biểu diễn ảnh 48

1.4.5.Không gian màu 48

1.5 Tổng quan về giải pháp dẫn đường và định vị cho robot 49

1.5.1 Giới thiệu chung 49

1.5.2 Một số giải pháp dẫn đường cho robot di động 52

1.6 Phân tích và đặt yêu cầu bài toán 55

CHƯƠNG 2: THIẾT KẾ MÔ HÌNH ROBOT 57

2.1 Phân tích yêu cầu thiết kế 57

2.1.1 Đặc điểm thiết kế robot omni 57

2.1.2 Lựa chọn vật liệu cho thân xe 57

2.1.3 Lựa chọn bánh omni 59

2.1.4 Lựa chọn loại động cơ cho bánh xe dẫn động 60

2.1.5 Lựa chọn mạch điều khiển, driver động cơ 61

2.1.6 Lựa chọn nguồn 66

2.2 Tính toán và lựa chọn mô hình động học 68

2.3 Tính chọn cơ cấu chấp hành 72

2.4 Thiết kế cơ khí 77

2.4.1 Phần khung robot 77

2.4.2 Mô hình hoàn thiện 81

CHƯƠNG 3: XÂY DỰNG GIẢI PHÁP BÁM ĐƯỜNG CHO ROBOT 82

3.1 Xây dựng quỹ đạo di chuyển của robot theo vạch đường 82

3.2 Xây dựng giải pháp định vị cho robot 83

3.2.1 Thuật toán nhận dạng đối tượng 83

3.2.1.1 Giai đoạn 1: Biến đổi ảnh đầu vào 83

3.2.1.2 Giai đoạn 2: Tách biên 84

Trang 8

3.2.1.3 Xác định làn đường sử dụng một số kĩ thuật xử lý trên ảnh biên

88 3.2.2.Phương án thực hiện với LabView 88

3.2.2.1.Giới thiệu Toolkit LabVIEW Vision and Motion 88

3.2.2.1.Xây dựng chương trình với LabView 96

3.2.3 Lưu đồ thuật toán định vị cho robot 99

CHƯƠNG 4: TỔNG HỢP BỘ ĐIỀU KHIỂN 103

4.1 Tổng quan về bộ điều khiển PID 103

4.2 Cấu trúc của bộ điều khiển 103

4.2.1 Cấu trúc bộ điều khiển 103

4.2.2 Các phương pháp dò thông số 104

4.3 Thiết kế bộ điều khiển 105

4.3.1 Mô hình hóa cơ hệ và động cơ 105

4.3.2 Mô hình toán của mobile robot 109

4.3.3 Mô hình hàm truyền của hệ thống 110

4.4 Tổng hợp bộ điều khiển PID và mô phỏng bằng phần mềm MATLAB.111 4.5 Thiết kế chương trình điều khiển mobile robot 114

4.5.1 Toolkit LabVIEW MarkerHub LINX 114

4.5.2 Toolkit LabVIEW Interface For Arduino 118

4.5.3 Chương trình điều khiển của hệ thống 124

CHƯƠNG 5: CHẾ TẠO VÀ THỰC NGHIỆM ROBOT TỰ HÀNH 128

5.1 Lắp ráp và chế tạo robot tự hành 128

5.1.1 Gia công, chế tạo các chi tiết cơ khí 128

5.1.2 Kết nối mạch điện tử 130

5.2 Thực nghiệm khả năng bám đường của mô hình 133

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 134

TÀI LIỆU THAM KHẢO 136

Trang 9

Robot là một hệ thống cơ điện tử, bao gồm 3 bộ phận: bộ cảm biến, bộ điềukhiển và bộ chấp hành Robot di động có chương trình điều khiển được nạp sẵn

và lưu trữ trong bộ nhớ để khi khởi động có thể hoạt động độc lập Vấn đề chính

về mobile robot là bài toán định hướng Bài toán chung của dẫn đường robot làviệc trả lời 3 câu hỏi: “robot đang ở đâu?”, “robot sẽ đi tới đâu?”, và “robot sẽ đitới đó như thế nào?” Robot phải có sẵn hoặc xây dựng trong bộ nhớ của nó một

mô hình môi trường, phải nhận biết và phân tích, tự xác định vị trí của nó để lậptrình và điều khiển đến đích Hiện tại, robot di động được định hướng bằng cáccông nghệ xử lý ảnh, đường dẫn, la bàn điện tử, GPS, bluetooth, web server

Đồ án “Nghiên cứu thuật toán điều khiển mô hình robot omni 4 bánh bám quỹ đạo cho trước” trình bày ứng dụng xử lý ảnh và web server trong

điều khiển robot di động

- Ứng dụng xử lý ảnh, nhận dạng line quỹ đạo cho trước để điều khiểnrobot tự hành bám quỹ đạo đó và tính toán sai số thực tế

- Ứng dụng web server điều khiển robot tự hành bằng tay thông qua điệnthoại thông minh di chuyển theo các hướng cơ bản

B Mục đích nghiên cứu.

Đồ án tập trung vào nghiên cứu lý thuyết và thực nghiệm, tiến hànhphương pháp sử dụng xử lý ảnh để nhận diện quỹ đạo và điều khiển robot tựhành bám quỹ đạo đó Nắm được những yêu cầu cơ bản khi thiết kế điều khiểnrobot tự hành sử dụng phương pháp xử lý ảnh, kiểm nghiệm thuật toán, phântích sai số

C Ý nghĩa nghiên cứu.

Ý nghĩa khoa học của đồ án là xây dựng phương pháp điều khiển cho robot

tự hành ứng dụng xử lý ảnh để nhận dạng line quỹ đạo cho trước Ý nghĩa thựctiễn là triển khai ứng dụng cho các mobile robot trong nhà kho để làm các việc

Trang 10

vận chuyển, sắp xếp, hay ứng dụng cho các xe tự hành trong các khu vực sảnxuất khác.

D Nội dung nghiên cứu.

+ Tìm hiểu về robot tự hành, mạch nhúng Arduino, phần mềm LabVIEW

và xử lý ảnh trên phần mềm LabVIEW Lựa chọn phương án thiết kế robot tựhành Thiết kế, tính toán, tính chọn cơ cấu chấp hành, điều khiển động cơ bằngLabVIEW và Arduino

+ Tìm hiểu và giải quyết bài toán nhận dạng và bám quỹ đạo Xây dựngthuật toán điều khiển sử dụng bộ điều khiển PID, thiết kế bộ điều khiển, thiết kếgiao diện điều khiển, chương trình điều khiển robot

+ Tìm hiểu và giải quyết bài toán điều khiển bằng tay robot tự hành theocác hướng cơ bản ứng dụng web server trên điện thoại thông minh

+ Chế tạo và thực nghiệm mô hình, thực nghiệm thuật toán điều khiển trên

mô hình thiết kế để robot có thể vận hành ngoài thực tế Giải quyết bài toántruyền thông, giao tiếp giữa các phần của robot di động (sensor, máy tính,arduino, động cơ)

E Phạm vi nghiên cứu.

+ Dạng robot tự hành nghiên cứu là dạng bánh omni

+ Đề tài được giới hạn trong việc thao tác với dạng đường line đơn giản.Địa hình di chuyển là mặt phẳng, không gồ ghề

Đồ án chia làm 5 chương với những nội dung chính như sau:

Chương 1: Giới thiệu tổng quan về robot và Omni robot, các nghiên cứu

đã được tiến hành trong và ngoài nước về Omni robot, mục đích để thực hiện đồán

Chương 2: Tính toán động học về động lực học cho Omni robot để từ đó

có thể xây dựng các chuyển động cơ bản cho robot trong phần tiếp theo

Trang 11

Chương 3: Từ đặc điểm điều khiển và động học của robot, tiến hành xây

dựng quỹ đạo cho robot ứng với các trường hợp quỹ đạo thẳng, hình Parabol vàquỹ đạo sine Từ đó đưa ra được thuật toán điều khiển cụ thể cho robot

Chương 4: Tổ hợp bộ điều khiển cho robot

Chương 5: Trình bày các ứng dụng mô phỏng trên Labview và một số kết

quả thực nghiệm

Trang 12

CHƯƠNG 1: TỔNG QUAN1.1 Tổng quan về robot tự hành

1.1.1 Giới thiệu sơ lược

Ngày nay, Robot đã đạ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 điều kiện môi trường độc hại như hàn , phun sơn, các nhà máy hạtnhân, hay lắp ráo các linh kiện điện tử tạo ra điện thoại, máy tính… một côngviệ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ácnhau

Robot tự hành là loại Mobile robot có khả năng tự hoạt động thực thinhiệ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 khoahọc và phục vụ đời sống của con người Vấn đề đầu tiên 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 Tronghiệ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ănghoạt động ở môi trường trong phòng cũng như môi trường bên ngoài Loại robotnày yêu cầu khả năng tính toán đồ sộ và được trong bị cảm biết 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ôitrường có địa hình phức tạp

Trang 13

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 này có kết cấu đơn giảnhơn loại trên, thực hiện nhiệm vụ đơn giản.

Trang 14

Bài toán dẫn hướng cho robot tự hành được chia làm 2 loại: bài toán cục(global) và bài toán cục bộ (locad) Ở bài toán cục, môi trường làm việc củarobot hoàn toàn xác định, đường đi và vật cản là biết trước Ở bài toán cục bộ,môi trường hoạt động của robot là chưa biết trước hoặc chỉ biết một phần, cáccảm biến và thiết bị định vị cho phép robot xác định được vật cản, vị trí của nótrong môi trường giúp nó đi tới được mục tiêu.

Các vấn đề gặp phải khi điều hướng cho robot tự hành thường không giốngnhư các loại robot khác Để có thể điều hương cho robot tự hành, quyết địnhtheo thời gian thực phải dựa vào thông tin liên tục về môi trường thông qua cảmbiến, hoặc ở môi trường trong phòng hoặc ngoài trời, đây là điểm khác biệt lơnnhất so với kỹ thuật lập kế hoạch ngoại tuyến Robot tự hành phải có khả năng

tự quyết định về phương thức điều hướng, định hướng chuyển động để có thể tớiđích thực hiện nhiệm vụ nhất định

Điều hướng cho robot tự hành là công việc đòi hỏi phải thực hiện một sốkhả năng khác nhau, bao gồm khả năng di chuyển ở mức cơ bản ví dụ như hoạtđộng đi tới các vị trí cho trước khả năng phản úng các sự kiện theo thời gianthực, ví dụ như khi có sự xuất hiện đột ngột của vật cản, khả năng xây dựng, sửdụng và duy trì bản đồ môi trường hoạt động, khả năng xác định vị trí của robottrong bản đồ đó, khả năng thiết lập kế hoạch để đi tới đích hoặc tránh các tìnhhuống không mong muốn và khả năng thích nghi với các thay đổi của môitrường hoạt động

1.1.2 Lịch sử phát triển

Hình dạng robot xuất hiện đầu tiên ở nước Hoa Kỳ, là loại tay máy chéphình trong phòng thí nghiệm vật liệu phóng xạ vào những 50 của thế kỷ trước,bên cạnh các loại tay máy chép hình cơ khí, các loại tay máy chép hình thủy lựcđiện tử đã xuất hiện Tuy nhiên, các tay máy thương mại đều có chung nhượcđiểm là thiếu sự di động, các tay máy này được hoạt động hạn chế quanh vị trícủa nó Ngược lại, Mobile robot là lại robot di động có thể di chuyển từ không

Trang 15

gian này đến không gian khác một cách độc lập hay được điều khiển từ xa do đótạo không gian hoạt động lớn.

Từ năm 1939 đến năm 1945: Trong cuộc chiến thế giới lần thứ 2 , nhữngcon Robot di động đầu tiên xuất hiện Nó là kết quả của những thành tựu côngnghệ trong lĩnh vực nghiên cứu mới có liên quan như khoa học máy tính và điềukhiển học hầu hết chúng là những qua bom bay, ví dụ như những quả bom chỉ

nổ trong những dãy mục tiêu nhất định, sử dụng trong hệ thống hướng dẫn và

rada điều khiển Tên lửa V1 và V2 có “phi công tự động” và hệ thống phát nổ,

chúng là tiền thân của đầu đạn hạt nhân tự điều khiển hiện đại

Từ năm 1948 đến 1961: W.Gray Walter tạo nên Elmer và Elsie, hai conrobot trong giống con đồi mồi Về mặt hành chính, chúng được gọi là MachinaSpeculatrix bởi vì nhưng con robot này được hoạt động trong môi trường nhưnhững chú chim đồi mồi Elmer và Elsie được trang bị một số cảm biến sáng.Nếu chúng nhận ra một nguồn sáng, chúng sẽ di chuyển về phía nguồn sáng.Chúng có thể tránh hoặc chuyển những chướng ngại trên đường di chuyển.Những con robot này chứng minh rằng những cử chỉ phức tạp có thể phát sinh

từ một thiết kế đơn giản Elmer và Elsie chỉ được thiết kế tương đương hai tếbào thần kinh

Từ năm 1961 đến 1963: trường đại học Johns hopkins phát triển “beast”.

Beast sử dụng hệ thống định vị di chuyển xung quanh Khi pin yếu nó sẽ tự tìm

ổ cắm điện và cắm vào

Năm 1969: Mowbot là con robot đầu tiên cắt cả bãi cỏ một cách tự động.The stanford cart line follower là một con robot di động có thể di chuyển thôngqua nhận dạng đường kẻ trắng, sử dụng một camera để nhìn Nó bao gồm một

“kênh truyền thanh” gắn với hệ thống máy tính lớn để tạo ra những tính toán.

Năm 1970: cùng thời điểm 1962-1972, viện nghiên cứu Stanford đang xâydụng và nghiên cứu ra shakey Shakey có một camera, một dãy kính ngắm, một

bộ cảm biến và một bộ truyền thanh Shakey là con Robot đầu tiên lý giải vềnhững chuyển động của nó Điều này có nghĩa là Shakey có thể đưa nhiều mệnh

Trang 16

lệnh chung và Robot này sẽ tính toán những bước cần thiết đẻ hoàn thiện nhiệm

vụ được giao

Năm 1976: trong chương trình Vikiry tổ chức NASA đã phóng hai tàu vũtrụ không người lái vào sao hỏa

Ngăm 1977: Bộ phim “Chiến tranh giữa các vì sao” phần I, A new Hope

mô tả R2D2, một con Robot di động hoạt động đọc lập và C3P0, một con Robothình người Họ đã khiến công chúng biết đến những con Robot

Năm 1980: thị hiếu của người tiêu dùng về robot tăng, robot được bày bán

và mua về sử dụng trong nhà Ví dụng RB5X vẫn tồn tại tới ngày nay và mộtloạt mẫu robot HERO Robot The Stanford Cart được phát triển mạnh, nó đã cóthể lái tàu biển vượt qua những trở ngại và tạo lên bản đồ những nơi nó đi qua.Năm 1989: Mark Tinden phát minh ra BEAM robotics

Năm 1990: Cha đẻ của nền robot công nghiệp Joseph Engelberger làm việcvới các đồng nghiệp và đã phát minh ra những con robot tự động trong ngành y

tế và được bán bởi Heplmate Sở an ninh Mỹ gây quỹ cho dự án MDARS-I đượcdựa vào robot bảo vệ trong nhà Cybermotion

Năm 1993-1994: Dante-I và Dante-II được phát triển bởi trường đại họcCarnegie Mellon, cả hai con Robot dung để thám hiểm núi lửa đang hoạt động.Năm 1995: Robot di động có thể lập trình Pioneer (người tiên phong) đượcbán sẵn ở một mức giá chấp nhận được, điều đó dẫn tới sự gia tăng rộng rãi vềnghiên cứu robot và các trường đại học nghiên cứu về robot trong suốt các thậpniên sau Robot di động được trở thành một phần không thể thiếu trong chươngtrình giảng dạy của các trường đại học

Năm 1996 đến 1997: NASA phóng con tàu Mars pathfinder có 2 robotrover và Sojourner lên sao hỏa The Rover thám hiểm bể mặt sao hỏa được điềukhiển từ mặt đất Sojourner được trang bị với một hệ thống tránh rủi ro ca Hệthống này làm cho Sojourner có thể tìm thấy đường đi của nó một cách động lậptrên địa hình của sao Hỏa

Trang 17

Năm 1999: Sony giới thiệu Aibo, một con robot có khả năng đi lại, quansát và tác động qua lại tới môi trường robot điều khiển từ xa dùng cho quân sựPackbot cũng được giới thiệu.

Năm 2001: dự án Swaim-bots,Swaim-bots giống những bầy côn trùng đượckhởi động Chúng tạo ra một lượng lớn các con Robot đơn lẻ, có thể tác độnglẫn nhau và cùng nhau thực hiện những nhiệm vụ phức tạp

Năm 2002: Roomaba, một con robot di động dung trong gia đình, thực hiệncông việc lau nhà xuất hiện Tiếp tục phát triển hiện nay có rất nhiều loại Robotphục vụ cho con người dần xuất hiện ngày càng thân thiện hơn

Năm 2004: Robosapien, một con rôbốt đồ chơi, thiết kế bởi Mark Tildenđược bán sẵn Trong dự án “The Centibots Project” 100 con Robot cùng làmviệc với nhau để tạo lên một bản đồ cho một vùng không xác định và tìm nhữngvật thể trong môi trường đó Trong cuộc thi đầu tiên DARPA Grand Challenge,các con Robot tự động đã cùng nhau tranh tài cùng nhau trên sa mạc

Năm 2006: Sony dừng việc sản xuất Aibo và Helpmate PatrolBot trở lênphổ biến khi các Robot di động vẫn tiếp tục cạnh tranh nhau để trở thành mặthàng độc quyền Sở an ninh Mỹ đã bỏ dự án MDARS-I, nhưng lại gây quỹ cho

dự án MDARS-E một loại Robot an ninh tự động khác TALON-Sword, mộtloạiRobot tự động dùng để bán sẵn với dàn phóng lựu đạn và những sự lựa chọn

về vũ khí hợp thành khác đã ra đời Asimo của Honda biết cách chạy và leo cầuthang chỉ với hai chân như con người

Năm 2007: Hệ thống KiVa, Robot thông minh tăng nhanh về số lượngtrong quy trình phân phối, những Robot thông minh này được phân loại theomức độ phổ biến những nội dung của chúng Robot Tug trở thành phương tiệnphổ biến trong các bệnh viện dùng để vận chuyển đồ trong kho từ nơi này sangnơi khác

ARCSinside Speci-Minder mang máu và các vật mẫu từ trạm y tá tớiphòng xét nghiệm Seekur, Robot dịch vụ dùng ngoài trời với mục đích phi quân

sự có thể kéo một xe qua một bãi đậu xe, lái một cách độc lập (tự động) vào

Trang 18

trong nhà và bắt đầu học cách lái ra ngoài Trong khi đó, PatrolBot học cáchtheo sau con người và nếu cửa mà mở thì đóng lại.

1.1.3 Các thành phần cơ bản của robot tự hành

Robot tự hành được thiết kế dựa trên những mục đích khác nhau, từ đó mỗicấu hình lại có mỗi đặc điểm khác nhau nhưng có thể phân loại các thành phần

cơ bản của robot như sau: tính năng cảm biến hệ thống điều khiển, giao diệnđiều khiển, truyền thông và các tính năng tích hợp hệ thống

Hình 1.1: Mối liên hệ giữa các bài toán nghiên cứu mobile.

Mối liên hệ giữa các bài toán nghiên cứu mobile

Tính năng: Dựa trên mục đích thiết kế của nó để phù hợp với nhiệm vụ của

robot

Từ đó mà mỗi loại sẽ có những đặc trưng khác nhau như phần động lực,cảm biến, các hình thức di chuyển phổ biến…

Cảm biến: Cảm biến của robot tự hành có mục đích điều hướng, xác định

trạng thái của chính nó quan sát, phân tích môi trường xung quanh Bộ cảm biến

có thể bao gồm la bàn, đo khoảng cách, máy đo độ nghiêng, kính ngắm, camera

đa chiều , máy dò laze, hồng ngoại…

Hệ thống điều khiển: Các loại xe cơ giới không người lái thường được điều

khiển từ xa và hoạt động độc lập, nhưng cũng có những trường hợp bộ phận

Trang 19

điều khiển giám sát cũng được sử dụng trong những tình huống có sự kết hợpcủa việc ra quyết định từ những hệ thống bên trong robot tự hành và người điềukhiển.

Giao diện điều khiển: Robot tự hành hoạt động từ xa được điều khiển bởi

người điều khiển thông qua dao diện Tất cả các hoạt động cảu robot được giámsát bởi người vận hành dựa trên quan sát trực tiếp hoặ sử dụng các cảm biến,camera…

Truyền thông: Việc truyền thông tin giữa robot và trạm điều khiển có thể

được thực hiện thông qua vô tuyến hoặc cáp quang Hoặc có thể truyền thôngvới các robot khác khi tham gia vào các hoạt động trong cùng một nhiệm vụ

Tích hợp hệ thống: Việc tích hợp tưng tác giữa phần cứng và phần mềm

ngày càng một tiến bộ mang tính kế thừa được coi như sự thành công của robot

tự hành Từ những đặc điểm trên đã tạo nên những tính năng rất đặc trưng cho

nó Sử dụng các cảm biến để xác định các tham số môi trường đang làm việc sau

đó sử dụng các thuật toán điều khiển để thực hiện các nhiệm vụ do con ngườiđặt ra

Thiết kế quỹ đạo là một bài toán quan trọng, bộ điều khiển cần tìm ra mộtquỹ đạo tối ưu để mobile robot đi từ điểm xuất phát đến điểm đích Hơn nữa, khimột robot chạy theo các quỹ đạo đã được xây dựng từ trước thì việc tìm kiếmquỹ đạo phù hợp nhất cũng ảnh hưởng tới tính hiệu quả và chi phí năng lượngcủa nó, đặc biệt là các xe nông nghiệp

1.1.4 Phân loại robot tự hành

1.1.4.1 Robot tự hành di chuyển bằng chân (Legged Robot)

Với robot có bánh xe thì tất cả các bánh phải tiếp xúc với đất ở mọi thờiđiểm Ngược lại, robot có chân luôn có một số lượng chân tiếp xúc với đất ở bất

cứ thời điểm nào và có thể tất cả các chân hoàn toàn không tiếp xúc với đất tùyvào cách chuyển động Các robot có chân được thiết kế mô phỏng sinh học từmột chân, hai chân mô phỏng người, bốn chân, sáu chân, tám chân Với kiểu bề

Trang 20

mặt di chuyển gồ ghề và có nhiều chướng ngại vật, robot có chân sẽ có ưu điểmhơn robot có bánh.

Ưu điểm lớn nhất của loại robot này là có thể thích nghi và di chuyển trêncác địa hình gồ ghề Hơn nữa chúng còn có thể đi qua những vật cản như hố ,vết nứt sâu

Nhược điểm chính của robot loại chính là là chế tạo quá phức tạp chânrobot là kết cấu nhiều bậc tự do, đây là nguyên nhân làm tăng trọng lượng củarobot hay đồng thời giảm tốc độ di chuyển Các kỹ năng như cầm nắm hay nângtải cũng là nguyên nhân làm giảm độ cứng vững của robot Robot loại này cànglinh hoạt thì chi phí chế tạo càng cao

Robot tự hành di chuyển bằng chân được mô phỏng theo các loài động vật

vì thế mà chúng có loại 2 ,4,6 chân và có thể nhiều hơn nữa, dưới đây là một sốloại robot điển hình chuyển động bằng chân

Hình 1.2: Robot Asimo của Honda.

ASIMO được giới thiệu lần đầu tiên vào tháng 10 năm 2000, ASIMO cóthể di chuyển và chạy ngang cả trên những bề mặt dốc hay không bằng phẳng.Robot thậm chí có thể leo cầu thang, xác định, cầm nắm vật thể và nhận diệnkhuôn mặt

Trang 21

Hình 1.3: Robot “nhện” 6 chân bài học từ ruồi dấm.

Các nhà nghiên cứu tại EPFL và UNIL đã phát hiện ra một dáng đi nhanhhơn và hiệu quả hơn, chưa bao giờ quan sát thấy trong tự nhiên, lấy cảm hứngbởi côn trùng và có miếng dính để đi bộ trong không gian ba chiều

Hình 1.4: Robot cheetah bốn chân có thể thực hiện các cú nhảy lùi 360 độ.

Trang 22

Chỉ với 20 pound, bộ tứ khập khiễng có thể uốn cong và vung hai chânrộng, cho phép nó đi hai bên phải hoặc lộn ngược Robot cũng có thể chạy trênđịa hình không bằng phẳng nhanh gấp đôi tốc độ đi bộ của một người bìnhthường.

1.1.4.2 Robot tự hành di chuyển bằng bánh

Bánh xe là cơ cấu chuyển động được sử dụng rộng rãi nhất trong công nghệrobot tự hành Ba bánh là kết cấu có khả năng duy trì cân bằng nhất, tuy nhiênkết cấu 2 bánh cũng có thể cân bằng được khi robot có số bánh nhiều hơn 2 thìthông thường người ta phải thiết kế hệ thống treo để duy trì sự tiếp xúc của tất

cả các bánh xe với mặt đất, vấn đề của robot loại này là về lực kéo, độ ổn định

và khả năng điều khiển chuyển động

Hình 1.5: Bốn loại bánh xe cơ bản được sử dụng trong robot tự hành.

Bánh xe tiêu chuẩn: 2 bậc tự do có thể quay quanh trục bánh xe và điểm

tiếp xúc

Bánh lái: 2 bậc tự do, có thể quay xung quanh khớp lái.

Bánh Swedish: 3 bậc tự do có thể quay đồng thời xung quanh trục bánh

xe, trục lăn và điểm tiếp xúc

Trang 23

Bảng 1.6: Sơ đồ bánh xe của robot tự hành.

Số lượng

1

Một bánh lái phíatrước, một bánhchủ động phía sau

Xe đạp, xe máy

Hai bánh vi saivới khối tâm nằmphía dưới trụcquay

Robot cye, xe tựcân bằng

2

Hai bánh vi sai cótrục đi qua tâmrobot và một bánh

cầu

Nomad Scout, SmartRob EPFL

Hai bánh chủđộng một bánhomni

Robot trong nhà,EPFL robot,Pygmalion vàAlice robot

Hai bánh vi saichủ động và mộtbánh lái tự do

Xe tải miniPiaggio

Một bánh lái vàquay chủ động,hai bánh sau

Neptune, Hero-1

Trang 24

Số lượng

3

Ba bánh omni bốtrí theo hình tamgiác đều, dichuyển được đahướng

Stanford wheelTribolo EPFL,Palm Pilot RobotKit (CMU)

Ba bánh đồng bộ,không điều khiểnđược góc quay

Synchro driveDenning MRV-2,I-Robot B24,Nomad 200

4

Hai bánh chủđộng phía sau, haibánh lái phíatrước (vi sai)

Ô tô với truyềnđộng ở hai bánh

sau

Hai bánh chủđộng và lái pháitrước, hai bánh hỗtrợ phía sau

Ô tô với truyềnđộng ở hai bánhtrước

Bốn bánh chủđộng

Four wheelsteering Hyperion(CMU)

Trang 25

Số lượng

Hai bánh chủđộng vi sai, haibánh omni

Charlie EPFL)

(DMT-5

Bốn bánh omni Carnegie Mellon

Uranus

Hai bánh chủđộng vi sai vớihai bánh cầu

EPFL Khepera,Hyperbot Chip

Bốn bánh chủđộng và bánh láidạng castor

Nomad XR4000

Trang 26

Hình ảnh một số xe tự hành chạy bánh quay trên thế giới:

Hình 1.7: Máy hút bụi Rooma và Friendly.

Hình 1.8: Robot kiva- Amazon.

Trang 27

Hình 1.9: Robot tự hành Curiosity.

Curiosity là một chiếc xe tự hành cỡ nhỏ được thiết kế để khám phá miệngnúi lửa Gale trên sao Hỏa như một phần của sứ mệnh Phòng thí nghiệm khoahọc sao hỏa của NASA Curiosity được phóng từ Mũi Canaveral vào ngày 26tháng 11 năm 2011

Hình 1.10: Robot Vibot-1a của Học Viện kĩ thuật quân sự.

Trang 28

Trong quá trình dịch bệnh covid-19 diễn ra phức tạp yêu cầu phải cách lygiữa người với người Rô-bốt đã được chế tạo và có thể thuần thục đảm nhậnnhiệm vụ tự động vận chuyển thức ăn, thuốc men, nhu yếu phẩm,… từ ngoàivào các buồng bệnh, vận chuyển rác thải sinh hoạt, rác thải y tế, đồ giặt, từbuồng bệnh ra khu tập kết và hỗ trợ giao tiếp từ xa giữa nhân viên y tế và bệnhnhân.

Phiên bản Vibot-1a sử dụng kỹ thuật dẫn đường bằng vạch từ và định vịbằng thẻ nhận dạng Vibot-1a có khả năng phát hiện và tránh va chạm vật cảnnhờ các cảm biến trang bị ở phía trước và phía sau

1.1.4.3 Robot bánh xích

Ngoài robot bánh xe thì cấu trúc robot bánh xích hiện nay cũng được sửdụng khá nhiều Những kiểu robot bánh xích thường được thiết kế dành cho mụcđích quân sự, khám phá không gian hoặc hoạt động trong môi trường nguyhiểm,với quan điểm động học, robot bánh xích có thể giống mô hình robot visai Nó chỉ có thể quay khi có một sự trượt trên nền do đó bề mặt xích thường bịmòn nhanh chóng Ưu điểm của robot di chuyển bánh xích là có thể bám vượtqua chướng ngại vật mà robot di chuyển trên bánh xe không qua được

Hình 1.11: Hãng Kalashnikov chế tạo robot bánh xích mới cho quân đội

Nga.

Trang 29

Tập đoàn Kalashnikov giới thiệu tại diễn đàn kỹ thuật quân sự “Quân đội2016” hệ thống tự động chiến đấu mới (BAS) “Soratnik” - xe bọc thép bánhxích, có thể kết hợp với máy bay không người lái tiến hành trinh sát và yểm trợhỏa lực cho các lực lượng quân đội Đây là xe bọc thép theo dõi được trang bị hệthống điều khiển máy tính, liên lạc điện tử, các phương tiện phát hiện và giámsát.BAS có thể được gắn kết với modul chiến đấu, và có thể làm việc cùng vớicác đơn vị chiến đấu tự động khác, bao gồm cả máy bay không người lái ZalaAero.

1.1.4.4 Robot di chuyển dưới nước.

Có hai loại robot di chuyển dưới nước là robot di chuyển dưới nước tựhành và robot phỏng sinh vật dưới nước như cá, cua, rắn nước… tàu ngầm dạngrobot và xe Robot di chuyển dưới nước AUV khác với robot di chuyển trên bờnhư sau:

Robot phải có thể di chuyển theo mọi hướng trong không gian 3 chiều.Trong khi đó, xe di chuyển trên bờ chỉ cần di chuyển trên mặt phẳng mặc dùchúng có thể gặp các chướng ngại vật ba chiều

Tỷ trọng của nước mà robot di chuyển trong sẽ là hàm của chiều sâu, vì vậyđặc tính trong điều khiển sẽ thay đổi

Khi robot lặn sâu thì áp suất tác động lên robot sẽ tăng ở chiều sâu 10m thì

áp suất đôi gấp đôi khí quyển Vì vậy khi thiết kế robot di chuyển dưới nướcphải quan tâm đến khả năng chịu được tác động ở chiều sâu này

Động lực học của robot di chuyển dưới nước có tính phi tuyến cao, vì vậy,việc điều khiển tuyến tính đơn giản là việc làm khó

Nếu robot này mang các cánh tay máy thì việc điều khiển vô cùng khó khăn.Robot di chuyển dưới nước phải được chống thấm tốt để đảm bảo nướckhông vào mạch điều khiển Ngoài ra, việc điều khiển của robot dưới nước cũnggặp khá nhiều khó khăn do động lực học hệ thống dưới nước phi tuyến cao, có

sự tác động của môi trường nước xung quanh, robot di chuyển dưới nước không

Trang 30

thể sử dụng nhất là siêu âm tuy nhiên nó cũng sẽ gặp một số vấn đề như nhiễu,

độ phân giải kém giảm tầm hoạt động sai số khi đọc

Mobile robot được sử dụng phổ biến trong rất nhiều lĩnh vực khác nhau ởrất nhiều môi trường Có thể kể đến các nhà kho cài đặt các hệ thống mobilerobot để di chuyển hiệu quả các vật liệu từ các kệ lưu trữ đến các khu vực thựchiện đặt hàng, sắp xếp hàng hóa như ở tập đoàn Amazon Mobile robot ứngdụng trong quân sự dùng để do thám, tìm hiểu địa hình, máy bay không ngườilái, phát hiện mục tiêu… Mobile robot cũng được dùng trong lĩnh vực giải trí vàphục vụ đời sống như robot lau nhà, lau kính… Kết hợp trí tuệ nhân tạo đã pháttriển mobile robot có thể giao tiếp tương tác với con người như một người bạn,nhận dạng được mặt người, biểu hiện được cảm xúc như con người, nóichuyện…

1.1.5 Ứng dụng của robot tự hành

Mobile robot được sử dụng phổ biến trong rất nhiều lĩnh vực khác nhau ởrất nhiều môi trường Có thể kể đến các nhà kho cài đặt các hệ thống mobilerobot để di chuyển hiệu quả các vật liệu từ các kệ lưu trữ đến các khu vực thựchiện đặt hàng, sắp xếp hàng hóa như ở tập đoàn Amazon Mobile robot ứngdụng trong quân sự dùng để do thám, tìm hiểu địa hình, máy bay không ngườilái, phát hiện mục tiêu… Mobile robot cũng được dùng trong lĩnh vực giải trí vàphục vụ đời sống như robot lau nhà, lau kính… Kết hợp trí tuệ nhân tạo đã pháttriển mobile robot có thể giao tiếp tương tác với con người như một người bạn,nhận dạng được mặt người, biểu hiện được cảm xúc như con người, nóichuyện…

1.1.6 Nhiệm vụ của robot tự hành.

Tìm đường: Xác định quỹ đạo tránh va chạm.

Bao phủ: Đưa cảm biến, khâu thao tác đến tất cả các điểm trong không gian

thao tác

Định vị: Sử dụng một bản đồ có sẵn dựa trên phản hồi của các cảm biến.

1.1.7 Cấu trúc của mobile robot.

Cấu trúc chung của mobile robot:

Trang 31

 Đế di động (thân xe, bánh xe, nguồn).

 Thiết bị gá (súng, dò mìn, anten, rada…)

 Định vị, tìm đường (GPS, Gyroscope, Camera…)

 Truyền thông (Quan sát, nhận dạng, điều khiển từ xa…)

 Trạm điều khiển, giám sát

Phần giao tiếp là phần tiếp xúc, tương tác với người điều khiển (giao diện).Phần điều khiển là bộ não, lập trình và xử lý (máy tính chủ, vi xử lý) Phần độnghọc gồm động cơ, truyền động cơ khí, cơ cấu di chuyển Phần cảm biến là giácquan của robot, nhận dạng môi trường hoạt động Phần công suất gồm nguồnđiện cấp năng lượng như pin, ắc quy Phần công tác (tay máy…)

1.1.8 Dạng chuyển động của robot tự hành.

 Chuyển động điểm - điểm

 Chuyển động bám đường, bám theo quỹ đạo vẽ trước (điều khiển về thời gian và vị trí sai lệch)

 Chuyển động tức thời: hoạt động trong môi trường nhiều vật cản tĩnh, động

 Chuyển động bám theo vật chuyển động (Tracking)

1.2 Tổng quan về mạch nhúng Arduino.

1.2.1 Tìm hiểu chung về Arduino.

Arduino là nền tảng thiết bị điện tử mã nguồn mở, được sử dụng để giaotiếp với phần cứng và các cảm biến một cách dễ dàng Arduino cũng có ArduinoIDE - phần mềm sử dụng để viết chương trình, kết nối với lập trình choArduino Arduino được chọn làm bộ xử lý trung tâm của rất nhiều thiết bị từ đơngiản đến phức tạp

1.2.2 Phần mềm lập trình Arduino IDE

Để viết chương trình cho Arduino, cần một công cụ lập trình là Arduino IDE

a Cài đặt Arduino IDE

Bước 1: Vào trang chủ của Arduino: https://www.arduino.cc/ để dowload

Trang 32

Bước 2: Cài đặt Arduino IDE: Chạy file Arduino vừa tải về, chọn I Agree

để tiếp tục, đánh dấu tích vào ô Install Usb Driver để cài đặt cả Usb driver choArduino và chọn Next Chờ quá trình cài đặt hoàn tất, chọn Close để thoát

b Giao diện phần mềm.

Hình 1.12: Giao diện Arduino IDE.

- Nút kiểm tra chương trình: Dùng để kiểm tra xem chương trình được viết

có lỗi không

- Nút nạp chương trình xuống bo Arduino: Dùng để nạp chương trình đượcviết xuống mạch Arduino Trong quá trình nạp, chương trình sẽ được kiểm tralỗi trước sau đó mới thực hiện nạp xuống mạch Arduino

- Hiển thị màn hình giao tiếp với máy tính: Khi nhấp vào biểu tượng cáikính lúp thì phần giao tiếp với máy tính sẽ được mở ra Phần này sẽ hiển thị cácthông số mà người dùng muốn đưa lên màn hình Muốn đưa lên màn hình phải

có lệnh Serial.print() mới có thể đưa thông số cần hiển thị lên màn hình

- Vùng lập trình: Vùng này để người lập trình thực hiện việc lập trình chochương trình của mình

- Vùng thông báo thông tin: Có chức năng thông báo các thông tin lỗi củachương trình hoặc các vấn đề liên quan đến chương trình được lập

- Sử dụng một số menu thông dụng trên phần mềm Arduino IDE:

Khi mới kết nối bo Arduino với máy tính ta click vào Tools board đểchọn loại board sử dụng

Trang 33

Hình 1.13: Mục Board trong menu Tools.

Khi lần đầu gắn mạch Arduino vào máy tính, người sử dụng cần nhấn chọn

cổng COM bằng cách vào Tools Serial Port (một số phiên bản dùng từ Port)

sau đó nhấn chọn cổng COM, ví dụ như COM1

Hình 1.14: Mục Port trong menu Tools.

Trang 34

c Cách nạp chương trình cho Arduino.

Bước 1: Kết nối Arduino vào máy tính.

Bước 2: Tìm cổng kết nối của arduino với máy tính.

Khi Arduino kết nối với máy tính, nó sẽ sử dụng một cổng COM(Communication port - cổng dữ liệu ảo) để máy tính và bo mạch có thểtruyền tải dữ liệu qua lại thông qua cổng này Windows có thể quản lí đến

256 cổng COM Để tìm được cổng COM đang được sử dụng để máy tính

và mạch Arduino giao tiếp với nhau, bạn phải mở chức năng DeviceManager của Windows

Mở cửa sổ Run và gõ lệnh “mmc devmgmt.msc” Sau đó bấm Enter, cửa

sổ Device Manager sẽ hiện lên Mở mục Ports (COM & LPT), bạn sẽ thấy cổng

COM Arduino Mega 2560 đang kết nối

Hình 1.15: Mục Port (COM & LPT).

Bước 3: Khởi động Arduino IDE.

Bước 4: Cấu hình phiên làm việc cho Arduino IDE.

Vào menu Tools Board chọn Arduino Mega 2560 Vào menu Tools

Serial Port chọn cổng Arduino đang kết nối với máy tính Vào menu Tools

Programmer chọn AVR ISP

Trang 35

Hình 1.16: Mục Programmer trong Arduino IDE.

Bước 5: Mở và nạp mà nguồn chương trình mẫu.

d Cấu trúc của một chương trình Arduino IDE.

Phần 1: Khai báo biến

Đây là phần khai báo kiểu biến trong Arduino IDE, tên các biến, định nghĩa các chân trên board một số kiểu khai báo biến thông dụng, khai báo thư viện:

* #define

Nghĩa của từ define là định nghĩa, hàm #define có tác dụng định nghĩa, hay

còn gọi là gán, tức là gán một chân, một ngõ ra nào đó với 1 cái tên

Ví dụ: #define led 13

Chú ý: sau #define thì không có dấu “,” (dấy phẩy)

* Khai báo các kiểu biến khác như: int (kiểu số nguyên), float…

Phần 2: Thiết lập (void setup())

Phần này dùng để thiết lập cho một chương trình Arduino IDE, cần nhớ rõ cấu trúc của nó

void setup() { … }Cấu trúc của nó có dấu ngoặc nhọn ở đầu và ở cuối, nếu thiếu phần này khi kiểm tra chương trình thì chương trình sẽ báo lỗi Những lệnh trong setup() sẽ

Trang 36

được chạy khi chương trình khởi động Phần này dùng để thiết lập các tốc độ truyền dữ liệu, kiểu chân là chân ra hay chân vào, Trong đó:

Serial.begin(9600) Truyền dữ liệu Arduino lên máy tính

- PinMode(biến, kiểu vào hoặc ra);

Ví dụ: PinMode(chanD0, INPUT);

- Dùng để xác định kiểu chân là vào hayra

Sau khi setup() chạy xong, những lệnh trong loop() sẽ được chạy Chúng

sẽ lặp đi lặp lại liên tục cho tới khi nào ngắt nguồn của board Arduino

sẽ bao gồm 2 trạng thái điện: mức cao (x giây) và mức thấp (y giây) Tỉ lệ phầntrăm thời gian giữa 2 trạng thái điện này chính là chu kì xung

Một số câu lệnh, cấu trúc thường gặp:

Bảng 1.17: Các lệnh thường gặp trong lập trình Arduino IDE.

// Giải thích nội dung nằm trên 1 dòng

/*… */ Giải thích cho 1 đoạn, có thể xuống dòng được

#define biến chân Define nghĩa là định nghĩa, xác định Câu lệnh này

nhằm gán tên 1 biến vào 1 chân nào đó

digitalWrite(chân,

trạng thái);

Dùng để tắt, mở 1 chân ra Ở đây trạng thái chân cóthể là High hoặc Low, xuất tín hiệu ra các chân digital.analogWrite(chân,

giá trị xung PWM);

Dùng để băm xung (PWM) điều khiển tốc độ động cơ.Giá trị xung PWM nằm trong khoảng từ 0 đến 255,tương ứng với mức duty cycle từ 0% đến 100%

Trang 37

Ký hiệu, câu lệnh Ý nghĩ câu lệnh

digitalRead(chân); Dùng để đọc giá trị digital tại chân muốn đọc

analogRead(chân);

Đọc giá trị analog tại chân muốn đọc, luôn trả về 1 sốnguyên trong khoảng từ 0 đến 1023 tương ứng thangđiện áp từ 0 đến 5V, cần 100 micro giây để thực hiện

delay(thời gian); Duy trì trạng thái đang thực hiện chờ một thời gian.

Thời gian tính bằng mm giây

Serial.print() In ra màn hình máy tính, lệnh này in không xuống

dòngSerial.println() In ra màn hình máy tính, in xong xuống dòng

If ()

{Các câu lệnh}

else () {Các câu lệnh}

if nghĩa là nếu, sau if là dấu (), bên trong dấu ngoặc

là một biểu thứ so sánh Lệnh if không bắt buộc phải

có nhóm lệnh nằm sau từ khóa else

PinMode() pin: Số của chân digital mà bạn muốn thiết lập.

mode: Có thể là INPUT, OUTPUT, INPUT_PULLUP

1.2.3 Mạch Arduino Mega 2560 R3.

Hình 1.18: Board Arduino Mega 2560 R3.

Arduino Mega 2560 là một vi điều khiển bằng cách sử dụng Atmega2560

Trang 38

 Có thể điều khiển từ xa thông qua hồng ngoại, sóng vô tuyến, internethoặc mạng di động Kích thước nhỏ gọn bởi vì bản thân vi điều khiển đã là một

hệ máy tính hoàn chỉnh thu nhỏ bao gồm CPU, bộ nhớ RAM, ROM, các bộ địnhthời, mạch điều khiển đóng ngắt… Tập lệnh mạnh, hỗ trợ nhiều ngôn ngữ lậptrình Giá thành rẻ, dễ dàng thay thế trong truờng hợp hư hỏng

Nhược điểm:

 Không ổn dịnh, dễ bị nhiễu với các tác nhân như ẩm ướt, tia lửa diện…

Do đó cần thiết kế hệ thống lọc nhiễu, tăng tính phức tạp bộ điều khiển Khôngphù hợp với các thiết bị công nghiệp trong một số trường hợp

Bảng 1.19: Datasheet Arduino Mega 2560.

Điện áp hoạt động 5 (v)

Điện áp đầu vào Đề nghị: 7 - 12 (v)

Giới hạn: 6 - 20 (v)

Số chân ngõ I/O Digital 54 trong đó có 15 chân ngõ ra xung PWM

Số chân ngõ vào Analog 16

Nguồn 3,3v: 50 (mA)

Giao tiếp SPI 1 bộ (chân 50 - 53) dùng với thư viện SPI của

Trang 39

Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điềukhiển Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển

và máy tính

Jack nguồn: để chạy Arduino thì có thể lấy nguồn từ cổng USB ở trên,nhưng không phải lúc nào cũng cắm với máy tính được Lúc đó ta cần nguồn từ9v đến 12v cắm vào jack nguồn

Có 54 chân digital (trong đó có 15 chân có thể được sủ dụng như nhữngchân PWM là từ chân số 2 → 13 và chân 44 45 46); 6 ngắt ngoài: chân 2(interrupt 0), chân 3 (interrupt 1), chân 18 (interrupt 5), chân 19 (interrupt 4),chân 20 (interrupt 3), và chân 21 (interrupt 2), ngoài ra có 3 chân nối đất (GND)

và một chân điện áp tham chiếu (AREF) Bốn cổng Serial giao tiếp với phầncứng

Các Board Mega 2560 có 16 chân vào tương tự (analog), mỗi ngõ vàotương tự đều có độ phân giải 10 bit (tức là 1024 giá trị khác nhau) Theo mặcđịnh đo từ 0 đến 5v, mặc dù là nó có thể thay đổi phần trên của phạm vi bằngcách sử dụng chân Aref và analogReference chức năng

Các Atmega 2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8

KB được sử dụng cho bộ nạp khởi động), 8 KB SRAM và 4 KB EEPROM.Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụngFTDI chip điều khiển chuyển tín hiệu từ USB để xử lý Thay vào đó, nó sửdụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB

1.3 Tổng quan về phần mềm LabVIEW.

1.3.1 Tổng quan về phần mềm LabVIEW.

LabVIEW (viết tắt của Laboratory Virtual Instrumentation EngineeringWorkbench) là một phần mềm máy tính được phát triển bới NationalInstruments (NI) LabVIEW là môi trường ngôn ngữ đồ họa hiệu quả trong việcgiao tiếp đa kênh giữa con người, thuật toán và các thiết bị

Trang 40

Hình 1.20: Giới thiệu về LabVIEW.

Cách thức lập trình LabVIEW khác với các ngôn ngữ lập trình truyền thốngdựa trên dạng chữ thay vì sử dụng các từ vựng (từ khóa) cố định thì LabVIEW

sử dụng các khối hình ảnh trực quan và các dây nối để tạo ra các lệnh và cáchàm trong môi trường soạn thảo LabVIEW đã giúp cho việc lập trình trở nênđơn giản hơn bao giờ hết, giúp xây dựng (thực thi) các thuật toán một cáchnhanh, gọn, sáng tạo, và dễ hiễu nhờ các khối hình ảnh có tính gợi nhớ và cáchthức hoạt động theo kiểu dòng dữ liệu (data flow) lần lượt từ trái qua phải

Hình 1.21: Hai vòng lặp song song với tốc độ khác nhau để thu dữ liệu và

hiển thị nó bằng máy hiện sóng Oscillo.

Ngày đăng: 20/10/2021, 11:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Trọng Hiệp, Chi tiết máy, tái bản lần 11, Nhà xuất bản Giáo dục Việt Nam (2010) Sách, tạp chí
Tiêu đề: Chi tiết máy
Nhà XB: Nhà xuất bản Giáo dục Việt Nam (2010)
[3] Jonathan Oxer, Hugh Blemings, (2009), Practical Arduino: Cool Projects for Open Source Hardware (Technology in Action) Sách, tạp chí
Tiêu đề: Jonathan Oxer, Hugh Blemings, (2009)
Tác giả: Jonathan Oxer, Hugh Blemings
Năm: 2009
[4] R. Bitter, T. Mohiuddin, LabVIEW Adcanced Programming Techniques, second ed., CRC Press, New York, (2007) Sách, tạp chí
Tiêu đề: LabVIEW Adcanced Programming Techniques
[5] R. C. Gonzalez, R. E. Woods, (2008), Digital Image Processing. 3rd edition, Prentice-Hall Sách, tạp chí
Tiêu đề: Gonzalez", R. E. Woods, (2008), "Digital Image Processing. 3rd edition
Tác giả: R. C. Gonzalez, R. E. Woods
Năm: 2008
[6] Raul G. Longoria, (2010), Basic Vision LabVIEW, The University of Texas at Austin Sách, tạp chí
Tiêu đề: Basic Vision LabVIEW
Tác giả: Raul G. Longoria
Năm: 2010
[2] Christopher G.Relf, (2014), Image Acquisition and Processing with LabVIEW Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w