岳潔
搜救機器人競賽是中小學機器人競賽中較常見的賽項,在搜救型機器人競賽中,機器人要順利完成搜救任務,循跡行走是要解決的關鍵問題。本文以“虛擬搜救機器人”為實驗平臺,分析了尋線循跡行走的常用算法與策略,發現其適用場合及不足,提出了用尋跡卡傳感器算法與策略,優化了的尋跡卡機器人速度和尋線策略。
隨著智能技術的發展,教育機器人逐步走進中小學課堂,自20世紀90年代中期開始以來,機器人競賽規模不斷擴大,比賽項目不斷完備,影響力也逐步提高,現在已經成為一個普及科技教育、促進科技進步的全球性賽事。
循跡機器人是一種被廣泛研究的機器人,它是在給定的區域內沿著給定的軌跡完成對各個目標點的訪問,其主要指標是速度和順利完成訪問得分點的能力。目前,機器人尋跡一般都通過視覺傳感器和光電傳感器獲取道路信息。朱益斌等在《自主式尋跡機器人小車的設計》提出了利用紅外傳感器進行尋跡,用光電編碼器和PID算法對走直線進行控制,以鏈表結構作為電子地圖。制作的機器人能很好的進行尋跡和訪問目標點,運行過程穩定,抗干擾能力較強,反應速度快,對進一步研究自動行走機器人技術有借鑒作用。《一種競賽機器人小車的設計與實現》一文中給出了實現機器人識別不同顏色區域的方法,根據傳感器的狀態實現對機器人運動方向的控制,并利用 PWM 的方式控制小車的運動速度,調試及競賽過程機器人小車能夠很好地進行接力,運行過程穩定、抗干擾能力強、反應速度快。
機器人尋線最常用的方法是用灰度光電傳感器探測場地環境,識別引導線。灰度傳感器是模擬傳感器,利用光敏電阻檢測反射光的強度,不同顏色的檢測面對光的反射程度不同,光敏電阻檢測光線的強度并將其轉換為機器人可以識別的信號,不同顏色的檢測面返回的光值也不同。虛擬機器人搜救系統平臺中的機器人灰度傳感器,適合黑(白)線軌跡的跟蹤:模塊以數字輸出,返回值為0~255的灰度值,探測到黑線時輸出0,探測到白線輸出為255。機器人正是通過灰度傳感器模塊探測到的信號來判斷形勢情況,并進行調整控制。競賽機器人在設計時一般采用在機器人前端安裝兩個灰度傳感器,作為機器人的視覺識別系統。
當軌跡線是鈍角轉彎時,為了增強機器人尋跡的穩定性,可以選用智能尋跡卡傳感器。智能尋跡卡傳感器相當于8個灰度傳感器,安裝方便,行走靈活。
2.1 無分支算法設計
通過尋跡卡的七個灰度傳感器檢測,獲取當前傳感器的返回值,判斷機器人所在的位置,并調整機器人的運行軌跡方向,使機器人始終沿著軌道行走。機器人的初始位置在軌跡線的中間,4號傳感器壓線,這時機器人默認直線前進;前進一小段距離后,由于摩擦力、車身抖動或軌跡線發生改變等原因,機器人會偏離軌跡線,這時機器人需要根據從灰度傳感器獲取的信息作出判斷,適實的調整機器人行走方向。尋跡卡傳感器的狀態及機器人的行走策略見表(略)。
在初始狀態下,黑線應位于傳感器的中間,此時傳感器4檢測到黑線,七個傳感器的狀態分別為0、0、0、1、0、0、0,表示為二進制數是0001000,此時機器人前進。
當機器人從中間逐漸往右偏離軌道黑線時,即黑線在機器人左邊,對應的狀態有0011000、0010000、0110000、0100000、1000000,此時機器人由傳感器的信息判斷偏離軌道的程度,并作出不同幅度的左轉。越靠左邊的傳感器檢測到黑線信息,說明機器人向軌跡線右邊偏離的程度越大,機器人向左轉的幅度就需要越大。
當機器人從中間逐漸往左偏離軌道黑線時,黑線在機器人右邊,對應的狀態有0001100、0000100、0000110、0000010、0000001,此時機器人由傳感器的信息判斷偏離軌道的程度,并作出不同幅度的右轉。越靠右邊的傳感器檢測到黑線信息,說明機器人向軌跡線左邊偏離的程度越大,機器人向右轉的幅度就需要越大。
還有一種狀態就是七個傳感器都檢測到黑線,此時說明機器人行駛到丁字路口或十字路口,需根據場地的情況判斷直行或者停止。若以到達終點,則機器人停止;若是分支路口,機器人需要直行。
最后一種狀態是七個傳感器都檢測不到黑線,此時說明機器人可能完全脫離了軌跡黑線,這時需要根據機器人上一次獲取傳感器的信號來判斷自身所處位置,進行挽救。若上一次是1號傳感器檢測到黑線,則說明前進方向的左邊有轉彎,機器人需大幅度的左轉直至到軌跡線上;反之,則是7號傳感器檢測到黑線,需大幅度右轉直至到軌跡線上。
2.2 分支路口策略設計
虛擬機器人競賽的場地,在比賽開始時公布,因此,可以通過計數方式來完成有分支軌道的行走。如果1號傳感器和7號傳感器都能檢測到黑線,說明遇到了十字路口或丁字路口。此時可以用計數的方法數線,讓機器人記住走過的路口,并作出行為判斷,在需要停止的路口停下,在前進的路口前進。如機器人場地有5個十字路口,前4個路口都需要直行經過,最后一個路口需要停止,則每經過一個分支路口,計數變量就累加一次,直到計數變量累加到5后,機器人停止。
2.3 折線轉彎行走策略
以上傳感器的狀態,便于機器人在行走過程中的方向矯正,避免機器人在直線或曲線等平滑軌道的行走中始終保持在軌道線上。在實際行駛過程中,軌跡往往是比較復雜的,由于軌道設計了很多銳角、直角、鈍角的折線轉彎,為使機器人能在全速前進的過程中走的更穩定、避免脫離軌道,可以利用尋跡卡的優勢,根據中間傳感器和邊緣傳感器的信息融合來判斷軌道轉彎角度的大小。
實驗表明,灰度傳感器在遇到折線轉彎時,不能完成轉彎的任務,大多數情況是沿著直線直接沖出軌道,循跡失敗;在較大曲率曲線中,也不能順利轉角到位,導致機器人原地打轉錯誤檢測到黑線反方向運行,或直接沖出軌跡線,循跡失敗。尋跡卡機器人在遇到折線拐彎時,由于邊緣傳感器檢測到黑線,機器人大角度拐彎,能夠快速的拐回軌跡線,中間傳感器的再次檢測,能夠保證機器人不會因為速度太快轉彎時沖過軌跡線,出現脫離軌跡線而迷路的狀態;機器人在遇到較大曲率曲線時,由于幾個傳感器輪流檢測到黑線,可以及時調整機器人兩輪速度差,機器人呈持續轉彎狀態,直至機器人中間傳感器檢測到黑線,機器人回到直行狀態。整個運行過程,機器人尋跡穩定,完成全部巡線任務,每次行走時間接近平均用時。
4 實驗結論
通過以上幾個實驗的數據可以看出,在機器人循跡行走過程中,灰度傳感器機器人在直線和曲率較小的曲線軌道中,循線穩定速度快,但在折線軌道中卻完全無法循線,沒有成功的實驗。尋跡卡在所有場地的循線過程中都比較穩定,未發生失敗的情況。盡管在較小曲率的曲線軌道循跡中,灰度傳感器表現出了速度上的優勢,但這個優勢非常微小,不超過0.7秒;尋跡卡機器人的穩定性的優勢表現的非常明顯。因此,在循跡任務中,選用尋跡卡機器人,會有較好的尋跡效果。
本文分析了機器人循跡行走的關鍵問題,介紹了機器人循跡行走常用算法與策略,并在不同場地條件下進行實驗,發現其適用場合及不足。提出了尋跡卡傳感器機器人的算法與策略,優化了尋跡卡機器人速度和尋線策略。通過實驗對比,得出機器人循跡行走用尋跡卡傳感器效果更好,行走穩定,速度快,能順利高效的完成行走任務。本文研究的虛擬機器人循跡行走的算法和策略可以推廣運用至實體機器人。
(作者單位:江蘇省南京市雙塘小學)
![]()