主頁 >  其他 > 工訓賽:從參賽到“棄賽”

工訓賽:從參賽到“棄賽”

2021-04-22 10:16:51 其他

??此篇博文并非技術分享,而是記一次艱難的比賽經歷,可能也是大學接近尾聲時最難忘的一次比賽,

??4月12日,已經深夜,快要堅持不下去了,已經連續通宵了三天,身體出現了明顯的不良狀況,但距離工訓賽省賽目前還有四天,

??為什么時間這么緊張,需要通宵除錯?因為我們頻繁地更改方案,缺乏比賽經驗,每個方案都在不停地試錯,最終改回了之前的校賽方案,但是,再也回不去了……

??工訓賽從去年的12月份開始討論方案,中間長時間在放假,專案進度停滯,新學期開學就瘋狂趕進度,但是每天進展依舊緩慢,當其他組的小車跑得飛快時,我們還在緩慢循跡,但最侄訓是在校賽前一天除錯完畢,完成了整個功能,校賽的大佬較多,我們的實力是靠后的,大多使用步進電機,我們既沒有使用步進電機,連直流電機都沒上編碼器,更沒調PID,包括驅動都是非常規的串口驅動,循跡用的車頭反向,所以車身跑起來一抖一抖的,所有的特點綜合起來使得我們的機器人處于一種極端的劣勢:走得丑,放不準,在校賽十支隊伍里面,應該是處于第八位或者第九位,

??比完校賽,我們的機器人只抓取了三個物料放在粗加工區,由于四周有擋板的緣故,機械臂將車身掀起,導致機器人并未跑完全程,四個人都極其沮喪,準備收拾行李離開賽場,校賽10進3,肯定進不了,但事實是,第二天出成績,比第四名多了零點幾分,剛好卡線過校賽,

??4月17號省賽,在此之前我們先換成了步進電機的方案,步進電機確實很穩,能及時剎車,能給機器人增加配重,重心較低,但可能是我們使用不當,步進電機的驅動DRV8825發熱嚴重,使用時間過長時電機一段時間不運轉,驅動失效,甚至有時會損壞單片機(一塊單片機的channel引腳被損壞),之后換成了倍訓的步進電機驅動器模塊,貼在步進電機上,節省空間,但琢磨了一下午,它并未如期轉動,起初由于是電機的線序問題,但找了很長時間沒有解決問題,無奈退貨,最終選用TB6600電機驅動,基本不發熱,驅動電流較大,但體積大,不好安裝,多虧鬼才隊友將驅動懸掛式安裝,才塞在機器人的肚子中,可以說淘寶上的步進電機驅動被我們試了個遍,財庫血空,

??之前的灰度傳感器也被換成了激光傳感器,以為檢測黑線很準,但事實是比灰度傳感器還垃圾!!!檢測同樣一根黑線,輸出的數值還在跳變,詢問客服后,客服支招說斜著安裝激光,我們試了一下,效果還可以,但另外一個依舊精度不夠,懷疑是一個殘次品,且漫反射激光傳感器相互之間影響較大,我們最終放棄了該傳感器,于是從淘寶購買了單路的,兩路的灰度傳感器,使用光敏巡線,效果還不錯,由于沒有安裝位置,此種方案待定,在此我沒有使用一個同學推薦的線性CCD,因為CCD安裝位置較高,主要是看得遠,能檢測前方黑線的變化并做出及時的反應,用于尋直線有點大材小用了,并且CCD價格較為昂貴,

??小車組裝完畢后,開始跑軌跡,但步進電機的小車巡線并沒有我們想象中的那么好,起初以為步進電機可以走直線,不會偏移,事實證明步進電機確實偏離較少,但是巡線回呼的力度比不上直流電機,導致有時偏移黑線太多而偏離路線,步進電機啟動時加速度不能過大,必須采用S型加速或者梯形加速,否則會造成失步,甚至無法啟動,同時也不能實作立即反向,只能先減速停止再加速反向,步進電機的速度不能過快,跑不過直流電機,驅動有時也會偶爾出現問題,

??前后折磨了十天左右,看到步進電機巡線并沒有直流電機效果好(其實步進電機巡線反而更偏,不循線應該是最佳選擇),最終在7號凌晨一點,我們毅然決定換回校賽的方案:直流電機,這也意味著,我們十天改成步進電機方案的努力,全部泡湯,

??大概在八號左右,換回了以前的校賽方案,重新拆裝,花了幾個小時,直接用校賽的工程代碼,可能是還原不出以前的小車的,于是我又花了一個通宵除錯完代碼,此時只是想單純還原最初的方案,未使用編碼器,最終在早晨7點,機器人可以跑完全程,雖然車身較歪且有點抖,但是基本是最初的效果,甚至比校賽的小車更快,

??由于需要改進,之后小車又重新拆裝,換了亞克力板,我不太想使用非常規的串口驅動,總是需要考慮許多問題,比如波特率較低時,串口給驅動模塊發送的訊息會不會被定時器中斷或者外部中斷給打斷,造成資料丟失,電機不轉的現象(因為之前遇到過,小車直接停止運動),干脆之間換成TB6612,使用PWM波驅動,就不需要考慮諸多問題了,但是這也意味著,底層的驅動代碼全部需要重寫,之后花了幾個小時左右寫完底層驅動,

??驅動模塊是在淘寶上購買的一塊電路板,上面集成了兩塊TB6612芯片,還有一個撥動開關,晚上九點左右,另外一個隊友除錯PID時,不小心將這塊驅動板和單片機放在一起,引腳相互接觸造成短路,兩塊板子全廢,進度又變成負數,信心打擊巨大,還好有備用的TB6612芯片,連夜焊接,大概在凌晨一點,又開始重新調PID,調完一個電機后,效果還不錯,回應時間較短,但我們此時并未測驗剩下的三個電機,直接裝車,凌晨三點左右,裝車完畢,接著除錯四個電機的PID,開始出現玄學,車子的軌跡越來越離譜,有時出現單個輪子很長時間不動的現象,我們知道是Kp值太小了,參考了平衡小車之家的PID引數,以及看了許多文章,也都沒調好,前后花了大概一天一夜,但時間不多了,我們決定放棄PID調參,直接讓小車下地,手動增減引數,后來考慮到四個電機的引數應該不同,所以我們每一個輪子都設定不同PID引數,后面效果好了一點點,我們就不愿過多花時間在調參上面了,也參考了上一屆工訓賽同樣調PID的文章: PID:從入門到放棄

??使用陀螺儀MPU6050,可以知道車身的偏角以及加速度,這里我們只使用了z軸的旋轉角,利用陀螺儀尋找方向是一個不錯的選擇,采集的資料經過卡爾曼濾波發送給單片機,起初效果較好,后來陀螺儀的資料完全離譜,以為是陀螺儀本身的零飄或者受到磁場的干擾,我們最終認為,這塊MPU6050已經損壞,又重新購買了其他三塊陀螺儀,

??開始利用陀螺儀轉向,我們又遇到了一個新的問題:無法解決轉向角為180°的情況,按常理說陀螺儀可以測360°的任何一個偏角,但我們的陀螺儀超過了180°就會出錯,這個問題我們解決了一個晚上,最終放棄解決,節約時間,為了使用陀螺儀轉向,后面想了一個辦法:每轉向一次,將角度重置為當前的偏角,因為我們測驗發現當前角度與重置角度不超過180°陀螺儀才能正常作業,可實作180°轉向,

??在省賽的前兩天,我們使用了未調好的PID,直接跑車,并且使用差速來回呼車身,此時的效果比之前的反向回呼好得太多,車身不抖,但是因為回呼力度過小有時會巡出線外,又回到了當初步進電機的效果,不過直流電機可以任意加大回呼力度,除錯幾次之后,小車大部分軌跡能正常巡線了,

??此時又出現了一個新的問題,在半成品區后退巡線的時候車尾啟動時永遠會往右偏,我將它稱為玄學問題,并將鍋甩給了PID,解決了一天一夜,最后沒辦法,強行讓車尾左偏,

??因為“玄學問題”,個人差一點直接棄賽,每天都要收拾前一天的“爛攤子”,我們的進度天天是負數,前一天的問題解決不了,于是瘋狂通宵,已經記不清通宵多少次了,大概十幾次應該有,其中有三四天連續通宵,精神狀態不好,整個人處于一種低迷的狀態,吃完飯后不愿意去調車,一個人就去林子里崩潰,壓力很大,每天都會遇到新的問題,除錯不成功,而其他組的小車都跑得很快很準,我們依舊停留在最初的循跡,心理落差較大,也無法直面老師的目光,越來越麻木,只求不輸的太難看就行,除錯不成功,只能硬著頭皮去調了,看了調了幾百遍的代碼就反感,又開始了無休止的通宵除錯…

