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

机器人的控制方法、机器人及控制终端与流程

2022-12-10 20:57:47 来源:中国专利 TAG:


1.本技术涉及机器人技术领域,具体涉及一种机器人的控制方法、机器人及控制终端。


背景技术:

2.基于动力学模型的控制策略广泛应用于各种类型的机器人,例如需要快速、准确、灵活地执行各种仿生动作的四足机器人。传统的控制策略对输入到动力学模型的动力学参数的准确性要求较高,当动力学参数的准确性达不到预期时,机器人的实际位姿相对于期望位姿会产生偏差,导致机器人难以达到或接近期望位姿,从而导致机器人的稳定性降低。


技术实现要素:

3.鉴于此,本技术提供一种机器人的控制方法、机器人及控制终端,旨在解决机器人的期望位姿和实际位姿产生偏差时如何提升机器人的稳定性的技术问题。
4.本技术第一方面提供一种机器人的控制方法,机器人的控制方法包括:计算机器人的当前位姿和期望位姿之间的第一偏差;根据第一偏差更新动力学参数;根据选择的动力学参数获取至少一个关节模组的驱动指令,以控制机器人的位姿达到或接近期望位姿。
5.采用本实施例的机器人的控制方法,机器人计算当前位姿和期望位姿之间的第一偏差,根据第一偏差更新动力学参数,再根据选择的动力学参数获取至少一个关节模组的驱动指令,以控制机器人的位姿达到或接近期望位姿,可自适应调整动力学参数,并控制位姿达到或接近期望位姿,从而提升机器人的稳定性。
6.本技术第二方面提供一种机器人,机器人包括机器人本体、第一处理器、第一存储器及传感器,机器人本体包括至少一个关节模组,机器人通过第一处理器计算机器人的当前位姿和期望位姿之间的第一偏差;根据第一偏差更新动力学参数;根据选择的动力学参数获取至少一个关节模组的驱动指令,以控制机器人的位姿达到或接近期望位姿。
7.本技术第三方面提供一种机器人的控制终端,控制终端与机器人通信连接,控制终端包括第二处理器和第二存储器,控制终端通过第二处理器计算机器人的当前位姿和期望位姿之间的第一偏差;根据第一偏差更新动力学参数;根据选择的动力学参数获取机器人的至少一个关节模组的驱动指令并发送给机器人,以控制机器人的位姿达到或接近期望位姿。
8.可以理解,本技术第二方面提供的机器人和第三方面提供的机器人的控制终端的具体实施方式和有益效果均与本技术第一方面提供的机器人的控制方法的具体实施方式和有益效果大致相同,此处不再赘述。
附图说明
9.图1是本技术一种实施例提供的机器人的控制方法的逻辑架构示意图。
10.图2是本技术一种实施例提供的机器人的控制方法的流程图。
11.图3是本技术一种实施例提供的图2所示的步骤s201的子步骤流程图。
12.图4是本技术另一种实施例提供的机器人的控制方法的流程图。
13.图5是本技术一种实施例提供的图4所示的步骤s402的子步骤流程图。
14.图6是本技术另一种实施例提供的机器人的控制方法的步骤流程图。
15.图7是本技术一种实施例提供的机器人的结构示意图。
16.图8是本技术一种实施例提供的控制终端的结构示意图。
17.图9是本技术一种实施例提供的多足机器人的结构示意图。
18.图10是本技术一种实施例提供的控制终端控制多足机器人的场景示意图。
具体实施方式
19.需要说明的是,本技术实施例中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。本技术的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
20.另外需要说明的是,本技术实施例中公开的方法或流程图所示出的方法,包括用于实现方法的一个或多个步骤,在不脱离权利要求的范围的情况下,多个步骤的执行顺序可以彼此互换,其中某些步骤也可以被删除。
21.传统的控制策略将预设的动力学参数输入动力学模型,然后基于动力学模型的输出控制机器人。动力学参数用于表征机器人的动力学特性。预设的动力学参数可以是通过计算机辅助设计(computer aided design,cad)软件进行仿真处理得到的模拟值,也可以是通过理论计算得到的理论值或先验值。
22.机器人在受到外力,或者增加负载,或者减少负载时,机器人的当前位姿会偏离期望位姿。采用传统的控制策略,当机器人的当前位姿偏离期望位姿时,由于动力学参数是恒定的,导致机器人难以达到或接近期望位姿,从而导致机器人的稳定性降低。
23.例如,机器人在利用机械臂抓取快递包裹时,随着机器人的负载增加,机器人的机械臂受到快递包裹的重力导致机器人的位姿偏离期望位姿,整个机身位姿发生突变,比如整个机身发生严重倾斜,甚至机器人发生侧翻,从而影响机器人的稳定性。
24.又例如,机器人的机械臂的末端执行器安装有工具,当工具被拆除时,随着机器人的负载减少,机械臂的末端执行器不再受到工具的重力,导致机器人的位姿偏离期望位姿,整个机身位姿发生突变,从而影响机器人的稳定性。
25.又例如,当机器人的机械臂受到拉力而被拖动时,随着机械臂受到的拉力导致的位姿偏离期望位姿,整个机身位姿发生突变,机器人难以维持机械臂被拖动之前的状态,从而影响机器人的稳定性。
26.基于此,本技术提供一种机器人的控制方法、机器人及控制终端,机器人计算当前位姿和期望位姿之间的第一偏差,根据第一偏差更新动力学参数,再根据选择的动力学参数获取至少一个关节模组的驱动指令,以控制机器人的位姿达到或接近期望位姿,可自适应调整动力学参数,并控制位姿达到或接近期望位姿,从而提升机器人的稳定性。
27.下面对本技术提供的机器人的控制方法进行说明。
28.图1是本技术一种实施例提供的机器人的控制方法的逻辑架构示意图。
29.可参阅图1,机器人首先将第一动力学参数和传感器模块20检测到的数据输入动力学模型10。第一动力学参数可以是初始值,也可以是通过执行本实施例的控制方法得到的更新值。初始值可通过cad软件仿真得到,或为理论计算得到的理论值或先验值。传感器模块20检测到的数据可包括通过关节模组21检测的关节模组扭矩信息、惯性测量单元22(inertial measurement unit,imu)检测的机器人机身的加速度信息和角速度信息,以及关节模组编码器23检测的关节模组输出端的转动位置信息。
30.可以理解,在一些实施例中,机器人本体可包括机身、头部、机械臂、腿部以及足端。
31.关节模组21可包括关节模组编码器23和扭矩传感器。关节模组21可通过扭矩传感器来检测关节模组扭矩信息,通过关节模组编码器23来检测关节模组输出端的转动位置信息。
32.接着,机器人将动力学模型10输出的支反力、传感器模块20检测到的数据以及期望位姿输入在线辨识模块30。传感器模块20检测到的数据可包括惯性测量单元22的加速度值和速度值。在线辨识模块30包括质心辨识模块31以及质量和惯量辨识模块32。
33.可以理解,机器人的位姿可包括以下至少一种:位置、线速度、线加速度、姿态、角速度、角动量、角加速度。
34.机器人将动力学模型10输出的支反力和期望位姿输入质心辨识模块31。质心辨识模块31可计算机器人的当前位姿和期望位姿之间的第一偏差,可通过最小二乘法更新质心参数。
35.机器人将动力学模型10输出的支反力、惯性测量单元22检测的机器人机身的加速度值和速度值以及质心辨识模块31输出的质心参数输入质量和惯量辨识模块32。质量和惯量辨识模块32可通过强跟踪扩展卡尔曼滤波法来估算惯量参数和质量参数,以消除测量噪声和过程噪声,在机器人的位姿发生改变时,可提升估算结果的准确性。
36.然后,机器人将质心辨识模块31输出的质心参数以及质量和惯量辨识模块32输出的惯量参数和质量参数输入动力学参数模块40。
37.接着,机器人将动力学参数模块40输出的动力学参数、传感器模块20检测到的数据以及期望位姿输入控制策略模块50。动力学参数包括质心参数、惯量参数和质量参数。
38.最后,机器人将控制策略模块50输出的驱动指令输入关节模组21,以控制机器人调整关节模组21的数据,使得机器人的位姿达到或接近期望位姿,提升机器人本体的稳定性。
39.可以理解,本实施例示意的机器人的控制方法的逻辑架构并不构成对机器人的控制方法的具体限定。在另一些实施例中,机器人的控制方法的逻辑架构可以包括比图示更多或更少的模块,或者组合某些模块,或者拆分某些模块,或者不同的模块布置。图示的模块可以以硬件,软件或软件和硬件的组合实现。
40.举例而言,机器人在利用机械臂抓取快递包裹时,机器人首先将第一动力学参数和传感器模块20检测到的数据输入动力学模型10。第一动力学参数是机器人的机械臂在抓取快递包裹之前的动力学参数。接着,机器人将动力学模型10输出的支反力、传感器模块20检测到的数据以及期望位姿输入在线辨识模块30。机器人的机械臂在抓取快递包裹之后,
在线辨识模块30计算机器人的当前位姿和期望位姿之间的第一偏差,可先通过最小二乘法更新质心参数,再通过强跟踪扩展卡尔曼滤波法来估算惯量参数和质量参数。然后,机器人将在线辨识模块30输出的质心参数、惯量参数和质量参数输入动力学参数模块40。接着,机器人将动力学参数模块40输出的动力学参数、传感器模块20检测到的数据以及期望位姿输入控制策略模块50。最后,机器人将控制策略模块50输出的驱动指令输入关节模组21,使关节模组21带动机器人的足端与地面产生反作用力,以控制机器人的位姿达到或接近期望位姿。机器人通过自适应调整动力学参数,可通过机器人的足端与地面产生反作用力来抵消机器人的机械臂受到快递包裹的重力的影响,从而阻止机械臂向下运动的趋势,可提升机器人的稳定性。
41.图2是本技术一种实施例提供的机器人的控制方法的流程图。
42.可参阅图2,机器人的控制方法可以包括如下步骤:s201,计算机器人的当前位姿和期望位姿之间的第一偏差。
43.可以理解,机器人可通过传感器检测机器人的各个关节模组的力反馈信号,从而根据各个关节模组的力反馈信号确定机器人是否受到外力,或者是否增加或减少负载,从而确定机器人的当前位姿是否偏离期望位姿。当机器人受到外力,或者机器人增加或减少负载时,机器人的位姿会发生改变。
44.在本实施例中,机器人可根据动力学模型输出的支反力和传感器检测到的数据计算机器人的当前位姿和期望位姿的第一偏差。
45.s202,根据第一偏差更新动力学参数。
46.其中,动力学参数包括质心参数、惯量参数和质量参数。
47.在本实施例中,动力学参数可包括第一动力学参数或第二动力学参数。第一动力学参数是指更新前的动力学参数,第二动力学参数是指更新后的动力学参数。
48.机器人在每个控制周期或者间隔一个或多个控制周期更新一次动力学参数。更新动力学参数可包括使用更新出的第二动力学参数直接替换更新前的第一动力学参数,或者在更新出第二动力学参数之后可选择使用更新前的第一动力学参数或更新出的第二动力学参数。
49.可以理解,控制周期可依需而设。机器人可在每个控制周期执行一次本实施例的控制方法。
50.在一些实施例中,机器人可先通过最小二乘法更新质心参数,再通过强跟踪扩展卡尔曼滤波法来估算惯量参数和质量参数,可消除测量噪声和过程噪声,在机器人的位姿发生改变时,可提升估算速度和估算结果的准确性。
51.在其他实施例中,机器人可先通过最小二乘法更新质心参数,再通过卡尔曼滤波法或扩展卡尔曼滤波法来估算惯量参数和质量参数。
52.s203,根据选择的动力学参数获取至少一个关节模组的驱动指令,以控制机器人的位姿达到或接近期望位姿。
53.可以理解,机器人可包括一个或多个关节模组,关节模组用于驱动机器人。
54.在本实施例中,机器人在更新动力学参数之后,可根据选择的动力学参数生成至少一个关节模组的驱动指令。驱动指令用于驱动关节模组带动机器人的足端与地面产生反作用力,以控制机器人的位姿达到或接近期望位姿。
55.可以理解,本技术反馈控制存在滞后,因为控制机器人达到期望位姿不是一步到位的,并不是指在下一个控制周期,就能使当前位姿非常接近期望位姿,整个过程可能需要花费多个控制周期,才能逐步“接近”期望位姿,所以,达到期望位姿会有一定时间的滞后。
56.并且,实际中大部分情况下,期望位姿一直在变,由于反馈控制存在滞后,实际位姿一般为接近期望位姿,而不一定能完全达到期望位姿,至于接近程度,主要由动力学参数准确度、控制器性能来决定。在本技术中,达到或接近期望位姿是一个动态变化的过程,“接近”是指在反馈控制过程中,使当前位姿的变化趋势逐渐接近期望位姿。
57.所述“选择”包括两种情况:1、“选择”不作为实现本实施例的控制方法的一个步骤,在一些实施例中,当机器人使用更新出的第二动力学参数直接替换更新前的第一动力学参数时,选择的动力学参数即更新出的第二动力学参数,这种情况“选择”可以理解为一种设置,而不是作为实现本实施例的控制方法的一个步骤。
58.2、“选择”作为实现本实施例的控制方法的一个步骤,在另一些实施例中,机器人在更新出第二动力学参数之后,可选择使用更新前的第一动力学参数或更新出的第二动力学参数,选择的动力学参数可包括更新前的第一动力学参数或更新出的第二动力学参数,这种情况“选择”是作为实现本实施例的控制方法的一个步骤。
59.可以理解,机器人在执行完步骤s203之后,可再返回执行步骤s201,从而继续计算机器人的位姿偏差,实现位姿的不断校正。
60.图3是本技术一种实施例提供的图2所示的步骤s201的子步骤流程图。
61.可参阅图3,计算机器人的当前位姿和期望位姿的第一偏差,可以包括如下步骤:s301,获取机器人的关节模组输出端的转动位置信息、关节模组的扭矩信息,以及机身的角速度值和第一线加速度值。
62.可以理解,关节模组编码器和惯性测量单元均为具有特定功能的传感器。关节模组编码器用于测量关节模组转动的位置。惯性测量单元用于测量机器人的机身在三维空间中的角速度和加速度。
63.其中,关节模组输出端的转动位置信息是指关节模组编码器测量的机器人的各个关节模组在三维空间中转动的位置信息。关节模组的扭矩信息是指机器人的各个关节模组在转动时关节模组力的大小。惯性测量单元的角速度值和第一线加速度值是指惯性测量单元测量的机器人在三维空间中的角速度值和线加速度值。线加速度值是指机器人在移动时的加速度值。
64.在本实施例中,机器人可通过传感器检测关节模组输出端的转动位置信息、关节模组的扭矩信息,以及机身的角速度值和第一线加速度值。
65.s302,将第一动力学参数、机器人的关节模组输出端的转动位置信息、关节模组的扭矩信息,以及机身的角速度值和第一线加速度值输入动力学模型,以获取支反力。
66.其中,第一动力学参数包括第一质量参数、第一惯量参数和第一质心参数。第一动力学参数是指更新之前的动力学参数。
67.可以理解,第一动力学参数可以是初始值,初始值可通过cad软件仿真得到,或为理论计算得到的理论值或先验值。由于机器人的控制方法是不断循环执行的,当前的动力学参数在下一个控制周期后,可能会被替代,所以第一动力学参数也可以是通过执行本实
施例的控制方法得到的更新值。
68.在一些实施例中,机器人可通过经典力学分析法或基于能量分析的拉格朗日法构建动力学模型,然后将第一动力学参数、机器人的关节模组输出端的转动位置信息、关节模组的扭矩信息,以及机身的角速度值和第一线加速度值输入动力学模型,从而获取支反力。
69.可以理解,动力学模型可将机器人整体受到的支反力拆分成各个关节受到的支反力,以计算各个关节的支反力。
70.s303,根据支反力、第一质心参数、第一质量参数计算机器人的当前位姿和期望位姿之间的第一偏差。
71.举例而言,当机器人增加负载导致当前位姿偏离期望位姿时,机器人可通过公式(1)计算位姿。
72.ꢀꢀꢀꢀꢀꢀ
(1)其中,为机器人的位姿,为机器人的足端的数目(例如四足机器人的足端的数目为4),为第个足端受到的支反力,表示计算第个足端受到的支反力的斜对称矩阵,为机器人的质心的位置坐标,为负载的质心的位置坐标,为机器人的质量,为负载的质量,为机器人的足端的总数目,和为自定义的过程参量,无实际物理意义。
73.可以理解,第一质心参数为机器人的质心的位置坐标。第一质量参数为机器人的质量。负载质心参数为负载的质心的位置坐标。负载质量参数为负载的质量。
74.机器人可通过计算增加负载之后机器人质心的位置坐标和增加负载之前机器人质心的位置坐标的偏差来计算负载质心的位置坐标,可通过计算增加负载之后机器人的质量和增加负载之前机器人的质量的偏差来计算负载的质量。
75.当机器人没有负载时,负载质心参数和负载质量参数均为0。
76.在本实施例中,机器人通过公式(1)计算得到当前位姿,再计算当前位姿与期望位姿的差值,从而得到第一偏差。其中,期望位姿可以是通过理论计算得到的理论值或先验值。
77.图4是本技术另一种实施例提供的机器人的控制方法的流程图。
78.可参阅图4,机器人的控制方法可包括如下步骤:s401,计算机器人的当前位姿和期望位姿之间的第一偏差。
79.可以理解,步骤s401的具体实施方式与图2所示的步骤s201相同,此处不再赘述。
80.s402,根据第一偏差更新出第二动力学参数。
81.其中,第二动力学参数包括第二质心参数、第二惯量参数和第二质量参数。
82.可以理解,步骤s402中获取第二动力学参数的方式与图2所示的步骤s202中获取动力学参数的方式相同,此处不再赘述。
83.s403,根据第二动力学参数、期望位姿、机器人的关节模组输出端的转动位置信息、关节模组的扭矩信息,以及机身的角速度值和第一线加速度值获取至少一个关节模组的驱动指令,以控制机器人的位姿达到或接近期望位姿。
84.在本实施例中,机器人结合第二动力学参数、期望位姿以及机器人的关节模组编码器、关节模组以及机身的反馈信息生成至少一个关节模组的驱动指令。驱动指令用于驱动关节模组带动机器人的足端与地面产生反作用力,以控制机器人调整质心位置的力矩,使得机器人的位姿达到或接近期望位姿,从而可大致抵消质心位置的一个或多个方向的力矩变化,提升机器人的稳定性。
85.具体而言,机器人可通过公式(2)计算机器人机身移动的线加速度和角速度,再根据机器人机身移动的线加速度和角速度计算各个关节模组的扭矩和转速,当关节模组获取扭矩和转速信息时,触发关节模组的驱动指令,从而驱动关节模组带动机器人的支撑结构与地面产生反作用力,以控制机器人调整质心位置的力矩,使得机器人的位姿达到或接近期望位姿。
86.ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,为机器人移动的线加速度,为机器人的一个足端(例如四足机器人的其中一个足端)受到的支反力,为机器人的全部足端(例如四足机器人的四个足端)受到的总支反力,为机器人的总质量,为重力加速度,为机器人转动的角速度,为机器人的质心的位置坐标,为机器人的一个足端的位置坐标,为机器人的总惯量,为时间变量。
87.可以理解,机器人在执行完步骤s403之后,可再返回执行步骤s401,从而继续计算机器人的位姿偏差,实现位姿的不断校正。
88.图5是本技术一种实施例提供的图4所示的步骤s402的子步骤流程图。
89.可参阅图5,根据第一偏差更新出第二动力学参数,可包括如下步骤:s501,根据第一偏差更新出第二质心参数。
90.在一些实施例中,机器人可通过角动量偏差迭代计算最小二乘解的方法来估算第二质心参数。
91.具体而言,机器人可通过在公式(1)中加入的约束条件,从而推导出公式(3),再通过公式(3)计算第二质心参数。
92.ꢀꢀꢀꢀꢀ
(3)其中,为第时刻机器人的质心的位置坐标,为第时刻机器人的质心的位置坐标,为迭代系数,表示先计算的斜对称矩阵再计算伪逆矩阵,和为自定义的过程参量,无实际物理意义。
93.可以理解,迭代系数。机器人的第一质心参数为第时刻机器人的质心的位置坐标。机器人的第二质心参数为第时刻机器人的质心的位置坐标。
94.s502,根据第二质心参数、支反力、机器人机身的线速度值和第二线加速度值获取第二惯量参数和第二质量参数。
95.在一些实施例中,机器人可通过强跟踪扩展卡尔曼滤波法来估算第二惯量参数和第二质量参数。
96.可以理解,机器人从关节模组编码器、关节模组以及惯性测量单元获取的反馈信息可能存在测量噪声,计算机器人的位姿和计算第二动力学参数的过程中也可能存在过程
噪声。机器人可通过卡尔曼滤波法来估算第二惯量参数和第二质量参数,以消除测量噪声和过程噪声。当动力学模型为非线性模型时,机器人可通过扩展卡尔曼滤波法来估算第二惯量参数和第二质量参数,在消除测量噪声和过程噪声的基础上可提升估算结果的准确性。当机器人频繁地受到外力,或者增加或减少负载,导致机器人位姿频繁地改变时,需要快速地估算第二惯量参数和第二质量参数,机器人可通过强跟踪扩展卡尔曼滤波法来估算第二惯量参数和第二质量参数,在消除测量噪声和过程噪声的基础上可提升估算速度和估算结果的准确性。
97.具体而言,机器人可通过公式(4)计算第二惯量参数和第二质量参数。
98.ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中,为机器人移动的距离,为的二阶导数,为机器人移动的线加速度,为机器人的一个足端(例如四足机器人的其中一个足端)受到的支反力,为机器人的全部足端(例如四足机器人的四个足端)受到的总支反力,为机器人的总质量,为的一阶导数,为重力加速度,为机器人的总惯量,为的一阶导数,为机器人转动的角速度,为机器人的质心的位置坐标,为机器人的一个足端的位置坐标,为时间变量。
99.可以理解,不论机器人如何运动,机器人的总质量和总惯量保持不变,即,。机器人的第二质心参数为机器人的质心的位置坐标。机器人的线速度值和第二线加速度值分别为机器人在移动时的线速度值和线加速度值。
100.图6是本技术另一种实施例提供的机器人的控制方法的流程图。
101.可以理解,本实施例提供的机器人的控制方法与图4所示的实施例的区别在于,在图4所示的实施例的基础上,本实施例判断第一动力学参数和第二动力学参数之间的第二偏差是否在预设偏差范围内,从而确定控制策略。
102.如图6所示,机器人的控制方法可以包括如下步骤:s601,计算机器人的当前位姿和期望位姿之间的第一偏差。
103.s602,根据第一偏差更新出第二动力学参数。
104.可以理解,步骤s601至s602的具体实施方式与图4所示的步骤s401至s402相同,此处不再赘述。
105.s603,计算第一动力学参数和第二动力学参数之间的第二偏差。
106.其中,第二偏差是第二动力学参数和第一动力学参数的差值。机器人的质心位置的改变或计算动力学参数的过程噪声和测量噪声均可能造成第二偏差。
107.可以理解,第二偏差包括以下至少一种:质量参数偏差、惯量参数偏差、质心参数偏差。质量参数偏差为第二质量参数和第一质量参数的差值。惯量参数偏差为第二惯量参数和第一惯量参数的差值。质心参数偏差为第二质心参数和第一质心参数的差值。
108.s604,确定第二偏差是否在预设偏差范围内。
109.其中,预设偏差范围可依需而设。
110.可以理解,预设偏差范围包括以下至少一种:预设质量参数偏差范围、预设惯量参
数偏差范围、预设质心参数偏差范围。当第二偏差包括质量参数偏差时,预设偏差范围包括相应的预设质量参数偏差范围。当第二偏差包括惯量参数偏差时,预设偏差范围包括相应的预设惯量参数偏差范围。当第二偏差包括质心参数偏差时,预设偏差范围包括相应的预设质心参数偏差范围。
111.若第二偏差在预设偏差范围内,则执行步骤s605;若否,则执行步骤s606。
112.s605,根据第一动力学参数或第二动力学参数,以及期望位姿、机器人的关节模组输出端的转动位置信息、关节模组的扭矩信息、机身的角速度值和第一线加速度值获取关节模组的驱动指令,以控制机器人的位姿达到或接近期望位姿。
113.可以理解,步骤s605的具体实施方式与图4所示的步骤s403大致相同,此处不再赘述。
114.s606,根据第二动力学参数、期望位姿、机器人的关节模组输出端的转动位置信息、关节模组的扭矩信息,以及机身的角速度值和第一线加速度值获取关节模组的驱动指令,以控制机器人的位姿达到或接近期望位姿。
115.可以理解,步骤s606的具体实施方式与图4所示的步骤s403相同,此处不再赘述。
116.机器人在执行完步骤s605或s606之后,可再返回执行步骤s601,从而继续计算机器人的位姿,实现位姿的不断校正。
117.举例而言,机器人在利用机械臂抓取快递包裹时,机器人的机械臂在抓取快递包裹之后,机器人可计算机器人的当前位姿和期望位姿之间的第一偏差。机器人可先通过最小二乘法更新质心参数,再通过强跟踪扩展卡尔曼滤波法来估算惯量参数和质量参数。然后,机器人计算更新前的动力学参数和更新后的动力学参数之间的第二偏差,可分别计算质心参数偏差、惯量参数偏差和质量参数偏差。当第二偏差超出预设偏差范围时,说明可能快递包裹比较重,导致整个机器人位姿偏离期望,机器人根据更新后的动力学参数、期望位姿以及传感器检测到的数据生成关节模组的驱动指令,使关节模组带动机器人的足端与地面产生较大的反作用力,以控制机器人的位姿达到或接近期望位姿,抵消机器人的机械臂受到快递包裹的重力的影响,从而阻止机械臂向下运动的趋势,可提升机器人的稳定性。当第二偏差在预设偏差范围内时,说明可能快递包裹比较轻,使得机器人的当前位姿和期望位姿相差不大,机器人可选取更新前的动力学参数或更新后的动力学参数,再结合期望位姿以及传感器检测到的数据生成关节模组的驱动指令,使关节模组带动机器人的足端与地面产生较小的反作用力,以控制机器人的位姿达到或接近期望位姿,从而提升机器人的稳定性。
118.下面对本技术提供的机器人和控制终端进行说明。
119.图7是本技术一种实施例提供的机器人100的结构示意图。
120.可参阅图7,机器人100包括机器人本体110、第一处理器120、第一存储器130及传感器140。机器人本体110可包括关节模组编码器111、关节模组112、惯性测量单元113及足端114。传感器140可检测机器人本体110的感测数据,例如检测关节模组编码器111、关节模组112和惯性测量单元113的感测数据。
121.可以理解,第一处理器120可运行存储于第一存储器130中的计算机程序或代码,实现本技术实施例中的机器人的控制方法。
122.第一处理器120可以包括一个或多个处理单元。例如,第一处理器120可以包括,但
不限于应用处理器(application processor,ap)、调制解调处理器、图形处理器(graphics processing unit,gpu)、图像信号处理器(image signal processor,isp)、控制器、视频编解码器、数字信号处理器(digital signal processor,dsp)、基带处理器、神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
123.第一处理器120中还可以设置存储器,用于存储指令和数据。在一些实施例中,第一处理器120中的存储器为高速缓冲存储器。该存储器可以保存第一处理器120刚用过或循环使用的指令或数据。如果第一处理器120需要再次使用该指令或数据,可从该存储器中直接调用。
124.在一些实施例中,第一处理器120可以包括一个或多个接口。接口可以包括,但不限于集成电路(inter-integrated circuit,i2c)接口、集成电路内置音频(inter-integrated circuit sound,i2s)接口、脉冲编码调制(pulse code modulation,pcm)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口、移动产业处理器接口(mobile industry processor interface,mipi)、通用输入输出(general-purpose input/output,gpio)接口、用户标识模块(subscriber identity module,sim)接口、通用串行总线(universal serial bus,usb)接口等。
125.可以理解,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对机器人100的结构限定。在另一些实施例中,机器人100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
126.第一存储器130可以包括外部存储器接口和内部存储器。其中,外部存储器接口可以用于连接外部存储卡,例如micro sd卡,实现扩展机器人100的存储能力。外部存储卡通过外部存储器接口与第一处理器120通信,实现数据存储功能。内部存储器可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(例如声音播放功能,图像播放功能等)等。存储数据区可存储机器人100使用过程中所创建的数据(例如音频数据,电话本等)等。此外,内部存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件或通用闪存存储器(universal flash storage,ufs)等。第一处理器120通过运行存储在内部存储器的指令,和/或存储在设置于第一处理器120中的存储器的指令,执行机器人100的各种功能应用以及数据处理,例如实现本技术实施例中的机器人的控制方法。
127.图8是本技术一种实施例提供的控制终端200的结构示意图。
128.控制终端200可与机器人100通信连接,从而实现对机器人100的操控。可参阅图8,控制终端200包括第二处理器210和第二存储器220。第二处理器210可运行存储于第二存储器220中的计算机程序或代码,实现本技术实施例中的机器人的控制方法。
129.可以理解,第二处理器210和第二存储器220的具体实施方式与图7所示的第一处理器120和第一存储器130的具体实施方式大致相同,此处不再赘述。
130.可以理解,本技术实施例示意的结构并不构成对机器人100或控制终端200的具体限定。在另一些实施例中,机器人100或控制终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件
或软件和硬件的组合实现。
131.举例而言,可一并参阅图9和图10,图9是本技术一种实施例提供的多足机器人的结构示意图,图10是本技术一种实施例提供的控制终端200控制多足机器人300的场景示意图。
132.如图9所示,多足机器人300包括机械单元301、通讯单元302、传感单元303、接口单元304、存储单元305、显示单元306、输入单元307、控制模块308及电源309。多足机器人300的各种部件可以以任何方式连接,包括有线或无线连接等。
133.可以理解,图9中示出的多足机器人的具体结构并不构成对多足机器人的限定,多足机器人可以包括比图示更多或更少的部件,某些部件也并不属于多足机器人的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略,或者组合某些部件。
134.下面结合图9和图10对多足机器人300的各个部件进行具体介绍。
135.机械单元301为多足机器人300的硬件。如图9所示,机械单元301可包括驱动板3011、电动机3012、机械结构3013。
136.如图10所示,机械结构3013可包括机身3014、可伸展的腿部3015、足端3016,在其他实施方式中,机械结构3013还可包括可伸展的机械臂(图未示)、可转动的头部结构3017、可摇动的尾巴结构3018、载物结构3019、鞍座结构3020、摄像头结构3021等。
137.需要说明的是,机械单元301的各个部件模块可以为一个也可以为多个,可根据具体情况设置,比如腿部3015可为4个,每个腿部3015可配置3个电动机3012,对应的电动机3012为12个。
138.通讯单元302可用于信号的接收和发送,还可以通过与网络和其他设备通信,比如,接收遥控器或其他多足机器人300发送的按照特定步态以特定速度值向特定方向移动的指令信息后,传输给控制模块308处理。通讯单元302包括如wifi模块、4g模块、5g模块、蓝牙模块、红外模块等。
139.传感单元303用于获取多足机器人300周围环境的信息数据以及监控多足机器人300内部各部件的参数数据,并发送给控制模块308。传感单元303包括多种传感器,如获取周围环境信息的传感器:激光雷达(用于远程物体检测、距离确定和/或速度值确定)、毫米波雷达(用于短程物体检测、距离确定和/或速度值确定)、摄像头、红外摄像头、全球导航卫星系统(gnss,global navigation satellite system)等。如监控多足机器人300内部各部件的传感器:惯性测量单元(imu,inertial measurement unit)(用于测量速度值、加速度值和角速度值的值),足底传感器(用于监测足底着力点位置、足底姿态、触地力大小和方向)、温度传感器(用于检测部件温度)。至于多足机器人300还可配置的载荷传感器、触摸传感器、电动机角度传感器、扭矩传感器等其他传感器,在此不再赘述。
140.接口单元304可以用于接收来自外部装置的输入(例如,数据信息、电力等)并且将接收到的输入传输到多足机器人300内的一个或多个部件,或者可以用于向外部装置输出(例如,数据信息、电力等)。接口单元304可包括电源端口、数据端口(如usb端口)、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口等。
141.存储单元305用于存储软件程序以及各种数据。存储单元305可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统程序、运动控制程序、应用程序(比如文本编辑器)等;数据存储区可存储多足机器人300在使用中所生成的数据(比如传感单元303
获取的各种传感数据,日志文件数据)等。此外,存储单元305可以包括高速随机存取存储器,还可以包括非易失性存储器,例如磁盘存储器、闪存器、或其他易失性固态存储器。
142.显示单元306用于显示由用户输入的信息或提供给用户的信息。显示单元306可包括显示面板3061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light-emitting diode, oled)等形式来配置显示面板3061。
143.输入单元307可用于接收输入的数字或字符信息。具体地,输入单元307可包括触控面板3071以及其他输入设备3072。触控面板3071,也称为触摸屏,可收集用户的触摸操作(比如用户使用手掌、手指或适合的附件在触控面板3071上或在触控面板3071附近的操作),并根据预先设定的程序驱动相应的连接装置。触控面板3071可包括触摸检测装置3073和触摸控制器3074两个部分。其中,触摸检测装置3073检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器3074;触摸控制器3074从触摸检测装置3073上接收触摸信息,并将它转换成触点坐标,再送给控制模块308,并能接收控制模块308发来的命令并加以执行。除了触控面板3071,输入单元307还可以包括其他输入设备3072。具体地,其他输入设备3072可以包括但不限于遥控操作手柄等中的一种或多种,具体此处不做限定。
144.进一步的,触控面板3071可覆盖显示面板3061,当触控面板3071检测到在其上或附近的触摸操作后,传送给控制模块308以确定触摸事件的类型,随后控制模块308根据触摸事件的类型在显示面板3061上提供相应的视觉输出。虽然在图9中,触控面板3071与显示面板3061是作为两个独立的部件来分别实现输入和输出功能,但是在某些实施例中,可以将触控面板3071与显示面板3061集成而实现输入和输出功能,具体此处不做限定。
145.控制模块308是多足机器人300的控制中心,利用各种接口和线路连接整个多足机器人300的各个部件,通过运行或执行存储在存储单元305内的软件程序,以及调用存储在存储单元305内的数据,从而对多足机器人300进行整体控制。
146.电源309用于给各个部件供电,电源309可包括电池和电源控制板,电源控制板用于控制电池充电、放电、以及功耗管理等功能。在图9所示的实施方式中,电源309电连接控制模块308,在其它的实施方式中,电源309还可以分别与传感单元303(比如摄像头、雷达、音箱等)、电动机3012电性连接。需要说明的是,各个部件可以各自连接到不同的电源309,或者由相同的电源309供电。
147.在图10所示的控制终端200控制多足机器人300的场景中,具体地,控制终端200与多足机器人300进行通信连接,在控制终端200与多足机器人300进行通信时,控制终端200可以向多足机器人300发送控制指令,多足机器人300可通过通讯单元302来接收控制指令,并可在接收到控制指令的情况下,将控制指令传输至控制模块308,使得控制模块308可根据控制指令来实现相应的功能。控制终端200包括,但不限于:具备图像拍摄功能的手机、平板电脑、服务器、个人计算机、可穿戴智能设备、其它电器设备。
148.控制指令可以根据预设条件来确定。在一个实施方式中,多足机器人300可以包括传感单元303,传感单元303可根据多足机器人300所在的当前环境可生成控制指令。控制模块308可根据控制指令来判断多足机器人300的当前速度值是否满足对应的预设条件。若满足预设条件,则会保持多足机器人300的当前速度值和当前步态移动。若不满足预设条件,则会根据对应的预设条件来确定目标速度值和相应的目标步态,从而可控制多足机器人300以目标速度值和相应的目标步态移动。环境传感器可以包括温度传感器、气压传感器、
视觉传感器、声音传感器。指令信息可以包括温度信息、气压信息、图像信息、声音信息。环境传感器与控制模块308之间的通信方式可以为有线通信,也可以为无线通信。无线通信的方式包括,但不限于:无线网络、移动通信网络(3g、4g、5g等)、蓝牙、红外。
149.可以理解,多足机器人300能够实现本技术实施例提供的机器人的控制方法的所有方法步骤,在此不再对相同的方法步骤及有益效果进行赘述。
150.上面结合附图对本技术实施例作了详细说明,但是本技术不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本技术宗旨的前提下做出各种变化。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献