欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種總線舵機(jī)及其控制裝置、控制系統(tǒng)和控制方法與流程

文檔序號(hào):11619967閱讀:806來源:國(guó)知局
一種總線舵機(jī)及其控制裝置、控制系統(tǒng)和控制方法與流程

本發(fā)明涉及舵機(jī)技術(shù)領(lǐng)域,特別涉及一種總線舵機(jī)及其控制裝置、控制系統(tǒng)和控制方法。



背景技術(shù):

串口總線舵機(jī)因其所具有的布線簡(jiǎn)單、具有反饋等優(yōu)點(diǎn),被廣泛應(yīng)用在許多產(chǎn)品中,例如,機(jī)器人產(chǎn)品。目前,所使用的總線舵機(jī)的控制方式為:用一個(gè)串口給總線發(fā)送一條指令,該條指令中包含于每個(gè)舵機(jī)的識(shí)別號(hào)id以及對(duì)應(yīng)的指令信息。例如,若某一指令具體為舵機(jī)id0,轉(zhuǎn)20度;舵機(jī)id1轉(zhuǎn)30度,舵機(jī)id2休息……,將該指令轉(zhuǎn)換成最簡(jiǎn)單的數(shù)據(jù)發(fā)送格式為:0020013002xx…(空格只是為了方便閱讀,實(shí)際指令中不包括空格)。總線舵機(jī)中的每個(gè)舵機(jī)會(huì)根據(jù)該指令完成相應(yīng)的動(dòng)作。但是,一個(gè)串口的通信速率有限,對(duì)于總線舵機(jī)中的舵機(jī)數(shù)量較多的情況來說,發(fā)送的指令數(shù)據(jù)的長(zhǎng)度較長(zhǎng),消耗的時(shí)間較長(zhǎng),會(huì)導(dǎo)致指令執(zhí)行的滯后,影響運(yùn)動(dòng)效果,進(jìn)而影響用戶體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

鑒于現(xiàn)有技術(shù)中指令數(shù)據(jù)的發(fā)送消耗的時(shí)間較長(zhǎng),會(huì)導(dǎo)致指令執(zhí)行的滯后,影響運(yùn)動(dòng)效果,進(jìn)而影響用戶體驗(yàn)的問題,提出了本發(fā)明的一種總線舵機(jī)及其控制裝置、控制系統(tǒng)和控制方法,以便解決或至少部分地解決上述問題。

根據(jù)本發(fā)明的一個(gè)方面,提供了一種總線舵機(jī)的控制裝置,控制端為所述總線舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id,并使用串口向所述總線舵機(jī)發(fā)送指令數(shù)據(jù),所述指令數(shù)據(jù)包括與所述總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù);所述控制裝置設(shè)置在總線舵機(jī)中的每個(gè)舵機(jī)中,包括:

位置信息確定模塊,用于根據(jù)自身配置的識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定所述舵機(jī)需要讀取所述指令數(shù)據(jù)的位置信息;

讀取模塊,用于當(dāng)接收到所述控制端發(fā)送的一條指令數(shù)據(jù)時(shí),根據(jù)所述位置信息從所述指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù);

控制模塊,用于根據(jù)所述讀取模塊讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。

根據(jù)本發(fā)明的另一個(gè)方面,提供了一種總線舵機(jī),所述總線舵機(jī)包括一個(gè)或多個(gè)舵機(jī),每個(gè)舵機(jī)包括前述的控制裝置。

根據(jù)本發(fā)明的又一個(gè)方面,提供了一種總線舵機(jī)的控制系統(tǒng),所述控制系統(tǒng)包括總線舵機(jī)和控制端;所述總線舵機(jī)包括一個(gè)或多個(gè)舵機(jī);

所述控制端,用于為所述總線舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id;以及,使用串口向所述總線舵機(jī)發(fā)送指令數(shù)據(jù),所述指令數(shù)據(jù)包括與所述總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù);

