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