牛國臣+許開魯

摘 要: 針對使用光電管陣列作為圖像采集模塊的類人循跡機器人前瞻性小、受光線影響大的缺點,設計一種基于TSL1401線性CCD的類人循跡機器人。首先完成系統的總體設計和軟硬件設計,然后基于OTSU算法獲取自適應閾值,采用灰度門限法提取賽道引導線,基于專家控制策略輸出相應的控制信號調整機器人的動作。實現自主循跡行走,進行了實驗驗證并用來參加華北五?。ㄊ小⒆灾螀^)大學生機器人大賽。結果表明設計的類人循跡機器人系統具有循跡可靠性高、環境適應性強的優點。
關鍵詞: 線性CCD; 類人機器人; 大津算法; 動態閾值; 循跡系統; 專家控制
中圖分類號: TN911.73?34 文獻標識碼: A 文章編號: 1004?373X(2018)02?0133?04
Abstract: Aiming to the problems of poor perspectiveness and poor susceptibility to environmental light illumination of a humanoid tracking robot which uses photodiodes array as image acquisition module, a humanoid tracking robot based on TSL1401 linear CCD was designed. The system overall design, and its hardware and software design are accomplished. The adaptive threshold is obtained based on OTSU algorithm. The gray threshold method is adopted to extract the guide line of racing track. The corresponding control signals are output according to the expert control strategy to adjust robot actions and realize automatic tracking walk. The system was tested in the experiment and used to participate in University Robot Contest in Five Provinces of North China. The results show that the designed humanoid tracking robot system has advantages of high tracking reliability and strong environmental adaptability.
Keywords: linear CCD; humanoid robot; OTSU algorithm; dynamic threshold; tracking system; expert control
0 引 言
類人機器人是機器人家族中最重要的成員之一,雙足類人機器人行走占地面積小、活動范圍大,而且對步行環境要求低,相對于傳統的輪式履帶式機器人具有無可比擬的優勢,這些獨特的特點使其受到科研單位和機器人比賽的廣泛關注[1?2]。本文針對華北五省機器人大賽機器人田徑項目設計了一種類人循跡機器人。機器人比賽場地材質由白色實木顆粒板制成,跑道邊界和跑道引導線使用18 mm寬黑色防水電工絕緣膠帶,跑道寬度500 mm,總長度11 m。
機器人自主循線行走控制策略的實現需要依據道路反饋的信息,而提取的道路信息的可靠性取決于傳感器能否準確地區分出黑色引導線與白色背景以及其他干擾信號。檢測賽道參數可以使用多種傳感器,如光電管陣列、電磁傳感器、激光掃描、CCD圖像傳感器等[3]。目前大多數小型類人循跡機器人采用光電管陣列作為圖像采集模塊。光電管采集到的光線波長在940 nm左右,平時所處的環境中也大量存在著這種波長的光線,所以光電管陣列的使用效果非常容易受環境光線的干擾,采集到的信號時常不可靠甚至不能夠采集到有效信號,而且沒有足夠的前瞻性,在彎道處不能很好地做出轉向決策[4]。線性CCD傳感器采集的圖像質量高,線性度好,識別路徑范圍廣,可以盡早地感知實時路況,利用CCD自身的特點可以有效解決使用光電管陣列作為圖像采集模塊存在的問題。
因此,本文設計了基于線性CCD的類人機器人硬件及軟件系統。基于線性CCD采集圖像易受環境光照強度變化影響,從而影響跑道線識別效果。研究基于OTSU的自適應獲取閾值方法,并對圖像進行濾波平滑處理,提高跑道線識別穩定性。最后給出類人機器人循跡控制實驗結果。
1 硬件系統設計
該類人機器人采用模塊化設計架構,有利于系統的測試和維護。主要包括電源模塊、線性CCD模塊、MCU模塊、舵機驅動模塊和通信模塊等,其結構框圖如圖1所示。
各模塊作用如下:
電源模塊:采用雙電池供電模式,舵機驅動模塊和控制電路分別由不同的電池供電,保證控制信號的穩定性。
線性CCD模塊:基于TSL1401線陣CCD的圖像采集模塊獲取賽道圖像信息,為機器人的循線行走提供決策依據。
MCU模塊:使用M9S12XS128單片機作為機器人的控制核心,接收CCD采回的圖像信息,通過相應算法確定自身位置并做出相應的決策。
舵機驅動模塊:接收MCU控制信號產生PWM信號驅動各關節舵機,使機器人執行規定動作,電壓過低時具有自動斷電和報警功能,防止舵機損壞。endprint
數字舵機:驅動機器人的關節,通過控制舵機旋轉的角度和速度組合實現不同的行走姿態。
通信模塊:選用HC?05藍牙模塊[5]作為無線發送與接收設備,完成單片機與上位機之間的數據互傳,能實時顯示機器人與引導線的相對位置、閾值等運行參數,方便對相關算法進行調試和改進。
2 軟件系統設計
機器人控制系統運行時,首先進行系統初始化,比如機器人姿態、線性CCD等,然后線性CCD采集賽道像素信息并傳送給MCU模塊,通過閾值計算及中值濾波提取出賽道線,得到機器人與賽道中線之間的偏差,基于專家控制策略輸出相應的信號到舵機驅動模塊,驅動數字舵機控制機器人沿賽道引導線行走。系統軟件流程圖如圖2所示。
2.1 自適應閾值計算
線陣CCD的一個曝光周期內可以采集視野范圍內一條線上的灰度值。通過A/D采樣獲得的數據其實是通過運算電路得到的像素點的電壓值,該信號的大小與光強和積分時間成正比。在光線強的情況下輸出灰度值高,甚至會呈現飽和狀態,在較弱光線條件下輸出灰度值過低,正對光線和背對光線都會引起輸出參數的變化。圖3中系列1)和系列2)分別給出了光照亮度不同時線性CCD采集的波形,這種脆弱的光線適應性,對于隨后單片機數據處理的結果也有影響,產生錯誤的閾值,造成跑道引導線提取的不準確。機器人為了適應比賽環境,可根據環境光線強度來調節區分黑白的閾值,即自適應閾值,采用大津算法(OTSU法)求取動態閾值來提高機器人對光線的適應性[6?7]。
OTSU法依據的是圖像的灰度分布的統計學特性,將圖像分割為前景和背景兩個部分。類間方差描述的是圖像兩部分之間的相似程度,背景和目標的類間方差越大,說明圖像兩部分之間的差別越大,取滿足類間方差最大時所對應的灰度值作為分割閾值來分割圖像,這時候產生圖像錯分的概率最小,即此時的閾值為最佳分割閾值,公式如下:
式中:T為前景和背景的分割閾值;M是圖像中的最大灰度值;灰度為i的像素出現的概率為;表示前景部分像素點占整幅圖像的比例;表示圖像前景部分的平均灰度值;表示背景部分的像素點占整幅圖像的比例;表示圖像背景部分的平均灰度值;為圖像的總平均灰度; g為類間方差。
使用OTSU法計算最佳閾值,首先將采集到的一條線的灰度值生成直方圖,然后從最小灰度值到最大灰度值進行遍歷,計算每個已采集像素點灰度值的類間方差,滿足使類間方差g最大時所對應的灰度值即為最佳分割閾值。
2.2 中值濾波
為了提高系統檢測的準確性,在定位引導線之前首先對CCD采集的圖像進行中值濾波[8],其是一種非線性平滑技術,它將每一像素點的灰度值設置為該點某鄰域窗口內所有像素點灰度值的中值,從而消除孤立的噪聲點,在保證圖像邊緣特性的情況下改善CCD噪點和跑道上雜質顆粒等干擾物帶來的影響。
2.3 確定引導線位置
在線性CCD采集的128個像素點的信息中,光線強的點灰度值高,光線弱的點灰度值低。由此可以區分賽道上的黑線與白色背景,通過黑色中心線邊緣檢測來確定賽道中黑線的位置,然后計算機器人當前相對于賽道中間的位置,讓機器人循黑線前進。圖3顯示的是兩條反映在上位機中CCD采集的灰度波形,中間的凹槽表明視野的對應位置有一塊黑色區域。
機器人的行走場地是白色木質顆粒板,賽道邊界和引導線是貼在木板上的18 mm黑色電工膠帶,如圖4所示。處理的關鍵是把白色背景和黑色引導線分開,可以看出黑線特征非常明顯,可以采用灰度門限法準確地提取黑線的位置[9?11]。即對當前某一路采集電壓進行判斷,采集回來的數據值是0~255,數值大于設定的閾值表示是白色,數值低于閾值是黑線所在部分。
判斷引導線位置并做出行走決策的主要過程如下:
1) 從左端的第一個有效數據點開始依次向右進行閾值判斷,如果第i個點的灰度值大于閾值,后續連續兩個點的灰度值小于閾值且與i點的灰度值之差的絕對值大于一個給定值,就確認此點為黑線的左邊沿i。
2) 從最右邊的像素點向左重復步驟1)找到黑線的右邊緣j。
3) 把左右邊界點的中心點作為機器人當前行進路線的中點,機器人在道路正中心行走時,道路中心位置設為64。
4) 把計算出來的中點數值與64作差,得到的偏移量e作為控制機器人左右轉彎幅度和調整步伐的依據。
3 實驗分析
通過以上的軟硬件設計,研制了相應的機器人硬件平臺,如圖5所示。設計相應的行走動作[12],包括:直走、大幅度右前、小幅度右前、大幅度左前和小幅度左前。
分別在強光照和弱光照的情況下進行相關實驗,圖6a)和圖6b)顯示的是分別在兩種情況下單次實驗中動態閾值和跑道灰度值的實時變化曲線,可以看出計算出的動態閾值全部處于引導線和背景灰度值平均值之間,對跑道背景和引導線的區分效果很好。圖7a)和圖7b)顯示的是機器人行進時采集到的中線位置。當使用視角為90°的攝像頭,安裝高度30 cm,與跑道平面夾角45°安裝時,計算出10個像素點大概占有5 cm的實際賽道寬度,將此作為專家知識引入機器人控制器中,形成控制規則。在偏離引導線一定范圍內(正負7個像素點)時,認為偏移量很小,不影響循線效果,仍然執行直行命令,只有偏移量達到規定數值時才會進行步伐調整或者轉彎,這樣有利于加快全程行走速度。
圖7中兩條直線之間區域的點表明執行的是直行動作,直線之間區域上方的點表示左轉彎或向左調整步伐,直線之間區域下方的點表示右轉彎或者向右調整步伐,由于實驗中機器人競走方向為逆時針,所以執行左轉次數遠遠多于右轉次數,整體檢測到的引導線位置偏高。實驗證明本文中的循線機器人達到設計要求,能夠在沒有人為干預的情況下克服不良光線條件,實現自主循跡行走。
4 結 語endprint
本文分別進行了類人循跡機器人硬件及軟件系統設計。通過以TSL1401線性CCD和MC9S12XS128微控制器為主組成的控制系統,采用OTSU自適應閾值和中值濾波算法,為復雜光照環境下引導線的提取準確性提供了保障,再基于邊緣檢測的引導線提取算法,能夠準確地從跑道中提取出引導線,順利完成了自主循線行走任務,具有很好的抗干擾能力和對環境的適應能力。該機器人成功應用于第三屆華北五?。ㄊ小⒆灾螀^)大學生機器人大賽類人機器人競技項目的比賽,取得了天津賽區一等獎和華北區一等獎的優異成績。
參考文獻
[1] 陳兵,駱敏舟.類人機器人的研究現狀及展望[J].機器人技術與應用,2013(4):25?30.
CHEN Bing, LUO Minzhou. Current status and future development of humanoid robots [J]. Robot technique and application, 2013(4): 25?30.
[2] WISSE M, SCHWAB A L, VANDERLINDE R Q. How to keep from falling forward: elementary swing leg action for passive dynamic walkers [J]. IEEE transactions on robotics, 2005, 21(3): 393?401.
[3] 趙萬欣,陳思屹.基于TSL1401線性CCD的智能巡線小車[J].工業控制計算機,2014(2):121?122.
ZHAO Wanxin, CHEN Shiyi. Small intelligent patrol line vehicle based on TSL1401 linear CCD [J]. Industrial control computer, 2014(2): 121?122.
[4] 張海龍,馬鐵華.專家PID控制算法在循跡機器人中的應用[J].電子測試,2013(z1):33?35.
ZHANG Hailong, MA Tiehua. Expert PID control algorithm in the application of tracing robot [J]. Electronic rest, 2013(z1): 33?35.
[5] 魏雅.基于藍牙控制的循跡智能小車的設計與研究[J].自動化與儀器儀表,2016(4):88?89.
WEI Ya. The research and design of the intelligent vehicle tracking system based on Bluetooth control [J]. Automation & instrumentation, 2016(4): 88?89.
[6] OTSU N. A threshold selection method from gray?level histograms [J]. IEEE transactions on systems man & cybernetics, 2007, 9(1): 62?66.
[7] 郭佳,劉曉玉.一種光照不均勻圖像的二值化方法[J].計算機應用與軟件,2014(3):183?186.
GUO Jia, LIU Xiaoyu. Binarisation method for images acquired under non?uniform illumination [J]. Computer applications and software, 2014(3): 183?186.
[8] 張璐.自動巡線小車的圖像采集系統開發與優化[J].計算機工程與設計,2010,31(17):3754?3756.
ZHANG Lu. Development and optimization on image acquisition system in small automatic line?tracking vehicle [J]. Computer engineering and design, 2010, 31(17): 3754?3756.
[9] 唐永龍,劉玉德.基于單片機的AGV智能車的設計[J].電子技術應用,2009,35(8):143?147.
TANG Yonglong, LIU Yude. Design of AGV smart car based on MCU [J]. Application of electronic technique, 2009, 35(8): 143?147.
[10] 董存輝,擺玉龍.基于模糊控制的自主尋跡機器人設計[J].電子技術應用,2012,38(5):139?141.
Dong Chunhui, Bai Yulong. Design of auto?searching robot control system for racing based on fuzzy control [J]. Application of electronic technique, 2012, 38(5): 139?141.
[11] KIM K, LIM H, HWANG Y, et al. Object?tracking robot using ultrasonic sensor and servo motor [J]. Journal of measurement science & instrumentation, 2012, 3(4): 379?382.
[12] 譚建豪,章兢,何志.人類控制策略在雙足機器人步態控制中的應用[J].電子測量與儀器學報,2013,27(1):8?14.
TAN Jianhao, ZHANG Jing, HE Zhi. Application of human control strategy in the gait control of biped robot [J]. Journal of electronic measurement and instrumentation, 2013, 27(1): 8?14.endprint