CN113433338A - 机器人质心速度计算方法、装置及介质 - Google Patents
机器人质心速度计算方法、装置及介质 Download PDFInfo
- Publication number
- CN113433338A CN113433338A CN202110750799.6A CN202110750799A CN113433338A CN 113433338 A CN113433338 A CN 113433338A CN 202110750799 A CN202110750799 A CN 202110750799A CN 113433338 A CN113433338 A CN 113433338A
- Authority
- CN
- China
- Prior art keywords
- speed
- robot
- movement
- floating base
- coordinate system
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims description 51
- 230000033001 locomotion Effects 0.000 claims abstract description 248
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000001914 filtration Methods 0.000 claims description 30
- 238000004422 calculation algorithm Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 6
- 239000011159 matrix material Substances 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 210000000629 knee joint Anatomy 0.000 description 1
- 210000002414 leg Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 210000000689 upper leg Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P3/00—Measuring linear or angular speed; Measuring differences of linear or angular speeds
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
本申请提供一种机器人质心速度计算方法、装置及介质,涉及机器人技术领域。该方法包括:获取机器人中多个部件的第一运动速度,第一运动速度由机器人中各关节运动产生,第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕预设方向运动的角运动速度;根据各部件的线运动速度和角运动速度,计算各部件的第一质心速度;根据各部件的第一质心速度以及各部件的质量参数,计算机器人的质心速度,实现了可以将机器人的多个部件的第一运动速度考虑进来计算机器人的质心速度,可以得到较为准确的机器人的质心速度,进而基于该机器人的质心速度可以实现对机器的精准控制,提高控制效果。
Description
技术领域
本申请涉及机器人技术领域,特别涉及一种机器人质心速度计算方法、装置及介质。
背景技术
机器人是一种能够半自主或全自主工作的智能机器,具有感知、决策、执行等基本特征,可以辅助甚至替代人类完成危险、繁重、复杂的工作,提高工作效率与质量,被广泛应用在医疗、军事、教育、生产生活等多个行业,而机器人质心速度的计算,会直接影响机器人的相关控制参数。
现有的在进行机器人质心速度的计算时,一般是根据机器人的主要重量部位估计,比如,一般会将机器人的躯干速度近似作为机器人的质心速度。
因此,现有的计算方式比较简单,存在质心速度计算不准确的问题。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种机器人质心速度计算方法、装置及介质,可以计算得到较为准确的机器人质心速度。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本发明提供一种机器人质心速度计算方法,包括:
获取机器人中多个部件的第一运动速度,所述第一运动速度由所述机器人中各关节运动产生,所述第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕所述预设方向运动的角运动速度;
根据各所述部件的线运动速度和角运动速度,计算各所述部件的第一质心速度;
根据各所述部件的第一质心速度以及各所述部件的质量参数,计算所述机器人的质心速度。
在可选的实施方式中,多个所述部件包括浮动基座,所述根据各所述部件的第一质心速度以及各所述部件的质量参数,计算所述机器人的质心速度,包括:
获取多个所述部件的位姿参数和所述浮动基座的运动速度;
根据多个所述部件的位姿参数、所述浮动基座的运动速度以及所述机器人的运动链,计算多个所述部件中其他部件的第二运动速度,所述第二运动速度由所述浮动基座运动产生,所述运动链用于表征所述浮动基座与其他部件的连接关系,以及所述其他部件之间的连接关系;
根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算所述机器人的质心速度。
在可选的实施方式中,所述根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算所述机器人的质心速度,包括:
根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算各所述部件在所属部件坐标系中的质心速度;
根据各所述部件在所属部件坐标系中的质心速度、各所述部件坐标系与机器人世界坐标系之间的映射关系,确定各所述部件在机器人世界坐标系中的质心速度;
根据各所述部件在机器人世界坐标系中的质心速度和各所述部件的质量参数,计算所述机器人的质心速度。
在可选的实施方式中,所述获取机器人中各部件的第一运动速度,包括:
获取所述机器人中各关节的第三运动速度;
根据各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度。
在可选的实施方式中,所述根据各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度,包括:
采用第一滤波算法对各所述关节的第三运动速度进行滤波运算,得到滤波后的各所述第三运动速度;
根据滤波后的各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度。
在可选的实施方式中,所述获取所述浮动基座的运动速度,包括:
获取所述浮动基座在机器人世界坐标系中的绝对位置;
对所述浮动基座在机器人世界坐标系中的绝对位置进行微分运算,得到所述浮动基座的原始运动速度;
采用第二滤波算法对所述浮动基座的初始运动速度进行滤波运算,得到所述浮动基座的运动速度。
在可选的实施方式中,所述获取所述浮动基座在机器人世界坐标系中的绝对位置,包括:
采集获取各所述关节的关节位置;
根据各所述关节的关节位置,计算所述浮动基座与多个所述部件中预设部件的相对位置;
根据所述浮动基座与所述预设部件的相对位置、所述预设部件在机器人世界坐标系中的绝对位置,得到所述浮动基座在所述机器人世界坐标系中的绝对位置。
第二方面,本发明提供一种机器人质心速度计算装置,包括:
获取模块,用于获取机器人中多个部件的第一运动速度,所述第一运动速度由所述机器人中各关节运动产生,所述第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕所述预设方向运动的角运动速度;
第一计算模块,用于根据各所述部件的线运动速度和角运动速度,计算各所述部件的第一质心速度;
第二计算模块,用于根据各所述部件的第一质心速度以及各所述部件的质量参数,计算所述机器人的质心速度。
在可选的实施方式中,多个所述部件包括浮动基座,所述第二计算模块,具体用于获取多个所述部件的位姿参数和所述浮动基座的运动速度;
根据多个所述部件的位姿参数、所述浮动基座的运动速度以及所述机器人的运动链,计算多个所述部件中其他部件的第二运动速度,所述第二运动速度由所述浮动基座运动产生,所述运动链用于表征所述浮动基座与其他部件的连接关系,以及所述其他部件之间的连接关系;
根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算所述机器人的质心速度。
在可选的实施方式中,所述第二计算模块,具体用于根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算各所述部件在所属部件坐标系中的质心速度;
根据各所述部件在所属部件坐标系中的质心速度、各所述部件坐标系与机器人世界坐标系之间的映射关系,确定各所述部件在机器人世界坐标系中的质心速度;
根据各所述部件在机器人世界坐标系中的质心速度和各所述部件的质量参数,计算所述机器人的质心速度。
在可选的实施方式中,所述获取模块,具体用于获取所述机器人中各关节的第三运动速度;
根据各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度。
在可选的实施方式中,所述获取模块,具体用于采用第一滤波算法对各所述关节的第三运动速度进行滤波运算,得到滤波后的各所述第三运动速度;
根据滤波后的各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度。
在可选的实施方式中,所述第二计算模块,具体用于获取所述浮动基座在机器人世界坐标系中的绝对位置;
对所述浮动基座在机器人世界坐标系中的绝对位置进行微分运算,得到所述浮动基座的原始运动速度;
采用第二滤波算法对所述浮动基座的初始运动速度进行滤波运算,得到所述浮动基座的运动速度。
在可选的实施方式中,所述第二计算模块,具体用于采集获取各所述关节的关节位置;
根据各所述关节的关节位置,计算所述浮动基座与多个所述部件中预设部件的相对位置;
根据所述浮动基座与所述预设部件的相对位置、所述预设部件在机器人世界坐标系中的绝对位置,得到所述浮动基座在所述机器人世界坐标系中的绝对位置。
第三方面,本发明提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式任一所述机器人质心速度计算方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一所述机器人质心速度计算方法的步骤。
本申请的有益效果是:
本申请实施例提供的机器人质心速度计算方法、装置及介质中,通过获取机器人中多个部件的第一运动速度,第一运动速度由机器人中各关节运动产生,第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕预设方向运动的角运动速度;根据各部件的线运动速度和角运动速度,计算各部件的第一质心速度;根据各部件的第一质心速度以及各部件的质量参数,计算机器人的质心速度,实现了可以将机器人的多个部件的第一运动速度考虑进来计算机器人的质心速度,相较于现有技术中仅根据机器人中主要重量部件的速度确定机器人的质心速度的方式,可以得到较为准确的机器人的质心速度,进而基于该机器人的质心速度可以实现对机器的精准控制。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种机器人质心速度计算方法的流程示意图;
图2为本申请实施例提供的另一种机器人质心速度计算方法的流程示意图;
图3为本申请实施例提供的又一种机器人质心速度计算方法的流程示意图;
图4为本申请实施例提供的另一种机器人质心速度计算方法的流程示意图;
图5为本申请实施例提供的又一种机器人质心速度计算方法的流程示意图;
图6为本申请实施例提供的另一种机器人质心速度计算方法的流程示意图;
图7为本申请实施例提供的又一种机器人质心速度计算方法的流程示意图;
图8为本申请实施例提供的一种机器人质心速度计算装置的功能模块示意图;
图9为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
现有的在确定机器人质心速度时,一般是将机器人中主要重量部件的速度作为机器人的质心速度,可以看出,现有的计算方法并未考虑机器人中的其他部件,存在机器人质心速度计算不准确的问题。
有鉴于此,本申请实施例提供一种机器人质心速度计算方法,该方法可以将机器人中的多个部件考虑进来,得到较为准确的机器人的质心速度。
图1为本申请实施例提供的一种机器人质心速度计算方法的流程示意图,该方法的执行主体可以是机器人中的控制器、处理器等可以进行数据处理的电子设备,又或者,可以是与机器人进行交互的服务器,在此不作限定。如图1所示,该质心速度计算方法可以包括:
S101、获取机器人中多个部件的第一运动速度,第一运动速度由机器人中各关节运动产生,第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕预设方向运动的角运动速度。
其中,机器人中部件可以指机器人中每两个关节之间连接的连杆,比如,躯干、头部、大腿等连杆;关节可以指肩关节、膝关节、肘关节等,在此不作限定,根据机器人的不同可以有所不同。可选地,该机器人可以是工业机器人、仿人机器人等,在此不作限定。
可选地,多个部件可以是机器人中的所有部件,又或者,可以是所有部件中的部分部件,比如,其中的重要部件,在此不作限定,当然,也不限定该多个部件的数量,根据实际的应用场景可以有所不同。
对于机器人来说,机器人中各关节的运动将使得各部件获得一定的运动速度,也即第一运动速度,其中,根据各关节是否可以旋转,可以将各关键分为旋转关节和非旋转关节(比如,平移关节或球面关节),对于旋转关节来说,旋转关节的运动将使得各部件获得绕预设方向运动的角运动速度(转动速度);对于非旋转关节来说,非旋转关节的运动将使得各部件获得沿预设方向运动的线运动速度(平移速度),因此,可以基于机器人中的各关节,获取由于各关节运动使得多个部件获得的第一运动速度,基于上述说明,可以理解的是,该第一运动速度将包括:部件沿预设方向运动的线运动速度和部件绕预设方向运动的角运动速度。
S102、根据各部件的线运动速度和角运动速度,计算各部件的第一质心速度。
在获取了多个部件的第一运动速度后,则可以根据各部件的线运动速度和角运动速度,计算各部件的第一质心速度,可选地,各部件的第一质心速度可以采用六维空间速度表示,也即该第一质心速度可以是六维速度,其中,六维速度可以包括:部件绕部件所属坐标系中的x、y、z轴旋转的角运动速度和沿部件所属坐标系中的x、y、z轴平移的线运动速度,x、y、z轴可以是各部件所属部件坐标系的坐标轴。比如,部件为躯干时,则六维速度可以包括:躯干绕躯干坐标系x、y、z轴旋转的角运动速度和躯干沿躯干坐标系x、y、z轴平移的线运动速度,但不以此为限。
S103、根据各部件的第一质心速度以及各部件的质量参数,计算机器人的质心速度。
在确定多个部件中各部件的第一质心速度后,则可以对各部件的第一质心速度和各部件的质量参数进行乘积运算,得到第一计算结果;计算该第一计算结果和机器人的质量参数的比值,该比值即可表征机器人的质心速度,其中,机器人的质量参数可以通过对各部件的质量参数进行求和获取,应用本申请实施例,实现了可以将机器人的多个部件的第一运动速度考虑进来计算机器人的质心速度,相较于现有技术中仅根据机器人中主要重量部件的速度确定机器人的质心速度的方式,可以确定较为准确的机器人的质心速度。
综上,本申请实施例提供的机器人质心速度计算方法中,包括:获取机器人中多个部件的第一运动速度,第一运动速度由机器人中各关节运动产生,第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕预设方向运动的角运动速度;根据各部件的线运动速度和角运动速度,计算各部件的第一质心速度;根据各部件的第一质心速度以及各部件的质量参数,计算机器人的质心速度,实现了可以将机器人的多个部件的第一运动速度考虑进来计算机器人的质心速度,相较于现有技术中仅根据机器人中主要重量部件的速度确定机器人的质心速度的方式,可以得到较为准确的机器人的质心速度,进而基于该机器人的质心速度可以实现对机器的精准控制,提高控制效果。
图2为本申请实施例提供的另一种机器人质心速度计算方法的流程示意图。其中,根据机器人工作过程中基座是否需要移动,可以对机器人进行划分,划分为浮动基座机器人和固定基座机器人,其中,浮动基座机器人可以理解为工作过程中不和地面固连的机器人,如足式机器人、轮式机器人、飞行机器人,浮动基座一般指躯干;固定基座机器人可以理解为工作过程中与地面固连的机器人,如工业机械臂,固定基座一般指机械臂固定端。对于浮动基座机器人来说,该浮动基座机器人将包括浮动基座,基于上述说明,可选地,多个部件包括浮动基座时,如图2所示,上述根据各部件的第一质心速度以及各部件的质量参数,计算机器人的质心速度的过程可以包括:
S201、获取多个部件的位姿参数和浮动基座的运动速度。
S202、根据多个部件的位姿参数、浮动基座的运动速度以及机器人的运动链,计算多个部件中其他部件的第二运动速度,第二运动速度由浮动基座运动产生。
其中,运动链用于表征浮动基座与其他部件的连接关系,以及其他部件之间的连接关系。
可以理解的是,机器人中包括浮动基座时,机器人工作过程中浮动基座一般都会运动,而浮动基座的运动将使得机器人中的其他部件获得一定的运动速度,因此,多个部件包括浮动基座时,可以获取多个部件的位姿参数和浮动基座的运动速度,其中,多个部件的位姿参数可以基于采集单元(比如,陀螺仪)采集的参数通过运动学正解得到,浮动基座的运动速度可以通过读取采集单元所采集的参数获取,在此不作限定。可选地,各部件的位姿参数可以用位姿矩阵表示。
在得到多个部件的位姿参数、浮动基座的运动速度,则可以根据多个部件的位姿参数、浮动基座的运动速度以及运动链,确定多个部件中除浮动基座外其他部件的第二运动速度,该第二运动速度也即由于浮动基座运动使得部件所产生的运动速度。可选地,该第二运动速度可以采用六维空间速度表示,也即该第二运动速度可以是六维速度,关于六维速度的说明可参加前述的相关说明,本申请在此不再赘述。
可选地,机器人的运动链可以通过读取机器人的属性信息获取,又或者,可以通过文件导入的方式导入上述设备,本申请在此不作限定。可选地,根据浮动基座的运动速度、机器人的运动链,计算多个部件中其他部件的第二运动速度时,可以基于运动链,根据其他部件中各部件与浮动基座的连接关系,依次计算其他部件中各部件的第二运动速度。
S203、根据浮动基座的运动速度、其他部件的第二运动速度、各部件的第一质心速度以及各部件的质量参数,计算机器人的质心速度。
其中,在得到多个部件中其他部件的第二运动速度后,则可以根据浮动基座的运动速度、其他部件的第二运动速度以及各部件的第一质心速度,计算机器人的质心速度,应用本申请实施例,使得可以将多个部件中各部件由浮动基座运动产生的运动速度考虑进来,用于计算机器人的质心速度,可以提高本申请方法的适用性,且还可以得到较为准确的机器人的质心速度。
图3为本申请实施例提供的又一种机器人质心速度计算方法的流程示意图。可选地,如图3所示,上述根据浮动基座的运动速度、其他部件的第二运动速度以及各部件的第一质心速度,计算机器人的质心速度,包括:
S301、根据浮动基座的运动速度、其他部件的第二运动速度以及各部件的第一质心速度,计算各部件在所属部件坐标系中的质心速度。
基于上述说明可知,各部件的运动速度可以由机器人中各关节运动产生和浮动基座运动产生,因此,可以根据浮动基座的运动速度、其他部件的第二运动速度以及各部件的第一质心速度,迭代计算各部件在所属部件坐标系中的质心速度。
示例地,可以根据下述公式,计算各部件在所属部件坐标系中的质心速度:
PVi=kVi-1+JVi-1
其中,kVi-1表示第i-1个部件在第i-1个部件坐标系中的第二运动速度,JVi-1表示第i-1个部件在第i-1个部件坐标系中的第一质心速度,pVi表示第i个部件在第i个部件坐标系中的质心速度,其中i的取值为0至n中的任意整数,n为机器人中参与计算的部件的数量,当然,实际计算方式并不以此为限。
S302、根据各部件在所属部件坐标系中的质心速度、各部件坐标系与机器人世界坐标系之间的映射关系,确定各部件在机器人世界坐标系中的质心速度。
在得的各部件在所属部件坐标系中的质心速度后,则可以根据各部件坐标系与机器人世界坐标系之间的映射关系,将各部件在所属部件坐标系中的质心速度转换至各部件在机器人世界坐标系中的质心速度,可以理解的是,通过转换,可以基于同一坐标系计算机器人的质心速度,简化计算方法。其中,机器人世界坐标系中的原点可以为机器人处于初始状态时机器人腰部坐标系原点的铅垂线与地面的交点,x轴指向前方,y轴指向右边,z轴指向上方。
S303、根据各部件在机器人世界坐标系中的质心速度和各部件的质量参数,计算机器人的质心速度。
其中,可以对各部件在机器人世界坐标系中的质心速度和各部件的质量参数进行乘积运算,得到第二计算结果;计算该第二计算结果和机器人的质量参数的比值,该比值即可表征机器人的质心速度,其中,机器人的质量参数可以通过对各部件的质量参数进行求和获取。
示例地,也可以通过如下公式计算得到机器人的质心速度,其中,可以根据如下第一公式计算各部件在所属部件坐标系中的质心速度:
其中,BVi表示第i个部件在第i个部件坐标系中的质心速度,BVi-1第i-1个部件在第i-1个部件坐标系中的质心速度,Pi表示第i个部件的位姿矩阵,表示Pi-1的逆矩阵,JVi-1表示第i-1个部件在第i-1个部件坐标系中的第一质心速度。其中,BV0表示浮动基座在浮动基座坐标系中的质心速度,P0表示浮动基座的位姿矩阵,JV0表示浮动基座在浮动基座坐标系中的第一质心速度。
示例地,若某机器人包括:浮动基座、第一部件以及第二部件,其中,若运动链中与浮动基座相连接的部件为第一部件,第一部件与第二部件连接,则机器人的质心速度可以根据第二部件的位姿参数、第一部件的位姿参数、第一部件在第一部件坐标系中的质心速度以及第一部件在第一部件坐标系中的第一质心速度计算获取;其中,第一部件在第一部件坐标系中的质心速度可以根据第一部件的位姿参数、浮动基座的位姿参数、浮动基座在浮动基座坐标系中的质心速度以及浮动基座在浮动基座坐标系中的第一质心速度计算获取,当然,实际计算方式并不以此为限。
在得到各部件在所属部件坐标系中的质心速度后,可以参见下述第二公式计算各部件在机器人世界坐标系中的质心速度:
其中,WVi表示第i个部件在机器人世界坐标系中的质心速度,BVi表示第i个部件在第i个部件坐标系中的质心速度,表示第i个部件的位姿矩阵Pi的旋转部分的逆矩阵。可以理解的是,WV0表示浮动基座在机器人世界坐标系中的质心速度,表示浮动基座的位姿矩阵P0的旋转部分的逆矩阵,BV0表示浮动基座在浮动基座坐标系中的质心速度。
在各部件在机器人世界坐标系中的质心速度后,可以参见下述第三公式计算机器人的质心速度:
其中,VCOm表示机器人的质心速度,mi表示第i个部件的质量参数,WVi表示第i个部件在机器人世界坐标系中的质心速度,n表示机器人中参与计算的部件的数量。
图4为本申请实施例提供的另一种机器人质心速度计算方法的流程示意图。可选地,如图4所示,上述获取机器人中各部件的第一运动速度的步骤可以包括:
S401、获取机器人中各关节的第三运动速度。
可选地,机器人中各关节上可以设置相应的速度传感器,可以通过读取各关节对应的速度传感器获取各关节的第三运动速度,又或者,可以通过机器人中的关节编码器检测获取各个关节位置,通过对各个关节位置进行微分运算,得到各关节的第三运动速度。当然,实际计算方式并不以此为限,根据实际的应用场景可以灵活选择。
S402、根据各关节的第三运动速度,确定各部件沿预设方向运动的线运动速度和各部件绕预设方向运动的角运动速度。
在获取到各关节的第三运动速度后,则可以根据该第三运动速度得到各部件沿预设方向运动的线运动速度和各部件绕预设方向运动的角运动速度。
可以理解的是,若某关节为旋转关节时,则由该旋转关节运动产生的第一运动速度中部件沿预设方向运动的线运动速度可以为0、部件绕预设方向运动的角运动速度可以为该关节的第三运动速度。可选地,某第i个部件的第一运动速度可以表示为:其中,表示各关节的第三运动速度,中从左到右各参数分别表示第i个部件绕所属部件坐标系中的x、y、z轴旋转的角运动速度和沿x、y、z轴平移的线运动速度。可以理解的是,根据机器人中关节的不同,由该关节运动产生的某部件沿某预设方向运动的线运动速度、或绕预设方向运动的角运动速度的取值将不同,在此不限定各参数的具体取值。
图5为本申请实施例提供的又一种机器人质心速度计算方法的流程示意图。可选地,如图5所示,上述根据各关节的第三运动速度,确定各部件沿预设方向运动的线运动速度和各部件绕预设方向运动的角运动速度的过程,可以包括:
S501、采用第一滤波算法对各关节的第三运动速度进行滤波运算,得到滤波后的各第三运动速度。
S502、根据滤波后的各关节的第三运动速度,确定各部件沿预设方向运动的线运动速度和各部件绕预设方向运动的角运动速度。
其中,可以理解的是,若通过对各个关节位置进行微分运算,得到各关节的第三运动速度时,由于微分后的各关节的第三运动速度的噪音较大,因此,可以采用第一滤波算法对各第三运动速度进行滤波运算,使得通过滤波运算可以得到较为准确的各第三运动速度。
可选地,该第一滤波算法可以包括中值滤波、低通滤波算法、卡尔曼滤波算法等,在此不作限定,根据实际的应用场景可以灵活选择。
图6为本申请实施例提供的另一种机器人质心速度计算方法的流程示意图。可选地,如图6所示,上述获取浮动基座的运动速度的步骤,可以包括:
S601、获取浮动基座在机器人世界坐标系中的绝对位置。
S602、对浮动基座在机器人世界坐标系中的绝对位置进行微分运算,得到浮动基座的原始运动速度。
S603、采用第二滤波算法对浮动基座的初始运动速度进行滤波运算,得到浮动基座的运动速度。
其中,可以基于机器人世界坐标系获取浮动基座在机器人世界坐标系中的绝对位置,对该绝对位置进行微分运算,得到浮动基座的原始运动速度,可以理解的是,所得到的该原始运动速度的噪声较大,而浮动基座的运动速度的准确性将影响机器人的质心位置的准确性,因此,可以采用第二滤波算法对浮动基座的初始运动速度进行滤波运算,得到浮动基座的运动速度。
其中,该第二滤波算法可以与上述第一滤波算法相同或不同,在此不作限定。可选地,该第二滤波算法可以是卡尔曼滤波算法,在此不作限定。
图7为本申请实施例提供的又一种机器人质心速度计算方法的流程示意图。可选地,如图7所示,上述获取浮动基座在机器人世界坐标系中的绝对位置的过程可以包括:
S701、采集获取各关节的关节位置。
S702、根据各关节的关节位置,计算浮动基座与多个部件中预设部件的相对位置。
S703、根据浮动基座与预设部件的相对位置、预设部件在机器人世界坐标系中的绝对位置,得到浮动基座在机器人世界坐标系中的绝对位置。
其中,可以通过关节编码器检测各个关节位置,使用各关节位置对机器人进行正解,可以得到浮动基座与机器人中预设部件的相对位置,可选地,该预设部件可以是躯干、支撑脚等,在此不作限定,只要该预设部件在机器人世界坐标系中的绝对位置可以获取到即可。在得到预设部件在机器人世界坐标系中的绝对位置后,则可以根据浮动基座与预设部件的相对位置,对浮动基座在所属浮动基座坐标系中的位置进行转换,通过转换得到浮动基座在机器人世界坐标系中的绝对位置。
图8为本申请实施例提供的一种机器人质心速度计算装置的功能模块示意图,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图8所示,该机器人质心速度计算装置100可以包括:
获取模块110,用于获取机器人中多个部件的第一运动速度,所述第一运动速度由所述机器人中各关节运动产生,所述第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕所述预设方向运动的角运动速度;
第一计算模块120,用于根据各所述部件的线运动速度和角运动速度,计算各所述部件的第一质心速度;
第二计算模块130,用于根据各所述部件的第一质心速度以及各所述部件的质量参数,计算所述机器人的质心速度。
在可选的实施方式中,多个所述部件包括浮动基座,所述第二计算模块130,具体用于获取多个所述部件的位姿参数和所述浮动基座的运动速度;
根据多个所述部件的位姿参数、所述浮动基座的运动速度以及所述机器人的运动链,计算多个所述部件中其他部件的第二运动速度,所述第二运动速度由所述浮动基座运动产生,所述运动链用于表征所述浮动基座与其他部件的连接关系,以及所述其他部件之间的连接关系;
根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算所述机器人的质心速度。
在可选的实施方式中,所述第二计算模块130,具体用于根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算各所述部件在所属部件坐标系中的质心速度;根据各所述部件在所属部件坐标系中的质心速度、各所述部件坐标系与机器人世界坐标系之间的映射关系,确定各所述部件在机器人世界坐标系中的质心速度;根据各所述部件在机器人世界坐标系中的质心速度和各所述部件的质量参数,计算所述机器人的质心速度。
在可选的实施方式中,所述获取模块110,具体用于获取所述机器人中各关节的第三运动速度;根据各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度。
在可选的实施方式中,所述获取模块110,具体用于采用第一滤波算法对各所述关节的第三运动速度进行滤波运算,得到滤波后的各所述第三运动速度;根据滤波后的各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度。
在可选的实施方式中,所述第二计算模块130,具体用于获取所述浮动基座在机器人世界坐标系中的绝对位置;对所述浮动基座在机器人世界坐标系中的绝对位置进行微分运算,得到所述浮动基座的原始运动速度;采用第二滤波算法对所述浮动基座的初始运动速度进行滤波运算,得到所述浮动基座的运动速度。
在可选的实施方式中,所述第二计算模块130,具体用于采集获取各所述关节的关节位置;根据各所述关节的关节位置,计算所述浮动基座与多个所述部件中预设部件的相对位置;根据所述浮动基座与所述预设部件的相对位置、所述预设部件在机器人世界坐标系中的绝对位置,得到所述浮动基座在所述机器人世界坐标系中的绝对位置。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的一种电子设备结构示意图,该电子设备可以集成于机器人中或与机器人进行数据交互的服务器。如图9所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种机器人质心速度计算方法,其特征在于,包括:
获取机器人中多个部件的第一运动速度,所述第一运动速度由所述机器人中各关节运动产生,所述第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕所述预设方向运动的角运动速度;
根据各所述部件的线运动速度和角运动速度,计算各所述部件的第一质心速度;
根据各所述部件的第一质心速度以及各所述部件的质量参数,计算所述机器人的质心速度。
2.根据权利要求1所述的方法,其特征在于,多个所述部件包括浮动基座,所述根据各所述部件的第一质心速度以及各所述部件的质量参数,计算所述机器人的质心速度,包括:
获取多个所述部件的位姿参数和所述浮动基座的运动速度;
根据多个所述部件的位姿参数、所述浮动基座的运动速度以及所述机器人的运动链,计算多个所述部件中其他部件的第二运动速度,所述第二运动速度由所述浮动基座运动产生,所述运动链用于表征所述浮动基座与其他部件的连接关系,以及所述其他部件之间的连接关系;
根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算所述机器人的质心速度。
3.根据权利要求2所述的方法,其特征在于,所述根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算所述机器人的质心速度,包括:
根据所述浮动基座的运动速度、所述其他部件的第二运动速度以及各所述部件的第一质心速度,计算各所述部件在所属部件坐标系中的质心速度;
根据各所述部件在所属部件坐标系中的质心速度、各所述部件坐标系与机器人世界坐标系之间的映射关系,确定各所述部件在机器人世界坐标系中的质心速度;
根据各所述部件在机器人世界坐标系中的质心速度和各所述部件的质量参数,计算所述机器人的质心速度。
4.根据权利要求1所述的方法,其特征在于,所述获取机器人中各部件的第一运动速度,包括:
获取所述机器人中各关节的第三运动速度;
根据各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度。
5.根据权利要求4所述的方法,其特征在于,所述根据各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度,包括:
采用第一滤波算法对各所述关节的第三运动速度进行滤波运算,得到滤波后的各所述第三运动速度;
根据滤波后的各所述关节的第三运动速度,确定各所述部件沿预设方向运动的线运动速度和各所述部件绕所述预设方向运动的角运动速度。
6.根据权利要求2所述的方法,其特征在于,所述获取所述浮动基座的运动速度,包括:
获取所述浮动基座在机器人世界坐标系中的绝对位置;
对所述浮动基座在机器人世界坐标系中的绝对位置进行微分运算,得到所述浮动基座的原始运动速度;
采用第二滤波算法对所述浮动基座的初始运动速度进行滤波运算,得到所述浮动基座的运动速度。
7.根据权利要求6所述的方法,其特征在于,所述获取所述浮动基座在机器人世界坐标系中的绝对位置,包括:
采集获取各所述关节的关节位置;
根据各所述关节的关节位置,计算所述浮动基座与多个所述部件中预设部件的相对位置;
根据所述浮动基座与所述预设部件的相对位置、所述预设部件在机器人世界坐标系中的绝对位置,得到所述浮动基座在所述机器人世界坐标系中的绝对位置。
8.一种机器人质心速度计算装置,其特征在于,包括:
获取模块,用于获取机器人中多个部件的第一运动速度,所述第一运动速度由所述机器人中各关节运动产生,所述第一运动速度包括:部件沿预设方向运动的线运动速度和部件绕所述预设方向运动的角运动速度;
第一计算模块,用于根据各所述部件的线运动速度和角运动速度,计算各所述部件的第一质心速度;
第二计算模块,用于根据各所述部件的第一质心速度以及各所述部件的质量参数,计算所述机器人的质心速度。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-7任一所述机器人质心速度计算方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-7任一所述机器人质心速度计算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110750799.6A CN113433338A (zh) | 2021-07-02 | 2021-07-02 | 机器人质心速度计算方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110750799.6A CN113433338A (zh) | 2021-07-02 | 2021-07-02 | 机器人质心速度计算方法、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113433338A true CN113433338A (zh) | 2021-09-24 |
Family
ID=77758811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110750799.6A Pending CN113433338A (zh) | 2021-07-02 | 2021-07-02 | 机器人质心速度计算方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113433338A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003011075A (ja) * | 2001-06-28 | 2003-01-15 | Tomomichi Sugihara | 脚式移動機械の重心速度制御法 |
JP2015208790A (ja) * | 2014-04-24 | 2015-11-24 | トヨタ自動車株式会社 | 重心推定装置、及び重心推定方法 |
CN108564599A (zh) * | 2018-04-08 | 2018-09-21 | 广东省智能制造研究所 | 一种人体运动速度估计方法 |
CN109682626A (zh) * | 2018-12-29 | 2019-04-26 | 上海新时达机器人有限公司 | 机器人速度测试方法和装置 |
CN110104102A (zh) * | 2019-05-22 | 2019-08-09 | 桂林电子科技大学 | 自平衡自行车驱动车轮纵向滑移状态的估计方法 |
CN111558941A (zh) * | 2020-07-14 | 2020-08-21 | 深圳市优必选科技股份有限公司 | 浮动基动力学前馈控制方法、装置和多足机器人 |
CN112720483A (zh) * | 2020-12-23 | 2021-04-30 | 深圳市优必选科技股份有限公司 | 合质心状态获取方法、装置、仿人机器人和可读存储介质 |
-
2021
- 2021-07-02 CN CN202110750799.6A patent/CN113433338A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003011075A (ja) * | 2001-06-28 | 2003-01-15 | Tomomichi Sugihara | 脚式移動機械の重心速度制御法 |
JP2015208790A (ja) * | 2014-04-24 | 2015-11-24 | トヨタ自動車株式会社 | 重心推定装置、及び重心推定方法 |
CN108564599A (zh) * | 2018-04-08 | 2018-09-21 | 广东省智能制造研究所 | 一种人体运动速度估计方法 |
CN109682626A (zh) * | 2018-12-29 | 2019-04-26 | 上海新时达机器人有限公司 | 机器人速度测试方法和装置 |
CN110104102A (zh) * | 2019-05-22 | 2019-08-09 | 桂林电子科技大学 | 自平衡自行车驱动车轮纵向滑移状态的估计方法 |
CN111558941A (zh) * | 2020-07-14 | 2020-08-21 | 深圳市优必选科技股份有限公司 | 浮动基动力学前馈控制方法、装置和多足机器人 |
CN112720483A (zh) * | 2020-12-23 | 2021-04-30 | 深圳市优必选科技股份有限公司 | 合质心状态获取方法、装置、仿人机器人和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9981389B2 (en) | Robotics platforms incorporating manipulators having common joint designs | |
JP4595727B2 (ja) | 外力推定システム及び外力推定方法、並びにコンピュータ・プログラム | |
WO2022135011A1 (zh) | 合质心状态获取方法、装置、仿人机器人和可读存储介质 | |
CN107782304B (zh) | 移动机器人的定位方法及装置、移动机器人及存储介质 | |
CN112744313A (zh) | 一种机器人状态估计方法、装置、可读存储介质及机器人 | |
CN112720479B (zh) | 一种机器人姿态控制方法、装置及机器人 | |
Masuya et al. | A review of state estimation of humanoid robot targeting the center of mass, base kinematics, and external wrench | |
CN112757301B (zh) | 机器人抗扰动控制方法、装置、电子设备及存储介质 | |
WO2022105023A1 (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
CN113433338A (zh) | 机器人质心速度计算方法、装置及介质 | |
CN113171271A (zh) | 一种上肢康复机器人的重力补偿方法 | |
Srinivas et al. | Multipurpose supernumerary robotic limbs for industrial and domestic applications | |
Zhang et al. | Real-time human motion capture with simple marker sets and monocular video | |
CN113465822A (zh) | 基于多刚体机器人的质心位置计算方法、装置及介质 | |
CN115781666A (zh) | 一种用于机器人全身模仿系统的控制方法 | |
Zhang et al. | A markerless human-manipulators interface using multi-sensors | |
CN114147717A (zh) | 机器人运动轨迹估计方法、装置、控制器及存储介质 | |
Wang et al. | Fast and Accurate 3D Eye-to-hand calibration for large-scale scene based on HALCON | |
Yunardi | Marker-based motion capture for measuring joint kinematics in leg swing simulator | |
Hauschildt et al. | Multi body kalman filtering with articulation constraints for humanoid robot pose and motion estimation | |
Ciuccarelli et al. | Cooperative robots architecture for an assistive scenario | |
Gail et al. | Towards bridging the gap between motion capturing and biomechanical optimal control simulations | |
Kashi et al. | An Approach to Labelled Indoor Mapping using SLAM and Object Detection | |
JP6149791B2 (ja) | 重心推定装置、及び重心推定方法 | |
Leng et al. | Parameter design of biped robot motion system based on multi-objective optimization |
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 |