6 Tổng kết
5.1 Bảng thông số chi tiết phần cứng sử dụng
OP IN là: OP IN = CP INVP IN TP INWDrone = 2.2Ah ∗ 11.4V 0.3h ∗ 1.058kg (5.1)
Trong đó WDrone là khối lượng của khối máy bay cơ bản. Sau khi thêmKhối tính toán tự động với WN ano ta được :
IDroneN ano = OP IN(WDrone + WN ano) VP IN
= 79.017W/kg ∗ (1.058kg + 0.551kg) 11.4V
= 11.15 A
(5.2)
Sau đó, thời gian bay thử nghiệm của PKDrone Kit có thể được tính như sau:
TP IN′ = CP IN IDroneN ano
≈0.19h (5.3)
Vậy hệ thống PKDrone Kit có thể bay tối đa vào khoảng 11 phút. Bên cạnh đó, do sử dụng mạch giảm áp 5A nên Jetson Nano không thể chạy được ở công suất tối đa, thường xuyên bị tình trạng sụp nguồn đột ngột. Vì vậy cần giới hạn xung của CPU jetson từ 4-core ARM A57 @ 1.43 GHz xuống còn 4-core ARM A57 @ 1.2 GHz. Việc đánh giá hiệu năng của các phương pháp sẽ được đánh giá trên giới hạn này.
5.1.2 Nền tảng phần mềm
Như đã giới thiệu trong phần 5.1.1, hệ thống máy bay tự hành (PKDrone Kit) bao gồm một bộ máy bay không người lái cơ bản và khối tính toán tự động. Bên cạnh đó, một trạm điều khiển mặt đất được sử dụng để giám sát, can thiệp và vận hành thiết bị bay trên không trong suốt chuyến bay. Để sử dụng hệ thống trên, các module này phải được kết nối với nhau. Hình 5.6 cho thấy sơ đồ khối của hệ thống, cũng thể hiện sự giao tiếp giữa các module phần cứng và các thành phần phần mềm khác nhau.
Hình 5.6: Sơ đồ khối của toàn bộ hệ thống.
Như có thể thấy từ sơ đồ khối, hệ thống tính toán chính có ba thành phần cơ bản, đó là ước tính trạng thái4 (Visual Inertial Odometry), tái tạo bản đồ (Mapping) và lập quỹ đạo chuyển động (Planning).
Việc xuất hiện thêm khối ước tính trạng thái (Visual Inertial Odometry) trong thực tế để giải quyết giả định vị trí của máy bay là biết trước từ bài toán tái tạo bản đồ ở chương 3. Sau khi khảo sát thực hiện bay thử dựa chỉ dựa trên bộ EKF2 từ firmware PX4 với GPS và các cảm biến có sẵn trên flight control. Ngay cả khi đã để máy bay đứng yêu và EKF2 đã được Lock tuy nhiên việc vị trí ước tính ra bị trôi trong khoảng 1 đến 2 mét xảy ra thường xuyên. Điều này khiến việc tái tạo bản đồ cũng như tất cả các khối xử lý không thể hoạt động được. Trước yêu cầu đó, nhóm đã quyết định khảo sát và thực nghiệm các giải thuật mã nguồn mở là SOTA trong lĩnh vực Visual Inertial Odometry. VINS-Mono[8] sau khi được chỉnh sửa cho phù hợp với phần cứng là sự lựa chọn phù hợp nhất với sai số tối đa chỉ khoảng 16cm. Hình 5.7 so sánh việc sử dụng hai khối ước tính trạng thái. Tuy nhiên, Firmware PX4 cho phép kết hợp sử dụng cả GPS và khối VIO. Phần 5.2 sẽ tiến hành đánh giá chi tiết hơn vấn đề này.
4
(a) Vị trí được ước tính từ VINS-Mono. (b) Vị trí được ước tính từ EKF2 với GPS.
Hình 5.7: So sánh vị trí giữa VINS-Mono và EKF2 trên PX4 với cùng một quỹ đạo chuyển động.
Để tích hợp các thành phần riêng lẻ này thành một hệ thống thống nhất, ROS5 (Robot Operating System) được sử dụng làm môi trường của toàn bộ kiến trúc phần mềm. Với ROS, mỗi thành phần phần mềm có thể được chạy riêng lẻ dưới dạng các nút. Và mỗi nút có thể nhận và truyền dữ liệu với các nút khác trong cùng một môi trường. Thuộc tính này chắc chắn thân thiện với nhà phát triển vì nó cho phép xây dựng, thử nghiệm và gỡ lỗi một cách độc lập. Bên cạnh đó, ROS được sử dụng phổ biến và rộng rãi trong học thuật và công nghiệp. Trải qua hàng chục năm phát triển, có một lượng lớn thư viện và công cụ có sẵn trong hệ sinh thái ROS và có thể dễ dàng điều chỉnh cho một dự án mới. Ví dụ trong hình 5.6, một số thành phần phần mềm được điều chỉnh từ các công cụ đã phát triển, chẳng hạn như ROS Wrapper của Intel RealSense D435i6, hay việc giao tiếp với mạch điều khiển bay đã được giải quyết qua MavROS7. Bên cạnh đó việc chuyển gói tin qua lại giữa các node rất thuận lợi qua hệ thống ros_msg8 và cơ chế publisher subscriber làm nên thương hiệu của ROS.
Ở hệ thống này, nhóm tập trung hiện thực hai khối chính là Mapping và Planning cụ thể trong link : https://github.com/phuhuynh12/pkam. Sau khi đã hoàn thành các khối, việc tiếp theo là lên phương án thực nghiệm và đánh giá.
5 http://ros.org/ 6 https://github.com/IntelRealSense/realsense-ros 7 https://github.com/mavlink/mavros 8 http://wiki.ros.org/msg
Hình 5.8: Mô hình máy bay cùng với Intel Realsense D435i trong giả lập.
5.2 Phương pháp thực nghiệm
Để đánh giá các phương án về xây dựng quỹ đạo và tái cấu trúc môi trường đã đề xuất trong chương 3, 4. Nhóm áp dụng phương thức kiểm nghiệm dựa trên mô hình mô phỏng và thí nghiệm bay thực tế với nhiều kịch bản thử nghiệm. Đối với mô hình mô phỏng, kết quả thực nghiệm sẽ chứng tỏ được tính đúng đắn của giải thuật trong điều kiện lý tưởng. Cùng với đó, các thí nghiệm bay thực tế sẽ chứng tỏ được khả năng và mức độ áp dụng các giải thuật trong điều kiện bị ảnh hưởng bởi môi trường, giúp cho kết quả nghiên cứu mang tính tổng quát và khả thi trên thực tế. Nhóm sử dụng công cụ Gazebo Simulator9. Gazebo Simulator là công cụ hỗ trợ thiết kế và mô phỏng các mô hình robot trong không gian ba chiều. Điểm mạnh của công cụ mô phỏng này là khả năng cung cấp các thư viện hỗ trợ thiết kế mô hình robot ba chiều kết hợp với các cảm biến(IMU, lidar, GPS, camera ...), các phương trình mô phỏng động lực học của hệ thống và các giao thức kết nối với nền tảng ROS. Nhờ vào đó, công cụ hỗ trợ một cách hiệu quả cho quá trình kiểm chứng tính đúng đắn của các thuật toán, tính khả thi của hệ thống điều khiển và cách kết nối các thành phần cơ bản thành hệ thống hoàn chỉnh. Cùng với sự hỗ trợ của PX4 và Intel Realsense dễ dàng thiết lập hệ thống máy bay trong giả lập như hình 5.8 ứng với hệ thống đã được trình bày ở trên.
Các kịch bản thử nghiệm (test scenarios) được sử dụng bao gồm: • Trường hợp 1: Môi trường đơn giản có một vài vật cản trước mặt.
• Trường hợp 2: Môi trường phức tạp với rất nhiều vật cản và hình dạng khác nhau. • Trường hợp 3: Giống như trường hợp hai nhưng được thêm vật có khả năng chuyển
9
động để kiểm tra khả năng hoạt động của Local Map.
Đối với thực nghiệm mô phỏng, việc đánh giá sẽ dựa trên các tiêu chí sau : 1. Độ sai khác giữa quỹ đạo của máy bay với quỹ đạo được sinh ra từ giải thuật. 2. Khoảng cách từ máy bay tới vật cản gần nhất trong suốt quá trình bay. 3. Tốc độ xử lý của việc tái tạo bảo đồ và xây dựng quỹ đạo.
Đối với thí nghiệm bay thực tế, do ảnh hưởng của dịch Covid-19. Nhóm không thể thực hiện được cách thí nghiệm bay tự động hoàn toàn. Tới thời điểm hiện tại, việc đánh giá thí nghiệm thực tế chỉ có thể đánh giá các tiêu chí sau :
1. Khả năng đáp ứng thực tế của khối ước tính trạng thái. 2. Tốc độ xử lý của việc tái tạo bảo đồ và xây dựng quỹ đạo.
5.3 Kết quả và đánh giá
5.3.1 Mô hình mô phỏng
Việc đánh giá qua mô hình mô phỏng được thực hiện với Laptop Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz.
A Quỹ đạo di chuyển
Mặc dù chúng ta thường có thể đánh giá chất lượng chung của kết quả tối ưu bằng cách kiểm tra trực quan, nhưng phương pháp định lượng cần phải được ưu tiên hơn cả. Nhóm đề xuất sử dụng một độ đo lỗi cho khối xây dựng quỹ đạo chuyển động là Root-Mean-Square error (RMSE).
Độ đo Root-Mean-Square Error (RMSE) đo lường độ lệch trung bình của một giá trị ước tính so với giá trị thực của nó giá trị. Hợp lý khi sử dụng hai thước đo RMSE khác nhau cho vị trí (position). Đối với các bài toán 2D và 3D, RM SEpos đo độ lệch của vị trí máy ảnh so với giá trị ground truth của chúng.
RM SEpos đối với bài toán 3D được định nghĩa là :
RM SEpos = v u u t1 N N X i=1 (pi−pˆi)2 (5.4)
Hình 5.9: Môi trường giả lập đơn giản.
Trong đópˆi = (xi, yi, zi)T là dự đoán vị trí của máy ảnh còn pi là vị trí chính xác. Chỉ số RMSE đo lường mức độ phù hợp của quỹ đạo máy ảnh ước tính với quỹ đạo chính xác (ground truth) ở cấp độ toàn cục. Tuy nhiên, nó thường mang tới một số nhược điểm thường được biết tới : Bất kỳ sự dịch chuyển (translate) hoặc xoay (rotate) nào của giải pháp ước tính đối với ground truth sẽ dẫn đến sai số lớn trong chỉ số RMSE, ngay cả khi bản thân cấu trúc bản đồ vốn đã đúng. Ví dụ : Việc xây bản đồ đã tối ưu hóa khớp với ground truth tuy nhiên bị xoay một góc nhỏ. Điều này tất nhiên sẽ dẫn đến lỗi lớn trong pos RMSE.
Mô phỏng 1 : Môi trường đơn giản chỉ bao gồm một bức tường duy nhất như hình 5.9. Nhiệm vụ của môi trường này là đánh giá khối các khối về Global Mapping và Global Planning.
Quỹ đạo di chuyển
Áp dụng phương án nhóm đã đề xuất tại 4.2.1, ta có 4 quỹ đạo toàn cục để đến được vị trí mục tiêu thể hiện trong hình 5.10. Các quỹ đạo điều đạt được tiêu chí không va chạm vật thể và có quãng đường di chuyển hợp lí.
Thời gian xử lý
Bảng thông số 5.2 cho ta các thông tin cần thiết về lời giải cho 4 quỹ đạo toàn cục tại 5.10. Trong trường hợp này, giải thuật Informed RRT* có thời gian vượt trội so với giải thuật A*, đồng thời cho ra các waypoints có quãng đường liên kết tốt hơn RRT*, và quỹ đạo có công điều khiển nhỏ nhất.
Khoảng cách tới vật cản
Để đánh giá độ an toàn của quỹ đạo, ta xem xét biểu đồ 5.11. Biểu đồ cho thấy rằng khoảng cách đến vật cản gần nhất luôn dương, đảm bảo an toàn của quỹ đạo đề xuất.
(a) Quỹ đạo toàn cục từ waypoints của A*. (b) Quỹ đạo toàn cục từ waypoints của Astar với path smoothing.
(c) Quỹ đạo toàn cục từ waypoints của RRT*.
(d) Quỹ đạo toàn cục từ waypoints của In- formed RRT*.
Hình 5.10: Kết quả của 4 quỹ đạo toàn cục được xây dựng từ waypoints của 4 phương pháp motion planning cho mô phỏng 1. Đường cong màu cam là các quỹ đạo, các điểm màu đỏ là các waypoints tương ứng, và các ô màu xanh là không gian trạng thái biểu diễn bởi octomap.
Thời gian
thực thi giải thuật (ms)
Thời gian
tối ưu quỹ đạo (ms)
Số lượng
waypoints Goal cost từgiải thuật Côngđạo quỹ
A* 156 4663 30 14 0.3925 A* với path smoothing 175 64 3 10.18 0.3871 RRT* 50 38 4 15.661 0.042 Informed RRT* 50 19 3 13.221 0.036
Bảng 5.2: Bảng thể hiện thông số của 4 giải thuật và 4 quỹ đạo tương ứng với kết quả ở hình 5.10 trong mô phỏng 1.
Bên cạnh đó, ta xem xét sai số giữa quỹ đạo đề ra và quỹ đạo thật sự thông qua điều khiển động học qua biểu đồ 5.12. Sai số RMSE của hai quỹ đạo là 0.13 meter
Hình 5.11: Biểu đồ khoảng các đến vật cản gần nhất trên quỹ đạo của UAV trong mô phỏng 1
Hình 5.12: Biểu đồ quỹ đạo đề xuất và quỹ đạo di chuyển của mô phỏng 1 Đánh giá
Ở ví dụ môi trường mô phỏng 1, nhóm đã thành công điều hướng UAV an toàn đến trạng thái mục tiêu, không tốn quá nhiều thời gian cho việc xây dựng quỹ đạo toàn cục và đảm
Hình 5.13: Môi trường giả lập phức tạp.bảo an toàn trong suốt quá trình di chuyển. bảo an toàn trong suốt quá trình di chuyển.
Mô phỏng 2 : Môi trường phức tạp Tiếp theo, tiến hành thay đổi môi trường trở nên phức tạp và nhiều vật cản hơn như hình 5.13. Ở môi trường này, ta thấy rằng Global Map không thể lấy hết tất cả thông tin từ Start đến Goal do giới hạn sensor chỉ là 10m. Nên trong quá trình xây dựng quỹ đạo, việc không chắc chắn được quỹ đạo có va chạm với vật cản là điều thường xuyên xảy ra. Do đó, các khối về Local Map và Local Planning sẽ được đánh giá để giải quyết các tình huống này.
Quỹ đạo di chuyển
Áp dụng phương án nhóm đã đề xuất tại 4.2.1, ta có 4 quỹ đạo toàn cục để đến được vị trí mục tiêu thể hiện trong hình 5.14. Tại đây, 4 quỹ đạo này không còn đảm bảo tiêu chí không va chạm vật thể do thông tin giới hạn về môi trường.
Bên cạnh đó, ta có kết quả từ các quỹ đạo cục bộ trong hình 5.15. Thời gian xử lý
Bảng thông số 5.3 cho ta các thông tin cần thiết về lời giải cho 4 quỹ đạo toàn cục tại 5.14. Thời gian để quỹ đạo tối ưu cho các waypoints từ giải thuật A* là quá lớn vì số lượng waypoints nhận được. Kỹ thuật path smoothing giúp loại bỏ vấn đề này và cho ra quỹ đạo với công điều khiển tốt nhất, nhưng bù lại thời gian thực thi giải thuật kém hơn 8 lần 2 phương pháp lấy mẫu là RRT* và Informed RRT*.
Bên cạnh đó, ta xem xét các thông số tương tự đối với quỹ đạo cục bộ tại 5.4. Nhận thấy rằng quỹ đạo được tạo ra từ các waypoints của A* sau khi dùng path smoothing có quãng đường cũng như công nhỏ nhất. Và tổng thời gian chạy giải thuật và tốt ưu là ngắn nhất.
(a) Quỹ đạo toàn cục từ waypoints của A*. (b) Quỹ đạo toàn cục từ waypoints của Astar với path smoothing.
(c) Quỹ đạo toàn cục từ waypoints của RRT*.
(d) Quỹ đạo toàn cục từ waypoints của In- formed RRT*.
Hình 5.14: Kết quả của 4 quỹ đạo toàn cục được xây dựng từ waypoints của 4 phương pháp motion planning cho mô phỏng 2. Đường cong màu cam là các quỹ đạo, các điểm màu đỏ là các waypoints tương ứng, và các ô màu xanh là không gian trạng thái biểu diễn bởi octomap.
Thời gian
thực thi giải thuật (ms)
Thời gian
tối ưu quỹ đạo
Số lượng
waypoints Goal cost từgiải thuật Côngđạo quỹ
A* 283 43920 86 42 0.25 A* với path smoothing 420 35 3 39.5 0.010 RRT* 50 103 5 47.7 0.022 Informed RRT* 50 131 6 50.3 0.027
Bảng 5.3: Bảng thể hiện thông số của 4 giải thuật và 4 quỹ đạo tương ứng với kết quả ở hình 5.14 trong mô phỏng 2.
Để đánh giá độ an toàn của quỹ đạo, ta xem xét biểu đồ 5.16. Biểu đồ cho thấy rằng khoảng cách đến vật cản gần nhất luôn dương, đảm bảo an toàn của quỹ đạo đề xuất.
Bên cạnh đó, ta xem xét sai số giữa quỹ đạo đề ra và quỹ đạo thật sự thông qua điều khiển động học qua biểu đồ 5.17. Sai số RMSE của hai quỹ đạo là 0.11
(a) Quỹ đạo cục bộ từ waypoints của A*. (b) Quỹ đạo cục bộ từ waypoints của Astar với path smoothing.
(c) Quỹ đạo cục bộ từ waypoints của RRT*.(d) Quỹ đạo cục bộ từ waypoints của In- formed RRT*.
Hình 5.15: Kết quả của 4 quỹ đạo cục bộ được xây dựng từ waypoints của 4 phương pháp motion planning cho mô phỏng 2. Đường cong màu xanh dương là các quỹ đạo, các điểm màu tím là các waypoints tương ứng, và các ô màu đỏ là không gian trạng thái biểu diễn bởi ring buffer
Thời gian
thực thi giải thuật (ms)
Thời gian
tối ưu quỹ đạo
Số lượng
waypoints Goal cost từgiải thuật Côngđạo quỹ
A* 0.23 440 10 8 0.394 A* với path smoothing 0.31 20 3 5.9 0.043 RRT* 10 15 3 8.6 0.048 Informed RRT* 10 18 3 8.8 0.054
Bảng 5.4: Bảng thể hiện thông số của 4 giải thuật và 4 quỹ đạo tương ứng với kết quả ở hình 5.15 trong mô phỏng 2.
Hình 5.16: Biểu đồ khoảng các đến vật cản gần nhất trên quỹ đạo của UAV trong mô phỏng 2
(a) Quỹ đạo toàn cục từ waypoints của A*. (b) Quỹ đạo toàn cục từ waypoints của Astar với path smoothing.
(c) Quỹ đạo toàn cục từ waypoints của