Claims
- 1. A computer-implemented method for simulating the spatial interaction of a user-manipulated displayed first simulated object with a displayed second simulated object in a computer-simulated spatial environment, such that the user is provided with force feedback that represents the interaction between the first simulated object and second simulated object, the method comprising the steps of:
a) generating within a computer-simulated spatial environment a first simulated object on a display device, said first simulated object having a simulated location within said simulated spatial environment; b) simulating under computer control the motion of said first simulated object in response to motion of a physical object of an interface device controlled by a user, wherein said physical object has a physical position in a physical environment, and wherein a mapping between said simulated location of said first simulated object and said physical position of said physical object is created such that the physical position of the physical object in the physical environment has a spatial correspondence to the location of said first simulated object in said simulated spatial environment; c) generating within said computer-simulated spatial environment a second simulated object on said display device, said second simulated object defining a set of boundaries in said motion simulation and on said display device; and d) breaking said mapping between said simulated location of first simulated object and said physical position of said physical object when said first simulated object interacts with said second simulated object such that said physical position of said physical object is no longer spatially correlated with said simulated location of said simulated object, said breaking occurring under conditions effective to provide visual feedback and force feedback to said user which are effective to impart to said user a physical sensation that corresponds to a realistic, simulated physical interaction of said first simulated object with said second simulated object.
- 2. The method of claim 1, wherein said physical position of said physical object is mapped to said simulated location of said first simulated object by a position control mapping.
- 3. The method of claim 2, wherein said spatial correspondence includes a scale factor.
- 4. The method of claim 1, wherein said simulated location of said first simulated object includes a displayed location on said display device that is correlated with said simulated position.
- 5. The method of claim 4, wherein said first simulated object interacts with said second simulated object after moving along a trajectory which intersects boundaries of said second simulated object.
- 6. The method of claim 4, wherein said force feedback corresponds to a restoring force having a magnitude that is proportional to an amount that said mapping is broken.
- 7. The method of claim 6, wherein said amount of said breaking of said mapping is proportional to the degree to which said physical position of said physical object exceeds the result of said interaction between said first simulated object and said second simulated object as determined by said simulation.
- 8. The method of claim 7, wherein said restoring force is a spring force having the mathematical form:
- 9. The method of claim 8, wherein said restoring force includes a damping force and said restoring force has the mathematical form:
- 10. The method of claim 8, wherein said restoring force includes an intertial force and said restoring force has the mathematical form:
- 11. The method of claim 10, wherein said inertial force corresponds to the movement of said second simulated object in response to said interaction between said second simulated object and said first simulated object.
- 12. The method of claim 10, wherein said restoring force includes a component resulting from friction between said simulated object and said simulated spatial environment.
- 13. The method of claim 1, wherein said second simulated object can be independently moved within said simulation and on said display device.
- 14. The method of claim 13, wherein said second simulated object is controlled by said computer within said simulation.
- 15. The method of claim 13, wherein user is a first user manipulating a first physical object, and wherein said second simulated object is controlled by a second user manipulating a second physical object of a second interface device.
- 16. The method of claim 13, wherein said wherein said force feedback corresponds to a restoring force having a magnitude that is proportional to a degree that said mapping is broken.
- 17. The method of claim 16, wherein said restoring force is a spring force which is proportional to the degree to which the trajectories of said first and second simulated objects exceed the result of said interaction between said simulated objects as determined by said simulation.
- 18. The method of claim 17, wherein said restoring force is a spring force having the mathematical form:
- 19. The method of claim 18, wherein said restoring force includes a damping force having the mathematical form:
- 20. The method of claim 18, wherein said restoring force is determined, at least in part, utilizing a weighting factor for influencing the location of said first and second simulated objects resulting from said interaction.
- 21. The method of claim 20, wherein the location on said display, L of the simulated objects shown on said display is determined by the equation:
- 22. The method of claim 16, wherein said first simulated object and said second simulated object are displayed at an equilibrium position determined, at least in part, by a position of said first physical object and a position of said second physical object.
- 23. The method of claim 22, wherein said equilibrium position is determined, at least in part, by a position of said first physical object, by a position of said second physical object, and by a weighting factor.
- 24. The method of claim 16, further comprising a step of generating a plurality of simulated objects on said display device and within said simulation, wherein each of said plurality of simulated objects is controlled by one of a plurality of users each using an associated interface device.
- 25. The method of claim 1, wherein said second simulated object is an obstruction object.
- 26. The method of claim 25, wherein a location of said obstruction object cannot change within said simulation.
- 27. The method of claim 1, wherein said first simulated object is a paddle and said second simulated object is a ball object.
- 28. The method of claim 1, wherein said simulated environment is a sporting environment including a playfield.
- 29. A computer system for simulating the spatial interaction of a displayed first simulated object with a displayed second simulated object in a computer-simulated spatial environment such that the user is provided with a force feedback that realistically represents said interaction, comprising:
a processor for executing a simulation including a first simulated object, said simulation being configured to implement the motion of said first simulated object in response to motion of a physical object of an interface device controlled by a user, wherein said physical object has a physical position in a physical environment, and wherein a position control mapping between said simulated location of said first simulated object and said physical position of said physical object is created, said simulation being further configured to generate a second simulated object having boundaries such that said second simulated object impedes the simulated motion of said first simulated object when the trajectory of said first simulated object intersects said boundaries of said second simulated object; a display device for viewing the location and motion of said first simulated object and said second simulated object; and a force feedback mechanism configured to impart to a user of said computer system a physical sensation that corresponds to the simulated physical interaction of said first simulated object with said second simulated object when the trajectory of said first simulated object intersects the boundaries of said second simulated object, wherein said position control mapping between said physical object and said first simulated object is broken during said interaction when providing said physical sensation.
- 30. The computer system of claim 29, wherein said force feedback mechanism is configured to generate a restoring force that is proportional to the magnitude by which said mapping is broken when said first simulated object intersects said boundaries of said second simulated object.
- 31. The computer system of claim 30, wherein said magnitude is proportional to the degree to which said commands, when processed using said simulation, exceed the result of said interaction between said first simulated object and said second simulated object as determined by said simulation.
- 32. The computer system of claim 30, wherein said restoring force is a spring force having the mathematical form:
- 33. The computer system of claim 32, wherein said restoring force includes a damping force and said restoring force has the mathematical form:
- 34. The method of claim 33, wherein said restoring force includes an intertial force corresponding to the movement of said second simulated object in response to said interaction between said second simulated object and said first simulated object and said restoring force has the mathematical form:
- 35. The method of claim 34, wherein said restoring force includes a component resulting from friction between said simulated object and said simulated spatial environment.
- 36. The computer system of claim 30, wherein said second simulated object can be moved within said simulation and on said display device.
- 37. The computer system of claim 36, wherein said second simulated object moves on said display device during said simulation in response to manipulations of a second physical object of a second interface device by said second user, said second interface device being coupled to a second computer system coupled to said computer system through a network interface.
- 38. The computer system of claim 36, wherein said wherein said force feedback corresponds to a restoring force that is proportional to the magnitude of said breaking of said mapping.
- 39. The computer system of claim 38, wherein said restoring force is a spring force which is proportional to the degree to which the trajectories of said first and said second graphical player objects exceed the result of said interaction between said simulated objects as determined by said simulation.
- 40. The computer system of claim 38, wherein said restoring force includes a weighting factor such that the location L on said display device of the simulated objects shown on said display device is determined by the equation:
- 41. The computer system of claim 29, wherein said user interface device is operated manually, and said display device at least partially conceals the interface device from the view of said user such that said user cannot view the user's hands when operating said interface device.
- 42. The computer system of claim 29, further comprising a second visual display device and a second user interface device, and said simulation is configured to generate location and kinematic information about said first simulated object in response to input supplied by both of said user interface devices.
- 43. The computer system of claim 29, wherein said processor is coupled with a second processor executing said simulation, said second processor being responsive to input from a second interface device, said processors being coupled such that said simulations communicate input information from said interface devices.
- 44. An apparatus for allowing a user to naturally interact with a computer-generated spatial sporting simulation, the apparatus comprising:
a processor for implementing a computer-generated spatial sporting simulation, said simulation including a first simulated object and a ball object for interacting with said first simulated object; a display device coupled to said processor for displaying said first simulated object; and a force feedback interface device coupled to said processor and including a physical user object which is grasped by a user, said user object having two degrees of freedom and being movable in a planar workspace corresponding to a simulated plane within said simulation to move said first simulated object within said simulation according to a position control mapping, and wherein said processor is operative to command forces output to said user via said force feedback interface device.
- 45. An apparatus as recited in claim 44 wherein said display device includes a display screen for displaying images thereupon.
- 46. An apparatus as recited in claim 45 wherein a plurality of users operate said apparatus, and wherein said display device includes a plurality of display screens such that each user views an associated display screen.
- 47. An apparatus as recited in claim 44 wherein said display device includes a projection device for displaying images upon a surface.
- 48. An apparatus as recited in claim 47 wherein said projection device is a front-projection device positioned on the same side of said surface as said images displayed on said surface.
- 49. An apparatus as recited in claim 47 wherein said projection device is a rear-projection device positioned on the opposite side of said surface to said images displayed on said surface.
- 50. An apparatus as recited in claim 44 wherein said force feedback interface device includes a first link and a second link, said first link being rotatably coupled to ground and said second link being rotatably coupled to said first link, and wherein said user object is coupled to said second link.
- 51. An apparatus as recited in claim 50 wherein said force feedback interface device includes a five member linkage.
- 52. An apparatus as recited in claim 51 wherein said five member linkage includes a first link coupled to a ground, a second link coupled between said first link and said user object, a third link coupled to said ground, and a fourth link coupled between said third link and said user object.
- 53. An apparatus as recited in claim 50 wherein said user object can be moved in a rotary third degree of freedom, and wherein a displayed orientation of said first simulated object is changed according to movement of said user object in said third degree of freedom.
- 54. An apparatus as recited in claim 44 wherein said user object includes a racquet handle.
- 55. An apparatus as recited in claim 54 wherein said interface device includes a slider coupled to said handle for moving said handle in a linear degree of freedom along a support, said support being rotatably coupled to a ground member for moving said handle in a rotary degree of freedom.
- 56. A method for providing force feedback for interacting simulated objects in a simulation implemented on a computer system, the method comprising the steps of:
displaying a user-controlled first simulated object and a second simulated object on a display device of a computer system, said first simulated object moving on said display device during a simulation in response to manipulations of a physical object of an interface device by a user, said interface device being coupled to said computer system; determining when said first simulated object engages said second simulated object within said simulation; displaying said determined engagement of said first simulated object with said second simulated object, wherein said first simulated object has a predetermined simulated compliance and said second object has a predetermined simulated mass; and outputting a force command to said interface device to apply a force to said physical object manipulated by said user in at least one degree of freedom provided by said interface device, said force being applied in the direction of said engagement of said second simulated object with said first simulated object and having a magnitude in accordance with said simulated mass of said second simulated object.
- 57. A method as recited in claim 56 wherein a simulated compliance of said first simulated object additionally affects said magnitude of said force.
- 58. A method as recited in claim 57 wherein simulated velocities of said first simulated object and said second simulated object additionally affect said magnitude of said force.
- 59. A method as recited in claim 57 wherein a simulated gravity acting on said simulated objects additionally affects said magnitude of said force.
- 60. A method as recited in claim 56 wherein said first simulated object elongates at a point of impact with said second simulated object in accordance with said simulated compliance of said first simulated object.
- 61. A method as recited in claim 60 further comprising a step of detecting whether said user has input a command to trap said second object such that said second simulated object remains engaged with said first simulated object, thereby allowing said user to move said first simulated object and said second simulated object.
- 62. A method as recited in claim 61 wherein said command to trap is input by said user pressing a button of said interface device, wherein said ball is released from said engagement with said paddle when said button is released.
- 63. A method as recited in claim 61 wherein said first simulated object is a paddle having two endpoints and said second simulated object is a ball object, wherein said paddle and said ball object can be moved by said user when said ball object is trapped as if said paddle is a flexible sling.
- 64. A method as recited in claim 63 wherein when said trap command is removed while said ball object is moved by said user in an approximately circular path, said ball object is disengaged and moved tangential to said circular path away from said paddle.
- 65. A method as recited in claim 63 wherein when said trap command is removed while said second simulated object is moving toward said two endpoints of said paddle, said ball object remains engaged with said paddle until said ball object is moved past said two endpoints, and is then forced away from said paddle.
- 66. A method as recited in claim 63 wherein when said trap command is removed while said ball object is moving away from said two endpoints of said paddle, said ball object is disengaged from said paddle and is moved away from said paddle.
- 67. A method as recited in claim 61 wherein when said command to trap is received, said ball object and said paddle are held in a configuration that was present when said command to trap was received, and wherein forces associated with said ball object interacting with said paddle are turned off and said paddle is modeled as a rigid object.
- 68. A method as recited in claim 67 wherein when said command to trap is removed, a reaction force is provided to said physical object which is opposite in direction from the force that would have been provided by said simulation in the absence of said command to trap.
- 69. A method as recited in claim 61 wherein when said command to trap is received, forces associated with said ball object interacting with said paddle remain active and said paddle remains compliant.
- 70. A method as recited in claim 61 further comprising a step of displaying a third simulated object in said simulation, said third simulated object being controlled by a second user by a second physical object and being operative to trap said second graphical object when said second user inputs a command to trap said second simulated object, and wherein said first and third simulated objects can concurrently trap said second simulated object, such that force feedback based on movement of said first simulated object is output to said second physical object and force feedback based on movement of said third simulated object is output to said first physical object when both said simulated objects trap said ball.
- 71. A method as recited in claim 56 further comprising displaying a simulated goal object on said display screen, wherein said user moves said first simulated object to block said second simulated object from moving into said simulated goal object.
- 72. A method as recited in claim 56 further comprising a displaying a third simulated object on said display device, said third simulated object moving on said display device during a simulation in response to manipulations of a second physical object of a second interface device by a second user.
- 73. A method as recited in claim 72 wherein said second interface device is coupled to said computer system.
- 74. A method as recited in claim 72 wherein said computer system is a first computer system, and wherein said second interface device is coupled to a second computer system that is linked with said first computer system.
- 75. An interface system for allowing a player to naturally interact with a computer-generated simulation, said force feedback interface device comprising:
a processor for implementing a computer-generated simulated environment including a computer-generated player object and a computer-generated paddle object associated with said computer-generated player object; a display device coupled to said processor for displaying said player object and said paddle object; a physical object to be grasped by a player and including transducers such that the motion of said physical object is communicated to said processor and such that forces can be commanded on said physical object by said processor, wherein said player manipulates the physical object to control a location of said paddle object within said computer-generated simulated environment according to a position control mapping; and a platform supporting said player and including a sensor that is coupled to said processor, wherein said player manipulates the player's body relative to said sensor of said stage to control a location of said computer-generated player object within said computer-generated simulated environment according to a rate control mapping.
- 76. An interface system as described in claim 75 wherein said forces can be commanded on said physical object in two degrees of freedom.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation-in-part of U.S. patent applications Ser. Nos. 08/566,282, entitled METHOD AND APPARATUS FOR CONTROLLING FORCE FEEDBACK INTERFACE SYSTEMS USING A COMPUTER INTERFACE, filed Dec. 1, 1995; 08/571,606, entitled METHOD AND APPARATUS FOR PROVIDING FORCE FEEDBACK FOR A GRAPHICAL USER INTERFACE, filed Dec. 13, 1995; and provisional application 60/017,803, entitled METHOD AND APPARATUS FOR PROVIDING SIMULATED BARRIER CONTACT FOR GRAPHICAL USER INTERFACES, filed May 17, 1996, all of which are incorporated herein by reference for all purposes.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60017803 |
May 1996 |
US |
Continuations (2)
|
Number |
Date |
Country |
Parent |
09433657 |
Nov 1999 |
US |
Child |
09934739 |
Aug 2001 |
US |
Parent |
08664086 |
Jun 1996 |
US |
Child |
09433657 |
Nov 1999 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
08566282 |
Dec 1995 |
US |
Child |
08664086 |
Jun 1996 |
US |
Parent |
08571606 |
Dec 1995 |
US |
Child |
08664086 |
Jun 1996 |
US |