淺談FLL機器人的幾個使用技巧
泰州技師學(xué)院信息管理系 周洋 2014/7/20 9:13:56
機器人是一門涉及機械學(xué)、電子學(xué)、工程學(xué)、自動控制、計算機、人工只能等方面的綜合性學(xué)科,以培養(yǎng)學(xué)生的科學(xué)素養(yǎng)和技術(shù)素養(yǎng)為宗旨,以綜合規(guī)劃、設(shè)計制作、調(diào)試應(yīng)用為主要學(xué)習(xí)特征的實踐性課程。在拓寬學(xué)生的知識面,促進學(xué)生全面而富有個性的發(fā)展上有著不可替代的作用。
機器人課程要為學(xué)生營造動手動腦、進行設(shè)計活動的環(huán)境,提供必要的設(shè)備和工具,倡導(dǎo)學(xué)生積極主動、用于探索的學(xué)習(xí)精神,組織學(xué)生進行探索式學(xué)習(xí),讓學(xué)生充分動手實踐,積極合作,主動探究。下面我就FLL比賽機器人實踐中的幾個常見編程技巧進行歸納。
一、直線技巧
機器人的直線行進是機器人制作中首先面對的問題,在編程環(huán)境中往往會提供雙電機直行的模塊,但在實際中往往會遇到越走越偏的情況。這是因為電機與電機之間多少會存在些差異,電機本身會存在誤差(雖然程序模塊自身有一定的糾錯功能)。減小直行中的偏差,使得機器人能準(zhǔn)確地到達目的地是一項基本任務(wù)。我們通常的做法是在一個循環(huán)中,每隔一小段時間比較一次兩個電機轉(zhuǎn)過的角度,如有誤差立即在功率上進行補償,例如用于前進的電機為B和C兩個電機,在前進的同時檢測B電機和C電機轉(zhuǎn)過的角度,求兩個角度的差,如得到的是正數(shù),說明B電機轉(zhuǎn)多了,用這個正數(shù)加上B和C原本設(shè)定的基礎(chǔ)功率賦給C電機的功率,這樣C電機的轉(zhuǎn)速就略快于B電機,彌補了誤差;如得到的是負數(shù),說明C電機轉(zhuǎn)多了,用這個負數(shù)加上B和C原本設(shè)定的基礎(chǔ)功率作為C電機的功率,這樣C電機的轉(zhuǎn)速就略慢于B電機,彌補了誤差。利用B電機或C電機的累積角度來控制循環(huán)結(jié)束的條件,這樣可以控制機器人直行的距離。到此,一段直行的任務(wù)就可以完成了,但在程序中遠不止一段直行程序,在執(zhí)行下一段直行程序前,一定要將兩個電機重置,也就是將電機的角度歸零,重新計算兩個點擊的角度,否則上次直行或拐彎的數(shù)據(jù)會對本次直行產(chǎn)生影響,造成較大的偏差。
二、巡線技巧
巡線是機器人準(zhǔn)確走位的一項重要技能。目前比較流行的是PID算法,在FLL的比賽實際應(yīng)用中有了P算法,機器人就已經(jīng)能比較平順地巡線了,下面就P算法做一些說明。機器人在巡線過程中實際是沿著明暗的交界線前進,光線亮度的變化是一個逐漸變化的過程,從亮的部分往交界線可以看成光線越來越暗變化;從暗的部分往交界線可以看成光線越來越亮變化;預(yù)先測定出亮的部分的平均值和暗的部分的平均值(通過多點測量取平均的方法),用當(dāng)前值去跟這兩個值的平均值求差,差的絕對值越大說明機器人偏離路線越遠,反之就越小,這樣就能得出機器人大約偏離交界線的距離,偏離得越多需要調(diào)整的距離就越大,換言之,需要的電機功率也就越大。通過差值的正負可以判斷出機器人是偏向亮的一邊還是暗的一邊,然后再增加或減小對應(yīng)電機的功率。這樣你的機器人在行進中不斷修正兩個電機的功率,達到巡線的目的。調(diào)整好光電傳感器距離桌面的高度和電機的基礎(chǔ)功率就能達到比較平順的巡線效果。
三、定位技巧
1.出發(fā)定位
相同的程序,機器人從不同位置出發(fā),可能會產(chǎn)生完全不同的效果,所以出發(fā)定位是機器人準(zhǔn)確性的基礎(chǔ)。出發(fā)定位可以借助于桌面的擋板,用擋板的一個面或一個角來定位;可以借助于地圖上基地的刻度來定位;可以借助于事先準(zhǔn)備好的矩形的、三角形的或其他形狀的定位器來給機器人定位?傊绦虮旧淼娜蒎e性能之外,出發(fā)定位是保證完成任務(wù)的基礎(chǔ)。
2.行進中定位
機器人的一次出發(fā)要完成多個任務(wù)(如果只完成一個任務(wù)時間會不夠),在完成了一個任務(wù)或行進了一段距離之后,機器人肯定會累積一定的誤差,隨著行進距離的增加誤差也會增大,所以我們要采取一些措施來修正這些誤差。第一種方法,可以借助于比賽場地四周的墻壁來定位。用機器人一個比較平的面去輕輕撞擊墻壁,就能保證這個面跟墻壁是平行的,以此來調(diào)整整個機器人的姿態(tài)。第二種方法,借助于兩個光電傳感器和地圖上的黑線。兩點確定一條直線,事先在機器人的平行位置上裝上兩個光電傳感器,當(dāng)兩個光電傳感器都能檢測到黑線時,說明兩個光電傳感器都停在黑線上,如果有一個傳感器沒有到位,只需要調(diào)整相應(yīng)的電機即可,以此來保證機器人的位置是與黑線平行的。
四、加速技巧
機器人在出發(fā)的一瞬間由靜止?fàn)顟B(tài)轉(zhuǎn)變?yōu)檫\動狀態(tài),如果出發(fā)的功率較大,由于摩擦力不夠或摩擦力不均衡等情況,可能使得機器人在出發(fā)時就產(chǎn)生了方向的偏移,那么行進中就會放大這樣的誤差。如果我們讓機器人慢慢加速,讓機器人在靜止和快速運動間有一個過渡的狀態(tài),這樣就可以減小出發(fā)瞬間帶來的誤差。在樂高的教程中有一課就叫做《加速》,它是采用幾個慢慢增大功率的移動模塊來實現(xiàn)的,可實際操作中,就會發(fā)生加速的同時速度很不穩(wěn)定,會有一頓一頓的感覺,反而會產(chǎn)生更大的誤差,所以這種加速方法在比賽中是不能采(未完,下一頁)
|