本發(fā)明涉及電機(jī),尤其涉及一種外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī)的控制方法、系統(tǒng)、機(jī)器人以及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著機(jī)械臂、人形機(jī)器人的發(fā)展,在許多工業(yè)領(lǐng)域中所開(kāi)展的項(xiàng)目難度逐步升高,對(duì)于機(jī)器人關(guān)節(jié)的精度、速度要求等配置也越來(lái)越高,其中,舵機(jī)作為常見(jiàn)的機(jī)器人關(guān)節(jié)動(dòng)力單元,通過(guò)創(chuàng)新的結(jié)構(gòu)引入外轉(zhuǎn)子無(wú)刷電機(jī)和雙編碼器以提升舵機(jī)的性能,雖然舵機(jī)能夠提高機(jī)器人的整體性能,但也對(duì)控制系統(tǒng)、控制方法有著嚴(yán)格要求。
2、在現(xiàn)有技術(shù)中,一般采用傳統(tǒng)舵機(jī)實(shí)現(xiàn)機(jī)器人精確控制,而由于齒輪加工工藝的產(chǎn)生誤差問(wèn)題是難以避免的,因此在傳統(tǒng)舵機(jī)中會(huì)不可避免的出現(xiàn)齒輪虛位的問(wèn)題,并且由于傳統(tǒng)舵機(jī)在,因此在傳統(tǒng)舵機(jī)中存在齒輪虛位、抖動(dòng)、鎖定力矩小的問(wèn)題,因此在機(jī)器人工作過(guò)程中,會(huì)出現(xiàn)工作安全風(fēng)險(xiǎn),導(dǎo)致工作指令無(wú)法順利完成,既影響了機(jī)器人工作效率,又造成了一定的安全隱患,因此如何使舵機(jī)在增大控制精度的同時(shí),又能保證舵機(jī)不會(huì)產(chǎn)生抖動(dòng)且能增大舵機(jī)的鎖定力矩,是目前亟需解決的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)上述技術(shù)中存在傳統(tǒng)舵機(jī)存在齒輪虛位、抖動(dòng)、鎖定力矩小導(dǎo)致舵機(jī)控制精度差,影響了機(jī)器人實(shí)際工作過(guò)程中的工作效率且造成了一定的安全隱患的不足之處,本發(fā)明提供一種外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī)的控制方法、系統(tǒng)、機(jī)器人以及可讀存儲(chǔ)介質(zhì)。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī)的控制方法,包括以下步驟:
3、s1、初始化舵機(jī)以及控制器的狀態(tài)參數(shù),獲取舵機(jī)的初始位置;
4、s2、設(shè)定舵機(jī)的目標(biāo)位置以及期望參數(shù),通過(guò)電機(jī)磁編碼器和輸出軸磁編碼器分別檢測(cè)并得到舵機(jī)電機(jī)轉(zhuǎn)子和齒輪組輸出軸當(dāng)前的角度位置;
5、s3、計(jì)算輸出軸當(dāng)前位置與目標(biāo)位置的距離;
6、s4、通過(guò)控制器調(diào)控電機(jī)參數(shù)使輸出軸達(dá)到目標(biāo)位置,首先判斷輸出軸當(dāng)前速度是否為0,若當(dāng)前速度為0,則加速至目標(biāo)速度并進(jìn)行勻速運(yùn)動(dòng),在靠近目標(biāo)位置時(shí)緩慢減速直至到達(dá)目標(biāo)位置;若輸出軸當(dāng)前速度不為0,則判斷當(dāng)前速度的方向是否與目標(biāo)速度一致,若一致,則判斷當(dāng)前速度大小是否與目標(biāo)速度相同,不相同則加速或減速至與目標(biāo)速度大小相同,若不一致,則輸出軸減速至0,并重新加速至目標(biāo)速度并進(jìn)行勻速運(yùn)動(dòng),在靠近目標(biāo)位置時(shí)緩慢減速直至到達(dá)目標(biāo)位置。
7、作為本發(fā)明的一種改進(jìn)方案,在s2中,首先通過(guò)電機(jī)磁編碼器和輸出軸編碼器分別獲取電機(jī)轉(zhuǎn)子和輸出軸當(dāng)前的實(shí)際角度位置pm_actual和pactual,在s3中,電機(jī)轉(zhuǎn)子輸出經(jīng)過(guò)減速齒輪組將動(dòng)力轉(zhuǎn)換輸出至輸出軸,隨后得到輸出軸的角度變化量為:
8、
9、其中pm△是電機(jī)轉(zhuǎn)子的角度變化量,p△是輸出軸的角度變化量,rgear是齒輪減速比,進(jìn)一步地,計(jì)算出輸出軸從當(dāng)前角度位置運(yùn)動(dòng)到目標(biāo)位置所需要的角度為:
10、p△=pnow-pactual
11、其中pnow是輸出軸當(dāng)前角度位置,隨后算出電機(jī)轉(zhuǎn)子從當(dāng)前角度位置運(yùn)動(dòng)到輸出軸達(dá)到目標(biāo)位置所需要的角度為:
12、pm△=p△·rgear=(pnow-pactual)·rgear
13、作為本發(fā)明的一種改進(jìn)方案,在s4中,根據(jù)用戶輸入的目標(biāo)速度vtarget和目標(biāo)加速度aaccel,以固定頻率fm重復(fù)運(yùn)動(dòng),則計(jì)算出電機(jī)從0加速至目標(biāo)速度的時(shí)間taccel、經(jīng)過(guò)的控制周期數(shù)tticks_accel、經(jīng)過(guò)的角度saccel分別為
14、
15、
16、作為本發(fā)明的一種改進(jìn)方案,在舵機(jī)達(dá)到則勻速階段的時(shí)長(zhǎng)tconst、經(jīng)過(guò)的控制周期數(shù)tticks_const、路程sconst為
17、
18、sconst=|ptarget-pstart|-saccel-sdecel
19、其中,ptarget是用戶輸入的輸出軸目標(biāo)角度,pstart這整個(gè)加減速過(guò)程的起始角度。在舵機(jī)達(dá)到目標(biāo)速度后,以目標(biāo)速度保持勻速運(yùn)動(dòng),
20、作為本發(fā)明的一種改進(jìn)方案,當(dāng)舵機(jī)以當(dāng)前目標(biāo)速度接近目標(biāo)位置開(kāi)始減速時(shí),減速過(guò)程所需時(shí)間為tdecel、經(jīng)過(guò)的控制周期數(shù)tticks_decel、經(jīng)過(guò)的角度sdecel為:
21、
22、作為本發(fā)明的一種改進(jìn)方案,當(dāng)舵機(jī)處于加速運(yùn)動(dòng)階段時(shí)的計(jì)算公式為:
23、
24、舵機(jī)處于勻速運(yùn)動(dòng)階段時(shí)的計(jì)算公式為:
25、vnow=vtarget
26、
27、舵機(jī)處于減速運(yùn)動(dòng)階段時(shí)的計(jì)算公式為:
28、
29、其中,vnow是當(dāng)前時(shí)刻舵機(jī)的期望速度,vlast是上一時(shí)刻舵機(jī)的期望速度,pnow是當(dāng)前時(shí)刻舵機(jī)的期望位置,plast是上一時(shí)刻舵機(jī)的期望位置,aaccel是通過(guò)用戶輸入設(shè)定的加速度。
30、作為本發(fā)明的一種改進(jìn)方案,當(dāng)電機(jī)運(yùn)動(dòng)結(jié)束后,電機(jī)轉(zhuǎn)子當(dāng)前角度位置pnow等于用戶輸入的輸出軸目標(biāo)角度ptarget,使輸出軸實(shí)際角度位置pactual等于用戶輸入的輸出軸目標(biāo)角度ptarget,通過(guò)下述公式調(diào)整輸出軸實(shí)際角度位置pactual:
31、pm_target=pm_actual+(ptarget-pactual)·rgear
32、當(dāng)實(shí)際位置與目標(biāo)位置一致時(shí)記錄當(dāng)前電機(jī)的pm_actual,停止重復(fù)上述運(yùn)動(dòng)過(guò)程,并將電機(jī)轉(zhuǎn)子的實(shí)際角度位置pm_actual作為電機(jī)轉(zhuǎn)子的目標(biāo)角度位置pm_target,電機(jī)控制程序?qū)㈦姍C(jī)轉(zhuǎn)子角度位置鎖定在pm_actual直至下次運(yùn)動(dòng)過(guò)程開(kāi)始。
33、作為本發(fā)明的一種改進(jìn)方案,本發(fā)明還公開(kāi)了一種外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī)的控制系統(tǒng),用于執(zhí)行外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī)的控制方法,包括
34、輸出模塊,用于產(chǎn)生動(dòng)力,以使舵機(jī)工作;
35、控制模塊,用于輸入舵機(jī)參數(shù)并對(duì)所述輸出模塊進(jìn)行參數(shù)調(diào)節(jié);
36、檢測(cè)模塊,用于對(duì)輸出模塊的轉(zhuǎn)速以及角度進(jìn)行檢測(cè),并反饋至所述控制模塊中。
37、作為本發(fā)明的一種改進(jìn)方案,還包括一種外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī),用于執(zhí)行外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī)的控制方法,包括殼體以及設(shè)置在所述殼體內(nèi)的外轉(zhuǎn)子無(wú)刷電機(jī)、減速齒輪組和主控板,所述無(wú)刷電機(jī)通過(guò)電機(jī)輸出軸與所述減速齒輪組套接,所述減速齒輪組套設(shè)有齒輪組輸出軸;所述主控板上設(shè)有用于檢測(cè)外轉(zhuǎn)子無(wú)刷電機(jī)的電機(jī)轉(zhuǎn)子和齒輪組輸出軸轉(zhuǎn)速和角度的第一磁編碼器和第二磁編碼器。
38、作為本發(fā)明的一種改進(jìn)方案,還提供一種可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被機(jī)器人執(zhí)行時(shí),用于實(shí)現(xiàn)所述的外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī)的控制方法。
39、本發(fā)明的有益效果是:與現(xiàn)有技術(shù)相比,本發(fā)明提供的一種外轉(zhuǎn)子無(wú)刷雙磁編碼器舵機(jī)的控制方法、系統(tǒng)、機(jī)器人以及可讀存儲(chǔ)介質(zhì),本發(fā)明利用雙磁編碼器對(duì)電機(jī)轉(zhuǎn)子和輸出軸的角度位置進(jìn)行檢測(cè),通過(guò)計(jì)算電機(jī)與齒輪組輸出軸的角度位置和差速,根據(jù)兩者通過(guò)減速齒輪組轉(zhuǎn)換的動(dòng)力差值,通過(guò)雙磁編碼器的補(bǔ)償檢測(cè)來(lái)實(shí)現(xiàn)舵機(jī)輸出的高精度調(diào)節(jié),避免了傳統(tǒng)舵機(jī)因?yàn)橹谐霈F(xiàn)齒輪虛位、抖動(dòng)、鎖定力矩小的問(wèn)題,進(jìn)而提高機(jī)器人在實(shí)際運(yùn)用場(chǎng)景中的活動(dòng)上限以及操作精度。