作為一名有多年經(jīng)驗的青少年機器人競賽教練員,我在此就FLL挑戰(zhàn)任務(wù)具體技術(shù)思路方面分享一些經(jīng)驗,亦與各位教練員共勉。FLL機器人工程挑戰(zhàn)賽是一項青少年國際機器人比賽項目,整個競賽分為現(xiàn)場競技、技術(shù)問辯、課題研究幾個部分,在培養(yǎng)青少年機器人興趣和技能的同時鼓勵他們關(guān)注社會,積極運用科學(xué)技術(shù)解決各種問題。每年競賽組委會都會以一個世界熱點話題為主題,現(xiàn)場競賽部分在一塊場地上圍繞這個主題設(shè)計十余項任務(wù),由機器人完成,并且要求參賽團隊結(jié)合生活對這個主題開展課題研究,最后還要在技術(shù)問辯時進行課題介紹和展示團隊風(fēng)采,這也是對參加活動青少年的一次綜合、全面的考查。
總體設(shè)計
不管是建造高樓大廈還是編寫軟件,都是從總體設(shè)計開始的,ELL挑戰(zhàn)任務(wù)方案也不例外。學(xué)生,尤其是低年級的學(xué)生,易傾向于卷起袖子就干,直接搭建機器人主體部分,然后根據(jù)不同任務(wù)添加不同策略物,一旦中途發(fā)現(xiàn)方案不可行極可能要放棄此方案重新再設(shè)計,造成不必要的時間浪費。一個好的方案第一步應(yīng)該是先從整體考慮的,結(jié)合自身的條件綜合分析各項任務(wù),哪些任務(wù)要做,哪些不做,哪些一塊兒做,用什么方法去實現(xiàn),等等,這些都要在腦海中勾畫出輪廓,某些關(guān)鍵的細節(jié)方面可能需要先做出雛形試驗,然后估算其可行性。這一步非常重要,也是培養(yǎng)學(xué)生創(chuàng)新意識、鍛煉學(xué)生綜合思考能力的一環(huán)。直覺思維傾向的學(xué)生在這方面有相對優(yōu)勢,在學(xué)生組隊的時候應(yīng)盡量搭配好。
2012年ELL主題是食品安全,挑戰(zhàn)任務(wù)難度是歷年最高的,以學(xué)生今年參賽方案總體設(shè)計舉例:
①自身條件:有足夠的樂高器材;學(xué)生也比較有經(jīng)驗,結(jié)構(gòu)較復(fù)雜集成度較高的方案應(yīng)該能設(shè)計出來。
②任務(wù)選擇分析:理想的分時比452分/150秒≈3分/秒,單個任務(wù)來看分時比最高的是細菌任務(wù),遠高于3分/秒,清除污染、收割機、比薩、冰淇淋等任務(wù)分時比較低,分時比高的任務(wù)應(yīng)盡量優(yōu)先。當(dāng)然考慮到一次完成多個任務(wù)的情況,各任務(wù)的分時比是會變動的,是否需要放棄哪些任務(wù)還得看最終的方案。
③任務(wù)分析設(shè)計:南面靠墻的幾個任務(wù)在一條線上,可以一塊兒完成;西面的一些任務(wù)亦是距離較近,可一塊兒完成;東面的細菌、比薩、溫度計等任務(wù)亦可以一塊兒完成;北面的老鼠任務(wù)是競爭性的,要不要做還需根據(jù)最終方案來決定;送細菌到洗手池任務(wù)分時比最高,確保穩(wěn)定再謀速度。
④結(jié)構(gòu)分析設(shè)計:任務(wù)較多,難度較大,主體和策略物需分離才能更好地完成任務(wù),而且更換策略物須方便快捷;可能的話,主體的馬達數(shù)量應(yīng)盡量少,以騰出第3個馬達來完成更多的任務(wù)。
⑤比賽經(jīng)驗分析:比賽時難免有意外因素,需要預(yù)留足夠的時間以防意外事情發(fā)生,如預(yù)留15秒時間。因此訓(xùn)練時不能把150秒全部用完,哪怕放棄一些任務(wù)。
能量與力
在設(shè)計具體結(jié)構(gòu)之前,先分析能量與力,作為結(jié)構(gòu)設(shè)計的依據(jù)。因為不管用什么方法去完成任務(wù),總要有能量,總會在力這方面得到體現(xiàn),所以從這個角度去看問題會更加清晰。
例如,學(xué)生在設(shè)計機器人去完成任務(wù)時一般首先想到的是直接使用馬達。問題在于機器人行走就使用了2個馬達,只剩下1個馬達去做任務(wù)了,所做有限。其實從能量這個角度去看,行走馬達已經(jīng)提供了能量,主體部分在行走時已經(jīng)帶有動能,可以設(shè)計合理的結(jié)構(gòu),利用這個動能獲得力去完成任務(wù)。再如,以今年FLL挑戰(zhàn)任務(wù)為例,如果只是希望把東北方向的細菌清空出場地上的話,只要輕輕觸碰開關(guān)即可,只需很少的能量即可完成,很容易想到彈射一個球出去碰撞開關(guān)的方法,因為這方法所需能量幾乎是最少的。
從力的角度看,除馬達外,有很多其他方法可以獲得力以完成任務(wù),如彈力、重力、摩擦力、壓力等。
彈力:橡皮筋是最可以靈活實用的彈力裝置,因為可以在基地拉緊橡皮筋,如此機器人則攜帶了彈性勢能在里面,出基地后可以用于完成任務(wù)。橡皮筋也不一定要在基地拉緊,從能量轉(zhuǎn)換的角度來看,出基地后馬達的能量也可以用來拉緊橡皮筋,或者其他形式的能量都可以相互轉(zhuǎn)換。順便一提,并非只有橡皮筋、彈簧等能提供彈力,可根據(jù)需要而定,不必拘泥,如一些軟軸也多少具有一定的彈性。
重力:司空見慣了,大家反倒容易疏忽了重力,盡管下意識地會利用它。從能量角度來看,基地是個立體空間,意味著機器人在那里可以獲得一些重力勢能,出基地后就可以加以利用,一般可以去完成基地附近的任務(wù)。以今年FLL挑戰(zhàn)任務(wù)為例:如果希望完成北面的黃色小球任務(wù)、收割機上的玉米掉場地上或者基地旁邊的粉色細菌掉場地上,那么可以在基地豎起一個策略物,機器人離開基地時,此策略物整個倒下去(同時離開基地)完成以上任務(wù)。此方法的好處是利用了“免費的”重力勢能去完成任務(wù),讓機器人騰出更多的時間去做其他任務(wù)。
摩擦力:摩擦力是把雙刃劍,有利有弊。很多時候我們都在想辦法避免摩擦,如機器人頂著圍欄走的時候加個輪子以減小摩擦;有的時候摩擦力卻可以加以利用幫助機器人去完成任務(wù)。
壓力:氣泵就是典型的利用氣體壓力的裝置,最常見的物體接觸產(chǎn)生的力也屬于壓力范疇。
當(dāng)然還有其他形式的力,如有需要,都可加以利用,不一而足,在此不再贅言。
具體結(jié)構(gòu)
牢固穩(wěn)定、靈活高效、速度快的結(jié)構(gòu)是我們共同的追求,結(jié)構(gòu)設(shè)計得好,事半功倍。除物理知識外,建議大家多了解一些基本的機械方面的知識,做起來才順手,比如杠桿、,齒輪傳動變速、單向裝置、運動轉(zhuǎn)變、連接方法、觸發(fā)開關(guān)等。
機器人結(jié)構(gòu)須牢固,重心位置合理,防止行走打滑,需要的話可以使用加重積木塊去修正重心。如果結(jié)構(gòu)牢固得像坦克一樣,行走很穩(wěn)定,就能省卻一些不必要的麻煩,例如機器人從東走到西誤差不超過1厘米,那有些地方就不用傳感器去糾偏了。使用傳感器去糾正機器人行走偏差來保證其穩(wěn)定性是大家常用的方法,一般來說比較費時,能不用則盡量不用,還可以使用更穩(wěn)定的物理定位來代替。比如機器人頂撞圍欄來確保行走穩(wěn)定;又如今年FLL洗手任務(wù),通過頂扣水池確保精確穩(wěn)定等。
說到靈活高效,最重要的是集成度,換句話說就是機器人一次出基地能把多個任務(wù)一起完成,當(dāng)然越多越好,對任務(wù)較多的挑戰(zhàn)來說這點也許就是關(guān)鍵了。此前分析能量與力,在這里派上用場了。我們可以利用盡可能多的方法去完成任務(wù),觸發(fā)開關(guān)一般是在固定位置借力,應(yīng)盡量輕巧實用,另外基地是個立體空間,盡量加以利用。例如:今年FLL任務(wù),南面一條線上有不少任務(wù),機器人或策略物只需靠墻直進直退即可,那么行走只需1個馬達即可,可以利用諸如橡皮筋的彈力、重力、頂撞場上固定模型的反作用力等去完成任務(wù)。如此,可以設(shè)計機器人主體部分去完成西面任務(wù)的同時擁有第3個馬達的策略物去完成南面的任務(wù),中間1根電線相連即可。
速度在今年難度很大的挑戰(zhàn)中顯得尤為重要。結(jié)構(gòu)上來說,大小齒輪傳動能提高速度,但考慮到穩(wěn)定性,建議別過多使用。程序上來說,盡量減少停頓也是能提高速度的。還有一點很重要卻容易被忽略,切換任務(wù)的時候,選擇程序、更換策略物要盡可能方便快捷。要在程序上省下5秒鐘并不容易,但在任務(wù)切換時設(shè)計得好的話能輕易辦到,這點可以節(jié)省不少時間,建議大家觀看自己的錄像去分析。速度與穩(wěn)定有時難以兼得,只能具體情況具體分析。
程序
如果方案設(shè)計良好,其實程序并不復(fù)雜,甚至可以說很簡單。有幾點體會:盡量讓學(xué)生先寫流程圖再寫程序,多使用模塊讓程序變得簡單明了;所有任務(wù)的程序編寫在同一個程序文件里,通過開關(guān)(比如觸感)來選擇,減少按鍵次數(shù)以節(jié)省時間;程序中盡量減少停頓保證速度;程序盡可能高效,例如只驅(qū)動單個馬達使用電機圖標即可,不必使用移動圖標。