汪磊 汪志平 張家樂(lè)
摘? ?要:為了適應(yīng)不同用戶和功能的需求,我們?cè)O(shè)計(jì)了對(duì)于一種基于STM32可以自動(dòng)精確識(shí)別目標(biāo)、自動(dòng)規(guī)劃最優(yōu)路線,實(shí)時(shí)避障的無(wú)線調(diào)控智能小車云臺(tái),小車云臺(tái)可以搭載不同的功能模塊或者器件進(jìn)行相應(yīng)工作,例如機(jī)械臂操作、載物臺(tái)運(yùn)輸、水槍滅火等等。此小車云臺(tái)具有多樣的功能、靈活方便、智能控制等特點(diǎn),在某些領(lǐng)域有著很大的優(yōu)勢(shì)。
關(guān)鍵詞:STM32? 智能控制? 小車云臺(tái)
中圖分類號(hào):TP23;TP368? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào):1674-098X(2019)11(a)-0111-03
在很多領(lǐng)域中,人們都需要運(yùn)用機(jī)器來(lái)代替人類去完成復(fù)雜、繁重、精細(xì)、危險(xiǎn)甚至人類無(wú)法完成的工作,而我們基于這樣的需求,設(shè)計(jì)出一款功能多樣、可以適應(yīng)不同條件道路的智能小車云臺(tái),該智能小車云臺(tái)可以搭載使用者所需求的器件或者工具,通過(guò)這款智能小車云臺(tái)快速、平穩(wěn)地去運(yùn)行到指定地點(diǎn)工作,大大提高了工作效率,具有很強(qiáng)的適應(yīng)性、穩(wěn)定性、易操作等特點(diǎn),有很高的應(yīng)用場(chǎng)景與方式。
1? 系統(tǒng)設(shè)計(jì)
1.1 硬件結(jié)構(gòu)設(shè)計(jì)
車體架構(gòu)采用麥克納姆輪車模,整個(gè)車模的速度和運(yùn)動(dòng)方向是由四個(gè)麥輪的四個(gè)轉(zhuǎn)速聯(lián)合作用而實(shí)現(xiàn)的。麥輪車模有一套復(fù)雜的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)模型,可以實(shí)現(xiàn)全向運(yùn)動(dòng)。對(duì)于小車的運(yùn)行,可以實(shí)現(xiàn)精確的麥輪車??刂茝亩U闲≤嚨撵`活、輕巧的特點(diǎn)。
如圖1所示,小車的結(jié)構(gòu)主要包括八個(gè)模塊:?jiǎn)纹瑱C(jī)控制模塊、電源管理模塊、無(wú)線傳輸模塊、攝像頭識(shí)別模塊、避障模塊、速度反饋模塊、電機(jī)驅(qū)動(dòng)模塊、多功能云臺(tái)模塊、屏幕顯示模塊。
各個(gè)模塊的主要功能:
單片機(jī)控制模塊:小車所用的是恩智浦公司所生產(chǎn)的MK60系列單片機(jī),作為系統(tǒng)的的核心模塊 ,主要是將攝像頭識(shí)別傳回的數(shù)據(jù)進(jìn)行相應(yīng)算法處理與速度反饋模塊進(jìn)行實(shí)時(shí)相互協(xié)調(diào),在單片機(jī)寫好的程序中,根據(jù)避障模塊的數(shù)據(jù)傳輸給四個(gè)電機(jī)相應(yīng)的PWM控制信號(hào),并且將對(duì)應(yīng)數(shù)據(jù)實(shí)時(shí)通過(guò)屏幕顯示。
電源控制模塊:是整車各個(gè)模塊相互配合的保障,一個(gè)穩(wěn)定、持續(xù)的電源是小車可靠運(yùn)行的基礎(chǔ),小車所用的電源是易拆卸的8V鋰電池電源,其中核心板使用是整個(gè)系統(tǒng)的動(dòng)力保障,可靠、穩(wěn)定的電源是系統(tǒng)持續(xù)運(yùn)行的必備條件,整個(gè)系統(tǒng)的供電是由7.2V鋰電池提供的,運(yùn)用 DC-DC電壓變換原理,得到需要的電壓,為不同模塊提供可靠電源。
避障模塊模塊:該模塊是防止小車卡死、保證小車通暢運(yùn)行的主要措施,它可以實(shí)時(shí)監(jiān)測(cè)小車所處環(huán)境的情況,根據(jù)障礙物的形狀和大小,使小車作出相應(yīng)的運(yùn)動(dòng)反應(yīng),從而使小車高效率的運(yùn)行。
速度反饋模塊:測(cè)量小車當(dāng)前行駛速度,及時(shí)將車速信息反饋到主控芯片上,形成閉環(huán)系統(tǒng),讓小車適應(yīng)不同地形的措施,也是提高控制精度的重要模塊。
電機(jī)驅(qū)動(dòng)模塊:是整個(gè)系統(tǒng)的“飛毛腿”,也是算法高效運(yùn)行的基礎(chǔ),良好的電機(jī)驅(qū)動(dòng)更加有利于小車的快速加速和制動(dòng),是小車快速反應(yīng),保障小車進(jìn)行高效率的進(jìn)行運(yùn)動(dòng)。
多功能云臺(tái)模塊:該模塊是小車進(jìn)行不同功能的多樣性替換模塊,使用者根據(jù)自身?xiàng)l件與需求可以方便的選取功能模塊,進(jìn)行工作。
屏幕顯示調(diào)試模塊:輔助調(diào)試模塊用于建立良好的人機(jī)交互界面,是驗(yàn)證編程錯(cuò)誤的重要手段。它也是在運(yùn)行時(shí)修改一些重要參數(shù)的便捷措施。修改一些重要參數(shù)可以大大節(jié)省調(diào)試過(guò)程,方便開(kāi)發(fā)者調(diào)整和啟動(dòng)。
攝像頭識(shí)別模塊:該系統(tǒng)選取了OPENMV4 H7攝像頭,該款攝像頭自帶處理芯片,大大減輕主控芯片的運(yùn)算,且攝像頭可以單獨(dú)且簡(jiǎn)單地進(jìn)行目標(biāo)選取,目標(biāo)可多樣化如不同形狀和顏色的物體,人臉、二維碼、數(shù)字識(shí)別,紅外檢測(cè),巡線等等目標(biāo),是小車的一雙犀利的“雙眼”。
無(wú)線控制傳輸模塊:該模塊可以使使用者遠(yuǎn)距離進(jìn)行操控小車,或者下達(dá)相應(yīng)指令,還可以快捷傳輸回監(jiān)測(cè)的數(shù)據(jù)和小車的實(shí)時(shí)狀況。
1.2 軟件結(jié)構(gòu)設(shè)計(jì)
編程使用了MK60系列芯片中的TIM模塊、PIT模塊、AD模塊、I/O模塊、PIT模塊、PWM模塊。當(dāng)中四路電機(jī)由主控芯片發(fā)出PWM波來(lái)控制,通過(guò)攝像頭和避障模塊確定地形和目標(biāo)位置,I/0塊主要用作模塊的數(shù)據(jù)傳輸。PIT模塊作為定時(shí)器發(fā)生不同的時(shí)間段,給主控芯片處理中斷任務(wù),速度控制服務(wù)程序都寫在了PIT中斷當(dāng)中。
如圖2所示,可以看出軟件的設(shè)計(jì)由三個(gè)部分組成:圖像信息采集與處理、控制算法和速度反饋信息。
圖像信息采集與處理:OpenMV配備了MicroPython解釋器,這個(gè)可以用Python嵌入式編程。 使Python的程序更簡(jiǎn)單。例如,直接調(diào)用findoubs()可以獲得包含所有顏色塊信息的列表。使用python巡回各色塊,能得到他們的全部信息。對(duì)于這些復(fù)雜功能只要幾行代碼。同時(shí),OpenMV采用著重疊可能的設(shè)計(jì),能追加各種各樣的shield。
控制算法:依據(jù)麥克納姆輪小車基本控制方法,使用k60核心板的FTM0模塊,輸出四路PWM占空比值,用于閉環(huán)驅(qū)動(dòng)四個(gè)電機(jī)正反轉(zhuǎn)向和轉(zhuǎn)速大小。調(diào)整四個(gè)PWM參數(shù),即可方便地實(shí)現(xiàn)小車的速度快慢(和四種運(yùn)動(dòng)方向的控制。通過(guò)攝像頭反饋的車輛方向修正參數(shù) 。由于麥輪車模四個(gè)麥輪既控制車輛運(yùn)動(dòng)速度,又控制車輛運(yùn)行方向,因此要把車輛方向修正參數(shù)加到車子控制函數(shù)的四個(gè)電機(jī)控制PWM參數(shù)上,從而實(shí)現(xiàn)小車精確的控制運(yùn)行。
速度反饋:為了達(dá)到更好的控制效果,對(duì)速度進(jìn)行閉環(huán)控制是必要的。這里的速度控制策略是指小車達(dá)到設(shè)定的速度去運(yùn)行—設(shè)定速度主要由道路的陡緩、直彎道、粗糙程度等決定,將情況實(shí)時(shí)不斷地反饋給您主控芯片,結(jié)合相應(yīng)的算法去實(shí)現(xiàn)對(duì)四個(gè)電機(jī)的控制。
2? 應(yīng)用
(1)一種移動(dòng)式快遞分揀搬運(yùn)小車:隨著電商的發(fā)展,快遞在人們的生活中占得比例越來(lái)越重,通過(guò)智能小車云臺(tái)對(duì)各個(gè)快遞上的二維碼識(shí)別從而分揀運(yùn)輸?shù)街付ǖ牡攸c(diǎn),幫助快遞員對(duì)快遞進(jìn)行分揀和搬運(yùn),對(duì)于減輕快遞員的工作強(qiáng)度,提高工作效率具有重要意義,一定程度上減少出錯(cuò)率。
(2)基于機(jī)械臂的智能小車:隨著科學(xué)技術(shù)的發(fā)展,人類社會(huì)正朝著自動(dòng)化、智能化的方向快速發(fā)展。另外,由于人手的局限性,且大多數(shù)機(jī)械手臂都具有很大的局限性,往往只能固定地進(jìn)行工作。所以機(jī)械臂可以搭載智能小車云臺(tái),它可以在控制器發(fā)出指令后,通過(guò)終端無(wú)線連接發(fā)送給機(jī)械臂小車,小車根據(jù)指令與周圍環(huán)境自動(dòng)處理指令并執(zhí)行與之對(duì)應(yīng)的動(dòng)作,此過(guò)程中便不再人為參與。
(3)智能滅火小車:隨著社會(huì)與國(guó)家發(fā)展,現(xiàn)代火災(zāi)的危害較大且對(duì)于消防員也是一種生死考驗(yàn),于是自動(dòng)滅火裝置可以搭載我們的智能小車云臺(tái),消防員可以通過(guò)終端控制已經(jīng)加裝防護(hù)小車進(jìn)入火場(chǎng),通過(guò)紅外熱成像攝像頭去快速定位被困者,還可以實(shí)時(shí)傳輸火場(chǎng)數(shù)據(jù),使消防員快速有效地進(jìn)行滅火,從而最大限度地減小人員傷亡和財(cái)產(chǎn)損失。
3? 結(jié)語(yǔ)
這款多功能智能小車云臺(tái)其獨(dú)特的性能與特點(diǎn)創(chuàng)造了一個(gè)空白市場(chǎng),無(wú)論是民用、商用、軍用等等,都具有其強(qiáng)大的適用性能,前景廣闊。這款云臺(tái)操作簡(jiǎn)易,可以通過(guò)可視化屏幕進(jìn)行人機(jī)交互,實(shí)時(shí)進(jìn)行調(diào)參,初始化,還可以遠(yuǎn)距離進(jìn)行無(wú)線傳輸、調(diào)控,單獨(dú)通過(guò)攝像頭進(jìn)行目標(biāo)的確定,其操作只需幾句簡(jiǎn)單的語(yǔ)句即可實(shí)現(xiàn)。其車載云臺(tái)根據(jù)使用者需求隨時(shí)隨地簡(jiǎn)易更換,達(dá)到不同的功能需求,四路電機(jī)控制小車,靈活穩(wěn)定的運(yùn)行滿足不同使用者對(duì)于不同地形的要求??傊?,小車云臺(tái)可以讓使用者高效率完成復(fù)雜、危險(xiǎn)、繁重的工作與要求。
參考文獻(xiàn)
[1] 王慶有.圖像傳感器應(yīng)用技術(shù)[M].北京:電子工業(yè)出版 社,2003.
[2] 阮秋琦.數(shù)字圖像處理學(xué)[M].北京:電子工業(yè)出版社,2001.
[3] 張興國(guó).可編程序控制器技術(shù)及應(yīng)用[M].北京:中國(guó)電力出版社,2006.
[4] 郭天祥.51單片機(jī)C語(yǔ)言教程[M].北京:電子工業(yè)出版社,2008.
[5] 劉海峰.基于STM32單片機(jī)的智能控制系統(tǒng)設(shè)計(jì)以及實(shí)現(xiàn)研究[J].技術(shù)與市場(chǎng),2017(9):156.