CN112720447B - 零力矩点抖动的处理方法、装置、机器人及存储介质 - Google Patents
零力矩点抖动的处理方法、装置、机器人及存储介质 Download PDFInfo
- Publication number
- CN112720447B CN112720447B CN201910971974.7A CN201910971974A CN112720447B CN 112720447 B CN112720447 B CN 112720447B CN 201910971974 A CN201910971974 A CN 201910971974A CN 112720447 B CN112720447 B CN 112720447B
- Authority
- CN
- China
- Prior art keywords
- moment point
- coordinate system
- zero moment
- robot
- axis
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01L—MEASURING FORCE, STRESS, TORQUE, WORK, MECHANICAL POWER, MECHANICAL EFFICIENCY, OR FLUID PRESSURE
- G01L5/00—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes
- G01L5/16—Apparatus for, or methods of, measuring force, work, mechanical power, or torque, specially adapted for specific purposes for measuring several components of force
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Chemical & Material Sciences (AREA)
- Physics & Mathematics (AREA)
- Combustion & Propulsion (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本申请属于机器人技术领域,尤其涉及一种零力矩点抖动的处理方法、装置、机器人及计算机可读存储介质。所述方法包括:获取预设的传感器采集的左脚受力信息和右脚受力信息,所述传感器分别设置在机器人的双足和腿部连接的部位;根据所述左脚受力信息和右脚受力信息,分别计算所述机器人的第一零力矩点和第二零力矩点;根据所述第一零力矩点和第二零力矩点,计算所述机器人的第三零力矩点;计算所述第三零力矩点在预设的周期内的抖动幅值;当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整。通过本申请,机器人可以消除由于自身系统振荡引起的一定幅值内的零力矩点抖动,从而有效提高机器人的稳定性。
Description
技术领域
本发明属于机器人技术领域,尤其涉及一种零力矩点抖动的处理方法、装置、机器人及计算机可读存储介质。
背景技术
双足机器人是集机械技术、电子技术、控制技术、计算机技术、传感技术、人工智能、仿生学等多学科于一体的综合性平台。相比其他足式机器人,双足机器人更适合在人类生活或工作环境中与人类协调工作。为使双足机器人更好地适应环境,更好地为人类服务,双足机器人必须具有稳定的平衡系统。
机器人在站立、行走等运动过程中,可能由于机器人系统的振荡,引起零力矩点位置的抖动,进而影响到机器人的稳定性。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明实施例提供了一种零力矩点抖动的处理方法、装置、机器人及计算机可读存储介质,以解决现有技术中由于机器人系统振荡引起的零力矩点抖动,影响机器人稳定性的问题。
本申请实施例的第一方面,提供了一种零力矩点抖动的处理方法,包括:
获取预设的传感器采集的左脚受力信息和右脚受力信息,所述传感器分别设置在机器人的双足和腿部连接的部位;
根据所述左脚受力信息计算所述机器人在左足足底的第一零力矩点,根据所述右脚受力信息计算所述机器人在右足足底的第二零力矩点;
根据下式计算所述机器人的第三零力矩点:
pb=[pbx pby 0]T
其中,pbx为所述第三零力矩点在第三坐标系中的x轴上的坐标,pby为在所述第三零力矩点在所述第三坐标系中的y轴上的坐标,flz为所述左脚受力信息在第一坐标系中的z轴上的力的分量,frz为所述右脚受力信息在第二坐标系中的z轴上的力的分量,plx为所述第一零力矩点在所述第一坐标系中的x轴上的坐标,ply为所述第一零力矩点在所述第一坐标系中的y轴上的坐标,prx为所述第二零力矩点在所述第二坐标系中的x轴上的坐标,pry为所述第二零力矩点在所述第二坐标系中的y轴上的坐标,lx为左脚六维力传感器到所述机器人坐标原点在所述第三坐标系x轴上的距离分量,ly为右腿六维力传感器到所述机器人坐标原点在所述第三坐标系y轴上的距离分量,pb为在所述第三坐标系下的所述第三零力矩点,所述第一坐标系为所述机器人左腿的足底坐标系,所述第二坐标系为所述机器人右腿的足底坐标系,所述第三坐标系为所述机器人的本体坐标系;
计算所述第三零力矩点在预设的周期内的抖动幅值,所述周期为通过对历史数据拟合得到的抖动曲线的周期;
当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整,所述抖动幅值阈值为所述抖动曲线的幅值。
进一步地,在计算所述第三零力矩点在预设的周期内的抖动幅值之前,还包括:
获取所述机器人的零力矩点抖动的历史数据;
对所述历史数据进行曲线拟合,得到零力矩点的抖动曲线;
计算所述抖动曲线的周期和幅值。
进一步地,所述对所述第三零力矩点进行位置调整,包括:
计算所述第三零力矩点在所述周期内的最大值和最小值;
计算所述最大值和所述最小值的平均值,并按照所述平均值对所述第三零力矩点进行位置调整。
进一步地,在计算所述第三零力矩点在预设的周期内的抖动幅值之后,还包括:
当所述抖动幅值大于预定的抖动幅值阈值时,保持所述第三零力矩点不变。
进一步地,所述根据所述左脚受力信息计算所述机器人在左足足底的第一零力矩点,包括:
根据下式确定在所述第一坐标系下的所述第一零力矩点:
plx=(-τly-flx×d)/flz
ply=(-τlx-fly×d)/flz
pl=[plx ply 0]T
其中,d为左脚六维力传感器到左腿脚底的距离,flx为所述左脚受力信息在所述第一坐标系中的x轴上的力的分量,fly为所述左脚受力信息在所述第一坐标系中的y轴上的力的分量,τlx为所述左脚受力信息在所述第一坐标系中的x轴上的力矩分量,τly为所述左脚受力信息在所述第一坐标系中的y轴上的力矩分量,pl为在所述第一坐标系下的所述第一零力矩点。
进一步地,所述根据所述右脚受力信息计算所述机器人在右足足底的第二零力矩点,包括:
根据下式确定在所述第二坐标系下的所述第二零力矩点:
prx=(-τry-frx×d)/frz
pry=(-τrx-fry×d)/frz
pr=[prx pry 0]T
其中,d为右脚六维力传感器到右腿脚底的距离,frx为所述右脚受力信息在所述第二坐标系中的x轴上的力的分量,fry为所述右脚受力信息在所述第二坐标系中的y轴上的力的分量,τrx为所述右脚受力信息在所述第二坐标系中的x轴上的力矩分量,τry为所述右脚受力信息在所述第二坐标系中的y轴上的力矩分量,pr为在所述第二坐标系下的所述第二零力矩点。
本申请实施例的第二方面,提供了一种零力矩点抖动的处理装置,包括:
受力信息获取模块,用于获取预设的传感器采集的左脚受力信息和右脚受力信息,所述传感器分别设置在机器人的双足和腿部连接的部位;
第一计算模块,用于根据所述左脚受力信息计算所述机器人在左足足底的第一零力矩点,根据所述右脚受力信息计算所述机器人在右足足底的第二零力矩点;
第二计算模块,用于根据下式计算所述机器人的第三零力矩点:
pb=[pbx pby 0]T
其中,pbx为所述第三零力矩点在第三坐标系中的x轴上的坐标,pby为在所述第三零力矩点在所述第三坐标系中的y轴上的坐标,flz为所述左脚受力信息在第一坐标系中的z轴上的力的分量,frz为所述右脚受力信息在第二坐标系中的z轴上的力的分量,plx为所述第一零力矩点在所述第一坐标系中的x轴上的坐标,ply为所述第一零力矩点在所述第一坐标系中的y轴上的坐标,prx为所述第二零力矩点在所述第二坐标系中的x轴上的坐标,pry为所述第二零力矩点在所述第二坐标系中的y轴上的坐标,lx为左脚六维力传感器到所述机器人坐标原点在所述第三坐标系x轴上的距离分量,ly为右腿六维力传感器到所述机器人坐标原点在所述第三坐标系y轴上的距离分量,pb为在所述第三坐标系下的所述第三零力矩点,所述第一坐标系为所述机器人左腿的足底坐标系,所述第二坐标系为所述机器人右腿的足底坐标系,所述第三坐标系为所述机器人的本体坐标系;
第三计算模块,用于计算所述第三零力矩点在预设的周期内的抖动幅值,所述周期为通过对历史数据拟合得到的抖动曲线的周期;
位置调整模块,用于当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整,所述抖动幅值阈值为所述抖动曲线的幅值。
进一步地,所述装置还可以包括:
历史数据获取模块,用于获取所述机器人的零力矩点抖动的历史数据;
曲线拟合模块,用于对所述历史数据进行曲线拟合,得到零力矩点的抖动曲线;
参数计算模块,用于计算所述抖动曲线的周期和幅值。
进一步地,所述位置调整模块可以包括;
最大最小值计算单元,用于计算所述第三零力矩点在所述周期内的最大值和最小值;
平均值计算单元,用于计算所述最大值和所述最小值的平均值,并按照所述平均值对所述第三零力矩点进行位置调整。
进一步地,所述装置还可以包括:
零力矩点保持模块,用于当所述抖动幅值大于预定的抖动幅值阈值时,保持所述第三零力矩点不变。
本申请实施例的第三方面,提供了一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的零力矩点的抖动处理方法的步骤。
本申请实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的零力矩点的抖动处理方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例首先获取预设的传感器采集的左脚受力信息和右脚受力信息,并根据所述左脚受力信息和右脚受力信息,分别计算所述双足机器人在双足足底的第一零力矩点和第二零力矩点,然后根据所述第一零力矩点和第二零力矩点,计算所述双足机器人的第三零力矩点,再计算所述第三零力矩点在预设的周期内的抖动幅值,之后,判断所述抖动幅值与预先设定的抖动幅值阈值的关系,当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整。通过本申请,双足机器人可以在站立、行走等运动过程中,消除由于自身系统振荡引起的一定幅值内的零力矩点抖动,从而有效提高双足机器人的稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请一个实施例提供的一种零力矩点抖动的处理方法的示意流程图;
图2为本申请一个实施例提供的一种机器人的足底坐标系的示意图;
图3为本申请一个实施例提供的一种机器人抖动前的示意图;
图4为本申请一个实施例提供的一种机器人抖动后的示意图;
图5为本申请一个实施例的抖动曲线的周期和幅值计算过程的具体流程图;
图6为本申请一个实施例的步骤S140的具体流程图;
图7为本申请一个实施例提供的一种零力矩点抖动的处理装置的示意框图;
图8为本申请一个实施例提供的一种机器人的示意框图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是本申请一个实施例提供的一种零力矩点抖动的处理方法的示意流程图,所述方法由双足机器人执行,可以包括:
步骤S110、获取预设的传感器采集的左脚受力信息和右脚受力信息,所述传感器分别设置在机器人的双足和腿部连接的部位;
步骤S120、根据所述左脚受力信息和右脚受力信息,分别计算所述机器人在双足足底的第一零力矩点和第二零力矩点;
步骤S130、根据所述第一零力矩点和第二零力矩点,计算所述机器人的第三零力矩点;
步骤S140、计算所述第三零力矩点在预设的周期内的抖动幅值,所述周期为通过对历史数据拟合得到的抖动曲线的周期;
步骤S150、当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整,所述抖动幅值阈值为所述抖动曲线的幅值。
下面对以上步骤进行详细说明。
在步骤S110中,获取预设的传感器采集的左脚受力信息和右脚受力信息,所述传感器分别设置在机器人的双足和腿部连接的部位。
优选地,所述传感器可以为六维力传感器,能够同时检测图2所示的足底坐标系中三维空间的左脚受力信息和右脚受力信息,左脚受力信息包括在三个坐标轴方向上的力分量以及力矩分量,右脚受力信息也包括在三个坐标轴方向上的力分量以及力矩分量。通过将双足机器人对足端的左脚受力信息和右脚受力信息传输至机器人的计算装置,计算得到左腿和右腿的零力矩点。在本实施例中,需要使用到左脚受力信息、右脚受力信息分别在x轴方向上的力分量及力矩分量、在y轴方向上的力分量及力矩分量、在z轴方向上的力分量及力矩分量这十二个分量。
在步骤S120中,根据所述左脚受力信息和右脚受力信息,分别计算所述机器人在双足足底的第一零力矩点和第二零力矩点。
可以理解的是,所述零力矩点(Zero Moment Point,ZMP)是指地面上的一个点,足底受到的地面反作用力绕该点在地面上的力矩分量为零。该点是判定仿人机器人动态稳定运动的重要指标,若ZMP落在脚掌的范围里面,则机器人可以进行稳定进行站立、行走等运动。
在本申请的一个实施例中,所述根据所述左脚受力信息和右脚受力信息,分别计算所述双足机器人在双足足底的第一零力矩点和第二零力矩点,包括:
优选地,可以根据下式确定在第一坐标系下的所述第一零力矩点:
plx=(-τly-flx×d)/flz 公式1
ply=(-τlx-fly×d)/flz 公式2
pl=[plx ply 0]T 公式3
其中,d为左脚六维力传感器到左腿脚底的距离,plx为所述第一零力矩点在所述第一坐标系中的x轴上的坐标,ply为所述第一零力矩点在所述第一坐标系中的y轴上的坐标,flx为所述左脚受力信息在所述第一坐标系中的x轴上的力的分量,fly为所述左脚受力信息在所述第一坐标系中的y轴上的力的分量,flz为所述左脚受力信息在所述第一坐标系中的z轴上的力的分量,τlx为所述左脚受力信息在所述第一坐标系中的x轴上的力矩分量,τly为所述左脚受力信息在所述第一坐标系中的y轴上的力矩分量,pl为在所述第一坐标系下的所述第一零力矩点,所述第一坐标系为所述机器人左腿的足底坐标系。
优选地,可以根据下式确定在第二坐标系下的所述第二零力矩点:
prx=(-τry-frx×d)/frz 公式4
pry=(-τrx-fry×d)/frz 公式5
pr=[prx pry 0]T 公式6
其中,d为右脚六维力传感器到右腿脚底的距离,prx为所述右脚受力信息在所述第二坐标系中的x轴上的坐标,pry为所述右脚受力信息在所述第二坐标系中的y轴上的坐标,frx为所述右脚受力信息在所述第二坐标系中的x轴上的力的分量,fry为所述右脚受力信息在所述第二坐标系中的y轴上的力的分量,frz为所述右脚受力信息在所述第二坐标系中的z轴上的力的分量,τrx为所述右脚受力信息在所述第二坐标系中的x轴上的力矩分量,τry为所述右脚受力信息在所述第二坐标系中的y轴上的力矩分量,pr为在所述第二坐标系下的所述第二零力矩点,所述第二坐标系为所述机器人右腿的足底坐标系。
图3为本申请一个实施例提供的一种机器人抖动前的示意图,其中所述机器人左腿的足底坐标系(即第一坐标系)为坐标系A,所述机器人右腿的足底坐标系(即第二坐标系)为坐标系B,所述机器人的本体坐标系(即第三坐标系)为坐标系C。以左腿抖动为例,当机器人左腿抖动时,机器人躯干容易失去平衡,机器人会出现如图4所示的上身倾斜情况。
此时,根据所述左脚受力信息和右脚受力信息,分别计算所述双足机器人在双足足底的第一零力矩点和第二零力矩点,并将计算结果反馈到机器人的计算装置,机器人的计算装置根据第一零力矩点和第二零力矩点,计算相对于机器人质心的第三零力矩点。
在步骤S130中,根据所述第一零力矩点和第二零力矩点,计算所述机器人的第三零力矩点。
在本申请的一个实施例中,可以根据下式计算在第三坐标系下的所述第三零力矩点:
pb=[pbx pby 0]T 公式9
其中,pbx为所述第三零力矩点在所述第三坐标系中的x轴上的坐标,pby为在所述第三零力矩点所述第三坐标系中的y轴上的坐标,flz为所述左脚受力信息在第一坐标系中的z轴上的力的分量,frz为所述右脚受力信息在第二坐标系中的z轴上的力的分量,plx为所述第一零力矩点在所述第一坐标系中的x轴上的坐标,ply为所述第一零力矩点在所述第一坐标系中的y轴上的坐标,prx为所述第二零力矩点在所述第二坐标系中的x轴上的坐标,pry为所述第二零力矩点在所述第二坐标系中的y轴上的坐标,lx为左脚六维力传感器到所述机器人坐标原点在所述第三坐标系x轴上的距离分量,ly为右腿六维力传感器到所述机器人坐标原点在所述第三坐标系y轴上的距离分量,pb为在所述第三坐标系下的所述第三零力矩点,所述第三坐标系为所述机器人的本体坐标系。
如图5所示,在本申请的一个实施例中,在步骤S140之前,还包括以下步骤:
步骤S510、获取所述机器人的零力矩点抖动的历史数据;
步骤S520、对所述历史数据进行曲线拟合,得到零力矩点的抖动曲线;
步骤S530、计算所述抖动曲线的周期和幅值。
下面对以上步骤进行详细说明。
在步骤S510中,所述机器人的零力矩点抖动的历史数据,可以从机器人的存储装置中获取。
在步骤S520和步骤S530中,所述机器人的零力矩点抖动为类正弦和周期性振荡,因此,可以通过对所述历史数据进行曲线拟合,得到零力矩点的抖动曲线,并计算出其周期和幅值,以供在后续步骤S140和步骤S150中使用。
在步骤S140中,计算所述第三零力矩点在预设的周期内的抖动幅值。
如图6所示,在本申请的一个实施例中,步骤S140包括以下步骤:
步骤S610、计算所述第三零力矩点在所述周期内的最大值和最小值。
步骤S620、计算所述最大值和所述最小值之差的绝对值,并将所述绝对值确定为所述抖动幅值。
在步骤S150中,当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整。
具体地,可以首先计算所述最大值和所述最小值的平均值,然后按照所述平均值对所述第三零力矩点进行位置调整。
所述平均值可以是所述最大值和所述最小值的算术平均值、几何平均值、调和平均值、平方平均值或者其它平均值,本申请对此不做具体限定。
通过这样的调整,可以消除由于机器人自身系统振荡引起的一定幅值内的零力矩点抖动,从而有效提高双足机器人的稳定性。
在本申请的一个实施例中,当所述抖动幅值大于预定的抖动幅值阈值时,保持所述第三零力矩点不变。
可以理解的是,当所述抖动幅值大于预定的抖动幅值阈值时,说明此时的零力矩点即为在所述机器人的运动过程中所需获取的数据,无需再对其进行任何调整。
综上所述,本申请实施例与现有技术相比存在的有益效果是:本申请实施例首先获取预设的传感器采集的左脚受力信息和右脚受力信息,并根据所述左脚受力信息和右脚受力信息,分别计算所述双足机器人在双足足底的第一零力矩点和第二零力矩点,然后根据所述第一零力矩点和第二零力矩点,计算所述双足机器人的第三零力矩点,再计算所述第三零力矩点在预设的周期内的抖动幅值,之后,判断所述抖动幅值与预先设定的抖动幅值阈值的关系,当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整。通过本申请,双足机器人可以在站立、行走等运动过程中,消除由于自身系统振荡引起的一定幅值内的零力矩点抖动,从而有效提高双足机器人的稳定性。
如图7所示,是本申请一个实施例提供的一种零力矩点抖动的处理装置,所述装置可以包括:
受力信息获取模块710,用于获取预设的传感器采集的左脚受力信息和右脚受力信息,所述传感器分别设置在机器人的双足和腿部连接的部位;
第一计算模块720,用于根据所述左脚受力信息和右脚受力信息,分别计算所述机器人在双足足底的第一零力矩点和第二零力矩点;
第二计算模块730,用于根据所述第一零力矩点和第二零力矩点,计算所述机器人的第三零力矩点;
第三计算模块740,用于计算所述第三零力矩点在预设的周期内的抖动幅值,所述周期为通过对历史数据拟合得到的抖动曲线的周期;
位置调整模块750,用于当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整,所述抖动幅值阈值为所述抖动曲线的幅值。
进一步地,所述装置还可以包括:
历史数据获取模块,用于获取所述机器人的零力矩点抖动的历史数据;
曲线拟合模块,用于对所述历史数据进行曲线拟合,得到零力矩点的抖动曲线;
参数计算模块,用于计算所述抖动曲线的周期和幅值。
进一步地,所述位置调整模块可以包括;
最大最小值计算单元,用于计算所述第三零力矩点在所述周期内的最大值和最小值;
平均值计算单元,用于计算所述最大值和所述最小值的平均值,并按照所述平均值对所述第三零力矩点进行位置调整。
进一步地,所述装置还可以包括:
零力矩点保持模块,用于当所述抖动幅值大于预定的抖动幅值阈值时,保持所述第三零力矩点不变。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解,上述各个实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图8是本发明一实施例提供的机器人的示意框图。如图8所示,该实施例的机器人8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82。所述处理器80执行所述计算机程序82时实现上述各个零力矩点抖动的处理方法实施例中的步骤,例如图1所示的步骤S110至步骤S150。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图7所示模块710至模块750的功能。
示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述机器人8中的执行过程。
本领域技术人员可以理解,图8仅仅是机器人8的示例,并不构成对机器人8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述机器人8还可以包括输入输出设备、网络接入设备、总线等。
所述处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器81可以是所述机器人8的内部存储单元,例如机器人8的硬盘或内存。所述存储器81也可以是所述机器人8的外部存储设备,例如所述机器人8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述双足机器人8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述机器人8所需的其它程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/机器人和方法,可以通过其它的方式实现。例如,以上所描述的装置/机器人实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种零力矩点抖动的处理方法,其特征在于,包括:
获取预设的传感器采集的左脚受力信息和右脚受力信息,所述传感器分别设置在机器人的双足和腿部连接的部位;
根据所述左脚受力信息计算所述机器人在左足足底的第一零力矩点,根据所述右脚受力信息计算所述机器人在右足足底的第二零力矩点;
根据下式计算所述机器人的第三零力矩点:
pb=[pbx pby 0]T
其中,pbx为所述第三零力矩点在第三坐标系中的x轴上的坐标,pby为在所述第三零力矩点在所述第三坐标系中的y轴上的坐标,flz为所述左脚受力信息在第一坐标系中的z轴上的力的分量,frz为所述右脚受力信息在第二坐标系中的z轴上的力的分量,plx为所述第一零力矩点在所述第一坐标系中的x轴上的坐标,ply为所述第一零力矩点在所述第一坐标系中的y轴上的坐标,prx为所述第二零力矩点在所述第二坐标系中的x轴上的坐标,pry为所述第二零力矩点在所述第二坐标系中的y轴上的坐标,lx为左脚六维力传感器到所述机器人坐标原点在所述第三坐标系x轴上的距离分量,ly为右腿六维力传感器到所述机器人坐标原点在所述第三坐标系y轴上的距离分量,pb为在所述第三坐标系下的所述第三零力矩点,所述第一坐标系为所述机器人左腿的足底坐标系,所述第二坐标系为所述机器人右腿的足底坐标系,所述第三坐标系为所述机器人的本体坐标系;
计算所述第三零力矩点在预设的周期内的抖动幅值,所述周期为通过对历史数据拟合得到的抖动曲线的周期;
当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整,所述抖动幅值阈值为所述抖动曲线的幅值。
2.根据权利要求1所述的方法,其特征在于,在计算所述第三零力矩点在预设的周期内的抖动幅值之前,还包括:
获取所述机器人的零力矩点抖动的历史数据;
对所述历史数据进行曲线拟合,得到零力矩点的抖动曲线;
计算所述抖动曲线的周期和幅值。
3.根据权利要求1所述的方法,其特征在于,所述对所述第三零力矩点进行位置调整,包括:
计算所述第三零力矩点在所述周期内的最大值和最小值;
计算所述最大值和所述最小值的平均值,并按照所述平均值对所述第三零力矩点进行位置调整。
4.根据权利要求1所述的方法,其特征在于,在计算所述第三零力矩点在预设的周期内的抖动幅值之后,还包括:
当所述抖动幅值大于预定的抖动幅值阈值时,保持所述第三零力矩点不变。
5.根据权利要求1所述的方法,其特征在于,所述根据所述左脚受力信息计算所述机器人在左足足底的第一零力矩点,包括:
根据下式确定在所述第一坐标系下的所述第一零力矩点:
plx=(-τly-flx×d)/flz
ply=(-τlx-fly×d)/flz
pl=[plx ply 0]T
其中,d为左脚六维力传感器到左腿脚底的距离,flx为所述左脚受力信息在所述第一坐标系中的x轴上的力的分量,fly为所述左脚受力信息在所述第一坐标系中的y轴上的力的分量,τlx为所述左脚受力信息在所述第一坐标系中的x轴上的力矩分量,τly为所述左脚受力信息在所述第一坐标系中的y轴上的力矩分量,pl为在所述第一坐标系下的所述第一零力矩点。
6.根据权利要求1所述的方法,其特征在于,所述根据所述右脚受力信息计算所述机器人在右足足底的第二零力矩点,包括:
根据下式确定在所述第二坐标系下的所述第二零力矩点:
prx=(-τry-frx×d)/frz
pry=(-τrx-fry×d)/frz
pr=[prx pry 0]T
其中,d为右脚六维力传感器到右腿脚底的距离,frx为所述右脚受力信息在所述第二坐标系中的x轴上的力的分量,fry为所述右脚受力信息在所述第二坐标系中的y轴上的力的分量,τrx为所述右脚受力信息在所述第二坐标系中的x轴上的力矩分量,τry为所述右脚受力信息在所述第二坐标系中的y轴上的力矩分量,pr为在所述第二坐标系下的所述第二零力矩点。
7.一种零力矩点抖动的处理装置,其特征在于,包括:
受力信息获取模块,用于获取预设的传感器采集的左脚受力信息和右脚受力信息,所述传感器分别设置在机器人的双足和腿部连接的部位;
第一计算模块,用于根据所述左脚受力信息计算所述机器人在左足足底的第一零力矩点,根据所述右脚受力信息计算所述机器人在右足足底的第二零力矩点;
第二计算模块,用于根据下式计算所述机器人的第三零力矩点:
pb=[pbx pby 0]T
其中,pbx为所述第三零力矩点在第三坐标系中的x轴上的坐标,pby为在所述第三零力矩点在所述第三坐标系中的y轴上的坐标,flz为所述左脚受力信息在第一坐标系中的z轴上的力的分量,frz为所述右脚受力信息在第二坐标系中的z轴上的力的分量,plx为所述第一零力矩点在所述第一坐标系中的x轴上的坐标,ply为所述第一零力矩点在所述第一坐标系中的y轴上的坐标,prx为所述第二零力矩点在所述第二坐标系中的x轴上的坐标,pry为所述第二零力矩点在所述第二坐标系中的y轴上的坐标,lx为左脚六维力传感器到所述机器人坐标原点在所述第三坐标系x轴上的距离分量,ly为右腿六维力传感器到所述机器人坐标原点在所述第三坐标系y轴上的距离分量,pb为在所述第三坐标系下的所述第三零力矩点,所述第一坐标系为所述机器人左腿的足底坐标系,所述第二坐标系为所述机器人右腿的足底坐标系,所述第三坐标系为所述机器人的本体坐标系;
第三计算模块,用于计算所述第三零力矩点在预设的周期内的抖动幅值,所述周期为通过对历史数据拟合得到的抖动曲线的周期;
位置调整模块,用于当所述抖动幅值不大于预定的抖动幅值阈值时,对所述第三零力矩点进行位置调整,所述抖动幅值阈值为所述抖动曲线的幅值。
8.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的零力矩点的抖动处理方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的零力矩点的抖动处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971974.7A CN112720447B (zh) | 2019-10-14 | 2019-10-14 | 零力矩点抖动的处理方法、装置、机器人及存储介质 |
US16/724,413 US11565762B2 (en) | 2019-10-14 | 2019-12-23 | Zero moment point jitter processing method and apparatus and robot using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971974.7A CN112720447B (zh) | 2019-10-14 | 2019-10-14 | 零力矩点抖动的处理方法、装置、机器人及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112720447A CN112720447A (zh) | 2021-04-30 |
CN112720447B true CN112720447B (zh) | 2022-08-05 |
Family
ID=75382494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910971974.7A Active CN112720447B (zh) | 2019-10-14 | 2019-10-14 | 零力矩点抖动的处理方法、装置、机器人及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11565762B2 (zh) |
CN (1) | CN112720447B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329206A (zh) * | 2008-07-29 | 2008-12-24 | 东南大学 | 一种用于人体零力矩点测量的测力鞋 |
CN105973143A (zh) * | 2016-05-06 | 2016-09-28 | 北京理工大学 | 一种双足行走步行参数的测量方法与装置 |
CN109605364A (zh) * | 2018-10-31 | 2019-04-12 | 北京理工大学 | 一种仿人机器人摔倒检测和稳定控制方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5355064A (en) * | 1992-03-04 | 1994-10-11 | Honda Giken Kogyo Kabushiki Kaisha | Control system for legged mobile robot |
WO2006118095A1 (ja) * | 2005-04-27 | 2006-11-09 | Tmsuk Co., Ltd. | 歩行パターン作成装置、2足歩行ロボット装置、歩行パターン作成方法、2足歩行ロボット装置の制御方法、プログラムおよび記録媒体 |
CN106584460A (zh) * | 2016-12-16 | 2017-04-26 | 浙江大学 | 一种仿人机器人行走中的振动抑制方法 |
CN110202580B (zh) * | 2019-06-28 | 2020-08-21 | 北京理工大学 | 一种扰动恢复的仿人机器人空间柔顺控制模型构建方法 |
-
2019
- 2019-10-14 CN CN201910971974.7A patent/CN112720447B/zh active Active
- 2019-12-23 US US16/724,413 patent/US11565762B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101329206A (zh) * | 2008-07-29 | 2008-12-24 | 东南大学 | 一种用于人体零力矩点测量的测力鞋 |
CN105973143A (zh) * | 2016-05-06 | 2016-09-28 | 北京理工大学 | 一种双足行走步行参数的测量方法与装置 |
CN109605364A (zh) * | 2018-10-31 | 2019-04-12 | 北京理工大学 | 一种仿人机器人摔倒检测和稳定控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210107577A1 (en) | 2021-04-15 |
US11565762B2 (en) | 2023-01-31 |
CN112720447A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210178588A1 (en) | Robot control method, computer-readable storage medium and robot | |
CN109959381B (zh) | 一种定位方法、装置、机器人及计算机可读存储介质 | |
CN112536796B (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN111098300B (zh) | 一种机器人平衡控制方法、装置、可读存储介质及机器人 | |
CN112744313B (zh) | 一种机器人状态估计方法、装置、可读存储介质及机器人 | |
US11926052B2 (en) | Robot control method, computer-readable storage medium and biped robot | |
CN112731953A (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN113146638B (zh) | 质心位姿估计方法、装置、计算机可读存储介质及机器人 | |
US20220203521A1 (en) | Control method for robot, computer-readable storage medium and robot | |
CN109211267B (zh) | 一种惯性动作捕捉姿态快速校准方法及系统 | |
CN111208809A (zh) | 机器人步态规划方法及终端设备 | |
CN110920769B (zh) | 机器人的足腰协调步态规划方法、装置、介质及机器人 | |
WO2022105023A1 (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN112720447B (zh) | 零力矩点抖动的处理方法、装置、机器人及存储介质 | |
CN109866217B (zh) | 机器人里程定位方法、装置、终端设备及计算机存储介质 | |
CN111844013A (zh) | 机器人步态规划方法、装置、机器人及存储介质 | |
CN112731951A (zh) | 一种机器人平衡控制方法、装置、可读存储介质及机器人 | |
CN113359791B (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN112975941B (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN113927585B (zh) | 一种机器人平衡控制方法、装置、可读存储介质及机器人 | |
CN111854792B (zh) | 一种双足机器人的偏移预警方法、装置及双足机器人 | |
CN113110426A (zh) | 边缘检测方法、装置、机器人及存储介质 | |
CN113246124A (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN113204892A (zh) | 质心轨迹生成方法、装置、计算机可读存储介质及机器人 | |
Brodie et al. | Fusion Integration: COM Trajectory from a force platform |
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 |