IP Library Granted Patent US 7,158,112
Granted Patent B2
US 7,158,112 · App. 09/934,739 · Granted Jan 2, 2007

Interactions between simulated objects with force feedback

Assignee: Immersion Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,158,112
App. No.
09/934,739
Granted
Jan 2, 2007
Kind
B2
Abstract

A method and apparatus for providing force feedback to a user operating a human/computer interface device and interacting with a computer-generated simulation. In one aspect, a computer-implemented method simulates the interaction of simulated objects displayed to a user who controls one of the simulated objects manipulating a physical object of an interface device. The position of the simulated object, as provided within the simulation and as displayed, is mapped to the physical position of the user object. This mapping can be broken under conditions that are effective to provide force feedback to the user which imparts a physical sensation corresponding to the interaction of the simulated objects.

Claims (46)

1. Processor-executable code, comprising:

code to determine a trajectory of a first simulated object, the trajectory associated with a prior position of the first object, simulated motion of the first simulated object being associated with motion of a physical object of a computer interface device;

code to simulate a second simulated object configured to impede the simulated motion of the first simulated object when the trajectory of the first simulated object intersects the second simulated object, wherein the code to simulate the second simulated object is associated with motion of a second physical object of a second computer interface device;

code to display a simulated interaction between the first simulated object and the second simulated object; and

code to provide a force feedback via a force feedback mechanism, the force feedback being associated with the simulated interaction of the first simulated object with the second simulated object.

2. The processor-executable code of claim 1 , wherein the code to provide the force feedback includes code to provide a restoring force proportional to a magnitude of a simulated penetration between the first simulated object and the second simulated object.

3. The processor-executable code of claim 2 , wherein the restoring force includes a spring force calculated based on a magnitude of a deviation between a current location of the first simulated object and a location of the first simulated object had the simulated penetration occurred.

4. The processor-executable code of claim 2 , wherein the restoring force calculated based on a magnitude of a deviation between a current location of the first simulated object and a location of the first simulated object had the simulated penetration occurred, the restoring force including a damping force based on a sensed velocity of the physical object.

5. The processor-executable code of claim 2 , wherein the restoring force includes an inertial force corresponding to movement of the second simulated object in response to the simulated interaction between the second simulated object and the first simulated object.

6. The processor-executable code of claim 2 , wherein the code to provide the restoring force includes a component associated with friction between the first simulated object and a simulated spatial environment.

7. The processor-executable code of claim 2 , wherein the code to provide the restoring force includes a weighting factor such that a simulated location L of the first and second simulated objects is output on a display.

8. The processor-executable code of claim 1 , the interface device being a first interface device wherein the code to simulate the motion of the first simulated object is associated with a first processor, and the code to simulate the second object is associated with a second processor the second processor being associated with input from a second interface device, the first processor and the second processor being coupled such that input signals from the first interface device are associated with input signals from the second interface device.

9. The processor executable code of claim 1 , wherein the first computer interface device is configured to be coupled to a first computer, and the second computer interface device is configured to be coupled to a second computer, the second computer configured to communicate with the first computer.

10. A method, comprising:

updating data values associated with a first graphical object based on movement of at least a portion of a first force feedback device;

updating data values associated with a second graphical object based on movement of at least a portion of a second force feedback device;

wherein the first force feedback device is coupled to a first host computer, and the second force feedback device is coupled to a second host computer, wherein the first and second host computer are connected via a network connection;

determining whether the first graphical object has engaged the second graphical object based on a path of the first graphical object associated with a prior position of the first graphical object;

displaying in a graphical environment the first graphical object as remaining engaged with the second graphical object if it is determined that the path of the first graphical object passes through the second graphical object; and

outputting a force feedback signal to at least one actuator of the force feedback device, the force feedback signal being operative to output an opposing force on at least a portion of the force feedback device in a direction approximately opposite to the path of the first graphical object while the first graphical object engages the second graphical object.

11. The method of claim 10 , wherein the opposing force is a restoring spring force.

12. The method of claim 10 , wherein at least a portion of the second graphical object is fixed in location within the graphical environment.

13. The method of claim 10 , wherein the network is the World Wide Web.

14. The method of claim 10 , wherein the outputting the force feedback signal includes outputting a friction force to the first force feedback device when at least a portion of the first force feedback device is moved in a direction corresponding to a direction approximately perpendicular to the path of the first graphical object while the first and second graphical objects are engaged.

