US 12,066,301 B1
Device orientation calibration system
Lucas Glenat, Le Gua (FR); Eric Klaus Allseits, Altamonte Springs, FL (US); John Charles Bicket, Burlingame, CA (US); Justin Pan, San Francisco, CA (US); Glen Phillip McGillan, San Francisco, CA (US); and Kevin Lloyd, San Carlos, CA (US)
Assigned to Samsara Inc., San Francisco, CA (US)
Filed by Samsara Inc., San Francisco, CA (US)
Filed on Sep. 23, 2022, as Appl. No. 17/934,797.
Claims priority of provisional application 63/363,895, filed on Apr. 29, 2022.
Int. Cl. G01C 25/00 (2006.01); G01C 21/16 (2006.01)
CPC G01C 25/005 (2013.01) [G01C 21/16 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
accessing inertial measurement unit (IMU) data generated by an IMU mounted upon an object that corresponds with a first reference frame, the IMU data indicating a second reference frame that comprises a Z-axis, a Y-axis, and an X-axis;
performing a calibration of the IMU data to align the second reference frame of the IMU with the first reference frame of the object, the performing the calibration comprising:
determining a gravitational vector based on a first portion of the IMU data; applying a first rotation to the IMU data to align the Z-axis of the reference frame with the gravitational vector;
determining a forward motion vector based on a second portion of the IMU data that comprises gyroscope data and accelerometer data, the gyroscope data comprising left turn samples and right turn samples, and the determining the forward motion vector includes:
performing a first linear regression operation upon a first set of data points from among the gyroscope data to generate a vector; and
determining a forward direction of the vector based on values of the left turn samples and the right turn samples; and
applying a second rotation to the IMU data to align the X-axis of the reference frame with the forward motion vector.