這是大學的時候參加的乙個比賽。robot杯全國機械人公開賽。做的是搬運機械人。屬於光電組的。
大概有乙個月都在準備這個比賽。我和儀器與電子學院的培松同學。資訊與通訊工程學院的彥宗同學遍歷了從硬體設計。到軟體編寫。過程艱辛。
硬體:晶元用的是stm-32。加上機械人的乙個框架。
搬運用的手臂是兩個舵機加上兩個鐵片。這雖然有點簡陋。但是確實可以將物塊有效的搬運。
動力是兩個步進電機對應後面兩個輪胎。前面只有乙個輪胎。沒有設計讓前面輪胎轉向。而是通過後面兩個電機的速度差產生角度。
機械人的感官用的是前面一排四個雷射感測器。場地上的線是黑色的。其餘地方是白色的。這樣可以雷射循跡。
還有機械人最前面的乙個顏色感測器。要搬運的物塊顏色不同。五個物塊是比賽現場抽籤決定的。通過顏色感測器返回值可以判斷她們。
硬體的大概樣子就是這樣了。說機械人有點高大上了。
因為她其實就是乙個小車。可以根據地上的線雷射循跡。可以檢測物塊的顏色。把物塊搬運到目的地。滿足比賽的所有要求。
我們甚至弄了乙個使用者介面。是搭載在機器上的一塊12864,
主要顯示當前識別的顏色。還有一些提示資訊。後來因為要儲存資訊還引入了乙個e2prom。用的是iic協議。
原理圖就不貼了。因為現在靜靜躺在我硬碟裡面的只有當時寫的軟體部分了。。
軟體:**在附件中也有。雖然現在看以前寫過的**。感覺目不忍視。耳不忍聞。但還是原樣貼了出來。
在學校創新創業基地的數控工具機上。培松實現了機械人的框架。和搬運用的手臂。和步進電機的驅動
彥宗同學主要負責雷射感測器的驅動編寫和雷射循跡部分的程式除錯。
我主要負責顏色感測器、舵機和e2prom的驅動編寫還有主程式搬運演算法的實現。
機械人的拼裝和程式的除錯由三個人共同完成。在五院的乙個實驗室裡。
各種驅動在工程**的hardware下。各個資料夾的名字就說明了他的作用。(比如iic協議的實現在iic目錄下,顏色感測器的驅動實現在color目錄下)**中都有詳細的注釋。
在start目錄下。放的是cortex-m3的啟動引導**。當然我們當時的知識水平不足以寫出這樣的**。這個用的是cortex-m3自帶的。
在track_jg目錄下。放的是主驅動函式main_test。可以看到其中只有兩行**。step0(); 還有 step1()。
當時我把整個搬運流程分成了兩個部分。還親切的稱為南半球和北半球。(因為比賽的場地圖形怎麼看都是乙個地球!哈哈)
關於具體**就不再展開了。我寫了很詳細的注釋。
到比賽現場之後。我們才發現我們的硬體設計的真是不太對得起觀眾。
旁邊復旦大學的同學甚至將五個物塊堆疊在一起。這節省很多時間。但是成功率比較低。
再旁邊一點的解放軍理工的同學都穿著軍裝。神情嚴肅。一絲不苟的除錯這他們的機器。
賽場最南的一支隊伍讓我映像最深。因為他們的機械人跑的實在是太快了。(導致他們除錯都是把程式寫死。在一定時間內系統自動掛起。不然根本抓不住機械人。)
從外觀上看他們用的是灰度感測器。具體電機不知道用的是什麼。穩定性一般,但是速度非常快。
不得不說。他們設計的硬體很系統。
後來交流知道。他們學校有多年的參賽經驗。很多東西得到了傳承。甚至有專門的實驗室負責此類賽事。基本不需要考慮預算。
當他們拿到比賽題目的時候。設計硬體時候很自然的自底而上。很多東西都有。
回想我們是從最開始的晶元開始,發現缺少什麼就在**上買。(而且還要**從低到高排一下~。~)。有點像os中當不得不分配子程序記憶體空間時,才拷貝資料那種意思在裡面。
當然這些都是沒有取得第一名的事後言論,總結下來這次比賽有幾點需要反思:
1. 這是一場機械人比賽,可以在硬體上多加設計,要是認真對待比賽,就無論如何應該把這些因素考慮到,把機器和這個片上系統的根基打牢。而最終正如我們看到的那樣,這場激烈的特洛伊戰爭中的主角,如阿喀琉斯之踵,成為眾矢之的。
2. 預算、準備不足,硬體是瓶頸。當程式燒錄到開發板、基本跑通之後,我們就發現我們的硬體穩定性不足、機械人整體效率不足,跑飛的場景很多。我們想到了從硬體上進行優化,但是賽程臨近,不好大改硬體,導致從那時到最終比賽,我們都在做軟體上的優化。
3. 比賽前夕,電路燒毀,冷靜面對敗局,最終使用備用材料,在場地就地重建系統,力挽狂瀾。泰山崩於前而色不變、挽狂瀾於既倒可能算得上一種成就與收穫,但是我還是把這個事情列在不足裡面,因為這歸因於硬體是瓶頸,應該從根本上避免問題。
有一點值得學習:
1. 我們沒有一味地追求機器的速度,而是仔細分析了比賽規則。
比賽是相同時間比分數,而不是相同分數比時間,我看到旁邊的對手們大多都一味追求速度,卻忽視了穩定性,不少機器都沒拿到滿分。三分鐘對於機器來說是足夠的,只要確保在這個時間內取得滿分,就肯定是一等獎。
我們離第一只有一線之隔。
後來在洛陽玩了兩天。正好下雨,好開森。
今天整理硬碟的時候發現這些。寫下來。算作回憶。
藍橋杯 機械人塔
x星球的機械人表演拉拉隊有兩種服裝,a和b。他們這次表演的是搭機械人塔。類似 a b ba b a aa b b b b b a b a b a b b a你的任務是幫助拉拉隊計算一下,在給定a與b的人數時,可以組成多少種花樣的塔。輸入一行兩個整數 m 和 n,空格分開 0 m,n 500 分別表示...
贏家機械人 全國首家聚合型AI智慧型機械人營銷平台
在我國國家戰略規劃中,人工智慧已超越技術概念,上公升為國內產業轉型公升級 提公升國際競爭力的發展立足點和新機遇 行業應用層面,巨大的行業應用需求場景 研發能力積累與海量的資料資源 開放的市場巨集觀環境有機結合,形成了我國人工智慧發展的獨特優勢,依靠應用市場廣闊前景,推動技術革新,形成技術和市場共同驅...
藍橋杯題 機械人繁殖
資料格式 輸入一行兩個數字n和s,用空格分開,含義如上。n不大於100,s位數不超過50位。要求輸出一行,乙個整數,表示最初有機械人多少個。例如 使用者輸入 2 31 則程式應該輸出 5再例如 使用者輸入 97 2218388550399401452619230609499 則程式應該輸出 8資源約...