方凱旗 李恒全 張穩(wěn)召 王登豐
摘 要:筆者以蜘蛛為仿生原型采用Arduino和20路舵機為主控板,用手柄或手機連上WIFI模塊或藍牙模塊,控制完成多種仿生動作的六足機器人。六足機器人用舵機云臺控制openMV攝像頭采集識別分析圖像,并模仿動物進行移動,用超聲波模塊自動躲避障礙物,用聲音模塊檢測聲音做出防備動作,用尋光模塊向光源移動追捕。團隊成員同時探索出兩種形態(tài)自由切換的雙形態(tài)融合設(shè)計,實現(xiàn)在崎嶇的路上運用“足”移動,在比較平坦的路上收縮關(guān)節(jié)運用電機快速移動、靈活轉(zhuǎn)向,讓機器人達到運動更平穩(wěn),適應(yīng)能力更強,實用價值更高。關(guān)鍵詞:Arduino;openMV;仿生六足機器人;雙形態(tài)中圖分類號:U462 ?文獻標識碼:A ?文章編號:1671-7988(2020)11-62-04
Abstract:?The author takes the spider as the bionic prototype, USES the Arduino and the 20-way steering gear as the main control board, connects the WIFI module or bluetooth module with the handle or mobile phone, and controls the hexapod robot which completes various bionic actions. Hexapod robot USES the helmsman to control the openMV camera to collect recognition and analysis images, and simulates the movement of animals. The ultrasonic module is used to automatically avoid obstacles, the sound module is used to detect sounds and make defensive actions, and the light seeker module is used to move and chase the light source. At the same time, the team members explored the dual-form fusion design of free switching between the two forms, so as to realize the use of "foot" movement on the rough road, and the use of motor for fast movement and flexible steering on the relatively flat road to make the robot move more smoothly, with stronger adaptability and higher practical value.Keywords: Arduino; OpenMV; Bionic hexapod robot; Double formCLC NO.: U462 ?Document Code: A ?Article ID: 1671-7988(2020)11-62-04
1?時代背景
隨著科學技術(shù)的不斷發(fā)展,相關(guān)性機器人的探索研究也隨之增加,然而對多足類機器人的探索研究更具實用價值,也更能適應(yīng)現(xiàn)階段多領(lǐng)域、多環(huán)境、多地形的特種工作內(nèi)容,其將會是人類發(fā)展的重要里程碑。多足步行機器人一般指四足或四足以上的步行機器人,常見的多足步行機器人包括四足步行機器人、六足步行機器人、八足步行機器人。該類機器人是一種具有冗余驅(qū)動、多支鏈、時變拓撲的運動機構(gòu),是模仿多足昆蟲或動物運動形式的一種智能型機器人,涉及生物科學、結(jié)構(gòu)學、傳感技術(shù)和信息處理技術(shù)等多門學科[1]。而該文主要闡述的是仿生六足機器人的探索設(shè)計過程。其仿生六足機器人一般分為兩種:一種為機械機構(gòu)復雜的六足機器人,另一種為電控占為主導的六足機器人。并且輪式機器人與履帶式機器人控制技術(shù)逐漸趨于成熟。然而,對于山地、丘陵、崎嶇路面等復雜地形,輪式和履帶式的移動方式受到了很大的限制[2]。相比而言,六足機器人用舵機控制整體結(jié)構(gòu)的運動,大大降低了機械結(jié)構(gòu)的復雜性,能夠準確實現(xiàn)機器人的各項仿生動作,并能保持某一動作,還可以根據(jù)程序編寫設(shè)定,建立遠距離人為控制,更加靈活。
2?雙形態(tài)探索意義
人類在搜救,以及探索工作上遇到的挑戰(zhàn)不斷上升,也相續(xù)面臨了一些問題,因此,關(guān)于仿生機器人的設(shè)計應(yīng)用,值得探索開發(fā)。同時,近年來也有相當多關(guān)于探討兩足至多足機器人的應(yīng)用問題,過去的兩足機器人多為轉(zhuǎn)型機械系統(tǒng),其運動局限于二維平面,無法克服許多山區(qū)崎嶇的地形。還有就是輪式機器人,能夠穩(wěn)定快速地在平坦的地形移動;履帶式機器人,通過分擔總重量到較大平面上,也相當于為輪子提供穩(wěn)定的移動平面,使機器人能夠在較為不平或松軟的路面上行進。然而以上兩種機器人均不能很好地適應(yīng)有障礙地勢起伏大等不規(guī)則地形,非傳統(tǒng)的足式機器人則可以克服這一困難[3]。由于其仿生理論結(jié)構(gòu)的應(yīng)用,可以使六機器人對昆蟲的運動過程以及姿態(tài)進行模擬,進而最大程度的接近真實昆蟲的運動特征。這對于六足機器人的研究和探索具有十分重要的意義[4]。并且六足機器人運用“三角步態(tài)”,利用18個舵機作為機器人的“關(guān)節(jié)”,使其跨越障礙的能力增強,可以克服較為復雜的地形,同時實現(xiàn)了“足”移動和電機快速移動的雙形態(tài)融合設(shè)計,在仿生原型上展現(xiàn)了蜘蛛和螃蟹的兩種運動形態(tài)。這對于六足機器人的仿生結(jié)構(gòu)設(shè)計具有融合性的意義。還有,六足機器人借助云臺的攝像采集識別分析輔助裝置,能更好的適應(yīng)行進未知工作環(huán)境的特點,因此可以應(yīng)用于許多危險的特種工作,通過攝像頭來觀察環(huán)境,例如火山的研究或其他特殊地域的探測,也可以進行一些搜救工作,安保工作,軍事活動等,以減少人員的傷亡。這對于六足機器人的輔助功能具有指導性的意義。
3?六足機器人總體設(shè)計
六足機器人主要由Arduino開發(fā)板、20路舵機控制板、openMV攝像頭、超聲波傳感器、聲音傳感器、尋光傳感器、WIFI模塊、藍牙模塊、數(shù)字舵機組成,并開發(fā)設(shè)定了機械系統(tǒng)、檢測系統(tǒng)、控制系統(tǒng)的三大系統(tǒng),總體框架圖如圖1所示。機械系統(tǒng)是通過Arduino開發(fā)板和20路舵機控制板,從而實現(xiàn)仿生六足的雙形態(tài)自由運動及攝像云臺的多角度穩(wěn)定;檢測系統(tǒng)是由openMV攝像頭、超聲波傳感器、聲音傳感器、尋光傳感器組成的子系統(tǒng),具備圖像采集、圖像追蹤、自動避障、聲音防備、光線追捕等功能;控制系統(tǒng)是手機、手柄借助WIFI模塊和藍牙模塊進而對六足機器人實現(xiàn)多方面的控制。
4?六足機器人硬件設(shè)計
4.1 機械結(jié)構(gòu)
在制作機器人時,人們普遍應(yīng)用的材料主要有三種:木質(zhì)、金屬、塑料。首先,制作機器人比較理想材料為金屬,其硬度高、光澤漂亮、不易磨損[4]。但隨著3D打印技術(shù)的發(fā)展,并考慮到相關(guān)結(jié)構(gòu)的經(jīng)濟性和輕量化的特點,最終決定采用PLA材質(zhì)的熱塑性塑料作為耗材打印整個機械結(jié)構(gòu)。然而后期,通過二次升級開發(fā),材料會定位為鋁合金。
4.1.1 整體結(jié)構(gòu)
在設(shè)計的過程中,整體結(jié)構(gòu)遵循蜘蛛的仿生原理,設(shè)計了“軀體”和“足”的兩個基本部分?!败|體”部分常見的有被廣泛采用的矩形,具有結(jié)構(gòu)控制簡單的特點;也有最接近昆蟲仿生的橢圓形或者六邊形排布,其減少了足間干涉,以增大足的運動范圍的方式提高了機體穩(wěn)定性;還有圓形布置,其轉(zhuǎn)向性和穩(wěn)定性均有優(yōu)勢,但因足間控制軌跡的不同,在控制上更具挑戰(zhàn)性。綜合考慮后,本結(jié)構(gòu)采用了矩形,并對其實施縮小的尺寸設(shè)計,其尺寸為寬300mm,長314mm。“足”根據(jù)蜘蛛腿部尺寸比例設(shè)計了六足機器人三段式單足結(jié)構(gòu),分別對應(yīng)蜘蛛的股節(jié)、脛節(jié)以及跗節(jié),并在最后一段式實現(xiàn)延長結(jié)構(gòu)化設(shè)計,整體結(jié)構(gòu)如圖2所示。六足機器人最為重要在于結(jié)構(gòu),利用三維制圖軟件CATIA畫出相應(yīng)零件圖,通過螺栓連接完成整個機械結(jié)構(gòu)的裝配工作,并運用運動學仿真,查看運動合理性,進行受力分析,驗證結(jié)構(gòu)的強度和結(jié)構(gòu)的合理性,結(jié)構(gòu)之間的緊密合作是實現(xiàn)機器人移動的重要基礎(chǔ),整體結(jié)構(gòu)運動簡圖如圖2所示。
4.1.2 仿生腿結(jié)構(gòu)
本系統(tǒng)采取3腿為一組的運動模式,即三角步態(tài)(占空因數(shù)為1/2,3條腿運動時,其他3條腿不動),同一側(cè)的前腿、后腿的前后轉(zhuǎn)動與另一側(cè)的中腿驅(qū)動信號對稱[5]。其利用18個舵機作為機器人的“關(guān)節(jié)”,且六足機器人的“軀體”與“足”的連接關(guān)節(jié)設(shè)計為弧形,其具有兩大優(yōu)勢:一是減少腿間運動干涉的發(fā)生概率;二是能夠增加步行的穩(wěn)定性。為了獲得良好的互換性,其仿生腿結(jié)構(gòu)采用模塊化的設(shè)計理念,位于“軀體”同側(cè)及對側(cè)的仿生腿都具有完全獨立控制的機械結(jié)構(gòu)。同時最后一段腿部基于跗節(jié)采取了反向延長的設(shè)計,反向延長結(jié)構(gòu)如圖4所示,這樣更好的實現(xiàn)了雙形態(tài)模式的快速穩(wěn)定切換。
4.2 攝像云臺
為了增大六足機器人的實用價值,且可完成一些遠程操作。以運動靈活、環(huán)境適應(yīng)能力較強的六足機器人為運動載體,借助2個舵機設(shè)計云臺,攝像云臺結(jié)構(gòu)如圖所示,來實現(xiàn)攝像頭多角度的圖像采集追蹤分析。openMV攝像頭是一個可編程的攝像頭,通過MicroPython語言,并結(jié)合其本身內(nèi)置的一些圖像處理算法,很容易實現(xiàn)限定的邏輯。攝像云臺的設(shè)計給六足機器人增加了兩方面的實用性功能:一是,通過攝像頭人為觀察路況,實現(xiàn)遠距離控制,搜尋目標;二是,實現(xiàn)精度一般的定點測距、顏色識別以及物體的追蹤移動。
4.3 輔助功能
以“軀體”結(jié)構(gòu)部分為載體,增加了超聲波模塊、聲音模塊、尋光模塊,使六足機器人在運動過程中,可以實現(xiàn)自動避障、聲音防備、光線追捕等輔助性功能;當六足機器人處于黑暗的復雜地勢環(huán)境時,可以及時的向光源移動,并分析環(huán)境聲音做出相應(yīng)防備動作,且可對障礙物進行自動躲避。增加了六足機器人的一些實用性功能,擴寬了相應(yīng)的應(yīng)用領(lǐng)域。
5?六足機器人軟件設(shè)計
5.1 控制程序
程序是六足機器人的“靈魂”,其六足機器人的三角步態(tài)運動、攝像云臺的工作以及各個模塊的控制,都是程序?qū)崿F(xiàn)的結(jié)果。常見的?Arduino 控制板主要有?Mega 2560、Mega ADK、?Mini、Nano 控制板,本系統(tǒng)選用的是?Arduino Nano 控制板[6]。Arduino是一款便捷靈活、方便上手的開源電子產(chǎn)品,具有豐富的接口,有數(shù)字I/O口,模擬I/O口,同時支持SPI、IIC、UART串口通信,還能通過各種各樣的傳感器來感知環(huán)境,并讓其他傳感器和動力系統(tǒng)做出反應(yīng)。用20路舵機控制板,完成了對18個仿生腿舵機和2個攝像云臺舵機的控制,實現(xiàn)了六足機器人的雙形態(tài)平穩(wěn)運行和多角度圖像采集識別分析。同時增加了Pro micro擴展板,完成各傳感器之間的程序聯(lián)系,以實現(xiàn)超聲波模塊、聲音模塊、尋光模塊的相應(yīng)輔助性功能。
openmv部分程序展示:
size_threshold = 2000 #色塊面積
uart=UART(3,9600) #//串口波特率需要和arduino一致?這里設(shè)為9600
def find_max(blobs):
max_size=0
for blob in blobs: #把所有色塊?一一篩選
if blob.pixels() > max_size: #if色塊像素數(shù)量最大賦值
max_blob=blob
max_size =blob.pixels()
return max_blob #//尋找最大色塊并返回最大色塊的坐標
def find_maxtu(blobs):
max_size1=0
for blob in blobs: #把所有色塊?一一篩選
if blob[2]*blob[3]>max_size1: #if色塊像素數(shù)量最大賦值
max_blob=blob
max_size1= blob[2]*blob[3]
return max_size1#//尋找最大色塊并返回最大色塊的坐標
while(True):
img = sensor.snapshot()#拍攝一張照片,img為img一個對象
blobs = img.find_blobs([bule_threshold])# 尋找色塊
5.2 程序調(diào)試
對機械裝配成型的六足機器人進行電氣元件的安裝,并完成接線引腳的布置焊接。同時對整個機械結(jié)構(gòu)和程序運行進行以下調(diào)試工作:
(1)檢查六足機器人的整體組裝結(jié)構(gòu)是否牢固,排查各模塊之間的線路連接是否正確;
(2)接通電源,觀察六足機器人的仿生腿是否能自動調(diào)試到初始角度,并注意各控制板上的指示燈是否有異常;
(3)分別通過手機、手柄驗證WIFI模塊和藍牙模塊的無線連接是否正常;
(4)通過無線控制讓機器人完成原地旋轉(zhuǎn)、直線前行等任務(wù),驗證其雙形態(tài)和各傳感器是否正常。
6?總結(jié)
本文介紹了六足機器人的各部分設(shè)計及相應(yīng)功能,并探索出了六足機器人雙形態(tài)的融合運動模式,同時完成openMV攝像頭的設(shè)計。借助場景效果構(gòu)建,通過手機和手柄同時對六足機器人的相關(guān)功能及其適應(yīng)能力開展實驗,并完成了預期的規(guī)定任務(wù),表現(xiàn)效果良好。表明,通過二次開發(fā)生產(chǎn),可以實現(xiàn)野外及特殊環(huán)境的無人工作。同時,也進一步體現(xiàn)了仿生六足機器人的研究設(shè)計價值和實用探索價值。
參考文獻
[1] 王洪斌,李程,王躍靈,劉鵬飛.基于Arduino和藍牙技術(shù)的六足機器人控制系統(tǒng)設(shè)計[J].黑龍江大學自然科學學報,2015,32(04):533- 537.
[2] 荊琦,張得沛.復雜環(huán)境下的偵測六足機器人設(shè)計[J].科技展望, 2016,26(24):182.
[3] 王晨淶.論多足機器人多元研究方向[J].中國設(shè)備工程,2018(02): 153-155.
[4] 楊秋黎,姜文波.多足仿生機器人的設(shè)計與實現(xiàn)[J].計算機產(chǎn)品與流通,2017(12):111-11
[5] 彭倩,李紅巖.仿生蜘蛛探測機器人的系統(tǒng)設(shè)計[J].實驗室研究與探索,2016,35(12):84-87.
[6] 王賀,王鳳嬌,于蘭浩,曹高華.基于Arduino的六足仿生機器人的設(shè)計與研究[J].南方農(nóng)機,2017,48(16):33.