Tải bản đầy đủ (.pdf) (91 trang)

Hcmute robot tự vận hành

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.98 MB, 91 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ROBOT TỰ VẬN HÀNH

MÃ SỐ: SV2020-131

SKC 0 0 7 3 3 5

Tp. Hồ Chí Minh, tháng 10/2020

Luan van


BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ROBOT TỰ VẬN HÀNH

SV2020 - 131

Chủ nhiệm đề tài: Nguyễn Minh Huy
MSSV: 17141082


TP Hồ Chí Minh, 10/2020

Luan van


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ROBOT TỰ VẬN HÀNH
SV2020 - 131

Thuộc nhóm ngành khoa học: Kỹ thuật

SV thực hiện: Nguyễn Minh Huy
Nam, Nữ: Nam
Dân tộc: Kinh
Lớp, khoa: 17141CLVT1A, Khoa Đào tạo Chất lượng cao
Năm thứ: 4 /Số năm đào tạo: 4
Ngành học: Công nghệ kỹ thuật Điện tử - Viễn thông
Người hướng dẫn: ThS. Thái Hồng Linh

TP Hồ Chí Minh, 10/2020

Luan van


LỜI CẢM ƠN

Lời đầu tiên trân trọng gửi lời cảm ơn chân thành đến Khoa Đào tạo Chất lượng
cao, Phòng Khoa học Công nghệ - Quan hệ quốc tế đã tạo điều kiện hỗ trợ nhóm hồn
thành đề tài nghiên cứu. Nhóm nghiên cứu xin chân thành gửi lời cảm ơn đến người
thầy đã đồng hành cùng nhóm, dưới sự hướng dẫn cũng như những điều kiện hỗ trợ tốt
nhất được nhận từ phía thầy Thái Hồng Linh đã giúp nhóm thực hiện hồn thành tốt đề
tài này.
Bên cạnh đó, nhóm thực hiện xin cảm ơn đến tập thể bạn bè, quý anh chị đã tích
cực hỗ trợ, đồng hành cùng nhóm trong suốt q trình thực hiện nghiên cứu. Thành quả
thực hiện của nhóm dù đã có kết quả khả quan tuy nhiên khơng tránh khỏi những thiếu
sót về nhiều mặt, nhóm rất mong nhận được phản hồi, góp ý chỉnh sửa, nhận xét từ q
thầy cơ để có thêm góc nhìn hồn thiện dự án tốt nhất cũng như bổ trợ kinh nghiệm,
kiến thức cho tất cả thành viên tham gia nghiên cứu.
Một lần nữa, nhóm thực hiện xin chân thành cảm ơn.

Luan van


NHẬN XÉT
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………

…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………

Luan van


Mục lục
I.

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI ---------------------------------------------------2
1.1.

Tổng quan về robot và sự phát triển của robot trong cách mạng công

nghiệp 4.0 ---------------------------------------------------------------------------------------2

1.2.

Đặt vấn đề -----------------------------------------------------------------------------3

1.3.

Mục tiêu đề tài -----------------------------------------------------------------------4

1.3.1. Phương pháp và phạm vi nghiên cứu -------------------------------------------4
1.3.2. Giới hạn của đề tài -----------------------------------------------------------------5
II. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT------------------------------------------------------6
2.1.

Tổng quan về Robot dò line -------------------------------------------------------6

2.2.

Robot dò đường trên nền tảng ROS2--------------------------------------------6

2.2.1. Giới thiệu ROS và ROS2 ---------------------------------------------------------6
2.2.2. Mục tiêu của ROS2 ----------------------------------------------------------------8
2.2.3. Kiến trúc và tính năng của ROS2 ---------------------------------------------- 10
2.2.3.1.

Giao tiếp trong ROS2 ----------------------------------------------------- 10

2.2.3.2.

Mơ hình giao tiếp DDS---------------------------------------------------- 11


2.2.3.3.

Tính năng ------------------------------------------------------------------- 13

2.2.4. So sánh giữa ROS và ROS2 ---------------------------------------------------- 14
2.2.5. Topic trong ROS2---------------------------------------------------------------- 16
2.2.6. ROS trong công nghiệp.--------------------------------------------------------- 18
2.3.

Công nghệ RFID ------------------------------------------------------------------- 20

2.4.

Cảm biến tốc độ - Encoder ------------------------------------------------------ 21

2.5.

Động cơ DC ------------------------------------------------------------------------- 22

2.6.

Cảm biến dò line ------------------------------------------------------------------- 23

2.7.

Máy tính nhúng Raspberry Pi 4 ------------------------------------------------ 24

2.8.

Giải thuật PID ---------------------------------------------------------------------- 25


