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