1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Kỹ thuật điều khiển và tự động hóa: Cân bằng quy hoạch quỹ đạo cho quadrotor với tải không chắc chắn

96 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cân bằng và quy hoạch quỹ đạo cho quadrotor với tải không chắc chắn
Tác giả Trần Kha
Người hướng dẫn PGS. TS. Huỳnh Thái Hoàng
Trường học Trường Đại học Bách Khoa - ĐHQG - HCM
Chuyên ngành Kỹ thuật Điều khiển và Tự động hóa
Thể loại Luận văn thạc sĩ
Năm xuất bản 2020
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 96
Dung lượng 2,93 MB

Cấu trúc

  • Chương 1 (14)
    • 1.1. Tổng quan về máy bay không người lái (14)
    • 1.2. Ứng dụng của máy bay không người lái (14)
    • 1.3. Phân loại các loại UAV (15)
      • 1.3.1. Phân loại theo tầm hoạt động (15)
      • 1.3.2. Phân loại theo cấu hình khí động học (16)
      • 1.3.3. Phân loại dựa trên kích cỡ và trọng tải (18)
    • 1.4. Giới thiệu Quadrotor (19)
    • 1.5. Các khái niệm về Quadrotor (19)
      • 1.5.1. Ứng dụng quadcopter vận chuyển hàng hoá, ưu và nhược điểm (21)
    • 1.6. Cấu trúc luận văn (25)
  • Chương 2 (27)
    • 2.1. Mô hình động học (27)
    • 2.2. Kết quả dự kiến (27)
    • 2.3. Nghiên cứu lý thuyết (28)
      • 2.3.1. Mô hình hoá hệ thống quadrotor (System Modelling) (28)
      • 2.3.2. Động lực học Rotor (34)
      • 2.3.3. Mô hình không gian trạng thái (36)
  • Chương 3 (39)
    • 3.1. Linh kiện của quadrotor (39)
    • 3.2. Khung quadrotor (Frame) (39)
    • 3.3. Động cơ BLDC (Rotor) (40)
    • 3.4. Cánh quạt (Propeller) (42)
    • 3.5. Bộ điều khiển tốc độ điện tử (ESC) (42)
    • 3.6. Nguồn Pin (43)
    • 3.7. Bộ điều khiển APM 2.8 (Flight controller) (44)
    • 3.8. Bộ điều khiển từ xa (45)
    • 3.9. Cảm biến cân điện tử (loadcell) (45)
    • 3.10. Sơ đồ kết nối thiết bị (47)
  • Chương 4 (73)
    • 4.1. Các khối điều khiển (48)
      • 4.1.1. Khối điều khiển độ cao (Altitude Controller Block) (48)
      • 4.1.2. Khối điều khiển hướng (Attitude & Heading Controller Block) (48)
      • 4.1.3. Khối điều khiển vị trí (Position Controller Block) (49)
    • 4.2. Các bộ điều khiển (Controller) (50)
      • 4.2.1. Điều khiển PID (PID Controller) (50)
      • 4.2.2. Bộ điều khiển thích nghi mờ AFPID (Adaptive Fuzzy PID) (52)
    • 4.3. Thực hiện giải thuật (55)
      • 4.3.1. Lập trình với thư viện của Ardupilot 3.2.1 (55)
      • 4.3.2. Cấu trúc vòng lặp chính (main loop) (55)
      • 4.3.3. Giải thuật điều khiển (57)
  • Chương 5 (0)
    • 5.1. Sơ đồ kết nối mô phỏng (73)
      • 5.1.1. Kết quả thiết kế (73)
    • 5.2. Kết quả thực nghiệm (81)
      • 5.2.1. Kiểm định giá trị đọc loadcell (81)
      • 5.2.2. Kiểm định bộ điều khiển AFPID (82)
    • 5.3. Kết luận (84)
    • 5.4. Hướng phát triển tương lai (85)
  • TÀI LIỆU THAM KHẢO (86)
  • PHỤ LỤC (88)
    • A. Thông số Quadrotor (88)
    • B. Mô phỏng Matlab (89)
    • C. Thông số phần cứng (94)

Nội dung

ii TÓM TẮT LUẬN VĂN Luận án này sẽ tập trung vào mô hình hóa và điều khiển UAV loại Quadrotor và xây dựng bộ điều khiển thích hợp có thể cân bằng và điều khiển được vị trí khi mang tải c

Tổng quan về máy bay không người lái

Phương tiện bay không người lái hay Máy bay không người lái, viết tắt tiếng Anh là UAV (Unmanned aerial vehicle) là tên gọi chỉ chung cho các loại máy bay mà không có người lái ở buồng lái, hoạt động tự lập và thường được điều khiển từ xa từ trung tâm hay máy điều khiển Theo sự phát triển công nghệ hiện nay có các dạng UAV: o Máy bay theo nghĩa truyền thống được trang bị hệ thống điều khiển và lái tự động, được gọi là UAS (unmanned aircraft system), xuất hiện từ những năm 1950 và đã từng phục vụ việc do thám và trinh sát chiến trường Loại tổ hợp máy bay này có khả năng tự động hóa các hoạt động của máy bay cao, không đòi hỏi những trang thiết bị hàng không đặc chủng, giá thành khai thác sử dụng và bảo trì hệ thống để phục vụ lâu dài rẻ, trong quân sự loại máy bay này có đặc tính tấn công chớp nhoáng o Phương tiện bay kiểu mới, được chế tạo rất đa dạng, có kích thước và công suất động cơ nhỏ đến trung bình, được gọi là drone o Các drone có lắp camera để quan sát, và thường được gọi là flycam Để thuận tiện điều khiển thao tác thì drone có nhiều cánh quạt, thường là 4.

Ứng dụng của máy bay không người lái

Ứng dụng của UAV quadcopter đang tăng lên mạnh mẽ, từ các mục đích quân sự cho đến nghiên cứu khoa học, điện ảnh - truyền hình, nông nghiệp, thương mại, vận chuyển, giải trí, khảo sát địa hình, thăm dò, cứu hộ, cứu nạn, drone luôn tỏ ra là một phương tiện linh động, dễ sử dụng, chi phí hợp lí

Nghiên cứu khí tượng, thuỷ văn, địa lý: các thiết bị bay UAV được ứng dụng mạnh mẽ song hành với việc quan sát từ vệ tinh Các nhiệm vụ điển hình:

 Đo lường sự biến dạng của vỏ trái đất để đưa ra các dự đoán sớm về thảm hoạ tự nhiên như động đất, phun trào núi lửa…

 Đo lường sự ô nhiễm ở tầng đối lưu và chất lượng của không khí, các nguồn ô nhiễm lan từ nơi này đến nơi khác

 Đo lường độ dày lớp và sự biến dạng của lớp băng bề mặt để đưa ra dự đoán về sự nóng lên toàn cầu

Tìm kiếm và giải cứu: các UAV được trang bị camera, hộp cứu hộ có thể dùng cho các nhiệm vụ giải cứu nạn nhân của thảm hoạ: động đất, lũ cuốn, cháy rừng, máy bay rơi

Cứu hoả: các UAV có trang bị cảm biến hồng ngoại có thể tầm nhiệt, nguồn gây cháy ở các khu rừng, toà chung cư, căn hộ,… và truyền gửi tín hiệu đánh dấu chính xác vị trí nguồn gây cháy này cho các đơn vị cứu hộ

Giám sát công cộng: được xem như là 1 giải pháp thay thế có tính hiệu quả về kinh phí thay cho lực lượng cảnh sát truyền thống sử dụng máy bay trực thăng

Giám sát biên giới: UAV có thể được dùng để giám sát được biên giới, làm tình báo ngăn ngừa xâm phạm bất hợp pháp Ứng dụng nông nghiệp: UAV được dùng để phun thuốc trừ sâu, giám sát tình trạng mùa màng Ứng dụng công nghiệp: UAV được dùng để giám sát tình trạng bên trong, bên ngoài đường ống Thực hiện giám sát trên cao đối với 1 số nhà máy điện hạt nhân…

Phân loại các loại UAV

Có rất nhiều cách phân loại UAV, chủ yếu dựa trên tầm hoạt động, cấu hình khí động học, kích cỡ và trọng tải

1.3.1 Phân loại theo tầm hoạt động

UAV có thể được phân loại thành 7 nhóm chính dựa trên tầm cao và khả năng hoạt động

Tầm cao và hoạt động lâu dài (HALE): gồm các thiết bị có khả năng bay ở độ cao trên

1500m và hoạt động lâu hơn 24hr Thường chủ yếu dùng cho nhiệm vụ giám sát tầm xa

Tầm vừa và hoạt động lâu dài (MALE): gồm các thiết bị có khả năng bay ở độ cao từ 5000

– 1500m và hoạt động tới 24hr Các MALE UAV cũng thường được dùng cho các nhiệm vụ giám sát

Tầm vừa hoặc bay chiến thuật (TUAV): gồm các thiết bị có khả năng bay ở độ cao từ 300 –

500m Các thiết bị bay này thường có kích thước nhỏ, đơn giản hơn MALE và HALE

Tầm ngắn (CRUAV): gồm các thiết bị có khả năng hoạt động tầm xa trong khoảng 100km

Các thiết bị này thường dùng cho mục đích dân sự dò đường ống, phun thuốc trên đồng, giám sát tình trạng giao thông,…

UAV loại nhỏ (MUAV): thường có khối lượng khoảng 20kg và tầm hoạt động trong 30m

UAV loại rất nhỏ (MAV): thường có sải cánh nhỏ hơn 150mm Các thiết bị này sử dụng chủ yếu trong nhà với yêu cầu bay chậm hoặc đứng yên

UAV loại siêu nhỏ (NAV): có kích cỡ tầm 10mm, thường dùng bay thành đàn cho mục đích làm nhiễu tín hiệu ra đa Ngoài ra, còn được dùng cho mục đích giám sát các khu vực không gian kín, chật hẹp với camera trang bị

1.3.2 Phân loại theo cấu hình khí động học

UAV có thể được phân loại theo 4 nhóm chính dựa trên cấu hình khí động học

Cánh bằng (Fixed-wing UAV): các thiết bị này yêu cầu có đường băng khi cất cánh và hạ cánh, có thể bay trong thời gian dài với tốc độ cao Loại này thường được dứng dụng trong các nghiên cứu khoa học hoặc quân sự như trinh sát khí tượng hoặc dò thám

Cánh xoay (Rotary-wing UAV): các thiết bày này có thể cất cánh và hạ cánh thẳng đứng, có thể đứng yên trên không và khả năng cơ động cao Loại này có thể phân loại thành 4 nhóm nhỏ hơn:

 Đơn trục (Single-rotor): thiết bị chỉ có 1 rotor ở trên đầu thiết bị và 1 rotor ở đuôi giữ cân bằng, tương tự như thiết kế của máy bay trực thăng

 Đồng trục (Coaxial): có 2 rotor xoay ngược hướng gắn cùng 1 trục

 Tứ trục (Quadrotor): thiết bị có 4 rotor gắn cố định vào khung hình X hoặc +

 Đa trục (Multi-rotor): UAV có từ 6-8 rotor Loại này cực kỳ linh hoạt và vẫn có thể duy trì hoạt động trong điều kiện có 1 rotor bị hỏng

Việc tăng số lượng rotor sẽ giúp tăng khả năng mang tải và tầm cao hoạt động tối đa của UAV tuy nhiên sẽ đồng thời tăng giá thành và mức tiêu thụ năng lượng

Hình 1-1 Máy bay cánh bằng

Hình 1-2 Máy bay trực thăng 1 trục và đồng trục

Hình 1-3 Quadrotor và Hexrotor phiên bản thương mại

Khí cầu (Blimps UAV): có hình dạng tương tự bong bóng bay, khinh khí cầu Các thiết bị bay này thường rất nhẹ và kích cỡ lớn, bên trong được bơm đầy khí Heli thường dùng trong các nhiệm vụ diễn ra thời gian lâu trên không có yêu cầu tốc độ bay chậm

Cánh vỗ (Flapping-wing UAV): lấy cảm hứng từ khả năng bay của loài chim, côn trùng, các

UAV này có thể mô phỏng cách thức bay với đôi cánh nhỏ và khả năng tải cực kỳ hạn chế Tuy nhiên, loại này có thể tiêu thụ năng lượng rất thấp và có khả năng cất cánh và hạ cánh thẳng đứng Các mô hình phát triển của loại này đang được diễn ra mạnh mẽ ở các phòng nghiên cứu