2.9.

Web ----------------------------------------------------------------------------------- 26

III. CHƯƠNG 3: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ROBOT TỰ HÀNH ---- 28

Luan van


3.1.

Thiết kế sơ đồ khối ---------------------------------------------------------------- 28

3.1.1. Sơ đồ khối -------------------------------------------------------------------------- 28
3.3.2. Giải thích chức năng từng khối -------------------------------------------------- 28
3.2.

Sơ đồ kết nối các module trong robot tự hành ------------------------------ 30

3.2.1. Các linh kiện điện tử sử dụng trong mô hình ---------------------------------- 30
3.2.2. Sơ đồ kết nối các module --------------------------------------------------------- 34
3.3.

Thiết kế cơ khí --------------------------------------------------------------------- 36

3.3.1. Giới thiệu phần mềm Solidworks ----------------------------------------------- 36
3.3.2. Các bước thiết kế cơ khí cho khung robot ------------------------------------- 36
IV. CHƯƠNG 4: XÂY DỰNG THUẬT TOÁN CHO ROBOT TỰ HÀNH --------- 40
4.1.


Các thiết lập ban đầu trên Raspberry Pi 4 ----------------------------------- 40

4.1.1. Hệ điều hành Ubuntu Server --------------------------------------------------- 40
4.1.2. Các lệnh thao tác cơ bản với terminal trên Ubuntu --------------------------- 45
4.1.3. Cài đặt môi trường Python 3.7 trên Ubuntu ----------------------------------- 47
4.2.

Cài đặt môi trường ROS 2 Dashing trên Ubuntu --------------------------- 48

4.3.

Tạo ROS 2 workspace ------------------------------------------------------------ 49

4.4.

Xây dựng thuật tốn cho robot dị line trong mơi trường Python 3.7 -- 50

4.4.1. Module RPi.GPIO ----------------------------------------------------------------- 50
4.4.2. Lưu đồ giải thuật ------------------------------------------------------------------ 52
4.5.

Xây dựng thuật tốn cho robot dị line trong môi trường ROS 2 ------- 58

4.5.1. Tạo ROS 2 package --------------------------------------------------------------- 58
4.5.2. Các node trên robot --------------------------------------------------------------- 61
4.5.3. Topic, Publisher và Subscriber -------------------------------------------------- 62
4.6.

Giao tiếp giữa robot và web ----------------------------------------------------- 62


4.6.1. Thiết kế trang web ----------------------------------------------------------------- 62
4.6.2. Xây dựng server ------------------------------------------------------------------- 65
4.4.3. Trao đổi dữ liệu giữa robot và web --------------------------------------------- 66
V.

Chương 5: KẾT LUẬN ------------------------------------------------------------------ 71
5.1.

Kết quả và đánh giá --------------------------------------------------------------- 71

Luan van


5.2.

Kết quả đề tài và thảo luận ------------------------------------------------------ 71

5.3.

Hướng phát triển ------------------------------------------------------------------ 72

TÀI LIỆU THAM KHẢO --------------------------------------------------------------------- 74
PHỤ LỤC ---------------------------------------------------------------------------------------- 76

Luan van


Danh mục bảng biểu
Bảng 1: So sánh ROS và ROS2 --------------------------------------------------------------- 14

Bảng 2: Các mối quan hệ trong Topic ------------------------------------------------------- 16
Bảng 3: Linh kiện sử dụng trong mơ hình --------------------------------------------------- 30
Bảng 4: Kết nối các chân GPIO từ Raspberry tới ngoại vi. ------------------------------- 35

Luan van


Danh mục hình ảnh
Hình 1: Sơ đồ khối ROS file --------------------------------------------------------------------7
Hình 2: Sự tương tác của các nodes, topics với nhau ----------------------------------------7
Hình 3: Hệ thống Robot tự động làm việc trong nhà kho -----------------------------------9
Hình 4: Robot tuần tra an ninh tại các bãi giữ xe ------------------------------------------- 10
Hình 5: Mơ hình giao tiếp DDS --------------------------------------------------------------- 12
Hình 6: Mối quan hệ One-to-one giữa Raspberry PI và Motor (Robot) ----------------- 16
Hình 7: Mối quan hệ Many-to-one giữa Encoders và Raspberry PI --------------------- 17
Hình 8: Mối quan hệ One-to-many giữa Lines và Sensors -------------------------------- 17
Hình 9: Mối quan hệ Many-to-many giữa nhiều Raspberry PI và Sensors ------------- 18
Hình 10: Robot giúp đỡ con người sắp xếp hàng hóa -------------------------------------- 19
Hình 11: Tàu Heron USV ---------------------------------------------------------------------- 20
Hình 12: Hoạt động của RFID --------------------------------------------------------------- 21
Hình 13: Hoạt động của encoder quang ----------------------------------------------------- 22
Hình 14: Hình dạng của một động cơ DC -------------------------------------------------- 23
Hình 15: Sơ đồ nguyên lý của LED thu phát hồng ngoại --------------------------------- 24
Hình 16: Raspberry Pi 4------------------------------------------------------------------------ 25
Hình 17: Sơ đồ thuật tốn PID ---------------------------------------------------------------- 26
Hình 18: Sơ đồ khối robot tự hành. ----------------------------------------------------------- 28
Hình 19: Cảm biến dị line 5 LED ------------------------------------------------------------ 30
Hình 20: RFID Reader RDM6300 ------------------------------------------------------------ 30
Hình 21: Mạch điều khiển động cơ L298 ---------------------------------------------------- 31
Hình 22: Mạch giảm áp LM2596 ------------------------------------------------------------- 31

