首页 / 专利库 / 传感器与探测器 / 增量式编码器 / 用惯导、压力传感器修正下坡悬空后轮里程计误差的方法

用惯导、压传感器修正下坡悬空后轮里程计误差的方法

阅读:93发布:2020-05-12

专利汇可以提供用惯导、压传感器修正下坡悬空后轮里程计误差的方法专利检索,专利查询,专利分析的服务。并且本 发明 属于 机器人 自 定位 技术领域,具体是用惯导、压 力 传感器 修正下坡悬空后轮 里程计 误差的方法来测量机器人当前 姿态 ,当判断为机器人正在下坡时读取 压力传感器 的数据,判断左右轮是否出现悬空的状况,当悬空时采用修正后的 算法 公式对里程计产生的空转误差进行修正的方法。本发明与 现有技术 相比,有益效果在于:可以实时监测机器人是否处于下坡的状态中,当机器人在下坡时通过压力传感器监测后轮是否在悬空,当监测出有后轮已悬空时改变对机器人行走距离增量(Δx,Δy,Δθ)的计算方法,从而减少因一个轮悬空造成的里程计误差对机器人 位姿 增量的影响。,下面是用惯导、压传感器修正下坡悬空后轮里程计误差的方法专利的具体信息内容。

1.用惯导、压传感器修正下坡悬空后轮里程计误差的方法,其特征在于:采用陀螺仪加速度传感器实时检测机器人姿态,以判断机器人是否正在下坡,当由机器人的姿态判断出机器人处于下坡的过程中时,再利用压力传感器检测机器人的后轮是否悬空;
当由姿态判断出机器人处于平面行驶时,或者虽然处于下坡状态,但后轮均未悬空时,采用下式进行行走距离增量(△x,△y,△θ)的计算:
式中:(△x,△y,△θ)=前一次采样间隔走过的路径;△x为机器人x方向位置增量,△y为机器人y方向位置增量,△s为机器人的位置增量,△sr,△sl分别为右轮、左轮行走的距离;b为差动驱动机器人两个轮子之间的距离;θ为机器人的朝向;
当检测出一个后轮已悬空时,忽略两个影响:
(1)后轮转速的强闭环控制使速度不受重力加速度的影响;
(2)忽略前轮的方向对于单后轮驱动直线行驶的影响;这样机器人只受一个后轮的驱动按直线行驶;
左轮悬空时,机器人行走距离增量(△x,△y,△θ)按照下面的修正公式进行计算:
右轮同理。
2.根据权利要求1所述的用惯导、压力传感器修正下坡悬空后轮里程计误差的方法,其特征在于:陀螺仪和加速度传感器均设于机器人底盘的中央位置,陀螺仪用于检测机器人的速度变化;加速度传感器用于检测机器人的速度变化;压力传感器有两个,两个压力传感器分别用于检测两个后轮对于机器人支架的压力;机器人上还设有两个光电编码器、激光传感器和工控机;两个光电编码器分别安装在两个后轮上作为里程计使用;激光传感器用于检测周边环境的信息进行定位导航;工控机作为车载控制器,用于接收陀螺仪、加速度传感器、压力传感器、光电编码器和激光传感器的数据,进行定位导航的运算。
3.根据权利要求1所述的用惯导、压力传感器修正下坡悬空后轮里程计误差的方法,其特征在于:利用陀螺仪和加速度传感器数据计算机器人姿态角,判断机器人是否在下坡的步骤如下:
步骤(1):系统建模,系统的状态方程为:
X(k+1)=AX(k)+Bu(k)+v(k);              (1)
式中,k为时刻,X(k+1)为机器人在(k+1)时刻状态,A为状态转移矩阵,X(k)为机器人在k时刻状态,B为系统控制矩阵,u(k)为k时刻系统输入量,v(k)为系统过程噪声,输出方程为:
Y(k)=CX(k)+w(k);                      (2)
式中,Y(k)为k时刻系统输出量,C为观测矩阵,w(k)为观测噪声,
步骤(2):计算陀螺仪测量到的姿态角预估计值与加速度传感器之间的偏差:
error(k)=angle_g(k)-angle_a(k);                  (3)
式中,error(k)为在k时刻的姿态角偏差,angle_g(k)为k时刻陀螺仪计算到的姿态角,angle_a(k)为k时刻加速度传感器测得的姿态角,
步骤(3):计算Kalman增益K(k):
K(k)=P(k-1)·CT/[C·P(k-1)·CT+R(k)];          (4)
式中,P(k-1)为状态估计,R(k)为旋转矩阵,
步骤(4):计算k时刻机器人姿态角的最终输出值angle_final(k):
angle_final(k)=angle_g(k)+K(k)·error(k);          (5)
步骤(5):计算k+1时刻的滤波协方差P(k+1):
P(k|k)=(I-K(k)·C)P(k|k-1);              (6)
式中,P(k|k)为k时刻状态估计,I为单位矩阵,P(k|k-1)为(k-1)时刻状态估计,至此就完成了k时刻对机器人姿态所有的Kalman滤波计算,当k+1时刻的陀螺仪角速度数据输入到机器人中,回到步骤(1)进行计算,这样不停的迭代运行以输出机器人的姿态信息,在得到机器人的姿态信息后,判断angle_final(k)和根据斜坡斜率得出的可判断机器人正在下坡的临界角度critical_angle,下坡的临界角度critical_angle根据机器人结构设计由人工人为设定,当angle_final(k)>critical_angle时,判断机器人正在下坡,不然判断机器人在正常的行驶。
4.根据权利要求3所述的用惯导、压力传感器修正下坡悬空后轮里程计误差的方法,其特征在于:检测机器人的后轮是否悬空的方法如下:在k时刻判断机器人正在下坡时,此时不停的读取i、i≥k时刻两个后轮压力传感器的数据p_right(i)和p_left(i)来判断是否有后轮处于悬空的状态,记k-1时刻机器人仍在正常行驶时的两个后轮压力传感器的数据是p_right(k-1)与p_left(k-1),通过压力传感器变化的临界值critical_p来判断后轮是否悬空,即当p_right(k-1)-p_right(i)>critical_p时,判断机器人的右后轮已处于悬空的状态中,当p_left(k-1)-p_left(i)>critical_p时,判断机器人的左后轮已处于悬空的状态中。

说明书全文

用惯导、压传感器修正下坡悬空后轮里程计误差的方法

技术领域

[0001] 本发明属于机器人定位技术领域,涉及一种用惯导、压力传感器修正下坡悬空后轮里程计误差的方法。

背景技术

[0002] 机器人定位,是根据先验环境地图信息、物体位姿的当前估计以及传感器的观测数据等输入信息,经过一定的分析和计算,得到更为准确的物体位姿的估计。测量机器人行驶距离的传感器主要有里程计、陀螺仪加速度传感器等。虽然每一个传感器都具有测量行驶距离的功能,但是单一传感器的测量总会存在一些不足,如里程计存在累计误差和后轮悬空空转造成的误差,而陀螺仪和加速度传感器随时间有漂移,积分之后任何小的常数误差都会无限增长,不适合长时间的精确定位。
[0003] 在实际的机器人定位导航实验中,当机器人下坡时重心前移,可能只存在有三个轮子即两个前轮和一个后轮同时着地的情形,三个轮和地面的接触点组成一个平面,第四个轮处在斜坡上必然会悬空,如图1所示。在后轮悬空空转状态下,里程计的测量与实际机器人位置的偏移量会有较大的偏差,有可能直接导致机器人位置丢失,定位失败。
[0004] 利用陀螺仪和加速度传感器可以实时检测出机器人的姿态,通过姿态可以判断出机器人是否处于下坡的过程中,但是机器人在下坡的过程中,不一定都是后轮出现悬空的状况,有可能是前轮出现悬空,这取决于轮椅的重心位置,所以仅仅检测出机器人的姿态还不足以判断后轮是否处于悬空的状态中。利用压力传感器可以实时检测出后轮对于机器人支架压力的变化,但是仅仅利用压力传感器信号的变化不足以判断机器人的后轮出现悬空,因为机器人负载的变化也会导致压力的变化。

发明内容

