何文芝
在2017年國(guó)際奧林匹克青少年智能機(jī)器人競(jìng)賽(中國(guó)賽區(qū))中,我校學(xué)生胡澤雄、賀汝成奪得機(jī)器人場(chǎng)地定向任務(wù)賽的金牌。
現(xiàn)以這次大賽為例,分享一下我在機(jī)器人教學(xué)中的一些經(jīng)驗(yàn)。
一、組裝機(jī)器人
機(jī)器人如果重心太高、速度過(guò)快就易傾倒,速度過(guò)快還會(huì)導(dǎo)致慣性過(guò)大,降低制動(dòng)的準(zhǔn)確度,加大編程難度。
重心所在的位置決定了機(jī)器人的行走性質(zhì),如果重心偏向一邊會(huì)導(dǎo)致機(jī)器人無(wú)法走好直線,速度稍快就會(huì)翻車。所以應(yīng)盡可能使機(jī)器人的重心保持在中心位置,必要時(shí)可加配重物來(lái)調(diào)節(jié)平衡。
由機(jī)器人零部件所組成的機(jī)器人要符合工程學(xué)的結(jié)構(gòu)原理。機(jī)器人是一個(gè)體系,電機(jī)裝在哪、要不要減速、用哪種方式減速等都有講究。所選用塑料零件的強(qiáng)度、幾何尺寸要符合要求,力求簡(jiǎn)單但不影響效果、結(jié)構(gòu)緊湊但不影響性能。機(jī)器人在運(yùn)動(dòng)過(guò)程中絕不能出現(xiàn)散架或掉零件的現(xiàn)象。
二、編程技巧
1.直線行進(jìn)
我們通常的做法是在一個(gè)循環(huán)中每隔一小段時(shí)間就比較兩個(gè)電機(jī)轉(zhuǎn)過(guò)的角度,如有誤差立即在功率上進(jìn)行補(bǔ)償。
例如用于前進(jìn)的兩個(gè)電機(jī)B和C,在前進(jìn)的同時(shí)檢測(cè)B電機(jī)和C電機(jī)轉(zhuǎn)過(guò)的角度,求兩角度的差。如得到的是正數(shù),說(shuō)明B電機(jī)轉(zhuǎn)多了,用這個(gè)正數(shù)加上原本設(shè)定的基礎(chǔ)功率賦給C電機(jī)的功率,這樣C電機(jī)的功率就略慢于B電機(jī),彌補(bǔ)了誤差。利用C電機(jī)和B電機(jī)的累積角度控制循環(huán)結(jié)束的條件,就可以控制機(jī)器人直線行駛的距離。
在此次比賽中,機(jī)器人轉(zhuǎn)兩次彎還要挑起一根在運(yùn)動(dòng)路徑中的橫桿,組裝和編程時(shí)應(yīng)注意橫桿被挑起后不能落在機(jī)器人行駛的前方,否則機(jī)器人在前進(jìn)過(guò)程中會(huì)壓到橫桿而改變行進(jìn)方向。正確的方法是挑起橫桿后讓其落在機(jī)器人后方或側(cè)面。
2.轉(zhuǎn)彎
準(zhǔn)確轉(zhuǎn)彎是機(jī)器人準(zhǔn)確走位的一項(xiàng)重要技能。例如此次比賽無(wú)跡可巡,只能依靠編程技巧。機(jī)器人有兩個(gè)驅(qū)動(dòng)輪和一個(gè)萬(wàn)向輪,采用弧線法的程序比較麻煩,采用轉(zhuǎn)角法雖然程序簡(jiǎn)單,但風(fēng)險(xiǎn)比采用弧線法大。通過(guò)多次練習(xí),我讓學(xué)生采用單邊旋轉(zhuǎn)法,經(jīng)過(guò)精準(zhǔn)編程,機(jī)器人在兩次經(jīng)過(guò)彎道和三段直線后順利到達(dá)終點(diǎn)。
3.定位
在相同的程序下,機(jī)器人從不同的位置出發(fā)可能產(chǎn)生完全不同的效果,所以出發(fā)定位是機(jī)器人準(zhǔn)確性的基礎(chǔ)。
對(duì)于其他比賽而言,出發(fā)定位可借助桌面的擋板,用擋板做一個(gè)面或一個(gè)角度定位,還可用事先準(zhǔn)備的矩形或其他形狀的定位器給機(jī)器人定位。但在國(guó)際奧林匹克競(jìng)賽中只能借助場(chǎng)地上的定位點(diǎn)定位,多次練習(xí)、記住位置方能解決問(wèn)題。總之,除程序本身的容錯(cuò)性能之外,出發(fā)定位是保證機(jī)器人完成任務(wù)的基礎(chǔ)。
4.加速
機(jī)器人在出發(fā)的一瞬間由靜止?fàn)顟B(tài)變?yōu)檫\(yùn)動(dòng)狀態(tài),如果出發(fā)的功率較大,由于重心的偏離使摩擦力不夠或不均衡,可能使機(jī)器人在出發(fā)時(shí)就偏離方向,在之后的行進(jìn)中這種誤差還會(huì)被放大,甚至導(dǎo)致后面的程序無(wú)法執(zhí)行。所以應(yīng)讓機(jī)器人慢慢加速,減小出發(fā)瞬間產(chǎn)生的誤差。
在樂(lè)高教程中有一種采用幾個(gè)慢慢增大功率的移動(dòng)模塊來(lái)實(shí)現(xiàn)加速的方法。但在實(shí)踐中,我發(fā)現(xiàn)加速的同時(shí)機(jī)器人行進(jìn)的速度很不穩(wěn)定,機(jī)器人會(huì)出現(xiàn)走走停停的現(xiàn)象,反而增大了誤差,所以在比賽中一般不采用這種加速方法。
我們利用一個(gè)循環(huán)模塊,循環(huán)的次數(shù)取決于加速后功率的大小。在循環(huán)模塊的內(nèi)部放一個(gè)移動(dòng)模塊和一個(gè)等待模塊。移動(dòng)模塊的功率由循環(huán)次數(shù)決定,等待模塊的時(shí)間取決于加速度的大小。這樣就可以獲得比較平穩(wěn)的加速過(guò)程。
機(jī)器人是一門綜合技術(shù),需要我們?cè)趯?shí)踐中不斷地探索和學(xué)習(xí),憑著自己的堅(jiān)持和興趣不斷地攀登,為機(jī)器人教育事業(yè)、為人工智能的發(fā)展貢獻(xiàn)自己的一份力量。
發(fā)明與創(chuàng)新·中學(xué)生2018年6期