Hình 23: Encoder v2 ---------------------------------------------------------------------------- 31
Hình 24: Pin 18650 ----------------------------------------------------------------------------- 32
Hình 25: Cơng tắc ------------------------------------------------------------------------------- 32
Hình 26: Máy tính nhúng Raspberry Pi 4 ---------------------------------------------------- 32
Hình 27: UPS HAT cấp nguồn cho Raspberry Pi ------------------------------------------ 33
Hình 28: Động cơ DC giảm tốc --------------------------------------------------------------- 33
Hình 29: Bánh xe-------------------------------------------------------------------------------- 33
Hình 30: Sơ đồ kết nối các module. ---------------------------------------------------------- 34
Hình 31: Số thứ tự các chân GPIO trên Raspberry Pi 4.----------------------------------- 34

Luan van


Hình 32: Thiết kế khung ban đầu ------------------------------------------------------------- 36
Hình 33: Kích thước và vị trí của thanh cảm biến dị line --------------------------------- 37
Hình 34: Vị trí đặt và kích thước cho bánh xe ---------------------------------------------- 37
Hình 35: Vị trí đặt động cơ và giá đỡ cho động cơ kích thước --------------------------- 38
Hình 36: Kích thước giá đỡ và vị trí đặt 4 động cơ ---------------------------------------- 38
Hình 37: Vị trí đặt 4 cảm biến tốc độ -------------------------------------------------------- 38
Hình 38: Kích thước của mỗi vị trí đặt cảm biến tốc độ ----------------------------------- 39
Hình 39: Khung hồn chỉnh ------------------------------------------------------------------- 39
Hình 40: Giao diện Ubuntu Desktop 20.04 -------------------------------------------------- 40
Hình 41: Trang web tải file hệ điều hành Ubuntu Server dành cho Raspberry Pi. ----- 41
Hình 42: Phần mềm balenaEtcher ------------------------------------------------------------ 42
Hình 43: Giao diện Ubuntu console ---------------------------------------------------------- 42
Hình 44: Cấu hình truy cập wifi thơng qua netplan --------------------------------------- 43
Hình 45: Giao diện desktop X-ubuntu ------------------------------------------------------- 44
Hình 46: Trang web tải ROS2 ----------------------------------------------------------------- 48
Hình 47: Sơ đồ chân trên Raspberry Pi 4 ---------------------------------------------------- 50
Hình 48: Lưu đồ giải thuật PID (a) ----------------------------------------------------------- 52

Hình 49: Lưu đồ giải thuật PID (b) ----------------------------------------------------------- 53
Hình 50: Lưu đồ giải thuật PID (c) ----------------------------------------------------------- 54
Hình 51: Lưu đồ giải thuật RFID (a) --------------------------------------------------------- 55
Hình 52: Lưu đồ giải thuật RFID (b) --------------------------------------------------------- 56
Hình 53: Sơ đồ khối hàm chính --------------------------------------------------------------- 57
Hình 54: Cây thư mục trong package ros2_robot. ------------------------------------------ 61
Hình 55: Sơ đồ giao tiếp thơng qua Topic --------------------------------------------------- 62
Hình 56: Chọn ngơn ngữ SCSS --------------------------------------------------------------- 63
Hình 57: Cây thư mục chương trình ---------------------------------------------------------- 64
Hình 58: Giao diện trang web ----------------------------------------------------------------- 65
Hình 59: Giá trị tọa độ đọc được-------------------------------------------------------------- 70

Luan van


Danh mục viết tắt
STT
1

Viết đầy đủ

Viết tắt
CLI

Command Line Interface - là một công cụ được phát triển
đề chạy trên giao diện cửa sổ ứng dụng

2

CNC


