CN113829348A - 基于物理引擎的机器人控制方法、装置和康复机器人 - Google Patents
基于物理引擎的机器人控制方法、装置和康复机器人 Download PDFInfo
- Publication number
- CN113829348A CN113829348A CN202111163740.3A CN202111163740A CN113829348A CN 113829348 A CN113829348 A CN 113829348A CN 202111163740 A CN202111163740 A CN 202111163740A CN 113829348 A CN113829348 A CN 113829348A
- Authority
- CN
- China
- Prior art keywords
- motion information
- force
- current
- parameter
- robot
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000033001 locomotion Effects 0.000 claims abstract description 318
- 230000007613 environmental effect Effects 0.000 claims abstract description 12
- 230000009471 action Effects 0.000 claims abstract description 9
- 230000000875 corresponding effect Effects 0.000 claims description 125
- 238000013016 damping Methods 0.000 claims description 46
- 230000001133 acceleration Effects 0.000 claims description 38
- 230000002596 correlated effect Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 230000003993 interaction Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 239000013598 vector Substances 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
- 238000011217 control strategy Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method 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
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012546 transfer 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
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H1/00—Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
- A61H1/02—Stretching or bending or torsioning apparatus for exercising
- A61H1/0237—Stretching or bending or torsioning apparatus for exercising for the lower limbs
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H1/00—Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
- A61H1/02—Stretching or bending or torsioning apparatus for exercising
- A61H1/0274—Stretching or bending or torsioning apparatus for exercising for the upper limbs
-
- 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/1628—Programme controls characterised by the control loop
-
- 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
-
- 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/1679—Programme controls characterised by the tasks executed
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2201/00—Characteristics of apparatus not provided for in the preceding codes
- A61H2201/12—Driving means
- A61H2201/1207—Driving means with electric or magnetic drive
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2201/00—Characteristics of apparatus not provided for in the preceding codes
- A61H2201/16—Physical interface with patient
- A61H2201/1657—Movement of interface, i.e. force application means
- A61H2201/1659—Free spatial automatic movement of interface within a working area, e.g. Robot
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2201/00—Characteristics of apparatus not provided for in the preceding codes
- A61H2201/50—Control means thereof
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2205/00—Devices for specific parts of the body
- A61H2205/06—Arms
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61H—PHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
- A61H2205/00—Devices for specific parts of the body
- A61H2205/10—Leg
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Health & Medical Sciences (AREA)
- Mechanical Engineering (AREA)
- Life Sciences & Earth Sciences (AREA)
- Physical Education & Sports Medicine (AREA)
- Veterinary Medicine (AREA)
- Public Health (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Animal Behavior & Ethology (AREA)
- Epidemiology (AREA)
- Pain & Pain Management (AREA)
- Rehabilitation Therapy (AREA)
- Fuzzy Systems (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Manipulator (AREA)
Abstract
本申请涉及机器人技术领域,公开一种基于物理引擎的机器人控制方法。该方法包括:获得机器人的当前第一运动信息,以及物理引擎构建的虚拟环境中的虚拟对象的当前第二运动信息;根据运动信息与力的对应关系,确定与当前第一运动信息和当前第二运动信息对应的当前力;其中,当前第二运动信息是物理引擎根据与前一个第一运动信息和前一个第二运动信息对应的力确定的,当前力使当前第一运动信息和当前第二运动信息趋向于同步;将与当前力对应的第一力反馈至机器人,使机器人在第一力以及环境接触力的作用下运动。采用该基于物理引擎的机器人控制方法可提高用户安全。本申请还公开一种基于物理引擎的机器人控制装置和康复机器人。
Description
技术领域
本申请涉及机器人技术领域,例如涉及一种基于物理引擎的机器人控制方法、装置和康复机器人。
背景技术
物理引擎通过为刚性物体赋予真实的物理属性来计算运动、旋转和碰撞反映。物理引擎可模拟虚拟对象在多种虚拟环境下的运动状态,在将物理引擎与机器人结合后,可将虚拟对象在虚拟环境中的受力状态、运动状态等通过机器人反馈给用户,使用户获得更加真实的触觉体验,该方案可应用于肢体训练、康复训练等场景。
为了将虚拟对象在虚拟环境中的受力状态、运动状态等通过机器人反馈给用户,可将机器人的运动信息发送至物理引擎,物理将机器人的运动信息映射为虚拟环境中虚拟对象的运动信息,并基于虚拟对象的运动信息以及虚拟环境的配置参数,确定虚拟对象的受力情况,再根据虚拟对象的受力情况控制机器人,或者,基于虚拟对象的受力情况,确定出虚拟对象在虚拟环境中的运动信息,再根据虚拟对象的运动信息控制机器人运动,这样,使用户获得虚拟环境中的触觉体验,提高用户的使用体验。
在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
在根据虚拟对象的受力情况控制机器人运动,或者,在根据虚拟对象的运动信息控制机器人运动的过程中,物理引擎模拟的虚拟环境具有一定的复杂性,如果虚拟对象在虚拟环境中的受力或运动状态发生骤变,会使机器人的受力或运动状态发生骤变,导致机器人对用户产生一定冲击,不利于用户安全。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本公开实施例提供了一种基于物理引擎的机器人控制方法、装置和康复机器人,以解决现有技术中根据物理引擎模拟的虚拟对象控制机器人的方案不利于用户安全的技术问题。
在一些实施例中,基于物理引擎的机器人控制方法包括:获得机器人的当前第一运动信息,以及物理引擎构建的虚拟环境中的虚拟对象的当前第二运动信息;根据运动信息与力的对应关系,确定与所述当前第一运动信息和所述当前第二运动信息对应的当前力;其中,所述当前第二运动信息是所述物理引擎根据与前一个第一运动信息和前一个第二运动信息对应的力确定的,所述当前力使所述当前第一运动信息和所述当前第二运动信息趋向于同步;将与所述当前力对应的第一力反馈至所述机器人,使所述机器人在所述第一力以及环境接触力的作用下运动。
可选地,运动信息与力的对应关系,包括:
其中,F为力,x为第一运动信息对应的位置与第二运动信息对应的位置的差值;为第一运动信息对应的速度与第二运动信息对应的速度的差值;为第一运动信息对应的加速度与第二运动信息对应的加速度的差值,M与所述机器人的真实惯性参数与所述虚拟对象的虚拟惯性参数的惯性参数差值相对应,B与所述机器人的真实阻尼参数与所述虚拟对象的虚拟阻尼参数的阻尼参数差值相对应,K为差值x的补偿系数。
可选地,参数M是通过如下方式确定的:获得所述机器人的真实惯性参数与所述虚拟对象的虚拟惯性参数的惯性参数差值,将所述惯性参数差值确定为所述参数M,或者,获得与Kx项正相关的惯性调整参数,将所述惯性参数差值和所述惯性调整参数之和确定为所述参数M,或者将所述惯性参数差值与所述惯性调整参数的乘积确定为所述参数M。
可选地,参数B是通过如下方式确定的:获得所述机器人的真实阻尼参数与所述虚拟对象的虚拟阻尼参数的阻尼参数差值,将所述阻尼参数差值确定为所述参数B,或者,获得与Kx项正相关的阻尼调整参数,将所述阻尼参数差值和所述阻尼调整参数之和确定为所述参数B,或者将所述阻尼参数差值和所述阻尼调整参数的乘积确定为所述参数B。
可选地,与所述当前力对应的第一力是通过如下方式确定的:将所述当前力确定为所述第一力。
可选地,在所述机器人的真实惯性参数小于所述虚拟对象的虚拟惯性参数的情况下,根据参数M对所述当前力进行调整,使调整后的力小于所述当前力;在所述机器人的真实惯性参数大于所述虚拟对象的虚拟惯性参数的情况下,根据参数M对所述当前力进行调整,使调整后的力大于所述当前力;将调整后的力确定为所述第一力。
可选地,所述物理引擎根据前一个第一运动信息和前一个第二运动信息对应的力确定所述当前第二运动信息,包括:获得虚拟环境的配置信息,并根据所述配置信息确定所述虚拟环境对所述虚拟对象的前一个虚拟环境作用力;获得所述前一个第一运动信息和前一个第二运动信息对应的力与所述前一个虚拟环境作用力的前一个虚拟合力;根据所述前一个虚拟合力确定所述虚拟对象的当前第二运动信息。
可选地,第一运动信息包括速度信息/角速度信息;或者,第一运动信息包括位置信息/角度信息;或者,第一运动信息包括加速度信息/角加速度信息。
可选地,基于物理引擎的机器人控制方法还包括:将与所述当前力相对应的第二力反馈至物理引擎,使所述物理引擎根据所述第二力确定所述虚拟对象的下一个第二运动信息。
在一些实施例中,基于物理引擎的机器人控制装置包括获得模块、确定模块和第一控制模块,所述获得模块被配置为获得机器人的当前第一运动信息,以及物理引擎构建的虚拟环境中的虚拟对象的当前第二运动信息;所述确定模块被配置为根据运动信息与力的对应关系,确定与所述当前第一运动信息和所述当前第二运动信息对应的当前力;其中,所述当前第二运动信息是所述物理引擎根据与前一个第一运动信息和前一个第二运动信息对应的力确定的;所述第一控制模块被配置为将与所述当前力对应的第一力反馈至所述机器人,使所述机器人在所述第一力以及环境接触力的作用下运动。
在一些实施例中,基于物理引擎的机器人控制装置包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行前述实施例提供的基于物理引擎的机器人控制方法。
在一些实施例中,康复机器人包括前述实施例提供的基于物理引擎的机器人控制装置。
本公开实施例提供的基于物理引擎的机器人的控制方法、装置和康复机器人,可以实现以下技术效果:
根据机器人的当前第一运动信息和虚拟对象的第二当前运动信息确定出当前力,将当前力反馈至机器人;第二运动信息是物理引擎根据前一个第一运动信息和前一个第二运动信息对应的力确定的,也即意味着,在确定出当前力之后,物理引擎将进一步地根据当前力确定出虚拟对象的下一个第二运动信息。按照上述方式,力与运动信息的传输顺序构成一个闭环。按照上述力与运动信息的传输顺序,机器人所受的第一力对应的当前力,是根据当前第一运动信息和当前第二运动信息确定的,该当前力具有使第一运动信息和第二运动信息同步的作用,根据力与运动的对应关系,虚拟对象的当前第二运动信息产生变化后,为了使当前第一运动信息和当前第二运动信息同步,对机器人或虚拟对象所施加的力可不骤变,这样,即使虚拟对象的当前第二运动信息发生骤变,在使维持机器人与虚拟对象的运动信息同步的前提下,对机器人反馈的第一力可不骤变,减少机器人对用户的冲击,提高用户安全。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或一个以上实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件视为类似的元件,并且其中:
图1是本公开实施例提供的一种基于物理引擎的机器人控制方法的示意图;
图2是本公开实施例提供的一种基于物理引擎的机器人控制装置的示意图;
图3是本公开实施例提供的一种基于物理引擎的机器人控制装置的示意图;
图4是本公开实施例提供的一种基于物理引擎的机器人控制装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个以上。
本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,A和/或B,表示:A或B,或,A和B这三种关系。
物理引擎可以看成是一系列运算规则的集合,各运算规则符合牛顿三大定律,通过为刚性物体赋予真实的物理属性来计算运动、旋转和碰撞反映,在物理引擎中可以模拟真实世界中各种物体运动以及相互作用的规律。预先在物理引擎中构建虚拟环境,并在虚拟环境中构建虚拟对象。物理引擎可以是Havok、NovodeX、Bullet、ODE、TOKMAK、Newton、Simple Physics Engine等,当然,上述列举仅对物理引擎进行示例性说明,除上述列举的之外的现有技术中的其他物理引擎,也适用于本申请。
物理引擎可模拟多种场景的虚拟环境,不同虚拟环境的配置参数不同,配置参数用于确定虚拟环境中各物体的性质,包括虚拟环境中各物体的:物理属性、材料属性、几何属性以及物体之间的连接关系。其中,物理属性表示虚拟环境中物体的质量、位置、旋转角度、速度和阻尼等性质;材料属性表示虚拟环境中物体的材质特性,例如,密度、摩擦系数、恢复系数等;几何属性表示虚拟环境中物体的几何形状;物体之间的连接关系则表示了虚拟环境中物体之间的关联关系。
物理引擎在模拟虚拟环境以及虚拟对象之后,能够计算出虚拟环境对虚拟对象的虚拟环境作用力,根据力的性质,虚拟环境作用力可包括:虚拟重力、虚拟万有引力、虚拟弹力、虚拟摩擦力、虚拟分子力、虚拟电磁力和虚拟核力等;根据力的效果,虚拟环境作用力可包括:虚拟拉力、虚拟张力、虚拟压力、虚拟支持力、虚拟动力、虚拟阻力、虚拟向心力和虚拟回复力等;根据力的效果,虚拟环境作用力可包括:虚拟接触力和虚拟非接触力;根据力的相互作用,虚拟环境作用力可包括:虚拟应力相互作用力、虚拟电磁相互作用力、虚拟强相互作用力和虚拟弱相互作用力。
根据具体的虚拟环境的不同,本申请中的虚拟环境作用力可以上述任意一种或多种力的合力。
图1是本公开实施例提供的一种基于物理引擎的机器人控制方法的示意图。
结合图1所示,基于物理引擎的机器人控制方法包括:
S101、获得机器人的当前第一运动信息,以及物理引擎构建的虚拟环境中的虚拟对象的当前第二运动信息。
这里的机器人的当前第一运动信息指的机器人的末端的当前第一运动信息,在机器人的末端可在平面内运动的情况下,机器人的当前第一运动信息可用平面坐标系的坐标/向量来表示,在机器人的末端可在三维空间内运动的情况下,机器人的当前第一运动信息可用三维坐标系的坐标/向量来表示。
虚拟对象的当前第二运动信息与机器人的当前第一运动信息的属性相同,例如,在机器人的末端可在平面内运动的情况下,虚拟对象的当前第二运动信息可用平面坐标系的坐标/向量来表示,在机器人的末端可在三维空间运动的情况下,虚拟对象的当前第二运动信息可用三维坐标系的坐标/向量来表示。
机器人所在的坐标系与虚拟对象所在的坐标系具有映射关系,上述当前第一运动信息以及当前第二运动信息,指的是已经映射至同一坐标系中的两个运动信息。
再具体地,运动信息可以是位置、速度、加速度、角度、角速度和角加速度中的任意一种或多种,本公开实施例对运动信息的类型不做具体限定,在不同的应用环境中,本领域技术人员可根据实际情况选择合适类型的运动信息,使机器人的第一运动信息和虚拟对象的第二运动信息的类型匹配即可。例如:
在第一运动信息包括位置信息的情况下,第二运动信息也包括位置信息;在第一运动信息包括速度信息的情况下,第二运动信息也包括速度信息;在第一运动信息包括加速度信息的情况下,第二运动信息也包括加速度信息;在第一运动信息包括角度信息的情况下,第二运动信息也包括角度信息;在第一运动信息包括角速度信息的情况下,第二运动信息也包括角速度信息;在第一运动信息包括角加速度信息的情况下,第二运动信息也包括角加速度信息。
第一运动信息指的是机器人的运动信息,按照时间的先后顺序可区分为:前一个第一运动信息、当前第一运动信息以及下一个第一运动信息;第二运动信息指的虚拟对象的运动信息,按照时间的先后顺序可区分为:前一个第二运动信息、当前第二运动信息以及下一个第二运动信息;其中,前一个第一运动信息与前一个第二运动信息在时间上对应,当前第一运动信息和当前第二运动信息在时间上对应,下一个第一运动信息与下一个第二运动信息在时间上对应。
S102、根据运动信息与力的对应关系,确定与当前第一运动信息和当前第二运动信息对应的当前力。
其中,当前第二运动信息是物理引擎根据与前一个第一运动信息和前一个第二运动信息对应的力确定的,当前力使当前第一运动信息和当前第二运动信息趋向于同步,即,当前力具有消除当前第一运动信息和当前第二运动信息的偏差的作用。
运动信息与力的对应关系,可利用有限次试验的方式确定,例如机器人以一个第一运动信息运动,虚拟对象以一个第二运动信息运动,通过有限次试验的方式,确定一个力,使该一个力反馈至机器人以及物理引擎后,具有使该一个第一运动信息和该一个第二运动信息同步的趋势,并且,在将该一个力反馈至机器人之后,使机器人对用户产生的冲击在用户承受范围之内,在该一个力满足上述条件的情况下,确定该一个第一运动信息、该一个第二运动信息和该一个力存在对应关系。在确定运动信息与力的对应关系之后,可将运动信息与力的对应关系存储在数据库中;在获得当前第一运动信息和当前第二运动信息之后,通过查询数据库,即可获得与当前第一运动信息和当前第二运动信息对应的当前力。
或者,运动信息与力的对应关系,是以公式的形式体现的,例如:运动信息与力的对应关系,包括:
其中,F为力,x为第一运动信息对应的位置与第二运动信息对应的位置的差值,可通过第一运动信息对应的位置减去第二运动信息对应的位置获得,或者,可通过第二运动信息对应的位置减去第一运动信息对应的位置获得,这里的位置泛指空间位置和角度;为第一运动信息对应的速度与第二运动信息对应的速度的差值,可通过第一运动信息对应的速度减去第二运动信息对应的速度获得,或者,可通过第二运动信息对应的速度减去第一运动信息对应的速度获得,这里的速度泛指线速度和角速度;为第一运动信息对应的加速度与第二运动信息对应的加速度的差值,可通过第一运动信息对应的加速度减去第二运动信息对应的加速度获得,或者,可通过第二运动信息对应的加速度减去第一运动信息对应的加速度获得,这里的加速度泛指线加速度和角加速度;M与机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值相对应,B与机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值相对应,K为差值x的补偿系数。
将上述以公式形式体现的运动信息与力的对应关系存储在存储介质中,在获得当前第一运动信息以及当前第二运动信息之后,即可按照上述公式形式的对应关系计算出与当前第一运动信息和当前第二运动信息对应的当前力。
在具体应用中,在当前第一运动信息和当前第二运动信息为位置信息的情况下,对当前第一运动信息和当前第二运动信息进行求导运算,即可获得当前第一运动信息对应的速度以及当前第二运动信息对应的速度,再对当前第一运动信息和当前第二运动信息对应的速度进行求导运算,即可获得当前第一运动信息对应的加速度和当前第二运动信息对应的加速度;在当前第一运动信息和当前第二运动信息为速度信息的情况下,对当前第一运动信息和当前第二运动信息进行积分运算,即可获得当前第一运动信息对应的位置和当前第二运动信息对应的位置,对当前第一运动信息和当前第二运动信息进行求导运算,即可获得当前第一运动信息对应的加速度和当前第二运动信息对应的加速度;在当前第一运动信息和当前第二运动信息为加速度信息的情况下,对当前第一运动信息和当前第二运动信息进行积分运算,即可获得当前第一运动信息对应的速度和当前第二运动信息对应的速度,再对当前第一运动信息和当前第二运动信息对应的速度进行积分运算,即可获得当前第一运动信息对应的位置和当前第二运动信息对应的位置。
当然,当前第一运动信息和当前第二运动信息可同时包括位置、速度和加速度中的两个,再通过上述方式计算出位置、速度和加速度中的第三个。或者,当前第一运动信息和当前第二运动信息可同时包括位置、速度和加速度,这样,即可直接按照上述公式进行计算,以获得当前力。
上述位置泛指空间位置和角度,上述速度泛指线速度和角速度,上述加速度泛指线加速度和角加速度。
采用上述运动信息与力的对应关系,可对机器人的真实惯性参数与虚拟对象的虚拟惯性参数之间的惯性参数差值进行补偿,对机器人的真实阻尼参数和虚拟对象的虚拟阻尼参数之间的阻尼参数进行补偿,可在减少机器人对用户的冲击的基础上,使机器人与虚拟对象的运动状态和受力状态更加同步,有利于提高用户的使用体验。
进一步地,参数M可通过如下方式确定:获得机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值,将惯性参数差值确定为参数M。可基于机器人的结构参数,计算出机器人的真实惯性参数,或者,可通过试验的方式获得机器人的真实惯性参数。
在一些具体应用中,还可直接采用试验的方式确定上述参数M。
再进一步地,参数M还可通过如下方式确定:获得机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值,获得与Kx项正相关的惯性调整参数,将惯性参数差值和惯性调整参数之和确定为参数M,或者将惯性参数差值与惯性调整参数的乘积确定为所述参数M。
当前第一运动信息对应的位置与当前第二运动信息对应的位置之间存在位置差值,在上述对应关系中,Kx项使机器人和虚拟对象之间产生回复力,促使机器人和虚拟对象的位置同步,具有消除该位置差值的作用,位置差值越大,Kx项所表示的回复力越大,将会导致当前第一运动信息对应的位置与当前第二运动信息对应的位置以较快的速度至相同位置,一方面会导致机器人对用户的冲击较大,另一方面导致机器人和虚拟对象均以较快的速度同步至相同位置,会导致二者在各自惯性的作用下或在碰撞作用下再次分离,最终导致机器人和虚拟对象产生抖动。
采用上述技术方案,在Kx项增大后,惯性参数也随之增大,这样,随着位置差值的增大,位置差值的消除速度的增长量变小,有利于降低当前第一运动信息对应的位置与当前第二运动信息对应的位置同步至相同位置的速度,一方面减少机器人对用户的冲击,另一方面还可减少机器人的抖动。
对应地,参数B可通过如下方式确定:获得机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值,将阻尼参数差值确定为参数B。可通过机器人的材料属性等计算出机器人的真实阻尼参数,或者,可通过试验的方式获得机器人的真实阻尼参数。
在一些具体应用中,还可直接采用试验的方式确定上述参数B。
再进一步地,参数B还可通过如下方式确定:获得机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值,获得与Kx项正相关的阻尼调整参数,将阻尼参数差值和阻尼调整参数之和确定为参数B,或者将所述阻尼参数差值和所述阻尼调整参数的乘积确定为所述参数B。
当前第一运动信息对应的位置与当前第二运动信息对应的位置之间存在位置差值,在上述对应关系中,Kx项使机器人和虚拟对象之间产生回复力,促使机器人和虚拟对象的位置同步,具有消除该位置差值的作用,位置差值越大,Kx项所表示的回复力越大,将会导致当前第一运动信息对应的位置与当前第二运动信息对应的位置以较快的速度至相同位置,一方面会导致机器人对用户的冲击较大,另一方面导致机器人和虚拟对象均以较快的速度同步至相同位置,会导致二者在各自惯性的作用下或在碰撞作用下再次分离,最终导致机器人和虚拟对象产生抖动。
采用上述技术方案,在Kx项增大后,阻尼参数也随之增大,这样,随着位置差值的增大,位置差值的消除速度的增长量变小,有利于降低当前第一运动信息对应的位置与当前第二运动信息对应的位置同步至相同位置的速度,一方面减少机器人对用户的冲击,另一方面还可减少机器人的抖动。
在上述技术方案中,可仅根据Kx项对参数M进行调整,或者,可仅根据Kx项对参数B进行调整,或者,还可根据Kx项同时对参数M和参数B进行调整。
可选地,物理引擎根据前一个第一运动信息和前一个第二运动信息对应的力确定当前第二运动信息,包括:获得虚拟环境的配置信息,并根据配置信息确定虚拟环境对虚拟对象的前一个虚拟环境作用力;获得前一个第一运动信息和前一个第二运动信息对应的力与前一个虚拟环境作用力的前一个虚拟合力;根据前一个虚拟合力确定虚拟对象的当前第二运动信息。
可通过前述运动信息与力的对应关系,获得前一个第一运动信息和前一个第二运动信息对应的力。根据前一个虚拟合力确定虚拟对象的当前第二运动信息指的是,结合虚拟对象的前一个第二运动信息以及前一个虚拟合力,计算出当前第二运动信息。
S103、将与当前力对应的第一力反馈至机器人,使机器人在第一力以及环境接触力的作用下运动。
在实际应用中,这里的环境接触力主要机器人所受摩擦力以及用户对机器人施加的交互力,其中,用户对机器人施加的交互力可通过设置在机器人的力传感器(例如三维力传感器)检测获得。
机器人在第一力以及环境接触力的作用下运动,可以是机器人在第一力和环境接触力的作用下自由运动,或者,还可以是采取柔顺控制策略对机器人进行控制,获得第一力和利用力传感器检测到的交互力的合力,再根据柔顺控制策略计算出机器人的期望位置,按照期望位置对机器人进行控制。
可选地,与当前力对应的第一力是通过如下方式确定的:将当前力确定为第一力。
或者,与当前力对应的第一力可通过如下方式确定:在机器人的真实惯性参数小于虚拟对象的虚拟惯性参数的情况下,根据参数M对当前力进行调整,使调整后的力小于当前力;在机器人的真实惯性参数大于虚拟对象的虚拟惯性参数的情况下,根据参数M对当前力进行调整,使调整后的力大于当前力;将调整后的力确定为第一力。
根据参数M对当前力进行调整,使调整后的力小于当前力,可包括:获得与参数M正相关的第一调整系数,将当前力与第一调整系数的乘积确定为第一力(第一调整系数小于1),或者,将当前力与第一调整系数的差值确定为第一力。
根据参数M对当前力进行调整,使调整后的力大于当前力,可包括:获得与参数M正相关的第二调整系数,将当前力与第二调整系数的乘积确定为第一力(第二调整系数大于1),或者,将当前力与第二调整系数的加和确定为第一力。
这样,使得第一力更加匹配机器人的真实惯性参数,便于机器人在第一力的作用下达到预期的运动效果。
在具体应用中,不仅将与当前力对应的第一力反馈至机器人,使机器人在第一力以及环境接触力的作用下运动,还将与当前力对应的第二力反馈至物理引擎,使物理引擎根据第二力确定虚拟对象的下一个运动信息。
其中,可先将第一力反馈至第一机器人,再将第二反馈至物理引擎,还可先将第二力反馈至物理引擎,再将第一力反馈至机器人。物理引擎根据第二力确定虚拟对象的下一个运动信息,可包括:物理引擎计算出虚拟环境对虚拟对象的当前虚拟环境作用力,再计算出当前虚拟环境作用力和第二力的当前虚拟合力,再结合虚拟对象的当前第二运动信息,计算出虚拟对象的下一个第二运动信息。
这样,在获得机器人的下一个第一运动信息以及虚拟对象的下一个第二运动信息之后,即可获得与下一个第一运动信息和下一个第二运动信息相对应的下一个力,机器人再在与下一个力相对应的力以及环境接触力下运动,物理引擎再根据与下一个力相对应的力计算出虚拟对象的运动信息,如此往复循环,不再一一赘述。
可选地,与当前力对应的第二力是通过如下方式确定的:将当前力确定为第二力。
或者,与当前力对应的第二力可通过如下方式确定:在机器人的真实惯性参数小于虚拟对象的虚拟惯性参数的情况下,根据参数M对当前力进行调整,使调整后的力大于当前力;在机器人的真实惯性参数大于虚拟对象的虚拟惯性参数的情况下,根据参数M对当前力进行调整,使调整后的力小于当前力;将调整后的力确定为第二力。
根据参数M对当前力进行调整,使调整后的力大于当前力,可包括:获得与参数M正相关的第三调整系数,将当前力与第三调整系数的乘积确定为第二力(第三调整系数大于1),或者,将当前力与第三调整系数的加和确定为第二力。
根据参数M对当前力进行调整,使调整后的力小于当前力,可包括:获得与参数M正相关的第四调整系数,将当前力与第四调整系数的乘积确定为第二力(第四调整系数小于1),或者,将当前力与第四调整系数的差值确定为第二力。
这样,使得第二力更加匹配机器人的真实惯性参数,便于虚拟对象在第二力的作用下达到预期的运动效果。
根据机器人的当前第一运动信息和虚拟对象的第二当前运动信息确定出当前力,将当前力反馈至机器人;第二运动信息是物理引擎根据前一个第一运动信息和前一个第二运动信息对应的力确定的,也即意味着,在确定出当前力之后,物理引擎将进一步地根据当前力确定出虚拟对象的下一个第二运动信息。按照上述方式,力与运动信息的传输顺序构成一个闭环。按照上述力与运动信息的传输顺序,机器人所受的第一力对应的当前力,是根据当前第一运动信息和当前第二运动信息确定的,该当前力具有使第一运动信息和第二运动信息同步的作用,根据力与运动的对应关系,虚拟对象的当前第二运动信息产生变化后,为了使当前第一运动信息和当前第二运动信息同步,对机器人或虚拟对象所施加的力可不骤变,这样,即使虚拟对象的当前第二运动信息发生骤变,在使维持机器人与虚拟对象的运动信息同步的前提下,对机器人反馈的第一力可不骤变,减少机器人对用户的冲击,提高用户安全。
图2是本公开实施例提供的一种基于物理引擎的机器人控制装置的示意图。
结合图2所示,基于物理引擎的机器人控制装置包括:获得模块21、确定模块22和控制模块23,
获得模块21被配置为获得机器人的当前第一运动信息,以及物理引擎构建的虚拟环境中的虚拟对象的当前第二运动信息;
确定模块22被配置为根据运动信息与力的对应关系,确定与当前第一运动信息和当前第二运动信息对应的当前力;其中,当前第二运动信息是物理引擎根据与前一个第一运动信息和前一个第二运动信息对应的力确定的;
第一控制模块23被配置为将与当前力对应的第一力反馈至机器人,使机器人在第一力以及环境接触力的作用下运动。
可选地,运动信息与力的对应关系,包括:
其中,F为力,x为第一运动信息对应的位置与第二运动信息对应的位置的差值;为第一运动信息对应的速度与第二运动信息对应的速度的差值;为第一运动信息对应的加速度与第二运动信息对应的加速度的差值,M与机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值相对应,B与机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值相对应,K为差值x的补偿系数。
可选地,参数M是通过如下方式确定的:获得机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值,将惯性参数差值确定为参数M,或者,获得与Kx项正相关的惯性调整参数,将惯性参数差值和惯性调整参数之和确定为参数M,或者将惯性参数差值与惯性调整参数的乘积确定为参数M。
可选地,参数B是通过如下方式确定的:获得机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值,将阻尼参数差值确定为参数B,或者,获得与Kx项正相关的阻尼调整参数,将阻尼参数差值和阻尼调整参数之和确定为参数B,或者将阻尼参数差值和阻尼调整参数的乘积确定为参数B。
可选地,与当前力对应的第一力是通过如下方式确定的:将当前力确定为第一力。
可选地,与当前力对应的第一力是通过如下方式确定的:在机器人的真实惯性参数小于虚拟对象的虚拟惯性参数的情况下,根据参数M对当前力进行调整,使调整后的力小于当前力;在机器人的真实惯性参数大于虚拟对象的虚拟惯性参数的情况下,根据参数M对当前力进行调整,使调整后的力大于当前力;将调整后的力确定为第一力。
可选地,物理引擎根据前一个第一运动信息和前一个第二运动信息对应的力确定当前第二运动信息,包括:获得虚拟环境的配置信息,并根据配置信息确定虚拟环境对虚拟对象的前一个虚拟环境作用力;获得前一个第一运动信息和前一个第二运动信息对应的力与前一个虚拟环境作用力的前一个虚拟合力;根据前一个虚拟合力确定虚拟对象的当前第二运动信息。
可选地,第一运动信息包括速度信息/角速度信息;或者,第一运动信息包括位置信息/角度信息;或者,第一运动信息包括加速度信息/角加速度信息。
图3是本公开实施例提供的一种基于物理引擎的机器人控制装置的示意图。结合图3所示,基于物理引擎的机器人控制装置还包括第二控制模块24,第二控制模块24被配置为将与当前力相对应的第二力反馈至物理引擎,使物理引擎根据第二力确定虚拟对象的下一个第二运动信息。
在一些实施例中,基于物理引擎的机器人控制装置,包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行前述实施例提供的基于物理引擎的机器人控制方法。
图4是本公开实施例提供的一种基于物理引擎的机器人控制装置的示意图。结合图4所示,基于物理引擎的机器人控制装置包括:
处理器(processor)41和存储器(memory)42,还可以包括通信接口(Communication Interface)43和总线44。其中,处理器41、通信接口43、存储器42可以通过总线44完成相互间的通信。通信接口43可以用于信息传输。处理器41可以调用存储器42中的逻辑指令,以执行前述实施例提供的基于物理引擎的机器人控制方法。
此外,上述的存储器42中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器42作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种康复机器人,包含前述实施例提供的基于物理引擎的机器人控制装置。
本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令设置为执行前述实施例提供的基于物理引擎的机器人控制方法。
本公开实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行前述实施例提供的基于物理引擎的机器人控制方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或一个以上指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例中方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机读取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或一个以上用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (10)
1.一种基于物理引擎的机器人控制方法,其特征在于,包括:
获得机器人的当前第一运动信息,以及物理引擎构建的虚拟环境中的虚拟对象的当前第二运动信息;
根据运动信息与力的对应关系,确定与所述当前第一运动信息和所述当前第二运动信息对应的当前力;其中,所述当前第二运动信息是所述物理引擎根据与前一个第一运动信息和前一个第二运动信息对应的力确定的,所述当前力使所述当前第一运动信息和所述当前第二运动信息趋向于同步;
将与所述当前力对应的第一力反馈至所述机器人,使所述机器人在所述第一力以及环境接触力的作用下运动。
3.根据权利要求2所述的机器人控制方法,其特征在于,
参数M是通过如下方式确定的:获得所述机器人的真实惯性参数与所述虚拟对象的虚拟惯性参数的惯性参数差值,将所述惯性参数差值确定为所述参数M,或者,获得与Kx项正相关的惯性调整参数,将所述惯性参数差值和所述惯性调整参数之和确定为所述参数M,或者将所述惯性参数差值与所述惯性调整参数的乘积确定为所述参数M;
和/或,
参数B是通过如下方式确定的:获得所述机器人的真实阻尼参数与所述虚拟对象的虚拟阻尼参数的阻尼参数差值,将所述阻尼参数差值确定为所述参数B,或者,获得与Kx项正相关的阻尼调整参数,将所述阻尼参数差值和所述阻尼调整参数之和确定为所述参数B,或者将所述阻尼参数差值和所述阻尼调整参数的乘积确定为所述参数B。
4.根据权利要求2所述的机器人控制方法,其特征在于,与所述当前力对应的第一力是通过如下方式确定的:
将所述当前力确定为所述第一力;或者,
在所述机器人的真实惯性参数小于所述虚拟对象的虚拟惯性参数的情况下,根据参数M对所述当前力进行调整,使调整后的力小于所述当前力;在所述机器人的真实惯性参数大于所述虚拟对象的虚拟惯性参数的情况下,根据参数M对所述当前力进行调整,使调整后的力大于所述当前力;将调整后的力确定为所述第一力。
5.根据权利要求1至4任一项所述的机器人控制方法,其特征在于,所述物理引擎根据前一个第一运动信息和前一个第二运动信息对应的力确定所述当前第二运动信息,包括:
获得虚拟环境的配置信息,并根据所述配置信息确定所述虚拟环境对所述虚拟对象的前一个虚拟环境作用力;
获得所述前一个第一运动信息和前一个第二运动信息对应的力与所述前一个虚拟环境作用力的前一个虚拟合力;
根据所述前一个虚拟合力确定所述虚拟对象的当前第二运动信息。
6.根据权利要求1至4任一项所述的机器人控制方法,其特征在于,
第一运动信息包括速度信息/角速度信息;或者,
第一运动信息包括位置信息/角度信息;或者,
第一运动信息包括加速度信息/角加速度信息。
7.根据权利要求1至4任一项所述的机器人控制方法,其特征在于,还包括:
将与所述当前力相对应的第二力反馈至物理引擎,使所述物理引擎根据所述第二力确定所述虚拟对象的下一个第二运动信息。
8.一种基于物理引擎的机器人控制装置,其特征在于,包括:
获得模块,被配置为获得机器人的当前第一运动信息,以及物理引擎构建的虚拟环境中的虚拟对象的当前第二运动信息;
确定模块,被配置为根据运动信息与力的对应关系,确定与所述当前第一运动信息和所述当前第二运动信息对应的当前力;其中,所述当前第二运动信息是所述物理引擎根据与前一个第一运动信息和前一个第二运动信息对应的力确定的;
第一控制模块,被配置为将与所述当前力对应的第一力反馈至所述机器人,使所述机器人在所述第一力以及环境接触力的作用下运动。
9.一种基于物理引擎的机器人控制装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时,执行如权利要求1至7任一项所述的基于物理引擎的机器人控制方法。
10.一种康复机器人,其特征在于,包括如权利要求8或9所述的基于物理引擎的机器人控制装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163740.3A CN113829348B (zh) | 2021-09-30 | 2021-09-30 | 基于物理引擎的机器人控制方法、装置和康复机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111163740.3A CN113829348B (zh) | 2021-09-30 | 2021-09-30 | 基于物理引擎的机器人控制方法、装置和康复机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113829348A true CN113829348A (zh) | 2021-12-24 |
CN113829348B CN113829348B (zh) | 2023-08-15 |
Family
ID=78967923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111163740.3A Active CN113829348B (zh) | 2021-09-30 | 2021-09-30 | 基于物理引擎的机器人控制方法、装置和康复机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113829348B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150375128A1 (en) * | 2014-06-30 | 2015-12-31 | Microsoft Corporation | Controlling physical toys using a physics engine |
WO2019037103A1 (zh) * | 2017-08-25 | 2019-02-28 | 深圳市大疆创新科技有限公司 | 无人机仿真飞行系统、方法、设备及机器可读存储介质 |
CN109693237A (zh) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | 机器人及其弹跳控制方法、装置及计算机可读存储介质 |
CN111251305A (zh) * | 2020-03-13 | 2020-06-09 | 南方科技大学 | 机器人力控制方法、装置、系统、机器人及存储介质 |
CN111338287A (zh) * | 2020-03-13 | 2020-06-26 | 南方科技大学 | 机器人运动控制方法、装置、系统、机器人及存储介质 |
CN112691002A (zh) * | 2021-03-24 | 2021-04-23 | 上海傅利叶智能科技有限公司 | 基于手势交互康复机器人的控制方法、装置和康复机器人 |
-
2021
- 2021-09-30 CN CN202111163740.3A patent/CN113829348B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150375128A1 (en) * | 2014-06-30 | 2015-12-31 | Microsoft Corporation | Controlling physical toys using a physics engine |
WO2019037103A1 (zh) * | 2017-08-25 | 2019-02-28 | 深圳市大疆创新科技有限公司 | 无人机仿真飞行系统、方法、设备及机器可读存储介质 |
CN109693237A (zh) * | 2017-10-23 | 2019-04-30 | 深圳市优必选科技有限公司 | 机器人及其弹跳控制方法、装置及计算机可读存储介质 |
CN111251305A (zh) * | 2020-03-13 | 2020-06-09 | 南方科技大学 | 机器人力控制方法、装置、系统、机器人及存储介质 |
CN111338287A (zh) * | 2020-03-13 | 2020-06-26 | 南方科技大学 | 机器人运动控制方法、装置、系统、机器人及存储介质 |
CN112691002A (zh) * | 2021-03-24 | 2021-04-23 | 上海傅利叶智能科技有限公司 | 基于手势交互康复机器人的控制方法、装置和康复机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN113829348B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gonzalez et al. | Reach+ extending the reachability of encountered-type haptics devices through dynamic redirection in vr | |
EP4239424A1 (en) | Robot control method and device based on physical engine and rehabilitation robot | |
CN113771043B (zh) | 使机器人跟随虚拟对象的控制方法、装置和康复机器人 | |
JP4930100B2 (ja) | 力触覚ディスプレイ、力触覚ディスプレイの制御方法、並びにコンピュータ・プログラム | |
US6141015A (en) | Method and apparatus for determining collision between virtual objects in a virtual space | |
EP2626770B1 (en) | Apparatus, computer program product, and method for controlling vibration transfer between vibration devices | |
US8648797B2 (en) | Information input/output device, information input/output method and computer program | |
Ullmann et al. | Intuitive virtual grasping for non haptic environments | |
US8386213B2 (en) | Device, method and computer program for simulation of collision events between physical objects | |
US20070171194A1 (en) | Workspace expansion controller for human interface systems | |
Xu et al. | Visual-haptic aid teleoperation based on 3-D environment modeling and updating | |
Jacobs et al. | A generalized god-object method for plausible finger-based interactions in virtual environments | |
Miura et al. | Synthesis of motion-reproduction systems based on motion-copying system considering control stiffness | |
Ruspini et al. | Collision/contact models for dynamic simulation and haptic interaction | |
Yajima et al. | Motion-copying system based on velocity information for motion reproduction | |
CN114833826B (zh) | 实现机器人碰撞触觉的控制方法、装置以及康复机器人 | |
Nagatsu et al. | Bilateral control by transmitting force information with application to time-delay systems and human motion reproduction | |
CN113829348A (zh) | 基于物理引擎的机器人控制方法、装置和康复机器人 | |
WO2011140704A1 (en) | Apparatus, method, program and recording medium for robot offline teaching | |
Gonzalez et al. | Smooth transition-based control of encounter-type haptic devices | |
Matsui et al. | Dynamic data reproduction of contact environment with state transition | |
WO2022249649A1 (en) | Object manipulation with collision avoidance using complementarity constraints | |
Yafune et al. | Haptically rendering different switches arranged on a virtual control panel by using an encountered-type haptic device | |
CN113843796B (zh) | 数据传输方法及装置、联机机器人的控制方法及装置、联机机器人 | |
CN114770511B (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 |