Hình 1-5 UAV mô phỏng cử động chim bay vỗ cánh

1.3.3 Phân loại dựa trên kích cỡ và trọng tải

UAV có thể được phân thành 5 loại dựa trên kích cỡ và trọng tải của chúng

Cỡ lớn UAV: thiết bị loại này có kích cỡ lớn, có thể đủ không gian cho 1 phi công điều khiển ở bên trong với chế độ bay tự động hoặc điều khiển Loại này có trọng tải lớn nhất với khả năng hoạt động lâu dài

Cỡ vừa UAV: thiết bị loại này thường dùng cho mục đích giám sát an ninh Có trọng tải tương đối tầm 10kg do đó có thể mang các thiết bị dẫn hướng trọng tải lớn và có độ chính xác cao

Cỡ nhỏ UAV: đây là các thiết bị loại cầm tay có thể điều khiển từ xa bằng sóng vô tuyến (RC) với trọng tải nhỏ từ 2-10kg nên có thể chứa các cảm biến và thiết bị điều hướng khối lượng nhỏ

Cỡ nhỏ gọn UAV: các thiết bị loại này rất nhỏ gọn và có thể cầm tay, dùng bay ở trong nhà và ngoài môi trường với trọng tải nhỏ hơn 2kg Loại này rất phổ biến dùng trong các nghiên cứu về mô hình điều khiển phi tuyến, hàng không

Cỡ siêu nhỏ UAV: chủ yếu sử dụng trong nhà vì kích cỡ rất nhỏ Thường có khối lượng nhỏ hơn 100g khiến cho rất khó trang bị các cảm biến và thiết bị dẫn hướng Chính điều này khiến loại này thành đối tượng nghiên cứu chế tạo các loại cảm biến dẫn hướng siêu nhỏ nhẹ

Hình 1-6 UAV cỡ lớn và cỡ vừa

Hình 1-7 UAV cỡ nhỏ và siêu nhỏ

Giới thiệu Quadrotor

Thuật ngữ “Quadrotor” (hay còn gọi là Drone) dùng để chỉ những phương tiện máy bay UAV kiểu mới, được chế tạo rất đa dạng, có kích thước và động cơ nhỏ đến trung bình Để thuận tiện điều khiển thao tác thì drone được lắp đặt nhiều cánh quạt, thường là 4 (Quad) hoặc là 6 (Hexa) Ngoài ra, về kích thước cũng có những biến đổi khác nhau: chúng có thể sải cánh rộng như một máy bay phản lực hay nhỏ như một chiếc máy bay mô hình được điều khiển bằng sóng radio

Trong lịch sử ghi nhận, phiên bản đầu tiên của Quadrotor được xây dựng và cho bay thử vào năm 1907 Từ thời điểm đó tới ngày nay, các phiên bản đã được cải tiến rất nhiều nhưng định nghĩa về quadrotor vẫn không đổi và được xem là thiết bị UAV cánh xoay

Hình 1-8 Quadrotor (drone) thương mại phổ biến trên thị trường

Các khái niệm về Quadrotor

Quadrotor là 1 thiết bị bay có 4 roto được gắn cố định lên 1 khung có hình + hoặc x Các rotor này là các động cơ BLDC sẽ có các chiều quay như hình, tạo lực nâng để nâng toàn bộ

7 quadcopter Rotor 1 và 3 xoay cùng chiều nhau và ngược chiều với roto 2 và 3 dẫn đến sự cân bằng về moment xoắn của toàn bộ quadrotor

Hình 1-9 Mô hình của quadrotor, góc và các trục toạ độ

Vì đối tượng có tính chất phi tuyến và 6 bậc tự do (DOF), do đó sẽ có 6 biến dùng để miêu tả vị trí của đối tượng trong không gian (𝑥, 𝑦, 𝑧, 𝜑, 𝜃, 𝜓) Trong đó:

(𝑥, 𝑦, 𝑧): đại diện cho khoảng cách từ trọng tâm của quadrotor đến hệ trục toạ độ quán tính gắn với mặt đất (𝑁, 𝐸, 𝐷)

(𝜑, 𝜃, 𝜓): đại diện cho 3 góc Euler chỉ hướng của quadrotor

 𝜑: gọi là góc xoay (roll) dọc theo trục x

 𝜃: gọi là góc ngẩng (pitch) dọc theo trục y

 𝜓: gọi là góc hướng (yaw) dọc theo trục z Để tạo ra các chuyển động hướng lên, các rotor sẽ tăng tốc độ xoay của cánh quạt và ngược lại Để tạo ra các chuyển động xoay quanh trục x (góc roll) thì tốc độ xoay của cánh quạt rotor

2 & 4 sẽ cùng thay đổi Tương tự, để tạo ra các chuyển động xoay quanh trục y (góc pitch) thì tốc độ xoay của cánh quạt rotor 1 & 3 sẽ cùng thay đổi Để tạo ra chuyển động xoay quanh trục z (góc yaw), moment xoắn tác động lên trục này tạo bởi các cặp rotor 1 & 3 và 2 & 4 cần thay đổi Khi muốn xoay quanh trục z theo chiều dương tốc độ cánh quạt của cặp rotor 2 & 4 sẽ cần phải lớn hơn của cặp rotor 1 & 3

Hình 1-10 Minh hoạ sự thay đổi vận tốc xoay rotor ảnh hướng đến hướng di chuyển của quadrotor

1.5.1 Ứng dụng quadcopter vận chuyển hàng hoá, ưu và nhược điểm

Do sự phổ biến mạnh mẽ, tính ứng dụng Quadrotor đã trở nên gần gũi hơn đối với người sử dụng không chuyên lẫn chuyên nghiệp phục vụ cho các công việc khác như quân sự, nông nghiệp, xây dựng, giải trí…

Trong đó, một trong các ứng dụng thể hiện ưu thế mạnh mẽ của Quadrotor trong ngành vận tải đó là vận chuyển hàng hoá trọng tải nhỏ với phạm vi giao hàng rộng

1.5.1.1 Tổng quan các công trình liên quan đến vận tải bằng Quadrotor

Vận tải hàng không gần đây đã nhận được sự chú ý đáng kể với những hứa hẹn tiềm năng kinh tế Cụ thể, các Quadrotor có thể đóng một vai trò quan trọng trong việc cung cấp tải cho một số nơi nguy hiểm hoặc khó tiếp cận do cấu trúc cơ học đơn giản cũng như khả năng bay lượn và hạ cánh thẳng đứng (VTOL) mong muốn Mặc dù việc vận chuyển tải bằng Quadrotor có triển vọng, nhưng nó vẫn rất khó khăn trong các tình huống thực tế Một lý do là bản thân Quadrotor là một hệ thống không chấp hành hoàn toàn (underactuated) Chỉ với 4 đầu vào với

6 bậc tự do (DOF) để điều khiển, Quadrotor dễ dàng mất ổn định và rất khó kiểm soát Vì sự an toàn là một yếu tố quan trọng trong vận chuyển tải, Quadrotor không ổn định có thể hoạt động không phù hợp hoặc thậm chí gây ra sự cố Một khó khăn khác là tải khi vận chuyển, treo

9 với thân của Quadrotor có thể thay đổi động lực học của Quadrotor, do đó có thể gây ra nhiễu và sự mất ổn định hệ thống Điều này có khả năng khiến các bộ điều khiển dựa trên mô hình hiện tại bị giảm hiệu suất hoặc thậm chí gây ra sự cố Những thách thức này hạn chế sự ổn định, hiệu suất của phương tiện vận chuyển trên không này và làm cản trở sự áp dụng rộng rãi tiềm năng này trong thực tế Để giải quyết bài toán này, trong những năm gần đây đã có rất nhiều đề tài nghiên cứu đã thực hiện với giả thuyết khối lượng tải cố định và biết trước Những đề tài này này chủ yếu tập trung vào các vấn đề theo dõi quỹ đạo và sự ổn định

Hình 1-11 Ứng dụng của quadrotor trong việc mang đồ cứu hộ giải cứu

Tuy nhiên, với bài toán chưa xác định trước khối lượng của tải, vẫn còn cần phải có rất nhiều nghiên cứu vì đây là bài toán thực tiễn hơn và có độ khó lớn hơn

Hình 1-12 UAV ứng dụng trong ngành nông nghiệp và công nghiệp vận tải

Vì Quadrotor có cả chuyển động tịnh tiến và chuyển động xoay và vận hành trong môi trường không gian ba chiều với các rotor, nên rất quan trọng để có thể biết được chính xác moment quán tính và tổng trọng lượng của đối tượng.Các thông số này có thể có được bằng các thí nghiệm nếu được đo lường từ trước và có giá trị không đổi Nếu mục tiêu của UAV là mang 1 vật có không xác định trước, sẽ rất khó để biết có thể biết trước giá trị khối lượng của vật Nếu giá trị khối lượng này không chính xác, bộ điều khiển hướng và vị trí của UAV có thể sẽ sụp

10 đổ bị gây ra bởi các thông số không chính xác, bởi vì các thông số này có liên quan chặt chẽ đến chuyển động quay và chuyển động tịnh tiến Tác giả Byung-Cheol Min và cộng sự đã đề xuất giải pháp sử dụng luật điều khiển thích nghi bền vững (ARC) cho UAV trong trường hợp không biết chính xác khối lượng của nó [15] Dựa vào thông số ước tính chúng ta sẽ có được chính xác giá trị trọng lượng của Quadrotor và sẽ sử dụng giá trị đó cho phần điều khiển độ cao

Tác giả Goh Ming Qian và nhóm nghiên cứu của ông đã đưa ra giải pháp dùng điều khiển thích nghi mờ (AFPID) chỉnh định độ lợi cho bộ điều khiển PID để giải quyết vấn đề về sự thay đổi khối lượng của tải, giá trị không chắc chắn của tải khi phải vận chuyển gói hàng hoá khác nhau, hoặc dùng với tải là biến đổi như khối lượng thuốc phun trừ sâu trong nông nghiệp Với các ưu điểm về bản chất của bộ điều khiển mờ, khả năng ổn định thích nghi và bền vững của bộ điều khiển đã được thể hiện trong quá trình điều khiển Quadrotor

Cùng với đó là mô hình Quadrotor là một mô hình phi tuyến, phức tạp, đòi hỏi quá trình nghiên cứu chuyên sâu khi muốn giải bài toán điều khiển Từ đó củng cố và nâng cao những lý thuyết đã được học về điều khiển tự động cũng như rèn luyện kĩ năng hoàn thiện mô hình phần cứng

1.5.1.2 Một số nghiên cứu về luật điều khiển cân bằng và vị trí của Quadrotor Đã có một số lượng lớn nỗ lực nghiên cứu đã được thực hiện cho UAV (Unmanned Aerial Vehicles) bởi vì sự ứng dụng rộng rãi trong những ứng dụng thực tế,hàng loạt các loại UAV đã được ứng dụng không chỉ trong lĩnh vực dân sự mà cả quân sự Loại UAV này có thể được phân loại thành hai loại theo hình dạng và phương pháp bay: máy bay loại cánh cố định và máy bay cất cánh và hạ cánh thẳng đứng (VTOL) Máy bay loại cánh cố định thường được triển khai thử nghiệm trong khoảng không gian rộng để được đảm bảo trong một thời gian ngắn bởi vì chúng có thể bay với tốc độ đáng kể Mặt khác, VTOL (trực thăng, quad-rotor) thì thích hợp cho các khu vực giới hạn hoặc ứng dụng yêu cầu sự cố định hoặc những chuyến bay tốc độ chậm bởi vì chúng có những đặc điểm như lơ lửng và hạ cánh thẳng đứng

Cấu trúc luận văn

Nội dung của luận văn sẽ được trình bày trong 6 chương với mục tiêu sẽ xây dựng được:

 Mô hình hoá được quadrotor gồm mô hình khí động học, cấu trúc hệ thống

 Bộ điều khiển PID cho Quadrotor để cân bằng, điều khiển vị trí khi mang tải thay đổi khối lượng (trọng tải thay đổi lúc nhấc thả hàng hoá)

 Bộ điều khiển thích nghi mờ AFPID để Quadrotor vẫn ổn định, cân bằng bám theo theo vị trí điều khiển khi khối lượng thay đổi trong mức cho phép (trọng tải thay đổi lúc nhấc, di chuyển và lúc thả hàng hoá)

 Thực hiện mô phỏng kết quả bằng Matlab và thực hiện triển khai thực nghiệm

 Kết quả dự kiến đề tài sẽ có kết quả mô phỏng và thực nghiệm đều cân bằng, bám theo quỹ đạo ổn định với các tải có khối lượng biến thiên từ 0.1kg – 0.7kg