Computer Numerical Control - là một dạng máy được điều
khiển tự động dưới sự trợ giúp của máy tính

3

DC

Direct Current – dịng điện 1 chiều

4

DDS

Data Distribution Service - dịch vụ phân phối dữ liệu

5

GPIO

General purpose input/output - cổng giao tiếp vào ra của vi
điều khiển

6

PID

Proportional Integral Derivative - bộ điều khiển vi tích phân
tỷ lệ


7

QoS

Quality of Service - Chất lượng dịch vụ

8

RFID

Radio Frequency Identification - nhận dạng qua sóng vơ
tuyến

9

ROS

Robot Operating System - Hệ điều hành robot

10

RTOS

Real Time Operating System - Hệ điều hành thời gian thực

11

SLAM

Simultaneous localization and mapping - hệ thống sử dụng

thông tin ảnh thu được từ cảm biến để tái tạo môi trường
bên ngồi bằng cách đưa thơng tin mơi trường vào một map
và định vị thiết bị.

Luan van


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM
THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thông tin chung:
- Tên đề tài: ROBOT TỰ VẬN HÀNH
- Chủ nhiệm đề tài: Nguyễn Minh Huy

Mã số SV: 17141082

- Lớp: 17141CLVT1A

Khoa: Đào tạo Chất lượng cao

- Thành viên đề tài:
Stt

Họ và tên

MSSV

Lớp

Khoa

ĐT CLC

ĐT CLC

1

Võ Quang Khương

17141093

2

Nguyễn Lê Nguyên
Anh
Lê Quốc Nguyên
Vương

17110094

17141CLVT1A
17110CLST1

17145253

17110CLST2

3

ĐT CLC


- Người hướng dẫn: Th.S Thái Hoàng Linh
2. Mục tiêu đề tài:
- Đáp ứng tiêu chí hồn thiện về thiết kế khung, thiết kế chi tiết hồn chỉnh
- Tính năng đạt chuẩn yêu cầu hoạt động tính năng cơ bản ổn định
- Xác định được phương hướng phát triển, nâng cấp hệ thống, tính năng sau nghiên
cứu nền tảng
3. Tính mới và sáng tạo:
Đề tài nghiên cứu Robot tự vận hành được mô phỏng hoạt động trên nền tảng ROS
2 cho phép hiệu chỉnh tối ưu các tính năng giao tiếp khi phát triển về số lượng. So với
các giải pháp hiện có, đề tài đáp ứng được tính cập nhật giải pháp công nghệ tiên tiến
cho phép người dùng sáng tạo nhiều hướng phát triển hơn trong tương lai.
4. Kết quả nghiên cứu:
- Hoàn tất thiết kế đáp ứng tiêu đề ra ban đầu của Robot
- Các tính năng hoạt động ổn định
- Robot tự vận hành được trang bị cảm biến giao tiếp nhằm tạo tiền đề cho việc
phát triển giao tiếp khi gia tăng số lượng, làm tăng khả năng áp dụng thực tế của đề tài.

Luan van


5. Đóng góp về mặt giáo dục và đào tạo, kinh tế - xã hội, an ninh, quốc phòng và
khả năng áp dụng của đề tài:
Nhìn chung, đề tài được phát triển dựa trên nhu cầu chung của thị trường cơng
nghiệp hiện nay, xét trên tiêu chí này Robot tự vận hành đã có những đóng góp cụ thể
về kinh tế - xã hội như sau:
-

Tối ưu chi phí thiết kế, lắp đặt, thuê nhân công cho các kho, bãi vận chuyển
hàng hoá của doanh nghiệp.


-

Thuận tiện quản lý, giám sát trong quy trình sản xuất, vận chuyển. Từ đó tính
tốn được chính xác thời gian hồn thành cơng việc, tiết kiệm tài nguyên cho
doanh nghiệp nói riêng, xã hội nói chung.

-

Đáp ứng mục tiêu phát triển bền vững, chọn lọc linh kiện khả năng tái chế sau
sử dụng, giảm thiểu ô nhiễm môi trường.

6. Công bố khoa học của SV từ kết quả nghiên cứu của đề tài (ghi rõ tên tạp chí nếu
có) hoặc nhận xét, đánh giá của cơ sở đã áp dụng các kết quả nghiên cứu (nếu có):
Ngày 5 tháng 10 năm 2020
SV chịu trách nhiệm chính
thực hiện đề tài
(kí, họ và tên)

Nhận xét của người hướng dẫn về những đóng góp khoa học của SV thực hiện đề
tài (phần này do người hướng dẫn ghi):
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Ngày 5 tháng 10 năm 2020
Người hướng dẫn
(kí, họ và tên)

