|
機器人如何感知世界?對于曾經(jīng)依靠密集勞動力走向世界的“中國制造”,機器人正成為轉(zhuǎn)型升級的新助力之一。在珠三角,家電業(yè)率先“機器換人”,電子信息產(chǎn)業(yè)緊緊跟上,汽車、紡織服裝等行業(yè)也蓄勢待發(fā),一個個“無人工廠”取代了曾經(jīng)工人們揮汗如雨的車間廠房。 那么你可知道,機器人是依靠什么感官來感知世界,與我們互動的?它們有“眼睛”、“鼻子”、“耳朵”嗎?本文為大家盤點幾種機器人常用的傳感器及其功能。 用于避障的傳感器 避障可以說是各種機器人最基本的功能,不然機器人一走動就碰到花花草草就不好了。機器人并不一定要通過視覺感知自己前方是否有障礙物,它們也可以通過觸覺或像蝙蝠那樣通過聲波感知。因此,檢測機器人前方是否存在障礙物的傳感器,可以分為接觸式和非接觸式的。 最典型的接觸式測障傳感器便是碰撞開關(guān)(圖1)。碰撞開關(guān)的工作原理非常簡單,完全依靠內(nèi)部的機械結(jié)構(gòu)來完成電路的導(dǎo)通和中斷。當碰撞開關(guān)的外部探測臂受到碰撞,探測臂受力下壓,帶動碰撞開關(guān)內(nèi)部的簧片撥動,從而電路的導(dǎo)通狀態(tài)發(fā)生改變(圖2)。
在機器人上的用法多數(shù)是將探測臂加長,擴大探測范圍和靈敏度。當機器人撞到前面的障礙物,碰撞開關(guān)的信號端便可返回一個高電平,控制芯片由此可以知道小車面前存在著障礙物。 碰撞開關(guān)的優(yōu)點是價格便宜,一般每只零售僅幾塊錢,使用簡單,使用范圍廣,對環(huán)境條件沒有什么限制。但碰撞開關(guān)也有個最明顯的缺點,就是必須在發(fā)生碰撞后才能檢測到障礙,這在某些機器人比賽中是相當失分的,在某些實際的應(yīng)用中實用性也會大大降低,而且使用時間較長后,開關(guān)容易發(fā)生機械疲勞,無法繼續(xù)正常工作。 非接觸式測障開關(guān)一般的工作原理與聲納和雷達相似,發(fā)射聲波或某種射線,遇到障礙物,聲波或射線被反射回來,并被傳感器接收,這時傳感器就認為發(fā)現(xiàn)了障礙物。我們最常用的便是發(fā)射和接收紅外線的傳感器(圖3,圖4)。 紅外測障傳感器成本較低(當然比碰撞開關(guān)還是要高一點),電路簡單,檢測范圍大。如果在電路中加上一個電位器,就可以隨時調(diào)節(jié)傳感器的檢測范圍。這種檢測方式為非接觸式,控制起來更加方便、靈活。但這種測障方式也有缺點,多個紅外傳感器之間容易互相干擾,因此在傳感器的布局上需要多花心思,安裝位置也要盡可能地避免紅外信號的碰撞。 用于測距的傳感器 機器人光知道哪個方向有障礙物并不夠,還必須知道障礙物距離自己具體有多遠,才好判斷下一步的行動。這時我們就需要測距傳感器。 測距傳感器大多為非接觸式的,目前在個人機器人制作領(lǐng)域用得比較多的是紅外和超聲波測距傳感器兩種。 提到紅外測距傳感器, 就不能不提夏普的GP2D12紅外測距傳感器(圖5)。GP2D12幾乎可以說是機器人愛好者的必備傳感器,在我們平時?吹降囊恍﹤人機器人作品中,絕大多數(shù)都可以看到它的身影。 無圖無真相,相信很多朋友看到GP2D12的實物圖都會禁不住感嘆:“哦,原來是它呀!”是不是很眼熟?說實話,除了在個人機器人上,我還真沒在其他的地方見過這個東西。 這種傳感器的優(yōu)點是體積小,測量準確,電源電壓與輸出信號都較常規(guī),一般單片機系統(tǒng)都可直接使用,缺點是成本較高,購買途徑較少。 超聲波測距傳感器(圖6)也是一種很常見的測距傳感器,依靠超聲波的發(fā)射與反射接收中的時間差來判斷距離,這和動物界的蝙蝠是一樣的,算是仿生學(xué)的一項應(yīng)用。 超聲波測距傳感器規(guī)格很多,測試距離也從遠到近都有,價格相差也較大,一般機器人愛好者使用的是測量范圍在幾厘米到幾米的。 超聲波測距的優(yōu)點在于測量范圍較大且不使用光學(xué)信號,所以被測物體的顏色對于測量結(jié)果沒有影響,但其成本較高。由于它依靠聲速測距,所以對于一些影響聲速的因素較敏感,比如溫度、風(fēng)速等,而且最大允許角度較小。 用于亮度判斷的傳感器 很多朋友制作的機器人都需要判斷環(huán)境光的亮度,這時就需要亮度傳感器。最常用的便是光敏電阻(圖7)。光敏電阻是一種隨著照射在上面的可見光強度變化而阻值發(fā)生相應(yīng)變化的電阻,可以根據(jù)其阻值的變化判斷出光強。 光敏電阻的使用也非常簡單,只要將它當作普通電阻接入電路,根據(jù)電流變化便可得出電阻值的變化,進而判斷出光強的變化。對于機器人制作,光敏電阻是一種成本低廉、可靠性好、測量準確的元件。 用于測量速度的傳感器 機器人自身的行走速度對于判斷機器人運動狀態(tài)和機器人所在位置非常重要,這里我們主要討論一下對機器人小車運動速度的測量。 車型機器人依靠電機驅(qū)動輪子來運動,因此測量機器人小車的速度可以歸結(jié)為測量驅(qū)動電機的轉(zhuǎn)速。那么怎么測量電機的轉(zhuǎn)速呢?測量電機轉(zhuǎn)速有很多種方法,比較適合個人機器人愛好者的是采用光電編碼器。光電編碼器也有很多種,在個人機器人上比較常見的有兩種,一種為反射式,一種為透射式。 反射式的基本結(jié)構(gòu)是在電機的旋轉(zhuǎn)軸上加一個圓形的黑白相間碼盤,很多都是粘在輪子上的(圖8),離碼盤很近的地方固定一個紅外發(fā)射/接收一體模塊,利用黑白色對紅外線的吸收率不同來進行判斷。紅外線照射到黑色部分時,大部分被吸收,而無反射信號;紅外線照射到白色部分時,大部分紅外線被反射回來,而產(chǎn)生強烈的反射信號。當碼盤隨電機旋轉(zhuǎn)時,紅外接收端的輸出信號便是一個由旋轉(zhuǎn)速度決定頻率的方波,進而我們便可知道此時電機的旋轉(zhuǎn)速度。 透射式檢測原理與反射式相似。唯一的不同是它沒有圖9中黑白相間的碼盤,而是在光柵圓盤上開了一圈小孔,紅外線或可見光的發(fā)射端與檢測端分別位于光柵圓盤的兩側(cè)(圖9),同樣利用光柵圓盤旋轉(zhuǎn)后產(chǎn)生的脈沖信號來檢測電機的旋轉(zhuǎn)速度。 從本質(zhì)上來說,兩種傳感器都屬于光電傳感器,這類傳感器價格便宜、結(jié)構(gòu)可靠、檢測結(jié)果準確,不過對于安裝位置要求較高。 檢測電機轉(zhuǎn)速,除了光電傳感器之外,還有一些利用磁效應(yīng)原理的傳感器,汽車上經(jīng)常使用這種傳感器。 用于檢測地面灰度的傳感器 很多人最開始做的機器人的基本功能就是循線,白色的地板上貼著一條黑線,讓機器人沿著地面的黑線前進。很多機器人高手都是從制作類似的作品成長起來的。因此,有必要介紹一下檢測地面灰度的常用傳感器。 可見光地面灰度檢測器,就是使用一個發(fā)光裝置與一個光敏電阻搭配,裝在機器人底部離地面較近的一個位置上。發(fā)光裝置發(fā)射可見光,照射到不同顏色上面后,反射光的強度會有一定的差異,根據(jù)光敏電阻的返回值便可知道機器人下方的地面顏色(圖10)。 筆者最初制作地面灰度檢測器的時候,是通過小燈泡來發(fā)光,可是效果不理想。后來換了個摩托車上的6V燈泡,效果好多了,就是耗電量太大。再后來買了個灰度傳感器,耗電量下來了,檢測效果也還可以,但是還是會有漏測的現(xiàn)象,而且容易受到環(huán)境光的干擾,于是我就使用了一種非可見光的檢測方式——紅外線地面灰度檢測。 前面介紹光電編碼器時提到過,反射式光電編碼器的碼盤由黑白相間的條紋組成,利用黑白顏色對紅外線的吸收程度不同來檢測碼盤的旋轉(zhuǎn)。其實如果引申一下,把機器人循線的場地看成一個大碼盤,其實也是黑白相間,這樣每當機器人越過一條白線,就相當于光電編碼器上的碼盤轉(zhuǎn)動了一個最小角度,光電編碼器輸出的高、低電平便會變化一次。這種檢測方式比較準確,很少出現(xiàn)漏檢的情形,抗干擾能力也比較強,唯一的劣勢就是對傳感器本身的離地間隙要求較高,高一點或矮一點都不行。因此,對機器人的工作環(huán)境要求較高,不平的地面肯定是不行的。
|