本發(fā)明涉及雙輪機(jī)器人技術(shù)領(lǐng)域,更具體地,本發(fā)明涉及一種用于雙輪機(jī)器人的直線控制方法、一種用于雙輪機(jī)器人的直線控制裝置、及一種雙輪機(jī)器人。
背景技術(shù):
當(dāng)前,兩輪呈左右對(duì)稱分布的移動(dòng)式機(jī)器人已被廣泛應(yīng)用在各個(gè)領(lǐng)域,例如娛樂類的雙輪機(jī)器人。該種雙輪機(jī)器人的左、右輪各由一個(gè)電機(jī)驅(qū)動(dòng),并依靠左、右輪的差速實(shí)現(xiàn)轉(zhuǎn)向。
雙輪機(jī)器人的典型控制系統(tǒng)具有兩個(gè)控制環(huán),分別為速度控制環(huán)和直立控制環(huán),該種結(jié)構(gòu)雖然比較簡(jiǎn)單,但存在的問題是:由于機(jī)械系統(tǒng)存在誤差,因此,在雙輪機(jī)器人一直運(yùn)行的情況下,累積誤差將越來越明顯,這可能使得雙輪機(jī)器人在直線運(yùn)動(dòng)時(shí)的左、右輪差速超過一定數(shù)值而無法保持直線運(yùn)動(dòng)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的一個(gè)目的是提供一種用于對(duì)雙輪機(jī)器人進(jìn)行直線控制的新的技術(shù)方案。
根據(jù)本發(fā)明的第一方面,提供了一種用于雙輪機(jī)器人的直線控制方法,所述雙輪機(jī)器人具有左輪電機(jī)和右輪電機(jī),所述直線控制方法包括:
接收陀螺儀提供的所述雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值;
根據(jù)所述角速度值計(jì)算得到所述雙輪機(jī)器人繞所述豎直軸轉(zhuǎn)動(dòng)的角度值;
確定直線控制環(huán)的比例項(xiàng)等于比例系數(shù)乘以所述角度值;
根據(jù)所述比例項(xiàng)確定所述直線控制環(huán)的直線控制輸出量;
增加所述直線控制輸出量來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
可選的是,所述方法還包括:
計(jì)算所述直線控制環(huán)的微分項(xiàng)等于微分時(shí)間乘以所述角速度值;
所述根據(jù)所述比例項(xiàng)確定所述直線控制環(huán)的直線控制輸出量進(jìn)一步為:
根據(jù)所述比例項(xiàng)和所述微分項(xiàng)確定所述直線控制輸出量。
可選的是,所述根據(jù)所述比例項(xiàng)和所述微分項(xiàng)確定所述直線控制輸出量進(jìn)一步為:
確定所述直線控制輸出量等于所述比例項(xiàng)與所述微分項(xiàng)之和。
可選的是,所述增加所述直線控制輸出量調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)進(jìn)一步為:
在設(shè)定的控制周期內(nèi),逐漸遞增地完成所述直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
可選的是,所述逐漸遞增地完成所述直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)進(jìn)一步為:
線性遞增地完成所述直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
根據(jù)本發(fā)明的第二方面,還提供了一種用于雙輪機(jī)器人的直線控制裝置,所述雙輪機(jī)器人具有左輪電機(jī)和右輪電機(jī),所述直線控制裝置包括:
接收模塊,用于接收陀螺儀提供的所述雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值;
角度計(jì)算模塊,用于根據(jù)所述角速度值計(jì)算得到所述雙輪機(jī)器人繞所述豎直軸轉(zhuǎn)動(dòng)的角度值;
比例計(jì)算模塊,用于確定直線控制環(huán)的比例項(xiàng)等于比例系數(shù)乘以所述角度值;
輸出量計(jì)算模塊,用于根據(jù)所述比例項(xiàng)確定所述直線控制環(huán)的直線控制輸出量;以及,
執(zhí)行模塊,用于增加所述直線控制輸出量來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
可選的是,所述直線控制裝置還包括:
微分計(jì)算模塊,用于計(jì)算所述直線控制環(huán)的微分項(xiàng)等于微分時(shí)間乘以所述角速度值;
所述輸出量計(jì)算模塊具體用于根據(jù)所述比例項(xiàng)和所述微分項(xiàng)確定所述直線控制輸出量。
可選的是,所述輸出量計(jì)算模塊具體用于確定所述直線控制輸出量等于所述比例項(xiàng)與所述微分項(xiàng)之和。
可選的是,所述執(zhí)行模塊具體用于在設(shè)定的控制周期內(nèi),逐漸遞增地完成所述直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
可選的是,所述執(zhí)行模塊具體用于線性遞增地完成所述直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
根據(jù)本發(fā)明的第三方面,還提供了一種用于雙輪機(jī)器人的直線控制裝置,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器用于存儲(chǔ)指令,所述指令用于控制所述處理器進(jìn)行操作以執(zhí)行根據(jù)本發(fā)明的第一方面所述的直線控制方法。
根據(jù)本發(fā)明的第四方面,還提供了一種雙輪機(jī)器人,所述雙輪機(jī)器人具有左輪電機(jī)、右輪電機(jī)和陀螺儀,所述陀螺儀被設(shè)置為用于采集所述雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值,所述雙輪機(jī)器人還包括根據(jù)本發(fā)明的第二方面或者第三方面所述的直線控制裝置。
本發(fā)明的一個(gè)有益效果在于,本發(fā)明直線控制方法、裝置能夠在現(xiàn)有速度控制環(huán)和直立控制環(huán)的基礎(chǔ)上,直接對(duì)雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角度值進(jìn)行控制,使得該角度值在直線運(yùn)動(dòng)時(shí)能夠保持為零度,進(jìn)而能夠避免出現(xiàn)因機(jī)械誤差的累積導(dǎo)致左、右輪差速超過一定數(shù)值而無法保持直線運(yùn)動(dòng)的問題。
通過以下參照附圖對(duì)本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。
附圖說明
被結(jié)合在說明書中并構(gòu)成說明書的一部分的附圖示出了本發(fā)明的實(shí)施例,并且連同其說明一起用于解釋本發(fā)明的原理。
圖1為根據(jù)本發(fā)明的直線控制方法的一種實(shí)施例的流程示意圖;
圖2為圖1中增加直線控制輸出量的方法的一種實(shí)施例的流程示意圖;
圖3為根據(jù)本發(fā)明的直線控制方法的另一種實(shí)施例的流程示意圖;
圖4為根據(jù)本發(fā)明的直線控制裝置的一種實(shí)施例的方框原理圖;
圖5為根據(jù)本發(fā)明的直線控制裝置的另一種實(shí)施例的方框原理圖;
圖6為根據(jù)本發(fā)明的直線控制裝置的一種硬件結(jié)構(gòu)的方框原理圖;
圖7為根據(jù)本發(fā)明雙輪機(jī)器人的運(yùn)動(dòng)控制系統(tǒng)的一種實(shí)施例的方框原理圖。
具體實(shí)施方式
現(xiàn)在將參照附圖來詳細(xì)描述本發(fā)明的各種示例性實(shí)施例。應(yīng)注意到:除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)布置、數(shù)字表達(dá)式和數(shù)值不限制本發(fā)明的范圍。
以下對(duì)至少一個(gè)示例性實(shí)施例的描述實(shí)際上僅僅是說明性的,決不作為對(duì)本發(fā)明及其應(yīng)用或使用的任何限制。
對(duì)于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細(xì)討論,但在適當(dāng)情況下,所述技術(shù)、方法和設(shè)備應(yīng)當(dāng)被視為說明書的一部分。
在這里示出和討論的所有例子中,任何具體值應(yīng)被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實(shí)施例的其它例子可以具有不同的值。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步討論。
圖1是根據(jù)本發(fā)明的用于雙輪機(jī)器人的直線控制方法的一種實(shí)施例在一個(gè)控制周期的流程示意圖。
根據(jù)圖1所示,本發(fā)明直線控制方法可以包括如下步驟:
步驟s110,接收陀螺儀提供的雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值。
該陀螺儀例如集成在六軸運(yùn)動(dòng)處理組件mpu6050中。
步驟s120,根據(jù)接收的角速度值計(jì)算得到雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角度值。
在該步驟中,例如可以通過對(duì)角速度值進(jìn)行積分運(yùn)算得到雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角度值。
步驟s130,確定直線控制環(huán)的比例項(xiàng)kp等于比例系數(shù)p乘以計(jì)算得到的角度值θ。
即,比例項(xiàng)kp=p×(θ-θt)公式(1);
其中,θt為目標(biāo)角度值,由于直線運(yùn)動(dòng)時(shí)要求雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的目標(biāo)角度值為0,因此,比例項(xiàng)kp具體等于比例系數(shù)p乘以計(jì)算得到的角度值θ。
步驟s140,根據(jù)比例項(xiàng)kp確定直線控制環(huán)的直線控制輸出量lco。
根據(jù)本發(fā)明直線控制方法形成單獨(dú)的直線控制環(huán),通過該直線控制環(huán)與現(xiàn)有的速度控制環(huán)、直立控制環(huán)等共同作用可以在雙輪機(jī)器人進(jìn)行直線運(yùn)動(dòng)時(shí)避免出現(xiàn)因機(jī)械誤差的累積導(dǎo)致左、右輪差速超過一定數(shù)值而無法保持直線運(yùn)動(dòng)的問題。
根據(jù)該步驟s140,直線控制環(huán)的控制器至少包括比例項(xiàng)kp,在此可以選擇控制器的類型,該控制器可以是p(比例)控制器、pi(比例、積分)控制器、pd(比例、微分)控制器、或者pid(比例、積分、微分)控制器。
步驟s150,增加該直線控制輸出量來調(diào)節(jié)用于驅(qū)動(dòng)左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)右輪電機(jī)的pwm信號(hào)。
在直線控制包括直立控制環(huán)和速度控制環(huán)的實(shí)施例中,該增加即為在右輪電機(jī)的直立控制環(huán)的控制輸出量和右輪電機(jī)的速度控制環(huán)的控制輸出量的基礎(chǔ)上,增加直線控制輸出量來調(diào)節(jié)用于驅(qū)動(dòng)右輪電機(jī)的pwm信號(hào);同時(shí),在左輪電機(jī)的直立控制環(huán)的控制輸出量和左輪電機(jī)的速度控制環(huán)的控制輸出量的基礎(chǔ)上,增加直線控制輸出量來調(diào)節(jié)用于驅(qū)動(dòng)左輪電機(jī)的pwm信號(hào)。
由此可見,本發(fā)明的直線控制方法是在現(xiàn)有速度控制環(huán)和直立控制環(huán)的基礎(chǔ)上,直接對(duì)雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角度進(jìn)行控制,以使該角度在直線運(yùn)動(dòng)時(shí)保持為0。
進(jìn)一步地,該步驟s150可以為:在設(shè)定的控制周期內(nèi),逐漸遞增地完成直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
逐漸遞增地完成直線控制輸出量的增加表示:在設(shè)定的控制周期內(nèi)分設(shè)定次數(shù)輸出直線控制輸出量的一部分,并且輸出部分所在直線控制輸出量的比例逐次增加,直到控制周期結(jié)束輸出全部的直線控制輸出量。
逐漸遞增地完成直線控制輸出量的增加相當(dāng)于對(duì)直線控制輸出量進(jìn)行平滑處理,這將提高雙輪機(jī)器人在行進(jìn)過程中的流暢性。
更進(jìn)一步地,該步驟s150可以為:在設(shè)定的控制周期內(nèi),線性遞增地完成所述直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
線性遞增能夠使得相鄰兩次輸出部分的差值相同,這能夠進(jìn)一步提高雙輪機(jī)器人在行進(jìn)過程中的流暢性。
圖2是線性遞增該直線控制輸出量的平滑方法的一種實(shí)施例的流程示意圖。
根據(jù)圖2所示,步驟s150中線性遞增該直線控制輸出量的平滑方法可以包括:
步驟s151,計(jì)算當(dāng)前控制周期的直線控制輸出量lcom與上一控制周期的直線控制輸出量lcom-1之間的差值fvalue。
fvalue=lcom-lcom-1公式(2)。
步驟s152,設(shè)置計(jì)算器i=0。
步驟s153,計(jì)算i+1次增加的輸出部分lcom,i+1。
lcom,i+1=fvalue×(i+1)/j+lcom-1公式(3);
其中,j為表示一個(gè)控制周期的時(shí)長(zhǎng)的常量,在此用一個(gè)控制周期內(nèi)輸出的設(shè)定次數(shù)表示,例如j為5-10次。
步驟s154,判斷i+1是否達(dá)到j(luò),如否,則設(shè)置i=i+1,并回到步驟s153繼續(xù)執(zhí)行;如是,則結(jié)束當(dāng)前控制周期的輸出,此時(shí)輸出全部的直線控制輸出量。
圖3是根據(jù)本發(fā)明的用于雙輪機(jī)器人的直線控制方法的另一種實(shí)施例在一個(gè)控制周期的流程示意圖。
根據(jù)圖3所示,本實(shí)施例在圖1所示實(shí)施例的基礎(chǔ)上,還增加了如下步驟:
步驟s210,計(jì)算直線控制環(huán)的微分項(xiàng)kd等于微分時(shí)間乘以以上步驟s110接收到的角速度值。
該微分時(shí)間可以為正數(shù),也可以為負(fù)數(shù)。
因此,圖1實(shí)施例中步驟s140的根據(jù)比例項(xiàng)kp確定直線控制環(huán)的直線控制輸出量將進(jìn)一步為:
步驟s240,根據(jù)比例項(xiàng)kp和微分項(xiàng)kd確定直線控制輸出量lco。
在直線控制環(huán)采用pd控制器的實(shí)施例中,該直線控制輸出量lco可以等于比例項(xiàng)kp與微分項(xiàng)kd之和。
即lco=kp+kd公式(4)。
圖4是根據(jù)本發(fā)明的用于雙輪機(jī)器人的直線控制裝置的一種實(shí)施例的方框原理圖。
根據(jù)圖4所示,該直線控制裝置包括接收模塊410、角度計(jì)算模塊420、比例計(jì)算模塊430、輸出量計(jì)算模塊440、及執(zhí)行模塊450。
該接收模塊410用于接收陀螺儀提供的所述雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值。
該角度計(jì)算模塊420用于根據(jù)所述角速度值計(jì)算得到所述雙輪機(jī)器人繞所述豎直軸轉(zhuǎn)動(dòng)的角度值。
該比例計(jì)算模塊430用于確定直線控制環(huán)的比例項(xiàng)等于比例系數(shù)乘以所述角度值。
該輸出量計(jì)算模塊440用于根據(jù)所述比例項(xiàng)確定所述直線控制環(huán)的直線控制輸出量。
該執(zhí)行模塊450用于增加所述直線控制輸出量來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
進(jìn)一步地,以上執(zhí)行模塊450可以具體用于在設(shè)定的控制周期內(nèi),逐漸遞增地完成所述直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
更進(jìn)一步地,以上執(zhí)行模塊450可以具體用于線性遞增地完成所述直線控制輸出量的增加來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)的pwm信號(hào)和用于驅(qū)動(dòng)所述右輪電機(jī)的pwm信號(hào)。
圖5是根據(jù)本發(fā)明的用于雙輪機(jī)器人的直線控制裝置的另一種實(shí)施例的方框原理圖。
該實(shí)施例與圖4所示實(shí)施例的主要區(qū)別包括:該直線控制裝置還包括微分計(jì)算模塊510。
該微分計(jì)算模塊510用于計(jì)算直線控制環(huán)的微分項(xiàng)等于微分時(shí)間乘以所述角速度值。
在該實(shí)施例中,輸出量計(jì)算模塊540進(jìn)一步用于根據(jù)比例項(xiàng)和微分項(xiàng)確定直線控制輸出量。
在直線控制環(huán)采用pd控制器的具體實(shí)施例中,該輸出量計(jì)算模塊540可以進(jìn)一步用于確定直線控制輸出量等于比例項(xiàng)與微分項(xiàng)之和。
圖6是根據(jù)本發(fā)明的直線控制裝置的一種硬件結(jié)構(gòu)的方框原理圖。
根據(jù)圖6所示,該直線控制裝置包括至少一個(gè)存儲(chǔ)器610和至少一個(gè)處理器620,至少一個(gè)存儲(chǔ)器610用于存儲(chǔ)指令,該指令用于控制至少一個(gè)處理器620進(jìn)行操作以執(zhí)行根據(jù)本發(fā)明實(shí)施例的任一種直線控制方法。
圖7是根據(jù)本發(fā)明的雙輪機(jī)器人的運(yùn)動(dòng)控制系統(tǒng)的一種實(shí)施例的方框原理圖。
根據(jù)圖7所示,雙輪機(jī)器人的運(yùn)動(dòng)控制系統(tǒng)包括上述任一種直線控制裝置710、左輪電機(jī)730a、右輪電機(jī)730b、左輪電機(jī)730a的驅(qū)動(dòng)器720a、及右輪電機(jī)730b的驅(qū)動(dòng)器720b。
根據(jù)圖7所示,直線控制裝置710包括對(duì)應(yīng)左輪電機(jī)730a的直立控制環(huán)711a、速度控制環(huán)712a和直線控制環(huán)713a。
直線控制裝置710還包括對(duì)應(yīng)右輪電機(jī)730b的直立控制環(huán)711b、速度控制環(huán)712b和直線控制環(huán)713b。
以上直立控制環(huán)711a接收的反饋信號(hào)sin1包括由陀螺儀提供的雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值。直立控制環(huán)711a根據(jù)反饋信號(hào)sin1得到直立控制輸出量sco1。
以上速度控制環(huán)712a接收的反饋信號(hào)vin1包括由左輪電機(jī)730a的編碼器提供的脈沖信號(hào)。速度控制環(huán)712a根據(jù)反饋信號(hào)vin1得到速度控制輸出量vco1。
以上直線控制環(huán)713a接收的反饋信號(hào)lin1包括由陀螺儀提供的雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值,以使直線控制環(huán)713a根據(jù)接收到的角速度值計(jì)算角度值,進(jìn)而實(shí)現(xiàn)比例項(xiàng)的計(jì)算。
進(jìn)一步地,該角速度值還可以供直線控制環(huán)713a進(jìn)行微分項(xiàng)的計(jì)算。
直線控制環(huán)713a最終根據(jù)反饋信號(hào)lin1得到直線控制輸出量lco1。
以上直立控制環(huán)711b接收的反饋信號(hào)sin2包括由陀螺儀提供的雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值。直立控制環(huán)711b根據(jù)反饋信號(hào)sin2得到直立控制輸出量sco2。
由此可見,直立控制環(huán)711b與直立控制環(huán)711a完全相同,因此,二者可以相互獨(dú)立,也可以共用。
以上直線控制環(huán)713b接收的反饋信號(hào)lin2包括由陀螺儀提供的雙輪機(jī)器人繞豎直軸轉(zhuǎn)動(dòng)的角速度值,以使直線控制環(huán)713b根據(jù)接收到的角速度值計(jì)算角度值,進(jìn)而實(shí)現(xiàn)比例項(xiàng)的計(jì)算。
進(jìn)一步地,該角速度值還可以供直線控制環(huán)713b進(jìn)行微分項(xiàng)的計(jì)算。
直線控制環(huán)713b最終根據(jù)反饋信號(hào)lin2得到直線控制輸出量lco2。
由此可見,以上直線控制環(huán)713b與直線控制環(huán)713a完全相同,因此,二者可以相互獨(dú)立,也可以共用。
以上速度控制環(huán)712b接收的反饋信號(hào)vin2包括由右輪電機(jī)730b的編碼器提供的脈沖信號(hào)。速度控制環(huán)712b根據(jù)反饋信號(hào)vin2得到速度控制輸出量vco2。
以上速度控制環(huán)712a與速度控制環(huán)712b應(yīng)該相互獨(dú)立設(shè)置。
直線控制裝置710在直立控制輸出量sco1和速度控制輸出量vco1的基礎(chǔ)上,增加直線控制輸出量lco1來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)730a的pwm信號(hào)out1;同時(shí),直線控制裝置710在直立控制輸出量sco2和速度控制輸出量vco2的基礎(chǔ)上,增加直線控制輸出量lco2來調(diào)節(jié)用于驅(qū)動(dòng)所述左輪電機(jī)730b的pwm信號(hào)out2。
pwm信號(hào)out1經(jīng)由左輪電機(jī)的驅(qū)動(dòng)器720a驅(qū)動(dòng)左輪電機(jī)730a動(dòng)作。
pwm信號(hào)out2經(jīng)由右輪電機(jī)的驅(qū)動(dòng)器720b驅(qū)動(dòng)右輪電機(jī)730b動(dòng)作。
以上每一控制環(huán)(包括直立控制環(huán)、速度控制環(huán)和直線控制環(huán))對(duì)應(yīng)一個(gè)控制器,該控制器的類型可以為p控制器、pi控制器、pd控制器、或者pid控制器。
在本發(fā)明的一個(gè)具體實(shí)施例中,以上每一控制環(huán)均采用pd控制器。
以上每一控制環(huán)可以各自對(duì)應(yīng)一個(gè)獨(dú)立的處理器。以上所有控制環(huán)也可以由一個(gè)處理器實(shí)現(xiàn)。
雙輪機(jī)器人的運(yùn)動(dòng)控制系統(tǒng)在接收到轉(zhuǎn)向運(yùn)動(dòng)指令時(shí),將關(guān)閉直線控制裝置710,并轉(zhuǎn)由轉(zhuǎn)向控制裝置(圖中未示出)起作用,該轉(zhuǎn)向控制裝置至少包括以上直立控制環(huán)711a、速度控制環(huán)712a、直立控制環(huán)711b、及速度控制環(huán)712b。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分相互參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚的是,上述各實(shí)施例可以根據(jù)需要單獨(dú)使用或者相互結(jié)合使用。另外,對(duì)于裝置實(shí)施例而言,由于其是與方法實(shí)施例相對(duì)應(yīng),所以描述得比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的對(duì)應(yīng)部分的說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說明的模塊可以是或者也可以不是物理上分開的。
本發(fā)明可以是裝置、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個(gè)方面的計(jì)算機(jī)可讀程序指令。
計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是可以保持和存儲(chǔ)由指令執(zhí)行設(shè)備使用的指令的有形設(shè)備。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是――但不限于――電存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、電磁存儲(chǔ)設(shè)備、半導(dǎo)體存儲(chǔ)設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、靜態(tài)隨機(jī)存取存儲(chǔ)器(sram)、便攜式壓縮盤只讀存儲(chǔ)器(cd-rom)、數(shù)字多功能盤(dvd)、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如其上存儲(chǔ)有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不被解釋為瞬時(shí)信號(hào)本身,諸如無線電波或者其他自由傳播的電磁波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸?shù)碾娦盘?hào)。
這里所描述的計(jì)算機(jī)可讀程序指令可以從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)下載到各個(gè)計(jì)算/處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計(jì)算機(jī)或外部存儲(chǔ)設(shè)備。網(wǎng)絡(luò)可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān)計(jì)算機(jī)和/或邊緣服務(wù)器。每個(gè)計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì)算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,以供存儲(chǔ)在各個(gè)計(jì)算/處理設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。
用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序指令可以是匯編指令、指令集架構(gòu)(isa)指令、機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言—諸如smalltalk、c++等,以及常規(guī)的過程式編程語言—諸如“c”語言或類似的編程語言。計(jì)算機(jī)可讀程序指令可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)—包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實(shí)施例中,通過利用計(jì)算機(jī)可讀程序指令的狀態(tài)信息來個(gè)性化定制電子電路,例如可編程邏輯電路、現(xiàn)場(chǎng)可編程門陣列(fpga)或可編程邏輯陣列(pla),該電子電路可以執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個(gè)方面。
這里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各個(gè)方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
這些計(jì)算機(jī)可讀程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。也可以把這些計(jì)算機(jī)可讀程序指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,這些指令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲(chǔ)有指令的計(jì)算機(jī)可讀介質(zhì)則包括一個(gè)制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的各個(gè)方面的指令。
也可以把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的指令實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作。
附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。對(duì)于本領(lǐng)域技術(shù)人員來說公知的是,通過硬件方式實(shí)現(xiàn)、通過軟件方式實(shí)現(xiàn)以及通過軟件和硬件結(jié)合的方式實(shí)現(xiàn)都是等價(jià)的。
以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的技術(shù)改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。本發(fā)明的范圍由所附權(quán)利要求來限定。