機器人如何感知世界?

出品:科普中國

製作:《無線電》雜誌團隊

監製:中國科學院計算機網路信息中心

2015世界機器人大會已經成功閉幕。

對於曾經依靠密集勞動力走向世界的「中國製造」,機器人正成為轉型升級的新助力之一。在珠三角,家電業率先「機器換人」,電子信息產業緊緊跟上,汽車、紡織服裝等行業也蓄勢待發,一個個「無人工廠」取代了曾經工人們揮汗如雨的車間廠房。

那麼你可知道,機器人是依靠什麼感官來感知世界,與我們互動的?它們有「眼睛」、「鼻子」、「耳朵」嗎?本文為大家盤點幾種機器人常用的感測器及其功能。

用於避障的感測器

避障可以說是各種機器人最基本的功能,不然機器人一走動就碰到花花草草就不好了。機器人並不一定要通過視覺感知自己前方是否有障礙物,它們也可以通過觸覺或像蝙蝠那樣通過聲波感知。因此,檢測機器人前方是否存在障礙物的感測器,可以分為接觸式和非接觸式的。

最典型的接觸式測障感測器便是碰撞開關(圖1)。碰撞開關的工作原理非常簡單,完全依靠內部的機械結構來完成電路的導通和中斷。當碰撞開關的外部探測臂受到碰撞,探測臂受力下壓,帶動碰撞開關內部的簧片撥動,從而電路的導通狀態發生改變(圖2)。

圖1 碰撞開關

圖2 碰撞開關的工作狀態圖

在機器人上的用法多數是將探測臂加長,擴大探測範圍和靈敏度。當機器人撞到前面的障礙物,碰撞開關的信號端便可返回一個高電平,控制晶元由此可以知道小車面前存在著障礙物。

碰撞開關的優點是價格便宜,一般每隻零售僅幾塊錢,使用簡單,使用範圍廣,對環境條件沒有什麼限制。但碰撞開關也有個最明顯的缺點,就是必須在發生碰撞後才能檢測到障礙,這在某些機器人比賽中是相當失分的,在某些實際的應用中實用性也會大大降低,而且使用時間較長後,開關容易發生機械疲勞,無法繼續正常工作。

非接觸式測障開關一般的工作原理與聲納和雷達相似,發射聲波或某種射線,遇到障礙物,聲波或射線被反射回來,並被感測器接收,這時感測器就認為發現了障礙物。我們最常用的便是發射和接收紅外線的感測器(圖3,圖4)。

圖3 紅外發射管

圖4 紅外接收管

紅外測障感測器成本較低(當然比碰撞開關還是要高一點),電路簡單,檢測範圍大。如果在電路中加上一個電位器,就可以隨時調節感測器的檢測範圍。這種檢測方式為非接觸式,控制起來更加方便、靈活。但這種測障方式也有缺點,多個紅外感測器之間容易互相干擾,因此在感測器的布局上需要多花心思,安裝位置也要儘可能地避免紅外信號的碰撞。

用於測距的感測器

機器人光知道哪個方向有障礙物並不夠,還必須知道障礙物距離自己具體有多遠,才好判斷下一步的行動。這時我們就需要測距感測器。

測距感測器大多為非接觸式的,目前在個人機器人製作領域用得比較多的是紅外和超聲波測距感測器兩種。

提到紅外測距感測器, 就不能不提夏普的GP2D12紅外測距感測器(圖5)。GP2D12幾乎可以說是機器人愛好者的必備感測器,在我們平時常看到的一些個人機器人作品中,絕大多數都可以看到它的身影。

無圖無真相,相信很多朋友看到GP2D12的實物圖都會禁不住感嘆:「哦,原來是它呀!」是不是很眼熟?說實話,除了在個人機器人上,我還真沒在其他的地方見過這個東西。

圖5 夏普GP2D12 紅外測距感測器

這種感測器的優點是體積小,測量準確,電源電壓與輸出信號都較常規,一般單片機系統都可直接使用,缺點是成本較高,購買途徑較少。

超聲波測距感測器(圖6)也是一種很常見的測距感測器,依靠超聲波的發射與反射接收中的時間差來判斷距離,這和動物界的蝙蝠是一樣的,算是仿生學的一項應用。

圖6 超聲波測距感測器

超聲波測距感測器規格很多,測試距離也從遠到近都有,價格相差也較大,一般機器人愛好者使用的是測量範圍在幾厘米到幾米的。

超聲波測距的優點在於測量範圍較大且不使用光學信號,所以被測物體的顏色對於測量結果沒有影響,但其成本較高。由於它依靠聲速測距,所以對於一些影響聲速的因素較敏感,比如溫度、風速等,而且最大允許角度較小。

用於亮度判斷的感測器

很多朋友製作的機器人都需要判斷環境光的亮度,這時就需要亮度感測器。最常用的便是光敏電阻(圖7)。光敏電阻是一種隨著照射在上面的可見光強度變化而阻值發生相應變化的電阻,可以根據其阻值的變化判斷出光強。

