主頁 >  其他 > 中國工程機器人大賽暨國際公開賽(RoboWork)

中國工程機器人大賽暨國際公開賽(RoboWork)

2020-12-08 11:15:09 其他

中國工程機器人大賽暨國際公開賽(RoboWork)-探索者全地形賽

  • 目 錄
  • 摘要
  • 正 文
    • 1.1 綜述
    • 1.2 系統整體設計
    • 1.3 機械結構設計
    • 1.4 硬體設計
    • 1.5 軟體設計
    • 1.6 系統開發與除錯
    • 1.7 結論
  • 致 謝

學校:上海第二工業大學
作者:池呂庭、毛安澤、何艷東、葛浩然
指導老師:陸翔宇

目 錄

一、摘要 1
二、正文主體 2
1.1綜述 2
1.2系統整體設計 3
1.3機械結構設計 11
1.4硬體設計 14
1.5軟體設計 18
1.6系統開發與除錯 39
1.7結論 41
三、參考文獻 42
四、致謝 43

摘要

工程機器人的機構設計是機器人研制開發的首要問題,我們根據專案的環境,首先確定了過障礙小車的整體設計方案,其次根據研制進度的需要,按重要程度由高 至低分步地進行了機構的設計、加工、裝配和除錯,直到滿足設計要求,研究目的:掌握使用圓周舵機、白標傳感器,白標傳感器光感變化的強弱來判斷機器人是否偏離了運行軌道,再使用程式來控制左右舵機的轉速差來微調,保持機器人不偏離軌道,通過機械結構的設計以及程式的調控是小車過完一系列障礙,成果:采用履帶式加獨輪擺臂結構,將前輪做成傾斜式,與地面成30°夾角,通過諸如臺階,草坪時更加順暢,結論:目前機器人能夠按照大賽規定的要求,在最短時間內完成指定動作,并不會跑偏軌道,主要創新之處: 使用履帶和獨輪的配合使用能過掉所有障礙,車身后方添加的獨輪裝置,該裝置采用標準舵機為裝置提供旋轉力,使其可以上下擺動,圓周舵機為輪子提供動力,
關鍵詞 : 圓周舵機、白標傳感器、履帶、擺臂
ABSTRACT
Engineering robot mechanism design is the first problem of robot research and development. We according to the project environment, first determine the obstacle to the car’s overall design scheme, secondly according to the needs of the development progress, according to the important degree from high to low step by step to the institution design, fabrication, assembly and debugging, until meet the design requirements. Research purposes: the master using circular steering gear, White mark sensor, White mark sensor light of change of feeling to judge whether robots from orbit, then use the program to control the speed of left and right steering gear differential to fine tune, keep the robot not off track, through the control of mechanical structural design and procedure is the car after a series of obstacles. Results: the crawler and wheel swing arm structure, tilting of the front wheel make it, and ground into 30 ° Angle, through such as stairs, smooth lawn. Conclusion: at present, the robot can according to the requirements of the competition, in the shortest possible time to complete various tasks, track will not wandering. Main innovation: using crawler and wheel alone can cooperate to use over all the obstacles and rear bodywork add one-wheel device. The device adopts the standard servo device provides rotating force, make its can bobbing up and down, circular power steering gear for the wheels.
Keywords: circular steering gear, White mark sensor, caterpillar, swing arm

正 文

1.1 綜述

機器人是作為現代高新技術的重要象征和發展結果,已經廣泛應用于國民生產的各個領域,并正在給人類傳統的生產模式帶來革命性的變化,影響著人們生活的方方面面,隨著市場需求的變化和制造業回流發達國家趨勢的顯現,我國制造業的弊端顯現,在當下工業4.0的時代,以機器人、智能制造為主的新型生產方式,針對機器車過全地形的障礙為小車修正機械結構與程式的除錯使機器小車能夠在全地形的障礙中暢通無阻,

1.2 系統整體設計

本次比賽場地障礙較為復雜,有高低臺階,草地,斜坡,石塊地形,隧道等多項復雜地形,因此,我們認為機械車的最難點在于機械結構及軟體程式的除錯兩部分,故截止最終確定機械結構及軟體程式時,經過不斷改進及除錯設計了多種方案,期間也查閱了大量資料,

方案一
動起來,能夠識別路線是初步目標,因此,參照常見車輛結構,利用7*11孔面板、小輪,舵機,黑標傳感器,主板,電源及其他輔助零件組裝設計了小車,經程序式除錯后,實作了初步目標,可以識別場地上的路線,自動調整小車方向實作直線行走和轉彎,
該方案結構簡單,因此有以下問題:
1.底盤太低,無法通過大部分障礙
2.動力不足
3.對地形的適應能力差
4.結構設計粗糙,有待優化
解決方法:
有問題太多,故方案二重新設計機械結構,

圖2-1

方案二
本次方案本想解決車身卡障礙的問題,因此設計了8個輪子,如下圖示例

圖2-2

該設計可以通過柵格及防滑帶這種容易被架空的障礙,因為中間的3號輪子可以起支撐作用,但此設計弊端是車身前后重量差別較大,通過比如高臺階時,下臺階會出現翻車的現象,并且安裝傳感器的空間非常有局限性,因為還要添加其他傳感器和機械部件,因此該設方案的機械結構設計部分不可行,

方案三
該方案最大變化是將結構設計為了履帶式的,此方案小車重量相對平穩,也可以通過草地,柵格,減速帶這類障礙,對地形的適應力良好,并且履帶的抓地力強,原地轉彎性好,隧道障礙寬度窄,因此原地轉彎非常有優勢,
但弊端是該結構的前后兩輪子間距短,且重心高,上斜坡容易前后翻車,容納傳感器的空間還是不足,而且履帶的行進速度慢,對比賽時間把控不利,

