TÓM TẮTNghiên cứu này đề xuất một phương pháp bám theo và hạ cánh tự động trên một đối tượng cho máy bay không người lái UAV, ở đây là quadcopter, bao gồm: 1 một thuật toán xử lý ảnh để
Trang 1THÀNH PHỐ HỒ CHÍ MINH
CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC SINH VIÊN
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH MÁY BAY KHÔNG NGƯỜI LÁI TỰ ĐỘNG ĐÁP CÁNH TRÊN
MỤC TIÊU XÁC ĐỊNH
SKC 0 0 6 7 2 8
MÃ SỐ:SV2018-66
Trang 2BAN CHẤP HÀNH TP HỒ CHÍ MINH
-
CÔNG TRÌNH DỰ THI
TÊN CÔNG TRÌNH:
LĨNH VỰC NGHIÊN CỨU: KỸ THUẬT CÔNG NGHỆ
CHUYÊN NGÀNH: CƠ KHÍ, TỰ ĐỘNG HÓA
Mã số công trình: ………
(Phần này do BTC Giải thưởng ghi)
GIẢI THƯỞNG SINH VIÊN NGHIÊN CỨU KHOA HỌC EURÉKA
LẦN THỨ XX NĂM 2018
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH MÁY BAY KHÔNG NGƯỜI LÁI TỰ ĐỘNG ĐÁP CÁNH TRÊN MỤC TIÊU XÁC ĐỊNH
Trang 3BAN CHẤP HÀNH TP HỒ CHÍ MINH
-
CÔNG TRÌNH DỰ THI GIẢI THƯỞNG SINH VIÊN NGHIÊN CỨU KHOA HỌC EURÉKA
LẦN THỨ XX NĂM 2018
TÊN CÔNG TRÌNH:
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH MÁY BAY KHÔNG NGƯỜI LÁI TỰ ĐỘNG ĐÁP CÁNH TRÊN MỤC TIÊU XÁC ĐỊNH
LĨNH VỰC NGHIÊN CỨU: KỸ THUẬT CÔNG NGHỆ
CHUYÊN NGÀNH: CƠ KHÍ, TỰ ĐỘNG HÓA
Mã số công trình: ………
(Phần này do BTC Giải thưởng ghi)
Trang 4MỤC LỤC
Trang bìa chính i
Trang bìa phụ ii
Mục lục iii
Danh mục các từ viết tắt iv
Danh mục hình ảnh v
Danh mục bảng biểu vi
Tóm tắt vii
Phần mở đầu viii
PHẦN 1: TỔNG QUAN TÀI LIỆU 1
1.1 Tóm lược đề tài 1
1.2 Các nghiên cứu điển hình trên thế giới 1
1.3 Các nghiên cứu trong nước 4
1.4 Đề xuất phương án 5
PHẦN 2: VẬT LIỆU – PHƯƠNG PHÁP 7
2.1 Cơ sở lý thuyết của máy bay không người lái 7
2.1.1 Lý thuyết điều khiển bay 7
2.1.2 Mô hình động học và khí động học 8
2.1.3 Hệ thống IMU và cảm biến MPU 10
2.1.4 Bộ điều khiển PID 19
2.1.5 Xử lý ảnh 24
2.1.6 Bộ lọc Kalman 29
2.2 Thiết bị phần cứng và sơ đồ kết nối 30
2.2.1 Khung S520 30
2.2.2 Động cơ điện một chiều không chổi than 31
2.2.3 Bộ điều tốc 35
2.2.4 Vi điều khiển Arduino Uno 37
2.2.5 Cảm biến GY-521 MPU-6050 40
2.2.6 Máy tính nhúng Raspberry Pi 3 Model B và mô-đun nguồn cấp 41
2.2.7 Bộ phát Devo 7 và bộ thu RX-701 43
2.2.8 Pin Lipo 44
2.2.9 Cánh quạt 45
2.2.10 Camera Logitech C170 46
2.2.11 Cảm biến siêu âm HC-SR04 46
Trang 52.2.12 Sơ đồ kết nối phần cứng 48
2.3 Phương pháp điều khiển 49
2.3.1 Bộ điều khiển PID cho Quadcopter 49
2.3.2 Giải thuật đáp cánh 50
2.3.3 Lưu đồ điều khiển 53
PHẦN 3: KẾT QUẢ – THẢO LUẬN 55
3.1 Phần cứng 55
3.2 Các kết quả thực nghiệm 56
3.2.1 Dự đoán chuyển động sử dụng bộ lọc Kalman 56
3.2.2 Thí nghiệm đáp cánh 57
PHẦN 4: KẾT LUẬN – ĐỀ NGHỊ 61
4.1 Kết luận 61
4.2 Định hướng phát triển 61
TÀI LIỆU THAM KHẢO 62
PHỤ LỤC 64
Trang 6
DANH MỤC CÁC TỪ VIẾT TẮT
1 BEMF (Back Electromagnetic Field pulse): Xung điện từ trường phản hồi
2 BLDC (Brushless Direct Current Motor): Động cơ DC không chổi than
3 ESC (Electronic Speed Control): Bộ điều tốc
4 GPS (Global Positoning System): Hệ thống định vị toàn cầu
5 IMU (Inertial Measurement Unit): Hệ thống đo đạc tích hợp
6 INS (Inertial Navigation System): Hệ thống định vị tích hợp
7 MEMS (Micro Electromechanical System): Hệ thống vi cơ điện tử
8 PID (Proportional Integral Derivative): Điều khiển PID
9 Quadcopter: Robot bay 4 cánh
10 RLG (Ring Laser Gyro): Con quay hồi chuyển vòng laser
11 UAV (Unmanned Aerial Vehicle): Thiết bị bay không người lái
Trang 7DANH MỤC HÌNH ẢNH Hình ảnh Trang
Hình 1.1 DJI Inspire 2 1
Hình 1.2 Điều khiển Drone bằng suy nghĩ của nhóm ĐH Minnesota 2
Hình 1.3 Drone điều khiển bằng suy nghĩ ở Florida 3
Hình 1.4 Máy bay không người lái Little Ripper của Úc 3
Hình 1.5 Drone được nghiên cứu bởi nhóm sinh viên Phòng thí nghiệm Hệ thống thông minh Trường Đại học Sư phạm Kỹ thuật Tp.HCM 4
Hình 1.6 Mô hình quadcopter của sinh viên Trường ĐH Bách khoa Đà Nẵng 4
Hình 1.7 Mô hình Quadcopter MD4-1000 của Bộ quốc phòng Việt Nam 5
Hình 2.1 Chuyển động cơ bản của quadcopter 7
Hình 2.2 Hệ quy chiếu A và B với chiều dài l và tổng mômen quay .8
Hình 2.3 Mô hình moment quay chi tiết .9
Hình 2.4 Góc Roll, Pitch, Yaw 12
Hình 2.5 Gyro điện tử 14
Hình 2.6 Gia tốc của viên bi theo trục z 16
Hình 2.7 Gia tốc theo hai trục x, z 16
Hình 2.8 Tính toán góc nguyên (Tilt) từ cảm biến gia tốc 17
Hình 2.9 Tín hiệu được xử lý với bộ lọc bù 19
Hình 2.10 Bộ điều khiển PID 20
Hình 2.11 Đồ thị đáp ứng Kp 22
Hình 2.12 Đồ thị đáp ứng Ki 23
Hình 2.13 Đồ thị đáp ứng Kd 23
Hình 2.14 Khối lập phương mô tả không gian màu RGB 27
Hình 2.15 Hình trụ mô tả không gian màu HSV .27
Hình 2.16 Hình ảnh RGB (trái) và hình ảnh HSV (phải) .29
Hình 2.17 Khung sợi cacbon S520 4-Axis PCB .30
Hình 2.18 Chi tiết khung S500 31
Hình 2.19 Cấu trúc cơ bản của động cơ BLDC .31
Hình 2.20 Sơ đồ khối nguyên lý hoạt động và điều khiển động cơ BLDC .32
Hình 2.21 Sơ đồ nguyên lý đơn giản của động cơ một chiều không chổi than với 3 cuộn dây trên stator 33
Hình 2.22 Trình tự cấp điện cho các cuộn dây 33
Trang 8Hình 2.23 Một mạch điều khiển BLDC đơn giản 33
Hình 2.24 Động cơ DJI 2212 920KV .34
Hình 2.25 Một số loại ESC 35
Hình 2.26 Sơ đồ mạch ESC 36
Hình 2.27 Sơ đồ chức năng mạch BLDC 36
Hình 2.28 ESC Hobbywing SkyWalker 30A 37
Hình 2.29 Arduino Uno R3 38
Hình 2.30 Sơ đồ chân của Arduino Uno 39
Hình 2.31 Cảm biến MPU – 6050 GY-521 40
Hình 2.32 Sơ đồ khối cảm biến MPU – 6050 GY-521 41
Hình 2.33 Raspberry Pi 3 model B 42
Hình 2.34 Mô-đun nguồn cấp cho Raspberry Pi 42
Hình 2.35 Bộ phát DEVO 7 43
Hình 2.36 Bộ thu RX701 43
Hình 2.37 Pin Lithium Polymer 44
Hình 2.38 Cánh quạt tự siết DJI Phantom 2 Vision 9-Inch 45
Hình 2.39 Camera Logitech C170 46
Hình 2.40 Biểu đồ thời gian của cảm biến siêu âm HC-SR04 47
Hình 2.41 Cảm biến siêu âm HC-SR04 47
Hình 2.42 Sơ đồ kết nối phần cứng 48
Hình 2.43 Các góc yaw, pitch, roll 49
Hình 2.44 Sơ đồ khối của hệ thống 49
Hình 2.45 Sơ đồ khối tổng quan của hệ thống 50
Hình 2.46 Cửa sổ với các thanh điều khển giá trị H, S, V với thư viện OpenCV 50
Hình 2.47 Từ trái qua phải, từ trên xuống dưới: ảnh gốc, ảnh được chuyển sang hệ màu HSV, ảnh được phân ngưỡng, ảnh đầu ra 51
Hình 2.48 Các phương trình của bộ lọc Kalman 51
Hình 2.49 Lưu đồ của thuật toán xác định mục tiêu 53
Hình 2.50 Lưu đồ của thuật toán đáp cánh 54
Hình 3.1 Mô hình Quadcopter được sử dụng trong nghiên cứu 55
Hình 3.2 Mục tiêu được sử dụng trong nghiên cứu (60x60cm) 56
Hình 3.3 Dự đoán chuyển động với bộ lọc Kalman .56
Hình 3.4 (a-h) Thí nghiệm hạ cánh 57
Hình 3.5 (a-i) Một số vị trí hạ cánh 58
Trang 9Hình 3.6 (a-d) Một thí nghiệm hạ cánh với độ chính xác cao 59
Hình 3.7 Một vị trí hạ cánh với độ chính xác cao .59
Trang 10DANH MỤC BẢNG BIỂU Bảng Trang
Bảng 2.1 Thông số của động cơ DJI 2212 920KV 35
Bảng 2.2 Bảng điều khiển trạng thái động cơ BLDC đơn giản 36
Bảng 2.3 Thông số của ESC Hobbywing SkyWalker 30A 37
Bảng 2.4 Thông số của Arduino Uno R3R3 38
Bảng 2.5 Thông số của mô-đun nguồn cấp 43
Bảng 2.6 Thông số của cánh DJI Phantom 2 45
Bảng 2.7 Thông số của Camera Logitech C170 46
Bảng 2.8 Thông số của cảm biến HC-SR04 48
Trang 11TÓM TẮT
Nghiên cứu này đề xuất một phương pháp bám theo và hạ cánh tự động trên một đối tượng cho máy bay không người lái (UAV), ở đây là quadcopter, bao gồm: (1) một thuật toán xử lý ảnh để phát hiện và dự đoán chuyển động của đối tượng bằng bộ lọc Kalman; (2) bộ điều khiển PID cho máy bay tự cân bằng và hạ cánh trên một mục tiêu
cố định Nhiệm vụ bay cân bằng được thực hiện nhờ hai thành phần thiết yếu: cảm biến gia tốc và con quay hồi chuyển Tuy nhiên, các cảm biến này dễ nhiễu, do đó, nhóm cũng nghiên cứu sử dụng bộ lọc bù để thu kết quả từ hai cảm biến tốt nhất có thể Thí nghiệm được thực hiện trong phòng và cho kết quả 80% số lần đáp cánh trúng đích
Trang 12PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
UAV (Unmanned Arial Vehicle) – máy bay không người lái, được định nghĩa là một phương tiện hàng không có gắn động cơ nhưng không mang người lái, sử dụng các lực khí động học để di chuyển, có thể bay tự động hoặc thông qua bộ điều khiển từ xa,
có thể mang vũ khí chiến đấu hoặc các thiết bị điện tử khác Các phương tiện bay theo quỹ đạo, bán quỹ đạo như vệ tinh nhân tạo, tên lửa hành trình, tên lửa tầm nhiệt không được coi là một phương tiện bay không người lái Các UAV được biết đến bởi khả năng thực hiện các nhiệm vụ liên quan đến quân sự Nhanh chóng nhận thấy những ưu điểm của UAV so với cái phương tiện có người lái truyền thống, các nước có nền khoa học
kỹ thuật phát triển như Mỹ, Úc, Nga, Israel, Trung Quốc đã tập trung nguồn lực cho việc nghiên cứu và phát triển các loại UAV từ rất sớm và đã đạt được những thành tựu nhất định Ngoài thực hiện nhiệm vụ quân sự, các UAV cũng được nghiên cứu và ứng dụng vào các nhiệm vụ khoa học như quan sát núi lửa, điều tra môi trường, thám hiểm hang động hay các ứng dụng trong thương mại như giao hàng, quay phim, chụp ảnh
Quadcopter là một loại phương tiện bay dạng UAV được trang bị 4 động cơ có gắn cánh quạt ở 4 góc một khung hình chữ X hoặc chữ thập, hoạt động dựa vào các nguyên lí động học So với các UAV dạng trực thăng và UAV dạng cánh bằng thì quadcopter có ưu điểm là kết cấu cơ khí đơn giản, kích thước nhỏ nên khá linh hoạt trong phạm vi hẹp, dễ dàng làm quen và điều khiển, chi phí vận hành thấp, dễ dàng chế tạo Vì vậy nhóm quyết định lựa chọn quadcopter làm đối tượng để tìm hiểu trong nghiên cứu này, cụ thể hơn trong việc bám theo một đối tượng có màu xác định
2 Mục tiêu của đề tài
Nghiên cứu và phát triển máy bay không người lái là một chủ đề đòi hỏi kiến thức tổng quát về nhiều lĩnh vực như cơ học, động lực học, khí động lực học, mạch điều khiển, xử lý tín hiệu, xử lý nhiễu,… trong khi đây là một chủ đề khá mới mẻ, kết quả nghiên cứu trong nước chưa nhiều Vì vậy, mục tiêu của nghiên cứu này là giới thiệu tổng quan, phân tích các nguyên tắc điều khiển, nguyên tắc hoạt động, cơ sở lý thuyết
và thiết kế mô hình máy bay không người lái bốn cánh, hay quadcopter hoặc drone, với thuật toán điều khiển cân bằng đồng thời bay ổn định và có khả năng hạ cánh tự động trên một mục tiêu xác định
Trang 133 Đối tượng nghiên cứu
Đối tượng nghiên cứu của đề tài là mô hình máy bay không người lái bốn cánh, hay còn được biết với những cách gọi khác như quadcopter hoặc drone Mô hình sử dụng trong nghiên cứu là một mô hình do nhóm nghiên cứu tự thiết kế, xây dựng và lắp đặt các thiết bị phần cứng sao cho hợp lí nhất và cho kết quả hoạt động ổn định nhất Đồng thời, nghiên cứu cũng đề cập đến các thuật toán xử lý ảnh, lý thuyết về bộ lọc Kalman và ứng dụng của bộ lọc trong điều khiển Cuối cùng là sự kết hợp giữa các thuật toán điều khiển và xử lý ảnh để đạt được kết quả là một máy bay không người lái có khả năng tự động hạ cánh trên một mục tiêu xác định
4 Phạm vi nghiên cứu
Do hạn chế về kiến thức và thời gian, nghiên cứu có phạm vi như sau:
- Xây dựng mô hình bay bốn cánh thực tế
- Xây dựng thuật toán điều khiển đáp trên mục tiêu dựa theo màu sắc
- Thời lượng bay liên tục từ 5 – 10 phút
- Điều kiện bay: trong phòng
5 Ý nghĩa khoa học và ý nghĩa thực tiễn, quy mô và phạm vi áp dụng
Với các ưu điểm như tính đơn giản trong kết cấu cơ khí, tính linh động cũng như ứng dụng rất lớn vào thực tế nên các mô hình bay dạng multicopter nói chung và quadcopter nói riêng đã và đang được nhiều sinh viên các trường đại học, các phòng nghiên cứu, và các công ty trên thế giới nghiên cứu và phát triển
Việc nghiên cứu máy bay không người lái có ý nghĩa quan trọng và phạm vi ứng dụng rộng rãi liên quan đến các mục đích từ giải trí, nghiên cứu, cho đến cứu hộ và cả quân sự
Trang 14PHẦN 1: TỔNG QUAN TÀI LIỆU
1.1 Tóm lược đề tài
Tài liệu báo cáo này gồm bốn nội dung chính được chia làm bốn phần, trong đó:
Phần 1: Tổng quan tài liệu
Phần này trình bày tổng quan về đề tài, những nghiên cứu trong và ngoài nước,
từ đó chỉ ra những vấn đề cần giải quyết và đưa ra những phương án
tử sẽ trình bày về cách kết nối các khối chức năng như khối nguồn, khối điều khiển lại với nhau Và sau cùng, phương pháp điều khiển để mô hình có thể tự động đáp cánh lên
mục tiêu sẽ được trình bày
Phần 3: Kết quả – Thảo luận
Phần này được thảo luận sau khi mô hình đã được lắp ráp hoàn chỉnh và hoạt động ổn định với mục đích trình bày những kết quả đạt được khi cho mô hình chạy thử
nghiệm thực tế từ đó có những suy luận về kết quả đạt được
Phần 4: Kết luận – Đề nghị
Đánh giá các nội dung hoàn thành cũng như các mặt ưu điểm và hạn chế của đề tài từ đó đề ra hướng phát triển của đề tài trong tương lai
1.2 Các nghiên cứu điển hình trên thế giới
1.2.1 Máy bay mô hình gắn camera DJI Inspire
Hình 1.1 DJI Inspire 2
Trang 15DJI inspire 2 (hình 1.1) là một sản phẩm trong nhiều dòng multicopter được DJI, công ty chuyên về drone lớn nhất thế giới nghiên cứu và phát triển, chỉ nặng có 2.9 kg nhưng Inspire có tốc độ bay tối đa xấp xỉ 108 km/h với trọng lượng cất cánh tối đa là 3.5 kg và vận tốc lên thẳng 7m/s Bộ điều khiển của máy bay cho phép tầm hoạt động lên tới 5 km và trần bay là 3 km, pin của inspire cho phép thời gian bay lên tới 19 phút
và dặc biệt ở phiên bản DJI inspire 2 cho phép nó mang tới 2 viên pin tăng thời gian bay của máy bay lên gấp đôi Với hệ thống cảm biến được tích hợp trong thân và camera gắn bên dưới thân khiến cho Inspire có khả năng quay phim với hộ phân giải khá cao cũng như phát hiện vật cản từ khoảng cách 20m Hệ thống lái tự động với nhiều chế độ bay được nhà sản xuất lập trình sẵn giúp người sử dụng dễ dàng điều khiển cũng như giúp máy bay tự hạ cánh khi người điều khiển bị mất kiểm soát với máy bay Với những
ưu điểm ở trên cũng như giá thành, DJI inspire đang là sản phẩm bán chạy trên thị trường
1.2.2 Máy bay không người lái điều khiển bằng suy nghĩ
Các nhà nghiên cứu ở trường Đại học Minnesota ở Mỹ phối hợp với Hội Khoa học quốc gia đang thử nghiệm dùng suy nghĩ để điều khiển quadcopter thông qua một loại mũ trùm đầu thông minh (hình 1.2) Đại học Minnesota cho biết dự án này nhằm giúp nghiên cứu các thiết bị hỗ trợ cho người tàn/khuyết tật, ví dụ chân/tay máy hoặc
bộ đồ có thể điều khiển thông qua suy nghĩ Nhóm nghiên cứu hi vọng một ngày nào
đó có thể sử dụng công nghệ này để hỗ trợ các phi hành gia Ngoài ra, hình 1.3 là một nghiên cứu khác cũng có ý tưởng điều khiển drone bằng suy nghĩ ở Florida
Hình 1.2 Điều khiển Drone bằng suy nghĩ của nhóm ĐH Minnesota
Trang 16Hình 1.3 Drone điều khiển bằng suy nghĩ ở Florida
1.2.3 Máy bay không người lái trong cứu hộ
Hình 1.4 Máy bay không người lái Little Ripper của Úc
Máy bay không người lái hiện tại đặc biệt đang được quan tâm trong lĩnh vực hỗ trợ cứu hộ Nhờ vào khả năng di chuyển linh hoạt, có thể bay vào và quay trở ra những khu vực nguy hiểm mà khó có thể đưa đội cứu hộ hoặc máy bay trực thăng vào, máy bay không người lái đang dần thay thế con người trong những nỗ lực đó, những công việc mà những nhà nghiên cứu đánh giá là sẽ phải hao tốn rất nhiều thời gian và sức lực nếu phải thực thi bằng con người Ngoài ra, máy bay không người lái còn được ứng dụng để tiếp tế lương thực và thuốc vào những khu vực dịch bệnh hay những vùng đang
bị kiểm dịch, không khí độc hại Hình 1.4 là hình của chiếc máy bay Little Ripper đã cứu sống hai người bơi gặp nạn trên biển trong chuyến cứu hộ được cho là đầu tiên trên thế giới bằng drone tại Úc
Trang 171.3 Các nghiên cứu trong nước
1.3.1 Nghiên cứu của sinh viên các trường đại học
Đề tài về quadcopter là một đề tài khá mới và thu hút được nhiều sự quan tâm của sinh viên Nhiều đề tài xây dựng mô hình bay quadcopter đã được chọn để nghiên cứu trong luận án tốt nghiệp cũng như nghiên cứu khoa học của sinh viên Tuy nhiên,
vì là một đề tài mới, đòi hỏi tổng hợp nhiều kiến thức tổng hợp của các ngành khoa học cộng với sự hạn chế kinh nghiệm trong lĩnh vực nghiên cứu UAV nên hầu hết các đề tài về drone của sinh viên đều còn tồn tại một số vấn đề chưa khắc phục được
Hình 1.5 Drone được nghiên cứu bởi nhóm sinh viên Phòng thí nghiệm Hệ thống
thông minh Trường Đại học Sư phạm Kỹ thuật Tp.HCM
Mô hình của nhóm sinh viên ngành Điện – Điện tử Đại học Sư phạm Kỹ thuật
Tp Hồ Chí Minh chưa giải quyết triệt để vấn đề nhiễu của cảm biến gia tốc, chỉ dùng tín hiệu từ gyroscope để điều khiển nên mô hình vẫn chưa cân bằng (hình 1.5)
Hình 1.6 Mô hình quadcopter của sinh viên Trường Đại học Bách khoa Đà Nẵng
Trang 18Nhóm sinh viên của trường đại học Bách khoa Đà Nẵng đã khắc phục được vấn
đề nhiễu của cảm biến gia tốc kết hợp với tín hiệu từ gyroscope nên mô hình có độ ổn định khá tốt khi bay (hình 1.6)
1.3.2 Nghiên cứu cho mục đích quân sự
Ở các cấp độ nghiên cứu cao hơn cùng với những đề tài có tính phức tạp lớn, tình hình nghiên cứu thiết bị bay không người lái mà cụ thể là quadcopter đã đạt được các kết quả rất khả quan Nhiều mô hình đã đáp ứng được các yêu cầu đặt ra Tính phức tạp của hệ thống cũng được nâng cao với nhiều loại cảm biến khác nhau Đi đầu trong lĩnh vực này hiện nay vẫn là các phòng, trung tâm nghiên cứu kỹ thuật thuộc bộ quốc phòng với hàng chục mẫu máy bay không người lái khác nhau phục vụ cho các nhiệm
vụ quân sự, nghiên cứu khoa học, quan sát trên không, tìm kiếm cứu nạn Hình 1.7 là một mô hình Quadcopter MD4-1000 của Bộ quốc phòng Việt Nam
Hình 1.7 Mô hình Quadcopter MD4-1000 của Bộ quốc phòng Việt Nam
Trang 19chủ đề này Thuật toán điều khiển kết hợp giữa điều khiển thông thường và kĩ thuật xử
lý ảnh, sử dụng một camera quan sát để xác định mục tiêu và hạ cánh ngay trên đó sao cho an toàn và chính xác nhất
Trang 202.1 Cơ sở lý thuyết của máy bay không người lái
2.1.1 Lý thuyết điều khiển bay
Quadcopter là một mô hình bay hay thiết bị bay không người lái còn gọi là UAVs (Unmanned Aerial Vehicles) gồm 4 động cơ Bốn cánh quạt được gắn trên 4 động cơ giúp tạo lực nâng cho phép quadcopter bay lên khi cánh quạt (Hình 2.1) Cặp cánh quạt phía trước (Front) và phía sau (Back) quay ngược chiều kim đồng hồ, trong khi đó cặp cánh bên phải (Right) và bên trái (Left) lại quay thuận chiều kim đồng hồ nhằm cân bằng moment xoắn được tạo ra bởi các cánh quạt trên khung Cả 4 cánh phải sinh ra một lực đẩy bằng nhau khi Quadcopter cất cánh và hạ cánh (Throttle Up/Down) Góc xoay (Roll) được điều khiển bằng cách thay đổi tốc độ giữa cánh bên phải và bên trái sao cho vẫn giữ nguyên tổng lực đẩy sinh ra bởi cặp cánh này Tương tự như vậy, góc nghiêng (Pitch) được điều khiển bằng thay đổi tốc độ của 2 cánh phía trước và phía sau
mà vẫn giữ nguyên tổng lực đẩy Trong khi đó, góc lệch (Yaw) được điều khiển nhờ vào sự thay đổi tốc độ của cặp cánh phải – trái so với tốc độ của cặp cánh trước–sau mà tổng lực đẩy 4 cánh vẫn không đổi để Quadcopter giữ được độ cao [1-6] Hình 2.1 mô
tả chuyển động cơ bản của quadcopter
Hình 2.1 Chuyển động cơ bản của quadcopter
Trang 212.1.2 Mô hình động học và khí động học của quadcopter
2.1.2.1 Mô hình động học
Nguyên lý hoạt động chính của mô hình này hoạt động dựa trên sự chuyển động của các dòng khí do cánh máy bay tạo ra di chuyển xuống dưới làm vật bay lên trên và
sự điều chỉnh vận tốc từng động cơ sẽ làm thay đổi hướng bay của Quadcopter Để mô
tả các chuyển động của một khung cứng 6 bậc tự do cần 2 hệ quy chiếu [1-6]
Hình 2.2 mô tả 2 hệ quy chiếu của quadcopter
Hình 2.2 Các hệ quy chiếu của quadcopter
Trong đó: E A: Hệ quy chiếu quán tính Trái Đất
E B: Hệ quy chiếu khung Quadcopter
Vec-tơ vị trí và vận tốc theo hệ quy chiếu Oxyz được mô tả như sau:
Trang 22Sự đinh hướng Quadcopter được biểu thị bởi 3 góc Euler qua ma trận xoay:
𝑅 = [
𝑐𝜙 𝑐𝜓− 𝑐𝜃 𝑠𝜙 𝑠𝜓 −𝑠𝜙 𝑐𝜓− 𝑐𝜃 𝑐𝜙 𝑠𝜓 𝑠𝜃 𝑠𝜓
𝑐𝜃 𝑠𝜙 𝑐𝜓+ 𝑐𝜙 𝑠𝜓 𝑐𝜃 𝑐𝜙 𝑐𝜓− 𝑠𝜙 𝑠𝜓 −𝑠𝜃 𝑐𝜓
𝑠𝜃 𝑠𝜙 𝑠𝜃 𝑐𝜙 𝑐𝜃 ] (2.4) Lực nâng của các rotor:
2
,( 1, 2,3, 4)
F b i (2.5) Lực nâng cho cả hệ thống được mô tả bởi công thức (2.16):
𝑇 = ∑ |𝐹𝑖| = ∑ 𝜔𝑖2
4
𝑖=1
(2.6)4
𝑖=1Phương trình quán tính của Quadcopter:
) − 𝑅 𝑇
𝑚 (
001) (2.7) Hình 2.3 mô tả mô hình moment quay chi tiết
Hình 2.3 Mô hình moment quay chi tiết
Mối quan hệ giữa ma trận quán tính và moment quay:
I R = (I x, I y, I z ) (2.8)
𝑀𝐺: 𝐼 Ω̈= -(Ω̈.I.Ω̇) - 𝑀𝐺+ 𝑀 (2.9)
Trang 23Ta có momen quay hồi chuyển phụ thuộc vào các yếu tố vận tốc xoay với u1, u2,
u3, u4 lần lượt là các đơn vị momen quay các chuyển động roll, picth, yaw hay vận tốc
quay uT = ( u1, u2, u3, u4 ) và vận tốc góc máy bay sẽ đạt được (2.10) i
𝑔(𝑢) = 𝜔1+ 𝜔2+ 𝜔3+ 𝜔4 (2.10)Kết hợp các phương trình trên ta có hệ phương trình động học:
𝑥̈=−(cos ∅ sin 𝜃 cos 𝜓 + 𝑠𝑖𝑛∅ sin 𝜓).𝑢1
𝑚 (2.11) 𝑦̈=−(cos ∅ sin 𝜃 cos 𝜓 − 𝑠𝑖𝑛∅ cos 𝜓).𝑢1
𝑚 (2.12) 𝑧̈=𝑔 − (cos ∅ cos 𝜃).𝑢1
Việc tính toán khí động học mô tả các tác động khi quay của cánh quạt trong
không khí Với các thông số: TMT (N) là lực đẩy của cánh quạt hướng lên, S (m2) là
diện tích của quạt, s( kg/m3) là mật độ không khí
Ta có phương trình của lực đẩy (2.17):
P I
IMU (inertial Measurement Unit) là một thiết bị điện tử đo và xác định các giá
trị vận tốc, phương hướng, gia tốc trọng trường của một phương tiện chuyển động, điển
hình là máy bay, tên lửa hay các thiết bị bay trong không gian, các thiết bị di chuyển
trên biển và các thiết bị di chuyển trên bộ IMU sử dụng kết hợp các loại cảm biến bao
Trang 24gồm: cảm biến gia tốc (acclesrometers), con quay hồi chuyển (Gyroscopes) và cả cảm biến từ trường ( magnestometer ) tùy theo yêu cầu của thiết bị IMU thường được dùng
để điều khiển quá trình chuyển động của các phương tiện có người lái hoặc robot tự hành [7-8]
Đơn vị đo lường quán tính là thành phần chính của hệ thống dẫn đường quán tính INS ( Inertial Navigation System) được sử dụng hầu hết trong các kỹ thuật hàng hải, hàng không, phương tiện đường bộ cũng như trong robot tự hành Các dữ liệu thu thập được từ các cảm biến trong hệ thống IMU cho phép máy tính có thể xác dịnh vị trí của phương tiện chuyển động bằng cách sử dụng phương pháp dẫn đường dự đoán (dead-reckoning)
Hệ thống INS được cấu thành bởi 2 thành phần là IMU và Navigation computer (máy tính dẫn đường)
Nhược điểm cơ bản nhất của IMU trong viêc ̣ định vi ̣đó là chúng thường bi ̣lỗi tích lũy theo thời gian Bởi vì hê ̣thống dẫn đường cập nhật liên tục những thay đổi được phát hiện dựa vào vi ̣trí đã được tính toán trước đó, bất kì một sai số nào trong quá trình
đo lường dù là nhỏ cũng sẽ được tích lũy dần theo thời gian Điều này dẫn đến việc trôi các giá trị các đại lượng tính toán dẫn đến sự thay đổi khác biệt ngày càng tăng lên giữa giá tri ̣vị trí mà hệ thống tính toán được và giá trị thực tế của thiết bị Vì vậy nên IMU thường chỉ là một thành phần trong hệ thống định vị Để đảm bảo độ chính xác của hệ thống dẫn đường, các khối thiết bị khác điển hình là module GPS (Global Positon system), cảm biến trọng trường, cảm biến vận tốc bên ngoài ( để bù sự trôi vận tốc), hệ thống đo khí áp ( dùng đo khí áp để hiệu chỉnh giá trị độ cao), cảm biến la bàn điện tử (giúp xác định từ trường ) có nhiệm vụ hiệu chỉnh các giá trị sai lệch IMU mắc phải trong quá trình chuyển động của thiết bị
Hình 2.4 mô tả các góc trong hệ quy chiếu [2-6]
Trang 25Hình 2.4 Góc Roll, Pitch, Yaw
2.1.3.2 Phương pháp Quaternion xác định góc nghiêng trong không gian
Đây là hê ̣thống số được phát triển mở rộng từ hê ̣thống số phức, được định nghĩa lần đầu tiên bởi nhà toán học người Ai-len Sir William Rowan Hamilton vào năm 1843
và được ứng dụng để phân tích không gian 3 chiều
Một quaternion q được định nghĩa như sau: công thức (2.19)
w ix
q jy kz hay q w v (2.19) Trong đó:
W là đại lượng vô hướng chỉ độ lớn
V là một vector trong không gian 3 chiều ( i, j, k là 3 vector đơn vị trục tọa độ Oxyz)
Quaternion có thể hiểu là một tọa độ không gian 4 chiều và chúng được ứng dụng trong các phép quay không gian
Ngoài ra ta cũng có thể định nghĩa quaternion như sau:
Áp dụng vào phép quay không gian Với vector trục quay u ( u là 1 vector vị đơn
vị, u x2u y2u y2 ) và góc quay thì ta sẽ có một quaterion quay Khi đó ta được ma 1trận xoay trong không gian 3 chiều:
Trang 26Các giá trị cảm biến sau khi được xử lý bằng bộ xử lý DMP (Digital Motion Processor) Các giá trị ta có thể thu được trong đó có giá trị quaternion Tuy nhiên dựa vào quaternion ta chưa thể hình dung các góc mà máy bay đang nghiêng chính là các góc yaw, pitch, roll Chính vì thế ta cần chuyển đổi từ quaternion sang các góc Euler (yaw, pitch, roll) với công thức như sau:
2.1.3.3 Cảm biến MPU 6050
Cảm biến MPU là một trong những cảm biến đang được dùng nhiều trong các
hệ thống IMU Cảm biến MPU có hai cảm biến chính của hệ thống IMU là cảm biến Gyro và cảm biến Accelerometer Hiện nay cảm biến MPU vẫn đang được nghiên cứu phát triển hoàn thiện hơn như thêm một số cảm biến đo từ trường và cảm biến đo áp suất khí quyển để xác định chiều cao [7-8]
2.1.3.3.1 Gyroscope
Gyro (gyroscope) hay con quay hồi chuyển, là một thiết bị đo đạt hoặc duy trì phương hướng, dựa trên các nguyên tắc bảo toàn mô men động lượng Hiện nay gyro
Trang 27gồm 3 loại là: Gyro cơ học (Spinning Mass Gyro), Gyro điện tử (MEMS Gyro), Gyro quang học(Optical Gyro) Nghiên cứu này chỉ đề cập đến Gyro điện tử
Gyro điện tử (Hình 2.5) hay còn gọi là gyro rung (Vibrating Gyroscope) đo vận
tốc xoay của vật, với chuyển động ngõ vào và ngõ ra là chuyển động tịnh tiến ( thường
là dao động) Với cấu tạo gồm một khối proof mass dao động theo một phương được gọi là phương sơ cấp Khi khối này bị quay quanh một trục làm xuất hiện lực Coriolis khiến nó có thêm dao động theo phương khác, gọi là phương thứ cấp Trên phương chuyển động thứ cấp này có gắn bản cực tụ điện để nhận biết sự thay đổi điện dung gây bởi chuyển động này và từ đó suy ra vận tốc xoay, đây chính là giá trị cần đo của gyro – cảm biến vận tốc góc Với giá thành thấp hơn hẳn so với các loại gyro khác, gyro điện được ứng dụng nhiều trong lĩnh vực dân dụng Công nghệ chế tạo các vi cơ cấu, vi cảm biến và hệ thống vi cơ điện (MEMS- micro electromechanical system) đang phát triển nhanh chóng trên toàn thế giới, và ngày càng được ứng dụng nhiều để sản xuất ra những thiết bị đo quán tính với sản lượng lớn và giá thành hạ Cảm biến gyro rung vi cơ (micromechanical vibrating gyro) hay cảm biến đo vận tốc góc có tiềm năng rất lớn trong nhiều ứng dụng như là những cảm biến cơ sở trong lĩnh vực dò đường và điều khiển Các cảm biến MEMS thường không có độ chính xác cao và giá thành rất thấp Tuy nhiên khả năng hoat động của cảm biến có thể được nâng cấp nhờ các công cụ khác như các bộ lọc để xử lý tín hiệu
Hình 2.5 Gyro điện tử
2.1.3.3.2 Xử lý tính hiệu từ Gyro
Giá trị trả về từ gyro là vận tốc góc Với giá trị này ta chỉ có thể xác định được vận tốc chuyển động và hướng chuyển động mà không thể xác định được góc quay Vì vậy ta cần chuyển vận tốc góc sang góc bằng cách tích phân theo thời gian
Trang 28Phương trình dùng để tính vận tốc thay đổi góc Euler từ Gyro như sau:
t t t
là đại lượng hữu hướng (vector)
Gia tốc kế (Accelerometer) là thiết bị dùng để đo sự thay đổi của đại lượng gia tốc Ngày này các cảm biến gia tốc không còn xa lạ với thế giới công nghệ, nó là một trong những thành phần quan trọng của các thiết bị điện tử như smartphone, máy tính bảng, các hệ thống dẫn đường, hệ thống ổn định trong camera hay các thiết bị có sự nhận biết về độ nghiêng khác Gia tốc kế cho phép ta biết khi nào thiết bị được di chuyển khỏi vị trí ban đầu cũng như di chuyển như thế nào nhờ vào việc ghi nhận sự thay đổi của gia tốc theo cả phương và chiều như chúng ta biết thì đơn vị của gia tốc là m/s2 Tuy nhiên đối với các hệ thống đo lường quán tính thì cảm biến gia tốc kế thường có đơn vị là g (g = 9.8 m/s2 là gia tốc trọng trường) Như vậy việc đo gia tốc chính là đo
sự thay đổi giữa gia tốc động học trong không gian quán tính so với gia tốc trọng trường
Để hiểu cách xác định gia tốc trong không gian Ta có thể dựa vào mô hình sau:
Trang 29Hình 2.6 Gia tốc của viên bi theo trục z
Hình trên là một viên bi được đặt trong một hộp vuông (khối lượng = 1 đơn vị) Xét hệ Oxyz tương ứng với các mặt của hình hộp Khi không có tác động từ bên ngoài tức là hình hộp đứng yên Khi đó viên bi chỉ chịu một lực hướng xuống theo trục z, đó
là gia tốc trọng trường g (z = -1g) Nếu ta duy chuyển khối hộp thì viên bi sẽ lăn và tác động vào các bề mặt khác của khối hộp, như vậy lực theo trục x, y, z sẽ thay đổi
Hình 2.6 mô tả gia tốc của viên bi theo trục z
Hình 2.7 mô tả gia tốc viên bi theo hai trục x, z
Hình 2.7 Gia tốc theo hai trục x, z
Dựa vào sự thay đổi lực hay gia tốc g tác động lên các trục x, y, z ta sẽ xác định được phương và chiều chuyển động của vật, ngoài ra ta cũng có thể xác định được góc quay của vật khi xoay quanh trục
Trang 30Phần lớn các cảm biến gia tốc là các cảm biến điện thay cho cảm biến cơ Sự thay đổi của gia tốc sẽ làm các thành phần điện thay đổi theo nhờ vào việc gắn thêm một cuộn dây bên ngoài proof mass Khi có sự dịch chuyển nhỏ của proof mass thì sẽ sinh ra 1 dòng điện trong cuộn dây, tạo ra một lực điện từ theo chiều ngược lại Đo dòng điện trong cuộn dây ta sẽ xác định được chiều và độ lớn của gia tốc
Với sự phát triển của công nghệ MEMS (microelectromechanical systems)các loại gia tốc kế được sản xuất hàng loạt với giá thành thấp và chất lượng khá tốt
2.1.3.3.4 Xử lý tín hiệu từ cảm biến gia tốc
Hình 2.8 Tính toán góc nguyên (Tilt) từ cảm biến gia tốc
Hình 2.8 mô tả cách tính toán góc nguyên từ cảm biến gia tốc
Dựa vào gia tốc đo được theo các trục x, y, z ta sẽ xác định các góc nghiêng roll, pitch Trong hệ tọa độ tương đối XbYbZb ta có các giá trị gia tốc trọng trường: Xb =
Yb = 0 và Zb = 1g Chuyển sang hệ tọa đọ tuyệt đối ta sẽ có các giá trị theo các trục tương ứng x, y, z là Ax, Ay, Az
Dựa vào công thức biểu diễn mối quan hệ giữa hệ tọa độ tuyệt đối và tương đối:
Trang 31Từ đó suy ra các góc:
cos
y A Roll
(2.28) Góc Pitch arcsin( )A x (2.29) Lưu ý: các Ax, Ay, Az đã được chuẩn hóa, tức phải thỏa điều kiện:
Cảm biến gia tốc luôn có độ lệch trên mỗi trục nên giá trị đo thường hơi khác so với giá trị thực tế Ngoài ra, giá trị của gia tốc thường khá can thiệp làm cho việc đo lường càng thêm khó khăn
Con quay hồi chuyển (gyro), cũng như gia tốc, cũng có độ lệch trong các giá trị
đo được Một vấn đề khác có thể gặp phải với con quay hồi chuyển là sự trôi tín hiệu,
có nghĩa là tín hiệu thay đổi dần dần theo thời gian Tuy nhiên, điểm cộng là con quay hồi chuyển ít nhạy cảm với nhiễu hơn là cảm biến gia tốc
Các giải pháp được đặt ra để giải quyết những vấn đề này Với offset là hằng số, chỉ cần đo giá trị đó và thực hiện phép trừ giữa giá trị đo được và giá trị bù trừ Với tín hiệu nhiễu, chúng ta có thể sử dụng một bộ lọc thông thấp, sự trôi dạt của con quay hồi chuyển có thể được xử lý bằng cách sử dụng bộ lọc thông cao vì độ trễ khá chậm
Một cách khác, để đo chính xác góc quay, có một giải pháp rất phổ biến là sử dụng cả gyro và gia tốc để đo góc và sử dụng một số thuật toán để gộp hai giá trị này lại với nhau để thu được kết quả chính xác Một số thuật toán thường được sử dụng là:
Trang 32- Bộ lọc bù: Đây là bộ lọc đơn giản nhưng hiệu quả nhất
- Bộ lọc Kalman: hơi phức tạp nhưng phổ biến nhất và rất hiệu quả
- Bộ lọc Mahony và bộ lọc Madgwick: Đây là những bộ lọc khá mới so với phần trên nhưng cũng rất hiệu quả
Một bộ lọc bù cho thấy hiệu quả nhất trong trường hợp này Trong thời gian ngắn, dữ liệu từ con quay hồi chuyển (gyrData) được sử dụng vì độ chính xác cao Về lâu dài, dữ liệu từ gia tốc kế (accData) được sử dụng vì nó không trôi dạt Ở dạng đơn giản nhất, công thức lọc trông như sau [7-8]:
angle = alpha*(angle + gyrData*dt) + (1-alpha)*accData (2.31)
Trong phương trình (2.41), alpha là hệ số lọc (0 <alpha <1) và angle là đầu ra
của bộ lọc Giá trị góc quay được cập nhật mỗi vòng lặp Bộ lọc sẽ kiểm tra xem các giá trị đo được từ gia tốc có hợp lý hay không Nếu bất kỳ giá trị nào quá lớn hoặc quá nhỏ, đó là nhiễu và bộ lọc bù sẽ cố gắng giảm ảnh hưởng của nhiễu này để tính toán tốt hơn Ví dụ, nếu alpha là 0,98, bộ lọc sẽ cập nhật lại góc để tính bằng cách lấy 98% giá trị hiện tại được tính bằng con quay hồi chuyển và thêm 2% giá trị góc tính bằng gia tốc
kế Nó luôn được đảm bảo rằng các giá trị đo được sẽ không trôi dạt và cũng rất chính xác trong ngắn hạn
Hình 2.9 cho thấy một tín hiệu ban đầu (màu xanh) và tín hiệu được xử lý (màu đỏ) với một bộ lọc bù
Hình 2.9 Tín hiệu được xử lý với bộ lọc bù
2.1.4 Bộ điều khiển PID
Một hệ thống muốn hoạt động ổn định, thì bộ điều khiển đóng vai trò rất quan trọng Nó có vai trò như bộ não, trung tâm điều khiển, giúp hệ thống xử lý các tín hiệụ
Trang 33đo về từ thực tế sau đó hiệu chỉnh xuất tín hiệu ngõ ra phù hợp với set point đặt vào bộ điều khiển Trên thực tế, có rất nhiều bộ điều khiển như bộ điều khiển trượt, bộ điều khiển LQR, bộ điều khiển LQG, bộ điều khiển PID… Tùy thuộc vào mô hình hệ thống
và yêu cầu mà ta lựa chọn bộ điều khiển sao cho phù hợp và giải quyết được bài toán đặt ra tối ưu nhất Mỗi bộ điều khiển đều có ưu nhược điểm riêng, ở đây ta xét về bộ điều khiển PID số
Bộ PID (Propotional Integral Derivative) là bộ điều khiển vi tích phân tỉ lệ Tuy
đã ra đời rất lâu, nhưng đến nay luật điều khiển PID vẫn được dùng nhiều trong các ứng dụng điều khiển các mô hình, hệ thống tự động Bộ PID có khả năng điều khiển hệ thống đáp ứng tốt các chỉ tiêu chất lượng như thời gian quá độ ngắn, đáp ứng nhanh, triệt tiêu được sai lệch tĩnh, giảm độ vọt lố cho hệ thống Giải thuật PID có sơ đồ khối vòng kín như hình 2.10
Hình 2.10 Bộ điều khiển PID Trong đó:
- r(t): Điểm đặt
- u(t): Tín hiệu điều khiển
- y(t): Tín hiệu đo từ hệ thống
- e(t) = r(t) – y(t): Sai khác giữa giá trị điểm đặt và tín hiệu đo
Phương trình tín hiệu của bộ điều khiển PID:
𝑢(𝑡) = 𝐾𝑝 𝑒(𝑡) + 𝐾𝑖∫ 𝑒(𝑡)𝑑𝑡 + 𝐾𝑑𝑑𝑒(𝑡)
𝑑𝑡 (2.32) Trong đó:
- Kp: Độ lợi tỉ lệ
- Ki: Độ lợi tích phân
Trang 34- Kd: Độ lợi đạo hàm
Các tham số Kp, Ki, Kd sẽ ứng với các khâu như khâu tỉ lệ, khâu tích phân và khâu vi phân bộ điều khiển Thành phần tỉ lệ u(t)= kp*e(t) đóng vai trò lớn trong quá trình quá độ, kp càng lớn thì hệ thống đáp ứng càng nhanh Tuy nhiên nếu kp quá lớn thì tín hiệu điều khiển càng lớn gây ra hệ thống dao động mạnh, độ vọt lố tăng cao khó đạt được giá trị set point, đồng thời làm hệ thống sẽ nhạy với nhiễu Thành phần tích phân u t( ) Ki e t dt ( ) có ưu điểm lớn nhất là triệt tiêu sai số e(t) = 0, khi ở trạng thái xác lập Vì khi hệ thống tồn tại e(t) > 0 thì khâu tích phân sẽ làm tăng tín hiệu điều khiển và ngược lại khi e(t) < 0 thì sẽ giảm tín hiệu điều khiển Tuy nhiên, nhược điểm thành phần tích phân chính là tác động bộ điều khiển sẽ đáp ứng chậm, đôi khi làm xấu đi đặc tính động học của hệ thống hoặc làm hệ thống mất ổn định nếu ki quá lớn Thành phần vi phân u t( ) Kd.de t( )
dt
có nhiệm vụ như bộ phanh trong bộ điều khiển PID, có thể dự đoán trước được giá trị ngõ ra từ đó điều chỉnh đầu ra phù hợp với thay đổi sai số, làm tăng tốc độ đáp ứng của hệ Ngoài ra, khâu vi phân giúp hệ thống ổn định một số quá trình mà các khâu tỉ lệ và tích phân không làm được Nhược điểm của khâu vi phân là rất nhạy với nhiễu đo hay giá trị đặt do tính đáp ứng nhanh
Trong điều khiển tự động có rất nhiều phương pháp chỉnh định và lựa chọn thông
số cho bộ điều khiển PID Do đó, tùy thuộc vào đối tượng điều khiển và yêu cầu bài toán đặt ra mà ta chọn phương pháp điều khiển sao cho phù hợp như phương pháp giải tích, phương pháp Ziegler- Nichols, điều chỉnh thông số PID bằng thuật toán di truyền, thuật toán bầy đàn, v.v…Tuy nhiên, ngoài thực tế thì kinh nghiệm cũng là một trong những phương pháp quan trọng và được sử dụng rộng rãi Phương pháp lựa chọn thông
số theo kinh nghiệm ta quan tâm tới tác động của từng thông số trong bảng 2.1, gồm 3 bước như sau: bước 1 điều chỉnh 2 thông số Ki = Kd = 0, sau đó tăng từ từ giá trị Kp sao cho ngõ ra dao động xung quanh giá trị đặt Bước 2 ta giữ nguyên giá trị kp vừa chỉnh định và giá trị Ki = 0 sau đó, tăng dần giá trị Kd sao cho hệ thống tăng đáp ứng ngõ ra và giảm độ vọt lố cuối cùng ta tăng hệ số ki đến giá trị phù hợp sao cho hệ thống
có đủ thời gian xử lý và giảm sai số về không khi hệ thống ở trạng thái xác lập
2.1.4.1 Khâu tỉ lệ
Khâu tỉ lệ làm thay đổi giá trị đầu ra tỉ lệ với giá trị sai số hiện tại
Trang 35e(t) là sai số theo thời gian
Khi có sự thay đổi lớn ở đầu ra mà sai số thay đổi nhỏ sẽ làm độ lợi của khâu tỉ
lệ lớn Nếu độ lợi của khâu tỉ lệ quá lớn sẽ làm hệ thống không ổn định Ngược lại, độ lợi nhỏ là do đáp ứng đầu ra nhỏ trong khi sai số đầu vào lớn điều này sẽ làm bộ điều khiển kém nhạy hoặc đáp ứng chậm Nếu độ lợi của khâu tỉ lệ quá thấp thì có thể dẫn tới đáp ứng điều khiển không thỏa mản yêu cầu hệ thống khi có nhiểu tác động Hình 2.11 mô tả đáp ứng của khâu tỉ lệ
Hình 2.11 Đồ thị đáp ứng Kp
2.1.4.2 Khâu tích phân
Ngõ ra của khâu tích phân tỉ lệ với cả biên độ sai số lẫn khoảng thời gian sai số Đây là khâu tích lỹ sai số hay cộng dồn sai số theo thời gian, sai số tích này được nhân với một hằng số Ki để ngõ ra phù hợp hơn với yêu cầu đáp ứng của từng hệ thống
0
( )
t out i
Trang 36Khâu tích phân giúp tăng tốc độ đáp ứng của hệ thống để hệ thống nhanh đạt tới điểm đặt và khử dư sai số ổn định Tuy nhiên vì khâu tích phân tích lũy sai số nên nó
có thể khiến giá trị hiện tại vọt lố qua giá trị đặt
Hình 2.12 mô tả đáp ứng của khâu tích phân
Hình 2.12 Đồ thị đáp ứng Ki
2.1.4.3 Khâu đạo hàm (vi phân)
Vi phân thể hiện tốc độ thay đổi sai số hay độ dốc sai số theo thời gian (đạo hàm bậc 1 theo thời gian), tốc độ này được nhân với 1 hằng số độ lợi Kd tạo thành khâu vi phân Hằng số Kd này sẽ giới hạn biên độ ngõ ra khâu vi phân
2.1.4.4 Tinh chỉnh bộ điều khiển PID
Có nhiều phương pháp để có thể tìm ra các hệ số Kp , Ki , Kd phù hợp như phương pháp thủ công, phương pháp Ziegler – Nichols, phương pháp Cohen – Coon
Trang 37Tuy nhiên đối với các hệ thống khác nhau sẽ phù hợp hơn với mỗi phương pháp Một phương pháp được sử dụng nhiều là phương pháp thủ công và dựa vào kinh nghiệm phân tích hệ thống
Phương pháp thủ công và dựa vào kinh nghiệm: trước tiên cần có cái nhìn tổng quan về hệ thống, các yếu tốc tác động vào làm mất ổn định hệ thống, tìm hiểu phân tích hoạt động của đối tượng để từ đó phán đoán cần sử dụng bộ điều khiển nào cho hợp
lý hoặc có thể thử từng bộ một (PID, PI, PD,…)
Đối với bộ điều khiển PID hoặc PD: đầu tiên cho khởi động hệ thống làm việc bình thường với các hệ số Kp = Ki =Kd = 0 Đánh giá hoạt động của hệ thống trước khi
sử dụng PID, sau đó tăng Kp để tạo dao động, tức hệ thống có sự đáp ứng lại đối với nhiểu, có thể tăng hệ số Kp đến một giá trị tạm được, giá trị có thể làm cho hệ thống đủ đáp ứng và chấp nhận vọt lố hay dao động Tiếp theo ta tăng Kd, lúc này thành phần vi phân sẽ đóng vai trò làm phanh thắng giúp hệ thống chống lại sự dao động làm giảm mức độ vọt lố, tăng Kd cho tới khi nào thấy đáp ứng khá tốt, mới chỉ hiệu chỉnh Kp, Kd chúng ta cũng có thể tìm được một cặp hệ số Kp, Kd phù hợp với hệ thống, nếu không tìm được hệ số Kd phù hợp thì ta có thể tăng hoặc giảm Kp sau đó lại hiệu chỉnh Kd Nếu hệ thống ổn định nhưng chưa về điểm đặt thì ta có thể thêm thành phần Ki giúphệ thống có thể về điểm đặt và giúp quá trình nhanh hơn Nhưng nếu tăng Ki quá lớn hệ thống rất dễ mất ổn định
2.1.5 Xử lý ảnh
2.1.5.1 Thư viện OpenCV
Những năm gần đây, một khái niệm mới trong lĩnh vực khoa học máy tính đã ra đời, đó là khái niệm “Computer vision” – “Thị giác máy tính” mà một phân ngành gần với nó là kỹ thuật xử lý hình ảnh (gọi tắt là “xử lý ảnh”) Xử lý ảnh là một phân ngành trong xử lý tín hiệu số, với tín hiệu xử lý là hình ảnh số Hình ảnh được xử lý có thể là ảnh tĩnh, hoặc những frame ảnh được cắt ra từ video Kể từ khi ra đời, kỹ thuật xử lý ảnh đã hỗ trợ con người trong rất nhiều lĩnh vực, như y học với máy chụp cắt lớp (chụp
CT – Computer Tomography), trong đời sống hằng ngày như nhận dạng biển số xe, nhận dạng khuôn mặt, nhận dạng chữ viết tay, nhận dạng chuyển động trong bóng tối,
xử lý ảnh thiên văn, v.v… Bên cạnh đó, kỹ thuật xử lý ảnh phát triển đã cung cấp thêm
sự lựa chọn cho những nhà phát triển robot, khi mà giờ đây, robot có thể sử dụng camera
Trang 38giúp thu thập và xử lý tín hiệu ảnh nhằm nhận biết với thế giới bên ngoài tốt hơn, toàn diện hơn và ở khía cạnh nào đó là gần gũi với cách hoạt động của con người hơn
Kỹ thuật xử lý ảnh xem hình ảnh là một ma trận hai chiều, mỗi điểm ảnh (pixel)
là một phần tử của ma trận hai chiều đó, từ đó sử dụng những phép tính, phép biến đổi toán học trên ma trận để xử lý hình ảnh, nhằm đạt được những mục đích như: nhận dạng khuôn mặt, nhận dạng đường biên, nhận dạng chữ viết tay, v.v… trong một số yêu cầu đặt biệt, như tính khoản cách và kích thước của vật, thông số về máy ảnh được sử dụng
để chụp ảnh cũng cần được biết đến, như thông số về tiêu cự, kích thước cảm biến, v.v… Hiện nay, kỹ thuật xử lý ảnh có thể được tiếp cận từ hai hướng, đầu tiên là sử dụng bộ công cụ Image Processing và Image Acquistion của phần mềm Mathlab cho hãng MathWorks phát hành, hướng thứ hai là sử dụng thư viện mã nguồn mở OpenCV
Phần mềm Matlab là một phần mềm lập trình và mô phỏng hướng đối tượng rất mạnh được rất nhiều kỹ sư, nhà khoa học và những tổ chức nghiên cứu sử dụng Mathlab
có thể lập trình để xử lý, mô phỏng hầu như tất cả mọi lĩnh vực, mọi hiện tượng, mọi đối tượng trong đời sống, giúp các nhà khoa học có thể xây dựng những mô hình toán của đối tượng nhằm nghiên cứu những tác động và ảnh hưởng vốn không thể thực hiện trong thực nghiệm đến đối tượng đó, từ đó có thể đưa ra những dự báo, chẩn đoán và sữa chữa những sai sót, khuyết điểm của đối tượng kịp thời Matlab hỗ trợ cho người
sử dụng rất nhiều bộ công cụ, trong đó hai bộ công cụ Image Processing và Image Acquistion chuyên dùng để xử lý ảnh Điểm trừ lớn nhất của Matlab xuất phát từ điểm mạnh lớn nhất của phần mềm này, đó là tính hỗ trợ mạnh mẽ cho người dùng, điều này dẫn đến yêu cầu phần cứng khi chạy chương trình Matlab là rất cao, đặc biệt là những phiên bản R2012 trở về sau Khi hoạt động, Matlab chiếm rất nhiều tài nguyên của hệ thống, vì vậy không thích hợp để chạy trên những thiết bị cầm tay như máy tính bảng hoặc điện thoại di động Bên cạnh đó, Matlab sử dụng ngôn ngữ lập trình riêng của mình, trong khi đa phần những robot hiện tại được lập trình bằng ngôn ngữ C/C++, chính vì vậy, ta rất khó để nhúng Matlab vào chương trình xử lý ảnh cho robot Robot
di chuyển bám mục tiêu mà nhóm đang xây dựng hướng đến tính nhỏ gọn và linh hoạt, phần ghi hình và xử lý hình ảnh được đảm nhiệm bởi một điện thoại chạy hệ điều hành Android, vì vậy, chương trình Matlab không thích hợp để sử dụng trong trường hợp này
Trang 39Nhằm giải quyết vấn đề xử lý ảnh và thị giác máy tính cho robot, dự án xây dựng một thư viện xử lý ảnh mã nguồn mở đã được khởi động vào những năm 1999, ban đầu, thư viện được sự hỗ trợ từ Intel và sau đó được Willow Garage – một phòng thí nghiệm chuyên nghiên cứu về công nghệ robot hỗ trợ Ngày nay, thư viện mã nguồn mở này được biết đến rộng rãi với tên gọi OpenCV (Open Source Computer Vision) OpenCV
là thư viện về thị giác máy tính, với hơn 500 hàm và hơn 2500 các thuật toán đã được tối ưu về xử lý hình ảnh OpenCV được thiết kế để sử dụng tối đa sức mạnh của các dòng chip đa lõi, nhằm thực hiện các phép tính trong thời gian thực và nó có thể chạy trên nhiều nền tảng khác nhau (cross – platform) như Window, Linux, Mac, iOS, Android, cũng như được lập trình với nhiều ngôn ngữ khác nhau như: C, C++, Java, Python, v.v… Có thể nói, sự hỗ trợ mạnh mẽ từ thư viện OpenCV đã giúp những người chưa có kinh nghiệm về xử lý ảnh tiếp cận với ngành khoa học thú vị này dễ dàng hơn rất nhiều Chính vì những ưu điểm của thư viện OpenCV, nên nhóm quyết định sử dụng thư viện này làm công cụ chính giúp xử lý hình ảnh cho robot Thư viện OpenCV được nhúng vào phần mềm Android Studio và được lập trình bằng ngôn ngữ Java
2.1.5.2 Không gian màu
Không gian màu là một mô hình toán học mô tả các màu sắc trong thực tế dưới dạng số học Trong thực tế, có rất nhiều không gian màu được sử dụng và những mục đích khác nhau, những không gian màu thường gặp là RGB, HSV, CMYK, v.v…
Không gian màu RGB (hình 2.14) là không gian màu thường gặp nhất, được sử dụng phổ biến trong đồ họa máy tính và nhiều thiết bị kỹ thuật số Ý tưởng của không gian màu RGB là kết hợp ba màu cơ bản “đỏ” – red, “xanh lá” – green và “xanh dương” – blue để tạo thành nhiều màu sắc khác nhau Không gian màu RGB thường được biểu diễn là một khối lập phương, với trục x là màu đỏ, trục y là xanh lá và trục z là xanh dương Với một ảnh số được mã hóa bằng 24bit, thì mỗi kênh màu sẽ chiếm 8bit, giá trị trải dài từ 0 đến 255, với mỗi giá trị của từng kênh màu khi kết hợp lại với nhau, ta
sẽ được một màu khác nhau Như vậy, đối với ảnh 24bit, ta sẽ có thể biểu diễn được
2553 màu sắc khác nhau