Từ những năm 1970 khi năng lực tính toán của máy tính ngày càng trở nênmạnh mẽ hơn, các máy tính lúc này có thể xử lý được những dữ liệu lớn như hình ảnh, cácđoạn video thì một khái niệm
Trang 1Mã sinh viên: 1811504410115 Lớp: 221DTNC04
Trang 3Mã sinh viên: 1811504410115 Lớp: 221DTNC04
Đà Nẵng,
Trang 4………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 6………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 7Mã sinh viên: 1811504410115 Lớp 221DTNC04
Nội dung trình bày: Trong những năm gần đây, trên thế giới nghiên cứu ứng dụng côngnghệ xử lý và nhận dạng ảnh đang là hướng nghiên cứu tập trung của nhiều khoa học trongcác lĩnh vực Từ những năm 1970 khi năng lực tính toán của máy tính ngày càng trở nênmạnh mẽ hơn, các máy tính lúc này có thể xử lý được những dữ liệu lớn như hình ảnh, cácđoạn video thì một khái niệm nữa về xử lý ảnh nữa ra đời đó là: Thị giác máy - Computervision Có thể nói xử lý ảnh số và thị giác máy đã được phát triển và trở thành một lĩnhvực khoa học Xử lý ảnh số không chỉ nâng cao chất lượng của ảnh mà còn phân tích và lýgiải tìm ra giải thuật để ứng dụng vào thực tiễn Thị giác máy bao gồm lý thuyết và các kỹthuật liên quan nhằm mục đích tạo ra một hệ thống nhân tạo có thể tiếp nhận thông tin từcác hình ảnh thu được hoặc các tạp dữ liệu đa chiều Việc kết hợp giữa thị giác máy vớicác kỹ thuật khác như công nghệ thông tin, truyền thông, điện tử, điều khiển tự động, cơkhí… cho chúng ta rất nhiều ứng dụng trong đời sống hàng ngày cũng như trong khoa học,
an ninh, y học, quân sự… Ngày nay, ứng dụng của thị giác máy đã trở nên rất rộng lớn và
đa dạng, len lỏi vào mọi lĩnh vực từ quân sự, khoa học, vũ trụ, cho đến y học, sản xuất, và
tự động hóa tòa nhà
Xử lý ảnh là một nghành khoa học còn tương đối mới mẻ so với nhiều nghành khoa họckhác Hiện nó đang là một trong những lĩnh vực được quan tâm và trở thành môn họcchuyên nghành trong các trường đại học Nhờ có công nghệ số hóa hiện đại, ngày nay conngười đã có thể xử lý tín hiệu nhiều chiều thông qua nhiều hệ thống khác nhau, từ nhữngmạch số đơn giản cho đến những máy tính song song cao cấp Nhận thức được xu hướng
và tầm quan trọng của công nghệ xử lý ảnh trên, nhóm chúng em đã quyết định chọn thực
hiện đề tài “ Thiết kế robot di động bám theo đối tượng dùng phương pháp xử lý ảnh”
Trong thời gian qua dưới sự hướng dẫn tận tình của thầy Nguyễn Phú Sinh em đã dànhthời gian nghiên cứu về xử lý ảnh và nhận dạng ảnh hay nói đúng hơn là thuật toán xử lýảnh bám đối tượng – Tracking
Trang 8Giảng viên hướng dẫn: TS Nguyễn Phú Sinh
Sinh viên thực hiện: Đỗ Đinh Hải Mã SV: 1811504410115
Nguyễn Bùi Trường Hiệu Mã SV: 1811504410124
1 Tên đề tài:
Thiết kế và chế tạo robot di động bám theo đối tượng sử dụng công nghệ xử lý ảnh
2 Các số liệu, tài liệu ban đầu:
Ứng dụng công nghệ xử lý ảnh nhận dạng đối tượng và bám theo đối tượng đó
3 Nội dung chính của đồ án:
Sinh viên có nhiệm vụ tìm hiểu và thực hiện các nhiệm vụ sau:
- Tìm hiểu về robot di động và công nghệ xử lý ảnh, nhận dạng đối tượng
- Phân tích và thiết kế robot di động và đề xuất phương pháp nhận dạng đối tượng
- Nhóm sinh viên cần tiến hành chế tạo mô hình, thử nghiệm nhận dạng đối tượng vàđiều khiển robot bám theo đối tượng đúng theo thuật toán đề xuất
- Trình bày báo cáo chi tiết các nội dung trên trong báo cáo đồ án tốt nghiệp
4 Các sản phẩm dự kiến
- Mô hình robot có khả năng nhận dạng được đối tượng và bám theo đối tượng đó
- Một báo cáo đồ án và 4-5 bảng vẽ
Trang 9LỜI NÓI ĐẦU
Trước tiên, nhóm chúng em muốn gửi lời cảm ơn sâu chân thành sâu sắc tới cácthầy cô giáo trong trường Đại học Sư phạm kỹ thuật Đà Nẵng nói chung và các thầy côtrong khoa Cơ khí nói riêng đã tận tình giảng dạy, truyền đạt cho nhóm chúng em nhữngkiến thức, kinh nghiệm, quý báu trong suốt thời gian bốn năm học tập, rèn luyện tạitrường Những kiến thức mà chúng em nhận được trên giảng đường đại học sẽ là hànhtrang giúp chúng em vững bước trong tương lai
Đặc biệt, nhóm chúng em xin gửi lời cảm ơn đến thầy Nguyễn Phú Sinh, thầy đãtận tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn nhóm chúng em trong suốt quá trình thựchiện đồ án tốt nghiệp Trong thời gian làm việc với thầy, chúng em học được một tinh thầnlàm việc hiệu quả, nghiêm túc và luôn đúng giờ, đây là những điều rất cần thiết cho chúng
em sau này
Cuối cùng, nhóm chúng em muốn gửi lời cảm ơn sâu sắc đến tất cả bạn bè, và đặcbiệt là bố mẹ, những người luôn kịp thời động viên và giúp đỡ chúng em vượt qua nhữngkhó khăn trong cuộc sống
Do kiến thức còn hạn hẹp nên không tránh khỏi những thiếu sót trong cách hiểu, lỗitrình bày Nhóm chúng em rất mong nhận được sự đóng góp ý kiến của quý thầy, cô để đềtài đạt được kết quả tốt hơn
Chúng em xin chân thành cảm ơn!
Đà Nẵng, ngày 15 tháng 06 năm 2022
Trang 10CAM ĐOAN
Nhóm chúng em xin cam đoan: đồ án này là công trình nghiên cứu của nhóm,
không chép lại Tất cả những nội dung có sự tham khảo từ các tài liệu khác đều
được ghi lại đầy đủ trong phần tài liệu tham khảo
Đà Nẵng, ngày 15 tháng 06 năm 2022
Trang 11TÓM TẮT 6
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 7
LỜI NÓI ĐẦU 8
CAM ĐOAN 9
DANH MỤC HÌNH ẢNH 12
DANH MỤC BẢNG 13
MỞ ĐẦU 14
CHƯƠNG 1 TỔNG QUAN HỆ THỐNG ROBOT BÁM ĐỐI TƯỢNG 15
1.1 Giới thiệu chung về robot 15
1.1.1 Phân loại robot 15
1.1.2 Một số dạng điều khiển robot 15
1.1.3 Ứng dụng của robot 17
1.2 Giới thiệu tổng quan về hệ thống robot di động bám đối tượng (Tracking mobile robot) 18
CHƯƠNG 2: THIẾT KẾ ROBOT DI ĐỘNG 20
2.1 Thiết kế mạch điều khiển cho robot di động 20
2.2 Thiết kế cơ khí 20
2.2.1 Tính toán thông số động cơ 20
2.2.2 Chọn vật liệu cho thân robot 23
2.2.3 Bánh xe 24
2.2.4 Kết cấu robot di động 25
2.2.5 Mô phỏng tổng quát thiết kế cơ khí 26
2.3 Thiết lập chế độ làm việc cho các linh kiện phần điện tử 27
2.3.1 Giới thiệu và nhiệm vụ của Arduino nano 27
2.3.2 Giao tiếp SPI và module thu phát sóng NRF24L01 31
Trang 123.2.1 Một số khái niệm cơ bản 40
3.2.2 Không gian màu RGB và ảnh đa mức xám 41
3.3 Thư viện xử lý ảnh OpenCV 42
3.3.1 Vài nét về thị giác máy tính (Computer Vision) 42
3.3.2 Thư viện OpenCV 42
3.3.3 Thuật toán Haar Cascade trong OpenCV 44
3.4 Thư viện OpenCV và môi trường làm việc Pycharm 45
3.4.1 Cài đặt ngôn ngữ Python 45
3.4.2 Cài đặt môi trường làm việc Pycharm IDE cho Python và thư viện OpenCV 48
3.5 Phần mềm kết nối camera 50
3.6 Lưu đồ thuật toán của robot bám đối tượng bằng xử lý ảnh 53
3.7 Tính khoảng cách từ Camera đến một đối tượng với OpenCV 55
CHƯƠNG 4: THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ 56
4.1 Ý nghĩa 56
4.2 Mô hình và giao diện xử lý ảnh 56
4.3 Thực nghiệm của mô hình 57
4.3.1 Thực nghiệm 1 57
4.3.2 Thực ngiệm 2 58
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 60
PHỤ LỤC 61
Trang 13Hình 1 2 (a) Máy hút bụi Rooma và (b) Friendly 16
Hình 1 3 Robot Sojourner 17
Hình 1 4 (a) Robot MBARI’s ALTEX AUV và (b) Robot Pioneer 17
Hình 1 5 Cấu trúc hệ camera cố định điều khiển và giám sát rô bốt 18
Hình 1 6 Cấu trúc hệ Camera Robot eye-in-hand 18
Hình 1 7 (a) Robot TALON và (b) Robot MARRS 19
Hình 1 8 (a) Robot thám hiểm sao hỏa và (b) Robot MIDbo 19
Y Hình 2 1 Sơ đồ mạch điều khiển robot di động 20
Hình 2 2 Lực phân bố trên robot di động di chuyển thẳng 21
Hình 2 3 Lực phân bố lên bánh xe 21
Hình 2 4 Động cơ giảm tốc DC 370 12V 22
Hình 2 5 Bánh xe V2 của robot di động 24
Hình 2 6 Mô hình mô phỏng robot di động 26
Hình 2 7 Mô hình phân rã của robot di động 26
Hình 2 8 Mạch Arduino Nano V3 27
Hình 2 9 Sơ đồ chân Arduino Nano 28
Hình 2 10 Các chân ICSP của Arduino Nano 30
Hình 2 11 Cách kết nối các thiết bị trong giao thức SPI 32
Hình 2 12 Quá trình truyền nhận dữ liệu trong giao thức SPI 32
Hình 2 13 Module thu phát sóng NRF24L01 33
Hình 2 14 Sơ đồ chân NRF24L01 33
Hình 2 15 Mạch nối module NRF24L01 với vi điều khiển 35
Hình 2 16 Sơ đồ chân của module L298N 35
Hình 2 17 Sơ đồ mạch của module L298N 36
Hình 3 1 Quá trình xử lý ảnh 39
Hình 3 2 Không gian mày RGB 41
Hình 3 3 Quá trình phát triển của OpenCV 43
Hình 3 4 Cấu trúc của OpenCV 43
Hình 3 5 Trang wed tải ngôn ngữ Python 46
Hình 3 6 Giao diện tùy chỉnh cài đặt cho ngôn ngữ Python 46
Hình 3 7 Chọn tính năng cài đặt cùa ngôn ngữ Python 47
Hình 3 8 Chọn tính năng nâng cao cho ngôn ngữ Python 47
Hình 3 9 Ngôn ngữ Python đang được cài đặt 48
Trang 14Hình 3 16 Hoàn thành quá trình cài đặt Iriun 52
Hình 3 17 Iriun trên cửa hàng Google Play 52
Hình 3 18 Lưu đồ thuật toán của robot bám đối tượng 53
Hình 3 19 Lưu đồ thuật toán chương trình bám vật 54
Hình 3 20 Hình ảnh đối tượng 55
Hình 4 1 Mô hình robot di động 56
Hình 4 2 Giao diện nhận diện khuôn mặt 57
Hình 4 3 Giao diện thực nghiệm người 1 57
Hình 4 4 Giao diện thực nghiệm người 1 58
DANH MỤC BẢNG Bảng 2 1 Bảng tra thông số kỹ thuật động cơ GA25 370 12V 23
Bảng 2 2 So sánh vật liệu cho thân xe 23
Bảng 2 3 Phương án lựa chọn kết cấu của Mobile robot 25
Bảng 2 4 Số lượng chi tiết cần dùng cho mô hình 27
Bảng 2 5 Đặc điểm kỹ thuật của Arduino Nano 28
Bảng 2 6 Chức năng các chân ICSP của Arduino Nano 30
Bảng 2 7 Chức năng của các chân module NRF24L01 34
Bảng 2 8 So sánh module điều khiển động cơ 35
Bảng 2 9 Chức năng các chân của module L298N 36
Bảng 2 10 So sánh giữa Pin sạc 18650 và nguồn cố định 37
Bảng 4 1 Lần thực nghiệm với người thứ nhất 58
Bảng 4 2 Lần thực nghiệm với người thứ hai 58
Trang 15suất, tăng chất lượng và giảm giá thành sản phẩm Song song với sự phát triển đó,công nghệ chế tạo Robot cũng phát triển nhanh chóng đặc biệt là ở các nước pháttriển nhằm đáp các nhu cầu về sản xuất, sinh hoạt, quốc phòng…Robot có thể thựchiện những công việc mà con người khó thực hiện và thậm chí không thực hiệnđược như: làm những công việc đòi hỏi độ chính xác cao, làm việc trong môi trườngnguy hiểm (như lò phản ứng hạt nhân , dò phá mìn trong quân sự), thám hiểm khônggian vũ trụ…
Trong các họ robot, chúng ta không thể không nhắc tới robot di động với nhữngđặt thù riêng mà những loại robot khác không có Với khả năng di chuyển linh hoạt
và vùng hoạt động rộng, thu hút nhiều sự đầu tư nghiên cứu hiện nay
Để góp phần vào sự phát triển nền khoa học kỹ thuật của nước nhà, nhóm chúng
em đã chọn “thiết kế robot di động bám theo đối tượng dùng phương pháp xử lý ảnh”
Mục tiêu của đề tài hướng tới việc đưa công nghệ xử lý ảnh vào trong điềukhiển công nghiệp và trong robot phát triển dựa trên hệ thống camera điện thoạithông minh Nhằm phục vụ các công tác dò tìm phát hiện vật thể ở những điều kiện
mà con người không thể tới được như dò mìn, thám hiểm thu thập dữ liệu hoặc phục
vụ trong công tác an ninh
Nội dung trình bày báo cáo đồ án gồm những phần sau:
o Tổng quan hệ thống robot bám đối tượng
o Thiết kế robot di động
o Thiết kế hệ thống xử lý ảnh
o Thực nghiệm và đánh giá kết quả
Trang 161.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 công việc một cách tựđộng hoặc được điều khiển gián tiếp qua máy tính
Robot là một tác nhân cơ khí, nhân tạo, thường là một hệ thống cơ khí - điện tửkết hợp hoàn hảo.Với sự xuất hiện và chuyển động của mình, robot gây cho conngười cảm giác là nó cũng có những giác quan như con người Từ “robot” (ngườimáy) thường được hiểu với hai nghĩa đó là 1 cơ cấu cơ khí chính xác và phần mềm
tự hoạt động.Về lĩnh vực người máy thì Nhật Bản đang đi đầu về lĩnh vực này
Ngày nay, robot đang là tâm điểm của một cuộc cách mạng lớn sau Internet.Robot ngày càng được sử dụng rộng rãi trong công nghiệp, y tế, giáo dục và đào tạo,giải trí và an ninh quốc phòng, thám hiểm không gian
Robot là sản phẩm công nghệ có độ phức tạp cao chứa hàm lượng tri thức vôcùng phong phú về tất cả cac lĩnh vực của khoa học và công nghệ
Ngày nay người ta vẫn còn tranh cãi về vấn đề “ Một loại máy đủ những tiêuchuẩn gì để được coi là một robot? ” Một cách gần chính xác, robot phải có một vài(không nhất thiết phải đầy đủ) đặc điểm sau đây:
o Không phải tự nhiên, tức là do con người chế tạo ra
o Có khả năng nhận biết môi trường xung quanh
o Có thể tương tác với các vật thể trong môi trường
o Có sự thông minh và có khả năng đưa ra các lựa chọn dựa trên môitrường và có thể hoạt động theo 1 chu trình đã được lập trình sẵn
o Có khả năng điều khiển bằng các lệnh để có thể thay đổi tùy theo yêucầu của người sử dụng
o Có thể di chuyển quay tịnh tiến một chiều hay nhiều chiều
o Có sự khéo léo trong vận động
1.1.1 Phân loại robot
Có thể phân loại Mobile Robot theo phương pháp di chuyển:
o Robot có chân, chân giống người hay động vật
o Robot di chuyển bằng xích, đai…
o Robot di chuyển bằng bánh xe
1.1.2 Một số dạng điều khiển robot
- Điều khiển từ xa bằng tay:
Trang 17(a) (b)Hình 1 1 (a) iRobot’s PackBot và (b) Military-Robot
- Thực thi theo lộ trình:
Một vài Robot tự động đầu tiên là những con robot theo lộ trình Chúng có thểtheo những đường được sơn khắc trên sàn trên trần nhà hay một dây điện Đa sốnhững robot này hoạt động theo một thuật toán đơn giản là giữ lộ trình trong bộ cảmbiến trung tâm, chúng không thể vòng qua các chứng ngại vật, chúng chỉ dừng lạikhi có vật nào đó cản đường chúng Rất nhiều mẫu của loại robot này vẫn được bánbởi FMC, Egemin, HK sytem và một vài công ty khác
- Ngẫu nhiên hoạt động độc lập :
Robot hoạt động độc lập với những chuyển động ngẫu nhiên, về cơ bản đó lànhững chuyển động nhảy bật lên tường, những bức tường được cảm nhận do sự cảntrở về mặt vật lý như máy hút bụi Roomba hoặc với bộ cảm biến điện tử của máycắt cỏ Friendly Robotics
Trang 18(a) (b)Hình 1 2 (a) Máy hút bụi Rooma và (b) Friendly
1.1.3 Ứng dụng của robot.
Robot được dùng phổ biến trong những môi trường độc hại, những nơi conngười không thể đi tới hay đi tới một cách khó khăn và nguy hiểm, Robot cũngđược dùng trong lĩnh vực giải trí và phục vụ đời sống
Các nơi con người không có khả năng đến được như sao Hỏa, đáy biển, núi lửa,
…người ta phải sử dụng robot tự hành với cấu trúc phù hợp với môi trường Ví dụnhư:
Robot Sojourner trong nhiệm vụ tìm kiếm sự sống trên sao hỏa năm 1997:
Hình 1 3 Robot SojournerRobot MBARI’s ALTEX AUV là robot hoạt động dưới đáy biển với nhiêm vụ thằm dò độ phóng xạ, áp suất, độ sâu,…và Robot Pioneer được thiết kế để dò tìm vàkiểm tra nồng độ trong thảm họa Chernobyl
Trang 19(a) (b)Hình 1 4 (a) Robot MBARI’s ALTEX AUV và (b) Robot Pioneer
Robot sử dụng trong quân sự như: Military-Robot …
Robot sử dụng trong sinh hoạt như: Robot lau nhà Robotking…
1.2 Giới thiệu tổng quan về hệ thống robot di động bám đối tượng (Tracking mobile robot)
Hệ thống thị giác có thể phân thành 2 loại, theo như cấu trúc của hệ, đó là hệ cócamera gắn cố định (Hình 1.5) và hệ có camera gắn trên tay máy (eye-in-hand) (Hình 1.6).Trong hệ camera cố định, camera được gắn cố định so với hệ trục tọa độ thực, thu thập ảnhcủa cả đối tượng và cả môi trường Mục đích của hệ camera cố định này là cung cấp tínhiệu điều khiển sao cho robot được đặt vị trí mong muốn Mục đích của cấu trúc eye-in-hand là điều khiển tay máy sao cho ảnh của mục tiêu di động hoặc cố định được duy trì ở
vị trí mong muốn trên mặt phẳng ảnh thu được
Hình 1 5 Cấu trúc hệ camera cố định điều khiển và giám sát robot
Trang 20
Hình 1 6 Cấu trúc hệ camera robot eye-in-handCác nghiên cứu của môi trường động bị bỏ khá xa so với môi trường tĩnh doảnh hưởng khá lớn của tốc độ tinh toán cũng như độ chinh xác của việc phân tíchảnh Do vậy có nhiều thuật toán để cải thiện tốc độ xử lý ảnh và cải thiện can nhiễutrong quá trình thu thập dữ liệu từ camera
Một khó khăn và thách thức của thị giác máy là việc phân loại đối tượng mộtrobot có thể phải đối mặt với nhiều đối tượng khác nhau, trong khi chỉ một đốitượng được quan tâm còn các đối tượng khác thì không Để nhận biết được vị trí củamục tiêu trong môi trường động, các đặc trưng của mục tiêu là rất quan trọng Cácđiểm lỗ, các góc cạnh, các đặc điểm điển hình có thể dễ dàng tính toán xử lý ở môitrường tĩnh, nhưng trong môi trường động thì rất khó vì chi phí về thời gian là rấtlớn, ảnh hưởng của tốc độ làm cho việc xử lý ảnh tách lấy đặc trưng của đối tượng
là rất khó
Bài toán bám mục tiêu di động với quỹ đạo không biết trước yêu cầu phải giữđược đối tượng ở một vị trí nhất định trên mặt phẳng ảnh Thuật toán CamShifttrong OpenCV được sử dụng để tính toán tọa độ trọng tâm của đối tượng trên mặtphẳng ảnh
Một số hệ thống Robot bám vật trong thực tế đã được triển khai:
(a) (b)Hình 1 7 (a) Robot TALON và (b) Robot MARRS
Robot eys-in-handVật thể cần giám sát
Camera
Trang 21(a) (b)Hình 1 8 (a) Robot thám hiểm sao hỏa và (b) Robot MIDboNgày nay việc xây dựng một hệ thống robot thông minh và có khả năng thay thếcon người làm việc trong các điều kiện khắc nghiệt và nguy hiểm là rất cần thiết,đơn cử như việc làm việc trong các hầm mỏ các nhà máy hạt nhân và các vùng nguyhiểm bom mìn…thì khi ấy các robot như thế này hoàn toàn hữu dụng và là lựa chọntối ưu
CHƯƠNG 2: THIẾT KẾ ROBOT DI ĐỘNG
2.1 Thiết kế mạch điều khiển cho robot di động
Mạch điều khiển robot di động được thiết kế như hình 2.1 Trong đó bao gồm 2
khối chính:
- Khối truyền dữ liệu gồm 1 board Arduino Nano và 1 module NRF24L01 Chương trình xử lý ảnh sẽ gửi dữ liệu tới robot qua module truyền dữ liệu NRF24L01
- Khối nhận dữ liệu chính là robot, gồm 1 board mạch Arduino Nano, 1 module
nhận dữ liệu NRF24L01 Khối nhận dữ liệu sẽ truyền những dữ liệu nhận được để truyền cho mạch điều khiển động cơ, gồm nguồn, động cơ, 1 module L298N
Trang 22Hình 2 1 Sơ đồ mạch điều khiển robot di động Nguyên lý hoạt động của robot di động: Robot di động sẽ xử lý ảnh của đối tượngđược truyền từ camera sang chương trình trên máy tính để xử lý ảnh và tính khoảng cáchgiữa khuôn mặt của đối tượng với robot Sau khi xử lý xong máy tính sẽ đưa chương trìnhvừa xử lý qua khối truyền tín hiệu để truyền cho khối nhận tín hiệu, khối nhận tín hiệu sẽ
có chức năng điều khiển động cơ
2.2 Thiết kế cơ khí.
2.2.1 Tính toán thông số động cơ
Giả sử ta muốn:
- Động cơ di chuyển với vận tốc 0.2m/s
- Khối lượng của robot di động là 3Kg
- Bán kính bánh xe của robot là 32.5mm
Hình 2 2 Lực phân bố trên robot di động di chuyển thẳngPhân tích lực trên bánh xe:
Để xe di chuyển được thì lực ⃗F > ⃗F ms
Trang 23Tính toán momen động cơ (Tdc) cần thiết:
Tdc Fms R Trong đó: R là bán kính của bánh xe đã chọn ở trên bằng 32.5mm
Tdc 12 0.0325
Tdc 0.39 (Nm)
Tính toán công suất cần thiết:
Trong đó: F là độ lớn lực tác động (N)
S là quãng đường vật đi được (m)
Chia 2 vế của công thức (2.3) cho t (thời gian) ta được: A t = F × S t => P F v (2.4)
Để động cơ hoạt động bình thường thì công suất động cơ (Pdc) phải lớn hơn công suất cần thiết (Pct): Pdc Pct
Với tốc độ mong muốn là v=0.2 m/s, áp dụng công thức (2.4 ) ta được:
Trang 24Hình 2 4 Động cơ giảm tốc DC GA25 370 Động cơ DC giảm tốc GA25 thích hợp với các ứng dụng xe mô hình, robot, ổ khóađiện tử, thiết bị thông minh,…
Dưới đây là bảng tra thông số kỹ thuật: dải điện áp hoạt động tương ứng với tốc
độ, moment xoắn, tỉ số truyền
Bảng 2 1 Bảng tra thông số kỹ thuật động cơ GA25 370
Tỷ số truyền 4.4 9.6 21.3 35.5 46.8 78 103 171 226 378 500Tốc độ không
Trang 25Hình ảnh
Ưu điểm + Là vật liệu nhẹ
+ Độ dày da dạng: 1.5 –10mm
+ Dễ gia công
+ Giá thành thấp
+ Tính thẩm mỹ cao
+ Là vật liệu nhẹ
+ Độ bền cao hơn mica
Nhược điểm + Không chịu được nhiệt độ
cao
+ Dễ vỡ nếu chấn động hoặc
va chạm mạnh
+ Giá thành cao hơn mica
+ Chi phí gia công cao hơn
Vậy ở đây dẽ chọn tấm mica làm vật liệu cho thân của robot Vì robot di độngkhông mang tải, bản thân trọng lượng xe không lớn nên việc chọn độ dày tấm micakhông cần quá quan trọng vào tính bền Trong quá trình làm mô hình thực tế, tôichọn tấm mica có độ dày 2mm Độ dày này giúp robot di động có khối lượng nhẹ vàtăng tính thẩm mỹ
2.2.3 Bánh xe
Thông số ước tính giả thiết đề ra:
oKhối lượng robot ước tính: 3 kg
oĐặc điểm địa hình di chuyển: phẳng, gồ gề, dốc
Lựa chọn bánh xe:
Với tải trọng ước tính 3 kg ta chọn bánh xe chất liệu bằng nhựa là hợp lý Đặcđiểm nổi bật của bánh là trọng lượng nhẹ, lớp vỏ bánh được làm bằng cao su nênbám đường rất tốt, mặt khác trên thân bánh xe có một rảnh để lắp vỏ cao su, có thểthay thế vỏ cao su khi bị mòn
Trang 26Có 4 kết cấu của robot di động như sau:
Bảng 2 3 Phương án lựa chọn kết cấu của Mobile robot
1 +Hai bánh sau được
gắn giữa thân xe
+ Hướng xoay của
xe không bị hạnchế
+ Kết cấu đơngiản
+ Khó di chuyểntrên bề mặt khôngbằng phẳng
Trang 273 + Hai động cơ được
+ Cơ cấu lái phứctạp
+ Góc bẻ lái hẹp,khi bẻ lái có thể bịtrượt do 2 bánhtrượt có tốc độkhác nhau
+ Trọng tâm ổn định khi mang tải
+ Kết cấu phứctạp
+ Chi phí cao
Với các phương án đã đưa ra ở trên, cùng với điều kiện thiết kế đã cho, ở đề tài này em chọn phương án 4
2.2.5 Mô phỏng tổng quát thiết kế cơ khí
Mô hình mô phỏng phần cơ khí bên ngoài của robot di động:
Trang 28Hình 2 6 Mô hình mô phỏng robot di độngPhần cơ khí của robot di động sau khi được phân rã:
Hình 2 7 Mô hình phân rã của robot di độngDưới đây là bảng liệt kê số lượng chi tiết cần dùng cho mô hình, thứ tự được đánh theo hình 2.7
Trang 296 Khung chiều rộng 2 Nhựa Mica
2.3 Thiết lập chế độ làm việc cho các linh kiện phần điện tử
2.3.1 Giới thiệu và nhiệm vụ của Arduino nano
a Tổng quan về Arduino Nano:
Arduino Nano là một bảng mạch điện tử có kích thước nhỏ chỉ bằng 1 nửa đồng
xu gấp lại, được phát triển dựa trên dựa trên ATmega328P phát hành vào năm 2008
và khá thân thiện với breadboard Arduino Nano cung cấp các kết nối và thông số
kỹ thuật tương tự như bảng điện tử Arduino Uno nhưng với kích thước nhỏ gọn hơnrất nhiều
Hình 2 8 Mạch Arduino Nano V3Arduino Nano sở hữu chức năng tương tự như Arduino Duemilanove hayArduino UNO Sự khác biệt điển hình giữa chúng chính là dạng mạch ArduinoNano pinout được tích hợp vi điều khiển ATmega328P giống với Arduino UNOnhưng bảng UNO lại có dạng Plastic Dual-In-line Package PDIP với tổng số chân là
30, trong khi bảng Nano có sẵn trong Plastic Quad Flat Pack với 32 chân Điểmkhác biệt tiếp theo đó là bảng Nano có tới 8 cổng ADC còn bảng UNO có 6 cổngADC Bên cạnh đó, bảng Nano không có giác nguồn DC như các bo mạch Arduino
Trang 30cuộc sống hiện đại ngày nay.
Đặc điểm kỹ thuật arduino nano:
Bảng 2 5 Đặc điểm kỹ thuật của Arduino Nano
Trang 31để cấp nguồn nuôi cho vi điều khiển và các bộ phận linh kiện khác trênboard Arduino.
o Chân 3,3V : Đây là một mức điện áp tối thiểu được tạo ra bởi bộ điềuchỉnh điện áp trên board ( sử dụng Lm1117 - 3.3V)
o Chân GND : Chân mass cho Arduino, có nhiều chân GND trên boardArduino cho mục đích dễ dàng kết nối với thiết bị ngoại vi sử dụng dâytestboard
o Chân Reset : Khi tác động nút nhấn reset, Arduino được trả về lạichương trình ban đầu Rất hữu ích khi chạy chương trình phức tạp và bịtreo Vi điều khiển ATmega Mức tích cực LOW được thiết lập sẽ resetlại Arduino Nano
o Các chân Analogs : Có 8 chân Analog trên board mạch Arduino Nanođược ký hiệu là A0 đến A7 Được sử dụng để đo điện áp tương tự trongkhoảng từ 0V đến 5V
o Chân Rx, Tx : Được sử dụng cho giao tiếp nối tiếp trong đó Tx là truyền
o Chân xung PWM : Bao gồm 6 chân là chân 3,5,6,9,10,11 được sử dụng
để cung cấp đầu ra 8-bit xung PWM
o Giao tiếp SPI : Chân 10(SS), Chân 11(MOSI), Chân 12(MISO), Chân13(SCK) được sử dụng cho SPI Giao diện ngoại vi nối tiếp SPI được sửdụng chủ yếu để truyền dữ liệu giữa các bộ vi điều khiển và các thiết bịngoại vi khác như cảm biến, thanh ghi và thẻ nhớ SD
o Ngắt ngoài ( External Interrupts ) : Chân 2 và 3 sử dụng làm ngắt ngoàiđược thiết lập trong trường hợp khẩn cấp khi chúng ta cần dừng chươngtrình chính và tác động các cảnh báo hướng dẫn tại thời điểm đó.Chương trình chính sẽ tiếp tục lại sau khi lệnh ngắt được loại bỏ
o Giao tiếp I2C : Giao tiếp I2C sử dụng các chân A4 (SDA) và A5 (SCL).Các chân ICSP:
Trang 32Hình 2 10 Các chân ICSP của Arduino Nano
Bảng 2 6 Chức năng các chân ICSP của Arduino Nano
ra
Master In SlaveOut
MOSI Đầu ra hoặc đầu
ICSP là viết tắt của In Circuit Serial Programming , đại diện cho một trongnhững phương pháp có sẵn để lập trình bảng Arduino Thông thường, một chươngtrình bộ nạp khởi động Arduino được sử dụng để lập trình một bảng Arduino, nhưngnếu bộ nạp khởi động bị thiếu hoặc bị hỏng, ICSP có thể được sử dụng thay thế.ICSP có thể được sử dụng để khôi phục bộ nạp khởi động bị thiếu hoặc bị hỏng
Mỗi chân ICSP thường được kết nối với một chân Arduino khác có cùng tênhoặc chức năng Ví dụ: MISO của Nano nối với MISO / D12 (Pin 15) Lưu ý, cácchân MISO, MOSI và SCK được ghép lại với nhau tạo nên hầu hết giao diện SPI(tìm hiểu ở phần sau)
b Arduino Nano sẽ thực hiện các nhiệm vụ chính sau:
-Đọc tín hiệu từ camera điện thoại
-Giao tiếp với module NRF24L01 để truyền và nhận dữ liệu
-Điều khiển hoạt động của robot dựa trên dữ liệu từ camera điện thoại và dữ liệunhận được qua giao tiếp không dây
-Xuất tín hiệu ra module L298N để điều khiển động cơ
2.3.2 Giao tiếp SPI và module thu phát sóng NRF24L01
a Giao tiếp SPI
Trang 33cards) và liquid crystal displays (màn hình tinh thể lỏng).
Đôi khi SPI còn được gọi là chuẩn truyền thông “4 dây” vì nó có 4 đường giaotiếp là SCK (Serial Clock), MISO (Master Input/Slave Output), MOSI (MasterOutput/Slave Input) và SS(Slave Select) :
o SCK (Serial Clock): Là đường xung giữ nhịp cho chuẩn SPI, là chân output từmaster, do chuẩn SPI là giao tiếp đồng bộ nên phải cần dùng một đường giữnhịp Đây là sự khác biệt giữa truyền thông đồng bộ và truyền thông khôngđồng bộ như chuẩn giao tiếp UART SCK giúp chuẩn SPI có tốc độ truyền/nhận
dữ liệu cao và ít xảy ra lỗi trong quá trình truyền/nhận dữ liệu
o MISO (Master Input/Slave Output): Với master thì MISO là chân input và vớislave là chân output, 2 chân MISO của master và slave nối trực tiếp với nhau
o MOSI (Master Output/Slave Input): Với chip master thì MOSI là chân output vàvới chip slave là chân input, 2 đường MOSI của master và slave nối trực tiếpvới nhau
o SS (Slave Select): Là chân chọn thiết bị slave cần giao tiếp, trên thiết bị slave sẽ
có một chân slave kết nối với chân SS của master và trên thiết bị master sẽ cónhiều chân SS điều khiển thiết bị slave Chân SS trên các chip slave sẽ ở mứccao khi không giao tiếp, nếu chip master kéo đường SS của một slave nào đóxuống mức thấp thì master sẽ giao tiếp với slave đó
Chuẩn truyền SPI sử dụng kiểu truyền thông master-slave, với một master cóthể điều khiển nhiều slave thông qua việc lựa chọn các đường SS (Slave Select),muốn điều khiển slave nào thì chỉ cần chọn SS của slave đó Các thiết bị sử dụngchuẩn truyền SPI sẽ truyền dữ liệu song công (duplex communication) là truyền vànhận dữ liệu cùng lúc, master có thể gửi dữ liệu đến slave và nhận dữ liệu từ slavecùng một thời điểm
Trang 34Hình 2 11 Cách kết nối các thiết bị trong giao thức SPI
Nguyên lý hoạt động:
Thiết bị master và slave mỗi thiết bị có thanh ghi dữ liệu 8 bit Khi đường SCKcủa master tạo ra một xung nhịp thì một bit trong thanh ghi dữ liệu của mastertruyền qua slave trên đường MOSI, và ngược lại một bit dữ liệu từ slave sẽ truyềnqua master trên đường MISO, do 2 dữ liệu được truyền cùng một lúc trên một nhịpxung nên quá trình truyền dữ liệu này gọi là truyền dữ liệu “song công”
Hình 2 12 Quá trình truyền nhận dữ liệu trong giao thức SPI
Ưu điểm giao thức SPI:
o Chuẩn truyền thông nối tiếp SPI có tốc độ truyền dữ liệu và ít lỗi phát sinhtrong quá trình truyền/nhận dữ liệu hơn các chuẩn truyền nối tiếp khác
o Hỗ trợ truyền thông song công (duplex communication) là dữ liệu có thể truyền
Trang 35o SPI đòi hỏi các slave có một đường SS (slave Select) riêng biệt, vì thế nếu cầnnhiều slave thì sẽ cần nhiều đường SS sẽ làm tốn chân của chip master và nhiềudây sẽ gây rối.
b Module thu phát sóng NRF24L01
NRF24L01 là một trong những thiết bị giao tiếp sóng RF cho các ứng dụng hiệnđại NRF24L01 là module rẻ và có những tính năng tuyệt vời Module hoạt động ởtần số 2.4GHz, điều này làm cho nó phổ biến
Có thể truyền và nhận dữ liệu bằng một module duy nhất Thu phát sóng tínhiệu không phải là khả năng duy nhất, module có thể giao tiếp với tổng cộng 6module NRF24L01 khác cùng một lúc
Thiết bị giao tiếp với Arduino và tạo ra nhiều ứng dụng điều khiển từ xa.Module không dây này sử dụng giao thức truyền thông SPI với tốc độ truyền dữ liệu10MBs với 125 dải địa chỉ, làm nó trở thành module RF đáng tin cậy nhất Module
RF sử dụng module GFSK để thu phát dữ liệu
Hình 2 13 Module thu phát sóng NRF24L01Cấu hình sơ đồ chân NRF24L01: Tất cả các chân của module để giao tiếp đều cótrong các bộ vi điều khiển và bo mạch Module có tổng cộng 8 chân:
Hình 2 14 Sơ đồ chân NRF24L01Bảng 2 7 Chức năng của các chân module NRF24L01
Trang 36Chân giao tiếp
CSN Chân này kích hoạt chờ và xử lý dữ liệu từ bộ vi
điều khiển Để giữ giao tiếp dữ liệu giữa bộ viđiều khiển và module, luôn cấp mức logic caovào chân này
SCK Là chân xung clock giao tiếp SPI trong
NRF24L01 Dữ liệu sẽ truyền giữa module và viđiều khiển theo xung clock trên chân SCK
MOSI Chân nhận dữ liệu SPIMISO Chân truyền dữ liệu SPIChân ngắt IRQ IRQ là chân ngắt, tạo ra sự kiện xử lý khi có dữ liệu
mới
Đặc tính module NRF24L01:
o Hoạt động ở tần số 2.4GHz nên phổ biến ở hầu hết mọi quốc gia
o Một module có thể hoạt động như một bộ truyền hoặc thu tín hiệu
o Có ăng-ten tích hợp có thể gửi dữ liệu lên đến 100m
o Một module NRF24L01 có thể giao tiếp với tối đa 6 module khác cùng một lúc
o Yêu cầu điện áp 3.3V để hoạt động nhưng điện áp chỉ có thể mở rộng lên đến3.6V
o Module được tích hợp sẵn bộ dao động tần số 16MHz
o Tốc độ truyền của NRF24L01 là từ 256kbps đến 2Mbps
o Thiết bị có dãy 125 kênh mang lại tính năng hoạt động 125 mạng tín hiệu khácnhau tại một nơi duy nhất
o Các tần số kênh thay đổi từ 2400MHz đến 2525MHz
Cách sử dụng module giao tiếp NRF24L01:
NRF24L01 có thể sử dụng được với tất cả các bộ vi điều khiển và bảng mạchđiều khiển thông minh nhưng để sử dụng nó, cần hiểu rõ một số chân và thông tintín hiệu
Để sử dụng module, hãy kết nối module với một bộ vi điều khiển khác có giaothức SPI Đầu tiên, cấp nguồn cho các thiết bị rồi mắc các chân SPI theo mạch dướiđây: