Interaction strength using virtual objects for machine control
The technology disclosed relates to using virtual attraction between hand or other control object in a three-dimensional (3D) sensory space and a virtual object in a virtual space. In particular, it relates to defining a virtual attraction zone of a hand or other control object that is tracked in a three-dimensional (3D) sensory space and generating one or more interaction forces between the control object and a virtual object in a virtual space that cause motion of the virtual object responsive to proximity of the control object to the virtual object and escalation with a virtual pinch or grasp action of the control object directed to a manipulation point of the virtual object.
1 . A method including:
defining a manipulation point of an object based, at least in part, on an interaction between portions of the object, wherein a movement of the manipulation point follows a movement of the object, and wherein the manipulation point remains within a proximity of the object as the object moves through a three-dimensional (3D) space;
selecting a virtual object based, at least in part, on the manipulation point of the object coming within a range of at least one of the virtual object or a manipulation point of the virtual object, wherein the object is distanced apart from the virtual object;
determining an interaction force based, at least in part, on the object and the virtual object; and
moving the virtual object based, at least in part, on at least one of:
a movement of the manipulation point of the object; or
a change detected in the interaction force.
2 . The method of claim 1 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part, on the predictive model, wherein the predictive model includes a position of a calculation point of at least one portion of the object;
selecting at least one manipulation point proximate to the virtual object based, at least in part, on the tracked motion and the position of the calculation point; and
manipulating the virtual object based, at least in part, on an interaction between the calculation point and the selected at least one manipulation point.
3 . The method of claim 1 , including:
determining a predictive model of the object; and
tracking motion of the object based, at least in part on, the predictive model,
wherein the predictive model is determined based, at least in part, on a feature of the object.
4 . The method of claim 1 , including:
determining a predictive model of the object; and
tracking motion of the object based, at least in part on, the predictive model,
wherein the predictive model is determined based, at least in part, on at least one of a brightness of the object.
5 . The method of claim 1 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part on, the predictive model; and
applying a constraint factor to the predictive model to eliminate impossible poses of the object based, at least in part, on a physical property of the object.
6 . The method of claim 1 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part on, the predictive model, wherein the predictive model includes a position of a calculation point of at least one portion of the object;
determining that the interaction is an outside pinch pose based, at least in part, on a decrease in distance between opposable calculation points of portions of the object;
assigning a strength to the outside pinch pose based, at least in part, on a convergence of the calculation points; and
manipulating the virtual object based, at least in part, on the strength.
7 . The method of claim 1 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part on, the predictive model, wherein the predictive model includes a position of a calculation point of at least one portion of the object;
determining that the interaction is an inside pinch pose based, at least in part, on a change in distance between opposable calculation points of portions of the object;
assigning an attraction strength to the inside pinch pose based, at least in part, on a degree of convergence of the calculation points; and
manipulating the virtual object based, at least in part, on the attraction strength assigned to the inside pinch pose.
8 . The method of claim 1 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part on, the predictive model, wherein the predictive model includes a position of a calculation point of at least one portion of the object;
determining that the interaction is a grab pose based, at least in part, on a convergence of calculation points of portions of the object;
assigning a strength to the grab pose based, at least in part, on the convergence of the calculation points; and
manipulating the virtual object based, at least in part, on the strength.
9 . The method of claim 1 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part on, the predictive model; and
generating data representing a position of the virtual object relative to the predictive model of the object.
10 . The method of claim 1 including:
determining a predictive model of the object;
tracking motion of the object based, at least in part on, the predictive model; and
generating data representing positions in a space of the virtual object and the predictive model of the object.
11 . The method of claim 1 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part on, the predictive model, wherein the predictive model includes a position of a calculation point of at least one portion of the object;
determining a pose based, at least in part, on a convergence of calculation points of one or more portions of the object;
assigning a strength to the pose based, at least in part, on the convergence;
identifying the pose as a dominant pose based, at least in part, on at least one of the strength or a position of the convergence; and
manipulating the virtual object based, at least in part, on the dominant pose.
12 . The method of claim 1 , including creating an anchor point at a location on the object based, at least in part, on the interaction between two portions of the object, wherein the manipulation point remains within a predetermined distance from the anchor point at the location on the object as the object moves through the 3D space.
13 . The method of claim 1 , wherein the interaction force is based, at least in part, on a virtual mass of the virtual object.
14 . The method of claim 1 , wherein the virtual object is separated from points on the object.
15 . A method including:
defining a force applied by an object that is tracked in a three-dimensional (3D) space;
defining a manipulation point of the object based, at least in part, on an interaction between portions of the object, wherein a movement of the manipulation point follows a movement of the object, and wherein the manipulation point remains within a proximity of the object as the object moves through the 3D space;
selecting a virtual object based, at least in part, on the manipulation point of the object coming within a range of at least one of the virtual object or a manipulation point of the virtual object, wherein the object is distanced apart from the virtual object;
determining an interaction force with respect to the object and the virtual object based, at least in part on, the defined force; and
moving the virtual object based, at least in part, on at least one of:
a movement of the manipulation point of the object; or
a change detected in the interaction force.
16 . The method of claim 15 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part, on the predictive model, wherein the predictive model includes a position of a calculation point of at least one portion of the object;
selecting at least one manipulation point proximate to the virtual object based, at least in part, on the tracked motion and the position of the calculation point; and
manipulating the virtual object based, at least in part, on interaction between the calculation point and the selected at least one manipulation point.
17 . The method of claim 15 , including:
determining a predictive model of the object; and
tracking motion of the object, based, at least in part, on the predictive model,
wherein the predictive model is determined, based, at least in part, on a feature of the object.
18 . The method of claim 15 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part, on the predictive model; and
applying a constraint factor to the predictive model to eliminate impossible poses of the object based, at least in part, on a physical property of the object.
19 . The method of claim 15 , including:
determining a predictive model of the object;
tracking motion of the object based, at least in part, on the predictive model, wherein the predictive model includes a calculation point of at least one portion of the object;
determining that the interaction is a grab pose based, at least in part, on convergence of calculation points of portions of the object;
assigning a strength to the grab pose based, at least in part, on a convergence of the calculation points; and
manipulating the virtual object based, at least in part, on the strength.
20 . A method including:
defining a manipulation point of an object based, at least in part, on an interaction between portions of the object, wherein a movement of the manipulation point follows a movement of the object, and wherein the manipulation point remains within a proximity of the object as the object moves through a three-dimensional (3D) space;
selecting a virtual object based, at least in part, on the manipulation point of the object coming within a range of at least one of the virtual object or a manipulation point of the virtual object, wherein the object is distanced apart from the virtual object;
determining a repulsion force with respect to the object and the virtual object; and
moving the virtual object, based, at least in part, on at least one of:
an interaction with the manipulation point of the object; or
a change detected in the repulsion force.