CN113771043B - 使机器人跟随虚拟对象的控制方法、装置和康复机器人 - Google Patents
使机器人跟随虚拟对象的控制方法、装置和康复机器人 Download PDFInfo
- Publication number
- CN113771043B CN113771043B CN202111163780.8A CN202111163780A CN113771043B CN 113771043 B CN113771043 B CN 113771043B CN 202111163780 A CN202111163780 A CN 202111163780A CN 113771043 B CN113771043 B CN 113771043B
- Authority
- CN
- China
- Prior art keywords
- virtual
- robot
- speed
- product
- virtual object
- 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 78
- 230000008569 process Effects 0.000 claims abstract description 40
- 230000001276 controlling effect Effects 0.000 claims description 5
- 230000002596 correlated effect Effects 0.000 claims description 5
- 230000002401 inhibitory effect Effects 0.000 abstract 1
- 230000000694 effects Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013016 damping Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 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/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本申请涉及机器人技术领域,公开一种使机器人跟随虚拟对象的控制方法。该控制方法包括:获得物理引擎反馈的虚拟对象的虚拟位置与机器人的真实位置的位置差值;获得物理引擎反馈的虚拟对象的虚拟速度;其中,虚拟位置和虚拟速度是物理引擎根据机器人所受的外力计算虚拟对象的运动状态而获得的;获得位置差值与第一设定系数的第一乘积,根据第一乘积和虚拟速度确定期望速度;根据期望速度控制机器人。采用该控制方法可在实现对位置差值的抑制的基础上,可降低机器人的真实速度与虚拟对象的虚拟速度之间的速度差值,进而提高用户在使用机器人的过程中的触觉体验。本申请还公开一种使机器人跟随虚拟对象的控制装置和康复机器人。
Description
技术领域
本申请涉及机器人技术领域,例如涉及一种使机器人跟随虚拟对象的控制方法、装置和康复机器人。
背景技术
物理引擎通过为刚性物体赋予真实的物理属性来计算运动、旋转和碰撞反映。物理引擎可模拟虚拟对象在多种虚拟环境下的运动状态,在将物理引擎与机器人结合后,可将虚拟对象在虚拟环境中的受力状态、运动状态等通过机器人反馈给用户,使用户获得更加真实的触觉体验,该方案可应用于肢体训练、康复训练等场景。
可按照如下方式使用物理引擎:物理引擎创建虚拟环境,并对虚拟环境以及虚拟对象进行配置;再将机器人的受力发送至物理引擎,物理引擎根据机器人的受力控制虚拟对象的运动状态,并将虚拟对象的运动状态反馈至机器人,使机器人跟随虚拟对象的运动状态。
通常情况下,物理引擎将虚拟对象的虚拟速度反馈至机器人,根据虚拟对象的虚拟速度控制机器人。但是,在根据虚拟对象的虚拟速度控制机器人的过程中,容易导致机器人的真实位置与虚拟对象的虚拟位置产生偏离。
在根据一设定速度控制机器人的过程中,为了使机器人的位置不会偏离,现有技术通过设定速度计算机器人的设定位置,再获得设定位置与机器人的真实位置的位置差值,最后将位置差值输入至控制器,输出与位置差值相对应的一开环速度,依据该一开环速度对机器人进行控制。
在实现本申请实施例的过程中,发现相关技术中至少存在如下问题:
物理引擎与机器人结合,其目的是使用户获得更加真实的触觉体验,采用上述技术方案,容易使最终获得开环速度偏离设定速度,导致机器人的真实速度与虚拟对象的虚拟速度之间的偏差过大,降低用户的触觉体验。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本申请实施例提供了一种使机器人跟随虚拟对象的控制方法、装置和康复机器人,以解决现有技术在抑制位置偏差的过程中容易导致速度偏差较大的技术问题。
在一些实施例中,使机器人跟随虚拟对象的控制方法包括:获得物理引擎反馈的虚拟对象的虚拟位置与机器人的真实位置的位置差值;获得所述物理引擎反馈的虚拟对象的虚拟速度;其中,所述虚拟位置和所述虚拟速度是所述物理引擎根据所述机器人所受的外力计算所述虚拟对象的运动状态而获得的;获得所述位置差值与第一设定系数的第一乘积,根据所述第一乘积和所述虚拟速度确定期望速度;根据所述期望速度控制所述机器人。
可选地,根据所述第一乘积和所述虚拟速度确定期望速度,包括:将所述第一乘积和所述虚拟速度的第一和,确定为所述期望速度。
可选地,根据所述第一乘积和所述虚拟速度确定期望速度,包括:获得所述机器人所受的外力;获得所述外力与第二设定系数的第二乘积;根据所述第一乘积、所述第二乘积以及所述虚拟速度确定所述期望速度。
可选地,根据所述第一乘积、所述第二乘积以及所述虚拟虚度确定所述期望速度,包括:将所述第一乘积、所述第二乘积和所述虚拟速度的第二和,确定为所述期望速度。
可选地,根据所述第一乘积、所述第二乘积以及所述虚拟速度确定所述期望速度,包括:在获得所述虚拟速度的过程中存在变时延的情况下,根据所述第二乘积、所述第一乘积以及第一设定时长内多个所述虚拟速度的第一平均值,确定为所述期望速度。
可选地,根据所述第一乘积、所述第二乘积以及所述虚拟速度确定所述期望速度,包括:在获得所述虚拟位置的过程中存在变时延的情况下,根据所述第二乘积、第二设定时长内多个所述第一乘积的第二平均值与所述虚拟速度,确定为所述期望速度。
可选地,根据所述第一乘积、所述第二乘积以及所述虚拟速度确定所述期望速度,包括:在获得所述虚拟速度以及所述虚拟位置的过程中存在变时延的情况下,根据所述第二乘积、第二设定时长内多个所述第一乘积的第二平均值以及第一设定时长内多个所述虚拟速度的第一平均值,确定为所述期望速度。
可选地,第一设定系数是通过如下方式确定的:获得与所述位置差值反相关的第一设定系数。
可选地,所述物理引擎根据所述机器人所受的外力计算所述虚拟对象的运动状态,包括:获得所述物理引擎创建的虚拟环境的配置参数;根据所述配置参数确定所述虚拟环境对所述虚拟对象的虚拟环境作用力;获得所述虚拟环境作用力以及所述外力的合力;根据所述合力以及所述虚拟对象的当前运动状态确定所述虚拟位置和所述虚拟速度。
在一些实施例中,使机器人跟随虚拟对象的控制装置包括第一获得模块、第二获得模块、确定模块和控制模块;所述第一获得模块被配置为获得物理引擎反馈的虚拟对象的虚拟位置与机器人的真实位置的位置差值;所述第二获得模块被配置为获得所述物理引擎反馈的虚拟对象的虚拟速度;其中,所述虚拟位置和所述虚拟速度是所述物理引擎根据所述机器人所受的外力计算所述虚拟对象的运动状态而获得的;所述确定模块被配置为获得所述位置差值与第一设定系数的第一乘积,并根据所述第一乘积和所述虚拟速度确定期望速度;所述控制模块被配置为根据所述期望速度控制所述机器人。
在一些实施例中,使机器人跟随虚拟对象的控制装置包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行如前述实施例提供的使机器人跟随虚拟对象的控制方法。
在一些实施例中,康复机器人包括前述实施例提供的使机器人跟随虚拟对象的控制装置。
本申请实施例提供的使机器人跟随虚拟对象的控制方法、装置和康复机器人,可以实现以下技术效果:
将虚拟对象的虚拟位置与机器人的真实位置的位置差值,通过第一设定系数前馈至虚拟速度,这样,在机器人跟随虚拟对象的过程中,可实现对位置差值的抑制,并且,机器人可仍以跟随虚拟对象的虚拟速度为主要跟随目标,可降低机器人的真实速度与虚拟对象的虚拟速度之间的速度差值,进而提高用户在使用机器人的过程中的触觉体验。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或一个以上实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件视为类似的元件,并且其中:
图1是本申请实施例提供的一种使机器人跟随虚拟对象的控制方法的示意图;
图2是本申请实施例提供的一种使机器人跟随虚拟对象的控制装置的示意图;
图3是本申请实施例提供的一种使机器人跟随虚拟对象的控制装置的示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个以上。
本申请实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
物理引擎可以看成是一系列运算规则的集合,各运算规则符合牛顿三大定律,通过为刚性物体赋予真实的物理属性来计算运动、旋转和碰撞反映,在物理引擎中可以模拟真实世界中各种物体运动以及相互作用的规律。预先在物理引擎中构建虚拟环境,并在虚拟环境中构建虚拟对象。物理引擎可以是Havok、NovodeX、Bullet、ODE、TOKMAK、Newton、Simple Physics Engine等,当然,上述列举仅对物理引擎进行示例性说明,除上述列举的之外的现有技术中的其他物理引擎,也适用于本申请。
物理引擎可模拟多种场景的虚拟环境,不同虚拟环境的配置参数不同,配置参数用于确定虚拟环境中各物体的性质,包括虚拟环境中各物体的:物理属性、材料属性、几何属性以及物体之间的连接关系。其中,物理属性表示虚拟环境中物体的质量、位置、旋转角度、速度和阻尼等性质;材料属性表示虚拟环境中物体的材质特性,例如,密度、摩擦系数、恢复系数等;几何属性表示虚拟环境中物体的几何形状;物体之间的连接关系则表示了虚拟环境中物体之间的关联关系。
物理引擎在模拟虚拟环境以及虚拟对象之后,能够计算出虚拟环境对虚拟对象的虚拟环境作用力,根据力的性质,虚拟环境作用力可包括:虚拟重力、虚拟万有引力、虚拟弹力、虚拟摩擦力、虚拟分子力、虚拟电磁力和虚拟核力等;根据力的效果,虚拟环境作用力可包括:虚拟拉力、虚拟张力、虚拟压力、虚拟支持力、虚拟动力、虚拟阻力、虚拟向心力和虚拟回复力等;根据力的效果,虚拟环境作用力可包括:虚拟接触力和虚拟非接触力;根据力的相互作用,虚拟环境作用力可包括:虚拟应力相互作用力、虚拟电磁相互作用力、虚拟强相互作用力和虚拟弱相互作用力。
根据具体的虚拟环境的不同,本申请中的虚拟环境作用力可以上述任意一种或多种力的合力。
图1是本申请实施例提供的一种使机器人跟随虚拟对象的控制方法的示意图。
结合图1所示,使机器人跟随虚拟对象的控制方法包括:
S101、获得物理引擎反馈的虚拟对象的虚拟位置与机器人的真实位置的位置差值。
这里的机器人的真实位置,指的是机器人末端的真实位置。在机器人的末端可在平面内运动的情况下,机器人的真实位置可用平面坐标系内的坐标/向量来表示;在机器人的末端可在三维空间内运动的情况下,机器人的真实位置可用三维坐标系的坐标/向量来表示。
虚拟对象的虚拟位置指的是虚拟对象在虚拟环境中的位置,虚拟对象的虚拟位置与机器人的真实位置的属性相同。例如,在机器人的末端可在平面内运动的情况下,虚拟对象可在平面内运动,虚拟位置可用平面坐标系中的坐标/向量来表示;在机器人的末端可在三维空间内运动的情况下,虚拟对象可在三维空间内运动,虚拟位置可用三维坐标系的坐标/向量来表示。
机器人所在的坐标系与虚拟对象所在的坐标系具有映射关系,上述机器人的真实位置以及虚拟对象的虚拟位置,均为映射至相同坐标系内的位置。
在利用物理引擎模拟虚拟环境中的虚拟对象的情况下,物理引擎可直接反馈虚拟对象的虚拟位置;可利用位置传感器获得机器人的真实位置,或者,通过对机器人的真实速度进行积分,获得机器人的真实位置,或者,可在机器人运动过程中实时拍摄图像,利用图像识别技术获得机器人的真实位置。本申请对机器人的真实位置的获得方式不做具体限定,本领域技术人员可根据实际情况,在现有技术中选择合适的获得机器人的真实位置的方式。
S102、获得物理引擎反馈的虚拟对象的虚拟速度;其中,虚拟位置和虚拟速度是物理引擎根据机器人所受的外力计算虚拟对象的运动状态而获得的。
在虚拟对象可在平面内运动的情况下,可用平面坐标系中向量表示虚拟对象的虚拟速度;在虚拟对象可在三维空间运动的情况下,可用三维坐标系中的向量表示虚拟对象的虚拟速度。
在物理引擎模拟虚拟对象的过程中,物理引擎可直接反馈虚拟对象的虚拟速度。
在机器人与物理引擎的交互中,机器人通过力传感器检测机器人所受的外力,例如在用户使用机器人的过程中,机器人所受的外力可以是用户施加给机器人的作用力,并将该外力传递至物理引擎,物理引擎根据该外力模拟虚拟环境中虚拟对象的运动状态,并将虚拟对象的运动状态反馈至机器人,使机器人跟随虚拟对象的运动状态。
在该过程中,物理引擎根据机器人所受的外力计算虚拟对象的运动状态,可包括:获得物理引擎创建的虚拟环境的配置参数;根据配置参数确定虚拟环境对虚拟对象的虚拟环境作用力;获得虚拟环境作用力以及外力的合力;根据合力以及虚拟对象的当前运动状态确定虚拟位置和虚拟速度。
物理引擎根据配置参数确定虚拟环境对虚拟对象的虚拟作用力的过程,以及物理引擎根据合力以及虚拟对象的当前运动状态确定虚拟位置和虚拟速度的过程中,其计算过程均遵循牛顿运动定律。
通过上述过程,即可获得虚拟环境中虚拟对象的虚拟位置和虚拟速度。之后再依据该虚拟位置以及虚拟速度对机器人进行控制,使机器人在驱动力以及所受外力的作用下,跟随该虚拟位置以及虚拟速度。
S103、获得位置差值与第一设定系数的第一乘积,并根据第一乘积和虚拟速度确定期望速度。
可将第一乘积和虚拟速度的第一和,确定为期望速度。将位置差值通过第一设定系数前馈至虚拟速度从而获得期望速度,该期望速度与虚拟速度直接相关,使机器人在跟随期望速度的过程中,不会过于偏离期望速度,使用户获得较佳的触觉体验;同时,该期望速度还与位置差值直接关联,使得机器人在跟随期望速度的过程中,可抑制机器人的真实位置与虚拟对象的虚拟位置之间的位置偏差,进一步提高了用户使用体验。
上述第一设定系数可以是小于1系数,这样,使位置差值对期望速度的影响,小于虚拟速度对期望速度的影响,即,在机器人以跟随期望速度的方式跟随虚拟对象的过程中,仍以跟随虚拟对象的虚拟速度为主要跟随目标,在抑制机器人的真实位置与虚拟对象的虚拟位置的位置差值的过程中,还可降低机器人的真实速度与虚拟对象的虚拟速度之间的速度差值,提高用户在使用机器人的过程中触觉体验。
再进一步地,第一设定系数可通过如下方式确定:获得与位置差值反相关的第一设定系数。采用该技术方案,在机器人的真实位置与虚拟对象的虚拟位置的位置差值较大的情况下,第一设定系数较小,以降低第一乘积的数值,再将这样的第一乘积和虚拟速度的第一和确定为期望速度,可降低较大的位置差值对期望速度的影响,从而可以使机器人更好地跟随虚拟对象的虚拟速度,提高用户使用机器人过程中的触觉体验;另外,在机器人的真实位置与虚拟对象的虚拟位置之间的位置差值较小的情况下,第一设定系数较大,将提高第一乘积的数值,再将这样的第一乘积和虚拟速度的第一和,确定为期望速度,可提高较小的位置差值对期望速度的影响,可以使机器人更好地跟随虚拟对象的虚拟位置。
另外,为了确定期望速度,还可采用如下方案:获得机器人所受的外力;获得外力与第二设定系数的第二乘积;根据第一乘积、第二乘积以及虚拟速度确定期望速度。
可以利用机器人上设置的力传感器,例如三维力传感器,获得机器人所受的外力,在用户使用机器人的过程中,这里的机器人所受的外力可以是用户施加给机器人的作用力。
基于机器人通过物理引擎与虚拟对象建立对应关系的技术方案,可以使多个机器人在一个虚拟环境分别对应一个虚拟对象,这样,多个用户可通过虚拟对象实现交互,进一步提高用户的使用趣味,在机器人为康复机器人的情况下,可进一步提高康复训练过程中的趣味性。
成熟的互联网技术可在多个机器人之间,机器人与物理引擎之间,以及物理引擎与物理引擎之间实现信息传递,进而使得机器人联机技术不再限于空间位置。
但是,互联网传递的信息存在忽多忽少的可变延迟,例如,在获得虚拟速度的过程中可存在可变延迟,或者,在获得虚拟位置(或位置差值)的过程中可存在可变延迟,这些可变延迟容易造成机器人抖动。
在机器人与物理引擎的交互过程中,机器人将所受外力传递至物理引擎,物理引擎根据该外力模拟虚拟对象的运动状态,物理引擎将该运动状态反馈至机器人,再使机器人跟随虚拟对象的运动状态,也即,机器人所受外力经过一个循环,再次作用在机器人上,信息传递过程中的可变延迟存在于上述循环中。
将外力与第二设定系数的第二乘积,直接前馈至虚拟速度进而获得期望速度,也即,将实时外力直接作用在机器人上,使机器人可在一定程度上随外力而运动,进而降低存在可变延迟的虚拟位置(位置差值)或虚拟速度在期望速度中的影响程度,最后以这样的期望速度对机器人进行控制,降低了机器人的抖动。
前述第二设定系数可表示外力对期望速度的影响程度,第二设定系数越大,外力对期望速度的影响越大,对机器人的实际速度的影响越大;第二设定系数越小,外力对期望速度的影响越小,对机器人的实际速度的影响越小。可通过试验的方式获得该第二设定系数,例如,设定多个不同的第二设定系数,分别以每个第二设定系数对机器人-物理引擎进行测试,如果机器人对虚拟对象的跟随效果不佳,则说明第二设定系数过大,需要降低第二设定系数;如果机器人所受的外力发生变化,导致了机器人产生较大的抖动,则说明第二设定系数过小,需要提高第二设定系数。在试验过程中,最终确定机器人的跟随效果以及稳定性(机器人抖动小)均符合要求的第二设定系数。
具体地,根据第一乘积、第二乘积以及虚拟虚度确定期望速度,可包括:将第一乘积、第二乘积和虚拟速度的第二和,确定为期望速度。
进一步地,根据第一乘积、第二乘积以及虚拟速度确定期望速度,可包括:在获得虚拟速度的过程中存在变时延的情况下,根据第二乘积、第一乘积以及第一设定时长内多个虚拟速度的第一平均值,确定为期望速度。
或者,根据第一乘积、第二乘积以及虚拟速度确定期望速度,可包括:在获得虚拟位置的过程中存在变时延的情况下,根据第二乘积、第二设定时长内多个第一乘积的第二平均值与虚拟速度,确定为期望速度。
或者,根据第一乘积、第二乘积以及虚拟速度确定期望速度,可包括:在获得虚拟速度以及虚拟位置的过程中存在变时延的情况下,根据第二乘积、第二设定时长内多个第一乘积的第二平均值以及第一设定时长内多个虚拟速度的第一平均值,确定为期望速度。
上述第一设定时长、第二设定时长以及第三设定时长可以相同,可以不相同。第一设定时长、第二设定时长或第三设定时长越大,机器人对虚拟对象的跟随效果越差,机器人的抖动越少(稳定性越好);第一设定时长、第二设定时长或第三设定时长越小,机器人对虚拟对象的跟随效果越好,但机器人的抖动越大(稳定性越差)。本申请实施例对第一设定时长、第二设定时长以及第三设定时长的具体数值不做限定,本领域技术人员可依据对机器人的参数需求,通过有限次试验的方式确定合适的第一设定时长、第二设定时长或第三设定时长。
可将第二乘积、第一乘积以及第一设定时长内的多个虚拟速度的第一平均值的和,确定为期望速度;或者,可将第二乘积、第二设定时长内多个第一乘积的第二平均值的和,确定为期望速度;或者,可将第二乘积、第二设定时长内多个第一乘积的第二平均值以及第一设定时长内多个虚拟速度的第一平均值的和,确定为期望速度。
在上述技术方案中,由于计算了平均值,降低了机器人对虚拟速度以及虚拟位置的跟随效果,但是又由于机器人所受的外力与第二设定系数的第二乘积的存在,可使机器人及时跟随机器人所受的外力,提高了机器人对虚拟速度的跟随效果。在确定了第一设定时长、第二设定时长或第三设定时长后,可再通过调节第二设定系数,以提高机器人对虚拟对象的跟随效果,这样,不仅维持机器人跟随虚拟对象的跟随效果,还可提高机器人的稳定性(减少机器人抖动)。
S104、根据期望速度控制机器人。
可通过现有的速度控制器,实现根据期望速度控制机器人。例如,获得机器人的真实速度,将期望速度与真实速度的速度差值输入至速度控制器,速度控制器可输出与速度差值对应的控制量,以该控制量控制机器人,以降低机器人的真实速度与期望速度之间的速度差值。本申请实施例对速度控制器不做具体限定,本领域技术人员可根据实际需求在现有技术中确定合适的速度控制器。
将虚拟对象的虚拟位置与机器人的真实位置的位置差值,通过第一设定系数前馈至虚拟速度,这样,在机器人跟随虚拟对象的过程中,可实现对位置差值的抑制,并且,机器人可仍以跟随虚拟对象的虚拟速度为主要跟随目标,可降低机器人的真实速度与虚拟对象的虚拟速度之间的速度差值,进而提高用户在使用机器人的过程中的触觉体验。
图2是本申请实施例提供的一种使机器人跟随虚拟对象的控制装置的示意图。
结合图所示,使机器人跟随虚拟对象的控制装置包括第一获得模块21、第二获得模块22、确定模块23和控制模块24;第一获得模块21被配置为获得物理引擎反馈的虚拟对象的虚拟位置与机器人的真实位置的位置差值;第二获得模块22被配置为获得物理引擎反馈的虚拟对象的虚拟速度;其中,虚拟位置和虚拟速度是物理引擎根据机器人所受的外力计算虚拟对象的运动状态而获得的;确定模块23被配置为获得位置差值与第一设定系数的第一乘积,并根据第一乘积和虚拟速度确定期望速度;控制模块24被配置为根据期望速度控制机器人。
将虚拟对象的虚拟位置与机器人的真实位置的位置差值,通过第一设定系数前馈至虚拟速度,这样,在机器人跟随虚拟对象的过程中,可实现对位置差值的抑制,并且,机器人可仍以跟随虚拟对象的虚拟速度为主要跟随目标,可降低机器人的真实速度与虚拟对象的虚拟速度之间的速度差值,进而提高用户在使用机器人的过程中的触觉体验。
可选地,根据第一乘积和虚拟速度确定期望速度,包括:将第一乘积和虚拟速度的第一和,确定为期望速度。
可选地,确定模块包括第一获得单元、第二获得单元和确定单元,其中,第一获得单元被配置为获得机器人所受的外力;第二获得单元被配置为获得外力与第二设定系数的第二乘积;确定单元被配置为根据第一乘积、第二乘积以及虚拟速度确定期望速度。
可选地,确定单元被具体配置为:将第一乘积、第二乘积和虚拟速度的第二和,确定为期望速度。
可选地,确定单元被具体配置为:在获得虚拟速度的过程中存在变时延的情况下,根据第二乘积、第一乘积以及第一设定时长内多个虚拟速度的第一平均值,确定为期望速度。
可选地,确定单元被具体配置为:在获得虚拟位置的过程中存在变时延的情况下,根据第二乘积、第二设定时长内多个第一乘积的第二平均值与虚拟速度,确定为期望速度。
可选地,确定单元被具体配置为:在获得虚拟速度以及虚拟位置的过程中存在变时延的情况下,根据第二乘积、第二设定时长内多个第一乘积的第二平均值以及第一设定时长内多个虚拟速度的第一平均值,确定为期望速度。
可选地,第一设定系数是通过如下方式确定的:获得与位置差值反相关的第一设定系数。
可选地,物理引擎根据机器人所受的外力计算虚拟对象的运动状态,包括:获得物理引擎创建的虚拟环境的配置参数;根据配置参数确定虚拟环境对虚拟对象的虚拟环境作用力;获得虚拟环境作用力以及外力的合力;根据合力以及虚拟对象的当前运动状态确定虚拟位置和虚拟速度。
前述实施例中提供的使机器人跟随虚拟对象的控制方法中,对各术语的解释、限定,对各步骤的解释、限定,均适用于上述实施例中提供的使机器人跟随虚拟对象的控制装置,这里不再一一赘述。
在一些实施例中,使机器人跟随虚拟对象的控制装置包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行前述实施例提供的使机器人跟随虚拟对象的控制方法。
图3是本申请实施例提供的一种使机器人跟随虚拟对象的控制装置的示意图。结合图3所示,使机器人跟随虚拟对象的控制装置包括:
处理器(processor)31和存储器(memory)32,还可以包括通信接口(Communication Interface)33和总线34。其中,处理器31、通信接口33、存储器32可以通过总线34完成相互间的通信。通信接口33可以用于信息传输。处理器31可以调用存储器32中的逻辑指令,以执行前述实施例提供的使机器人跟随虚拟对象的控制方法。
此外,上述的存储器32中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器32可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例提供了一种康复机器人,包含前述实施例提供的使机器人跟随虚拟对象的控制装置。
本申请实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令设置为执行前述实施例提供的使机器人跟随虚拟对象的控制方法。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行前述实施例提供的使机器人跟随虚拟对象的控制方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本申请实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或一个以上指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例中方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机读取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本申请的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本申请实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或一个以上用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (9)
1.一种使机器人跟随虚拟对象的控制方法,其特征在于,包括:
获得物理引擎反馈的虚拟对象的虚拟位置与机器人的真实位置的位置差值;
获得所述物理引擎反馈的虚拟对象的虚拟速度;其中,所述虚拟位置和所述虚拟速度是所述物理引擎根据所述机器人所受的外力计算所述虚拟对象的运动状态而获得的;
获得所述位置差值与第一设定系数的第一乘积,根据所述第一乘积和所述虚拟速度确定期望速度,以将所述位置差值通过所述第一设定系数前馈至所述虚拟速度从而获得所述期望速度;所述第一设定系数是通过如下方式确定的:获得与所述位置差值反相关的第一设定系数,或者,所述第一设定系数是小于1的系数;
根据所述期望速度控制所述机器人。
2.根据权利要求1所述的控制方法,其特征在于,根据所述第一乘积和所述虚拟速度确定期望速度,包括:
将所述第一乘积和所述虚拟速度的第一和,确定为所述期望速度。
3.根据权利要求1所述的控制方法,其特征在于,根据所述第一乘积和所述虚拟速度确定期望速度,包括:
获得所述机器人所受的外力;
获得所述外力与第二设定系数的第二乘积;所述第二设定系数用于表示所述外力对所述期望速度的影响程度;
根据所述第一乘积、所述第二乘积以及所述虚拟速度确定所述期望速度。
4.根据权利要求3所述的控制方法,其特征在于,根据所述第一乘积、所述第二乘积以及所述虚拟速度确定所述期望速度,包括:
将所述第一乘积、所述第二乘积和所述虚拟速度的第二和,确定为所述期望速度。
5.根据权利要求3所述的控制方法,其特征在于,根据所述第一乘积、所述第二乘积以及所述虚拟速度确定所述期望速度,包括:
在获得所述虚拟速度的过程中存在变时延的情况下,根据所述第二乘积、所述第一乘积以及第一设定时长内多个所述虚拟速度的第一平均值,确定为所述期望速度;
在获得所述虚拟位置的过程中存在变时延的情况下,根据所述第二乘积、第二设定时长内多个所述第一乘积的第二平均值与所述虚拟速度,确定为所述期望速度;
在获得所述虚拟速度以及所述虚拟位置的过程中存在变时延的情况下,根据所述第二乘积、第二设定时长内多个所述第一乘积的第二平均值以及第一设定时长内多个所述虚拟速度的第一平均值,确定为所述期望速度。
6.根据权利要求1至5任一项所述的控制方法,其特征在于,所述物理引擎根据所述机器人所受的外力计算所述虚拟对象的运动状态,包括:
获得所述物理引擎创建的虚拟环境的配置参数;
根据所述配置参数确定所述虚拟环境对所述虚拟对象的虚拟环境作用力;
获得所述虚拟环境作用力以及所述外力的合力;
根据所述合力以及所述虚拟对象的当前运动状态确定所述虚拟位置和所述虚拟速度。
7.一种使机器人跟随虚拟对象的控制装置,其特征在于,包括:
第一获得模块,被配置为获得物理引擎反馈的虚拟对象的虚拟位置与机器人的真实位置的位置差值;
第二获得模块,被配置为获得所述物理引擎反馈的虚拟对象的虚拟速度;其中,所述虚拟位置和所述虚拟速度是所述物理引擎根据所述机器人所受的外力计算所述虚拟对象的运动状态而获得的;
确定模块,被配置为获得所述位置差值与第一设定系数的第一乘积,并根据所述第一乘积和所述虚拟速度确定期望速度,以将所述位置差值通过所述第一设定系数前馈至所述虚拟速度,从而获得所述期望速度;所述第一设定系数是通过如下方式确定的:获得与所述位置差值反相关的第一设定系数,或者,所述第一设定系数是小于1的系数;
控制模块,被配置为根据所述期望速度控制所述机器人。
8.一种使机器人跟随虚拟对象的控制装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至6任一项所述的使机器人跟随虚拟对象的控制方法。
9.一种康复机器人,其特征在于,包括如权利要求7或8所述的使机器人跟随虚拟对象的控制装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163780.8A CN113771043B (zh) | 2021-09-30 | 2021-09-30 | 使机器人跟随虚拟对象的控制方法、装置和康复机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163780.8A CN113771043B (zh) | 2021-09-30 | 2021-09-30 | 使机器人跟随虚拟对象的控制方法、装置和康复机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113771043A CN113771043A (zh) | 2021-12-10 |
CN113771043B true CN113771043B (zh) | 2023-02-24 |
Family
ID=78854560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111163780.8A Active CN113771043B (zh) | 2021-09-30 | 2021-09-30 | 使机器人跟随虚拟对象的控制方法、装置和康复机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113771043B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114833826B (zh) * | 2022-04-20 | 2023-07-04 | 上海傅利叶智能科技有限公司 | 实现机器人碰撞触觉的控制方法、装置以及康复机器人 |
CN114770511B (zh) * | 2022-05-09 | 2023-06-23 | 上海傅利叶智能科技有限公司 | 基于物理触觉的机器人控制方法、装置及机器人 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180077974A (ko) * | 2016-12-29 | 2018-07-09 | 유한책임회사 매드제너레이터 | 로봇을 이용하여 사용자에게 피드백을 제공하는 vr-로봇 연동 시스템 및 방법 |
CN111251305A (zh) * | 2020-03-13 | 2020-06-09 | 南方科技大学 | 机器人力控制方法、装置、系统、机器人及存储介质 |
CN111338287A (zh) * | 2020-03-13 | 2020-06-26 | 南方科技大学 | 机器人运动控制方法、装置、系统、机器人及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9987749B2 (en) * | 2014-08-15 | 2018-06-05 | University Of Central Florida Research Foundation, Inc. | Control interface for robotic humanoid avatar system and related methods |
CN110612181B (zh) * | 2017-02-17 | 2023-05-23 | Abb瑞士股份有限公司 | 机器人引导通过编程期间控制工业机器人的方法和工业机器人 |
-
2021
- 2021-09-30 CN CN202111163780.8A patent/CN113771043B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180077974A (ko) * | 2016-12-29 | 2018-07-09 | 유한책임회사 매드제너레이터 | 로봇을 이용하여 사용자에게 피드백을 제공하는 vr-로봇 연동 시스템 및 방법 |
CN111251305A (zh) * | 2020-03-13 | 2020-06-09 | 南方科技大学 | 机器人力控制方法、装置、系统、机器人及存储介质 |
CN111338287A (zh) * | 2020-03-13 | 2020-06-26 | 南方科技大学 | 机器人运动控制方法、装置、系统、机器人及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113771043A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113771043B (zh) | 使机器人跟随虚拟对象的控制方法、装置和康复机器人 | |
Gonzalez et al. | Reach+ extending the reachability of encountered-type haptics devices through dynamic redirection in vr | |
US8350806B2 (en) | Force/tactile display, method for controlling force/tactile display, and computer program | |
US7353149B2 (en) | Method and apparatus for simulating dynamic contact of objects | |
Ullmann et al. | Intuitive virtual grasping for non haptic environments | |
JP2012208789A5 (zh) | ||
CN113829347B (zh) | 基于物理引擎的机器人控制方法、装置和康复机器人 | |
Jacobs et al. | A generalized god-object method for plausible finger-based interactions in virtual environments | |
CN112847336B (zh) | 动作学习方法、装置、存储介质及电子设备 | |
CN105068679A (zh) | 调整虚拟物件在虚拟空间中位置的方法及装置 | |
US10967505B1 (en) | Determining robot inertial properties | |
Farkhatdinov et al. | Improving mobile robot bilateral teleoperation by introducing variable force feedback gain | |
Bi et al. | Friction modeling and compensation for haptic display based on support vector machine | |
Vozar et al. | Driver modeling for teleoperation with time delay | |
CN111251305A (zh) | 机器人力控制方法、装置、系统、机器人及存储介质 | |
CN114833826B (zh) | 实现机器人碰撞触觉的控制方法、装置以及康复机器人 | |
CN105068653A (zh) | 确定虚拟空间中触摸事件的方法及装置 | |
CN105094327B (zh) | 调整虚拟物件在虚拟空间中姿态角的方法及装置 | |
CN113081666B (zh) | 康复机器人的虚拟限位的方法、装置和康复机器人 | |
CN113843796B (zh) | 数据传输方法及装置、联机机器人的控制方法及装置、联机机器人 | |
CN113829348B (zh) | 基于物理引擎的机器人控制方法、装置和康复机器人 | |
CN114770511B (zh) | 基于物理触觉的机器人控制方法、装置及机器人 | |
CN112632803A (zh) | 跟踪控制方法和装置、电子设备及存储介质 | |
Schneider et al. | Interactive path editor for industrial robots using a 3d-simulation environment | |
Win et al. | Influence of Local Lag on Reaction Force in Networked Virtual Environment with Haptic Sense |
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 |