Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT Đồ án THIẾT kế bộ điều KHIỂN máy BAY KHÔNG NGƯỜI lái AUTOPILOT
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài:
NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN MÁY BAY KHÔNG NGƯỜI LÁI AUTOPILOT
Hà Nội, 6-2018
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài:
NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN MÁY BAY KHÔNG NGƯỜI LÁI AUTOPILOT
Hà Nội, 6-2018
Trang 3ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho giảng viên hướng dẫn)
Giảng viên đánh giá: PGS.TS
Họ và tên Sinh viên: MSSV:
Tên đồ án: Nghiên cứu thiết kế bộ điều khiển máy bày không người lái autopilot
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như
phạm vi ứng dụng của đồ án
1 2 3 4 5
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề 1 2 3 4 5
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả
Có khả năng phân tích và đánh giá kết quả (15)
5
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp
thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ
thống
1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết
quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
7
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp
lập luận để đề xuất hướng giải quyết có thể thực hiện trong
tương lai
1 2 3 4 5
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được
đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
1 2 3 4 5
Trang 4có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có
trích dẫn đúng quy định
9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa
học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải
SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa
học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng
phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên
nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở
lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc
tế khác về chuyên ngành như TI contest
2
10c Không có thành tích về nghiên cứu khoa học 0
Điểm tổng quy đổi về thang 10
3 Nhận xét thêm của Thầy/Cô
Ngày:
/ /201 Người nhận xét
(Ký và ghi rõ họ tên)
Trang 5ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP
(Dùng cho cán bộ phản biện)
Giảng viên đánh giá:
Họ và tên Sinh viên: MSSV:
Tên đồ án: Nghiên cứu thiết kế bộ điều khiển máy bay không người lái autopilot
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
1
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như
phạm vi ứng dụng của đồ án
1 2 3 4 5
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề 1 2 3 4 5
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả
Có khả năng phân tích và đánh giá kết quả (15)
5
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp
thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ
thống
1 2 3 4 5
6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết
quả đều được phân tích và đánh giá thỏa đáng 1 2 3 4 5
7
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp
lập luận để đề xuất hướng giải quyết có thể thực hiện trong
tương lai
1 2 3 4 5
Kỹ năng viết (10)
8
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được
đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
1 2 3 4 5
Trang 6có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có
trích dẫn đúng quy định
9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa
học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
10a
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải
SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa
học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng
phát minh sáng chế
5
10b
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên
nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở
lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc
tế khác về chuyên ngành như TI contest
2
10c Không có thành tích về nghiên cứu khoa học 0
Điểm tổng quy đổi về thang 10
3 Nhận xét thêm của Thầy/Cô
Ngày: / /201
Người nhận xét
(Ký và ghi rõ họ tên)
Trang 7MỤC LỤC
Trang 8CHƯƠNG 3: XÂY DỰNG FIRMWARE 32
CHƯƠNG 4: PHẦN MỀM TRẠM KIỂM SOÁT MẶT ĐẤT GCS –
4.2.4 Giả lập và kết nối thiết bị bay với Mission Planner 47
4.3 Danh sách các lệnh hướng dẫn thực hiện nhiệm vụ 51
Trang 94.4.1 Các tham số của Mission Planner ( Parameter ) 55
4.4.2 Cấu hình, hiệu chỉnh phần cứng cho máy bay 60
Trang 10LỜI NÓI ĐẦU
Ngày nay, khi mà khoa học ngày càng phát triển và được áp dụng rất nhiều vào đời sống thì những thiết bị có khả năng tự động hóa đang là xu hướng được quan tâm và nghiên cứu rộng rãi Các công nghệ này được ứng dụng trong rất nhiều ngành và lĩnh vực nhằm tiết kiệm sức lao động của con người hoặc giảm nguy hiểm của môi trường lao động
Một trong những công nghệ đang được nghiên cứu và ứng dụng mạnh mẽ là máy bay không người lái (UAV- Unmanned Aerial Vehicle) Đây là tên gọi chỉ chung cho các loại máy bay mà không có phi công điều khiển trực tiếp, hoạt động
tự động và có thể điều khiển, giám sát từ xa Việc sử dụng UAV có thể thay thế con người trong rất nhiều lĩnh vực như dân dụng, quân sự… Ở các nước phát triển UAV được ứng dụng rất nhiều trong việc do thám, quan trắc… tuy nhiên việc triển khai ở Việt Nam còn nhiều hạn chế
Xuất phát từ thực tế, em đã chọn đề tài “Nghiên cứu thiết kế bộ điều khiển cho máy bay không người lái AutoPilot” làm đề tài đồ án tốt nghiệp để từng bước nắm bắt lý thuyết và công nghệ nhằm áp dụng vào thực tiễn
Em cảm ơn thầy – người đã giúp em định hướng, lập kế hoạch để em có thể tiếp cận và có cái nhìn bao quát ơn về hệ thống UAV Và em xin được cảm ơn các thầy cô viện Điện tử - Viễn thông trong những năm qua đã truyền tải những kiến thức, kinh nghiệm quý báu để em có những hành trang vững chắc trên con đường học tập và nghiên cứu sau này
Trang 11Tóm tắt nội dung đồ án
● Thiết kế, xây dựng hệ thống phần cứng, phần mềm cho thiết bị bay không người lái
● Xây dựng mô phỏng quá trình bày mà không cần phần cứng
● Làm việc với phần mềm trạm kiểm soát mặt đất Mission Planner
● Cấu hình hệ thống máy bay và đưa vào hoạt động
Mục lục bảng biểu
Bảng 1: Một số tham số chính của Mission Planner 60
Mục lục hình ảnh
Hình 1: Sơ đồ khối Autopilot Error! Bookmark not defined.
Hình 2: Navio2 và một số tính năng nổi bật Error! Bookmark not defined.
Hình 3: Cấu trúc cơ bản của Raspberry Pi Error! Bookmark not defined.
Hình 4:Sau khi kết nối giữa Raspberry Pi và Navio2 Error! Bookmark not defined.
Hình 5: Cấp nguồn cho Navio2 bằng module nguồn (nguồn: Emlid) Error! Bookmark not defined.
Hình 6: Cấp nguồn cho servo (nguồn: Emlid) Error! Bookmark not defined.
Hình 7: Kết nối ăng-ten GNSS (nguồn: Emlid) Error! Bookmark not defined.
Hình 8: Kết nối máy thu RC (nguồn: Navio2) Error! Bookmark not defined.
Hình 9: Kết nối ESC với RC đầu ra (nguồn: Emlid) Error! Bookmark not defined.
Hình 10: Kết nối Servo với RC đầu ra (nguồn: Emlid) 27
Hình 13: Sơ đồ tổng thể hệ thống (nguồn: Emlid) 29 Hình 14: Mô hình tổng thể máy bay (nguồn: Emlid) Error! Bookmark not defined.
Hình 15: Mô hình máy bay thực tế Error! Bookmark not defined.
Hình 16: Một số mô hình Ardupilot hỗ trợ Error! Bookmark not defined.
Hình 17: Cấu trúc hệ thống ArduPilot (nguồn: ArduPilot) 33
Trang 12Hình 18:IP các thiết bị trong cùng một mạng sau khi quét bằng phần mềm Error! Bookmark not defined.
Hình 19: Giao diện đăng nhập thành công vào Raspbian (nguồn: Emlid) 36 Hình 20:Giao diện phần mềm APM Planner Error! Bookmark not defined.
Hình 21: Giao diện phần mềm MAVProxy Error! Bookmark not defined.
Hình 22: Giao diện phần mềm Qground Error! Bookmark not defined.
Hình 23: Giao diện phần mềm UGCS Error! Bookmark not defined.
Hình 24: Giao diện phần mềm Mission Planner Error! Bookmark not defined.
Hình 27: Flight Plane Error! Bookmark not defined.
Hình 28: Initial Setup Error! Bookmark not defined.
Hình 31: Mô phỏng Autopilot với Mission Planner 47 Hình 32: Thiết lập lịch trình bay tự động Error! Bookmark not defined.
Hình 33: Chọn TakeOff Error! Bookmark not defined.
Hình 34: Thiết lập chiều cao Error! Bookmark not defined.
Hình 35: Máy bay được khởi động Error! Bookmark not defined.
Trang 13CHƯƠNG 1: TỔNG QUAN VỀ AUTOPILOT 1.1 Giới thiệu AutoPilot
Autopilot là viết tắt của của cụm từ đầy dủ automatic pilot, vốn để chỉ các thiết
bị bay tự động mà không cần phi công điều khiển trực tiếp Song bản chất Autopilot
là một hệ thống chưa hoàn thiện và luôn đòi hỏi con người nắm quyền điều khiển
Ý tưởng máy bay không người lái đầu tiên đã được nhà sáng chế người Mỹ Charles Kettering đề xuất sau 7 năm chuyến bay đầu tiện được thực hiện bởi anh em nhà Wright vào 12/1903 Vào thời điểm đó ý tưởng này được sinh ra để biến máy bay thành “bom” hàng không Có thể coi đây là cột mốc phát triển máy bay tấn công không người lái Ý tưởng tuy đơn giản nhưng về mặt kỹ thuật vào thời điểm
đó để triển khai thì là một vấn đề hết sức phức tạp
Trong những năm 1940, tốc độ phát triển máy bay không người lái có những bước nhảy vọt vẫn nhằm phục vụ cho chiến tranh Các nước Anh, Mỹ, Nga đã chế tạo ra được nhiều máy bay điều khiển bằng vô tuyến
Ngày nay các thiết bị bay không người lái được phát triển rất mạnh mẽ, không chỉ mục đích cho chiến tranh mà còn nhiều tính ứng dụng trong nhiều lĩnh vực nhất
là do thám,dự báo thời tiết, theo dõi, IOT, cứu hộ, vận tải Để phát triển được như vậy cũng là khoảng thời gian không nhỏ vì phải từng bước nắm bắt rõ cơ sở lý thuyết, xây dựng cộng đồng thành viên lớn với các dự án mã nguồn mở để có thể từng bước phát triển chia sẻ hết cho tất cả mọi người
Các thành phần cốt lõi của Autopilot gồm: Hardware và Firmware
Trong đó Hardware là các thành phần phần cứng cấu tạo nên toàn bộ khung của
hệ thống Còn Firmware là phần ROM được tích hợp sẵn trong Hardware và cần có
sự tương thích giữa 2 thành phần này
Trang 14Hình 1.1: Sơ đồ khối Autopilot SEQ Hình_1.1:_Sơ_đồ_khối_Autopilot \* Hình SEQ Hình \* ARABIC 1: Sơ đồ khối Autopilot
1.2 Sơ đồ khối autopilot
Sơ đồ khối các thành phần cơ bản của AutoPilot
Sau khi đã hoàn thành sau Autopilot và đã kiểm tra firmware, hardware hoạt động ổn định và chính xác thì công việc tiếp theo là ghép nối Autopilot với máy bay
và kết nối với trạm điều khiển mặt đất để tạo thành một hệ thống máy bay không người lái hoàn chình
1.3 Kết luận chương
Hệ thống máy bay không người lái bao gồm 2 thành phần cơ bản: máy bay và trạm điều khiển mặt đất Máy bay được em sử dụng bao gồm hardware và firmware Còn trạm điều khiển mặt đất sử dụng phần mềm chạy trên máy tính cá nhân (Software) Tổng kết lại một hệ thống máy bay không người lái hoàn chỉnh bao gồm hardware + firmware + software
● Hardware: Bao gồm các thành phần như thân máy bay, mạch điện tử, các cảm biến …
Trang 15● Firmware: Là thành phần được nạp sẵn trên phần cứng và tương thích với phần cứng Khi phần cứng reset firmware sẽ không bị ảnh hưởng Chúng được hiểu như là các ROM được nạp sẵn, để phần cứng có thể khởi động đi vào hoạt động
● Software: Phần mềm kết nối với máy bay sử dụng giao diện đồ họa nhằm thiết lập cấu hình, các thông số và kiểm tra Đồng thời được sử dụng để lên kế hoạch, vận hành các nhiệm vụ, hành trình bay
Trang 16CHƯƠNG 2: THIẾT BỊ HỆ THỐNG 2.1 Board Navio2
2.1.1 Giới thiệu về Navio và Navio2
Cùng với sự phát triển của khoa học kĩ thuật thì các hệ thống bay cũng ngày càng nhiều tính năng Những chiếc may bay ngày nay con người tạo ra không đơn thuần chỉ cho chúng bay bằng cách vận hành cơ khí như thời kỳ đầu mà nhu cầu đi kèm với chúng còn là xác định các thông số như độ cao, áp suất, thăng bằng, điều hướng… với những cảm biến có độ chính xác cao Đối với những hệ thống bay không người lái thì việc điều khiển, lập hành trình bay là điều tất yếu Đi kèm với những yêu cầu trên thì những thiết bị với đầy đủ các cảm biến cộng với hệ điều hành thời gian thực giúp ta có thể thao tác dễ dàng thì nhiều thiết bị đã được con người tạo ra Trong đó có board mạch Navio2
Navio được phát triển bởi Emlid LTD Sự phát triển của dự án Navio gắn liền với sự phát triển của một loại máy tính nhỏ nhưng vô cùng nhiều tính năng – Raspberry pi Sự ra đời của Navio đã giải quyết sự thiếu gắn kết giữa các servo, các
bộ phận cảm biến cho các hệ thống lái tự động với những kết nối cần hệ thống dây
vô cùng phức tạp Lợi dụng sức mạnh xử lý, các tính năng tuyệt vời của Raspberry pi,Emlid đã cho ra đời dự án Navio Không lâu sau đó Emlid đã cho ra đời Navio2 dựa trên phiên bản đầu tiên nhưng với nhiều sự cải tiến
2.1.2 Thông số kĩ thuật
Navio được tạo ra với các thông sô kĩ thuật như sau:
● MPU9250: Đơn vị đo quán tính gồm 9 trục Trong đó có con quay hồi
chuyển gồm 3 trục để đo vận tốc góc, gia tốc kế gồm 3 trục để đo trọng lực và từ kế 3 trục để đo từ trường Trái Đất Với những thuật toán phức tạp, dữ liệu lấy từ MPU9250 có thể được lấy để sử dụng tính toán hướng
đi cho autopilot
● MS5611: Cảm biến đo nhiệt độ với độ phân giải cao
● ADS1115: là bộ ADC 4 kênh Mỗi kênh có độ phân giải lên tới 16 bit
● PCA9685: Bộ điều khiển PWM có thể điều khiển tới 13 servo,rơle hay
led Các đầu ra PWM đều đã được thiết kế sẵn trên board Raspberry Pi
Trang 17thiếu các đầu ra PWM và chính Navio được tạo ra để giải quyết vấn đề này
● M85RC FRAM: là viết tắt của Ferromagnetic RAM Nó có chu kì
ghi/xóa lên tới 1000 tỷ lần Nếu ứng dụng cần khả năng truy cập lại liên tục bộ nhớ gốc, FRAM có thể tiết kiệm tài nguyên thẻ SD và mang tính tin cậy cao
● Các cổng giao tiếp I2C,SPI,UART: Các cổng kết nối này đều đã được
thiết kế và chú thích trên board mạch Chúng được thiết kế để Navio có thể kết nối đến bất kì ngoại vi, module nào để có thể mở rộng nền tảng hoạt động
● Thiết bị thu GNSS: Navio được trang bị bộ thu GNO-6T GNSS u-blox
U-blox nổi tiếng vì tạo ra các mô-đun GPS có độ nhạy cao và mạnh mẽ, nhưng điều làm cho nó trở nên đặc biệt trong các thiết bị thu khác là không chỉ là khả năng xác định tọa độ, mà còn xác định độ chính xác của GPS thông qua bộ thời gian thực Kinematics Tuy nhiên, u-blox không
hỗ trợ xử lý RTK nhưng Raspberry Pi với Navio có thể làm điều đó thay tỏa Người nhận có thể tạo ra các khoảng thời gian với độ chính xác 15ns
Với Navio2 có nhiều cải tiến tích cực so với Navio:
● Dual IMU: Ở Navio chỉ có 1 chip IMU, nhưng sang phiên bản
này tích hợp 2 chip giúp cải thiện hiệu năng, độ chính xác cảm biến trong quá trình bay
● Cải thiện hiệu suất hoạt động của MS5611: ở phiên bản
Navio+, các cảm biến hầu hết giao tiếp với vi xử lý qua bus I2C và MS5611 cũng vậy nên trong quá trình chuyển đổi dữ liệu nhiễu hoàn toàn
có thể xảy ra Đó chính là lý do MS5611 là cảm biến duy nhất trên bus I2C để khắc phục điều này
● Mạch nguồn: Phần module nguồn của Navio2 đã được cải tiến
thêm với hệ mạch 3 diode,từ đó thêm các tính năng cảnh báo vượt áp và quá dòng để bảo vệ cổng module nguồn và cả Raspberry Pi
Trang 18● Vi điều khiển: ở phiên bản Navio+, PCA9685 là chip được
chọn để phát xung PWM Khi điều khiển 1 động cơ thì không gặp phải vấn đề gì nhưng khi điều khiển nhiều động cơ cùng một lúc thì giới hạn của nó là không có khả năng kiểm soát tần số cho các kênh riêng biệt dẫn tới động cơ và servo hoạt động trên các tần số khác nhau Vấn đề đó được Emlid giải quyết bằng cách thay thế bởi STM32F103
● Giải mã PPM/SBUS đƣợc thực hiện bởi vi điều khiển thay
vì DMA: bộ truyền từ nguồn phát transmitter và bộ nhận tín hiệu trên
Navio+ sử dụng tín hiệu PPM/SBUS để giao tiếp Navio+ sử dụng DMA (Direct Memory Acess) để lấy mẫu tín hiệu PPM vốn khá nặng nề với tài nguyên hệ thống Trên Navio2, nhiệm vụ lấy mẫu tín hiệu được đầy cho
vi xử lý còn bộ nhớ trên Raspberry Pi dùng để xử lý các nhiệm vụ khác
● AUX SPI: Navio2 sử dụng bộ điều khiển AUXSPI trên
Raspberry Pi Việc sử dụng 2 bộ giao tiếp SPI cho phép phân phối cảm biến hiệu quả hơn
● Cổng ADC: Các kênh ADC nằm trên Navio+ không thực sự
tiện dụng cho người dùng bởi các kênh ADC chỉ có sẵn trên các tấm nện dưới cùng của board mạch Trên Navio2, các kênh ADC được truy cập dễ dàng qua cổng DF13
● Tích hợp Linux tốt hơn: Các tín hiệu PWM, ADC, SBUS và
PPM cũng có thể được xử lý trong phần code của Linux, có thể truy cập
xử lý bằng bất kỳ ngôn ngữ lập trình nào, chính vì tính mở rộng cao nên
có thể dễ dàng phát triển sâu hơn ở các dự án trong tương lai
Trang 19Hình 2.1: Navio2 và một số tính năng nổi bật Hình SEQ Hình \* ARABIC 2: Navio2 và một số tính năng nổi bật
Trang 202.2 Raspberry pi
2.2.1 Giới thiệu về Raspberry pi
Raspberry pi và một máy tính nhỏ chạy hệ điều hành Linux Được tạo ra với mục tiêu chính là giảng dạy máy tính cho trẻ em Được phát triển bởi Raspberry Founation – tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống mà nhiều người có thể sử dụng được trong nhiều công việc tùy biến khác nhau
Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman Và được phân phối chính bởi Element14, RS Components và Egoman
Nhiệm vụ ban đầu của dự án Raspberry Pi là tạo ra máy tính rẻ tiền có khả năng lập trình cho những sinh viên , nhưng Pi đã được sự quan tầm từ nhiều đối tượng khác nhau Đặc tính của Raspberry Pi xây dựng xoay quanh bộ xử lí SoC Broadcom BCM2835 ( là chip xử lí mobile mạnh mẽ có kích thước nhỏ hay được dùng trong điện thoại di động ) bao gồm CPU , GPU , bộ xử lí âm thanh /video , và các tính năng khác … tất cả được tích hợp bên trong chip có điện năng thấp này
Raspberry Pi không thay thế hoàn toàn hệ thống để bàn hoặc máy xách tay Bạn không thể chạy Windows trên đó vì BCM2835 dựa trên cấu trúc ARM nên không hỗ trợ mã x86/x64 , nhưng vẫn có thể chạy bằng Linux với các tiện ích như lướt web , môi trường Desktop và các nhiệm vụ khác Tuy nhiên Raspberry Pi là một thiết bị đa năng đáng ngạc nhiên với nhiều phần cứng có giá thành rẻ nhưng rất hoàn hảo cho những hệ thống điện tử , những dự án DIY , thiết lập hệ thống tính toán rẻ tiền cho những bài học trải nghiệm lập trình …
Trang 21Hình 2.2 Cấu trúc cơ bản của Raspberry Pi Hình SEQ Hình \* ARABIC 3: Cấu trúc cơ bản của Raspberry Pi
2.2.2 Cấu tạo phần cứng
Raspberry pi bao gồm 2 phiên bản là A và B nhưng model B được sử dụng thông
dụng hơn bao gồm phần cứng và những cổng giao tiếp:
● SoC 700MHz với 512MB RAM
● 1 cổng HDMI cho đầu ra âm thanh / video số
● 1 cổng video RCA cho đầu ra video Analog
● Jack Headphone Stereo 3.5mm cho đầu ra âm thanh Analog
Trang 22● 02 cổng USB
● 01 đầu đọc thẻ nhớ SD để tải hệ điều hành
● 01 cổng Ethernet LAN
● 01 giao diện GPIO (General Purpose Input/Output)
Model A cũng gần tương tự như Model B nhưng có sự thay đổi như sau
2.3.1 Kết nối Navio2 với Raspberry Pi
Như đã đề cập, Navio2 sinh ra là để kết hợp với Raspberry Pi Trong quá trình làm đề tài, chúng em sử dụng Raspberry Pi 3 model B, quá trình kết hợp rất đơn giản như sau:
● Kết nối Navio2 với Raspberry bằng cổng kết nối 40 chân
● Cố định Navio2 và Raspberry bằng ốc vít
Trang 23Hình SEQ Hình \* ARABIC 4:Sau khi kết nối giữa Raspberry
2.3.2 Cấp nguồn cho Navio2
Theo lời khuyên của nhà sản xuất, nguồn cung cấp cho Navio2 chỉ được nằm trong khoảng từ 4.8-5.4V, nếu không có thể gây hỏng hóc cho toàn bộ mạch Navio2 cũng như Raspberry Pi
Ta có nhiều cách cấp nguồn cho Navio2 Dù là cấp nguồn bằng cách nào đi nữa thì Navio2 đều đã được thiết lập chế độ bảo vệ bằng các diode
● Với môi trường kiểm thử và phát triển: Ta có thể cấp nguồn cho
Navio2 thông qua Raspberry Pi Kết nối nguồn của Raspberry Pi với cổng USB 5V/1A của máy tính hoặc sử dụng nguồn do nhà sản xuất cung cấp
5V/2.5A
Trang 24Hình SEQ Hình \* ARABIC 5: Cấp nguồn cho Navio2 bằng module
● Trên các thiết bị không người lái: Ở các thiết bị bay không người lái
thì việc lấy nguồn từ Raspberry Pi như môi trường kiểm thử dường như là không thể Lúc này Navio2 nên được cấp nguồn từ Pin thông qua cổng
POWER được kết nối với một module nguồn
● Trường hợp dự phòng: Trường hợp khi nguồn chính hết điện hoặc xảy ra sự cố với module nguồn thì Navio2 được cấp nguồn từ các servo
Trang 25Hình 2.5: Cấp nguồn cho servo (nguồn: Emlid) Hình SEQ Hình \* ARABIC 6: Cấp nguồn cho servo (nguồn: Emlid)
2.3.3 Cấp nguồn cho hệ thống Servo
Để cung cấp điện cho servo, ta sẽ sử dụng các kết nối BEC cắm lên các kết nối còn trống trên dải cổng kết nối dành riêng cho servo trên Navio2 Sử dụng BEC cung cấp điện áp trong khoảng từ 4.8 – 5.3V Do hệ thống Servo và động cơ cần hoạt động mạnh nên ta sử dụng các BEC này có dòng đầu ra lên tới 20A
2.3.4 Ăng-ten GNSS
Ăng-ten GNSS được cắm vào cổng MCX ngay giữa bảng mạch
Trang 26Hình 2.6: Kết nối ăng-ten GNSS (nguồn: Emlid) Hình SEQ Hình \* ARABIC 7: Kết nối ăng-ten GNSS (nguồn:
2.3.5 Kết nối với bộ thu
Navio2 nhận các tín hiệu PPM và SBUS làm tín hiệu đầu vào
Ta cần lưu ý là không kết nối servo với bộ thu RC Bởi servo thường tiêu thụ rất nhiều điện năng dẫn đến bộ thu kết nối với Navio2 có thể không được cung cấp điện Khi đó mất tín hiệu điều khiển sẽ rất nguy hiểm
Emlid chỉ ra một số máy thu với đầu ra PPM như sau:
Với ACCST:
● Bộ thu ACCST FrSKY D4R-II 4 kênh 2.4GHz
● FrSKY V8R7-SP ACCST 7 kênh RX với PPM tổng hợp
● FrSKY D8R-XP
Với FASST
Trang 27Hình 2.7: Kết nối máy thu RC (nguồn: Navio2) Hình SEQ Hình \* ARABIC 8: Kết nối máy thu RC (nguồn:
● Máy thu tương thích FASST FrSKY TFR4 4 kênh 2.4GHz
2.3.6 Kết nối đầu ra với động cơ và Servo
ESCs
ESCs được kết nối với đầu ra RC có nhãn từ 1 đến 14 trên các chân 2.54mm
Ta chỉ kết nối chân tín hiệu của ESC tới Navio2 bởi phần nguồn ta lấy trực tiếp
từ Pin chứ không kết nối dây nguồn tới các chân nguồn của Navio2 bởi chúng không đủ cung cấp cho ESC và còn có thể gây nhiễu
Trang 28Hình 2.8: Kết nối ESC với RC đầu ra (nguồn: Emlid) Hình SEQ Hình \* ARABIC 9: Kết nối ESC với RC đầu ra
Trang 29Hình 10: Kết nối Servo với RC đầu ra (nguồn: Emlid)
Trang 30Hình 12: Kết nối modem USB (nguồn: Emlid)
2.3.8 Cấu hình hoàn chỉnh
Trong đồ án em sử dụng mô hình máy bay 4 động cơ kết hợp với những bước trên ta có sơ đồ tổng thể hệ thống như sau:
Trang 31Hình 13: Sơ đồ tổng thể hệ thống (nguồn: Emlid)
Sau khi ghép hệ thống với thân máy bay ta có mô hình máy bay hoàn chỉnh như hình dưới:
Trang 32Hình SEQ Hình \* ARABIC 14: Mô hình tổng thể máy bay (nguồn: Emlid)
Trang 33Hình SEQ Hình \* ARABIC 15: Mô hình máy bay thực tế
2.5 Kết luận chương
Như vậy ta đã tìm hiểu, biết được hệ thống phần cứng của dự án bao gồm Navio2, Raspberry Pi 3 là các thành phần chính và một số thiết bị ngoại vi Trong các chương tới ta sẽ tìm hiểu cách cài đặt firmware, mô phỏng, cấu hình Plane để đưa vào hoạt động
Trang 34Hình 3.1: Một số mô hình Ardupilot hỗ trợ Hình SEQ Hình \* ARABIC 16: Một số mô hình Ardupilot hỗ trợ
CHƯƠNG 3: XÂY DỰNG FIRMWARE
3.1 Tổng quan dự án Ardupilot
ArduPilot là một dự án mã nguồn mở chuyên nghiệp, được sử dụng trong các
dự án có hệ thống lại tự động Ra đời vào năm 2009 dưới sự phát triển của nhóm phát triển ArduPilot cùng cộng đồng mã nguồn mở đông đảo, trên ngôn ngữ C++ và Python Ngày nay ArduPilot đã hỗ trợ cho các dự án:
● Máy bay lên thẳng
● Ăng-ten theo dõi
ArduPilot là một trong những nền tảng tự động tiên tiến, đầy đủ tính năng và đáng tin cậy, được sử dụng bởi nhiều chuyên gia cũng như người dùng phổ thông,
và được phát triển bởi đội ngũ kỹ sư và các nhà khoa học máy tính hùng hậu
Đây là nền tảng autopilot duy nhất có khả năng kiểm soát tất cả các loại thiết bị được liệt kê ở trên và là một nền tảng đã đoạt giải thưởng UAV Outback Challenge vào năm 2012, 2014 và 2016, cũng như cuộc thi IMAV năm 2016
Ngoài những người có sở thích trong lĩnh vực mô hình tự động, ArduPilot còn được sử dụng bởi một số lượng lớn các công ty hàng đầu trên thế giới Dự án này