本發(fā)明涉及機(jī)器人定位導(dǎo)航技術(shù)領(lǐng)域,具體涉及一種基于紅外線和超聲波的自主充電系統(tǒng)。
背景技術(shù):
近幾年來(lái)機(jī)器人行業(yè)發(fā)展迅猛,機(jī)器人的市場(chǎng)需求也越來(lái)越大,同時(shí)對(duì)機(jī)器人的智能化要求也越來(lái)越高。越來(lái)越多的應(yīng)用場(chǎng)景需要機(jī)器人具有自主充電功能,要實(shí)現(xiàn)自主充電必須先確定機(jī)器人相對(duì)于充電座的實(shí)時(shí)位置信息,并根據(jù)實(shí)時(shí)位置信息將其導(dǎo)航到充電座。在眾多的定位技術(shù)里面,小型的基于紅外線和超聲波的定位技術(shù)則由于其體積小、電路簡(jiǎn)單、價(jià)格低等優(yōu)勢(shì),在小范圍定位方面得到越來(lái)越廣泛的應(yīng)用。尤其在室內(nèi)超聲波定位技術(shù)就顯得更為方便。
為了實(shí)現(xiàn)機(jī)器人自主充電,部分企業(yè)采用雙目視覺(jué)定位系統(tǒng)。此方案需要在充電座上安裝特殊的像素點(diǎn),并且在機(jī)器人上同一水平位置上安裝兩臺(tái)相機(jī),這兩臺(tái)相機(jī)同時(shí)對(duì)這些特殊像素點(diǎn)進(jìn)行圖像采集,然后以這兩幅圖片為數(shù)據(jù)源進(jìn)行相應(yīng)的算法處理,最終計(jì)算出充電座相對(duì)機(jī)器人的坐標(biāo)信息,從而實(shí)現(xiàn)自主充電功能。
雙目視覺(jué)系統(tǒng)的缺點(diǎn)是成本高、硬件系統(tǒng)和機(jī)械結(jié)構(gòu)都復(fù)雜、算法實(shí)現(xiàn)難度大需要較高性能的處理器和相對(duì)更為專業(yè)的算法工程師才能實(shí)現(xiàn),所以此方案在較短時(shí)間內(nèi)很難得到大范圍的應(yīng)用和推廣。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種基于紅外線和超聲波的自主充電系統(tǒng),機(jī)器人每隔一個(gè)周期獲取一次實(shí)時(shí)位置信息,根據(jù)實(shí)時(shí)位置信息調(diào)整機(jī)器人的運(yùn)動(dòng)方向,直到完全對(duì)準(zhǔn)充電樁,完成對(duì)接開(kāi)始充電。
基于紅外線和超聲波的自主充電系統(tǒng),系統(tǒng)包括超聲紅外發(fā)射板模塊、超聲紅外接收板模塊和機(jī)器人自主充電運(yùn)動(dòng)控制算法模塊;
所述超聲紅外發(fā)射板模塊上電后,先對(duì)超聲紅外發(fā)射板模塊中的處理器進(jìn)行初始化,具體為:超聲波和紅外線發(fā)射控制管腳的初始化;定時(shí)器1初始化,用于產(chǎn)生40khz的超聲波載波;定時(shí)器2初始化用于產(chǎn)生56khz的紅外線載波;20ms軟件定時(shí)器1初始化;
初始化完成后,開(kāi)啟軟件定時(shí)器1,軟件定時(shí)器1到時(shí)間后開(kāi)始控制“紅外發(fā)射管1”和“超聲發(fā)射板1”發(fā)送紅外線和超聲波,軟件定時(shí)器1再次到時(shí)間后開(kāi)始控制“紅外發(fā)射管1”和“超聲發(fā)射板2”發(fā)射紅外線和超聲波;“超聲發(fā)射板1”和“超聲發(fā)射板2”發(fā)送的超聲波載波(脈沖)數(shù)量不一樣,用于接收端區(qū)分接收到的超聲數(shù)據(jù)為哪個(gè)板子發(fā)出;軟件定時(shí)器1一直循環(huán)工作,超聲發(fā)射板1和超聲發(fā)射板2輪流向外發(fā)射超聲波;
所述超聲紅外接收板模塊上電后,先對(duì)超聲紅外接收板模塊中的處理器進(jìn)行初始化,具體包括:初始化外部中斷1,用于接收紅外線信號(hào);初始化外部中斷2,用于接收超聲波信號(hào);初始化硬件定時(shí)器1,用于記錄超聲波從發(fā)射端到接收端之間傳播的時(shí)間;初始化硬件定時(shí)器2,用于記錄接收端接收到的超聲波載波的脈沖數(shù)量;
初始化完成后,如果外部中斷1被觸發(fā),說(shuō)明已經(jīng)接收到紅外線信號(hào),超聲發(fā)射端也已經(jīng)開(kāi)始發(fā)送超聲波信號(hào),硬件定時(shí)器1開(kāi)始計(jì)時(shí);當(dāng)外部中斷2被觸發(fā)后,說(shuō)明已經(jīng)接收到超聲波信號(hào),停止硬件定時(shí)器1的計(jì)時(shí),同時(shí)硬件定時(shí)器2對(duì)接收到的超聲波脈沖數(shù)量進(jìn)行記錄;假設(shè)硬件定時(shí)器1記錄的時(shí)間為t,單位為s,超聲波在空氣中的傳播速度為v=340m/s已知,那么測(cè)得的距離s=v*t;根據(jù)硬件定時(shí)器2測(cè)得的超聲波脈沖數(shù)量,確定此刻接收到的超聲波是“超聲波發(fā)射板1”還是“超聲波發(fā)射板2”發(fā)射出的(也就是超聲波的方位);
a點(diǎn)和b點(diǎn)代表充電樁上的超聲發(fā)射板1和超聲發(fā)射板2,o點(diǎn)為ab的中點(diǎn),為紅外線發(fā)射管1的位置,也是機(jī)器人的運(yùn)動(dòng)目標(biāo)點(diǎn);c點(diǎn)表示機(jī)器人的位置,以o點(diǎn)為原點(diǎn)建立坐標(biāo)系;
所述機(jī)器人自主充電運(yùn)動(dòng)控制算法模塊控制機(jī)器人開(kāi)始自主充電時(shí),先對(duì)自主充電任務(wù)線程進(jìn)行初始化,具體是:初始化200ms的軟件定時(shí)器1,然后開(kāi)啟軟件定時(shí)器1,當(dāng)軟件定時(shí)器1到達(dá)定時(shí)時(shí)間后,處理器通過(guò)串口和“超聲接收板”進(jìn)行通信,以獲取機(jī)器人到充電樁的距離ac和bc,并計(jì)算出c點(diǎn)相對(duì)于o點(diǎn)的坐標(biāo)值,然后判斷c點(diǎn)坐標(biāo)x的值,等于0時(shí)說(shuō)明機(jī)器人c點(diǎn)和充電樁o點(diǎn)剛好正對(duì)應(yīng),控制機(jī)器人向后直行;大于0時(shí)說(shuō)明機(jī)器人c點(diǎn)在充電樁o點(diǎn)的左側(cè),控制機(jī)器人向右后方運(yùn)行;小于0時(shí)說(shuō)明機(jī)器人c點(diǎn)在充電樁o點(diǎn)的右側(cè),控制機(jī)器人向左后方運(yùn)行;然后繼續(xù)判斷軟件定時(shí)器是否到時(shí)間,如果到時(shí)間重復(fù)以上控制過(guò)程,每隔200ms機(jī)器人獲取一次實(shí)時(shí)位置信息,根據(jù)實(shí)時(shí)位置信息調(diào)整機(jī)器人的運(yùn)動(dòng)方向,直到完全對(duì)準(zhǔn)充電樁,完成對(duì)接開(kāi)始充電。
有益效果:
本發(fā)明邏輯簡(jiǎn)單、代碼量小,無(wú)需復(fù)雜的算法程序,對(duì)處理器的性能要求不高,不需要在控制器中嵌入操作系統(tǒng),能夠準(zhǔn)確的計(jì)算出機(jī)器人相對(duì)于充電樁的實(shí)時(shí)坐標(biāo)信息,能夠滿足機(jī)器人實(shí)現(xiàn)自主充電任務(wù)的功能需求。
附圖說(shuō)明
圖1為超聲和紅外發(fā)射板模塊控制邏輯圖;
圖2為超聲和紅外接收板模塊控制邏輯圖;
圖3為自主充電算法實(shí)現(xiàn)數(shù)學(xué)模型圖;
圖4為自主充電運(yùn)動(dòng)控制邏輯圖。
具體實(shí)施方式
下面結(jié)合附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明提供了一種基于紅外線和超聲波的自主充電系統(tǒng),該系統(tǒng)包括超聲紅外發(fā)射板模塊、超聲紅外接收板模塊和機(jī)器人自主充電運(yùn)動(dòng)控制算法模塊;
超聲紅外發(fā)射板模塊采用stm32f030處理器,所以此部分的控制算法和邏輯是以stm32f030控制器為基礎(chǔ),用c語(yǔ)言實(shí)現(xiàn)的嵌入式控制程序,程序的控制邏輯如圖1所示
超聲紅外發(fā)射板模塊上電后,先對(duì)超聲紅外發(fā)射板模塊中的處理器進(jìn)行初始化,具體為:超聲波和紅外線發(fā)射控制管腳的初始化;定時(shí)器1初始化,用于產(chǎn)生40khz的超聲波載波;定時(shí)器2初始化用于產(chǎn)生56khz的紅外線載波;20ms軟件定時(shí)器1初始化;
初始化完成后,開(kāi)啟軟件定時(shí)器1,軟件定時(shí)器1到時(shí)間后開(kāi)始控制“紅外發(fā)射管1”和“超聲發(fā)射板1”發(fā)送紅外線和超聲波,軟件定時(shí)器1再次到時(shí)間后開(kāi)始控制“紅外發(fā)射管1”和“超聲發(fā)射板2”發(fā)射紅外線和超聲波;“超聲發(fā)射板1”和“超聲發(fā)射板2”發(fā)送的超聲波載波(脈沖)數(shù)量不一樣,用于接收端區(qū)分接收到的超聲數(shù)據(jù)為哪個(gè)板子發(fā)出;軟件定時(shí)器1一直循環(huán)工作,超聲發(fā)射板1和超聲發(fā)射板2輪流向外發(fā)射超聲波;
超聲紅外接收板的核心控制器同樣采用stm32f030處理器,具體的算法和邏輯采用c語(yǔ)言實(shí)現(xiàn),具體的實(shí)現(xiàn)邏輯如圖2所示:
超聲紅外接收板模塊上電后,先對(duì)超聲紅外接收板模塊中的處理器進(jìn)行初始化,具體包括:初始化外部中斷1,用于接收紅外線信號(hào);初始化外部中斷2,用于接收超聲波信號(hào);初始化硬件定時(shí)器1,用于記錄超聲波從發(fā)射端到接收端之間傳播的時(shí)間;初始化硬件定時(shí)器2,用于記錄接收端接收到的超聲波載波的脈沖數(shù)量;
初始化完成后,如果外部中斷1被觸發(fā),說(shuō)明已經(jīng)接收到紅外線信號(hào),超聲發(fā)射端也已經(jīng)開(kāi)始發(fā)送超聲波信號(hào),硬件定時(shí)器1開(kāi)始計(jì)時(shí);當(dāng)外部中斷2被觸發(fā)后,說(shuō)明已經(jīng)接收到超聲波信號(hào),停止硬件定時(shí)器1的計(jì)時(shí),同時(shí)硬件定時(shí)器2對(duì)接收到的超聲波脈沖數(shù)量進(jìn)行記錄;假設(shè)硬件定時(shí)器1記錄的時(shí)間為t,單位為s,超聲波在空氣中的傳播速度為v=340m/s已知,那么測(cè)得的距離s=v*t;根據(jù)硬件定時(shí)器2測(cè)得的超聲波脈沖數(shù)量,確定此刻接收到的超聲波是“超聲波發(fā)射板1”還是“超聲波發(fā)射板2”發(fā)射出的(也就是超聲波的方位);
a點(diǎn)和b點(diǎn)代表充電樁上的超聲發(fā)射板1和超聲發(fā)射板2,o點(diǎn)為ab的中點(diǎn),為紅外線發(fā)射管1的位置,也是機(jī)器人的運(yùn)動(dòng)目標(biāo)點(diǎn)。c點(diǎn)表示機(jī)器人的位置。以o點(diǎn)為原點(diǎn)建立坐標(biāo)系,x軸和y軸的正方向如圖3所示。
機(jī)器人自主充電運(yùn)動(dòng)控制算法模塊采用stm32f103vet6處理器,當(dāng)機(jī)器人檢測(cè)到電池電量低時(shí),通知stm32f103vet6處理器,處理器開(kāi)啟自動(dòng)充電任務(wù),機(jī)器人與充電樁對(duì)接過(guò)程中,機(jī)器人可以是向前行走以完成對(duì)接,也可以向后行走以完成對(duì)接,關(guān)鍵看機(jī)器人的充電結(jié)構(gòu)設(shè)計(jì)在前還是在后,這里我們的設(shè)計(jì)是向后。具體的控制邏輯如圖4所示:
當(dāng)stm32f103vet6處理器控制開(kāi)始自主充電時(shí),先對(duì)自主充電任務(wù)線程進(jìn)行初始化。具體任務(wù)是:初始化200ms的軟件定時(shí)器1,然后開(kāi)啟軟件定時(shí)器1。當(dāng)軟件定時(shí)器1到達(dá)定時(shí)時(shí)間后,處理器通過(guò)串口和“超聲接收板”進(jìn)行通信,以獲取機(jī)器人到充電樁的距離ac和bc,并計(jì)算出c點(diǎn)相對(duì)于o點(diǎn)的坐標(biāo)值,然后判斷c點(diǎn)坐標(biāo)x的值,等于0,說(shuō)明機(jī)器人c點(diǎn)和充電樁o點(diǎn)剛好正對(duì)應(yīng),控制機(jī)器人向后直行;大于0,說(shuō)明機(jī)器人c點(diǎn)在充電樁o點(diǎn)的左側(cè),控制機(jī)器人向右后方運(yùn)行;小于0,說(shuō)明機(jī)器人c點(diǎn)在充電樁o點(diǎn)的右側(cè),控制機(jī)器人向左后方運(yùn)行。然后繼續(xù)判斷軟件定時(shí)器是否到時(shí)間,如果到時(shí)間重復(fù)以上控制過(guò)程。
整體的控制效果是:每隔200ms機(jī)器人獲取一次實(shí)時(shí)位置信息,根據(jù)實(shí)時(shí)位置信息調(diào)整機(jī)器人的運(yùn)動(dòng)方向,直到完全對(duì)準(zhǔn)充電樁,完成對(duì)接開(kāi)始充電。
綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。