本發(fā)明涉及電子信息、機(jī)械領(lǐng)域,具體為一種機(jī)器人頭部行程控制方法及其系統(tǒng)。
背景技術(shù):
機(jī)器人(Robot)是自動(dòng)執(zhí)行工作的機(jī)器裝置。它既可以接受人類指揮,又可以運(yùn)行預(yù)先編排的程序,也可以根據(jù)以人工智能技術(shù)制定的原則綱領(lǐng)行動(dòng)。它的任務(wù)是協(xié)助或取代人類工作的工作,例如生產(chǎn)業(yè)、建筑業(yè),或是危險(xiǎn)的工作。
現(xiàn)有的機(jī)器人在運(yùn)行時(shí),通常是通過(guò)步進(jìn)電機(jī)等執(zhí)行部件來(lái)執(zhí)行動(dòng)作命令的,包括行走,轉(zhuǎn)動(dòng)等動(dòng)作。由于科技的進(jìn)步,怎樣實(shí)現(xiàn)機(jī)器人擬人化,是一項(xiàng)較為困難的課題,特別是在機(jī)器人動(dòng)作執(zhí)行上擬人化。在機(jī)器人動(dòng)作執(zhí)行過(guò)程中,頭部動(dòng)作最難以實(shí)現(xiàn)擬人化的轉(zhuǎn)動(dòng),現(xiàn)有的機(jī)器人常常會(huì)出現(xiàn)卡頓、動(dòng)作呆滯等現(xiàn)象。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是:提供一種機(jī)器人頭部行程控制方法,能夠?qū)崿F(xiàn)機(jī)器人頭部的轉(zhuǎn)動(dòng)控制,實(shí)現(xiàn)角速度的平滑過(guò)渡,使機(jī)器人運(yùn)行平穩(wěn)流暢,達(dá)到模擬人體頭部動(dòng)作的效果。
實(shí)現(xiàn)上述目的的技術(shù)方案是:一種機(jī)器人頭部行程控制方法,包括以下步驟:
S1)獲取目的地的位置,計(jì)算出起始位置到所述目的地的位置的機(jī)器人頭部的總轉(zhuǎn)動(dòng)角度;
S2)根據(jù)所述總轉(zhuǎn)動(dòng)角度,分別定義加速轉(zhuǎn)動(dòng)角度、勻速轉(zhuǎn)動(dòng)角度、減速轉(zhuǎn)動(dòng)角度;
S3)接收轉(zhuǎn)動(dòng)指令,分別控制所述機(jī)器人頭部在所述加速轉(zhuǎn)動(dòng)角度、勻速轉(zhuǎn)動(dòng)角度、減速轉(zhuǎn)動(dòng)角度的轉(zhuǎn)動(dòng)過(guò)程中角速度的平滑過(guò)渡;
S4)接收停止轉(zhuǎn)動(dòng)指令,完成所述機(jī)器人頭部運(yùn)行。
所述步驟S3)包括以下步驟,
S31)在加速轉(zhuǎn)動(dòng)角度的轉(zhuǎn)動(dòng)過(guò)程中,控制所述機(jī)器人頭部以零角速度平緩加速到速度ω1;
S32)在勻速轉(zhuǎn)動(dòng)角度的轉(zhuǎn)動(dòng)過(guò)程中,控制所述機(jī)器人頭部以速度ω1勻速轉(zhuǎn)動(dòng);
S33)在減速轉(zhuǎn)動(dòng)角度的轉(zhuǎn)動(dòng)過(guò)程中,控制所述機(jī)器人頭部以速度ω1平滑減速。
在步驟S3)每一步驟中,及時(shí)獲取所述機(jī)器人頭部的實(shí)時(shí)轉(zhuǎn)動(dòng)角度,當(dāng)所述實(shí)時(shí)轉(zhuǎn)動(dòng)角度達(dá)到總轉(zhuǎn)動(dòng)角度或達(dá)到機(jī)器人頭部的極限轉(zhuǎn)動(dòng)角度后,執(zhí)行停止轉(zhuǎn)動(dòng)指令。
所述總轉(zhuǎn)動(dòng)角度包括水平方向總轉(zhuǎn)動(dòng)角度和/或豎直方向總轉(zhuǎn)動(dòng)角度。
所述總轉(zhuǎn)動(dòng)角度包括水平方向總轉(zhuǎn)動(dòng)角度和豎直方向總轉(zhuǎn)動(dòng)角度時(shí),在所述步驟S3)中,同時(shí)控制所述機(jī)器人頭部在水平方向和豎直方向轉(zhuǎn)動(dòng)。
所述水平方向總轉(zhuǎn)動(dòng)角度的范圍為:以正前方為原點(diǎn),向左和向右的極限轉(zhuǎn)動(dòng)角度為80°。
所述豎直方向總轉(zhuǎn)動(dòng)角度的范圍為:以正前方為原點(diǎn),豎直方向向上和向下的極限轉(zhuǎn)動(dòng)角度為30°。
本發(fā)明另一個(gè)目的在于:提供一種機(jī)器人頭部行程控制系統(tǒng)。
實(shí)現(xiàn)上述目的的技術(shù)方案是:一種機(jī)器人頭部行程控制系統(tǒng),包括
一執(zhí)行系統(tǒng),用于執(zhí)行機(jī)器人頭部的轉(zhuǎn)動(dòng);
一控制中心,用于獲取目的地的位置,計(jì)算出起始位置到所述目的地的位置的機(jī)器人頭部的總轉(zhuǎn)動(dòng)角度,以及,用于根據(jù)所述總轉(zhuǎn)動(dòng)角度,分別定義加速轉(zhuǎn)動(dòng)角度、勻速轉(zhuǎn)動(dòng)角度、減速轉(zhuǎn)動(dòng)角度,以及用于控制所述執(zhí)行系統(tǒng)。
所述執(zhí)行系統(tǒng)包括
一水平方向步進(jìn)電機(jī),用于控制所述機(jī)器人頭部在水平方向轉(zhuǎn)動(dòng);
一豎直方向步進(jìn)電機(jī),用于控制所述機(jī)器人頭部在豎直方向轉(zhuǎn)動(dòng);
至少一對(duì)絕對(duì)編碼器,分別安裝于所述水平方向步進(jìn)電機(jī)和豎直方向步進(jìn)電機(jī)的機(jī)軸上,用于獲取所述水平方向步進(jìn)電機(jī)和所述豎直方向步進(jìn)電機(jī)的機(jī)軸的變化的角速度,并將所述機(jī)軸的角速度傳遞至所述控制中心。
所述的機(jī)器人頭部行程控制系統(tǒng)還設(shè)有四個(gè)傳感器,設(shè)于所述機(jī)器人頭部的轉(zhuǎn)動(dòng)于極限轉(zhuǎn)動(dòng)角度處,所述傳感器用于所述機(jī)器人頭部的定位校準(zhǔn)和限位。
本發(fā)明的優(yōu)點(diǎn)是:本發(fā)明的機(jī)器人頭部行程控制方法極其系統(tǒng),能夠?qū)崿F(xiàn)機(jī)器人頭部的轉(zhuǎn)動(dòng)控制,實(shí)現(xiàn)角速度的平滑過(guò)渡,使機(jī)器人運(yùn)行平穩(wěn)流暢,達(dá)到模擬人體頭部動(dòng)作的效果,結(jié)構(gòu)簡(jiǎn)單,而且通過(guò)感應(yīng)器和絕對(duì)編碼器能夠?qū)崟r(shí)獲得機(jī)器人頭部轉(zhuǎn)動(dòng)情況,包括機(jī)器人頭部轉(zhuǎn)動(dòng)角度和轉(zhuǎn)動(dòng)速度,能夠?qū)C(jī)器人頭部轉(zhuǎn)動(dòng)進(jìn)行及時(shí)調(diào)整。
附圖說(shuō)明
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步解釋。
圖1是本發(fā)明實(shí)施例的機(jī)器人頭部行程控制系統(tǒng)模塊示意圖。
圖2是本發(fā)明實(shí)施例的機(jī)器人頭部行程控制方法步驟流程圖。
圖3是圖2中步驟3具體步驟流程圖。
圖4是本發(fā)明實(shí)施例的步進(jìn)電機(jī)轉(zhuǎn)動(dòng)角速度與時(shí)間變化曲線圖。
其中,
1 執(zhí)行系統(tǒng);2 控制中心;
11 水平方向步進(jìn)電機(jī);12 豎直方向步進(jìn)電機(jī);
13 絕對(duì)編碼器;14 傳感器。
具體實(shí)施方式
以下實(shí)施例的說(shuō)明是參考附加的圖式,用以例示本發(fā)明可用以實(shí)施的特定實(shí)施例。本發(fā)明所提到的方向用語(yǔ),例如「上」、「下」、「前」、「后」、「左」、「右」、「頂」、「底」等,僅是參考附加圖式的方向。因此,使用的方向用語(yǔ)是用以說(shuō)明及理解本發(fā)明,而非用以限制本發(fā)明。
實(shí)施例,如圖1所示,一種機(jī)器人頭部行程控制系統(tǒng),包括一執(zhí)行系統(tǒng)1、一控制中心2。
其中,執(zhí)行系統(tǒng)1信號(hào)或通過(guò)CAN總線連接于控制中心2,該執(zhí)行系統(tǒng)1用于執(zhí)行機(jī)器人頭部的轉(zhuǎn)動(dòng)。控制中心2用于獲取目的地的位置,計(jì)算出起始位置到所述目的地的位置的機(jī)器人頭部的總轉(zhuǎn)動(dòng)角度,以及,用于根據(jù)所述總轉(zhuǎn)動(dòng)角度,分別定義加速轉(zhuǎn)動(dòng)角度、勻速轉(zhuǎn)動(dòng)角度、減速轉(zhuǎn)動(dòng)角度,以及用于控制執(zhí)行系統(tǒng)1。
其中,控制中心2上設(shè)有輸入輸出接口,輸入接口包括多個(gè)絕對(duì)編碼器輸入接口、SPI口、CAN通信口、程序調(diào)試接口以及電源接口,其中,SPI口用于連接傳感器14。輸出接口包括多個(gè)電機(jī)輸出接口。該控制中心2裝載有用于控制該機(jī)器人行程的應(yīng)用程序。
具體的,該執(zhí)行系統(tǒng)1包括一水平方向步進(jìn)電機(jī)11、一豎直方向步進(jìn)電機(jī)12、至少一對(duì)絕對(duì)編碼器13以及四個(gè)傳感器14。
水平方向步進(jìn)電機(jī)11連接于控制中心2的對(duì)應(yīng)接口,該水平方向步進(jìn)電機(jī)11用于控制所述機(jī)器人頭部在水平方向轉(zhuǎn)動(dòng)。豎直方向步進(jìn)電機(jī)12連接于控制中心2的對(duì)應(yīng)接口,該豎直方向步進(jìn)電機(jī)12用于控制所述機(jī)器人頭部在豎直方向轉(zhuǎn)動(dòng)。
絕對(duì)編碼器13分別安裝于水平方向步進(jìn)電機(jī)11和豎直方向步進(jìn)電機(jī)12的機(jī)軸上,用于獲取所述水平方向步進(jìn)電機(jī)11和所述豎直方向步進(jìn)電機(jī)12的機(jī)軸的變化的角速度,并將所述機(jī)軸的角速度傳遞至控制中心2。四個(gè)傳感器14設(shè)于所述機(jī)器人頭部的轉(zhuǎn)動(dòng)于極限轉(zhuǎn)動(dòng)角度處,所述傳感器14用于所述機(jī)器人頭部的定位校準(zhǔn)和限位。
基于上述的機(jī)器人頭部行程控制系統(tǒng),實(shí)現(xiàn)的機(jī)器人頭部行程控制方法,其具體包括以下步驟。
如圖2所示,S1)獲取目的地的位置,計(jì)算出起始位置到所述目的地的位置的機(jī)器人頭部的總轉(zhuǎn)動(dòng)角度??傓D(zhuǎn)動(dòng)角度包括水平方向總轉(zhuǎn)動(dòng)角度和/或豎直方向總轉(zhuǎn)動(dòng)角度。
所述水平方向總轉(zhuǎn)動(dòng)角度的范圍為:以正前方為原點(diǎn),向左和向右的極限轉(zhuǎn)動(dòng)角度為80°。
所述豎直方向總轉(zhuǎn)動(dòng)角度的范圍為:以正前方為原點(diǎn),豎直方向向上和向下的極限轉(zhuǎn)動(dòng)角度為30°。
例如獲得機(jī)器人頭部需要轉(zhuǎn)動(dòng)的位置,計(jì)算出總轉(zhuǎn)動(dòng)角度=|目的位置角度-起始位置角度|。
S2)根據(jù)所述總轉(zhuǎn)動(dòng)角度,分別定義加速轉(zhuǎn)動(dòng)角度、勻速轉(zhuǎn)動(dòng)角度、減速轉(zhuǎn)動(dòng)角度。承接步驟S1)例,加速后完成的轉(zhuǎn)動(dòng)角度=起始位置角度+設(shè)定的加速轉(zhuǎn)動(dòng)角度。減速開(kāi)始轉(zhuǎn)動(dòng)角度=目的位置角度-加速后完成的轉(zhuǎn)動(dòng)角度-勻速轉(zhuǎn)動(dòng)角度。
如:水平方向,起始位置角度=0°,目的位置=60°,則需要走的距離=|0°-60°|=60°。
設(shè)定的加速轉(zhuǎn)動(dòng)角度=10°,設(shè)定的減速轉(zhuǎn)動(dòng)=10°,設(shè)定的勻速轉(zhuǎn)動(dòng)角度=10°。
加速完成位置角度=0°+10°=10°;減速開(kāi)始轉(zhuǎn)動(dòng)位置=60°-10°-10°=40°。在該步驟中,可以省略勻速轉(zhuǎn)動(dòng)。
S3)接收轉(zhuǎn)動(dòng)指令,分別控制所述機(jī)器人頭部在所述加速轉(zhuǎn)動(dòng)角度、勻速轉(zhuǎn)動(dòng)角度、減速轉(zhuǎn)動(dòng)角度的轉(zhuǎn)動(dòng)過(guò)程中角速度的平滑過(guò)渡。所述步驟S3)包括以下步驟,當(dāng)總轉(zhuǎn)動(dòng)角度包括水平方向總轉(zhuǎn)動(dòng)角度和豎直方向總轉(zhuǎn)動(dòng)角度時(shí),控制中心2同時(shí)控制機(jī)器人頭部在水平方向和豎直方向轉(zhuǎn)動(dòng)。
如圖3所示,S31)在加速轉(zhuǎn)動(dòng)角度的轉(zhuǎn)動(dòng)過(guò)程中,控制所述機(jī)器人頭部以零角速度平緩加速到速度ω1,即如在轉(zhuǎn)動(dòng)10°時(shí),使水平方向步進(jìn)電機(jī)11轉(zhuǎn)動(dòng)角速度為ω1。
S32)在勻速轉(zhuǎn)動(dòng)角度的轉(zhuǎn)動(dòng)過(guò)程中,控制所述機(jī)器人頭部以速度ω1勻速轉(zhuǎn)動(dòng)。
S33)在減速轉(zhuǎn)動(dòng)角度的轉(zhuǎn)動(dòng)過(guò)程中,控制所述機(jī)器人頭部以速度ω1平滑減速。
在步驟S3)每一步驟中,控制中心2通過(guò)絕對(duì)編碼器13及時(shí)獲取所述機(jī)器人頭部的實(shí)時(shí)轉(zhuǎn)動(dòng)角度,當(dāng)所述實(shí)時(shí)轉(zhuǎn)動(dòng)角度達(dá)到總轉(zhuǎn)動(dòng)角度或達(dá)到機(jī)器人頭部的極限轉(zhuǎn)動(dòng)角度后,執(zhí)行停止轉(zhuǎn)動(dòng)指令。此時(shí),絕對(duì)編碼器13通過(guò)脈沖形式獲得電機(jī)的轉(zhuǎn)動(dòng)角度的變化并將該信號(hào)傳遞至控制中心2,這樣應(yīng)用程序?qū)υ撔盘?hào)經(jīng)過(guò)處理后,就可以得到步進(jìn)電機(jī)機(jī)軸的實(shí)際角度位置。
S4)接收停止轉(zhuǎn)動(dòng)指令,完成所述機(jī)器人頭部運(yùn)行。
需要說(shuō)明的是,本實(shí)施例中,控制中心2通過(guò)控制步進(jìn)電機(jī)輸入頻率來(lái)控制步進(jìn)電機(jī)的速度,最大速度150度/每秒,最小速度1.5度/每秒,最高頻率666.6赫茲,最低頻率6.6赫茲。為了模擬人類的頭部運(yùn)動(dòng),必須實(shí)現(xiàn)平滑的加減速控制,在應(yīng)用程序中,動(dòng)態(tài)的改變步進(jìn)電機(jī)的旋轉(zhuǎn)加速度的大小來(lái)模擬人類頭部平滑的動(dòng)作,經(jīng)過(guò)試驗(yàn)得到速度控制曲線,其曲線如圖4所示。
以上僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。