所述總線舵機(jī)中的每個(gè)舵機(jī),用于根據(jù)自身配置的所述識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定需要讀取所述指令數(shù)據(jù)的位置信息;當(dāng)接收到所述控制端發(fā)送的一條指令數(shù)據(jù)時(shí),根據(jù)所述位置信息從所述指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù),根據(jù)讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。

根據(jù)本發(fā)明的再一個(gè)方面,提供了一種總線舵機(jī)的控制方法,控制端為所述總線舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id,并使用串口向所述總線舵機(jī)發(fā)送指令數(shù)據(jù),所述指令數(shù)據(jù)包括與所述總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù);所述方法包括:

對(duì)于總線舵機(jī)中的每個(gè)舵機(jī),根據(jù)自身配置的所述識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定需要讀取所述指令數(shù)據(jù)的位置信息;

當(dāng)接收到所述控制端發(fā)送的一條指令數(shù)據(jù)時(shí),根據(jù)所述位置信息從所述指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù);

根據(jù)讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。

綜上所述,本發(fā)明技術(shù)方案中,控制端會(huì)為總線舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id,并使用串口向總線舵機(jī)發(fā)送指令數(shù)據(jù),這里的指令數(shù)據(jù)只包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù);而每個(gè)舵機(jī)會(huì)根據(jù)自身配置的識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定需要讀取指令數(shù)據(jù)的位置信息;當(dāng)接收到控制端發(fā)送的一條指令數(shù)據(jù)時(shí),根據(jù)確定的位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù);然后根據(jù)讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。由于指令數(shù)據(jù)中只需包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù)即可,不需要再包括每個(gè)舵機(jī)的識(shí)別號(hào)id,相比較現(xiàn)有技術(shù)而言,指令數(shù)據(jù)的長(zhǎng)度大大減少,指令數(shù)據(jù)的發(fā)送消耗的時(shí)間減少,通訊效率提高,使得每個(gè)舵機(jī)能夠及時(shí)執(zhí)行相應(yīng)動(dòng)作,保證運(yùn)動(dòng)效果,進(jìn)而增強(qiáng)用戶體驗(yàn)。

附圖說明

圖1為本發(fā)明實(shí)施例一提供的一種總線舵機(jī)的控制裝置的結(jié)構(gòu)示意圖;

圖2為本發(fā)明實(shí)施例二提供的一種總線舵機(jī)的結(jié)構(gòu)示意圖;

圖3為本發(fā)明實(shí)施例三提供的一種總線舵機(jī)的控制系統(tǒng)的結(jié)構(gòu)示意圖;

圖4為本發(fā)明實(shí)施例四提供的一種總線舵機(jī)的控制方法的流程示意圖;

圖5為本發(fā)明實(shí)施例五提供的一種總線舵機(jī)的控制流程示意圖。

具體實(shí)施方式

本發(fā)明的設(shè)計(jì)思路是:為減少指令數(shù)據(jù)的長(zhǎng)度,控制端會(huì)為總線舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id,并使用串口向總線舵機(jī)發(fā)送指令數(shù)據(jù);而每個(gè)舵機(jī)會(huì)根據(jù)自身配置的識(shí)別號(hào)id,確定需要讀取指令數(shù)據(jù)的位置信息;然后只需要根據(jù)確定出的位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù);再根據(jù)讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。由于指令數(shù)據(jù)中只需包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù)即可,不需要再包括每個(gè)舵機(jī)的識(shí)別號(hào)id,指令數(shù)據(jù)的長(zhǎng)度大大減少。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。

實(shí)施例一

控制端為總線舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id,并使用串口向總線舵機(jī)發(fā)送指令數(shù)據(jù),指令數(shù)據(jù)包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù)。

例如,總線舵機(jī)中包括5個(gè)舵機(jī),這5個(gè)舵機(jī)的識(shí)別號(hào)id分別為id00、id01、id02、id03、id04。則指令數(shù)據(jù)中就包括分別與id00、id01、id02、id03、id04對(duì)應(yīng)的指令數(shù)據(jù)。