??4月15日,我們將軌跡跑完,剩下的優化,想嘗試openMV巡線,測量黑線與視野的偏角,但是本質和陀螺儀差不多,本來計劃15日晚上將機械臂除錯完畢,后面的時間全部用于openMV巡線了,單片機的六個串口被我們恰好使用完,已經記不清openMV使用的哪個串口,可能是思路不清晰,通信問題我們解決了很長時間,最終巡線有效果,但是有段時間又不太行了,測量的資料開始不準確,我們并沒有多余的時間解決這個問題,最終放棄了openMV巡線,

??4月16日去比賽場地報道,下午回學校接著除錯,17號開始比賽,

??既然小車可以跑完全程,剩下的就是定位的問題了,之前買的漫反射激光傳感器還沒派上用場,斜著裝了四個激光傳感器用來車頭和車尾定位,想著效果應該會不錯,但16號下午又出現了一個新的問題,同樣的工程代碼,每一次重啟后運行都不一樣,起初以為是硬體問題,可能是線接觸不良,加固一下接線后依舊如此,我們觀察到單片機周圍有一個LED一段時間常亮,一段時間持續閃爍,可能問題與它有關,于是查找原理圖,這個引腳是輸出TB6612的方向信號的,代碼上是隔一段時間就將它輸出為高電平,它沒有上拉和下拉,也不至于持續閃爍,后來改了一下代碼,只輸出一次高電平,小車就能正常行駛了,但第二次重啟,問題復現,懷疑是單片機出現了問題,換了一塊單片機,燒錄同樣的工程代碼,依舊會出現LED持續閃爍的問題,

??另外一個隊友發現,掛在單片機上的ST-LINK在代碼運行時也會持續閃爍,想著會不會與ST-LINK有關,于是將ST-LINK拔下,代碼正常運行,罪魁禍首已找到:正版的ST-LINK,

??浪費一個下午時間解決的問題竟與ST-LINK有關,好在后面激光定位比較準確,效果較好,仿佛看到了希望,每一次機械臂放置的環數也比以前高了許多,我們例外欣喜,進度可以加快了,

??16號晚上11點,開始除錯舵機,

??17號凌晨1點,一個意外出現了,小車啟動后行駛了一段距離不動了,冒出了一股輕煙,我迅速關閉電源,發現單片機上有一顆螺絲,應該時從機械臂上面掉下來的,造成了引腳短路,最可怕的事情發生了,在比賽的前9個小時單片機啥訓,換單片機也不方便,上面有大概60個引腳接著線,其中很大一部分引腳都是焊上去的,為了防止接觸不良,早應該畫個底板將引腳擴展出來,沒辦法只能硬著頭皮上,緊接著開始了時長兩個小時的“心臟移植手術”,四個人緊密配合,不停地警告自己不要慌張,兩個小時后,“手術移植”完畢,換上了新的單片機,凌晨三點,接著除錯機械臂,凌晨四點,除錯完畢,一直到凌晨五點,還在優化軌跡和機械臂,最終在17號比賽之前,把初賽功能全部完成,機器人也會偶爾出現失誤,

??4月17日,體育館比賽場地燈光太亮,導致我們的灰度傳感器一進去就失效,并且攝像頭也無法掃描出物料的顏色,僥幸過了省賽初賽,下午在社區里面效率較低,整個隊伍都比較疲憊,在社區里小車的軌跡都未除錯出來,到了晚上九點左右想直接放棄了,后來就真的放棄了,不再除錯軌跡,機械臂也是定點直接除錯,整個程序不了了之,無法實作決賽的功能,晚上十點半提交作品,第二天決賽,最后隊友也真的提交了,盡管一點都沒除錯出來,自己在旁邊昏昏睡去,

??晚上回酒店,開始后悔,畢竟這是最后一個晚上了,于是打開電腦,開始云調車,另外一個隊友在腦海里云調機械臂的角度,凌晨三點,關閉電腦,至此,不再更改,

??最終結果是好的,但時至今日,我們均未能在賽場上看見我們的機器人跑完全程,只能吐槽主辦方的賽制,選手的綜合實力未能體現出來,賽制區分度太不明顯,一路上我們總是在不斷試錯,頻繁地更換方案,導致進度極其緩慢,歸根究底還是自己考慮問題太復雜,經驗不足,每增加一種新的傳感器就會遇到一種新的“玄學問題”,比賽使人麻木,也讓人崩潰,偷偷放幾張圖:
工訓賽場地
在這里插入圖片描述

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/278798.html

標籤:AI

上一篇:南華大學19級軟卓選拔賽題解【代碼逐句分析】

下一篇:一個已經存在10年,卻被嚴重低估的 Python 庫

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more