一种机器人步态控制方法与流程

    专利2022-07-07  108


    本发明涉及机器人运动控制方法,具体涉及一种机器人步态控制方法。



    背景技术:

    随着科学技术的飞速发展,机器人技术得到了突飞猛进的发展。机器人可以在远离人类的情况下,快速精准地完成高精度的工作。可广泛应用于抢险救灾、星球探测、军事排雷等不适宜人类生存的环境当中。而足式机器人相对于轮式或履带式机器人在非结构环境中运动具有一定的优越性。在多足步行机器人中,四足机器人结构简单,且运动稳定,在足式机器人中有着最广泛的研究与应用。但四足机器人的运动过程是一个多连杆、强耦合、时变的非线性系统,因此四足机器人的运动控制十分复杂。现有方法多为基于转矩控制的四足机器人步态控制方法,只能对机器人进行固定步长,固定转弯半径的运动控制。在中国专利号为201710295191.2,公告日为2020.4.24的专利文献公开了一种基于正弦对角步态与快速查表法的四足机器人运动控制方法及控制装置,包括:(1)结合对角步态,分析四足机器人腿部结构,建立四足机器人腿部运动数学模型;采用新型正弦步态;(2)通过求解非线性方程组得到四肢各个关节的控制率;建立一种专门面向机器人运动控制的数据库,通过快速查表法得到精确的关节开合角度,快速准确地实现足端轨迹控制。(3)设计足端轨迹控制单元与转向控制单元,以便接入其他控制系统。

    但是该四足机器人运动控制方法及控制装置,采用正弦对角步态;控制机器人,运动模式过于单一,且运动时动作过于僵硬,只能越过部分简单障碍;同时这种方法不能区分使用场景对步态曲线进行修改;这样适应性差。



    技术实现要素:

    本发明提供一种移动稳定的机器人步态控制方法。

    为达到上述目的,本发明的技术方案是:一种机器人步态控制方法,包括以下步骤:

    1).预设起始点p0的坐标、终止点p2的坐标;起始点p0为足端移动前的位置点,终止点p2为足端移动后的位置点,控制点p1为足端移动时的控制点;起始点p0与终止点p2在同一水平线上;2).预设起始点p0与终止点p2在x轴上的移动距离l;预设控制点p1的x坐标与l的比值为t2;

    3).输入第一高度值h1,采集第二高度值h2;第一高度值h1和第二高度值h2都为足端最高点a与起始点p0在y轴上的差值;

    4).比较第一高度值h1与第二高度值h2的差值,并计算足端最高点a的y坐标h:若h1-h2>0,则进行步骤5);若h1-h2<0,则进行步骤6);若h1-h2=0,则步骤7);

    5).进行h=0.8*h1 0.2*h2运算;然后进行步骤8);

    6).进行h=0.8*h2 0.2*h1运算;然后进行步骤8);

    7).进行h=h1运算;然后进行步骤8);

    8).进行y1=h/[2*(1-t2)*t2]运算;得到控制点p1的坐标(t2*l,h/[2*(1-t2)*t2]);

    9).起始点p0、控制点p1和终止点p2通过二阶贝塞尔曲线公式生成足端运动坐标;

    10).控制足端按照足端运动坐标移动。

    进一步的,步骤2)中,控制点p1控制点p1的坐标在l中的占比t1为1/3。

    进一步的,步骤4)中,具体为:第一高度值h1由上位机输入,第二高度值h2由数据采集器采集。

    进一步的,步骤1)中,具体为:起始点p0和终止点p2的纵坐标相等。

    进一步的,起始点p0的坐标为(0,0);终止点p2的坐标为(l,0)。

    进一步的,步骤1)中,还包括预设跨步速度s。

    进一步的,步骤9)中,具体为:控制足端以跨步速度s在足端运动坐标上移动。

    以上控制方法,因为第二高度值h2通过数据采集器采集;第一高度值h1通过上位机输入,第一高度值h1与第二高度值h2会有一定数据出入;通过将第一高度值h1与第二高度值h2进行权重计算,对第一高度值h1的数据进行修正;这样计算出的足端最高点a的高度准确;同时对于同一水平线上的起始点p0和终止点p2;利用步骤8)中公式使得将足端最高点a、起始点p0和终止点p2能满足二阶贝塞尔公式的要求;这样控制点p1的坐标准确;然后再生成足端运动坐标;这样机器人的步态控制准确率高;因为贝塞尔曲线过度平滑,机器人通过以二阶贝塞尔曲线生成的足端运动坐标运动,这样移动稳定。同时,二阶贝塞尔曲线通过起始点、控制点和终止点生成,通过一个控制点控制路径的弯曲轨迹,这样控制变量少,方便控制。

    附图说明

    图1为本发明的流程图。

    图2为本发明中足端运动坐标生成的足端运动曲线的示意图。

    具体实施方式

    下面结合附图和具体实施方式对本发明做进一步详细说明。

    如图1-2所示;一种机器人步态控制方法,机器人包括机械腿和控制模块;机械腿设有足端;足端设置在机械腿最下方,足端具有数据采集器;在本实施例中,数据采集器为红外测距传感器;控制模块包括控制系统和上位机;控制系统包括交互层、权重决策层、足端规划层和执行层;数据采集器、上位机都与交互层信号连接;交互层将数据采集器采集的第二高度值h2、上位机输入的第一高度值h1发送到权重决策层,权重决策层第一高度值h1和第二高度值h2进行权重计算;足端规划层将起始点p0、控制点p1和终止点p2通过二阶贝塞尔曲线公式(b(t)=(1-t)2p0 2t(1-t)p1 t2p2),t∈[0,1];生成足端运动坐标;执行层足端按照足端运动坐标移动。在本实施中,起始点p0为二阶贝塞尔曲线的起始点;控制点p1为二阶贝塞尔曲线的控制点;终止点p2为二阶贝塞尔曲线的终止点;起始点p0和终止点p2的纵坐标处于同一水平面上,即纵坐标相等,本实施例中,起始点p0的坐标为(0,0);终止点p2的坐标为(l,0)。

    在本实施中,l为起始点p0与终止点p2在x轴上的移动距离;t2为控制点p1的x坐标与l的比值。t∈[0,1],t表示足端在起始点p0与终止点p2之间移动的过程;当t=0时,足端在起始点p0;当t=1时,足端在终止点p2。

    机器人步态控制方法,包括以下步骤:

    1).预设起始点p0的坐标、终止点p2的坐标;起始点p0为足端移动前的位置点,终止点p2为足端移动后的位置点,控制点p1为足端移动时的控制点;

    2).预设起始点p0与终止点p2在x轴上的移动距离l;预设控制点p1的x坐标与l的比值为t2;

    3).输入第一高度值h1,采集第二高度值h2;第一高度值h1和第二高度值h2都为足端最高点a与起始点p0在y轴上的差值;

    4).比较第一高度值h1与第二高度值h2的差值,并计算足端最高点a的y坐标h:若h1-h2>0,则进行步骤5);若h1-h2<0,则进行步骤6);若h1-h2=0,则步骤7);

    5).进行h=0.8*h1 0.2*h2运算;然后进行步骤8);

    6).进行h=0.8*h2 0.2*h1运算;然后进行步骤8);

    7).进行h=h1运算;然后进行步骤8);

    8).进行y1=h/[2*(1-t2)*t2]运算;得到控制点p1的坐标(t2*l,h/[2*(1-t2)*t2]);

    9).起始点p0、控制点p1和终止点p2通过二阶贝塞尔曲线公式生成足端运动坐标;

    10).控制足端按照足端运动坐标移动。

    上述控制方法,

    步骤1),还包括预设跨步速度s。起始点p0的坐标为(0,0)。

    步骤2),控制点p1控制点p1的坐标在l中的占比t2为1/3。

    步骤3),第一高度值h1由上位机输入,第二高度值h2由数据采集器采集。在本实施例中,用户通过上位机输入第一高度值h1。

    步骤8),因为起始点p0与终止点p2在同一水平线上;起始点p0与终止点p2的y坐标相同;将设定起始点p0与终止点p2的y坐标都设为0;将起始点p0(0,0);终止点p2(l,0)的y坐标代入到二阶贝塞尔曲线公式(b(t)=(1-t)2p0 2t(1-t)p1 t2p2);同时结合足端最高点的y坐标h;推导出:h=2t*(1-t)*y1;将t2代入到y1=h/[2*(1-t)*t]运算;当t2为1/3时,推导出p1的坐标为(l/3,[9h]/4)。

    因为控制点p1是变量,控制点p1的y坐标会随着足端最高点a的y坐标变化;当足端最高点a的y坐标数值增大时,控制点p1的y坐标也会增大;通过公式y1=h/[2*(1-t2)*t2]计算控制点p1的y坐标这样数据准确。

    步骤9),将起始点p0(0,0)、控制点p[(l/3,(9h)/4]、终止点p2(l,0)的x坐标和y坐标分别代入到二阶贝塞尔曲线公式

    (b(t)=(1-t)2p0 2t(1-t)p1 t2p2),t∈[0,1]进行计算。

    x=(1-t)2*0 2t(1-t)*(l/3) t2*l;y=(1-t)2*0 2t*(1-t)*[(9h)/4] t2*0。

    推导出x=2t*(1-t)*(l/3) t2*l;y=[2t*(1-t)*(9h)]/4;然后生成足端运动坐标。

    步骤10),控制足端以跨步速度s按照足端运动坐标移动。

    以上控制方法,因为第二高度值h2通过数据采集器采集;第一高度值h1通过上位机输入,第一高度值h1与第二高度值h2会有一定数据出入;通过将第一高度值h1与第二高度值h2进行权重计算,对第一高度值h1的数据进行修正;这样计算出的足端最高点a的高度准确;同时同时对于同一水平线上的起始点p0和终止点p2;利用步骤8)中公式使得将足端最高点a、起始点p0和终止点p2能满足二阶贝塞尔公式的要求;;这样控制点p1的坐标准确;然后再生成足端运动坐标;这样机器人的步态控制准确率高;因为贝塞尔曲线过度平滑,机器人通过以二阶贝塞尔曲线生成的足端运动坐标运动,这样移动稳定。同时,二阶贝塞尔曲线通过起始点、控制点和终止点生成,通过一个控制点控制路径的弯曲轨迹,这样控制变量少,方便控制。


    技术特征:

    1.一种机器人步态控制方法,其特征在于:包括以下步骤:

    1).预设起始点p0的坐标、终止点p2的坐标;起始点p0为足端移动前的位置点,终止点p2为足端移动后的位置点,控制点p1为足端移动时的控制点;起始点p0与终止点p2在同一水平线上;

    2).预设起始点p0与终止点p2在x轴上的移动距离l;预设控制点p1的x坐标与l的比值为t2;

    3).输入第一高度值h1,采集第二高度值h2;第一高度值h1和第二高度值h2都为足端最高点a与起始点p0在y轴上的差值;

    4).比较第一高度值h1与第二高度值h2的差值,并计算足端最高点a的y坐标h:若h1-h2>0,则进行步骤5);若h1-h2<0,则进行步骤6);若h1-h2=0,则步骤7);

    5).进行h=0.8*h1 0.2*h2运算;然后进行步骤8);

    6).进行h=0.8*h2 0.2*h1运算;然后进行步骤8);

    7).进行h=h1运算;然后进行步骤8);

    8).进行y1=h/[2*(1-t2)*t2]运算;得到控制点p1的坐标(t2*l,h/[2*(1-t2)*t2]);

    9).起始点p0、控制点p1和终止点p2通过二阶贝塞尔曲线公式生成足端运动坐标;

    10).控制足端按照足端运动坐标移动。

    2.根据权利要求1所述的一种机器人步态控制方法,其特征在于:步骤2)中,控制点p1控制点p1的坐标在l中的占比t1为1/3。

    3.根据权利要求1所述的一种机器人步态控制方法,其特征在于:步骤3)中,具体为:第一高度值h1由上位机输入,第二高度值h2由数据采集器采集。

    4.根据权利要求1所述的一种机器人步态控制方法,其特征在于:步骤1)中,具体为:起始点p0和起始点p2的纵坐标相等。

    5.根据权利要求4所述的一种机器人步太控制方法,其特征在于:步骤1)中具体为:起始点p0的坐标为(0,0);起始点p2的坐标为(l,0)。

    6.根据权利要求1所述的一种机器人步态控制方法,其特征在于:步骤1)中,还包括预设跨步速度s。

    7.根据权利要求6所述的一种机器人步态控制方法,其特征在于:步骤9)中,具体为:控制足端以跨步速度s在足端运动坐标上移动。

    技术总结
    本发明提供一种机器人步态控制方法,通过将第一高度值H1与第二高度值H2进行权重计算,对第一高度值H1的数据进行修正;这样计算出的足端最高点A的高度准确;通过计算出足端最高点A的Y坐标,然后再计算出控制点P1的坐标;本方法能根据不同的场景设定起始点P0、终止点P2的坐标,然后计算出控制点P1的坐标;然后通过二阶贝塞尔曲线公式生成足端运动曲线;这样使用场景广泛;运动模式丰富;同时因为贝塞尔曲线过度平滑,机器人通过以贝塞尔曲线生成的足端运动坐标运动,这样移动稳定。

    技术研发人员:王营东;王蕊;周桂灿;周展鸿;邢泽恺;许昌尧
    受保护的技术使用者:华南理工大学广州学院
    技术研发日:2020.10.10
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-5701.html

    最新回复(0)