圖2-3

圖2-4(圖2-3中2號輪作為履帶的張緊輪)

方案四


上圖是在方案三基礎上添加的可上下擺動的裝置,其目的在于希望改進通過所有障礙的順暢度和降低誤差率,最主要目的是克服車身太短,通過高臺時掉落的情況,
后面添加的擺動裝置主要起支撐和提高動力的作用,可增通過階梯,斜坡,草地時的速度,支撐輪作用是,當擺動裝置抬起時,履帶繃緊,而平放時,履帶松弛,需要支撐輪支撐一定高度,防止履帶脫落或者防止抬高程序中履帶與機械輪子的卡槽錯位,選擇兩個支撐輪是因為該裝置長度不夠,一個支撐輪不能提供足夠高度,擺動裝置抬起時1號支撐輪是懸空狀態,無作用,整個裝置的抬起,依靠中間的舵機加連接桿支撐,從而實作裝置的上下擺動控制,

方案五
本方案對整體結構做出了很多細節性優化,除最終的高臺障礙以外,其余的所有障礙都能順利通過,因為是輪子結構,行進速度比履帶式快,但原地轉彎性能不如履帶式,

圖2-5

圖2-6

細節優化展示:
1.采用6輪結構,且中間輪子靠里側,主要是在保證最小小車寬度的前提下,為兩側色標傳感器的安裝留足夠空間,
2.孔面板橫向兩側各加了一個雙足支桿,增大小車平板面積,從而可以使輪子左右間距擴大,為車身底部傳感器的安裝提供空間,
3.前后兩排輪子通過添加90度支架,增加前后輪距,為底部傳感器的安裝增大空間,細節見圖2-7、2-8,該優化策略使車身變長,上下臺階時重心平穩,不會翻車,

圖2-7

圖2-8

4.除兩側的色標傳感器外,其余的傳感器都在小車身下方,避免了為傳感器添加輔助機械結構,而導致的比如車身長,程式撰寫更復雜,通過障礙時傳感器卡障礙的等等潛在問題,這樣的結構設計也比較美觀,小巧靈活,

方案六
該方案對結構進行了很多地方的修正,優化和增減,
1.采用履帶式結構,但輪子的結構,根據之前經驗,將前輪做成傾斜式,與地面成30°夾角,通過諸如臺階,草坪時更加順暢,且在最后的高臺部分,獨輪擺臂式的結構會因為車身中間懸空沒有支點而掉落,但履帶式則避免了該情況,

2.具有創新性思維的一點是,車身后方添加的獨輪擺臂裝置,該裝置采用標準舵機為裝置提供旋轉力,使其可以上下擺動,圓周舵機為輪子提供動力,如上圖所示
因為小車動力不足,上斜坡會發生上不去或者速度非常慢的情況,在后方添加獨輪擺臂裝置,起支撐和輔助推動左右,有效增加了上坡平穩性和速度,且該裝置根據需求抬高和放下,在過高臺障礙部分,當小車后半身懸空時,獨輪裝置放下,提供支撐,避免了因為行進速度慢而沖不過懸空間距掉落的情況,

3.該車身為所有設計中最長的,將雙足支桿打磨為與7*11孔平板相同寬度,為其增加長度,一是為履帶除錯為最佳配合效果,二是因為為過高臺而需要的長車身,并且長車身過臺階時車身傾斜角度更小,不易發生車身偏轉和翻車,

4.上圖為色標傳感器的分布圖,1-4號傳感器為黑標傳感器,作用是判斷線路,1號和4號黑色標傳感器的位置精度要求比較高,其距離要與場地上鎖設定黑色線路等寬,若有偏差,小車會發生不斷左右擺動,5號和6號為白色標傳感器,功能為小車轉彎提供判斷指令,7號傳感器也為白色標傳感器,功能為小車提供判斷,當前位置為障礙還是平地,

1.3 機械結構設計

機械結構的整體設計用到的零件有:5個圓周舵機、1個標準舵機、6個電機支架、6個輸出頭、1個U形支架、組裝式履帶、輪胎、10個J25小輪、4個J09墊片、7mm11mm孔平板、6個J05 90°支架、2個J23雙足支架、4個J11 機械手 20 mm、4個J12 機械手 40mm、J01 10mm滑軌、3個J13 機械手驅動、1塊J03 5mm7mm孔平板、ARM7主控板、P03 7.4V鋰電池、2個白標傳感器和5個黑標傳感器,以及各種型號的螺絲、隔離柱若干,

輪胎形式的輪子是以兩片J25小輪作為主要支架,中間由4個M38內螺紋隔離柱作為間隔將兩片小輪分開,在外側用M35的螺絲作為連接件將其固定,再加上輪胎,在輪子中間加上和舵機的連接片,組合而成,

我們主要選擇履帶作為整個車的行進方式,根據之前的以輪胎做行進方式的經驗,輪胎的抓地力更強,速度快,但是過高臺時當前輪通過時中兩個輪子中間的間距容易卡住;以及過一些障礙時因其速度以及各方面原因容易偏離;而履帶的驅動輪只卷繞履帶而不在地面上滾動,機械的全部重量都壓在多片履帶板上使機器的牽引附著性能要好的多,過障礙要比輪式機器好過,我們選擇的履帶形式的輪子是以兩片J25小輪作為主要支架,中間由8個M313內螺紋隔離柱作為間隔將兩片小輪分開,在外側用M35的螺絲作為連接件將其固定,組合而成,選擇J25小輪作為主要的輪子結構是因為它大小適中,適合整體設計,而由8個M3*13內螺紋隔離柱作為中間的支撐因為正好適合履帶的大小,每個隔離柱的距離正好適合履帶的卡距,使驅動輪能夠更好的與履帶之間的嚙合,

舵機選擇的是圓周舵機和標準舵機,
舵機引數
引數 轉速 扭力 轉動角度 額定電壓
標準舵機 0.13s/60° 2.9kg·cm 40.30磅·英寸 土90° 6V
圓周舵機 78r/min 2.2kg·cm 30.61磅·英寸 360° 6V
直流電機引數
減速比 額定電壓 額定電流 扭力 轉速
87 4.5V 180mA 5kgf·cm 69r/min
標準舵機的用途是制作擺動機構,如:關節模塊等;而圓周舵機的用途是制作圓周運動的機構,如:輪子等,而圓周舵機與直流電機的區別在于,舵機是由直流電機改造而來的,比直流電機多了電路板和電位器,圓周舵機能夠使用舵機函式比較方便地調整速度,只占用一個單片機埠,而直流電機的調速則要設計定時器的配置和模擬量輸出函式,且通常需要占據2~3個埠,直流電機控制方便,不容易啥訓,舵機堵轉后容易啥訓,舵機需要6V電壓才能作業,直流電機由電池直接供電,作業電壓是一個范圍,圓周舵機需要尋找中值,理論中值為90,找到中值才能讓舵機靜止,而直流電機沒有這個引數,只要不供電就可以了,綜合考慮,結合機體結構,和過障礙的需要,選擇舵機作為整個機器的動力提供,
主動輪的組成是圓周舵機和電機支架由4個M38螺絲將其固定,組合而成,共使用5個圓周舵機提供動力,其中4個主動輪和履帶連接,作為主要的動力,另一個圓周舵機和輪胎結合組成一個輔助輪,主要是用來過障礙時提供動力和輔助作用,
選用一個標準舵機作為擺動機構,用J01 10mm滑軌連接以圓周舵機和輪胎結合組成的輔助輪,主要提供輔助輪的起降作用,
用2個J09墊片中間以3個M3
13內螺紋隔離柱作為間隔將兩片小輪分開,在外側用M35的螺絲作為連接件將其固定,組合而成,作為履帶的支撐輪,用1個J05 90°支架和1個J12 機械手 40mm與前輪舵機連接在一起,再用1個J11 機械手 20 mm固定在J05 90°支架和J12 機械手 40mm中間使其穩固,,兩個前輪均做成同樣的形式,
以7mm
11mm孔平板和一半J23雙足支架拼接成整個機器的主板,將已做好的4個舵機裝在主板上,使支撐輪與后輪在同一水平面上,支撐輪和前輪與地面形成的傾角為30°,
這樣組裝的理念是使車身變長,在行走中更加穩定;而讓輪與地面形成30°的傾角的原因是為了更好的過障礙,使其上障礙更加方便,用U形支架與標準舵機拼接,再以J03 5mm*7mm孔平板將后輪連接在一起與之前裝好的標準舵機拼裝在一起, 使其在巡線的時候能夠收起來,當過障礙時在使其放下來,其一是因為履帶的摩擦力不夠,在過障礙時不能正常通過障礙,使其在后面提供一個動力,更方便通過障礙,其二是因在前輪做成傾角式,在過窄橋的時候會翻車,所以使其車身變得長一點,和重心往后調一下,保證其不會翻,,能夠穩定的從窄橋上下來;其三是為了上高臺,因為高臺和窄橋中間有一定的距離,原來的車身在上高臺的時候,當前身上去的時候后后邊脫離窄橋,重心在后邊會掉下去,所以加一個支撐使其在重心沒有通過窄橋和高臺中間的間隙時使其掉下去,其四在能夠滿足過其他障礙時有又能同時在不妨礙過隧道,在過隧道的時候能夠把其收起來,綜上所述,加上這個輔助輪能夠滿足一些以前不能夠過的障礙,同時還不妨礙過其它的障礙,
用1個J23雙足支架作為主要模型,在輔以3個J12 機械手 40mm、2個J13 機械手驅動、2個J11 機械手 20 mm和1個J01 10mm滑軌做成一個裝置傳感器的模塊,使其成為模塊化,這樣方便其拆卸和除錯,
主控板選擇的是ARM7主控板,ARM7主控板是使用非常廣泛的一款主控板,它具有4個傳感器埠、六個舵機埠、2個輸出埠以及1個紅外通信埠,傳感器埠和紅外通信進行了反插處理,增加了使用安全性,一般的傳感器都是三根線,但是這款主控板的傳感器埠預留了一個備用針,因此都是四針的,同樣的處理在舵機埠也存在,舵機也是3根針的,因此在搭接時最上面一根針是空閑的,這些空閑的備用針為后期二次開發提供了方便,所以選擇這款主控板,將其裝在車身的四分之三的位置處,電池選擇的是P03 7.4V鋰電池,將其裝在整個車身的四分之二處,因為車身后邊加有輔助輪,整個重心靠后,所以將電池安裝在車身的前端,使其整個重心不至于整體偏后,

1.4 硬體設計

