文湖南師大附中1610 班 諶霖?zé)?/p>
黑線垂直定位的分析與思考
文湖南師大附中1610 班 諶霖?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)一步的分析,徹底解決這個難題。
機(jī)器人利用1號和4號顏色傳感器做出判斷,不管初始位置與黑線相距多遠(yuǎn),機(jī)器人運(yùn)行到黑線時,必須保證與黑線垂直,以減小誤差,修正參數(shù),確保后面的任務(wù)順利完成。
機(jī)器人運(yùn)用顏色傳感器的反射光進(jìn)行自動判斷:當(dāng)1號顏色傳感器檢測到黑線時,B馬達(dá)不動,C馬達(dá)轉(zhuǎn)動;當(dāng)4號顏色傳感器檢測到黑線時,機(jī)器人停止運(yùn)行并保持與黑線垂直。當(dāng)4號顏色傳感器檢測到黑線時,C馬達(dá)不動,B馬達(dá)轉(zhuǎn)動;當(dāng)1號顏色傳感器檢測到黑線時,機(jī)器人停止運(yùn)行并保持與黑線垂直。當(dāng)1、4號顏色傳感器同時檢測到黑線時,機(jī)器人停止運(yùn)行并保持與黑線垂直。
機(jī)器人在實際運(yùn)行時,如果與黑線的角度不大時,可以被修正;如果與黑線的角度偏大時很難做到垂直。為什么會出現(xiàn)此類情況?
我利用業(yè)余時間查找資料,及時與指導(dǎo)老師進(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ī)器人運(yùn)行時,首先1號顏色傳感器進(jìn)行測光,如果光值小于設(shè)定的15,同時程序切換到4號顏色傳感器進(jìn)行測光,如果光值小于15,說明1號和4號顏色傳感器都檢測到黑線,這時判斷成立,跳出循環(huán)并指定顏色傳感器的端口為4,馬達(dá)的端口為0(馬達(dá)不打開)。然后運(yùn)行后面的程序,馬達(dá)沒有打開所以不運(yùn)行,4號顏色傳感器光值小于20,跳出循環(huán),關(guān)閉B、C馬達(dá),程序停止運(yùn)行。
完整的黑線垂直程序
如果光值大于15,這時判斷成立,跳出循環(huán)并指定顏色傳感器的端口為4,馬達(dá)的端口為C馬達(dá),運(yùn)行后面的程序,C馬達(dá)以28%的功率工作。4號顏色傳感器光值小于20時,跳出循環(huán),關(guān)閉B、C馬達(dá),保證機(jī)器人與黑線垂直。
(2)機(jī)器人運(yùn)行時,首先1號顏色傳感器進(jìn)行測光,如果光值大于15,同時程序切換到4號顏色傳感器進(jìn)行測光,如果光值大于15,機(jī)器人以15%的功率前進(jìn)。
如果光值小于15,這時判斷成立,跳出循環(huán)并指定顏色傳感器的端口為1,馬達(dá)的端口為B馬達(dá),然后運(yùn)行后面的程序,B馬達(dá)以28%的功率工作。1號顏色傳感器光值小于20,跳出循環(huán),關(guān)閉B、C馬達(dá),程序停止運(yùn)行,保證機(jī)器人與黑線垂直。
3.完整的黑線垂直程序,見下圖
4.測試
用完整的程序測試時,不管機(jī)器人與黑線角度的大小如何,都能垂直定位,問題最終得到完美解決。(指導(dǎo)老師:諶躍飛)