[0005] 本发明所要解决的技术问题是提供一种利用惯导器件来测量机器人当前姿态,当判断为机器人正在下坡时读取压力传感器的数据,判断左右轮是否出现悬空的状况,当悬空时采用修正后的算法公式对里程计产生的空转误差进行修正的方法。
[0006] 用惯导、压力传感器修正下坡悬空后轮里程计误差的方法,采用陀螺仪和加速度传感器实时检测机器人的姿态,以判断机器人是否正在下坡,当由机器人的姿态判断出机器人处于下坡的过程中时,再利用压力传感器检测机器人的后轮是否悬空,[0007] 当由姿态判断出机器人处于平面行驶时,或者虽然处于下坡状态,但后轮均未悬空时,采用下式进行行走距离增量(△x,△y,△θ)的计算:
[0008]
[0009] 式中:(△x,△y,△θ)=前一次采样间隔走过的路径;△x机器人x方向位置增量,△y为机器人y方向位置增量,△s为机器人的位置增量,△sr,△sl分别为右轮、左轮行走的距离;b为差动驱动机器人两个轮子之间的距离;θ为机器人的朝向;
[0010] 当检测出一个后轮已悬空时,忽略两个影响:
[0011] (1)后轮转速的强闭环控制使速度不受重力加速度的影响;
[0012] (2)忽略前轮的方向对于单后轮驱动直线行驶的影响;这样机器人只受一个后轮的驱动按直线行驶;
[0013] 左轮悬空时,机器人行走距离增量(△x,△y,△θ)按照下面的修正公式进行计算:
[0014]
[0015] 右轮同理。
[0016] 陀螺仪和加速度传感器均设于机器人底盘的中央位置,陀螺仪用于检测机器人的角速度变化;加速度传感器用于检测机器人的速度变化;压力传感器有两个,两个压力传感器分别用于检测两个后轮对于机器人支架的压力;机器人上还设有两个光电编码器、激光传感器和工控机;两个光电编码器分别安装在两个后轮上作为里程计使用;激光传感器用于检测周边环境的信息进行定位导航;工控机作为车载控制器,用于接收陀螺仪、加速度传感器、压力传感器、光电编码器和激光传感器的数据,进行定位导航的运算。
[0017] 利用陀螺仪和加速度传感器数据计算机器人姿态角,判断机器人是否在下坡的步骤如下:
[0018] 步骤(1):系统建模,系统的状态方程为:
[0019] X(k+1)=AX(k)+Bu(k)+v(k);   (7)
[0020] 式中,k为时刻,X(k+1)为机器人在(k+1)时刻状态,A为状态转移矩阵,X(k)为机器人在k时刻状态,B为系统控制矩阵,u(k)为k时刻系统输入量,v(k)为系统过程噪声,[0021] 输出方程为:
[0022] Y(k)=CX(k)+w(k);   (8)
[0023] 式中,Y(k)为k时刻系统输出量,C为观测矩阵,w(k)为观测噪声,[0024] 步骤(2):计算陀螺仪测量到的姿态角预估计值与加速度传感器之间的偏差:
[0025] error(k)=angle_g(k)-angle_a(k);   (9)
[0026] 式中,error(k)为在k时刻的姿态角偏差,angle_g(k)为k时刻陀螺仪计算到的姿态角,angle_a(k)为k时刻加速度传感器测得的姿态角,
[0027] 步骤(3):计算Kalman增益K(k):
[0028] K(k)=P(k-1)·CT/[C·P(k-1)·CT+R(k)];   (10)
[0029] 式中,P(k-1)为状态估计,R(k)为旋转矩阵,
[0030] 步骤(4):计算k时刻机器人姿态角的最终输出值angle_final(k):
[0031] angle_final(k)=angle_g(k)+K(k)·error(k);   (11)
[0032] 步骤(5):计算k+1时刻的滤波协方差P(k+1):
[0033] P(k|k)=(I-K(k)·C)P(k|k-1);   (12)
[0034] 式中,P(k|k)为k时刻状态估计,I为单位矩阵,P(k|k-1)为(k-1)时刻状态估计,[0035] 至此就完成了k时刻对机器人姿态所有的Kalman滤波计算,当k+1时刻的陀螺仪角速度数据输入到机器人中,回到步骤(1)进行计算,这样不停的迭代运行以输出机器人的姿态信息,
[0036] 在得到机器人的姿态信息后,判断angle_final(k)和根据斜坡斜率得出的可判断机器人正在下坡的临界角度critical_angle,下坡的临界角度critical_angle根据机器人结构设计由人工人为设定,当angle_final(k)>critical_angle时,判断机器人正在下坡,不然判断机器人在正常的行驶;
[0037] 检测机器人的后轮是否悬空的方法如下:在k时刻判断机器人正在下坡时,此时不停的读取i、i≥k时刻两个后轮压力传感器的数据p_right(i)和p_left(i)来判断是否有后轮处于悬空的状态,记k-1时刻机器人仍在正常行驶时的两个后轮压力传感器的数据是p_right(k-1)与p_left(k-1),通过压力传感器变化的临界值critical_p来判断后轮是否悬空,即当p_right(k-1)-p_right(i)>critical_p时,判断机器人的右后轮已处于悬空的状态中,当p_left(k-1)-p_left(i)>critical_p时,判断机器人的左后轮已处于悬空的状态中。
[0038] 本发明的有益效果是,可以实时监测机器人是否处于下坡的状态中,当机器人在下坡时通过压力传感器监测后轮是否在悬空,当监测出有后轮已悬空时改变对机器人行走距离增量(△x,△y,△θ)的计算方法,从而减少因一个轮悬空造成的里程计误差对机器人位姿增量的影响。附图说明
[0039] 图1是机器人处于下坡转态且后轮悬空时的结构示意图;
[0040] 图2是用惯导、压力传感器修正下坡悬空后轮里程计误差的方法的逻辑流程图
[0041] 图3是采用卡尔曼滤波算法对集陀螺仪数据和加速度传感器数据进行融合得到最优估计的流程示意图。
[0042] 1-机器人,2-压力传感器,3-惯性导航传感器。