圖1為本發(fā)明實(shí)施例一提供的一種總線舵機(jī)的控制裝置的結(jié)構(gòu)示意圖,該總線舵機(jī)的控制裝置設(shè)置在總線舵機(jī)中的每個(gè)舵機(jī)中。如圖1所示,該總線舵機(jī)的控制裝置100包括:

位置信息確定模塊110,用于根據(jù)自身配置的識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定需要讀取指令數(shù)據(jù)的位置信息。

讀取模塊120,用于當(dāng)接收到控制端發(fā)送的一條指令數(shù)據(jù)時(shí),根據(jù)位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù)。

控制模塊130,用于根據(jù)讀取模塊120讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。

由于每個(gè)舵機(jī)都會(huì)根據(jù)位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù),則指令數(shù)據(jù)中只需包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù)即可,不需要再包括每個(gè)舵機(jī)的識(shí)別號(hào)id,例如,該指令數(shù)據(jù)的數(shù)據(jù)格式可以是“1020304050”,而不是“00100120023003400450”。相比較現(xiàn)有技術(shù)而言,指令數(shù)據(jù)的長(zhǎng)度大大減少,指令數(shù)據(jù)的發(fā)送消耗的時(shí)間減少,通訊效率提高,使得每個(gè)舵機(jī)能夠及時(shí)執(zhí)行相應(yīng)動(dòng)作,保證運(yùn)動(dòng)效果,進(jìn)而增強(qiáng)用戶體驗(yàn)。

下面針對(duì)如何確定舵機(jī)需要讀取指令數(shù)據(jù)的位置信息進(jìn)行詳細(xì)說明。

如果控制端設(shè)定指令數(shù)據(jù)按照對(duì)應(yīng)的每個(gè)舵機(jī)的識(shí)別號(hào)id的從小到大的順序排列,例如,總線舵機(jī)中包括5個(gè)舵機(jī),這5個(gè)舵機(jī)的識(shí)別號(hào)id分別為id00、id02、id03、id05、id06??刂贫税l(fā)送的指令數(shù)據(jù)就是按照舵機(jī)id的大小順序排列的,則每個(gè)舵機(jī)就可以根據(jù)自身的id確定指令數(shù)據(jù)中對(duì)應(yīng)自身的指令數(shù)據(jù)。

那么位置信息確定模塊110,具體用于確定每個(gè)舵機(jī)的指令數(shù)據(jù)占用的字節(jié)數(shù);根據(jù)識(shí)別號(hào)id以及字節(jié)數(shù)確定需要讀取指令數(shù)據(jù)的位置信息為:指令數(shù)據(jù)中的第n段字節(jié)段;其中,每段字節(jié)段包含字節(jié)數(shù)個(gè)字節(jié),n表示舵機(jī)的識(shí)別號(hào)id的大小在總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)的從小到大的排列中排列第n位。

在上述例子中,5個(gè)舵機(jī)的識(shí)別號(hào)id分別為id00、id02、id03、id05、id06。確定每個(gè)舵機(jī)的指令數(shù)據(jù)占用的字節(jié)數(shù)為3,那么指令數(shù)據(jù)的格式為:aaabbbcccdddeee(這里的字母沒有具體意義或者可代表對(duì)應(yīng)每個(gè)舵機(jī)的指令數(shù)據(jù)),這個(gè)指令數(shù)據(jù)可根據(jù)每個(gè)舵機(jī)的指令數(shù)據(jù)占用的字節(jié)數(shù)3,被分割為5段字節(jié)段,分別是aaa、bbb、ccc、ddd、eee。如果要確定id03舵機(jī)需要讀取指令數(shù)據(jù)的位置信息,判斷id3在所有的舵機(jī)中的從小到大的排列中排列第3位,那么就確定該舵機(jī)讀取指令數(shù)據(jù)的位置信息為指令數(shù)據(jù)中的第3段字節(jié)段。每接收到控制端發(fā)送的一條指令數(shù)據(jù),該id03舵機(jī)只需讀取第3段字節(jié)段即可。

