Haptic interface system for collision detection and applications therefore
First Claim
1. A method for generating CAD/CAM postures for a tool operating on a body including:
- storing a representation of the tool and a representation of said body in a computer;
using a user controlled haptic interface device to control simulated movement of the tool relative to the body;
detecting any collision between the tool and the body for a given posture, including the position on each for each collision, the direction of the collision, and the penetration of the tool into the body;
converting the detected direction, point and penetration for each collision into at least one force vector on the tool;
summing the force vectors for a given posture;
applying said at least one force vector as a corresponding feedback force vector to said interface device, and thus to the user; and
storing a plurality of CAD/CAM postures of the tool to form a posture map, each of the plurality of postures indicating where the tool collides with the body at a working surface of the tool, but does not otherwise collide with the tool, the plurality of postures stored in the posture map subsequently referenceable to determine, at least in part, a force-feedback vector, wherein only CAD/CAM postures which at least meet selected criteria are stored.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system are provided for controlling the simulated interfacing of a controlled first body, for example a tool, with a second body while providing haptic feedback to a user on such interfacing. Selected representations of the first and second bodies are stored in a memory of a processing apparatus and are used by such apparatus to control simulated movement of the first body relative to the second body in response to a user controlled haptic interface device. Collisions between the first and second body are detected, including the position on each body of each collision, the direction of the collision and the force of the collision, and this information is converted for each collision into a force vector on the first body which is fed back as a corresponding force vector to the interface device, and thus to the user. A feature of the invention is storing a point cloud representation of at least one of the bodies, which point cloud representation is utilized in the simulations. The representations may also be an implicit equation representation, a binary space tree partition representation or the like. A niceness factor may also be utilized in determining force feedback as may a guide zone around at least a portion of one of the bodies which, for example, may be utilized to provide a snap-fit. Other features are also provided.
84 Citations
33 Claims
-
1. A method for generating CAD/CAM postures for a tool operating on a body including:
-
storing a representation of the tool and a representation of said body in a computer; using a user controlled haptic interface device to control simulated movement of the tool relative to the body; detecting any collision between the tool and the body for a given posture, including the position on each for each collision, the direction of the collision, and the penetration of the tool into the body; converting the detected direction, point and penetration for each collision into at least one force vector on the tool; summing the force vectors for a given posture; applying said at least one force vector as a corresponding feedback force vector to said interface device, and thus to the user; and storing a plurality of CAD/CAM postures of the tool to form a posture map, each of the plurality of postures indicating where the tool collides with the body at a working surface of the tool, but does not otherwise collide with the tool, the plurality of postures stored in the posture map subsequently referenceable to determine, at least in part, a force-feedback vector, wherein only CAD/CAM postures which at least meet selected criteria are stored. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for generating CAD/CAM postures for a tool operating on a body including:
-
storing a representation of the tool including at least one niceness factor, the at least one niceness factor being higher for regions of the tool where contact is desired, and decreasing for regions as a function of desired contact in such regions, and a representation of said body in a computer; using a user controlled haptic interface device to control simulated movement of the tool relative to the body; detecting any collision between the tool and the body for a given posture, including the position on each for each collision, the direction of the collision, and the penetration of the tool into the body; converting the detected direction, point and penetration for each collision into at least one force vector on the tool; summing the force vectors for a given posture; applying said at least one force vector as a corresponding feedback force vector to said interface device, and thus to the user; and storing a plurality of postures of the tool to form a posture map, each of the plurality of postures indicating where the tool collides with the body at a working surface of the tool, but does not otherwise collide with the tool, the plurality of postures stored in the posture map subsequently referenceable to determine, at least in part, a force-feedback vector. - View Dependent Claims (12, 13, 14)
-
-
15. A method for generating CAD/CAM postures for a tool operating on a body including:
-
storing a representation of the tool and a representation of said body in a computer; using a user controlled haptic interface device to control simulated movement of the tool relative to the body; detecting any collision between the tool and the body for a given posture, including the position on each for each collision, the direction of the collision, and the penetration of the tool into the body, wherein a part is being machined from the body and material is being removed from the body in layers, including establishing operative constraints at layer boundaries, and detecting collisions between the tool and a selected operative constraint; converting the detected direction, point and penetration for each collision into at least one force vector on the tool; summing the force vectors for a given posture; applying said at least one force vector as a corresponding feedback force vector to said interface device, and thus to the user; and storing a plurality of CAD/CAM postures of the tool to form a posture map, each of the plurality of postures indicating where the tool collides with the body at a working surface of the tool, but does not otherwise collide with the tool, the plurality of postures stored in the posture map subsequently referenceable to determine, at least in part, a force-feedback vector, wherein collisions are detected between the tool and the part as well as between the tool and the operative constraints, wherein force vectors are generated for each collision, and wherein said summing step sums and averages force vectors for all collisions.
-
-
16. A system for controlling the simulated interfacing of a first body controlled by a user with a second body, while providing haptic feedback to the user on such interface including:
-
at least one memory storing selected representations of said first body and of said second body, and a representation for a guide zone around at least a portion of one of said bodies, the representation for one of said bodies including an implicit representation and a binary space partition tree and the representation for the other body being a discrete representation; a user controlled haptic interface device; and processing apparatus responsive to said interface device for providing simulated movement of the first body relative to the second body, said processing apparatus detecting collisions between the bodies resulting from such simulated movement, including the position on each body of each collision, the direction of the collision, and force for the collision, converting the detected direction, point and force for each collision into at least one force vector, modifying the at least one force vector based on at least one of a plurality of postures stored in a posture map and, feeding back the at least one force vector through said interface device, wherein said processing device provides a force feedback to said interface device to urge the first body toward the second body when the bodies are not in contact but the guide zone of the one body is detected as having the other body therein. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method of providing haptic feedback corresponding to full-body contact between a first object controlled by an interface device and at least one second object, the method comprising acts of:
-
storing a first three dimensional representation and a second three dimensional representation of the first object and the at least one second objects, respectively, wherein one of the representations includes at least one region defined by a implicit equation and the other representation includes a point cloud and a bounding volume hierarchy; determining presence or absence of penetration of the first and second representations at each point in the point cloud, including traversing the bounding volume hierarchy, each successive determination of a presence or an absence of a penetration involving portions of the bounding volume for which the presence of a penetration was determined; wherein in an event of the presence of penetration of the first and second representations, performing acts of; computing a vector having a magnitude related to depth of the penetration and a direction related to direction of penetration of each penetration; computing at least one force vector corresponding to the full-body contact between the first and second object based on at least one of the penetration vectors; wherein in an event of the absence of penetration of the first and second representations, performing an act of; computing at least one force vector based on a relationship between the first object and at least one guide zone. - View Dependent Claims (22, 23, 24)
-
-
25. A method of providing haptic feedback corresponding to full-body contact between a first object controlled by an interface device and at least one second object, the method comprising acts of:
-
storing a first three dimensional representation and a second three dimensional representation of the first object and the at least one second objects, respectively, wherein one of the representations includes at least one region defined by a implicit equation and the other representation includes a point cloud and a bounding volume hierarchy, and wherein the first three dimensional representation is of the first object and the at least one region includes a plurality of regions defined by a plurality of implicit equations, at least one region having associated with it a niceness factor related to the desirability of contact between the at least one region and the second object; determining presence or absence of penetration of the first and second representations at each point in the point cloud; wherein in an event of the presence of penetration of the first and second representations, performing acts of; computing a vector having a magnitude related to depth of the penetration and a direction related to direction of penetration of each penetration; computing at least one force vector corresponding to the full-body contact between the first and second object based on at least one of the penetration vectors; wherein in an event of the absence of penetration of the first and second representations, performing an act of; computing at least one force vector based on a relationship between the first object and at least one guide zone.
-
-
26. A method of providing haptic feedback corresponding to full-body contact between a first object controlled by an interface device and at least one second object, the method comprising acts of:
-
storing a first three dimensional representation and a second three dimensional representation of the first object and the at least one second objects, respectively, wherein one of the representations includes at least one region defined by a implicit equation and the other representation includes a point cloud and a bounding volume hierarchy, and wherein the first three dimensional representation is of the first object and the at least one region includes a plurality of regions defined by a plurality of implicit equations, and wherein at least one region has associated with it a snap-fit region to urge the first object in a direction to bring the at least one region in contact with the second object when the second object is within the snap-fit region; determining presence or absence of penetration of the first and second representations at each point in the point cloud; wherein in an event of the presence of penetration of the first and second representations, performing acts of; computing a vector having a magnitude related to depth of the penetration and a direction related to direction of penetration of each penetration; computing at least one force vector corresponding to the full-body contact between the first and second object based on at least one of the penetration vectors; wherein in an event of the absence of penetration of the first and second representations, performing an act of; computing at least one force vector based on a relationship between the first object and at least one guide zone.
-
-
27. A method of providing haptic feedback corresponding to full-body contact between a first object controlled by an interface device and at least one second object, the method comprising acts of:
-
storing a first three dimensional representation and a second three dimensional representation of the first object and the at least one second objects, respectively, wherein one of the representations includes at least one region defined by a implicit equation and the other representation includes a point cloud and a bounding volume hierarchy, and wherein the second three dimensional representation is of the at least one second object and wherein the at least one guide zone is associated with the second three dimensional representation and includes a snap-fit region to urge the first object in a direction to bring the first object in contact with the second object when the first object is within the snap-fit region; determining presence or absence of penetration of the first and second representations at each point in the point cloud; wherein in an event of the presence of penetration of the first and second representations, performing acts of; computing a vector having a magnitude related to depth of the penetration and a direction related to direction of penetration of each penetration; computing at least one force vector corresponding to the full-body contact between the first and second object based on at least one of the penetration vectors; wherein in an event of the absence of penetration of the first and second representations, performing an act of; computing at least one force vector based on a relationship between the first object and at least one guide zone.
-
-
28. In a virtual three-dimensional environment including a haptic interface device to control a simulated movement of at least one first object with at least five degrees of freedom with respect to at least one static object the at least one first object represented by one or more geometric regions, a method of generating a posture map of the at least one first object, the method comprising acts of:
-
selectively storing a plurality of postures of the at least one first object at least at points at which the at least one first object has a posture wherein a portion of at least one geometric region penetrates the at least one static object; and determining whether to store any give posture of the at least one first object based on at least one of a niceness factor associated with the one or more geometric regions penetrating the at least one static object, and a depth of the penetration of the one or more geometric regions, wherein determining the posture being stored includes choosing the posture having the highest niceness factor associated with the one or more penetrating regions.
-
-
29. In a virtual three-dimensional environment including a haptic interface device to control a simulated movement of at least one first object with at least five degrees of freedom with respect to at least one static object, the at least one first object represented by one or more geometric regions, a method of generating a posture map of the at least one first object, the method comprising acts of:
-
selectively storing a plurality of postures of the at least one first object at least at points at which the at least one first object has a posture wherein a portion of at least one geometric region penetrates the at least one static object; and determining whether to store any give posture of the at least one first object based on at least one of a niceness factor associated with the one or more geometric regions penetrating the at least one static object, and a depth of the penetration of the one or more geometric regions, wherein determining the posture being stored includes an act of choosing a posture only when a niceness factor associated with the one or more penetrating regions exceeds a predetermined threshold.
-
-
30. In a virtual three-dimensional environment including a haptic interface device to control a simulated movement of at least one first object with at least five degrees of freedom with respect to at least one static object, the at least one first object represented by one or more geometric regions, a method of generating a posture map of the at least one first object, the method comprising acts of:
-
selectively storing a plurality of postures of the at least one first object at least at points at which the at least one first object has a posture wherein a portion of at least one geometric region penetrates the at least one static object; and determining whether to store any give posture of the at least one first object based on at least one of a niceness factor associated with the one or more geometric regions penetrating the at least one static object, and a depth of the penetration of the one or more geometric regions, wherein determining the posture being stored includes an act of determining the posture being stored based on a niceness factor associated with the one or more regions penetrating the at least one static object, and a depth of the penetration of the one or more regions.
-
-
31. A posture map for generating guide paths for at least one first object, the posture map comprising:
-
a plurality of postures, each of the plurality of postures associated with a point in a virtual three-dimensional cartesian space where at least one portion of a first representation of the at least one first object in the three-dimensional space penetrates a representation of at least one second object in the three-dimensional space, and representing a desirable posture for the at least one first object at the associated point, each of the plurality of postures including; a first, a second, and a third location component representing a reference coordinate location of the at least one first object with respect to a first, a second, and a third axis of the cartesian space, respectively; and a first and a second rotation angle representing a rotation of the at least one first object about the first and second axis, respectively, wherein the first representation is divided into a plurality of regions, each of the plurality of regions having associated with it a niceness factor indicating the desirability of penetration between the region and the at least one second object. - View Dependent Claims (32, 33)
-
Specification