圖7 光敏電阻

光敏電阻的使用也非常簡單,只要將它當作普通電阻接入電路,根據電流變化便可得出電阻值的變化,進而判斷出光強的變化。對於機器人製作,光敏電阻是一種成本低廉、可靠性好、測量準確的元件。

用於測量速度的感測器

機器人自身的行走速度對於判斷機器人運動狀態和機器人所在位置非常重要,這裡我們主要討論一下對機器人小車運動速度的測量。

車型機器人依靠電機驅動輪子來運動,因此測量機器人小車的速度可以歸結為測量驅動電機的轉速。那麼怎麼測量電機的轉速呢?測量電機轉速有很多種方法,比較適合個人機器人愛好者的是採用光電編碼器。光電編碼器也有很多種,在個人機器人上比較常見的有兩種,一種為反射式,一種為透射式。

反射式的基本結構是在電機的旋轉軸上加一個圓形的黑白相間碼盤,很多都是粘在輪子上的(圖8),離碼盤很近的地方固定一個紅外發射/接收一體模塊,利用黑白色對紅外線的吸收率不同來進行判斷。紅外線照射到黑色部分時,大部分被吸收,而無反射信號;紅外線照射到白色部分時,大部分紅外線被反射回來,而產生強烈的反射信號。當碼盤隨電機旋轉時,紅外接收端的輸出信號便是一個由旋轉速度決定頻率的方波,進而我們便可知道此時電機的旋轉速度。

圖8 碼盤外形圖

透射式檢測原理與反射式相似。唯一的不同是它沒有圖9中黑白相間的碼盤,而是在光柵圓盤上開了一圈小孔,紅外線或可見光的發射端與檢測端分別位於光柵圓盤的兩側(圖9),同樣利用光柵圓盤旋轉後產生的脈衝信號來檢測電機的旋轉速度。

圖9 光柵盤式光電編碼器原理圖

從本質上來說,兩種感測器都屬於光電感測器,這類感測器價格便宜、結構可靠、檢測結果準確,不過對於安裝位置要求較高。

檢測電機轉速,除了光電感測器之外,還有一些利用磁效應原理的感測器,汽車上經常使用這種感測器。

用於檢測地麵灰度的感測器

很多人最開始做的機器人的基本功能就是循線,白色的地板上貼著一條黑線,讓機器人沿著地面的黑線前進。很多機器人高手都是從製作類似的作品成長起來的。因此,有必要介紹一下檢測地麵灰度的常用感測器。

可見光地麵灰度檢測器,就是使用一個發光裝置與一個光敏電阻搭配,裝在機器人底部離地面較近的一個位置上。發光裝置發射可見光,照射到不同顏色上面後,反射光的強度會有一定的差異,根據光敏電阻的返回值便可知道機器人下方的地面顏色(圖10)。

圖10 一種利用發光二極體作為發光裝置的地麵灰度檢測器

筆者最初製作地麵灰度檢測器的時候,是通過小燈泡來發光,可是效果不理想。後來換了個摩托車上的6V燈泡,效果好多了,就是耗電量太大。再後來買了個灰度感測器,耗電量下來了,檢測效果也還可以,但是還是會有漏測的現象,而且容易受到環境光的干擾,於是我就使用了一種非可見光的檢測方式——紅外線地麵灰度檢測。

前面介紹光電編碼器時提到過,反射式光電編碼器的碼盤由黑白相間的條紋組成,利用黑白顏色對紅外線的吸收程度不同來檢測碼盤的旋轉。其實如果引申一下,把機器人循線的場地看成一個大碼盤,其實也是黑白相間,這樣每當機器人越過一條白線,就相當於光電編碼器上的碼盤轉動了一個最小角度,光電編碼器輸出的高、低電平便會變化一次。這種檢測方式比較準確,很少出現漏檢的情形,抗干擾能力也比較強,唯一的劣勢就是對感測器本身的離地間隙要求較高,高一點或矮一點都不行。因此,對機器人的工作環境要求較高,不平的地面肯定是不行的。

這兩種地麵灰度檢測方式成本都比較低廉,具體採用哪一種,根據自己的確切應用來決定就可以了。

其他

微電子領域的發展日新月異,每天都有各種各樣的新感測器問世,很多以前高不可攀的感測器如今也變成了幾塊錢甚至幾毛錢一個,因此經常去電子市場轉轉,關注一下最新的感測器信息是必要的。

「科普中國」是中國科協攜同社會各方利用信息化手段開展科學傳播的科學權威品牌。

本文由科普中國移動端出品,轉載請註明出處。

推薦閱讀:

邊走路邊算數,就能檢測「老年痴呆」
AlphaGo連勝世界冠軍,AI真的能夠取代人類了嗎?n ——專訪中國人工智慧學會常務理事劉成林教授
關於疫苗的二三事

TAG:中国科普博览 |