進(jìn)一步地,如果控制端設(shè)定指令數(shù)據(jù)的初始位為0,并將總線舵機(jī)中的舵機(jī)的識(shí)別號(hào)id從0開始按從小到大的順序依次配置;例如,總線舵機(jī)中包括5個(gè)舵機(jī),這5個(gè)舵機(jī)的識(shí)別號(hào)id分別為id00、id01、id02、id03、id04。

那么位置信息確定模塊110,具體用于根據(jù)識(shí)別號(hào)id以及字節(jié)數(shù)確定需要讀取指令數(shù)據(jù)的位置信息為:指令數(shù)據(jù)中的第(id*字節(jié)數(shù))位的字節(jié)至第(id*字節(jié)數(shù)+字節(jié)數(shù)-1)位的字節(jié)。

一般情況下,舵機(jī)的指令數(shù)據(jù)為角度數(shù)據(jù),則占用的字節(jié)數(shù)為2個(gè)字節(jié),所以本實(shí)施例的一個(gè)具體例子就是:根據(jù)識(shí)別號(hào)id以及字節(jié)數(shù)確定舵機(jī)需要讀取指令數(shù)據(jù)的位置信息為:指令數(shù)據(jù)中的第(id*2)位的字節(jié)和第(id*2+1)位的字節(jié)。

例如,id03的舵機(jī)讀取指令數(shù)據(jù)的位置為:指令數(shù)據(jù)中的第6、7位。當(dāng)接收到控制端發(fā)送的指令數(shù)據(jù)“1020304050”后,該id03舵機(jī)只需讀取指令數(shù)據(jù)的第6位和第7為字節(jié)“40”的數(shù)據(jù),然后根據(jù)該“40”的指令轉(zhuǎn)動(dòng)40度即可。

實(shí)施例二

圖2為本發(fā)明實(shí)施例二提供的一種總線舵機(jī)的結(jié)構(gòu)示意圖。如圖2所示,該總線舵機(jī)包括舵機(jī)210、舵機(jī)220、舵機(jī)230、舵機(jī)240、舵機(jī)250,分別與串口總線連接。每個(gè)舵機(jī)包括如圖1所示的控制裝置100。

需要說明的是,這里總線舵機(jī)中的舵機(jī)個(gè)數(shù)不限于5個(gè),可以根據(jù)需要設(shè)定。

實(shí)施例三

圖3為本發(fā)明實(shí)施例三提供的一種總線舵機(jī)的控制系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示,該總線舵機(jī)的控制系統(tǒng)包括總線舵機(jī)310和控制端320;總線舵機(jī)310包括一個(gè)或多個(gè)舵機(jī)。

控制端320,用于為總線舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id;以及,使用串口向總線舵機(jī)發(fā)送指令數(shù)據(jù),指令數(shù)據(jù)包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù)。例如,總線舵機(jī)中包括5個(gè)舵機(jī),這5個(gè)舵機(jī)的識(shí)別號(hào)id分別為id00、id01、id02、id03、id04。則指令數(shù)據(jù)中就包括分別與id00、id01、id02、id03、id04對(duì)應(yīng)的指令數(shù)據(jù)。

總線舵機(jī)310中的每個(gè)舵機(jī),用于根據(jù)自身配置的識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定需要讀取指令數(shù)據(jù)的位置信息;當(dāng)接收到控制端發(fā)送的一條指令數(shù)據(jù)時(shí),根據(jù)位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù),根據(jù)讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。

由于每個(gè)舵機(jī)都會(huì)根據(jù)位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù),則指令數(shù)據(jù)中只需包括與所述總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù)即可,不需要再包括每個(gè)舵機(jī)的識(shí)別號(hào)id,例如,該指令數(shù)據(jù)的數(shù)據(jù)格式可以是“1020304050”,而不是“00100120023003400450”。相比較現(xiàn)有技術(shù)而言,指令數(shù)據(jù)的長(zhǎng)度大大減少,指令數(shù)據(jù)的發(fā)送消耗的時(shí)間減少,通訊效率提高,使得每個(gè)舵機(jī)能夠及時(shí)執(zhí)行相應(yīng)動(dòng)作,保證運(yùn)動(dòng)效果,進(jìn)而增強(qiáng)用戶體驗(yàn)。

具體地,控制端320,還用于設(shè)定指令數(shù)據(jù)按照對(duì)應(yīng)的每個(gè)舵機(jī)的識(shí)別號(hào)id的從小到大的順序排列,例如,總線舵機(jī)中包括5個(gè)舵機(jī),這5個(gè)舵機(jī)的識(shí)別號(hào)id分別為id00、id02、id03、id05、id06??刂贫税l(fā)送的指令數(shù)據(jù)就是按照舵機(jī)id的大小順序排列的,則每個(gè)舵機(jī)就可以根據(jù)自身的id確定指令數(shù)據(jù)中對(duì)應(yīng)自身的指令數(shù)據(jù)。

總線舵機(jī)310中的每個(gè)舵機(jī),具體用于確定自身的指令數(shù)據(jù)占用的字節(jié)數(shù);根據(jù)自身配置的識(shí)別號(hào)id以及字節(jié)數(shù)確定需要讀取指令數(shù)據(jù)的位置信息為:指令數(shù)據(jù)中的第n段字節(jié)段;其中,每段字節(jié)段包含字節(jié)數(shù)個(gè)字節(jié),n表示自身配置的識(shí)別號(hào)id的大小在總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id的從小到大的排列中排列第n位。

在上述例子中,5個(gè)舵機(jī)的識(shí)別號(hào)id分別為id00、id02、id03、id05、id06。確定每個(gè)舵機(jī)的指令數(shù)據(jù)占用的字節(jié)數(shù)為3,那么指令數(shù)據(jù)的格式為:aaabbbcccdddeee(這里的字母沒有具體意義或者可代表對(duì)應(yīng)每個(gè)舵機(jī)的指令數(shù)據(jù)),這個(gè)指令數(shù)據(jù)可根據(jù)每個(gè)舵機(jī)的指令數(shù)據(jù)占用的字節(jié)數(shù)3,被分割為5段字節(jié)段,分別是aaa、bbb、ccc、ddd、eee。如果要確定id03舵機(jī)需要讀取指令數(shù)據(jù)的位置信息,判斷id3在所有的舵機(jī)中的從小到大的排列中排列第3位,那么就確定該舵機(jī)讀取指令數(shù)據(jù)的位置信息為指令數(shù)據(jù)中的第3段字節(jié)段。每接收到控制端發(fā)送的一條指令數(shù)據(jù),該id03舵機(jī)只需讀取第3段字節(jié)段即可。

進(jìn)一步地,控制端320,還用于設(shè)定指令數(shù)據(jù)的初始位為0;以及,將總線舵機(jī)中的舵機(jī)的識(shí)別號(hào)id從0開始按從小到大的順序依次配置;例如,總線舵機(jī)中包括5個(gè)舵機(jī),這5個(gè)舵機(jī)的識(shí)別號(hào)id分別為id00、id01、id02、id03、id04。

總線舵機(jī)310中的每個(gè)舵機(jī),具體用于根據(jù)識(shí)別號(hào)id以及字節(jié)數(shù)確定需要讀取指令數(shù)據(jù)的位置信息為:指令數(shù)據(jù)中的第(id*字節(jié)數(shù))位的字節(jié)至第(id*字節(jié)數(shù)+字節(jié)數(shù)-1)位的字節(jié)。

一般情況下,舵機(jī)的指令數(shù)據(jù)為角度數(shù)據(jù),則占用的字節(jié)數(shù)為2個(gè)字節(jié),所以本實(shí)施例的一個(gè)具體例子就是:根據(jù)識(shí)別號(hào)id以及字節(jié)數(shù)確定舵機(jī)需要讀取指令數(shù)據(jù)的位置信息為:指令數(shù)據(jù)中的第(id*2)位的字節(jié)和第(id*2+1)位的字節(jié)。