Luan van



MỞ ĐẦU
Trong điều kiện của cuộc cách mạng khoa học kỹ thuật ngày nay, khoa học đóng
vai trị cực kỳ quan trọng trong việc tạo ra cơ sở vật chất của xã hội, hoàn thiện các quan
hệ xã hội và hình thành con người mới.
Nghiên cứu khoa học có mục tiêu chủ yếu là tìm kiếm câu trả lời cho các câu hỏi
đặt ra, nói cách khác là tìm kiếm kiến thức và sự hiểu biết. Tuy nhiên, với sự chia sẻ,
trao đổi thơng tin, kiến thức có được thơng qua thực hiện nghiên cứu sẽ tạo hiệu quả tích
cực đến cộng đồng nói chung và cá nhân thực hiện nói riêng. Hay nói cách khác, bản
chất của nghiên cứu khoa học là một quá trình vận dụng các ý tưởng, nguyên lý và
phương pháp khoa học để tìm ra các kiến thức mới nhằm mơ tả, giải thích hay dự báo
các sự vật, hiện tượng trong thế giới khách quan. Nghiên cứu có nghĩa là trả lời những
câu hỏi mang tính học thuật hoặc thực tiễn; làm hồn thiện và phong phú thêm các tri
thức khoa học; đưa ra các câu trả lời để giải quyết các vấn đề trong thực tiễn.
Với góc nhìn này, có thể dễ dàng thấy được vai trò quan trọng trong việc nghiên
cứu khoa học vừa thay đổi cách nhìn nhận vấn đề của người đọc vừa thuyết phục người
đọc tin vào bản chất khoa học và kết quả thực nghiệm nhằm đưa ra ý kiến, thông tin
khách quan giúp người đọc được cung cấp thêm thơng tin, góc nhìn trực quan nhất, từ
đó có thể đưa ra quyết định và hành động phù hợp với xu hướng của những vấn đề đã,
đang được đặt ra theo chiều hướng tích cực.

1

Luan van


I. CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI

1.1. Tổng quan về robot và sự phát triển của robot trong cách mạng công nghiệp
4.0
Từ thuật ngữ “Robot” đến sự phát triển của nền công nghiệp điện tử dẫn đến sự ra

đời của robot tự động điện tử đầu tiên vào những năm 1948, cũng như các cơng cụ máy
tính điều khiển số (CNC) cuối những năm 1940. Robot kỹ thuật số và lập trình đầu tiên
được xây dựng từ những năm 1954 theo dịng lịch sử đã đặt nền móng cho vai trị của
Robot trong cuộc cách mạng cơng nghiệp 4.0 chính thức đặt dấu mốc quan trọng vào sự
hỗ trợ xây dựng phát triển xã hội đa lĩnh vực từ y học, khoa học quân sự, khoa học giáo
dục, đến các ngành dịch vụ, giải trí,…
Robot là một loại máy hay một hệ thống cơ khí - điện tử 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. Thuật ngữ "robot" thường được hiểu với hai nghĩa: robot cơ khí và phần
mềm tự hoạt động. Từ sự hư cấu của khoa học viễn tưởng, robot dần dần được giới kỹ
thuật hình dung như những chiếc máy đặc biệt, được con người mô phỏng theo cấu tạo
và hoạt động của chính mình, dùng để thay thế con người làm một số cơng việc xác
định. Để hồn thành nhiệm vụ đó, robot cần có khả năng cảm nhận các thông số trạng
thái của môi trường và tiến hành các hoạt động tương tự con người.
Khả năng hoạt động của robot được đảm bảo bởi hệ thống cơ khí gồm cơ cấu vận
động để đi lại và cơ cấu hành động để có thể làm việc. Việc thiết kế và chế tạo hệ thống
này thuộc lĩnh vực khoa học về cơ cấu truyền động, chấp hành và vật liệu cơ khí. Chức
năng cảm nhận, gồm thu nhận tín hiệu về trạng thái môi trường và trạng thái của bản
thân hệ thống, do các cảm biến (sensor) và các thiết bị liên quan thực hiện. Hệ thống
này được gọi là hệ thống thu nhận và xử lý tín hiệu, hay đơn giản là hệ thống cảm biến.
Muốn phối hợp hoạt động của hai hệ thống trên, đảm bảo cho robot có thể tự điều chỉnh
"hành vi" của mình và hoạt động theo đúng chức năng quy định trong điều kiện mơi
trường thay đổi, trong robot phải có hệ thống điều khiển. Xây dựng các hệ thống điều
khiển thuộc phạm vi điện tử, kỹ thuật điều khiển và công nghệ thông tin.

2

Luan van



