US 11,886,245 B2
Estimating runtime-frame velocity of wearable device
Evan Gregory Levine, Seattle, WA (US); and Salim Sirtkaya, Redmond, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on May 6, 2021, as Appl. No. 17/313,952.
Prior Publication US 2022/0365555 A1, Nov. 17, 2022
Int. Cl. G06F 1/16 (2006.01); G06N 20/00 (2019.01); G01C 25/00 (2006.01); G06F 18/214 (2023.01); G06F 18/21 (2023.01)
CPC G06F 1/163 (2013.01) [G01C 25/005 (2013.01); G06F 1/1658 (2013.01); G06F 18/214 (2023.01); G06F 18/217 (2023.01); G06N 20/00 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A wearable computing device comprising:
a device body configured to be affixed to a body of a user;
an inertial measurement unit (IMU) including an accelerometer and a gyroscope coupled to the device body at a first IMU mounting location; and
a processor electronically coupled to the IMU, wherein the processor is configured to:
while the device body is affixed to the body of the user, receive kinematic data from the IMU, the kinematic data being in a runtime coordinate frame;
perform a first coordinate transformation on the kinematic data from the runtime coordinate frame into a training coordinate frame of a training wearable computing device to obtain transformed kinematic data, wherein the training wearable computing device has a second device body with a second IMU mounting location that differs from the first IMU mounting location;
at a first machine learning model trained using training data including training kinematic data collected at a training IMU of the training wearable computing device, compute a training-frame velocity estimate for the wearable computing device based at least in part on the transformed kinematic data;
perform a second coordinate transformation on the training-frame velocity estimate from the training coordinate frame into the runtime coordinate frame to obtain a runtime-frame velocity estimate for the wearable computing device; and
output the runtime-frame velocity estimate to a target program.