CN112975966B - 机器人摆动腿落地检测方法、装置和机器人 - Google Patents

机器人摆动腿落地检测方法、装置和机器人 Download PDF

Info

Publication number
CN112975966B
CN112975966B CN202110209706.9A CN202110209706A CN112975966B CN 112975966 B CN112975966 B CN 112975966B CN 202110209706 A CN202110209706 A CN 202110209706A CN 112975966 B CN112975966 B CN 112975966B
Authority
CN
China
Prior art keywords
swing leg
robot
force
joint
foot end
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
CN202110209706.9A
Other languages
English (en)
Other versions
CN112975966A (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.)
Ubtech Robotics Corp
Original Assignee
Ubtech Robotics Corp
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 Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN202110209706.9A priority Critical patent/CN112975966B/zh
Publication of CN112975966A publication Critical patent/CN112975966A/zh
Priority to PCT/CN2021/132112 priority patent/WO2022179209A1/zh
Application granted granted Critical
Publication of CN112975966B publication Critical patent/CN112975966B/zh
Priority to US18/236,395 priority patent/US20230398684A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J17/00Joints
    • B25J17/02Wrist joints
    • B25J17/0258Two-dimensional joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J18/00Arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles 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/02Vehicles 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
    • B62D57/032Vehicles 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 with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mathematical Physics (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)

Abstract

本申请实施例提供一种机器人摆动腿落地检测方法、装置和机器人,该方法包括:当机器人处于摆动期时,获取摆动腿的各个关节受到的力矩;基于所述摆动腿的各个关节受到的力矩估算所述摆动腿的足端受力,并根据所述足端受力计算所述摆动腿的足端在重力方向上的力变化速率;判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述摆动腿落地。该方法在实现落地检测时,可不需要知道精确的足底受力情况,简单易于实现;该方法还具有通用性,无论是力控型还是位控型足式机器人均可适用,并且对机器人的腿部质量的大小没有依赖性,可适用各种形状的足式机器人等。

Description