15. The method of claim 14 , wherein the opposing force is a restoring spring force, and the friction force has a magnitude associated with a magnitude of the restoring spring force.

16. A method, comprising:

moving a first graphical object in response to movement of at least a portion of a force feedback device;

determining whether the first graphical object has engaged a second graphical object based on path of the first graphical object in the graphical environment, the path determined at least in part by a previous location of the first graphical object; and

providing force feedback via at least one actuator of the force feedback device coupled to a host computer the force feedback including

an opposing force on the force feedback device, the opposing force causing at least a portion of the force feedback device to move in a direction approximately opposite to the path of the first graphical object while the first graphical object is engaged with the second graphical object; and

a friction force on the force feedback device, the friction force causing at least a portion of the force feedback device to move in a direction corresponding to a direction approximately perpendicular to the path of the first graphical object while the first graphical object is engaged with the second graphical object.

17. The method of claim 16 , wherein the opposing force is a spring force, and wherein the friction force has a magnitude associated with a magnitude of the spring force.

18. The method of claim 16 , further comprising:

simulating a rigidity of the second graphical object by displaying the first graphical object as remaining engaged with the second graphical object when the path of the first graphical object passes through the second graphical object.

19. A processor readable medium having processor-executable code stored thereon, the code performing a method comprising:

determining a trajectory of a first simulated object, the trajectory associated with a prior position of the first simulated object, simulated motion of the first simulated object being associated with motion of a physical object of a first computer interface device;

simulating a second simulated object configured to impede the simulated motion of the first simulated object when the trajectory of the first simulated object intersects the second simulated object, the simulated second object associated with motion of a second physical object coupled to a second computer interface device;

displaying a simulated interaction between the first simulated object and the second simulated object; and

providing a force feedback via a force feedback mechanism, the force feedback being associated with the simulated interaction of the first simulated object with the second simulated object.

20. The processor-readable medium of claim 19 , wherein the method further comprises providing a restoring force that is proportional to a magnitude of a simulated penetration of the first simulated object and the second simulated object.

21. The processor-readable medium of claim 20 , wherein the restoring force includes a spring force calculated based on a magnitude of a deviation between a current location of the first simulated object and a location of the first simulated object had the simulated penetration occurred.

22. The processor-readable medium of claim 21 , wherein the calculated based on a magnitude of a deviation between a current location of the first simulated object and a location of the first simulated object had the simulated penetration occurred, the restoring force including a damping force based on a sensed velocity of the physical object.

23. The processor-readable medium of claim 22 , wherein the restoring force includes an inertial force corresponding to movement of the second simulated object in response to the simulated interaction between the second simulated object and the first simulated object.

24. The processor-readable medium of claim 20 , wherein the restoring force includes a component associated with friction between the first simulated object and a simulated spatial environment.

25. The processor-readable medium of claim 20 , wherein the code to provide the restoring force includes a weighting factor such that a simulated location L of the first and second simulated objects is output on a display.

26. The processor-readable medium of claim 19 , the interface device being a first interface device wherein the code to simulate the motion of the first simulated object is associated with a first processor, and the code to simulate the second object is associated with a second processor the second processor being associated with input from a second interface device, the first processor and the second processor being coupled such that input signals from the first interface device are associated with input signals from the second interface device.

Assignments (3)
CHANGE OF NAME Recorded May 18, 2010
From: IMMERSION HUMAN INTERFACE CORPORATION
To: IMMERSION CORPORATION
Reel/Frame 024402/0432 →
MERGER Recorded May 18, 2010
From: IMMERSION CORPORATION
To: IMMERSION CORPORATION DELAWARE D/B/A IMMERSION CORPORATION
Reel/Frame 024402/0497 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2010
From: ROSENBERG, LOUIS B; BRAVE, SCOTT B
To: IMMERSION HUMAN INTERFACE CORPORATION
Reel/Frame 024140/0091 →
Continuity (6)
Continuation 0943365700 · Nov 3, 1999
Continuation 0866408600 · Jun 14, 1996
Continuation In Part 0856628200 · Dec 1, 1995
Continuation In Part 0857160600 · Dec 13, 1995
Provisional Application 6001780300 · May 17, 1996
Related Publication 20020021283A1 · Feb 21, 2002