1、主控板部分(晶振:11.0592M)
我們此次選用ARM7為主控板,其主要特點是ARM7系列是低功耗的32位RISC處理器中的一員(AdvancedRISCMachines),適用于對價位與功耗要求較高的一系列消費類應用,ARM7的內核是0.9MIPS/MHz的三級流水線和馮·諾伊曼結構,同時,ARM7TDMI提供了非常好的性能--功耗比,它包含了THUMB指令集快速乘法指令和ICE除錯技術的內核.ARM7支持USB、藍牙、UCOS-Ⅱ作業系統、C語言、RRS圖形化軟體、手柄編程和用戶自定義開發,
微處理器系列
ARM7微處理器系列具有如下特點:
*具有嵌入式ICE-RT的邏輯,除錯開發時方便,
*極低的功耗,適合對功耗要求較高的應用,
*提供了0.9MIPS/MHz的三級流水線結構,
*代碼密度高并兼容16位的Thumb指令集,
*對作業系統的支持廣泛,包括Windows CE、Linux、Palm OS等,
*指令系統與ARM9系列、ARM9E系列和ARM10E系列兼容,便于用戶的產品升級換代,
*主頻最高可達130MIPS,高速的運算處理能力能勝任絕大多數的復雜應用,
ARM7適用于那些需要功能強大的RISC處理器,可應用于系統電訊、資料通信、協議轉換、掌上電腦、自動控制系統、發動機管理、便攜式計算機、單元資訊存貯、系統存盤卡、GSM終端控制等方面,
ARM7系列微處理器的主要的應用領域是:工業控制、Internet設備、網路和調制解調器設備、移動電話等多種多媒體和嵌入式應用,
ARM提供一系列內核、體系擴展、微處理器和系統芯片方案,由于所有產品均采用一個通用的軟體體系,所以相同的軟體可在所有產品中運行,使用的產品如下(4_1)

                     (4-1)

我們使用的主控制板電路圖(4-2):

                     (4-2)

2、傳感器部分
傳感器的主要特點是:微型化、數字化、智能化、多功能化、系統化、網路化,促進了傳統產業的改造、更新換代,且還可能建立新型工業,套件中包括了,閃動傳感器,通過光線的晃動來判斷,光強傳感器,通過感受光線的強度變化來判斷,聲控傳感器,通過感受聲響,接受距離大致2m以外,近紅外傳感器,感受紅外線物體的靠近,黑標傳感器、觸碰傳感器等,
傳感器資料采集,資料采集的意義與任務,在生產程序中,對工藝引數進行采集,為提高質量,作用,能夠降低成本,提供準確的資訊. 在科學研究中,獲取微觀, 動靜態的資訊, 意義:為了 解決依靠人不能解決的問題. 解決掉靠人不能解決的問題,其任務,采集傳感器輸出的模擬信號,并轉化成所需的數字資訊,然后傳入,系統再對數字信號進行處理,其功能一般有:采集資料,按照采樣的周期,對模擬數字,開關信號進行采樣等,
在生產程序中要進行—個明確的測量作業,要考慮選用哪一種原理的傳感器,這就要分析傳感器的多方面因素,進而確定,即便在測量同一物理量時,就會有多種原理的傳感器可以選用,那么何種原理的傳感器更加合適,就需要根據被測量的特點和傳感器的使用條件考慮到以下的一些具體問題:量程的大小;測量方式為接觸式還是非接觸式;被測位置對傳感器體積的要求;信號的引出方法,有線、是非接觸測量;傳感器的來源,國產或是進口,價格是否承受,
此次我們選用了得是白標傳感器,屬于中斷型,其主要引數有:線性度、靈敏度、遲滯、重復性、漂移等,可識別到1cm以上寬度的白色標記,在較近的距離檢測到障礙,(作業電壓4.4-5.5V,作業電流:1.2mA)

3、舵機部分
套件中包括16個標準舵機,8個圓周舵機,具有速度和角度的調節功能,我們使用的是圓周舵機,其可以作為直流電機使用,(作業電源:4.8-6V,其作業電源:10mA;扭力:2.2kg/cm),
圓周舵機是在標準舵機的基礎上進行改造,拆除了標準舵機中電位器和減速箱之間的反饋電路,導致標準舵機的電機不能夠判斷自身的轉動角度,進而持續轉動,因此,圓周舵機在軟體控制原理上與標準角度舵機相同,由PWM來控制,好比,在相同的控制引數下,對標準舵機是控制轉動角度,而對圓周舵機而言,是控制轉速,
舵機控制函式Servo(uint8 Num,uint16 Ang),第一個引數為插接在主控制板上的輸出埠的序號,第二個引數的范圍在0~180之間,該引數對圓周舵機而言,越接近0或180,舵機轉動速度越快,反之越慢,引數等于90時圓周舵機停止轉動,由于舵機硬體的誤差,舵機停止轉動的引數往往不等于90,一般是在90左右,因此,圓周舵機的停止引數值大小需要人為的設定,對圓周舵機的控制也以此值為標準,

本次的主要引數:
單片機作業頻率:2MHz
串口速率:9600bps
紅外檢測距離:20cm-500cm
機器人最快速度:78mm/s
編碼器解析度:33脈沖/轉
驅動輪直徑:75mm,寬度:21mm
兩驅動輪中心矩:155mm

1.5 軟體設計