机器人摆动腿落地检测方法、装置和机器人
技术领域
本申请涉及机器人控制技术领域,尤其涉及一种机器人摆动腿落地检测方法、装置和机器人。
背景技术
在足式机器人的行走过程中,及时且正确地检测摆动腿的落地,对于足式机器人的步态规划和控制稳定性有关键性作用。传统的方法有三种:(1)在足底安装额外的传感器硬件,典型的有在足底贴压电式应变片检测落地信号;(2)设计残差观测器,结合动力学信息,利用关节力矩传感器或电流来观测足端的受力大小;(3)对于腿部质量很轻的机器人,通过静力雅可比矩阵来估计足底受力。以上三种方法都有其局限性,一是在实际应用中,有些机器人的构型使得足底安装传感器不太现实,而且额外的传感器会增加机器人的制造成本;二是残差观测器较为依赖模型参数的精确度,而且一般会有一定程度的滞后;三是通过静力雅可比矩阵求解时对于腿部质量不可忽略时的场景则不再适用。
发明内容
有鉴于此,本申请为了克服现有技术中的不足,提供一种机器人摆动腿落地检测方法、装置和机器人。
本申请的实施例提供一种机器人摆动腿落地检测方法,包括:
当机器人处于摆动期时,获取摆动腿的各个关节受到的力矩;
基于所述摆动腿的各个关节受到的力矩估算所述摆动腿的足端受力,并根据所述足端受力计算所述摆动腿的足端在重力方向上的力变化速率;
判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述摆动腿落地。
在一种实施例中,该机器人摆动腿落地检测方法还包括:
在判定所述摆动腿落地后,判断是否到达预设规划时长或检测到至少一足端离地;
当满足以上条件中的任意一种时,判断进入下一摆动期,并返回所述的获取摆动腿的各个关节受到的力矩的步骤,直到所述机器人停止行走。
在一种实施例中,若所述机器人的各个关节上设有力矩传感器,所述获取摆动腿的各个关节受到的力矩,包括:
通过所述摆动腿的各个关节上的所述力矩传感器采集各个关节受到的力矩大小。
在一种实施例中,所述获取摆动腿的各个关节受到的力矩,包括:
通过所述摆动腿的对应关节的驱动电机的电流按照以下公式估算对应关节受到的力矩,所述公式为:
τi=ri*ki*Ii
其中,τi为所述摆动腿的第i个关节受到的力矩;ri为第i个关节减速器的减速比;ki和Ii分别为第i个关节的驱动电机的力矩系数和电流。
在一种实施例中,所述基于所述摆动腿的各个关节受到的力矩估算所述摆动腿的足端受力,包括:
通过所述摆动腿的速度雅克比矩阵计算所述摆动腿的力雅克比矩阵;
利用所述力雅克比矩阵和所述摆动腿的各个关节受到的力矩计算所述摆动腿的足端受力。
在一种实施例中,所述根据所述足端受力计算所述摆动腿的足端在重力方向上的力变化速率,包括:
根据上一时刻和当前时刻的所述足端受力计算所述摆动腿的足端在当前时刻的合力变化速率,将所述合力变化速率在重力方向上的分量作为所述摆动腿的足端在重力方向上的力变化速率;
或者,所述足端受力包括在重力方向上的足端受力分量,基于上一时刻和当前时刻的所述重力方向上的足端受力分量计算所述足端在当前时刻的在重力方向上的力变化速率。
在一种实施例中,所述判断连续的预设数量的所述力变化速率是否均大于预设阈值,包括:
将计算到的每个所述力变化速率缓存于一个缓存队列中,其中,每次得到一个所述力变化速率,则放入所述缓存队列的一端,并删除另一端的一个元素,以使所述缓存队列的元素个数保持为所述预设数量。
本申请的实施例还提供一种机械臂碰撞检测方法,包括:
获取机械臂的各个关节受到的力矩;
基于所述机械臂的各个关节受到的力矩估算所述机械臂的末端受力,并根据所述末端受力计算所述机械臂的末端在与外界接触面垂直方向上的力变化速率;
判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述机械臂与接触面产生碰撞。
本申请的实施例还提供一种机器人摆动腿落地检测装置,包括:
摆动腿力矩获取模块,用于当机器人处于摆动期时,获取摆动腿的各个关节受到的力矩;
足端受力估算模块,用于基于所述摆动腿的各个关节受到的力矩估算所述摆动腿的足端受力,并根据所述足端受力计算所述摆动腿的足端在重力方向上的力变化速率;
落地判断模块,用于判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述摆动腿落地。
本申请的实施例还提供一种机械臂碰撞检测装置,包括:
机械臂力矩获取模块,用于获取机械臂的各个关节受到的力矩;
末端受力估算模块,用于基于所述机械臂的各个关节受到的力矩估算所述机械臂的末端受力,并根据所述末端受力计算所述机械臂的末端在与接触面垂直方向上的力变化速率;
碰撞判断模块,用于判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述机械臂与接触面产生碰撞。
本申请的实施例还提供一种机器人,所述机器人包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上执行时,实施上述的机器人摆动腿落地检测方法或机械臂碰撞检测方法。
本申请的实施例还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上执行时,实施上述的机器人摆动腿落地检测方法或机械臂碰撞检测方法。
本申请的实施例具有如下有益效果:
本申请实施例提出的机器人摆动腿落地检测方法通过获取摆动腿的关节受到的力矩,基于关节受到的力矩来估算足端的受力,进而监测足端受力的力变化速率来判断摆动腿是否落地,该方法可以实现高效且快速地落地检测,并且不需要知道精确的足底受力情况,简单易于实现;该方法还具有通用性,无论是力控型还是位控型足式机器人均可适用,并且对机器人的腿部质量的大小没有依赖性,可适用各种形状的足式机器人,如点状足式机器人、平板脚足式机器人等。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例1的机器人摆动腿落地检测方法的第一流程示意图;
图2示出了本申请实施例1的机器人摆动腿落地检测方法的缓存队列的结构示意图;
图3示出了本申请实施例1的机器人摆动腿落地检测方法的第二流程示意图;
图4示出了本申请实施例2的机械臂碰撞检测方法的流程示意图;
图5示出了本申请实施例3的机器人摆动腿落地检测装置的结构示意图;
图6示出了本申请实施例4的机械臂碰撞检测装置的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
请参照图1,本实施例提出一种机器人摆动腿落地检测方法,可用于各种足式机器人的摆动腿的落地检测等。
示范性地,该机器人摆动腿落地检测方法包括:
步骤S110,当机器人处于摆动期时,获取摆动腿的各个关节受到的力矩。
本实施例中,所述的摆动期是指足式机器人存在至少一条腿处于悬空状态而没有与地面接触的时期。在机器人处于摆动期时,为了准确判断处于悬空状态的摆动腿何时落地,可通过获取该摆动腿的各个关节受到的力矩,进而粗略估计该摆动腿在笛卡尔空间(即工作空间)的足端受力,以便利用足端受力变化速率来判断摆动腿的落地情况,实现及时高效的检测落地。
通常地,可将足式机器人分为两大类,一种是在关节相应位置处设有力矩传感器,如平板脚型的仿人机器人等;另一种则是不带或不能安装传感器硬件的,如点状脚型的多足式机器人等。本实施例中,对于不同类型的足式机器人,可采用不同的方式来获取腿的各个关节受到的力矩。
对于腿的各个关节上设有力矩传感器的机器人,在一种实施方式中,在获取上述力矩时,可通过对应摆动腿的各个关节上的力矩传感器采集得到。例如,除了采用专用的力矩传感器外,也可以采用用于采集三维力和三维力矩的六维传感器等。
而对于足底没有安装力矩传感器的机器人,在一种实施方式中,在获取上述力矩时,可采用通过摆动腿的对应关节的驱动电机的电流按照相应公式估算出对应关节受到的力矩,从而得到该摆动腿的所有关节受到的力矩。示范性地,用于估算力矩的公式如下:
τi=ri*ki*Ii
其中,τi为摆动腿的第i个关节受到的力矩;ri为第i个关节减速器的减速比;ki和Ii分别为第i个关节的驱动电机的力矩系数和电流。
步骤S120,基于摆动腿的各个关节受到的力矩估算摆动腿的足端受力,并根据该足端受力计算摆动腿的足端在重力方向上的力变化速率。
示范性地,可通过机器人的静力雅克比矩阵映射,粗略地估计出机器人的摆动腿足端在工作空间的受力情况。通常地,在已知外界环境对足端的作用力时,利用力雅克比矩阵可计算出在满足静力平衡条件下的关节驱动力矩。为此,本实施例提出在已知关节受到的力矩时,利用力雅克比矩阵来估算出外界环境对足端的作用力。
在一种实施方式中,可先通过摆动腿的速度雅克比矩阵计算摆动腿的力雅克比矩阵;进而,利用力雅克比矩阵和摆动腿的各个关节受到的力矩计算出摆动腿的足端受力。例如,可通过如下公式估算摆动腿的足端受力fc
Figure BDA0002950976930000081
其中,Jc表示摆动腿的足端受力作用点的速度雅克比矩阵,其反映摆动腿的足端速度和各个关节速度的关系;
Figure BDA0002950976930000082
表示力雅克比矩阵,即为速度雅克比矩阵的转置;τ为由摆动腿的所有关节的力矩构成的列向量。
可以理解,求解到的足端受力为广义受力,在不存在力矩时,则包括三维力;而在存在力矩时,将包括三维力和力矩。例如,对于平板脚的机器人,其足端受力fc=[fx,fy,fz,nx,ny,nz]T,其中,(fx,fy,fz)分别为在X、Y和Z方向上的力分量,(nx,ny,nz)分别为绕X、Y和Z轴的力矩分量。但对于点状脚的机器人,其足端受力fc=[fx,fy,fz]T
值得注意的是,上述步骤仅是粗略计算足端在工作空间中的受力,这是由于,根据机器人摆动腿的全动力学方程:
Figure BDA0002950976930000083
其中,q、
Figure BDA0002950976930000084
Figure BDA0002950976930000085
分别为机器人摆动腿的各个关节的位置、速度和加速度;Jc(q)为速度雅克比矩阵;τ为作用在各个关节上的力矩;M(q)为腿部连杆的惯量矩阵;
Figure BDA0002950976930000091
为离心力和科里奥利力矩阵;G(q)为由摆动腿各个连杆所受重力构成的重力项;S为选择矩阵,用于将τ映射到工作空间,例如,S可设为单位矩阵I等。于是,对上述全动力学方程变换,可得:
Figure BDA0002950976930000092
当摆动腿的质量较轻,且运动速度较慢时,对于
Figure BDA0002950976930000093
Figure BDA0002950976930000094
这一部分,其大小可以忽略,于是可得到τ=-Jc(q)Tfc。可知,若当上述条件不满足时,即摆动腿的质量不可忽略时,或者摆动速度较快时,则利用公式
Figure BDA0002950976930000095
求得的足端受力和真实值将相差较远,若直接使用将无法摆动腿的真实受力情况。然而,对于足端受力的改变速率(即力变化速率),却仍可以通过该粗略计算公式反映出来。
本实施例中,对于落地检测任务而言,关注的只有重力方向上的力变化速率。对于上述步骤S120,在估算出摆动腿的足端受力后,则计算该摆动腿在重力方向上的力变化速率。其中,该重力方向可以理解为摆动腿在运动时的高度方向,通常地,可取世界坐标系中的Z方向。
在一种实施方式中,将根据上一时刻和当前时刻的足端受力计算该摆动腿的足端在当前时刻的合力变化速率,将该合力变化速率在重力方向上的分量作为该摆动腿的足端在重力方向上的力变化速率,若该重力方向与Z方向重合,则该力变化速率为Z方向上的分量。此时,合力变化速率的计算公式为:
Figure BDA0002950976930000096
其中,
Figure BDA0002950976930000101
为合力变化速率;fc为当前时刻的足端受力;
Figure BDA0002950976930000102
为上一时刻的足端受力;Δt为单位时长,即相邻时刻的间隔时长。于是,通过将重力方向上的分量作为该摆动腿的足端在重力方向上的力变化速率,如可记为
Figure BDA0002950976930000103
在另一种实施方式中,足端受力包括重力方向上的足端受力分量,在提取出重力方向上的分量后,则可基于上一时刻和当前时刻的重力方向上的足端受力分量直接计算足端在当前时刻的重力方向上的力变化速率。
步骤S130,判断连续的预设数量的力变化速率是否均大于预设阈值,并在判断出均大于该预设阈值时,判定该摆动腿落地。
示范性地,可预先构建一个缓存队列,该缓存队列是一个包含预设数量元素的双向队列,用于缓存每次计算得到的重力方向上的力变化速率。当然,也可以其他的方式进行数据缓存,在此并不作限定。
在一种实施方式中,可将计算到的每个在重力方向上的力变化速率存储于上述的缓存队列中,以更新该缓存队列。其中,在更新过程中,将每次得到的该力变化速率放入该缓存队列的一端,并删除另一端的一个元素,以使该缓存队列的元素个数始终保持为预设数量。
例如,如图2所示,若缓存队列的左端为队首,右端为队尾,当得到的力变化速率的数量超过该缓存队列中的元素个数时,则将最新得到的力变化速率放入队首,同时将队尾的力变化速率删除,以保证队列中元素的个数始终为N,其中,N为预设数量。可以理解,上述的缓存队列的一端和另一端可分别为队首和队尾,当然也可以是队尾和队首。
关于上述的预设数量N,可根据实际需求来选取,通常地,存在N*Δt会远小于摆动期的总时长,Δt为单位时长。此外,在计算出当前时刻的足端受力及在重力方向上的力变化速率后,还将当前时刻的足端受力更新为上一时刻的足端受力,以便计算下一时刻的力变化速率。
本实施例中,通过判断若干个连续的力变化速率是否均大于一预设阈值,当包含当前时刻的力变化速率在内的这些力变化速率均大于该预设阈值时,即表明满足落地判定条件,此时可判定摆动腿在当前时刻发生落地。在判定落地后,则将缓存队列中的所有元素清除,机器人的当前摆动期结束。可选地,若上述的这些力变化速率存在至少一个不大于该预设阈值,则继续计算并缓存,直到预设数量的连续力变化速率均大于该预设阈值,才判定落地。
通常地,当机器人在行走时,以双足机器人为例,可能存在两条腿依次交替进入摆动期,直到任务完成。因此,在当前摆动期结束后,则可继续判断是否进入下一摆动期,然后重复上述检测步骤,直到行走任务结束。
进一步地,如图3所示,该方法还包括:
步骤S140,在判定摆动腿落地后,判断是否到达预设规划时长或检测到至少一足端离地。例如,该预设规划时长可以是针对双足机器人预先规划的两条腿进行支撑过渡的时长等,也可以是预设的任务等待时长等等。
步骤S150,当满足以上条件中的任意一种时,判断进入下一摆动期,并返回上述的获取摆动腿的各个关节受到的力矩的步骤,直到机器人停止行走。
示范性地,若进入新的摆动腿,则返回上述步骤S110,重复步骤S110~S150,直到该机器人的行走任务执行完成,或者接收到停止信号等,使得机器人不再继续行走。
本实施例的机器人摆动腿落地检测方法通过获取摆动腿的关节受到的力矩,并基于各关节受到的力矩来估算足端的受力,进而监测足端受力的力变化速率来判断摆动腿是否落地,该方法不需要知道精确的足底受力情况,简单易于实现;另外,该方法具有通用性,无论是力控型还是位控型的足式机器人均可适用,并且对机器人的腿部质量的大小没有依赖性,可适用各种形状的足式机器人,如点状足式机器人、平板脚足式机器人等。该方法使得足式机器人在行走过程中能够及时高效的检测落地,可为上层的规划和控制提供必要信息,从而保证机器人的运行稳定性和鲁棒性等。
实施例2
请参照图4,本实施例提出一种机械臂碰撞检测方法,可应用于各种具有机械臂的工业机器人进行机械臂与外界的碰撞检测等。
示范性地,该机械臂碰撞检测方法包括:
步骤S210,获取机械臂的各个关节受到的力矩。
在一种实施方式中,若该机械臂的各个关节带有力矩传感器,则可通过各个关节上的力矩传感器采集得到各个关节受到的力矩。在另一种实施方式中,若该机械臂的各个关节不带有力矩传感器,则可通过对应关节的驱动电机的电流按照相应公式估算对应关节受到的力矩,其中,该公式如下:
τi=ri*ki*Ii
其中,τi为机械臂的第i个关节受到的力矩;ri为第i个关节减速器的减速比;ki和Ii分别为第i个关节的驱动电机的力矩系数和电流。
步骤S220,基于机械臂的各个关节受到的力矩估算机械臂的末端受力,并根据该末端受力计算机械臂的末端在与外界接触面垂直方向上的力变化速率。
示范性地,同样可通过静力雅克比矩阵映射的方式来粗略地估计出机械臂的末端在笛卡尔空间的受力情况。关于末端受力的具体计算,可参考上述实施例1的步骤S120。
在计算得到末端受力后,则计算该机械臂在与外界接触面垂直方向上的力变化速率。可以理解,该接触面是指机械臂与之接触的外界对象,例如,若对于打磨机械臂,则该外界接触面即为被打磨对象的表面。
步骤S230,判断连续的预设数量的力变化速率是否均大于预设阈值,并在判断出均大于该预设阈值时,判定机械臂与接触面产生碰撞。
示范性地,当预设数量的连续的若干力变化速率均大于一预设阈值,则可判定机械臂在当前时刻与外界接触面发生了碰撞。反之,则判定没有碰撞,并继续计算下一时刻的力变化速率,直到得到新的预设数量的力变化速率均符合条件,则判定落地。在一种实施方式中,可通过缓存队列的方式来实现若干连续的力变化速率的缓存,具体可参考上述步骤S130。
可以理解,本实施例的机械臂碰撞检测方法与上述实施例1的区别在于运用对象不同,本实施例针对的是与外界接触的末端位置已知的机械臂,例如,具有机械臂的工业打磨机器人等。而上述实施例1针对的是足式机器人的摆动腿。此外,上述实施例1的部分可选项,同样适用于本实施例,故在此不再重复描述。
本实施例的机械臂碰撞检测方法通过获取机械臂的关节受到的力矩,并基于各关节受到的力矩来估算末端的受力,进而监测末端受力的力变化速率来判断机械臂是否与外界接触面产生碰撞,可实现高效的碰撞检测,以便进行后续的任务操作等。
实施例3
请参照图5,基于上述实施例1的方法,本实施例提出一种机器人摆动腿落地检测装置100,示范性地,该机器人摆动腿落地检测装置100包括:
摆动腿力矩获取模块110,用于当足式机器人处于摆动期时,获取摆动腿的各个关节受到的力矩。
足端受力估算模块120,用于基于所述摆动腿的各个关节受到的力矩估算所述摆动腿的足端受力,并根据所述足端受力计算所述摆动腿的足端在重力方向上的力变化速率。
落地判断模块130,用于判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述摆动腿落地。
可以理解,本实施例的装置对应于上述实施例1的方法,上述实施例1中的可选项同样适用于本实施例,故在此不再重复描述。
实施例4
请参照图6,基于上述实施例2的方法,本实施例提出一种机械臂碰撞检测装置200,示范性地,该机械臂碰撞检测装置200包括:
机械臂力矩获取模块210,用于获取机械臂的各个关节受到的力矩;
末端受力估算模块220,用于基于所述机械臂的各个关节受到的力矩估算所述机械臂的末端受力,并根据所述末端受力计算所述机械臂的末端在与接触面垂直方向上的力变化速率。
碰撞判断模块230,用于判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述机械臂与接触面产生碰撞。
可以理解,本实施例的装置对应于上述实施例2的方法,上述实施例2中的可选项同样适用于本实施例,故在此不再重复描述。
本申请还提供了一种机器人,示范性地,该机器人包括处理器和存储器,其中,存储器存储有计算机程序,处理器通过运行所述计算机程序,从而使移动终端执行上述的方法或者上述装置中的各个模块的功能。
在一些实施例中,例如,该机器人可包括但不限于为点状脚或平板脚等足式机器人,可选地,该足式机器人的运动腿的数量也不作限定,例如,可以是仿人机器人,也可以是具有三足或三足以上的机器人等。对于这些足式机器人的摆动腿,可采用上述的机器人摆动腿落地检测方法进行落地检测。
在另一些实施例中,该机器人还可以是用于与外界接触的末端位置已知的工业机器人,如焊接机器人、打磨机器人等,示范性地,该工业机器人具有至少一条机械臂,对于这些机械臂,可采用上述的机械臂碰撞检测方法进行碰撞检测。
本申请还提供了一种可读存储介质,用于储存上述机器人中使用的所述计算机程序。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (11)

