想一想
生活中,有些交通工具,比如電車、地鐵等,都是預 先制定專用的線路,並且不偏離線路行駛,可以有效保證準確性和安全性。我們製作的機械人能否實現按指定線路行駛呢?
圖3.1.1 電車
挑戰任務
利用紅外線感應器檢測黑線,控制bit:Rover機械人跟隨黑線行走。
先測量黑線與場地各自的反射光數值,計算出其平均值:
平均值=(黑線反光值+場地反光值)/2
待用於邏輯判定。
任務一
使用單個紅外線感應器(P0或P1)時,原理是當機械人檢測到黑線時,向場地方向移動;當檢測到場地時,向黑線方向移動,實現圍繞黑線行走。
開始前,在擴展中搜索並添加”PCA9685”,重置馬達功率和把行走的動作定義函式。
Version 1.0
Version 2.0
當紅外線感應器檢測到反射光數值大於平均值時,即機械人在黑線上,此時需執行向場地方向行走的動作,否則執行向黑線方向行走的動作。
場地反光值為50,黑線反光值為110,
平均值=(50+110)/2=80
需根據實際調整
完成
Version 1.0
Version 2.0
video3.1.1單紅外線感應器跟隨黑線行走示範
任務二
使用雙紅外線感應器(P0和P1),使bit:Rover機械人行走時,黑線保持在兩個紅外線感應器之間。
此時會出現四種檢測結果:
1、P0檢測到黑線、P1檢測到場地;
2、P0檢測到場地、P1檢測到黑線;
3、P0和P1都檢測到黑線;
4、P0和P1都檢測到場地。
根據任務一的原理,我們需把這四種檢測結果配上行走指令。
重置馬達功率和把行走的動作定義函式。
Version 1.0
Version 2.0
P0檢測到黑線,P1檢測到場地
P0檢測到場地,P1檢測到黑線
P0和P1都檢測到黑線
或
P0和P1都檢測到場地,
bit:Rover均執行前行的動作
沿線行走
完成
Version 1.0
Version 2.0
video3.1.2雙紅外線感應器跟隨黑線行走示範
思考
使用單紅外線感應器和多個紅外線感應器的區別?
當要完成單一黑線行走時,單紅外線感應器可以穩定地應對。如需提高速度或線路較複雜時(如:虛線),多個紅外線感應器能提供多種檢測組合,從而能令機械人可以實現更多的應對方案。