程式的撰寫
*1電源介面和電池介面

	#include "config.h" 
	#include "lib_io.h"
	#include "lib_arm.h"
	#include "lib_io_uart_lpc2138.h"
	int main(void)
	{
		 
		
	Initial_ARM();




	
	
	{
int s;
int i;
int a;



while(1)
{   
	s=0;
	for (i=0;i<3;i++) //依次讀取3個傳感器的觸發狀態,并給變數s的低3位分別置0或者置1
	{
		s=s|(Input(i+1,1)<<i);
		
		if (Input(i+1,1)==1) LedIn(i+1,2);
		else LedIn(i+1,0);
		
		
	}

	switch (s) //根據變數s低3位所存盤的傳感器觸發狀態,分別讓小車的左轉、右轉或直行
	{
	
	case 0x01 : if(GPIO_In(0,28,0)==1)
				{LedIn(1,1);


				GPIO_Out(0,7,0);
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(200);
				Servo(2,120);
		Servo(3,120);	
		Servo(4,50);
		Servo(5,50);
		Delay(200);
				
				GPIO_Out(0,7,0);    //P2
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(1000);
				Servo(4,140);
				Servo(5,140);
				Servo(2,140);
				Servo(3,140);
				Delay(1200);
				Servo(2,50);
				Servo(3,50);
				Servo(4,120);
				Servo(5,120);
				Delay(700);
			}
	
	
	
		
		else
		
		{GPIO_Out(0,7,0);    //P2
		GPIO_Out(0,8,0);//P3
		Servo(4,120);
		Servo(5,120);
		Delay(100);}
		break;
		
		
		
		
		case 0x02 :
		Servo(2,50);
		Servo(3,50);	
		Servo(4,120);
		Servo(5,120);
		Delay(200); break;
		
		
		
		
		
		case 0x04 :if(GPIO_In(0,28,0)==1)
				{LedIn(1,1);


				GPIO_Out(0,7,0);
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(200);
				Servo(2,120);
		Servo(3,120);	
		Servo(4,50);
		Servo(5,50);
		Delay(100);
				
				GPIO_Out(0,7,0);    //P2
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(1000);
				Servo(4,50);
				Servo(5,50);
				Servo(2,50);
				Servo(3,50);
				Delay(1000);
				Servo(2,50);
				Servo(3,50);
				Servo(4,120);
				Servo(5,120);
				Delay(700);
			}
			
			
			
			GPIO_Out(0,9,0);    //P4
		GPIO_Out(0,0,0);//P5
		Servo(2,50);
		Servo(3,50);
		Delay(100); break;
	
	
		
		
		
		
		case 0x05 :GPIO_Out(0,7,0); 
	
		
		
		
		GPIO_Out(0,8,0);//P3
		GPIO_Out(0,9,0);//P4
		GPIO_Out(0,0,0);
		Servo(2,50);
		Servo(3,50);	
		Servo(4,120);
		Servo(5,120);
		
			DelayNS(300);
		
		break;//P5
		
		
		
		
		
		
	
	 case 0x07 :  
	
		  if(Input(4,1)==1)
		{
			LedIn(1,1);
			LedIn(2,1);
			LedIn(3,1);
			LedIn(4,1);
		
	    
		Servo(2,50);
		Servo(3,50);	
		Servo(4,120);
		Servo(5,120);
		
			DelayNS(2000);
		 
		 }
		 
		 
		 else
			 
			
			 				{
				GPIO_Out(0,7,0);
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(400);
				

				Servo(2,50);
				Servo(3,50);
				Servo(4,120);
				Servo(5,120);
				Delay(400);
			}
		
		
		
		
		
		
		
		
		
		break;//P5
		
		default:
		
		GPIO_Out(0,9,0);//P4
		GPIO_Out(0,0,0);//F5
		
		Servo(2,50);
		Servo(3,50);
		Delay(50);
				 
			 
			 
		
		break;
	}
}
return(1);
        
		
	
	}
	
}

*2
#include “config.h”
#include “lib_io.h”
#include “lib_arm.h”
#include “lib_io_uart_lpc2138.h”
int main(void)
{

	Initial_ARM();




	
	
	{
int s;
int i;
int a;



while(1)
{   
	s=0;
	for (i=0;i<3;i++) //依次讀取3個傳感器的觸發狀態,并給變數s的低3位分別置0或者置1
	{
		s=s|(Input(i+1,1)<<i);
		
		if (Input(i+1,1)==1) LedIn(i+1,2);
		else LedIn(i+1,0);
		
		
	}

	switch (s) //根據變數s低3位所存盤的傳感器觸發狀態,分別讓小車的左轉、右轉或直行
	{
	
	case 0x01 : if(GPIO_In(0,28,0)==1)
				{LedIn(1,1);


				GPIO_Out(0,7,0);
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(200);
				Servo(2,120);
		Servo(3,120);	
		Servo(4,50);
		Servo(5,50);
		Delay(200);
				
				GPIO_Out(0,7,0);    //P2
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(1000);
				Servo(4,140);
				Servo(5,140);
				Servo(2,140);
				Servo(3,140);
				Delay(1200);
				Servo(2,50);
				Servo(3,50);
				Servo(4,120);
				Servo(5,120);
				Delay(700);
			}
	
	
	
		
		else
		
		{GPIO_Out(0,7,0);    //P2
		GPIO_Out(0,8,0);//P3
		Servo(4,120);
		Servo(5,120);
		Delay(100);}
		break;
		
		
		
		
		case 0x02 :
		Servo(2,50);
		Servo(3,50);	
		Servo(4,120);
		Servo(5,120);
		Delay(200); break;
		
		
		
		
		
		case 0x04 :if(GPIO_In(0,28,0)==1)
				{LedIn(1,1);


				GPIO_Out(0,7,0);
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(200);
				Servo(2,120);
		Servo(3,120);	
		Servo(4,50);
		Servo(5,50);
		Delay(100);
				
				GPIO_Out(0,7,0);    //P2
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(1000);
				Servo(4,50);
				Servo(5,50);
				Servo(2,50);
				Servo(3,50);
				Delay(1000);
				Servo(2,50);
				Servo(3,50);
				Servo(4,120);
				Servo(5,120);
				Delay(700);
			}
			
			
			
			GPIO_Out(0,9,0);    //P4
		GPIO_Out(0,0,0);//P5
		Servo(2,50);
		Servo(3,50);
		Delay(100); break;
	
	
		
		
		
		
		case 0x05 :GPIO_Out(0,7,0); 
	
		
		
		
		GPIO_Out(0,8,0);//P3
		GPIO_Out(0,9,0);//P4
		GPIO_Out(0,0,0);
		Servo(2,50);
		Servo(3,50);	
		Servo(4,120);
		Servo(5,120);
		
			DelayNS(300);
		
		break;//P5
		
		
		
		
		
		
	
	 case 0x07 :  
	
		  if(Input(4,1)==1)
		{
			LedIn(1,1);
			LedIn(2,1);
			LedIn(3,1);
			LedIn(4,1);
		
	    
		Servo(2,50);
		Servo(3,50);	
		Servo(4,120);
		Servo(5,120);
		
			DelayNS(2000);
		 
		 }
		 
		 
		 else
			 
			
			 				{
				GPIO_Out(0,7,0);
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(400);
				

				Servo(2,50);
				Servo(3,50);
				Servo(4,120);
				Servo(5,120);
				Delay(400);
			}
		
		
		
		
		
		
		
		
		
		break;//P5
		
		default:
		
		GPIO_Out(0,9,0);//P4
		GPIO_Out(0,0,0);//F5
		
		Servo(2,50);
		Servo(3,50);
		Delay(50);
				 
			 
			 
		
		break;
	}
}
return(1);
        
		
	
	}
	
}

*3
#include “config.h”
#include “lib_io.h”
#include “lib_arm.h”
#include “lib_io_uart_lpc2138.h”
int main(void)
{

	Initial_ARM();




	
	
	{
int s;
int i;
int a;



while(1)
{   
	s=0;
	for (i=0;i<3;i++) //依次讀取3個傳感器的觸發狀態,并給變數s的低3位分別置0或者置1
	{
		s=s|(Input(i+1,1)<<i);
		
		if (Input(i+1,1)==1) LedIn(i+1,2);
		else LedIn(i+1,0);
		
		
	}

	switch (s) //根據變數s低3位所存盤的傳感器觸發狀態,分別讓小車的左轉、右轉或直行
	{
	
	case 0x01 :
		if(GPIO_In(0,27,0)==0)
				{
					
				
					
					LedIn(1,1);
		        
		        GPIO_Out(0,7,0);
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(200);
				Servo(2,120);
		        Servo(3,120);	
		        Servo(4,50);
		        Servo(5,50);
		    
				GPIO_Out(0,7,0);    //P2
				GPIO_Out(0,8,0);//P3
				GPIO_Out(0,9,0);//P4
				GPIO_Out(0,0,0);
				Delay(800);
				Servo(4,140);
				Servo(5,140);
				Servo(2,140);
				Servo(3,140);
				Delay(1000);
				Servo(2,50);
				Servo(3,50);
				Servo(4,120);
				Servo(5,120);
				Delay(400);}
			
		
			
			
	else
		
		
		
		Servo(2,80);
		Servo(3,80);	
		Servo(4,100);
		Servo(5,100);
		Delay(50);
		
		
		break;
		
		
		
		
		case 0x02 :
		Servo(2,45);
		Servo(3,45);	
		Servo(4,110);
		Servo(5,110);
		Delay(200); break;
		
		
		
		
		
		case 0x04 :
			if(GPIO_In(0,28,0)==0)
				{
					if(Input(4,1)==1)
		{
			LedIn(1,1);
			LedIn(2,1);
			LedIn(3,1);
			LedIn(4,1);
		
	    
		Servo(2,55);
		Servo(3,55);	
		Servo(4,120);
		Servo(5,120);
		
			DelayNS(1000);
		 
		 }
		 
		 
		 else
				
					
					
										{
					LedIn(2,1);


					GPIO_Out(0,7,0);
					GPIO_Out(0,8,0);//P3
					GPIO_Out(0,9,0);//P4
					GPIO_Out(0,0,0);
					Delay(200);
					Servo(2,120);
					Servo(3,120);
					Servo(4,50);
					Servo(5,50);
					
					GPIO_Out(0,7,0);    //P2
					GPIO_Out(0,8,0);//P3
					GPIO_Out(0,9,0);//P4
					GPIO_Out(0,0,0);
					Delay(1000);
					Servo(4,50);
					Servo(5,50);
					Servo(2,50);
					Servo(3,50);
					Delay(850);
					Servo(2,50);
					Servo(3,50);
					Servo(4,120);
					Servo(5,120);
					Delay(400);
				}
			}
			
		else
	
		Servo(2,80);
		Servo(3,80);	
		Servo(4,90);
		Servo(5,90);
		Delay(50);   //zuo
			
		 break;
	
	
		
		
		
		
		case 0x05 :
	    GPIO_Out(0,7,0); 
	    GPIO_Out(0,8,0);//P3
		GPIO_Out(0,9,0);//P4
		GPIO_Out(0,0,0);
		
		Servo(2,120);
		        Servo(3,120);	
		        Servo(4,50);
		        Servo(5,50);
				Delay(30);
		break;//P5
		
		
		
		
		
		
	
	 case 0x07 :  
	
		  if(Input(4,1)==1)
		{
			LedIn(1,1);
			LedIn(2,1);
			LedIn(3,1);
			LedIn(4,1);
		
	            
				

				Servo(2,45);
		Servo(3,45);	
		Servo(4,110);
		Servo(5,110);
				Delay(400);
		 
		 }
		 
		 
		 else
			 
			
			 				{
				

				Servo(2,45);
		Servo(3,45);	
		Servo(4,110);
		Servo(5,110);
				Delay(100);
			}
		
		
		
		
		
		
		
		
		
		break;//P5
		
		default:
		
		
		Servo(4,120);
		Servo(5,120);
		Servo(2,50);
		Servo(3,50);
		Delay(50);
				 
			 
			 
		
		break;
	}
}
return(1);
        
		
	
	}
	
}

*4
GPIO_Out(0,28,1);//s1 p2
GPIO_Out(0,27,1);//s2 p3
GPIO_Out(0,11,0);//s3 p5
GPIO_Out(1,22,1);//led p6

UART0_Init(); //取消注釋后,可啟動串口接收中斷

	Initial_ARM();


	{
int s;
int i;
int b;



while(1)
{   for (i=0;i<5000;i++) //依次讀取3個傳感器的觸發狀態,并給變數s的低3位分別置0或者置1
	{ if (Input(1,1)==1) b=1;
			else b=0;
		
		
		
	}

		
	

	UART0_SendByte(b);
	DelayNS(20);
	b=0;
}

        
	}

}
1.舵機控制
讓小車做出一系列動作的核心是舵機的控制,在實驗器材中的圓周舵機和標準舵機(可以180°的范圍內指定角度的旋轉)中,我們選用了圓周舵機,能夠實作正反向圓周轉動,
通過多次的實驗,發現圓周舵機能夠控制的范圍在0到180,在90°時舵機停止了,從舵機外部看,大于90順時針旋轉,小于則是逆時針旋轉,若值偏離90越大,速度越大,了解到了兩種舵機的特性后,選用了圓周舵機用于輪子的傳動,通過對左右輪的旋轉角度,速度的控制,實作小車的左轉、右轉、前進、后退等一系列動作具體見程式,因為圓周舵機的初始位置和數值的對應關系不確定,因而要通過實驗來確定好引數,

2.傳感器控制
本次套件中包含了有許多傳感器,初步方案中我們選用了,黑標、白標傳感器,通過一次次實驗,發現使用白標傳感器較為合理,能控制到所需的距離,其能對外部環境不同條件的資訊接收,獲到正確的傳感器輸入值,作出相應的反應動作,

1.6 系統開發與除錯

1.舵機的種類
在我們能夠使用的舵機有,標準舵機與圓周舵機,
標準舵機各類引數,轉速0.13s/60°,扭力2.9kg·cm/40.30磅·英寸,轉動角度±90°,額定電壓6v,
圓周舵機各類引數,轉速78r/min,扭力2.2kg·cm/30.16磅·英寸,轉動角度360°,額定電壓6v,
2.舵機的選取
在舵機的選取中我們選擇了圓周舵機來作為機器人運動時輪子旋轉的驅動裝置,以此舍去了標準舵機,在引數中可見標準舵機轉動的角度限制,無法滿足我們的所需條件,
作業原理:舵機三根線分別為GND(黑色)、Vcc(供電,紅色)和信號線(白色),控制電路板接受來自信號線的控制信號,控制電機轉動,電機帶動一系列齒輪組,減速后傳動至輸出舵盤,舵機的輸出軸和位置反饋電位計是相連的,舵盤轉動的同時,帶動位置反饋電位計,電位計將輸出一個電壓信號到控制電路板,進行反饋,然后控制電路板根據所在位置決定電機轉動的方向和速度,從而達到目標停止,其作業流程為:控制信號→控制電路板→電機轉動→齒輪組減速→舵盤轉動→位置反饋電位計→控制電路板反饋,
傳感器:在我們能夠使用的傳感器有,觸碰傳感器,觸碰開關閉合時觸發,可用作按鈕或碰撞開關,接觸式感應;觸須傳感器,彈簧向兩側彎曲時觸發,可做仿生昆蟲觸角,接觸式感應;光強傳感器光線變暗時觸發,可用作仿生夜間生物活動的觸發裝置;近紅外傳感器,接收端前方5cm以內有障礙物時觸發,可用于避障、跟隨等;黑標傳感器,可識別白色背景中的黑色區域、空曠空間,可用于走黑標和懸崖識別;白標傳感器,可識別黑色背景中的白色區域,可用于機器人走白標;聲控傳感器,接收到50分貝以上聲音時觸發,如正常拍手,可用作聲控裝置;控傳感器閃動傳感器,接收到光線明暗閃爍時觸發,可用于識別物體經過、揮手、閃光等,
傳感器的選取:在根據現有的條件和環境,我們初步選取了黑標傳感器和白標傳感器,在機器人的組裝完成之后,我們選擇了黑標傳感器,根據黑標傳感器的光感變化的強弱,來判斷機器人是否偏離了運行軌道,再使用程式來控制左右舵機的轉速差來微調,保持機器人不偏離軌道,我們在讓機器人過草坪時會卡在草坪上,原因是因為安裝在機器人上的黑標傳感器的位置太低,阻礙了機器人的運行,于是我們舍去了黑標傳感器,轉而選擇白標傳感器,
作業原理:在我們使用的白標傳感器是通過把光強度的變化轉換成電信號的變化來實作的控制,光電傳感器一般分為:發送器、接收器和檢測電路,發送器對準目標發射光束,發射的光束一般來源于半導體光源,發光二極管(LED)、激光二極管及紅外發射二極管,光束不間斷地發射,或者改變脈沖寬度,接收器有光電二極管、光電三極管、光電池組成,在接收器的前面,裝有光學元件如透鏡和光圈等,在其后面是檢測電路,它能濾出有效信號和應用該信號,此外,光電開關的結構元件中還有發射板和光導纖維,三角反射板是結構牢固的發射裝置,它由很小的三角錐體反射材料組成,能夠使光束準確地從反射板中回傳,具有實用意義,它可以在與光軸0到25的范圍改變發射角,使光束幾乎是從一根發射線,經過反射后,還是從這根反射線回傳,
ARM7主控板:ARM7是一塊嵌入式芯片的主控板,美國電氣和電子工程師協會對嵌入式系統的定義:“用于控制、監視或者輔助操作和設備的裝置,”中國國內普遍認同的定義:以應用為中心,計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統,它總共有4個輸入埠,6個舵機埠、2個輸出埠以及1個紅外線通信埠,
除錯:在機器的運行程序中,我們發現機器人在走巡線時走不直,過障礙時總是會跑偏,于是我們調整了,舵機之間的平行度和垂直度,讓誤差最小化,再次運行時就發現這些問題都有所改善,但是并不是做得更好,每個細節的誤差,到最后都會被反應成一個更大的誤差,為了讓機器在走巡線的時候更加的平直,我們在程式里細化了這部分的微調,當外部硬體與程式的精密控制,在過巡線時,基本滿足了我們的要求,在過巡線的時候轉彎的地方,機器總是不能正確的拐彎,會在程式里加入自動修正的程式,以此來達到來辨識,在爬坡的時候,機器人是上不去的,于是我們分析是動力不足,于是調大了動力的,依舊存在爬坡無力的情況,再次分析過后,我們將機器人的輪子換成履帶,來增大與斜坡的摩擦力,情況得到改善,爬上斜坡之后,在下坡的階段,機器人是從斜坡上翻下來,而非正常的滑下,于是我們做出調整,將機器的重心降低,再次運行的時候便沒有出現類似的狀況,我們讓機器在階梯上運行,總是出現機器偏向一邊的狀態,我們初步分析,可能是支撐點與重心不重合,于是機器總是歪向一遍,經過分析我們在車尾,加了一個導向輪以此來彌補上臺階的缺陷,再次運行的時候,這種情況得到改善, 在上高臺的部分,總是會出現從會從中間掉下去,前面已經搭上高臺,后方掉下去,我們認為是動力不足的原因,但是并不是這個原因,我們試圖在車尾搭一個架子來,來彌補懸空的前方動力的不足,再次運行,機器上高臺,后尾的輪子,顯然彌補了很大的空間,機器在上高臺上,即便以小于90°的方向上高臺,車子依舊正常運行,