1.一种机器人摆动腿落地检测方法,其特征在于,包括:
当机器人处于摆动期时,获取摆动腿的各个关节受到的力矩;
基于所述摆动腿的各个关节受到的力矩利用力雅克比矩阵估算所述摆动腿的足端受力,并根据所述足端受力计算所述摆动腿的足端在重力方向上的力变化速率;
判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述摆动腿落地。
2.根据权利要求1所述的方法,其特征在于,还包括:
在判定所述摆动腿落地后,判断是否到达预设规划时长或检测到至少一足端离地;
当满足以上条件中的任意一种时,判断进入下一摆动期,并返回所述的获取摆动腿的各个关节受到的力矩的步骤,直到所述机器人停止行走。
3.根据权利要求1所述的方法,其特征在于,若所述机器人的各个关节上设有力矩传感器,所述获取摆动腿的各个关节受到的力矩,包括:
通过所述摆动腿的各个关节上的所述力矩传感器采集各个关节受到的力矩大小。
4.根据权利要求1所述的方法,其特征在于,所述获取摆动腿的各个关节受到的力矩,包括:
通过所述摆动腿的对应关节的驱动电机的电流按照以下公式估算对应关节受到的力矩,所述公式为:
τi=ri*ki*Ii
其中,τi为所述摆动腿的第i个关节受到的力矩;ri为第i个关节减速器的减速比;ki和Ii分别为第i个关节的驱动电机的力矩系数和电流。
5.根据权利要求3或4所述的方法,其特征在于,所述基于所述摆动腿的各个关节受到的力矩利用力雅克比矩阵 估算所述摆动腿的足端受力,包括:
通过所述摆动腿的速度雅克比矩阵计算所述摆动腿的力雅克比矩阵;
利用所述力雅克比矩阵和所述摆动腿的各个关节受到的力矩计算所述摆动腿的足端受力。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述足端受力计算所述摆动腿的足端在重力方向上的力变化速率,包括:
根据上一时刻和当前时刻的所述足端受力计算所述摆动腿的足端在当前时刻的合力变化速率,将所述合力变化速率在重力方向上的分量作为所述摆动腿的足端在重力方向上的力变化速率;
或者,所述足端受力包括在重力方向上的足端受力分量,基于上一时刻和当前时刻的所述重力方向上的足端受力分量计算所述足端在当前时刻的在重力方向上的力变化速率。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述判断连续的预设数量的所述力变化速率是否均大于预设阈值,包括:
将计算到的每个所述力变化速率缓存于一个缓存队列中,其中,每次得到一个所述力变化速率,则放入所述缓存队列的一端,并删除另一端的一个元素,以使所述缓存队列的元素个数保持为所述预设数量。
8.一种机械臂碰撞检测方法,其特征在于,包括:
获取机械臂的各个关节受到的力矩;
基于所述机械臂的各个关节受到的力矩利用力雅克比矩阵估算所述机械臂的末端受力,并根据所述末端受力计算所述机械臂的末端在与接触面垂直方向上的力变化速率;
判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述机械臂与接触面产生碰撞。
9.一种机器人摆动腿落地检测装置,其特征在于,包括:
获取模块,用于当机器人处于摆动期时,获取摆动腿的各个关节受到的力矩;
估算模块,用于基于所述摆动腿的各个关节受到的力矩利用力雅克比矩阵估算所述摆动腿的足端受力,并根据所述足端受力计算所述摆动腿的足端在重力方向上的力变化速率;
判断模块,用于判断连续的预设数量的所述力变化速率是否均大于预设阈值,并在判断出均大于所述预设阈值时,判定所述摆动腿落地。
10.一种机器人,其特征在于,所述机器人包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上执行时,实施权利要求1至7中任一项所述的机器人摆动腿落地检测方法或权利要求8所述的机械臂碰撞检测方法。
11.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上执行时,实施根据权利要求1至7中任一项所述的机器人摆动腿落地检测方法或权利要求8所述的机械臂碰撞检测方法。
CN202110209706.9A 2021-02-24 2021-02-24 机器人摆动腿落地检测方法、装置和机器人 Active CN112975966B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110209706.9A CN112975966B (zh) 2021-02-24 2021-02-24 机器人摆动腿落地检测方法、装置和机器人
PCT/CN2021/132112 WO2022179209A1 (zh) 2021-02-24 2021-11-22 机器人摆动腿落地检测方法、装置和机器人
US18/236,395 US20230398684A1 (en) 2021-02-24 2023-08-21 Method for foot/ground contact detection for robot, robot and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110209706.9A CN112975966B (zh) 2021-02-24 2021-02-24 机器人摆动腿落地检测方法、装置和机器人