Do đó, để mô hình hoá được quadrotor, ở Chương 2 sẽ trình bày cách thức xây dựng mô hình toán cho đối tượng dựa trên định luật Newton – công thức Euler Tiếp đó, ở Chương 3, thiết kế phần cứng cho Quadrotor đáp ứng cho yêu cầu Chương 4 sẽ trình bày cách thiết kế bộ điều khiển PID, luật điều khiển cho Adaptive Fuzzy PID (AFPID) để điều khiển cân bằng và điều khiển vị trí với các tín hiệu điều khiển cấp cho 4 rotor, kết quả điều khiển với trọng tải không đổi và có thay đổi sẽ được kiểm nghiệm bằng mô phỏng Matlab Đánh giá kết quả các bộ điều khiển sẽ được trình bày ở chương 5 đưa đến kết luận kiểm định cùng với hướng phát triển sẽ được đề cập

Hình 1-13 Quy trình thực hiện luận văn

Mô hình động học

Thiết kết luật điều khiển thích nghi và bền vững cho Quadrotor để cân bằng, quy hoạch quỹ đạo khi mang tải không biết trước khối lượng Thực hiện mô phỏng kết quả bằng Matlab và thực hiện triển khai thực nghiệm.

Kết quả dự kiến

Dự kiến, đề tài sẽ có kết quả mô phỏng và thực nghiệm đều cân bằng, bám theo quỹ đạo ổn định với các tải có khối lượng biến thiên từ 0.1kg – 0.7kg

Nghiên cứu lý thuyết

2.3.1 Mô hình hoá hệ thống quadrotor (System Modelling)

Trong chương này, mô hình động học và động lực học của Quadrotor sẽ được xây dựng dựa trên định luật Newton – công thức Euler với các giả thuyết như sau:

 Cấu trúc Quadrotor đối xứng và cứng với tâm khối lượng thẳng đứng với tâm của khung thân Quadrotor

 Lực đẩy và lực kéo của mội động cơ tỷ lệ với bình phương vận tốc của động cơ

 Vận tốc xung quanh (gió) là không đáng kể

 Những cánh quạt được xem là cứng cáp và từ đó việc cánh quạt có độ thun thì chúng ta sẽ bỏ qua (độ thun là sự biến dạng của cánh quạt do tốc độ cao và vật liệu đàn hồi)

Sau khi đưa ra được các phương trình động học và động lực học, các hiệu ứng khí động học tác động lên thân của Quadrotor cũng sẽ được và động lực học của motor cũng sẽ được đề cập

2.3.1.1 Mô hình động học (Kinematic Model)

Trước tiên, ta sẽ cần định nghĩa 2 trục toạ độ cần thiết:

 Hệ toạ độ tham chiếu mặt đất EF: Earth reference frame (trục N, E, D)

 Hệ toạ độ thân Quadrotor BF: Body fixed frame (trục x,y,z)

Hình 2-2-1 Các hệ toạ độ của Quadrotor

Khoảng cách giữa EF tới BF được định nghĩa bằng vị trí tuyệt đối của trọng tâm Quadrotor (Center of Gravity) bằng vector vị trí 𝑟 = [𝑥 𝑦 𝑧] 𝑇

16 Hướng của Quadrotor được mô tả bằng các góc roll, pitch và yaw (,,) diễn tả sự xoay quanh trục x, y, z Ma trận xoay R b E sẽ giúp chuyển đổi hướng của Quadrotor trong hệ trục BF về hệ trục EF

0 0 1 sin( ) 0 cos( ) 0 sin( ) cos( ) cos( ) cos( ) sin( ) cos( ) sin( ) cos( b b E E

 )sin( )sin( ) cos( )sin( ) sin( )sin( )sin( ) cos( ) cos( ) cos( )sin( ) cos( ) cos( )sin( ) sin( )sin( ) sin( ) cos( )sin( ) sin( ) cos( ) cos( ) cos( )

 s( ) cos( )sin( )sin( ) cos( )sin( ) cos( ) cos( )sin( ) sin( )sin( ) sin( ) cos( ) sin( )sin( )sin( ) cos( ) cos( ) sin( ) cos( )sin( ) sin( ) cos( ) sin( ) cos( )sin( ) cos( ) cos( )

Ma trận xoay R b G rất quan trọng tính toán mô hình động lực học của quadrotor, bởi vì thực tế sẽ có những trạng thái của thiết bị cần phải đo lường trong hệ trục BF như lực nâng sinh ra bởi cánh quạt trong khi các đo lường khác có thể thực hiện trong hệ trục EF như trọng lực và vị trí quadrotor

Các vận tốc góc 𝜔 = [𝜌 𝑞 𝑟] 𝑇 của Quadrotor thường được đo lường ngay tại trên thân của Quadrotor bằng IMU Mối liên hệ của vận tốc Euler (Euler rate) 𝜂̇ = [̇ 𝜃̇ 𝜓̇] 𝑇 trong hệ toạ độ EF được diễn tả như sau:

Khi Quadrotor làm việc quanh vị trí cân bằng trong không gian, thì 𝑅 𝑟 có thể tối giản thành ma trận I

2.3.1.2 Mô hình động lực học

Chuyển động của Quadrotor có thể chia thành 2 hệ thống con:

 Chuyển động xoay (rotational subsystem: roll, pitch, yaw)

 Chuyển động tịnh tiến (translational subsystem: x , y, z)

Hệ thống chuyển động xoay là hệ thống chấp hành hoàn toàn (fully actuated) trong khi hệ thống chuyển động tịnh tiến lại không chấp hành hoàn toàn (underactuated)

2.3.1.2.1 Các biểu thức chuyển động xoay

Các biểu thức chuyển động xoay được biểu diễn trong hệ toạ độ BF sử dụng phương pháp Newton-Euler:

𝐽 Ma trận đường chéo quán tính (Inertial Matrix) của Quadrotor

𝜔 Vận tốc góc của thân Quadrotor

𝑀 𝐺 Moment quán tính xoay (Gyroscopic moment) của Quadrotor

𝑀 𝐵 Moment tác động lên thân Quadrotor trong hệ trục body frame

Trong biểu thức trên 𝐽𝜔̇ , 𝜔 × 𝐽𝜔 biểu diễn cho tốc độ thay đổi của moment góc trong hệ trục body frame 𝑀 𝐺 là moment quán tính xoay (Gyroscopic moment) gây ra bởi quán tính của các rotor 𝐽 𝑟 Moment quán tính xoay xác định bằng 𝜔 × [0 0 𝐽 𝑟 Ω 𝑟 ] 𝑇

𝐽 𝑟 Quán tính của các rotor Ω 𝑟 Vận tốc tương đối của các rotor Ω 𝑟 = −Ω 1 + Ω 2 − Ω 3 + Ω 4

Lý do luận văn này biểu diễn biểu thức xoay của chuyển động trong hệ toạ độ BF là vì để biểu diễn được ma trận quán tính của quadrotor độc lập với thời gian

Ma trận quán tính (Inertial Matrix)

Ma trận quán tính của quadcopter là ma trận đường chéo, các phần tử không nằm trên đường chéo bằng 0, vì tính chất đối xứng của quadrotor

18 Với các 𝐼 𝑥𝑥 , 𝐼 𝑦𝑦 , 𝐼 𝑧𝑧 là các moment quán tính tương ứng trên các trục tương ứng của quadrotor trong hệ toạ độ body frame

Moment quán tính xoay (Gyroscopic moment)

Moment quán tính xoay (Gyroscopic moment) là 1 hiện tượng vật lý mà ngẫu lực quán tính cố gắng xoay trục của rotor dọc theo trục quán tính z

Moment tác động lên thân Quadrotor

Dựa trên 2 hiện tượng vật lý do các moment và lực khí động học gây ra bởi các rotor

Hiện tượng xoay, được gây ra bởi lực khí động học hay gọi là lực nâng và moment tổng hợp gọi là moment khí động học Biểu thức dưới đây sẽ diễn tả lực khí động học 𝐹 𝑖 và moment 𝑀 𝑖 gây ra bởi rotor thứ 𝑖

𝐶 𝑇 , 𝐶 𝐷 hệ số khí động học

𝑟 𝑏 bán kính cánh quạt Ω 𝑖 vận tốc góc của rotor 𝑖

Rất dễ nhận ra, các lực và moment khí động học phụ thuộc vào hình dáng của cánh quạt và mật độ không khí Bởi vì xét với điều kiện thực tế, độ cao tối đa khi bay của quadrotor thường giới hạn, do đó mật độ không khí có thể xem như là hằng số trong suốt hành trình bay Từ đó, các biểu thức có thể tinh giản như sau:

𝑀 𝑖 = 𝐾 𝑀 Ω 𝑖 2 Với 𝐾 𝑓 và 𝐾 𝑀 là các hằng số lực và moment khí động học Các hằng số này có thể xác định bằng thí nghiệm cho mỗi loại cánh quạt khác nhau

Bằng cách xác định lực và moment gây ra bởi cánh quạt, chúng ta có thể tìm được moment 𝑀 𝐵 tác động lên thân của quadrotor

Hình 2-2-2 Các lực và moment tác động lên Quadrotor

Mỗi rotor gây ra một lực nâng 𝐹 𝑖 hướng lên và gây ra một moment 𝑀 𝑖 ngược hướng với chiều xoay của cánh quạt rotor 𝑖 tương ứng

Sử dụng luật bàn tay phải để xác định hướng của moment tác động lên mỗi trục của thân quadrotor, ta có:

Trên trục z, các lực nâng không gây ra moment Thay vào đó, các moment gây ra bởi chuyển động quay cánh rotor tạo nên moment xoay trên trục z trong hệ toạ độ BF

= 𝐾 𝑀 (Ω 1 2 − Ω 2 2 + Ω 3 2 − Ω 4 2 ) Vậy ta có vector moment tác động lên thân quadrotor 𝑀 𝐵 như sau:

20 Với 𝑙 là cánh tay của moment, được tính khoảng cách từ tâm trục xoay của mỗi rotor đến trục đi qua tâm của quadrotor (CoG) trùng với gốc toạ độ trong hệ BF

2.3.1.3 Các biểu thức chuyển động tịnh tiến

Các biểu thức tịnh tiến của chuyển động đựa dựa trên định luật 2 Newton trong hệ toạ độ EF

𝑟 = [𝑥 𝑦 𝑧] 𝑇 vị trí trọng tâm của quadrotor trong hệ trục EF

𝐹 𝐵 các lực không phải trọng lực tác động lên quadrotor (body frame)

Các lực không phải trọng lực tác động lên quadrotor

Khi quadrotor đang trong trạng thái định hướng chuyển động theo phương ngang, lực duy nhất tác động lên quadrotor lúc này là lực nâng được gây ra bởi các cánh quạt xoay Do đó vector lực 𝐹 𝐵 như sau:

Do không có lực tác động lên phương X và Y của quadrotor, nên 𝐹 𝑥 = 𝐹 𝑦 = 0,

Trong khi đó 𝐹 𝑧 là tổng lực nâng, có dấu âm vì ngược chiều dương của trục Z

𝐹 𝑏 nhân với ma trận xoay R để chuyển lực nâng từ hệ toạ độ Body frame sang Earth frame, từ đó dễ dàng tính toán cho mọi hướng chuyển động của quadrotor

Các hiệu ứng khí động học

Linh kiện của quadrotor

2 4 động cơ không chổi than SunnySky 2212-980Kv

4 4 bộ điều tốc ESC ESC iPeaka 2S-5S 35A Dshot1200

5 1 pin Lipo (3S) Gens Ace 11.1V 5200mAh 50C 3S Lipo

6 1 bo mạch điều khiển APM 2.8

7 1 Bộ điều khiển từ xa FLYSKY FS I6+RX IA6B

8 1 Loadcell 1kg Aluminum loadcell + H711 ADC

Bảng 3-1 Bảng danh sách linh kiện cho quadrotor

Khung quadrotor (Frame)

