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

        ?

        基于Arduino的六軸舞獅機(jī)器人

        2017-06-01 23:49:47梁巧儀鄭譽(yù)煌李國(guó)豪林煥然亞梅
        電腦知識(shí)與技術(shù) 2017年8期
        關(guān)鍵詞:舞獅機(jī)器人

        梁巧儀 鄭譽(yù)煌 李國(guó)豪 林煥然 亞梅 肖俊杰

        摘要:六軸舞獅機(jī)器人采用Arduino平臺(tái)控制六個(gè)數(shù)字舵機(jī),每個(gè)舵機(jī)分別牽引帶動(dòng)機(jī)器人腰部、大臂、小臂、小臂旋轉(zhuǎn)、腕部、爪部動(dòng)作。根據(jù)舞獅子的運(yùn)動(dòng)特點(diǎn),這臺(tái)機(jī)器人實(shí)現(xiàn)了一套完整的機(jī)器人舞獅動(dòng)作。

        關(guān)鍵詞:舞獅;機(jī)器人;Arduino

        中圖分類號(hào):TP18 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)08-0090-02

        舞獅文化源遠(yuǎn)流長(zhǎng)并且深得廣大人民群眾的喜愛,每逢佳節(jié)喜事,舞獅是用來活躍氣氛很好的選擇。當(dāng)今舞獅主要是由人穿上舞獅服來舞動(dòng),需要多個(gè)人來配合。舞獅屬于高強(qiáng)度運(yùn)動(dòng),對(duì)人的體力消耗很大,人不可能長(zhǎng)時(shí)間不停歇進(jìn)行。另外有些小型慶?;顒?dòng)或臨時(shí)節(jié)目需要舞獅子助興,請(qǐng)舞獅隊(duì)的成本較高。為此本文研究了采用基于Arduino的六軸舞獅機(jī)器人,這臺(tái)機(jī)器人便于攜帶,而且能夠?qū)崿F(xiàn)常見的舞獅動(dòng)作。

        1六軸舞獅機(jī)器人的硬件構(gòu)造

        本文提出的六軸舞獅機(jī)器人的工作原理框圖如圖1所示。將支架和舵機(jī)進(jìn)行組裝、電路連接以及舞獅模型固定,即完成六軸舞獅機(jī)器人的硬件安裝,其外觀如圖2所示。

        六軸舞獅機(jī)器人的核心部件功能介紹如下:

        1)舵機(jī):又稱伺服馬達(dá),是程序的執(zhí)行器,也是機(jī)器人的動(dòng)力來源,本系統(tǒng)采用六個(gè)舵機(jī)分別來驅(qū)動(dòng)機(jī)器人的六個(gè)關(guān)節(jié),從而控制機(jī)器人底部、大臂、小臂、小臂旋轉(zhuǎn)關(guān)節(jié)、腕部、爪部六個(gè)部位的運(yùn)動(dòng)。舵機(jī)的輸入信號(hào)為周期為20ms的脈沖信號(hào),信號(hào)脈沖寬度0.5ms~2 4ms對(duì)應(yīng)0°~180°。我們選用的是輝盛MG-996r舵機(jī)。

        2)Arduino上位機(jī):整個(gè)機(jī)器人的控制中心,根據(jù)編程輸出脈沖信號(hào)來控制六個(gè)舵機(jī)的轉(zhuǎn)動(dòng)角度、速率、時(shí)間點(diǎn),從而達(dá)成機(jī)器人的運(yùn)動(dòng)達(dá)成一整套舞獅動(dòng)作。Arduino上位機(jī)的程序由Arduino IDE編譯器編譯燒錄,我們選用的型號(hào)是ArduinoUNO。

        3)Arduino UNO擴(kuò)展板:為上位機(jī)和舵機(jī)提供電壓,承載舵機(jī)的電流,同時(shí)對(duì)Arduino上位機(jī)的接口進(jìn)一步擴(kuò)展以及排列,以便電路進(jìn)行連接。

        4)開關(guān)電源:將220V交流電轉(zhuǎn)換為5V直流電源,為Ardui-no上位機(jī)和舵機(jī)提供額定5V電壓。

        5)機(jī)械臂支架:整個(gè)的機(jī)器人主體支架,為六軸結(jié)構(gòu)。

        6)舞獅模型:分為頭和身兩部分,頭固定在機(jī)器人爪部、身披在機(jī)器人小臂上。

        2舞獅機(jī)器人的控制原理

        2.1程序關(guān)鍵函數(shù)

        Arduino上位機(jī)的編程是在Arduino IDE上進(jìn)行編譯,其語(yǔ)言開發(fā)環(huán)境與Java和c語(yǔ)言近似。

        在程序的最開始會(huì)調(diào)用舵機(jī)庫(kù)文件,其調(diào)用語(yǔ)句為#in-clude,該庫(kù)文件是A rduino 1DE中自帶的針對(duì)舵機(jī)使用的庫(kù)文件,該庫(kù)文件中包含的函數(shù)可以使舵機(jī)的使用更加簡(jiǎn)易快捷。本機(jī)械人編程所使用到的函數(shù)如下:

        1)Servo.attach():該函數(shù)的參數(shù)有(pin,min,max),pin參數(shù)設(shè)置舵機(jī)對(duì)應(yīng)在上位機(jī)上連接的pwm端,Arduino UNO上的pwm端口為3、5、6、9、10、11。min、max(可選,默認(rèn)min為544,max為2400)參數(shù)設(shè)置舵機(jī)舵機(jī)最小、最大角度時(shí)的脈沖寬度,以微秒為單位。

        2)Servo.write ():控制舵機(jī)轉(zhuǎn)動(dòng)到對(duì)應(yīng)角度,范圍為0~180。

        3J Servo.read():讀取舵機(jī)當(dāng)前對(duì)應(yīng)的角度值,范圍為0~180。

        4)sutup();loop():這兩個(gè)函數(shù)為Arduino IDE中的兩個(gè)重要默認(rèn)函數(shù),setup()函數(shù)會(huì)在上位機(jī)每次啟動(dòng)時(shí)自動(dòng)運(yùn)行一次,本套程序中是在此函數(shù)里設(shè)置舵機(jī)的對(duì)應(yīng)連接端口,以及對(duì)舵機(jī)的角度初始化,loop()函數(shù)會(huì)在上位機(jī)啟動(dòng)后循環(huán)運(yùn)行,本套函數(shù)中是在此函數(shù)里寫入機(jī)器人的動(dòng)作運(yùn)行代碼,以達(dá)到機(jī)器人不斷地執(zhí)行舞獅動(dòng)作的目的。

        圳本程序中是以for(pos=0;pos<=speed;pos++),{servo.write(int(map(pos,1,speed,a,b)));}的組合形式運(yùn)用這兩個(gè)函數(shù)來控制舵機(jī)的轉(zhuǎn)動(dòng)速度以及舵機(jī)的始末角度。speed為舵機(jī)轉(zhuǎn)動(dòng)速度控制值,實(shí)際上此組合函數(shù)是控制for()函數(shù)的循環(huán)次數(shù)來控制舵機(jī)從始位置轉(zhuǎn)到末位置的時(shí)間,進(jìn)而控制舵機(jī)轉(zhuǎn)動(dòng)速度,因此speed實(shí)質(zhì)為for()函數(shù)的循環(huán)次數(shù)。a為舵機(jī)的始角度值,b為末角度值,map()函數(shù)的功能是控制servo.write()中的值隨循環(huán)次數(shù)的遞增從a變化到b,即舵機(jī)從a角度轉(zhuǎn)到b角度。

        6)delay():此函數(shù)為延時(shí)函數(shù),由函數(shù)內(nèi)的整數(shù)值決定延遲時(shí)間,單位為一,函數(shù)作為動(dòng)作函數(shù)之間的緩沖,能讓舵機(jī)在上個(gè)動(dòng)作完成時(shí)得到一定的穩(wěn)定時(shí)間,以免舵機(jī)在不停歇的工作中損壞。

        2.2舞獅動(dòng)作說明

        1)初始狀態(tài):本程序中設(shè)置舵機(jī)A、B、C、D、E、F分別對(duì)應(yīng)端口3、5、6、9、10、11。首先需要給機(jī)器人設(shè)置靜止?fàn)顟B(tài)時(shí)每個(gè)舵機(jī)的角度,考慮到舞獅動(dòng)作的美觀性,我們?cè)O(shè)置舵機(jī)A、B、C、D、E、F的靜止時(shí)角度分別為80、140、10、90、170、90。

        2)獅子點(diǎn)頭動(dòng)作:主要由E舵機(jī)來實(shí)現(xiàn),舵機(jī)轉(zhuǎn)動(dòng)范圍在150到170之間,每個(gè)點(diǎn)頭動(dòng)作完成后延時(shí)300ms,換句話說,就是每個(gè)點(diǎn)頭動(dòng)作之間間隔為300ms。

        3)獅子搖頭動(dòng)作:主要由F舵機(jī)來實(shí)現(xiàn),F(xiàn)舵機(jī)從靜止?fàn)顟B(tài)時(shí)的90度轉(zhuǎn)動(dòng)到45度,再?gòu)?5度轉(zhuǎn)動(dòng)到135度,繼而從135度轉(zhuǎn)動(dòng)到90度,完成一個(gè)搖頭動(dòng)作,每次舵機(jī)轉(zhuǎn)動(dòng),延時(shí)200ms,實(shí)現(xiàn)了獅子三次搖頭動(dòng)作。

        4)獅子搖身動(dòng)作:主要是由D舵機(jī)來實(shí)現(xiàn),舵機(jī)由靜止?fàn)顟B(tài)時(shí)的90度轉(zhuǎn)動(dòng)到110,然后轉(zhuǎn)動(dòng)到70度,繼而回到靜止?fàn)顟B(tài)時(shí)的90度,每一次舵機(jī)轉(zhuǎn)動(dòng),延時(shí)200ms,實(shí)現(xiàn)了獅子三次搖身動(dòng)作。

        5)獅子連貫綜合動(dòng)作:獅子完成了點(diǎn)頭,搖頭和搖身三個(gè)動(dòng)作之后,開始站立,在高處動(dòng)作。實(shí)現(xiàn)獅子站立的是B舵機(jī),B舵機(jī)由靜止?fàn)顟B(tài)時(shí)的90度轉(zhuǎn)動(dòng)到120度,實(shí)現(xiàn)站立,并且在高處重復(fù)點(diǎn)頭,搖頭,搖身等動(dòng)作。動(dòng)作完之后,獅子可以繼續(xù)站立,站得更高,由B舵機(jī)實(shí)現(xiàn)獅子站立得更高。B舵機(jī)由原來的120度繼續(xù)站立到90度,之后舵機(jī)延時(shí)300ms。獅子站高之后可以做低頭轉(zhuǎn)身動(dòng)作,低頭轉(zhuǎn)身動(dòng)作由A舵機(jī)和C舵機(jī)共同實(shí)現(xiàn)。首先獅子低頭,由C舵機(jī)來完成,C舵機(jī)從10度轉(zhuǎn)動(dòng)到70度,之后舵機(jī)延時(shí)250ms。低頭后轉(zhuǎn)身,A舵機(jī)主要是實(shí)現(xiàn)轉(zhuǎn)身,由80度轉(zhuǎn)動(dòng)到40度,獅子動(dòng)作到左邊方向,之后舵機(jī)延時(shí)250ms。獅子轉(zhuǎn)過身之后,在此方向舞動(dòng),重復(fù)上面的搖頭、轉(zhuǎn)身動(dòng)作。在左下方舞動(dòng)完之后,獅子站立,C舵機(jī)回到10度,轉(zhuǎn)身,A舵機(jī)回到80度,在此方向繼續(xù)做點(diǎn)頭、搖頭、搖身動(dòng)作。同樣的,獅子低頭轉(zhuǎn)身到右下方,繼續(xù)舞動(dòng),在此不再詳述。

        實(shí)際上,在這套舞獅編程中,我們?cè)O(shè)置了機(jī)器人有三個(gè)模式,分別為靜止模式,計(jì)算機(jī)控制模式和自動(dòng)運(yùn)行模式。在編寫動(dòng)作時(shí),我們主要采用計(jì)算機(jī)控制模式來編寫,觀察機(jī)器人舞動(dòng)時(shí)舵機(jī)應(yīng)設(shè)定的最佳角度,確定下來并完成一整套編程。值得注意的是,獅子頭的安裝位置會(huì)影響?yīng){子舞動(dòng)時(shí)每個(gè)舵機(jī)應(yīng)該設(shè)置的角度,不同的獅子頭安裝位置會(huì)對(duì)應(yīng)不同的角度,在設(shè)置舞獅動(dòng)作的速度時(shí),我們應(yīng)避免速度設(shè)置得過快,防止舵機(jī)燒壞。

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

        本文研究了基于Arduino平臺(tái)的六軸舞獅機(jī)器人,這臺(tái)機(jī)器人體型較小,便于攜帶。實(shí)踐證明,本機(jī)器人在迎賓和一些小型慶祝會(huì)上能帶來很好的喜慶氣氛,也得到觀眾們的肯定。今后將研究六軸以上和實(shí)現(xiàn)可以自動(dòng)行走的舞獅機(jī)器人。

        猜你喜歡
        舞獅機(jī)器人
        迷宮彎彎繞
        舞龍舞獅進(jìn)校園
        舞獅
        西江月(2017年4期)2017-11-22 07:24:16
        機(jī)器人來幫你
        認(rèn)識(shí)機(jī)器人
        機(jī)器人來啦
        認(rèn)識(shí)機(jī)器人
        喜氣洋洋過大年 舞獅歡樂慶新春
        亚洲V日韩V精品v无码专区小说| 国产精品一区二区日本| 无码人妻精品一区二区三| 久久精品国产亚洲av高清漫画 | 亚洲国产精品区在线观看| 国内精品伊人久久久久网站| 国产精品一区二区 尿失禁| 久久精品国产久精国产69| 少妇被粗大的猛进69视频| 成熟丰满熟妇av无码区| 亚洲色自偷自拍另类小说| av天堂线上| 日韩精品极品系列在线免费视频 | av无码精品一区二区乱子| 亚洲另类国产精品中文字幕| 欧美黑人巨大videos精品| 无码人妻精品一区二区三区下载 | 久久久久人妻精品一区5555| 久久夜色精品国产噜噜噜亚洲av| 亚洲av综合av一区| 亚洲性无码av在线| 女同性恋亚洲一区二区| 我要看免费久久99片黄色 | 亚洲 小说区 图片区 都市| 亚洲熟少妇在线播放999| 亚洲AV秘 无码一区二区三| 蜜臀av在线一区二区尤物| 国产三级av在线播放| 日韩国产精品一区二区Hd| 色青青女同性恋视频日本熟女| 熟女一区二区三区在线观看| 色婷婷综合久久久久中文| 在线观看日本一区二区| 日本一区二区三区女优在线| 精品亚洲成a人无码成a在线观看| 一级免费毛片| 女同同成片av免费观看| 天天做天天爱夜夜爽女人爽| 中文字幕亚洲无线码| 日本一级淫片免费啪啪| 久久精品一区午夜视频|