Publications (2)

Publication Number Publication Date
CN112975966A CN112975966A (zh) 2021-06-18
CN112975966B true CN112975966B (zh) 2022-07-29

Family

ID=76350416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110209706.9A Active CN112975966B (zh) 2021-02-24 2021-02-24 机器人摆动腿落地检测方法、装置和机器人

Country Status (3)

Country Link
US (1) US20230398684A1 (zh)
CN (1) CN112975966B (zh)
WO (1) WO2022179209A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112975966B (zh) * 2021-02-24 2022-07-29 深圳市优必选科技股份有限公司 机器人摆动腿落地检测方法、装置和机器人
CN115503850B (zh) * 2022-11-17 2023-03-31 国网智能科技股份有限公司 足式机器人足端触地检测方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103770111A (zh) * 2012-10-24 2014-05-07 中国人民解放军第二炮兵工程大学 一种仿人机器人步态规划及合成方法
DE102015008144B4 (de) * 2015-06-24 2024-01-18 Kuka Roboter Gmbh Umschalten einer Steuerung eines Roboters in einen Handführ-Betriebsmodus
KR101875510B1 (ko) * 2016-11-22 2018-07-09 한국과학기술연구원 이족 보행 로봇의 안정된 보행 제어를 위해 단순화된 로봇의 모델링 방법
JP2019202406A (ja) * 2018-05-25 2019-11-28 キヤノン株式会社 ロボットハンド、ロボットハンドの制御方法、ロボット装置、プログラム及び記録媒体
CN108772838B (zh) * 2018-06-19 2021-04-27 河北工业大学 一种基于外力观测器的机械臂安全碰撞策略
CN111702757B (zh) * 2020-05-27 2021-08-17 华中科技大学 基于操作者意图的控制方法、装置、计算设备及存储介质
CN111880544B (zh) * 2020-08-07 2024-03-22 深圳市优必选科技股份有限公司 仿人机器人步态规划方法、装置和仿人机器人
CN112000134B (zh) * 2020-08-14 2022-03-04 中国电子科技集团公司第三十八研究所 一种自适应自动调平辅助撑腿控制方法及系统
CN112975966B (zh) * 2021-02-24 2022-07-29 深圳市优必选科技股份有限公司 机器人摆动腿落地检测方法、装置和机器人