Về phát triển Robot công nghiệp, Mỹ và Nhật Bản tiên phong nắm thị trường. Theo
thống kê, Nhật Bản hiện nay là nước có số lượng robot dùng trong sản xuất công nghiệp
nhiều nhất thế giới, khoảng hơn 70% trong tổng số chừng 300.000 robot cơng nghiệp
trên tồn thế giới. Trong công nghiệp Nhật Bản, những robot hay tay máy được điều
khiển bằng camera cũng được liệt vào hàng ngũ robot.
Lĩnh vực ứng dụng của robot không chỉ được nhân rộng mà ngày càng được đón
nhận. Ngày nay, khái niệm về robot đã phát triển hơn khái niệm nguyên thuỷ rất nhiều.
Kết cấu sáng tạo cũng được đưa vào robot giúp tối ưu hoá khả năng thực hiện được
những việc thay thế cho nguồn lực con người.
1.2. Đặt vấn đề
Đi cùng với sự phát triển nhanh chóng của khối ngành công nghiệp, mỗi năm nhu
cầu sử dụng giải pháp công nghệ của khối ngành này trong những quy trình sản xuất,
vận hành đều tăng lên đáng kể. Với yêu cầu đòi hỏi sự chuẩn xác về thao tác, thời gian
cùng với mức chi phí phù hợp để đầu tư thì Robot tự hành là giải pháp khả thi để giải
quyết bài toán cho doanh nghiệp trong bối cảnh phát triển bền vững và xu hướng tích
hợp cơng nghệ như hiện nay.
Vậy robot tự hành là gì?
Robot tự hành là loại robot có thể tự quản lý, giám sát và giao tiếp với nhau. Sử
dụng các công nghệ dẫn đường để vận chuyển hàng hóa, nguyên vật liệu đến những địa
điểm đã được đánh dấu sẵn mà không cần đến sự can thiệp của con người.
Với robot tự hành, doanh nghiệp vừa giảm được chi phí th nhân cơng vừa hạn
chế được rủi ro và sự cố phát sinh bởi tính tốn chính xác. Hơn nữa robot hồn tồn đáp
ứng được khối lượng hàng hóa với trọng tải lớn, tiết kiệm được thời gian và dễ dàng
quản lý hệ thống một cách chặt chẽ. Cùng với sự phát triển của công nghệ 4.0, hệ thống
nhúng và Internet vạn vật, robot tự hành đã, đang và sẽ phát triển mạnh mẽ nhằm đáp
ứng nhu cầu xã hội, nâng cấp phiên bản phù hợp với thị trường mở trong bối cảnh hội
nhập quốc tế.

3


Luan van


1.3. Mục tiêu đề tài
Hồn thành một mơ hình robot tự hành, tự di chuyển theo một lộ trình nhất định
trơng qua hình thức dị line.
Robot hoạt động trong mơi trường ROS 2.
Dùng công nghệ RFID để quản lý trạng thái làm việc của robot.
Trạng thái làm việc của robot có thể thơng tin trên web để hiển thị khi làm việc
hoặc vị trí cụ thể của robot.
1.3.1. Phương pháp và phạm vi nghiên cứu
- Nghiên cứu cơ sở lý thuyết:
Đặt vấn đề, tổng quan kiến thức về robot và cơ cấu vận hành máy.
Tổng quan kiến thức về ROS và ROS2 từ lý thuyết đến ứng dụng thực tế thông
qua phương thức vận hành, lắp đặt, thử nghiệm trên mơ hình robot cơng nghiệp.
Tìm kiếm, nghiên cứu dữ liệu, thống kê về các loại module, cảm biến cần thiết với
Raspberry Pi 4 để tạo ra một mơ hình robot tự hành.
Tham khảo thơng tin, tính năng, so sánh hiệu suất linh kiện phần cứng, phần mềm.
Tìm kiếm, thực hành, sáng tạo và chỉnh sửa thiết kế web phù hợp với đối tượng
nghiên cứu.
- Quy trình thực hiện:
1. Sơ đồ khối
2. Sơ đồ nguyên lý
3. Lựa chọn phần mềm thiết kế và vật liệu làm khung mơ hình theo ý tưởng thiết
kế.
4. Thi công lắp ráp linh kiện điện tử vào khung xe.
5. Cài đặt hệ điều hành Ubuntu cho Raspberry Pi 4.
6. Cài đặt môi trường ROS2 Dashing trên Ubuntu.
4


Luan van


