CN115981346A - 机器人控制方法以及机器人 - Google Patents
机器人控制方法以及机器人 Download PDFInfo
- Publication number
- CN115981346A CN115981346A CN202310271547.4A CN202310271547A CN115981346A CN 115981346 A CN115981346 A CN 115981346A CN 202310271547 A CN202310271547 A CN 202310271547A CN 115981346 A CN115981346 A CN 115981346A
- Authority
- CN
- China
- Prior art keywords
- leg
- ground
- phase
- foot end
- robot
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 claims description 54
- 238000004891 communication Methods 0.000 claims description 35
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 abstract description 62
- 230000008569 process Effects 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000005021 gait Effects 0.000 description 4
- 230000010355 oscillation Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
本申请公开了一种机器人控制方法以及机器人。该方法通过若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。通过在机器人触地后逐渐改变机器人至少一条第一腿和至少一条腿所受到的地面支撑力,避免机器人触地时由于力的突变产生较大噪声,使机器人平稳运动。
Description
技术领域
本申请涉及机器人控制领域,更具体地,涉及一种机器人控制方法以及机器人。
背景技术
近年来,随着机器人在人们日常办公生活中的应用越来越广泛,对于机器人的运动控制也逐渐精细化。人们可以通过机器人执行许多细小精准的操作,以实现生产生活的便捷,但设计者在对于机器人运动的控制过程中,通常只注意到了其运动的规范性,而没有注意到机器人在运动过程中由于力量的突然转变以及与周围物体的接触而产生的噪声,而这些噪声却会影响使用者的使用体验。
发明内容
鉴于上述问题,本申请提出了一种机器人控制方法以及机器人,以降低机器人在运动过程中产生的噪声。
第一方面,本申请实施例提供了一种机器人控制方法,所述机器人包括至少一条第一腿以及至少一条第二腿,所述方法包括:若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
第二方面,本申请实施例提供了一种机器人控制方法,所述机器人包括至少一条第一腿以及至少一条第二腿,所述方法包括:获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;或者,获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
第三方面,本申请实施例提供了一种机器人控制方法,所述机器人包括至少一条第一腿以及至少一条第二腿,所述方法包括:若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力直接增加至第一目标数值;若检测到所述机器人的所有所述第一腿的足端均触地,则将所有所述第二腿的足端所受到的地面支撑力直接降低至第二目标数值,并将所有所述第一腿从摆动相切换为支撑相,将所有所述第二腿从所述支撑相切换为所述摆动相。
第四方面,本申请实施例提供了一种机器人控制方法,所述机器人包括至少一条第一腿以及至少一条第二腿,所述方法包括:若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力逐渐增加至第一目标数值,并在增加所述至少一条第一腿所受到的地面支撑力的时间区间内,将所述至少一条第一腿从摆动相切换为支撑相;将所述机器人的所述至少一条第二腿的足端所受到的地面支撑力逐渐降低至第二目标数值,并在降低所述至少一条第二腿所受到的地面支撑力的时间区间内,将所述至少一条第二腿从支撑相切换为摆动相。
第五方面,本申请实施例提供了一种机器人,包括机身、耦接到所述机身的至少一条第一腿以及至少一条第二腿;与所述机身和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
第六方面,本申请实施例提供了一种机器人,包括机身、耦接到所述机身的至少一条第一腿以及至少一条第二退;与所述机身和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;或者,获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
第七方面,本申请实施例提供了一种机器人,包括机身、耦接到所述机身的至少一条第一腿以及至少一条第二退;与所述机身和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力直接增加至第一目标数值;若检测到所述机器人的所有所述第一腿的足端均触地,则将所有所述第二腿的足端所受到的地面支撑力直接降低至第二目标数值,并将所有所述第一腿从摆动相切换为支撑相,将所有所述第二腿从所述支撑相切换为所述摆动相。
第八方面,本申请实施例提供了一种机器人,包括机身、耦接到所述机身的至少一条第一腿以及至少一条第二退;与所述机身和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力逐渐增加至第一目标数值,并在增加所述至少一条第一腿所受到的地面支撑力的时间区间内,将所述至少一条第一腿从摆动相切换为支撑相;将所述机器人的所述至少一条第二腿的足端所受到的地面支撑力逐渐降低至第二目标数值,并在降低所述至少一条第二腿所受到的地面支撑力的时间区间内,将所述至少一条第二腿从支撑相切换为摆动相。
本申请提供的方案,通过若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。通过在机器人触地后逐渐改变机器人至少一条第一腿和至少一条腿所受到的地面支撑力,避免机器人触地时由于力的突变产生较大噪声,使机器人平稳运动。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的机器人的硬件结构示意图。
图2示出了本申请实施例提供的机器人的机械结构示意图。
图3示出了本申请一个实施例提供的机器人控制方法的流程示意图。
图4示出了本申请另一个实施例提供的机器人控制方法的流程示意图。
图5示出了本申请又一个实施例提供的机器人控制方法的流程示意图。
图6示出了本申请实施例中机器人触地的不同情况的时序示意图。
图7示出了本申请再一个实施例提供的机器人控制方法的流程示意图。
图8示出了本申请又再一个实施例提供的机器人控制方法的流程示意图。
图9示出了本申请实施例提供的一种机器人的结构框图。
图10示出了本申请实施例提供的计算机可读取存储介质的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
发明人提出了本申请实施例提供的机器人控制方法以及机器人,通过在机器人触地后在一段时长内逐渐改变机器人至少一条第一腿和至少一条腿所受到的地面支撑力,减少机器人触地时的噪声,以使机器人平稳运动。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示部件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
请参阅图1,图1为本申请其中一个实施例提供的机器人100的硬件结构示意图。机器人100可以是多种形态机器人中的任何一种,具体包括但不限于轮式机器人、足式机器人、履带式机器人、爬行机器人、蠕动式机器人或者游动式机器人等中的至少一种,例如机器人100具体可以是足式机器人,也可以是足式与轮式相结合的机器人。其中,足式机器人包括单足机器人、双足机器人或者多足机器人。多足机器人是指具有三个足或者三个以上的足式机器人,例如多足机器人具体可以是四足机器人。机器人是指一种能够半自主或全自主执行工作的机器,机器人并不限定于人形的机器装置,还可以包括例如狗、马、蛇、鱼、猿或猴等构型的机器人,例如机器人具体可以是一种四足的机器马。在图1所示的实施方式中,机器人100包括机械单元101、通讯单元102、传感单元103、接口单元104、存储单元105、显示单元106、输入单元107、控制模块110、电源111。机器人100的各种部件可以以任何方式连接,包括有线或无线连接等。本领域技术人员可以理解,图1中示出的机器人100的具体结构并不构成对机器人100的限定,机器人100可以包括比图示更多或更少的部件,某些部件也并不属于机器人100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略,或者组合某些部件。
图2是根据本申请一个实施例提供的机器人的机械结构示意图。下面结合图1和图2对机器人100的各个部件进行具体的介绍:
机械单元101为机器人100的硬件。如图1所示,机械单元101可包括驱动板1011、电机1012、机械结构1013,如图2所示,机械结构1013可包括机身1014、可伸展的腿部1015、足部1016,在其他实施方式中,机械结构1013还可包括可伸展的机械臂(图未示)、可转动的头部结构1017、可摇动的尾巴结构1018、载物结构1019、鞍座结构1020、摄像头结构1021等。需要说明的是,机械单元101的各个部件模块可以为一个也可以为多个,可根据具体情况设置,比如腿部1015可为4个,每个腿部1015可配置3个电机1012,对应的电机1012为12个。
通讯单元102可用于信号的接收和发送,还可以通过与网络和其他设备通信,比如,接收遥控器或其他机器人100发送的按照特定步态以特定速度值向特定方向移动的指令信息后,传输给控制模块110处理。通讯单元102包括如WiFi模块、4G模块、5G模块、蓝牙模块、红外模块等。
传感单元103用于获取机器人100周围环境的信息数据以及监控机器人100内部各部件的参数数据,并发送给控制模块110。传感单元103包括多种传感器,如获取周围环境信息的传感器:激光雷达(用于远程物体检测、距离确定和/或速度值确定)、毫米波雷达(用于短程物体检测、距离确定和/或速度值确定)、摄像头、红外摄像头、全球导航卫星系统(GNSS,Global Navigation Satellite System)等。如监控机器人100内部各部件的传感器:惯性测量单元(IMU,Inertial Measurement Unit)(用于测量速度值、加速度值和角速度值的值),足底传感器(用于监测足底着力点位置、足底姿态、触地力大小和方向)、温度传感器(用于检测部件温度)。至于机器人100还可配置的载荷传感器、触摸传感器、电机角度传感器、扭矩传感器等其他传感器,在此不再赘述。
接口单元104可以用于接收来自外部装置的输入(例如,数据信息、电力等)并且将接收到的输入传输到机器人100内的一个或多个部件,或者可以用于向外部装置输出(例如,数据信息、电力等)。接口单元104可包括电源端口、数据端口(如USB端口)、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口等。
存储单元105用于存储软件程序以及各种数据。存储单元105可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统程序、运动控制程序、应用程序(比如文本编辑器)等;数据存储区可存储机器人100在使用中所生成的数据(比如传感单元103获取的各种传感数据,日志文件数据)等。此外,存储单元105可以包括高速随机存取存储器,还可以包括非易失性存储器,例如磁盘存储器、闪存器、或其他易失性固态存储器。
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板1061。
输入单元107可用于接收输入的数字或字符信息。具体地,输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户的触摸操作(比如用户使用手掌、手指或适合的附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置1073和触摸控制器1074两个部分。其中,触摸检测装置1073检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器1074;触摸控制器1074从触摸检测装置1073上接收触摸信息,并将它转换成触点坐标,再送给控制模块110,并能接收控制模块110发来的命令并加以执行。除了触控面板1071,输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于遥控操作手柄等中的一种或多种,具体此处不做限定。
进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给控制模块110以确定触摸事件的类型,随后控制模块110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来分别实现输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现输入和输出功能,具体此处不做限定。
控制模块110是机器人100的控制中心,利用各种接口和线路连接整个机器人100的各个部件,通过运行或执行存储在存储单元105内的软件程序,以及调用存储在存储单元105内的数据,从而对机器人100进行整体控制。
电源111用于给各个部件供电,电源111可包括电池和电源控制板,电源控制板用于控制电池充电、放电、以及功耗管理等功能。在图1所示的实施方式中,电源111电连接控制模块110,在其它的实施方式中,电源111还可以分别与传感单元103(比如摄像头、雷达、音箱等)、电机1012电性连接。需要说明的是,各个部件可以各自连接到不同的电源111,或者由相同的电源111供电。
在上述实施方式的基础上,具体地,在一些实施方式中,可以通过终端设备来与机器人100进行通信连接,在终端设备与机器人100进行通信时,可以通过终端设备来向机器人100发送指令信息,机器人100可通过通讯单元102来接收指令信息,并可在接收到指令信息的情况下,将指令信息传输至控制模块110,使得控制模块110可根据指令信息来处理得到目标速度值。终端设备包括但不限于:具备图像拍摄功能的手机、平板电脑、服务器、个人计算机、可穿戴智能设备、其它电器设备。
指令信息可以根据预设条件来确定。在一个实施方式中,机器人100可以包括传感单元103,传感单元103可根据机器人100所在的当前环境可生成指令信息。控制模块110可根据指令信息来判断机器人100的当前速度值是否满足对应的预设条件。若满足,则会保持机器人100的当前速度值和当前步态移动;若不满足,则会根据对应的预设条件来确定目标速度值和相应的目标步态,从而可控制机器人100以目标速度值和相应的目标步态移动。环境传感器可以包括温度传感器、气压传感器、视觉传感器、声音传感器。指令信息可以包括温度信息、气压信息、图像信息、声音信息。环境传感器与控制模块110之间的通信方式可以为有线通信,也可以为无线通信。无线通信的方式包括但不限于:无线网络、移动通信网络(3G、4G、5G等)、蓝牙、红外。
下面将结合附图具体描述本申请实施例提供的机器人控制方法。
请参阅图3,图3示出了本申请一个实施例提供的机器人控制方法的流程示意图,所述机器人包括至少一条第一腿以及至少一条第二腿,下面将针对图3所示流程进行详细阐述,所述机器人控制方法具体可以包括以下步骤:
步骤S110:若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相。
在本申请实施例中,机器人可以包括至少两条腿,其中分别为至少一条第一腿以及至少一条第二腿,机器人可以根据每条腿在不同时刻实现的功能的不同,分为支撑相和摆动相两个相位。其中,若机器人的任一条腿处于支撑相,那么表明这条腿正用于支撑机器人的机身重量,若机器人的任一条腿处于摆动相,表明这条腿正处于摆动状态中。机器人通过至少两条腿分别在支撑相与摆动相之间相互配合来回切换,实现改变位置、完成特定运动的效果。其中,为减少机器人在运动过程中由于力的突然转变以及与地面高速碰撞所产生的噪声,机器人可以在检测到至少一条第一腿的足端触地时,通过至少一条第一腿上设置的腿部动力模组,改变至少一条第一腿所受到的上提力的大小,以控制至少一条第一腿的足端施加给地面的压力逐渐增加,也就是控制至少一条第一腿的足端受到的地面支撑力逐渐增加,同时机器人可以在至少一条第一腿的受力改变期间,将其从摆动相切换为支撑相,例如,机器人可以在至少一条第一腿的受力改变结束的时刻,将其从摆动相切换为支撑相。其中,设置在机器人的第一腿或者第二腿上的腿部动力模组,可以是用于改变机器人第一腿或者第二腿的运动状态或受力状态的电机。
可以理解的,假设机器人包括一条第一腿以及一条第二腿,那么这个机器人就是通过第一腿以及第二腿分别在摆动相与支撑相之间相互进行切换,来实现机器人机身的移动。若当前机器人的第一腿处于摆动相,那么第二腿必然处于支撑相,第二腿用于支撑机器人机身的重量,第一腿用于向前摆动改变机器人的位置。在第一腿触地后,机器人会将第一腿从摆动相切换为支撑相,并且将第二腿从支撑相切换为摆动相,由此第二腿会开始摆动以继续改变机器人的位置,第一腿则用于支撑机器人机身的重量。如此通过第一腿与第二腿在支撑相与摆动相之间的不断切换,实现机器人机身的不断移动。
在一些实施方式中,机器人在检测到至少一条第一腿的足端触地之前,还可以执行如下步骤:
获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
也就是说,机器人可以通过获取至少一条第一腿处于摆动相下的摆动时长,并通过摆动时长与第一预设时间值之间的关系,判断至少一条第一腿是否即将触地,进而判断是否需要在至少一条第一腿触地之前降低其在竖直方向上的速度,以避免至少一条第一腿以高速运动的状态触地而产生较大的噪声。其中,若至少一条第一腿在摆动相下的摆动时长达到了第一预设时间值,那么机器人可以认为此时至少一条第一腿即将触地,因此,机器人可以将其在竖直方向上的速度调整为第一目标速度,同时开始计算第二时间间隔,以及时获得至少一条第一腿的触地时刻。
在另一些实施方式中,机器人在检测到至少一条第一腿的足端触地之前,还可以执行如下步骤:
获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
也就是说,机器人还可以通过获取至少一条第一腿的足端与地面的距离,判断是否需要调整机器人至少一条第一腿的运动速度,若机器人至少一条第一腿的足端与地面的参考距离小于预设高度数值,则开始计算第二时间间隔,并在第二时间间隔内,将机器人至少一条第一腿在数值方向上的速度降低为第一目标速度,以便于至少一条第一腿以低速的状态接触地面。显然,这种直接获取参考距离的方法能够对第一腿的运动位置有更加准确的判断,相较于获取至少一条第一腿的摆动时长与第一预设时间值之间的关系来判断第一腿的位置,会更加准确,基于参考距离的判断结果对第一腿的运动速度进行调整的方法也可以不必再考虑第一腿提前触地或者延后触地等特殊情况的发生,可以减少机器人的计算量,优化对于机器人运动控制的效率。具体来说,机器人可以通过在第一腿的足端设置摄像头传感器或者激光雷达传感器等装置,以准确地获取第一腿在运动过程中与地面的距离。其中,在第二时间间隔内降低第一腿的速度,机器人可以均匀地降低速度,也可以按照每秒任意数值降低第一腿在竖直方向的速度,以使最终第一腿的速度达到第一目标数值。
在本申请实施例中,若机器人确定第一腿触地,那么就可以在第一腿触地后的第一时间间隔内逐渐增加第一腿足端施加给地面的压力,也就是逐渐增加第一腿足端受到的地面支撑力,同时可以在第一腿足端受力逐渐改变的过程中的任意时刻,将第一腿从摆动相切换为支撑相。由此通过在一段时长内逐渐改变第一腿足端的受力,可以有效地降低第一腿触地后足端的受力转变过程中所产生的噪声。其中,机器人可以通过至少一条第一腿的足端设置的传感器,检测至少一条第一腿是否触地;还可以通过至少一条第一腿上的关节动力模组中的电流变化情况,判断至少一条第一腿是否触地。可以理解的,若机器人第一腿在触地后直接从摆动相切换为支撑相,并且其足端施加给地面的压力直接转变为支撑相时所承担的机身重量,那么由于力的改变过大,机器人的第一腿内部会产生较大的噪声。因此,为减少第一腿触地后由于力的突然增加而产生的噪声,机器人可以在第一时间间隔内逐渐增加第一腿足端受到的地面支撑力,以避免由于足端受到的地面支撑力突变产生较大的噪声。
在一些实施方式中,机器人逐渐改变第一腿以及第二腿足端的受力,可以通过需要改变的力的大小,确定第一腿各个关节对应的力矩的大小,进而通过调整第一腿的各个关节动力模组的电流大小来实现改变力矩的大小,进而实现改变第一腿的受力情况。
步骤S120:若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
在本申请实施例中,在至少一条第一腿触地后,机器人在逐渐改变至少一条第一腿的足端受力的过程中,也就是第一时间间隔内,同样还可以逐渐改变第二腿足端的受力情况,也就是逐渐减少第二腿足端施加给地面的压力,也就是减少第二腿足端受到地面支撑力,并且在第二腿足端受力逐渐改变的过程中的任意时刻,将第二腿从支撑相切换为摆动相。由此通过逐渐减少第二腿足端受到的地面支撑力,可以有效减小原本方案中直接控制用于支撑机身重量的第二腿从支撑相切换成摆动相带来的力的突变所产生的噪声。其中,机器人可以通过设置于至少一条第二腿的腿部动力模组,为至少一条第二腿施加上提力,以逐渐减少至少一条第二腿的足端施加给地面的压力。同时,机器人还可以在至少一条第二腿的足端受力变化的过程中,将至少一条第二腿从支撑相切换为摆动相,例如,机器人可以在至少一条第二腿的足端受力完成改变的时刻,将其从支撑相切换为摆动相。
在一些实施方式中,机器人可以在所有的第一腿以及所有的第二腿均完成了足端受力的逐渐改变和相位的切换后,控制所有第二腿实现摆动,以继续改变机器人机身的位置。显然,机器人在完成对第一腿以及第二腿的相位切换后,也就是第一时间间隔后,机器人的第二腿将处于摆动状态,用以改变机器人机身的位置,机器人的第一腿将处于支撑状态,用以支撑机器人机身的重量。此后,机器人可以再次按照本申请实施例提供的步骤,在机器人的至少一条第二腿再次触地后的第一时间间隔内,再次逐渐增加第二腿足端施加给地面的压力,以及逐渐减少第一腿足端施加给地面的压力。由此不断循环,机器人可以实现机身的连续运动。
本申请实施例提供的机器人控制方法,通过若检测到所述至少一条第一腿的足端触地,则开始计算第一时间间隔;在所述第一时间间隔内,控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;在所述第一时间间隔内,控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。通过在机器人触地后逐渐改变机器人至少一条第一腿和至少一条第二腿所受到的地面支撑力,避免机器人触地时由于力的突变产生较大噪声,使机器人安静的运动。
请参阅图4,图4示出了本申请另一个实施例提供的机器人控制方法的流程示意图,所述机器人包括至少一条第一腿以及至少一条第二腿,下面将针对图4所示流程进行详细阐述,所述机器人控制方法具体可以包括以下步骤:
步骤S210:获取所述至少一条第一腿在摆动相下的摆动时长。
在本申请实施例中,机器人可以在第一腿处于摆动相时获取当前时刻之前第一腿在空中摆动的时长,作为摆动时长。机器人可以根据第一腿的摆动时长,以及规划的第一腿的足端的摆动轨迹,确定第一腿的足端在当前时刻处于摆动轨迹的什么位置,以便于后续步骤中根据第一腿的摆动位置判断是否需要降低第一腿的摆动速度,以便于第一腿以较小的速度探地,减小落地时碰撞产生的噪声。
具体来说,在机器人实际运动之前,机器人会计算并规划各个摆动腿的足端轨迹。通常情况下,若机器人的第一腿处于摆动相下,那么就可以根据第一腿的摆动时长,判断第一腿处于摆动轨迹中的什么位置,也就是判断摆动腿当前时刻是否已经接近地面。
步骤S220:若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
在本申请实施例中,机器人在确定至少一条第一腿处于摆动相下的摆动时长后,可以根据摆动时长与第一预设时间值的关系,预估至少一条第一腿的足端距离地面的高度,进而在第一腿接近地面时降低第一腿在竖直方向的速度。也就是在至少一条第一腿处于摆动相下的摆动时长达到第一预设时间值的情况下,认为机器人的第一腿的足端已经接近地面,此时可以降低第一腿在竖直方向的速度,以避免第一腿的足端以较高的速度触地导致产生较大的噪声。
显然,机器人通过设置第二时间间隔,用以在第二时间间隔内将机器人处于摆动相的第一腿在竖直方向的速度调整为第一目标速度,其中第一目标速度小于第一腿调整之前在竖直方向的速度,也就是在第二时间间隔内降低第一腿的速度,以避免第一腿在第二时间间隔内以原有的高速撞击地面,产生较大的噪声。在一些实施方式中,机器人可以基于第一腿在第二时间间隔之前在竖直方向的当前速度,以及最终撞击地面的竖直方向的第一目标速度,以第二时间间隔为时间长度,均匀的降低第一腿的速度。另一些实施方式中,机器人也可以在开始计算第二时间间隔后,小于第二时间间隔的预设时长内,均匀的降低第一腿在竖直方向的速度至第一目标速度,其后在第二时间间隔的剩余时长内等待第一腿触地。又或者,机器人还可以在开始计算第二时间间隔的时刻,直接将第一腿在竖直方向的速度调整为第一目标速度,其后在第二时间间隔内以第一目标速度等待第一腿触地。再或者,机器人可以在第二时间间隔内,以随机大小的加速度降低第一腿在竖直方向的速度,也就是使第一腿在竖直方向的速度以非线性的方式下降至第一目标速度。其中在第二时间间隔内将至少一条第一腿在竖直方向的速度调整为第一目标速度的方法在此可以不做限定。
在一些实施方式中,所述第一目标速度与机器人机身的速度呈正相关,机器人可以基于机器人机身的运动速度,确定将第一腿在竖直方向上调整的第一目标速度的大小。也就是说,机器人的机身速度越大,那么第一目标速度也就越大,第一目标速度与机器人的机身速度呈正相关关系。可以理解的,机器人的机身速度越快,处于摆动相的第一腿的摆动速度越快,第一腿与第二腿之间的相位切换越频繁,相互之间等待的时间越少,因此机身速度越大第一目标速度也会越大。
步骤S230:判断在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内是否触地。
在本申请实施例中,机器人在摆动时长达到第一预设时间值并降低第一腿在竖直方向的速度后,可以根据设置于第一腿足端的传感器判断第一腿是否触地。通常情况下,机器人的第一腿会在第二时间间隔内触地,但由于实际地面情况复杂,机器人并不能准确预测第一腿的触地时刻,因此设置第二时间间隔,通过足端传感器等待第一腿触地的时刻,以便于后续在第一腿触地后逐渐改变第一腿以及第二腿的足端受到的地面支撑力,进而改变第一腿以及第二腿的相位。
在一些实施方式中,机器人包括至少两条第一腿和至少两条第二腿,一条第一腿在第二时间间隔内触地,另外一条第一腿在第二时间间隔还未触地,那么机器人仍然可以在其他腿的摆动时长达到第一预设时间值时计算第二时间间隔,并在第二时间间隔内其他触地的第一腿触地开始,计算第一时间间隔,并在第一时间间隔内将机器人的所有第二腿从支撑相切换为摆动相。
步骤S240:若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔。
在本申请实施例中,若机器人处于摆动相下的第一腿的足端在第二时间间隔内触地,那么机器人可以在第一腿触地时开始计算第一时间间隔,以便于在第一时间间隔内切换第一腿以及第二腿的相位,将第一腿与第二腿分别实现的功能进行交换。
步骤S250:在所述第一时间间隔内,通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相。
步骤S260:在所述第一时间间隔内,通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
在本申请实施例中,若机器人处于摆动相下的至少一条第一腿在第二时间间隔内触地,那么机器人可以在接下来的第一时间间隔内逐渐增加至少一条第一腿的足端施加给地面的压力,以及在第一时间间隔内逐渐降低至少一条第二腿的足端施加给地面的压力,并且机器人还可以在第一时间间隔内将至少一条第一腿从摆动相切换为支撑相,将至少一条第二腿从支撑相切换为摆动相,由此实现第一腿与第二腿实现功能的切换。
例如,若机器人存在两条第一腿以及两条第二腿,机器人可以在处于摆动相的第一腿的摆动时长达到第一预设时间值的情况下,调整第一腿在竖直方向的速度,并计算第二时间间隔,以等待第一腿触地。其中,若机器人其中一条第一腿在第二时间间隔内触地,那么机器人可以在该腿触地之时开始计算第一时间间隔,以便于在第一时间间隔内,通过已经触地的第一腿上设置的腿部动力模组施加上提力,以控制已经触地的第一腿的足端施加给地面的压力逐渐增加,使其足端受到的地面支撑力逐渐增加。若检测到机器人的至少一条第一腿在第二时间间隔内触地,则对于另两条处于支撑相的第二腿,机器人也可以通过对每条第二腿上设置的腿部动力模组施加上提力,以控制两条第二腿的足端施加给地面的压力逐渐减少,两条第二腿的足端所受到的地面支撑力逐渐减少,并在两条第二腿的足端受力改变的过程中,将其从支撑相切换为摆动相。值得注意的是,此时机器人的另一条第一腿可能会在第一时间间隔内的任一时刻触地,那么机器人会在后触地的第一腿触地之后,以相同的方式逐渐调整该腿的足端的受力。
在一些实施方式中,为了兼顾机器人运动的稳定性以及运动速度,机器人可以将调整第一腿运动速度以及等待触地的第二时间间隔设置为60ms,将第一时间间隔设置为30ms,以避免第一腿和第二腿在相位切换过程消耗过多时间,影响机器人整体的运动和稳定。
步骤S270:若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内未触地,则在所述第二时间间隔后开始计算第一时间间隔;若在所述第一时间间隔内触地,则在所述第一时间间隔内,控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;在所述第一时间间隔内,控制所述至少一条第二腿的足端所受到的地面支撑力逐渐降低,并将所述至少一条第二腿从支撑相切换为摆动相。
在本申请实施例中,若机器人至少一条第一腿在第二时间间隔内未触地,那么机器人在第二时间间隔结束后会开始计算第一时间间隔,但由于此时机器人的至少一条第一腿并未触地,机器人还不会改变第二腿以及第一腿上的受力。若在第一时间间隔内,存在任意一条目标第一腿触地,那么机器人可以在第一时间间隔的剩余时间内,逐渐增加目标第一腿施加给地面的压力,以及在第一时间间隔的剩余时间内,逐渐减少机器人至少一条第二腿施加给地面的压力,并且将至少目标第一腿从摆动相切换为支撑相,将第二腿从支撑相切换为摆动相,由此实现第一腿以及第二腿功能的切换,即第一腿从摆动相改变机器人机身位置的功能切换为支撑相支撑机器人机身重量的功能,第二腿从支撑相支撑机身重量的功能切换为摆动相改变机身位置的功能。
例如,若机器人包括一条第一腿以及一条第二腿,第一时间间隔为30ms,第二时间间隔为60ms,机器人处于摆动相的第一腿在第二时间间隔内的第40ms触地,那么此时开始计算30ms的第一时间间隔,并在30ms的第一时间间隔内逐渐改变第一腿以及第二腿足端受到的地面支撑力,同时机器人可以在第一时间间隔内的任意时刻将第一腿从摆动相切换为支撑相,将第二腿从支撑相切换为摆动相。又如,若机器人的第一腿在第二时间间隔内未触地,但在第一时间间隔内的第10ms触地,那么机器人可以在第一时间间隔剩余的20ms内逐渐改变第一腿以及第二腿的足端受到的地面支撑力,同时在20ms内的任意时刻将第一腿从摆动相切换为支撑相,将第二腿从支撑相切换为摆动相。
又如,若机器人包括两条第一腿以及两条第二腿,第一时间间隔为30ms,第二时间间隔为60ms,若机器人处于摆动相的两条第一腿均未在第二时间间隔内触地,那么机器人可以在第二时间间隔结束后,开始计算第一时间间隔,若其中第一条第一腿在第一时间间隔内的第10ms触地,另一条第一腿在第一时间间隔内的第20ms触地,那么第一条第一腿可以在剩余的20ms的时间间隔内,逐渐改变第一条第一腿的足端的受力情况,机器人的另一条第一腿可以在剩余的10ms的时间间隔内,逐渐改变另一条第一腿的足端的受力情况。其中,第一腿的足端受力情况的改变方法可以参照其他步骤,在此不做详细阐述。同时,这个四足机器人的两条处于支撑相的第二腿,可以在第一时间间隔开始计算时,逐渐改变两条第二腿的足端的受力情况,也可以在至少一条第一腿触地后的剩余第一时间间隔内,逐渐改变两条第二腿的足端的受力情况,在此可以不做限定。
在一些实施方式中,若机器人的至少一条第一腿在第二时间间隔内未触地,并且在第二时间间隔之后的第一时间间隔内也未触地,那么机器人的等待触地时间达到忍耐值,这种情况下为确保机身运动的稳定性,机器人可以直接将第一腿从摆动相切换为支撑相,也就是不再设置第一时间间隔以逐渐改变第一腿上的受力进而减少噪声,而为了确保运动的稳定直接切换第一腿上的相位。其中,机器人在将第一腿切换为支撑相后,第一腿足端受到的力会变大,且由于第一腿尚未触地,因此第一腿会以高速下落的方式很快触地,此时必然可能会发出较大的噪声,但机器人的机身可以较快的得到稳定,避免侧翻。
值得注意的是,若此时机器人为两足机器人,也就是只存在一条第一腿和一条第二腿,那么在第一腿处于摆动相的摆动状态时,即使在第二时间间隔以及第一时间间隔之后机器人的第一腿仍然没有触地,第二腿是始终无法从支撑相切换为摆动相的。显然,此时可能由于地面不平整,机器人的第一腿迟迟未能触地,在第二时间间隔以及第一时间间隔之后,机器人会强行将第一腿从摆动相切换为支撑相,以便于第一腿以较大的速度尽快触地,避免下探时间过长导致机器人机身不稳定。而机器人的第二腿仍然只能在第一腿以高速触地之后才能切换相位。此时,为减少第一腿第二腿的相位切换对机身速度的影响,机器人也可以在第一时间间隔之后直接将第二腿从支撑相切换为摆动相,以避免过长时间的等待影响机器人的运动速度和机身的稳定性。
本申请实施例提供的机器人控制方法,通过判断在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内是否触地,若检测到所述至少一条第一腿的足端触地,则开始计算第一时间间隔;在所述第一时间间隔内,通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;在所述第一时间间隔内,通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。通过在机器人触地后在一段时长内逐渐改变机器人至少一条第一腿和至少一条腿所受到的地面支撑力,减少机器人触地时由于力的突变所产生的噪声,使机器人平稳运动。
请参阅图5,图5示出了本申请又一个实施例提供的机器人控制方法的流程示意图,所述机器人包括至少一条第一腿以及至少一条第二腿,下面将针对图5所示流程进行详细阐述,所述机器人控制方法具体可以包括以下步骤:
步骤S310:获取所述至少一条第一腿在摆动相下的摆动时长。
步骤S320:若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
步骤S330:若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔。
在本申请实施例中,步骤S310至步骤S330可以参阅其他实施例,在此不做具体阐述。
步骤S340:基于所述第一时间间隔,将所有所述第一腿从摆动相切换为支撑相,并将所有所述第二腿从支撑相切换为摆动相。
在本申请实施例中,若机器人包括至少两条第一腿以及至少两条第二腿,那么机器人在通过第二时间间隔将处于摆动相的第一腿在竖直方向上的速度调整为第一目标速度后,可以在第二时间间隔以及第一时间间隔所在的时间之内,将机器人所有的第一腿从摆动相切换为支撑相,以及将机器人所有的第二腿从支撑相切换为摆动相。
具体来说,若机器人包括两条第一腿以及两条第二腿,若其中存在一条第一腿在第二时间间隔内的任意时刻首先触地,则在该这条首先触地的第一腿触地之时开始计算第一时间间隔,那么机器人剩余的所有第一腿则可以在其后的第一时间间隔内从摆动相切换为支撑相,所有第二腿在第一时间间隔内从支撑相切换为摆动相。其中,第一腿以及第二腿的足端所受地面支撑力的改变时长由第一腿以及第二腿不同的触地时刻确定。例如,若机器人的2条第一腿先后触地,先触地的第一腿在第二时间间隔内触地,或者在第一时间间隔内的第10ms之前触地,若后触地的第一腿在第一时间间隔内的第10ms触地,那么这条后触地的第一腿可以在第一时间间隔剩余的20ms内逐渐改变足端所受地面支撑力,并且所述所有第一腿在第一时间间隔剩余的20ms内将摆动相切换为支撑相;若后触地的第一腿在第一时间间隔结束后仍未触地,那么这条第一腿会在第一时间间隔结束时,直接从摆动相切换为支撑相,进而以高速下探的方式触地。其中,若机器人存在一条第一腿在第二时间间隔内的任意时刻首先触地,那么机器人所有的第二腿可以在第一时间间隔内逐渐减少足端所受到的地面支撑力,并在第一时间间隔内的任意时刻从支撑相切换为摆动相。
可以理解的,由于地面实际情况复杂,地面可能在第一腿的落脚点存在凸起,导致第一腿实际触地时间比预计时间提前,也可能存在凹陷,导致第一腿的实际触地时间晚于预计时间。因此,机器人可以在第一腿的摆动时长达到第一预设时间值的情况下,基于第一腿的足端传感器,在第二时间间隔内等待第一腿触地,由此可以准确地获取第一腿的触地时刻,以便于后续在第一腿触地后及时调整第一腿以及第二腿的受力状况。
在一些实施方式中,机器人在第一时间间隔内将所有第一腿从摆动相切换为支撑相,以及将所有第二腿从支撑相切换为摆动相,可以包括下述步骤:
步骤S341:若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔,若存在目标第一腿的足端在所述第一时间间隔内触地,则在所述第一时间间隔内,将所有所述第一腿从摆动相切换为支撑相,并将所有所述第二腿从支撑相切换为摆动相,所述目标第一腿与在所述第二时间间隔内触地的至少一条第一腿为不同的第一腿。
在本申请实施例中,若机器人包括两条第一腿以及两条第二腿,那么该机器人的两条第一腿可能会在不同的时间触地。例如,若机器人的至少一条第一腿的足端在第二时间间隔内触地,但此时另一条第一腿还未触地,机器人可以在首先触地的第一腿触地之时开始计算第一时间间隔,若机器人的另一条第一腿在第一时间间隔内的任意时刻触地。那么机器人可以在第一时间间隔内,通过腿部动力模组给先后触地的两条第一腿施加上提力,以控制这两条第一腿的足端施加给地面的压力逐渐增加,两条第一腿的足端所受到的地面支撑力逐渐增加,并在第一时间间隔内将两条第一腿从摆动相切换为支撑相,其中,相位的切换可以在第一时间间隔结束的时刻进行切换。同时,针对两条第二腿,机器人也可以在第一时间间隔内,通过腿部动力模组给两条第二腿施加上提力,以控制两条第二腿的足端施加给地面的压力逐渐减少,两条第二腿的足端所受到的地面支撑力逐渐减少,并在第一时间间隔内将两条第二腿从支撑相切换为摆动相,其中,相位的切换可以在第一时间间隔结束的时刻进行切换。
在另一些实施方式中,机器人在第一时间间隔内将所有第一腿从摆动相切换为支撑相,以及将所有第二腿从支撑相切换为摆动相,还可以包括下述步骤:
步骤S342:若至少一条第一腿的足端在所述第一时间间隔内或第二时间间隔内触地,且存在目标第一腿的足端在所述第一时间间隔内未触地,则在所述第一时间间隔后,将所述目标第一腿从摆动相切换为支撑相,所述目标第一腿与在所述第一时间间隔内或第二时间间隔内触地的至少一条第一腿为不同的第一腿。
在本申请实施例中,若机器人包括两条第一腿以及两条第二腿,并且机器人存在至少一条第一腿的足端在第二时间间隔或者第一时间间隔内触地,以及另一条目标第一腿在第二时间间隔以及第一时间间隔内均为触地,也就是目标第一腿在至少一条第一腿触地后的第一时间间隔后,仍未触地。那么此时机器人可以不再等待另一条第一腿触地,而是直接在第一时间间隔结束后,将这个尚未触地的目标第一腿从摆动相切换为支撑相,由此机器人的这条未触地的目标第一腿能够以高速下探的方式快速触地,避免等待触地的时间过长影响机器人机身的稳定。
具体来说,请参阅图6,其示出了本申请实施例提供的机器人的至少一条第一腿与至少一条第二腿之间相位切换的示意图。具体来说,机器人的所有第一腿各自的触地情况包括多种,其中一种情况例如:若机器人包括两条第一腿以及两条第二腿,其中一条第一腿在60ms的第二时间间隔内的第40ms首先触地,则此时机器人可以开始计算第一时间间隔,剩余的第二时间间隔会被忽略,其后机器人的另一条第一腿在上述第一时间间隔内的第10ms触地,也就是机器人的两条第一腿相隔10ms先后触地,此时对于两条第一腿足端所受地面支撑力的逐渐改变时长是不同的,首先触地的第一腿可以在30ms的第一时间间隔内逐渐改变足端受到的地面支撑力,并在其中任意时刻从摆动相切换为支撑相,而机器人后触地的第一腿则只能在第一时间间隔的剩余20ms内逐渐改变足端受到的地面支撑力,并在20ms内的任意时刻从摆动相切换为支撑相。也就是说,在首先触地的第一腿触地后的第一时间间隔内,机器人的所有第一腿均应该完成相位的改变。此时,机器人的所有第二腿可以在第一时间间隔内,逐渐减少足端受到的地面支撑力,并在其中的任意时刻,从支撑相切换为摆动相。其中,机器人可以在第一时间间隔结束之时,切换第一腿以及第二腿当前所处的相位。
具体来说,请再次参阅图6,机器人的第一腿的触地状态还可以存在另一种情况例如:若机器人包括两条第一腿以及两条第二腿,机器人的两条第一腿在第二时间间隔内均未触地,那么机器人仍然会在第二时间间隔后开始计算第一时间间隔,若其中一条第一腿在30ms的第一时间间隔内的第10ms触地,另一条腿在第20ms触地,也就是两条第一腿仍然相隔10ms先后触地,此时机器人首先触地的第一腿会在第一时间间隔剩余的20ms内,逐渐改变足端受到的地面支撑力,并在20ms内的任意时刻从摆动相切换为支撑相,机器人后触地的第一腿会在第一时间间隔剩余的10ms内,逐渐改变足端受到的地面支撑力,并在10ms内的任意时刻从摆动相切换为支撑相。此时,机器人的第二腿可以在首先触地的第一腿触地后的剩余第一时间间隔即20ms内,逐渐减少足端受到的地面支撑力,并在剩余第一时间间隔内的任意时刻,从支撑相切换为摆动相。其中,机器人可以在第一时间间隔结束之时,切换第一腿以及第二腿当前所处的相位。
具体来说,请再次参阅图6,机器人的第一腿的触地状态还可以存在又一种情况例如:若机器人包括两条第一腿以及两条第二腿,其中首先触地的第一腿在第二时间间隔或者第一时间间隔内的任意时刻触地,但另一条第一腿在第一时间间隔计算结束后仍未触地,为了有效地保持机器人机身的稳定,机器人可以直接将这个尚未触地的第一腿从摆动相切换为支撑相,此时这个尚未触地的第一腿会以高速下落的方式快速触地。此时,机器人的所有第二腿,可以在首先触地的第一腿触地之后,开始逐渐减少足端受到的地面支撑力,并在其中任意时刻从支撑相切换为摆动相。本申请实施例提供的机器人控制方法,若在摆动相下至少一条第一腿的足端在第二时间间隔内触地,则在至少一条第一腿的足端触地后开始计算第一时间间隔;若存在目标第一腿的足端在所述第一时间间隔内触地,则在所述第一时间间隔内,将所有所述第一腿从摆动相切换为支撑相,并将所有所述第二腿从支撑相切换为摆动相;若至少一条第一腿的足端在所述第一时间间隔内或第二时间间隔内触地,且存在目标第一腿的足端在所述第一时间间隔内未触地,则在所述第一时间间隔后,将所述目标第一腿从摆动相切换为支撑相,所述目标第一腿与在所述第一时间间隔内或第二时间间隔内触地的至少一条第一腿为不同的第一腿。能够在确保机器人运动稳定的情况下,使处于摆动相的第一腿触地前预先降低速度,在触地后逐渐改变受力大小,以实现减少机器人在运动过程中产生的噪声,提升用户使用体验的效果。
请参阅图7,图7示出了本申请再一个实施例提供的机器人控制方法的流程示意图,所述机器人包括至少一条第一腿以及至少一条第二腿,下面将针对图7所示流程进行详细阐述,所述机器人控制方法具体可以包括以下步骤:
步骤S410:若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力直接增加至第一目标数值。
在本申请实施例中,机器人可以在任意一条第一腿的足端触地后,直接将这条触地的第一腿的足端所受到的地面支撑力增加至第一目标数值,以平衡所有触地的第一腿与第二腿之间承载的机身重量。
步骤S420:若检测到所述机器人的所有所述第一腿的足端均触地,则将所有所述第二腿的足端所受到的地面支撑力直接降低至第二目标数值,并将所有所述第一腿从摆动相切换为支撑相,将所有所述第二腿从所述支撑相切换为所述摆动相。
在本申请实施例中,第二目标数值小于第一目标数值。若机器人包括至少两条第一腿以及至少两条第二腿,那么在首先触地的第一腿触地之后,机器人还不会直接改变所有第二腿上所受到的地面支撑力,而是需要等待所有的第一腿均触地后才将所有第二腿足端受到的地面支撑力降低至第二目标数值,同时进行第一腿与第二腿的相位切换,也就是将所有第一腿从摆动相切换为支撑相,将所有第二腿从支撑相切换为摆动相。若机器人包括一条第一腿以及一条第二腿,那么机器人可以在第一腿触地时同时改变第一腿以及第二腿足端分别所受到的地面支撑力,同时将第一腿切换为支撑相,将第二腿切换为摆动相。
在一些实施方式中,机器人在检测到至少一条第一腿的足端触地之前,还可以执行如下步骤:
获取所述至少一条第一腿的足端与地面的参考距离;若所述参考距离小于或等于预设高度数值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度,所述第一目标速度与所述机器人的机身速度呈正相关。
其中,具体内容可以参阅其他实施例,在此不做具体阐述。
本申请实施例提供的机器人控制方法,若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力直接增加至第一目标数值;若检测到所述机器人的所有所述第一腿的足端均触地,则将所有所述第二腿的足端所受到的地面支撑力直接降低至第二目标数值,并将所有所述第一腿从摆动相切换为支撑相,将所有所述第二腿从所述支撑相切换为所述摆动相。通过在机器人的第一腿触地时,改变第一腿足端受到的地面支撑力至第一目标数据,使其进入用于支撑机身重量的支撑相,在所有第一腿触地后,将所有第二腿足端受到的地面支撑力调整至第二目标数值,使其进入用于改变机身位置的摆动相,由此可以通过第一腿与第二腿之间相位的连续切换,使机器人的机身能够平稳运动。
请参阅图8,图8示出了本申请又再一个实施例提供的机器人控制方法的流程示意图,所述机器人包括至少一条第一腿以及至少一条第二腿,下面将针对图8所示流程进行详细阐述,所述机器人控制方法具体可以包括以下步骤:
步骤S510:获取所述至少一条第一腿的足端与地面的参考距离。
步骤S520:若所述参考距离小于或等于预设高度数值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度,所述第一目标速度与所述机器人的机身速度呈正相关。
在本申请实施例中,步骤S510以及步骤S520可以参阅其他实施例,在此不做具体阐述。
步骤S530:若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力逐渐增加至第一目标数值,并在增加所述至少一条第一腿所受到的地面支撑力的时间区间内,将所述至少一条第一腿从摆动相切换为支撑相。
在本申请实施例中,机器人可以通过设置于至少一条第一腿足端的传感器判断第一腿是否触地,若触地,那么机器人可以在至少一条第一腿触地后,将至少一条第一腿足端受到的地面支撑力逐渐增加至第一目标数值。其中,对于机器人增加第一腿足端受到地面支撑力的过程时长并不限定,受力调整结束的标准只是机器人足端受到的地面支撑力是否增加到了第一目标数值,若足端受到的地面支撑力达到了第一目标数值,则机器人对于至少一条第一腿的足端受力的调整结束,若没有达到则需要继续调整。其中,机器人对于至少一条第一腿足端的受力调整过程的耗时,可以根据不同的足端初始受力情况以及不同调整受力加速度不同而不同,在此可以不做限定。
步骤S540:将所述机器人的所述至少一条第二腿的足端所受到的地面支撑力逐渐降低至第二目标数值,并在降低所述至少一条第二腿所受到的地面支撑力的时间区间内,将所述至少一条第二腿从支撑相切换为摆动相。
在本申请实施例中,若机器人检测到至少一条第一腿的足端触地,那么机器人还可以在至少一条第一腿触地后,将至少一条第二腿足端受到的地面支撑力逐渐降低至第二目标数值,并且可以在逐渐改变第二腿受力情况的过程中,将至少一条第二腿从支撑相切换为摆动相,以便于在所有第一腿以及第二腿的受力调整结束后,使第二腿进入摆动状态以改变机器人机身位置,使第一腿进入支撑状态以支撑机器人机身重量。
本申请实施例提供的机器人控制方法,获取所述至少一条第一腿的足端与地面的参考距离;若所述参考距离小于或等于预设高度数值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力逐渐增加至第一目标数值,并在增加所述至少一条第一腿所受到的地面支撑力的时间区间内,将所述至少一条第一腿从摆动相切换为支撑相;将所述机器人的所述至少一条第二腿的足端所受到的地面支撑力逐渐降低至第二目标数值,并在降低所述至少一条第二腿所受到的地面支撑力的时间区间内,将所述至少一条第二腿从支撑相切换为摆动相。由此机器人可以更准确地对机器人处于摆动相的至少一条第一腿的运动速度进行调整,并且通过将第一腿以及第二腿足端分别受到的地面支撑力调整至目标数值,可以实现对机器人所有第一腿和第二腿的精确控制。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请实施例提供一种机器人100,包括机身1014;耦接到所述机身1014的至少一条第一腿以及至少一条第二腿;与所述机身1014和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
机器人100所执行的操作还包括:获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;或者,获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
本申请实施例还提供另一种机器人100,包括机身1014;耦接到所述机身1014的至少一条第一腿以及至少一条第二腿与所述机身1014和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;或者,获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
机器人100所执行的操作还包括:若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;若检测到所述至少一条第二腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
机器人100所执行的操作还包括:判断在摆动相下所述至少一条第一腿的足端在所述第一时间间隔内是否触地;若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔;若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内未触地,则在所述第一时间间隔后开始计算第一时间间隔。
机器人100所执行的操作还包括:若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔,若存在目标第一腿的足端在所述第一时间间隔内触地,则在所述第一时间间隔内,将所有所述第一腿从摆动相切换为支撑相,并将所有所述第二腿从支撑相切换为摆动相,所述目标第一腿与所述第二时间间隔内触地的至少一条第一腿为不同的第一腿;或者,若至少一条第一腿的足端在所述第一时间间隔内或第二时间间隔内触地,且存在目标第一腿的足端在所述第一时间间隔内未触地,则在所述第一时间间隔后,将所述目标第一腿从摆动相切换为支撑相,所述目标第一腿与在所述第一时间间隔内或第二时间间隔内触地的至少一条第一腿为不同的第一腿。
本申请实施例还提供的又一种机器人100,包括机身1014;耦接到所述机身1014的至少一条第一腿以及至少一条第二腿;与所述机身1014和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力直接增加至第一目标数值;若检测到所述机器人的所有所述第一腿的足端均触地,则将所有所述第二腿的足端所受到的地面支撑力直接降低至第二目标数值,并将所有所述第一腿从摆动相切换为支撑相,将所有所述第二腿从所述支撑相切换为所述摆动相。
本申请实施例还提供的再一种机器人100,包括机身1014;耦接到所述机身1014的至少一条第一腿以及至少一条第二腿;与所述机身1014和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力逐渐增加至第一目标数值,并在增加所述至少一条第一腿所受到的地面支撑力的时间区间内,将所述至少一条第一腿从摆动相切换为支撑相;将所述机器人的所述至少一条第二腿的足端所受到的地面支撑力逐渐降低至第二目标数值,并在降低所述至少一条第二腿所受到的地面支撑力的时间区间内,将所述至少一条第二腿从支撑相切换为摆动相。
综上所述,本申请提供的方案,通过若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。通过在机器人触地后逐渐改变机器人至少一条第一腿和至少一条腿所受到的地面支撑力,避免机器人触地时由于力的突变产生较大噪声,使机器人平稳运动。
请参考图9,其示出了本申请实施例提供的一种机器人100的结构框图。本申请中的机器人100可以包括一个或多个如下部件:处理器120、存储器130、以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器130中并被配置为由一个或多个处理器120执行, 一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器120可以包括一个或者多个处理核。处理器120利用各种接口和线路连接整个机器人100内的各个部分,通过运行或执行存储在存储器130内的指令、程序、代码集或指令集,以及调用存储在存储器130内的数据,执行机器人100的各种功能和处理数据。可选地,处理器120可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器120可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器120中,单独通过一块通信芯片进行实现。
存储器130可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器130可用于存储指令、程序、代码、代码集或指令集。存储器130可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储机器人在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
请参考图10,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质900中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读取存储介质900可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读取存储介质900包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读取存储介质900具有执行上述方法中的任何方法步骤的程序代码910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码910可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (16)
1.一种机器人控制方法,其特征在于,所述机器人包括至少一条第一腿以及至少一条第二腿,所述方法包括:
若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;
若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
2.根据权利要求1所述的方法,其特征在于,在所述若检测到所述至少一条第一腿的足端触地之前,所述方法还包括:
获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;
或者,获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
3.一种机器人控制方法,其特征在于,所述机器人包括至少一条第一腿以及至少一条第二腿,所述方法包括:
获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;
或者,获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
4.根据权利要求3所述的方法,其特征在于,所述方法包括:
若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;
若检测到所述至少一条第二腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
5.根据权利要求2或3任一项所述的方法,其特征在于,所述方法还包括:
判断在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内是否触地;
若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔;
若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内未触地,则在所述第二时间间隔后开始计算第一时间间隔。
6.根据权利要求2或3任一项所述的方法,其特征在于,在所述则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度之后,所述方法还包括:
若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔,若存在目标第一腿的足端在所述第一时间间隔内触地,则在所述第一时间间隔内,将所有所述第一腿从摆动相切换为支撑相,并将所有所述第二腿从支撑相切换为摆动相,所述目标第一腿与在所述第二时间间隔内触地的至少一条第一腿为不同的第一腿;
或者,若至少一条第一腿的足端在所述第一时间间隔内或第二时间间隔内触地,且存在目标第一腿的足端在所述第一时间间隔内未触地,则在所述第一时间间隔后,将所述目标第一腿从摆动相切换为支撑相,所述目标第一腿与在所述第一时间间隔内或第二时间间隔内触地的至少一条第一腿为不同的第一腿。
7.一种机器人控制方法,其特征在于,所述机器人包括至少一条第一腿以及至少一条第二腿,所述方法包括:
若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力直接增加至第一目标数值;
若检测到所述机器人的所有所述第一腿的足端均触地,则将所有所述第二腿的足端所受到的地面支撑力直接降低至第二目标数值,并将所有所述第一腿从摆动相切换为支撑相,将所有所述第二腿从所述支撑相切换为所述摆动相。
8.一种机器人控制方法,其特征在于,所述机器人包括至少一条第一腿以及至少一条第二腿,所述方法包括:
若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力逐渐增加至第一目标数值,并在增加所述至少一条第一腿所受到的地面支撑力的时间区间内,将所述至少一条第一腿从摆动相切换为支撑相;
将所述机器人的所述至少一条第二腿的足端所受到的地面支撑力逐渐降低至第二目标数值,并在降低所述至少一条第二腿所受到的地面支撑力的时间区间内,将所述至少一条第二腿从支撑相切换为摆动相。
9.一种机器人,其特征在于,包括:
机身;
耦接到所述机身的至少一条第一腿以及至少一条第二腿;
与所述机身和所述至少一条第一腿或所述至少一条第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:
若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;
若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
10.根据权利要求9所述的机器人,其特征在于,所述操作还包括:
获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;
或者,获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
11.一种机器人,其特征在于,包括:
机身;
耦接到所述机身的至少一条第一腿以及至少一条第二腿;
与所述机身和所述至少一条第一腿或所述至少一条第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:
获取所述至少一条第一腿在摆动相下的摆动时长,若所述摆动时长达到第一预设时间值,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度;
或者,获取所述至少一条第一腿跟踪的足端轨迹点,若所述足端轨迹点达到第一预设位置,则开始计算第二时间间隔,并将所述至少一条第一腿在竖直方向的速度调整为第一目标速度。
12.根据权利要求11所述的机器人,其特征在于,所述操作还包括:
若检测到所述至少一条第一腿的足端触地,则通过腿部动力模组给所述至少一条第一腿施加上提力,以控制所述至少一条第一腿的足端施加给地面的压力逐渐增加,所述至少一条第一腿的足端所受到的地面支撑力逐渐增加,并将所述至少一条第一腿从摆动相切换为支撑相;
若检测到所述至少一条第二腿的足端触地,则通过腿部动力模组给所述至少一条第二腿施加上提力,以控制所述至少一条第二腿的足端施加给地面的压力逐渐减少,所述至少一条第二腿的足端所受到的地面支撑力逐渐减少,并将所述至少一条第二腿从支撑相切换为摆动相。
13.根据权利要求10或11任一项所述的机器人,其特征在于,所述操作还包括:
判断在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内是否触地;
若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔;
若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内未触地,则在所述第一时间间隔后开始计算第一时间间隔。
14.根据权利要求10或11任一项所述的机器人,其特征在于,所述操作还包括:
若在摆动相下所述至少一条第一腿的足端在所述第二时间间隔内触地,则在所述至少一条第一腿的足端触地后开始计算第一时间间隔,若存在目标第一腿的足端在所述第一时间间隔内触地,则在所述第一时间间隔内,将所有所述第一腿从摆动相切换为支撑相,并将所有所述第二腿从支撑相切换为摆动相,所述目标第一腿与在所述第二时间间隔内触地的至少一条第一腿为不同的第一腿;
或者,若至少一条第一腿的足端在所述第一时间间隔内或第二时间间隔内触地,且存在目标第一腿的足端在所述第一时间间隔内未触地,则在所述第一时间间隔后,将所述目标第一腿从摆动相切换为支撑相,所述目标第一腿与在所述第一时间间隔内或第二时间间隔内触地的至少一条第一腿为不同的第一腿。
15.一种机器人,其特征在于,所述机器人包括:
机身;
耦接到所述机身的至少一条第一腿以及至少一条第二腿;
与所述机身和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:
若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力直接增加至第一目标数值;
若检测到所述机器人的所有所述第一腿的足端均触地,则将所有所述第二腿的足端所受到的地面支撑力直接降低至第二目标数值,并将所有所述第一腿从摆动相切换为支撑相,将所有所述第二腿从所述支撑相切换为所述摆动相。
16.一种机器人,其特征在于,所述机器人包括:
机身;
耦接到所述机身的至少一条第一腿以及至少一条第二腿;
与所述机身和所述第一腿或所述第二腿通信的控制系统,所述控制系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件,所述存储器硬件存储指令,所述指令在所述数据处理硬件上被运行时使所述数据处理硬件执行操作,所述操作包括:
若检测到所述至少一条第一腿的足端触地,则将所述至少一条第一腿的足端所受到的地面支撑力逐渐增加至第一目标数值,并在增加所述至少一条第一腿所受到的地面支撑力的时间区间内,将所述至少一条第一腿从摆动相切换为支撑相;
将所述机器人的所述至少一条第二腿的足端所受到的地面支撑力逐渐降低至第二目标数值,并在降低所述至少一条第二腿所受到的地面支撑力的时间区间内,将所述至少一条第二腿从支撑相切换为摆动相。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310271547.4A CN115981346B (zh) | 2023-03-20 | 2023-03-20 | 机器人控制方法以及机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310271547.4A CN115981346B (zh) | 2023-03-20 | 2023-03-20 | 机器人控制方法以及机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115981346A true CN115981346A (zh) | 2023-04-18 |
CN115981346B CN115981346B (zh) | 2024-06-07 |
Family
ID=85965178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310271547.4A Active CN115981346B (zh) | 2023-03-20 | 2023-03-20 | 机器人控制方法以及机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115981346B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130158712A1 (en) * | 2011-12-16 | 2013-06-20 | Samsung Electronics Co., Ltd. | Walking robot and control method thereof |
CN105938364A (zh) * | 2016-01-15 | 2016-09-14 | 浙江大学 | 一种3d欠驱动双足机器人的动力学模型计算方法 |
CN106773680A (zh) * | 2016-12-01 | 2017-05-31 | 南京航空航天大学 | 降低液压机器人流量的足端轨迹优化方法 |
CN107045552A (zh) * | 2017-04-28 | 2017-08-15 | 齐鲁工业大学 | 一种基于正弦对角步态与快速查表法的四足机器人运动控制方法及控制装置 |
CN111208826A (zh) * | 2020-02-18 | 2020-05-29 | 杭州云深处科技有限公司 | 四足机器人溜蹄步态规划方法、装置、设备及可读介质 |
CN111880544A (zh) * | 2020-08-07 | 2020-11-03 | 深圳市优必选科技股份有限公司 | 仿人机器人步态规划方法、装置和仿人机器人 |
US20210039731A1 (en) * | 2019-08-06 | 2021-02-11 | Boston Dynamics, Inc. | Leg Swing Trajectories |
CN113485398A (zh) * | 2021-07-19 | 2021-10-08 | 北京理工大学 | 一种轮式双足机器人姿态控制方法 |
CN113848968A (zh) * | 2021-10-20 | 2021-12-28 | 深圳鹏行智能研究有限公司 | 步态调整方法、多足机器人、计算机可读存储介质 |
CN113843799A (zh) * | 2021-10-12 | 2021-12-28 | 广州市优普科技有限公司 | 一种四足机器人姿态复位控制方法、装置及存储介质 |
CN114655333A (zh) * | 2022-05-17 | 2022-06-24 | 中国科学院自动化研究所 | 四足机器人的步态切换方法及装置 |
US20220355479A1 (en) * | 2021-04-30 | 2022-11-10 | Ubtech Robotics Corp Ltd | Gait planning method and robot using the same and computer readable storage medium |
CN115344040A (zh) * | 2022-07-15 | 2022-11-15 | 深圳鹏行智能研究有限公司 | 一种足式机器人足端轨迹规划的方法、装置及足式机器人 |
-
2023
- 2023-03-20 CN CN202310271547.4A patent/CN115981346B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130158712A1 (en) * | 2011-12-16 | 2013-06-20 | Samsung Electronics Co., Ltd. | Walking robot and control method thereof |
CN105938364A (zh) * | 2016-01-15 | 2016-09-14 | 浙江大学 | 一种3d欠驱动双足机器人的动力学模型计算方法 |
CN106773680A (zh) * | 2016-12-01 | 2017-05-31 | 南京航空航天大学 | 降低液压机器人流量的足端轨迹优化方法 |
CN107045552A (zh) * | 2017-04-28 | 2017-08-15 | 齐鲁工业大学 | 一种基于正弦对角步态与快速查表法的四足机器人运动控制方法及控制装置 |
US20210039731A1 (en) * | 2019-08-06 | 2021-02-11 | Boston Dynamics, Inc. | Leg Swing Trajectories |
CN111208826A (zh) * | 2020-02-18 | 2020-05-29 | 杭州云深处科技有限公司 | 四足机器人溜蹄步态规划方法、装置、设备及可读介质 |
CN111880544A (zh) * | 2020-08-07 | 2020-11-03 | 深圳市优必选科技股份有限公司 | 仿人机器人步态规划方法、装置和仿人机器人 |
US20220355479A1 (en) * | 2021-04-30 | 2022-11-10 | Ubtech Robotics Corp Ltd | Gait planning method and robot using the same and computer readable storage medium |
CN113485398A (zh) * | 2021-07-19 | 2021-10-08 | 北京理工大学 | 一种轮式双足机器人姿态控制方法 |
CN113843799A (zh) * | 2021-10-12 | 2021-12-28 | 广州市优普科技有限公司 | 一种四足机器人姿态复位控制方法、装置及存储介质 |
CN113848968A (zh) * | 2021-10-20 | 2021-12-28 | 深圳鹏行智能研究有限公司 | 步态调整方法、多足机器人、计算机可读存储介质 |
CN114655333A (zh) * | 2022-05-17 | 2022-06-24 | 中国科学院自动化研究所 | 四足机器人的步态切换方法及装置 |
CN115344040A (zh) * | 2022-07-15 | 2022-11-15 | 深圳鹏行智能研究有限公司 | 一种足式机器人足端轨迹规划的方法、装置及足式机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN115981346B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3633478B1 (en) | Method and device for assessing probability of presence of obstacle in unknown position | |
CN110147091B (zh) | 机器人运动控制方法、装置及机器人 | |
CN115344040A (zh) | 一种足式机器人足端轨迹规划的方法、装置及足式机器人 | |
JP2018190363A (ja) | 携帯型移動ロボット及びその操作方法 | |
US20140320481A1 (en) | Display control | |
CN114415850A (zh) | 一种控制方法、装置、触控笔及计算机可读存储介质 | |
CN110471870B (zh) | 多系统运行的方法、装置、电子设备及存储介质 | |
CN114253281A (zh) | 一种四足机器人运动控制方法、相关装置及存储介质 | |
CN115981346B (zh) | 机器人控制方法以及机器人 | |
CN114740835A (zh) | 路径规划方法、路径规划装置、机器人和存储介质 | |
CN117073662A (zh) | 地图构建方法、装置、机器人以及存储介质 | |
CN114330755B (zh) | 数据集的生成方法、装置、机器人和存储介质 | |
CN114137992A (zh) | 一种降低足式机器人抖动的方法及相关装置 | |
CN113848968A (zh) | 步态调整方法、多足机器人、计算机可读存储介质 | |
CN114296403B (zh) | 激光切割头的控制方法、装置、终端设备以及存储介质 | |
Baron et al. | Gesture and voice driven mobile tribot robot using Kinect sensor | |
CN106020219A (zh) | 一种飞行器的控制方法和装置 | |
CN114633826B (zh) | 一种足式机器人腿部磕碰处理的方法及足式机器人 | |
US20180307302A1 (en) | Electronic device and method for executing interactive functions | |
CN115446844B (zh) | 机器人的控制方法、机器人及控制终端 | |
CN115709471B (zh) | 机器人状态值调整方法及机器人 | |
CN116276991A (zh) | 一种机器人提起处理的方法及机器人 | |
CN106826915A (zh) | 一种机器人触觉操控方法及其装置 | |
CN117021106A (zh) | 机器人的步态控制方法和机器人 | |
CN112286849A (zh) | 无线充电基座数据切换方法及系统、存储介质及终端设备 |
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 |