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