Also Published As

Publication number Publication date
US20230398684A1 (en) 2023-12-14
WO2022179209A1 (zh) 2022-09-01
CN112975966A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN111880544B (zh) 仿人机器人步态规划方法、装置和仿人机器人
CN112975966B (zh) 机器人摆动腿落地检测方法、装置和机器人
CN109634100B (zh) 仿人机器人行走加速度补偿方法、装置及仿人机器人
CN106547206B (zh) 一种基于脚力估计算法的多足机器人动态稳定性定量判定方法
CN108621161B (zh) 基于多传感器信息融合的足式机器人本体状态估计方法
US11851120B2 (en) Control of robotic devices with non-constant body pitch
JP4246696B2 (ja) 脚式移動ロボットの自己位置推定装置
KR102079940B1 (ko) 마찰계수 추정 기능을 갖는 이동 로봇 및 마찰계수 추정 방법
Xinjilefu et al. Center of mass estimator for humanoids and its application in modelling error compensation, fall detection and prevention
JP6473684B2 (ja) 車輪の滑り角推定装置及びその方法
CN113064433B (zh) 机器人迈步控制方法、装置、机器人控制设备及存储介质
US9833899B1 (en) Adaptive response to load
Focchi et al. Slip detection and recovery for quadruped robots
EP3835004A1 (en) Systems and methods for robotic self-right
CN109141411B (zh) 定位方法、定位装置、移动机器人及存储介质
CN111716361A (zh) 机器人控制方法、装置和面-面接触模型构建方法
JP2009285816A (ja) 脚式ロボット及びその制御方法
JP6238294B2 (ja) 積載部の外力算出方法およびその装置
KR101268401B1 (ko) 로봇 제어용 클러치 시스템 및 보행 보조 로봇 시스템, 보행 보조 로봇의 동작 산출 방법
CN113126659A (zh) 一种仿人机器人跳跃着地状态检测系统与方法
KR101209779B1 (ko) 로봇의 부하 추정 방법
JP2011255500A (ja) 脚式移動ロボットの制御装置
CN114115295B (zh) 机器人运动规划方法及装置、机器人控制设备和存储介质
Lee et al. Sensor information analysis for a humanoid robot
JP4915934B2 (ja) 脚式移動ロボットの制御装置

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
CB03 Change of inventor or designer information

Inventor after: Wang Jiajun

Inventor after: Xiong Youjun

Inventor before: Wang Jiajun

Inventor before: Zhao Mingguo

Inventor before: Xiong Youjun

CB03 Change of inventor or designer information