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

Luận văn tốt nghiệp đại học thiết kế ROBOT tự hành với hệ điều hành nhúng LINUX

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 (7.33 MB, 90 trang )

ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN KỸ THUẬT ĐIỆN
oOo




LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC


THIẾT KẾ ROBOT TỰ HÀNH
VỚI HỆ ĐIỀU HÀNH NHÚNG LINUX






GVHD : TS. TRỊNH HOÀNG HƠN
SVTH : PHẠM MINH TUẤN
LỚP : DD05KTD04
MSSV : 40503344





TP. HỒ CHÍ MINH, THÁNG 01/2011
BỘ GIÁO DỤC VÀ ĐÀO TẠO


TRƯỜNG ĐH BÁCH KHOA
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN KỸ THUẬT ĐIỆN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
==================================


NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP

HỌ VÀ TÊN: PHẠM MINH TUẤN MSSV: 40503344
NGÀNH: Kỹ thuật điện LỚP: DD05KTD4

1. Đầu đề luận án:
THIẾT KẾ ROBOT TỰ HÀNH
VỚI HỆ ĐIỀU HÀNH NHÚNG LINUX
2. Nhiệm vụ: (yêu cầu về nội dung và số liệu ban đầu)
1. Phân tích tìm hiểu và chọn mô hình kết cấu cơ khí của robot tự hành (15%)
2. Tìm hiểu mạch Micro2440 (30%)
3. Vài ứng dụng demo bao gồm tự hành và điều khiển bằng tay (15%)
4. Tìm hiểu giải pháp thay thế mạch Micro2440 bằng các họ vi xử lý (40%)
a) Tìm hiểu họ vi xử lý thích hợp (10%)
b) Thiết kế phần cứng tương thích (20%)
c) Minh họa vài demo điều khiển (10%)

3. Ngày giao nhiệm vụ luận án: _________________________________________
4. Ngày hoàn thành nhiệm vụ luận án: ____________________________________
5. Họ tên người hướng dẫn: Phần hướng dẫn:
1) _______________________________ _________________________
2) _______________________________ _________________________

3) _______________________________ _________________________

Nội dung và yêu cầu luận án tốt nghiệp đã được thông qua bộ môn
Ngày ____ tháng ____ năm ______
CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)



PHẦN DÀNH CHO KHOA BỘ MÔN
Người duyệt (chấm sơ bộ): ___________________________
Đơn vị: __________________________________________
Ngày bảo vệ: ______________________________________
Điểm tổng kết: ____________________________________
Nơi lưu trữ luận án: ________________________________
TRƯỜNG ĐH BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

Ngày ____ tháng ____ năm _____

PHIẾU CHẤM BẢO VỆ LVTN
(Dành cho người hướng dẫn)

1. Họ và tên SV: ___________________________________________________
MSSV: _______________ Chuyên ngành: _____________________________
2. Đề tài: _________________________________________________________

3. Họ tên người hướng dẫn: ___________________________________________
4. Tổng quát về bảng thuyết minh: _____________________________________
Số trang: ________ Số chương: ________
Số bảng số liệu: ________ Số hình vẽ: ________
Số tài liệu tham khảo:________ Phần mềm tính toán:________
Hiện vật (sản phẩm): ________________
5. Tổng quát về các bản vẽ:
 Số bản vẽ: Bản A1: ____ Bản A2: ____ Khổ khác: __________
 Số bản vẽ tay: ______ Số bản vẽ trên máy tính: ______
6. Những ưu điểm chính của LVTN:
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
_______________________________________________________________
7. Những thiếu sót chính của LVTN:
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
_______________________________________________________________
8. Đề nghị: Được bảo vệ □ Bổ sung thêm để bảo vệ □ Không được bảo vệ □
9. 3 câu hỏi sinh viên phải trả lời trước hội đồng:
a) ______________________________________________________________
_____________________________________________________________
b) ______________________________________________________________
_____________________________________________________________
c) ______________________________________________________________
______________________________________________________________
10. Đánh giá chung (bằng chữ: Giỏi, Khá, TB): ______ Điểm: ______/10
Người hướng dẫn ký, ghi rõ họ tên:



TRƯỜNG ĐH BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc

Ngày ____ tháng ____ năm _____

PHIẾU CHẤM BẢO VỆ LVTN
(Dành cho người phản biện)

11. Họ và tên SV: ___________________________________________________
MSSV: _______________ Chuyên ngành: _____________________________
12. Đề tài: _________________________________________________________
13. Họ tên người hướng dẫn: ___________________________________________
14. Tổng quát về bảng thuyết minh: _____________________________________
Số trang: ________ Số chương: ________
Số bảng số liệu: ________ Số hình vẽ: ________
Số tài liệu tham khảo:________ Phần mềm tính toán:________
Hiện vật (sản phẩm): ________________
15. Tổng quát về các bản vẽ:
 Số bản vẽ: Bản A1: ____ Bản A2: ____ Khổ khác: __________
 Số bản vẽ tay: ______ Số bản vẽ trên máy tính: ______
16. Những ưu điểm chính của LVTN:
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
_______________________________________________________________

17. Những thiếu sót chính của LVTN:
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
_______________________________________________________________
18. Đề nghị: Được bảo vệ □ Bổ sung thêm để bảo vệ □ Không được bảo vệ □
19. 3 câu hỏi sinh viên phải trả lời trước hội đồng:
d) ______________________________________________________________
_____________________________________________________________
e) ______________________________________________________________
_____________________________________________________________
f) ______________________________________________________________
______________________________________________________________
20. Đánh giá chung (bằng chữ: Giỏi, Khá, TB): ______ Điểm: ______/10
Người hướng dẫn ký, ghi rõ họ tên:






