亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        淺談基于Arduino的雙足類(lèi)人機(jī)器人控制

        2016-05-19 13:46:11王天偉
        電腦知識(shí)與技術(shù) 2016年7期
        關(guān)鍵詞:類(lèi)人

        王天偉

        摘要:隨著科技發(fā)展,機(jī)器人在越來(lái)越多的領(lǐng)域得到發(fā)展與應(yīng)用。該文通過(guò)作者參加“華北五省機(jī)器人機(jī)器人大賽”前期準(zhǔn)備,以及參賽過(guò)程中的經(jīng)驗(yàn),簡(jiǎn)要介紹下基于開(kāi)源Arduino控制板的類(lèi)人機(jī)器人的驅(qū)動(dòng)與控制,比賽結(jié)果表明了該方法的有效性。

        關(guān)鍵詞:Arduino;類(lèi)人;多自由度;驅(qū)動(dòng)與控制

        中圖分類(lèi)號(hào):TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)07-0181-02

        對(duì)于雙足類(lèi)人機(jī)器人控制的研究一直是近些年機(jī)器人研究的熱點(diǎn)問(wèn)題。能否精確地執(zhí)行預(yù)設(shè)動(dòng)作,是評(píng)價(jià)機(jī)器人性能的指標(biāo)之一,而本科生可接觸到的傳統(tǒng)中小型機(jī)器人上,所運(yùn)用的主控以傳統(tǒng)單片機(jī)為主,原理是利用定時(shí)器和中斷的方式來(lái)實(shí)現(xiàn)對(duì)舵機(jī)的控制,在舵機(jī)數(shù)量較少時(shí)表現(xiàn)尚可,而在競(jìng)賽中所用到的類(lèi)人舞蹈機(jī)器人、類(lèi)人競(jìng)技機(jī)器人等上面,往往需要十幾個(gè)自由度甚至更多,以達(dá)到使機(jī)器人更加靈活的目的,這樣的情況下傳統(tǒng)單片機(jī)控制起來(lái)就沒(méi)有那么方便了, 尤其在要求機(jī)器人進(jìn)行復(fù)雜動(dòng)作,多個(gè)舵機(jī)同時(shí)驅(qū)動(dòng)時(shí),單片機(jī)不但精度難以保證,在編程方面也相當(dāng)復(fù)雜。因此本文結(jié)合作者的比賽經(jīng)驗(yàn),介紹時(shí)下較為流行的開(kāi)源Arduino,來(lái)實(shí)現(xiàn)對(duì)雙足類(lèi)人機(jī)器人的控制。

        1 Arduino簡(jiǎn)介

        Arduino是可編程的,使用功能強(qiáng)大的AVR微控制器,標(biāo)準(zhǔn)板擁有20個(gè)I/O引腳(Arduino的變體擁有更多的I/O引腳),并且很便宜。主Arduino使用標(biāo)準(zhǔn)的USB數(shù)據(jù)線連接到計(jì)算機(jī),不僅提供到PC的串行連接,還包括所需的5V電源。其最大的優(yōu)勢(shì)在于它秉承開(kāi)源硬件的思想,程序開(kāi)發(fā)接口免費(fèi)下載,也可依需自己修改。Arduino UNO的引腳如圖1所示:

        圖1 Arduino UNO控制板I/O口示意圖

        Arduino的硬件是高度模塊化的,在核心控制板的外圍,有開(kāi)關(guān)量輸入輸出模塊、各種模擬量傳感器輸入模塊、總線類(lèi)傳感器的輸入模塊, 還有網(wǎng)絡(luò)通信模塊,只要在核心控制板上增加網(wǎng)絡(luò)控制模塊,就可以容易地與互聯(lián)網(wǎng)連接。Arduino還提供了自己的開(kāi)發(fā)環(huán)境Arduino IDE,支持Windows、Linux、MacOS等主流操作系統(tǒng)。Arduino系統(tǒng)是基于單片機(jī)開(kāi)發(fā)的,并且大量應(yīng)用通用和標(biāo)準(zhǔn)的電子元器件,包括硬件和軟件在內(nèi)的整個(gè)設(shè)計(jì),代碼均采用開(kāi)源方式發(fā)布,因此采購(gòu)的成本較低,在各種電子制作競(jìng)賽、電子藝術(shù)品創(chuàng)意設(shè)計(jì)等越來(lái)越多地使用Arduino作為開(kāi)發(fā)平臺(tái)。

        2 主控的選擇

        在“華北五省機(jī)器人大賽”前,作者對(duì)市面上在售的控制系統(tǒng)進(jìn)行了數(shù)據(jù)收集與對(duì)比,對(duì)控制精度及擴(kuò)展寬容度等多方面參數(shù)進(jìn)行對(duì)比,并對(duì)其他參賽隊(duì)伍所選用的主控實(shí)際測(cè)試后,選擇了Arduino UNO R3的一個(gè)變體版Manshow-RC1,后者集成了Arduino UNO R3及24通道的SoftServo舵機(jī)控制系統(tǒng),其優(yōu)點(diǎn)在于:集成度更高,極大減小了主控安裝于機(jī)器人上所占用的空間,一定程度上減小了機(jī)器人的自重;擁有24路舵機(jī)控制通道,滿(mǎn)足了比賽中對(duì)機(jī)器人靈活度的要求;集成軟啟動(dòng)功能,眾所周知,PWM 類(lèi)型的舵機(jī)其初始位置往往是未知的。傳統(tǒng)的啟動(dòng)模式將使舵機(jī)以全速運(yùn)行到目標(biāo)位置,在很多機(jī)器人應(yīng)用中是非常忌諱的。軟啟動(dòng)模式在初始位置未知的情況下可將舵機(jī)緩速運(yùn)行到目標(biāo)位置,但在短時(shí)間內(nèi)需要較大的電流(當(dāng)需要控制多個(gè)舵機(jī)時(shí),可采用分時(shí)啟動(dòng)的方式緩解)。

        在決定使用Arduino之前,作者也曾試驗(yàn)過(guò)比較熟悉的51單片機(jī)在機(jī)器人控制上的效果,結(jié)果發(fā)現(xiàn)除了在對(duì)多個(gè)舵機(jī)的控制方面表現(xiàn)不足外,在代碼編寫(xiě)方面,傳統(tǒng)單片機(jī)也不及Arduino方便,因?yàn)锳rduino的編譯環(huán)境對(duì)AVR-GCC庫(kù)實(shí)現(xiàn)了二次封裝,使用者即使對(duì)C等編譯語(yǔ)言不是很熟悉,沒(méi)有很多單片機(jī)基礎(chǔ),進(jìn)行簡(jiǎn)單學(xué)習(xí)后也能很快上手,大大縮短了開(kāi)發(fā)周期,節(jié)約了開(kāi)發(fā)成本。并且由于開(kāi)源的環(huán)境,可以根據(jù)自己的需求到Arduino論壇上下載已有的代碼,然后進(jìn)行修改,其中包括傳感器等模塊的庫(kù)文件及測(cè)試程序。以下為作者參賽時(shí)所用雙足類(lèi)人舞蹈機(jī)器上程序的一段截?。?/p>

        #include "GI2C_V11.h"

        #include

        #include

        unsigned char Buf[61 + 1];

        GI2CV11 ManShow_RC1(Buf, sizeof(Buf));

        const unsigned char back[][49] PROGMEM = { 90, 90, 111, 93, 90, 134, 86, 104, 76, 91, 83, 205, 8, 93, 88, 92, 88, 86, 86, 119, 91, 90, 88, 96, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3 };

        大括號(hào)內(nèi)的48個(gè)數(shù)字,分別對(duì)應(yīng)24個(gè)舵機(jī)的預(yù)設(shè)位置(0-180°)和運(yùn)轉(zhuǎn)時(shí)的速度(1-250)。由于已經(jīng)有現(xiàn)成的庫(kù)文件可以使用,只需簡(jiǎn)單配置寄存器即可,由此可見(jiàn)與傳統(tǒng)單片機(jī)相比,Arduino在開(kāi)發(fā)周期上極大地縮短,并且減少了代碼占用空間,讓使用者省去了擴(kuò)展內(nèi)存的麻煩,為增加擴(kuò)展模塊帶來(lái)便利。

        3 PWM類(lèi)型的舵機(jī)控制器性能評(píng)價(jià)

        1)PWM 類(lèi)型的舵機(jī),其PWM有效寬度并非完全一致,考慮到兼容性問(wèn)題,PWM有效寬度必須可設(shè)定。

        2)對(duì)于標(biāo)準(zhǔn)的PWM類(lèi)型舵機(jī),PWM信號(hào)周期通常建議為20ms,但對(duì)于數(shù)字舵機(jī),可允許更高頻率的信號(hào)輸入,當(dāng)應(yīng)用系統(tǒng)要求舵機(jī)具有更高的響應(yīng)速度時(shí),可縮短PWM信號(hào)的周期。因此,PWM信號(hào)的周期可人為設(shè)定,也是很有必要的。

        3)有些時(shí)候我們希望所有的PWM信號(hào)同時(shí)輸出,并且信號(hào)間的耦合性控制在肉眼難以察覺(jué)的程度。

        4)在一些動(dòng)態(tài)的應(yīng)用系統(tǒng)中,尤其是人形機(jī)器人,我們希望在任意時(shí)刻每個(gè)通道的位置和速度均可單獨(dú)控制,因?yàn)闄C(jī)器人的動(dòng)態(tài)平衡是依靠慣性力實(shí)現(xiàn)的。

        5)絕大多數(shù)的舵機(jī)控制器均將舵機(jī)的動(dòng)作代碼固化在EEPROM或Flash ROM中,或許這樣操作起來(lái)很簡(jiǎn)單。我們認(rèn)為,一個(gè)機(jī)器人系統(tǒng),需要結(jié)合搭載的傳感器與智能控制算法,動(dòng)態(tài)生成舵機(jī)的動(dòng)作代碼。此外,關(guān)于通訊接口的簡(jiǎn)易性、實(shí)時(shí)性和穩(wěn)定性也是非常的關(guān)鍵。

        6)為了更好地保護(hù)舵機(jī),必須能夠在任意時(shí)刻停止PWM信號(hào)的輸出。在使用過(guò)程中經(jīng)常會(huì)發(fā)現(xiàn)一個(gè)現(xiàn)象:舵機(jī)毀于沖擊力,原則上,當(dāng)存在異常的沖擊力時(shí),應(yīng)當(dāng)停止信號(hào)的輸出。例如:機(jī)器人處于跌落狀態(tài)(可由加速度傳感器檢測(cè)),倘若提前停止PWM信號(hào)的輸出,使舵機(jī)進(jìn)入惰行或制動(dòng)狀態(tài),便可避免剛性沖擊。

        4 傳感器的使用

        針對(duì)不同應(yīng)用情境或比賽項(xiàng)目的不同,機(jī)器人可視情況加載合適的傳感器,以達(dá)到適應(yīng)外界環(huán)境和精確控制的目的。比如擂臺(tái)對(duì)抗機(jī)器人,為了防止掉下擂臺(tái),往往加載灰度傳感器檢測(cè)擂臺(tái)邊緣的色帶;舞蹈機(jī)器人可增加加速度傳感器,用以檢測(cè)機(jī)器人的意外跌落,因?yàn)閷?duì)于舵機(jī),跌落后的意外卡死往往是致命的。

        5 一些主流的控制方式

        如若沒(méi)有特殊要求的情況下,可以給機(jī)器人增設(shè)遙控,通過(guò)一組紅外傳感器來(lái)控制機(jī)器人,在遙控器上對(duì)于每個(gè)按下的按鈕都發(fā)送一個(gè)特定的紅外線編碼,可以在Arduino上使用IR接收集成電路讀取紅外線編碼,這樣使用者可以更及時(shí)的調(diào)整機(jī)器人的姿態(tài)。

        語(yǔ)音控制也是一種不錯(cuò)的選擇,預(yù)先將一些指令錄入主控當(dāng)中,具體操作時(shí),語(yǔ)音模塊對(duì)使用者的指令進(jìn)行識(shí)別,然后調(diào)動(dòng)舵機(jī)或其他模塊進(jìn)行相應(yīng)動(dòng)作。

        談到了聲控就不得不提及光控,雖然此種控制方式對(duì)環(huán)境要求較高,但倘若使用好了也會(huì)給人耳目一新的感覺(jué),比如舞蹈機(jī)器人,結(jié)合特定舞臺(tái)燈光的指令后可以更好地進(jìn)行姿態(tài)調(diào)整。

        為了實(shí)時(shí)監(jiān)控機(jī)器人的動(dòng)態(tài)參數(shù),也可以選擇上位機(jī)控制機(jī)器人,可以自主編寫(xiě)上位機(jī)軟件或網(wǎng)上下載現(xiàn)成的軟件使用。上位機(jī)控制方式分為有線和無(wú)線兩種。

        藍(lán)牙模塊、語(yǔ)音模塊以及光傳感器等在網(wǎng)上商城均有銷(xiāo)售,買(mǎi)時(shí)需注意是否與Arduino兼容。

        6 結(jié)束語(yǔ)

        雙足類(lèi)人機(jī)器人運(yùn)動(dòng)靈活,因與人類(lèi)相似,可以在眾多領(lǐng)域得到應(yīng)用。本文對(duì)基于Arduino主控的機(jī)器人的控制進(jìn)行了簡(jiǎn)述,結(jié)合作者的參賽經(jīng)歷,從主控的選擇、外設(shè)擴(kuò)展以及其他主流控制方式三方面給予建議。經(jīng)過(guò)驗(yàn)證,Arduino在中小型機(jī)器人的設(shè)計(jì)制造上確實(shí)有很多傳統(tǒng)單片機(jī)沒(méi)有的優(yōu)勢(shì)。

        參考文獻(xiàn):

        [1] John-David Warren,Josh Adams,Harald Molle.Arduino Robotics[M]. Apress,2011.

        [2] 陳呂洲.Arduino程序設(shè)計(jì)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2015.

        [3] 蔡睿妍.基于Arduino的舵機(jī)控制系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2012,5(15).

        [4] 孟浩,王妍瑋.基于Arduino 的雙足仿人機(jī)器人設(shè)計(jì)[J].林業(yè)機(jī)械與木工設(shè)備,2014,2(2).

        猜你喜歡
        類(lèi)人
        中科院自動(dòng)化所實(shí)現(xiàn)人與機(jī)器人間的類(lèi)人物體交接
        5類(lèi)人跟泡腳“八字不合”
        你的手指長(zhǎng)度,決定了你的性格!
        健康生活(2018年3期)2018-03-31 08:46:30
        口頭禪暴露性格
        Ⅵ型類(lèi)人膠原蛋白基因COL6A2的克隆及在畢赤酵母中的分泌表達(dá)
        感冒愛(ài)找哪類(lèi)人等
        人妻无码中文专区久久AV| 十八禁在线观看视频播放免费 | 日本按摩偷拍在线观看| 亚洲精品白浆高清久久久久久| 亚洲人成无码www久久久| 亚洲国产一区二区三区在线视频| 日本高清无卡一区二区三区| 亚洲精品宾馆在线精品酒店| 少妇愉情理伦片丰满丰满午夜| 国产午夜无码视频免费网站| 国产成年女人特黄特色毛片免| 人妻免费一区二区三区免费| 亚洲中文字幕在线观看| 日本欧美在线播放| 精品自拍偷拍一区二区三区| av在线观看一区二区三区| 亚洲国产精品福利片在线观看| 91精品全国免费观看青青| 中文字幕亚洲中文第一 | 特级毛片爽www免费版| 久久精品免费一区二区喷潮| 日韩色久悠悠婷婷综合| 77777亚洲午夜久久多喷| 伊人久久五月丁香综合中文亚洲| 亚洲一区二区久久青草| va精品人妻一区二区三区| 香港aa三级久久三级| 欧美人与动人物牲交免费观看| 熟女少妇丰满一区二区| 午夜被窝精品国产亚洲av香蕉| 国产真实夫妇视频| 精品无人区无码乱码大片国产| 久久久亚洲av成人乱码| 亚洲av无码国产精品永久一区| 亚洲日本天堂| 精品av一区二区在线| 天天爽夜夜爽夜夜爽精品视频 | 人妻1024手机看片你懂的| 色综合久久中文娱乐网| 成人区人妻精品一区二区不卡网站| 精品国产乱来一区二区三区|