Patent ID: 7027965
Filing Date: 2006-04-11
Classification: B25J,G05B,G06F

Abstract:
1. In a virtual-reality system comprising a haptic interface between a user and a virtual environment, a method for stabilizing said interface comprising: (a) determining the force being applied by a user to an actual element at the haptic interface at a current time increment; or determining movement of a user's body in contact with an actual element at the haptic interface over a current time increment; (b) when force was determined in step (a), calculating the apparent velocity of the movement which should be displayed by a virtual object in response to said force; and when movement was determined in step (a), calculating a force which should be applied back to the user through an actual element at the haptic interface in contact with the user in order to simulate resistance by a virtual object in the virtual environment to the movement of the user; (c) computing a Passivity Observer which is a measure of a positive amount of energy dissipated or a negative amount of energy produced by a virtual object at the haptic interface and/or between the haptic interface and the user; (d) determining for each case in paragraph (c) whether net energy is produced by the virtual object (i.e. whether the Passivity Observer is negative) or is dissipated by the virtual object (i.e. whether the Passivity Observer is positive); (e) when said determination shows that the virtual object is producing energy, computing a Passivity Controller to determine the amount of damping required to absorb the net energy computed as the Passivity Observer; (f) when force was determined in step (a), modifying the apparent velocity of the virtual object of step (b) and displaying said velocity such that the net energy computed as the Passivity Controller is absorbed; and when movement was determined in step (a), modifying the force of step (b) and applying said modified force back to the user such that the net energy computed as the Passivity Controller is absorbed; and (g) repeating the foregoing steps over successive time increments.