LỜI CẢM ƠN


Kính gửi đến thầy TRỊNH HOÀNG HƠN lời cảm ơn chân thành và sâu
sắc, cảm ơn thầy đã tận tình hướng dẫn, chỉ dạy em hoàn thành luận văn tốt
nghiệp này.
Em xin cảm ơn tất cả quý thầy cô trường Đại học Bách Khoa TP.HCM nói
chung, quý thầy cô khoa Điện-Điện tử và bộ môn Kỹ thuật điện nói riêng đã tận
tình giảng dạy, trang bị cho em những kiến thức bổ ích trong khoảng thời gian

đại học.
Tôi xin cảm ơn tất cả bạn bè đã là nguồn động viên, góp ý, giúp đỡ tôi rất
nhiều trong quá trình học tập và thực hiện luận văn.
Tôi xin cảm ơn tất cả.


TP. Hồ Chí Minh, tháng 1 năm 2011
Phạm Minh Tuấn.




TÓM TẮT LUẬN VĂN


Nhiệm vụ của đề tài là thiết kế một robot tự hành với bộ điều khiển dựa
trên hệ điều hành Linux nhúng.

Đề tài được thực hiện như sau:
 Tìm hiểu các thành phần của một robot tự hành, bao gồm cả về phần cứng
và phần mềm. Phân tích giải pháp sử dụng hệ thống nhúng với hệ điều hành
Embedded Linux vào điều khiển Robot.
 Tìm hiểu và lựa chọn để thi công một mô hình cơ khí robot tự hành: mô
hình Robot tự hành với 3 bánh xe Omni-Directional.
 Tìm hiểu mạch Micro2440, bao gồm tìm hiểu phần cứng mạch, hệ điều
hành Linux nhúng và phần mềm chạy trên mạch. Viết ứng dụng điều khiển mô
hình robot tự hành đã thiết kế, ứng dụng xử lý ảnh - thị giác máy tính.
 Tìm giải pháp thay thế mạch Micro2440 dùng các họ vi xử lý:
o Tìm hiểu và lựa chọn vi xử lý thích hợp: AT91SAM9260.
o Thiết kế phần cứng mạch.

o Nạp hệ điều hành Embedded Linux và viết ứng dụng điều khiển mô
hình robot.

Đề tài này tập trung vào việc tìm hiểu và thực hiện mạch và chương trình
điều khiển cho robot, bao gồm cả thực hiện phần cứng và phần mềm.



MỤC LỤC

Đề mục
Trang bìa
Nhiệm vụ luận văn
Lời cảm ơn
Tóm tắt luận văn
Mục lục
Trang

i
ii
iii
iv

CHƯƠNG 1: Tổng quan về đề tài ……………………………………………… 1
1.1 Đặt vấn đề ………………………………………………………………… 1
1.2 Các định nghĩa ……………………………………… …………………. 1
1.2.1 Robot tự hành …………………………………… ………………… 1
1.2.2 Hệ thống nhúng …………….……………………………………… 3
1.2.3 Hệ điều hành nhúng …………………………………………………. 4
1.3 Nhiệm vụ cụ thể và mục tiêu của luận văn ……………………………… 5

1.3.1 Nhiệm vụ được giao ………………………………………………… 5
1.3.2 Xác định nhiệm vụ cụ thể ……………………… …………………. 5
CHƯƠNG 2: Sơ đồ khối Robot tự hành …… ………………………………… 7
2.1. Phân tích sơ đồ khối một robot tự hành …………………………………… 7
2.2. Thiết kế mô hình robot tự hành …………………………………………… 8
CHƯƠNG 3: Xây dựng mô hình cơ khí robot ………………………………… 9
3.1 Sơ lược về các phương pháp di chuyển của robot tự hành ………………… 9
3.2 Mô hình robot với 3 bánh xe Omni ……………………………………… 10
3.3 Phân tích chuyển động của robot ………………………………………… 11
3.4 Thực hiện mô hình cơ khí robot …………………………………………… 13
CHƯƠNG 4: Mạch công suất động cơ ………………………………………… 16
4.1 Nhiệm vụ và yêu cầu của mạch công suất động cơ ……………………… 16
4.2 Tiếp cận lý thuyết ………………………………………………………… 16
4.2.1 Phương pháp điều chế độ rộng xung PWM …………………………. 16
4.2.2 Mạch cầu H ………………………………………………………… 17
4.2.3 IC công suất L298 …………………………………………………… 18
4.3 Thực hiện mạch công suất động cơ ……………………………………… 19
4.3.1 Sơ đồ nguyên lý …………………………………………………… 19
4.3.2 Giải thích hoạt động …………………………………………………. 20
4.3.3 Một số hình ảnh thực tế mạch công suất động cơ …………………… 20



CHƯƠNG 5: Mạch Micro2440 ………………………………………………… 23
5.1 Tổng quan về mạch nhúng Micro2440 ………………………………… 23
5.2 Kiến trúc phần cứng mạch Micro2440 …………………………………… 24
5.2.1 Vi xử lý S3C2550A …………………………….…………………… 20
5.2.2 Core board ………………………………………………………… 26
5.2.3 SDK board ………………………………………………………… 28
5.3 Hệ điều hành Embedded Linux trên Micro2440 ………………………… 29