Quadrotor là một thiết bị bay cất cánh thẳng đứng nhờ vào lực nâng của bốn động cơ đặt đối xứng với 4 cánh tay của khung Khi bay, các khung sẽ có cấu hình dạng + hoặc x tuỳ theo thiết lập về cách di chuyển của quadrotor, vẫn phổ biến nhất là dạng x-frame

27 Với tính chất đối xứng của khung, trọng tâm của quadrotor theo lý thuyết sẽ nằm giữa trục 2 cánh tay của khung, tạo sự cân đối dễ dàng cho điều khiển cân bằng

Hình 3-1 Ảnh 3D Cad và hình ảnh so sánh thực tế.

Động cơ BLDC (Rotor)

Động cơ đồng bộ nam châm vĩnh cửu là nhóm động cơ xoay chiều đồng bộ (tức là rotor quay cùng tốc độ với từ trường quay) có phần cảm là nam châm vĩnh cửu Dựa vào dạng sóng sức phản điện động stator (EMF) của động cơ mà trong nhóm này ta có thể chia thành 2 loại:

 Động cơ (sóng) hình sin (PMSM)

 Động cơ (sóng) hình thang (BLDC)

Hình 3-2 Cấu tạo của BLDC và sức phản điện động hình sin, hình thang Động cơ BLDC là loại động cơ sóng hình thang, những động cơ còn lại là động cơ sóng hình sin (PMSM) Chính cái sức phản điện động có dạng hình thang này mới là yếu tố quyết định để xác định một động cơ BLDC chứ không phải các yếu tố khác như Hall sensor, bộ chuyển mạch điện tử (Electronic Commutator)

Hình 3-3 các cách quấn dây của Rotor động cơ BLDC

Loại động cơ BLDC thường có kích thước nhỏ, có hiệu suất cao và có thể vận hành ở tốc độ cao phù hợp và điều khiển vận tốc bằng xung PWM (Pulse-width-module) rất phù hợp với mục đích sử dụng của quadrotor

Hình 3-4 Nguyên lý xuất tín hiệu điều khiển động cơ BLDC từ bộ vi xử lý trung tâm

Các thông số kỹ thuật chính cần quan tâm:

Ký hiệu Đơn vị Giải thích

KV Số vòng quay / volt ở chế độ không tải

Idle current A Dòng điện khi động cơ chạy không tải với tốc độ lớn nhất

 Càng lớn thì khả năng tải càng lớn và tiêu hao công suất Max Continuous current A Dòng điện tối đa động cơ có thể hoạt động liên tục

Max current A Dòng điện tối đa động cơ có thể chịu được trong thời gian ngắn

 Quá dòng này trong thời gian dài sẽ hư hại động cơ Thrust g Khả năng nâng tải tương ứng với loại cánh quạt, điện áp

Bảng 3-2 Các thông số kỹ thuật đáng lưu ý của động cơ BLDC

Hình 3-5 Động cơ BLDC X2212 980KV II Motor

Cánh quạt (Propeller)

Các loại cánh thường dùng cho quadrotor làm bằng chất liệu nhựa hoặc carbon với đặc tính nhẹ và rất dẻo với sải cánh và độ nghiêng khác nhau tuỳ thuộc mục đích sử dụng

 Sải cánh: là chiều dài tính từ 2 đầu cánh quạt, lực nâng tỷ lệ thuận với sải cánh Mỗi loại motor khác nhau sẽ có yêu cầu cánh quạt có sải cánh phù hợp Nếu chọn loại có sải cánh vượt quá mức cho phép có thể dẫn đến hư hỏng motor khi vận hành

 Độ nghiêng: là góc hợp thành hướng của cánh và mặt ngang (góc pitch), độ nghiêng càng lớn thì quãng đường đi được theo phương đứng khi hoàn thành 1 vòng quay sẽ càng dài Ở trên thị trường, thông số kỹ thuật của cánh quạt thường dạng cặp số với cặp đầu là sải cánh và cặp sau là quãng đường đi được khi xoay 1 vòng

Ví dụ: 1045 thì sải cánh là 10 inch và sẽ đi được xấp xỉ 4.5 inch khi cánh xoay trọn 1 vòng

Hình 3-6 Cánh quạt nhựa 1047

Bộ điều khiển tốc độ điện tử (ESC)

Là một thiết bị điện tử, thường có vi xử lý bên trong dùng để biến đổi điện áp DC thành điện

3 pha và điều khiển dựa trên xung PWM được cấp từ khối điều khiển bay Nhờ đó, ESC có thể điều khiển tốc độ, đổi chiều xoay và làm thắng điện tử cho động cơ BLDC

ESC sẽ tạo điện áp tuần tự theo lưu đồ dựa trên xung PWM nhận được sẽ được vi xử lý nội của ESC dịch ra điện áp mong muốn và ra lệnh đóng mở các FET của ESC từ đây điều khiển điện áp cấp và tạo 3 pha cho Stator của động cơ

Khả năng chịu dòng của FET cũng chính là khả năng chịu dòng của ESC

Nguồn Pin

Là nguồn sống cho toàn bộ thiết bị của Quadrotor Nguồn điện thường sử dụng cho quadrotor là pin Lipo (Lithium Polymer) vì có những ưu điểm là dòng xả lớn, dung lượng pin lớn và khối lượng nhỏ

Khi lựa chọn pin Lipo cho quadrotor, có các thông số cần lưu ý: o Điện áp: pin được ghép từ nhiều cell, ký hiệu là S, mỗi S bằng 3.7v Sử dụng phổ biến là pin 3S là điện áp định mức là 11.1v o Dung lượng: lượng năng lượng lưu trữ trong pin, có đơn vị là mAh o Dòng xả: khả năng cấp dòng liên tục an toàn của pin, ký hiệu là C, tốc độ xả bằng số lần C của dung lượng pin Ví dụ pin 50C, dung lượng 5200mAh thì dòng xả tối đa là 50*5200mA = 260A

Hình 3-8 Gens Ace 11.1V 5200mAh 50C 3S Lipo Battery XT60 Plug

Trong mô hình này, pin Lipo 11.1V 5200mAh 50C 3S được chọn Thông số kỹ thuật của pin được liệt kê ở Bảng 3-6

Dung lượng pin 5200mAh cho phép cấp nguồn cho 4 động cơ hoạt động liên tục với dòng 260A (lý thuyết) trong thời gian 5200mAh/ (4*15)A = 0.086h hay 5.2 phút

Bộ điều khiển APM 2.8 (Flight controller)

Ardupilot Mega 2560 hoặc gọi là "APM" là một board mạch được xây dựng dựa trên board Adruino 2560 có mã nguồn mở và được xây dựng từ phần cứng đến thư viện bởi cộng đồng Adrupilot Board điều khiển này rất tiện dụng và linh hoạt với nhiều ứng dụng từ xây dựng mô hình xe địa hình, tàu thuỷ, máy bay cánh bằng, quadrotor và anten tự xoay

Hình 3-9 APM 2.8 phiên bản giới hạn

Một số ưu điểm của boar APM 2.8:

 Dễ lập trình, nhiều thư viện có sẵn của adruino

 Tích hợp sẵn cảm biến IMU MPU6000 6 trục

 Tích hợp sẵn cảm biến Barometter MS 5611

 Dataflash 4MB để ghi dữ liệu hành trình

 Dùng vi xử lý ATMEGA2560 16MHz

 Mỏng nhẹ, khối lượng chưa tới 30g

Hình 3-10 Chú thích các port ngoại vi của APM 2.8

Bộ điều khiển từ xa

Là thiết bị gồm bộ thu và phát tín hiệu (RX và TX) dùng để truyền lệnh điều khiển từ xa của người dùng lên quadrotor

Mỗi bộ điều khiển từ xa sẽ có số lượng kênh thu phát sóng khác nhau, thông thường sẽ thiết kế dưới dạng cần gạt 2 trục và 1 số công tắc on-off dùng để điều chỉnh giá trị đặt của các góc roll, pitch, yaw và lực nâng throtte Các công tắc on-off (aux) dùng để cài đặt các chế độ bay đặc biệt của quadrotor như chuyển chế độ bay tự động

Hình 3-11 RX và TX của FlySky FS-i6 i6 2.4G 6CH

Cảm biến cân điện tử (loadcell)

Là thiết bị cảm biến dùng để chuyển đổi lực hoặc trọng lượng thành tín hiệu điện

Loadcell thường được sử dụng để cảm ứng các lực lớn, tĩnh hay các lực biến thiên chậm

Loadcell được cấu tạo bởi hai thành phần, thành phần thứ nhất là "Strain gage" và thành phần còn lại là "Load" Strain gage là một điện trở đặc biệt rất nhỏ, mỏng, có điện trở thay đổi khi bị nén hay kéo dãn và được nuôi bằng một nguồn điện ổn định, được dán lên “Load” - một thanh kim loại chịu tải có tính đàn hồi

Loadcell Hoạt động dựa trên nguyên lý cầu điện trở cân bằng Wheatstone Giá trị lực tác dụng tỉ lệ với sự thay đổi điện trở cảm ứng trong cầu điện trở, và do đó trả về tín hiệu điện áp tỉ lệ

Có thể phân loại loadcells như sau: o Lực tác động: chịu kéo (shear loadcell), chịunén (compression loadcell), dạng uốn

(bending), chịu xoắn (TensionLoadcell) o Hình dạng: dạng đĩa, dạng thanh, dạng trụ, dạng cầu,dạng chữ S o Kích thước và khả năng chịu tải: loại bé (1-5kg), vừa (5-20kg), lớn (>20kg)

Hình 3-12 Loadcell phiên bản thương mại và strain gauge Để chuyển đổi từ sự thay đổi điện trở hay thay đổi điện áp thành giá trị khối lượng, loadcell sẽ cần kết nối mới 1 board mạch ADC (chuyển đổi tương tự sang số) Từ đây, giá trị khối lượng của tải mới được xác định

Hình 3-13 Sơ đồ đấu nối đọc về giá trị khối lượng đo được sử dụng loadcell, HX711 và adruino

Hình 3-14 Hình ảnh lắp đặt thực tế loadcell trên quadrotor

Sơ đồ kết nối thiết bị

Hình mô tả sơ đồ kết nối các thiết bị cho quadrotor với 4 động cơ BLDC điều khiển tốc độ bởi ESC với tín hiệu điều khiển xung PWM được xuất bởi APM 2.8

Bộ điều khiển APM 2.8 nhận lệnh điều khiển từ bộ điều khiển từ xa với các lệnh điều khiển là lực nâng throttle và các góc đặt roll, pitch, yaw

Hình 3-15 Sơ đồ kết nối các thiết bị trên quadrotor

Thiết kế bộ điều khiển

Trong chương này, các giải thuật điều khiển PID và Adaptive Fuzzy PID sẽ được trình bày đáp ứng việc điều khiển vị trí và thích nghi khi khối lượng trọng tải của máy bay bị thay đổi Các kiểm chứng về giải thuật sẽ được thực hiện bằng mô phỏng của phần mềm Matlab

Từ những phân tích động lực học và điều khiển của quadrotor, ta có thể chia các khối điều khiển thành 3 khối điều khiển riêng lẻ: điều khiển hướng, điều khiển độ cao và điều khiển vị trí Trong đó, với khối điều khiển hướng và điều khiển vị trí sẽ áp dụng bộ điều khiển PID và điều khiển độ cao sẽ dùng bộ điều khiển AFPID

4.1.1 Khối điều khiển độ cao (Altitude Controller Block) Để điều khiển cao độ của quadrotor, tín hiệu sai số e giữa giá trị đặt 𝑧 𝑑 và giá trị thực tế z sẽ dùng để điều chỉnh tín hiệu điều khiển U1

Hình 4-4-1 Sơ đồ khối bộ điều khiển độ cao

4.1.2 Khối điều khiển hướng (Attitude & Heading Controller Block) Để điều khiển hướng của Quadrotor, bộ điều khiển lấy giá trị sai số e của giá trị đặt

𝜙 𝑑 , 𝜃 𝑑 , 𝜓 𝑑 và giá trị thực tế của 𝜙, 𝜃, 𝜓 từ đây sẽ điều chỉnh tín hiệu điều khiển 𝑈 2 , 𝑈 3 , 𝑈 4

Hình 4-4-2 Sơ đồ khối cho bộ điều khiển phương hướng

4.1.3 Khối điều khiển vị trí (Position Controller Block)

