蜂鸟速递-无人机快递智能系统 QT编写(含视频)
? 大三工作室項目,和幾位小伙伴一起做出來的。我負責客戶端與服務器這塊,其他小伙伴負責無人機安卓端、用戶安卓端,項目實現了類似于滴滴打車的效果,寫篇博客記錄一下。
? 系統流程如下:用戶下單,系統分配無人機飛至指定地點降落,用戶將物品放入儲存箱確認后無人機飛向目的地,無人機到達目的地后有兩種確認方式。
? 方式1:二維碼確認,將1m*1m大小的二維碼鋪在地上,無人機在目的地上空進行圓周運動,當相機識別到二維碼則進行機身調整,降落在二維碼上。
? 方法2:人臉識別,調用Face++接口,無人機相機向下45°,用戶站在相機面前確認收貨,相機將照片進行對比,確認是收貨人則降落。
? 用戶取完貨物后再APP上面確認收貨,無人機自行飛回蜂巢。
? 整個項目耗費4個月,制作比較粗糙。。
? 下面列舉項目大致架構:
所有數據經過服務器進行處理并轉發,使用TCP進行數據傳輸。例如用戶端提交訂單,服務器搜尋空閑無人機并將訂單信息轉發給無人機控制端。服務器與管理端使用QT進行編寫,數據庫使用sql server 2012。
由于能拿的出手的就是管理端和用戶端,后臺服務器與無人機控制端由于沒什么圖片,功能也就是數據的轉發與執行,所以粗略的講講。。
管理端:
管理端用來管理并實時監控無人機動向,比如說禁飛區、倉庫管理、無人機站點管理、空中廊道管理。
空中廊道:空中廊道的設想也就是空中高速公路,避開人群密集區、軍事區等敏感區域,規劃出一條合適的線路供無人進飛行。
禁飛區:禁飛區顧名思義就是不允許無人機飛行的區域,當有臨時活動可以立刻規劃出禁飛區,防止無人機闖入造成財產損失。
無人機:這個就是整個項目的核心了,監控端可以實時監控無人機飛行數據,本來想可以實時觀看無人機視角,通過相機拍攝視頻然后傳輸給管理端,但是時間不足就沒有實現,比較遺憾。。
無人機站點:沒有做美化,確實比較丑。。無人機站點就是派發無人機與接收無人機,無人機站點可以認為是小型機場吧。。
無人機倉庫:也是丑,無人機倉庫就是存放無人機的地方。。
前面是加載了高德地圖進行可視化,下面就是正規的表格了。
管理端差不多就是這樣,在運輸貨物的過程中,管理端可以監控無人機的具體位置,訂單的執行情況。
用戶端
用戶端界面我比較滿意,用戶端分為登陸、下訂單、查看訂單等功能,廢話不多說直接上圖!
登陸界面,也可以輸入賬號然后掃臉登陸,FACE++的接口還是挺好使的,就是有時會抽風。。。
登陸進去之后就是這樣,左上角的存臉用來保存你個人的人臉數據,用作登陸與收貨。
這個是用戶管理,左上方頭像的小姐姐就是做這APP的,看起來好像磨皮、美顏,恕我眼拙。。
在地圖上選擇出發地與目的地,填寫訂單內容就可以提交訂單了!
訂單提交成功,就可以進入這個畫面,確認放貨、確認收貨前面提過。右上角有個笑臉,點擊它可以進入收貨階段的人臉識別,識別成功無人機降落。
基本到這里整個項目介紹完畢,現在講一講關鍵的實現方案。
要做到飛機實時動畫:動畫怎么做到的我不知道,我們通過定時器1秒鐘一次查詢飛機數據,然后用戶端與管理端通過數據進行畫面的更新。
飛機的型號:大疆3 ADVANCD ? ? 大疆提供一整套的SDK調用來控制飛機的飛行,SDK感覺BUG多,社區人特別少遇到過很多坑,有的問題要去國外論壇才能找到。。
不同平臺如何通信:自己定好數據格式然后照著通信。。。
如果飛行過程中存儲盒打開怎么辦:我們專門找一個理電小女生入坑,讓她弄了個板子控制盒子開關。當無人機降落收取快遞時,后臺會發送一條短信給盒子,盒子接收并打開,然后確認放貨就又發一條讓其關閉。存儲與系統時分離的,比較死板。。
以下是視頻演示。。
項目演示視頻
快遞情景模擬
項目演示完整視頻
總結
以上是生活随笔為你收集整理的蜂鸟速递-无人机快递智能系统 QT编写(含视频)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今日南下,为了生活
- 下一篇: 基于java+jsp快递物流订单管理系统