WO2023051108A1 - 基于物理引擎的机器人控制方法、装置和康复机器人 - Google Patents

基于物理引擎的机器人控制方法、装置和康复机器人 Download PDF

Info

Publication number
WO2023051108A1
WO2023051108A1 PCT/CN2022/114509 CN2022114509W WO2023051108A1 WO 2023051108 A1 WO2023051108 A1 WO 2023051108A1 CN 2022114509 W CN2022114509 W CN 2022114509W WO 2023051108 A1 WO2023051108 A1 WO 2023051108A1
Authority
WO
WIPO (PCT)
Prior art keywords
current
robot
motion information
resultant force
parameter
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.)
Ceased
Application number
PCT/CN2022/114509
Other languages
English (en)
French (fr)
Inventor
陈鑫
顾捷
沈建忠
丁立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Fourier Intelligence Co Ltd
Original Assignee
Shanghai Fourier Intelligence Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Fourier Intelligence Co Ltd filed Critical Shanghai Fourier Intelligence Co Ltd
Priority to EP22874500.6A priority Critical patent/EP4239424B1/en
Publication of WO2023051108A1 publication Critical patent/WO2023051108A1/zh
Priority to US18/326,943 priority patent/US12384025B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1602Program controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1602Program controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL 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/00Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
    • A61H1/02Stretching or bending or torsioning apparatus for exercising
    • A61H1/0237Stretching or bending or torsioning apparatus for exercising for the lower limbs
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL 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/00Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
    • A61H1/02Stretching or bending or torsioning apparatus for exercising
    • A61H1/0274Stretching or bending or torsioning apparatus for exercising for the upper limbs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • B25J9/1633Program controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1661Program controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/016Input arrangements with force or tactile feedback as computer generated output to the user
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL 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/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/12Driving means
    • A61H2201/1207Driving means with electric or magnetic drive
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL 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/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/16Physical interface with patient
    • A61H2201/1657Movement of interface, i.e. force application means
    • A61H2201/1659Free spatial automatic movement of interface within a working area, e.g. Robot
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL 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/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL 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/00Devices for specific parts of the body
    • A61H2205/06Arms
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL 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/00Devices for specific parts of the body
    • A61H2205/10Leg
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present application relates to the field of robot technology, for example, to a robot control method and device based on a physics engine, and a rehabilitation robot.
  • the physics engine calculates motion, rotation, and collision reactions by assigning realistic physical properties to rigid objects.
  • the physics engine can simulate the motion state of virtual objects in various virtual environments. After combining the physics engine with the robot, the force state and motion state of the virtual object in the virtual environment can be fed back to the user through the robot, so that the user can obtain For a more realistic tactile experience, this solution can be applied to scenarios such as physical training and rehabilitation training.
  • the motion information of the robot can be sent to the physics engine, and the physics will map the motion information of the robot to the motion information of the virtual object in the virtual environment. And based on the motion information of the virtual object and the configuration parameters of the virtual environment, determine the force of the virtual object, and then control the robot according to the force of the virtual object, or, based on the force of the virtual object, determine that the virtual object is in the virtual environment The motion information in the virtual object, and then control the robot motion according to the motion information of the virtual object, so that the user can obtain the tactile experience in the virtual environment and improve the user experience.
  • the virtual environment simulated by the physics engine has certain complexity. If the force of the virtual object in the virtual environment Or a sudden change in the motion state will cause a sudden change in the robot's force or motion state, causing the robot to have a certain impact on the user, which is not conducive to the user's safety.
  • Embodiments of the present application provide a robot control method and device based on a physics engine, and a rehabilitation robot to solve the technical problem in the prior art that controlling a robot based on a virtual object simulated by a physics engine is not conducive to user safety.
  • the robot control method based on the physics engine includes:
  • the current motion information corresponding to the current first resultant force and the current second resultant force; wherein, the current second resultant force is the physical engine according to the previous one of the robot The first resultant force and the previous motion information corresponding to the previous second resultant force of the virtual object are determined, and the current motion information makes the current first resultant force and the current second resultant force tend to be synchronized;
  • the current motion information is fed back to the robot, and the motion of the robot is controlled according to the current motion information.
  • the correspondence between force and motion information includes:
  • F is the difference between the first resultant force and the second resultant force
  • x is the position corresponding to the motion information
  • M corresponds to the inertial parameter difference between the real inertial parameter of the robot and the virtual inertial parameter of the virtual object
  • B corresponds to the real damping parameter of the robot and the virtual damping of the virtual object
  • K is a compensation coefficient for realizing position synchronization between the robot and the virtual object.
  • controlling the motion of the virtual object according to the current motion information, and controlling the motion of the robot according to the current motion information includes:
  • controlling the motion of the virtual object according to the current motion information, and controlling the motion of the robot according to the current motion information includes:
  • controlling the motion of the virtual object according to the current motion information, and controlling the motion of the robot according to the current motion information includes:
  • controlling the motion of the virtual object according to the current motion information, and controlling the motion of the robot according to the current motion information includes:
  • the parameter M is determined in the following manner: obtaining the inertial parameter difference between the real inertial parameter of the robot and the virtual inertial parameter of the virtual object, and determining the inertial parameter difference as the parameter M, Or, obtain the inertia adjustment parameter positively correlated with the Kx term, determine the sum of the inertia parameter difference and the inertia adjustment parameter as the parameter M, or determine the inertia parameter difference and the inertia adjustment parameter The product is determined as the parameter M.
  • the parameter B is determined in the following manner: obtaining a damping parameter difference between the real damping parameter of the robot and the virtual damping parameter of the virtual object, and determining the damping parameter difference as the parameter B, Alternatively, the damping adjustment parameter positively correlated with the Kx term is obtained, and the sum of the damping parameter difference and the damping adjustment parameter is determined as the parameter B, or the damping parameter difference and the damping adjustment parameter The product is determined as the parameter B.
  • the parameter K is determined by obtaining a parameter K positively correlated with the difference F.
  • the physics engine determines the current second resultant force according to the previous motion information corresponding to the previous first resultant force and the previous second resultant force, including: determining the previous motion information of the virtual object according to the previous motion information.
  • a virtual driving force obtain the configuration information of the virtual environment; determine the previous virtual environment of the virtual object in the virtual environment according to the previous second motion information and configuration information of the virtual object in the virtual environment
  • Environmental force determine the resultant force of the previous virtual driving force and the previous virtual environment force as the current second resultant force.
  • the robot control device based on the physics engine includes an obtaining module, a determining module, a first control module and a second control module, wherein the obtaining module is configured to obtain the current first resultant force suffered by the robot, and The current second resultant force experienced by the virtual object in the virtual environment constructed by the physics engine; the determining module is configured to determine the current first resultant force and the current second resultant force corresponding to the current first resultant force and the current second resultant force according to the correspondence between force and motion information current motion information; wherein, the current second resultant force is determined by the physics engine according to the previous motion information corresponding to the previous first resultant force of the robot and the previous second resultant force of the virtual object, the Current motion information makes the current first resultant force and the current second resultant force tend to be synchronized; the first control module is configured to feed back the current motion information to the physics engine, so that the physics engine The current movement information controls the movement of the virtual object; the second control module is configured to feed back the current movement information
  • the physics-engine-based robot control device includes a processor and a memory storing program instructions, and the processor is configured to execute the physics-engine-based robot provided in the foregoing embodiments when executing the program instructions. Control Method.
  • the rehabilitation robot includes the robot control device based on the physics engine provided in the foregoing embodiments.
  • the physical engine-based robot control method, device, and rehabilitation robot provided in the embodiments of the present application can achieve the following technical effects:
  • the current second resultant force of the virtual object is determined by the physics engine according to the previous motion information corresponding to the previous first resultant force of the robot and the previous second resultant force of the virtual object, and then according to the current first resultant force of the robot and the current first resultant force of the virtual object
  • Two joint forces determine the current motion information, and feed back the current motion information to the robot and the physics engine, so that the robot moves according to the current motion information, and the virtual object moves according to the current motion information.
  • the transmission sequence of force and motion information forms a closed loop .
  • FIG. 1 is a schematic diagram of a virtual environment and a virtual object provided by an embodiment of the present application
  • Fig. 2 is a schematic diagram of a robot control method based on a physics engine provided by an embodiment of the present application
  • Fig. 3 is a schematic diagram of a robot control device based on a physics engine provided by an embodiment of the present application
  • Fig. 4 is a schematic diagram of a robot control device based on a physics engine provided by an embodiment of the present application.
  • A/B means: A or B.
  • the physics engine can be regarded as a collection of a series of operation rules. Each operation rule conforms to Newton's three laws. By giving real physical properties to rigid objects to calculate motion, rotation and collision response, the physics engine can simulate various aspects in the real world. The laws governing the motion and interaction of objects. Pre-build the virtual environment in the physics engine and build the virtual objects in the virtual environment.
  • the physical engine can be Havok, NovodeX, Bullet, ODE, TOKMAK, Newton, Simple Physics Engine, etc.
  • the above-mentioned enumeration is only an example of the physical engine, other physical engines in the prior art except the above-mentioned enumeration, Also applies to this application.
  • the physics engine can simulate a variety of virtual environments.
  • the configuration parameters of different virtual environments are different.
  • the configuration parameters are used to determine the properties of each object in the virtual environment, including the physical properties, material properties, geometric properties and object properties of each object in the virtual environment. connection relationship between.
  • the physical properties represent the mass, position, rotation angle, velocity and damping properties of the objects in the virtual environment
  • the material properties represent the material properties of the objects in the virtual environment, such as density, friction coefficient, restitution coefficient, etc.
  • the geometric properties represent the virtual environment
  • the geometry of objects in the virtual environment the connection relationship between objects represents the relationship between objects in the virtual environment.
  • the physics engine can calculate the force of the virtual environment on the virtual object.
  • the force of the virtual environment can include: virtual gravity, virtual gravitation, virtual elasticity, virtual friction, Virtual molecular force, virtual electromagnetic force and virtual nuclear force, etc.
  • the virtual environment force can include: virtual tension, virtual tension, virtual pressure, virtual support force, virtual resistance, virtual centripetal force and virtual restoring force, etc.
  • the effect of force, virtual environment force can include: virtual contact force and virtual non-contact force
  • virtual environment force can include: virtual stress interaction force, virtual electromagnetic interaction force, virtual strong interaction force and virtual weak interactions.
  • the force of the virtual environment in this application may be any one or a combination of the above-mentioned forces.
  • the virtual object moves passively under the action of the virtual environment force, and correspondingly, the virtual object actively moves under the action of the virtual driving force.
  • the virtual ground is a horizontal ground
  • the force driving the virtual object 11 to move along the arrow direction 12 in the figure is the virtual driving force
  • the frictional force exerted by the virtual ground on the virtual object 11 is the effect of the virtual environment force.
  • Fig. 2 is a schematic diagram of a robot control method based on a physics engine provided by an embodiment of the present application.
  • the robot control method based on the physics engine includes:
  • the current first resultant force on the robot here refers to the resultant force on the end of the robot at the current moment.
  • the current first resultant force can be the driving force of the robot, can be the resultant force of the driving force and friction force of the robot, can be the driving force of the robot, friction force and the force applied by the user to the robot (can be set by setting The resultant force obtained by the force sensor of the robot).
  • the current first resultant force of the robot can be expressed by coordinates/vectors in the plane coordinate system; in the case that the end of the robot can move in three-dimensional space, the current first resultant force of the robot
  • the resultant force can be represented by coordinates/vectors in a three-dimensional coordinate system.
  • the current second resultant force on the virtual object in the virtual environment refers to the resultant force on the virtual object in the virtual environment at the current moment.
  • the current second resultant force may be a virtual environment force, or a resultant force of a virtual environment force and a virtual driving force.
  • the current second resultant force of the virtual object can be represented by coordinates/vectors in the plane coordinate system;
  • the resultant force can be represented by the coordinates/vectors of the three-dimensional coordinate system.
  • the coordinate system where the robot is located and the coordinate system where the virtual object is located have a mapping relationship.
  • the above-mentioned current first resultant force and current second resultant force refer to the two resultant forces that have been mapped to the same coordinate system.
  • other parameters in this application such as: current motion information, previous first resultant force, previous second resultant force, virtual environment force, force applied by the user, current first position, current second position, first expected Position, second expected position, current first speed, current second speed, first expected speed, second expected speed, current first motion information, current second motion information, etc., are all mapped to the same coordinate system parameter.
  • the motion information in this application may be one or more of acceleration, velocity, and position.
  • acceleration generally refers to linear acceleration and angular acceleration
  • velocity generally refers to linear velocity and angular velocity
  • position generally refers to spatial position and angle.
  • the motion information here includes two situations: acceleration is linear acceleration, velocity is linear velocity, and position is spatial position; acceleration is angular acceleration, velocity is angular velocity, and position is angle.
  • the corresponding relationship between force and motion information can be determined through a limited number of experiments, for example, the robot moves under the condition of a first resultant force, the virtual object moves under the condition of a second resultant force, the first resultant force and the There is a difference in a second resultant force, and a motion information is determined through a limited number of experiments, and the motion information is fed back to the robot and the physics engine, which has a tendency to synchronize the first resultant force and the second resultant force, that is, to reduce the The effect of the difference between a first resultant force and a second resultant force, and after controlling the movement of the robot according to the movement information, the impact of the robot on the user is within the tolerance range of the user, and the movement information satisfies the above conditions In the case of , it is determined that there is a corresponding relationship between the one first resultant force, the one second resultant force and the piece of motion information.
  • the corresponding relationship between force and motion information can be stored in the database in the form of a corresponding data table; after obtaining the current first resultant force and the current second resultant force, by querying the database, you can Obtain current motion information corresponding to the current first resultant force and the current second resultant force.
  • the correspondence between force and motion information is expressed in the form of a formula.
  • the correspondence between force and motion information includes:
  • F is the difference between the first resultant force and the second resultant force, which can be obtained by subtracting the second resultant force from the first resultant force, and can also be obtained by subtracting the first resultant force from the second resultant force;
  • x is the position corresponding to the motion information; is the speed corresponding to the motion information; is the acceleration corresponding to the motion information,
  • M corresponds to the inertia parameter difference between the real inertial parameter of the robot and the virtual inertial parameter of the virtual object, and B corresponds to the damping parameter difference between the real damping parameter of the robot and the virtual damping parameter of the virtual object ,
  • K is the compensation coefficient for realizing position synchronization between the robot and the virtual object.
  • the above-mentioned corresponding relationship between force and motion information embodied in the formula form can be stored in the storage medium. After obtaining the current first resultant force and the current second resultant force, the corresponding relationship between the above-mentioned formula form and the current first resultant force can be calculated. Current motion information corresponding to the current second resultant force.
  • the difference in inertial parameters between the real inertial parameters of the robot and the virtual inertial parameters of the virtual object can be compensated, and the difference between the real damping parameters of the robot and the virtual damping parameters of the virtual object can be compensated.
  • Compensating for the difference in damping parameters between the robots can reduce the impact of the robot on the user, and make the motion state and force state of the robot and the virtual object more synchronized, which is conducive to improving the user experience.
  • the parameter M is determined in the following manner: obtain the inertial parameter difference between the real inertial parameter of the robot and the virtual inertial parameter of the virtual object, and determine the inertial parameter difference as the parameter M.
  • the real inertial parameters of the robot can be calculated based on the structural parameters of the robot, or the real inertial parameters of the robot can be obtained through experiments.
  • the above parameter M can also be determined directly by experiment.
  • the parameter M can be determined in the following manner: obtain the inertial parameter difference between the real inertial parameter of the robot and the virtual inertial parameter of the virtual object, obtain the inertial adjustment parameter positively correlated with the Kx term, and adjust the inertial parameter difference and the inertial parameter
  • the sum of the parameters is determined as the parameter M, or the product of the inertial parameter difference and the inertial adjustment parameter is determined as the parameter M.
  • the Kx item generates a restoring force between the robot and the virtual object, promotes the position synchronization of the robot and the virtual object, and has the effect of eliminating the position difference.
  • the larger the position difference the greater the restoring force represented by the Kx item. It will cause the robot and the virtual object to move to the same position at a faster speed. On the one hand, it will cause the robot to have a greater impact on the user. On the other hand, it will cause the robot and the virtual object to synchronize to the same position at a faster speed. The latter are separated again under the action of their own inertia or under the action of collision, which eventually causes the robot and the virtual object to shake.
  • the inertial parameters also increase accordingly.
  • the growth rate of the Kx item becomes smaller, which is beneficial to reduce the synchronization between the robot and the virtual object.
  • the synchronization speed at the same position reduces the impact of the robot on the user, and on the other hand, reduces the vibration of the robot.
  • the parameter B is determined in the following manner: obtaining a damping parameter difference between the real damping parameter of the robot and the virtual damping parameter of the virtual object, and determining the damping parameter difference as the parameter B.
  • the real damping parameters of the robot can be calculated from the material properties of the robot, or the real damping parameters of the robot can be obtained through experiments.
  • the above parameter B can also be determined directly by means of experiments.
  • the damping parameter difference between the real damping parameter of the robot and the virtual damping parameter of the virtual object is obtained, and the damping adjustment parameter positively correlated with the Kx term is obtained, and the sum of the damping parameter difference and the damping adjustment parameter is determined as parameter B, Alternatively, the product of the damping parameter difference and the damping adjustment parameter is determined as parameter B.
  • the Kx item generates a restoring force between the robot and the virtual object, promotes the position synchronization of the robot and the virtual object, and has the effect of eliminating the position difference.
  • the larger the position difference the greater the restoring force represented by the Kx item. It will cause the robot and the virtual object to move to the same position at a faster speed. On the one hand, it will cause the robot to have a greater impact on the user. On the other hand, it will cause the robot and the virtual object to synchronize to the same position at a faster speed. The latter are separated again under the action of their own inertia or under the action of collision, which eventually causes the robot and the virtual object to shake.
  • the damping parameter also increases accordingly.
  • the growth rate of the Kx term becomes smaller, which is beneficial to reduce the synchronization between the robot and the virtual object.
  • the synchronization speed at the same position reduces the impact of the robot on the user, and on the other hand, reduces the vibration of the robot.
  • the parameter K is determined by obtaining a parameter K positively correlated with the difference F.
  • the parameter K When the difference F is large, the parameter K is large, the corresponding position in the current motion information will not be too large, the adjustment of the position of the robot and the virtual object will not be too large, and it is not easy for the robot to cause a large impact on the user.
  • the physics engine determines the current second resultant force according to the previous motion information corresponding to the previous first resultant force and the previous second resultant force, including: obtaining configuration information of the virtual environment; determining the previous motion information of the virtual object according to the previous motion information Virtual driving force; determine the previous virtual environment force of the virtual object in the virtual environment according to the previous second motion information and configuration information of the virtual object in the virtual environment; combine the previous virtual driving force and the previous virtual environment force The resultant force is determined as the current second resultant force.
  • the previous motion information corresponding to the previous first resultant force and the previous second resultant force can be determined through the correspondence between the aforementioned force and motion information. Through the above solution, the current second resultant force can be obtained.
  • the step of feeding back the current motion information to the robot is not distinguished from the step of feeding back the current motion information to the physics engine.
  • the current second resultant force of the virtual object is determined by the physics engine according to the previous motion information corresponding to the previous first resultant force of the robot and the previous second resultant force of the virtual object, and then according to the current first resultant force of the robot and the current first resultant force of the virtual object
  • Two joint forces determine the current motion information, and feed back the current motion information to the robot and the physics engine, so that the robot moves according to the current motion information, and the virtual object moves according to the current motion information.
  • the transmission sequence of force and motion information forms a closed loop .
  • controlling the motion of the virtual object according to the current motion information, and controlling the motion of the robot according to the current motion information includes:
  • the aforementioned obtaining of the current second position of the virtual object in the virtual environment determines the difference between the current second position and the position corresponding to the current motion information as the second expected position of the virtual object, so that the current second position follows the first
  • the second desired position can be implemented in the physics engine or in the controller of the robot, which is not specifically limited here.
  • controlling the motion of the virtual object according to the current motion information, and controlling the motion of the robot according to the current motion information may include:
  • the desired position can be implemented in the physics engine or in the controller of the robot, which is not specifically limited here.
  • controlling the motion of the virtual object according to the current motion information, and controlling the motion of the robot according to the current motion information includes: obtaining the current first speed of the robot and the current second speed of the virtual object in the virtual environment; The speed is determined as the first expected speed of the robot, and the current first speed follows the first expected speed; the speed corresponding to the current motion information is determined as the second expected speed of the virtual object, and the current second speed follows the second expected speed.
  • the above-mentioned obtaining the current second speed of the virtual object in the virtual environment, determining the speed corresponding to the current motion information as the second expected speed of the virtual object, and making the virtual second speed follow the second expected speed can be achieved in physical
  • the engine can also be executed in the controller of the robot, which is not specifically limited here.
  • Making the current first speed follow the first desired speed and making the current second speed follow the second desired speed can be realized by using a speed controller in the prior art, and details will not be repeated here.
  • controlling the motion of the virtual object according to the current motion information, and controlling the motion of the robot according to the current motion information may include:
  • the aforementioned obtaining of the current second speed of the virtual object in the virtual environment, and the difference/sum of the speed corresponding to the current motion information and the current second speed are determined as the second desired speed of the virtual object, and the current second The speed following the second expected speed can be implemented in the physics engine or in the controller of the robot, which is not specifically limited here.
  • Making the current first speed follow the first desired speed and making the current second speed follow the second desired speed can be realized by using a speed controller in the prior art, and details will not be repeated here.
  • the difference between the current first speed and the speed corresponding to the current motion information is determined as the first expected speed, and Make the current first speed follow the first expected speed; determine the sum of the current second speed and the speed corresponding to the current motion information as the second expected speed, and make the current second speed follow the second expected speed.
  • the aforementioned difference F is obtained by subtracting the current first resultant force of the robot from the current second resultant force of the virtual object, the sum of the current first speed and the speed corresponding to the current motion information is determined as the first desired speed, and the current The first speed follows the first expected speed; determining the difference between the current second speed and the speed corresponding to the current motion information as the second expected speed, and making the current second speed follow the second expected speed.
  • the robot and the virtual object can be controlled according to the position corresponding to the motion information, the robot and the virtual object can also be controlled according to the speed corresponding to the motion information, or, according to the position and speed corresponding to the motion information, Control the robot and the virtual object, for example, use a position controller and a speed controller to control the robot, and use a position controller and a speed controller to control the virtual object.
  • the robot and the virtual object can also be controlled according to the acceleration corresponding to the current motion information, for example: obtain the current first acceleration of the robot and the current second acceleration of the virtual object in the virtual environment; determine the acceleration corresponding to the current motion information is the first expected acceleration of the robot, making the current first acceleration follow the first expected acceleration; determining the acceleration corresponding to the current motion information as the second expected acceleration of the virtual object, making the current second acceleration follow the second expected acceleration.
  • Fig. 3 is a schematic diagram of a robot control device based on a physics engine provided by an embodiment of the present application.
  • the robot control device based on the physics engine includes: an obtaining module 31, a determining module 32, a first control module 33 and a second control module 34, wherein,
  • the obtaining module 31 is configured to obtain the current first resultant force suffered by the robot, and the current second resultant force suffered by the virtual object in the virtual environment constructed by the physics engine;
  • the determination module 32 is configured to determine the current motion information corresponding to the current first resultant force and the current second resultant force according to the corresponding relationship between force and motion information; wherein, the current second resultant force is the physical engine according to the previous first resultant force and the current second resultant force of the robot. Determined by the previous motion information corresponding to the previous second resultant force of the virtual object, the current motion information makes the current first resultant force and the current second resultant force tend to be synchronized;
  • the first control module 33 is configured to feed back the current motion information to the physics engine, so that the physics engine controls the motion of the virtual object according to the current motion information;
  • the second control module 34 is configured to feed back the current motion information to the robot, and control the motion of the robot according to the current motion information.
  • the correspondence between force and motion information includes:
  • F is the difference between the first resultant force and the second resultant force
  • x is the position corresponding to the motion information
  • M corresponds to the inertia parameter difference between the real inertial parameter of the robot and the virtual inertial parameter of the virtual object
  • B corresponds to the damping parameter difference between the real damping parameter of the robot and the virtual damping parameter of the virtual object
  • K is the compensation coefficient for realizing position synchronization between the robot and the virtual object.
  • the physics engine controls the motion of the virtual object according to the current motion information, including: obtaining the current second position of the virtual object in the virtual environment; determining the difference between the current second position and the position corresponding to the current motion information as the first position of the virtual object Two expected positions, make the current second position follow the second expected position.
  • the second control module includes a first obtaining unit and a first control unit, the first obtaining unit is configured to obtain the current first position of the robot; the first control unit is configured to obtain the current first position and the current motion information The sum of the corresponding positions is determined as the first expected position of the robot, so that the current first position follows the first expected position.
  • the physics engine controls the motion of the virtual object according to the current motion information, including: obtaining the current second position of the virtual object in the virtual environment; determining the sum of the current second position and the position corresponding to the current motion information as the first position of the virtual object Two expected positions, make the current second position follow the second expected position.
  • the second control module includes a first obtaining unit and a second control unit, the first obtaining unit is configured to obtain the current first position of the robot; the second control unit is configured to obtain the current first position and the current motion information The difference between the corresponding positions is determined as the first expected position of the robot, so that the current first position follows the first expected position.
  • the physics engine controls the motion of the virtual object according to the current motion information, including: obtaining the current second speed of the virtual object in the virtual environment, determining the speed corresponding to the current motion information as the second expected speed of the virtual object, and making the current second speed The second speed follows the second desired speed.
  • the second control module includes a second obtaining unit and a third control unit, wherein the second obtaining unit is configured to obtain the current first speed of the robot; the third control unit is configured to obtain the speed corresponding to the current motion information It is determined as the first expected speed of the robot, so that the current first speed follows the first expected speed.
  • the physics engine controls the motion of the virtual object according to the current motion information, including: obtaining the current second speed of the virtual object in the virtual environment; determining the difference/sum of the speed corresponding to the current motion information and the current second speed as the virtual The second desired speed of the object, so that the current second speed follows the second desired speed.
  • the second control module includes a second obtaining unit and a fourth control unit, wherein the second obtaining unit is configured to obtain the current first speed of the robot; the fourth control unit is configured to obtain the speed corresponding to the current motion information
  • the sum/difference with the current first speed is determined as the first expected speed of the robot, so that the current first speed follows the first expected speed.
  • the parameter M is determined in the following manner: obtain the inertial parameter difference between the real inertial parameter of the robot and the virtual inertial parameter of the virtual object, and determine the inertial parameter difference as the parameter M, or obtain a positive correlation with the Kx term Inertia adjustment parameter, the sum of the inertia parameter difference and the inertia adjustment parameter is determined as the parameter M, or the product of the inertia parameter difference and the inertia adjustment parameter is determined as the parameter M.
  • parameter B is determined in the following manner: obtain the damping parameter difference between the real damping parameter of the robot and the virtual damping parameter of the virtual object, and determine the damping parameter difference as parameter B, or obtain a positive correlation with the Kx term
  • the sum of the damping parameter difference and the damping adjustment parameter is determined as the parameter B, or the product of the damping parameter difference and the damping adjustment parameter is determined as the parameter B.
  • the parameter K is determined by obtaining a parameter K positively correlated with the difference F.
  • the physics engine determines the current second resultant force according to the previous motion information corresponding to the previous first resultant force and the previous second resultant force, including: determining the previous virtual driving force of the virtual object according to the previous motion information; obtaining the virtual environment The configuration information of the virtual object; according to the previous second motion information and configuration information of the virtual object in the virtual environment, determine the previous virtual environment force of the virtual object in the virtual environment; combine the previous virtual driving force and the previous virtual environment force The resultant force is determined as the current second resultant force.
  • the physics engine-based robot control device includes a processor and a memory storing program instructions, and the processor is configured to execute the physics engine-based robot control method provided in the foregoing embodiments when executing the program instructions.
  • Fig. 4 is a schematic diagram of a robot control device based on a physics engine provided by an embodiment of the present application. As shown in Figure 4, the robot control device based on the physics engine includes:
  • a processor (processor) 41 and a memory (memory) 42 may also include a communication interface (Communication Interface) 43 and a bus 44. Wherein, the processor 41 , the communication interface 43 , and the memory 42 can communicate with each other through the bus 44 .
  • the communication interface 43 can be used for information transmission.
  • the processor 41 can call the logic instructions in the memory 42 to execute the robot control method based on the physics engine provided in the foregoing embodiments.
  • logic instructions in the memory 42 may be implemented in the form of software functional units and when sold or used as an independent product, may be stored in a computer-readable storage medium.
  • the memory 42 can be used to store software programs and computer-executable programs, such as program instructions/modules corresponding to the methods in the embodiments of the present application.
  • the processor 41 executes functional applications and data processing by running software programs, instructions and modules stored in the memory 42, that is, implements the methods in the foregoing method embodiments.
  • the memory 42 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and at least one application required by a function; the data storage area may store data created according to the use of the terminal device, and the like.
  • the memory 42 may include a high-speed random access memory, and may also include a non-volatile memory.
  • the rehabilitation robot includes the robot control device based on the physics engine provided in the foregoing embodiments.
  • An embodiment of the present application provides a computer-readable storage medium, which stores computer-executable instructions, and the computer-executable instructions are configured to execute the robot control method based on a physics engine provided in the foregoing embodiments.
  • An embodiment of the present application provides a computer program product, the computer program product includes a computer program stored on a computer-readable storage medium, the computer program includes program instructions, and when the program instructions are executed by the computer, the computer is made to execute the information provided in the foregoing embodiments.
  • Robot control method based on physics engine Robot control method based on physics engine.
  • the above-mentioned computer-readable storage medium may be a transitory computer-readable storage medium, or a non-transitory computer-readable storage medium.
  • the technical solutions of the embodiments of the present application can be embodied in the form of software products, which are stored in a storage medium and include one or more instructions to make a computer device (which can be a personal computer, a server, or a network equipment, etc.) to execute all or part of the steps of the methods in the embodiments of the present application.
  • the aforementioned storage medium can be a non-transitory storage medium, including: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk, etc.
  • the term “comprise” and its variants “comprises” and/or comprising (comprising) etc. refer to stated features, integers, steps, operations, elements, and/or The presence of a component does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and/or groupings of these.
  • an element qualified by the statement “comprising a " does not preclude the presence of additional identical elements in the process, method or apparatus comprising the element.
  • what each embodiment focuses on may be the difference from other embodiments, and the same and similar parts of the various embodiments may refer to each other.
  • the relevant part can refer to the description of the method part.
  • the disclosed methods and products can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of units may only be a logical function division.
  • multiple units or components may be combined or may be Integrate into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • a unit described as a separate component may or may not be physically separated, and a component displayed as a unit may or may not be a physical unit, that is, it may be located in one place, or may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to implement this embodiment.
  • each functional unit in the embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • each block in a flowchart or block diagram may represent a module, program segment, or part of code that includes one or more executable instruction.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • Each block in the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented by a dedicated hardware-based system that performs the specified function or action, or can be implemented by dedicated hardware implemented in combination with computer instructions.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Rehabilitation Therapy (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Veterinary Medicine (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Physics & Mathematics (AREA)
  • Epidemiology (AREA)
  • Pain & Pain Management (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Manipulator (AREA)

Abstract

一种基于物理引擎的机器人控制方法,包括:获得机器人所受的当前第一合力,以及物理引擎构建的虚拟环境中的虚拟对象所受的当前第二合力;根据力与运动信息的对应关系,确定与当前第一合力和当前第二合力对应的当前运动信息;其中,当前第二合力是物理引擎根据机器人的前一个第一合力和虚拟对象的前一个第二合力对应的前一个运动信息确定的,当前运动信息使当前第一合力和当前第二合力趋向于同步;将当前运动信息反馈至机器人,根据当前运动信息控制机器人运动。采用该方法可降低机器人对用户的冲击,有利于提高用户安全。还提供了一种基于物理引擎的机器人控制装置和康复机器人。

Description

基于物理引擎的机器人控制方法、装置和康复机器人 技术领域
本申请涉及机器人技术领域,例如涉及一种基于物理引擎的机器人控制方法、装置和康复机器人。
背景技术
物理引擎通过为刚性物体赋予真实的物理属性来计算运动、旋转和碰撞反应。物理引擎可模拟虚拟对象在多种虚拟环境下的运动状态,在将物理引擎与机器人结合后,可将虚拟对象在虚拟环境中的受力状态、运动状态等通过机器人反馈给用户,使用户获得更加真实的触觉体验,该方案可应用于肢体训练、康复训练等场景。
为了将虚拟对象在虚拟环境中的受力状态、运动状态等通过机器人反馈给用户,可将机器人的运动信息发送至物理引擎,物理将机器人的运动信息映射为虚拟环境中虚拟对象的运动信息,并基于虚拟对象的运动信息以及虚拟环境的配置参数,确定虚拟对象的受力情况,再根据虚拟对象的受力情况控制机器人,或者,基于虚拟对象的受力情况,确定出虚拟对象在虚拟环境中的运动信息,再根据虚拟对象的运动信息控制机器人运动,这样,使用户获得虚拟环境中的触觉体验,提高用户的使用体验。
在实现本申请实施例的过程中,发现相关技术中至少存在如下问题:
在根据虚拟对象的受力情况控制机器人运动,或者,在根据虚拟对象的运动信息控制机器人运动的过程中,物理引擎模拟的虚拟环境具有一定的复杂性,如果虚拟对象在虚拟环境中的受力或运动状态发生骤变,会使机器人的受力或运动状态发生骤变,导致机器人对用户产生一定冲击,不利于用户安全。
发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概 括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
本申请实施例提供了一种基于物理引擎的机器人控制方法、装置和康复机器人,以解决现有技术中根据物理引擎模拟的虚拟对象控制机器人的方案不利于用户安全的技术问题。
在一些实施例中,基于物理引擎的机器人控制方法包括:
获得机器人所受的当前第一合力,以及物理引擎构建的虚拟环境中的虚拟对象所受的当前第二合力;
根据力与运动信息的对应关系,确定与所述当前第一合力和所述当前第二合力对应的当前运动信息;其中,所述当前第二合力是所述物理引擎根据所述机器人的前一个第一合力和所述虚拟对象的前一个第二合力对应的前一个运动信息确定的,所述当前运动信息使所述当前第一合力和所述当前第二合力趋向于同步;
将所述当前运动信息反馈至所述物理引擎,使所述物理引擎根据所述当前运动信息控制所述虚拟对象运动;
将所述当前运动信息反馈至所述机器人,根据所述当前运动信息控制机器人运动。
可选地,力与运动信息的对应关系包括:
Figure PCTCN2022114509-appb-000001
其中,F为第一合力与第二合力的差值,x为运动信息对应的位置;
Figure PCTCN2022114509-appb-000002
为运动信息对应的速度;
Figure PCTCN2022114509-appb-000003
为运动信息对应的加速度,M与所述机器人的真实惯性参数与所述虚拟对象的虚拟惯性参数的惯性参数差值相对应,B与所述机器人的真实阻尼参数与所述虚拟对象的虚拟阻尼参数的阻尼参数差值相对应,K为使所述机器人与所述虚拟对象实现位置同步的补偿系数。
可选地,根据所述当前运动信息控制所述虚拟对象运动,根据所述当前运动信息控制所述机器人运动,包括:
获得所述机器人的当前第一位置,以及所述虚拟对象在所述虚拟环境中的当前第二位置;将所述当前第一位置和所述当前运动信息对应的位置之和确定为所述机器人的第一期望位置,使所述当前第一位置跟随所述第一期望位置;将所述当前第二位置和所述当前运动信息对应的位置之差确 定为所述虚拟对象的第二期望位置,使所述当前第二位置跟随所述第二期望位置。
可选地,根据所述当前运动信息控制所述虚拟对象运动,根据所述当前运动信息控制所述机器人运动,包括:
获得所述机器人的当前第一位置,以及所述虚拟对象在虚拟环境中的当前第二位置;将所述当前第一位置和所述当前运动信息对应的位置之差确定为所述机器人的第一期望位置,使所述当前第一位置跟随所述第一期望位置;将所述当前第二位置和所述当前运动信息对应的位置之和确定为所述虚拟对象的第二期望位置,使所述当前第二位置跟随所述第二期望位置。
可选地,根据所述当前运动信息控制所述虚拟对象运动,根据所述当前运动信息控制所述机器人运动,包括:
获得所述机器人的当前第一速度,以及所述虚拟对象在所述虚拟环境中的当前第二速度;将所述当前运动信息对应的速度确定为所述机器人的第一期望速度,使所述当前第一速度跟随所述第一期望速度;将所述当前运动信息对应的速度确定为所述虚拟对象的第二期望速度,使所述当前第二速度跟随所述第二期望速度。
可选地,根据所述当前运动信息控制所述虚拟对象运动,根据所述当前运动信息控制所述机器人运动,包括:
获得所述机器人的当前第一速度,以及所述虚拟对象在所述虚拟环境中的当前第二速度;将所述当前运动信息对应的速度与所述当前第一速度的和/差,确定为所述机器人的第一期望速度,使所述当前第一速度跟随所述第一期望速度;将所述当前运动信息对应的速度与所述当前第二速度的差/和,确定为所述虚拟对象的第二期望速度,使所述当前第二速度跟随所述第二期望速度。
可选地,参数M是通过如下方式确定的:获得所述机器人的真实惯性参数与所述虚拟对象的虚拟惯性参数的惯性参数差值,将所述惯性参数差值确定为所述参数M,或者,获得与Kx项正相关的惯性调整参数,将所述惯性参数差值和所述惯性调整参数之和确定为所述参数M,或者将所述惯性参数差值与所述惯性调整参数的乘积确定为所述参数M。
可选地,参数B是通过如下方式确定的:获得所述机器人的真实阻尼参数与所述虚拟对象的虚拟阻尼参数的阻尼参数差值,将所述阻尼参数差值确定为所述参数B,或者,获得与Kx项正相关的阻尼调整参数,将所述阻尼参数差值和所述阻尼调整参数之和确定为所述参数B,或者将所述阻尼参数差值和所述阻尼调整参数的乘积确定为所述参数B。
可选地,参数K是通过如下方式确定的:获得与所述差值F正相关的参数K。
可选地,所述物理引擎根据前一个第一合力和前一个第二合力对应的前一个运动信息确定所述当前第二合力,包括:根据所述前一个运动信息确定所述虚拟对象的前一个虚拟驱动力;获得所述虚拟环境的配置信息;根据所述虚拟对象在所述虚拟环境中的前一个第二运动信息和配置信息确定所述虚拟对象在所述虚拟环境中的前一个虚拟环境作用力;将所述前一个虚拟驱动力和所述前一个虚拟环境作用力的合力,确定为所述当前第二合力。
在一些实施例中,基于物理引擎的机器人控制装置包括获得模块、确定模块、第一控制模块和第二控制模块,其中,所述获得模块被配置为获得机器人所受的当前第一合力,以及物理引擎构建的虚拟环境中的虚拟对象所受的当前第二合力;所述确定模块被配置为根据力与运动信息的对应关系,确定与所述当前第一合力和所述当前第二合力对应的当前运动信息;其中,所述当前第二合力是所述物理引擎根据所述机器人的前一个第一合力和所述虚拟对象的前一个第二合力对应的前一个运动信息确定的,所述当前运动信息使所述当前第一合力和所述当前第二合力趋向于同步;所述第一控制模块被配置为将所述当前运动信息反馈至所述物理引擎,使所述物理引擎根据所述当前运动信息控制所述虚拟对象运动;所述第二控制模块被配置为将所述当前运动信息反馈至所述机器人,根据所述当前运动信息控制所述机器人运动。
在一些实施例中,基于物理引擎的机器人控制装置包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行前述实施例提供的基于物理引擎的机器人控制方法。
在一些实施例中,康复机器人包括前述实施例提供的基于物理引擎的 机器人控制装置。
本申请实施例提供的基于物理引擎的机器人控制方法、装置和康复机器人,可以实现以下技术效果:
虚拟对象的当前第二合力是物理引擎根据机器人的前一个第一合力和虚拟对象的前一个第二合力对应的前一个运动信息确定的,再根据机器人的当前第一合力以及虚拟对象的当前第二合力确定当前运动信息,将当前运动信息反馈至机器人以及物理引擎,使机器人根据当前运动信息运动,虚拟对象根据当前运动信息运动,在上述控制过程中,力与运动信息的传输顺序构成一个闭环。按照这样的力与运动信息传输顺序,在虚拟对象的所受的虚拟环境作用力骤变后,当前第二合力骤变;根据当前第一合力和当前第二合力确定出的当前运动信息具有使机器人和虚拟对象同步受力的作用,这样,在当前第二合力骤变后,为了使机器人和虚拟对象受力同步,当前运动信息可以不骤变,这样,机器人的运动状态可以不骤变,减少了机器人对用户的冲击,有利于提高用户安全。
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
附图说明
一个或一个以上实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件视为类似的元件,并且其中:
图1是本申请实施例提供的一种虚拟环境以及虚拟对象的示意图;
图2是本申请实施例提供的一种基于物理引擎的机器人控制方法的示意图;
图3是本申请实施例提供的一种基于物理引擎的机器人控制装置的示意图;
图4是本申请实施例提供的一种基于物理引擎的机器人控制装置的示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
除非另有说明,术语“多个”表示两个以上。
本申请实施例中,字符“/”表示前后对象是一种“或”的关系。例如,A/B表示:A或B。
物理引擎可以看成是一系列运算规则的集合,各运算规则符合牛顿三大定律,通过为刚性物体赋予真实的物理属性来计算运动、旋转和碰撞反应,在物理引擎中可以模拟真实世界中各种物体运动以及相互作用的规律。预先在物理引擎中构建虚拟环境,并在虚拟环境中构建虚拟对象。物理引擎可以是Havok、NovodeX、Bullet、ODE、TOKMAK、Newton、Simple Physics Engine等,当然,上述列举仅对物理引擎进行示例性说明,除上述列举的之外的现有技术中的其他物理引擎,也适用于本申请。
物理引擎可模拟多种场景的虚拟环境,不同虚拟环境的配置参数不同,配置参数用于确定虚拟环境中各物体的性质,包括虚拟环境中各物体的:物理属性、材料属性、几何属性以及物体之间的连接关系。其中,物理属性表示虚拟环境中物体的质量、位置、旋转角度、速度和阻尼等性质;材料属性表示虚拟环境中物体的材质特性,例如,密度、摩擦系数、恢复系数等;几何属性表示虚拟环境中物体的几何形状;物体之间的连接关系则表示了虚拟环境中物体之间的关联关系。
物理引擎在模拟虚拟环境以及虚拟对象之后,能够计算出虚拟环境对虚拟对象的虚拟环境作用力,根据力的性质,虚拟环境作用力可包括:虚 拟重力、虚拟万有引力、虚拟弹力、虚拟摩擦力、虚拟分子力、虚拟电磁力和虚拟核力等;根据力的效果,虚拟环境作用力可包括:虚拟拉力、虚拟张力、虚拟压力、虚拟支持力、虚拟阻力、虚拟向心力和虚拟回复力等;根据力的效果,虚拟环境作用力可包括:虚拟接触力和虚拟非接触力;根据力的相互作用,虚拟环境作用力可包括:虚拟应力相互作用力、虚拟电磁相互作用力、虚拟强相互作用力和虚拟弱相互作用力。
根据具体的虚拟环境的不同,本申请中的虚拟环境作用力可以上述任意一种或多种力的合力。
虚拟对象在虚拟环境作用力的作用下被动运动,相对应地,虚拟对象在虚拟驱动力的作用下主动运动。在如图1所示的虚拟场景中,虚拟地面为水平地面,驱动虚拟对象11沿图示箭头方向12移动的力为虚拟驱动力,虚拟地面对虚拟对象11施加的摩擦力为虚拟环境作用力。(在虚拟对象1与障碍物13碰撞的场景中,障碍物13对虚拟对象11施加的力也为虚拟环境作用力,图中未示出碰撞场景)
图2是本申请实施例提供的一种基于物理引擎的机器人控制方法的示意图。
结合图2所示,基于物理引擎的机器人控制方法包括:
S201、获得机器人所受的当前第一合力,以及物理引擎构建的虚拟环境中的虚拟对象所受的当前第二合力。
这里的机器人所受的当前第一合力,指的是当前时刻机器人的末端所受的合力。在具体应用中,该当前第一合力可以是机器人的驱动力,可以是机器人的驱动力以及摩擦力的合力,可以是机器人的驱动力、摩擦力以及用户对机器人施加的作用力(可通过设置在机器人的力传感器获得)的合力。
在机器人的末端可在平面内运动的情况下,机器人的当前第一合力可以用平面坐标系内的坐标/向量来表示;在机器人的末端可在三维空间运动的情况下,机器人的当前第一合力可用三维坐标系的坐标/向量来表示。
虚拟对象在虚拟环境中所受的当前第二合力,指的是当前时刻虚拟对象在虚拟环境所受的合力。在具体应用中,该当前第二合力可以是虚拟环境作用力,可以是虚拟环境作用力和虚拟驱动力的合力。
在虚拟对象可在平面内运动的情况下,虚拟对象的当前第二合力可以用平面坐标系内的坐标/向量了表示;在虚拟对象可在三维控制键运动的情况下,虚拟对象的当前第二合力可以用三维坐标系的坐标/向量来表示。
机器人所在的坐标系和虚拟对象所在的坐标系具有映射关系,上述当前第一合力以及当前第二合力,指的是已经映射到同一个坐标系中的两个合力。另外,本申请中其他参数,例如:当前运动信息、前一个第一合力、前一个第二合力、虚拟环境作用力、用户施加的作用力、当前第一位置、当前第二位置、第一期望位置、第二期望位置、当前第一速度、当前第二速度、第一期望速度、第二期望速度、当前第一运动信息、当前第二运动信息等,均为已映射至同一坐标系中的参数。
S202、根据力与运动信息的对应关系,确定与当前第一合力和当前第二合力对应的当前运动信息;其中,当前第二合力是物理引擎根据机器人的前一个第一合力和虚拟对象的前一个第二合力对应的前一个运动信息确定的。
本申请中的运动信息可以是加速度、速度以及位置中一个或多个。本申请中的加速度泛指线加速度和角加速度,速度泛指线速度和角速度,位置泛指空间位置和角度。这里的运动信息包括两种情况:加速度为线加速度,速度为线速度,位置为空间位置;加速度为角加速度,速度为角速度,位置为角度。
力与运动信息的对应关系,可通过有限次试验的方式确定,例如机器人在受一个第一合力的情况下运动,虚拟对象在受一个第二合力的情况下运动,该一个第一合力和该一个第二合力存在差值,通过有限次试验,确定一个运动信息,该一个运动信息反馈至机器人和物理引擎,具有使该一个第一合力和该一个第二合力同步的趋势,即具有降低该一个第一合力和该一个第二合力的差值的作用,并且,该根据该一个运动信息控制机器人运动后,机器人对用户产生的冲击在用户承受范围之内,在该一个运动信息满足上述条件的情况下,确定该一个第一合力、该一个第二合力以及该一个运动信息之间具有对应关系。在确定力与运动信息的对应关系之后,可将力与运动信息的对应关系以对应数据表的形式存储在数据库中;在获得当前第一合力以及当前第二合力之后,通过查询数据库,即可获得与当 前第一合力和当前第二合力对应的当前运动信息。
或者,力与运动信息的对应关系,是以公式的形式体现的,例如,力与运动信息的对应关系包括:
Figure PCTCN2022114509-appb-000004
其中,F为第一合力与第二合力的差值,可通过第一合力减去第二合力获得,还可通过第二合力减去第一合力获得;x为运动信息对应的位置;
Figure PCTCN2022114509-appb-000005
为运动信息对应的速度;
Figure PCTCN2022114509-appb-000006
为运动信息对应的加速度,M与机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值相对应,B与机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值相对应,K为使机器人与虚拟对象实现位置同步的补偿系数。
可将上述以公式形式体现的力与运动信息的对应关系存储在存储介质中,在获得当前第一合力和当前第二合力之后,即可按照上述公式形式的对应关系计算出与当前第一合力和当前第二合力对应的当前运动信息。
另外,采用上述力与运动信息的对应关系,可对机器人的真实惯性参数与虚拟对象的虚拟惯性参数之间的惯性参数差值进行补偿,对机器人的真实阻尼参数和虚拟对象的虚拟阻尼参数之间的阻尼参数差值进行补偿,可在减少机器人对用户的冲击的基础上,使机器人与虚拟对象的运动状态和受力状态更加同步,有利于提高用户的使用体验。
可选地,参数M是通过如下方式确定的:获得机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值,将惯性参数差值确定为参数M。
可基于机器人的结构参数,计算出机器人的真实惯性参数,或者,可通过试验的方式获得机器人的真实惯性参数。
在一些具体应用中,还可直接采用试验的方式确定上述参数M。
再进一步地,参数M可通过如下方式确定:获得机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值,获得与Kx项正相关的惯性调整参数,将惯性参数差值和惯性调整参数之和确定为参数M,或者将惯性参数差值与惯性调整参数的乘积确定为参数M。
在当前第一合力和当前第二合力存在差值的情况下,机器人的当前第一位置与虚拟对象的当前第二位置之间容易存在位置差值,在将当前运动信息对应的位置反馈至机器人和虚拟对象后,不仅具有使当前第一合力和 当前第二合力趋向于同步的作用,还会使机器人的当前第一位置和虚拟对象的当前第二位置趋向于同步。
具体地,Kx项使机器人和虚拟对象之间产生回复力,促使机器人和虚拟对象的位置同步,具有消除该位置差值的作用,位置差值越大,Kx项所表示的回复力越大,将会导致机器人和虚拟对象以较快的速度至相同位置,一方面会导致机器人对用户的冲击较大,另一方面导致机器人和虚拟对象均以较快的速度同步至相同位置,会导致二者在各自惯性的作用下或在碰撞作用下再次分离,最终导致机器人和虚拟对象产生抖动。
采用上述技术方案,在Kx项增大后,惯性参数也随之增大,这样,随着当前运动信息中位置的增大,Kx项的增长速度变小,有利于降低机器人和虚拟对象同步至相同位置的同步速度,一方面减少机器人对用户的冲击,另一方面还可减少机器人的抖动。
可选地,参数B是通过如下方式确定的:获得机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值,将阻尼参数差值确定为参数B。可通过机器人的材料属性等计算出机器人的真实阻尼参数,或者,可通过试验的方式获得机器人的真实阻尼参数。
在一些具体应用中,还可直接采用试验的方式确定上述参数B。
再进一步地,获得机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值,获得与Kx项正相关的阻尼调整参数,将阻尼参数差值和阻尼调整参数之和确定为参数B,或者将阻尼参数差值和阻尼调整参数的乘积确定为参数B。
在当前第一合力和当前第二合力存在差值的情况下,机器人的当前第一位置与虚拟对象的当前第二位置之间容易存在位置差值,在将当前运动信息对应的位置反馈至机器人和虚拟对象后,不仅具有使当前第一合力和当前第二合力趋向于同步的作用,还会使机器人的当前第一位置和虚拟对象的当前第二位置趋向于同步。
具体地,Kx项使机器人和虚拟对象之间产生回复力,促使机器人和虚拟对象的位置同步,具有消除该位置差值的作用,位置差值越大,Kx项所表示的回复力越大,将会导致机器人和虚拟对象以较快的速度至相同位置,一方面会导致机器人对用户的冲击较大,另一方面导致机器人和虚拟对象 均以较快的速度同步至相同位置,会导致二者在各自惯性的作用下或在碰撞作用下再次分离,最终导致机器人和虚拟对象产生抖动。
采用上述技术方案,在Kx项增大后,阻尼参数也随之增大,这样,随着当前运动信息中位置的增大,Kx项的增长速度变小,有利于降低机器人和虚拟对象同步至相同位置的同步速度,一方面减少机器人对用户的冲击,另一方面还可减少机器人的抖动。
可选地,参数K是通过如下方式确定的:获得与差值F正相关的参数K。
上述参数K越小,机器人和虚拟对象越容易实现位置同步;上述参数K越大,机器人和虚拟对象越不容易实现位置同步。参数K越大,在当前第一合力和当前第二合力的差值不变的情况下,当前位置信息中的位置越小,对机器人以及虚拟对象的位置调整力度越小,越不容易使机器人和虚拟对象实现位置同步;参数K越小,当前位置信息中的位置越大,对机器人以及虚拟对象的位置调整力度越大,越容易使机器人和虚拟对象实现位置同步。在差值F较大的情况下,参数K较大,当前运动信息中对应的位置不会过大,对机器人以及虚拟对象的位置调整力度不会过大,不容易使机器人对用户产生较大的冲击;在差值F较小的情况下,参数K小,对机器人以及虚拟对象的位置调整力度不会过小,有利于使机器人以及虚拟对象实现位置同步。
可选地,物理引擎根据前一个第一合力和前一个第二合力对应的前一个运动信息确定当前第二合力,包括:获得虚拟环境的配置信息;根据前一个运动信息确定虚拟对象的前一个虚拟驱动力;根据虚拟对象在虚拟环境中的前一个第二运动信息和配置信息确定虚拟对象在虚拟环境中的前一个虚拟环境作用力;将前一个虚拟驱动力和前一个虚拟环境作用力的合力,确定为当前第二合力。
可通过前述力与运动信息的对应关系,确定前一个第一合力和前一个第二合力对应的前一个运动信息。通过上述方案,即可获得当前第二合力。
S203、将当前运动信息反馈至物理引擎,使物理引擎根据当前运动信息控制虚拟对象运动。
S204、将当前运动信息反馈至机器人,根据当前运动信息控制机器人 运动。
将当前运动信息反馈至机器人的步骤,与将当前运动信息反馈至物理引擎的步骤不区分先后。
虚拟对象的当前第二合力是物理引擎根据机器人的前一个第一合力和虚拟对象的前一个第二合力对应的前一个运动信息确定的,再根据机器人的当前第一合力以及虚拟对象的当前第二合力确定当前运动信息,将当前运动信息反馈至机器人以及物理引擎,使机器人根据当前运动信息运动,虚拟对象根据当前运动信息运动,在上述控制过程中,力与运动信息的传输顺序构成一个闭环。按照这样的力与运动信息传输顺序,在虚拟对象的所受的虚拟环境作用力骤变后,当前第二合力骤变;根据当前第一合力和当前第二合力确定出的当前运动信息具有使机器人和虚拟对象同步受力的作用,这样,在当前第二合力骤变后,为了使机器人和虚拟对象受力同步,当前运动信息可以不骤变,这样,机器人的运动状态可以不骤变,减少了机器人对用户的冲击,有利于提高用户安全。
可选地,根据当前运动信息控制虚拟对象运动,根据当前运动信息控制机器人运动,包括:
获得机器人的当前第一位置,以及虚拟对象在虚拟环境中的当前第二位置;将当前第一位置和当前运动信息对应的位置之和确定为机器人的第一期望位置,使当前第一位置跟随第一期望位置;将当前第二位置和当前运动信息对应的位置之差确定为虚拟对象的第二期望位置,使当前第二位置跟随第二期望位置。
其中,上述的获得虚拟对象在虚拟环境中的当前第二位置,将及以当前第二位置和当前运动信息对应的位置之差确定为虚拟对象的第二期望位置,使当前第二位置跟随第二期望位置,可在物理引擎中执行,也可在机器人的控制器中执行,这里不做具体限定。
在以虚拟对象的当前第二合力减去机器人的当前第一合力获得前述差值F的情况下,采用上述技术方案。
使当前第一位置跟随第一期望位置,以及使当前第二位置跟随第二期望位置,可采用现有的位置控制器实现,这里不再一一赘述。
或者,根据当前运动信息控制虚拟对象运动,根据当前运动信息控制 机器人运动,可包括:
获得机器人的当前第一位置,以及虚拟对象在虚拟环境中的当前第二位置;将当前第一位置和当前运动信息对应的位置之差确定为机器人的第一期望位置,使当前第一位置跟随第一期望位置;将当前第二位置和当前运动信息对应的位置之和确定为虚拟对象的第二期望位置,使当前第二位置跟随第二期望位置。
其中,上述的获得虚拟对象在虚拟环境中的当前第二位置,以及将当前第二位置和当前运动信息对应的位置之和确定为虚拟对象的第二期望位置,使当前第二位置跟随第二期望位置,可在物理引擎中执行,也可在机器人的控制器中执行,这里不做具体限定。
在以机器人的当前第一合力减去虚拟引擎的当前第二合力获得前述位置差值F的情况下,采用上述技术方案。
使当前第一位置跟随第一期望位置,以及使当前第二位置跟随第二期望位置,可采用现有的位置控制器实现,这里不再一一赘述。
可选地,根据当前运动信息控制虚拟对象运动,根据当前运动信息控制机器人运动,包括:获得机器人的当前第一速度,以及虚拟对象在虚拟环境中的当前第二速度;将当前运动信息对应的速度确定为机器人的第一期望速度,使当前第一速度跟随第一期望速度;将当前运动信息对应的速度确定为虚拟对象的第二期望速度,使当前第二速度跟随第二期望速度。
其中,上述的获得虚拟对象在虚拟环境中的当前第二速度,将当前运动信息对应的速度确定为虚拟对象的第二期望速度,并使虚拟当前第二速度跟随第二期望速度,可在物理引擎中执行,也可在机器人的控制器中执行,这里不做具体限定。
使当前第一速度跟随第一期望速度,以及使当前第二速度跟随第二期望速度,可采用现有技术中的速度控制器实现,这里不再一一赘述。
在机器人和虚拟对象的速度较低,且对机器人和虚拟对象的速度同步的要求较低的情况下,可采用上述技术方案,例如图1所示的虚拟场景,对机器人和虚拟对象的位置同步要求较高,对机器人和虚拟对象的速度同步要求较低。
或者,根据当前运动信息控制虚拟对象运动,根据当前运动信息控制 机器人运动,可包括:
获得机器人的当前第一速度,以及虚拟对象在虚拟环境中的当前第二速度;将当前第一速度与当前运动信息对应的速度的和/差,确定为机器人的第一期望速度,使当前第一速度跟随第一期望速度;将当前第二速度与当前运动信息对应的速度的差/和,确定为虚拟对象的第二期望速度,使当前第二速度跟随第二期望速度。
其中,上述的获得虚拟对象在虚拟环境中的当前第二速度,以及将当前运动信息对应的速度与当前第二速度的差/和,确定为虚拟对象的第二期望速度,并使当前第二速度跟随第二期望速度,可在物理引擎中执行,也可在机器人的控制器中执行,这里不做具体限定。
使当前第一速度跟随第一期望速度,以及使当前第二速度跟随第二期望速度,可采用现有技术中的速度控制器实现,这里不再一一赘述。
在机器人和虚拟对象的速度较高,且对机器人和虚拟对象的速度同步的要求较高的情况下,可采用上述技术方案。
另外,在以机器人的当前第一合力减去虚拟对象的当前第二合力获得前述差值F的情况下,将当前第一速度与当前运动信息对应的速度的差确定为第一期望速度,并使当前第一速度跟随第一期望速度;将当前第二速度与当前运动信息对应的速度的和确定为第二期望速度,并使当前第二速度跟随第二期望速度。
在以虚拟对象的当前第二合力减去机器人的当前第一合力获得前述差值F的情况下,将当前第一速度与当前运动信息对应的速度的和确定为第一期望速度,并使当前第一速度跟随第一期望速度;将当前第二速度与当前运动信息对应的速度的差确定为第二期望速度,并使当前第二速度跟随第二期望速度。
在一些应用场景中,可根据运动信息对应的位置对机器人以及虚拟对象进行控制,还可根据运动信息对应的速度对机器人以及虚拟对象进行控制,或者,还可根据运动信息对应的位置和速度,对机器人以及虚拟对象进行控制,例如采用位置控制器和速度控制器对机器人进行控制,并采用位置控制器和速度控制器对虚拟对象进行控制。
当然,还可以根据当前运动信息对应的加速度对机器人和虚拟对象进 行控制,例如:获得机器人的当前第一加速度,以及虚拟对象在虚拟环境中的当前第二加速度;将当前运动信息对应的加速度确定为机器人的第一期望加速度,使当前第一加速度跟随第一期望加速度;将当前运动信息对应的加速度确定为虚拟对象的第二期望加速度,使当前第二加速度跟随第二期望加速度。
或者,获得机器人的当前第一加速度,以及虚拟对象在虚拟环境中的当前第二加速度;将当前第一加速度与当前运动信息对应的加速度的和/差,确定为机器人的第一期望加速度,使当前第一加速度跟随第一期望加速度;将当前第二加速度与当前运动信息对应的加速度的差/和,确定为虚拟对象的第二期望加速度,使当前第二加速度跟随第二期望加速度。
加速度的应用场景以及应用条件,可参照速度的应用场景以及应用条件,这里不再一一赘述。
图3是本申请实施例提供的一种基于物理引擎的机器人控制装置的示意图。
结合图3所示,基于物理引擎的机器人控制装置包括:获得模块31、确定模块32、第一控制模块33和第二控制模块34,其中,
获得模块31被配置为获得机器人所受的当前第一合力,以及物理引擎构建的虚拟环境中的虚拟对象所受的当前第二合力;
确定模块32被配置为根据力与运动信息的对应关系,确定与当前第一合力和当前第二合力对应的当前运动信息;其中,当前第二合力是物理引擎根据机器人的前一个第一合力和虚拟对象的前一个第二合力对应的前一个运动信息确定的,当前运动信息使当前第一合力和当前第二合力趋向于同步;
第一控制模块33被配置为将当前运动信息反馈至物理引擎,使物理引擎根据当前运动信息控制虚拟对象运动;
第二控制模块34被配置为将当前运动信息反馈至机器人,根据当前运动信息控制机器人运动。
可选地,力与运动信息的对应关系包括:
Figure PCTCN2022114509-appb-000007
其中,F为第一合力与第二合力的差值,x为运动信息对应的位置;
Figure PCTCN2022114509-appb-000008
为 运动信息对应的速度;
Figure PCTCN2022114509-appb-000009
为运动信息对应的加速度,M与机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值相对应,B与机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值相对应,K为使机器人与虚拟对象实现位置同步的补偿系数。
可选地,物理引擎根据当前运动信息控制虚拟对象运动,包括:获得虚拟对象在虚拟环境中的当前第二位置;将当前第二位置和当前运动信息对应的位置之差确定为虚拟对象的第二期望位置,使当前第二位置跟随第二期望位置。
可选地,第二控制模块包括第一获得单元和第一控制单元,第一获得单元被配置为获得机器人的当前第一位置;第一控制单元被配置为将当前第一位置和当前运动信息对应的位置之和确定为机器人的第一期望位置,使当前第一位置跟随第一期望位置。
可选地,物理引擎根据当前运动信息控制虚拟对象运动,包括:获得虚拟对象在虚拟环境中的当前第二位置;将当前第二位置和当前运动信息对应的位置之和确定为虚拟对象的第二期望位置,使当前第二位置跟随第二期望位置。
可选地,第二控制模块包括第一获得单元和第二控制单元,第一获得单元被配置为获得机器人的当前第一位置;第二控制单元被配置为将当前第一位置和当前运动信息对应的位置之差确定为机器人的第一期望位置,使当前第一位置跟随第一期望位置。
可选地,物理引擎根据当前运动信息控制虚拟对象运动,包括:获得虚拟对象在虚拟环境中的当前第二速度,将当前运动信息对应的速度确定为虚拟对象的第二期望速度,使当前第二速度跟随第二期望速度。
可选地,第二控制模块包括第二获得单元和第三控制单元,其中,第二获得单元被配置为获得机器人的当前第一速度;第三控制单元被配置为将当前运动信息对应的速度确定为机器人的第一期望速度,使当前第一速度跟随第一期望速度。
可选地,物理引擎根据当前运动信息控制虚拟对象运动,包括:获得虚拟对象在虚拟环境中的当前第二速度;将当前运动信息对应的速度与当前第二速度的差/和,确定为虚拟对象的第二期望速度,使当前第二速度跟 随第二期望速度。
可选地,第二控制模块包括第二获得单元和第四控制单元,其中,第二获得单元被配置为获得机器人的当前第一速度;第四控制单元被配置为将当前运动信息对应的速度与当前第一速度的和/差,确定为机器人的第一期望速度,使当前第一速度跟随第一期望速度。
可选地,参数M是通过如下方式确定的:获得机器人的真实惯性参数与虚拟对象的虚拟惯性参数的惯性参数差值,将惯性参数差值确定为参数M,或者,获得与Kx项正相关的惯性调整参数,将惯性参数差值和惯性调整参数之和确定为参数M,或者将惯性参数差值与惯性调整参数的乘积确定为参数M。
可选地,参数B是通过如下方式确定的:获得机器人的真实阻尼参数与虚拟对象的虚拟阻尼参数的阻尼参数差值,将阻尼参数差值确定为参数B,或者,获得与Kx项正相关的阻尼调整参数,将阻尼参数差值和阻尼调整参数之和确定为参数B,或者将阻尼参数差值和阻尼调整参数的乘积确定为参数B。
可选地,参数K是通过如下方式确定的:获得与差值F正相关的参数K。
可选地,物理引擎根据前一个第一合力和前一个第二合力对应的前一个运动信息确定当前第二合力,包括:根据前一个运动信息确定虚拟对象的前一个虚拟驱动力;获得虚拟环境的配置信息;根据虚拟对象在虚拟环境中的前一个第二运动信息和配置信息确定虚拟对象在虚拟环境中的前一个虚拟环境作用力;将前一个虚拟驱动力和前一个虚拟环境作用力的合力,确定为当前第二合力。
在一些实施例中,基于物理引擎的机器人控制装置包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行前述实施例提供的基于物理引擎的机器人控制方法。
图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. 一种基于物理引擎的机器人控制方法,其特征在于,包括:
    获得机器人所受的当前第一合力,以及物理引擎构建的虚拟环境中的虚拟对象所受的当前第二合力;
    根据力与运动信息的对应关系,确定与所述当前第一合力和所述当前第二合力对应的当前运动信息;其中,所述当前第二合力是所述物理引擎根据所述机器人的前一个第一合力和所述虚拟对象的前一个第二合力对应的前一个运动信息确定的,所述当前运动信息使所述当前第一合力和所述当前第二合力趋向于同步;
    将所述当前运动信息反馈至所述物理引擎,使所述物理引擎根据所述当前运动信息控制所述虚拟对象运动;
    将所述当前运动信息反馈至所述机器人,根据所述当前运动信息控制机器人运动。
  2. 根据权利要求1所述的机器人控制方法,其特征在于,力与运动信息的对应关系包括:
    Figure PCTCN2022114509-appb-100001
    其中,F为第一合力与第二合力的差值,x为运动信息对应的位置;
    Figure PCTCN2022114509-appb-100002
    为运动信息对应的速度;
    Figure PCTCN2022114509-appb-100003
    为运动信息对应的加速度,M与所述机器人的真实惯性参数与所述虚拟对象的虚拟惯性参数的惯性参数差值相对应,B与所述机器人的真实阻尼参数与所述虚拟对象的虚拟阻尼参数的阻尼参数差值相对应,K为使所述机器人与所述虚拟对象实现位置同步的补偿系数。
  3. 根据权利要求2所述的机器人控制方法,其特征在于,根据所述当前运动信息控制所述虚拟对象运动,根据所述当前运动信息控制所述机器人运动,包括:
    获得所述机器人的当前第一位置,以及所述虚拟对象在所述虚拟环境中的当前第二位置;将所述当前第一位置和所述当前运动信息对应的位置之和确定为所述机器人的第一期望位置,使所述当前第一位置跟随所述第一期望位置;将所述当前第二位置和所述当前运动信息对应的位置之差确定为所述虚拟对象的第二期望位置,使所述当前第二位置跟随所述第二期望位置;
    或者,
    获得所述机器人的当前第一位置,以及所述虚拟对象在虚拟环境中的当前第二位置;将所述当前第一位置和所述当前运动信息对应的位置之差确定为所述机器人的第一期望位置,使所述当前第一位置跟随所述第一期望位置;将所述当前第二位置和所述当前运动信息对应的位置之和确定为所述虚拟对象的第二期望位置,使所述当前第二位置跟随所述第二期望位置。
  4. 根据权利要求2所述的机器人控制方法,其特征在于,根据所述当前运动信息控制所述虚拟对象运动,根据所述当前运动信息控制所述机器人运动,包括:
    获得所述机器人的当前第一速度,以及所述虚拟对象在所述虚拟环境中的当前第二速度;将所述当前运动信息对应的速度确定为所述机器人的第一期望速度,使所述当前第一速度跟随所述第一期望速度;将所述当前运动信息对应的速度确定为所述虚拟对象的第二期望速度,使所述当前第二速度跟随所述第二期望速度;
    或者,
    获得所述机器人的当前第一速度,以及所述虚拟对象在所述虚拟环境中的当前第二速度;将所述当前运动信息对应的速度与所述当前第一速度的和/差,确定为所述机器人的第一期望速度,使所述当前第一速度跟随所述第一期望速度;将所述当前运动信息对应的速度与所述当前第二速度的差/和,确定为所述虚拟对象的第二期望速度,使所述当前第二速度跟随所述第二期望速度。
  5. 根据权利要求2所述的机器人控制方法,其特征在于,
    参数M是通过如下方式确定的:获得所述机器人的真实惯性参数与所述虚拟对象的虚拟惯性参数的惯性参数差值,将所述惯性参数差值确定为所述参数M,或者,获得与Kx项正相关的惯性调整参数,将所述惯性参数差值和所述惯性调整参数之和确定为所述参数M,或者将所述惯性参数差值与所述惯性调整参数的乘积确定为所述参数M;
    和/或,
    参数B是通过如下方式确定的:获得所述机器人的真实阻尼参数与所述 虚拟对象的虚拟阻尼参数的阻尼参数差值,将所述阻尼参数差值确定为所述参数B,或者,获得与Kx项正相关的阻尼调整参数,将所述阻尼参数差值和所述阻尼调整参数之和确定为所述参数B,或者将所述阻尼参数差值和所述阻尼调整参数的乘积确定为所述参数B。
  6. 根据权利要求2所述的机器人控制方法,其特征在于,参数K是通过如下方式确定的:
    获得与所述差值F正相关的参数K。
  7. 根据权利要求1至6任一项所述的机器人控制方法,其特征在于,所述物理引擎根据前一个第一合力和前一个第二合力对应的前一个运动信息确定所述当前第二合力,包括:
    根据所述前一个运动信息确定所述虚拟对象的前一个虚拟驱动力;
    获得所述虚拟环境的配置信息;
    根据所述虚拟对象在所述虚拟环境中的前一个第二运动信息和配置信息确定所述虚拟对象在所述虚拟环境中的前一个虚拟环境作用力;
    将所述前一个虚拟驱动力和所述前一个虚拟环境作用力的合力,确定为所述当前第二合力。
  8. 一种基于物理引擎的机器人控制装置,其特征在于,包括:
    获得模块,被配置为获得机器人所受的当前第一合力,以及物理引擎构建的虚拟环境中的虚拟对象所受的当前第二合力;
    确定模块,被配置为根据力与运动信息的对应关系,确定与所述当前第一合力和所述当前第二合力对应的当前运动信息;其中,所述当前第二合力是所述物理引擎根据所述机器人的前一个第一合力和所述虚拟对象的前一个第二合力对应的前一个运动信息确定的,所述当前运动信息使所述当前第一合力和所述当前第二合力趋向于同步;
    第一控制模块,被配置为将所述当前运动信息反馈至所述物理引擎,使所述物理引擎根据所述当前运动信息控制所述虚拟对象运动;
    第二控制模块,被配置为将所述当前运动信息反馈至所述机器人,根据所述当前运动信息控制所述机器人运动。
  9. 一种基于物理引擎的机器人控制装置,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在执行所述程序指令时, 执行如权利要求1至7任一项所述的基于物理引擎的机器人控制方法。
  10. 一种康复机器人,其特征在于,包括如权利要求8或9所述的基于物理引擎的机器人控制装置。
PCT/CN2022/114509 2021-09-30 2022-08-24 基于物理引擎的机器人控制方法、装置和康复机器人 Ceased WO2023051108A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22874500.6A EP4239424B1 (en) 2021-09-30 2022-08-24 Robot control method and device based on physical engine and rehabilitation robot
US18/326,943 US12384025B2 (en) 2021-09-30 2023-05-31 Robot control method and device based on physical engine, and rehabilitation robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111163733.3A CN113829347B (zh) 2021-09-30 2021-09-30 基于物理引擎的机器人控制方法、装置和康复机器人
CN202111163733.3 2021-09-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/326,943 Continuation US12384025B2 (en) 2021-09-30 2023-05-31 Robot control method and device based on physical engine, and rehabilitation robot

Publications (1)

Publication Number Publication Date
WO2023051108A1 true WO2023051108A1 (zh) 2023-04-06

Family

ID=78967921

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/114509 Ceased WO2023051108A1 (zh) 2021-09-30 2022-08-24 基于物理引擎的机器人控制方法、装置和康复机器人

Country Status (4)

Country Link
US (1) US12384025B2 (zh)
EP (1) EP4239424B1 (zh)
CN (1) CN113829347B (zh)
WO (1) WO2023051108A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113829347B (zh) * 2021-09-30 2023-08-15 上海傅利叶智能科技有限公司 基于物理引擎的机器人控制方法、装置和康复机器人
CN114770511B (zh) * 2022-05-09 2023-06-23 上海傅利叶智能科技有限公司 基于物理触觉的机器人控制方法、装置及机器人

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107049702A (zh) * 2017-03-29 2017-08-18 东南大学 一种基于虚拟现实的下肢康复训练机器人系统
CN108873875A (zh) * 2017-05-08 2018-11-23 深圳光启合众科技有限公司 机器人转向运动控制方法和装置、机器人、存储介质
US20180339223A1 (en) * 2017-05-23 2018-11-29 Blast Motion Inc. Motion mirroring system that incorporates virtual environment constraints
US10556336B1 (en) * 2017-01-30 2020-02-11 X Development Llc Determining robot inertial properties
CN111338287A (zh) * 2020-03-13 2020-06-26 南方科技大学 机器人运动控制方法、装置、系统、机器人及存储介质
CN112932897A (zh) * 2021-01-28 2021-06-11 上海电气集团股份有限公司 一种康复机器人运动的方法、装置及其康复机器人
CN113829347A (zh) * 2021-09-30 2021-12-24 上海傅利叶智能科技有限公司 基于物理引擎的机器人控制方法、装置和康复机器人

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028593A (en) * 1995-12-01 2000-02-22 Immersion Corporation Method and apparatus for providing simulated physical interactions within computer generated environments
WO2011140704A1 (en) * 2010-05-11 2011-11-17 Abb Research Ltd. Apparatus, method, program and recording medium for robot offline teaching
US12447089B2 (en) * 2013-09-27 2025-10-21 Barrett Technology, Llc Multi-active-axis, non-exoskeletal robotic rehabilitation device
JP5962679B2 (ja) 2014-01-20 2016-08-03 トヨタ自動車株式会社 2足歩行ロボット制御方法及び2足歩行ロボット制御システム
US9643314B2 (en) * 2015-03-04 2017-05-09 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
US10675766B1 (en) * 2017-08-28 2020-06-09 Disney Enterprises, Inc. System for introducing physical experiences into virtual reality (VR) worlds
EP3696794A1 (en) * 2019-02-15 2020-08-19 Virtamed AG Compact haptic mixed reality simulator
CN110292748B (zh) * 2019-07-02 2021-05-04 南方科技大学 双边协调训练系统和控制方法
CN110673631B (zh) * 2019-09-26 2022-05-03 深圳市道通智能航空技术股份有限公司 一种无人机飞行方法、装置和无人机
EP4093579A4 (en) * 2020-01-22 2023-10-18 Abb Schweiz Ag SYSTEM AND METHOD FOR CONTROLLING A ROBOT, ELECTRONIC DEVICE AND COMPUTER READABLE MEDIUM
US11396103B2 (en) * 2020-03-10 2022-07-26 Samsung Electronics Co., Ltd. Method and apparatus for manipulating a tool to control in-grasp sliding of an object held by the tool
IL296337B2 (en) * 2020-03-11 2025-04-01 Zalirian Ltd Automatic device and method for producing facets in an object
CN111251305B (zh) * 2020-03-13 2023-02-07 南方科技大学 机器人力控制方法、装置、系统、机器人及存储介质
US11858141B2 (en) * 2020-07-08 2024-01-02 Ubtech Robotics Corp Ltd Impedance control method, and controller and robot using the same
JP7420015B2 (ja) * 2020-08-27 2024-01-23 オムロン株式会社 制御装置、および制御方法
JP7563117B2 (ja) 2020-10-30 2024-10-08 セイコーエプソン株式会社 ロボット制御方法およびロボットシステム
CN112691002B (zh) * 2021-03-24 2021-06-29 上海傅利叶智能科技有限公司 基于手势交互康复机器人的控制装置和康复机器人
US12053890B2 (en) * 2021-06-03 2024-08-06 Intrinsic Innovation Llc Robotic workspace introspection via force feedback
CN115319762B (zh) 2022-10-18 2023-03-21 上海航天壹亘智能科技有限公司 用于生产线的机器人控制方法、生产线及数控机床

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10556336B1 (en) * 2017-01-30 2020-02-11 X Development Llc Determining robot inertial properties
CN107049702A (zh) * 2017-03-29 2017-08-18 东南大学 一种基于虚拟现实的下肢康复训练机器人系统
CN108873875A (zh) * 2017-05-08 2018-11-23 深圳光启合众科技有限公司 机器人转向运动控制方法和装置、机器人、存储介质
US20180339223A1 (en) * 2017-05-23 2018-11-29 Blast Motion Inc. Motion mirroring system that incorporates virtual environment constraints
CN111338287A (zh) * 2020-03-13 2020-06-26 南方科技大学 机器人运动控制方法、装置、系统、机器人及存储介质
CN112932897A (zh) * 2021-01-28 2021-06-11 上海电气集团股份有限公司 一种康复机器人运动的方法、装置及其康复机器人
CN113829347A (zh) * 2021-09-30 2021-12-24 上海傅利叶智能科技有限公司 基于物理引擎的机器人控制方法、装置和康复机器人

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4239424A4 *

Also Published As

Publication number Publication date
EP4239424B1 (en) 2026-03-18
EP4239424A4 (en) 2024-09-25
EP4239424C0 (en) 2026-03-18
CN113829347B (zh) 2023-08-15
US20230321819A1 (en) 2023-10-12
US12384025B2 (en) 2025-08-12
EP4239424A1 (en) 2023-09-06
CN113829347A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
JP7777572B2 (ja) 3次元空間内の仮想オブジェクトの自動配置
JP7186913B2 (ja) 姿勢および複数のdofコントローラを用いた3d仮想オブジェクトとの相互作用
US10509468B2 (en) Providing fingertip tactile feedback from virtual objects
EP3398030B1 (en) Haptic feedback for non-touch surface interaction
CN108801255B (zh) 用于避免机器人碰撞的方法、装置和系统
JP2017215977A (ja) 触力覚アクチュエータを使用した3次元の動きのシミュレーション
CN110096131A (zh) 触感交互方法、装置、以及触感可穿戴设备
US12384025B2 (en) Robot control method and device based on physical engine, and rehabilitation robot
US6141015A (en) Method and apparatus for determining collision between virtual objects in a virtual space
US11049325B2 (en) Information processing apparatus, information processing method, and program
CN113771043B (zh) 使机器人跟随虚拟对象的控制方法、装置和康复机器人
CN106249883B (zh) 一种数据处理方法及电子设备
CN115502966A (zh) 用于机器人的可变导纳控制方法
CN114833826B (zh) 实现机器人碰撞触觉的控制方法、装置以及康复机器人
TW202217516A (zh) 修改游標位置的方法和系統
CN116051789A (zh) 用于增强现实的方法、装置、设备和存储介质
CN115641392A (zh) 虚拟现实系统的数据处理方法、装置、服务器和介质
CN113829348B (zh) 基于物理引擎的机器人控制方法、装置和康复机器人
CN114770511B (zh) 基于物理触觉的机器人控制方法、装置及机器人
KR101605740B1 (ko) 스마트폰 사용자의 개인화된 동작인식 방법 및 이를 이용한 게임방법
US20200286298A1 (en) Systems and methods for a user interaction proxy
US20260064190A1 (en) Display image generation apparatus and display image generation method
CN113843796B (zh) 数据传输方法及装置、联机机器人的控制方法及装置、联机机器人
Domínguez-Ramírez et al. Constrained lagrangian-based force-position control for haptic guidance
JP2019096207A (ja) フィードバック生成方法、フィードバック生成装置及びフィードバック生成プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22874500

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022874500

Country of ref document: EP

Effective date: 20230601

NENP Non-entry into the national phase

Ref country code: DE

WWG Wipo information: grant in national office

Ref document number: 2022874500

Country of ref document: EP