Patent ID: 11886245
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 19:
20. 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;
compute a plurality of calibration parameters for the wearable computing device, wherein the plurality of calibration parameters include a translational mounting pose offset between the second IMU mounting location and the first IMU mounting location and a rotational mounting pose offset between the runtime coordinate frame and the training coordinate frame;
compute a plurality of runtime correction parameters for the wearable computing device based on the kinematic data, wherein the plurality of runtime correction parameters include an angular velocity correction parameter, an angular acceleration correction parameter, and a runtime world-frame orientation of the IMU relative to a world frame;
perform a first coordinate transformation, as specified by the plurality of calibration parameters and the plurality of runtime correction parameters, 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.