崔更新
摘要:在中小學(xué)的機(jī)器人比賽中,大部分編程類的項(xiàng)目都需要光電傳感器巡線來完成任務(wù)。要想提高機(jī)器人完成任務(wù)的成功率,就必須保證機(jī)器人完成任務(wù)時(shí)的角度是相對一致的。作者在實(shí)踐中發(fā)現(xiàn),借助比賽場地的黑線或者白線來校正機(jī)器人的相對位置,能夠有效保證機(jī)器人完成任務(wù)所需的精度。
關(guān)鍵詞:巡線校正;機(jī)器人比賽
中圖分類號:G434? 文獻(xiàn)標(biāo)識碼:A? 論文編號:1674-2117(2021)18-0067-03
巡線程序是中小學(xué)機(jī)器人比賽中一個(gè)最基本的程序。機(jī)器人要通過巡線程序走角度確定自身所在的位置,再根據(jù)場地中比賽任務(wù)的位置,有針對性地去完成任務(wù)。當(dāng)巡線距離不夠時(shí),機(jī)器人的搖擺幅度會比較大。雖然PID巡線機(jī)器人的搖擺幅度會比較小,但在完成精細(xì)的任務(wù)時(shí)還是可能會遭遇失敗。機(jī)器人每次完成任務(wù)前的相對位置是提高成功率的關(guān)鍵因素。本文借助巡線程序來自動校正機(jī)器人面向任務(wù)時(shí)所在的相對位置,切實(shí)保證完成任務(wù)的成功率。
● 提出問題
筆者探究的巡線校正程序主要是用來解決機(jī)器人平行、垂直于黑線或者白線的問題。筆者以黑線為例,具體如圖1所示。機(jī)器人在巡線的過程中會產(chǎn)生一定幅度的搖擺,而搖擺會導(dǎo)致機(jī)器人的相對位置不精準(zhǔn),從而對完成任務(wù)有很大的影響。
實(shí)際上,光電傳感器不僅可以巡線,還可以借助光電傳感器反射光的數(shù)值,確定機(jī)器人的相對位置是偏左還是偏右,最終通過機(jī)器人左轉(zhuǎn)或者右轉(zhuǎn)來小幅度地調(diào)整機(jī)器人的位置。
● 分析問題
本文重點(diǎn)分析平行于黑線的情況,這種情況特指在黑線巡線的前方有一條垂直的黑線,通過校正機(jī)器人讓機(jī)器人水平地停在前方的黑線上。只要平行于黑線的情況解決了,垂直黑線的情況就只要讓機(jī)器人順時(shí)針或者逆時(shí)針轉(zhuǎn)一個(gè)直角就是平行于黑線的情況。
1.光電傳感器的數(shù)量及位置
本文探究的巡線校正程序是在機(jī)器人能夠巡線的基礎(chǔ)上完成的,要求光電傳感器的數(shù)量至少為2個(gè)。而光電巡線的機(jī)器人要求兩者的間距正好是黑線的寬度,如果要求的精度不高,可以將巡線的光電傳感器當(dāng)作校正的光電傳感器使用。如果要進(jìn)一步提高機(jī)器人巡線校正的精度,可以再安裝兩個(gè)光電傳感器專門用來校正,也可以用來記錄路口(左轉(zhuǎn)、右轉(zhuǎn)),兩者之間的間距越大越好,可以正好等于機(jī)器人車身的寬度。安裝示意圖如上頁圖2所示。
2.解決問題的思路
(1)機(jī)器人遇線停止的位置
筆者以4個(gè)光電傳感器為例來說明,并從左到右將其依次命名為1,2,3,4號光電傳感器(如圖3)。機(jī)器人在巡線的過程中,如果1,4號光電傳感器同時(shí)檢測到黑線,說明機(jī)器人已經(jīng)到達(dá)丁字路口,這個(gè)時(shí)候機(jī)器人的相對位置有3種情況,分別為機(jī)器人居中、機(jī)器人左偏和機(jī)器人右偏。具體如圖4所示。
(2)機(jī)器人3種停止位置的異同點(diǎn)
不管是以上3種情況的哪一種情況,它們的共同點(diǎn)是1號和4號光電傳感器同時(shí)檢測到黑線,不同點(diǎn)是各個(gè)光電傳感器的反射光值大小不同。在理想狀態(tài)下,當(dāng)機(jī)器人居中的時(shí)候,4個(gè)光電傳感器的反射光值完全相同;當(dāng)機(jī)器人左偏的時(shí)候,1~4號光電傳感器的反射光值依次減少;當(dāng)機(jī)器人右偏的時(shí)候,1~4號光電傳感器的反射光值依次增大。但是,實(shí)際情況下4個(gè)光電傳感器的反射光值性能不可能完全一樣,加之比賽場地光線不可能完全一致,所以無法保證完全在黑線上的反射光值一定小于部分在黑線上的反射光值。
基于以上考慮,筆者采用反射光值跟閾值比較,當(dāng)反射光值大于等于閾值時(shí),說明該光電傳感器位于白色區(qū)域;當(dāng)反射光值小于閾值時(shí),說明光電傳感器位于黑色區(qū)域。
(3)解決思路
因?yàn)樵谏鲜?種情況下,機(jī)器人1號和4號光電傳感器檢測的顏色都是黑色,所以機(jī)器人在初始停止的位置無法判別機(jī)器人到底屬于哪一種情況。要想識別機(jī)器人屬于哪一種情況,必須讓機(jī)器人前進(jìn)或者后退來進(jìn)行識別。筆者以機(jī)器人后退為例來進(jìn)行說明。
①機(jī)器人后退確定位置。
首先讓機(jī)器人后退,直到1號和4號光電傳感器至少有一個(gè)檢測到白色;再檢測1號和4號光電傳感器目前所在的區(qū)域;最后通過判別二者所在的區(qū)域來識別機(jī)器人屬于哪一種情況。如果1號和4號光電傳感器同時(shí)檢測到白線,說明機(jī)器人居中;如果1號光電傳感器檢測到白線,同時(shí)4號光電傳感器檢測到黑線,說明機(jī)器人左偏;如果1號光電傳感器檢測到黑線,同時(shí)4號光電傳感器檢測到白線,說明機(jī)器人右偏。
②機(jī)器人校正
如果機(jī)器人處于居中位置,可以讓機(jī)器人繼續(xù)前進(jìn)遇線停止;如果機(jī)器人偏左,可以讓機(jī)器人左輪正轉(zhuǎn),直到機(jī)器人1號光感檢測到黑線停止;如果機(jī)器人偏右,可以讓機(jī)器人右輪正轉(zhuǎn),直到機(jī)器人4號光感檢測到黑線停止。
經(jīng)歷以上過程,機(jī)器人即完成了1次位置調(diào)整,調(diào)整之后的機(jī)器人1號和4號光電傳感器又重新檢測到黑線,調(diào)整之后的機(jī)器人相比調(diào)整前的機(jī)器人更加水平平行于黑線。但是一次調(diào)整并不能保證機(jī)器人能調(diào)整到所需的精度,所以可以讓機(jī)器人重復(fù)剛才的過程3~5次,最后能保證機(jī)器人處于一個(gè)相對精準(zhǔn)的位置。
● 解決問題
1.程序流程圖
根據(jù)以上的分析,梳理出巡線校正的程序流程圖,如下頁圖5所示。
2.程序編寫
根據(jù)程序流程圖,筆者使用圖像化的編程軟件LEGO MINDSRORMS Education EV3來編寫程序,分段程序如下頁圖6、圖7、圖8所示,其他編程軟件亦可。
● 結(jié)語
經(jīng)過親自試驗(yàn),該巡線校正程序能夠很好地解決機(jī)器人水平、垂直對準(zhǔn)白線或者黑線的問題,從而提高機(jī)器人完成任務(wù)的成功率。在編寫程序的過程中,可以參考以下事項(xiàng),盡量讓巡線校正程序適應(yīng)更復(fù)雜的場景。
1.注意事項(xiàng)
巡線校正程序編寫完成之后要不斷進(jìn)行測試。在測試的過程中,因?yàn)橐龣C(jī)器人慣性對機(jī)器人位置的影響,所以機(jī)器人在遇線停止以及單輪正轉(zhuǎn)的過程中功率不能太大,這樣才能保證機(jī)器人遇線停止時(shí)正好停在黑線上,而不會因?yàn)閼T性的問題停在白線上,從而導(dǎo)致無法判斷機(jī)器人的位置。
該巡線校正程序適用于巡線區(qū)域是兩種顏色的情況,不能在巡線的區(qū)域出現(xiàn)多顏色交錯(cuò)的情況,這樣就無法判別機(jī)器人所在的位置了。
2.程序升級
為了讓巡線校正程序適用更復(fù)雜的情況,在機(jī)器人單輪正轉(zhuǎn)的過程中,如果連續(xù)一小段時(shí)間都沒有遇到黑線,說明機(jī)器人轉(zhuǎn)反了,可以讓機(jī)器人反轉(zhuǎn),直到遇到黑線。
參考文獻(xiàn):
[1]邵宗敏.大道至簡,精于心,簡于行——淺析光感巡線在EV3編程實(shí)踐中的設(shè)計(jì)與優(yōu)化[J].中國教育信息化,2020(24):37-42.
[2]徐德生.巡線機(jī)器人路口教學(xué)策略的優(yōu)化研究[J].理科愛好者,2020(16):97-98.