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