5.3.1 Hệ điều hành Embedded Linux …………………………………… 29
5.3.2 Hệ điều hành Embedded Linux trên Micro2440 ……………………. 31
5.3.3 Quá trình khởi động Embedded Linux trên Micro2440 …………… 33
CHƯƠNG 6: Lập trình điều khiển Robot trên Micro2440 ……………………. 35
6.1 Chọn viết chương trình điều khiển …………… ………………………… 35
6.2 Xác định các bước tiến hành – các công cụ cần thiết ……………………… 35
6.2.1 Xác định các bước tiến hành ………………………… …………… 35
6.2.2 Các công cụ cần thiết ……………………………………………… 35
6.3 Biên dịch Linux Kernel cho Micro2440 ………………………………… 37
6.4 Nạp lại Embedded Linux cho Micro2440 …………………………………. 39
6.5 Biên dịch OpenCV cho Micro2440 ……………………………………… 40
6.6 Ball Tracking ………………………………………………………………. 41
6.6.1 Ball Detect ………… ………………………………………………. 41
6.6.2 Truy xuất GPIO driver ………………………………………………. 45
6.6.3 Tạo xung PWM ……………………………………………………… 47
6.6.4 Phân luồng cấu trúc chương trình …………………………………… 47
6.6.5 Biên dịch và chạy chương trình …………………………………… 48
CHƯƠNG 7: Mạch nhúng AT91SAM9260-SMISY ……………………………. 50
7.1 Tổng quan về mạch nhúng AT91SAM9260-SMISY ………… ………… 50
7.1.1 Mục đích thiết kế mạch AT91SAM9260-SMISY ………………… 50
7.1.2 Mạch AT91SAM9260-SMISY ……………………………………… 50
7.2 Lựa chọn vi xử lý AT91SAM9260 …………………………… …………. 51
7.3 Sơ đồ nguyên lý mạch AT91SAM9260-SMISY ………………………… 54
7.3.1 Khối vi xử lý AT91SAM9260 ………………………………………. 54
7.3.2 SDRAM …………………………………………………………… 56
7.3.3 NAND FLASH ……………………………………………………… 56
7.3.4 SPI DATA FLASH ………………………………………………… 57
7.3.5 Các khối khác ……………………………………………………… 57



7.4 Thi công thực tế ……………………………………………………………. 61
CHƯƠNG 8: Embedded Linux trên AT91SAM9260-SMISY …………………. 64
8.1 Quá trình boot Linux trên board AT91SAM9260-SMISY ……………… 64
8.1.1 Quá trình khởi động của vi xử lý AT91SAM9260 ………………… 64
8.1.2 Quá trình boot Linux trên board AT91SAM9260-SMISY …………. 66
8.2 Thực hiện port Linux trên board AT91SAM9260-SMISY ……………… 68
8.2.1 Các công cụ cần thiết …………………………………… ………… 68
8.2.2 AT91BootStrap ……………………………………………………… 69
8.2.3 U-boot ……………………………………………………………… 71
8.2.4 Linux Kernel Image …………………………………………………. 72
8.2.5 Root File System …………………………………………………… 73
8.2.6 Port Linux lên board AT91SAM9260-SMISY ……………………… 73
8.2.7 Thiết lập tham số khởi động Linux trên AT91SAM9260-SMISY … 74
8.3 Chương trình ứng dụng điều khiển Robot ……………… ……………… 75
CHƯƠNG 9: Các kết quả đạt được - hạn chế - hướng phát triển đề tài ……… 76
9.1 Các kết quả đạt được và hạn chế ……… ……………… ……………… 76
9.2 Hướng khắc phục các hạn chế và phát triển đề tài ………………………… 79

CHƯƠNG 10: Tài liệu tham khảo ………………………… ………………… 80
Luận án tốt nghiệp Chương 1: Tổng quan về đề tài
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 1
CHƯƠNG 1
Tổng quan về đề tài

1.1 Đặt vấn đề:
Cùng với công cuộc công nghiệp hóa – hiện đại hóa đất nước, lĩnh vực tự động
hóa có những bước tiến vượt bậc và trở thành yếu tố quan trọng không thể thiếu của
nền công nghiệp hiện đại. Khi nói đến tự động hóa là nói đến sự thay thế dần dần đến
hoàn toàn các hoạt động chân tay bằng máy móc, trong đó Robot tự hành là một phần
quan trọng không thể thiếu. Ngày nay Robot tự hành ngày càng được hoàn thiện và

chứng tỏ vai trò của mình trong ứng dụng công nghiệp và sinh hoạt đời sống.
Phần quan trọng nhất quyết định mọi hoạt động của robot chính là hệ thống điều
khiển. Cho robot tự hành, hệ thống điều khiển phải có khả năng tự hoạt động độc lập
mà không cần kết nối với máy tính hay mạch điều khiển nào khác. Hệ thống điều
khiển đó chính là một “Hệ thống nhúng”.
Hệ thống nhúng bao gồm cả phần cứng và phần mềm, với xu hướng hiện nay,
phần cứng mạch điều khiển ngày càng phát triển phức tạp, việc viết phần mềm truy
xuất các thiết bị phần cứng đó ngày càng phức tạp hơn. Để dễ dàng phát triển phần
mềm ứng dụng, ta cần Hệ điều hành, hệ điều hành quản lý các thiết bị phần cứng và
cho phép ta phát triển phần mềm dễ dàng hơn. Hệ điều hành chạy trong một hệ thống
nhúng gọi là một “Hệ điều hành nhúng”.
Đề tài này tìm hiểu và xây dựng mô hình robot tự hành như một hệ thống hoàn
chỉnh, với hệ thống điều khiển chính là một hệ thống nhúng bao gồm cả về mạch điện
phần cứng, hệ điều hành nhúng, và phần mềm điều khiển robot tự hành.
Mặc dù hoạt động của các robot thực tế bao gồm rất nhiều thao tác, đề tài này chỉ
giới hạn ở hoạt động di chuyển của robot tự hành, và phần mềm ứng dụng tập trung
vào hiện thực giải pháp điều khiển dẫn đường cho robot.

