機(jī)器人已經(jīng)可以用2個或4個傳感器,又快又穩(wěn)定地進(jìn)行 巡線運(yùn)動了吧?不過,如果機(jī)器人行走的路線上除了直線、曲線還有各種路口又該怎么辦 呢?這次的實驗就來解決這個問題,先來看看圖9-5中這樣的丁字路口,機(jī)器人應(yīng)該采 用什么樣的策略才能通過。
為了讓機(jī)器人成功通過各種路口, 一般我們還是需要給機(jī)器人并排安上4個傳感器。 但是和用上節(jié)課中對4個傳感器的使用不一樣,這里用內(nèi)側(cè)兩個傳感器幫助機(jī)器人完成 巡線。而當(dāng)外側(cè)的兩個傳感器檢測到黑線時,就知道了機(jī)器人遇到了路口。這時就可以 根據(jù)具體情況,讓機(jī)器人做出轉(zhuǎn)彎動作了。
實驗器材
· 已經(jīng)組裝好的機(jī)器人;
· 計算機(jī)及軟件編程環(huán)境;
·USB 下載線;
· 主控制器;
· 杜邦連接線若干;
· 4個使用杜邦連接線的地面灰度檢測傳感器;
· 用黑色膠布粘貼的丁字路口。
實驗步驟
1.連接機(jī)器人
在機(jī)器人的底盤上并排安裝4個地面灰度傳感器,用杜邦連接線把它們按順序分別 連接到主控板的A0~A3 端口,其中Z左端的傳感器連接A0 口,Z右端的連接 A3 口。
2.調(diào)試灰度閾值
同樣,像以前一樣通過實驗確定機(jī)器人所采用的灰度閾值。因為4個傳感器的電路 和安裝上可能會出現(xiàn)微小的差別,所以這里比較穩(wěn)妥的處理方式是不要嫌麻煩,為它們每 個都測量一個灰度閾值。
3.編 寫 和調(diào)試程序
通過上面的分析可以知道,對于機(jī)器人來說,只要是Z左或Z右端的傳感器檢測到了 黑線,就代表機(jī)器人遇到了路口。這時就可以停止巡線而進(jìn)入90°轉(zhuǎn)彎的過程。根據(jù)這 個思路,請同學(xué)們自己去編寫或是參考下面的示例程序,將機(jī)器人通過丁字路口的程序?qū)?現(xiàn)。這個示例程序大部分結(jié)構(gòu)和上節(jié)課的示例程序類似,所不同的只是對機(jī)器人Z外端 兩個傳感器檢測到黑線時的處理,我們用省略號把同上節(jié)課例程重復(fù)的大部分內(nèi)容略過。
const int TurnTime=300;
void loop()(
leftValue=analogRead(LeftPort);
leftMiddleValue=analogRead (LeftMiddlePort);
rightMiddleValue=analogRead(RightMiddlePort);
rightValue=analogRead(RightPort);
if(leftValue
analogWrite(RightSpeedPort,ForwardSpeed);
}else if(leftValue>Threshold II rightValue>Threshold){ digitalWrite(LeftDirPort,LOW);
analogWrite(LeftSpeedPort,ForwardSpeed);
analogWrite(RightSpeedPort,ForwardSpeed);
delay(TurnTime);
digitalWrite(LeftDirPort,HIGH);
}else if(leftMiddleValue>Threshold){
analogWrite(LeftSpeedPort,TurnHighSpeed);
analogWrite(RightSpeedPort,TurnLowSpeed); }else{
analogWrite(LeftSpeedPort,TurnLowSpeed);
analogWrite(RightSpeedPort,TurnHighSpeed); }
delay(100);
//原地轉(zhuǎn)90°所需的時間
&&rightMiddleValue< //直行
//原地向左轉(zhuǎn)90°
//向右轉(zhuǎn)彎
//向左轉(zhuǎn)彎
//延時.100ms
請注意,如果大家直接套用上面給出的示例程序,機(jī)器人往往是不會乖乖地通過路口 的。這時,就需要請同學(xué)們仔細(xì)觀察機(jī)器人遇到路口的反應(yīng)。然后,根據(jù)機(jī)器人運(yùn)動時所 表現(xiàn)出的現(xiàn)象不同,對問題的所在進(jìn)行判斷并解決。比如,機(jī)器人的傳感器端口接線的順 序有錯誤;機(jī)器人轉(zhuǎn)90°彎的速度或時間參數(shù)不合適,導(dǎo)致轉(zhuǎn)向過度或不足等。就是在這 個過程中大家解決問題的能力才會得到提高,因此請同學(xué)們千萬不要滿足于弄懂了原理, 一 定要動手動腦,對機(jī)器人進(jìn)行實際的調(diào)試工作。
![]() |
| 商用機(jī)器人 Disinfection Robot 展廳機(jī)器人 智能垃圾站 輪式機(jī)器人底盤 迎賓機(jī)器人 移動機(jī)器人底盤 講解機(jī)器人 紫外線消毒機(jī)器人 大屏機(jī)器人 霧化消毒機(jī)器人 服務(wù)機(jī)器人底盤 智能送餐機(jī)器人 霧化消毒機(jī) 機(jī)器人OEM代工廠 消毒機(jī)器人排名 智能配送機(jī)器人 圖書館機(jī)器人 導(dǎo)引機(jī)器人 移動消毒機(jī)器人 導(dǎo)診機(jī)器人 迎賓接待機(jī)器人 前臺機(jī)器人 導(dǎo)覽機(jī)器人 酒店送物機(jī)器人 云跡科技潤機(jī)器人 云跡酒店機(jī)器人 智能導(dǎo)診機(jī)器人 |