1.一種機器人在斜坡平面上直線行駛的判定方法,其特征在于,包括如下步驟:
步驟S1)在所述機器人上建立三維坐標(biāo)系,定義所述機器人行進方向為Y軸正方向,定義垂直于所述斜坡平面的方向為Z軸方向;所述X軸與所述Y軸所處平面與所述斜坡平面平行;
步驟S2)定義所述機器人行進方向為Ts時,重力加速度g在所述三維坐標(biāo)系三個方向上的標(biāo)準(zhǔn)分向量gxs0、gys0、gzs0;
步驟S3)生成一標(biāo)準(zhǔn)方向參數(shù)庫;
步驟S4)控制所述機器人在所述斜坡平面上沿著預(yù)設(shè)的一直線路徑向任一方向Tm直線行駛;
步驟S5)從所述標(biāo)準(zhǔn)方向參數(shù)庫中調(diào)取對應(yīng)該行進方向Tm的標(biāo)準(zhǔn)分向量gxm0、gym0、gzm0數(shù)據(jù);
步驟S6)每隔一定時間間隔t實時采集一組實時方向參數(shù),所述實時方向參數(shù)包括重力加速度g在所述三維坐標(biāo)系三個方向上的實時分向量gxm1、gym1、gzm1;
步驟S7)計算重力加速度g在所述X軸方向上的實時分向量與標(biāo)準(zhǔn)分向量的分向量差值gxd =gxm1 -gxm0 ;
步驟S8)判定所述機器人是否沿著預(yù)設(shè)的直線路徑行駛;當(dāng)gxd等于0時,判定所述機器人沿著預(yù)設(shè)的直線路徑行駛,返回步驟S6);當(dāng)gxd不等于0時,判定所述機器人偏離預(yù)設(shè)的直線路徑。
2.如權(quán)利要求1所述的機器人在斜坡平面上直線行駛的判定方法,其特征在于,步驟S3)生成一標(biāo)準(zhǔn)方向參數(shù)庫,具體包括如下步驟:
步驟S31)控制所述機器人在所述斜坡平面上沿著預(yù)設(shè)的一圓環(huán)路徑做勻速圓周運動;
步驟S32)在所述機器人做圓周運動過程中,每隔一定時間間隔t0實時采集并記錄至少一組標(biāo)準(zhǔn)方向參數(shù);每一組標(biāo)準(zhǔn)方向參數(shù)包括所述機器人的一行進方向Ts及對應(yīng)該行進方向的標(biāo)準(zhǔn)分向量gxs0、gys0、gzs0;以及
步驟S33)根據(jù)至少一組標(biāo)準(zhǔn)方向參數(shù)生成一標(biāo)準(zhǔn)方向參數(shù)庫。
3.如權(quán)利要求2所述的機器人在斜坡平面上直線行駛的判定方法,其特征在于,步驟S31)中,所述勻速圓周運動的角速度為0.1~1.0度/秒。
4.如權(quán)利要求3所述的機器人在斜坡平面上直線行駛的判定方法,其特征在于,步驟S32)中,所述時間間隔t0為0.1-1.0秒。
5.如權(quán)利要求1所述的機器人在斜坡平面上直線行駛的判定方法,其特征在于,步驟S6)中,所述時間間隔t為0.1-1.0秒。
6.如權(quán)利要求1所述的機器人在斜坡平面上直線行駛的判定方法,其特征在于,步驟S8)之后還可以包括如下步驟:
步驟S9)利用一磁傳感器獲取實時行進方向Tm1;
步驟S10)比對所述實時行進方向Tm1與所述行進方向Tm,如果二者一致,判定所述機器人沿著預(yù)設(shè)的直線路徑行駛,返回步驟S6);如果二者不一致,判定所述機器人偏離預(yù)設(shè)的直線路徑。
7.一種機器人在斜坡平面上直線行駛的控制方法,其特征在于,包括如下步驟:
步驟S11)根據(jù)權(quán)利要求1-6中任一項所述的機器人在斜坡平面上直線行駛的判定方法來判斷一機器人是否沿著預(yù)設(shè)的直線路徑行駛;若所述機器人偏離預(yù)設(shè)的直線路徑,執(zhí)行步驟S12);
步驟S12)控制所述機器人在行駛過程中向所述Tm方向偏轉(zhuǎn);以及
步驟S13)控制所述機器人在所述斜坡平面上沿著Tm方向直線行駛;返回步驟S11)。
8.如權(quán)利要求7所述的機器人在斜坡平面上直線行駛的控制方法,其特征在于,步驟S12)控制所述機器人在行駛過程中向所述Tm方向偏轉(zhuǎn),具體包括如下步驟:
步驟S121)在標(biāo)準(zhǔn)方向參數(shù)庫調(diào)取與所述實時方向參數(shù)對應(yīng)的實際行進方向Tn;
步驟S122)計算所述機器人需要調(diào)整的偏轉(zhuǎn)方向和偏轉(zhuǎn)角度;所述偏轉(zhuǎn)角度為所述實際行進方向Tn與預(yù)設(shè)行進方向Tm的夾角角度;以及
步驟S123)根據(jù)所述機器人需要調(diào)整的偏轉(zhuǎn)方向和偏轉(zhuǎn)角度,利用PID算法控制所述機器人向左或向右發(fā)生偏轉(zhuǎn)。