Không giống như điều khiển độ cao và hướng, điều khiển vị trí x và y không thể tính toán tách riêng biệt và cũng không thể điều khiển trực tiếp dựa trên 1 trong 4 tín hiệu điều khiển 𝑈 1−4 Mặt khác, điều khiển vị trí x và y có thể gián tiếp thông qua điều khiển góc roll và pitch (𝜙, 𝜃) Các góc (𝜙 𝑑 , 𝜃 𝑑 ) có thể tính thông qua biểu thức dưới đây:

Hình 4-4-3 Sơ đồ khối bộ điều khiển vị trí (hệ thống hoàn chỉnh)

4.2 Các bộ điều khiển (Controller)

4.2.1 Điều khiển PID (PID Controller) Đây là bộ điều khiển cực kỳ phổ biến dựa trên tính hiệu sai số e đi vào 3 khâu tỷ lệ, tích phân và vi phân

Ta sẽ sử dụng bộ điều khiển này cho điều khiển hướng và vị trí (Altitude, Heading, Position) của quadrotor

Hình 4-4-4 Sơ đồ khối của 1 bộ điều khiển PID

4.2.1.1 Điều khiển hướng (Attitude & Heading) Điều khiển góc Roll (Roll Controller)

Ta có biểu thức luật điều khiển PID của góc Roll như sau:

𝑘 𝑝 Độ lợi khâu tỷ lệ

𝑘 𝑑 Độ lợi khâu vi phân

𝑘 𝑖 Độ lợi khâu tích phân Điều khiển góc Pitch (Pitch Controller)

Ta có biểu thức luật điều khiển PID của góc Pitch như sau:

𝑘 𝑝 Độ lợi khâu tỷ lệ

𝑘 𝑑 Độ lợi khâu vi phân

𝑘 𝑖 Độ lợi khâu tích phân Điều khiển góc Yaw (Yaw Controller)

Ta có biểu thức luật điều khiển PID của góc Yaw như sau:

𝑘 𝑝 Độ lợi khâu tỷ lệ

𝑘 𝑑 Độ lợi khâu vi phân

𝑘 𝑖 Độ lợi khâu tích phân Điều khiển vị trí (Position Controller)

Sau khi đạt được sự cân bằng, và ổn định cho quadrotor bằng bộ điều khiển hướng và độ cao, bộ điều khiển PID cho vị trí có thể được xây dựng như sau:

𝑘 𝑝 Độ lợi khâu tỷ lệ

𝑘 𝑑 Độ lợi khâu vi phân

𝑘 𝑖 Độ lợi khâu tích phân

𝑥 𝑑 Toạ độ x của vị trí mong muốn

𝑦 𝑑 Toạ độ y của vị trí mong muốn

Từ 𝑥̈ 𝑑 , 𝑦̈ 𝑑 sẽ tìm được góc đặt mong muốn (𝜙 𝑑 , 𝜃 𝑑 ) từ đây sẽ giá trị ngõ vào cho bộ điều khiển hướng của quadrotor

4.2.2 Bộ điều khiển thích nghi mờ AFPID (Adaptive Fuzzy PID)

Vì trọng tải của quadrotor bị thay đổi do sự thay đổi khối lượng do các vật tải khác nhau Biểu thức sự biến đổi khối lượng như sau:

𝑚 = 𝑀 𝑞 + 𝑀 𝑃 + 𝛿𝑡 Với: m Khối lượng tổng của quadrotor

𝑀 𝑞 Khối lượng quadrotor không tải

𝑀 𝑃 Khối lượng của tải (payload)

𝛿 Tốc độ biến đổi khối lượng theo thời gian t Thời gian

Chức năng chính của bộ điều khiển AFPID là giảm thiểu sai số về độ cao khi bay theo tín hiệu đặt, vị trí đã cho trước với khối lượng tải bị thay đổi trong hành trình bay hay mỗi khi nâng hạ tải Và bởi vì, khối lượng của vật sẽ thay đổi nặng nhẹ khác nhau làm ảnh hưởng đến tính hiệu điều chỉnh lực nâng chính là tốc độ quay của rotor

Do đó, bộ điều khiển mờ với các tính năng ưu việt đã được đề xuất khi bộ điều khiển mờ có thể điều khiển linh hoạt, ổn định, thích nghi và có thể dịch được những ngôn ngữ như khi khối lượng nặng thì cần lực nâng lớn hơn thành luật điều khiển

Trong luận văn này, bộ điều khiển mờ sẽ được cải tiến, kết hợp và chỉnh định độ lợi cho bộ điều khiển PID và được gọi là bộ điều khiển Adaptive Fuzzy PID (AFPID)

Một số ưu điểm của bộ điều khiển AFPID:

 Dựa vào kinh nghiệm điều khiển, quan sát trong thực tế và sự hiểu biết về đặc tính động lực học của quadrotor, các luật điều khiển bằng ngôn ngữ có thể thiết lập cho bộ điều khiển để thừa hưởng các kinh nghiệm này

 Logic mờ mô tả được quan hệ vào ra phi tuyến của các hệ thống có tính phi tuyến cao như máy bay, quadrotor

 Linh hoạt, có thể chỉnh định các tham số mờ của bộ điều khiển của bộ điều khiển hoặc bằng các phương pháp chỉnh định tối ưu để quadrotor có thể thích nghi và đáp ứng nhanh, vọt lố ít và hoạt động ổn định

 Dễ dàng lập trình bằng các ngôn ngữ bậc thấp như C/C++ trên các vi điều khiển, ít tốn thời gian xử lý

Bộ điều khiển AFPID sẽ được chia thành bộ điều khiển nhỏ hơn:

 Bộ điều khiển PID cho độ cao z (Altitude) cho tính hiệu điều khiển lực nâng 𝑈 1

 Bộ điều khiển mờ Fuzzy sẽ dựa vào đầu vào sai số độ cao và giá trị khối lượng của quadrotor để dùng tính độ lợi 𝑘 𝑝, 𝑘 𝑖, 𝑘 𝑑 bằng cách tính các hệ số độ lợi 𝛼, 𝛽, 𝛾 và đặt vào bộ tính độ lợi

Hình 4-4-5 Sơ đồ khối của bộ điều khiển AFPID cho trục z

𝑚 Khối lượng tổng của quadrotor

𝑒 𝑧 Sai số độ cao của quadrotor

𝑒̇ 𝑧 Đạo hàm sai số độ cao

𝑘 𝑝, 𝑘 𝑖, 𝑘 𝑑 Độ lợi bộ điều khiển PID cho độ cao

Trong đó, độ lợi bộ điều khiển PID cho độ cao sẽ được tính toán dựa trên các hệ số độ lợi

𝛼, 𝛽, 𝛾 theo công thức như sau:

𝑘 𝑑 = 𝑘 𝑑𝑚𝑖𝑛 + (𝑘 𝑑𝑚𝑎𝑥 − 𝑘 𝑑𝑚𝑖𝑛 ) ∗ 𝛽 Với các giá trị 𝑚𝑎𝑥, 𝑚𝑖𝑛 của độ lợi bộ điều khiển PID sẽ được tìm qua thực nghiệm

41 Theo đề xuất của Goh Ming Qian [16], các giá trị 𝑚𝑎𝑥, 𝑚𝑖𝑛 này của độ lợi có thể được tính dựa trên thông số độ lợi chuẩn bộ điều khiển PID độ cao khi hoạt động ổn định ± Δ với Δ lựa chọn phù hợp

Các khối điều khiển

Từ những phân tích động lực học và điều khiển của quadrotor, ta có thể chia các khối điều khiển thành 3 khối điều khiển riêng lẻ: điều khiển hướng, điều khiển độ cao và điều khiển vị trí Trong đó, với khối điều khiển hướng và điều khiển vị trí sẽ áp dụng bộ điều khiển PID và điều khiển độ cao sẽ dùng bộ điều khiển AFPID

4.1.1 Khối điều khiển độ cao (Altitude Controller Block) Để điều khiển cao độ của quadrotor, tín hiệu sai số e giữa giá trị đặt 𝑧 𝑑 và giá trị thực tế z sẽ dùng để điều chỉnh tín hiệu điều khiển U1

Hình 4-4-1 Sơ đồ khối bộ điều khiển độ cao

4.1.2 Khối điều khiển hướng (Attitude & Heading Controller Block) Để điều khiển hướng của Quadrotor, bộ điều khiển lấy giá trị sai số e của giá trị đặt

𝜙 𝑑 , 𝜃 𝑑 , 𝜓 𝑑 và giá trị thực tế của 𝜙, 𝜃, 𝜓 từ đây sẽ điều chỉnh tín hiệu điều khiển 𝑈 2 , 𝑈 3 , 𝑈 4

Hình 4-4-2 Sơ đồ khối cho bộ điều khiển phương hướng

4.1.3 Khối điều khiển vị trí (Position Controller Block)

Không giống như điều khiển độ cao và hướng, điều khiển vị trí x và y không thể tính toán tách riêng biệt và cũng không thể điều khiển trực tiếp dựa trên 1 trong 4 tín hiệu điều khiển 𝑈 1−4 Mặt khác, điều khiển vị trí x và y có thể gián tiếp thông qua điều khiển góc roll và pitch (𝜙, 𝜃) Các góc (𝜙 𝑑 , 𝜃 𝑑 ) có thể tính thông qua biểu thức dưới đây:

Hình 4-4-3 Sơ đồ khối bộ điều khiển vị trí (hệ thống hoàn chỉnh)

Các bộ điều khiển (Controller)

4.2.1 Điều khiển PID (PID Controller) Đây là bộ điều khiển cực kỳ phổ biến dựa trên tính hiệu sai số e đi vào 3 khâu tỷ lệ, tích phân và vi phân

Ta sẽ sử dụng bộ điều khiển này cho điều khiển hướng và vị trí (Altitude, Heading, Position) của quadrotor

Hình 4-4-4 Sơ đồ khối của 1 bộ điều khiển PID

4.2.1.1 Điều khiển hướng (Attitude & Heading) Điều khiển góc Roll (Roll Controller)

Ta có biểu thức luật điều khiển PID của góc Roll như sau:

𝑘 𝑝 Độ lợi khâu tỷ lệ

𝑘 𝑑 Độ lợi khâu vi phân

𝑘 𝑖 Độ lợi khâu tích phân Điều khiển góc Pitch (Pitch Controller)

Ta có biểu thức luật điều khiển PID của góc Pitch như sau:

𝑘 𝑝 Độ lợi khâu tỷ lệ

𝑘 𝑑 Độ lợi khâu vi phân

𝑘 𝑖 Độ lợi khâu tích phân Điều khiển góc Yaw (Yaw Controller)

Ta có biểu thức luật điều khiển PID của góc Yaw như sau:

𝑘 𝑝 Độ lợi khâu tỷ lệ

𝑘 𝑑 Độ lợi khâu vi phân

𝑘 𝑖 Độ lợi khâu tích phân Điều khiển vị trí (Position Controller)

Sau khi đạt được sự cân bằng, và ổn định cho quadrotor bằng bộ điều khiển hướng và độ cao, bộ điều khiển PID cho vị trí có thể được xây dựng như sau:

𝑘 𝑝 Độ lợi khâu tỷ lệ

𝑘 𝑑 Độ lợi khâu vi phân

𝑘 𝑖 Độ lợi khâu tích phân

𝑥 𝑑 Toạ độ x của vị trí mong muốn

𝑦 𝑑 Toạ độ y của vị trí mong muốn

Từ 𝑥̈ 𝑑 , 𝑦̈ 𝑑 sẽ tìm được góc đặt mong muốn (𝜙 𝑑 , 𝜃 𝑑 ) từ đây sẽ giá trị ngõ vào cho bộ điều khiển hướng của quadrotor

4.2.2 Bộ điều khiển thích nghi mờ AFPID (Adaptive Fuzzy PID)

Vì trọng tải của quadrotor bị thay đổi do sự thay đổi khối lượng do các vật tải khác nhau Biểu thức sự biến đổi khối lượng như sau:

𝑚 = 𝑀 𝑞 + 𝑀 𝑃 + 𝛿𝑡 Với: m Khối lượng tổng của quadrotor

𝑀 𝑞 Khối lượng quadrotor không tải

𝑀 𝑃 Khối lượng của tải (payload)

𝛿 Tốc độ biến đổi khối lượng theo thời gian t Thời gian