7. Tạo ROS2 workspace cho robot
8. Xây dựng thuật toán dị line trong mơi trường Python 3.7
9. Xử lý logic, viết giải thuật, vẽ lưu đồ giải thuật, giải quyết các vấn đề liên quan.
10. Xây dựng giao thức giao tiếp giữa robot với web.
11. Tiến hành thử nghiệm hoạt động của xe nhiều lần.
12. Khắc phục các lỗi phần mềm, cải thiện tính năng.
13. Thi cơng hồn chỉnh mơ hình robot dị line.
14. Viết báo cáo
1.3.2. Giới hạn của đề tài
Giới hạn số lượng quy mô nghiên cứu một mơ hình robot. Chính vì thế đề tài khơng
làm nổi bật được điểm mạnh giao tiếp khi gia tăng số lượng robot của ROS2.

5

Luan van


II. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Tổng quan về Robot dị line
Robot dị line là loại robot có thể đi theo một đường vẽ (gọi là line) có màu đen
hoặc trắng sử dụng cảm biến quang điện (quang trở hoặc diode hồng ngoại) để so sánh
cường độ sáng, từ đó điều chỉnh hướng đi thích hợp.
Ở robot dị line, cảm biến được bố trí gần mặt đường và nguồn sáng để so sánh do
chính robot tạo ra. Đường vẽ thường có màu đen để hấp thụ ánh sáng, khi robot đi lệch
vào vùng có đường vẽ, ánh sáng phát ra từ cảm biến khơng phản xạ lại như bình thường
mà bị đường kẻ hấp thụ một phần làm cho sai lệch độ sáng giữa các cảm biến. Ta phải
thiết kế sao cho robot khắc phục được sự sai lệch đó bằng cách sử dụng thuật tốn.

2.2. Robot dị đường trên nền tảng ROS2
2.2.1. Giới thiệu ROS và ROS2
Robot Operating System (ROS – hệ điều hành robot) là một hệ thống phần mềm
chuyên dụng để lập trình và điều khiển robot. Bao gồm các cơng cụ để lập trình, hiển
thị, tương tác trực tiếp với phần cứng, cung cấp các thư viện và các công cụ để giúp các
nhà phát triển phần mềm tạo ra các ứng dụng cho robot và kết nối cộng đồng robot trên
toàn thế giới. Tất cả đều là mã nguồn mở và ROS chạy trên nền Ubuntu.
Tổng quan về cách hoạt động của ROS
Về cơ bản ROS files được bố trí và hoạt động từ trên xuống theo thứ tự như sau,
metapackages, packages, packages manifest, Misc, messages, Services, codes.

6

Luan van


Hình 1: Sơ đồ khối ROS file
Trong đó Metapackages (gói tổng) là một nhóm các packages (gói) có liên quan
tới nhau. Packages là các phân tử cơ bản nhất tạo nên ROS. Trong một package gồm có,
ROSnode, datasets, configuration files, source files, tất cả được gói lại trong một
package.
Sự tương tác giữa các node trong ROS

Hình 2: Sự tương tác của các nodes, topics với nhau
- Node: ROS node là quá trình sử dụng ROS API để giao tiếp với nhau. Một con
robot có thể có rất nhiều nodes để thực hiện các q trình giao tiếp của nó. Ví dụ như:
7

Luan van



Robot tự hành sẽ có những node như: node đọc dữ liệu từ RFID, Encoder, các cảm biến
dò line, node điều khiển động cơ,…
- Master: ROS Master là một node trung gian để kết nối giữa các node khác nhau.
Nó sẽ trao đổi chi tiết của một node với node khác nhằm thiết lập kết nối giữa chúng.
Sau khi trao đổi thông tin, giao tiếp sẽ bắt đầu giữa hai node ROS. Khi chạy một chương
trình ROS, lúc nào ROS master cũng ln chạy trước.
- Message: Các node ROS có thể giao tiếp với nhau bằng cách gửi và nhận dữ liệu
dưới dạng ROS message. ROS message là một cấu trúc dữ liệu được sử dụng bởi các
node ROS để trao đổi dữ liệu. Nó giống như một giao thức, định dạng thơng tin gửi đi
giữa các node, ví dụ như: string, float, int…
- Topic: ROS topic là phương pháp để giao tiếp và trao đổi dữ liệu giữa hai node.
ROS topic giống như một kênh tin nhắn, trong đó dữ liệu được trao đổi bằng ROS
message. Mỗi topic sẽ có một tên khác nhau phụ thuộc vào những thơng tin mà nó phụ
trách cung cấp. Một node sẽ publish (thiết lập) thông tin cho một topic và một node có
thể đọc thơng tin từ topic đó bằng cách subscribe (truy cập / đăng ký) với nó.
- Service: Service là một loại phương pháp giao tiếp khác với topic. Topic sử dụng
tương tác publish hoặc subscribe nhưng trong service, nó tương tác theo kiểu request –
response. Một node sẽ hoạt động như một server, có một server thường xuyên chạy và
khi node client gửi yêu cầu dịch vụ cho server. Máy chủ sẽ thực hiện dịch vụ và gửi kết
quả cho máy khách. Node client phải đợi cho đến khi máy chủ phản hồi với kết quả.
Đã có rất nhiều thay đổi kể từ khi ROS được bắt đầu. Mục tiêu của ROS2 là thích
nghi với những thay đổi này, tận dụng những gì tuyệt vời từ ROS1 và cải thiện những
thứ không phù hợp.
2.2.2. Mục tiêu của ROS2
- Hỗ trợ hệ thống đa Robot: ROS2 bổ sung tính năng hỗ trợ cho các hệ thống nhiều
Robot và tăng hiệu suất mạng, cải thiện giao tiếp giữa nhiều Robot.

