我知道寫 blog 最好有個順序,但是過去半年繳白卷的情況下要兼顧事件順序實在太過挑戰我所剩不多的記憶力,大致交代一下前情提要,我們在 school year of 2014 開始 homeschool 留留,以後有機會再慢慢說這個歷程,現在要講的是 robotics compeition.

First League 有三級,第一級是 FLL (First Lego League) 通常給國小國中生,第二級是 FTC (First Tech Challenge) 給七到十二年級的學生,第三級是 FRC (First Robotics Challenge) 給九到十二年級的學生.我們的隊伍有兩個七年級生,兩個八年級生,兩個九年級生和一個十年級生,報的是 FTC.這篇的照片從九月開始,記錄從無到有,從第一次資格賽墊底到第二次資格賽奪冠,再到第三次資格賽一路贏到奪冠的過程,中間發生很多亂七八糟的事情,無論好壞都想寫下來,所以這篇會是超長的一篇.

現在回頭看真不敢相信這支去年九月才成軍的隊伍在過去的這幾個月完成了這麼大的 project.



robotics team 每周聚兩次,一次三小時.一切從這個小 conceptual model 開始.一開始就決定要用 omni wheels, 45 度角的 wheels 雖然損失一些 drive torque 但不侷限在兩度方向移動可以靈活轉換方向的優點很吸引人.當時唯一的不確定 programming team 寫程式的功力,有沒有辦法跟上並 support mechanical team's decision.





隨著大批零件的到來,開始不眠不休的 build period!











留留是 programming team 裡(其實 programming team 也只有兩個人)最強的 coder. 某個晚上他跟我討論四個輪子的轉動方向,然後跟老公看了一下 RobotC (FTC 使用的程式語言,是 C with some specific library made for robotics),很快就把 driving code 寫出來.第一次操縱 robot 移動轉動大家都興奮極了, team mentor 說太好了現在知道隊上有優異的程式能力(She meant 留留),這樣 mechanical side 可以做的事情又更多了!









build ball mechanism (撿球裝置),下面有橡皮筋不讓球在行進之間掉出來.





某天某人 sponsored pizza for lunch.



第一次測試 drawer slide (把球升高的裝置)成功到達一百二十公分,大家都很高興,只有那個寫程式的傢伙繼續低頭改程式.今年 FTC 比賽是 Cascade effect (有興趣可以點這裡), rolling goal (裝球的桶子)有三十公分,六十公分和九十公分三種高度,場中間的 center goal 是一百二十公分.



把 ball mechanism 裝上 drawer slide.





拿最矮的三十公分 rolling goal 測試 ball release (放球)的功能.



成功達到一百二十公分.





我們的 mechanical team is one of the best you can ask for. 機械組的這兩個小孩真是太強了!



照片裡這三個小孩是全隊的靈魂人物,兩個 mechanical 一個 programming. 全隊程式大概有 90% 都是留留寫的.





Team coach 家的狗. Safety first!



第一場 qualifying tournament 在十一月中, tournament 前一周留留和另一個 programming team 的小孩 C 連續兩晚聚在我家 merge codes, 也是最後兩周才終於說服全隊使用 github for code control. 雖然大部分的程式是留留所寫,不過連他自己過去一個多月寫的程式都有很多試誤的地方,亂七八糟沒有頭緒,其中一晚兩大兩小做到半夜十二點才結束,中間留留還先去 math circle 回家再聚.這個 C 問題很多,他的程式大部分都是爸爸幫忙寫的,自己沒有能力獨立作業的他因此非常沒有安全感,只要留留做的部分有任何進展(which is every week)就非常怨嘆,甚至對著留留說 "I hate it that your codes always work and mine don't!" 一開始留留試著說服他 it's for the team, not our personal glory! 但是這種事情多發生幾次實在令人頭疼.



比賽開始前有 hardware and software inspection 和 field inspection (現場測試),做最後的準備.









Hardware inspection.



緊張又興奮的新手隊伍.



trial drive.









等待上場.



第一場比賽在 Sequoia High School. 地主隊 automatically qualified. 整個 norcal 有十二場的 qualifying competitions. 總共參賽隊伍有一百二十隊,取四十二隊晉級 Norcal regional.





隊上的 driver T 披了一件海報做成的披風.





每隊上場三人, driver, co-driver and coach. 大部分隊伍這三人是固定的,留留的隊上 co-driver 和 coach 角色大家輪流上陣.留留在 coach 的時候實質工作是觀察 drive and also autonomous program to improve his codes.比賽分成兩部分,第一部分是三十秒鐘的無人控制 autonomous mode, 得分方式有: 成功從 ramp 下來,投球進任何一個 rolling goal, 打掉中間卡住球的棍子 release ball, 投球進中間的 center goal, 把 rolling goal 拖進 parking lot zone 停好等等. robot 可從 ramp or parking lot start, 比較低階的無人控制程式是執行先前寫好的程式,比較高階一點依據 sensor data 執行不同的程式.第二部分是一分三十秒的 tele-op mode, 由 driver 控制撿球放球.大部分隊伍把得分希望寄託在第二部分,留留隊上可以穩穩地用他寫的 autonomous ramp start 得四五十分.



菜鳥隊伍此場比賽中犯了很多錯誤,其中之一是現場改程式.比賽當中臨時改程式是很危險的事情,沒經驗的留留幾乎是每場結束立刻蹲在地上改 codes.





全隊輪番阻止還是照改不誤,他真能"在壓力下工作".由此可見這傢伙平常耳根有多硬,有多不聽媽媽的話.







比賽方式是十六隊裡每四隊分成紅藍兩組算是一個 match, 一個回合有四個 matches, 總共有五到六回合,每一回合重新打亂分組.下面這場 match 留留隊(8737)是藍組,只能放球在藍色的 rolling goals 裡面.最後排名是以分組贏的次數和輸隊得分來定.這個算分方式不是很好懂,大致來說如果遇上弱隊而贏總積分不會高到哪去.所以最好的狀況就是兩組都得高分的狀況下贏.





第一次資格賽的前三回合留留隊的 robot 動也不動,不是 wifi connection 就是 battery 有問題.在後台 team 6696 幫他們 debug. 從第四回合開始終於排除一切問題,開始得分了!可惜到了第四回合才開始得分,最後的總積分排名是最後一名.(留留隊是 team 8737) 這場比賽看的差點心肌梗塞.



當天太過緊張,幾乎整天沒喝水的留留終於露出笑容.



當天的第一名是 team 5220 來自灣區 Fremont 傳統強校 Mission San Jose High, 前四名可任選 partner, 第一名選了第二名 team 4963, 原來的第三名 team 6696 出乎意料地選了第十六名的我們.他們在後台幫助我們許多,知道問題已經排除也知道我們可以得高分. team 6696 來自南灣的私立教會學校 Valley Christian High, 非常有運動家精神的一個隊伍.我們隊伍剛成軍的時候他們邀請我們隊去上他們學校開的五堂入門 robot programming 課,我們也因為他們的關係得以進入 semi final.



Semi final 總共有四組(八隊)採三戰兩勝制, team 6696 (Valley Christian High) 和 team 8737 (我們) 打敗地主隊 team 4238 (Sequoia High) 和 team 7390 (Saratoga High)晉級到最後兩組(四隊).可惜最後輸給了 team 5220 and team 4963. 我們戲稱 team 5220 (Mission San Jose High) "the popcorn machine" 送球機制是把撿進來的球加壓打到上方準備放球,送球的速度飛快.



最後拿到 Rockwell Collins Innovate Award. 大概有五六隊得到獎項,我們拿到的 innovate award 是比較小的獎.最大的獎是 inspire award. (這邊有一小段 innovate award 的給法 The Rockwell Collins Innovate Award celebrates a Team that not only thinks outside the box, but also has the ingenuity and inventiveness to make their designs come to life. This Award is given to the Team that the Judges feel has the most Innovative and Creative Robot design solution to the FIRST Tech Challenge to any or all specific field elements or components. Elements of this Award include elegant design, robustness and ‘out of the box’ thinking with regard to design. This Award may address the design of the whole robot or some sub-assembly component attached to the robot. The creative component needs to work consistently, but a robot does not have to work all of the time during Matches to be considered for this Award. The Team’s Engineering Notebook shows the design of the component(s) and the Team’s robot, and succinctly describes how the Team arrived at that solution.)

第一次資格賽結束我們沒有晉級.晉級的方式其實還蠻複雜的,不是只看比賽積分或當場決賽排名.除了地主隊是保障名額, Inspire Award 得主,當天決賽總冠軍 captain, 後面的名額照著其他獎項的排名和總決賽排名來決定.每次資格賽取三到四隊晉級到 regional.



第一次資格賽 autonomous mode 片段.



第一次資格賽 tele-op mode 片段



我們沒有太多的經費,但是這群手作超強的孩子用木板自製 center goal, totally serves the purpose.




第二次資格賽前被邀請到 King's Academy scrimmage.







三位主力成員.



看看 King's academy 場地裝備有多麼齊全.雖然 scrimmage 的時候對方有個隊員不知道發甚麼神經衝出去鬼吼鬼叫一頓.







終於到了十二月中的第二場資格賽,在 Play Space 舉辦(The Play Space is a home the FIRST community in Northern California).



Hardware inspection



Sizing check, 每個 robot 都要能 fit in this box.







專注的隊員們...



這個最初的小道具在 judge review 解釋 concepts 很好用.





還有心情搞笑的隊員.









第二場資格賽一路苦戰打到 final 最後贏了! (his team is team 8737), 選的 ally team 4157 來自離矽谷開車兩小時的 Modesto. 不是很強的隊伍但是兩隊隊員調性相近,合作無間.這次資格賽我們已經進步到有餘力幫別隊修 robot 和 debug codes, 這個隊伍說 "You helped us fix our robot so we will help you win!"這場資格賽我們以 winning alliance captain 順利拿到晉級資格.



Team 8737 and team 4157 賽後合照.









隊員的弟弟妹妹都到齊了.



第三場資格賽在一月中舉辦,已經晉級的本隊完全沒壓力,其中一位隊員媽媽拍了以下非常專業的 robot 照片.











準備放球入 center goal 連拍.







放球入 high rolling goal 連拍.









這次全隊特別製作了小領帶上場.完全符合 First league 的口號 gracious professionalism!



這場資格賽打得非常輕鬆,一路過關斬將到了最後的 final 選了 Team 4345 (Arrogan high school from San Meteo).



隊上的 robot design 真是 clean line.





好幾回合因為贏分太多乾脆讓隊上 backup driver 上場控制.



場下的 pit (準備區).



Final 前四隊握手.



主裁判解釋規則.



總決賽時 King's academy 在 center goal 前惡意阻擋我們的 robot 被判 penalty 150 points, 賽後還找裁判理論了半天.比賽場上場下人性畢露,搞小動作的終將被人唾棄. King's Academy 在這一場比賽後確定晉級無望,居然主動提議把 field 場地器材捐給我們,被我們婉拒了.同樣是教會學校, Valley Christian High 的機器人團隊令人尊敬,至於 King's Academy 就不予置評了.



看看這支在三次資格賽下漸漸成熟的隊伍,努力有了回報真令人欣喜!





第一年的 homeschooling 隊伍前往二月底的 Norcal regional! (待續)