龍建成,彭彬烘,田秀云,王慧,陸源,張逸華,陳倬彬
(廣東海洋大學(xué) 電子與信息工程學(xué)院,廣東湛江,524088)
潛水員參與救撈工作時(shí)面臨著很大的風(fēng)險(xiǎn),主要包括:水流速度大時(shí),潛水員為了潛入水底可能需要通過攜帶鉛塊增加自身重量,增加風(fēng)險(xiǎn);水下情況復(fù)雜多變,可能存在渦旋、殘余漁網(wǎng)等,加大風(fēng)險(xiǎn);一些水域環(huán)境可能存在石油污染、化工污染,對救撈人員身心傷害極大。因此在這種情況下,水下機(jī)器人下潛深度大,不受水流、水溫、能見度等因素的影響,同時(shí)有一定的續(xù)航能力,可以長時(shí)間在水下工作,在應(yīng)急救援中的應(yīng)用也越來越受到人們關(guān)注。
本作品采用32位高性能ARM Cortex-M3處理器為核心的STM32F103ZET6作為主控芯片和樹莓派B3進(jìn)行圖像采集。當(dāng)本作品工作時(shí),STM32芯片通過輸出脈沖寬度調(diào)制波(PWM)實(shí)現(xiàn)對六路水下推進(jìn)器的控制,再通過控制不同水下推進(jìn)器的啟停及速率大小實(shí)現(xiàn)讓機(jī)器人在水下可以靈活移動(dòng)的功能。操作者通過WiFi模塊使PS2手柄對機(jī)器人進(jìn)行遠(yuǎn)程操作,當(dāng)機(jī)器人到達(dá)落水人身旁時(shí),可以使用手柄操作機(jī)械臂對落水人進(jìn)行救援。通過攝像頭采集圖像傳回到樹莓派進(jìn)行處理,再傳送到頭戴VR設(shè)備,眼睛可以看到水下的狀況,從而更準(zhǔn)確地操作機(jī)器人對落水者進(jìn)行救援。其系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
我們選擇內(nèi)核為32位高性能ARM Cortex-M3處理器、時(shí)鐘為72MHz的STM32F103芯片。STM32芯片具有512KB的FLASH存器64KB的SRAM存儲(chǔ)器,擁有有144個(gè)引腳和112個(gè)IO,支持SWD和JTAG調(diào)試,這讓STM32芯片具有強(qiáng)大的運(yùn)算、數(shù)據(jù)處理、數(shù)據(jù)傳輸能力,讓硬件系統(tǒng)可以工作。STM32多達(dá)11個(gè)定時(shí)器,每個(gè)定時(shí)器可以產(chǎn)生PWM輸出,讓單片機(jī)穩(wěn)定地工作。
1.1.1主控板最小系統(tǒng)
主控板最小系統(tǒng)為STM32最小系統(tǒng),使用8MHz的外部晶振作為MCU的RC振蕩器,每個(gè)電源接口接一個(gè)容量為0.1μF的濾波電容,濾除交流成分,使輸出的直流更平滑,防止不穩(wěn)定的電源影響MCU的工作。還有BOOT設(shè)置電路、按鍵復(fù)位電路、J-Link接口電路。主控板最小系統(tǒng)如圖2所示。
圖2 主控板最小系統(tǒng)圖
1.1.2 電源電路
電源方面采用5V的電源供電,電路中的3.3V的電由AMS1117-3.3為主芯片的轉(zhuǎn)換電路提供。這種電路的可靠性高,電路穩(wěn)定,可以有效地位電路供電。其穩(wěn)壓電路如圖3所示。
圖3 穩(wěn)壓電路圖
1.1.3 MPU6050
MPU6050是一款6軸遠(yuǎn)動(dòng)處理組件,內(nèi)部整合了3軸陀螺儀、3軸加速度傳感器,并且含有一個(gè)第二IIC接口。利用 MPU6050 芯片內(nèi)部的數(shù)字運(yùn)動(dòng)處理器模塊,可對傳感器數(shù)據(jù)進(jìn)行濾波、融合處理,直接通過 IIC 接口向主控器輸出姿態(tài)解算后的數(shù)據(jù),降低運(yùn)動(dòng)處理運(yùn)算對操作系統(tǒng)的負(fù)荷,同時(shí)降低了開發(fā)難度。MPU6050電路圖如圖4所示。
圖4 MPU6050電路圖
機(jī)器人的外殼框架主要是由以光敏樹脂為原材料的光固化打印技術(shù)打印而成的。外殼的設(shè)計(jì)是使用SOILDWORKS 2021進(jìn)行3維建模。作品總長:600mm,總寬:545mm,總高:550mm。我們采用的是水下有攬操作式潛行器(水上的操作員可以通過手柄控制機(jī)器人在水下的姿態(tài),而機(jī)器人在水下的狀態(tài)數(shù)據(jù)可以通過網(wǎng)線傳輸給電腦的上位機(jī))。并且,我們機(jī)器人的下半部分還裝有攝像頭和兩個(gè)照明燈,除此之外,我們在攝像頭下方還裝有一個(gè)可以左右擺動(dòng)的機(jī)械臂,用于水下的救援操作。所以,我們的作品可分為三大部分,分別是密封艙,外殼框架,機(jī)械臂。
1.2.1 密封艙的設(shè)計(jì)
因?yàn)槲覀兊耐鈿び斜容^大面積的鏤空部分,所以,我們將密封艙設(shè)計(jì)的具有一定的流線型,不僅能減少機(jī)器人行進(jìn)中的阻力,而且避免水壓集中在一些直角結(jié)構(gòu),從而導(dǎo)致滲水風(fēng)險(xiǎn)的增加。我們分別設(shè)計(jì)了兩個(gè)密封艙,兩個(gè)密封艙都是由透明亞克力制作而成。首先,第一個(gè)密封艙用來放置主板和一些主要的電子設(shè)備,這個(gè)密封艙后蓋部分的打孔,主要用于開關(guān)接口,通訊線,燒錄程序口等的連接。接口處以及艙體和艙蓋的連接部分,都采用密封圈密封,增加提高密封艙的密封性。而第二個(gè)密封艙也具有一定的流線型,而這第二個(gè)密封艙的用途是用來放置攝像頭,并且在這個(gè)密封艙的后面留有一個(gè)孔,用于數(shù)據(jù)線的連接。圖5、圖6和圖7為密封艙的結(jié)構(gòu)外形。
圖5 密封艙后蓋
圖6密封艙總體結(jié)構(gòu)
圖7 攝像頭密封艙結(jié)構(gòu)
1.2.2 電機(jī)的布局設(shè)計(jì)
我們的外殼造型主要是球形,這不僅能減少機(jī)器人在水中行進(jìn)時(shí)的阻力;而且還能使外殼的受力均勻,能在水下進(jìn)行較為靈活的姿態(tài)調(diào)整。除此之外,球形的外殼,還能使機(jī)器人的重心,基本與機(jī)器人的形心相吻合,使其能在水中更好的保持穩(wěn)定。至于電機(jī)的放置,我們則是在外殼的內(nèi)部設(shè)計(jì)了6條通道,為了使機(jī)器人能實(shí)現(xiàn)在6個(gè)自由度上的調(diào)整。根據(jù)仿真計(jì)算和實(shí)測,我們采取了6電機(jī)布局。這6個(gè)電機(jī)都是防水無刷電機(jī)。如圖8所示,兩個(gè)電機(jī)豎直放置,主要負(fù)責(zé)提供下潛和上浮的動(dòng)力,同時(shí)也可以利用這兩個(gè)電機(jī)的差速實(shí)現(xiàn)機(jī)器人繞x軸的轉(zhuǎn)動(dòng);另外四個(gè)電機(jī)則是橫向放置在半球面上,當(dāng)指定兩個(gè)相應(yīng)電機(jī)同速轉(zhuǎn)動(dòng)時(shí),即可實(shí)現(xiàn)機(jī)器人的前進(jìn)后退和左右橫移,通過6個(gè)電機(jī)其中指定幾個(gè)電機(jī)的差速,也可以實(shí)現(xiàn)機(jī)器人繞z軸和y軸轉(zhuǎn)動(dòng)。在水下復(fù)雜多變的環(huán)境下,我們的機(jī)器人可以通過內(nèi)部的陀螺儀來控制6個(gè)電機(jī)的轉(zhuǎn)速比,來實(shí)現(xiàn)機(jī)器人在水下的靈活運(yùn)動(dòng)。
圖8 外形框架結(jié)構(gòu)圖
該機(jī)器人配備6個(gè)推進(jìn)器,其電機(jī)為防水無刷電機(jī),每一個(gè)推進(jìn)器采用的是3葉螺旋槳,能夠產(chǎn)生較強(qiáng)的推力,有助于提高救援的成功率。
(1)水下拍攝功能
我們采用的是透明亞克力板來密封和固定攝像頭,再搭配上攝像頭旁邊的兩個(gè)照明燈,以及通過軟件算法對機(jī)器人進(jìn)行姿態(tài)調(diào)整,就能夠?qū)崿F(xiàn)全方位實(shí)時(shí)清晰的拍攝了,更好地觀察水下的環(huán)境。
(2)人機(jī)交互功能
水下機(jī)器人收集到水下的信息后,通過網(wǎng)線傳輸給電腦上位機(jī),水上的工作人員,通過上位機(jī)觀察到水下的環(huán)境后,再通過手柄,控制水下機(jī)器人。
(3)機(jī)械臂功能
整個(gè)機(jī)械臂由兩個(gè)舵機(jī)來控制機(jī)械臂的夾持和轉(zhuǎn)動(dòng),通過手柄來控制兩個(gè)舵機(jī)從而控制整個(gè)機(jī)械臂。在水下,機(jī)器人下潛到求救人員的位置后,通過機(jī)械臂來實(shí)施具體的救援操作。
PID控制結(jié)構(gòu)簡單,如圖9所示,參數(shù)調(diào)節(jié)容易,其性能在許多場合中也可以被接受,因此PID控制仍然是水下航行器研發(fā)和操作人員廣泛采用的方法??紤]到水下航行器動(dòng)力學(xué)非線性的特征,還需要對線性特征的PID控制進(jìn)行改進(jìn),以提升水下航行器PID控制的各項(xiàng)性能[1]。
圖9 PID 控制系統(tǒng)
比例環(huán)節(jié)的作用是調(diào)節(jié)幅值;積分環(huán)節(jié)的作用是調(diào)節(jié)穩(wěn)態(tài)誤差;微分環(huán)節(jié)的作用是調(diào)節(jié)超調(diào)量[2]。在水下機(jī)器人在水中行進(jìn)過程中,由于系統(tǒng)會(huì)受到水波、水浪、延遲、圖像采集誤差等眾多復(fù)雜的影響,微分環(huán)節(jié)必不可少。而它自身位置和水球的位置均在動(dòng)態(tài)變化著,因此既定目標(biāo)點(diǎn)也應(yīng)是動(dòng)態(tài)變化的。由于在水中受水的阻力影響,相當(dāng)于起到一個(gè)控制濾波的作用,因此就不會(huì)存在穩(wěn)態(tài)誤差的概念,不必引入積分環(huán)節(jié),而比例環(huán)節(jié)是控制系統(tǒng)中必須存在的,以減少誤差。
為了讓這一控制算法在水下機(jī)器人上起作用,我們采用了四個(gè)防水電機(jī),兩個(gè)向后主要負(fù)責(zé)前進(jìn)后退的動(dòng)力,同時(shí)也可利用差速實(shí)現(xiàn)轉(zhuǎn)彎;另外兩個(gè)電機(jī)朝向向上,不但用于水下機(jī)器人在水中的定深和浮潛,而且還利用機(jī)器人內(nèi)部搭載的陀螺儀來進(jìn)行PID平衡控制算法的調(diào)節(jié),即可保證機(jī)器人在水下不傾斜、不翻倒、實(shí)時(shí)保持平衡,為后續(xù)其水下機(jī)械臂的操作和水下攝像等工作保證穩(wěn)定狀態(tài)[3]。
在水下救援作業(yè)時(shí)候,受到水壓、水波、暗流等環(huán)境變化因素的影響,從而導(dǎo)致機(jī)器人的水下運(yùn)動(dòng)有較大的不確定性。我們制作的水下救援機(jī)器人利用其本身的加速度陀螺儀和PID控制算法的結(jié)合,實(shí)現(xiàn)機(jī)器人在水下的定位控制、定向控制和定速控制,從而在水下自由平穩(wěn)的運(yùn)動(dòng)。通過視頻的攝錄和機(jī)械臂的靈活操控,從而實(shí)現(xiàn)各種水下救援活動(dòng)。