CN111716361B - 机器人控制方法、装置和面-面接触模型构建方法 - Google Patents
机器人控制方法、装置和面-面接触模型构建方法 Download PDFInfo
- Publication number
- CN111716361B CN111716361B CN202010637413.6A CN202010637413A CN111716361B CN 111716361 B CN111716361 B CN 111716361B CN 202010637413 A CN202010637413 A CN 202010637413A CN 111716361 B CN111716361 B CN 111716361B
- Authority
- CN
- China
- Prior art keywords
- contact
- collision
- contact surface
- robot
- force
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000010276 construction Methods 0.000 title claims abstract description 11
- 238000004215 lattice model Methods 0.000 claims abstract description 40
- 238000004458 analytical method Methods 0.000 claims abstract description 27
- 239000013598 vector Substances 0.000 claims description 44
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000001133 acceleration Effects 0.000 claims description 11
- 238000013016 damping Methods 0.000 claims description 11
- 230000002194 synthesizing effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000005259 measurement Methods 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 8
- 239000000203 mixture Substances 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 abstract description 6
- 238000004088 simulation Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 8
- 238000005094 computer simulation Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 206010035148 Plague Diseases 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000009878 intermolecular interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007517 polishing process Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000005211 surface analysis Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明实施例公开了一种机器人控制方法、装置和面‑面接触模型构建方法,该方法包括:确定机器人的与外界环境产生接触的若干接触面,确定各接触面对应的点阵模型;将点阵模型中每个点作为碰撞点均匀分布在接触面上,基于球‑面接触模型在每一碰撞点处分别进行分析以获得各接触面在各碰撞点处的动力学分析数据,将对应接触面的所有碰撞点处的动力学数据在接触面坐标系原点进行合成,得到各接触面的合成动力学数据以用于对机器人进行控制。本发明的技术方案提出一种面面接触分析方法来分析机器人的接触面与外界接触时的动力学运动情况,进而可实现对机器人更加精准的控制等。
Description
技术领域
本发明涉及机器人技术领域,尤其涉及一种机器人控制方法、装置和面-面接触模型构建方法。
背景技术
在动力学仿真的物理引擎中,刚体之间的碰撞和摩擦一直是很难解决的问题。一是碰撞产生的碰撞力和摩擦力具有高度的非线性,很难用一个单一的物理模型去描述;二是碰撞和摩擦牵扯到微观层面的分子间相互作用力,即电磁力,故难以用微观定律分析;三是太多因素决定着碰撞和摩擦,比如材料的材质,法向压力,温度甚至湿度等,因此碰撞和摩擦一直是困扰机器人动力学仿真的问题。
在现有的仿真物理引擎中,在处理此类问题时通常都会以球-面接触模型为基础,分别计算它们之间的碰撞力和摩擦力。然而,无论使用哪种模型计算碰撞力与摩擦力,物理引擎都没有提供一种可以简便计算面-面接触模型接触力的仿真计算方法,这给机器人的实际动力学分析及动力学仿真测试等带来了困难。
发明内容
有鉴于此,本发明目的是为了克服现有技术中的不足,提供一种机器人控制方法、装置和面-面接触模型构建方法。
本发明的一实施例提供一种机器人控制方法,包括:
确定机器人的与外界环境产生接触的若干接触面;
根据各所述接触面的相关参数确定各所述接触面对应的点阵模型;
将所述点阵模型中的每个点作为一碰撞点均匀分布在对应的接触面上,基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据;
分别将所述对应的接触面的所有碰撞点处的动力学数据在所述对应的接触面坐标系原点进行合成,得到每一所述接触面的合成动力学数据以用于基于所述合成动力学数据对所述机器人进行控制。
在一些实施例中,所述基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面的各碰撞点处的动力学数据包括:
将所述机器人在每一所述碰撞点处的所述接触面作为所述球-面接触模型中的碰撞球,将所述外界环境中的被接触对象作为所述球-面接触模型中的碰撞面;
获取对应时刻所述机器人的所述接触面与所述被接触对象各自的位置和速度;
根据所述球-面接触模型预设的球面接触关系计算所述机器人的所述接触面与所述被接触对象在对应碰撞点处产生的接触力;
根据所述接触力计算所述机器人的所述接触面和所述被接触对象各自的当前加速度;
根据所述当前加速度计算下一时刻所述机器人的所述接触面和所述被接触对象各自的位置和速度。
在一些实施例中,所述根据所述球-面接触模型预设的球面接触关系计算所述机器人的所述接触面与所述被接触对象在对应碰撞点处产生的接触力包括:
分别通过弹簧阻尼算法和库伦摩擦定律计算所述机器人的所述接触面与所述被接触对象在对应碰撞点处产生的碰撞力和摩擦力;
根据所述对应碰撞点到所述接触面的坐标系原点的位置矢量和所述摩擦力计算所述接触面与所述被接触对象产生的摩擦力矩。
在一些实施例中,所述弹簧阻尼算法如下:
在一些实施例中,所述库伦摩擦定律如下:
ffriction=μ·fcollision;μ=f(vxy,kkinematic,kstatic);
其中,ffriction表示产生的摩擦力;μ表示摩擦系数;kkinematic表示动摩擦系数;kstatic表示静摩擦系数;r表示对应碰撞点到所述机器人的所述接触面的坐标系原点的距离;vxy和α分别为所述机器人的所述接触面在所述被接触对象的水平方向上的滑动速度和滑动方向角。
在一些实施例中,所述机器人的所述接触面上设有传感器,所述传感器用于对所述接触面进行动力学参数测量,基于所述合成动力学数据对所述机器人进行控制之前,上述的机器人运动控制方法还包括:
计算所述接触面中所有碰撞点到所述接触面的坐标系原点的动力学合成值,将所述动力学合成值与所述传感器的测量输出值进行比较以用于根据比较结果执行相应操作。
在一些实施例中,若所述传感器为六维力传感器,所述动力学合成值的计算过程,包括:
将所述六维力传感器在所述接触面的投影点作为所述接触面的坐标系原点,计算各碰撞点与所述外界环境接触时受到的接触力,以及各碰撞点到所述坐标系原点的位置矢量;
根据各碰撞点处的所述接触力计算所有碰撞点在所述坐标系原点受到的合力,根据各碰撞点处的所述接触力及对应的所述位置矢量计算所有碰撞点在所述坐标系原点受到的合力矩,所述合力和所述合力矩作为所述动力学合成值;
本发明的一实施例还提供一种面-面接触模型构建方法,包括:
确定待测对象的用于与外界环境产生接触的接触面;
根据所述接触面的相关参数确定对应的点阵模型;
将所述点阵模型中的每个点作为一碰撞点均匀分布在所述接触面上,基于球-面接触模型在每一所述碰撞点分别进行分析以获得所述接触面在各碰撞点处的动力学数据;
将所述接触面的所有碰撞点的所述动力学数据在接触面坐标系原点进行合成,得到面-面接触模型的动力学数据。
本发明的一实施例还提出一种机器人控制装置,包括:
接触面确定模块,用于确定机器人的与外界环境产生接触的若干接触面;
点阵模型确定模块,用于根据各所述接触面的相关参数确定各所述接触面对应的点阵模型;
碰撞点动力学分析模块,用于将所述点阵模型中的每个点作为一碰撞点均匀分布在对应的接触面上,基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据;
控制输出模块,用于分别将所述对应的接触面的所有碰撞点处的动力学数据在所述对应的接触面坐标系原点进行合成,得到每一所述接触面的合成动力学数据以用于基于所述合成动力学数据对所述机器人进行控制。
本发明的一实施例还提出一种终端,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时,使所述终端实施上述的机器人控制方法或面-面接触模型构建方法。
本发明的一实施例还提出一种计算机可读存储介质,其存储有计算机程序,在所述计算机程序被执行时,实施上述的机器人控制方法或面-面接触模型构建方法。
本发明的实施例具有如下优点:
本发明实施例的技术方案提出利用点阵模型的方式将球-面接触模型的分析拓展到面-面接触模型,从而为机器人的接触面与外界之间的面面接触提供了一种方便且更加符合实际的动力学分析方法,并且利用这种面面接触模型进行动力学仿真时,可提供一个更接近真实的仿真平台以用于机器人与真实物理外界发生接触的动力学运动仿真,如双足机器人的行走仿真测试等,而基于更接近真实环境的动力学仿真结果,可以为机器人的产生接触的末端等结构设计、关节电机选型及运动控制算法测试等提供了极大便利,节约了大量的研发成本,降低了机器人在实际测试及运动控制等过程中因各种不确定性带来的风险等等。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例的机器人控制方法的第一流程示意图;
图2示出了本发明实施例的机器人控制方法的应用示意图;
图3a-图3b分别示出了本发明实施例的面-面接触模型构建方法的点阵模型在平面和曲面的分布示意图;
图4示出了本发明实施例的机器人控制方法的动力学分析的流程示意图;
图5示出了本发明实施例的机器人控制方法的球面碰撞示意图;
图6示出了本发明实施例的机器人控制方法的碰撞点合成示意图;
图7示出了本发明实施例的机器人控制方法的第二流程示意图;
图8示出了本发明实施例的机器人控制方法的应用六维力传感器的流程示意图;
图9示出了本发明实施例的面-面接触模型构建方法的流程示意图;
图10示出了本发明实施例的机器人控制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
请参照图1,本实施例提出一种机器人控制方法,该方法结合点阵模型的方式将球-面接触模型的分析拓展到面-面接触,即提出一种面-面接触模型来分析获得机器人的接触面与外界环境之间的动力学数据,进而可更加方便地实现机器人的相应控制,如双足、四足等机器人的行走控制、平衡控制等。此外,该面-面接触模型的提出也为机器人与外界发生接触的动力学运动仿真提供了一个更接近真实环境的仿真平台等。
如图1所示,该方法主要包括以下步骤:
步骤S110,确定机器人的与外界环境产生接触的若干接触面。
示范性地,所述的接触面是指该机器人中能够与外界环境产生接触的部位,例如,当双足机器人在地面上行走时,则其左右脚板即为能够与地面产生接触的接触面等。可以理解,该接触面的个数需要根据实际的机器人的类型来确定,通常双足机器人的接触面为2个,当然对于其他类型的机器人,其接触面可以是一个也可以是两个以上,在此并不作限定。
步骤S120,根据各接触面的相关参数确定各接触面对应的点阵模型。
在一些实施方式中,将根据确定的接触面的形状、大小等参数来选取对应的点阵模型。示范性地,该点阵模型可包括但不限于为2*2、3*3和5*5等不同点数的点阵模型。例如,以双足机器人为例,其左脚板和右脚板分别作为2个接触面,然后根据该脚板的大小及形状等可采用如图2所示的3*3的点阵模型。当然,该3*3的点阵模型仅为一种示例,其也可以采用其他的点阵模型,具体可根据实际需求来选择。
本实施例中,该接触面可以是平面,也可以是曲面等,例如,如图3a和图3b所示。应当注意的是,当点阵模型中的点数越多时,即越接近真实外界环境下的面-面碰撞,这也意味着需要更多的资源来计算分析,故可根据实际需求来确定相应的点阵模型。
步骤S130,将所述点阵模型中的每个点作为一碰撞点均匀分布在对应的接触面上,基于球-面接触模型在每一碰撞点处分别进行分析以获得该对应的接触面在各碰撞点处的动力学数据。
对于步骤S130,示范性地,通过将上述点阵模型中的各点均匀地分布在对应的接触面上,这样得到的接触力分析数据将更加合理等。然后,基于球-面接触模型对该接触面在每个碰撞点处进行动力学分析,即通过将该机器人的每个接触面在每一碰撞点处等效为该球-面接触模型中的碰撞球,同时将外界环境中的被接触对象等效为该球-面接触模型中的碰撞面。例如,当机器人行走在地面或移动平台时,则该地面或移动平台即为外界环境中的被接触对象,也为上述的碰撞面。
示范性地,所述的动力学数据可包括运动学范畴的位置和速度,以及接触力学范畴的接触力等。在一些实施方式中,如图4所示,步骤S130中的“基于球-面接触模型在每一碰撞点处分别进行分析以获得该对应的接触面在各碰撞点处的动力学分析数据”主要包括:
步骤S131,获取对应时刻该机器人的接触面与被接触对象各自的位置和速度。
步骤S132,根据球-面接触模型预设的球面接触关系计算该机器人的所述接触面与所述被接触对象在对应碰撞点处产生的接触力。
步骤S133,根据所述接触力计算该机器人的所述接触面和所述被接触对象各自的当前加速度。
步骤S134,根据当前加速度计算下一时刻该机器人的所述接触面和所述被接触对象各自的位置和速度。
可以理解,上述步骤S131-S134中的机器人的接触面是指在对应碰撞点处的接触面且被视为一碰撞球,同时被接触对象被视为一碰撞面。由于接触面与被接触对象之间存在的接触力将使两者产生相对运动,相应地两者将具有各自的加速度。通过上述这些步骤可以求解出该机器人的接触面的位置、速度等运动学信息。示范性地,所述的接触力包括碰撞力、碰撞力矩以及摩擦力、摩擦力矩,下面结合球-面接触模型的球面接触计算规则对于这两种力及力矩的计算过程进行说明。
(1)对于球-面接触模型中的碰撞力、碰撞力矩,当碰撞球与碰撞面未接触时,此时的碰撞力和碰撞力矩均为零。而当碰撞球与碰撞面发生接触时,将产生碰撞力。然而,由于该碰撞力的方向沿碰撞面所在平面的Z方向,故对碰撞球不产生力矩,此时的碰撞力矩仍然为零。
当碰撞球进入碰撞面时,即该机器人的接触面与外界环境的被接触对象进行了非表面接触时,该接触面(即碰撞球)进入到该被接触对象(即碰撞面)的部分将等效成一个弹簧阻尼系统,如图5所示,此时碰撞作用力的大小等于弹簧力和阻尼力二者之和。示范性地,可通过弹簧阻尼算法计算该机器人的该接触面与被接触对象在对应碰撞点处产生的碰撞力,即如下有:
其中,fcollision表示产生的碰撞力;k表示弹簧刚度;b表示阻尼系数;z表示该机器人的该接触面在该被接触对象所在的坐标系(即碰撞面坐标系)的Z方向下的嵌入深度;表示该接触面在Z方向上的嵌入速度。可以理解,当碰撞球没有进入被接触对象中(即z>0)时,此时满足:fcollision=0。
其中,wRplane表示碰撞面在世界坐标系中的3*3的姿态矩阵。
(2)对于球-面接触模型中的摩擦力、摩擦力矩,当碰撞球与碰撞面未接触时,此时的摩擦力和摩擦力矩均为零。而当碰撞球与碰撞面发生接触时,将产生摩擦力和摩擦力矩。
示范性地,可利用库伦摩擦定律计算该机器人的该接触面与被接触对象在对应碰撞点处产生的摩擦力,进而根据该对应碰撞点到该接触面的坐标系原点的位置矢量和产生的该摩擦力计算摩擦力矩。
当碰撞球与碰撞面发生接触时,则该机器人的接触面(即碰撞球)在被接触对象(即碰撞面)的坐标系下的线速度为角速度为若该机器人的接触面的坐标系原点到对应碰撞点的距离为r,而vxy和α分别表示该机器人的接触面在被接触对象的水平方向的滑动速度和滑动方向角,应满足:
α=atan2((wx·r+vy),(wy·r+vx));
由于碰撞球在碰撞面的摩擦系数μ与该碰撞球的滑动速度vxy、动摩擦系数kkinematic、静摩擦系数kstatic相关,即存在μ=f(vxy,kkinematic,kstatic),具体可根据碰撞球与碰撞面所采用的材料间的动、静摩擦系数查表得到。于是,利用库伦摩擦定律计算产生的摩擦力ffriction,即有ffriction=μ·fcollision。进一步地,摩擦力矩Tfriction满足:
可以理解,通过上述各公式可依次计算得到每一接触面在每一碰撞点处的动力学数据,进而利用分布在接触面上的这些碰撞点的动力学数据进行合成,可实现由球-面接触模型分析拓展为面-面接触模型,从而近似获得面-面接触过程中的动力学数据。
步骤S140,分别将该对应的接触面的所有碰撞点处的动力学数据在对应的接触面坐标系原点进行合成,得到每一接触面的合成动力学数据,将其作为对所述机器人的控制依据,即根据该接触面的合成动力学数据来对机器人进行相应控制。
例如,若选取的为3*3的点阵模型,如图6所示,其中,O点即为该接触面的坐标系原点。可以理解,该坐标系原点可根据实际需求进行选取,通常把其放在感兴趣的位置,又或者可放在方便简化计算的位置等。
可以理解,上述步骤S130和S140通过利用点阵模型将球-面接触模型的分析拓展到面-面接触模型,该面-面接触模型中包含碰撞、滑动摩擦、滚动摩擦和静摩擦等力学分析,其中,碰撞中的刚度,阻尼系数,和摩擦中的滑动摩擦系数、静摩擦系数等可以根据不同材料与碰撞面上的碰撞力进行调整。
通过该面-面接触模型可以较好地分析出该机器人在发生面面碰撞时的实际动力学状态,进而,将合成得到的动力学数据作为机器人的控制依据,可以给机器人的控制提供了极大便利,可实现对机器人更加精准的控制等。例如,该控制可包括不限于为双足机器人的行走控制、机器人的平衡控制或者如打磨机械臂的力-位置控制等等。可以理解,行走控制时,机器人的足底即为接触面,而行走平台则为外界环境中的另一接触平面;在打磨过程中进行力-位置控制时,机械臂的末端执行器与被打磨对象即为面面接触等。此外,对于仿真平台的动力学仿真,利用该面面接触模型进行仿真,可以得到更加符合真实场景下的动力学分析数据,这样当开发人员想测试一些新的运动控制或步态规划算法,可先通过该仿真平台进行面面接触仿真测试,从而可降低机器人在实际运动控制测试过程中因各种不确定性而带来的风险等,也可节约大量的研发成本等。还有,利用这些动力学仿真数据还可为机器人的如接触外界的末端等结构的设计、关节的电机选型等提供一定的参考依据等。
实施例2
请参照图7,基于上述实施例1的方法,本实施例提出的机器人控制方法与上述实施例1的区别在于,该机器人的接触面上设有传感器,该传感器用于对所述接触面进行动力学参数测量,将通过上述实施例1的方法获得的动力学合成值与传感器的测量输出值进行比较,从而利用得到的比较结果来对该动力学合成值进行校验或调整选取的点阵模型等。
步骤S150,计算该接触面中所有碰撞点到该接触面的坐标系原点的动力学合成值,将所述动力学合成值与所述传感器的测量输出值进行比较以用于根据比较结果执行相应操作。
其中,该动力学参数将根据实际需求设置的传感器的类型相关。示范性地,该传感器可包括但不限于为,陀螺仪,转矩传感器,红外测距仪,六维力传感器等中的一种或多种组合。例如,对于双足机器人等其足底通常都会设一六维力传感器,以用于测量该双足机器人的足底(即接触面)和地面之间的三维力和三维力矩,而根据该三维力和三维力矩将对机器人进行如行走状态的切换与闭环运动控制等。
下面以在接触面设置一六维力传感器为例,如图8所示,在一种实施方式中,上述步骤S150中的该接触面中所有碰撞点到该接触面的坐标系原点的动力学合成值的计算,包括:
步骤S151,将六维力传感器在接触面的投影点作为接触面的坐标系原点,计算各碰撞点与外界环境接触时受到的接触力,以及各碰撞点到坐标系原点的位置矢量。
其中,该六维力传感器可根据实际测试需求而设置在感兴趣的位置。仍以上述双足机器人为例,其中两个脚板为两个接触面,当脚板行走在地面上时发生面面碰撞,为方便计算刚体之间的力和力矩等,可将该的六维力传感器设置在机器人的足底区域但不与外界环境发生直接碰撞,此时,该六维力传感器在接触面的投影点即作为坐标系原点。示范性地,所述的接触力主要包括碰撞力和摩擦力,关于各碰撞点的碰撞力和摩擦力的计算过程,可参见上述实施例1的计算公式,在此不再赘述。
步骤S152,根据各碰撞点处的所述接触力计算所有碰撞点在所述坐标系原点受到的合力,根据各碰撞点处的所述接触力及对应的所述位置矢量计算所有碰撞点在所述坐标系原点受到的合力矩,所述合力和所述合力矩作为所述动力学合成值。
示范性地,通过上述实施例1中的步骤S130计算得到每一碰撞点的接触力矢量后,进而可计算所有碰撞点在该坐标系原点受到的合力和合力矩。示范性地,该合力满足:其中,为第i个碰撞点的接触力矢量,由对应碰撞点i处的碰撞力矢量和摩擦力矢量相加得到。进一步地,该合力矩满足:其中,为第i个碰撞点到该坐标系原点的位置矢量。于是,这合力和合力矩即为上述的动力学合成值。
可以理解,将计算得到的面-面接触过程中的相互作用力和相互作用力矩与机器人上设置的六维力传感器的测量输出值进行比较,通过得到的比较结果可用于执行相应操作以更好地控制该机器人,例如,用于验证选取的点阵模型是否适合,又或者,对该面面接触的分析方法进行调整,如调整点阵模型中的点数量、坐标系原点等,从而得到更加准确的动力学数据,及方便进一步的控制及计算等。对于其他传感器,其原理类似,故在此不再重复描述。
实施例3
请参照图9,本实施例提出一种面面接触模型构建方法,通过利用点阵将球-面接触模型扩展到面-面接触模型,为仿真平台提供了一种更接近真实的面面仿真模型,通过将其运用到实际的机器人控制,可为机器人与外界环境之间的接触提供了一种面面分析方式等。示范性地,该方法主要包括:
步骤S210,确定待测对象的用于与外界环境产生接触的接触面;
步骤S220,根据所述接触面的相关参数确定对应的点阵模型;
步骤S230,将所述点阵模型中的每个点作为一碰撞点均匀分布在所述接触面上,基于球-面接触模型在每一碰撞点分别进行分析以获得所述接触面在各碰撞点处的动力学数据;
步骤S240,将所述接触面的所有碰撞点的所述动力学数据在接触面坐标系原点进行合成,得到面-面接触模型的动力学数据。
进一步可选地,在仿真平台应用中,在上述的面面接触模型中还添加与真实环境中的传感器一致的虚拟传感器,如虚拟六维力传感器等,通过将其与真实物理世界的测量结果进行比较,可用于校准该面-面接触模型的碰撞、摩擦参数等,进而可更好地在仿真平台中测试运动控制算法等。可以理解,通过在该机器人的接触面上提供相应的虚拟传感器接口,使得开发者在使用时更加方便,可有效提高机器人仿真开发的工作效率。
可以理解,本实施例的面面接触模型构建方法对应于上述实施例1或2的机器人控制方法中的面面接触分析步骤。上述实施例1或2的关于面面接触分析的任何可选项也同样应用于本实施例,故在此不再详述。
实施例4
请参照图10,基于上述实施例1的方法,本实施例提出一种机器人控制装置10,包括:
接触面确定模块110,用于确定机器人的与外界环境产生接触的若干接触面。
点阵模型确定模块120,用于根据各接触面的相关参数确定各接触面对应的点阵模型。
碰撞分析模块130,用于将所述点阵模型中的每个点作为一碰撞点均匀分布在对应的接触面上,基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据。
控制输出模块140,用于分别将所述对应的接触面的所有碰撞点处的动力学数据在所述对应的接触面坐标系原点进行合成,得到每一所述接触面的合成动力学数据以用于基于所述合成动力学数据对所述机器人进行控制。
可以理解,本实施例的装置对应于上述实施例1或2的方法,上述实施例1或2的可选项同样适用于本实施例,故在此不再详述。
本发明的另一实施例还提出一种终端,例如,该终端可包括计算机或服务器等。该终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时,使所述终端实施上述实施例的机器人控制方法或面-面接触模型构建方法。
本发明的又一实施例还提供了一种计算机可读存储介质,其存储有计算机程序,在所述计算机程序被实施时,执行上述的机器人控制方法或面-面接触模型构建方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (13)
1.一种机器人控制方法,其特征在于,包括:
确定机器人与外界环境产生接触的若干接触面;
根据各所述接触面的相关参数确定各所述接触面对应的点阵模型;
将所述点阵模型中的每个点作为一碰撞点均匀分布在对应的接触面上,基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据;
分别将所述对应的接触面的所有碰撞点处的动力学数据在所述对应的接触面坐标系原点进行合成,得到每一所述接触面的合成动力学数据;
基于所述合成动力学数据对所述机器人进行控制;
其中,所述基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据包括:
将所述机器人在每一所述碰撞点处的所述接触面作为所述球-面接触模型中的碰撞球,将所述外界环境中的被接触对象作为所述球-面接触模型中的碰撞面;获取对应时刻所述机器人的所述接触面与所述被接触对象各自的位置和速度;根据所述球-面接触模型预设的球面接触关系计算所述机器人的所述接触面与所述被接触对象在对应碰撞点处产生的接触力;根据所述接触力计算所述机器人的所述接触面和所述被接触对象各自的当前加速度;根据所述当前加速度计算下一时刻所述机器人的所述接触面和所述被接触对象各自的位置和速度。
2.根据权利要求1所述的机器人控制方法,其特征在于,所述根据所述球-面接触模型预设的球面接触关系计算所述机器人的所述接触面与所述被接触对象在对应碰撞点处产生的接触力包括:
分别通过弹簧阻尼算法和库伦摩擦定律计算所述机器人的所述接触面与所述被接触对象在对应碰撞点处产生的碰撞力和摩擦力;
根据所述对应碰撞点到所述接触面的坐标系原点的位置矢量和所述摩擦力计算所述接触面与所述被接触对象产生的摩擦力矩。
5.根据权利要求1至4任一项所述的机器人控制方法,其特征在于,所述机器人的所述接触面设有传感器,所述传感器用于对所述接触面进行动力学参数测量,基于所述合成动力学数据对所述机器人进行控制之前,所述方法还包括:
计算所述接触面中所有碰撞点到所述接触面的坐标系原点的动力学合成值,将所述动力学合成值与所述传感器的测量输出值进行比较以用于根据比较结果执行相应操作。
6.根据权利要求5所述的机器人控制方法,其特征在于,若所述传感器为六维力传感器,所述动力学合成值的计算过程,包括:
将所述六维力传感器在所述接触面的投影点作为所述接触面的坐标系原点,计算各碰撞点与所述外界环境接触时受到的接触力,以及各碰撞点到所述坐标系原点的位置矢量;
根据各碰撞点处的所述接触力计算所有碰撞点在所述坐标系原点受到的合力,根据各碰撞点处的所述接触力及对应的所述位置矢量计算所有碰撞点在所述坐标系原点受到的合力矩,所述合力和所述合力矩作为所述动力学合成值;
7.一种机器人控制方法,其特征在于,包括:
确定机器人与外界环境产生接触的若干接触面,所述接触面设有传感器,所述传感器用于对所述接触面进行动力学参数测量;
根据各所述接触面的相关参数确定各所述接触面对应的点阵模型;
将所述点阵模型中的每个点作为一碰撞点均匀分布在对应的接触面上,基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据;
分别将所述对应的接触面的所有碰撞点处的动力学数据在所述对应的接触面坐标系原点进行合成,得到每一所述接触面的合成动力学数据;
基于所述合成动力学数据对所述机器人进行控制;
所述机器人的所述接触面设有六维力传感器,所述六维力传感器用于对所述接触面进行动力学参数测量,基于所述合成动力学数据对所述机器人进行控制之前,还包括:
将所述六维力传感器在所述接触面的投影点作为所述接触面的坐标系原点,计算各碰撞点与所述外界环境接触时受到的接触力,以及各碰撞点到所述坐标系原点的位置矢量;
根据各碰撞点处的所述接触力计算所有碰撞点在所述坐标系原点受到的合力,根据各碰撞点处的所述接触力及对应的所述位置矢量计算所有碰撞点在所述坐标系原点受到的合力矩,所述合力和所述合力矩作为所述接触面中所有碰撞点到所述接触面的坐标系原点的动力学合成值;
将所述动力学合成值与所述传感器的测量输出值进行比较以用于根据比较结果执行相应操作。
9.一种面-面接触模型构建方法,其特征在于,包括:
确定待测对象的用于与外界环境产生接触的接触面;
根据所述接触面的相关参数确定对应的点阵模型;
将所述点阵模型中的每个点作为一碰撞点均匀分布在所述接触面上,基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述接触面在各碰撞点处的动力学数据;
将所述接触面的所有碰撞点的所述动力学数据在接触面坐标系原点进行合成,得到面-面接触模型的动力学数据;
其中,所述基于球-面接触模型在每一所述碰撞点处分别进行分析以获得对应的所述接触面在各碰撞点处的动力学数据包括:
将每一所述碰撞点处的所述接触面作为所述球-面接触模型中的碰撞球,将所述外界环境中的被接触对象作为所述球-面接触模型中的碰撞面;获取对应时刻所述接触面与所述被接触对象各自的位置和速度;根据所述球-面接触模型预设的球面接触关系计算所述接触面与所述被接触对象在对应碰撞点处产生的接触力;根据所述接触力计算所述接触面和所述被接触对象各自的当前加速度;根据所述当前加速度计算下一时刻所述接触面和所述被接触对象各自的位置和速度。
10.一种机器人控制装置,其特征在于,包括:
接触面确定模块,用于确定机器人的与外界环境产生接触的若干接触面;
点阵模型确定模块,用于根据各所述接触面的相关参数确定各所述接触面对应的点阵模型;
碰撞分析模块,用于将所述点阵模型中的每个点作为一碰撞点均匀分布在对应的接触面上,基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据;
控制输出模块,用于分别将所述对应的接触面的所有碰撞点处的动力学数据在所述对应的接触面坐标系原点进行合成,得到每一所述接触面的合成动力学数据以用于基于所述合成动力学数据对所述机器人进行控制;
其中,所述碰撞分析模块用于基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据,包括:
将所述机器人在每一所述碰撞点处的所述接触面作为所述球-面接触模型中的碰撞球,将所述外界环境中的被接触对象作为所述球-面接触模型中的碰撞面;获取对应时刻所述机器人的所述接触面与所述被接触对象各自的位置和速度;根据所述球-面接触模型预设的球面接触关系计算所述机器人的所述接触面与所述被接触对象在对应碰撞点处产生的接触力;根据所述接触力计算所述机器人的所述接触面和所述被接触对象各自的当前加速度;根据所述当前加速度计算下一时刻所述机器人的所述接触面和所述被接触对象各自的位置和速度。
11.一种机器人控制装置,其特征在于,包括:
接触面确定模块,用于确定机器人与外界环境产生接触的若干接触面,所述接触面设有传感器,所述传感器用于对所述接触面进行动力学参数测量;
点阵模型确定模块,用于根据各所述接触面的相关参数确定各所述接触面对应的点阵模型;
碰撞分析模块,用于将所述点阵模型中的每个点作为一碰撞点均匀分布在对应的接触面上,基于球-面接触模型在每一所述碰撞点处分别进行分析以获得所述对应的接触面在各碰撞点处的动力学数据;
控制输出模块,用于分别将所述对应的接触面的所有碰撞点处的动力学数据在所述对应的接触面坐标系原点进行合成,得到每一所述接触面的合成动力学数据;基于所述合成动力学数据对所述机器人进行控制;
所述机器人的所述接触面设有六维力传感器,所述六维力传感器用于对所述接触面进行动力学参数测量;
所述碰撞分析模块,还用于将所述六维力传感器在所述接触面的投影点作为所述接触面的坐标系原点,计算各碰撞点与所述外界环境接触时受到的接触力,以及各碰撞点到所述坐标系原点的位置矢量;
所述控制输出模块,还用于根据各碰撞点处的所述接触力计算所有碰撞点在所述坐标系原点受到的合力,根据各碰撞点处的所述接触力及对应的所述位置矢量计算所有碰撞点在所述坐标系原点受到的合力矩,所述合力和所述合力矩作为所述接触面中所有碰撞点到所述接触面的坐标系原点的动力学合成值;将所述动力学合成值与所述传感器的测量输出值进行比较以用于根据比较结果执行相应操作。
12.一种终端,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时,使所述终端实施根据权利要求1至8中任一项所述的机器人控制方法或权利要求9所述的面-面接触模型构建方法。
13.一种计算机可读存储介质,其特征在于,其存储有计算机程序,在所述计算机程序被执行时,实施根据权利要求1至8中任一项所述的机器人控制方法或权利要求9所述的面-面接触模型构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010637413.6A CN111716361B (zh) | 2020-07-03 | 2020-07-03 | 机器人控制方法、装置和面-面接触模型构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010637413.6A CN111716361B (zh) | 2020-07-03 | 2020-07-03 | 机器人控制方法、装置和面-面接触模型构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111716361A CN111716361A (zh) | 2020-09-29 |
CN111716361B true CN111716361B (zh) | 2021-09-07 |
Family
ID=72571663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010637413.6A Active CN111716361B (zh) | 2020-07-03 | 2020-07-03 | 机器人控制方法、装置和面-面接触模型构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111716361B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112975978B (zh) * | 2021-03-05 | 2022-07-29 | 深圳市优必选科技股份有限公司 | 多足机器人负重平衡方法、装置和多足机器人 |
CN114683281B (zh) * | 2022-03-18 | 2024-07-12 | 乐聚(深圳)机器人技术有限公司 | 足式机器人运动控制方法、装置、电子设备及存储介质 |
CN114789444B (zh) * | 2022-05-05 | 2022-12-16 | 山东省人工智能研究院 | 一种基于深度强化学习和阻抗控制的柔顺人机接触方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07186077A (ja) * | 1993-12-27 | 1995-07-25 | Fujitsu Ltd | マニピュレータ制御方式 |
CN101286188A (zh) * | 2008-04-03 | 2008-10-15 | 深圳先进技术研究院 | 一种虚拟仿真系统中力觉反馈的计算方法 |
JP2012240038A (ja) * | 2011-05-24 | 2012-12-10 | Panasonic Corp | インパクトアクチュエータ |
CN104679918A (zh) * | 2013-11-26 | 2015-06-03 | 中国科学院深圳先进技术研究院 | 一种模拟骨钻与骨骼间力觉交互的方法、装置及系统 |
CN107520844A (zh) * | 2017-09-21 | 2017-12-29 | 西北工业大学 | 一种空间机械臂抓捕非合作目标的多面体碰撞动力学分析方法 |
CN109129417A (zh) * | 2018-08-13 | 2019-01-04 | 深圳市智能机器人研究院 | 基于压力传感器阵列的协作机器人系统及其实现方法 |
CN110096131A (zh) * | 2018-01-29 | 2019-08-06 | 华为技术有限公司 | 触感交互方法、装置、以及触感可穿戴设备 |
CN110340888A (zh) * | 2018-10-30 | 2019-10-18 | 大连理工大学 | 一种空间机器人抓捕控制系统、强化学习方法及动力学建模方法 |
-
2020
- 2020-07-03 CN CN202010637413.6A patent/CN111716361B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07186077A (ja) * | 1993-12-27 | 1995-07-25 | Fujitsu Ltd | マニピュレータ制御方式 |
CN101286188A (zh) * | 2008-04-03 | 2008-10-15 | 深圳先进技术研究院 | 一种虚拟仿真系统中力觉反馈的计算方法 |
JP2012240038A (ja) * | 2011-05-24 | 2012-12-10 | Panasonic Corp | インパクトアクチュエータ |
CN104679918A (zh) * | 2013-11-26 | 2015-06-03 | 中国科学院深圳先进技术研究院 | 一种模拟骨钻与骨骼间力觉交互的方法、装置及系统 |
CN107520844A (zh) * | 2017-09-21 | 2017-12-29 | 西北工业大学 | 一种空间机械臂抓捕非合作目标的多面体碰撞动力学分析方法 |
CN110096131A (zh) * | 2018-01-29 | 2019-08-06 | 华为技术有限公司 | 触感交互方法、装置、以及触感可穿戴设备 |
CN109129417A (zh) * | 2018-08-13 | 2019-01-04 | 深圳市智能机器人研究院 | 基于压力传感器阵列的协作机器人系统及其实现方法 |
CN110340888A (zh) * | 2018-10-30 | 2019-10-18 | 大连理工大学 | 一种空间机器人抓捕控制系统、强化学习方法及动力学建模方法 |
Non-Patent Citations (1)
Title |
---|
多体系统动力学仿真中的接触碰撞模型分析;安雪斌等;《计算机仿真》;20081031;第25卷(第10期);正文第98页-101页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111716361A (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111716361B (zh) | 机器人控制方法、装置和面-面接触模型构建方法 | |
Filion et al. | Robot calibration using a portable photogrammetry system | |
CN108621161B (zh) | 基于多传感器信息融合的足式机器人本体状态估计方法 | |
CN116147642B (zh) | 融合地形与力的四足机器人可达性地图构建方法及系统 | |
CN111504314B (zh) | Imu与刚体的位姿融合方法、装置、设备及存储介质 | |
Žlajpah et al. | Kinematic calibration for collaborative robots on a mobile platform using motion capture system | |
CN107121128B (zh) | 一种足式机器人地形参数的测量方法及系统 | |
Ghotbi et al. | Vehicle-terrain interaction models for analysis and performance evaluation of wheeled rovers | |
Irmisch et al. | Simulation framework for a visual-inertial navigation system | |
CN113119102B (zh) | 基于浮动基飞轮倒立摆的仿人机器人建模方法和装置 | |
Li et al. | Relative state estimation of model-unknown spinning noncooperative target using stereo EKF-SLAM | |
Ebrahimi et al. | Extension of the polygonal contact model for flexible multibody systems | |
Gießler et al. | Robust inverse dynamics by evaluating Newton–Euler equations with respect to a moving reference and measuring angular acceleration | |
JP2011255500A (ja) | 脚式移動ロボットの制御装置 | |
Pyrhönen et al. | Inertial parameter identification for closed-loop mechanisms: Adaptation of linear regression for coordinate partitioning | |
de Sousa et al. | Applying Edge AI towards Deep-learning-based Monocular Visual Odometry Model for Mobile Robotics. | |
KR101525677B1 (ko) | 원호 시험용 가상 오차 평가 시뮬레이션 방법 | |
Burkus et al. | Implementation of 3D ground contact model for uneven ground using SimMechanics | |
Marinkovic et al. | Modal-space based solutions including geometric nonlinearities for flexible multi-body systems | |
JP2008254155A (ja) | 脚式移動ロボットの制御装置 | |
Khan et al. | Dynamic Kalman filter-based velocity tracker for Intelligent vehicle | |
Castro-Toscano et al. | Determination of trajectories using IKZ/CF inertial navigation: Methodological proposal | |
Sveier et al. | Extrinsic calibration for motion estimation using unit quaternions and particle filtering | |
Flores et al. | State-of-the-art and challenges of contact-impact problems using multibody dynamics methodologies | |
CN116952508A (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 | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231128 Address after: Room 601, 6th Floor, Building 13, No. 3 Jinghai Fifth Road, Beijing Economic and Technological Development Zone (Tongzhou), Daxing District, Beijing, 100176 Patentee after: Beijing Youbixuan Intelligent Robot Co.,Ltd. Address before: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Shenzhen UBTECH Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |