歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > DOCX文檔下載  

基于RaspberryPI的履帶式機(jī)械臂智能小車設(shè)計(jì)和實(shí)現(xiàn) 機(jī)械設(shè)計(jì)及其自動(dòng)化專業(yè)

  • 資源ID:55520242       資源大?。?span id="aagduow" class="font-tahoma">1.84MB        全文頁(yè)數(shù):40頁(yè)
  • 資源格式: DOCX        下載積分:20積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

基于RaspberryPI的履帶式機(jī)械臂智能小車設(shè)計(jì)和實(shí)現(xiàn) 機(jī)械設(shè)計(jì)及其自動(dòng)化專業(yè)

基于RaspberryPI的履帶式機(jī)械臂智能小車摘要:近幾年來(lái),科學(xué)家在智能汽車領(lǐng)域越來(lái)越喜歡用RaspberryPI開(kāi)發(fā)平臺(tái), 這個(gè)開(kāi)發(fā)平臺(tái)憑借著它具有吸引力的價(jià)格、比較嬌小的尺寸、超強(qiáng)的感應(yīng)接口和強(qiáng)大的編程功能不斷的吸引了國(guó)內(nèi)和國(guó)外的開(kāi)發(fā)行業(yè)的關(guān)注,同時(shí),也為智能小車的開(kāi)發(fā)提供了良好的環(huán)境和創(chuàng)造了巨大的商業(yè)潛力,同時(shí)這項(xiàng)技術(shù)在高等教育領(lǐng)域也有很好的應(yīng)用和推廣前景。本文是將RaspberryPI技術(shù)在詳細(xì)分析移動(dòng)偵測(cè)系統(tǒng)原理過(guò)程中,改變工作模式,基于實(shí)現(xiàn)機(jī)制的基礎(chǔ)上,設(shè)計(jì)了履帶式機(jī)械臂智能小車系統(tǒng)的總體結(jié)構(gòu),并闡述了各個(gè)關(guān)鍵模塊的具體實(shí)現(xiàn)過(guò)程。關(guān)鍵詞: RaspberryPI;履帶式;機(jī)械臂;物聯(lián)網(wǎng);智能小車Crawler manipulator intelligent car based on RaspberryPIAbstract: In recent years, scientists are increasingly fond of using RaspberryPI development platform in the field of smart cars. With its attractive price, relatively small size, super-strong sensing interface and powerful programming function, this development platform has attracted the attention of domestic and foreign development industries. At the same time, it also provides a good environment and creates great commercial potential for the development of smart cars. At the same time, this technology has good application and promotion prospects in the field of higher education. In this paper, RaspberryPI technology is used to change the working mode during the detailed analysis of the principle of the Motion detecting system. Based on the implementation mechanism, the overall structure of the tracked manipulator intelligent trolley system is designed, and the specific implementation process of each key module is described.Key words: RaspberryPI;; Crawler type; Mechanical arm; Internet of things; Intelligent car目錄引言31背景和意義31.1 rasberrypi平臺(tái)概述31.2履帶式機(jī)器人手臂智能車系統(tǒng)的發(fā)展及現(xiàn)狀41.3履帶式機(jī)械臂智能小車訓(xùn)練控制系統(tǒng)的意義52履帶式機(jī)械臂智能小車硬件設(shè)計(jì)52.1履帶式機(jī)械手智能小車供電方案72.2履帶式機(jī)械手智能小車控制中心102.3履帶式機(jī)械手智能小車電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)。113 .履帶式機(jī)械臂智能小車軟件設(shè)計(jì)113.1履帶式機(jī)械手智能小車路徑規(guī)劃設(shè)計(jì)133.2履帶式機(jī)械手智能小車驅(qū)動(dòng)設(shè)計(jì)143.2程序代碼144. 機(jī)械手臂的運(yùn)動(dòng)理論和總結(jié)展望分析35致謝38參考文獻(xiàn)39引言隨著現(xiàn)在計(jì)算機(jī)行業(yè)的高速發(fā)展,讓嵌入式高端技術(shù)也得到了迅猛的發(fā)展,RaspberryPI開(kāi)發(fā)平臺(tái)從歐洲傳入中國(guó)就以其小巧玲瓏的體積以及豐富多樣的傳感器接口與強(qiáng)大的編程功能,引起了的強(qiáng)烈反應(yīng)。在各類履帶式機(jī)械臂智能小車中,智能運(yùn)輸類應(yīng)用是當(dāng)前非常熱門的應(yīng)用之一自動(dòng)感應(yīng)運(yùn)輸物體是各類機(jī)械臂智能小車中非常廣泛的應(yīng)用之一,在這個(gè)應(yīng)用上,主要的功能就是將物品搬運(yùn)放置但情況很大程度上節(jié)省了我們的人力和物力。1背景和意義1.1 rasberrypi平臺(tái)概述RaspberryPI是一種嵌入式計(jì)算機(jī)硬件的平臺(tái),他的內(nèi)存大,占用體積小,由英國(guó)慈善組織 “拉斯伯瑞皮基金會(huì)”發(fā)布成立。該基金會(huì)建立這個(gè)的目的是在“改善學(xué)校的里面的計(jì)算機(jī)科學(xué)和相關(guān)的一些學(xué)科教育,使計(jì)算機(jī)的學(xué)習(xí)與使用更加有趣”。計(jì)算機(jī)平臺(tái)使用ARM11架構(gòu)處理器,開(kāi)始使用簡(jiǎn)化的Linux操作系統(tǒng)?;臼褂闷脚_(tái)的硬件的尺寸大致在80mm×50mm(也就類似于普通集成電路卡上面的尺寸)。RaspberryPI系統(tǒng)被稱為“世界上最微型的桌面”。該平臺(tái)提供了極極其的使用成本(新版RaspberryPI 3售價(jià)竟低于為35美元)。并且,它還配備了強(qiáng)大的開(kāi)發(fā)工具以及各種各樣類型的接口,支持SD的卡支持以太網(wǎng)支持USB支持視音頻接口等等。目前,RaspberryPI在各種各樣嵌入式平臺(tái)開(kāi)發(fā)中具有超級(jí)高的性價(jià)比。與此同時(shí),系統(tǒng)中PI體積小,編程功能相當(dāng)強(qiáng)大,尤其適合各種物聯(lián)網(wǎng)或者高新技術(shù)的應(yīng)用的開(kāi)發(fā)。它廣泛的應(yīng)用于國(guó)內(nèi)各種物聯(lián)網(wǎng)發(fā)展和學(xué)校里面的計(jì)算機(jī)教育事業(yè)。自發(fā)布以來(lái),全球銷量已超過(guò)1250萬(wàn)臺(tái)。下面直接給出了Raspberry Pi的構(gòu)件圖,好讓我們有個(gè)直觀的印象。圖1.1 Raspberry Pi的構(gòu)件圖平臺(tái)位最新的系統(tǒng)加上了3456處理系統(tǒng)、還有80個(gè)端口,不僅如此,還可以提供WIFI和藍(lán)牙的功能以及其他的一些多媒體的端口。開(kāi)發(fā)環(huán)境與語(yǔ)言作為拉斯伯瑞皮平臺(tái)的標(biāo)準(zhǔn)編程開(kāi)發(fā)語(yǔ)言部署在Linux系統(tǒng)中。它包含自己的一套標(biāo)準(zhǔn)庫(kù),不僅功能十分完善,語(yǔ)法也十分簡(jiǎn)單明了,內(nèi)存自我恢復(fù)功能強(qiáng)大。因此它非常適合系統(tǒng)過(guò)程管理和網(wǎng)絡(luò)程序開(kāi)發(fā)利用。通過(guò)平臺(tái)提供的各種各樣輸入/輸出端口,Python語(yǔ)言也可以輕松的控制各種其他電子設(shè)備以及傳感器,并收集外部環(huán)境的大數(shù)據(jù)。1.2履帶式機(jī)器人手臂智能車系統(tǒng)的發(fā)展及現(xiàn)狀遙控機(jī)械臂的設(shè)計(jì)和制造旨在培養(yǎng)我們的開(kāi)發(fā)能力和實(shí)踐動(dòng)手能力,以及思考問(wèn)題和處理問(wèn)題的能力,并且旨在將電子信息的各種各樣專業(yè)的理論知識(shí)經(jīng)過(guò)思考轉(zhuǎn)化為實(shí)踐,通過(guò)理論聯(lián)系實(shí)際,并且可以能有效提高我們的各方面綜合素質(zhì)和能力。此外,各種傳感器、感應(yīng)器的開(kāi)發(fā)和使用、計(jì)算機(jī)技術(shù)的飛速發(fā)展和芯片集成度的迅猛提高使得自動(dòng)化技術(shù)在我們的生活中日益成熟,生活方式朝著人工智能的方向快速前進(jìn)。因此,我們大可以認(rèn)為該機(jī)械臂小車的設(shè)計(jì)大概是基于電子信息的發(fā)展技術(shù),通過(guò)我們各種傳感器的充分利用應(yīng)用以及與計(jì)算機(jī)還有通信網(wǎng)絡(luò)的高速結(jié)合。這使得智能汽車可以通過(guò)各種各樣的網(wǎng)絡(luò)中的聲音來(lái)判斷和控制。首先,它適用于我們當(dāng)今的自動(dòng)控制自動(dòng)技術(shù)。其次,它為智能化的發(fā)展未來(lái)研究做好了準(zhǔn)備鋪平了道路。1.3履帶式機(jī)械臂智能小車訓(xùn)練控制系統(tǒng)的意義隨著科學(xué)技術(shù)水平的發(fā)展,我們的生活越來(lái)越智能化,人手相對(duì)大腦而言有太多的限制,例如,人手沒(méi)有太多的力量,不能在高溫、重傷風(fēng)、深海、外太空等特殊環(huán)境中工作。此外,隨著高科技時(shí)代的發(fā)展,一切都不是由人手完成的。因此,有必要設(shè)計(jì)一種機(jī)械臂來(lái)代替人的手臂。此外,大多數(shù)機(jī)械臂控制系統(tǒng)并不完美,控制起來(lái)也不復(fù)雜。為了使機(jī)器人爪到達(dá)某個(gè)目的地,需要幾條控制指令,超遠(yuǎn)程控制不能通過(guò)網(wǎng)絡(luò)進(jìn)行?;谶@些問(wèn)題,我們團(tuán)隊(duì)計(jì)劃設(shè)計(jì)這種智能機(jī)器人手臂。當(dāng)我們的控制系統(tǒng)發(fā)出命令以后,手機(jī)上面的應(yīng)用程序就可以根據(jù)我們的命令處理語(yǔ)音指令,然后再通過(guò)系統(tǒng)將命令發(fā)送給機(jī)械臂小車,小車在這種情況下就會(huì)自己識(shí)別程序命令,然后處理指令,并根據(jù)指令與周圍的環(huán)境咨詢相對(duì)應(yīng)的一些動(dòng)作,在這個(gè)過(guò)程中,不需要人類的參與,小車會(huì)自己動(dòng)作完成。圖1.2 信號(hào)傳輸機(jī)械臂的設(shè)計(jì)給人們帶來(lái)了極大的便利,生活中也越來(lái)越多的情況下,會(huì)使用機(jī)械臂幫助我們?cè)诜浅@щy的情況下緩存一些難以完成的事情, 2履帶式機(jī)械臂智能小車硬件設(shè)計(jì)本課題旨在設(shè)計(jì)一種智能小車,硬件設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)的基礎(chǔ),而需求分析是系統(tǒng)硬件設(shè)計(jì)的前提,根據(jù)需求分析對(duì)硬件進(jìn)行模塊化的設(shè)計(jì),整個(gè)系統(tǒng)分為Raspberry Pi平臺(tái)系統(tǒng)、電源轉(zhuǎn)換電路、JTAG調(diào)試電路、數(shù)據(jù)采集電路、電機(jī)驅(qū)動(dòng)電路、無(wú)線通信電路等,模塊化設(shè)計(jì)不僅使系統(tǒng)對(duì)硬件資源的分配更合理,同時(shí)方便系統(tǒng)調(diào)試,下面具體介紹智能小車的硬件設(shè)計(jì)。該小車能夠檢測(cè)環(huán)境溫度和煙霧濃度,并將采集到的數(shù)據(jù)發(fā)送到計(jì)算機(jī),實(shí)現(xiàn)計(jì)算機(jī)的在線監(jiān)測(cè);同時(shí)小車還具有避障功能。根據(jù)系統(tǒng)的設(shè)計(jì)需求,本智能小車實(shí)現(xiàn)以下功能。 (1) 運(yùn)動(dòng)功能智能小車可以進(jìn)行后退、前進(jìn)、左右拐彎的運(yùn)動(dòng) (2) 避障功能可以避開(kāi)障礙物,選擇一條無(wú)碰路徑,其中涉及到傳感器的選擇和路徑規(guī)劃算法; (3) 測(cè)溫功能可以知曉溫度的變化,達(dá)到測(cè)量的程度; (4) 煙霧報(bào)警功能可以用來(lái)測(cè)量環(huán)境中的煙霧及有害氣體,濃度超標(biāo)時(shí)具有報(bào)警功能。 (5) 通信數(shù)據(jù)功能用無(wú)線通信數(shù)據(jù)來(lái)建立和計(jì)算機(jī)的連接。(6) 上位機(jī)顯示功能計(jì)算機(jī)能夠清晰的顯示智能小車采集到的數(shù)據(jù),將小車的位置還有運(yùn)動(dòng)軌跡以及各種數(shù)據(jù)進(jìn)行上傳。智能小車的硬件設(shè)計(jì)是以需求分析為基礎(chǔ),選擇合適的控制器和傳感器,其中包括傳感器超聲波傳感器、溫度傳感器、煙霧檢測(cè)傳感器、電源電路與控制器接口電路、電機(jī)驅(qū)動(dòng)電路、調(diào)試接口電路等,而這些功能模塊,現(xiàn)在的Raspberry Pi平臺(tái)都已具備。 (1) 電源轉(zhuǎn)換電路 由于各元器件的工作電壓不盡相同,為了保證系統(tǒng)的正常運(yùn)行,需要設(shè)計(jì)出不同數(shù)值的電壓,而超聲波傳感器、溫度傳感器、氣體傳感器的工作電壓范圍是+5V,這就需要通過(guò)用系統(tǒng)電路模塊設(shè)計(jì)的要求來(lái)研制出不一樣的電壓值,這才能與系統(tǒng)的需求相掛鉤。因此,電源電路是系統(tǒng)設(shè)計(jì)的基礎(chǔ)。在這里Raspberry Pi采用的是5V,2A的Micro USB供電。(2) 無(wú)線通信模塊 通信模塊設(shè)計(jì)采用 RS-232 電平轉(zhuǎn)換和 CC1101 無(wú)線收發(fā)芯片。通信模塊可以將智能小車采集到的數(shù)據(jù)實(shí)時(shí)地傳輸?shù)接?jì)算機(jī),同時(shí)短距離抗外干擾性強(qiáng)、可靠性比較高、地理環(huán)境因素限制少、實(shí)用方便快捷。 (3) JTAG 接口電路 JTAG 電路的主要作用就是用于燒寫(xiě) FLASH,由于 PC 機(jī)上是沒(méi)有 JTAG 接口的,同時(shí) JTAG 接口還可以用來(lái)調(diào)試程序,而調(diào)試程序?yàn)榱送ㄟ^(guò) JTAG 接口去調(diào)試目標(biāo)板上的程序,同樣是使用 PC 的并口轉(zhuǎn) JTAG 接口來(lái)實(shí)現(xiàn)與目標(biāo)板的通信。 (4) 溫度采集電路 溫度傳感器輸出信號(hào)有三種模式:數(shù)字式溫度傳感器、邏輯輸出溫度傳感器、模擬式溫度傳感器。此傳感器外圍配加的模數(shù)用電路表示較為復(fù)雜,精確度比較低,本課題中選用數(shù)字溫度傳感器 DS18B20,數(shù)字溫度傳感器準(zhǔn)確度非常高、接線簡(jiǎn)單、性能穩(wěn)定的優(yōu)點(diǎn)。 (5) 氣體檢測(cè)傳感器 氣體檢測(cè)模塊用于檢測(cè)環(huán)境中有毒氣體的濃度,當(dāng)氣體濃度超過(guò)設(shè)定值時(shí),模塊會(huì)報(bào)警提示。 (6) 超聲波測(cè)距傳感器 超聲波測(cè)距傳感器主要有紅外線、激光以及超聲波測(cè)距傳感器三種。紅外的探測(cè)距離較短,只有幾十厘米,一般與其他傳感器結(jié)合使用。激光能夠?qū)崿F(xiàn)遠(yuǎn)距離測(cè)量,具有速度快、精確度高、抗干擾能力強(qiáng)、量程大,光線集中等優(yōu)點(diǎn),但其視場(chǎng)窄,難以覆蓋必需的測(cè)量范圍,再加上它的價(jià)格較貴,所以不是很適合用在小車上。課題中的智能小車用超聲波傳感器來(lái)測(cè)量距離。 (7) 驅(qū)動(dòng)電路模塊 驅(qū)動(dòng)電路是小車運(yùn)動(dòng)的基礎(chǔ),主要負(fù)責(zé)將來(lái)自控制器的控制信號(hào)轉(zhuǎn)化為能夠驅(qū)動(dòng)電機(jī)的信號(hào)模塊,電機(jī)的驅(qū)動(dòng)電路使用分立元件構(gòu)成的驅(qū)動(dòng)電路還有采用專業(yè)電機(jī)驅(qū)動(dòng)芯片,分立元件構(gòu)成的驅(qū)動(dòng)電路,這種芯片結(jié)構(gòu)較為簡(jiǎn)單、價(jià)格便宜,電路工作性能表現(xiàn)的不穩(wěn)定,所以選用專用芯片構(gòu)成驅(qū)動(dòng)電路。 (8)智能小車車體結(jié)構(gòu) 移動(dòng)機(jī)器人的車體結(jié)構(gòu)主要有足步、輪式以及履帶式三種類型。足步式機(jī)器人從機(jī)械結(jié)構(gòu)設(shè)計(jì)到控制算法都比較復(fù)雜,主要應(yīng)用在崎嶇不平的路面,但是其機(jī)動(dòng)性相比自然界的節(jié)肢動(dòng)物,還是有很大差距。履帶式的實(shí)際支撐面積比較大,作業(yè)于松軟土地和泥場(chǎng),越野性能好,但是履帶機(jī)器人的體積和重量都很大,控制算法也有待發(fā)展和完善。輪式機(jī)器人的運(yùn)動(dòng)速度還有方向易控制,操作容易。 輪式機(jī)器人的總類也有很多,一般為三輪或四輪,三輪車的所有的車輪與地面都能保持良好的接觸,可滿足一般的使用要求,但穩(wěn)定性和承受能力較差。四輪結(jié)構(gòu)是最常見(jiàn)的結(jié)構(gòu)形式,具有良好的穩(wěn)定性和承受能力。但是轉(zhuǎn)向結(jié)構(gòu)有所不同,一種是前兩輪由轉(zhuǎn)向電機(jī)控制負(fù)責(zé)轉(zhuǎn)向,后兩輪由驅(qū)動(dòng)電機(jī)控制負(fù)責(zé)前進(jìn)和后退,這種結(jié)構(gòu)的車體轉(zhuǎn)向的角度不容易控制,而且轉(zhuǎn)向半徑也較大。另一種如圖 2-2 左右兩輪 A、B 由兩個(gè)電機(jī)單獨(dú)控制來(lái)實(shí)現(xiàn)小車的前行、后退,前后兩個(gè)為萬(wàn)向輪 C、D 輔助支撐作用,兩個(gè)驅(qū)動(dòng)輪之間差速來(lái)實(shí)現(xiàn)轉(zhuǎn)向功能,這種結(jié)構(gòu)的小車轉(zhuǎn)向更加靈活,控制精度較高,采用差速轉(zhuǎn)向的方式。2.1履帶式機(jī)械手智能小車供電方案硬件系統(tǒng)整個(gè)工作基礎(chǔ)是電源,地位較高,人們很容易忽視,電源系統(tǒng)如果注意得當(dāng),整個(gè)系統(tǒng)的故障將會(huì)大大降低,設(shè)計(jì)電源的整個(gè)過(guò)程就是是一個(gè)權(quán)衡的過(guò)程,必須考慮如下因素:電源的功率;芯片及系統(tǒng)的散熱;輸出紋波;安全因素;電磁兼容和電磁干擾;體積限制及成本限制。 智能小車控制系統(tǒng)有多種電源需求,MiniARM 工控板需要+5V 和+3.3V 電壓,無(wú)線通信模塊是+5V 和+3.3V 電源,超聲波傳感器和氣體傳感器是+5V 電源,所以要設(shè)計(jì)不同電壓值的電源。由于系統(tǒng)對(duì) A/D 功能要求不高,所以模擬電源與數(shù)字電源沒(méi)有分開(kāi)供電。 考慮到小車的本身的移動(dòng)性,所以交流轉(zhuǎn)直流的電壓開(kāi)關(guān)模塊不方便使用,所以選用了 9V(6 節(jié) 1.5V 的直流電池)直流電源,9V 電源經(jīng)過(guò) 7805 變壓芯片,得到+5V 電壓,電路圖如 3-3 所示:其中 LED6 為電源指示燈,R27 為限流電阻,T2、T4 為電路測(cè)試點(diǎn),C4、C5為輸入端濾波電容,C6、C7 為輸出端濾波電容。7805 是大多情況下使用的三端穩(wěn)壓集成芯片,最高輸入極限電壓為 36V,最低輸入電壓為 7V,最佳的工作狀態(tài)是輸入電壓與輸出電壓間的壓差為 34V 左右,輸出電壓為 5V,電路內(nèi)有過(guò)熱或者是調(diào)整管的電路保護(hù),用起來(lái)實(shí)用、方便,而且便宜。在實(shí)際應(yīng)用中,如果輸出的功率很大,要在穩(wěn)壓電路上安裝比較大一點(diǎn)的散熱器。 +5V 既是末級(jí)電源,也是+3.3V 電源的前級(jí)電源。MiniARM 控制器需要的+3.3V電壓為+5V電壓通過(guò) SPX1117-3.3 穩(wěn)壓芯片來(lái)達(dá)到效果的,電壓轉(zhuǎn)換的電路如下圖。圖2.1 電壓轉(zhuǎn)換電路圖SPX1117 為一個(gè)低功耗、低壓差正向電壓調(diào)節(jié)器,其輸出電壓有 3.3V、3.0V、2.85V、1.8V、1.5V 等,800mA 的穩(wěn)定輸出電流,800mA 時(shí)低壓差為 1.1V。SPX1117 有多種封裝,本設(shè)計(jì)選用 TO-220。一個(gè) 10F 輸出電容可有效地保證穩(wěn)定性,同時(shí)還具有電流限制和熱保護(hù)功能,經(jīng)常用于高效率、低功耗設(shè)計(jì)中。 電源去耦電路的作用是去除電路間的相互干擾信號(hào),從而減小 PCB 上的各種噪聲,使電源能夠穩(wěn)定工作。高頻器件運(yùn)轉(zhuǎn)時(shí),它們的電流是不連續(xù)的,間斷的,頻率還很高,在很短的距離內(nèi),線路產(chǎn)生的感抗會(huì)非常大,會(huì)導(dǎo)致器件在需要電流的時(shí)候,不能及時(shí)的供給,當(dāng)用大電容濾波時(shí),由于電解電容器繞層很多,因此有明顯的寄生電感,也會(huì)干擾用電設(shè)備的正常運(yùn)行,此時(shí)小電容就非常適合,所以要用多個(gè)小電容并聯(lián)起來(lái)使用。電源去耦電路如圖圖2.2 電源去耦合電路圖核心板上設(shè)計(jì)了復(fù)位電路,如圖3-6所示。按下按鍵后,會(huì)強(qiáng)制將CPU的復(fù)位引腳拉低,從而達(dá)到使系統(tǒng)復(fù)位的目的。M2005-NU11工控板含有ISP功能,因此可以設(shè)計(jì)一個(gè)ISP電路,如圖3-6 所示。LPC2200芯片內(nèi)有一段引導(dǎo)程序,上電后被執(zhí)行,主要用來(lái)檢查P0.14引腳電平,如果是低,則進(jìn)入ISP程序,如果為高,則檢查用戶代碼部分的中斷向量和是否為0,如果校驗(yàn)正確,則執(zhí)行用戶代碼;如果無(wú)有效用戶代碼,則執(zhí)行ISP程序。在本設(shè)計(jì)中如果程序調(diào)試完畢后要脫機(jī)運(yùn)行,JP1跳線必須要斷開(kāi)。 圖2.3 ISP及復(fù)位電路圖2.2履帶式機(jī)械手智能小車控制中心( 一) 控制系統(tǒng)。機(jī)器小車所采用的控制平臺(tái)是Raspberry Pi,RaspberryPI是一種嵌入式計(jì)算機(jī)硬件的平臺(tái),他的內(nèi)存大,占用體積小,由英國(guó)慈善組織 “拉斯伯瑞皮基金會(huì)”發(fā)布成立。該基金會(huì)建立這個(gè)的目的是在“改善學(xué)校的里面的計(jì)算機(jī)科學(xué)和相關(guān)的一些學(xué)科教育,使計(jì)算機(jī)的學(xué)習(xí)與使用更加有趣”。計(jì)算機(jī)平臺(tái)使用ARM11架構(gòu)處理器,開(kāi)始使用簡(jiǎn)化的Linux操作系統(tǒng)。基本使用平臺(tái)的硬件的尺寸大致在80mm×50mm(也就類似于普通集成電路卡上面的尺寸)。可以將樹(shù)莓派連接電視、顯示器、鍵盤鼠標(biāo)等設(shè)備使用。( 二) 遠(yuǎn)程控制技術(shù)。本文選擇藍(lán)牙技術(shù)進(jìn)行遠(yuǎn)程控制, HC - 06 藍(lán)牙模塊。在機(jī)器小車的制造中藍(lán)牙模塊的作用主 要是接收 Android 手機(jī)發(fā)出的信號(hào),然后作用于單片機(jī)控制 系統(tǒng),從而實(shí)現(xiàn) Android 手機(jī)對(duì)機(jī)器小車的運(yùn)行遙控。 ( 三) 驅(qū)動(dòng)電路仿真。機(jī)器小車的底盤是由四個(gè)電機(jī)組 成,行走時(shí)只需要控制四個(gè)電機(jī)的啟停和正反轉(zhuǎn)即可。在本 課題中是將左右兩邊的兩個(gè)電機(jī)分別串聯(lián)在一起,然后與驅(qū) 動(dòng)模塊連接。機(jī)器小車上配有機(jī)器臂,機(jī)器臂工作時(shí)應(yīng)處于 慢速狀態(tài),而將兩個(gè)電機(jī)串聯(lián)的方法剛好滿足了這一要求。 驅(qū)動(dòng)模塊使用的是 L298N 驅(qū)動(dòng)芯片,其仿真效果如下圖。 圖2.3 L298N 驅(qū)動(dòng)芯片仿真效果圖2.3履帶式機(jī)械手智能小車電機(jī)驅(qū)動(dòng)模塊設(shè)計(jì)。使用單片機(jī)實(shí)現(xiàn)復(fù)位,I / O 控制,PWM 調(diào)速等功能。 目前大多采用開(kāi)關(guān)型驅(qū)動(dòng)方式驅(qū)動(dòng)直流電機(jī),最常見(jiàn)的驅(qū)動(dòng) 方式是脈沖寬度制(PWM)。 本系統(tǒng)電機(jī)驅(qū)動(dòng)芯片采用 L298N,采 用單片機(jī) PWM 調(diào)速,L298N 驅(qū)動(dòng)兩組直流電機(jī),其單組驅(qū)動(dòng)電流 可達(dá) 2 A。 電機(jī)驅(qū)動(dòng)模塊原理如圖所示。 圖2.4 電機(jī)驅(qū)動(dòng)模塊原理如圖Openwrt 是一個(gè)小型 Linux 系統(tǒng),路由器安裝上 Openwrt 后, 其功能將變?yōu)楫惓?qiáng)大,可作為一臺(tái)小型服務(wù)器,安裝好數(shù)據(jù)轉(zhuǎn)發(fā) 和監(jiān)控軟件,即可以實(shí)現(xiàn)與單片機(jī)的串口通信,并用 WIFI 傳輸視 頻信號(hào),實(shí)現(xiàn)視頻監(jiān)控功能,本系統(tǒng)安裝的視頻監(jiān)控軟件為 MJPG 。攝像頭通過(guò) USB 接口與路由器相連接,安裝好驅(qū)動(dòng) 和視頻監(jiān)控軟件后即可通過(guò)開(kāi)發(fā)路由 的 WIFI 功能傳輸視頻信號(hào)。3 .履帶式機(jī)械臂智能小車軟件設(shè)計(jì)語(yǔ)音指令由移動(dòng)應(yīng)用接收并通過(guò)網(wǎng)絡(luò)發(fā)送到汽車的ARM9處理器。ARM9通過(guò)網(wǎng)絡(luò)將機(jī)器人手臂周圍的環(huán)境和汽車的狀態(tài)返回給操作者,從而實(shí)現(xiàn)數(shù)據(jù)交互。如何使兩臺(tái)機(jī)器在不同的內(nèi)部網(wǎng)中進(jìn)行通信一直是一個(gè)難以解決的問(wèn)題。一般的解決方案是:使用服務(wù)器作為中介,首先將信息發(fā)送到外部網(wǎng)絡(luò)服務(wù)器,然后將其轉(zhuǎn)發(fā)到另一個(gè)局域網(wǎng)計(jì)算機(jī),或者通過(guò)虛擬局域網(wǎng)。然而,由于目前通信軟件的數(shù)量眾多,借用這些通信軟件的服務(wù)器是一個(gè)很好的選擇。我們的解決方案是利用微信開(kāi)源軟件,將自己開(kāi)發(fā)的應(yīng)用模塊以插件的方式嵌入到微信中。此外,汽車平臺(tái)還配備了ARM9處理器,可以作為安卓操作系統(tǒng)使用,因此我們可以安裝一個(gè)微信軟件。在本項(xiàng)目中,我們主要使用控制器的語(yǔ)音信息來(lái)操作機(jī)器人車,但我們需要遠(yuǎn)程控制(不同網(wǎng)絡(luò)中的通信控制),因此不建議使用硬件設(shè)備來(lái)實(shí)現(xiàn)語(yǔ)音控制指令識(shí)別轉(zhuǎn)換,因此在這里我們使用我們自己的應(yīng)用插件來(lái)執(zhí)行語(yǔ)音識(shí)別C。翻轉(zhuǎn)。在此之前,應(yīng)用程序?qū)⒄Z(yǔ)音信息識(shí)別為文本,然后通過(guò)網(wǎng)絡(luò)將文本信息發(fā)送給機(jī)器人臂車。機(jī)器人臂車接收到文本指令后,將其轉(zhuǎn)換為機(jī)器指令,最終達(dá)到語(yǔ)音控制。從軟件系統(tǒng)的角度,介紹了我們的智能車。眾所周知,軟件是所有硬件的靈魂。沒(méi)有它,無(wú)論硬件設(shè)計(jì)多么精致,都很難充分發(fā)揮它的作用。智能小車系統(tǒng)有三個(gè)組成部分:環(huán)境感知、決策規(guī)劃還有控制執(zhí)行。環(huán)境感知的輸出可以作為決策規(guī)劃的輸入。決策規(guī)劃的輸出是控制執(zhí)行的輸入??刂茍?zhí)行的輸出控制智能車輛適應(yīng)環(huán)境狀態(tài)的變化,從而形成實(shí)時(shí)閉環(huán)。隨著智能車的發(fā)展,單智能車處理問(wèn)題的能力有限,往往只處理簡(jiǎn)單的單輛車。很難適應(yīng)連續(xù)的多任務(wù)。其次,它們適應(yīng)有限的環(huán)境,通常在特定的場(chǎng)景中。此外,盡管不同的智能車可以處理不同的任務(wù),但是在一定程度上,它滿足了我們的需求,但是機(jī)器人協(xié)作仍然沒(méi)有什么突破,我們無(wú)法處理復(fù)雜的策略。第三,不同的機(jī)器人可以執(zhí)行不同的任務(wù),收集大量的信息,但它們不能共享信息。他使用機(jī)器人?;谝陨蠁?wèn)題,我們將服務(wù)器作為智能車的服務(wù)控制中心,利用服務(wù)器作為智能小車系統(tǒng)的控制中心,有以下好處: (1) 信息共享:智能汽車共享服務(wù)器知識(shí)庫(kù)中所有環(huán)境的信息,因此當(dāng)汽車在不熟悉的環(huán)境中工作時(shí),您可以在工作前訪問(wèn)數(shù)據(jù)庫(kù),詢問(wèn)環(huán)境中是否有任何環(huán)境字母。如果服務(wù)器具有當(dāng)前的環(huán)境信息,則環(huán)境信息將傳輸?shù)街悄苘?。獲取環(huán)境信息當(dāng)汽車直接根據(jù)獲得的信息進(jìn)行任務(wù)處理后,汽車就保存了對(duì)環(huán)境信息的探索,肯定了。這只是個(gè)別車的很多,如果車的數(shù)量增加,效益就不能低估。 (2) 多車協(xié)作:當(dāng)智能車處理任務(wù)相對(duì)困難時(shí),需要多輛智能車的配合。例如,在A房間,有一件貨物需要智能車A運(yùn)到B房間,距離A房間2公里,如果是單個(gè)智能車A運(yùn)到,可能需要10分鐘,而A車的動(dòng)力只能支持運(yùn)行5分鐘才能到達(dá)C位置,在這種情況下,只有A車不能完成任務(wù)。智能車A把任務(wù)加狀態(tài)信息發(fā)送置服務(wù)器,服務(wù)器用收到的數(shù)據(jù)在C處搜索可使用智能小車。這個(gè)發(fā)現(xiàn)發(fā)現(xiàn)發(fā)現(xiàn)在C點(diǎn)附近的智能車B中有足夠的電力,然后服務(wù)器將信息發(fā)送給智能車B,這樣它就可以在智能車B處提貨,并來(lái)完成A沒(méi)有完成的任務(wù)。(3) 遠(yuǎn)程監(jiān)控:這是智能系統(tǒng)的控制中心,要對(duì)所有的智能小車進(jìn)行實(shí)時(shí)監(jiān)控。該方法的優(yōu)點(diǎn)是能及時(shí)檢測(cè)智能車的故障,避免不必要的損失。此外,當(dāng)汽車不知道如何處理復(fù)雜的道路條件時(shí),智能汽車的運(yùn)動(dòng)可以手動(dòng)和遠(yuǎn)程控制。 (4) 知識(shí)存儲(chǔ):知識(shí)庫(kù)是服務(wù)器的核心模塊當(dāng)中十分重要的一個(gè)?,F(xiàn)在處在數(shù)據(jù)時(shí)代。數(shù)據(jù)就像地雷。數(shù)量和內(nèi)容越多,包含的價(jià)值就越大。此軟件系統(tǒng)設(shè)計(jì)用C語(yǔ)言模塊化結(jié)構(gòu), 包括主程序、pwm調(diào)速子程序、電機(jī)驅(qū)動(dòng)子程序、 中斷子程序、循跡行駛子程序、無(wú)線遙控子程序、避障行駛子程序、按鍵切換子程序等。系統(tǒng)主程序流程圖如下圖所示。 圖3.1 系統(tǒng)主程序流程圖3.1履帶式機(jī)械手智能小車路徑規(guī)劃設(shè)計(jì)系統(tǒng)是用集成型紅外對(duì)管對(duì)尋跡單元的作為傳感器使用,紅外線發(fā)射紅外線后,紅外線二極管再進(jìn)行接收數(shù)據(jù)。使用紅外線進(jìn)行發(fā)射,可見(jiàn)光對(duì)接收信號(hào)幾乎沒(méi)有影響,用射極輸出器對(duì)信號(hào)屏蔽。小車底部的一處紅外線收發(fā)對(duì)管遇到黑帶時(shí),還能檢測(cè)到輸入電平為高電平,反過(guò)來(lái)是低電平。 3.2履帶式機(jī)械手智能小車驅(qū)動(dòng)設(shè)計(jì)智能小車的電機(jī)選用的是直流減速電機(jī),即齒輪減速電機(jī),是在普通直流電機(jī)的基礎(chǔ)上,加上配套齒輪減速箱。齒輪減速箱的作用是,提供較低的轉(zhuǎn)速,較大的力矩。同時(shí),齒輪箱不同的減速比可以提供不同的轉(zhuǎn)速和力矩。電機(jī)的工作電壓為3-6V,電壓為 6V 時(shí),無(wú)負(fù)載時(shí)轉(zhuǎn)速為 100 轉(zhuǎn)/分鐘,無(wú)負(fù)載時(shí)電流為 70mA,減速比為 1:48。 電機(jī)驅(qū)動(dòng)電路連接圖25如如 3-15 所示,主要包括光電耦合器件、電機(jī)驅(qū)動(dòng)芯片、整流電路三個(gè)部分。光電耦合器件選用的是 TLP521-4,其內(nèi)部含有四組光耦管,用來(lái)將控制信號(hào)與負(fù)載完全隔離,可以增加安全性,減小信號(hào)之間的干擾;電機(jī)驅(qū)動(dòng)芯片選用的是 L298N,為 15 腳 Multiwatt 封裝,其中 IN1、IN2、IN3、IN4 為控制信號(hào)輸入端,VS為電源電壓,最大可接 36V,VSS為工作電壓,最小 4.5V,最大 36V,在應(yīng)用中根據(jù)實(shí)際情況選擇 5V 電壓。整流電路選用 8 個(gè)二極管IN4007。圖3.2 整流電路圖測(cè)試分析:控制驅(qū)動(dòng)電路的輸入電平,然后用萬(wàn)用表測(cè)試輸出電壓的大小,檢驗(yàn)與預(yù)定的結(jié)果一致時(shí),接通電機(jī),編寫(xiě)電機(jī)驅(qū)動(dòng)程序,小車能夠?qū)崿F(xiàn)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的功能。 3.2程序代碼1. 初始化以及模式控制/* Function main* brief 對(duì)串口發(fā)送過(guò)來(lái)的數(shù)據(jù)解析,并執(zhí)行相應(yīng)的指令* paramin void* retval void* par History 無(wú)*/int main() g_modeSelect = 1; /wiringPi初始化 wiringPiSetup(); digitalWrite(OutfirePin, HIGH); /初始化電機(jī)驅(qū)動(dòng)IO為輸出方式 pinMode(Left_motor_go, OUTPUT); pinMode(Left_motor_back, OUTPUT); pinMode(Right_motor_go, OUTPUT); pinMode(Right_motor_back, OUTPUT); /創(chuàng)建兩個(gè)軟件控制的PWM腳 softPwmCreate(Left_motor_pwm,0,255); softPwmCreate(Right_motor_pwm,0,255); /定義左右傳感器為輸入接口 pinMode(AvoidSensorLeft, INPUT); pinMode(AvoidSensorRight, INPUT); /定義尋跡紅外傳感器為輸入模式 pinMode(TrackSensorLeftPin1, INPUT); pinMode(TrackSensorLeftPin2, INPUT); pinMode(TrackSensorRightPin1, INPUT); pinMode(TrackSensorRightPin2, INPUT); /定義光敏電阻引腳為輸入模式 pinMode(LdrSensorLeft, INPUT); pinMode(LdrSensorRight, INPUT); /初始化蜂鳴器IO為輸出方式 pinMode(buzzer, OUTPUT); digitalWrite(buzzer, HIGH); /初始化超聲波引腳模式 pinMode(EchoPin, INPUT); /定義超聲波輸入腳 pinMode(OutfirePin, OUTPUT); /初始化RGB三色LED的IO口為輸出方式,并初始化 pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); softPwmCreate(LED_R,0,255); softPwmCreate(LED_G,0,255); softPwmCreate(LED_B,0,255); /初始化舵機(jī)引腳為輸出模式 pinMode(FrontServoPin, OUTPUT); /初始化舵機(jī)引腳為輸出模式 pinMode(FrontServoPin, OUTPUT); pinMode(ServoUpDownPin, OUTPUT); pinMode(ServoLeftRightPin, OUTPUT); /舵機(jī)位置初始化 servo_init(); /打開(kāi)串口設(shè)備,如若失敗則會(huì)打印錯(cuò)誤信息return -1; while(1) /調(diào)用串口解包函數(shù) serialEvent(); if (NewLineReceived) printf("serialdata:%sn",InputString); serial_data_parse(); /調(diào)用串口解析函數(shù)NewLineReceived = 0; /切換不同功能模式 switch (g_modeSelect) case 1: break; /暫時(shí)保留 case 2: Tracking_Mode(); break; /巡線模式 /舵機(jī)云臺(tái)的控制 Servo_Control_Thread(); /讓串口平均每秒發(fā)送采集的數(shù)據(jù)給上位機(jī) if(g_modeSelect = 1) serialtime-; if(serialtime =0) count-; serialtime = 5000; if(count = 0) serial_data_postback(fd); serialtime = 5000; count = 20; usleep(10); serialClose(fd); /關(guān)閉串口 return 0;2. 舵機(jī)旋轉(zhuǎn)一定的角度/* Function servo_pulse* 控制0-180度* paramin1 ServPin:舵機(jī)控制引腳* paramin2 myangle:舵機(jī)轉(zhuǎn)動(dòng)指定的角度* paramout void* retval void* par History 無(wú)*/void servo_pulse(int v_iServoPin, int myangle) int PulseWidth; /定義脈寬變量 delayMicroseconds(PulseWidth); /延時(shí)脈寬值的微秒數(shù)* paramin pos:指定的角度* paramout void* retval void* par History 無(wú)*/void servo_appointed_detection(int pos) int i = 0;3. 超聲波測(cè)距函數(shù)/* Function Distance* brief 超聲波測(cè)一次前方的距離* paramin void* paramout void* retval float:distance返回距離值* par History 無(wú)*/float Distance()float distance;struct timeval tv1;struct timeval tv2;struct timeval tv3;struct timeval tv4;long start, stop;digitalWrite(TrigPin, LOW);delayMicroseconds(2);start = tv3.tv_sec * 1000000 + tv3.tv_usec;while(!digitalRead(EchoPin) = 1)return -1; /超時(shí)返回-1 start = tv1.tv_sec*1000000+tv1.tv_usec;while(!digitalRead(EchoPin) = 0)gettimeofday(&tv3,NULL); /超時(shí)重測(cè)機(jī)制開(kāi)始計(jì)時(shí)stop = tv3.tv_sec*1000000+tv3.tv_usec;if (stop - start) > 30000)return -1; /超時(shí)重測(cè)機(jī)制結(jié)束計(jì)時(shí)gettimeofday(&tv2, NULL); /當(dāng)echo腳電平變低時(shí)結(jié)束計(jì)時(shí) start = tv1.tv_sec * 1000000 + tv1.tv_usec;stop = tv2.tv_sec * 1000000 + tv2.tv_usec; distance = (float)(stop - start)/1000000 * 34000 / 2;printf("distance: %fn", distance);return distance;4. 小車前進(jìn)、后退、剎車、左拐、右拐等運(yùn)行函數(shù)/* Function run* brief 小車前進(jìn)* retval void* par History 無(wú)*/void run(unsigned int LeftCarSpeedControl,unsigned int RightCarSpeedControl) /左電機(jī)前進(jìn) softPwmWrite(Left_motor_pwm, LeftCarSpeedControl*0.95); /右電機(jī)前進(jìn) softPwmWrite(Right_motor_pwm, RightCarSpeedControl); /* Function brake* brief 小車剎車* paramin void* paramout void* retval void* par History 無(wú)*/void brake() digitalWrite(Left_motor_go, LOW); digitalWrite(Left_motor_back, LOW); digitalWrite(Right_motor_go, LOW); digitalWrite(Right_motor_back, LOW); /* Function left* par History 無(wú)*/void left(unsigned int LeftCarSpeedControl,unsigned int RightCarSpeedControl) /左電機(jī)停止 softPwmWrite(Left_motor_pwm, LeftCarSpeedControl); /右電機(jī)前進(jìn) softPwmWrite(Right_motor_pwm, RightCarSpeedControl); /* Function spin_left* brief 小車原地左轉(zhuǎn)(左輪后退,右輪前進(jìn))* retval void* par History 無(wú)*/void spin_left(unsigned int LeftCarSpeedControl,unsigned int RightCarSpeedControl) /左電機(jī)后退 softPwmWrite(Left_motor_pwm, LeftCarSpeedControl); /右電機(jī)前進(jìn) softPwmWrite(Right_motor_pwm, RightCarSpeedControl); /* Function right* brief 小車右轉(zhuǎn)(左輪前進(jìn),右輪不動(dòng))* paramout void* retval void* par History 無(wú)*/void right(unsigned int LeftCarSpeedControl,unsigned int RightCarSpeedControl) /左電機(jī)前進(jìn) digitalWrite(Left_motor_go, HIGH); /左電機(jī)前進(jìn)使能 digitalWrite(Left_motor_back, LOW); /左電機(jī)后退禁止 softPwmWrite(Left_motor_pwm, LeftCarSpeedControl); /右電機(jī)停止 softPwmWrite(Right_motor_pwm, RightCarSpeedControl); /* Function spin_right* brief 小車原地右轉(zhuǎn)(右輪后退,左輪前進(jìn))* paramout void* retval void* par History 無(wú)*/void spin_right(unsigned int LeftCarSpeedControl,unsigned int RightCarSpeedControl) /左電機(jī)前進(jìn) softPwmWrite(Left_motor_pwm, LeftCarSpeedControl); /右電機(jī)后退 softPwmWrite(Right_motor_pwm, RightCarSpeedControl); /* Function back* brief 小車后退* paramout void* retval void* par History 無(wú)*/void back(unsigned int LeftCarSpeedControl,unsigned int RightCarSpeedControl) /左電機(jī)后退 softPwmWrite(Left_motor_pwm, LeftCarSpeedControl); /右電機(jī)后退 softPwmWrite(Right_motor_pwm, RightCarSpeedControl);5. 小車巡線模式函數(shù)/*模式2 巡線模式*/* Function Tracking_Mode* brief 巡線模式* paramin1 void* paramout void* retval void* par History 無(wú)*/int g_trackstate = 0;void Tracking_Mode() char *p=ReturnTemp; memset(ReturnTemp,0,sizeof(ReturnTemp); track_test(); /在巡線過(guò)程中發(fā)送巡線傳感器效果 serialtime-; if(serialtime = 0) count-;serialtime = 5000; if(count = 0) strcat(p,"4WD,CSB0,PV8.4,GS0,LF"); strcat(p,infrared_track_value); strcat(p,",HW00,GM00#"); serialPrintf(fd, p); serialtime = 5000; count = 20; /四路循跡引腳電平狀態(tài) / 0 0 X 0 / 1 0 X 0 / 0 1 X 0 /以上6種電平狀態(tài)時(shí)小車原地右轉(zhuǎn),速度為250,延時(shí)80ms /處理右銳角和右直角的轉(zhuǎn)動(dòng) if ( (TrackSensorLeftValue1 = LOW | TrackSensorLeftValue2 = LOW) && TrackSensorRightValue2 = LOW) g_trackstate = 1; spin_right(200, 200); / luz 250, 250 delay(80); /四路循跡引腳電平狀態(tài) / 0 X 0 0 / 0 X 0 1 / 0 X 1 0 /處理左銳角和左直角的轉(zhuǎn)動(dòng) else if ( TrackSensorLeftValue1 = LOW && (TrackSensorRightValue1 = LOW | TrackSensorRightValue2 = LOW) g_trackstate = 2; spin_left(200, 200); / luz 250, 250 delay(80); / 0 X X X /最左邊檢測(cè)到 else if ( TrackSensorLeftValue1 = LOW) g_trackstate = 3; spin_left(160, 160); /luz 200, 200 /delay(10); / X X X 0 /最右邊檢測(cè)到 else if ( TrackSensorRightValue2 = LOW ) g_trackstate = 4; spin_right(160, 160); /luz 200, 200 /delay(10); /四路循跡引腳電平狀態(tài) / X 0 1 X /處理左小彎 else if ( TrackSensorLeftValue2 = LOW && TrackSensorRightValue1 = HIGH) g_trackstate = 5; left(0, 176); /luz 0, 220 /四路循跡引腳電平狀態(tài) / X 1 0 X /處理右小彎 else if (TrackSensorLeftValue2 = HIGH && TrackSensorRightValue1 = LOW) g_trackstate = 6; right(176, 0); /luz 220,0 /四路循跡引腳電平狀態(tài) / X 0 0 X /處理直線 else if (TrackSensorLeftValue2 = LOW && TrackSensorRightValue1 = LOW) g_trackstate = 7; run(204, 204); /luz 255, 255 else switch(g_trackstate) /當(dāng)為1 1 1 1時(shí)小車保持上一個(gè)小車運(yùn)行狀態(tài) 6. 攝像頭舵機(jī)根據(jù)超聲波測(cè)距距離的動(dòng)作函數(shù)/* Function servo_color_carstate* brief 舵機(jī)轉(zhuǎn)向超聲波測(cè)距避障行駛,led根據(jù)車的狀態(tài)顯示相應(yīng)的顏色* paramin void* paramout void* retval void* par History 無(wú)*/ void servo_color_carstate() float distance; /定義舵機(jī)位置變量和小車前方,左側(cè),右側(cè)距離 int iServoPos = 0; int LeftDistance = 0; /左方距離值變量LeftDistance int RightDistance = 0; /右方距離值變量RightDistance int FrontDistance = 0; /前方距離值變量FrontDistance color_led_pwm(255, 0, 0);/開(kāi)紅燈 back(80,80); /避免突然停止,剎不住車 delay(80); brake(); /舵機(jī)旋轉(zhuǎn)到0度,即右側(cè),測(cè)距 servo_appointed_detection(0); delay(500); distance = Distance_test(); /測(cè)距 RightDistance = distance; /所測(cè)的右側(cè)距離賦給變量RightDistance /printf("rightdistance :%dn",RightDistance); /舵機(jī)旋轉(zhuǎn)到180度,即左側(cè),測(cè)距 servo_appointed_detection(180); delay(500); distance = Distance_test(); /測(cè)距 LeftDistance = distance;/所測(cè)的左側(cè)距離賦給變量LeftDistance / printf("leftdistance :%dn",LeftDistance); /舵機(jī)旋轉(zhuǎn)到90度,即左側(cè),測(cè)距 servo_appointed_detection(90); delay(500); distance = Distance_test();

注意事項(xiàng)

本文(基于RaspberryPI的履帶式機(jī)械臂智能小車設(shè)計(jì)和實(shí)現(xiàn) 機(jī)械設(shè)計(jì)及其自動(dòng)化專業(yè))為本站會(huì)員(文***)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!