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