《掃地機(jī)器人原理及實(shí)現(xiàn)(共7頁)》由會員分享,可在線閱讀,更多相關(guān)《掃地機(jī)器人原理及實(shí)現(xiàn)(共7頁)(7頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-----傾情為你奉上
掃地機(jī)器人結(jié)構(gòu)及控制系統(tǒng)設(shè)計(jì)
自動清掃機(jī)器人是當(dāng)今服務(wù)機(jī)器人領(lǐng)域一個熱門的研究方向。從理論和技術(shù)上講,自動清掃機(jī)器人比較具體地體現(xiàn)了移動機(jī)器人的多項(xiàng)關(guān)鍵技術(shù),具有較強(qiáng)的代表性,從市場前景角度講,自動清掃機(jī)器人將大大降低勞動強(qiáng)度、提高勞動效率,適用于賓館、酒店、圖書館、辦公場所和大眾家庭。因此開發(fā)自動清掃機(jī)器人既具有科研上的挑戰(zhàn)性又具有廣闊的市場前景。
家用智能清掃機(jī),包括計(jì)算機(jī)、傳感器、電機(jī)與動力傳動機(jī)構(gòu)、電源、吸塵器、電源開關(guān)、操作電位計(jì)等,在清掃機(jī)的頂部共設(shè)有三個超聲波距離傳感器;清掃機(jī)底部前方邊沿安裝有5個接近開關(guān),接近開關(guān)與超聲波距離
2、傳感器一起,構(gòu)成清掃機(jī)測距系統(tǒng);清掃機(jī)裝有兩臺直流電機(jī);在清掃機(jī)的底部安裝有吸塵器機(jī)構(gòu)。自動清掃機(jī)器人的功能是自動完成房間空曠地面尤其是家居空曠地面的清掃除塵任務(wù),打掃前,要把房間里的物體緊靠四周墻壁,騰出空曠地面。清掃機(jī)完成的主要功能:能自動走遍所以可進(jìn)入的房間,可以自動清掃吸塵,可在遙控和手控狀態(tài)下清掃吸塵。
本文所介紹的自動清掃機(jī)器人的總體布局方案如圖1所示,前后兩輪為萬向輪,左右兩輪為驅(qū)動輪。驅(qū)動輪設(shè)計(jì)采用兩輪獨(dú)立且各由兩臺步進(jìn)電動機(jī)驅(qū)動的轉(zhuǎn)向方式,通過控制左右兩輪的速度差來實(shí)現(xiàn)轉(zhuǎn)向。考慮到機(jī)器人實(shí)際應(yīng)用的實(shí)用性,本驅(qū)動系統(tǒng)設(shè)計(jì)成一個獨(dú)立的可方便替換的模塊,當(dāng)機(jī)器人驅(qū)動系統(tǒng)發(fā)生故障
3、時,只需簡單步驟就可以對驅(qū)動部分進(jìn)行替換。同時為了機(jī)器人能夠靈活的運(yùn)動,從動輪選用萬向輪。
下圖為自動清掃機(jī)的三維立體圖:
自動清掃機(jī)器人車箱體采用框架式結(jié)構(gòu)。從下至上分隔成三個空間:第一層裝配各運(yùn)動部件的驅(qū)動電機(jī)、傳動機(jī)構(gòu);第二層為垃圾存儲空間;第三層裝配機(jī)器人控制系統(tǒng)、接線板、電源電池、開關(guān)等。
自動清掃機(jī)器人控制系統(tǒng)硬件主要是以單片機(jī)AT89C51作為核心,輔助其外圍電路、電機(jī)驅(qū)動電路、傳感器檢測電路以及紅外遙控電路等,各模塊在單片機(jī)的控制下,相互協(xié)調(diào)工作,保證自動清掃機(jī)器人各種功能的實(shí)現(xiàn)。該控制系統(tǒng)框圖如圖2所示。傳感器在清掃機(jī)器人上的布置如圖下所示,圖中紅色的圓點(diǎn)代表六個紅外
4、傳感器的位置。
下圖為清掃機(jī)的硬件系統(tǒng):
步進(jìn)電機(jī)作為執(zhí)行元件,廣泛應(yīng)用于各種自動化設(shè)備中。步進(jìn)電機(jī)和普通電動機(jī)不同之處在于它是一種可以將電脈沖信號轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu),工作中傳遞轉(zhuǎn)矩的同時還可以控制角位移或速度。本研究中采用兩臺步進(jìn)電機(jī)分別驅(qū)動兩個驅(qū)動輪,通過通電方式的不同使自動清掃機(jī)器人的行走機(jī)構(gòu)達(dá)到前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的運(yùn)動姿態(tài)。自動清掃機(jī)器人的吸塵器則采用直流電機(jī)(H橋式電路)驅(qū)動。
下圖為步進(jìn)電機(jī)驅(qū)動電路:
采用以AT89C51單片機(jī)為核心的紅外接收電路和步進(jìn)電機(jī)驅(qū)動電路。紅外遙控器發(fā)射不同的碼值來控制步進(jìn)電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、加速減速以及啟動停止。單片機(jī)
5、通過對紅外信號的解碼來實(shí)現(xiàn)步進(jìn)電機(jī)的變速。紅外發(fā)射器原理圖如下所示:
設(shè)計(jì)行走功能模塊程序設(shè)計(jì)系統(tǒng)選用了圖 3所示的行走方案。程序設(shè)計(jì)時要考慮:吸塵器在外圈行走時, 為了避免接近開關(guān)中斷對程序運(yùn)行的干擾, 應(yīng)對接近開關(guān)的中斷處 理程序做 相應(yīng)處理。由于吸塵器兩動力輪的中心與車體中心不重合, 故采用以一輪為中心的旋轉(zhuǎn)方式并通過檢測轉(zhuǎn)彎標(biāo)志位 ( 1或 0)來判斷轉(zhuǎn)向。在墻角轉(zhuǎn)彎時處,根據(jù)吸塵器外形的幾何尺寸計(jì)算吸塵器遇墻停止后, 后退再轉(zhuǎn)彎的時間。吸塵器內(nèi)圈行走時的轉(zhuǎn)彎依靠轉(zhuǎn)彎設(shè)定值實(shí)現(xiàn)。當(dāng)超聲波傳感器 1的值小于等于設(shè)定值時, 吸塵器轉(zhuǎn)彎??紤]到超聲波傳感器的最小量程為 0. 5 m, 第一
6、圈內(nèi)圈行走的轉(zhuǎn)彎設(shè)定值設(shè)定為 50 cm, 以后每圈的轉(zhuǎn)彎設(shè)定值遞增 30 cm。吸塵器單向行駛至轉(zhuǎn)彎結(jié)束的過程稱為一次單向清掃過程。若某次單向行駛結(jié)束后檢測到超聲波傳感器 1的值小于轉(zhuǎn)彎設(shè)定值, 則吸塵器原地再次轉(zhuǎn)彎, 然后前進(jìn)至墻停止, 整個房間清掃完畢。
設(shè)計(jì)躲避障礙物功能模塊程序設(shè)計(jì)避障總規(guī)則: 利用超聲波實(shí)測值與已測得的房間長 (寬 )值的比較, 判斷某次單向清掃途中是否有障礙物。若有障礙物: 行走時若為左轉(zhuǎn), 采用左避讓規(guī)則; 行走時若為右轉(zhuǎn), 采用右避讓規(guī)則。障礙物避開后按行走規(guī)則繼續(xù)行進(jìn); 若無障礙物: 按行走規(guī)則繼續(xù)行進(jìn), 在轉(zhuǎn)彎前應(yīng)判斷是否有足夠的空間供機(jī)器人吸塵器轉(zhuǎn)彎。
7、若吸塵器可以轉(zhuǎn)彎, 則轉(zhuǎn)彎, 本次單向清掃完畢; 若吸塵器不能轉(zhuǎn)彎, 說明下次單向清掃起始點(diǎn)處有障礙物, 后退,避開障礙物后再轉(zhuǎn)彎, 前進(jìn)至通過障礙物邊線后, 本次單向清掃完畢。避障功能是在行走功能基礎(chǔ)上實(shí)現(xiàn)的, 分為內(nèi)圈避障程序設(shè)計(jì)和外圈程序設(shè)計(jì)。清掃完畢的判斷方案: 用外圈行走結(jié)束后清掃區(qū)域的精確長、寬值與內(nèi)圈行走軌跡寬度 30 cm相除, 商即為長、寬方向上各自所需的單向清掃次數(shù), 有余數(shù)則說明還有一塊寬度小于30
cm 的矩形區(qū)域需要清掃。在執(zhí)行內(nèi)圈避障時, 只要長或?qū)捜我夥较蛏系膯蜗蚯鍜叽螖?shù)達(dá)到所需的次數(shù), 即認(rèn)為清掃完畢, 剩余矩形區(qū)域的清掃在終止模塊中完成。
車體姿態(tài)調(diào)整功能
8、模塊程序設(shè)計(jì),為保證車體運(yùn)行時不偏離軌道, 采用陀螺儀傳感器監(jiān)視車體運(yùn)動狀況。當(dāng)車體偏移量達(dá)到一定值時, 通過控制行進(jìn)方式調(diào)整車體姿態(tài)。當(dāng)車體偏轉(zhuǎn)角度大于 10%時, 開始調(diào)整車體姿態(tài)。首先判斷車體偏轉(zhuǎn)的方向并記錄車體偏轉(zhuǎn)角度。為使車體能最大限度地回到原位置, 采用一個動力輪不動, 另一動力輪倒轉(zhuǎn)的方式實(shí)現(xiàn)車體姿態(tài)調(diào)整。使用該方案調(diào)整車體位置后, 車體并不一定能恰好回到原位置, 但誤差已經(jīng)很小, 可以滿足系統(tǒng)設(shè)計(jì)要求。車體姿態(tài)調(diào)整程序流程如圖所示。
主控程序是吸塵器工作的主體邏輯。在主控程序中需要完成DSP的初始化設(shè)置, 考慮各功能模塊間的邏輯關(guān)系, 實(shí)現(xiàn)對各子程序的調(diào)用, 并要充分考慮到各
9、級中斷信號對程序運(yùn)行的影響, 做出正確的處理、協(xié)調(diào)。
主控程序流程如圖所示。用戶操作鍵盤時接近開關(guān)可能會工作, 這有可能導(dǎo)致程序運(yùn)行出錯, 故DSP需在程序最開始首先屏蔽所有中斷。鍵盤的檢測由單片機(jī)實(shí)現(xiàn), 用戶若想通過鍵盤設(shè)定吸塵器工作方式, 則必須在開機(jī)后20 s內(nèi)開始操作, 該20 s的延時由DSP提供, 20 s后若無鍵按下, 則認(rèn)為用戶未設(shè)定吸塵器工作狀態(tài), 系統(tǒng)按自動方式開始工作; 20 s后若有鍵按下, 則將等待用戶輸入完畢后,按照用戶設(shè)定要求工作。
系統(tǒng)初始化程序設(shè)計(jì),系統(tǒng)的初始化程序是系統(tǒng)各功能實(shí)現(xiàn)的前提。給狀態(tài)寄存器賦值, 保證子程序調(diào)用或進(jìn)入中斷時實(shí)現(xiàn)CPU 各種狀態(tài)的
10、保存; 數(shù)據(jù)存儲區(qū)配置; 輸出口的選擇及功能設(shè)定; 中斷的相關(guān)寄存器處理; 累加器的溢出方式選擇及系統(tǒng)的時鐘頻率的選定等功能都在初始化程序中實(shí)現(xiàn)。
系統(tǒng)中斷處理,系統(tǒng)設(shè)計(jì)中共有4路中斷信號需要處理, 其中8路接近開關(guān)和4路超聲波傳感器共用優(yōu)先級為1級的外部中斷X INT1;兩個事件管理模塊EVA和EVB在產(chǎn)生PWM 波形時用到了優(yōu)先級為2級的定時器1和定時器3的周期中斷; 此外, 陀螺儀的測量值經(jīng)ADC 轉(zhuǎn)換時用到了中斷優(yōu)先級為6級的ADC 中斷。
外部中斷X INT1的處理,由于8路接近開關(guān)和超聲波傳感器共用XINT1中斷, 故在響應(yīng)該中斷時應(yīng)首先判斷是哪個外部設(shè)備產(chǎn)生的中斷請求, 然后
11、進(jìn)行相應(yīng)的處理。若為接近開關(guān)中斷, 單片機(jī)向雙口RAM8040h單元寫0, 若為超聲波中斷則寫1, DSP通過讀8040h單元內(nèi)容來判斷是哪個外設(shè)產(chǎn)生的中斷:①若為超聲波傳感器發(fā)出的中斷, 在其中斷服務(wù)程序中只需重新開中斷即可( 這是因?yàn)檫M(jìn)入中斷服務(wù)程序時, 系統(tǒng)自動關(guān)閉中斷);②若為接近開關(guān)中斷, 需判斷該接近開關(guān)是否工作。工作時, 則在中斷服務(wù)程序中還要執(zhí)行停止程序, 否則只需開中斷即可。是第幾個接近開關(guān)工作, 單片機(jī)就在雙口RAM 8033h單元中寫幾, 若同時有多個接近開關(guān)工作, 則單片機(jī)從8033 單元的最低位起將其序號依次寫入。DSP 只需依照此規(guī)則便可根據(jù)8033h單元內(nèi)容判斷是
12、哪個接近開關(guān)工作。
ADC中斷處理,吸塵器在測距模塊中車體旋轉(zhuǎn)180。, 左、右轉(zhuǎn)及姿態(tài)調(diào)整的過程中都會響應(yīng)ADC 中斷, 故在執(zhí)行上述功能的程序時分別向012Eh單元寫0、1、2、3, 功能實(shí)現(xiàn)后再向012Eh單元寫4, 這樣, 響應(yīng)中斷時便可在中斷服務(wù)程序中通過查詢012Eh單元的內(nèi)容來判斷車體的運(yùn)動情況, 從而執(zhí)行不同的服務(wù)程序。
定時器周期中斷處理,定時器周期中斷的處理相對簡單, 只需在中斷服務(wù)程序中將計(jì)數(shù)器1和計(jì)數(shù)器3重新設(shè)置計(jì)數(shù)初值并開中斷即可。
結(jié)束語:掃地機(jī)器人控制系統(tǒng)主控及主要功能模塊程序的調(diào)試和仿真表明, 主控模塊通過對各子程序的調(diào)用, 按一定時序完成了對吸塵器的控制, 各主要功能模塊滿足設(shè)計(jì)要求。如避障模塊通過對采集到的超聲波信號和接近開關(guān)信號的判斷和處理, 很好地完成了對障礙物的自動感知和自主躲避; 步進(jìn)電機(jī)及吸塵電機(jī)控制精度較高等。
專心---專注---專業(yè)