一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种降低足式机器人抖动的方法及相关装置与流程

2022-03-05 10:04:41 来源:中国专利 TAG:


1.本技术实施例涉及机器人技术领域,尤其涉及一种降低足式机器人抖动的方法及相关装置。


背景技术:

2.足式机器人需要通过腿部的动力模组提供能量,并配合腿部精确的跟随设置的期望轨迹进行移动,但是在移动过程中,可能会由于多种原因导致足式机器人轨迹跟随得不精确,存在有外部因素和内部因素,例如外部因素:地面有凸起,会导致足端提前触地;又比如内部因素,由于机器人内部原因导致的各种误差,像机器人内部机械结构之间可能配合得不够准确,会产生机械间隙误差、机器人内部运动控制系统响应不够及时,会产生运动控制误差以及机器人内部电机由于加工偏差或安装偏差,会产生电机零位标定误差等。
3.在出现上述情况时会导致足端不能在期望的时间与地面进行接触,当足端提前与地面接触,此时足式机器人的足端依然继续移动从而完成其规划的轨迹,比如:足式机器人的移动步态为trot步态,规划的轨迹是足式机器人的两条腿着地,两条腿腾空,本来应该是两条腿同时着地,但现在由于各种原因导致一条腿提前着地,一条腿还在空中,提前着地的一条腿为了完成规划的轨迹,在与地面接触后依然会继续向下移动,此时提前着地的一条腿的足端与地面接触力会增大,会将足式机器人的身体一侧抬起,从而导致足式机器人发生抖动,在进行多次间断或是不间断的抖动时,可能会对足式机器人内部的机械结构造成损伤,从而降低足式机器人的使用寿命。


技术实现要素:

4.本技术实施例提供了一种降低足式机器人抖动的方法及相关装置,能够有效的减少由于抖动对足式机器人内部机械结构造成损伤,从而提高足式机器人的使用寿命。
5.本技术第一方面提供了一种降低足式机器人身体抖动的方法,所述方法包括:
6.获取机器人移动速度和移动方向;
7.根据所述移动速度、移动方向和至少一条腿的足端的起始点位置获取所述至少一条腿的足端的期望落足点位置;
8.根据所述至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、足端抬起的预设高度和预设曲线,规划出所述至少一条腿的足端期望轨迹,所述至少一条腿的足端期望轨迹包括期望移动位置和与所述期望移动位置相对应的期望速度;
9.根据所述足端期望轨迹和获取的足端实际位置和足端实际速度,控制所述至少一条腿的足端跟随所述足端期望轨迹移动;
10.检测所述至少一条腿的足端是否着地;
11.若所述至少一条腿的足端着地,则将所述至少一条腿的足端在本次腾空相的期望落足点位置更新为当前着地的足端位置,并重新规划轨迹。
12.可选的,所述方法还包括:通过检测所述至少一条腿所对应的至少一个动力模组
的动力输出单元的转动角度和转动速度,并根据所述转动角度和转动速度计算获取所述至少一条腿所对应的足端实际位置和足端实际速度。
13.可选的,所述根据所述足端期望轨迹和获取的足端实际位置和足端实际速度,控制所述至少一条腿的足端跟随所述足端期望轨迹移动,包括:
14.通过所述足端期望轨迹、所述足端实际位置和所述足端实际速度计算出所述至少一条腿的至少一个动力模组的关节力矩,以控制所述至少一条腿的足端按照规划出的轨迹移动;
15.所述至少一个动力模组的关节力矩计算公式:
16.关节力矩t=j[k
p
(p_ref-p) kd(v_ref-v)] t_ff;其中:j表示雅可比矩阵;
[0017]kp
表示比例参数,p_ref表示机器人每条腿的足端期望移动位置,p表示机器人每条腿的足端实际移动位置;
[0018]
kd表示微分参数,v_ref表示机器人每条腿的足端期望速度,v表示机器人每条腿的足端实际速度;
[0019]
t_ff表示重力补偿力矩,所述重力补偿力矩用于补偿机器人每条腿的腿部的重力和/或足端的摩擦力。
[0020]
可选的,所述检测所述至少一条腿的足端是否着地,包括:
[0021]
通过触底检测算法检测所述至少一条腿的足端是否着地;
[0022]
或,
[0023]
通过足端力传感器检测所述至少一条腿的足端是否着地。
[0024]
可选的,所述重新规划轨迹,包括:
[0025]
将所述至少一条腿当前着地的足端位置确定为所述至少一条腿足端下次移动的起始点位置;
[0026]
根据所述至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、足端抬起的预设高度和预设曲线对所述至少一条腿的足端对应的轨迹进行重新规划。
[0027]
本技术第二方面提供了一种降低足式机器人抖动的装置,所述装置包括:
[0028]
第一获取单元,用于获取机器人移动速度和移动方向;
[0029]
第二获取单元,用于根据所述移动速度、移动方向和至少一条腿的足端的起始点位置获取所述至少一条腿的足端的期望落足点位置;
[0030]
规划单元,用于根据所述至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、足端抬起的预设高度和预设曲线,规划出所述至少一条腿的足端期望轨迹,所述至少一条腿的足端期望轨迹包括期望移动位置和与所述期望移动位置相对应的期望速度;
[0031]
控制单元,用于根据所述足端期望轨迹和获取的足端实际位置和足端实际速度,控制所述至少一条腿的足端跟随所述足端期望轨迹移动;
[0032]
检测单元,用于检测所述至少一条腿的足端是否着地;
[0033]
更新单元,用于当所述检测单元确定所述至少一条腿的足端着地时,则将所述至少一条腿的足端在本次腾空相的期望落足点位置更新为当前着地的足端位置,并重新规划轨迹。
[0034]
可选的,所述装置还包括:
[0035]
计算单元,用于通过检测所述至少一条腿所对应的至少一个动力模组的动力输出
单元的转动角度和转动速度,并根据所述转动角度和转动速度计算获取所述至少一条腿所对应的足端实际位置和足端实际速度。
[0036]
可选的,所述控制单元包括:
[0037]
计算模块,用于通过所述足端期望轨迹、所述足端实际位置和所述足端实际速度计算出所述至少一条腿的至少一个动力模组的关节力矩,以控制所述至少一条腿的足端按照规划出的轨迹移动;
[0038]
所述至少一个动力模组的关节力矩计算公式:
[0039]
关节力矩t=j[k
p
(p_ref-p) kd(v_ref-v)] t_ff;其中:j表示雅可比矩阵;
[0040]kp
表示比例参数,p_ref表示机器人每条腿的足端期望落足点位置,p表示机器人每条腿的足端实际落足点位置;
[0041]
kd表示微分参数,v_ref表示机器人每条腿的足端期望速度,v表示机器人每条腿的足端实际速度;
[0042]
t_ff表示重力补偿力矩,所述重力补偿力矩用于补偿机器人每条腿的腿部的重力和/或足端的摩擦力。
[0043]
本技术第三方面提供了一种降低足式机器人抖动的设备,所述设备包括:
[0044]
处理器、存储器以及总线;
[0045]
所述处理器与所述存储器以及所述总线相连;
[0046]
所述存储器保存有程序,所述处理器调用所述程序以执行如第一方面及第一方面中任一项所述的方法。
[0047]
本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如第一方面及第一方面中任一项所述方法。
[0048]
从以上技术方案可以看出,本技术实施例具有以下优点:
[0049]
本技术提供的降低足式机器人抖动的方法中,首先获取机器人移动速度和移动方向;并根据移动速度、移动方向和至少一条腿的足端的起始点位置获取至少一条腿的足端的期望落足点位置;接着根据至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、足端抬起的预设高度和预设曲线,规划出至少一条腿的足端期望轨迹;以此根据所述足端期望轨迹和获取的足端实际位置和足端实际速度,控制所述至少一条腿的足端跟随足端期望轨迹移动;再继续检测至少一条腿的足端是否着地;若确定至少一条腿的足端着地,则将至少一条腿的足端在本次腾空相的期望落足点位置更新为当前着地的足端位置,并重新规划轨迹;进而可知,在机器人至少一条腿的足端触地之后,将本次腾空相的落足点位置更新为当前着地的足端位置,使得足端停止移动,能够有效的避免足式机器人的足端在提前触地之后,继续向下运动造成足式机器人身体抖动的情况发生,并根据当前足端位置对足端的轨迹重新进行规划,使得足式机器人的足端在进行下一次的移动时,能够平稳的进行移动,从而有效的减少由于抖动对机器人内部机械结构造成的损伤,提高足式机器人的使用寿命。
附图说明
[0050]
为了更清楚地说明本技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域
普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051]
图1为本技术其中一个实施方式的机器人的硬件结构示意图;
[0052]
图2为本技术其中一个实施方式的机器人的机械结构示意图;
[0053]
图3为本技术提供的降低四足机器人身体抖动的方法的一个实施例流程示意图;
[0054]
图4为本技术降低四足机器人腿部足端的运动轨迹示意图;
[0055]
图5为本技术降低四足机器人身体抖动的方法的另一个实施例流程示意图;
[0056]
图6为本技术降低四足机器人身体抖动的装置的实施例结构示意图;
[0057]
图7为本技术降低四足机器人身体抖动的设备的实施例结构示意图。
具体实施方式
[0058]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0059]
在后续的描述中,使用用于表示部件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
[0060]
请参阅图1,图1为本发明其中一个实施方式的多足机器人100的硬件结构示意图。在图1所示的实施方式中,多足机器人100包括机械单元101、通讯单元102、传感单元103、接口单元104、存储单元105、控制模块110、电源111。多足机器人100的各种部件可以以任何方式连接,包括有线或无线连接等。本领域技术人员可以理解,图1中示出的多足机器人100的具体结构并不构成对多足机器人100的限定,多足机器人100可以包括比图示更多或更少的部件,某些部件也并不属于多足机器人100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略,或者组合某些部件。
[0061]
下面结合图1对多足机器人100的各个部件进行具体的介绍:
[0062]
机械单元101为多足机器人100的硬件。如图1所示,机械单元101可包括驱动板1011、电机1012、机械结构1013,如图2所示,机械结构1013可包括机身主体1014、可伸展的腿部1015、足部1016,在其他实施方式中,机械结构1013还可包括可伸展的机械臂、可转动的头部结构、可摇动的尾巴结构、载物结构、鞍座结构、摄像头结构等。需要说明的是,机械单元101的各个部件模块可以为一个也可以为多个,可根据具体情况设置,比如腿部1015可为4个,每个腿部1015可配置3个电机1012,对应的电机1012为12个。
[0063]
通讯单元102可用于信号的接收和发送,还可以通过与网络和其他设备通信,比如,接收遥控器或其他多足机器人100发送的按照特定步态以特定速度值向特定方向移动的指令信息后,传输给控制模块110处理。通讯单元102包括如wifi模块、4g模块、5g模块、蓝牙模块、红外模块等。
[0064]
传感单元103用于获取多足机器人100周围环境的信息数据以及监控多足机器人100内部各部件的参数数据,并发送给控制模块110。传感单元103包括多种传感器,如获取周围环境信息的传感器:激光雷达(用于远程物体检测、距离确定和/或速度值确定)、毫米波雷达(用于短程物体检测、距离确定和/或速度值确定)、摄像头、红外摄像头、全球导航卫星系统(gnss,global navigation satellite system)等。如监控多足机器人100内部各部件的传感器:惯性测量单元(imu,inertial measurement unit)(用于测量速度值、加速度值和角速度值的值),足底传感器(用于监测足底着力点位置、足底姿态、触地力大小和方
向)、温度传感器(用于检测部件温度)。至于多足机器人100还可配置的载荷传感器、触摸传感器、电机角度传感器、扭矩传感器等其他传感器,在此不再赘述。
[0065]
接口单元104可以用于接收来自外部装置的输入(例如,数据信息、电力等)并且将接收到的输入传输到多足机器人100内的一个或多个部件,或者可以用于向外部装置输出(例如,数据信息、电力等)。接口单元104可包括电源端口、数据端口(如usb端口)、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口等。
[0066]
存储单元105用于存储软件程序以及各种数据。存储单元105可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统程序、运动控制程序、应用程序(比如文本编辑器)等;数据存储区可存储多足机器人100在使用中所生成的数据(比如传感单元103获取的各种传感数据,日志文件数据)等。此外,存储单元105可以包括高速随机存取存储器,还可以包括非易失性存储器,例如磁盘存储器、闪存器、或其他易失性固态存储器。
[0067]
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode,oled)等形式来配置显示面板1061。
[0068]
输入单元107可用于接收输入的数字或字符信息。具体地,输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户的触摸操作(比如用户使用手掌、手指或适合的附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置1073和触摸控制器1074两个部分。其中,触摸检测装置1073检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器1074;触摸控制器1074从触摸检测装置1073上接收触摸信息,并将它转换成触点坐标,再送给控制模块110,并能接收控制模块110发来的命令并加以执行。除了触控面板1071,输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于遥控操作手柄等中的一种或多种,具体此处不做限定。
[0069]
进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给控制模块110以确定触摸事件的类型,随后控制模块110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来分别实现输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现输入和输出功能,具体此处不做限定。
[0070]
控制模块110是多足机器人100的控制中心,利用各种接口和线路连接整个多足机器人100的各个部件,通过运行或执行存储在存储单元105内的软件程序,以及调用存储在存储单元105内的数据,从而对多足机器人100进行整体控制。
[0071]
电源111用于给各个部件供电,电源111可包括电池和电源控制板,电源控制板用于控制电池充电、放电、以及功耗管理等功能。在图1所示的实施方式中,电源111电连接控制模块110,在其它的实施方式中,电源111还可以分别与传感单元103(比如摄像头、雷达、音箱等)、电机1012电性连接。需要说明的是,各个部件可以各自连接到不同的电源111,或者由相同的电源111供电。
[0072]
在上述实施方式的基础上,具体地,在一些实施方式中,可以通过终端设备来与多足机器人100进行通信连接,在终端设备与多足机器人100进行通信时,可以通过终端设备来向多足机器人100发送指令信息,多足机器人100可通过通讯单元102来接收指令信息,并
可在接收到指令信息的情况下,将指令信息传输至控制模块110,使得控制模块110可根据指令信息来处理得到目标速度值。终端设备包括但不限于:具备图像拍摄功能的手机、平板电脑、服务器、个人计算机、可穿戴智能设备、其它电器设备。
[0073]
指令信息可以根据预设条件来确定。在一个实施方式中,多足机器人100可以包括传感单元103,传感单元103可根据多足机器人100所在的当前环境可生成指令信息。控制模块110可根据指令信息来判断多足机器人100的当前速度值是否满足对应的预设条件。若满足,则会保持多足机器人100的当前速度值和当前步态移动;若不满足,则会根据对应的预设条件来确定目标速度值和相应的目标步态,从而可控制多足机器人100以目标速度值和相应的目标步态移动。环境传感器可以包括温度传感器、气压传感器、视觉传感器、声音传感器。指令信息可以包括温度信息、气压信息、图像信息、声音信息。环境传感器与控制模块110之间的通信方式可以为有线通信,也可以为无线通信。无线通信的方式包括但不限于:无线网络、移动通信网络(3g、4g、5g等)、蓝牙、红外。
[0074]
本技术提供了一种降低足式机器人抖动的方法及相关装置,能够有效的减少由于抖动对足式机器人内部机械结构造成损伤,从而提高足式机器人的使用寿命。
[0075]
本技术提供的降低足式机器人抖动的方法,主要应用于四足机器人领域中,在以下实施例中,以四足机器人为例进行说明。请参阅图3,图3为本技术提供的降低足式机器人抖动的方法的一个实施例流程示意图,该降低足式机器人抖动的方法包括:
[0076]
101、获取机器人移动速度和移动方向;
[0077]
在实际应用中,为了有效的控制四足机器人移动,需要先给四足机器人设定一条质心参考轨迹,质心参考轨迹是指四足机器人从初始地到目的地的运动轨迹。其中,质心参考轨迹中包含四足机器人行进过程中每一个控制周期的状态参数集合和控制输入量。其中控制周期是四足机器人的运动控制周期,四足机器人在运动过程中,是根据预设的控制逻辑实现每一步的运动,多个控制周期的运动就形成了机器人的移动轨迹。对于质心参考轨迹的计算,更具体的为,首先先获取到四足机器人的移动速度和机器人的移动方向,其中,四足机器人的移动速度是四足机器人腿部的移动速度,四足机器人的移动方向是四足机器人腿部的移动方向。四足机器人的四个腿部上均安装有动力组件,用于为四足机器人的移动提供动力,移动方向为四足机器人从起点到达终点的方向,更具体的为,例如:四足机器人从a点出发到b点,a点为起点,b点为终点,b点在a点的左侧,则四足机器人的移动方向是左侧。在获取到四足机器人移动速度和移动方向之后,执行步骤102。
[0078]
102、根据所述移动速度、移动方向和至少一条腿的足端的起始点位置获取所述至少一条腿的足端的期望落足点位置;
[0079]
获取到四足机器人的移动速度、移动方向和至少一条腿的足端的起始点位置之后,通过计算获取到四足机器人至少一条腿的足端的期望落足点位置。期望落足点位置是四足机器人的移动速度、移动方向和至少一条腿的足端的起始点位置均在理想状态下计算得到,更具体的为,例如:获取到四足机器人的腿部移动速度为0.5m/s,移动方向为左侧,至少一条腿的足端的起始点位置在原点,即足端对应的位置在0m处,通过上述信息计算得到四足机器人至少一条腿的足端的期望落足点位置在0.5m处。四足机器人共设置有四条腿,则需要计算每条腿部足端的期望落足点位置。
[0080]
103、根据所述至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、
足端抬起的预设高度和预设曲线,规划出所述至少一条腿的足端期望轨迹,所述至少一条腿的足端期望轨迹包括期望移动位置和与所述期望移动位置相对应的期望速度;
[0081]
具体的,足端对应腾空相的起始点位置也是上一个腾空相的落足点位置。四足机器人至少一条腿的足端从起始点位置移动到足端对应的期望落足点位置时,需要规划至少一条腿的足端期望轨迹,该足端期望轨迹是由四足机器人至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、足端抬起的预设高度和预设曲线进行规划。其中,在该足端期望轨迹上分布有若干个离散点,足端期望轨迹上的期望移动位置与离散点对应,在足端移动过程中,若是足端均能准确的移动到离散点上,则说明四足机器人腿部的足端在跟随足端期望轨迹进行移动。需要说明的是,期望轨迹上的每个离散点上均对应有期望移动位置对应的期望速度,不同的离散点对应的期望移动位置与期望移动位置相对应的期望速度均不相同。
[0082]
在本技术中,四足机器人至少一条腿的足端期望轨迹以贝塞尔曲线为例进行说明,需要说明的是,四足机器人腿部的足端期望轨迹除了可以设定为贝塞尔曲线之外,还可设定为其他曲线,在此不对其他曲线进行举例说明。贝塞尔曲线的形状类似于弧形,且左右对称,曲线的起点和终点可在同一水平线上,也可不在同一水平线上,例如:当四足机器人的质心参考轨迹均是处于平地时,四足机器人腿部足端的贝塞尔曲线的起点和终点在同一水平面上;当四足机器人的质心参考轨迹中存在上坡的情况时,四足机器人腿部足端的贝塞尔曲线的起点和终点就不会在同一水平线上(期望图4)。
[0083]
四足机器人的正常移动依靠四足机器人内部的数据接收器、足端轨迹器和控制器共同配合工作,数据接收器通过无线的方式接收数据,例如:热点网络、蓝牙或局域网等,在本技术中,不对数据接收器的数据接收方式做具体限定,数据接收器接收来自外部控制器的控制指令,例如:发送目的地平面坐标的控制指令或控制四足机器人腿部移动速度的控制指令等,并将控制指令发送至控制器,控制器控制足端规划器根据该控制指令确定四足机器人腿部足端期望轨迹。其中,需要说明的是,本技术四足机器人的移动步态为trot步态,移动的轨迹是足式机器人的两条腿着地,两条腿腾空,四足机器人每条腿有两个相位,一个是stance相位(代表着地),另一个是swing相位(代表腾空),当四足机器人的腿部完成这两个相位之后,则完成该腿部的一个步态周期。由于四足机器人在移动过程中,是两条腿着地,两条腿腾空,当四足机器人的每条腿都完成对应的腿部步态周期时,四足机器人的一个步态周期才算完成。
[0084]
需要说明的是,四足机器人腿部足端的腾空相的起始位置对应贝塞尔曲线的起点,落足点位置对应贝塞尔曲线的终点。
[0085]
104、根据所述足端期望轨迹和获取的足端实际位置和足端实际速度,控制所述至少一条腿的足端跟随所述足端期望轨迹移动;
[0086]
四足机器人足端从起始位置沿着贝塞尔曲线向着期望落足点位置移动,在移动过程中,四足机器人内部的控制器会根据控制周期实时更新四足机器人每条腿的足端对应的足端期望轨迹,控制周期为规划机器人每条腿的足端期望轨迹的间隔时间,间隔的时间很短,当四足机器人腿部足端的移动偏离足端期望轨迹时,可以短时间内进行调整。四足机器人足端实际速度是四足机器人腿部的电机的实际转动速度,需要说明的是,四足机器人的每条腿上设置有三个电机,四足机器人上设置有四条腿,则一共设置有十二个电机。四足机
器人根据足端实际位置和足端实际速度控制每条腿的足端跟随贝塞尔曲线进行移动。
[0087]
105、检测所述至少一条腿的足端是否着地;
[0088]
在实际应用中,四足机器人内部控制器根据足端压力传感器反馈的压力检测四足机器人腿部足端是否着地,四足机器人腿部的足端在触地和腾空过中所受到的压力不同,根据足端所受的压力不同,四足机器人内部的控制器可以根据压力的大小对腿部足端是否着地进行检测。其中,除了通过压力传感器对四足机器人腿部足端是否落地进行检测之外,还可根据四足机器人腿部电机的电流变化计算出足端底部压力大小,若足端底部压力急剧增大,则判断此时足端已与地形接触,则电机会以100hz的频率向控制器发送触地的检测信号。若确定四足机器人中至少一条腿的足端已经着地,则执行步骤106。
[0089]
106、若所述至少一条腿的足端着地,则将所述至少一条腿的足端在本次腾空相的期望落足点位置更新为当前着地的足端位置,并重新规划轨迹。
[0090]
在实际应用中,若确定四足机器人的至少一条腿的足端已经着地,则将本次足端腾空相的期望落足点位置更新为当前着地的足端位置,此时,足端规划器停止继续规划足端轨迹,当前足端的速度为零,使得四足机器人腿部的足端停止运动,进而能保持四足机器人的身体平衡稳定。为了使得四足机器人下一次能够平稳的前进,控制器将四足机器人腿部足端的当前位置发送至足端规划器,足端规划器将当前位置设定为四足机器人腿部足端下一次移动的起始位置,控制器根据该起始位置对四足机器人的腿部足端轨迹进行重新规划。
[0091]
本技术提供的降低足式机器人抖动的方法中,首先获取机器人移动速度和移动方向;并根据移动速度、移动方向和至少一条腿的足端的起始点位置获取至少一条腿的足端的期望落足点位置;接着根据至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、足端抬起的预设高度和预设曲线,规划出至少一条腿的足端期望轨迹;以此根据所述足端期望轨迹和获取的足端实际位置和足端实际速度,控制所述至少一条腿的足端跟随足端期望轨迹移动;再继续检测至少一条腿的足端是否着地;若确定至少一条腿的足端着地,则将至少一条腿的足端在本次腾空相的期望落足点位置更新为当前着地的足端位置,并重新规划轨迹;进而可知,在机器人至少一条腿的足端触地之后,将本次腾空相的落足点位置更新为当前着地的足端位置,使得足端停止移动,能够有效的避免足式机器人的足端在提前触地之后,继续向下运动造成足式机器人身体抖动的情况发生,并根据当前足端位置对足端的轨迹重新进行规划,使得足式机器人的足端在进行下一次的移动时,能够平稳的进行移动,从而有效的减少由于抖动对机器人内部机械结构造成的损伤,提高足式机器人的使用寿命。
[0092]
为了更清楚的对降低足式机器人身体抖动的方法进行解释说明,下面通过举例对该方法的一个应用场景进行说明:
[0093]
假设四足机器人的足端期望轨迹路线是从a点行进到b点,其中,a点为起始点,b点为终点,b点也称为期望落足点位置,四足机器人内部的控制器会根据足端实际位置和足端实际速度控制每条腿的足端跟随贝塞尔曲线进行移动,通过四足机器人腿部足端的压力传感器或四足机器人腿部关节的电流变化计算足端底部压力大小判断四足机器人腿部足端是否已经着地。若确定足端已经着地,四足机器人内部的控制器将四足机器人触地的当前位置发送至足端规划器中,足端规划器将当前位置更新为期望落足点位置,也就是将之前
的期望落足点b更新为当前位置,从而使得控制器控制四足机器人停止继续前进,在当前位置停下,从而保持四足机器人的身体平衡,避免发生抖动。
[0094]
请参阅图5,图5为本技术提供的降低足式机器人抖动的方法另一个实施例流程示意图,该降低足式机器人身体抖动的方法包括:
[0095]
201、获取机器人移动速度和移动方向;
[0096]
202、根据所述移动速度、移动方向和至少一条腿的足端的起始点位置获取所述至少一条腿的足端的期望落足点位置;
[0097]
203、根据所述至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、足端抬起的预设高度和预设曲线,规划出所述至少一条腿的足端期望轨迹,所述至少一条腿的足端期望轨迹包括期望移动位置和与所述期望移动位置相对应的期望速度;
[0098]
在本技术实施例中,步骤201至步骤203与前述步骤101至步骤103类似,在此不再赘述。
[0099]
204、通过检测所述至少一条腿所对应的至少一个动力模组的动力输出单元的转动角度和转动速度,并根据所述转动角度和转动速度计算获取所述至少一条腿所对应的足端实际位置和足端实际速度;
[0100]
具体的,四足机器人的每条腿上安装有三个动力电机,通过检测至少一条腿所对应的三个动力电机的转动角度和转动速度,并根据转动角度和转动速度计算至少一条腿所对应的足端实际位置和足端实际速度,更具体的为,在四足机器人的每条腿上均安装有三个动力电机,通过动力电机的转子输入,经过减速机减速后,通过法兰盘向外输出能量,进而为四足机器人的腿部提供动力进行移动。
[0101]
205、根据所述足端期望轨迹和获取的足端实际位置和足端实际速度,控制所述至少一条腿的足端跟随所述足端期望轨迹移动;
[0102]
在通过足端期望轨迹、足端实际位置和足端实际速度计算出至少一条腿的三个动力模组的关节力矩后,以控制至少一条腿的足端按照规划出的轨迹移动;其中,三个动力模组的关节力矩计算公式:
[0103]
关节力矩t=j[k
p
(p_ref-p) kd(v_ref-v)] t_ff;其中:j表示雅可比矩阵;
[0104]kp
表示比例参数,p_ref表示机器人每条腿的足端期望移动位置,p表示机器人每条腿的足端实际移动位置;
[0105]
kd表示微分参数,v_ref表示机器人每条腿的足端期望速度,v表示机器人每条腿的足端实际速度;
[0106]
t_ff表示重力补偿力矩,所述重力补偿力矩用于补偿机器人每条腿的腿部的重力和/或足端的摩擦力。
[0107]
在实际应用中,机器人每条腿的足端期望落足点位置是四足机器人每条腿规划的贝塞尔曲线的终点位置。每条腿的足端期望速度是四足机器人每条腿的足端均落在离散点上的速度。四足机器人腿部的关节力矩代表三个动力模组的力矩。
[0108]
对于关节力矩的计算进行说明:
[0109]
首先确定速度参数的计算公式为kd(v_ref-v);其中,kd表示微分参数,v_ref表示机器人足端预设速度,v表示机器人足端当前速度,根据预设速度和当前速度进行计算得到速度差值,将该速度差值与微分参数相乘,即可得到对应的速度参数,其中,需要说明的是,
对于微分参数kd是公式本身设定的,在本技术中,不对此做具体限定,更具体的为,例如:确定的预设速度为20m/s,获取到的当前速度为15m/s,对应于公式中的参数,即v_ref=20,v=15,两者相减(v_ref-v)=(20-15)=5,得到速度差值为5m/s,然后将该速度差值与微分参数kd相乘,即可得到对应的速度参数=5kd。
[0110]
接着确定里程参数=k
p
(p_ref-p),其中,k
p
表示比例参数,p_ref表示机器人足端落足点位置,p表示机器人足端当前位置,根据落足点位置和当前位置进行计算得到里程差值,将该里程差值与比例参数相乘,即可得到对应的里程参数,其中,需要说明的是,对于比例参数k
p
是公式本身设定的,在本技术中,不对此做具体限定,更具体的为,例如:确定落足点位置为1m,获取到的当前位置为0.8m,对应于公式中的参数,即p_ref=1,p=0.8,两者相减(p_ref-p)=1-0.8=0.2,得到里程差值为0.2m,然后将该里程差值与比例参数k
p
相乘,即可得到对应的里程参数=0.2k
p

[0111]
在获取速度参数和里程参数之后,将速度参数和里程参数代入到关节力矩公式中计算得到关节力矩,其中,需要说明的是,通过该关节力矩计算得到的是四足机器人每条腿足端的关节力矩,该关节力矩是计算三个电机的力矩,该关节力矩的公式t=j[k
p
(p_ref-p) kd(v_ref-v)] t_ff;其中:j表示雅可比矩阵,t_ff表示前馈力矩,所述前馈力矩用于补偿所述机器人腿部的重力和足端的摩擦力,更具体的为,如上述举例中说明,例如:速度参数为5kd,里程参数=0.2k
p
,则得到的关节力矩t=j(5kd 0.2k
p
) t_ff。
[0112]
206、检测所述至少一条腿的足端是否着地;
[0113]
207、若所述至少一条腿的足端着地,则将所述至少一条腿的足端在本次腾空相的期望落足点位置更新为当前着地的足端位置,并重新规划轨迹。
[0114]
在实际应用中,除了通过触底检测算法检测所述至少一条腿的足端是否着地或通过足端力传感器检测所述至少一条腿的足端是否着地之外。还可通过四足机器人足端的关节力矩进行检测,更具体的为,四足机器人的某个足端的关节力矩与预设力矩不相等时,即当t不等于t_ff时,则说明速度参数和里程参数中某一项不等于0,或是都不等于0,若是速度参数不等于0,(v_ref-v)不等于0,则说明四足机器人足端落地时的当前速度不等于足端期望速度。若是里程参数不等于0,k
p
(p_ref-p)不等于0,则说明四足机器人足端落地时的当前位置不在落足点位置。在上述情况时,说明四足机器人足端还未到达期望落足点位置,可能是碰到凸起块导致足端提前落地了,则当控制器确定关节力矩与前馈力矩不相等时,将四足机器人足端的期望落足点位置更新为当前位置,使得足端规划器停止继续规划足端轨迹,并将当前足端的速度调为0,从而使得四足机器人在提前触地之后,能够保持身体平衡,不发生抖动。
[0115]
在将四足机器人当前着地的腿部足端位置确定为四足机器人腿部足端的下次移动位置时,四足机器人内部的控制器和足端规划器会根据四足机器人腿部足端对应的腾空相的当前着地位置、落足点位置和足端抬起的预设高度和预设曲线对祖足端对应的轨迹进行重新规划。在本技术实施例中,不对四足机器人的落地位置的具体位置做限定,其中,需要说明的是,重新规划的四足机器人的足端轨迹也为贝塞尔曲线。
[0116]
在本技术中,关节力矩的预设公式t=j[k
p
(p_ref-p) kd(v_ref-v)] t_ff能够确定关节力矩与前馈力矩之间的关系,在确定四足机器人的足端落地时,将轨迹中的期望落足位置更新为当前落地位置,使得四足机器人的足端停止继续运动,从而有效的避免由于
向下产生的冲击力大于腿部的重力和足端产生的摩擦力,造成四足机器人的身体抖动。
[0117]
上述实施例对本技术中提供的降低四足机器人抖动的方法进行了详细阐述,下面将结合附图对本技术中提供的系统、装置、设备以及计算机存储介质进行详细阐述。
[0118]
请参阅图6,图6为本技术中提供的降低足式机器人抖动装置的一个实施例结构示意图,该实施例包括:
[0119]
第一获取单元301,用于获取机器人移动速度和移动方向;
[0120]
第二获取单元302,用于根据所述移动速度、移动方向和至少一条腿的足端的起始点位置获取所述至少一条腿的足端的期望落足点位置;
[0121]
规划单元303,用于根据所述至少一条腿的足端对应的腾空相的起始点位置、期望落足点位置、足端抬起的预设高度和预设曲线,规划出所述至少一条腿的足端期望轨迹,所述至少一条腿的足端期望轨迹包括期望移动位置和与所述期望移动位置相对应的期望速度;
[0122]
控制单元304,用于根据所述足端期望轨迹和获取的足端实际位置和足端实际速度,控制所述至少一条腿的足端跟随所述足端期望轨迹移动;
[0123]
检测单元305,用于检测所述至少一条腿的足端是否着地;
[0124]
更新单元306,用于当所述检测单元确定所述至少一条腿的足端着地时,则将所述至少一条腿的足端在本次腾空相的期望落足点位置更新为当前着地的足端位置,并重新规划轨迹。
[0125]
可选的,所述装置还包括:
[0126]
计算单元307,用于通过检测所述至少一条腿所对应的至少一个动力模组的动力输出单元的转动角度和转动速度,并根据所述转动角度和转动速度计算获取所述至少一条腿所对应的足端实际位置和足端实际速度。
[0127]
可选的,所述控制单元304包括:
[0128]
计算模块3041,用于通过所述足端期望轨迹、所述足端实际位置和所述足端实际速度计算出所述至少一条腿的至少一个动力模组的关节力矩,以控制所述至少一条腿的足端按照规划出的轨迹移动;
[0129]
所述至少一个动力模组的关节力矩计算公式:
[0130]
关节力矩t=j[k
p
(p_ref-p) kd(v_ref-v)] t_ff;其中:j表示雅可比矩阵;
[0131]kp
表示比例参数,p_ref表示机器人每条腿的足端期望落足点位置,p表示机器人每条腿的足端实际落足点位置;
[0132]
kd表示微分参数,v_ref表示机器人每条腿的足端期望速度,v表示机器人每条腿的足端实际速度;
[0133]
t_ff表示重力补偿力矩,所述重力补偿力矩用于补偿机器人每条腿的腿部的重力和/或足端的摩擦力。
[0134]
请参阅图7,图7为本技术中提供的降低足式机器人抖动设备的一个实施例结构示意图,该实施例包括:
[0135]
处理器401、存储器402以及总线403;
[0136]
所述处理器401与所述存储器402以及所述总线403相连;
[0137]
所述存储器402保存有程序,所述处理器402调用所述程序以执行上述降低足式机
器人抖动的方法。
[0138]
本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行上述降低足式机器人身体抖动的方法。
[0139]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以期望前述方法实施例中的对应过程,在此不再赘述。
[0140]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0141]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0142]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0143]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献