例如,id03的舵機(jī)讀取指令數(shù)據(jù)的位置為:指令數(shù)據(jù)中的第6、7位。當(dāng)接收到控制端發(fā)送的一條指令數(shù)據(jù)“1020304050”后,該id03舵機(jī)只需讀取指令數(shù)據(jù)的第6位和第7為字節(jié)“40”的數(shù)據(jù),然后根據(jù)該“40”的指令轉(zhuǎn)動(dòng)40度即可。

實(shí)施例四

圖4為本發(fā)明實(shí)施例四提供的一種總線舵機(jī)的控制方法的流程示意圖??刂贫藶榭偩€舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id,并使用串口向總線舵機(jī)發(fā)送指令數(shù)據(jù),指令數(shù)據(jù)包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù);如圖4所示,該方法包括:

步驟s110,對(duì)于總線舵機(jī)中的每個(gè)舵機(jī),根據(jù)自身配置的識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定需要讀取指令數(shù)據(jù)的位置信息。

步驟s120,當(dāng)接收到控制端發(fā)送的一條指令數(shù)據(jù)時(shí),根據(jù)位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù)。

步驟s130,根據(jù)讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。

具體地,控制端設(shè)定指令數(shù)據(jù)按照對(duì)應(yīng)的每個(gè)舵機(jī)的識(shí)別號(hào)id的從小到大的順序排列。

則步驟s110中的根據(jù)自身配置的識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定需要讀取指令數(shù)據(jù)的位置信息包括:確定每個(gè)舵機(jī)的指令數(shù)據(jù)占用的字節(jié)數(shù);根據(jù)識(shí)別號(hào)id以及字節(jié)數(shù)確定需要讀取指令數(shù)據(jù)的位置信息為:指令數(shù)據(jù)中的第n段字節(jié)段;其中,每段字節(jié)段包含字節(jié)數(shù)個(gè)字節(jié),n表示舵機(jī)的識(shí)別號(hào)id的大小在總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)的從小到大的排列中排列第n位。

進(jìn)一步地,控制端設(shè)定指令數(shù)據(jù)的初始位為0,并將總線舵機(jī)中的舵機(jī)的識(shí)別號(hào)id從0開始按從小到大的順序依次配置;

則步驟s110中的根據(jù)識(shí)別號(hào)id以及字節(jié)數(shù)確定需要讀取指令數(shù)據(jù)的位置信息具體為:指令數(shù)據(jù)中的第(id*字節(jié)數(shù))位的字節(jié)至第(id*字節(jié)數(shù)+字節(jié)數(shù)-1)位的字節(jié)。

需要說明的是,圖4所示方法的各實(shí)施例與圖1所示裝置的各實(shí)施例對(duì)應(yīng)相同,上文已有詳細(xì)說明,在此不再贅述。

實(shí)施例五

圖5為本發(fā)明實(shí)施例五提供的一種總線舵機(jī)的工作流程示意圖。以機(jī)器人為例,按照機(jī)器人有18個(gè)關(guān)節(jié)自由度來計(jì)算,總線舵機(jī)中會(huì)包括18個(gè)舵機(jī),分別是id00、id01、id02、…、id17。線需要發(fā)送的指令數(shù)據(jù)是使舵機(jī)id00,轉(zhuǎn)20度;舵機(jī)id01轉(zhuǎn)30度,舵機(jī)id02休息……,id17轉(zhuǎn)60°,則指令數(shù)據(jù)的格式為“2030xx……60”,串口的波特率為9600。如圖5所示,總線舵機(jī)的工作流程為:

控制端為每個(gè)舵機(jī)配置一個(gè)識(shí)別號(hào)id。舵機(jī)id00確定自身接收數(shù)據(jù)時(shí)讀取指令數(shù)據(jù)的位置信息為第0、1位,舵機(jī)id01確定自身接收數(shù)據(jù)時(shí)讀取指令數(shù)據(jù)的位置信息為第2、3位,舵機(jī)id02確定自身接收數(shù)據(jù)時(shí)讀取指令數(shù)據(jù)的位置信息為第4、5位,…,舵機(jī)id17確定自身接收數(shù)據(jù)時(shí)讀取指令數(shù)據(jù)的位置信息為第34、35位。當(dāng)接收到指令數(shù)據(jù)“2030xx……60”后,舵機(jī)id00讀取指令數(shù)據(jù)“20”,轉(zhuǎn)20度;舵機(jī)id01讀取指令數(shù)據(jù)“30”,轉(zhuǎn)30度;舵機(jī)id02讀取指令數(shù)據(jù)“xx”,休息;…;舵機(jī)id17讀取指令數(shù)據(jù)“60”,轉(zhuǎn)60度,該通信時(shí)間為288ms。相比較發(fā)送“0020012002xx…1760”指令數(shù)據(jù)消耗的576ms的時(shí)間,節(jié)省了時(shí)間288ms,提高了通信效率,使得每個(gè)舵機(jī)能夠及時(shí)執(zhí)行相應(yīng)動(dòng)作,保證運(yùn)動(dòng)效果,進(jìn)而增強(qiáng)用戶體驗(yàn)。

綜上所述,本發(fā)明技術(shù)方案中,控制端會(huì)為總線舵機(jī)中的每個(gè)舵機(jī)配置一識(shí)別號(hào)id,并使用串口向總線舵機(jī)發(fā)送指令數(shù)據(jù),這里的指令數(shù)據(jù)只包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù);而每個(gè)舵機(jī)會(huì)根據(jù)自身配置的識(shí)別號(hào)id,對(duì)接收的指令數(shù)據(jù)確定需要讀取指令數(shù)據(jù)的位置信息;當(dāng)接收到控制端發(fā)送的一條指令數(shù)據(jù)時(shí),根據(jù)確定的位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與自身配置的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù);然后根據(jù)讀取的指令數(shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作。由于每個(gè)舵機(jī)都會(huì)根據(jù)位置信息從指令數(shù)據(jù)的相應(yīng)位置讀取與舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的指令數(shù)據(jù),則指令數(shù)據(jù)中只需包括與總線舵機(jī)中所有舵機(jī)的識(shí)別號(hào)id對(duì)應(yīng)的所有指令數(shù)據(jù)即可,不需要再包括每個(gè)舵機(jī)的識(shí)別號(hào)id,相比較現(xiàn)有技術(shù)而言,指令數(shù)據(jù)的長(zhǎng)度大大減少,指令數(shù)據(jù)的發(fā)送消耗的時(shí)間減少,通訊效率提高,使得每個(gè)舵機(jī)能夠及時(shí)執(zhí)行相應(yīng)動(dòng)作,保證運(yùn)動(dòng)效果,進(jìn)而增強(qiáng)用戶體驗(yàn)。

以上所述,僅為本發(fā)明的具體實(shí)施方式,在本發(fā)明的上述教導(dǎo)下,本領(lǐng)域技術(shù)人員可以在上述實(shí)施例的基礎(chǔ)上進(jìn)行其他的改進(jìn)或變形。本領(lǐng)域技術(shù)人員應(yīng)該明白,上述的具體描述只是更好的解釋本發(fā)明的目的,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
聂拉木县| 天祝| 虹口区| 伊春市| 钟祥市| 阿勒泰市| 祁连县| 精河县| 沅陵县| 泾川县| 安康市| 宁城县| 罗甸县| 边坝县| 华宁县| 麻栗坡县| 尼勒克县| 新河县| 应用必备| 山西省| 册亨县| 离岛区| 巫溪县| 扎赉特旗| 黄浦区| 广南县| 宁海县| 万宁市| 白银市| 嘉荫县| 霍山县| 崇信县| 泾川县| 南华县| 林周县| 溧水县| 庄浪县| 托克托县| 贵州省| 安岳县| 繁峙县|