王偲驍
摘?要:文章給出一種基于Arduino的仿生蟲型機(jī)器人系統(tǒng)設(shè)計(jì)方案。在方案中,通過驅(qū)動控制子系統(tǒng),實(shí)現(xiàn)了蟲型機(jī)器人的仿生移動功能,同時通過測距子系統(tǒng),實(shí)現(xiàn)了機(jī)器人避障功能。文中主要就這兩個功能進(jìn)行了詳細(xì)的描述并對其實(shí)現(xiàn)過程進(jìn)行了描述。
關(guān)鍵詞:Arduino控制板;仿生蟲型機(jī)器人;避障
在機(jī)器人研究領(lǐng)域,仿生機(jī)器人是其中的一個重要的研究分支。通過模仿不同生物的特殊屬性,仿生機(jī)器人能夠完成在特定應(yīng)用場景下的特定應(yīng)用需求。例如美國Boston Dynamics公司的“大狗”機(jī)器人,美國哈佛大學(xué)研究的蠑螈機(jī)器人Pleurobo等,都利用了其特殊的生物特性幫助使用者完成了諸如貨物運(yùn)輸和狹小空間的探測的功能。
基于以上背景,結(jié)合學(xué)校信息技術(shù)學(xué)科的主要學(xué)習(xí)內(nèi)容,本文提出一種基于Arduino開源控制板的仿生蟲型機(jī)器人系統(tǒng)。該機(jī)器人利用了Arduino開源控制板提供的強(qiáng)大程序庫,利用舵機(jī)的轉(zhuǎn)速控制,實(shí)現(xiàn)了蟲型機(jī)器人的仿生移動,并通過安裝的測距傳感器設(shè)計(jì)了一定的避障算法,實(shí)現(xiàn)了蟲型機(jī)器人的避障功能。本文的后續(xù)內(nèi)容將詳細(xì)介紹該蟲型機(jī)器人的移動控制功能和避障功能。
1 移動控制功能詳細(xì)設(shè)計(jì)
本次機(jī)器人的設(shè)計(jì)是基于Arduino開源控制平臺進(jìn)行開發(fā)的。如圖1所示,Arduino是一個硬件平臺,它的源代碼是開放的,它由電路板和開發(fā)環(huán)境軟件組成,其中,電路板是具有I/O功能的電路板。Arduino語言簡單來說就是很多參數(shù)被函數(shù)化處理了的基礎(chǔ)C語言。使用Arduino語言編寫的程序結(jié)構(gòu)簡單,主要包括初始化變量、設(shè)置管腳模式的setup()函數(shù)和類似于C語言中main()函數(shù)功能的循環(huán)執(zhí)行函數(shù)loop()。
機(jī)器人采用的是UNO系列的Arduino UNO R3的開發(fā)板。它不僅可以使用USB接口直接供電,還可以使用外接電源供電。驅(qū)動電機(jī)采用RS一380SH直流伺服電機(jī)。驅(qū)動電機(jī)的轉(zhuǎn)動速度同樣受PWM信號占空比的控制,擁有良好的可調(diào)性,非常適合小車在各種條件下的速度要求。
仿生機(jī)器人的運(yùn)動控制主要依靠前后兩個電機(jī)的轉(zhuǎn)動,如圖2所示,具體移動策略如下:
(1)前面的電機(jī)通過左右運(yùn)動轉(zhuǎn)速來控制移動方向,需要左轉(zhuǎn)時,前端電機(jī)向左旋轉(zhuǎn)較大的角度,反之則向右轉(zhuǎn)向,通過旋轉(zhuǎn)的角度差來精確控制左右轉(zhuǎn)的具體角度。
(2)后部電機(jī)通過水平的轉(zhuǎn)動來為后腳提供地面摩擦力,控制機(jī)器人的前向運(yùn)動。通過電機(jī)的轉(zhuǎn)動使得右后腿前擺的同時右前腿落地,重心右偏,增加地面摩擦力;當(dāng)右后腿后擺時右前腿抬起,右側(cè)身體向前推進(jìn)一步。與之類似,左后腿和左前腿的運(yùn)動也是同樣的配合。通過這種配合控制機(jī)器人的前進(jìn)。
2 自動避礙功能詳細(xì)設(shè)計(jì)
除了蟲型機(jī)器人的移動控制設(shè)計(jì)以外,本次設(shè)計(jì)中的另一個重要的功能是蟲型機(jī)器人的自動避障方法的研究與實(shí)現(xiàn)。自動避障功能的實(shí)現(xiàn)是為了能在復(fù)雜環(huán)境下自主、高效、省時地躲避障礙物,它是完成蟲型機(jī)器人后續(xù)更高級功能開發(fā)的基礎(chǔ)。同時,避障水平的高低也是衡量避障算法智能化高低的一個關(guān)鍵指標(biāo)。如圖2所示,本次設(shè)計(jì)的避障算法主要依靠裝載在蟲型機(jī)器人頭部的超聲傳感器來感知前方障礙物的距離。為使機(jī)器人在所處的靜態(tài)環(huán)境中檢測到障礙物時,能夠及時、準(zhǔn)確的完成自動避障動作,根據(jù)障礙物的位置、大小等信息的不同,具體避障策略如下:
1)由于硬件設(shè)備的局限性,本設(shè)計(jì)僅針對最基本的障礙物類型進(jìn)行避障系統(tǒng)設(shè)計(jì)。如圖3所示,在向前移動的過程中,機(jī)器人時刻通過超聲傳感器檢測其正前方的障礙的距離dis。通過對dis的取值區(qū)間的判斷,并配合機(jī)器人的前進(jìn)、左右轉(zhuǎn)和后退的基本動作來完成障礙物的避障工作。
2)當(dāng)測得dis<500mm時,則認(rèn)為前方存在障礙物,并自動進(jìn)行向左或向右轉(zhuǎn)向10度(限于當(dāng)前的硬件設(shè)計(jì)條件,選取了10度為一個轉(zhuǎn)向角度單位)。轉(zhuǎn)向完成后再進(jìn)行dis值的測試。從而得到一組
3)為了保證轉(zhuǎn)向后,在避開障礙物時能回到原來前進(jìn)的方向中,在后續(xù)前行的過程中采用了方向校準(zhǔn)的策略。采用一個轉(zhuǎn)角變量k來記錄轉(zhuǎn)向次數(shù),在臂章成功前行的策略完成后,對前行方向進(jìn)行反向轉(zhuǎn)向校準(zhǔn)k*10度,采用前行3步反向轉(zhuǎn)向1次的方法,當(dāng)反向轉(zhuǎn)向回補(bǔ)了k次后停止轉(zhuǎn)向回補(bǔ),直接采用避障前行的策略。
避障系統(tǒng)的執(zhí)行不需要人工干預(yù),機(jī)器人不斷通過信息采集系統(tǒng)檢測周圍障礙物的信息,判斷障礙物的類型,按照避障策略執(zhí)行相應(yīng)動作,實(shí)現(xiàn)自動繞開障礙物。自動模式的流程圖如圖4所示,整個機(jī)器人人的執(zhí)行程序是一個不斷循環(huán)的過程,通過傳感器信息的判斷不斷采取相關(guān)策略執(zhí)行的循環(huán)過程。
3 結(jié)語
綜上所述,仿生蟲型機(jī)器人主要利用超聲波測距傳感器實(shí)時采集以實(shí)現(xiàn)自動避障功能,對高中信息技術(shù)學(xué)科知識進(jìn)行了綜合實(shí)踐運(yùn)用。本系統(tǒng)所需硬件簡單易用、穩(wěn)定可靠、成本大大降低,并具有較好的擴(kuò)展性。