基于APM單片機(jī)的智能機(jī)器人設(shè)計(jì)
引言
據(jù)統(tǒng)計(jì),截至2017年底我國(guó)約17.3%的人口年齡超過60歲,共計(jì)2.41億人。有關(guān)部門估計(jì),我國(guó)將于2025年步入超老齡化社會(huì),有將近3億人口的年齡超過60歲。養(yǎng)老逐漸成為我國(guó)不容忽視的問題之一。目前,我國(guó)經(jīng)濟(jì)快速發(fā)展,城市化進(jìn)程逐漸加快,在計(jì)劃生育政策的引導(dǎo)下,國(guó)內(nèi)家庭結(jié)構(gòu)朝著小型化方向轉(zhuǎn)變,空巢老人和獨(dú)居老人越來越多,根據(jù)有關(guān)部門統(tǒng)計(jì),截至2020年我國(guó)空巢老人和獨(dú)居老人的數(shù)量將突破1.18億人。因此,本文專門針對(duì)空巢老人和獨(dú)居老人的養(yǎng)老問題,設(shè)計(jì)了一款功能強(qiáng)大的輔助機(jī)器人。
1機(jī)器人功能
無人駕駛:將GPs技術(shù)應(yīng)用到飛控系統(tǒng)中,在衛(wèi)星地圖的輔助下,機(jī)器人按照已經(jīng)規(guī)劃好的路線行駛到指定點(diǎn),整個(gè)行駛過程的主要參考點(diǎn)是盲道,無需任何人工操作。
雙向語音攝像功能:利用無人駕駛技術(shù)將產(chǎn)品運(yùn)輸?shù)街付ǖ攸c(diǎn),在機(jī)器人自帶攝像頭和雙向語音系統(tǒng)的輔助下,用戶可以與賣家交流并最終確定商品類型。系統(tǒng)將用戶選擇的商品送入存儲(chǔ)箱,確認(rèn)無誤后攝像頭會(huì)自動(dòng)掃描用戶提供的二維碼進(jìn)行在線支付。
通過上述功能,機(jī)器人能自主規(guī)劃到達(dá)快遞點(diǎn)或商店的合理路線,幫助老人購買商品或取快遞,給老人的日常生活帶來極大的便利。
2機(jī)器人結(jié)構(gòu)設(shè)計(jì)
從整體來看,機(jī)器人呈子彈頭和圓柱體結(jié)合的流線型結(jié)構(gòu),機(jī)器人運(yùn)動(dòng)過程中的阻力比較小。如圖1(a)所示,在機(jī)器人頭部安裝攝像頭,能為用戶和賣家?guī)順O大的便利,機(jī)器人拍攝的照片更清晰,能幫助用戶選擇適合自身的商品類型,方便用戶與賣家的交流并完成在線支付。如圖1(b)所示,機(jī)器人機(jī)身呈圓柱體型,有助于提高存儲(chǔ)空間的利用率。如圖1(c)所示,可拆卸式存儲(chǔ)箱的裝配方式是抽拉式往復(fù)運(yùn)動(dòng),清理和維修機(jī)器人更加便利,極大地方便了存取貨物的工作。如圖1(d)所示,機(jī)器人的整體裝配滿足人性化設(shè)計(jì)要求,外形優(yōu)美。
(a)機(jī)器人頭部
(b)機(jī)器人身體
(c)存儲(chǔ)箱
(d)機(jī)器人總體結(jié)構(gòu)
圖1機(jī)器人結(jié)構(gòu)設(shè)計(jì)
3無人駕駛功能設(shè)計(jì)
機(jī)器人主要通過APM單片機(jī)實(shí)現(xiàn)GPs定位和其他控制功能。在數(shù)據(jù)實(shí)時(shí)傳輸系統(tǒng)、攝像頭和衛(wèi)星地圖的輔助下,機(jī)器人能在第一時(shí)間分析和處理外部環(huán)境,將得到的數(shù)據(jù)傳輸至車輛控制軟件。底層的ECU單元接收到數(shù)據(jù)后,控制車輛完成剎車、變換速度、轉(zhuǎn)向和無人駕駛操作。
3.1APM飛控工作原理
在APM飛控系統(tǒng)中,采用兩級(jí)PID控制方式:第一級(jí)是導(dǎo)航級(jí),主要利用fastloop()和mediumloop()的updatecu一一ertflingtmodeh)函數(shù)進(jìn)行各項(xiàng)計(jì)算:第二級(jí)是控制級(jí),主要利用fastloop()的stabilize()函數(shù)進(jìn)行各項(xiàng)計(jì)算。
導(dǎo)航級(jí)PID控制的功能有:(1)計(jì)算飛機(jī)行駛的預(yù)定高度和預(yù)定空速:(2)控制飛機(jī)轉(zhuǎn)彎過程。導(dǎo)航級(jí)PID控制利用各種算法計(jì)算出所需的橫滾角、油門和俯仰角等數(shù)據(jù),然后將數(shù)據(jù)傳輸至控制級(jí),控制級(jí)綜合考慮所需橫滾角、油門、俯仰角等數(shù)據(jù)和飛機(jī)所處姿態(tài),通過控制解算得到合理的舵機(jī)控制量,保證飛機(jī)按照預(yù)定的方向角、橫滾角和俯仰角行駛,最后在setservos4()的輔助下,舵機(jī)控制級(jí)轉(zhuǎn)換控制量得到相應(yīng)的PwM信號(hào)量,并將該信號(hào)量送至舵機(jī)。當(dāng)然,導(dǎo)航級(jí)負(fù)責(zé)控制油門,舵機(jī)負(fù)責(zé)解算油門控制量。在方向舵的控制過程中,控制級(jí)對(duì)方向舵控制量直接進(jìn)行解算,解算數(shù)據(jù)會(huì)傳輸至舵機(jī)控制級(jí)。
3.2飛控羅盤校準(zhǔn)
AutoRover一cute出廠前已經(jīng)進(jìn)行了各項(xiàng)校準(zhǔn),但是各地的電磁環(huán)境不同,有時(shí)候需要借助羅盤校準(zhǔn)。當(dāng)羅盤發(fā)生錯(cuò)誤時(shí),地面站的姿態(tài)界面會(huì)持續(xù)出現(xiàn)PreArm:Compassnotcalibrated(羅盤沒有校準(zhǔn))的紅色提示。
利用無線數(shù)傳將地面站和機(jī)器人連接在一起,可極大地方便相關(guān)操作。連接完成,找到"初始設(shè)置",依次單擊MandatoryHardware菜單和Compass選項(xiàng),如圖2(a)所示,根據(jù)要求設(shè)置完成后,找到LiveCalibrad(現(xiàn)場(chǎng)校準(zhǔn))按鈕并單擊。
完成上述操作后,系統(tǒng)會(huì)自動(dòng)彈出特定界面,將UseAutoAccept(轉(zhuǎn)動(dòng)機(jī)器人)前面的標(biāo)記去掉,要求每個(gè)軸轉(zhuǎn)動(dòng)次數(shù)大于或等于一次,即水平原地自轉(zhuǎn)角度達(dá)到3609轉(zhuǎn)軸一次、橫滾角達(dá)到3609轉(zhuǎn)軸一次、俯仰角達(dá)到3609轉(zhuǎn)軸一次的目標(biāo)。上述過程中羅盤傳感器負(fù)責(zé)數(shù)據(jù)的采集和上傳。按照經(jīng)驗(yàn),轉(zhuǎn)動(dòng)機(jī)器人能隨意改變旋轉(zhuǎn)姿態(tài),直至全部掩蓋圖中左半部分的白點(diǎn),界面上會(huì)出現(xiàn)相對(duì)完整的彩色球,此時(shí)單擊Done按鈕,將羅盤數(shù)據(jù)保存下來,如圖2(b)所示。在飛行數(shù)據(jù)界面上,改變AutoRover一cute的車頭朝向,分別設(shè)置為東、西、南、北,并比較AutoRover一cute的車頭朝向和地面站界面出現(xiàn)的車頭朝向,若二者相同,則校準(zhǔn)成功,如圖2(c)所示。
(a)校準(zhǔn)界面
(b)調(diào)整界面
(c)校準(zhǔn)完成界面
圖2羅盤校準(zhǔn)界面
3.3差速轉(zhuǎn)向設(shè)置
依次單擊"配置調(diào)試"和FullParameterList,系統(tǒng)會(huì)自動(dòng)彈出基本調(diào)試界面,如圖3(a)所示,并單擊"0K"按鈕:單擊界面右半部分的"Find"按鈕,系統(tǒng)會(huì)自動(dòng)彈出對(duì)話框,輸入"SKIDSTEER0UT",如圖3(b)所示:單擊"0K"按鈕進(jìn)行參數(shù)搜索操作,將"SKIDSTEER0UT"設(shè)置為l,如圖3(c)所示,也就是將機(jī)器人的轉(zhuǎn)彎方式更改為差速轉(zhuǎn)彎:最后單擊界面右半部分的"writeParam"按鈕,將數(shù)據(jù)寫入系統(tǒng),如圖3(d)所示。
(a)調(diào)試界面
(b)SearchFor界面
(c)轉(zhuǎn)速調(diào)整界面
(d)數(shù)據(jù)寫入界面
圖3差速轉(zhuǎn)向參數(shù)調(diào)整界面
3.4航線規(guī)劃
如圖4所示,在地面站界面上,依次單擊"飛行計(jì)劃"菜單和"行動(dòng)"選項(xiàng)欄,選擇"高德衛(wèi)星地圖"(需要聯(lián)網(wǎng)),該地圖在國(guó)內(nèi)的支持良好。首先,在能獲取GPs信號(hào)的空曠地面上放置機(jī)器人,完成上電操作后,利用無線數(shù)傳將機(jī)器人和地面站連接在一起,通過GPs定位可將機(jī)器人的實(shí)時(shí)位置在界面上顯示出來。依次單擊"行動(dòng)""起始位置",此時(shí)機(jī)器人圖標(biāo)位于地圖中心,如圖5所示,利用鼠標(biāo)可自由拖動(dòng)地圖位置,利用鼠標(biāo)滾輪可自由放大或縮小地圖。
(1)離線地圖:在按住Ctr1鍵的前提下,利用鼠標(biāo)可完成矩形區(qū)域的選擇,利用鼠標(biāo)右鍵依次單擊地圖工具和預(yù)讀取航點(diǎn)路徑)離線地圖),能將離線地圖下載下來。
(2)航線規(guī)劃:選擇的命令不同,系統(tǒng)實(shí)現(xiàn)的功能也不同,其中wAYPoINT航點(diǎn)命令的使用頻率最高。選擇wAYPoINT命令后,當(dāng)機(jī)器人運(yùn)動(dòng)到航點(diǎn)半徑范圍內(nèi)時(shí),機(jī)器人會(huì)自動(dòng)調(diào)整運(yùn)動(dòng)方向,向下一航點(diǎn)運(yùn)動(dòng),簡(jiǎn)易設(shè)置航點(diǎn)半徑為3m,也就是機(jī)器人運(yùn)動(dòng)到航點(diǎn)半徑3m范圍內(nèi),則自動(dòng)按照下一條命令運(yùn)動(dòng)。此外,按照?qǐng)D5"航點(diǎn)"欄設(shè)置其余參數(shù)。設(shè)置航點(diǎn)步驟如圖5所示,即單擊地圖任意區(qū)域便能添加wAYPoINT航點(diǎn)。此外,拖動(dòng)地圖上已經(jīng)添加的航點(diǎn)便能將航線數(shù)據(jù)傳輸至機(jī)器人,機(jī)器人原有數(shù)據(jù)會(huì)被完全覆蓋。當(dāng)需要讀取機(jī)器人的航線數(shù)據(jù)時(shí),只需單擊"讀取航點(diǎn)"按鈕即可。
圖4高德衛(wèi)星地圖界面
圖5定位界面
下面介紹"北京一上海一廣州"航線。單擊地圖上的北京,系統(tǒng)會(huì)自動(dòng)彈出默認(rèn)高度設(shè)置的界面,在界面上輸入數(shù)據(jù)0,并單擊"oK"按鈕即可設(shè)置第一個(gè)wAYPoINT航點(diǎn),除上述方法外,還可直接將航點(diǎn)經(jīng)緯數(shù)據(jù)輸入到"航點(diǎn)"欄中,從而完成廣州和上海兩個(gè)wAYPoINT航點(diǎn)的設(shè)置。航線規(guī)劃界面如圖6所示。
在航點(diǎn)圖標(biāo)上單擊鼠標(biāo)右鍵,選擇"刪除航點(diǎn)"能將本航點(diǎn)徹底刪除,選擇"清除任務(wù)"能將全部航點(diǎn)和命令徹底刪除,但機(jī)器人的航點(diǎn)數(shù)據(jù)仍然保留。除上述方法外,也可單擊"航點(diǎn)"欄刪除框里的"x"按鈕將對(duì)應(yīng)航點(diǎn)徹底刪除,若需要改變航點(diǎn)順序,只需單擊上下箭頭即可,如圖7所示。
圖6航線規(guī)劃界面
圖7更改航點(diǎn)界面
4結(jié)語
本文設(shè)計(jì)的輔助機(jī)器人功能完善、操作難度小、占用空間小。目前,該輔助機(jī)器人尚未在市場(chǎng)上出現(xiàn),無需擔(dān)心市場(chǎng)風(fēng)險(xiǎn)問題。經(jīng)過專家調(diào)試,該輔助機(jī)器人能實(shí)現(xiàn)無人駕駛和路線自動(dòng)規(guī)劃功能,但數(shù)據(jù)不精確和易丟失的問題還有待改進(jìn)。該機(jī)器人未來的發(fā)展方向是跟隨購物機(jī)器人,具備監(jiān)控和自動(dòng)報(bào)警功能。