US 12,141,904 B1
Controlling joints using learned torques
Siva Chandra Mouli Sivapurapu, Santa Clara, CA (US); Edward S. Ahn, Mountain View, CA (US); Mark Drummond, Palo Alto, CA (US); and Aashi Manglik, Sunnyvale, CA (US)
Assigned to APPLE INC., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Jul. 25, 2022, as Appl. No. 17/872,860.
Application 17/872,860 is a continuation of application No. 17/173,480, filed on Feb. 11, 2021, granted, now 11,430,170.
Claims priority of provisional application 62/982,284, filed on Feb. 27, 2020.
Int. Cl. G06T 13/40 (2011.01); G06T 7/246 (2017.01); G06T 7/70 (2017.01)
CPC G06T 13/40 (2013.01) [G06T 7/248 (2017.01); G06T 7/70 (2017.01); G06T 2207/10016 (2013.01); G06T 2207/20084 (2013.01); G06T 2207/30196 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
at an electronic device including one or more processors, a non-transitory memory, and a display device:
displaying, via the display device, a virtual agent moving according to a first self-directed motion by using a motion controller to generate a first plurality of torque values for a plurality of virtual joints of the virtual agent and by generating a first animation for the virtual agent by providing the first plurality of torque values to the plurality of virtual joints;
while the virtual agent is moving according to the first self-directed motion, registering an interaction event that triggers a change from the first self-directed motion to a second self-directed motion; and
in response to registering the interaction event, displaying, via the display device, the virtual agent moving according to the second self-directed motion by:
generating, using the motion controller, a second plurality of torque values for the virtual agent to perform the second self-directed motion based on the change from the first self-directed motion to the second self-directed motion, the interaction event, and an environmental feature associated with the virtual agent, and
generating a second animation for the virtual agent by providing the second plurality of torque values to the plurality of virtual joints of the virtual agent.