1.7 結論

整個設計程序中,在機器人的機械結構上我們曾經遇到了很大的困難,好幾次的設計 都由于設計不符合要求已經被改的面目全非,好在團隊成員的團結合作下,最終解決了機械機構問題,,按照理論規劃的資料在加上我們的實際操作,我們最終確定使用方案六參加此次“中國工程機器人大賽暨國際公開賽”,原因是方案六完全解決了前五個方案所產生的問題,不會再出現:底盤太低,無法通過大部分障礙、動力不足,無法沖上斜坡、重心高,上斜坡容易前后翻車,容納傳感器的空間不足,履帶的行進速度慢,無法上高臺等問題,方案六靈活的采用履帶式和單輪結合的機械結構,在輪子的結構上,根據之前經驗,將前輪做成傾斜式,與地面成30°夾角,使車子過臺階和草坪柵格等障礙時更加順暢,具有創新性思維的一點是,車身后方添加的獨輪裝置,該裝置采用標準舵機為裝置提供旋轉力,使其可以上下擺動,在履帶車后方添加獨輪裝置,起支撐和輔助推動左右,有效增加了上坡平穩性和速度,且該裝置根據需求抬高和放下,在過高臺障礙部分,當小車后半身懸空時,獨輪裝置放下,提供支撐,避免了因為行進速度慢而沖不過懸空間距掉落的情況,
整個工程車的研發無疑是一個充滿辛苦的程序,在團隊成員的共同努力下,我們最終完成了整個工程車的除錯制作,

參考文獻
【1】郭天祥,51單片機C語言教程-入門、提高、開發、拓展全攻略,北京,電子工業出版社,2009,(1):8-16,(2):17-20:(3):41(4):521-522
【2】王濱生、煉訓、劉佳男、鄭世杰、毛文睿,模塊化機器人創新教學與實踐:“探索者”模塊化機器人平臺系列,哈爾濱,2016,(1):4-22
(2):28-31(3):202\

致 謝

在做過障礙小車的程序中,我們發現做這個做小車本身就是一個很好的學習機會,機器人 大賽給我們一個自我鍛煉與學習的機會,在完成自小車機械制作的程序中,我們計劃安排了時間,在機械確定、硬體設計方面,我們比較挑選方案,親手制作了多個模型,通過網路、 實地購買,才完整買到所有電子元件,進行軟體編程時,遇到了各式各樣的麻煩,我們盡心與耐心,一部分一部分進行除錯,最終進行總體除錯,當我們看到整個機器人開始作業時,先前的所有辛苦與疲憊也灰飛煙滅,能夠完成作品,那種成就感和欣慰,沒有經歷是永遠無法體會其中那份無以言表的感受,能順利完成這件作品,首先感謝我們的指導老師陸翔宇老師,他密切關心作品的進度,耐心指導,給我們所需的幫助,在整個程序中學習和體會了很多東西,不僅加強了我們的動手能力,在專業技術和知識方面也有所鞏固和加深,我們的交際能力也得到了鍛煉,還開拓了我們的視野,同時也給予了我們書本上學不到的知識,

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

標籤:其他

上一篇:專業的戶外直播視頻傳輸系統是如何搭建起來的?通過GB28181協議建立的戶外直播方案

下一篇:第十一屆藍橋杯賽后體會和經驗分享

標籤雲
其他(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