1.2 Các định nghĩa:
1.2.1 Robot tự hành:
Robot tự hành hay robot di động (Mobile Robot, thường gọi tắt là Mobot) được
định nghĩa là một loại xe robot có khả năng tự di chuyển, tự vận động (có thể lập trình
được) dưới sự điều khiển tự động để thực hiện công việc được giao.
Tiềm năng ứng dụng của robot tự hành hết sức rộng lớn. Có thể kể đến robot vận
chuyển vật liệu, hàng hóa trong các tòa nhà, nhà máy, cửa hàng, sân bay và thư viện;
robot phục vụ quét dọn đường phố, khoang chân không; robot kiểm tra trong môi
trường nguy hiểm; robot canh gác, do thám; robot khám phá không gian, di chuyển
trên hành tinh; robot hàn, sơn trong nhà máy; robot xe lăn phục vụ người khuyết tật;
robot phục vụ sinh hoạt gia đình v.v
Mặc dù nhu cầu ứng dụng cao, nhưng những hạn chế chưa giải quyết được của

robot tự hành, như chi phí chế tạo cao, đã không cho phép chúng được sử dụng rộng
rãi. Một nhược điểm khác của robot tự hành phải kể đến là còn thiếu tính linh hoạt và
thích ứng khi làm việc ở những vị trí khác nhau. Bài toán điều khiển dẫn đường cho
robot tự hành cũng không phải là bài toán đơn giản.
Luận án tốt nghiệp Chương 1: Tổng quan về đề tài
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 2
Trong luận án tốt nghiệp này, giải pháp điều khiển dẫn đường cho robot tự hành
sẽ được giải quyết ở mức độ không quá phức tạp.

a) b)

c) d)

e) f)
Hình 1.1 – Một số hình ảnh về robot tự hành.
a) Robot Spirit của NASA thám hiểm sao Hỏa – b) Robot AQUA hoạt động dưới nước
c) Robot SRR và FIDO của NASA - d) Spiderbot di chuyển bằng chân trên sao Hỏa
e) Robot nghiên cứu vùng cực Bắc – f) iRobot Roomba hút bụi
Luận án tốt nghiệp Chương 1: Tổng quan về đề tài
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 3
1.2.2 Hệ thống nhúng:
Hệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ thống có khả
năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ. Đó là các hệ
thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong
nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Đặc điểm
của các hệ thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao.
Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt
nào đó. Khác với các máy tính đa chức năng, chẳng hạn như máy tính cá nhân, một hệ
thống nhúng chỉ thực hiện một hoặc một vài chức năng nhất định, thường đi kèm với
những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng

mà ta không tìm thấy trong một máy tính đa năng nói chung. Vì hệ thống chỉ được xây
dựng cho một số nhiệm vụ nhất định nên các nhà thiết kế có thể tối ưu hóa nó nhằm
giảm thiểu kích thước và chi phí sản xuất.
Một thực tế khách quan là thị trường của các hệ thống nhúng lớn gấp khoảng 100
lần thị trường của PC và mạng LAN, trong khi đó chúng ta mới nhìn thấy bề nổi của
công nghệ thông tin là PC và Internet còn phần chìm của công nghệ thông tin chiếm
99% số processor trên toàn cầu này nằm trong các hệ nhúng thì còn ít được biết đến.
Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn. Hệ thống
nhúng rất đa dạng, phong phú về chủng loại. Đó có thể là những thiết bị cầm tay nhỏ
gọn như đồng hồ kĩ thuật số và máy chơi nhạc MP3, hoặc những sản phẩm lớn như
đèn giao thông, bộ kiểm soát trong nhà máy hoặc hệ thống kiểm soát các máy năng
lượng hạt nhân. Xét về độ phức tạp, hệ thống nhúng có thể rất đơn giản với một vi
điều khiển hoặc rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được
nằm gọn trong một lớp vỏ máy lớn.
Một mạch vi điều khiển cũng được xem là một hệ thống nhúng.
Một hệ thống nhúng mà trên đó có một hệ điều hành nhúng thì được gọi là một
“Máy tính nhúng”.
Hệ thống nhúng thường có một số đặc điểm chung như sau:
• Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên
dụng chứ không phải đóng vai trò là các hệ thống máy tính đa chức năng.
Một số hệ thống đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm
bảo độ an toàn và tính ứng dụng; một số hệ thống không đòi hỏi hoặc ràng
buộc chặt chẽ, cho phép đơn giản hóa hệ thống phần cứng để giảm thiểu chi
phí sản xuất.
• Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ
thống phức tạp nằm trong thiết bị mà nó điều khiển.
• Phần mềm được viết cho các hệ thống nhúng được lưu trữ trong các chip bộ
nhớ chỉ đọc (read-only memory) hoặc bộ nhớ flash chứ không phải là trong
một ổ đĩa. Phần mềm thường chạy với số tài nguyên phần cứng hạn chế:
không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ, bộ nhớ

hạn chế.
• Khả năng làm việc ổn định và bền bỉ.
Ứng dụng hệ thống nhúng vào điều khiển robot tự hành có những ưu điểm hơn
hẳn so với dùng máy tính đa chức năng:
Luận án tốt nghiệp Chương 1: Tổng quan về đề tài
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 4
• Khả năng tùy biến phần cứng để đáp ứng đầy đủ các tính năng cần thiết.
• Giảm kích thước cả về phần cứng và phần mềm, giảm tiêu tốn năng lượng.
• Giảm chi phí vì có thể tối ưu và đơn giản hóa các phần không cần thiết.
• Làm việc ổn định và bền bỉ.

