[Mindsensor測試]-循跡避障的好幫手LineLeader-v2、SumoEyes-v2

循跡前進向來是機器人的重點,也是基本的課題之一。聽說掌握了循跡,你就已經得到了一半的天下(誤!)

一般使用光感測器來做循跡的效果還不錯,唯獨在過直角彎道時,有可能會修正不足或過頭而出界。本篇使用 Mindsensors 的產品LineLeader-v2 來進行測試。可以改善直角彎道的問題,並且在直線與小弧度彎道時可以更快更穩。下圖為範例機器人:

2014-09-20 23.03.38

上圖可以看到車子的前方裝有二個感測器,在下方的是LineLeader-v2,而上方的則是 SumoEyes-v2。加裝SumoEyes 的原因是讓車子遇到障礙物能避開。如果想要讓機器人有更好的避障效果的話,可以用SumoEyes-v2 搭配超音波感測器 (視野較小)。先用 SumoEyes 判斷哪個方位有障礙物之後,再用超音波感測器取得較精準的距離數值。

接著說明程式:

lineleader-pid

中間的程式方塊需 至Mindsensors 網站,可點此前往下載。使用 EV3 軟體的 Block Import Wizard 來匯入指令即可。首先,在感測器的校對(Calibrate) 選單中找到Calibrate-PID configuration (校正 PID 設定)

參數說明:

i2c:不作更動,程式預設為2

SP:標準值。測量值減去標準值即為誤差,故標準值為車子走黑線的參考值。

第一個kp:預設值為25,之後可依照測試調整,這裡測試為80。

第二個kp為kp factor:預設值為32,亦可自行調整。

(根據Mindsensor裡的LineLeader-UserGuide說明,Kp value = kp/kp factor,在這裡即為80/32=2.5)

第一個ki:預設值為0,在此設1。

第二個ki為ki factor:預設值為32,在此設64。

第一個kd:預設值為8,在此設0。

第二個kd為kd factor:預設值為32。

基本上可從程式預設值直接不作更動來進行循跡,建議先調整kp覺得ok後,再依照需求來調整 ki、kd。緊接著是躲避障礙物的設定

sumoeyes

可愛的青蛙方塊即為SumoEyes 雙紅外線感測器的 EV3 指令。SumoEyes可偵測前方以及左、右方範圍內的障礙物。短距15 cm,長距30 cm,具備測量和比較模式,上圖為比較模式。

參數說明:

v/x:可設定是否開啟遠距模式。

↑:方向,0為前方;1為右方;2為左方。

#:哪一個方向有障礙物。

最後的v/x:是否找到障礙物。

最後主要的概念是讓車子循跡時,遇到障礙物後轉彎,並繞著障礙物行走,直到遇到黑線時再次循跡。以下影片在 9/21 CAVEDU Day 現場展示的循跡避障車。遇到障礙物會固定往右轉,在直角彎道的表現也還算不錯。循跡時車頭有稍微搖晃二、三下,可能kp參數還需要調整

本影片中的EV3循跡避障車程式碼,如有需要可點此下載測試

有關PID控制的文章,可參考這篇文章,我覺得寫得相當淺顯易懂。或者請出GOOGLE大神,都能搜尋到許多相關的文章,

希望大家的循跡車都能愈來愈進步喔!

Leave a comment

Your email address will not be published.


*