Các đặctính chủ yếu như: tiện dụng, tính cơ động cao, thiết thực, hoạt động hiệu quả.Drone hay máy bay không người lái nói chung ngày càng trở nên gần gũi vớinhững ứng dụng thiết thực.Tr
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ
- -BÁO CÁO ĐỒ ÁN II
ĐỀ TÀI: THIẾT KẾ VÀ ĐIỀU KHIỂN DRONE
Sinh viên thực hiện: Lê Thiên Tuyến – 20192165 Giảng viên hướng dẫn: TS Đào Quý Thịnh
Hà Nội, 3/2023
Trang 2LỜI NÓI ĐẦU
Drone (UAV – Unmanned Aerial Vehicle) là các loại phương tiện bay hay máy bay không người lái, máy bay có điều khiển từ xa và không có sự hiện diệncủa con người ở bên trong buồng lái Drone có thể bao gồm nhiều loại với kích thước, hình dạng và đảm nhiệm nhiều vai trò khác nhau
Drone có thiết kế bằng các vật liệu nhẹ để có thể bay lâu trên không Các đặctính chủ yếu như: tiện dụng, tính cơ động cao, thiết thực, hoạt động hiệu quả.Drone hay máy bay không người lái nói chung ngày càng trở nên gần gũi vớinhững ứng dụng thiết thực.Trong lĩnh vực quân sự, Drone được sử dụng chomục đích tình báo, trinh sát và giám sát: tìm kiếm thông tin chiến thuật trênchiến trường, thực hiện các nhiệm vụ tấn công trong các tình huống rủi ro cao,phát sóng hình ảnh hoặc video trực tiếp về căn cứ hoặc làm mục tiêu cho mặt đấthoặc trên không hệ thống vũ khí Ngoài ra, nó cũng đóng vai trò như một phòngthí nghiệm cho các công nghệ UAV mới
Trong dân dụng và thương mại, có thể được sử dụng trong việc vận chuyểnhàng hóa được giao – nhận Dự báo thời tiết, thu thập thông tin khí tượng (được
sử dụng bởi NASA và cơ quan thời tiết Hoa Kỳ) Trong công tác cứu hộ: giúpphát hiện những người trong tình huống nguy hiểm như lở đất, lũ lụt, hỏa hoạn,động đất để truyền trực tiếp các tài liệu cần thiết Trong nông nghiệp, loại UAVvừa có chức năng bay không người lái để chụp ảnh vừa có các cảm biến khác đểquan sát môi trường, đây là ứng dụng của UAV trong nông nghiệp để giám sátcác trang trại lớn Ứng dụng trong lĩnh vực điện ảnh – truyền hình hỗ trợ truyềntải hình ảnh trực tiếp và giúp ghi lại những cảnh khó trên không Ngoài ra, UAVcòn giải trí cho những người đam mê chinh phục bầu trời bằng máy bay điềukhiển từ xa để thỏa mãn thú vui và mang lại cảm giác trải nghiệm như thật trênkhông trung
Em xin gửi lời cảm ơn đến TS Đào Quý Thịnh, bộ môn Tự Động Hóa Công Nghiệp, Trường Điện - Điện tử, Đại Học Bách Khoa Hà Nội đã hướng dẫn, cung cấp tài liệu và tạo điều kiện hết mức để em hoàn thành báo cáo này Đồ án của em có thể không tránh khỏi những thiếu xót Em mong được thầy chỉ bảo thêm để giúp em hoànthiện hơn nữa
Trang 3PHỤ LỤC
CHƯƠNG I TỔNG QUAN VỀ DRONE 4
I.1.Giới thiệu chung về Drone 4
I.2.Nguyên lý hoạt động của Drone 4
CHƯƠNG II SƠ ĐỒ KẾT NỐI VÀ PHẦN CỨNG 6
II.1.Sơ đồ kết nối của hệ thống 6
II.2.Phần cứng 6
II.2.1 Khung quadcopter 6
II.2.2 Pin Lipo 6
II.2.3 Tay cầm FlySky 6
II.2.4 Động cơ BLDC, cánh quạt và bộ điều khiển ESC 7
CHƯƠNG III XÂY DỰNG MÔ HÌNH ĐỘNG LỰC HỌC 15
III.1 Mô hình động lực học 15
III.2 Công thức Newton - Euler 17
III.3 Công thức Euler - Lagrange 17
CHƯƠNG IV SỬ DỤNG KIT OPEN SOURCE PX4 19
IV.1 Tổng quan về PX4 Autopilot 19
IV.2 Lắp đặt và kết nối PX4 19
CHƯƠNG V THIẾT KẾ GIAO DIỆN ĐỒ HỌA NGƯỜI DÙNG ĐIỀU KHIỂN DRONE 28
V.1.Tổng quan về QGroundControl – trạm kiểm soát mặt đất 28
V.2.Mô phỏng jmavsim 29
V.3.Thiết kế giao diện người dùng (Graphical User Interface) điều khiển
Drone 30
V.4.Điều khiển Drone với giao diện người dùng (GUI) 34
TÀI LIỆU THAM KHẢO 39
Trang 4CHƯƠNG I TỔNG QUAN VỀ DRONE
I.1 Giới thiệu chung về Drone
Drone hay Quadcopter hiện nay được sử dụng khá phổ biến trong lĩnh vực giải trí để cung cấp thêm góc quan sát từ trên cao như trong các môn thi đấu thể thao hoặc được sử dụng để di chuyển bám theo đối tượng trong cảnh quay hành động.Ngoài ra, Drone còn được sử dụng trong lĩnh vực quân sự như dùng để do thám, cứu hộ, như quan sát và phán đoán hướng di chuyển của các vụ cháy rừng và trong lĩnh vực vận chuyển bưu kiện có khối lượng nhỏ trong phạm vi gần do ưu điểm về tính linh hoạt, chi phí chế tạo và vận hành thấp hơn so với các loại máy bay khác
Mô hình bay hoạt động dựa trên nguyên lý cân bằng góc nghiêng của từng cặp động cơ đặt đối diện nhau Vấn đề đặt ra là làm thế nào để điều khiển bốn động
cơ giúp cho máy bay có thể cân bằng từng trục, kết hợp cân bằng các trục với nhau, triệt tiêu quán tính xoay tròn và điều khiển Drone di chuyển ổn định.Yếu tố quan trọng nhất để có thể điều khiển cân bằng và di chuyển đó là giá trị các góc nghiêng đọc từ cảm biến phải chính xác Khi thiết kế drone, cần phải cómạch cân bằng để có thể cân bằng được drone Ở đây, ta có thể dùng cảm biến GY-521 6DOF IMU MPU6050 để đo gia tốc, vận tốc, định hướng, độ dịch chuyển và nhiều thông số liên quan đến chuyển động khác của vật thể.Thuật toán PID được xây dựng kết hợp giữa các công thức NEWTON – EULER , EULER - LAGRANGE và kinh nghiệm thực tế để lựa chọn thông số điều khiểncân bằng và di chuyển mô hình bay
I.2 Nguyên lý hoạt động của Drone
Các cánh quạt quay sẽ tạo ra một lực đẩy và momen xoắn Để drone có thể baylên, tổng hợp lực đẩy phải lớn hơn trọng lực của vật
Cặp cánh quạt 1-2 quay theo chiều kim đồng hồ, cặp cánh quạt 3-4 quay ngượcchiều kim đồng hồ (hoặc ngược lại) nhằm cân bằng momen xoắn tạo ra bởi cáccánh quạt trên khung
Có 4 chiều chuyển động của drone có thể điều khiển được: roll, pitch, yaw
và thrust
Khi drone cất cánh hoặc hạ cánh (take off/landing), 4 cánh quạt cần phải tạo ramột lực đẩy bằng nhau, khi đó tổng lực đẩy F song song với trục z (Hình 1)
Trang 6CHƯƠNG II SƠ ĐỒ KẾT NỐI VÀ PHẦN CỨNGII.1 Sơ đồ kết nối của hệ thống
II.2 Phần cứng
II.2.1 Khung quadcopter
Khung cơ khí quadcopter là phần thiết kế quan trọng để đảm bảo sự chắc chắn, tính đối xứng để đảm bảo momen quán tính phân bố đều, khối lượng không quánặng
II.2.2 Pin Lipo
Được sử dụng phổ biến cho các robot điều khiển từ xa Đặc điểm nổi trội củapin Lipo như: pin có thể sạc, năng lượng dự trữ lớn,…
II.2.3 Tay cầm FlySky
FlySky là bộ truyền nhận sóng từ xa để có thể điều khiển quadcopter, tay cầm cókhoảng cách xa và kết nối giao tiếp được đảm bảo tin cậy
Trang 7II.2.4 Động cơ BLDC, cánh quạt và bộ điều khiển ESC
Động cơ và cánh
Động cơ được sử dụng là động cơ BLDC MT2204 – 2300KV Động cơ BLDC
đi kèm định mức KV, nghĩa là động cơ sẽ quay ở tốc độ RPM nhất định nếu tacung cấp điện áp V cho động cơ khi không tải
RPM = KV * V
Với động cơ trên, ta nên dùng cánh 6045 (6 inch), 2 cặp cánh thuận nghịch
Bộ điều khiển động cơ ESC
Ở đây ta dùng 12AE ESC Để điều khiển tốc độ động cơ, ta cần cấp xung PPMvới tần số 50/60Hz Động cơ hoạt động trong khoảng 1ms – 2ms với 1ms thì động cơ dừng, 2ms thì động cơ quay tốc độ lớn nhất
Trang 8Các thông số có thể cài đặt cho ESC: Bôi đen là mặc định
• Cài đặt phanh : Có/Không
• Loại pin: Lipo / NiMH
• Chế độ bảo vệ điện áp thấp: Cắt mềm (giảm dần công suất đầu ra) / Cắt(dừng ngay)
• Ngưỡng bảo vệ điện áp thấp: Thấp/Trung bình/Cao
• Chế độ khởi động: Bình thường/Mềm/Siêu mềm
Các bước khởi động động cơ:
o Cài đặt phạm vi bướm ga (Chỉ cần cài đặt lần đầu tiên, các lần sau có
thể bỏ qua bước này) (Mỗi khi sử dụng thiết bị khác cần phải cài đặt lại)
1 Kéo bướm ga tới vị trí max
2 Kết nối ESC với pin và đợi 2s
3 Tiếng beep-beep được phát ra nghĩa là điểm lớn nhất của phạm vi bướm
o Điều khiển động cơ
1 Kéo bướm ga tới vị trí min
2 Kết nối ESC với pin và sẽ có giai điệu “123” phát ra để xác nhận đã cung cấp nguồn
3 Vài tiếng beep sẽ được phát ra để xác nhận số cell pin
4 Khi hoàn thành, một tiếng beep dài được phát ra
5 Điều chỉnh bướm ga để điều chỉnh tốc độ động cơ
Xử lý lỗi và cài đặt các thông số (xem thêm trong Datasheet)
Trang 9II.2.5 Cảm biến MPU6050
Cảm biến góc GY-521 MPU6050 là một cảm biến sáu trục, có chứa một gia tốc
3 trục con quay hồi chuyển 3 trục Hoạt động với 3.3V và giao tiếp I2C với tốc
độ tối đa 400kHz
THÔNG SỐ KỸ THUẬT
• Điện áp sử dụng: 3~5VDC
• Điện áp giao tiếp: 3~5VDC
• Chuẩn giao tiếp: I2C
• Giá trị Gyroscopes trong khoảng: +/- 250 500 1000 2000 degree/sec
• Giá trị Acceleration trong khoảng: +/- 2g, +/- 4g, +/- 8g, +/- 16g
SCL Chân SCL trong giao tiếp I2C
SDA Chân SDA trong giao tiếp I2C
XDA Chân dữ liệu (kết nối với cảm biến khác)
XCL Chân xung (kết nối với cảm biến khác)
AD0 Bit địa chỉ I2C - Địa chỉ = 0x68 khi AD0 = 0
INT Chân ngắt
Trang 10MPU6050 là một cảm biến có gia tốc kế và con quay hồi chuyển, có thể đo 3 trục tốc độ quay ��, ��, �� (Gyro) (◦/s), 3 trục gia tốc hướng ��, ��, ��
(Accelerometer) (�⁄�2) Khi đặt cảm biến song song với mặt đất, �� = � = �
0, �� = 1� (� ⁄ �2)
Trang 11CÁC THANH GHI CẦN ĐỌC VÀ GHI
Thanh ghi chứa địa chỉ i2c 6 bit của MPU
Giá trị mặc định: 0x68
Thanh ghi cho phép người dùng cấu hình chế độ nguồn và nguồn xung
nhịp
Thanh ghi chỉ định bộ chia từ tốc độ đầu ra con quay hồi chuyển được
sử dụng để tạo ra Tốc độ lấy mẫu cho MPU-60X0
Sample Rate = Gyroscope Output Rate / (1 + SMPLRT_DIV)
Thanh ghi dùng để cấu hình thang đo cho con quay hồi chuyển
Các mode:
Trang 12Thanh ghi dùng để cấu hình thang đo cho gia tốc kế.
Thanh ghi này chứa giá trị tốc độ quay 3 trục, mỗi trục gồm 2 thanh ghi High và Low
Cần chia cho LSB Sensitivity ở bảng bên dưới để tìm tốc độ tương ứng
Các mode:
Thanh ghi chứa gia tốc 3 trục, mỗi trục gồm 2 thanh ghi High và Low
Trang 13Cần chia cho LSB Sensitivity ở bảng bên dưới để tìm tốc độ tương ứng
Các mode:
TÍNH TOÁN
Các giá trị đo được là các giá trị thô, cần phải thông qua các công thức để cóthể tính toán được góc nghiêng Để tính góc nghiêng thông qua gia tốc, ta cóthể sử dụng công thức (Hình 1 bên trên):
∅ = ���− 1 ��,���
√√
√√ 2 + 2( �,��� �,���)
� = ���− 1 ��,���
√√
√√ 2 + 2( �,��� �,���)
Trang 14giống nhau, đó là chuyển động của một đối tượng, ta nên kết hợp giá trị của
cả 2 cảm biến để có giá trị chính xác nhất
Angle = 0.98*(Angle + Gyro_data*dt) + 0.02*(Acceleration_data)
Trong đó, dt là thời gian giữa 2 lần đọc dữ liệu cảm biến
NOTE
Khi để sensor đứng im, các giá trị ��, ��, �� không bằng 0 do nhiễu Vì vậy,
ta cần phải calib giá trị ��, ��, �� bằng cách để sensor đứng im và đọc giá trịhàng trăm lần rồi lấy trung bình Đó chính là giá trị offset của từng trục Sau
đó, mỗi lần lấy giá trị trả về, ta chỉ cần trừ cho giá trị offset Có thể calib giatốc nếu cần thiết
Trang 15CHƯƠNG III XÂY DỰNG MÔ HÌNH ĐỘNG LỰC HỌCIII.1 Mô hình động lực học
Để mô tả các chuyển động của drone, ta chọn hệ quy chiếu quán tính xyz (inertial frame) và và hệ quy chiếu gắn với vật (body frame) Đối với hệ quy chiếu gắn với vật, có thể gắn trục x,y trùng với trục của drone hoặc xoay 1 góc
Ta có ma trận ��chuyển đổi vận tốc góc từ inertial frame sang body frame:
Trang 16Lực đẩy ở mỗi cánh quạt:
IM – momen quán tính của rotor
Từ đó, rút ra được tổng hợp lực đẩy T và momen xoắn τ (quanh các trục x, y vàBz):
trong đó:
l – khoảng cách từ rotor tới tâm của drone
�
�
Trang 17III.2 Công thức Newton - Euler
Gia tốc dài của drone
Trong hệ quy chiếu quán tính, ta bỏ qua lực ly tâm Từ công thức trên, ta nhân
cả 2 vế với ma trận R để chuyển từ body frame sang inertial frame, đồng thời chia cả 2 vế cho m, ta được ma trận biểu diễn gia tốc của drone theo các trục x, y
và z:
Gia tốc góc của drone
trong đó: Γ – the gyroscopic forces – có thể bỏ qua
Từ công thức trên, ta suy ra gia tốc góc của drone thông qua ma trận ��
III.3 Công thức Euler - Lagrange
trong đó
Etrans – Động năng tịnh tiến
Erot – Động năng quay
Epot – Thế năng của vật
Trang 18Gia tốc dài của drone:
Từ công thức trên suy ra được công thức đã nêu ở công thức Newton –Euler:
Gia tốc góc của drone:
Ta có:
Ma trận Jacobian:
Suy ra:
Từ công thức Euler – Lagrange, ta có:
Mô hình động học cho một quadcopter được đưa ra trong công thức:
��
� � =
����∅
� − �
�
Trang 19�� + ��
�� ��
Trang 20CHƯƠNG IV SỬ DỤNG KIT OPEN SOURCE PX4
IV.1 Tổng quan về PX4 Autopilot
PX4 là một phần mềm điều khiển chuyến bay với mã nguồn mở dành cho máy bay không người lái và các phương tiện không người lái khác Nhà sản xuấtcung cấp một bộ công cụ linh hoạt cho các nhà phát triển máy bay không người lái để chia sẻ công nghệ nhằm tạo ra các giải pháp phù hợp cho các ứng dụng máy bay không người lái PX4 cung cấp một tiêu chuẩn để cung cấp ngăn xếp phần mềm và hỗ trợ phần cứng cho máy bay không người lái, cho phép một hệ sinh thái xây dựng và bảo trì phần cứng và phần mềm theo cách có thể mở rộng.PX4 có tính mô-đun cao và có thể mở rộng cả về phần cứng và phần mềm Nó sử dụng kiến trúc dựa trên cổng – có nghĩa là khi các nhà phát triểnthêm các thành phần, hệ thống mở rộng không bị mất đi độ bền hoặc hiệu suất.PX4 được đồng phát triển với cộng đồng phát triển toàn cầu Flightstack không chỉ đáp ứng nhu cầu của một phòng thí nghiệm hay một công ty, mà cònđược dự định là một bộ công cụ chung và được sử dụng và áp dụng rộng rãi trong ngành
PX4 cung cấp các API và SDK được tối ưu hóa cho các nhà phát triển làm việc với các tích hợp Tất cả các mô-đun đều độc lập và có thể dễ dàng trao đổivới một mô-đun khác mà không cần sửa đổi lõi Các tính năng dễ triển khai và cấu hình lại
PX4 được thiết kế để kết hợp sâu với thị giác máy tính nhúng cho các khả năng tự chủ Khung làm giảm rào cản gia nhập cho các nhà phát triển làm việctrên các thuật toán phát hiện chướng ngại vật và nội địa hóa
PX4 là một phần cốt lõi của nền tảng máy bay không người lái rộng lớn hơnbao gồm trạm mặt đất QGroundControl Pixhawk firmware , và MAVSDK để tích hợp với máy tính đồng hành, máy ảnh và phần cứng khác bằng giao thức MAVLink
IV.2 Lắp đặt và kết nối PX4
Ở đây chúng ta sử dụng PX4 loại 3DR Pixhawk (Pixhawk wiring)
Trang 213DR Pixhawk.
Pixhawk nên được gắn trên khung bằng cách sử dụng các miếng đệm xốpgiảm rung Nó phải được đặt ở vị trí càng gần trọng tâm của drone, hướng từ trên xuống dưới với mũi tên chỉ về phía trước
Kết nối bộ rung đi kèm và công tắc an toàn như minh họa bên dưới (đây lànhững điều bắt buộc)
Trang 22GPS phải được gắn trên khung càng xa các thiết bị điện tử khác càng tốt, vớivạch chỉ hướng hướng về phía trước xe Gắn GPS vào cổng GPS bằng cáp 6 dâyđược cung cấp trong bộ sản phẩm Nếu được gắn theo cách này, bạn có thể ngaylập tức tiến hành compass calibration.
Kết nối đầu ra của mô-đun Nguồn (PM) với cổng POWER bằng cáp 6 dây như minh họa Đầu vào PM sẽ được kết nối với pin LiPo của bạn, trong khi đầu
ra chính sẽ cung cấp cho ESC/động cơ của xe (có thể thông qua bảng phân phốiđiện)
Mô-đun nguồn cung cấp năng lượng cho bộ điều khiển chuyến bay từ pin vàcũng gửi thông tin về dòng điện và điện áp tương tự được cung cấp qua mô-đun(bao gồm cả nguồn điện cho bộ điều khiển chuyến bay và động cơ, v.v.)
Trang 23Bộ phát xung cho động cơ (từ 1 đến 4 nền đen).
Telemetry radio từ xa có thể được sử dụng để liên lạc và điều khiển phươngtiện đang bay từ trạm mặt đất Một radio phải được kết nối với xe của bạn như hình dưới đây Cái kia được kết nối với máy tính trạm mặt đất hoặc thiết bị di động của bạn (thường là bằng USB)
Đầu tiên chúng ta cần thiết lập tham số bằng app có sẵn
Các bước kết nối PX4 với máy tính, cài đặt ban đầu và điều khiển sử dụng app
B3: Kết nối drone với máy tính bằng cách sử dụng app, configure các thông sốban đầu như số cell pin sử dụng, điều khiển cầm tay (không dùng), calib các sensor,…