具体实施方式

[0043] 结合附图,说明本发明的具体实施方式。
[0044] 图1展现了机器人在下坡时右后轮处于悬空中的状态,此时只有左轮的里程计是准确的,右轮里程计需要被抛弃使用。惯性导航传感器包括陀螺仪和加速度传感器,图1同时显示了压力传感器和惯导传感器的安装位置。陀螺仪和加速度传感器均设于机器人底盘的中央位置,陀螺仪用于检测机器人的角速度变化;加速度传感器用于检测机器人的速度变化;压力传感器有两个,两个压力传感器分别用于检测两个后轮对于机器人支架的压力,测量机器人在俯仰角pitch和翻滚角roll两个方向上的角速度和加速度。
[0045] 机器人上还设有两个光电编码器、激光传感器和工控机;两个光电编码器分别安装在两个后轮上作为里程计使用;激光传感器用于检测周边环境的信息进行定位导航;工控机作为车载控制器,用于接收陀螺仪、加速度传感器、压力传感器、光电编码器和激光传感器的数据,进行定位导航的运算。
[0046] 图2是用惯导、压力传感器修正下坡悬空后轮里程计误差的方法的逻辑流程图,显示了本发明方法的具体执行顺序,利用惯导计算姿态角判断是否下坡,判断结果为未下坡,则按原公式计算位移,判断结果为下坡,继续判断后轮是否悬空,判断结果为未悬空,则按原公式计算位移,判断结果为悬空,则按修正公式计算位移。
[0047] 图3显示了用卡尔曼滤波器将陀螺仪数据和加速度传感器数据融合的过程,最后得到了机器人的姿态角。
[0048] 当机器人在平面上运动时,姿态角小于设定的临界角度,此时采用里程计进行航迹的推演得到粗定位,之后用激光传感器对于得到的粗定位进行校正,得到精确的定位。
[0049] 当机器人的姿态角大于某个临界的角度(视下坡斜率的大小而定),即判别机器人正在下坡,此时读取压力传感器的数据,同平地上行驶时的数据进行对比,当出现了明显的减小,两者差值大于设定的临界值(视机器人空载及负载的重量而定),此时即可判断机器人的后轮出现了悬空的状况,那么里程计的数据因为后轮的空转产生很大的偏差,此时再使用里程计传统的算法公式进行粗定位将会出现很大的偏差,此时抛弃悬空那个轮的里程计数据,只使用依然在地面行驶的一个里程计数据,采取修正后的算法公式进行机器人位置偏移的计算,之后同样采用激光传感器对粗定位进行校正。
[0050] 本发明的具体方法实现是,采集陀螺仪的数据和加速度传感器的数据,采用卡尔曼滤波算法对两者数据进行融合得到最优估计,获得准确的机器人的俯仰角pitch和翻滚角roll的姿态。
[0051] 具体包括以下五个步骤:
[0052] 步骤(1):系统建模,系统的状态方程为:
[0053] X(k+1)=AX(k)+Bu(k)+v(k);   (1)
[0054] 式中,k为时刻,X(k+1)为机器人在(k+1)时刻状态,A为状态转移矩阵,X(k)为机器人在k时刻状态,B为系统控制矩阵,u(k)为k时刻系统输入量,v(k)为系统过程噪声,[0055] 输出方程为:
[0056] Y(k)=CX(k)+w(k);   (2)
[0057] 式中,Y(k)为k时刻系统输出量,C为观测矩阵,w(k)为观测噪声,[0058] 步骤(2):计算陀螺仪测量到的姿态角预估计值与加速度传感器之间的偏差:
[0059] error(k)=angle_g(k)-angle_a(k);   (3)
[0060] 其中,angle_g(k)为k时刻陀螺仪计算到的姿态角,angle_a(k)为k时刻加速度传感器测得的姿态角,error(k)为在k时刻的姿态角偏差。
[0061] 步骤(3):计算Kalman增益K(k):
[0062] K(k)=P(k-1)·CT/[C·P(k-1)·CT+R(k)];   (4)
[0063] 式中,P(k-1)为状态估计,R(k)为旋转矩阵,
[0064] 步骤(4):计算k时刻机器人姿态角的最终输出值:
[0065] angle_final(k)=angle_g(k)+K(k)·error(k);   (5)
[0066] 步骤(5):计算k+1时刻的滤波协方差P(k+1):
[0067] P(k|k)=(I-K(k)·C)P(k|k-1);   (6)
[0068] 式中,P(k|k)为k时刻状态估计,I为单位矩阵,P(k|k-1)为(k-1)时刻状态估计,[0069] 至此就完成了k时刻对机器人姿态所有的Kalman滤波计算。当k+1时刻的陀螺仪角速度数据输入到机器人中,回到步骤(1)进行计算,这样不停的迭代运行以输出机器人的姿态信息。
[0070] 在得到机器人的姿态信息后,
[0071] 在得到机器人的姿态信息后,判断angle_final(k)和根据斜坡斜率得出的可判断机器人正在下坡的临界角度critical_angle,下坡的临界角度critical_angle根据机器人结构设计由人工人为设定,当angle_final(k)>critical_angle时,判断机器人正在下坡,不然判断机器人在正常的行驶;
[0072] 检测机器人的后轮是否悬空的方法如下:在k时刻判断机器人正在下坡时,此时不停的读取i、i≥k时刻两个后轮压力传感器的数据p_right(i)和p_left(i)来判断是否有后轮处于悬空的状态,记k-1时刻机器人仍在正常行驶时的两个后轮压力传感器的数据是p_right(k-1)与p_left(k-1),通过压力传感器变化的临界值critical_p来判断后轮是否悬空,即当p_right(k-1)-p_right(i)>critical_p时,判断机器人的右后轮已处于悬空的状态中,当p_left(k-1)-p_left(i)>critical_p时,判断机器人的左后轮已处于悬空的状态中。
[0073] 当由姿态判断出机器人处于平面行驶时,或者虽然处于下坡状态,但后轮均未悬空时,采用下式进行行走距离增量(△x,△y,△θ)的计算:
[0074]
[0075] 式中:(△x,△y,△θ)=前一次采样间隔走过的路径;△x为机器人x方向位置增量,△y为机器人y方向位置增量,△s为机器人的位置增量,△sr,△sl分别为右轮、左轮行走的距离;b为差动驱动机器人两个轮子之间的距离;θ为机器人的朝向;
[0076] 当后轮出现悬空的状态时,机器人行走距离的增量(△x,△y,△θ)就不能再按照式(7)进行计算:当后轮出现悬空的状态时,只剩一个轮作驱动轮,两个前轮作为随动轮,这样只受一个后轮驱动,
[0077] 当检测出一个后轮已悬空时,忽略两个影响:
[0078] (1)后轮转速的强闭环控制使速度不受重力加速度的影响;
[0079] (2)忽略前轮的方向对于单后轮驱动直线行驶的影响;这样机器人只受一个后轮的驱动按直线行驶;
[0080] 左轮悬空时,机器人行走距离增量(△x,△y,△θ)按照下面的修正公式进行计算:
[0081]
[0082] 右轮同理。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