Chức năng chính của bộ điều khiển AFPID là giảm thiểu sai số về độ cao khi bay theo tín hiệu đặt, vị trí đã cho trước với khối lượng tải bị thay đổi trong hành trình bay hay mỗi khi nâng hạ tải Và bởi vì, khối lượng của vật sẽ thay đổi nặng nhẹ khác nhau làm ảnh hưởng đến tính hiệu điều chỉnh lực nâng chính là tốc độ quay của rotor

Do đó, bộ điều khiển mờ với các tính năng ưu việt đã được đề xuất khi bộ điều khiển mờ có thể điều khiển linh hoạt, ổn định, thích nghi và có thể dịch được những ngôn ngữ như khi khối lượng nặng thì cần lực nâng lớn hơn thành luật điều khiển

Trong luận văn này, bộ điều khiển mờ sẽ được cải tiến, kết hợp và chỉnh định độ lợi cho bộ điều khiển PID và được gọi là bộ điều khiển Adaptive Fuzzy PID (AFPID)

Một số ưu điểm của bộ điều khiển AFPID:

 Dựa vào kinh nghiệm điều khiển, quan sát trong thực tế và sự hiểu biết về đặc tính động lực học của quadrotor, các luật điều khiển bằng ngôn ngữ có thể thiết lập cho bộ điều khiển để thừa hưởng các kinh nghiệm này

 Logic mờ mô tả được quan hệ vào ra phi tuyến của các hệ thống có tính phi tuyến cao như máy bay, quadrotor

 Linh hoạt, có thể chỉnh định các tham số mờ của bộ điều khiển của bộ điều khiển hoặc bằng các phương pháp chỉnh định tối ưu để quadrotor có thể thích nghi và đáp ứng nhanh, vọt lố ít và hoạt động ổn định

 Dễ dàng lập trình bằng các ngôn ngữ bậc thấp như C/C++ trên các vi điều khiển, ít tốn thời gian xử lý

Bộ điều khiển AFPID sẽ được chia thành bộ điều khiển nhỏ hơn:

 Bộ điều khiển PID cho độ cao z (Altitude) cho tính hiệu điều khiển lực nâng 𝑈 1

 Bộ điều khiển mờ Fuzzy sẽ dựa vào đầu vào sai số độ cao và giá trị khối lượng của quadrotor để dùng tính độ lợi 𝑘 𝑝, 𝑘 𝑖, 𝑘 𝑑 bằng cách tính các hệ số độ lợi 𝛼, 𝛽, 𝛾 và đặt vào bộ tính độ lợi

Hình 4-4-5 Sơ đồ khối của bộ điều khiển AFPID cho trục z

𝑚 Khối lượng tổng của quadrotor

𝑒 𝑧 Sai số độ cao của quadrotor

𝑒̇ 𝑧 Đạo hàm sai số độ cao

𝑘 𝑝, 𝑘 𝑖, 𝑘 𝑑 Độ lợi bộ điều khiển PID cho độ cao

Trong đó, độ lợi bộ điều khiển PID cho độ cao sẽ được tính toán dựa trên các hệ số độ lợi

𝛼, 𝛽, 𝛾 theo công thức như sau:

𝑘 𝑑 = 𝑘 𝑑𝑚𝑖𝑛 + (𝑘 𝑑𝑚𝑎𝑥 − 𝑘 𝑑𝑚𝑖𝑛 ) ∗ 𝛽 Với các giá trị 𝑚𝑎𝑥, 𝑚𝑖𝑛 của độ lợi bộ điều khiển PID sẽ được tìm qua thực nghiệm

41 Theo đề xuất của Goh Ming Qian [16], các giá trị 𝑚𝑎𝑥, 𝑚𝑖𝑛 này của độ lợi có thể được tính dựa trên thông số độ lợi chuẩn bộ điều khiển PID độ cao khi hoạt động ổn định ± Δ với Δ lựa chọn phù hợp

Bộ điều khiển mờ sẽ có 3 ngõ vào (𝑚, 𝑒 𝑧 , 𝑒̇ 𝑧 ) và 3 ngõ ra là giá trị của (𝛼, 𝛽, 𝛾) sử dụng phương pháp Madami với tính toán Max-Min Các tín hiệu vào ra của bộ điều khiển được mờ hoá thành các tập mờ và hàm liên thuộc

Bảng 4-1 Luật mờ cho alpha với khối lượng bé (a) và lớn (b)

Bảng 4-2 Luật mờ cho beta với khối lượng bé (a) và lớn (b)

Bảng 4-3 Luật mờ cho beta với khối lượng bé (a) và lớn (b)

Hình 4-4-6 Hàm liên thuộc cho ngõ vào cho sai số (𝑒 𝑧 ), sai số (𝑒̇ 𝑧 ) và 𝑚

Hình 4-4-7 Hàm liên thuộc cho ngõ ra của alpha, beta và gamma

Luật điều khiển mờ có dạng: IF 𝒆 𝒊 AND 𝒆̇ 𝒊 AND 𝒎 𝒊 THEN 𝜶 𝒊 AND 𝜷 𝒊 AND 𝜸 𝒊 được cho dưới dạng bảng và tổng cộng có 8 luật:

Hình 4-4-8 Luật điều khiển mờ cho AFPID

Thực hiện giải thuật

Giải thuật được thực hiện bằng lập trình ngôn ngữ C/C++ trên phần cứng nền tảng được xây dựng trên Arduino có thể lập trình thông qua IDE Arduino complier

4.3.1 Lập trình với thư viện của Ardupilot 3.2.1

Phiên bản APM 2.8 là phiên bản thương mại cuối cùng của dòng APM do cộng đồng Ardupilot (Ardupilot.org) còn được sản xuất trên thị trường, đi kèm với phiên bản phần cứng là hệ thống thư viện mở với các module được xây dựng bởi cộng đồng và phát hành miễn phí dưới giấy phép GPLv3 có tên là Ardupilot

Phiên bản cuối cùng của Ardupilot còn hỗ trợ cho phần cứng APM 2.8 là phiên bản 3.2.1

Trong luận văn này, để tối đa hoá lợi ích và giảm thiểu chi phí đưa ra sản phẩm, thư viện Ardupilot 3.2.1 đã được tận dụng với các mã nguồn thư viện giao tiếp phần cứng như AP_HAL_AVR, AP_AHRS,…

4.3.2 Cấu trúc vòng lặp chính (main loop) Đối với APM 2.8, vòng lặp chính được vận hành với xung nhịp 100hz

 Header: Khai báo các thư viện truy dẫn, được sử dụng khi chạy chương trình chính

 Setup: Được gọi đến trong vòng lặp đầu tiên của chương trình chính, dùng để khai báo

1 lần các biến, gọi các chương trình khởi tạo con

 Loop: Đoạn chương trình sẽ được gọi lặp lại với xung nhịp 100hz

 Auxiliary Function: các hàm và chương trình con, sẽ được gọi đến thực hiện các tác vụ riêng biệt

 AP_HAL_MAIN(): dùng để gọi các hàm và tác vụ giao tiếp với phần cứng đã được xây dựng sẵn của thư viện Ardupilot

Hình 4-9 Cấu trúc vòng lặp chính chương trình (main loop)

Có 3 chế độ gọi 1 tác vụ, chương trình con trong chương trình chính:

 Tuần tự (sequential mode): xử lý các tác vụ, dòng lệnh 1 cách tuần tự từ trên xuống

 Song song (parallel mode): xử lý các tác vụ song song cùng với chương trình chính, thời gian xử lý thực

 Khối module (modular mode): xử lý các tác vụ là các chương trình con, được gọi đến khi xử lý dòng lệnh gọi tên, giúp đơn giản hoá cấu trúc code, chuyên biệt hoá tác vụ Để thực thi chế độ song song (parallel mode), hệ thống cần sử dụng thư viện lên kế hoạch, đặt lịch gọi (scheduler) với chức năng như sau:

Thời gian gọi lại chương trình = hệ số*10ms

/* scheduler table - all regular tasks apart from the fast_loop() should be listed here, along with how often they should be called

(in 10ms units) and the maximum time they are expected to take (in microseconds)

*/ static const AP_Scheduler::Task scheduler_tasks[] PROGMEM = {

Như đoạn chương trình trên, hàm fifty_hz_loop sẽ được xử lý sau khoảng thời gian 0.5s trong khoảng thời gian tối đa cho phép là 950 microsecond

Hình 4-10 Các chế độ xử lý tác vụ, dòng lệnh của APM 2.8

4.3.3 Giải thuật điều khiển Để xử lý bài toán cân bằng và quy hoạch quỹ đạo cho quadrotor với khối lượng thay đổi, các giá trị cần cảm biến phải thu thập được bao gồm:

 Độ cao z: thông qua giá trị đọc về của barometter, gps

 Toạ độ x,y: thông qua giá trị xử lý kinh độ, vĩ độ của gps

 Phương: được đo đạc thông qua giá trị của la bàn

 Phương hướng: thông qua giá trị của cảm biến IMU

 Tốc độ xoay, tốc độ góc: thông qua giá trị cảm biến con quay hồi chuyển Gyro

 Trọng tải thay đổi: thông qua giá trị của loadcell

Các giá trị cảm biến này sẽ được đọc về và xử lý thông qua thư viện phần cứng HAL được khai báo như sau:

Hình 4-11 Lưu đồ chương trình chính

AP_InertialSensor_MPU6000 imu(ins);

AP_Baro_MS5611 baro(&AP_Baro_MS5611::spi);

Baro_Glitch baro_glitch(baro);

GPS_Glitch gps_glitch(gps);

AP_AHRS_DCM ahrs(ins, baro, gps);

AP_InertialNav inertial_nav(ahrs, baro, gps_glitch, baro_glitch);

4.3.3.1 Xử lý giá trị độ cao Z Để xử lý được giá trị độ cao, cảm biến barometter dựa trên sự thay đổi về áp suất và nhiệt độ sẽ quy đổi về độ cao cách với mặt đất của thiết bị Đồng thời để gia tăng sự chính xác, giá trị đọc độ cao của GPS cũng có thể dùng để hiệu chỉnh giá trị độ cao

/* create instances*/ static AP_Baro baro; float baro_alt=0; void setup(){ baro.init(); baro.calibrate(); //keep quadrotor on the ground before calibrating

} void loop(){ baro.update(); //update the status of baro baro_alt = baro.get_altitude();

4.3.3.2 Xử lý toạ độ X,Y: Để xử lý toạ độ X,Y của Quadrotor dùng cho quy hoạch quỹ đạo, kết quả của GPS sẽ được dùng để xác định với sai số 0.5-1m và được hiệu chỉnh với giá trị vị trí tính toán dựa trên gia tốc tịnh tiến theo phương X, Y của quadrotor

Dùng tích phân giá trị gia tốc góc: static float dt; static uint32_t lasttime; // void update_position(){ ins.update(); uint32_t currtime = millis(); dt = (float)(currtime - lasttime) / 1000.0f; lasttime = currtime;

47 accel = ins.get_accel(); accelx[0] = accelx[1]; accelx[1] = removeChattering(accel.x); // if acceleration is too small, set the value to zero to prevent deviation accely[0] = accely[1]; accely[1] = removeChattering(accel.y);

// Velocity velx[0] = velx[1]; velx[1] = integral(velx,accelx,dt); vely[0] = vely[1]; vely[1] = integral(vely,accely,dt);

//Position x[0] = x[1]; x[1] = integral(x,velx,dt); y[0] = y[1]; y[1] = integral(y,vely,dt);

} float integral(float x[2], float a[2], float dt)

Dùng giá trị đọc vị trí từ GPS

AP_InertialNav inertial_nav(ahrs, baro, gps_glitch, baro_glitch); /*Vảiable*/ static Vector3f pos_gps; static Vector3f vel_gps; static Vector3f pos; static Vector3f vel; uint8_t flag = 0,flag2 = 1; static float dt; static uint32_t last_update; void setup(){ gps.init(NULL); ahrs.set_compass(&compass); inertial_nav.init();

} void loop(){ static uint32_t last_msg_ms; gps.update(); if (last_msg_ms != gps.last_message_time_ms()){ last_msg_ms = gps.last_message_time_ms(); const Location &loc = gps.location(); flag = gps.status();

} uint32_t currtime = hal.scheduler->millis(); dt = (float)(currtime - last_update) / 1000.0f; last_update = currtime; inertial_nav.update(dt); flag = gps.num_sats(); if(pos.x!= 0 && flag >= 3 && flag2 == 1){ const Location &loc = gps.location(); ahrs.set_home(loc); compass.set_initial_location(loc.lat, loc.lng);

} pos_gps = inertial_nav.get_position(); vel_gps = inertial_nav.get_velocity(); pos.x = ((pos_gps.x)/100); pos.y = ((pos_gps.y)/100); pos.z = ((pos_gps.z)/100); if(flag2 == 2){ vel.x = ((vel_gps.x)/100); vel.y = ((vel_gps.y)/100);

} vel.z = ((vel_gps.z)/100); flag2 = 1; hal.console->printf("%0.6f\t %0.6f\t %0.6f\t %0.6f\t%d\n", pos_gps.x,pos_gps.y,vel_gps.x,vel_gps.y,gps.num_sats());

4.3.3.3 Xử lý góc, tốc độ góc Để xử lý các góc và tốc độ góc, các giá trị từ cảm biến Gyro, Baro, GPS sẽ được đọc về và xử lý thông qua thư viện AP_AHRS

Hình 4-12 Sơ đồ khối xử lý dữ liệu từ sensor cho về giá trị góc của quadrotor float roll, pitch, yaw; float gyroRoll, gyroPitch, gyroYaw;

50 compass.init(); compass.read(); ahrs.set_compass(&compass);

} void loop(){ ahrs.update(); roll = ToDeg(ahrs.roll); pitch = ToDeg(ahrs.pitch); yaw = ToDeg(ahrs.yaw); compass.read(); ins.update(); gyro = ins.get_gyro(); gyroRoll = ToDeg(gyro.x); gyroPitch = ToDeg(gyro.y); gyroYaw = ToDeg(gyro.z); // (deg/s)

4.3.3.4 Xử lý giá trị trọng tải thay đổi Để có thể đọc về giá trị khối lượng của tải thay đổi, ta sử dụng loadcell dựa trên nguyên lý biến đổi sự biến dạng của cell làm thay đổi giá trị điện trở dẫn đến điện áp thay đổi

Mạch chuyển đổi ADC HX711 sẽ đổi giá trị điện áp (analog) thành giá trị số (digital) và được đọc về qua các “digital input” pin của APM 2.8

HX711 scale; void setup(){ mquad_read_init();

51 hal.console->printf("Loadcell is cumming\r\n"); scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN); scale.set_scale(CALIBRATION_FACTOR); //Calibrated on 19.Aug at Trung house scale.tare(); //Assuming there is no weight on the scale at start up, reset the scale to 0

} float mquad_read(){ mquad = scale.get_units(); return mquad; // in kg with 3 decimal

4.3.3.5 Bộ điều khiển PID Để điều khiển cân bằng và vị trí cho quadrotor, ta cần 9 bộ điều khiển PID cho các tín hiệu điều khiển bao gồm:

 Vị trí: cho các sai số vị trí của x,yz

 Góc: các sai số góc đặt của roll, pitch, yaw

 Tốc độ góc: các sai số của tốc độ góc roll, pitch, yaw

Hình 4-13 Sơ đồ khối bộ điều khiển PID của hệ thống setthr = rcthr + constrain_float(pids[PID_Z].get_pid((float)z[1] -z[0], 1), -250, 250); roll_pos = constrain_float(pids[PID_X].get_pid((float)pos_target.x - pos_curr.x, 1), -45, 45); pitch_pos = constrain_float(pids[PID_Y].get_pid((float)pos_target.y - pos_curr.y, 1), -45, 45); yaw_pos = constrain_float(pids[PID_YAW].get_pid((float)pos_target.z - pos_curr.z, 1), -300, 300); roll_angle = constrain_float(pids[PID_ROLL_STAB].get_pid((float)roll_pos - roll, 1), -250, 250);

52 pitch_angle = constrain_float(pids[PID_PITCH_STAB].get_pid((float)pitch_pos - pitch, 1), -250, 250); yaw_angle = constrain_float(pids[PID_YAW_ANGLE].get_pid(wrap_180(yaw_pos - yaw), 1), -360, 360); u[0] = setthr; u[1] = constrain_float(pids[PID_ROLL_RATE].get_pid(roll_angle - gyroRoll, 1), -500, 500); u[2] = constrain_float(pids[PID_PITCH_RATE].get_pid(pitch_angle - gyroPitch, 1), -500, 500); u[3] = constrain_float(pids[PID_YAW_RATE].get_pid(yaw_angle - gyroYaw, 1), -500, 500);

4.3.3.5.1 Hiệu chỉnh hệ số PID

Theo lý thuyết, để cân chỉnh hệ số PID phù hợp với thiết bị, các quy trình sẽ theo trình tự sau:

1 Gán các giá trị khởi tạo kI, kD, kP là giá trị nhỏ tầm 0.1-05

Sơ đồ kết nối mô phỏng

Để xây dựng mô phỏng kiểm chứng, các khối mô phỏng sẽ cần được xây dựng: o Khối điều khiển (Controller): o Bộ điều khiển vị trí (x, y): PID controller o Bộ điều khiển góc (roll, pitch, yaw): PID controller o Bộ điều khiển cao độ (z): AFPID controller o Khối chuyển đổi tín hiệu điều khiển 𝑈 1−4 thành tốc độ đặt cho mỗi rotor Ω 1−4 (Motor Speed Calculation) o Khối hàm truyền động cơ (Rotor Dynamics) o Khối tính toán tín hiệu điều khiển tương ứng 𝑈 1−4 thực tế

(System Input Calculation) o Khối mô hình động lực học của Quadrotor (Quadrotor Dynamics) o Khối quan sát trạng thái hệ thống (Observation)

Hình 5-1 Sơ đồ khối mô phỏng và kiểm định chất lượng điều khiển Quadrotor

5.1.1.1 Kiểm định bộ điều khiển PID

Do cấu trúc đối xứng của quadrotor, bộ điều khiển PID cho góc roll 𝜙 tương đương với góc pitch 𝜃 Giả thuyết này có thể dễ dàng kiểm chứng bởi mô phỏng và thể hiện trong bảng …

Và tương tự, như góc roll và góc pitch, bộ điều khiển PID cho vị trí 𝑥 và 𝑦 cũng tương đương nhau do tính chất cấu trúc đối xứng

Do đó khi thực hiện cân chỉnh, việc điều chỉnh sẽ tiết kiệm thời gian và đồng thời khi điều chỉnh cùng lúc hệ số độ lợi cho cả bộ điều khiển PID vị trí 𝑥 và 𝑦 hoặc cho góc roll 𝜙 và pitch

5.1.1.1.1 Kiểm định với quỹ đạo điểm-điểm, trọng tải không đổi

Thực hiện kiểm định bộ điều khiển vị trí và góc (PID), độ cao (PID) với quỹ đạo đoạn thẳng đi từ điểm A đến B và giữ cân bằng trên không tại điểm B

Thông số Giá trị ban đầu Giá trị đặt 𝒌 𝒑 𝒌 𝒊 𝒌 𝒅 Txl

(ST) Vọt lố (OS) Độ cao (z) 0m 2m 4.7 3.4 1.8 4s 0%

Bảng 5-1 Bảng thông số kiểm định bộ điều khiển góc,vị trí & độ cao quỹ đạo điểm-điểm, trọng tải không đổi Đáp ứng vị trí x Đáp ứng vị trí y Đáp ứng độ cao z Sai số trên các trục

62 Đáp ứng góc Roll Đáp ứng góc Pitch Đáp ứng góc Yaw

Hình 5-2 Kết quả kiểm định bộ điều khiển góc, vị trí & độ cao quỹ đạo điểm-điểm, trọng tải không đổi

5.1.1.1.2 Kiểm định với quỹ đạo xoắn tròn, trọng tải không đổi

Thực hiện kiểm định chất lượng bộ điều khiển vị trí và góc (PID), độ cao (PID) với quỹ đạo là dạng xoắn tròn có bán kính = 1m, độ cao tăng dần 1m/s với khối lượng không đổi

Thông số Giá trị ban đầu Giá trị đặt 𝒌 𝒑 𝒌 𝒊 𝒌 𝒅 Txl

(ST) Vọt lố (OS) Độ cao (z) 0m 1m/s 4.7 3.4 1.8 0.5s 0%

Bảng 5-2 Bảng thông số kiểm định bộ điều khiển góc và vị trí quỹ đạo xoắn tròn, trọng tải không đổi

Quỹ đạo đặt và quỹ đạo quadrotor thực tế

63 Đáp ứng của vị trí x Đáp ứng của vị trí y Đáp ứng độ cao z Sai số trên các trục Đáp ứng góc Roll Đáp ứng góc Pitch Đáp ứng góc Yaw Hình 5-3 Kết quả kiểm định bộ điều khiển góc, vị trí & độ cao theo quỹ đạo xoắn tròn, trọng tải không đổi

5.1.1.1.3 Kiểm định với quỹ đạo tròn, trọng tải thay đổi

Thực hiện kiểm định chất lượng bộ điều khiển vị trí và góc (PID), độ cao (PID) với quỹ đạo là dạng xoắn tròn có bán kính = 1m, độ cao = 2m với khối lượng không đổi

Khối lượng tổng của quadrotor thay đổi theo thời gian Quỹ đạo quadrotor bị mất ổn định ở giây thứ 17s Đáp ứng của vị trí x vẫn ổn định khi khối lượng biến thiên Đáp ứng của vị trí y vẫn ổn định khi khối lượng biến thiên Đáp ứng độ cao z dao động rất lớn khi khối lượng thay đổi Sai số trên các trục

Hình 5-4 Kết quả kiểm định bộ điều khiển góc, vị trí & độ cao theo quỹ đạo xoắn tròn, trọng tải thay đổi

Kết quả kiểm định cho thấy, bộ điều khiển PID không thể đáp ứng điều khiển Quadrotor khi trọng tải biến thiên lớn (200%) , dẫn đến dao động mất ổn định hệ thống Đáp ứng trên trục z bị ảnh hưởng nhiều nhất khi trọng tải biến thiên trong khi đáp ứng về vị trí x,y và các góc lại không thể hiện sự ảnh hưởng nhiều khi trọng tải biến thiên

Do đó, riêng với trục z, chỉ cần thiết kế một bộ điều khiển có khả năng thích nghi với sự biến thiên khối lượng

5.1.1.2 Kiểm định bộ điều khiển AFPID

5.1.1.2.1 Kiểm định với quỹ đạo điểm-điểm, trọng tải thay đổi

Thực hiện kiểm định bộ điều khiển vị trí và góc (PID), độ cao (AFPID) với quỹ đạo đoạn thẳng đi từ điểm A đến B và giữ cân bằng trên không tại điểm B

Thông số Giá trị ban đầu

Vọt lố (OS) Độ cao (z) 0m 2m 4.2 8 - 0.1 1.8 3s 3%

Bảng 5-3 Bảng thông số kiểm định bộ điều khiển góc,vị trí và độ cao quỹ đạo điểm-điểm, trọng điểm thay đổi

Khối lượng của quadrotor biến đổi theo thời gian Quỹ đạo điểm (0,0,0) – điểm (1,1,2) Đáp ứng vị trí x với khối lượng biến đổi Đáp ứng vị trí y với khối lượng biến đổi

66 Đáp ứng độ cao z với khối lượng biến đổi Sai số trên các trục Đáp ứng góc Roll Đáp ứng góc Pitch Đáp ứng góc Yaw

Hình 5-5 Kết quả kiểm định bộ điều khiển góc, vị trí & độ cao(AFPID) theo quỹ đạo điểm điểm, trọng tải thay đổi

5.1.1.2.2 Kiểm định với quỹ đạo tròn, trọng tải thay đổi

Thực hiện kiểm định chất lượng bộ điều khiển vị trí và góc (PID), độ cao (PID) với quỹ đạo là dạng xoắn tròn có bán kính = 1m, giữ độ cao = 2m với khối lượng thay đổi

Thông số Giá trị ban đầu Giá trị đặt 𝒌 𝒑𝒎𝒊𝒏 𝒌 𝒑𝒎𝒂𝒙 𝒌 𝒊 𝒌 𝒅𝒎𝒊𝒏 𝒌 𝒅𝒎𝒂𝒙 Txl

Vọt lố (OS) Độ cao (z) 0m 2m 4.2 8 - 0.1 1.8 3s 3%

Hình 5-6 Bảng thông số kiểm định bộ điều khiển góc,vị trí và độ cao quỹ đạo trọn, trọng điểm thay đổi

Khối lượng của quadrotor biến đổi theo thời gian Quỹ đạo tròn (r=1m, z=2m) Đáp ứng vị trí x với khối lượng thay đổi Đáp ứng vị trí y với khối lượng thay đổi Đáp ứng độ cao z với khối lượng thay đổi Sai số trên các trục

68 Đáp ứng góc Roll Đáp ứng góc Pitch Đáp ứng góc Yaw

Hình 5-7 Kết quả kiểm định bộ điều khiển góc, vị trí & độ cao(AFPID) theo quỹ đạo tròn, trọng tải thay đổi

Kết quả kiểm định cho thấy, bộ điều khiển APID đáp ứng điều khiển Quadrotor khi trọng tải biến thiên lớn (200%) vẫn rất tốt Các đáp ứng về điều khiển góc và vị trí không bị ảnh hưởng và đáp ứng trên trục z cho thấy sự ổn định và thích nghi với sự thay đổi của khối lượng.

Kết quả thực nghiệm

Sau khi hoàn thành bộ điều khiển cân bằng, quadrotor đã được kiểm nghiệm bộ điều khiển thích nghi mờ AFPID trong thực tế với các kết quả khả quan

Hình 5-8 Lắp đặt loadcell lên quadrotor

5.2.1 Kiểm định giá trị đọc loadcell Để có thể đọc được giá trị đúng của tải, cần phải thực hiện việc cân chỉnh bù “offset” và hệ số

“scale” của loadcell trước khi sử dụng long HX711::read_average(uint8_t times) { long sum = 0; for (uint8_t i = 0; i < times; i++) { sum += read(); halx.scheduler->delay(0);

} double HX711::get_value(uint8_t times) { return read_average(times) - OFFSET;

} float HX711::get_units(uint8_t times) { return get_value(times) / SCALE;

} void HX711::tare(uint8_t times) { double sum = read_average(times); set_offset(sum);

} void HX711::set_scale(float scale) {

} float HX711::get_scale() { return SCALE;

} void HX711::set_offset(long offset) {

Hình 5-9 Thực hiện cân chỉnh loadcell

5.2.2 Kiểm định bộ điều khiển AFPID Để kiểm định bộ điều khiển AFPID, các giá trị của hệ số 𝛼, 𝛽, 𝛾 và 𝑘𝑃 𝐴𝐹𝑃𝐼𝐷 , 𝑘𝐼 𝐴𝐹𝑃𝐼𝐷 , 𝑘𝐷 𝐴𝐹𝑃𝐼𝐷 và giá trị của các tín hiệu điều khiển 𝑈 1−4 sẽ được thu thập và kiểm định

Tải sẽ là 2 tải thay đổi với giá trị khối lượng lần lượt 0.159g và 0.29g

Hình 5-10 Thu thập các giá trị của bộ điều khiển AFPID thông qua UART

Thử nghiệm thực tế quan sát, thu thập với giá trị m payload thay đổi:

Hình 5-11 Giá trị thu thập trọng tải thay đổi

Hình 5-12 Hệ số alpha, beta và gamma, kP,kI,kD, U1-4 cho bộ điều khiển AFPID

Hình 5-133 Kết quả bay cân bằng thực tế

Kết luận

Đề tài đưa ra đã giải quyết được trọn vẹn quy trình thiết kế bộ điều khiển thích nghi mờ PID (AFPID) đáp ứng nhu cầu điều khiển Quadrotor cho mục đích vận tải với tải trọng biến thiên trong mức cho phép Đề tài đã trình bày và giải quyết các vấn đề về mô hình hoá, nhận dạng hệ thống Quadrotor Đồng thời đề xuất các khối điều khiển và xây dựng bộ điều khiển PID cho khối điều khiển góc và vị trí và AFPID cho khối điều khiển độ cao

Với kết quả kiểm định bằng mô phỏng, có thể thấy kết quả từ bộ điều khiển PID cho độ cao khi trọng tải biến thiên sẽ không đáp ứng được yêu cầu chất lượng điều khiển Và, khi sử dụng bộ điều khiển AFPID được đề xuất, các yêu cầu về chất lượng điều khiển đã được thoả mãn

72 Với các ưu điểm nổi trội của điều khiển mờ như có thể áp dụng kinh nghiệm điều khiển, ít nhạy và bền vững với nhiễu, dễ dàng lập trình trên vi điều khiển, bộ điều khiển AFPID hứa hẹn khả năng sử dụng rộng rãi trong ngành công nghiệp vận tải bằng quadrotor.

Hướng phát triển tương lai

Đề tài cho thấy hướng phát triển có thể áp dụng cho ngành công nghiệp vận tải bằng quadrotor với khả năng phổ biến và triển khai rất nhanh

Với tương lai có thể xây dựng việc điều khiển vị trí bằng công nghệ GPS, việc vận tải từ xa bằng quadrotor với quỹ đạo điểm điểm đã được lập trình sẽ có thể phát triển mạnh mẽ

Ngày đăng: 03/08/2024, 13:56

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Kimon P.Valavanis, “Advances in Unmanned Aerial Vehicles,” 1st Ed., Springer Ltd., 2007. Link: https://www.researchgate.net/, date access: 09-01-2020 Sách, tạp chí
Tiêu đề: Advances in Unmanned Aerial Vehicles
[2] D. Mellinger, M. Shomin, N. Michael, and V. Kumar, “Cooperative Grasping and Transport using Multiple Quadrotors,” in Distributed Autonomous Robotic Systems, Lausanne, Switzerland, 2010. Link: https://www.researchgate.net/, date access: 09- 01-2020 Sách, tạp chí
Tiêu đề: Cooperative Grasping and Transport using Multiple Quadrotors
[3] H. Bouadi, M. Bouchoucha and M. Tadjine, “Sliding Mode Control based on Backstepping Approach for an UAV Type-Quadrotor,” International Journal of Applied Mathematics and Computer Sciences, vol.4, no. 1, pp. 12-17, 2008. Link:https://www.researchgate.net/, date access: 09-01-2020 Sách, tạp chí
Tiêu đề: Sliding Mode Control based on Backstepping Approach for an UAV Type-Quadrotor
[4] Altug, E., Ostrowski, J. P., and Taylor, C. J., “Control of a Quadrotor Helicopter Using Dual Camera Visual Feedback,” In Proc. 2003 IEEE Int. Conf. on Robotics and Automation, pp. 4294-4299, 2003. Link:https://ieeexplore.ieee.org/Xplore/home.jsp, date access: 03-03-2020 Sách, tạp chí
Tiêu đề: Control of a Quadrotor Helicopter Using Dual Camera Visual Feedback
[5] Mandani, T., Benallegue, A., “Backstepping Control for a Quadrotor Helicopter,” Intelligent Robots and Systems, 2006 IEEE/RSJ International Conference on, pp Sách, tạp chí
Tiêu đề: Backstepping Control for a Quadrotor Helicopter
[6] S. Bouabdallah and R. Siegwart, “Backstepping and sliding-mode techniques applied to an indoor micro quadrotor,” in Proc. (IEEE) International Conference on Robotics and Automation (ICRA05),Barcelona, Spain, 2005. Link:https://ieeexplore.ieee.org/Xplore/home.jsp, date access: 03-03-2020 Sách, tạp chí
Tiêu đề: Backstepping and sliding-mode techniques applied to an indoor micro quadrotor
[7] A.A. Mian, M.I. Ahmad, D. Wang, “Backstepping based PID Control Strategy for an Underactuated Aerial Robot,” Proceedings of the 17th World Congress, TheInternational Federation of Automatic Control, Seoul, Korea, July 6-11, 2008. Link:https://www.researchgate.net/, date access: 09-01-2020 Sách, tạp chí
Tiêu đề: Backstepping based PID Control Strategy for an Underactuated Aerial Robot
[8] B. Erginer, E. Altug, “Modelling and PD Control of a Quadrotor VTOL Vehicle,” Proceedings of the 2007 IEEE Intelligent Vehicles Symposium, Istanbul, Turkey, June 13-15, 2007. Link: https://ieeexplore.ieee.org/Xplore/home.jsp, date access: 03-03- 2020 Sách, tạp chí
Tiêu đề: Modelling and PD Control of a Quadrotor VTOL Vehicle
[9] [9] R. Xu and U. Ozguner, “Sliding mode control of a quadrotor helicopter,” Proc. of the 45th IEEE Conference on Decision and Control, pp. 4957-4962, 2006. Link:https://ieeexplore.ieee.org/Xplore/home.jsp, date access: 03-03-2020 Sách, tạp chí
Tiêu đề: Sliding mode control of a quadrotor helicopter
[10] B. C. Min, C. H. Cho, K. M. Choi, and D. H. Kim, “Development of a Micro Quad- Rotor UAV for Monitoring an Indoor Environment,” Lecture Notes in Computer Science, Vol. 5744/2009, pp. 262-271, 2009. Link: https://www.researchgate.net/, date access: 09-01-2020 Sách, tạp chí
Tiêu đề: Development of a Micro Quad-Rotor UAV for Monitoring an Indoor Environment
[11] Bin Yao and M. Tomizuka, “Adaptive robust control of SISO nonlinear systems in a semi-strict feedback form,” Automatica, Vol 33, Issue 5, pp. 893-900, 1997. Link:https://www.researchgate.net/, date access: 09-01-2020 Sách, tạp chí
Tiêu đề: Adaptive robust control of SISO nonlinear systems in a semi-strict feedback form
[12] Li Xu and Bin Yao, “Adaptive robust precision motion control of linear motors with negligible electrical dynamics: theory and experiments,” IEEE/ASME Transactions on Mechatronics, Vo. 6, Issue: 4, pp.444-452, 2001. Link:https://ieeexplore.ieee.org/Xplore/home.jsp, date access: 03-03-2020 Sách, tạp chí
Tiêu đề: Adaptive robust precision motion control of linear motors with negligible electrical dynamics: theory and experiments
[13] Bin Yao, “Advanced Motion Control: From Classical PID to Nonlinear Adaptive Robust Control (Plenary Paper),” The 11th IEEE International Workshop on Advanced Motion Control, Nagaoka, Japan,2010. Link:https://ieeexplore.ieee.org/Xplore/home.jsp, date access: 03-03-2020 Sách, tạp chí
Tiêu đề: Advanced Motion Control: From Classical PID to Nonlinear Adaptive Robust Control (Plenary Paper)
[14] Bin Yao and M. Tomizuka, “Adaptive Robust Control of a Class of Multivariable Nonlinear Systems,” In IFAC World Congress, Vol. F, pp. 335-340, 1996. Link:https://ieeexplore.ieee.org/Xplore/home.jsp, date access: 03-03-2020 Sách, tạp chí
Tiêu đề: Adaptive Robust Control of a Class of Multivariable Nonlinear Systems
[15] Byung-Cheol Min, Ji-Hyeon Hong, and Eric T. Matson, “Adaptive Robust Control (ARC) for an Altitude Control of a Quadrotor Type UAV Carrying an Unknown Payloads”, the 11th International Conference on Control, Automation and Systems, Oct. 26-29, 2011 in KINTEX, Gyeonggi-do, Korea. Link:https://www.researchgate.net/, date access: 09-01-2020 Sách, tạp chí
Tiêu đề: Adaptive Robust Control (ARC) for an Altitude Control of a Quadrotor Type UAV Carrying an Unknown Payloads
[16] Goh Ming Qian, Dwi Pebrianti, Luhur Bayuaji, Rosdiyana Samad, Mahfuzah Mustafa and Mohammad Syafrullah, “Adaptive Fuzzy-PID Controller for Quad- Rotor MAV with Mass Changes”, © Springer Nature Singapore Pte Ltd. 2019 Z. Md Zain et al. (eds.), Proceedings of the 10th National Technical Seminar onUnderwater System Technology 2018, Lecture Notes in Electrical Engineering 538.Link: https://www.researchgate.net/, date access: 09-01-2020 Sách, tạp chí
Tiêu đề: Adaptive Fuzzy-PID Controller for Quad-Rotor MAV with Mass Changes
[17] Samir Bouabdallah. Design and control of quadrotors with application to autonomous flying. Phd. thesis, Ecole Polytechnique Federale de Lausanne, 2007.Link: https://www.researchgate.net/, date access: 09-01-2020 Link
[18] Heba talla Mohamed Nabil ElKholy, Dynamic Modeling and Control of a Quadrotor Using Linear and Nonlinear Approaches, 2014. Link: https://www.researchgate.net/, date access: 09-01-2020 Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w