1.2.3 Hệ điều hành nhúng:
Hệ điều hành là một chương trình chạy trên máy tính, dùng để quản lý các thiết
bị phần cứng và các tài nguyên phần mềm trên máy tính. Hệ điều hành đóng vai trò
trung gian giữa người sử dụng và phần cứng máy tính, cung cấp các môi trường cho
phép người sử dụng phát triển và thực hiện các ứng dụng của họ một cách dễ dàng.
Các hệ điều hành chạy trên hệ thống nhúng gọi là Hệ điều hành nhúng. Hệ điều
hành nhúng cũng khá tương tự với hệ điều hành chạy trên các máy tính đa chức năng,
nhưng thường giảm bớt các chức năng về giao diện đồ họa.
Xu hướng phát triển của các hệ thống nhúng trên thế giới hiện nay là phần mềm
ngày càng chiếm tỷ trọng cao và đã trở thành một thành phần quan trọng cấu tạo nên
hệ thống. Các hệ thống nhúng ngày càng có nhiều chức năng tiện dụng và thông minh
hơn. Các chức năng này phần lớn do các phần mềm nhúng tạo nên. Phần mềm nhúng
hiện đang là một lĩnh vực công nghệ then chốt cho sự phát triển kinh tế của nhiều quốc
gia trên thế giới như Mỹ, Nhật Bản, Hàn Quốc, Phần Lan, Trung Quốc… Những quốc
gia này đều đã thành lập nhiều viện nghiên cứu và trung tâm phát triển các hệ thống
nhúng.
Ngày nay, khi mà những phần mềm nhúng đang trở nên phức tạp hơn thì việc
phát triển các sản phẩm phần mềm nhúng đơn lẻ đã không còn phù hợp. Để hiện thực
được những ứng dụng nhúng phức tạp phải cần đến các hệ điều hành nhúng nhỏ gọn

có khả năng hỗ trợ tốt cho việc phát triển các phần mềm nhúng. Các hệ điều hành dùng
trong các hệ nhúng nổi trội hiện nay bao gồm Embedded Linux, VxWorks, Windows
CE, Lynyos, BSD, Green Hills, QNX và DOS. Với nhiều lợi thế, Embedded Linux
hiện nay đang phát triển rất mạnh trên thế giới và chiếm vị trí số 1 trong số các hệ điều
hành nhúng.
Nhiệm vụ chính của hệ điều hành:
• Điều khiển và quản lý trực tiếp các phần cứng.
• Thực hiện một số thao tác cơ bản các thao tác đọc, viết tập tin, quản lý
hệ thống tập tin (File System) và các kho dữ liệu.
• Cung ứng một hệ thống giao diện sơ khai cho các ứng dụng thường là
thông qua một hệ thống thư viện các hàm chuẩn để điều hành các phần
cứng mà từ đó các ứng dụng có thể gọi tới.
• Cung ứng một hệ thống lệnh cơ bản để điều hành máy. Các lệnh này gọi
là lệnh hệ thống (System Command).
Trong điều khiển robot, chương trình điều khiển phải làm nhiều tác vụ cùng lúc
(Multi task), nếu không có hệ điều hành, ta phải tự phân công sắp xếp để các tác vụ đó
lần lượt được xử lý đan xen mà không xung đột nhau về phần cứng, bộ nhớ… Ngoài
ra, với những ứng dụng phức tạp, cần phân công công việc cho nhóm nhiều người, cần
Luận án tốt nghiệp Chương 1: Tổng quan về đề tài
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 5
kế thừa các kết quả từ trước, không có hệ điều hành cung cấp một môi trường chung
để phát triển ứng dụng, ta rất khó đạt được các điều này.
Tóm lại, sử dụng một hệ điều hành trong điều khiển robot tự hành có những ưu
điểm chính sau:
• Khả năng quản lý đa nhiệm của hệ điều hành cho phép ta lập trình truy xuất
cùng lúc nhiều thiết bị phần cứng, xử lý nhiều tác vụ…
• Nhờ hệ điều hành cung cấp môi trường chung để phát triển ứng dụng, ta kế
thừa được các thư viện trong lập trình, tham khảo và tái sử dụng mã nguồn.
Ngoài ra ta dễ dàng chia nhỏ chương trình và phân công công việc; dễ dàng
bảo trì và phát triển hệ thống phần mềm ứng dụng.


1.3 Nhiệm vụ cụ thể và mục tiêu của luận văn:
1.3.1 Nhiệm vụ được giao:
Tên của đề tài: “THIẾT KẾ ROBOT TỰ HÀNH VỚI HỆ ĐIỀU HÀNH
NHÚNG LINUX”.
Nhiệm vụ được giao:
1. Phân tích tìm hiểu và chọn mô hình kết cấu cơ khí của robot tự hành (15%)
2. Tìm hiểu mạch Micro2440 (30%)
3. Vài ứng dụng demo bao gồm tự hành và điều khiển bằng tay (15%)
4. Tìm hiểu giải pháp thay thế mạch Micro-2440 bằng các họ vi xử lý (40%)
a) Tìm hiểu họ vi xử lý thích hợp (10%)
b) Thiết kế phần cứng tương thích (20%)
c) Minh họa vài demo điều khiển (10%)
1.3.2 Xác định nhiệm vụ cụ thể:
Nhiệm vụ cụ thể của đề tài được xác định như sau:
o Tìm hiều sơ đồ khối của robot tự hành.
o Tìm hiều, lựa chọn và thi công mô hình cơ khí.
o Tìm hiểu mạch Micro2440 và hệ điều hành nhúng Linux trên mạch.
o Viết chương trình ứng dụng làm nổi bật ý nghĩa của một hệ thống nhúng
với một hệ điều hành nhúng.
o Tìm giải pháp thay thế cho mạch Micro-2440:
• Tìm hiểu họ vi xử lý thích hợp.
• Thiết kề phần cứng tương thích.
• Viết chương trình điều khiển.
Mục tiêu của đề tài:
o Làm rõ các khái niệm về hệ thống nhúng, máy tính nhúng, hệ điều hành
nhúng, và ý nghĩa của chúng.
o Làm rõ nguyên lý của một máy tính nhúng, tiến đến xây dựng một máy
tính nhúng vào các mục đích điều khiển robot hiện đại.
Luận án tốt nghiệp Chương 1: Tổng quan về đề tài

SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 6
o Làm quen với lập trình nhúng, áp dụng vào lập trình điều khiển Robot và
các thiết bị điều khiển tự động hiện đại.
Luận án tốt nghiệp Chương 2: Sơ đồ khối Robot tự hành
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 7
CHƯƠNG 2
Sơ đồ khối Robot tự hành

2.1 Phân tích sơ đồ khối robot tự hành:
Một Robot tự hành có các khối cơ bản sau:

Hình 2.1 – Sơ đồ khối robot tự hành.
Cảm biến (Sensor): thu nhận các tín hiệu từ môi trường hoạt động và biến đổi
thành tín hiệu điện. Có nhiều loại cảm biến thu nhận nhiều loại tín hiệu ngoài như: ánh
sáng, nhiệt độ, độ ẩm, lực, khoảng cách, vận tốc, gia tốc, góc nghiêng, hình ảnh… Các
robot tự hành hiện đại được trang bị rất nhiều cảm biến hiện đại cho phép robot thích
nghi tốt với môi trường và hoạt động chính xác hơn.
Mạch cảm biến có nhiệm vụ tiền xử lý các tín hiệu điện từ cảm biến đưa đến, như
khuêch đại, biến đổi sang tín hiệu số… và đưa sang khối xử lý trung tâm. Cảm biến và
mạch cảm biến có thể được tích hợp trong một khối.
Khối xử lý trung tâm (CPU) là các mạch vi điều khiển, vi xử lý, hay máy tính,
với chương trình điều khiển. CPU phân tích các tín hiệu thu được, xử lý và đưa ra
quyết định điều khiển các hoạt động cho robot.
Các tín hiệu điều khiển từ CPU thường không đủ công suất để điều khiển trực
tiếp các cơ cấu chấp hành, vì vậy cần có khối công suất làm nhiệm vụ nhận tín hiệu
điều khiển từ CPU và cung cấp đủ công suất để điều khiển cơ cấu chấp hành hoạt động
theo đúng tín hiệu điều khiển đó.
Cơ cấu chấp hành thường là các động cơ, các van khí nén hay thủy lực… sẽ
truyền động cho các kết cấu cơ khí vận động robot.
Robot tự hành hoạt động độc lập, nên cần mang theo nguồn năng lượng cho

mình, thường là acquy hay pin năng lượng mặt trời.
Tất cả các khối trên được đặt trên một khung sườn cơ khí. Kết cấu cơ khí cũng
làm lớp vỏ bảo vệ các khối bên trong. Đồng thời, kết cấu cơ khí cũng bao gồm các chi
tiết vận động cho robot (bánh, xích, chân để di chuyển; cánh tay thao tác…)

Cảm
biến
Mạch
cảm biến
CPU
Phần mềm
điều khiển
Khối
công
suất
Các

cấu
chấp
hành

Nguồn cung cấp
K
ế
t c

u cơ khí

Luận án tốt nghiệp Chương 2: Sơ đồ khối Robot tự hành
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 8

2.2 Thiết kế mô hình robot tự hành:
Trong đề tài này, ta xây dựng một mô hình robot tự hành nhỏ, với công việc
chính tập trung vào tìm hiểu và thực hiện mạch và chương trình điều khiển cho robot.
Chương trình điều khiển phải làm nổi bật thế mạnh của một mạch điều khiển là một
máy tính nhúng với hệ điều hành nhúng Linux, và chỉ giới hạn ở hoạt động di chuyển
của robot tự hành. Vì vậy, thiết kế mô hình robot tự hành với sơ đồ khối như sau:

Hình 2.2 – Mô hình Robot tự hành.
Cảm biến chỉ gồm 1 camera (USB webcam), thu nhận hình ảnh và đưa đến CPU
board qua cổng USB.
CPU board sử dụng mạch Micro2440, là một máy tính nhúng với hệ điều hành
Linux. Trên đó, ta viết chương trình xử lý ảnh dùng thư viện OpenCV, và xuất tín hiệu
điều khiển (PWM) đến driver board.
Driver board là khối công suất cho động cơ. Sử dụng mạch cầu H để điều khiển
quay, đảo chiều và điều khiển vận tốc cho động cơ DC dùng phương pháp điều chế độ
rộng xung PWM.
Các động cơ DC sử dụng loại công suất nhỏ, đủ để phát động cho robot di
chuyển. Dùng động cơ DC 12V - 10W.
Nguồn điện: dùng acquy 12V – 1.3AH.
Kết cấu cơ khí nhỏ gọn với khung sườn bằng nhôm.
Cảm biến
(camera)
CPU board
(Micro-2440)
Chương trình
xử lý ảnh và
đi

u khi


n


Driver
board
Các
động

DC
Acquy
K
ế
t c

u cơ khí

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 9
CHƯƠNG 3
Xây dựng mô hình cơ khí robot

