本申請涉及機器人控制領(lǐng)域,尤其涉及一種一拖二驅(qū)動器。
背景技術(shù):
對于使用矢量控制驅(qū)動器及雙輪差動方案的移動機器人來說,目前常規(guī)的驅(qū)動方案中,驅(qū)動輪的電機和驅(qū)動器是一一對應(yīng)的,即一臺電機,由一臺獨立的驅(qū)動器進行拖動及調(diào)速,由此控制機器人的兩個驅(qū)動輪以相應(yīng)的轉(zhuǎn)速進行轉(zhuǎn)動,從而實現(xiàn)前進、后退、轉(zhuǎn)向等動作。
在實際場景中,若當機器人當前正在勻速向前行進,而其中的一個驅(qū)動輪遇到了障礙(如驅(qū)動輪前出現(xiàn)一塊大的石子,或者一個坑),那么在該驅(qū)動輪越過阻礙時,另一個驅(qū)動輪并沒有遇到這個阻礙,由于兩個驅(qū)動器單獨對兩個驅(qū)動輪的電機進行控制,就會使得機器人在這個瞬間無法保證同步,行進方向發(fā)生偏差,甚至發(fā)生無法預計的后果。
由于上位機的控制命令到達各驅(qū)動器的時間會存在一定的延遲,兩臺驅(qū)動器接收命令的時間同樣會存在延遲,從而造成電機之間的動作不同步,導致累積誤差。
技術(shù)實現(xiàn)要素:
本申請的一個目的是提供一種一拖二驅(qū)動器,用以解決現(xiàn)有技術(shù)中兩個驅(qū)動輪的電機同步性較差的問題。
為實現(xiàn)上述目的,本申請?zhí)峁┝艘环N驅(qū)動器,用于對包含兩個驅(qū)動輪的機器人設(shè)備進行驅(qū)動控制,所述機器人設(shè)備的每個驅(qū)動輪分別由一個電機驅(qū)動,其中,所述驅(qū)動器包括控制芯片、兩個驅(qū)動電路和兩個反饋電路;
所述兩個反饋電路,分別與兩個電機連接,用于對對應(yīng)電機進行采樣,獲取反饋信號,并將反饋信號發(fā)送至所述控制芯片;
所述兩個驅(qū)動電路,分別與兩個電機,用于根據(jù)驅(qū)動控制信號生成對應(yīng)電機的驅(qū)動信號,并基于所述驅(qū)動信號驅(qū)動對應(yīng)電機;
所述控制芯片,連接所述反饋電路和驅(qū)動電路,用于根據(jù)對應(yīng)電機的輸入信號和反饋信號進行同步處理,生成兩個驅(qū)動電路的驅(qū)動控制信號,并將所述驅(qū)動控制信號發(fā)送至對應(yīng)電機的驅(qū)動電路。
進一步地,所述反饋電路包括電流反饋電路和速度反饋電路;
所述電流反饋電路,用于對電機的電流進行采樣,獲取電流反饋信號,并將所述電流反饋信號發(fā)送至所述控制芯片;
所述速度反饋電路,用于對電機的速度進行采用,獲取速度反饋信號,并將所述速度反饋信號發(fā)送至所述控制芯片。
進一步地,所述電機的輸入信號為電機的速度輸入信號,所述控制芯片包括:
速度環(huán)模塊,用于根據(jù)對應(yīng)電機的速度輸入信號和速度反饋信號生成對應(yīng)電機的速度環(huán)控制信號;
速度跟蹤比率同步環(huán)模塊,用于根據(jù)兩個電機的速度輸入信號和速度反饋信號生成對應(yīng)電機的同步跟蹤信號;
電流環(huán)模塊,用于根據(jù)對應(yīng)電機的速度環(huán)同步信號和同步跟蹤信號生成對應(yīng)電機的速度環(huán)控制信號;
驅(qū)動控制模塊,用于根據(jù)對應(yīng)電機的速度環(huán)控制信號生成驅(qū)動控制信號。
進一步地,所述驅(qū)動控制模塊,用于采用磁場定向控制算法以及空間矢量脈寬調(diào)制算法生成驅(qū)動控制信號。
進一步地,所述控制芯片,還包括:
輸入模塊,用于獲取所述機器人設(shè)備的移動速度和旋轉(zhuǎn)速度,并基于所述移動速度和旋轉(zhuǎn)速度進行速度分解,獲取每個電機的輸入速度信號。
進一步地,所述控制芯片,還包括:
輸出模塊,用于獲取兩個電機的反饋速度信號,根據(jù)兩個電機的反饋速度信號以及所述機器人設(shè)備的原始方位,獲取所述機器人設(shè)備的當前方位。
與現(xiàn)有技術(shù)相比,本申請?zhí)峁┝艘环N一拖二的驅(qū)動器,即該驅(qū)動器包括一個控制芯片、兩個驅(qū)動電路和兩個反饋電路,同時對兩個驅(qū)動輪的電機進行驅(qū)動控制。采用一個控制芯片,通過相應(yīng)的控制算法分別驅(qū)動兩路電機,由整個反饋同步的過程在驅(qū)動器內(nèi)完成,能夠減少接受控制命令的時間延遲,避免因為驅(qū)動不同步導致的累計誤差,提高兩個電機的同步性。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1為本申請實施例提供的一種驅(qū)動器的結(jié)構(gòu)示意圖;
圖2為本申請實施例提供的驅(qū)動器中控制芯片的結(jié)構(gòu)示意圖;
圖3為本申請實施例中速度分解的運動學模型示意圖;
圖4為本申請實施例提供的驅(qū)動器的處理原理示意圖;
圖5為現(xiàn)有技術(shù)中常用的驅(qū)動器的算法架構(gòu)圖;
圖6為本申請實施例提供的驅(qū)動器的算法架構(gòu)圖;
附圖中相同或相似的附圖標記代表相同或相似的部件。
具體實施方式
下面結(jié)合附圖對本申請作進一步詳細描述。
在本申請一個典型的配置中,終端、服務(wù)網(wǎng)絡(luò)的設(shè)備和可信方均包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器 (RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器 (DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
本申請實施例提供了一種驅(qū)動器,該驅(qū)動器用于對包含兩個驅(qū)動輪的機器人設(shè)備進行驅(qū)動控制,所述機器人設(shè)備的每個驅(qū)動輪分別由一個電機驅(qū)動。所述驅(qū)動器包括控制芯片、兩個驅(qū)動電路和兩個反饋電路,其與兩個電機的連接結(jié)構(gòu),如圖1所示。
所述兩個反饋電路,即第一反饋電路131和第二反饋電路132,分別與兩個電機連接,即第一反饋電路131連接第一電機141、第二反饋電路 132連接第二電機142。每個反饋電路用于對對應(yīng)電機進行采樣,獲取反饋信號,并將反饋信號發(fā)送至所述控制芯片,使得控制芯片能夠根據(jù)相應(yīng)的反饋信號對電機的速度進行控制。
其中,所述反饋信號可以根據(jù)實際的反饋控制方式的不同而采用不同類型的信號,例如在一種實施方式中,采用速度環(huán)結(jié)合電流環(huán)的反饋控制方式,則所述反饋信號可以包括對應(yīng)電機的電流反饋信號和速度反饋信號,相應(yīng)地,所述反饋電路可以包括電流反饋電路和速度反饋電路,所述電流反饋電路用于對電機的電流進行采樣,獲取電流反饋信號,并將所述電流反饋信號發(fā)送至所述控制芯片;而所述速度反饋電路用于對電機的速度進行采樣,獲取速度反饋信號,并將所述速度反饋信號發(fā)送至所述控制芯片。在實際場景中,所述速度反饋電路的具體實現(xiàn)可以是QEP(Quadrature Encoder Pulse,正交編碼脈沖)編碼器,而所述電流反饋電路的具體實現(xiàn)可以是各類電流采樣芯片等。
所述兩個驅(qū)動電路,即第一驅(qū)動電路121和第二驅(qū)動電路122,分別與兩個電機連接,即第一驅(qū)動電路121連接第一電機141、第二驅(qū)動電路 122連接第二電機142。每個驅(qū)動電路,用于根據(jù)驅(qū)動控制信號生成對應(yīng)電機的驅(qū)動信號,并基于所述驅(qū)動信號驅(qū)動對應(yīng)電機,其中,根據(jù)具體控制場景的不同,所述驅(qū)動信號也同樣可以采用相應(yīng)形式的信號,例如在一種實施例中,電機為無刷直流電機、控制芯片采用FOC(Field Oriented Control,磁場定向控制)算法結(jié)合SVPWM(Space Vector Pulse Width Modulation,空間矢量脈寬調(diào)制)算法進行控制,此時所述驅(qū)動控制信號可以是三相PWM(Pulse Width Modulation,脈寬調(diào)制)信號。
所述控制芯片110,連接所述反饋電路和驅(qū)動電路,即分別與第一反饋電路131、第二反饋電路132、第一驅(qū)動電路121以及第二驅(qū)動電路122 連接,根據(jù)對應(yīng)電機的輸入信號和反饋信號進行同步處理,生成兩個驅(qū)動電路的驅(qū)動控制信號,并將所述驅(qū)動控制信號發(fā)送至對應(yīng)電機的驅(qū)動電路。
在實際場景中,所述電機的輸入信號可以是電機的速度值,即電機的速度輸入信號。所述控制芯片的內(nèi)部結(jié)構(gòu)可以包括以下處理模塊:速度環(huán)模塊111、速度跟蹤比率同步環(huán)模塊113、電流環(huán)模塊112和驅(qū)動控制模塊114,如圖2所示。
其中,速度環(huán)模塊111用于根據(jù)對應(yīng)電機的速度輸入信號和速度反饋信號生成對應(yīng)電機的速度環(huán)控制信號。對于每個電機,獨立進行速度環(huán)的閉環(huán)反饋控制,例如,第一反饋電路131的速度反饋電路采集到第一電機 141的速度反饋信號之后,發(fā)送至速度環(huán)模塊,由速度環(huán)模塊根據(jù)第一電機141的速度輸入信號和速度反饋信號進行鼻環(huán)控制,生成第一電機141 的速度環(huán)控制信號,進一步交給速度電流環(huán)模塊進行電流環(huán)的閉環(huán)反饋控制。
速度跟蹤比率同步環(huán)模塊113用于根據(jù)兩個電機的速度輸入信號和速度反饋信號生成對應(yīng)電機的同步跟蹤信號。對每個電機而言,速度跟蹤比率同步環(huán)模塊113會對兩臺電機的速度跟蹤比率做PID算法,其輸出的同步跟蹤信號將給每個電機的交軸(q軸)電流一個附加增量,從而影響電機的輸出力矩,改變電機轉(zhuǎn)速,最終產(chǎn)生速度追蹤的同步效果。對于背景技術(shù)中提及場景,若機器人設(shè)備的一個驅(qū)動輪遇到了障礙,另一個驅(qū)動輪并沒有遇到這個阻礙時,可以通過速度環(huán)和電流環(huán)的反饋可以感知到,此時,速度跟蹤比率同步環(huán)模塊113根據(jù)此時電機的速度輸入信號和速度反饋信號,能夠生成對應(yīng)的同步跟蹤信號,作為電流環(huán)的反饋輸入,從而在短時間內(nèi)調(diào)整電機的轉(zhuǎn)速,行進方向發(fā)生偏差,實現(xiàn)同步控制。
電流環(huán)模塊112用于根據(jù)對應(yīng)電機的速度環(huán)同步信號和同步跟蹤信號生成對應(yīng)電機的速度環(huán)控制信號。
驅(qū)動控制模塊114用于根據(jù)對應(yīng)電機的速度環(huán)控制信號生成驅(qū)動控制信號。作為一種優(yōu)選的實施方式,所述驅(qū)動控制模塊采用磁場定向控制算法以及空間矢量脈寬調(diào)制算法生成驅(qū)動控制信號。
進一步地,本申請?zhí)峁┑尿?qū)動器中,所述控制芯片還可以包括輸入模塊,所述輸入模塊用于獲取所述機器人設(shè)備的移動速度和旋轉(zhuǎn)速度,并基于所述移動速度和旋轉(zhuǎn)速度進行速度分解,獲取每個電機的輸入速度信號。
本實施例中,以如圖3所示的模型對所述速度分解的原理進行說明。其中,F(xiàn)為機器人設(shè)備的關(guān)鍵點,G為機器人設(shè)備的旋轉(zhuǎn)中心,b為兩個驅(qū)動輪之間的距離,r為驅(qū)動輪的半徑,lG為點G和點F之間的距離,φ為機器人設(shè)備的轉(zhuǎn)角,θl為做驅(qū)動輪的轉(zhuǎn)角,θr為做驅(qū)動輪的轉(zhuǎn)角。
基于機器人設(shè)備的移動速度和旋轉(zhuǎn)速度,可以確定機器人設(shè)備的某一時刻的速度,假設(shè)機器人設(shè)備的速度為vG,其垂直于機器人設(shè)備兩個驅(qū)動輪的輪軸,由此可知,移動速度在兩個坐標軸上的分量分別為:
xG=vGcosφ,yG=vGsinφ,
消去vG得
xGsinφ-yGcosφ=0.
點F與點G存在如下位置關(guān)系:
xF=xG+lGcosφ, (1)
yF=y(tǒng)G+lGsinφ. (2)
對式(1)、(2)求導,可得
由此,點F的速度關(guān)系可表示為:
機器人設(shè)備質(zhì)心的速度與驅(qū)動輪轉(zhuǎn)速之間的關(guān)系式為:
可以得到矩陣表達式為:
從而得到
式(3)中
其中,J定義為機器人設(shè)備的廣義雅可比矩陣,反映了機器人設(shè)備的速度與兩個驅(qū)動輪的速度之間的關(guān)系。
進一步地,所述控制芯片還可以包括輸出模塊,所述輸出模塊用于對輸出的信號進行里程合成,具體為:獲取兩個電機的反饋速度信號,根據(jù)兩個電機的反饋速度信號以及所述機器人設(shè)備的原始方位,獲取所述機器人設(shè)備的當前方位。其中,所述方位包括機器人設(shè)備的坐標及轉(zhuǎn)角(x,y,φ),本申請實施例提供了一種計算所述機器人位置當前方位的方法,其算法偽代碼如下:
Actual_x:積分后的實際x
Actual_y:積分后的實際y
Actual_φ:積分后的實際φ
left_wheel_pos=wheelPos.pos_left;/左驅(qū)動輪的坐標/
right_wheel_pos=wheelPos.pos_right;/右驅(qū)動輪的坐標/
x=(right_wheel_pos+left_wheel_pos)*0.5;
y=0
φ=(right_wheel_pos-left_wheel_pos)/wheel_dist;
float dx=x*cos(Actual_φ)-y*sin(Actual_φ);
float dy=x*sin(Actual_φ)+y*cos(Actual_φ);
float dφ=φ;
Actual_x=Actual_x+dx;
Actual_y=Actual_y+dy;
Actual_φ=Actual_φ+dφ
此時,獲取到的Actual_x、Actual_y和Actual_φ即為所述機器人設(shè)備的當前方位。
由此可知,本申請實施提供的驅(qū)動器的處理原理如圖4所示,其輸入為機器人設(shè)備的前進速度及旋轉(zhuǎn)速度,輸出為機器人設(shè)備在平面環(huán)境中的具體坐標和轉(zhuǎn)角。
由于目前常規(guī)的驅(qū)動方案中,驅(qū)動輪的電機和驅(qū)動器是一一對應(yīng)的,即一臺電機,由一臺獨立的驅(qū)動器進行拖動及調(diào)速,整個驅(qū)動器的具體算法構(gòu)架如圖5所示。每一個電機都是由均包含一個由控制芯片、驅(qū)動電路和反饋電路組成的驅(qū)動器提供驅(qū)動信號,兩個驅(qū)動器的無法直接進行同步控制,因此需要由通過總線連接的上位機來實現(xiàn)同步,對于傳統(tǒng)的總線來說,其傳輸速度會在毫秒級。由于上位機的控制命令到達各驅(qū)動器的時間會存在一定的延遲,兩臺驅(qū)動器接收命令的時間同樣會存在延遲,從而造成電機之間的動作不同步,導致累積誤差。
而本申請實施例提供的方案對算法構(gòu)架進行了改進,如圖6所示,圖中方框內(nèi)的部分即為圖5所示的常規(guī)驅(qū)動方案的算法構(gòu)架。本方案采用一個控制芯片,通過相應(yīng)的控制算法分別驅(qū)動兩路電機,由整個反饋同步的過程在驅(qū)動器內(nèi)完成,能夠減少接受控制命令的時間延遲,避免因為驅(qū)動不同步導致的累計誤差,提高兩個電機的同步性。
需要注意的是,本申請可在軟件和/或軟件與硬件的組合體中被實施,例如,可采用專用集成電路(ASIC)、通用目的計算機或任何其他類似硬件設(shè)備來實現(xiàn)。在一個實施例中,本申請的軟件程序可以通過處理器執(zhí)行以實現(xiàn)上文所述步驟或功能。同樣地,本申請的軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu)) 可以被存儲到計算機可讀記錄介質(zhì)中,例如,RAM存儲器,磁或光驅(qū)動器或軟磁盤及類似設(shè)備。另外,本申請的一些步驟或功能可采用硬件來實現(xiàn),例如,作為與處理器配合從而執(zhí)行各個步驟或功能的電路。
另外,本申請的一部分可被應(yīng)用為計算機程序產(chǎn)品,例如計算機程序指令,當其被計算機執(zhí)行時,通過該計算機的操作,可以調(diào)用或提供根據(jù)本申請的方法和/或技術(shù)方案。而調(diào)用本申請的方法的程序指令,可能被存儲在固定的或可移動的記錄介質(zhì)中,和/或通過廣播或其他信號承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲在根據(jù)所述程序指令運行的計算機設(shè)備的工作存儲器中。在此,根據(jù)本申請的一個實施例包括一個裝置,該裝置包括用于存儲計算機程序指令的存儲器和用于執(zhí)行程序指令的處理器,其中,當該計算機程序指令被該處理器執(zhí)行時,觸發(fā)該裝置運行基于前述根據(jù)本申請的多個實施例的方法和/或技術(shù)方案。
對于本領(lǐng)域技術(shù)人員而言,顯然本申請不限于上述示范性實施例的細節(jié),而且在不背離本申請的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本申請。因此,無論從哪一點來看,均應(yīng)將實施例看作是示范性的,而且是非限制性的,本申請的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本申請內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復數(shù)。裝置權(quán)利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟件或者硬件來實現(xiàn)。