2016-08-24

mBot 機器人巡線時的直角,銳角解決方法



對於巡線(循跡)我只會最基本的東西,也就是像機器人齊步走講義所敘述的,根據巡線感應器的狀況進行左右轉的控制。

下面我要試試看,遇到直角或銳角的軌跡線,機器人如何因應,順利判斷走完軌跡,樂高機器人也可以應用類似的原理完成。


首先看看直角軌跡(銳角),假設機器人遇到這種軌跡時應該會偵測到『黑黑』,所以我們需要增加巡線感應器的3號數值選項。


由於程式較為複雜,我新建一個積木指令Test,這樣主程式較為簡潔。

積木指令Test的簡單敘述如下:

1. 讓mBot先從右轉開始

2. 進入一個重複迴圈,離開迴圈的條件是變數Good的內容(Good = 1)

    2-1. 累積變數Counter

   2-2. 如果右轉碰到線,表示轉向正確,設定Good=1,跳出迴圈,回到原本的巡線走法。

   2-3. 如果Counter變數累積達22000,表示轉向錯誤,需要左轉,待找到線後,設定Good=1,跳出迴圈,回到原本的巡線走法。

22000的數值從何而來?是我根據機器人馬達轉速,當時電量狀況,以及軌跡型態所嘗試錯誤得到的數值。你需要自行測試。

整個新增積木指令Test如下圖所示:



以上是對於直角銳角軌跡最原始的想法。

再來看看結果如何:(拍攝品質很差....)





讀友中不乏許多高手專家,這篇文章真是班門弄斧,還請大家提供意見。