3.1 Sơ lược về các phương pháp di chuyển của robot tự hành:
Theo phương pháp chuyển động trên mặt đất, ta chia Robot tự hành thành 2 lớp:
chuyển động bằng chân (legged) và bằng bánh (wheeled).
Trong lớp đầu tiên, chuyển động có được nhờ các chân cơ khí bắt chước chuyển
động của con người và động vật. Robot loại này có thể di chuyển rất tốt trên các định
hình lồi lõm, phức tạp. Tuy nhiên, cách phối hợp các chân cũng như vấn đề giữ thăng
bằng là công việc cực kỳ khó khăn.

a) b)

Hình 3.1 – Robot di chuyển bằng chân.
a) Robot Asimo hình người - b) Robot 6 chân mô phỏng chuyển động của nhện
Lớp còn lại (di chuyển bằng bánh) tỏ ra thực tế hơn, chúng có thể làm việc tốt
trên hầu hết các địa hình do con người tạo ra. Điều khiển robot di chuyển bằng bánh
cũng đơn giản hơn nhiều, gần như luôn đảm bảo tính ổn định cho robot. Lớp này có
thể chia làm 3 loại robot: Loại chuyển động bằng bánh xe (phổ biến), loại chuyển động
bằng vòng xích (khi cần mô men phát động lớn hay khi cần di chuyển trên vùng đầm
lầy, cát và băng tuyết, vùng địa hình lồi lõm phức tạp), và loại hỗn hợp bánh xe và
xích (ít gặp).

a) b)
Hình 3.2 – Robot di chuyển bằng bánh.
a) di chuyển bằng bánh xe - b) di chuyển bằng bánh xích
Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 10
Đề tài này thực hiện mô hình robot tự hành nhỏ di chuyển trên mặt phẳng, vì vậy,
chọn giải pháp di chuyển bằng bánh xe sẽ đơn giản cho thiết kế và thi công. Tuy
nhiên, dùng bánh xe thông thường sẽ không thể di chuyển linh hoạt trong phạm vi hẹp,
vì không thể xoay chuyển hướng tại chỗ, không thể di chuyển theo phương ngang so
với hướng trục robot. Qua tìm hiểu, ta lựa chọn giải pháp thực hiện mô hình robot tự
hành di chuyển trên 3 bánh xe Omni (Omni-directional Wheel).

3.2 Mô hình robot với 3 bánh xe omni:
- Bánh xe Omni (Omni-directional Wheel):
Bánh xe Omni là bánh xe với các bánh vệ tinh nhỏ xếp quanh chu vi, các bánh xe
vệ tinh đặt vuông góc với hướng di chuyển của bánh omni, trục quay của bánh vệ tinh
vuông góc với trục quay của bánh omni. Nhờ vậy, bánh xe omni vừa có thể quay như
một bánh xe thông thường, mặt khác có thể trượt (lăn trên bánh xe vệ tinh) dễ dàng
theo phương vuông góc với mặt phẳng quay.


Hình 3.3 – Bánh xe omni.
- Mô hình robot với 3 bánh xe omni:
Robot tự hành với bánh xe omni có ưu điểm hơn hẳn so với robot sử dụng bánh
xe thông thường. Nhờ khả năng di chuyển được trên cả 2 phương vuông góc của bánh
xe omni, robot có thể di chuyển linh hoạt theo nhiều hướng, quay tại chỗ, vừa di
chuyển vừa quay… dễ dàng di chuyển ở những nơi chật hẹp.
3 bánh xe omni được bố trí trên trục lệch nhau góc 120
o
, mỗi bánh xe được dẫn
động bằng một động cơ độc lập. Bằng việc điều khiển vận tốc và chiều quay độc lập
cho 3 bánh xe, ta có thể điều khiển robot quay và di chuyển theo bất cứ phương nào
trong mặt phẳng.

Hình 3.4 – Robot với 3 bánh omni.
Vì sao sử dụng 3 bánh? Vì 3 bánh là tối thiểu để robot thăng bằng trên mặt phẳng
một cách dễ dàng. 3 bánh, với 3 điểm tiếp xúc cũng xác định một mặt phẳng, việc thi
công cơ khí với 3 bánh xe sẽ dễ dàng hơn so với nhiều bánh xe.

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 11
Di chuyển của robot là sự tổng hợp chiều quay và vận tốc quay của 3 bánh omni:

a) b) c) d)
Hình 3.5 – Sự di chuyển của robot.
a) đi thẳng – b) xoay tại chỗ - c) đi chéo – d) đi theo cung tròn
Hình trên mô tả 4 trường hợp di chuyển của robot, trong đó:
o Vector vận tốc lăn của bánh xe omni: màu xanh lá.
o Vector vận tốc di chuyển của robot (tổng hợp của 3 vector xanh lá): màu trắng.
o Vector vận tốc trượt ngang (lăn trên bánh vệ tinh) của bánh xe omni: màu vàng.
o Vector vận tốc di chuyển của bánh xe omni (tổng hợp của chuyển động quay và

trượt ngang): màu xanh dương.
3.3 Phân tích chuyển động của robot:
Mọi chuyển động của robot trên mặt phẳng đều có thể phân tích thành chuyển
động tịnh tiến và chuyển động quay.
Quy ước: trục 0
o
trùng với trục X
r
; chiều dương ngược chiều kim đồng hồ (xem
hình 3.6). Như vậy 3 bánh xe A, B, C lần lượt ở các góc 150
o
, 30
o
, và 270
o
.
- Chuyển động tịnh tiến:
Gọi -
t
F

là vector vận tốc tịnh tiến của robot.
-
; ;
tB
tA tC
F F F
  
lần lượt là vector vận tốc của 3 bánh xe A, B, C gây ra chuyển
động dài của robot.

Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 12

Hình 3.6 – Chuyển động tịnh tiến.
Để đạt vận tốc
t
F

mong muốn, ta cần tìm
; ;
tB
tA tC
F F F
  
.
; ;
tB
tA tC
F F F
  
chính là hình chiếu của
t
F

trên phương lăn (phương vuông góc với
trục trong mặt phẳng chuyển động) của bánh xe omni (xem hình 2.3-4).
o
. os(150 );
tA t
F F c


 

o
. os(30 );
tB t
F F c

 
o
. os(270 );
tC t
F F c

 

- Chuyển động quay:

Hình 3.7 – Chuyển động quay.
Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 13
Để đạt vận tốc quay F
q
mong muốn, ta đặt F
qA
= F
qB
= F
qC
= F

q
/3 lên 3 động cơ.
- Tổng hợp chuyển động:
Chuyển động của robot là sự tổng hợp của F
t
và F
q
.
Để đạt chuyển động này, ta tính F
tA
, F
tB
, F
tC
, F
qA
, F
qB
, F
qC
như trên. Sau đó, vận
tốc cần đặt lên 3 động cơ A, B, C:
F
A
= F
tA
+ F
qA
; F
B

= F
tB
+ F
qB
; F
C
= F
tC
+ F
qC
;
3.4 Thực hiện mô hình cơ khí robot:
Kết cấu cơ khí của mô hình robot được thiết kế và thi công dựa trên ước tính sơ
bộ để chịu được trọng lượng của robot (khoảng 1Kg), mang tải nhẹ (tối đa 1Kg).
Không đi sâu vào tính toán chi tiết về cơ khí.
Khung sườn robot bằng nhôm, hình lục giác, kích thước mỗi cạnh 17.5cm. Trên
đó ta chuẩn bị một khoang để đặt acquy 12V-1.3AH.

Hình 3.8 – Khung sườn robot.
3 động cơ sử dụng là động cơ DC 12V, công suất 10W. Có bộ giảm tốc.

Hình 3.9 – Động cơ.
3 bánh xe omni đường kính 4cm, 4 bánh vệ tinh trên chu vi.

Hình 3.10 – Bánh xe omni.
Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 14
Ta được mô hình cơ khí hoàn chỉnh của robot tự hành:

Hình 3.11 – Kết cấu cơ khí robot.

Các hình trên là các hình thiết kế sơ bộ trên phần mềm thiết kế cơ khí Solidworks
2009. Sau đây là một số hình ảnh thực tế kết cấu cơ khí mô hình robot tự hành đã thi
công:

a)
Luận án tốt nghiệp Chương 3: Xây dựng mô hình cơ khí Robot
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 15

b)

c)
Hình 3.12 – Hình ảnh thực tế kết cấu cơ khí mô hình robot tự hành
a) Nhìn từ phía trên – b) Nhìn từ mặt dưới – c) Nhìn nghiêng
Luận án tốt nghiệp Chương 4: Mạch công suất động cơ
SV: PHẠM MINH TUẤN – ĐH BÁCH KHOA TP.HCM 16
CHƯƠNG 4
Mạch công suất động cơ
4.1 Nhiệm vụ và yêu cầu của mạch công suất động cơ:
- Nhiệm vụ:
Mạch điều khiển có nhiệm vụ tính toán và đưa ra tín hiệu điều khiển 3 động cơ
để điều khiển robot di chuyển theo ý muốn. Nhưng tín hiệu từ mạch điều khiển không
đủ công suất để điều khiển trực tiếp động cơ. Vì vậy cần có mạch công suất với nhiệm
vụ nhận tín hiệu điều khiển từ mạch điều khiển và cấp công suất cần thiết để lái động
cơ chạy theo tín hiệu điều khiển đó.
- Yêu cầu :
Trong đề tài này, robot vận hành với 3 động cơ DC 12V – 10W. Vì vậy mạch
công suất động cơ cần đáp ứng các yêu cầu:
o Điện áp hoạt động: 12V.
o Điều khiển vận tốc và đảo chiều cho 3 động cơ DC độc lập.
o Công suất mỗi kênh điều khiển: 10W.

Đề tài này xây dựng mô hình robot tự hành với yêu cầu tải trọng nhỏ, động cơ
công suất thấp, điều khiển vận tốc động cơ không cần độ chính xác cao. Vì vậy để đơn
giản, ta thực hiện mạch công suất động cơ:
o Dùng IC công suất L298, là IC tích hợp 2 mạch cầu H bên trong.
o Điều khiển vận tốc bằng phương pháp điều chế độ rộng xung PWM.
o Không điều khiển vòng kín, không có hồi tiếp vận tốc.
o Không cách ly với mạch điều khiển.
Mạch công suất động cơ đồng thời cũng tạo nguồn áp 5VDC cấp cho mạch điều
khiển từ nguồn acquy 12VDC qua IC ổn áp 7805.

4.2 Tiếp cận lý thuyết:
4.2.1 Phương pháp điều chế độ rộng xung PWM:
Phương pháp điều chế độ rộng xung PWM (Pulse Width Modulation) là phương
pháp thay đổi điện áp ra trung bình nhờ vào thay đổi thời gian đóng ngắt của các khóa
cấp điện cho ngõ ra.
Phương pháp PWM được sử dụng rất phổ biến trong điều khiển động cơ vì các
ưu điểm:
o Mạch công suất thiết kế đơn giản.
o Vận tốc động cơ thay đổi êm.
o Tổn hao công suất nhỏ.
Xét mạch điện sau:

Hình 4.1 – Mạch PWM.

×