朱梅 賴日海 羅昭明 樊中奎
摘? 要:基于機器人大賽制作競技機器人的需要,提出一種機器人軟/硬件控制方案。該方案以STM32F407IGX開發(fā)板作為主控,由M3508無刷電機構(gòu)成底盤驅(qū)動模塊、M6020無刷電機構(gòu)成云臺驅(qū)動模塊。根據(jù)機器人各個通信模塊的數(shù)據(jù)傳輸特點及造價,采用CAN、SPI、IIC及UART等多信號融合組成通信系統(tǒng)。底盤模塊設(shè)計側(cè)重于移動功能,通過矢量分解公式實現(xiàn)全向移動,通過位置式PID算法閉環(huán)控制底盤電機轉(zhuǎn)速;云臺模塊設(shè)計側(cè)重Yaw軸電機和Pitch軸電機的控制及其他模塊和主控間的通信,結(jié)合IMU姿態(tài)解算、Kalman濾波及串級PID算法控制云臺電機,通過搭載于云臺的圖傳模塊得到第一人稱視角控制機器人。
關(guān)鍵詞:嵌入式算法;STM32F407;通信協(xié)議;無刷電機
中圖分類號:TP242? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)20-0022-06
Research on Control for Competitive Robots Based on Multi-signal Fusion
ZHU Mei1, LAI Rihai1, LUO Zhaoming2, FAN Zhongkui1
(1.School of Software Engineering, Jiangxi University of Science and Technology, Nanchang? 330013, China;
2.School of Energy and Mechanical Engineering, Jiangxi University of Science and Technology, Nanchang? 330013, China)
Abstract: Based on the need of making competitive robots in robot competition, a software/hardware control scheme of robot is proposed. In this scheme, STM32F407IGX development board is used as the main control, M3508 brushless motor constitutes the chassis drive module, and M6020 brushless motor constitutes the cradle head drive module. According to the data transmission characteristics and cost of each communication module of the robot, the Controller Area Network (CAN), Serial Peripheral Interface (SPI), Inter-Integrated Circuit (IIC), and Universal Asynchronous Receiver/Transmitter (UART) and other signals fuse together to form a communication system. The chassis module design focuses on mobile function, the omnidirectional movement is realized by vector decomposition formula, and the speed of chassis motor is controlled by position-type PID (Proportion Integral Differential) algorithm in closed loop. The design of cradle head module focuses on the control of Yaw shaft motor and Pitch shaft motor and the communication between other modules and main control. The cradle head motor is controlled by combining IMU attitude calculation, Kalman filtering and cascade PID algorithm. The robot is controlled from the first person perspective through the picture transmission module attached to the cradle head.
Keywords: embedded algorithm; STM32F407; communication protocol; brushless motor
0? 引? 言
機器人競賽是推動機器人技術(shù)研發(fā)、培養(yǎng)機器人技術(shù)工程師的重要方式[1]。近年來,隨著各種機器人競賽的興起,各參賽團(tuán)體為了能夠在比賽中獲得良好的名次展開了激烈的競爭,對于機器人各方面的研究在不斷地深入,對于相關(guān)技術(shù)也在不斷地升級突破。機器人控制技術(shù)一直是機器人領(lǐng)域的重點研究方向,好的機器人控制方案的使用,不僅是機器人可以正常運行的保障,更是團(tuán)隊取得優(yōu)異成績的關(guān)鍵[2]。然而在實際設(shè)計過程中,很難找到匹配的機器人控制方案,對于不同的任務(wù)需求機器人的制作設(shè)計常常有很大差異,存在運行性能和開發(fā)成本的矛盾。如何設(shè)計一種合適的控制系統(tǒng)方案,在既能滿足競賽任務(wù)需求的同時花費最小代價,既是機器人競賽的主題,也是競賽團(tuán)體研究的關(guān)鍵。
控制系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng),硬件部分是嵌入式系統(tǒng)的基礎(chǔ),對嵌入式系統(tǒng)的性能有決定性影響,也決定了平臺的功能和拓展性[3]。主控制板是機器人的控制中樞,選用合適的主控一方面可以降低成本費用,另一方面可以最大程度地滿足機器人對算力的需求;通信系統(tǒng)是機器人協(xié)調(diào)各個模塊正常運動的關(guān)鍵,針對機器人內(nèi)部不同的通信線路,選擇合適的通信外設(shè)可以提高通信效率、匹配該模塊的要求響應(yīng)速度以及降低開發(fā)成本。機器人的軟件設(shè)計方案質(zhì)量的優(yōu)劣也會直接影響到機器人應(yīng)用層質(zhì)量的優(yōu)劣與模塊穩(wěn)定性,其中各重要模塊電機的控制方案更是軟件設(shè)計方案中的關(guān)鍵問題之一。為了保證電機控制的精確性和穩(wěn)定性,即電機能夠快速準(zhǔn)確地響應(yīng)輸入,不會出現(xiàn)抖動、瘋轉(zhuǎn)或失控等異常現(xiàn)象,需選取和設(shè)計一套合適的電機控制方案,其控制邏輯能夠很好地滿足比賽需求、易于維護(hù)和拓展,其控制算法能夠在運用中很好地發(fā)揮出作用。
針對競技機器人的控制方案展開研究,主要將從硬件層面和軟件層面進(jìn)行介紹和分析,包括主控制板的選型、機器人通信系統(tǒng)的設(shè)計;以及機器人的整體控制邏輯,并對其中關(guān)鍵模塊展開討論,介紹使用的嵌入式算法,并結(jié)合實際情況探討可行性。
1? 硬件設(shè)計
1.1? 硬件設(shè)計思路
如圖1所示,硬件控制方案以云臺作為控制中樞,搭載主控制板通過CAN信號控制云臺和底盤的電機及通過UART信號其他模塊,主控內(nèi)部間的通信采用IIC、SPI通信,主控和外設(shè)間的通信采用UART通信,主控和電機間的通信采用CAN通信,底盤和云臺需要分別設(shè)計轉(zhuǎn)接控制板起擴展、轉(zhuǎn)接信號和供電的作用。放置于底盤的電源通過該轉(zhuǎn)接控制板將電流輸送給主控,主控對底盤的控制信號經(jīng)過一條CAN線路,通過轉(zhuǎn)接控制板分散給四個M3508電機,云臺轉(zhuǎn)接板僅負(fù)責(zé)云臺電機的接口擴展,在云臺電機和主控之間傳遞信號和供電。
1.2? 主控模塊選型及分析
鑒于比賽中對于機器人的操作要求和難度越來越高,即對于控制及響應(yīng)的要求越來越高,因此選用一款高性價比的開發(fā)板是滿足機器人快速響應(yīng)和精確控制的重要硬件支持之一。如圖2所示,選用的主控開發(fā)板采用高性能的STM32F407芯片,支持寬電壓輸入,集成專用的擴展接口,通信接口以及高精度 IMU 傳感器。其具有如下外設(shè):用戶自定義LED、5 V接口、BOOT配置接口、micro USB接口、SWD接口、按鍵、可配置I/O接口、UART接口、CAN總線接口、PWM接口、DBUS接口、數(shù)字?jǐn)z像頭FPC接口、蜂鳴器、電壓檢測ADC、六軸慣性測量單元和磁力計。
1.3? 通信配置及分析
實際開發(fā)過程中有多種通信方式可供選擇,如何在眾多通信方式中選擇一種最優(yōu)解實現(xiàn)兩個模塊間的通信以達(dá)到更好的效果是通信設(shè)計的重要討論問題之一。需要從機器人自身的機械結(jié)構(gòu)與通信線路的匹配程度、外設(shè)接口數(shù)量、數(shù)據(jù)傳輸內(nèi)容、軟件實現(xiàn)難易以及價格等多方面綜合考慮。
1.3.1? UART通信協(xié)議
UART通信協(xié)議是一種較古老的全雙工異步通信協(xié)議,由于價格便宜、方便使用且可靠性高仍廣泛應(yīng)用于嵌入式開發(fā),它支持一段字符的連續(xù)傳輸,因此特別適合用于一次性傳輸大量數(shù)據(jù)串的場景。UART數(shù)據(jù)傳輸主要通過中斷或直接內(nèi)存存?。╠irect memory access, DMA)的方式實現(xiàn)[4,5],如果對于傳輸速度沒有很高的要求,UART通信無疑是十分合適的選擇。遙控器對機器人的控制是通過和UART通信極其相似的DBUS通信協(xié)議進(jìn)行控制信號的傳輸,每次傳輸?shù)囊粠?8個字節(jié)的數(shù)據(jù),由于其傳輸數(shù)據(jù)量大的需要,采用UART協(xié)議作為控制信號傳輸方案,并配置DMA直接存取極大節(jié)約了CPU的讀取時間。
1.3.2? CAN通信協(xié)議
CAN通信是一種串行通信總線方式,其傳輸速度高達(dá)1 M/s,CAN總線因具有實時性強、傳輸距離較遠(yuǎn)、抗電磁干擾能力好、成本低、檢錯能力強等優(yōu)點,在現(xiàn)場總線中應(yīng)用廣泛[6]??偩€一幀攜帶的數(shù)據(jù)達(dá)8個字節(jié),擁有較高數(shù)據(jù)承載能力。機器人的驅(qū)動需要多個電機的同時配合、快速響應(yīng)和精確控制,并且能夠承受機器人在運動過程中可能受到的各種干擾信號,電機反饋給主控的數(shù)據(jù)較多,根據(jù)CAN協(xié)議的主要特點,故而對于主控模塊與電機的通信使用CAN協(xié)議。
1.3.3? SPI通信協(xié)議
SPI是一種高速全雙工同步通信總線,由設(shè)備選擇線(CS)、時鐘線(SCK)、串行輸出數(shù)據(jù)線(MOSI)、串行輸入數(shù)據(jù)線(MISO)構(gòu)成,主要是在SCK的控制下進(jìn)行雙向數(shù)據(jù)交換[7]。SPI通信總線一次能傳輸一個字節(jié)的數(shù)據(jù),適用于對數(shù)據(jù)傳輸量小但速度要求高的通信電路。BMI088高性能慣性測量單元是本方案采納的主控制板中內(nèi)置的一款傳感器,它需要實時將測量的角度數(shù)據(jù)發(fā)送給主控以便調(diào)整姿態(tài),由于其傳輸量小但速度要求高的特點,故而采用SPI協(xié)議。
1.3.4? IIC通信協(xié)議
IIC協(xié)議是一種半雙工串行同步通信總線協(xié)議,具有兩根信號線,一根是雙向的數(shù)據(jù)傳輸線SDA,另一個是時鐘線SCL,通過對SCL和SDA線高低電平時序的控制,產(chǎn)生IIC協(xié)議所需要的信號進(jìn)行數(shù)據(jù)的傳遞[8],具有接口少,控制方式簡單,通信速率較高等優(yōu)點[9]。機器人主控內(nèi)置IST8310磁力計模塊,需要發(fā)送給CPU磁偏角,并且主控模塊內(nèi)置溫度傳感器及ADC采集等監(jiān)控機器人狀態(tài)。此類傳感器的數(shù)據(jù)傳輸量小、速度低,但數(shù)量較多,使用IIC協(xié)議既能夠滿足其正常的數(shù)據(jù)傳輸需求,又能減小其他性能高的外設(shè)的承載負(fù)擔(dān)。
2? 軟件設(shè)計
2.1? 軟件整體設(shè)計
軟件設(shè)計的主要任務(wù)是搭建框架、完成邏輯設(shè)計以及算法設(shè)計。框架的搭建借助軟件快速生成實現(xiàn)底層以及中間層的工程目錄,從而極大提高軟件開發(fā)效率;基于此框架編寫應(yīng)用層代碼,即完成邏輯設(shè)計,機器人需要根據(jù)控制信號完成各種操作,不僅僅是給電機固定不變的電流,對每個電機根據(jù)其需要實現(xiàn)的功能設(shè)計相應(yīng)的一套控制邏輯;僅僅依靠邏輯程序很難做到如臂使指地控制電機,這勢必會影響機器人速度的穩(wěn)定性,或?qū)е略婆_轉(zhuǎn)動無力及高頻振蕩等影響機器人正常運行并損害電機的現(xiàn)象發(fā)生,故機器人的控制層需配合算法以保證機器人的正常穩(wěn)定運行。軟件總體結(jié)構(gòu)如圖3所示。
2.2? 底盤控制方案
2.2.1? 移動方案設(shè)計
機器人移動功能由四個M3508電機完成。遙控器給機器人發(fā)送一個向任意方向的某個速度的控制信號后,主控不會直接將該信號解析后發(fā)送給底盤電機讓其以該數(shù)值轉(zhuǎn)動,而是需要事先完成發(fā)送給機器人的原生信號到對單個電機控制信號的轉(zhuǎn)換。由于四個全向輪的所處位置、安裝方式的差異,每個車輪加上驅(qū)動電機都是一個獨立的控制單元,每個單元需要對應(yīng)的速度才能讓機器人按指定速度移動。而電機的速度對應(yīng)給電機的電流,因此可以把實際上的速度控制轉(zhuǎn)變?yōu)榻o輸出電流控制,如何從遙控器實時傳回的數(shù)據(jù)中分別計算出四個電機的電流值是該模塊軟件設(shè)計重點,具體實現(xiàn)流程如圖4所示。
所制作的機器人是在地面移動的,因此可以將地面看作為一個以機器人為中心,以機器人正前方向為y軸,正右方向為x軸的動態(tài)二維坐標(biāo)系,機器人朝某一方向的速度可以看作一個起點在中心的速度矢量,前面提到,每個電機都是一個獨立的控制單元,同樣分別需要四個獨立的坐標(biāo)系及速度矢量。大坐標(biāo)系的矢量速度,經(jīng)過矢量分解得到四個小坐標(biāo)系的速度矢量。圖5是底盤分解公式,假定給機器人一個方向上的速度,以其為例進(jìn)行分析,首先通過式(1)得到機器人整體速度在x軸和y軸上的分速度:
Vx = V cosα,Vy = V sinα? ? ? ? ? ? ? ? ? (1)
其中,遙控器給機器人的速度為V,V與x軸的夾角為α,通過三角函數(shù)得到機器人在x軸分速度Vx和y軸分速度Vy。根據(jù)Vx和Vy分別求出四個電機速度:
Vleftup =? + Vx + Vy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
Vleftup是左上位置電機速度,由圖示電機安裝位置可知電機需要順時針轉(zhuǎn)動,因此Vx和Vy都是正方向上的矢量相加。
Vrightup =? + Vx - Vy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
Vrightup是右上位置電機速度,由圖示電機安裝位置可知電機需要逆時針轉(zhuǎn)動,因此Vx是正方向,Vy是負(fù)方向。
Vleftdown =? - Vx + Vy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
Vleftdown是左下位置電機速度,由圖示電機安裝位置可知電機需要順時針轉(zhuǎn)動,因此Vx是負(fù)方向,Vy是正方向。
Vrightdown =? - Vx - Vy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5)
Vrightdown是右下位置電機速度,由圖示電機安裝位置可知電機需要逆時針轉(zhuǎn)動,因此Vx和Vy都是負(fù)方向上的矢量相加。
2.2.2? 底盤算法設(shè)計
得出各個電機的設(shè)定速度后,在實際測試中,如果僅僅依靠設(shè)定速度給電機一定的電流,通常達(dá)不到預(yù)期速度值,甚至速度會時快時滿,這是因為沒有考慮到地面阻力的影響。如何考慮上阻力因素的影響,讓實際速度保持在一個較恒定的、極其接近設(shè)定速度的范圍內(nèi),這就需要閉環(huán)控制,對此采取位置式PID算法,在給每個電機一個電流值前,需要先獲取到電機當(dāng)前實際速度,再比對設(shè)定速度得出二者間的誤差,最后計算出應(yīng)發(fā)送給電機的電流值,具體如何計算出電流值是PID算法的核心內(nèi)容。
PID控制器正如其名,有三個控制系數(shù)P:比例、I:積分、D:微分。相比于其他簡單的控制運算,PID控制器可根據(jù)歷史數(shù)據(jù)及差別的出現(xiàn)率來調(diào)整輸入值,這樣可使系統(tǒng)更加準(zhǔn)確,更加穩(wěn)定[10]。誤差在PID控制器中指設(shè)定目標(biāo)值和實際目標(biāo)值的查。比例系數(shù)的作用是根據(jù)誤差值大小,按一定比例調(diào)節(jié)控制量,使系統(tǒng)快速響應(yīng)。但是比例作用不能消除穩(wěn)態(tài)誤差。積分系數(shù)的作用是根據(jù)誤差的累積量調(diào)節(jié)控制量,使系統(tǒng)達(dá)到穩(wěn)態(tài),從而解決穩(wěn)態(tài)誤差問題,但積分會導(dǎo)致超調(diào)和震蕩。微分作用是根據(jù)偏差的變化率,預(yù)測未來的趨勢,調(diào)節(jié)控制量,使系統(tǒng)更加平穩(wěn),但是微分作用會放大噪聲和干擾。PID控制算法的輸出結(jié)果是三個控制系數(shù)處理結(jié)果之和,故算法要解決的是如何得出比例輸出值、積分輸出值及微分輸出值。以下是算法核心式,首先通過式(6)求得誤差:
error = Inset - Inrel? ? ? ? ? ? ? ? ? ? ? (6)
error是設(shè)定量Inset和實際量Inrel的偏差量(誤差),即通過相減得出,反映了目標(biāo)設(shè)定量和實際測量值的差距。
Pout = P×error? ? ? ? ? ? ? ? ? ? ? ? ?(7)
Pout是比例輸出值,其和誤差呈線性關(guān)系,其值是一個比例系數(shù)P與error的乘積,比例輸出值體現(xiàn)了響應(yīng)的快慢程度。
Iout + = I×error? ? ? ? ? ? ? ? ? ? ? ? (8)
Iout是積分輸出值,是積分輸出值和本次積分系數(shù)I與誤差間乘積的相加,程序中Iout的積分求和是離散的,每次執(zhí)行到該條語句進(jìn)行一次積分值相加。
Dout = D(errorn - errorn-1)? ? ? ? ? ? ? ? ?(9)
設(shè)本次是第n次執(zhí)行,Dout是微分輸出值,即微分系數(shù)D和此次運算誤差errorn與上一次誤差errorn-1間差的乘積。
out = Pout + Iout + Dout? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (10)
out是PID算法的最終輸出,是式(7)(8)和(9)分別求得的Pout、Iout和Dout的求和。
2.3? 云臺控制方案
2.3.1? 轉(zhuǎn)動策略
云臺是機器人的控制中樞,并搭載視覺系統(tǒng),通過客戶端連接到云臺圖傳模塊后,用戶能夠以第一人稱視角操縱機器人,云臺可以在水平上轉(zhuǎn)動,也可以抬頭和低頭,為展現(xiàn)給用戶穩(wěn)定的視角,云臺驅(qū)動電機的角度控制相比于底盤的速度控制精度要求更高,設(shè)計中采用能反饋當(dāng)前角度的M6020無刷電機作為機器人的云臺驅(qū)動模塊,具體控制流程如圖6所示。
機器人云臺可以在Yaw軸0-360度范圍內(nèi)轉(zhuǎn)動,但礙于機械結(jié)構(gòu)的限制,在Pitch軸只能在一個角度區(qū)間內(nèi)轉(zhuǎn)動。用戶給機器人Yaw軸方向上的控制信號,云臺會根據(jù)值的大小以相應(yīng)速度持續(xù)轉(zhuǎn)動;同樣,當(dāng)用戶給機器人Pitch軸方向上的控制信號,云臺也會持續(xù)轉(zhuǎn)動直到達(dá)到限制邊界。這其中涉及兩個技術(shù)點:如何從360°轉(zhuǎn)到0°造成的角度突變問題以及如何限制電機在一定范圍內(nèi)轉(zhuǎn)動。
角度突變問題在通過PID算法計算角度突變時的計算結(jié)果會有極大偏差,容易造成云臺失控快速轉(zhuǎn)動,其主要原因是從0°到360°的巨大誤差破壞了原本的連續(xù)性,故而將從本次的≤360°到下一次的>0°或從本次的≥0°到下一次的<360°的突變情況轉(zhuǎn)換成連續(xù)情況:添加一個虛擬設(shè)定角度參與到PID計算,如果設(shè)定角度>0°,在PID計算中是從實際角度的≤360°到虛擬設(shè)定角度的>360°,在軟件上云臺轉(zhuǎn)到了>360°的位置,但實際上是轉(zhuǎn)回到>0°的某個位置,從另一方向上的突變情況同理。而邊界限制問題是防止云臺在Pitch軸上持續(xù)轉(zhuǎn)而不動造成電機燒毀發(fā)生,故而需要設(shè)定俯仰區(qū)間保證電機只能在一定范圍內(nèi)轉(zhuǎn)動,當(dāng)持續(xù)施加給電機轉(zhuǎn)動信號時,如果設(shè)定目標(biāo)值已經(jīng)超出邊界值,則實際目標(biāo)值等于邊界值,兩個邊界值根據(jù)實際測試結(jié)果得出。
2.3.2? 算法設(shè)計
云臺電機的輸出值融合三個控制算法:IMU姿態(tài)解算將獲取到的主控內(nèi)置BMI088傳感器的角速度值和角加速度值,將BMI088傳感器的多軸數(shù)據(jù)從四元數(shù)形式變換為歐拉角進(jìn)行計算[11],計算得到云臺在Yaw軸、Pitch軸以及Roll軸的姿態(tài)信息。姿態(tài)角反映了云臺當(dāng)前的絕對角度,通過姿態(tài)角控制云臺電機從而擺脫對底盤的依賴,即不再受地形起伏以及底盤轉(zhuǎn)動的影響。串行PID算法是以嵌套的方式在速度環(huán)的基礎(chǔ)上增加了角度環(huán)從而提高了電機的穩(wěn)定性和響應(yīng)速度,很適合對控制精度要求極高的云臺電機。
在用PID算法計算出結(jié)果前,需要先對設(shè)定角度進(jìn)行濾波,在此用到Kalman濾波器。卡爾曼濾波算法是一種利用線性系統(tǒng)狀態(tài)方程,通過系統(tǒng)輸入輸出觀測數(shù)據(jù),對系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計的算法,它是一種最優(yōu)化自回歸數(shù)據(jù)算法,是描述全部計算更新數(shù)據(jù)的過程,提供一組有效的遞歸推算方程組來估計過程的狀態(tài)量,使估計均方差誤差最小化[12]。Kalman濾波器通過對動態(tài)系統(tǒng)建立一個模型,假設(shè)系統(tǒng)狀態(tài)是該模型內(nèi)的一個變量,通過實時獲取的測量值更新狀態(tài)變量的概率分布,從而在含有噪聲干擾的測量值中得出動態(tài)系統(tǒng)的最優(yōu)估計量。假設(shè)本次是第k-1次計算,根據(jù)式(11)獲取第k次系統(tǒng)狀態(tài)的預(yù)測值:
其中x表示系統(tǒng)的狀態(tài)向量,F(xiàn)表示狀態(tài)轉(zhuǎn)移矩陣,B表示控制矩陣,u表示控制向量。之后通過式(12)估計預(yù)測誤差:
P表示誤差協(xié)方差矩陣,Q表示過程噪聲協(xié)方差矩陣,T表示轉(zhuǎn)置矩陣。通過式(13)計算卡爾曼增益:
其中K表示卡爾曼增益矩陣,H表示觀測矩陣,R表示觀測噪聲協(xié)方差矩陣。之后計算式(14)更新系統(tǒng)的狀態(tài):
其中z表示觀測向量。最后通過式(15)更新誤差協(xié)方差矩陣:
其中I表示單位矩陣。至此求得第k次的誤差協(xié)方差。
3? 結(jié)? 論
提出的機器人控制設(shè)計方案詳細(xì)闡述了一種競技機器人的硬件與軟件設(shè)計過程和使用的策略,包括硬件重要模塊的選型、電路設(shè)計以和分模塊化設(shè)計控制邏輯、對嵌入式算法的分析及在機器人契合使用。機器人在場地測試和實際比賽過程中都能夠流暢無誤地接收命令并穩(wěn)定地實現(xiàn)相應(yīng)功能,充分體現(xiàn)了該機器人控制方案的可行性和可靠性,為機器人競賽提供了一種較為實用的控制方案。
參考文獻(xiàn):
[1] 王旭.競技機器人比賽裁判原則與技術(shù) [J].機器人技術(shù)與應(yīng)用,2022(2):43-48.
[2] 宋宇航,婁照坤,任雨婷,等.Robomaster比賽工程機器人控制系統(tǒng) [J].中國科技信息,2022(15):44-47.
[3] 劉放,劉蕾.模塊化機器人控制系統(tǒng)的設(shè)計與實現(xiàn) [J].信息技術(shù)與信息化,2020(1):34-36.
[4] 邵偉恒,顧昂,隋俊杰.基于STM32的便攜式恒流源設(shè)計 [J].自動化與儀表,2015,30(12):29-32.
[5] 邢麗華,高志鵬,袁德殿.基于散列DMA的高速串口驅(qū)動設(shè)計 [J].單片機與嵌入式系統(tǒng)應(yīng)用,2010(4):40-42.
[6] 邱小軍,劉瀏,吳超,等.水下機器人通信系統(tǒng)的CAN總線冗余設(shè)計 [J].自動化儀表,2012,33(11):23-26.
[7] 盛楊博嚴(yán).基于SPI總線的Arduino顯示與控制模塊設(shè)計 [J].單片機與嵌入式系統(tǒng)應(yīng)用,2020,20(3):74-76+80.
[8] 董雪.基于FPGA的SPI與ⅡC總線通信系統(tǒng)的設(shè)計與實現(xiàn) [D].銀川:寧夏大學(xué),2017.
[9] 李斯祺,曾榮鑫.基于STM32的紅外傳感器的數(shù)據(jù)采集系統(tǒng)的設(shè)計 [J].工業(yè)控制計算機,2018,31(8):30-31+33.
[10] 王露峰.基于PID控制的電動汽車直流驅(qū)動電機調(diào)速研究 [J].汽車實用技術(shù),2020(10):106-108.
[11] 劉曉宇,孟瑞鋒,賈偉.四旋翼飛行器姿態(tài)解算研究及最優(yōu)化設(shè)計 [J].南方農(nóng)機,2018,49(15):40-41.
[12] 余爾標(biāo),陳宏華.一種有纜式四軸水下機器人的設(shè)計與制作 [J].江西電力職業(yè)技術(shù)學(xué)院學(xué)報,2022,35(10):142-144.
作者簡介:朱梅(1980—),女,漢族,江蘇江陰人,中級實驗師,碩士研究生,研究方向:人工智能;賴日海(2001—),男,漢族,江西贛州人,本科在讀,研究方向:機器人控制、軟件開發(fā);樊中奎(1980—),男,漢族,江西南昌人,講師,碩士研究生,研究方向:人工智能。
收稿日期:2023-04-10
基金項目:江西理工大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練資助項目(202110407039)