資料介紹
描述
抽象的
Air Strategist Companion 是一個由四旋翼無人機、Web 服務器和 Android 應用程序組成的系統,旨在提高森林消防人員的態勢感知能力。該系統實時跟蹤火點和消防人員,并在在線地圖上顯示他們的位置,該地圖可以通過網絡瀏覽器和安卓應用程序訪問。無人機飛越火區,并使用帶有計算機視覺的紅外攝像機識別火點。它選擇視野中最大的三個,以自主地遵循由它們組成的模式。如果火災模式改變了形狀、大小或位置,無人機將跟蹤它并在沒有人工干預的情況下重新定位。它還可以單獨跟蹤圖案中的每個火點。每隔幾秒,無人機將要在地圖上繪制的檢測到的火點的多邊形近似值以及從其頂視圖拍攝的相機照片上傳到網絡服務器。它還上傳自己的 GPS 坐標、地速和全球/相對高度;笛卡爾坐標和每個火點的計算表面積和主要火災模式,以及在其當前位置獲取的地面溫度讀數。Web 服務器接收所有這些信息并將其可視化在網頁上。該網頁還有一個控制面板,可以從中選擇多達七種無人機的自主跟蹤任務模式。它還顯示當前天氣數據和未來 24 小時的預報天氣數據。以及從其頂視圖拍攝的相機照片。它還上傳自己的 GPS 坐標、地速和全球/相對高度;笛卡爾坐標和每個火點的計算表面積和主要火災模式,以及在其當前位置獲取的地面溫度讀數。Web 服務器接收所有這些信息并將其可視化在網頁上。該網頁還有一個控制面板,可以從中選擇多達七種無人機的自主跟蹤任務模式。它還顯示當前天氣數據和未來 24 小時的預報天氣數據。以及從其頂視圖拍攝的相機照片。它還上傳自己的 GPS 坐標、地速和全球/相對高度;笛卡爾坐標和每個火點的計算表面積和主要火災模式,以及在其當前位置獲取的地面溫度讀數。Web 服務器接收所有這些信息并將其可視化在網頁上。該網頁還有一個控制面板,可以從中選擇多達七種無人機的自主跟蹤任務模式。它還顯示當前天氣數據和未來 24 小時的預報天氣數據。以及在其當前位置獲取的地面溫度讀數。Web 服務器接收所有這些信息并將其可視化在網頁上。該網頁還有一個控制面板,可以從中選擇多達七種無人機的自主跟蹤任務模式。它還顯示當前天氣數據和未來 24 小時的預報天氣數據。以及在其當前位置獲取的地面溫度讀數。Web 服務器接收所有這些信息并將其可視化在網頁上。該網頁還有一個控制面板,可以從中選擇多達七種無人機的自主跟蹤任務模式。它還顯示當前天氣數據和未來 24 小時的預報天氣數據。
定制開發的 Android 應用程序旨在安裝在消防隊員的移動設備中。該應用程序跟蹤設備的 GPS 坐標并將其上傳到 Web 服務器。系統檢測到的所有機組人員的位置通過在線地圖上的標記進行可視化,以及他們的姓名、ID 代碼、GPS 坐標和當前狀態。該應用程序在 GUI 中有一個“SOS 按鈕”,機組成員可以在他們認為有必要的任何時候按下以向服務器發送“幫助”信號。可以從網絡瀏覽器訪問包含地圖的網頁,并且還顯示在 Android 應用程序的 GUI 中。雖然這個原型使用紅外攝像機來識別火點,但系統可以升級為使用熱成像攝像機,只需極少的改動,以獲得更強大的火災探測系統。
框圖、硬件和功能描述
圖 1 顯示了系統的主要功能組件。用于原型的無人機是 NXP 的 RDDRONE-FMUK66 HoverGames 四旋翼飛行器,帶有 NXP RDDRONE-FMUK66 飛行管理單元 (FMU)。它配備了 Raspberry Pi 3 B+ 作為配套計算機和 Raspberry Pi NoIR V2.0 紅外攝像頭。為該原型選擇了紅外 (IR) 攝像頭,因為火災通常會發出紅外輻射,可用于通過檢測紅外光而不是可見顏色來檢測火災,理論上即使在煙霧或灰塵后面也能檢測到火點(假設相機能夠檢測給定燃燒類型發射的特定紅外輻射波段)。
配套電腦自帶獨立電源,可在無人機關機換電池時保持運行。一個基于 OpenCV 的程序在其中運行,以訪問攝像機的視頻源并檢測火點。攝像機安裝在四旋翼的框架下方,向下指向地面。一旦檢測到火點,算法就會選擇三個最大的火點,并計算每個火點的幾何近似多邊形,以及它們在局部笛卡爾坐標中的對應位置以及它們對應的表面積。它還計算主火圖案幾何中心或質心的局部笛卡爾坐標。每隔幾秒鐘,還會從當前無人機的位置拍攝火區的頂視圖,
配套計算機通過 MAVLink 協議通過串行端口連接從飛行控制器接收無人機遙測數據(當前 GPS 坐標、全球和相對高度、地速等)。這些數據以及來自計算機視覺系統的火災跟蹤數據通過 HTTP 協議發送到 Web 服務器。配套計算機使用機器人操作系統 (ROS) 中間件“粘合”其所有軟件組件:傳感器接口、計算機視覺、自主飛行、與服務器的 HTTP 通信以及與無人機飛行控制器的 MAVLink 接口。兩個用 Python 編寫的 ROS 節點和兩個用 C++ 編寫的節點負責所有必需的任務。出于“概念驗證”的目的,無人機依靠 WiFi 連接向服務器上傳/下載所有數據,但它可以通過 GPRS 蜂窩調制解調器輕松升級,以便在相對偏遠的地區運行。圖 2 顯示了完整的無人機構建,圖 3 顯示了完整的系統,包括指揮中心計算機和幾個移動設備。圖 4 顯示了安裝在四軸飛行器底盤上的配套計算機,以及攝像頭和溫度傳感器。圖 5 顯示了連接圖,包括與飛控的接口。
在從無人機和機組成員的移動設備接收到所有上述數據后,服務器將執行額外的計算和數據轉換,以準備提供上述網頁(見圖 6)。網頁中的所有信息每隔幾秒就會自動刷新一次。
如前所述,已經為消防人員開發了一個定制的 Android 應用程序(參見圖 7)。該應用程序從機組成員的移動設備中讀取 GPS 坐標,并將這些數據連同他的姓名、身份 (ID) 代碼和當前狀態一起發送到網絡服務器。它還在其 GUI 中顯示來自網絡服務器的地圖,并有一個“SOS 按鈕”,消防員可以在認為必要的任何時間向服務器發送 SOS 信號。它還有一個“開始位置跟蹤”按鈕來啟動設備的 GPS 位置跟蹤和一個“停止位置跟蹤”按鈕來停止它,以及一些用于監控輔助數據的額外文本視圖。
在指揮中心,負責人員可以監控系統提供的所有信息,同時控制無人機的自主跟蹤任務模式,所有這些都來自同一個網頁。可以從世界任何地方通過 Internet 連接訪問該網頁(因此系統應該授予訪問權限,但這在此原型中被忽略了)。現場行動開始時,指揮中心的工作人員必須將無人機部署在火區周圍;然后,他們必須激活無人機的“自主火力追蹤模式”,讓它完成任務。無人機被編程為在沒有人為干預的情況下跟蹤火點和機組人員。從網頁(以及 Android 應用程序)可以命令它并將其置于七種不同的跟蹤模式:
- 追蹤火紋:追蹤主火紋的質心。
- 跟蹤火點 1:跟蹤檢測到的最大火點。
- 跟蹤火點 2:跟蹤第二個火點的大小。
- Track Fire Spot 3:跟蹤第三個火點的大小。
- 跟蹤所有火點:在巡邏模式下跟蹤所有三個火點,一個接一個,在每個火點暫停,然后再移動到下一個。
- Track Crew Member:跟蹤給定的消防人員,該成員也是從網頁中選擇的。
- 跟蹤所有船員:在巡邏模式下跟蹤所有船員,一個接一個,在移動到下一個之前在每個船員中暫停。
無論火災向哪個方向前進或撤退,無人機都會根據從其視覺傳感器獲取的數據,通過將自身重新定位在主要火災區域上來自主跟蹤火點。一旦電池耗盡,無人機將返回起飛位置并著陸以更換電池,而無需關閉配套計算機,之后可以再次重新部署。
在無線電控制 (RC) 發射器的幫助下,指揮中心始終可以重新獲得對無人機的手動控制,并再次將其切換到自主跟蹤模式。此外,通過使用 PX4 自動駕駛儀的軟件生態系統,無人機的完整遙測數據可通過使用地面站軟件(例如 QGroundControl)在指揮中心計算機上獲得,該軟件通過遙測模塊永久連接到無人機。地面站軟件還顯示了無人機當前位置及其描述的軌跡以及無數遙測數據的地圖,如果需要,還可用于在手動控制和自主模式之間切換。因為該系統基于 ROS、實時視頻源、原始火災跟蹤數據、消防人員的數據和來自飛行控制器的遙測數據也可以通過默認的 ROS 工具從任何安裝了 ROS 的 Linux 計算機上實時訪問。例如,來自相機圖像處理算法的所有視頻輸入都可以作為 ROS 主題實時獲得。
配套電腦軟件
Raspberry Pi 配套計算機運行安裝了 ROS Kinetic 的 Ubuntu MATE 16.04。以下 ROS 節點負責所有必需的任務:
'opencv_node':用 Python 編寫,負責訪問 Raspberry Pi NoIR 攝像頭的實時視頻源,并運行火災檢測算法以找到火點。隨時可用的“raspicam_node”ROS 節點(請參閱參考資料部分)用于訪問攝像機的視頻源。該節點與攝像機對話,以獲取視頻流并將其發布到“opencv_node”訂閱的“/raspicam_node/image/compressed”視頻主題。在檢測到火點后,配套計算機計算構成主要火災模式的三個最大火點的幾何近似多邊形。然后它將每個多邊形的定義頂點作為 JSON 字符串發布到“/fire_polygons_json”主題;以及每個火點的面積,到“/fire_polygons_area_json”主題。'/fire_pattern/pose_point' 主題中也提供了火災模式質心的局部笛卡爾坐標。它還發布了“/fire_tracking_image/compressed”主題,該主題帶有攝像機的原始視頻圖像,檢測到的火點和近似多邊形疊加。從同樣的視頻內容中,該節點每隔幾秒就會在配套計算機的文件系統中保存一個圖片幀,然后將其發送到服務器以顯示在網頁上(參見圖 6)。該節點還發布包含相機幀當前寬度和高度的“/modified_image/size”主題,該主題也必須上傳到服務器,以便從像素單位計算轉換系數,其中表示長度和面積在相機圖像中,到米,
已經實施了“運行平均低通濾波器”來過濾火災模式質心坐標,以過濾火災檢測過程中固有的高頻噪聲。
'mlx90614_sensor_node':C++編寫,負責讀取MLX9014紅外溫度傳感器的溫度【參考mlx90614教程】。它發布包含溫度讀數的“/mlx90614/temp”主題。
'http_client_node' :用 Python 編寫,訂閱前面兩個節點發布的所有上述主題,以及一些 MAVROS 主題。例如,它將訂閱“/mavros/global_position/global”主題,從中獲取無人機當前的緯度/經度坐標,以及全球海拔高度。它還將訂閱“/mavros/global_position/rel_alt”,從中獲取無人機相對于地面的當前相對高度;最后,到“/mavros/vfr_hud”主題,它將從中獲取無人機的地面速度。然后,該節點將分四步繼續與服務器交換數據:
- 它將來自上述所有主題的數據累積到一個 XML 文件中,并通過 HTTP POST 請求將其發送到 Web 服務器。
- 通過發出額外的 POST 請求,它還將發送火災攝像機鏡頭,之前由“opencv_node”存儲在配套計算機的文件系統中。
- 通過發送 GET 請求,它將從 Web 服務器下載用戶從網頁發出的無人機當前任務模式命令。
- 通過發送另一個 GET 請求,它將從 Web 服務器下載消防員數據,其中主要包含系統檢測到的每個船員的姓名、ID 和 GPS 坐標。
這些數據每三秒在無人機和網絡服務器之間交換一次。該節點接收到來自 web 服務器的數據后,會發布以下 ROS 主題:
- '/drone_commands/task_mode_cmd' :包含從網頁發出的當前無人機任務模式命令。以下選項可用:TRACK_PATTERN、TRACK_FIRE_SPOT_1、TRACK_FIRE_SPOT_2、TRACK_FIRE_SPOT_3、TRACK_ALL_SPOTS、TRACK_CREW_MEMBER、TRACK_ALL_CREW_MEMBERS);
- '/drone_commands/fighter_crew_list' :包含每個機組成員的 GPS 坐標列表。
- '/drone_commands/sel_crew_member_idx' :包含無人機必須跟蹤的當前選定機組成員的索引。
'mavros_offboard_node':無人機通過使用MAVROS(這是MAVLink和ROS之間的橋梁)與同伴計算機接口,該節點負責通過發布到MAVROS主題來控制無人機的自主飛行能力,MAVLink命令將從派生并交付給無人機。該節點使用 C++ 編寫,訂閱以下主題:
- '/mavros/local_position/pose' : 獲取無人機的局部笛卡爾坐標
- '/fire_pattern/pose_point' : 獲取火焰圖案的質心局部坐標。
- '/fire_pattern/fire_spot1_pose_point', '/fire_pattern/fire_spot2_pose_point'和'/fire_pattern/fire_spot3_pose_point' : 獲取三個主要火點的局部笛卡爾坐標。
- '/drone_commands/task_mode_cmd ':獲取當前從網頁下發的任務模式命令。
- '/drone_commands/sel_crew_member_idx ':獲取無人機必須跟蹤的當前選定機組成員的索引(對于 TRACK_CREW_MEMBER 任務命令選項)。
- '/drone_commands/fighter_crew_list' :獲取系統檢測到的所有機組成員的GPS坐標列表。
該節點使用 PX4 “offboard” 飛行模式來控制無人機的位置,每次無人機的跟蹤目標發生變化時,都會將新的位置坐標發布到 'mavros/setpoint_position/local' 主題。
安卓應用
Android 應用程序是使用 Android Studio IDE 在 Java 中開發的。GUI(參見圖 7)由六個對象組成:
- 一個“webView”對象,用于顯示由 Web 服務器生成的地圖。
- 一個'開始位置。Tracking”按鈕,啟動設備的 GPS 位置監控。
- 一個'停止位置。跟蹤”按鈕,停止它。
- 一個“開始 SOS”按鈕,用于向服務器發送“幫助”信號。
- 一個“textView”,顯示 HTTP POST 請求的結果,由應用程序發送到 Web 服務器以上傳機組成員的數據。
- 第二個“textView”顯示移動設備的當前 GPS 坐標。
應用程序中有一個時間觸發功能,負責收集 GPS 數據和當前狀態(是否按下 SOS 按鈕),并每隔幾秒通過 HTTP POST 將數據發送到 Web 服務器。
網絡服務器應用程序
網絡服務器有一個帶有 Javascript 代碼的主網頁,以及一組 PHP 腳本,負責接收來自無人機和機組成員移動設備的數據;以及從主網頁的控制面板發出的無人機任務命令。讓我們看看每個腳本的作用:
'receive_telemetry_xml.php' :此腳本從配套計算機接收 XML 遙測文件,其中包含以下數據:
- 無人機的 GPS 坐標、全球/相對高度和地面速度。
- 局部笛卡爾坐標中每個火點的近似多邊形頂點及其對應的表面積,均以像素為單位。
- 火焰圖案的質心笛卡爾坐標,以像素為單位。
- 相機圖像幀的寬度和高度,也以像素為單位。
- 在無人機當前位置測量的地面溫度,以攝氏度為單位。
收到 XML 文件后,腳本會繼續將其副本保存在服務器的本地文件系統中。由于 XML 字符串的副本仍在 RAM 內存中,它會繼續將所有接收到的距離和區域(以“相機像素”單位)轉換為米。為此,它將計算“$pixel_to_meters”轉換因子以將所有測量值從像素單位轉換為米。圖 8 顯示了如何通過使用無人機相對于地面的相對高度、相機的視場角、相機圖像大小和勾股定理來計算轉換因子。預先做出一些假設以保持計算簡單。接下來,借助這個轉換因子,火焰多邊形頂點和火焰圖案質心的笛卡爾坐標從以像素為單位的局部笛卡爾坐標轉換為極坐標,距離以米為單位,角度以弧度為單位。然后,將這些極坐標轉換為全球經緯度坐標[參考 PHP 距離方位到 GPS]。
然后,該腳本將用新轉換的 GPS 坐標替換 XML 字符串中的所有原始本地坐標,并將 XML 字符串作為名為“drone_telemetry_conv.xml”的新副本再次存儲在服務器的本地文件系統中。該網頁將使用新轉換的 GPS 坐標來可視化地圖中的火災多邊形。
'receive_image.php' : 該腳本負責接收消防攝像機鏡頭,之前由同伴計算機中的'opencv_node'保存;然后將顯示在網頁上并每隔幾秒鐘刷新一次。
'receive_fighter_data.php' :負責處理來自機組成員移動設備中 Android 應用程序的 HTTP POST 請求。該腳本以一組 [key:value] 對的形式接收消防員數據,其中包含以下可用鍵:“unix_time”、“name”、“id_code”、“latitude”、“longitude”和“status”。特別是“狀態”鍵攜帶有關應用程序中的“SOS 按鈕”是否被按下的信息。'unix_time' 是獲得的 GPS 坐標和其余鍵的時間戳,我認為是不言自明的。該腳本將接收來自所有正在執行任務的消防員的數據,該應用程序當前在他們的移動設備上運行。然后它將數據存儲在服務器本地文件系統中的單個文本文件中,
'dump_fighter_data_xml.php' :該腳本應主網頁('index.html')的請求,將每個消防員的可用數據轉儲為 XML 字符串;網頁每隔幾秒異步請求一次,以在網頁上可視化機組成員的信息。
“ receive_drone_task_cmd.php ”:負責從網頁接收無人機任務命令,并將其存儲在“drone_commands.xml”文件中。該文件由配套計算機中的“http_client_node”請求,以控制無人機的自主跟蹤任務。
'index.html' : 是主網頁,運行 Javascript 代碼與 Google Maps API、OpenWeatherMap API 和我們自己的網絡服務器進行交互,以實現以下任務:
- 從網絡服務器讀取無人機提供的所有數據,并與 Google Maps API 接口以繪制地圖、火災多邊形和代表無人機位置的所有地圖標記、火災模式的質心位置以及所有消防人員的位置。
- 從網頁的控制面板讀取用戶發出的無人機任務命令,并將這些數據發送到網絡服務器。
- 與 OpenWeatherMap API 交互,請求當前天氣和預報天氣數據;然后顯示在網頁底部(參見圖 9 和圖 10)。
Ajax 技術用于異步刷新上述所有動態數據,而無需重新加載頁面。要訪問 Google Maps API 和 OpenWeatherMap API,必須在網頁的源代碼中配置相應的 API 密鑰才能訪問這兩種服務。
地圖上顯示的數據
除了前面描述的在網頁中可視化的對象之外,還有由地圖上的點擊事件觸發的其他數據。圖 11 顯示了它們。例如,當單擊代表無人機當前位置的地圖標記時,會出現一個信息窗口,顯示無人機的相對高度、地速、GPS 坐標以及在其當前位置測量的地面溫度。單擊代表火災模式中心的地圖標記時,類似的信息窗口會顯示火災覆蓋的總面積(以平方米為單位)和中心的 GPS 坐標。通過單擊三個火災多邊形中的任何一個,相應的信息窗口將顯示所選火點的覆蓋面積(以平方米為單位)以及發出鼠標單擊的確切點的 GPS 坐標。最后一項功能有助于輕松獲取任何被火覆蓋的點的 GPS 坐標,可用于規劃工作策略。最后,當單擊任何代表機組成員的標記時,會顯示消防員的姓名、狀態(是否按下 SOS 按鈕)、ID 代碼和 GPS 坐標。此外,當戰斗機狀態為“正常”時,其對應的標記圖標顯示為綠色,當狀態變為“幫助”時(按下 SOS 按鈕后),標記圖標變為紅色。
發展
與控制無人機相關的代碼是使用模擬開發的。我使用了 PX4 Gazebo 'Software in The Loop' (SITL) 模擬器,在安裝了 ROS melodic 的 Ubuntu 18.04 PC 上運行。
該系統在模擬中進行了廣泛的測試并且表現非常好。遺憾的是,直到該項目的最終提交日期,沒有足夠的時間來測試該系統與真正的無人機飛行,但它已準備好進行現場測試,這將在不久的將來進行。
如何讓系統運行
- 按照 NXP HoverGames 官方無人機構建說明 ( https://nxp.gitbook.io/HoverGames/userguide/getting-started)構建您的無人機。必須為無人機配置以下飛行模式:“Position”,用于安全起飛,“Offboard”用于啟用自主模式,“Return”用于將無人機返回到起飛位置,特別是嘗試在緊急情況下或電池耗盡時恢復無人機。“終止開關”還必須配置為在發生任何不可恢復或嚴重緊急情況時切斷電機電源。
- 下載適用于 Raspberry Pi 的 Ubuntu MATE 16.04 映像并將其刻錄在微型 SD 卡(至少 16GB)上,安裝所有軟件并進行“rpi_configuration.md”文件中描述的所有配置,該文件可在項目的代碼存儲庫中找到。
- 將 ROS 工作區文件夾“airstrategist_ws”從存儲庫復制到“/home/pi”覆盆子目錄并編譯工作區。如果您是 ROS 新手,請查看參考資料部分以獲取基本 ROS 教程的鏈接。
- 打開 '/home/pi/airstrategist_ws/src/opencv_tracking/scripts' 文件夾中的 'http_client_node.py' 文件并更改對我服務器根目錄的所有引用 ('http://tec.bo/airstrategist/...' )為您的,以便將 HTTP POST 請求發送到您自己的服務器。
- 通過安裝 HTTP 服務器軟件和 PHP,或使用商業 Web 托管服務,在局域網中配置您自己的 Web 服務器。不需要數據庫軟件。
- 將存儲庫中“WebServer”文件夾中的“airstrategist”文件夾上傳到本地或 Web 托管服務器的根目錄。
- 進行圖 5 所示的連接,并將 Raspberry Pi 配套計算機及其移動電源安裝在無人機框架中,如圖 4a 和圖 4b 所示。
- 在您的開發 PC 中安裝 Android Studio,打開 Android 應用程序項目,然后在“MainActivity.java”文件中,更改對我服務器根目錄的所有引用(“http://tec.bo/airstrategist/...' )給你的。編譯并上傳應用程序到一部或多部手機。該應用程序使用三星 Galaxy Note 8 SM-N950F 設備進行了測試。為其他設備型號編譯應用程序可能需要更改目標 Android API 和其他附加配置。
- 啟動無人機,但不要武裝它。
- 通過將 Raspberry Pi 連接到其移動電源來啟動它。它使用 2 節鋰離子 18650 電池“移動電源”,因此無人機可以在無需關閉配套計算機的情況下更換電池。
-
至少在兩個單獨的終端窗口中從您的 PC 中打開到 Raspberry Pi 的 SSH 連接。在第一個窗口中運行 MAVROS 'px4.launch' 啟動文件;此文件運行 ROS 服務器并實例化 MAVROS 節點以通過 ROS 消息與無人機的飛行控制器進行通信。在第二個終端窗口中運行“hovergames_drone.launch”文件;此文件運行為項目編寫的所有 ROS 節點。運行此代碼后,Web 服務器將開始接收所有數據,主網頁將位于“http://
/airstrategist/”; 可以通過任何網絡瀏覽器訪問。我用 Chrome 和 Firefox 測試了頁面沒有問題。查看上面的視頻演示,了解有關在模擬中熱運行它的說明。 - 在移動設備中打開 Android 應用程序。該應用程序將顯示包含該地圖的同一網頁。單擊“開始位置”。跟蹤”按鈕開始將您的移動設備的 GPS 坐標和其他數據發送到服務器。幾秒鐘后,您的位置將作為綠色標記出現在地圖上。
- 將遙測模塊連接到您的 PC 并打開 QGroundControl 以連接無人機。
- 武裝無人機并以“位置”飛行模式起飛到方便的高度進行測試。對于測試,跟蹤高度固定為 10 米,文件中的“OFFBOARD_FLYING_ALTITUDE”常量來更改此高度。為安全起見,除非您知道自己在做什么,否則請勿在海拔超過 15 米的地方使用真正的無人機測試系統。
- 一旦無人機到達所需高度,通過遙控發射器或地面控制軟件將無人機的飛行模式更改為“離機”,進行自主飛行,無人機將開始跟蹤選定的目標;再次更改為“位置”模式以脫離自主飛行并重新獲得手動控制。
- 使用遙控器手動降落無人機,或將飛行模式更改為“返回”,無人機將返回起飛點。
警告:建議使用適當的增量測試/調試策略,從第一個到最后一個分別仔細測試所有描述的步驟,以確保所有軟件和硬件正常工作;在沒有適當測試的情況下在真正的無人機上運行系統可能非常危險。您可以使用“testing_in_simulation.md”文件中詳述的工作流程在模擬中首先測試系統。
結論和未來的改進
該系統在仿真中表現得非常好。還需要用真正的四軸飛行器進行廣泛的現場測試。計算機視覺火災追蹤效果很好;雖然火災檢測算法容易出現誤報,因為相機還可以檢測來自其他來源的紅外光。當然,普通的紅外熱像儀并不是探測火災的最佳方式。然而,它非常適合構建這個“概念驗證”原型的目的。HoverGames 無人機硬件成本低廉且相對實惠。無人機本身經過了廣泛的測試(盡管沒有足夠的時間與系統的其余部分進行測試)并且性能非常好。它對開發非常有用;然而,在某些情況下,對硬件進行一些升級是可取的,甚至是必要的。Raspberry Pi 3 B+ 配套計算機很好地管理了所有計算任務。有必要安裝散熱器和冷卻風扇。在沒有散熱風扇的情況下,處理器溫度輕松升高到 60+°C;隨著冷卻風扇的出現,溫度降至 48°C 左右。
我希望將來對系統進行的一些改進如下:
- 用合適的熱像儀升級系統會很棒;火災識別代碼所需的更改將是最小的。
- 可以添加一個 GPRS 調制解調器,也許還可以添加一個備用 LoraWAN 連接,這樣它就可以在偏遠地區工作。
- 使無人機不時自動改變高度和方向,以獲得額外的地面視角。
- 使用測得的地面溫度來調整無人機的高度。眾所周知,熱量會降低空氣密度,從而降低升力(空氣動力)。如果空氣太熱,無人機應該爬升到更高的高度以提高升力并使用更少的電池電量,從而保持飛行自主權。
- 實現無人機在火區上空的自動起飛和重新定位會很棒,尤其是在更換電池之后。無人機起飛后會進行相機平移,以檢測火區。然后飛過它繼續跟蹤任務。
- 使用機器學習和人工智能實施在線數據庫來存儲歷史數據以供進一步分析。
?
- 國際形勢突變,中國芯片公司 能否“風景這邊獨好” 1次下載
- 為NXP Hovergames3開發的AutoSQA項目文章
- 帶有AppSheet的IoT健康伴侶應用
- 機器人伴侶掛件
- 輕松DIY伴侶機器人構建
- 紙板伴侶機器人開源分享
- HoverGames 2特別獎得主
- 微芯片PIC18F87J10家庭數據表 2次下載
- 基于航跡數據的空中交通管制自動化系統 7次下載
- 2.4GHz RFID空中接口協議的詳細資料說明 13次下載
- 空中下載在移動互聯網中的應用 19次下載
- THD鋰電池伴侶(單節型)
- U盤伴侶 EasyUDisk讀寫U盤模塊
- TDMA空中接口技術 0次下載
- 工程驗收小伴侶1.2
- 用光子連接懸浮在真空中的納米粒子,并控制它們之間的相互作用 411次閱讀
- T900數傳模塊的空中速率和串口速率如何配置 1222次閱讀
- 基于OFDM技術的LTE空中接口物理層的研究 1808次閱讀
- 大型組織如何使用數據和分析來指導戰略和運營決策? 3881次閱讀
- ZETAOTA提供遠程升級服務 提高實用性 686次閱讀
- dfrobot 空中飛鼠鍵盤介紹 2621次閱讀
- 手機信號放大器是什么 5736次閱讀
- 如何實現空中喚醒LoRa和如何通過CAD來實現LoRa的資料概述 7472次閱讀
- 百度、阿里、騰訊、華為四家巨頭的自動駕駛發展戰略分析 9057次閱讀
- 夜空中最明亮的星!自制星光瓶全教程 1w次閱讀
- 智能汽車發展戰略起草工作啟動 3688次閱讀
- 總結谷歌、微軟和亞馬遜三家巨頭公司的戰略和戰術 7611次閱讀
- 無線網絡AI戰略應該包含的六大技術要素解析 5524次閱讀
- 空中鼠標原理及問題 7955次閱讀
- 藍牙4.0 超低功耗藍牙空中鼠標解決方案 2881次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多