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