諶霖?zé)?/p>
自從加入學(xué)校機(jī)器人代表隊后,我便愛上了FLL工程挑戰(zhàn)賽。在平常的訓(xùn)練與集訓(xùn)中,我發(fā)現(xiàn)FLL工程挑戰(zhàn)賽中的機(jī)器人在完成任務(wù)時,需在黑線的地方定位,從而盡可能減小誤差,修正機(jī)器人的位置,提高機(jī)器人的穩(wěn)定性,確保順利完成設(shè)定的任務(wù)。
黑線定位時由于初始位置的不確定性,很難確保機(jī)器人修正參數(shù)達(dá)到理想的結(jié)果。所以我決定對機(jī)器人黑線垂直定位做進(jìn)一步的分析,徹底解決這個難題。
一、任務(wù)要求
機(jī)器人利用1號和4號顏色傳感器做出判斷,不管初始位置與黑線相距多遠(yuǎn),機(jī)器人運行到黑線時,必須保證與黑線垂直,以減小誤差,修正參數(shù),確保后面的任務(wù)順利完成。
二、原理分析
機(jī)器人運用顏色傳感器的反射光進(jìn)行自動判斷:當(dāng)1號顏色傳感器檢測到黑線時,B馬達(dá)不動,C馬達(dá)轉(zhuǎn)動;當(dāng)4號顏色傳感器檢測到黑線時,機(jī)器人停止運行并保持與黑線垂直。當(dāng)4號顏色傳感器檢測到黑線時,C馬達(dá)不動,B馬達(dá)轉(zhuǎn)動;當(dāng)1號顏色傳感器檢測到黑線時,機(jī)器人停止運行并保持與黑線垂直。當(dāng)1、4號顏色傳感器同時檢測到黑線時,機(jī)器人停止運行并保持與黑線垂直。
三、機(jī)器人實際運行狀態(tài)
機(jī)器人在實際運行時,如果與黑線的角度不大時,可以被修正;如果與黑線的角度偏大時很難做到垂直。為什么會出現(xiàn)此類情況?
我利用業(yè)余時間查找資料,及時與指導(dǎo)老師進(jìn)行交流。既然無法解決硬件問題,唯一的方法就是在程序上想辦法。
四、程序改進(jìn)
原有的程序雖然也能讓機(jī)器人自動判斷,但過于簡單,很難達(dá)到要求。能不能利用變量?
1.首先用程序重置B、C馬達(dá),并設(shè)定以下三個變量(panduan、dianji、guanggan)來打開馬達(dá)與顏色傳感器的端口和跳出循環(huán)。其中dianji2和dianji3對應(yīng)B、C馬達(dá)。
2.利用兩個循環(huán)、兩個切換實現(xiàn)自動判斷
(1)機(jī)器人運行時,首先1號顏色傳感器進(jìn)行測光,如果光值小于設(shè)定的15,同時程序切換到4號顏色傳感器進(jìn)行測光,如果光值小于15,說明1號和4號顏色傳感器都檢測到黑線,這時判斷成立,跳出循環(huán)并指定顏色傳感器的端口為4,馬達(dá)的端口為0(馬達(dá)不打開)。然后運行后面的程序,馬達(dá)沒有打開所以不運行,4號顏色傳感器光值小于20,跳出循環(huán),關(guān)閉B、C馬達(dá),程序停止運行。
如果光值大于15,這時判斷成立,跳出循環(huán)并指定顏色傳感器的端口為4,馬達(dá)的端口為C馬達(dá),運行后面的程序,C馬達(dá)以28%的功率工作。4號顏色傳感器光值小于20時,跳出循環(huán),關(guān)閉B、C馬達(dá),保證機(jī)器人與黑線垂直。
(2)機(jī)器人運行時,首先1號顏色傳感器進(jìn)行測光,如果光值大于15,同時程序切換到4號顏色傳感器進(jìn)行測光,如果光值大于15,機(jī)器人以15%的功率前進(jìn)。
如果光值小于15,這時判斷成立,跳出循環(huán)并指定顏色傳感器的端口為1,馬達(dá)的端口為B馬達(dá),然后運行后面的程序,B馬達(dá)以28%的功率工作。1號顏色傳感器光值小于20,跳出循環(huán),關(guān)閉B、C馬達(dá),程序停止運行,保證機(jī)器人與黑線垂直。
3.完整的黑線垂直程序,見下圖
4.測試
用完整的程序測試時,不管機(jī)器人與黑線角度的大小如何,都能垂直定位,問題最終得到完美解決。(指導(dǎo)老師:諶躍飛)endprint
發(fā)明與創(chuàng)新·中學(xué)生2017年11期