第二章 傍晚的科技死宅日常(2)
暑假的時候,張文彬跟晏潤說要借他的隊友伯迪用一用,本來伯迪在隊伍里是來畫模型和加工圖的,而暑假的時候在做的是機械人行進程序的編寫和測試,加上還有着初版的機械人機體,並不急着出完整設計圖紙和做出整個第二版的機體,於是伯迪就被借走了,開學后晏潤也沒問。
現在晏潤知道伯迪當時是被借去做什麼了。
“你看你們隊全是學機械的,華哥要寫行進程序和考駕照,你那會在寫論文,寫圖像識別程序,又在做機械人的pcb,然後你還回家了,那你看迪哥在做啥,除了陪女朋友就是閑着嘛……”
“你這麼說好像也是。”晏潤點頭。
“是吧。那你們程序現在怎麼樣了?”張文彬問。
“現在進度還可以吧,我這邊圖像識別和整體的框架做好了,華哥前幾天把他的坐標移動程序填在我這裏,然後就開始聯動調試了。”晏潤說。
“強呀,我記得你還跟着你們學院那邊的老師做事情吧。你們這個坐標程序大體上用了什麼思路?”張文彬說。
“思路還是挺簡單的。就是把網格狀的比賽場地的長和寬設為x和y坐標軸,場地左下角的第一十字點視為坐標(0,0),當我們的機械人在經過第一個十字點后,如果沿着x軸方向移動,傳感器每感應到一次十字點,x軸的計數便會+1,然後和一開始設定的坐標點來做比較,計數沒到的話就繼續往前走,計數到了的話x軸的移動就停下,進行y軸的計數判定,機械人再沿着y軸來走。舉個例子,如果輸入目標點坐標為(4,3),那麼機械人在經過(0,0)坐標之後,它會先在x軸走過四個十字點,然後停下,再在y軸走三個十字點,到達指定的坐標。我們設定的第一個坐標點就是讀取二維碼的位置。我預先設置好了二維碼的所有情況,讀取二維碼之後用正則表達式匹配相同信息,進行之後的坐標點位移動、顏色識別和機械手的抓取。”晏潤說。
“好像有點複雜的樣子……”因為晏潤語速太快,張文彬一臉似懂非懂。
“其實還好吧,畢竟我們三個都是學機械的,折騰編程顯然沒有電院強,到現在還有一些問題要改。”
“但是你們這個比賽可比我們這難度高多了,我們這個全地形機械人項目編程很直球,甚至結構上都不用怎麼自己做。”
“其實我們這次比這個搬運機械人的隊伍,就我們這個思路上稍微繞了彎。剩下的那幾個程序邏輯也很直球……”晏潤笑着說。
“比如?”
“就是直接將所有路徑情況寫出來,然後以識別二維碼時作為分界點,根據二維碼的數值去匹配對應的路徑。可以說是非常直球了。但是這也導致那幾個代碼量非常大,你想嘛,我們這個要做兩輪二維碼識別,進行一次二維碼做一輪抓取和搬運,一輪要搬運三個物塊放在物塊對應的顏色區,第二輪雖然二維碼位置沒變,但是放置物塊的位置變了,這種路徑情況會有多少種?那代碼量可想而知有多大了。”
“沒錯……會導致代碼量非常多,做調試和修改時會很鬧心。就算有一部分路徑代碼可以重複調用,但路徑情況多呀。”張文彬點點頭。
“唉……我們大二第一次比這個項目時就用的這方法,那個時候只用進行一輪二維碼識別和抓放,但是也已經很多很雜了。”晏潤嘆了口氣。
那是個悲傷的故事,大二上學期時晏潤跟自己專業的同學伯迪和趙孟華組隊參加搬運機械人的比賽,那時候是省里第一次舉辦這個項目的比賽,雖然別的省已經有過相關的比賽視頻,但畢竟是第一次,一堆人各種方案瞎折騰也沒搞出什麼名堂出來。那會晏潤的隊伍很慘,參加省級比賽前的校賽預選時,機械人的電機突然燒了,緊急更換了個新的電機沒有調好程序就直接上場。毫無疑問,校預選都沒過去,這對熬了很多個夜來比賽的晏潤無疑是個打擊,所以今年這第二次的比賽他和他當時的隊友們一起再參加一遍。對於又一次參賽的他們,毫無疑問是學校在這個項目上沖名次的主力。
“不過從我的角度來看,你們這一代搬運機械人真的比去年好太多了,你們那時候用的是arduinomega2560的板子是吧。”張文彬說。
“是嘞。”晏潤點頭。
“然後你們現在用的是esp32的開發板,你又做了一個把所有電路都集合起來的pcb,所有電路元件的線直接插在那塊pcb上就可以。而且還很小,比arduino2560還小接近一半。就算出現特殊情況,像是電機壞了,開發板燒了,更換時也不麻煩。你們去年慘狀我可還記得呢,電機燒了之外,你們還燒了兩塊arduino的板子,一個是2560,一個是uno。”張文彬笑着說。
“那時確實慘,干別的不行,燒各種電路元件屬實第一名。不過我們這次用的esp32其實也很容易燒,這是我們用的第四塊了。”
“沒辦法,誰讓這玩意便宜呢。”
“走了走了,晚上這會我還有別的事呢。”晏潤看了眼手機,時間已經到了18:30。
“咦?周五?晚上?你這又是和哪個妹妹呀?”張文彬壞笑。
旁邊那組在做全地形機械人的也投來了八卦的目光。
“嗚哇!什麼叫又?那幾次都是同學!這次也不是我要出去的,是她找我看電影的!”晏潤頭開始大了。
這種事情一般也解釋不清,只會越解釋越黑。晏潤之前和自己認識的不同的女同學單獨出去看電影時,多次電影院附近偶遇張文彬和許鑫,一開始他倆是“呦,沒想到你這不進油鹽的人也開始食人間煙火了呀”這種表情;第二次偶遇時是另一個女同學,他倆的表情就變了“好傢夥,你這換的速度還挺快”;第三次偶遇時又是一個女同學,他倆的表情成了“我靠,這是第幾個了”。
於是晏潤的事迹在周圍的幾個實驗室廣泛流傳。作為一個工科學校,尤其是工科這種男女比例懸殊的專業,不少男生接觸女生的機會並不多,自己班裏的女同學或者同專業的女同學一般也不好意思去進一步發展,於是晏潤差點被添油加醋成了他們心中的楷模。有時候這幾個女同學還會專門到實驗室這邊來等晏潤,這幫人就起鬨把晏潤轟出去,讓他別折騰編程了,趕緊出去陪妹子去。但是……事實上晏潤真的只是和女同學出去看了個電影,原因也很複雜,可能是不喜歡和男性出去看電影,也可能是從高中起就這樣的原因。高中時晏潤就發現如果看電影找男同學,兩個人看電影很容易就變成兩個人相約網吧激情《英雄聯盟》,但是找女同學的話,一般女同學不怎麼玩網絡遊戲,就沒有相約網吧的可能性,看熱映電影的目的就能順利達成。
“都懂都懂,別解釋啦。”許鑫傍晚來實驗室剛好聽到對話,臉上就差寫着“兄弟,我懂你”這幾個字了。
“完了……我名聲在往奇怪的地方一去不復返……”晏潤捂臉,“溜了,再晚點就遲到了。”
“快去吧,注意安全!”許鑫一臉壞笑,並豎了個大拇指。