采用STC12C5410AD處理器實(shí)現(xiàn)自動(dòng)割草機(jī)器人主控系統(tǒng)的設(shè)計(jì)
1 、系統(tǒng)結(jié)構(gòu)
自動(dòng)割草機(jī)器人主控系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。系統(tǒng)主要由單片機(jī)控制系統(tǒng)、傳感器系統(tǒng)、電機(jī)驅(qū)動(dòng)系統(tǒng)3大部分組成。其中單片機(jī)控制系統(tǒng)的處理器采用國(guó)產(chǎn)芯片STC12C5410AD,包含10 bit的ADC以及串口、I2C等通用串行接口,高達(dá)40 MHz的主頻完全可以勝任本系統(tǒng)的計(jì)算和處理速度。
運(yùn)動(dòng)系統(tǒng)主要通過(guò)單片機(jī)給出的多路PWM信號(hào)對(duì)自動(dòng)割草機(jī)器人的行動(dòng)電機(jī)以及割草電機(jī)進(jìn)行控制。傳感器系統(tǒng)由電子籬笆傳感器、光電開(kāi)關(guān)傳感器、碰撞開(kāi)關(guān)傳感器、雨水傳感器、無(wú)線遙控接收模塊等組成。其中,電子籬笆傳感器用于探測(cè)割草區(qū)域的邊緣;光電開(kāi)關(guān)傳感器用于避開(kāi)慢速的或者靜止的障礙物;碰撞開(kāi)關(guān)傳感器用于避開(kāi)快速的或者主動(dòng)碰向割草機(jī)的物體;雨水傳感器用于檢測(cè)下雨天氣,并且相應(yīng)作出回基站的操作;傾角開(kāi)關(guān)傳感器用于安全措施,防止自動(dòng)割草機(jī)器人在割草過(guò)程中發(fā)生意外事件翻倒,一旦傳感器檢測(cè)的角度超過(guò)設(shè)定的閾值,系統(tǒng)自動(dòng)停止一切工作,進(jìn)入休眠狀態(tài);無(wú)線遙控部分用于方便使用者無(wú)線控制自動(dòng)割草機(jī)器人,無(wú)線遙控的距離約20 m.各個(gè)系統(tǒng)都采用模塊化設(shè)計(jì),可擴(kuò)展性高、升級(jí)維護(hù)方便、二次開(kāi)發(fā)周期短。表1為自動(dòng)割草機(jī)器人參數(shù)表。
2、 硬件系統(tǒng)設(shè)計(jì)
2.1 主控系統(tǒng)
主控系統(tǒng)采用STC12c5410AD單片機(jī),最高主頻40 MHz,8路AD輸入,可以滿足自動(dòng)割草機(jī)器人系統(tǒng)的控制需求。本系統(tǒng)采用30 MHz的有源晶振,8路AD輸入基本上可以滿足系統(tǒng)中模擬量的采集需求。
2.2 運(yùn)動(dòng)控制系統(tǒng)
運(yùn)動(dòng)控制系統(tǒng)中行動(dòng)電機(jī)部分采用2片L298直流電機(jī)驅(qū)動(dòng)芯片對(duì)直流電機(jī)進(jìn)行控制。1片L298驅(qū)動(dòng)芯片可以提供最高3 A的驅(qū)動(dòng)電流,本系統(tǒng)的行動(dòng)電機(jī)供電電壓為24 V,對(duì)于設(shè)計(jì)要求行動(dòng)總功率不大于60 W的驅(qū)動(dòng)系統(tǒng)來(lái)說(shuō),2片L298擁有足夠的驅(qū)動(dòng)能力。在機(jī)械結(jié)構(gòu)上,電機(jī)軸上使用了減速齒輪,用于加大最大電機(jī)輸出轉(zhuǎn)矩,提高在草地上行走的能力。
割草電機(jī)驅(qū)動(dòng)部分采用mosfet驅(qū)動(dòng),IRLR2705這款mosfet可以提供峰值28 A的電流,滿足了割草電機(jī)的要求。割草電機(jī)的開(kāi)通和關(guān)斷由一個(gè)單片機(jī)IO控制。割草電機(jī)驅(qū)動(dòng)有一個(gè)電流檢測(cè)反饋環(huán)節(jié),當(dāng)割草電機(jī)的工作電流過(guò)大(一般是堵轉(zhuǎn)時(shí)),電流信號(hào)被采樣電阻取出并且送往單片機(jī)AD轉(zhuǎn)換器中進(jìn)行檢測(cè)并且軟件保護(hù)。防止堵轉(zhuǎn)的電機(jī)燒毀mosfet管。電機(jī)驅(qū)動(dòng)電路圖如圖2.
2.3 傳感器系統(tǒng)
2.3.1 電子籬笆感應(yīng)電路
對(duì)空間目標(biāo)的搜索和跟蹤一般采用相控陣?yán)走_(dá),其相控陣天線以電子方式控制波束方向,它可以同時(shí)搜索和測(cè)量不同方向的多個(gè)波束,建立空間目標(biāo)的運(yùn)行軌道和測(cè)量空間目標(biāo)的窄帶特性。如美國(guó)海軍的空間監(jiān)視“NAVSPASUR”系統(tǒng)、法國(guó)的GRAVES雷達(dá)等,以及計(jì)劃中的歐洲空間監(jiān)視系統(tǒng),這三個(gè)系統(tǒng)是由雷達(dá)電子波束在空間設(shè)置一道攔截屏(或攔截空域),所以通常稱為“電子籬笆”。
電子籬笆傳感器是自動(dòng)割草機(jī)器人最重要的傳感器,它可以使割草機(jī)不走出工作區(qū)域(由連在基站上的電線圍成的區(qū)域),這樣可以保證自動(dòng)割草機(jī)器人工作在有效區(qū)域。電子籬笆傳感器感應(yīng)的是電子籬笆所發(fā)出的一定頻率的脈沖信號(hào),感應(yīng)線圈在靠近通有交變電流的電線邊界時(shí),會(huì)產(chǎn)生特定頻率的感應(yīng)電流,根據(jù)檢測(cè)特定頻率下信號(hào)幅度的大小可以得到割草機(jī)是否接近邊界的信息。電子籬笆傳感器在感應(yīng)出信號(hào)后進(jìn)行放大、濾波,然后再送入單片機(jī)的AD輸入端口。實(shí)驗(yàn)證明,越是接近電子籬笆邊界,感應(yīng)出給MCU的電壓越大,選擇一個(gè)合適的閾值進(jìn)行判斷就可以得到割草機(jī)的狀態(tài)。在實(shí)際中設(shè)定接近邊界還有3 cm時(shí)感應(yīng)出的電壓大小作為閾值,割草機(jī)在接收這個(gè)信號(hào)后就會(huì)給出相應(yīng)的處理,如后轉(zhuǎn)彎180°然后繼續(xù)前進(jìn)。電子籬笆檢測(cè)電路圖如圖3.
傳感器是一種物理裝置或生物器官,能夠探測(cè)、感受外界的信號(hào)、物理?xiàng)l件(如光、熱、濕度)或化學(xué)組成(如煙霧),并將探知的信息傳遞給其他裝置或器官。傳感器工作原理的分類物理傳感器應(yīng)用的是物理效應(yīng),諸如壓電效應(yīng),磁致伸縮現(xiàn)象,離化、極化、熱電、光電、磁電等效應(yīng)。被測(cè)信號(hào)量的微小變化都將轉(zhuǎn)換成電信號(hào)?;瘜W(xué)傳感器包括那些以化學(xué)吸附、電化學(xué)反應(yīng)等現(xiàn)象為因果關(guān)系的傳感器,被測(cè)信號(hào)量的微小變化也將轉(zhuǎn)換成電信號(hào)。
2.3.2 傾角開(kāi)關(guān)
在割草機(jī)運(yùn)行過(guò)程中,有可能因?yàn)橐馔馐垢畈輽C(jī)傾斜或者翻倒。由于割草機(jī)底盤有一對(duì)高速運(yùn)行的割草刀片,所以底盤暴露在外面就會(huì)威脅到人或者動(dòng)物的安全。在車子傾斜到一定角度時(shí),傾角開(kāi)關(guān)就會(huì)給出一個(gè)開(kāi)關(guān)信號(hào),單片機(jī)根據(jù)這個(gè)信號(hào)關(guān)斷所有的電機(jī)控制信號(hào),并且進(jìn)入待機(jī)狀態(tài),等待操作者手動(dòng)開(kāi)機(jī)。
2.3.3 碰撞開(kāi)關(guān)
碰撞開(kāi)關(guān)是為了讓割草機(jī)可以躲開(kāi)光電避障開(kāi)關(guān)檢測(cè)不到的盲區(qū)障礙物和快速移動(dòng)物體,是一種被動(dòng)的避障方式。碰撞開(kāi)關(guān)的原理是在割草機(jī)被外物碰撞到前方的一個(gè)機(jī)械的彈簧結(jié)構(gòu)后,會(huì)讓一個(gè)觸點(diǎn)短路,這樣能給單片機(jī)一個(gè)低電平信號(hào),通知單片機(jī)遇到了障礙物,單片機(jī)就會(huì)執(zhí)行相應(yīng)的避障措施。
2.3.4 雨水傳感器
雨水傳感器由一個(gè)濕敏電阻和一個(gè)比較器組成。在正常工作情況下,濕敏電阻阻值為1 MΩ左右,這樣可使比較器輸出為高(正極電壓(約2.5 V)大于負(fù)極電壓(約2 V))。如果有雨水碰到濕敏電阻,則電阻的阻值會(huì)急劇下降到1 kΩ左右,比較器輸出就為低(正極電壓(約0 V)小于負(fù)極(約2 V))。這樣就能使單片機(jī)得到雨水感應(yīng)信號(hào),執(zhí)行回基站避雨的操作。圖4為雨水傳感器電路圖。
2.3.5 光電開(kāi)關(guān)避障
光電避障是最主要的避障方式,也是一種主動(dòng)的避障方式。優(yōu)點(diǎn)是不用碰到障礙物就可以檢測(cè)到并且躲開(kāi),避免直接碰撞到障礙物。光電開(kāi)關(guān)可檢測(cè)的距離可以根據(jù)實(shí)際控制的需要進(jìn)行調(diào)節(jié)。
2.3.6 傳感器在車體位置上的排布
多傳感器系統(tǒng)傳感器的位置和排布對(duì)于控制精度有很大影響,在借鑒了其他多傳感器系統(tǒng)的排布后,設(shè)計(jì)出本系統(tǒng)的傳感器排布圖,如圖5所示。
A1、A2、A3、A4都是電子籬笆探頭的放置位置。B1和B2是光電傳感器和碰撞開(kāi)關(guān)的安裝位置,盡量放在邊緣有利于檢測(cè)障礙物減小檢測(cè)的盲區(qū)。其中,A3、A4這兩個(gè)電子籬笆探頭主要用于檢測(cè)前端電子籬笆區(qū)域,如果檢測(cè)到,執(zhí)行后退再轉(zhuǎn)向的動(dòng)作。A1、A2則是用于進(jìn)入基站時(shí)的尋線,因?yàn)檫M(jìn)入基站的任務(wù)是通過(guò)首先尋找到邊界的電子籬笆線,然后再切入電子籬笆線中,最后通過(guò)尋線的方式一直走入基站。A1、A2也可以在自動(dòng)割草時(shí)發(fā)揮作用,避免割草機(jī)走出邊界,特別是在割草區(qū)域的邊角地帶,成為處理邊界算法中的一個(gè)重要輔助信號(hào)。
2.4 其他部分
其他部分包括過(guò)電流保護(hù)、欠電壓保護(hù)。過(guò)電流保護(hù)主要保護(hù)割草機(jī)驅(qū)動(dòng)電路不會(huì)因?yàn)槎罗D(zhuǎn)、割刀卡死等原因損壞;欠電壓保護(hù)通過(guò)檢測(cè)電池電壓來(lái)確定是否應(yīng)該回基站充電,實(shí)現(xiàn)自動(dòng)充電的功能。
3、 軟件系統(tǒng)設(shè)計(jì)
自動(dòng)割草機(jī)器人的軟件部分使用單片機(jī)C語(yǔ)言編程設(shè)計(jì),根據(jù)實(shí)際的控制要求實(shí)現(xiàn)自動(dòng)割草機(jī)器人的功能。軟件部分盡量使用查詢代替中斷,增加了軟件的健壯性。割草路徑的規(guī)劃是自動(dòng)割草機(jī)器人的主要算法部分。
3.1 軟件總體結(jié)構(gòu)
主程序主要執(zhí)行初始化以及自動(dòng)割草機(jī)器人的3種行走策略:普通行走的任務(wù);回到基站的任務(wù);執(zhí)行出站的任務(wù)。在外部中斷中,外部光電避障、碰撞開(kāi)關(guān)避障和保護(hù)部分的信號(hào)是主要外部中斷的來(lái)源,用于實(shí)時(shí)響應(yīng)這些異常事件。軟件流程圖如圖6.
3.2 割草路徑規(guī)劃
路徑規(guī)劃是指,在具有障礙物的環(huán)境中,按照一定的評(píng)價(jià)標(biāo)準(zhǔn),尋找一條從起始狀態(tài)到目標(biāo)狀態(tài)的無(wú)碰撞路徑。本算法中路徑規(guī)劃采用了基于知識(shí)的遺傳算法,它包含了自然選擇和進(jìn)化的思想,具有很強(qiáng)魯棒性。機(jī)器人整體的運(yùn)動(dòng)規(guī)劃一般又稱為路徑規(guī)劃,由于機(jī)器人整體看作是一個(gè)點(diǎn)或者是一個(gè)固定的幾何體,自由度比較少,因此路徑規(guī)劃問(wèn)題相對(duì)比較簡(jiǎn)單。傳統(tǒng)的機(jī)器人運(yùn)動(dòng)規(guī)劃算法已經(jīng)能較好地解決路徑規(guī)劃問(wèn)題。
自動(dòng)割草機(jī)器人路徑規(guī)劃的遍歷策略是割草機(jī)設(shè)計(jì)中的一個(gè)重要環(huán)節(jié),涉及到割草機(jī)割草的效率。合理的遍歷策略可以使自動(dòng)割草機(jī)器人在最短的時(shí)間內(nèi)遍歷整個(gè)割草區(qū)域。常用的割草策略主要有兩種方式:直線運(yùn)行方式和邊界跟蹤運(yùn)行方式。兩種覆蓋區(qū)域方式如圖7、圖8所示。
采用直線運(yùn)行時(shí),轉(zhuǎn)向處會(huì)有不可避免的重疊路徑,使總的運(yùn)行距離增加;采用邊界跟蹤的方式時(shí),需要機(jī)器人不斷地調(diào)整進(jìn)行方向,容易帶來(lái)誤差。針對(duì)自動(dòng)割草機(jī)器人以單片機(jī)為核心的控制器而言,需要自動(dòng)割草機(jī)器人的運(yùn)行軌跡盡量簡(jiǎn)單化和規(guī)范化。因此采取直線運(yùn)行方式遍歷子區(qū)間,在前向的電子籬笆傳感器感應(yīng)到邊界后,割草機(jī)器人后退一小段距離,然后以一個(gè)輪子為中心,另一個(gè)輪子左轉(zhuǎn)(或右轉(zhuǎn))180°,完成掉頭,然后繼續(xù)前進(jìn),下次再碰到邊界就向相反的方向旋轉(zhuǎn)180°,這樣就可以做到區(qū)域的覆蓋。
3.3 割草邊界區(qū)域的處理方法
割草機(jī)器人在區(qū)域的邊角處行走是最容易出現(xiàn)問(wèn)題的時(shí)候,不合理的行走策略可能導(dǎo)致割草機(jī)器人走出邊界。所以要利用割草機(jī)器人現(xiàn)有的傳感器去選擇在區(qū)域邊角的運(yùn)行策略。
經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn),出現(xiàn)越界問(wèn)題的情況主要有兩種。
(1)割草機(jī)到達(dá)邊界的一個(gè)角落,如圖9.在這種情況下割草機(jī)器人傳感器A4(或者A3)首先檢測(cè)到邊界L1的信息,根據(jù)直線運(yùn)行方式就應(yīng)該先后退再向左轉(zhuǎn)(或向右轉(zhuǎn))。正常情況下走到這種角落時(shí)就應(yīng)該是先檢測(cè)到L1,然后后退一段距離,再向右方向轉(zhuǎn)180°。在轉(zhuǎn)彎的過(guò)程中,由于L2的存在, A3就會(huì)感應(yīng)到角落的另外一個(gè)邊界L2,如果沒(méi)有特別的策略,就會(huì)執(zhí)行先后退一段距離,再向左轉(zhuǎn)180°的策略,這樣就很容易走出邊界,或者使控制變得混亂。要避免這種情況就需要在軟件上做出改動(dòng),即在轉(zhuǎn)彎過(guò)程中如果有其他傳感器檢測(cè)到邊界,就說(shuō)明已經(jīng)到了另一個(gè)邊界角落的位置。最好的處理方法就是原路回轉(zhuǎn)過(guò)去,回到原位后再次左轉(zhuǎn)180°,開(kāi)始從這個(gè)區(qū)域的頂端到另外一端的循環(huán)行走遍歷。
(2)割草機(jī)遇到了一個(gè)傾斜的邊界,如圖10.如果沒(méi)有特殊的策略,A4檢測(cè)到邊界后,就執(zhí)行轉(zhuǎn)向的策略,這樣就會(huì)有很大一片的前方區(qū)域(區(qū)域一)不能遍歷到,所以就需要利用右邊的A2去解決這個(gè)問(wèn)題。在正常行走時(shí),如果A2首先檢測(cè)到了邊界,則執(zhí)行先后退、然后左拐一定的角度、最后前進(jìn)的策略。自動(dòng)割草機(jī)器人就會(huì)沿著這根斜線邊界不斷調(diào)整自己的角度前進(jìn),而不會(huì)漏掉這些區(qū)域,適用于邊界不是很規(guī)則的草地。
4、 系統(tǒng)整體調(diào)試
割草機(jī)器人整體調(diào)試步驟:(1)單片機(jī)控制系統(tǒng)的測(cè)試;(2)運(yùn)動(dòng)控制系統(tǒng)的調(diào)試;(3)各個(gè)傳感部分的調(diào)試;(4)運(yùn)動(dòng)控制系統(tǒng)與傳感器相結(jié)合的整機(jī)調(diào)試。
首先單獨(dú)測(cè)試單片機(jī)的控制,測(cè)試通過(guò)后進(jìn)行運(yùn)動(dòng)模塊的測(cè)試,獲取割草機(jī)的運(yùn)動(dòng)參數(shù)。然后進(jìn)行各個(gè)傳感模塊的測(cè)試,其中重點(diǎn)的是電子籬笆、光電避障的測(cè)試。在確認(rèn)各個(gè)傳感模塊工作無(wú)誤后即可開(kāi)始進(jìn)行割草機(jī)器人的整體測(cè)試以及割草路徑規(guī)劃。最終實(shí)現(xiàn)自動(dòng)割草機(jī)器人自動(dòng)割草、自動(dòng)充電和雨雪天自動(dòng)返回基站等功能。
自動(dòng)割草機(jī)器人系統(tǒng)借鑒了國(guó)外的割草機(jī)系統(tǒng)的特點(diǎn),特別加強(qiáng)了安全性和可靠性的設(shè)計(jì),實(shí)現(xiàn)了更好的控制。從外界獲取信息能力來(lái)看,多傳感器系統(tǒng)保證了獲得的外界信息的完整性、有效性,保證了自動(dòng)割草的正常進(jìn)行以及意外情況的及時(shí)應(yīng)對(duì)。從系統(tǒng)性能方面,采用功耗合理、性能優(yōu)越的單片機(jī)控制系統(tǒng),保證了性能與成本的兼顧。從功能方面,基本實(shí)現(xiàn)了全部割草機(jī)器人應(yīng)有的功能,并且加強(qiáng)了安全性。通過(guò)現(xiàn)場(chǎng)的測(cè)試結(jié)果,割草機(jī)器人完全能夠勝任坡度不大于15°的草地的割草需求,實(shí)現(xiàn)了真正的無(wú)人值守自動(dòng)割草。