能不能讓機器人不接觸就可以感知到障礙物的所在 呢?本節(jié)課我們就來令機器人具備一個新的能力:遠距離探測障礙物。這項能力是使用 一種叫作紅外避障傳感器的模塊實現(xiàn)的。這種傳感器是一個數(shù)字開關(guān)傳感器,它還有個 學名叫“反射式紅外傳感器”,如圖10-1所示。它的原理和我們已經(jīng)掌握的地面灰度檢測 傳感器非常類似,也是由一個光線發(fā)射裝置和一個光線接收裝置組成的。所不一樣的是, 它的光線發(fā)射方向是朝向運動的方向而不是地面,而且發(fā)射裝置發(fā)出的光是紅外光而不是可見光。
安裝了這種傳感器后,在傳感器正對的方向有障礙物時,它發(fā)出的紅外線就會被障礙 物反射回來被接收裝置所感知。于是,機器人上的主控制器就可以檢測到障礙物的存在。 至于這時機器人是應該停下或是繞開障礙物還是轉(zhuǎn)身返回就要看我們的智能程序是如何 設計的了。
這種傳感器會返回一個數(shù)字開關(guān)狀態(tài),用起來再簡單不過。但它也有很明顯的缺點, 只靠它機器人是很難得知障礙物的準確距離的。雖然,通過用螺絲刀調(diào)節(jié)傳感器上的可 調(diào)電阻(圖10-1),我們能夠大致改變傳感器的感知距離(一般是20cm 左右)。但是在實 際使用中的很多因素都會對這個距離產(chǎn)生影響,比如,如果物體的表面是比較光滑的,就 會像鏡子一樣將紅外線往另一個方向反射出去,這時雖然小機器人離障礙物很近了,但是 也不能接收到比較強的反射信號;物體的顏色深淺當然也是一個決定性的因素;還有,如 果環(huán)境中有其他的光線源,比如陽光的直射,也會對接收到的信號造成影響。
因此,如果需要機器人準確地探測障礙物的距離,就要用更“高J”的傳感器了。比 如,應用仿生學原理,模仿蝙蝠的聲吶探測能力的超聲波傳感器,還有更加復雜的激光雷 達傳感器,甚至是模仿人類視覺的雙目攝像頭等。
并排安裝4個地面灰度傳感器,用杜邦連接線把它們按順序分別 連接到主控板的A0~A3 端口,其中最左端的傳感器連接A0口,最右端的連接A3口,只要是最左或最右端的傳感器檢測到了 黑線,就代表機器人遇到了路口
在使用 pinMode 命令為端口規(guī)定方向時肯定要用到它的編號,然后再用 digitalRead 之類的命令操縱端口時也要用到同一個編號,用analogRead 命令讀到了傳感器當前的值
機器人傳感器的位置在靠近黑線的左側(cè)或者正好在黑線上;digitalRead 、digitalWrite 、analogRead 、analogWrite、 pinMode 、delay。它們構(gòu)成了Arduino 中最為重要、最為常用的功能
微觸開關(guān)也只有“開”和“閉” 兩種不同的狀態(tài),把它連接到主控制器,用程序就能很準確地檢測到它的開閉變化了,只要用 digitalRead 命令就可以很 方便地讀取微觸開關(guān)的值了,這個命令的用法
將機器人、擴展板和小燈模塊連接好,將右轉(zhuǎn)向燈連接D5 號口,左轉(zhuǎn)向燈連接D3號口;編寫程序,讓轉(zhuǎn)向燈亮滅的語句,左轉(zhuǎn)向燈熄滅,同時機器人向右轉(zhuǎn)彎
機器人的主控制器可以用這些插針和各種傳感器或執(zhí)行器共同工作,用灰色的RJ11 線連接各種傳感器 和執(zhí)行器,而不用擔心線路連錯或連反,連接時如果聽到“咔嚓”就代表連接成功
常見的一種機器人驅(qū)動方式—雙輪差速驅(qū)動,左輪和右輪以同樣的速率向前轉(zhuǎn)動,機器人向正前方前進;左輪和右輪 以同樣的速率向后轉(zhuǎn)動,轉(zhuǎn)彎半徑的大小取決于左右兩個輪子的轉(zhuǎn)動速度之差
機器龜有一個PWM驅(qū)動的活動 底盤,底盤上搭載了一個可旋轉(zhuǎn)的傳感器平臺,機器人頭部設置了一個距離傳感 器,底盤下裝有4個邊緣傳感器
制作靜片使用的材料是端子芯和黃銅管,把一根有彈性的金屬絲套在銅管里做開關(guān)的動 片,碰到物體后,金屬絲和銅管內(nèi)壁接觸,電路導通,以用電阻引腳彎個圓圈做成靜片
電機的布局建議稍微靠后,給兩條前腿留出多 一點活動空間。因為前面制作的CPG 是主-從神經(jīng)元結(jié)構(gòu),前腿帶著后腿走,前腿的動作幅度大于后腿。這樣的設計可以使機器人跨越路面上的一些小障礙
神經(jīng)網(wǎng)絡中最關(guān)鍵的元件是電阻R3,R3的阻值過小,左、 右兩側(cè)機體就無法協(xié)調(diào)運轉(zhuǎn),機器人就好像喝醉了一樣。實際R3的阻值可以選取 1~10MΩ
,74HC240,4個,光敏二極管,2個,0.22μF無極電容,6個,微型電機,2個,1MΩ電阻,6個,1.5MΩ電阻,2個,PC電源端子(母,拆芯),2位,小型壓線端子(拆芯),2位,3mm黃銅管(可選),1小段,RCA插頭尾簧,1個