CN112859902B - 机器人及其控制方法 - Google Patents

机器人及其控制方法 Download PDF

Info

Publication number
CN112859902B
CN112859902B CN202110084612.3A CN202110084612A CN112859902B CN 112859902 B CN112859902 B CN 112859902B CN 202110084612 A CN202110084612 A CN 202110084612A CN 112859902 B CN112859902 B CN 112859902B
Authority
CN
China
Prior art keywords
robot
plane
angle
vector
acquiring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110084612.3A
Other languages
English (en)
Other versions
CN112859902A (zh
Inventor
赖家杰
杨开红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Original Assignee
Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Shiyuan Electronics Thecnology Co Ltd filed Critical Guangzhou Shiyuan Electronics Thecnology Co Ltd
Priority to CN202110084612.3A priority Critical patent/CN112859902B/zh
Publication of CN112859902A publication Critical patent/CN112859902A/zh
Application granted granted Critical
Publication of CN112859902B publication Critical patent/CN112859902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0891Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for land vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本申请实施例公开了一种机器人及其控制方法,属于机器人控制的技术领域。其中,该方法包括:获取机器人所在平面与水平面之间的角度;获取机器人在平面上的方向向量,其中,方向向量用于表征机器人在平面上的运动方向;基于方向向量和平面的法向量,确定机器人在平面上的偏转角;基于角度和偏转角控制机器人的状态参数,其中,状态参数包括如下至少之一:机身在预设坐标系中的位置、机身的姿态。因此,本申请实施例可以解决相关技术中机器人无法在斜坡上保持平衡的同时保障机器人跨越障碍的能力的技术问题。

Description

机器人及其控制方法
技术领域
本发明涉及机器人控制领域,具体而言,涉及一种机器人及其控制方法。
背景技术
斜坡地形是自然环境中最为常见的地形之一,四足机器人在斜坡上运行时,稳定性的控制比在平地上更加困难,一是四足机器人的足端容易打滑,二是机器人容易翻到,这就造成机器人在斜坡上的稳定性大幅降低。
如图1所示,机器人可以采用机身水平方案保持机身在斜坡上可以保持平衡,但是,由于机身在斜坡上处于水平时,机器人的前后腿摆腿高度不同,若遇到坡度较大的斜坡时,会存在一侧腿可允许的最大摆腿高度变小,那么对于跨越障碍物来说则是十分不利的,即,机身水平方案虽然可以使机器人在斜坡上保持平衡,但是无法保证机器人在斜坡上跨越障碍的能力。
如图2所示,机器人可以采用机身跟随方案来保证机器人在斜坡上跨越障碍的能力,虽然在机身跟随方案中机器人的前后摆腿高度一致,但是,机器人此时哪怕是静止站立在斜坡上,也无法保持机器人能平衡稳定的站立在斜坡上,甚至当斜坡的坡度较大时,机器人会存在颠覆的风险。
由上可知,在现有技术中,机器人在斜坡上保持平衡的同时无法保证机器人跨越障碍的能力,机器人在斜坡上具有跨越障碍的能力的情况下,无法保证机器人的稳定。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种机器人及其控制方法,以至少解决相关技术中机器人无法在斜坡上保持平衡的同时保障机器人跨越障碍的能力的技术问题。
根据本发明实施例的一个方面,提供了一种机器人的控制方法,包括:获取机器人所在平面与水平面之间的角度;获取机器人在平面上的方向向量,其中,方向向量用于表征机器人在平面上的运动方向;基于方向向量和平面的法向量,确定机器人在平面上的偏转角;基于角度和偏转角控制机器人的状态参数,其中,状态参数包括如下至少之一:机身在预设坐标系中的位置、机身的姿态。
可选地,基于角度和偏转角控制机器人的状态参数,包括:获取角度与偏转角正弦值的乘积,得到第一旋转角度,其中,第一旋转角度为机器人的机身绕预设坐标系中的第一坐标轴旋转的角度;获取角度与偏转角余弦值的乘积,得到第二旋转角度,其中,第二旋转角度为机器人的机身绕预设坐标系中的第二坐标轴旋转的角度;基于第一旋转角度和第二旋转角度,控制机器人机身的姿态。
可选地,基于角度和偏转角控制机器人的状态参数,包括:获取角度正弦值、偏转角余弦值以及机身高度的乘积,得到第一位移,其中,第一位移为机器人的机身沿预设坐标系中的第一坐标轴移动的位移;获取角度正弦值、偏转角余弦值以及机身高度的乘积的负值,得到第二位移,其中,第二位移为机器人的机身沿预设坐标系中的第二坐标轴移动的位移;基于第一位移和第二位移,控制机器人机身在预设坐标系中的位置。
可选地,获取机器人所在平面与水平面之间的角度,包括:获取机器人的足端在预设坐标系中的位置坐标;基于位置坐标,确定平面的法向量;基于法向量与水平面之间的夹角,得到平面与水平面之间的角度。
可选地,在基于位置坐标,确定平面的法向量之前,该方法还包括:当平面上机器人足端的数量为第一预设数量时,确定平面的法向量为预先存储的法向量;当平面上机器人足端的数量为第二预设数量时,基于位置坐标确定平面的法向量;其中,第二预设数量大于第一预设数量。
可选地,获取机器人在平面上的方向向量,包括:获取机器人足端在预设坐标系中的位置坐标;根据位置坐标确定第一坐标和第二坐标,其中,第一坐标为机器人两个前足端的位置坐标的中点,第二坐标为机器人两个后足端的位置坐标的中点;基于第一坐标和第二坐标,确定机器人在平面上的方向向量。
可选地,基于方向向量和平面的法向量,确定机器人在平面上的偏转角,包括:获取方向向量在水平面的第一投影向量;获取法向量在水平面的第二投影向量;确定第一投影向量和第二投影向量之间的夹角为机器人在平面上的偏转角。
根据本发明实施例的另一个方面,还提供了一种机器人的控制装置,包括:第一获取模块,用于获取机器人所在平面与水平面之间的角度;第二获取模块,用于获取机器人在平面上的方向向量,其中,方向向量用于表征机器人在平面上的运动方向;确定模块,用于基于方向向量和平面的法向量,确定机器人在平面上的偏转角;控制模块,用于基于角度和偏转角控制机器人的状态参数,其中,状态参数包括如下至少之一:机身在预设坐标系中的位置、机身的姿态。
根据本发明实施例的另一个方面,还提供了一种机器人,包括:机身,机身上不同位置设置有多个运动部件,至少一个运动部件位于平面上;控制器,与机身连接,用于获取平面相对于水平面的角度;获取机器人在平面上方向向量,其中,方向向量用于表征机器人在平面上的运动方向;基于方向向量和平面的法向量,确定机器人在平面上的偏转角;基于角度和偏转角控制机器人的状态参数,其中,状态参数包括如下至少之一:机身在预设坐标系中的位置、机身的姿态。
可选地,该机器人包括:足端,与机身连接,足端的数量至少包括一个;
控制器,与足端连接,用于获取机器人的足端在预设坐标系中的位置坐标;基于位置坐标,确定平面的法向量。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的机器人的控制方法。
根据本发明实施例的另一方面,还提供了一种机器人,包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的机器人的控制方法。
在本发明实施例中,首先可以获取机器人所在平面与水平面之间的角度,然后获取机器人在平面上的运动方向的方向向量,并基于方向向量和平面的法向量来确定机器人在平面上的偏转角,并根据得到的平面与水平面之间的角度和偏转角来控制机器人的机身在预设坐标系中的位置以及机器人机身的姿态,通过调整机器人的姿态和位置使得机器人在斜坡上保持稳定的同时可以跨越障碍;根据偏转角和上述角度值,可以调整机器人与斜坡保持水平,以保证机器人在斜坡上的跨障能力,还可以调整机器人的机身处于稳定域中,以保证机器人在斜坡上可以稳定行走,进而解决了相关技术中机器人无法在斜坡上保持平衡的同时保障机器人跨越障碍的能力的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种斜坡上机器人的示意图;
图2是根据现有技术的另一种斜坡上机器人的示意图;
图3是根据本发明实施例的一种机器人的控制方法的流程图;
图4是根据本发明实施例的一种斜坡上机器人的示意图;
图5是根据本发明实施例的一种斜坡上机器人的截面示意图;
图6是根据本发明实施例的另一种机器人的控制方法的流程图;
图7是根据本发明实施例的又一种机器人的控制方法的流程图;
图8为惯性测量单元的工作流程示意图;
图9是根据本发明实施例的一种机器人的控制装置的示意图;
图10是根据本发明实施例的一种机器人的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
机器人的硬件部分由机械组件、控制器、传感器等部分构成,由整体结构件结合到一起,同时也由专用的软件系统作为支撑,其中,机械组件包括机身、机械腿和机械足;机身和机械足上设置有传感器,用于在机器人行走的过程中,根据传感器采集到的数据控制机器人;控制器用于控制机器人的机身进行旋转,还用于控制机器人的机械腿进行移动。
实施例1
根据本发明实施例,提供了一种机器人的控制方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3是根据本发明实施例的一种机器人的控制方法的流程图,如图3所示,该方法包括如下步骤:
步骤S102,获取机器人所在平面与水平面之间的角度。
上述步骤中的机器人可以为轮式机器人、足式机器人(单足式、双足式、多足式)、履带式机器人、爬行机器人、蠕动式机器人等。
上述步骤中机器人所在的平面可以是斜坡也可以是水平面,当机器人所在平面与水平面之间的角度为0时,机器人所在的平面为水平面,当机器人所在平面与水平面之间的角度大于0时,机器人所在的平面为斜坡。其中,水平面为与重力方向垂直的平面。如图4所示,其中,角度1表示机器人所在平面与水平面之间的角度。
在一种可选的实施例中,在机器人为足式机器人的情况下,可以根据足式机器人的足端的位置来确定机器人所在的平面,并根据该平面的法向量来确定机器人所在平面与水平面之间的角度。
在另一种可选的实施例中,在机器人为轮式机器人的情况下,可以根据轮式机器人的车轮的位置来确定机器人所在平面,并根据该平面的法向量来确定机器人所在平面与水平面之间的角度。
在又一种可选的实施例中,可以预先测量平面与水平面之间的角度,并将平面的位置和该角度的对应关系存储在数据库中或者云端中。当需要确定机器人当前所在平面与水平面之间的角度时,可以根据机器人当前所在的位置,从数据库中或者云端中存储的对应关系中确定该平面与水平面之间的角度。
步骤S104,获取机器人在平面上的方向向量。
其中,方向向量用于表征机器人在平面上的运动方向。
在一种可选的实施例中,机器人的运动方向可以根据机器人的足端位置来进行确定。当机器人有四个足端的情况下,可以根据前侧足端和后侧足端之间的偏转关系来确定机器人的运动方向。
步骤S106,基于方向向量和平面的法向量,确定机器人在平面上的偏转角。
上述步骤中的偏转角为斜坡上的机器人可以上坡最快的路线与机器人实际运动方向之间的角度的投影。如图4所示,角度2表示斜坡上的机器人可以上坡最快的路线与机器人实际运动方向之间的角度,角度2在水平面上的投影表示为机器人在平面上的偏转角。
在一种可选的实施例中,可以根据机器人所在的平面计算得到该平面的法向量,还可以获取预先存储的法向量。
在另一种可选的实施例中,可以根据方向向量和法向量之间的夹角,确定机器人在平面上的偏转角。还可以根据方向向量和法向量在水平面上的投影之间的夹角,确定机器人在平面上的偏转角。
步骤S108,基于角度和偏转角控制机器人的状态参数。
其中,状态参数包括如下至少之一:机身在预设坐标系中的位置、机身的姿态。
上述步骤中的预设坐标系可以是世界坐标系,其中,世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前所有的坐标点都是以该坐标系的原点来确定各自的位置的。可以将机器人在斜坡坡底的位置作为预设坐标系的原点,基于该原点在斜坡上建立坐标系,以机器人可以上坡最快的路线作为预设坐标系的Y轴,将与Y轴垂直,且与斜坡水平的轴作为X轴,将与斜坡垂直且经过原点的轴作为Z轴。
还可以将机器人在斜坡坡底的位置作为预设坐标系的原点,基于该原点在水平面上建立坐标系,以机器人可以上坡最快的路线在水平面上的投影作为预设坐标系的Y轴,将与Y轴垂直,且与水平面水平的轴作为X轴,将与水平面垂直且经过原点的轴作为Z轴。
在一种可选的实施例中,可以根据上述角度和偏转角控制机器人的机身进行旋转,以调整机器人机身的姿态,其中,绕X轴旋转的角度可以为Roll(转动)角,绕Y轴旋转的角度可以为Pitch(俯仰)角。在确定Roll角和Pitch角后,可以根据Roll角控制机器人沿世界坐标系的X轴旋转,根据Pitch角控制机器人的机身沿世界坐标系的Y轴旋转,以调整机器人机身的姿态,使得机器人机身与机器人所在平面平行,以确保该机器人在斜坡上的跨障能力。
在另一种可选的实施例中,可以根据上述角度和偏转角控制机器人的机身进行移动,以便调整机器人机身的位置。具体的,根据角度和偏转角可以得到机器人在X轴上移动的距离,还可以得到机器人在Y轴上移动的距离。通过调整机器人机身的位置,可以使机身在水平面的投影区域位于机器人四个足端在水平面的投影区域中,从而提高机器人在斜坡上的稳定性。如图3所示为通过控制机器人的状态参数,对机器人进行调整之后的示意图,此时机器人的机身可以处于稳定域中,因此该机器人在斜坡上的稳定性最强,并且可以保证机器人在斜坡上的越障能力。需要说明的是,稳定域是根据机器人足端的位置在水平面上的投影所围成的区域。
通过本发明的上述实施例,可以获取机器人所在平面与水平面之间的角度,然后获取机器人在平面上的运动方向的方向向量,并基于方向向量和平面的法向量来确定机器人在平面上的偏转角,并根据得到的平面与水平面之间的角度和偏转角来控制机器人的机身在预设坐标系中的位置以及机器人机身的姿态,通过调整机器人的姿态和位置使得机器人在斜坡上保持稳定的同时可以跨越障碍;根据偏转角和上述角度值,可以调整机器人与斜坡保持水平,以保证机器人在斜坡上的跨障能力,还可以调整机器人的机身处于稳定域中,以保证机器人在斜坡上可以稳定行走,进而解决了相关技术中机器人无法在斜坡上保持平衡的同时保障机器人跨越障碍的能力的技术问题。
可选地,基于角度和偏转角控制机器人的状态参数,包括:获取角度与偏转角正弦值的乘积,得到第一旋转角度,其中,第一旋转角度为机器人的机身绕预设坐标系中的第一坐标轴旋转的角度;获取角度与偏转角余弦值的乘积,得到第二旋转角度,其中,第二旋转角度为机器人的机身绕预设坐标系中的第二坐标轴旋转的角度;基于第一旋转角度和第二旋转角度,控制机器人机身的姿态。
上述步骤中的第一坐标轴为世界坐标系中的X轴,上述步骤中的第二坐标轴为世界坐标系中的Y轴。
在一种可选的实施例中,第一旋转角度可以是控制机器人的机身绕世界坐标系的X轴旋转的角度,即Roll角;上述步骤中的第二旋转角度可以是控制机器人的机身绕世界坐标系的Y轴旋转的角度,即Pitch角。
可以通过如下公式确定Roll角:
Roll=-s*sin(d);
可以通过如下公式确定Pitch角:
Pitch=-s*cos(d);
其中,s为平面与水平面之间的角度,d为偏转角。
通过上述公式计算得到的Roll角和Pitch角可以用来调整机器人机身的姿态,以确保机器人的机身可以与斜坡的平面,从而保证机器人的跨障能力。
可选地,基于角度和偏转角控制机器人的状态参数,包括:获取角度正弦值、偏转角余弦值以及机身高度的乘积,得到第一位移,其中,第一位移为机器人的机身沿预设坐标系中的第一坐标轴移动的位移;获取角度正弦值、偏转角余弦值以及机身高度的乘积的负值,得到第二位移,其中,第二位移为机器人的机身沿预设坐标系中的第二坐标轴移动的位移;基于第一位移和第二位移,控制机器人机身在预设坐标系中的位置。
上述步骤中的机身高度可以是机器人在标准站立状态下其机身与机器人所在平面之间的距离,还可以是根据高度传感器实时检测得到机身与机器人所在平面之间的距离。
在一种可选的实施例中,第一位移可以是沿世界坐标系的X轴移动的距离,第二位移可以是沿世界坐标系的Y轴移动的距离。
可以通过如下公式确定第一位移:
xc=h*sin(s)*cos(d);
可以通过如下公式确定第二位移:
yc=-h*sin(s)*cos(d);
其中,xc为第一位移,yc为第二位移,s为平面与水平面之间的角度,d为偏转角,h为机身高度。
在一种可选的实施例中,机器人的机身在标准站立状态下距离机器人所在平面的高度可以根据通过高度传感器来确定,还可以是预先设置的高度值。
需要说明的是,当机器人的机身在水平面上的投影位于机器人的四足在水平面上的投影所围成的区域内时,可以保证机器人的稳定性。即,通过上述公式得到的第一位移和第二位移可以用来调整机器人机身的位置,以确保机器人的机身在水平面上的投影位于机器人的四足在水平面上的投影所围成的区域内,从而使机器人的机身在斜坡上保持稳定。
可选地,获取机器人所在平面与水平面之间的角度,包括:获取机器人的足端在预设坐标系中的位置坐标;基于位置坐标,确定平面的法向量;基于法向量与水平面之间的夹角,得到平面与水平面之间的角度。
在一种可选的实施例中,可以根据机器人的足端在预设坐标系中的位置坐标确定机器人所在的平面,并确定该平面的法向量,然后根据该法向量与水平面之间的夹角,确定平面与水平面之间的角度。具体的,可以求出法相量与水平面之间的夹角,然后用90°减去夹角,就是平面与水平面之间的角度。
需要说明的是,当机器人的足端的位置坐标的数量小于三个时,是无法确定出机器人所在的平面,此时,可以采用预先设置的法向量来进行计算,以便基于法向量与水平面之间的夹角,得到平面与水平面之间的角度。
可选地,在基于位置坐标,确定平面的法向量之前,该方法还包括:当平面上机器人足端的数量为第一预设数量时,确定平面的法向量为预先存储的法向量;当平面上机器人足端的数量为第二预设数量时,基于位置坐标确定平面的法向量;其中,第二预设数量大于第一预设数量。
上述步骤中的第一预设数量可以为小于3的数量,具体的,第一预设数量可以为0、1、2。当平面上机器人足端的数量小于3时,由于无法根据机器人的足端确定出一个平面,因此,需要根据预先存储的法向量来进行计算。上述步骤中的第二预设数量可以为大于等于3的数量,示例性的,当机器人为四足机器人的情况下,第二预设数量可以为3、4。
上述步骤中预先存储的法向量可以是预先存储的上一时刻的法向量,还可以是任意时刻所求得的法向量。
在一种可选的实施例中,可以用如下公式确定平面的法向量;
首先,确定出机器人的足端所在平面的方程:
ax+by+cz+1=0;
然后,根据该方程确定机器人的足端所在平面的法向量:
n=(a,b,c)T
需要说明的是,当平面上的机器人的足端数量小于3时,无法求得上述平面的方程,此时,可以沿用上一时刻的法向量。
在一种可选的实施例中,在平面上的机器人的足端数量为3的情况下,可以根据足端的三个位置坐标求得唯一的平面法向量。还可以利用最小二乘法,拟合出一个平面,然后根据正交分解,确定出平面的法向量。如下为拟合出的平面:
mini||A*n-B||;
其中,n是机器人所在平面的法向量,A是一个3*3的矩阵,用来表示三个足端在世界坐标系下的三维坐标,B=(1,1,1)T
在另一种可选的实施例中,在平面上的机器人的足端数量为4的情况下,可以利用最小二乘法,拟合出一个平面,然后对拟合出的平面进行正交分解,确定出平面的法向量。如下为拟合出的平面:
mini||C*n-D||;
其中,n是机器人所在平面的法向量,C是一个4*3的矩阵,用来表示四个足端在世界坐标系下的三维坐标,D=(1,1,1,1)T
可选地,获取机器人在平面上的方向向量,包括:获取机器人足端在预设坐标系中的位置坐标;根据位置坐标确定第一坐标和第二坐标,其中,第一坐标为机器人两个前足端的位置坐标的中点,第二坐标为机器人两个后足端的位置坐标的中点;基于第一坐标和第二坐标,确定机器人在平面上的方向向量。
在一种可选的实施例中,可以设置机器人的前侧两足端在世界坐标系中的位置坐标为P0和P1,后侧两足端在世界坐标系中的位置坐标为P2和P3,此时机器人在平面上的方向向量可以通过P0和P1的中点与P2和P3的中点之间的连线来表示。
在另一种可选的实施例中,还可以根据机器人机身中设置的陀螺仪来确定机器人在平面上的方向向量。
可选地,基于方向向量和平面的法向量,确定机器人在平面上的偏转角,包括:获取方向向量在水平面的第一投影向量;获取法向量在水平面的第二投影向量;确定第一投影向量和第二投影向量之间的夹角为机器人在平面上的偏转角。
在一种可选的实施例中,方向向量在水平面的第一投影向量可以用(u,w)来表示,法向量在水平面的第二投影向量可以用(a,b)来表示。
此时,偏转角(deflectionangle)可以用如下公式来表示:
上述计算得到的偏转角的正负号可以通过au+bw来判断。
需要说明的是,偏转角的变化符合右手坐标系,大拇指指向机器人所在平面的法向量的方向为正。若机器人正在上坡,此时偏转角为0,若机器人正在下坡,此时的偏转角可以是3.14或者-3.14(弧度);若机器人侧着上坡,则需要根据右手坐标系法则来判断其为1.57还是-1.57(弧度)。
下面结合图6至图7对本发明一种优选的实施例进行详细说明。如图6所示,该方法可以包括如下步骤:
步骤S61,估计机器人所在斜坡的坡度;
步骤S62,估计机器人在该斜坡上的偏转角度;
步骤S63,根据坡度和偏转角度对机器人的机身进行基准平移调整;
步骤S64,根据坡度和偏转角度对机器人的机身进行底座旋转调整。
如图7所示,该方法可以包括如下步骤:
步骤S71,在世界坐标系中获取机器人足端的位置坐标;
步骤S72,判断机器人所在平面上有多少个足端着地;当少于三个足端着地时,执行步骤S73,当有三个足端着地时,执行步骤S74,当有四个足端着地时,执行步骤S75;
步骤S73,采用上一时刻计算得到的坡度值;
步骤S74,用三个着地的足端坐标来确定一个平面方程;
根据上述的平面方程,可以确定该平面法向量,并基于该法向量计算机器人所在平面的坡度值。
步骤S75,利用四个着地的足端坐标来拟合一个平面方程。
同理,根据上述的平面方程,可以确定该平面法向量,并基于该法向量计算机器人所在平面的坡度值。
可选地,可以通过惯性测量单元(IMU)来获得当前机器人的姿态,如图8所示为惯性测量单元的工作流程示意图。具体的,可以根据惯性测量单元获取机器人的姿态,根据十二个电机和十二个编码器来获取机器人实时的运动参数,将机器人的姿态和机器人的运动参数输入至工控机(工业控制计算机,Industrial Personal Computer),并通过工控机来控制机器人运动。其中,工控机具有重要的计算机属性和特征,如具有计算机主板、CPU(中央处理器,Central Processing Unit)、硬盘、内存、外设及接口,并有操作系统、控制网络和协议。
通过上述步骤,可以使机器人在斜坡上能够保证越障能力的情况下,依然能够稳定地在斜坡上运动。
实施例2
根据本发明实施例,还提供了一种机器人的控制装置,该装置可以执行上述实施例中的机器人的控制方法,具体实现方式和优选应用场景与上述实施例相同,在此不做赘述。
图9是根据本发明实施例的一种机器人的控制装置的示意图,如图9所示,该装置包括:
第一获取模块92,用于获取机器人所在平面与水平面之间的角度;
第二获取模块94,用于获取机器人在平面上的方向向量,其中,方向向量用于表征机器人在平面上的运动方向;
第一确定模块96,用于基于方向向量和平面的法向量,确定机器人在平面上的偏转角;
控制模块98,用于基于角度和偏转角控制机器人的状态参数,其中,状态参数包括如下至少之一:机身在预设坐标系中的位置、机身的姿态。
可选地,控制模块包括:第一获取单元,用于获取角度与偏转角正弦值的乘积,得到第一旋转角度,其中,第一旋转角度为机器人的机身绕预设坐标系中的第一坐标轴旋转的角度;第一获取单元还用于获取角度与偏转角余弦值的乘积,得到第二旋转角度,其中,第二旋转角度为机器人的机身绕预设坐标系中的第二坐标轴旋转的角度;控制单元,用于基于第一旋转角度和第二旋转角度,控制机器人机身的姿态。
可选地,控制模块包括:第一获取单元还获取角度正弦值、偏转角余弦值以及机身高度的乘积,得到第一位移,其中,第一位移为机器人的机身沿预设坐标系中的第一坐标轴移动的位移;第一获取单元还用于获取角度正弦值、偏转角余弦值以及机身高度的乘积的负值,得到第二位移,其中,第二位移为机器人的机身沿预设坐标系中的第二坐标轴移动的位移;控制单元还用于基于第一位移和第二位移,控制机器人机身在预设坐标系中的位置。
可选地,第一获取单元包括:获取子单元,用于获取角度正弦值、偏转角余弦值以及机身高度的乘积,得到第一位移,其中,第一位移为机器人的机身沿预设坐标系中的第一坐标轴移动的位移;获取子单元还用于获取角度正弦值、偏转角余弦值以及机身高度的乘积的负值,得到第二位移,其中,第二位移为机器人的机身沿预设坐标系中的第二坐标轴移动的位移;控制子单元,用于基于第一位移和第二位移,控制机器人机身在预设坐标系中的位置。
可选地,第一获取模块包括:第二获取单元,用于获取机器人的足端在预设坐标系中的位置坐标;第一确定单元,用于基于位置坐标,确定平面的法向量;第一确定单元还用于基于法向量与水平面之间的夹角,得到平面与水平面之间的角度。
可选地,该装置还包括,第二确定模块,用于当平面上机器人足端的数量为第一预设数量时,确定平面的法向量为预先存储的法向量;第二确定模块还用当平面上机器人足端的数量为第二预设数量时,基于位置坐标确定平面的法向量;其中,第二预设数量大于第一预设数量。
可选地,第二获取模块包括:第三获取单元,用于获取机器人足端在预设坐标系中的位置坐标;第二确定单元,用于根据位置坐标确定第一坐标和第二坐标,其中,第一坐标为机器人两个前足端的位置坐标的中点,第二坐标为机器人两个后足端的位置坐标的中点;第二确定单元还用于基于第一坐标和第二坐标,确定机器人在平面上的方向向量。
可选的,第一确定模块包括:第四获取单元,用于获取方向向量在水平面的第一投影向量;第四获取单元还用于获取法向量在水平面的第二投影向量;第三确定单元,用于确定第一投影向量和第二投影向量之间的夹角为机器人在平面上的偏转角。
实施例3
根据本发明实施例,还提供了一种机器人,该机器人可以执行上述实施例中的机器人的控制方法,具体实现方式和优选应用场景与上述实施例相同,在此不做赘述。
图10是根据本发明实施例的一种机器人的示意图,如图10所示,该机器人包括:
机身102,机身上不同位置设置有多个运动部件,至少一个运动部件位于平面上;
控制器104,与机身102连接,用于获取平面相对于水平面的角度;获取机器人在平面上方向向量,其中,方向向量用于表征机器人在平面上的运动方向;基于方向向量和平面的法向量,确定机器人在平面上的偏转角;基于角度和偏转角控制机器人的状态参数,其中,状态参数包括如下至少之一:机身在预设坐标系中的位置、机身的姿态。
可选地,如图10所示,该机器人还包括:
足端106,与足端,与机身102连接,足端的数量至少包括一个;
控制器104,与足端106连接,还用于获取机器人的足端在预设坐标系中的位置坐标;基于位置坐标,确定平面的法向量。
实施例4
本申请实施例还提供了一种计算机存储介质,计算机存储介质可以存储有多条指令,指令适于由处理器加载并执行如上述图3-图10所示实施例的方法步骤,具体执行过程可以参见图3-图10所示实施例的具体说明,在此不进行赘述。
存储介质所在设备可以是机器人。
实施例5
根据本发明实施例,还提供了一种机器人,包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述实施例1中的机器人的控制方法。
通过本申请的上述实施例,首先可以获取机器人所在平面与水平面之间的角度,然后获取机器人在平面上的运动方向的方向向量,并基于方向向量和平面的法向量来确定机器人在平面上的偏转角,并根据得到的平面与水平面之间的角度和偏转角来控制机器人的机身在预设坐标系中的位置以及机器人机身的姿态,通过调整机器人的姿态和位置使得机器人在斜坡上保持稳定的同时可以跨越障碍;根据偏转角和上述角度值,可以调整机器人与斜坡保持水平,以保证机器人在斜坡上的跨障能力,还可以调整机器人的机身处于稳定域中,以保证机器人在斜坡上可以稳定行走,进而解决了相关技术中机器人无法在斜坡上保持平衡的同时保障机器人跨越障碍的能力的技术问题。
领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种机器人的控制方法,其特征在于,包括:
获取机器人所在平面与水平面之间的角度;
获取所述机器人在所述平面上的方向向量,其中,所述方向向量用于表征所述机器人在所述平面上的运动方向;
基于所述方向向量和所述平面的法向量,确定所述机器人在所述平面上的偏转角;
基于所述角度和所述偏转角控制所述机器人的状态参数,其中,所述状态参数包括如下至少之一:机身在预设坐标系中的位置、所述机身的姿态;
其中,基于所述方向向量和所述平面的法向量,确定所述机器人在所述平面上的偏转角包括:获取所述方向向量在所述水平面的第一投影向量;获取所述法向量在所述水平面的第二投影向量;确定所述第一投影向量和所述第二投影向量之间的夹角为所述机器人在所述平面上的偏转角;
所述第一投影向量用(u,w)来表示,所述第二投影向量用(a,b)来表示,所述偏转角deflectionangle用如下公式来表示:
2.根据权利要求1所述的方法,其特征在于,基于所述角度和所述偏转角控制所述机器人的状态参数,包括:
获取所述角度与所述偏转角正弦值的乘积,得到第一旋转角度,其中,所述第一旋转角度为所述机器人的机身绕所述预设坐标系中的第一坐标轴旋转的角度;
获取所述角度与所述偏转角余弦值的乘积,得到第二旋转角度,其中,所述第二旋转角度为所述机器人的机身绕所述预设坐标系中的第二坐标轴旋转的角度;
基于所述第一旋转角度和所述第二旋转角度,控制所述机器人机身的姿态。
3.根据权利要求1所述的方法,其特征在于,基于所述角度和所述偏转角控制所述机器人的状态参数,包括:
获取所述角度正弦值、所述偏转角余弦值以及机身高度的乘积,得到第一位移,其中,所述第一位移为所述机器人的机身沿所述预设坐标系中的第一坐标轴移动的位移;
获取所述角度正弦值、所述偏转角余弦值以及机身高度的乘积的负值,得到第二位移,其中,所述第二位移为所述机器人的机身沿所述预设坐标系中的第二坐标轴移动的位移;
基于所述第一位移和所述第二位移,控制所述机器人机身在所述预设坐标系中的位置。
4.根据权利要求1所述的方法,其特征在于,获取机器人所在平面与水平面之间的角度,包括:
获取所述机器人的足端在所述预设坐标系中的位置坐标;
基于所述位置坐标,确定所述平面的法向量;
基于所述法向量与所述水平面之间的夹角,得到所述平面与所述水平面之间的角度。
5.根据权利要求4所述的方法,其特征在于,在基于所述位置坐标,确定所述平面的法向量之前,所述方法还包括:
当所述平面上所述机器人足端的数量为第一预设数量时,确定所述平面的法向量为预先存储的法向量;
当所述平面上所述机器人足端的数量为第二预设数量时,基于所述位置坐标确定所述平面的法向量;
其中,所述第二预设数量大于第一预设数量。
6.根据权利要求1所述的方法,其特征在于,获取所述机器人在所述平面上的方向向量,包括:
获取所述机器人足端在预设坐标系中的位置坐标;
根据所述位置坐标确定第一坐标和第二坐标,其中,所述第一坐标为所述机器人两个前足端的位置坐标的中点,所述第二坐标为所述机器人两个后足端的位置坐标的中点;
基于所述第一坐标和所述第二坐标,确定所述机器人在所述平面上的所述方向向量。
7.一种机器人的控制装置,其特征在于,包括:
第一获取模块,用于获取机器人所在平面与水平面之间的角度;
第二获取模块,用于获取所述机器人在所述平面上的方向向量,其中,所述方向向量用于表征所述机器人在所述平面上的运动方向;
确定模块,用于基于所述方向向量和所述平面的法向量,确定所述机器人在所述平面上的偏转角;
控制模块,用于基于所述角度和所述偏转角控制所述机器人的状态参数,其中,所述状态参数包括如下至少之一:机身在预设坐标系中的位置、所述机身的姿态。
其中,确定模块还用于:获取所述方向向量在所述水平面的第一投影向量;获取所述法向量在所述水平面的第二投影向量;确定所述第一投影向量和所述第二投影向量之间的夹角为所述机器人在所述平面上的偏转角;
所述第一投影向量用(u,w)来表示,所述第二投影向量用(a,b)来表示,所述偏转角deflectionangle用如下公式来表示:
8.一种机器人,其特征在于,包括:
机身,所述机身上不同位置设置有多个运动部件,至少一个运动部件位于平面上;
控制器,与所述机身连接,用于获取所述平面相对于水平面的角度;获取所述机器人在所述平面上方向向量,其中,所述方向向量用于表征所述机器人在所述平面上的运动方向;基于所述方向向量和所述平面的法向量,确定所述机器人在所述平面上的偏转角;基于所述角度和所述偏转角控制所述机器人的状态参数,其中,所述状态参数包括如下至少之一:所述机身在预设坐标系中的位置、所述机身的姿态;
其中,所述控制器还用于获取所述方向向量在所述水平面的第一投影向量;获取所述法向量在所述水平面的第二投影向量;确定所述第一投影向量和所述第二投影向量之间的夹角为所述机器人在所述平面上的偏转角;
所述第一投影向量用(u,w)来表示,所述第二投影向量用(a,b)来表示,所述偏转角deflectionangle用如下公式来表示:
9.根据权利要求8所述的机器人,其特征在于,包括:
足端,与所述机身连接,所述足端的数量至少包括一个;
控制器,与所述足端连接,用于获取所述机器人的所述足端在所述预设坐标系中的位置坐标;基于所述位置坐标,确定所述平面的法向量。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1至6中任意一项的方法步骤。
11.一种机器人,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至6中任意一项的方法步骤。
CN202110084612.3A 2021-01-21 2021-01-21 机器人及其控制方法 Active CN112859902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110084612.3A CN112859902B (zh) 2021-01-21 2021-01-21 机器人及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110084612.3A CN112859902B (zh) 2021-01-21 2021-01-21 机器人及其控制方法

Publications (2)

Publication Number Publication Date
CN112859902A CN112859902A (zh) 2021-05-28
CN112859902B true CN112859902B (zh) 2024-02-23

Family

ID=76008968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110084612.3A Active CN112859902B (zh) 2021-01-21 2021-01-21 机器人及其控制方法

Country Status (1)

Country Link
CN (1) CN112859902B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120060578A (ko) * 2010-12-02 2012-06-12 삼성전자주식회사 보행 로봇 및 그 자세 제어 방법
CN104331081A (zh) * 2014-10-10 2015-02-04 北京理工大学 一种双足机器人斜面行走的步态规划方法
CN107065867A (zh) * 2017-03-28 2017-08-18 浙江大学 一种面向未知崎岖地形的四足机器人运动规划方法
CN109093626A (zh) * 2018-09-28 2018-12-28 中科新松有限公司 四足机器人的机身姿态控制方法及装置
CN110561428A (zh) * 2019-08-23 2019-12-13 大族激光科技产业集团股份有限公司 机器人基坐标系位姿的确定方法、装置、系统及可读介质
CN111469945A (zh) * 2020-04-16 2020-07-31 山东大学 一种四足机器人及坡面运动姿势调整方法
CN111891252A (zh) * 2020-08-06 2020-11-06 齐鲁工业大学 一种四足仿生机器人的身体姿态斜坡自适应控制方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120060578A (ko) * 2010-12-02 2012-06-12 삼성전자주식회사 보행 로봇 및 그 자세 제어 방법
CN104331081A (zh) * 2014-10-10 2015-02-04 北京理工大学 一种双足机器人斜面行走的步态规划方法
CN107065867A (zh) * 2017-03-28 2017-08-18 浙江大学 一种面向未知崎岖地形的四足机器人运动规划方法
CN109093626A (zh) * 2018-09-28 2018-12-28 中科新松有限公司 四足机器人的机身姿态控制方法及装置
CN110561428A (zh) * 2019-08-23 2019-12-13 大族激光科技产业集团股份有限公司 机器人基坐标系位姿的确定方法、装置、系统及可读介质
CN111469945A (zh) * 2020-04-16 2020-07-31 山东大学 一种四足机器人及坡面运动姿势调整方法
CN111891252A (zh) * 2020-08-06 2020-11-06 齐鲁工业大学 一种四足仿生机器人的身体姿态斜坡自适应控制方法

Also Published As

Publication number Publication date
CN112859902A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN111891252B (zh) 一种四足仿生机器人的身体姿态斜坡自适应控制方法
CN109093626B (zh) 四足机器人的机身姿态控制方法及装置
Nishiwaki et al. The experimental humanoid robot H7: a research platform for autonomous behaviour
US11921508B2 (en) Systems and methods for ground plane estimation
CN113031639B (zh) 机器人步长处理方法、装置、机器人控制设备及存储介质
CN108135361A (zh) 运动控制座椅输入设备
CN112114589A (zh) 足式机器人运动控制方法、装置、设备及介质
CN112731953A (zh) 机器人控制方法、装置、计算机可读存储介质及机器人
CN109500821B (zh) 四足机器人着地足力分配方法、装置、终端及计算机可读存储介质
CN111605642A (zh) 六足机器人的自由容错步态规划方法、装置及存储介质
CN112975978B (zh) 多足机器人负重平衡方法、装置和多足机器人
Featherstone Quantitative measures of a robot’s physical ability to balance
KR102509678B1 (ko) 대상물 모션 예측 방법, 모션 모델 보정 방법, 기정 양 도출 방법 및 가상 현실 뷰 생성 방법
Fućek et al. Analytically founded yaw control algorithm for walking on uneven terrain applied to a hexapod robot
CN112859902B (zh) 机器人及其控制方法
Yue et al. Simulation for senior undergraduate education of robot engineering based on Webots
De Santos et al. Path tracking with quadruped walking machines using discontinuous gaits
CN111844013A (zh) 机器人步态规划方法、装置、机器人及存储介质
Vinod et al. Data-driven MPC for a fog-cloud platform with AI-inferencing in mobile-robotics
Lu et al. Whole‐body motion planning and control of a quadruped robot for challenging terrain
US20230030054A1 (en) Method and apparatus for controlling motion of legged robot, device, and medium
Limsamran et al. Quadruped Robot Standing Stability on Inclined Plane
JPH0699369A (ja) 多脚歩行機構及びその姿勢制御方法
Hayder et al. Electro-Mechanical system design: Self-balancing Robot
Navarro et al. An approach to flocking of robots using minimal local sensing and common orientation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant