劉孝賢,余江,鄭徐凱,陳衍藝,胡俊澤
基于STM32的全地形越障排爆機器人設計
劉孝賢1,余江*,1,鄭徐凱1,陳衍藝2,胡俊澤1
(1.廣東海洋大學 機械與動力工程學院,廣東 湛江 524088;2.廣東海洋大學 電子與信息工程學院,廣東 湛江 524088)
為實現(xiàn)全地形越障排爆小車的循跡、越障、識別與排爆功能,設計了一套以STM32單片機為核心的全自動控制系統(tǒng)。其機械結構包括滑輪結構、底盤結構和爆破結構,著重于實現(xiàn)越障與減震;程序設計部分包含有循跡、姿態(tài)平穩(wěn)調整、顏色識別與目標爆破幾個部分,其中尋跡部分為基于PID算法所寫。本設計為全自動機器人,工作時無需人工介入,可自行沿黑線循跡行走,并越過多重障礙物,同時能在指定區(qū)域內完成顏色識別與目標氣球扎破的任務。
STM32單片機;循跡;越障;PID算法
本課題內容為設計一款全地形越障排爆小車,用于模擬現(xiàn)實中復雜地形的排爆工作。要求能實現(xiàn)以下幾點:①能在指定區(qū)域沿黑線循跡運動;②能越過隧道、上下坡、樓梯等障礙;③能對指定地點放置的色卡進行顏色識別、與氣球進行顏色匹配,并刺破對應顏色的氣球。
根據要求確定系統(tǒng)的結構框架。該控制系統(tǒng)主要由控制模塊、循跡模塊、運動模塊、顏色識別模塊、氣球爆破模塊、攝像頭模塊和電源等構成。
機器人的機械結構設計將直接影響算法實施的精度上限。本次設計的主要任務為循跡運動、越障、識別氣球顏色和爆破。
針對越障中的隧道,在小車的左前方和右前方各安有兩個滑輪,用于輔助小車在隧道中的循跡轉彎,防止小車隧道過彎時因撞墻而卡住,可以對小車的出彎進行方向矯正。該設計在提升小車過彎速度的同時增加了小車的穩(wěn)定性。為確定滑輪尺寸,進行了8組實驗,結果如表1所示。
表1 滑輪直徑對過隧道時間的影響
故滑輪直徑設計為43 mm最為有效。若尺寸設計過小不利于滑輪與隧道接觸,不能起到滑輪導向的作用;若尺寸設計過大,會增加小車在通過隧道時卡住的風險,并且不易入軌。
滑輪結構尺寸如圖1所示。
圖1 滑輪結構尺寸圖(單位:mm)
針對越障中的樓梯與上下坡障礙,本小車輪子采用橡膠材質,有利于在越過障礙沖向地面時達到減震的效果,且前輪安裝位置比循跡模塊略向前,使其充分保護循跡模塊,防止越障時障礙物對循跡模塊造成損害。相較于同等車型,本小車采用直徑70 mm的大輪子,這提高了小車的底盤,以在越障過程中,保護底盤結構的安全。
針對氣球爆破任務,機械結構采用平面四連桿機構,該結構設計簡單、實用性高,由兩個連架桿、一個連桿和四個轉動副構成,僅需通過一個舵機控制便可得到準確的運動。
為確定刺氣球模塊與攝像頭的最佳距離,進行了5組實驗(每組20次),結果如表2所示。綜合考慮確定的最佳距離為8 cm。
表2 刺氣球模塊與攝像頭模塊的距離實驗
攝像頭模塊識別到相應目標后,STM32單片機便控制舵機轉動,通過該機構對氣球進行爆破。設計參數(shù)與該機構結構簡圖如圖2所示。
設計得到的全地形越障排爆小車整體結構如圖3所示。
本控制系統(tǒng)以STM32f103rct6芯片為核心,該型號單片機具有8個定時器、2個IIC(Inter-Integrated Circuit,集成電路總線)、5個串口、3個12位ADC(Analog to Digital Converter,模擬數(shù)字轉換器)等資源,在功能上完全滿足本項目的設計需求,且從價格上考慮,該款單片機僅需50元左右,性價比高。
本小車選擇的模塊如表3所示。其中需要電源擴展模塊是因為單片機板載的5 V和3.3 V電壓輸出引腳有限。
α為初始位置角;β為機構垂直角;γ為舵機轉動最大角。
表3 小車選用模塊及其作用
注:PWM(Pulse Width Modulation)為脈沖寬度調制。
圖3 全地形越障排爆小車整體結構
3.1.1 模擬量進行PID調節(jié)
在5路循跡模塊中,左2路與右2路用于開啟ADC模擬量通道,其余為數(shù)字量傳輸。左2與右2共4個通道夾在循跡線兩側,當小車輕微偏移時依靠PID(Proportional-Integral- Differential,比例-積分-微分)算法進行調節(jié),單片機首先對采集回來的模擬量數(shù)據進行中值濾波處理,定義一個數(shù)組每采集10組模擬量數(shù)據后求平均,接著左2與右2兩邊的數(shù)值進行差值計算,再通過位置式PID算法計算得出數(shù)值,最后將得到的計算結果加權賦值到PWM來分別控制兩邊輪子的轉速。該小車程序設計并未5個通道都開啟模擬量輸入,而是選擇靠近循跡線的左2路與右2路開啟,目的是減輕STM32單片機計算負擔。同時,若開啟過多的模擬量通道會增加程序的復雜性,不利于程序穩(wěn)定實現(xiàn)。
3.1.2 減速調節(jié)
當小車發(fā)生較大的偏轉時,若左側兩路檢測到黑線(左1、左2),說明為右偏,左輪減速,同理,若右側兩路檢測到黑線(右1、右2)路檢測到黑線,說明為左偏,右輪減速。使小車在不停車的前提下,通過左右差速進行調節(jié),以此達到緊隨循跡線、不脫離賽道的目的,具備穩(wěn)定的循跡功能。在實測中若發(fā)生較大偏轉,采用加速進行方向調節(jié),小車容易出現(xiàn)左右來回震蕩和漂移的情況。所以采用左右差速調節(jié)可以有效解決大角度方向的偏移問題。具體邏輯如圖4所示。
圖4 循跡邏輯圖
通過MPU6050模塊實時檢測小車的姿態(tài),小車在過障礙物時姿態(tài)不穩(wěn)定,觸發(fā)中斷,對小車的PWM進行微調,當前輪高于后輪時對后輪進行減速,且數(shù)值隨角度增大而增大,反之對后輪進行加速,且數(shù)值隨角度增大而增大,以達到穩(wěn)定通過障礙的目的。
超聲波模塊和灰度數(shù)值量模塊進行配合,使小車精準停止在色卡前的黑線中;超聲波模塊向上安裝,檢測小車通過第幾個隧道,進行中斷觸發(fā)的預判斷。當通過第二個隧道,且灰度數(shù)字量模塊檢測到地面橫向黑線時就觸發(fā)中斷,使小車減速,并開啟OpenMV攝像頭模塊進行顏色識別。在指定區(qū)域內,小車先進行色卡的識別,再進行氣球的識別,當經過顏色與色卡匹配的氣球前方時,單片機控制舵機帶動一個平面四連桿機構來扎破氣球,然后加速沖向終點。程序框架如圖5所示。
圖5 爆破模塊程序框架圖
對于顏色的識別,本設計先分別對紅、綠、藍三種顏色在不同環(huán)境亮度下的情況都設置了閾值,其中每一個閾值都包含RGB值與LAB值共6個數(shù)值,使得OpenMV在不同環(huán)境中都能快速識別出每種顏色,增強小車的適應性。此外,對于每種顏色的識別也進行了區(qū)域大小的設定,即單一顏色要占到畫面幅度的70%以上,才可判定為設定閾值內的相應顏色,否則將被無視。該設定保證了只有靠近攝像頭的物體才可被識別到,防止因背景中某一物體的顏色恰好與設定閾值沖突而造成誤判。對于色卡與氣球的顏色匹配,本設計使用了橫坐標疊加的方式。由于小車是在不斷前進的,當OpenMV識別到設定閾值內的任意一種顏色時,該顏色的橫坐標值都會不斷增大,直到該顏色的物體離開OpenMV的視野范圍為止。利用這一特性,本設計對橫坐標設定了一個目標值。由于色卡與氣球的寬度有限,對于某種顏色只是出現(xiàn)色卡或氣球都不能使得橫坐標值突破目標值,只有當同種顏色的色卡與氣球都出現(xiàn)過后,橫坐標值才會大于目標值,此時控制系統(tǒng)判定為顏色匹配,并控制舵機帶動一個平面四連桿機構來扎破氣球。
程序整體框架如圖6所示。
本設計合理運用上述模塊,經過多組實驗并調試完全后,有著優(yōu)秀的減震和壁障能力,還具有一定的穩(wěn)定性,能夠輕松、快速地完成全地形越障排爆任務。在此基礎上,還具有一定的擴展性,經過簡單調試就能勝任不同賽道,更換部分零件還能勝任野外地形。
注:當“OpenMV模塊”識別到目標后同時執(zhí)行“關閉”及“控制舵機扎氣球”。
[1]洪一民,錢慶豐,章志飛. 基于STM32的智能小車循跡避障測距的設計[J]. 物聯(lián)網技術,2022(1):12-13.
[2]彭登峰. 具有避障及循跡功能的智能小車系統(tǒng)設計[J]. 數(shù)字技術與應用,2020(11):7-9.
[3]王俊,盧剛,張松松. 越障小車運動控制系統(tǒng)設計[J]. 微特電機,2012(4):62-64.
[4]杜人照,劉祚時,陶宗虎,等. 基于Sobel算子的尋跡機器人PID優(yōu)化算法研究[J]. 機械設計與制造,2019(1):178-181.
[5]衛(wèi)靜婷,陳利偉. 基于STM32的語音控制和自動避障智能小車的設計[J]. 電子測試,2019(15):24-25,20.
[6]張?zhí)禊i,徐磊. L298N控制直流電機正反轉[J]. 工業(yè)設計,2011(03):98-99.
[7]王澤川,曾維鵬,黃果. 基于OpenMV圖像識別智能小車的設計與制作[J]. 電子世界,2019(24):143-144.
[8]黃志敏,張玉龍,藺紹江. 基于PID控制的智能尋跡小車[J]. 機電工程技術,2018(5):28-30.
[9]范浩,徐龍,賴福明,等. 基于STM32和MPU6050的姿態(tài)控制系統(tǒng)[J]. 電子元器件與信息技術,2020,4(02):74-75,86.
[10]馮克達,王勇,尹鵬飛. 基于STM32和觸摸屏的智能按摩椅控制系統(tǒng)設計[J]. 機械,2014(S1):75-78.
Design of All Terrain Obstacle Crossing and Explosive Removal Robot Based on STM32
LIU Xiaoxian1,YU Jiang1,ZHENG Xukai1,CHEN Yanyi2,HU Junze1
(1.School of Mechanical and Power Engineering, Guangdong Ocean University, Zhanjiang 524088, China; 2.College of Electronic and Information Engineering, Guangdong Ocean University, Zhanjiang 524088, China)
In order to realize the functions of tracking, obstacle crossing, identification and explosive removal of all-terrain obstacle crossing explosive removal vehicle, a set of fully automatic control system with STM32 as the core is designed. In this design, the mechanical structure includes pulley structure, chassis structure and blasting structure and focuses on obstacle crossing and shock absorption. The program design includes tracking, stable attitude adjustment, color recognition and target blasting, in which the tracking part is written based on PID algorithm. This design is a fully automatic robot, which can walk along the black line and cross multiple obstacles by itself without manual intervention, and at the same time, it can complete the tasks of color recognition and target balloon puncture in the designated area.
STM32 single chip microcomputer;tracking;obstacle crossing;PID algorithm
TP242.3
A
10.3969/j.issn.1006-0316.2022.09.012
1006-0316 (2022) 09-0076-05
2022-03-03
劉孝賢(2001-),男,廣東中山人,主要研究方向為機械電子工程,E-mail:990679311@qq.com。*通訊作者:余江(1972-),男,廣東湛江人,高級實驗師,主要研究方向為機械設計制造及其自動化,E-mail:gdouyj@163.com。