8


Luan van


Hình 3: Hệ thống Robot tự động làm việc trong nhà kho
- Thu hẹp khoảng cách giữa nghiên cứu và thực tiễn: ROS2 không chỉ hướng đến
lĩnh vực nghiên cứu khoa học mà còn hướng đến việc chuyển đổi từ nghiên cứu sang
ứng dụng Robot, cho phép sản xuất Robot mang hệ điều hành ROS2 ra thị trường.
- Hỗ trợ vi điều khiển: ROS2 không chỉ hoạt động trên hệ điều hành x86 và ARM
mà còn hỗ trợ các vi điều khiển nhúng như MCUs (ARM-M, ARM-M4, M7).
- Hỗ trợ kiểm soát thời gian thực: Bổ sung, hỗ trợ kiểm sốt hệ thống thời gian
thực, cải thiện tính kịp thời của việc điều khiển và hiệu suất của toàn bộ Robot.

9

Luan van


Hình 4: Robot tuần tra an ninh tại các bãi giữ xe
- Hỗ trợ đa nền tảng: ROS2 không chỉ chạy trên hệ điều hành Linux, mà nó cịn hỗ
trợ thực thi trên các hệ điều hành khác như Windows, MacOS, RTOS,.. Điều này làm
cho ROS2 dễ tiếp cận và gần gũi hơn, không giới hạn nhúng vào một ứng dụng.
2.2.3. Kiến trúc và tính năng của ROS2
2.2.3.1. Giao tiếp trong ROS2
Trong ROS2 khơng cịn định nghĩa Node master, bởi ROS2 cho phép chúng ta tạo
ra một hệ thống phân tán hoàn toàn. Các Node độc lập với nhau và khơng có mối liên
kết chặt chẽ với Node tồn cục. Nghĩa là, mỗi Node có khả năng tự giao tiếp với các
Node khác (tự khởi động, kết nối và ngắt kết nối với nhau) mà không cần thông qua
Node master.
Đặc điểm
- Khơng có tham số tồn cục, mỗi Node cần khai báo tham số cụ thể và được gọi

bằng cách dùng lệnh gọi lại tham số đó.

10

Luan van


- Các dịch vụ không đồng bộ với nhau: Nếu như phía client gửi một u cầu đến
server nhưng khơng nhận được tín hiệu thì u cầu này sẽ bị kẹt cho đến khi server phản
hồi thành công, làm gián đoạn cả luồng chính. Điều này chỉ xảy ra ở ROS phiên bản cũ
vì tính đồng bộ dịch vụ. Trong ROS2, khi chúng ta gọi dịch vụ, chức năng gọi lại
(callback) sẽ tự động kích hoạt khi máy chủ phản hồi, giúp hệ thống hoạt động trơn tru
và linh hoạt.
- Mỗi hành động (actions) trong ROS2 đều có lệnh gọi riêng, có thể gửi mục tiêu
hành động trực tiếp đến máy chủ từ thiết bị đầu cuối.
- Giải quyết vấn đề bị mất dữ liệu khi kết nối mạng bị ngắt đột ngột thơng qua tính
năng kiểm sốt chất lượng dịch vụ trong ROS2.
2.2.3.2. Mơ hình giao tiếp DDS
ROS2 hoạt động dựa trên tiêu chuẩn kiến trúc DDS (Data Distribution Service dịch vụ phân phối dữ liệu) cho hệ thống thời gian thực. DDS là mơ hình kết nối nhằm
cho phép khả năng mở rộng và trao đổi dữ liệu thời gian thực bằng cách sử dụng kiến
trúc DCPS (Data-Centric Publish-Subscribe). Tiêu chuẩn DDS được phát triển trong
nhiều lĩnh vực như: hệ thống giao thông, xe tự hành và hàng không vũ trụ.

11

Luan van


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×