Low-power-consumption near-beam wireless induction charging dock

Through the combination of wireless inductive charging system and IMU tracker and combined with user anatomical constraints, the problems of high cost and complex calibration of whole-body motion capture in the prior art in uncontrolled environment are solved, and portable and low-cost Full body motion capture system.

CN119255844APending Publication Date: 2025-01-03XE YIDE CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202380029584.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-03-23
Filing Date
2023-03-23
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

Existing full-body motion capture systems are difficult to achieve portable full-body motion capture in uncontrolled environments, usually requiring multiple camera perspectives, and the equipment is expensive, limiting user movement, and requiring users to wear special full-body suits. The calibration procedures are complex and prone to failure. .

Method used

Using wireless inductive charging system and tracker equipped with an inertial measurement unit (IMU), the combination of inertial sensors, accelerometers, magnetometers and gyroscopes combined with user anatomical constraints to achieve full-body motion capture without external cameras and through low Power consumption wireless communication protocols and cascading communication technology reduce equipment quantity and cost.

Benefits of technology

Portable whole-body motion capture in an uncontrolled environment is achieved, reducing equipment costs and user motion limitations, simplifying the calibration process, and improving the reliability and portability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119255844A_ABST
    Figure CN119255844A_ABST
Patent Text Reader

Abstract

The system in the prior art can realize whole-body motion capture without an external camera. However, these systems are generally expensive, restrict the user's motion to designated areas, require the user to wear a specialized whole-body suit, have a large number of devices, may be fully wired and / or require energy-consuming WiFi connections. These systems also often need to be subjected to a thorough calibration procedure before each use, and the calibration may fail when moved to different areas. The disclosed technology is directed to systems and methods that provide whole body motion capture in an uncontrolled environment where the use of multiple known camera views is impossible or impractical. Specifically, the disclosed technology utilizes a wireless inductive charging system including a charging dock having an array of docking stations for selectively charging an array of battery-powered sensing devices (e.g., a set of trackers and links).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Patent Application No. 63 / 322,984, filed on March 23, 2022, entitled “FULL BODY MOTION CAPTURE IN UNCONTROLLED ENVIRONMENTS,” which is specifically incorporated herein by reference. Background Art

[0003] Full-body motion capture (also called motion capture, mo-cap, or mocap) refers to the process of recording human body movements and storing those movements digitally. It can be used in medical, film, video games, sports, military, and robotics applications, among others. In medical applications, full-body motion capture can be used to track the movements of patients to diagnose and track the treatment of movement disorders (e.g., Parkinson's disease). In filmmaking and video game development, full-body motion capture is used to record the movements of human actors and use that information to create animated digital representations of the human actors and their movements in 2D or 3D space. In sports, full-body motion capture can provide real-time feedback on various movements, similar to training with a coach. Summary of the invention

[0004] The embodiments described and claimed herein solve the aforementioned problems by providing a wireless inductive charging system, the system comprising: two or more battery-powered sensing devices, each sensing device comprising a device inductive coil located inside and adjacent to a flat outer surface of the sensing device; and a charging hub comprising an array of docking stations, each docking station accommodating one sensing device and securing the one sensing device in a predetermined charging orientation, each docking station comprising a station inductive coil located inside and adjacent to a flat outer surface of the docking station, wherein for each sensing device placed in the predetermined charging orientation, one station inductive coil faces one device inductive coil, wherein the docking stations are arranged in multiple faces around an outer portion of the charging dock and are shielded from each other.

[0005] Other implementations are also described and described herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 A full body motion capture system for use in an uncontrolled environment is shown in accordance with the disclosed technology.

[0007] Figure 2 An example tracker of a full body motion capture system utilizing a 3-sensor inertial measurement unit (IMU) to determine the tracker's position in an uncontrolled environment is shown.

[0008] Figure 3A user's arm is shown with a tracker attached thereto for determining the position of the limb in an uncontrolled environment.

[0009] Figure 4 Operation of an example using a full body motion capture system according to the disclosed technology in an uncontrolled environment is shown.

[0010] Figure 5 A full body motion capture system with cascaded communication between a link and a tracker connected thereto according to the disclosed technique is shown.

[0011] Figure 6 A cascade communication system with cascade communication between a link device and a sensing device connected thereto according to the disclosed technology is shown.

[0012] Figure 7 Operation of an example of a full body motion capture system with cascaded communications between a link and a tracker connected thereto is illustrated utilizing techniques consistent with the present disclosure.

[0013] Fig. 8A An example charging dock is shown with associated trackers and links, each utilizing low-power near-beam wireless inductive charging from the charging dock.

[0014] Figure 8B An example low power close beam wireless inductive charging circuit is shown.

[0015] Fig. 9 Operation of an example using a low power close beam wireless charging dock is shown.

[0016] Fig.10 A system diagram illustrating an example of a computing environment suitable for executing a full-body motion capture system in accordance with the disclosed techniques. DETAILED DESCRIPTION

[0017] In a full-body motion capture session, the movements of one or more users are recorded from multiple camera views in a controlled environment and sampled multiple times per second to calculate the user's position and motion in 3D space. Typical modern motion capture systems often use infrared cameras that track infrared (IR) light-emitting diodes (LEDs) of the subject or object of interest. While controlled environments with multiple camera views may be practical in filmmaking and video game development environments, such conditions may not exist for medical applications that track users in their homes and other locations. In some cases, users may be moving around large outdoor areas, and the camera field of view may be out of range, obscured by weather or terrain, or blocked by other users in the field of view. In addition, even if a controlled environment with multiple camera views can be provided, it may not be economically practical.

[0018] Other prior art systems enable full-body motion capture without the need for external cameras. However, these systems are often expensive, restrict the user's movement to a designated area, require the user to wear a specialized full-body suit, require a large amount of equipment, may be completely wired and / or require energy-consuming WiFi connections. These systems also typically require a thorough calibration procedure before each use, and the calibration may fail when moved to a different area.

[0019] The disclosed technology is directed to systems and methods for providing full-body motion capture in uncontrolled environments where it is impossible or impractical to use multiple known camera angles. The proposed technical solution is unconstrained and can achieve portable full-body motion capture in uncontrolled environments without the need for manual recalibration by the user.

[0020] Figure 1 A full body motion capture system 100 is shown for use in an uncontrolled environment. Trackers (T) (e.g., tracker 102) represent measurement devices worn at different locations on a user's body 108 to capture the user's body motion. The trackers (T) may be strategically placed and spaced apart on the user's body 108 to capture relative motion of different parts of the user's body 108 (e.g., motion of the user's head, torso, arms, legs relative to each other and the overall motion of the user's body 108).

[0021] Each tracker (T) has a device housing that can have various sizes and shapes and have various internal components. In some embodiments, each tracker (T) is generally prismatic, has a rounded top surface, and includes at least one set of sensors that are combined with a computing device referred to herein as an inertial measurement unit (IMU) to determine orientation. For example, each tracker (T) can be equipped with an inertial sensor or accelerometer, a magnetometer, and a gyroscope. The output of the sensors, combined with the anatomical constraints imposed by the position of the user's body 108 where the tracker (T) is located, allows the system 100 to achieve full-body motion capture without the use of an external camera. Each tracker (T) can also be approximately 26mm×26mm×8mm (all dimensions are + / -5mm).

[0022] Each tracker (T) may also be equipped with a wireless transmitter that operates on various radio bands (e.g., 2.4 GHz ISM band) using a short-range (low power) wireless communication protocol (e.g., Bluetooth, Zigbee, ShockBurst (SB), Enhanced ShockBurst (ESB), or a custom short-range communication protocol, etc.) to communicate the position of the tracker (T) to the link (L) 104. The link (L) 104 may also be placed on the user's body 108 and include a wireless receiver. Although the link (L) 104 may also be connected to a computer via USB, it does not need to be placed on the user's body 108 due to its wireless functionality. In other embodiments, the link (L) 104 functionality may be combined with one or more trackers (T) or computing devices 106 into a single device worn on the user's body 108. The link (L) 104 is used to receive and integrate the position data received from the tracker (T) via a communication link (e.g., communication link 110, also referred to herein as a tracker position signal). In other embodiments, each tracker (T) is individually connected to the link (L) 104 in addition to or in lieu of a wireless communication link.

[0023] Link (L) 104 can be equipped with a wireless transmitter to transmit the relative motion of the tracker (T) to a computing device 106 (e.g., a smartphone, smart watch, tablet, laptop, desktop computer, etc.) via a communication link 112 using a short-range (low-power) wireless communication protocol (e.g., Bluetooth, Zigbee, etc.), and the communication link 112 can carry a single motion capture signal. In various embodiments, the computing device 106 can be separated from the user's body 108 but located nearby, as shown or worn on the user's body 108, similar to the link (L) 104 and the tracker (T). In other embodiments, the link (L) 104 is wired to the computing device 106 on the basis of or in place of the wireless communication link 112. In some embodiments, devices other than the tracker (T) (e.g., a tactile device) can be connected to the link (L) 104 and become part of the system 100.

[0024] Alternatively or additionally, the wireless transmitter may utilize a medium-range (medium power) wireless communication protocol (e.g., WIFI) to transmit the relative motion of the tracker (T) to a computing device 106 that may be located further away (e.g., in the same room or building, but not within reach of the user). Alternatively or additionally, the wireless transmitter may utilize a long-range (high power) wireless communication protocol (e.g., a cellular data network with Internet access) to transmit the relative motion of the tracker (T) to a computing device 106 or cloud computing storage device located anywhere within the range of the long-range data network (e.g., anywhere geographically connected to the Internet).

[0025] In various embodiments, the link (L) 104 includes the ability to receive signals from the tracker (T) using a first communication protocol and to send signals to the computing device 106 using a different second communication protocol. In addition, the link (L) 104 may have the ability to transmit data to two different communication protocols simultaneously. The link (L) 104 may also combine the signals received from the tracker (T) into a single outbound data stream that is sent to the computing device 106.

[0026] The tracker (T) and link (L) 104 are configured to be lightweight, small, unobtrusive to the user, and low cost. Because the tracker (T) only uses sensors that may be present in a smartphone to track orientation (rather than tracker location), the tracker (T) is low cost and uses less power than similar trackers that are also used to determine tracker location. In addition, by utilizing a general purpose computing device 106 that the user already has (e.g., the user's smartphone), the full body motion capture system 100 avoids the additional cost of a dedicated computing device. Although Figure 1 The user depicted in FIG. 1 is wearing 10 trackers (T), but in other embodiments, the user may wear 5 to 15 trackers (T) to achieve various levels of full body motion capture resolution.

[0027] Figure 2 A tracker 202 is shown for an example of a full body motion capture system that utilizes a 3-sensor inertial measurement unit (IMU) 214 to determine the tracker's orientation in an uncontrolled environment. The tracker 202 is equipped with at least three sensors that are collectively combined with a computing device referred to herein as an inertial measurement unit (IMU) 214 to determine relative motion. The IMU 214 includes an inertial sensor or accelerometer 216, a magnetometer 218, and a gyroscope 220. The outputs of the accelerometer 216, magnetometer 218, and gyroscope 220, combined with the anatomical constraints imposed by the user's body position at which the tracker 202 is located, allow the tracker 202 to be used in conjunction with other similar trackers (e.g., see Figure 1Combined with the tracker (T) in the , full-body motion capture can be achieved without the use of external cameras.

[0028] The overall orientation of the tracker 202 is defined by its rotation along three principal axes (pitch 222, roll 224, and yaw 226). Although roll, pitch, and yaw are discussed for ease of explanation, 4-dimensional quaternions may be used in actual implementations to avoid discontinuities. In the example implementation, assuming that the user's body is not moving, the accelerometer 216 is primarily used to determine the orientation of the tracker 202 on two axes (e.g., on the pitch and roll axes 222, 224, but not on the yaw axis 226). The magnetometer 218 is primarily used to determine the orientation on the yaw axis 226. The accelerometer 216 and the magnetometer 218 are combined to fully determine the absolute orientation of the tracker 202 in space relative to the local gravity vector and the local magnetic field vector. The gyroscope 220 is used to measure rapid changes in the orientation of the tracker 202, but the gyroscope 220 does not have a fixed reference and therefore accumulates errors over time.

[0029] Specifically, the accelerometer 216 is triaxial and uses the three-dimensional gravity vector as a fixed reference to measure the acceleration of the tracker 202. When the tracker 202 is moving slowly or stationary (i.e., the only measurable acceleration is gravity), the accelerometer 216 accurately calculates the pitch angle and roll angle about the pitch axis 222 and roll axis 224, respectively. Since the human body in motion often stops repeatedly, the IMU 214 is calibrated to identify time points when the tracker 202 is substantially stationary by aligning this condition with the magnitude of the acceleration vector output by the accelerometer 216 at 9.8 m / s. 2 or time points within an adjustable threshold of the assumed value of the gravity vector magnitude. At these time points, the angles of the pitch and roll axes 222, 224 are updated using the values ​​output by the accelerometer 216, assuming that the acceleration vector is oriented toward gravity. These time points are common in human motion and occur at sufficiently regular intervals that the roll and pitch of the gyro drift do not accumulate. Although 9.8 m / s 2 is a common value for Earth's gravity, but other gravity values ​​can be used in a similar manner (e.g., in a microgravity environment, such as on the moon). Accelerometer 216 measures force, so the above technique can also be used when the "gravity" vector points in an arbitrary direction. As long as the force is constant and non-zero, such an arbitrary "gravity" vector is usable.

[0030] The 3-axis magnetometer 218 is primarily used to determine the yaw angle about the yaw axis 226 by measuring the magnetic field strength. In most cases, the magnetometer 218 measures the magnetic north pole of the earth, where the pole remains relatively constant. The magnetic field vector is calibrated in a similar manner to the gravity vector described above, but points to a different orientation. The magnetic field vector depends on the geographic location and is orthogonal to the gravity vector in most cases, allowing it to be used for yaw angle calculations. There are exceptions at the north and south poles where the gravity and magnetic field vectors are aligned. In these limited cases, the accelerometer 216 and magnetometer 218 will measure the same value. The accelerometer 216 and magnetometer 218 combined can use the roll, pitch and yaw angles to fully determine the tracker 202 orientation in space, but the results are only accurate during slow movement (i.e., ignoring acceleration due to user movement). The gyroscope 220 is used to accurately measure fast movement, but there is no fixed reference, which limits its short-term usability because errors accumulate. Therefore, the accelerometer 216 and magnetometer 218 are used to calibrate the gyroscope 220 when it is determined that they have high accuracy (e.g., during slow movement and with a stable magnetic field). Using the gyroscope 220 for high-rate orientation estimation (e.g., a rate of 1000 Hz), the accelerometer 216 and magnetometer 218 can operate at a lower sampling rate (e.g., a rate of 10 to 50 samples / second) to reduce the overall power consumption of the tracker 202.

[0031] The gyroscope 220 is three-axis and can be used to estimate the yaw angle when there is a magnetic field nearby that affects the magnetometer 218. The accelerometer 216 and magnetometer 218 combination can be used to correct for drift in the gyroscope 220 angle measurement, because the gyroscope 220 operates without a fixed reference and errors accumulate over time. Since nearby magnetic fields (both hard and soft) change over time, the tracker 202 also compensates for these magnetic fields over time.

[0032] In an example implementation, the magnetometer 218 data may be modeled as follows:

[0033] mag'=Soft*(mag–Hard);

[0034] mag' is the 1×3 corrected magnetometer data;

[0035] mag is the 1×3 raw magnetometer data from magnetometer 218;

[0036] Soft is a 3×3 matrix containing rotation, skew, and scale;

[0037] Hard is a 1×3 matrix containing the position offsets.

[0038] While soft iron and hard iron interference are often used to describe these correction terms, they are technically incorrect. Soft iron refers to materials that are easily magnetized and demagnetized. While this does occur at the printed circuit board level, the soft iron matrix primarily corrects for magnetic distortion materials within 218 mm of the magnetometer, whether hard or soft. Similarly, the hard iron offset vector can also include soft iron distortion. The corrected magnetometer data can be defined as:

[0039] mag'=Near*(mag–Far).

[0040] When the magnetometer 218 is rotated in all possible orientations, the ideal magnetic field reading will produce a sphere, however, the near (Near) magnetic field and far (Far) magnetic field distortion will change the sphere in different ways. For example, if the magnetic field is far away, the magnetometer 218 will see an offset in the magnetometer reading because the magnetic field distortion is weak relative to the earth's magnetic field. When the magnetic field is far enough, the distortion will be felt evenly on the magnetometer 218 sensor axis. Because the earth's magnetic field lines bend around ferrous materials before being read by the magnetometer 218, the total magnetic field is weakened or enhanced, resulting in this offset. This is usually caused by steel beams in buildings, but can also be observed by nearby permanent magnets. The magnetic field is not centered on the origin (0,0,0), but rather on the combined effects of the magnetic field distortion. Depending on the interaction, this can increase or decrease the overall magnetic field strength in the local area. These localizations occur gradually over several meters, indicating that a continuous calibration algorithm should be applied.

[0041] If the magnetic field distortion is nearby (e.g., within a millimeter), the magnetic field lines will bend around the material, causing the magnetometer 218 to lose or increase sensitivity along the magnetic field lines, resulting in a bulge in the ideal sphere. When the magnetic field is close enough, the distortion will be felt unevenly on the magnetometer 218 sensor axis. The resulting shape is often called an ellipsoid. However, this is technically incorrect. When the distortion is near the magnetometer 218, the magnetic field lines form a shape that applies uneven distortion to all axes. For example, if the near-field distortion is along the x-axis, it will apply a strong distortion to the +x axis and a slightly lower distortion to the -x axis. The result is similar to an ellipsoid, but an ellipsoid is symmetrical, which may not accurately reflect reality. A 3×3 near matrix may better reflect reality because it assumes no symmetry. Once the near-field correction matrix is ​​obtained, it may not need to be recalculated again.

[0042] Near-field magnetic interference typically originates from nearby soft magnetic objects (e.g., capacitors, associated traces and vias on an associated printed circuit board (PCB), batteries, coils, etc.) and is considered to be relatively constant in low-power systems. Rotation of the tracker 202 about all axes 222, 224, 226 is expected to produce a data sphere with a fixed center. Near-field magnetic interference distorts the data sphere into an ellipse. Some prior art solutions fit the elliptical data to a sphere fit equation, which is generally insufficient to produce the required accuracy at all angular orientations of the tracker 202 because, as described above, the near-field distortion is not symmetrical. In the disclosed technology, the dot product between the normalized gravity orientation determined by the accelerometer 216 and the normalized magnetic north determined by the magnetometer 218 is considered to be a constant and is referred to as the local magnetic inclination or dip angle. The sphere fit equation using these additional constraints is then fit to the ellipsoid of the yaw data to produce an improved near-field magnetic interference correction. The following is an example near-field magnetic interference correction equation.

[0043] Solving the near-field matrix involves computing 12 variables in the following minimization problem:

[0044] Minimize: ax'*mx'+ay'*my'+az'*mz'-sin(dip);

[0045] ax', ay', az' are the standard acceleration values ​​when the acceleration is within the gravity threshold;

[0046] mx', my', mz' are the standard magnetometer values ​​after applying near- and far-range corrections;

[0047] dip is the local dip angle;

[0048] x=N11*(mx-F0)+N12*(my-F1)+N13*(mz-F2);

[0049] y=N21*(mx-F0)+N22*(my-F1)+N23*(mz-F2);

[0050] z=N31*(mx-F0)+N32*(my-F1)+N33*(mz-F2);

[0051] norm = SQRT(x^2+y^2+z^2);

[0052] mx' = x / norm;

[0053] my'=y / norm;

[0054] mz' = z / norm;

[0055] N11 is the first row and first column of the 3×3 near-field correction matrix;

[0056] F0 is the first element of the far-field correction vector;

[0057] mx is the x component of the raw magnetometer value from the sensor reading.

[0058] The above is a multi-dimensional nonlinear equation with 12 unknowns that is used to solve for a 3×3 near-field correction matrix (N) and a 1×3 far-field correction vector (F). The sensor data is very noisy. Therefore, an exact solution may not always exist when only 12 data points are given. To achieve reasonable accuracy, a linear least squares method with a few hundred appropriately spaced data points can be used to solve the overdetermined system. In this case, the choice of points is important. They represent all possible rotations and are recorded in a magnetically stable environment. The Gauss-Newton algorithm can be used in this case because the Jacobian matrix can be calculated analytically. Although Gauss-Newton produces multiple solutions depending on the starting point, the minima are all concentrated very close to the global minimum, so any solution is acceptable and provides excellent accuracy. The algorithm is computationally intensive, but only needs to be done once at the factory. Even if the position changes, the near-field correction matrix is ​​always valid in normal use.

[0059] The 1×3 far-field correction vector is constantly changing and therefore is constantly updated. This vector is susceptible to changes based on the environment, but also depends on the sensor itself. The magnetometer 218 readings can vary due to internal magnetization. To address this, a magnetometer with internal demagnetization can be used to remove residual magnetization. The calibration itself is similar to the near-field correction minimization problem, except that the 3×3 near-field correction matrix is ​​reused. Therefore, there are only 3 unknowns to solve (F0, F1, F2). The algorithm runs in real time, so the Gauss-Newton algorithm is no longer the fastest option because it only uses the Jacobian matrix (first-order derivatives) to update the estimate in each iteration. A linear least squares algorithm using the Hessian matrix (second-order derivatives) can produce faster convergence with fewer iterations. Suitable algorithms include, for example, the Gradient Descent algorithm and the Levenberg-Marquardt algorithm. The only requirement for the input data is to collect a suitable spread. Testing has shown that 30 samples covering 20 degrees of arc are suitable to achieve a 1% center offset error. Similar to before, the algorithm will return a local minimum depending on the starting point, but its solutions are likely to be concentrated around the actual minimum, making any solution acceptable.

[0060] These equations work because the assumed physical property is that the angle between the normalized magnetic field and the normalized acceleration is always equal to the local dip angle. However, this property only holds true when the magnetic field is properly calibrated. Whenever there is an arbitrary acceleration vector, the magnetic field vector is separated by the local dip angle. When placed on a single sphere, the possible magnetic field values ​​form a circle, and each point on the circle represents a different yaw angle. In short, given the acceleration, the yaw angle is uncertain. However, as more points are collected, the possible true values ​​of the magnetic field narrow because the magnetic field itself contains the true yaw angle. Essentially, the linear least squares algorithm finds the value that minimizes the dot product, thereby finding the center of the sphere and thus obtaining the most accurate magnetometer 218 reading. Once the center of the sphere is found (the far-field correction vector), the data can be centrally aligned and the data normalized. The acceleration can be used to rotate the magnetic field so that the x and y components form the tangent of the yaw angle and the z component is equal to the sine of the dip angle. The yaw angle obtained from the magnetic field can then be used to correct the gyro yaw angle.

[0061] Far-field magnetic interference originates from nearby hard magnetic objects (e.g., speaker magnets) and changes rapidly with distance from the source. Far-field magnetic interference causes the center point of the collected data range to shift by the tracker 202, which can be directly explained by checking the dot product between the normalized acceleration vector and the normalized magnetic field vector after applying near-field and far-field corrections. If the dot product matches the local tilt angle within a threshold, the yaw angle from the magnetic field can be trusted. If the dot product differs for multiple samples, the far-field correction vector is recalculated by collecting more samples. The measurement of yaw angle change measured by the gyroscope 220 is considered accurate in the short term, but the error accumulates over time, which makes the gyroscope 220 gradually become inaccurate over time because it lacks a fixed reference point. In contrast, the yaw angle measurement output by the magnetometer 218 may be affected by far-field magnetic interference and therefore may not be trusted when the dot product is not close to the tilt angle. However, since the magnetometer 218 has a fixed magnetic North reference point, any changes in short-term far-field magnetic disturbances can be calibrated out and used to correct for gyro errors in the yaw axis when the data becomes reliable again (because the magnetic North reference has not changed).

[0062] Therefore, far-field magnetic interference can be compensated by first comparing the dot product between the corrected normalized magnetometer and the normalized accelerometer to the local inclination, and then calculating the resulting yaw angle when the center of the magnetic sphere is found. Since this calibration only requires a small portion of the sphere and 30 samples, it can be run continuously. Whenever the dot product does not match the local inclination, the gyroscope 220 is used to update the orientation while collecting calibration data. After 30 samples, the tracker 202 will run the far-field calibration algorithm and check the resulting dot product. When the dot product matches the inclination, the magnetometer 218 can be trusted again, so the yaw angle is corrected to the magnetometer 218 reading. In some embodiments, a smoothing algorithm is used to prevent a noticeable abrupt switch to an updated magnetometer 218 reading when moving from a series of gyroscope 220 readings.

[0063] In summary, when the magnitude of the accelerometer 216 output is equal to the commonly understood value of gravity within a threshold, the gravity measurements (pitch and roll angles) of the accelerometer 216 can be assumed to be accurate. When the dot product between the corrected normalized acceleration and the normalized magnetic field is equal to the local tilt angle within a threshold, the magnetic north measurement (yaw angle) of the magnetometer 218 can be assumed to be accurate. If the dot product is different from the local tilt angle, the incremental measurement of the yaw angle change of the gyroscope 220 can be assumed to be accurate in the short term until trust in the yaw angle measurement of the magnetometer 218 can be reestablished.

[0064] The orientation of the tracker 202, combined with the known relative positioning of the tracker 202 on the user's body and the known anatomical constraints of the user's body, enables continuous motion tracking in an uncontrolled environment, as discussed further below.

[0065] Figure 3 A user's arm 300 is shown with trackers 302, 328, 332 attached thereto for determining limb position in an uncontrolled environment. Although an arm is explicitly shown and described below, a similar process can be applied to a user's leg or other subset of the user's body or the entire body to calculate position using tracker orientation data in conjunction with known anatomical constraints of the user's body. The arm 300 can be analyzed as a kinematic chain, including a set of links (i.e., upper arm 305, lower arm 310, and hand 315) and joints (i.e., elbow 320 and wrist 325). The links 305, 310, 315 are assumed to be straight and rigid members, each extending along axes 330, 335, 342, respectively. The joint 320 is assumed to be a hinge joint (one degree of freedom), while the joint 325 is assumed to be a ball and socket joint (two rotational degrees of freedom). While the above assumptions about the possible motion of the upper arm 305, lower arm 310 and hand 315 links and the elbow 320 and wrist 325 joints are not absolute, they are reasonably known anatomical constraints that can be applied to all human bodies for purposes of calculating position using tracker orientation data.

[0066] While the user's limbs can be calculated in substantially the same manner as described above with reference to the user's arm 300, the user's torso can be treated slightly differently. In some embodiments, the user's torso includes a single tracker and is approximated as a rigid link. In further embodiments, the user's torso includes two trackers, one on the user's upper torso and one on the user's lower torso. Using two trackers, the movement of the user's torso can approximate the two links connected by a ball and socket joint. Further additional trackers can be used on the user's torso (or two torso trackers can be inserted to estimate additional spinal joints) to more accurately represent the actual kinematic chain of the user's spine, depending on the accuracy required to render the user's torso movement. In embodiments where no reference is made to an external absolute positioning device (e.g., a VR headset), one of the torso trackers can be used as a known position from which the positions of the other trackers are calculated.

[0067] The known anatomical constraints of the user's body are predefined. In some embodiments, they include height, weight and / or body shape, and limb length / range of motion limits of the user's limbs, etc. In other embodiments, the known anatomical constraints are assumed to be common to all users, rather than specific to the body of any particular user. If a user wishes to animate a similar avatar, the length of the user's limbs can be used to more accurately reflect their own size, or they can use a completely different body model as their avatar animation. The user's height, weight and / or body shape can be used to display an avatar that is more similar to themselves to the user, but this is not necessary for the function of the full-body motion capture system disclosed herein, because when the limb length is adjusted, the orientation of the limb will not change. The assumed anatomical constraints may be based on a generally known anatomical model of the human body, including restrictions on the rotation of human joints, and are used to calculate the tracker position using the measured tracker orientation. The "body" without the word "human" herein refers to the body of any human or non-human (e.g., animal), and may also have no basis in the real world (e.g., giants, aliens, and hydras).

[0068] Similar anatomical models can be made for other non-humanoid animals (e.g., canines or felines). In this case, the movements of a humanoid user can be mapped to a non-humanoid avatar. Furthermore, a non-humanoid user (e.g., a dog) can be mapped to a humanoid or non-humanoid avatar. Furthermore, the disclosed technology can be applied to any inanimate object that can be approximated by a kinematic chain, or a combination of such an inanimate object and a humanoid kinematic chain (e.g., a user holding a sporting equipment, such as a fishing rod, can be approximated using a kinematic chain).

[0069] The trackers 302, 328, 332 are connected to the upper arm 305, lower arm 310, and hand 315 of the user, respectively. The trackers 302, 328, 332 include straps 340, 345, 350, respectively, each strap for connecting the tracker 302, 328, 332 to the arm 300. The straps 340, 345, 350 are also used to orient the roll axes 355, 360, 365 of the trackers 302, 328, 332 to be generally parallel to the upper arm 305, lower arm 310, and hand 315 of the user, respectively, as shown. The straps 340, 345, 350 prevent the trackers 302, 328, 332 from being mounted to the links 305, 310, 315 in a misaligned manner, thereby allowing the alignment to be part of the constraints for calculating the tracker position using the tracker orientation data and assumed anatomical constraints.

[0070] In some embodiments, each tracker 302, 328, 332 may be selectively mounted in a position opposite to that shown. However, this still leaves the roll axes 355, 360, 365 of the trackers 302, 328, 332 substantially parallel to the upper arm 305, lower arm 310, and hand 315 of the user, respectively. Only the orientation of the trackers 302, 328, 332 is reversed, which can be compensated for by resetting the zero point of the trackers 302, 328, 332 using a calibration process, as further discussed below. In other embodiments, the yaw or pitch axis of each tracker 302, 328, 332 is substantially parallel to the upper arm 305, lower arm 310, and hand 315 of the user, respectively, rather than the roll axis. This assumption can be exploited as a known constraint to calculate the tracker position using the tracker orientation data and the assumed anatomical constraints.

[0071] As described above, assumed anatomical constraints on the human body based on known body mechanics and its motion limits are combined with tracker position data to generate tracker positions that vary over time. This data can be used to animate a digital avatar using the user's body movements in an uncontrolled environment (e.g., without a camera or other external tracker positioning information). In a calibration sequence that may include a limb recognition sequence, the tracker is pre-identified for a specific position on the user's body, which may include the position of the tracker on the strap and the position of the strap on the body to properly align the axes. After the limb recognition sequence is completed, the calibration sequence continues with the user assuming a fixed starting position (e.g., T-pose or I-pose), where each tracker is reset based on a known fixed starting position. The calibration can be repeated periodically to resolve any drift issues by returning to the fixed starting position after a short period of time (e.g., 1 to 3 seconds), with or without actively indicating to the user that it is recalibrating.

[0072] Trackers 302, 328, 332 and related links (not shown, see e.g. Figure 1Link 104) may not be able to determine the absolute position within the physical space (e.g., room) alone. In various embodiments, this is not a problem because the user's absolute position within the physical space is irrelevant to animating the user's avatar. The user's avatar moves within the virtual space anyway, and the user's real physical space is not required. In other embodiments, the absolute position within the physical space is important. In these cases, an external absolute positioning device (e.g., a VR headset) can be used to provide a reference point within the user's physical space to determine the absolute position of the tracker 302, 328, 332 within the user's physical space.

[0073] The tracker position is inferred using inverse forward kinematics, or RFK based on forward kinematics (FK). Specifically, RFK starts with the endpoint positions and orientations of the kinematic chain, and then uses the known joint orientations and link lengths to calculate the tracker position in the kinematic chain in reverse. Compared to FK, which uses the starting position and rotation and link lengths to solve for the tracker position forward along the kinematic chain, RFK starts with the endpoint positions and rotations, and then solves for the tracker position in reverse along the kinematic chain.

[0074] Mathematically speaking, FK propagates the known position inside the system forward in the kinematic chain and then aligns it with the target coordinate system at the end, like this:

[0075] EL_P=SH_P+H(EL_Q,SH2EL);

[0076] HA_P=EL_P+H(HA_Q,EL2HA);

[0077] (T_P-HA_P) = offset;

[0078] HA_P+=offset;

[0079] EL_P+=offset.

[0080] Instead, RFK propagates the known position of the target frame backwards through the kinematic chain in one iteration as follows:

[0081] HA_P=T_P;

[0082] EL_P=HA_P–H(HA_Q,HA2EL);

[0083] SH_P=EL_P–H(EL_Q,EL2SH).

[0084] No offset is needed, as all calculations are done in the target coordinate system by backpropagating the position. Referring to the above:

[0085] T_P is the known position shared by the target coordinate system and the hand;

[0086] SH_P, EL_P, and HA_P are the positions of the shoulder, elbow, and hand;

[0087] EL_Q and HA_Q are the elbow and hand quaternions;

[0088] H() is the Hamilton product of the link length rotation quaternion;

[0089] SH2EL is a fixed shoulder to elbow length. Other lengths follow the same convention.

[0090] RFK computes the unknown position and aligns it to the known coordinate system in one iteration. When using FK, one iteration is used to compute the position in the internal coordinate system, and then another iteration is used to align the internal coordinate system to the known coordinate system by computing the position difference of the two systems at common joints. RFK is particularly useful in VR applications where the position is provided by the headset. A body tracking system can be aligned to the VR coordinate system in one iteration by propagating the known position back into the kinematic chain.

[0091] Most body tracking systems use inverse kinematics (IK), which uses the position and orientation of a single end effector to estimate the missing joint positions and orientations in a kinematic chain. For example, VR controllers contain IR LEDs that can be continuously read by a VR headset. The headset uses the size and visible pattern of the LED constellation to determine the position and orientation of the controller. If the controller is held in the user's hand, IK can be used to estimate the position and orientation of the elbow without having to mount a separate tracker at the elbow. However, the accuracy of this estimate varies widely and may not be suitable for applications that require high-resolution data. In addition, animators traditionally use IK because it is easier for the animator to control the hand and let the program determine where the elbow should go. RFK can achieve higher accuracy because it generates one solution for a given set of inputs, while IK generates multiple solutions. RFK is also computationally efficient, computing each sample in just one iteration, while IK requires multiple samples and multiple iterations to converge to a solution when an analytical solution does not exist (such as in the case of the human body).

[0092] In various embodiments, hard limits in anatomical constraints can be used to correct sensor errors or drift. For example, a hinge joint can prevent movement outside of a single plane. Trackers on both sides of the hinge joint can prevent outputting position changes outside of that single plane. In addition, sensor readings outside of the hard limits can be averaged or gradually adjusted over time to reduce the likelihood of significant corrections. In some embodiments, such corrections may indicate the need to recalibrate the motion tracking system according to the above procedures. In some embodiments, an indicator (e.g., tactile feedback from a link) can be used to notify the user that recalibration is required. In addition, in some embodiments, if the user wants their avatar or related tracked object to be constrained in a specific way (e.g., a tennis racket can have hard limits that keep it attached to a specific user's hand), custom hard limits can be set.

[0093] Figure 4 Operation 400 of an example of using a full body motion capture system according to the disclosed technology in an uncontrolled environment is shown. In application operation 405, a user applies 5 to 15 trackers in a spaced arrangement on the user's body. Each tracker includes an inertial sensor or an accelerometer, a magnetometer, and a gyroscope to determine the tracker orientation. In addition, each tracker is placed at a predetermined location on the user's body (e.g., the user's head, torso, and limbs). Although there are more areas on the user's body where trackers can be placed, there will be diminishing returns beyond a total of 15 trackers. Example placement locations (number) are head (1), chest (1), waist (1), upper arm (2), lower arm (2), hand (2), thigh (2), calf (2), foot (2). Fingers and toes are also part of the human body's kinematic chain, but they can be considered special cases because their links and joints are not completely independent of each other like other parts of the body, so fewer trackers are needed to fully capture their motion.

[0094] The calibration operation 410 calibrates the tracker relative to a fixed reference including a tracker. In an exemplary embodiment, the fixed reference is a user's head including a tracker. The user stands in a predetermined position and the tracker is calibrated relative to the fixed reference using known anatomical constraints of the user's body (e.g., the user's height and weight) and motion constraints of the tracker's various positions (e.g., elbows and knees can only rotate about a single axis, while hips and shoulders can rotate in all directions). In other embodiments, the calibration operation 410 does not require a fixed reference.

[0095] The calibration operation 410 may also define the exact location on the user's body at which each tracker is applied. For example, when the user is instructed to apply a tracker to their left upper arm, the calibration operation 410 determines and stores the exact location (e.g., front, back, medial, or lateral) of the tracker on the user's left upper arm. The calibration operation 410 defines the starting location and orientation of each tracker with reference to a fixed reference (e.g., a tracker applied to the user's head).

[0096] Tracking operation 415 tracks accelerometer, magnetometer, and gyroscope measurements of each tracker as the user moves from a first body position to a second body position, and so on. Sensor fusion operation 420 combines data from the accelerometers, magnetometers, and gyroscopes associated with each tracker to generate a signal representing the orientation of each tracker as the user changes body position over time.

[0097] Sensor fusion is the process of taking data from different sources and generating a combined output. For IMU data, the input is accelerometer, gyroscope and magnetometer data, and the output is orientation data. Some filters traditionally used for IMU data include Mahony, Kalman and Madgwick algorithms. These algorithms all have the same problem, that is, there is no reliable correction reference. They use gravity vectors and magnetic field vectors, but they assume that the data is accurate under all conditions. If the input data is inaccurate, the filter will adopt the data and produce inaccurate results. In addition, these are general algorithms and are not necessarily developed for IMU sensor fusion. The method disclosed in the present invention uses an opportunistic approach that relies on using sensor data only when they are considered accurate. In an exemplary embodiment, the gyroscope continuously collects data at a frequency of more than 400Hz, which is sufficient to capture most human body movements. The gyroscope data updates the quaternion by rotating the quaternion on the appropriate axis. The quaternion is converted into roll, pitch and yaw angles in an XYZ Euler Angle Sequence for potential correction. The accelerometer data is sampled at 10Hz and its magnitude is calculated. If the magnitude is close to gravity, the data is considered accurate.

[0098] The roll and pitch angles are calculated by the accelerometers and compared to the roll and pitch angles derived from the quaternion. The two measurements are then combined using a complementary filter, placing more weight on the values ​​derived from the quaternion to achieve smooth motion. The new roll, new pitch, and old yaw are then combined to form the corrected quaternion. Correcting the yaw angle requires combining the concepts already discussed. First, the trackers must know where they are on the body and their position (for example, the trackers can be placed on a belt in two ways), which may be pre-configured.

[0099] After defining the tracker to the corresponding position, the user stands in the calibration pose. The most natural pose seems to be the I pose, that is, the body standing straight, feet together and facing forward, and arms stretched vertically downward. The tracker detects that there has been no movement for a predetermined time and has the correct quaternion-derived acceleration values, and determines that the user wants to calibrate. This can be done at any time. Since the tracker knows its position on the body, it knows which quaternion it should reset to. Another advantage is that if this pose is accidentally maintained, recalibration of the tracker will only improve the user experience.

[0100] In an alternative technique that occurs immediately after the quaternion is reset (assuming the magnetic field is constant), the tracker starts recording magnetometer data in a lookup table (LUT) along with the yaw angle (assuming short-term accuracy). The first thing to check is whether the magnetometer data is trustworthy. In prior art schemes, this involves rotating the tracker in all possible orientations to find the best fitting ellipsoid, but this is impractical for this application. Alternatively, an effective check is to compare the magnetometer data with the accelerometer data. Both magnetometer data and accelerometer data measure a fixed reference, they are just different references, so the data is similar except for the rotation. The dot product of the two vectors gives the similarity between them. If they are similar, it means that the magnetometer data is accurate and is considered accurate. Only when the tracker has rotated a sufficient amount is the new magnetometer data stored. If the magnetometer data is within a reasonable range of the value previously stored in the LUT, the yaw angle and the quaternion-derived yaw angle are used in a complementary filter to correct itself. In this way, the yaw angle will be accurate to within a few degrees, as the error is not allowed to grow. The magnetic field in a room is stable, so once the user calibrates in a room, it is likely to remain valid. If the user changes rooms, the magnetic field will shift slightly (e.g. due to different hard iron offsets). Using the LUT and the quaternion-derived yaw angle, the LUT can be offset so that the user may not need to recalibrate when changing rooms.

[0101] The merging operation 425 merges the signal outputs from the trackers into a single link. The link can also be attached to the user's body, or placed near the user's body, for merging the signal outputs from the individual trackers. In various prior art systems, having multiple wireless trackers means having multiple links (also called receivers), which increases the link size because each antenna needs to be at a sufficient distance from the other antennas. Each link and tracker pair can operate at a different frequency to reduce interference, but if multiple links and tracker pairs operate simultaneously, interference will still exist. The disclosed technology uses a single link (or receiver) for all trackers (or a subset of trackers). Another benefit is that it reduces the load on the computing device because it only needs to manage data from one link, rather than multiple links. In addition, a single combined packet works well with standardized communication protocols (e.g., Bluetooth or WiFi) that are designed for larger packets and fewer concurrent connections.

[0102] In one embodiment, as described below with reference to Figures 5 to 7 As further disclosed, the link utilizes cascaded communication with the tracker to collect and distinguish the location data sent by the tracker to the link. In other embodiments, the link scans a predetermined wireless frequency for a time sufficient to capture a signal. The tracker synchronizes its timer with the link so that it knows when to send the next packet of location data. The link switches to another frequency, waits for a signal, and synchronizes with another tracker. This operation is performed until the expected number of trackers is reached and then repeated. With clock synchronization, the tracker is able to sleep when not sending data and the link is able to sleep when not expecting to receive data, thereby keeping battery requirements low and further helping to reduce tracker / link size. In addition, the link acts as a data buffer and combines data from the trackers into a single packet before sending it to another computing device along the data processing chain. This keeps latency to a minimum because the processing required for real-time analysis is the sampling rate of the data, rather than the faster on-demand sampling rate.

[0103] Interpolation operation 430 interpolates the data received by the link to generate a digital representation of the user's body movement. More specifically, interpolation operation 430 uses the tracker positions on the user's body and constraints specific to the user's body (or the human body in general) to generate a signal that digitally represents the relative position and movement of each tracker over time. Interpolation operation 430 is performed using each tracker on the user's body to fully map the movement of the user's body to the digital avatar. In various embodiments, the link is connected to a computing device that performs interpolation operation 430. The digital representation of the user's body movement can then be stored in the computing device or sent to other computing devices over a computing network.

[0104] Figure 5A whole body motion capture system 500 with cascaded communication between a link 504 and trackers 502, 528, 530, 532, 534, 536 connected thereto according to the disclosed technology is shown. Trackers 502, 528, 530, 532, 534, 536 represent measurement devices worn on a user's body to capture the user's body motion. Trackers 502, 528, 530, 532, 534, 536 may be strategically placed on the user's body and spaced apart to capture relative motion of different parts of the user's body.

[0105] Each of the trackers 502, 528, 530, 532, 534, 536 is equipped with various sensors that are used in conjunction with a computing device referred to herein as an inertial measurement unit (IMU) to determine orientation. For example, each tracker 502, 528, 530, 532, 534, 536 can be equipped with an inertial sensor or an accelerometer, a magnetometer, and a gyroscope. The output of the sensors, combined with the anatomical constraints imposed by the position of the user's body at which the trackers 502, 528, 530, 532, 534, 536 are located, enables the system 500 to achieve full body motion capture without the use of an external camera.

[0106] Trackers 502, 528, 530, 532, 534, 536 are each also equipped with a communication link with receiving and transmitting capabilities, which utilizes a custom short-range communication protocol running on a specific frequency (e.g., 2.4 GHz ISM band) for transmitting the position of trackers 502, 528, 530, 532, 534, 536 to link 504. Link 504 is also placed on the user's body and also includes a communication link with receiving and transmitting capabilities. Link 504 is used to receive and integrate the position data received from trackers 502, 528, 530, 532, 534, 536 via the communication link.

[0107] Prior art wearable trackers are typically paired with associated links in a 1:1 relationship to maximize signal integrity and throughput. Such a system minimizes the risk of location data from each tracker being confused with location data from other trackers. However, such prior art systems increase the number of links required from one provided in the disclosed technology to a number equal to the number of trackers. This is disadvantageous due to increased cost and overall system complexity. In addition, these systems may still have signal integrity issues because on-air interference may be unavoidable when synchronization schemes are not adopted.

[0108] Other prior art systems attempt to connect multiple trackers to a single link via a common communication standard (e.g., Bluetooth). However, connecting multiple devices via a common communication standard (e.g., Bluetooth) often results in packet reception delays, including queued or dropped packets that must be re-requested from the tracker. In addition, such prior art systems focus on sending location data from the tracker to the link, rather than the orientation data provided herein. These location data packets tend to be larger than orientation data packets and are therefore more susceptible to packet loss due to wireless network bandwidth limitations.

[0109] Another problem with prior art body-worn sensors that use wireless communications to communicate with one or more neighboring links is that the human body tends to block most signals in the 2.4 GHz band. One solution is to use more power, but this comes at the expense of a larger device. Instead, one can keep the range of the wireless connection to a shorter range and increase the size of only one device, in this case the body-worn link 504. Link 504 can be worn on the user's body to minimize the distance from the trackers 502, 528, 530, 532, 534, 536 and maximize the quality of the connection.

[0110] To further improve the quality of the connection, the trackers 502, 528, 530, 532, 534, 536 can space their signals to be received by the link 504 in time, space, or frequency. For example, the trackers 502, 528, 530, 532, 534, 536 can operate at frequencies spaced apart in the 2.4 GHz band or multiple bands to reduce interference in the propagation path. By further example, the trackers 502, 528, 530, 532, 534, 536 can operate at predetermined time slots (e.g., allocated time points or time windows), each time slot being unique to one of the trackers 502, 528, 530, 532, 534, 536. More specifically, the position data packets 538, 540, 542, 544, 546, 548 transmitted from the trackers 502, 528, 530, 532, 534, 536 are cascaded in time so that the link 504 receives the data packets in sequence. The link 504 can identify the source of each data packet based on the time when the data packet is received.

[0111] Link 504 is also capable of transmitting acknowledgment packets (not shown, see e.g., Figure 6The link 504 provides feedback to the trackers 502, 528, 530, 532, 534, 536 in the form of acknowledgments or acknowledgment packets A to D). The acknowledgment packets acknowledge receipt of the respective data packets 538, 540, 542, 544, 546, 548 and provide instructions to modify the timing of the next data packet sent from the respective tracker 502, 528, 530, 532, 534, 536 to more closely match the predetermined time slot assigned to the tracker. In this way, the link 504 provides a continuous time feedback loop to ensure that the trackers 502, 528, 530, 532, 534, 536 continue to send location data packets in their assigned predetermined time slots.

[0112] In addition, the data required to transmit the device position can be minimized to only a few bytes (e.g., less than 16 bytes or 8 bytes), which can be transmitted in 1 millisecond or even 300 microseconds. When not in active use, the trackers 502, 528, 530, 532, 534, 536 can enter a low power (sleep) mode while the IMU of each tracker 502, 528, 530, 532, 534, 536 fills its data buffer. As described above, the trackers 502, 528, 530, 532, 534, 536 are synchronized with the link 504 so that no two of the trackers 502, 528, 530, 532, 534, 536 transmit position data packets at the same time to reduce interference and allow the trackers 502, 528, 530, 532, 534, 536 to sleep between transmissions to extend battery life. The use of low power wireless and / or wired connections can minimize the power requirements of the trackers 502, 528, 530, 532, 534, 536, which allows them to be used to continuously monitor the user's body while using the full body motion capture system 500 and still maintain a long battery life. In a purely wired implementation, the trackers 502, 528, 530, 532, 534, 536 can omit a dedicated battery power source and draw power from a central battery located in the link 504.

[0113] Although Figure 5Six trackers 502, 528, 530, 532, 534, 536 are shown connected to one link 504, but other embodiments may include any number of trackers (e.g., 1 to 32) connected to a single link, with the only limiting factor being the bandwidth available to separate inbound data packets from each tracker in a timely manner. Specifically, if it takes 1 millisecond for a tracker to send a packet and receive an acknowledgment packet, the radio time is 1 millisecond. In cascaded communications, radio time cannot be occupied by multiple connections at the same time. Therefore, if the system 500 runs at 100 Hz (10 milliseconds), the system 500 only supports 10 trackers. If the frequency is reduced to 30 Hz (33 milliseconds), the system 500 will support an increase to 33 trackers. The radio time can be reduced by increasing the bit rate, but at the expense of range and signal integrity. In some embodiments, the signal frequency is used to further separate the tracker data packets. For example, if there are more trackers using a single link than available bandwidth, a first set of trackers may use a first frequency band while a second set of trackers may use a second frequency band, thereby doubling the maximum possible number of trackers that may be connected to the link. By way of further example, two separate full body motion capture systems may be used in close proximity (e.g., within the same room or building) by operating a first link and its associated trackers on a first frequency band and a second link and its associated trackers on a second frequency band. Additionally, more than two frequency bands may be used to further expand the number of links and associated trackers that may be used in physical proximity to one another.

[0114] In another embodiment, one or more trackers 502, 528, 530, 532, 534, 536 can be replaced with a combined tracker (e.g., a glove) comprising multiple individual trackers. The position data of the multiple individual trackers is merged at the combined tracker, and the packets transmitted from the combined tracker contain the position data of each of the multiple individual trackers therein. In some embodiments, this can produce incrementally larger position data packets. The system 500 can evenly space and allocate appropriate amounts of time to accommodate various packet sizes using a ratio of the total bandwidth. This approach works as long as the packet size is fixed and does not change over time. For example, if the combined tracking device uses 20% of the available bandwidth, it will be given larger time slots to reflect this by moving each other tracker that only consumes 10% of the available bandwidth.

[0115] In various embodiments, outbound positioning data packets from trackers 502, 528, 530, 532, 534, 536 are encrypted and / or authenticated. Encryption and / or authentication enhances user privacy and security while preventing or reducing the replacement of trackers 502, 528, 530, 532, 534, 536 with unauthorized trackers or the replacement of links 504 with unauthorized links. The encryption process includes a synchronized pseudo-random number generator that exists on trackers 502, 528, 530, 532, 534, 536 and links 504. Each outbound positioning data packet iteration is generated using a new key based on the latest pseudo-randomly generated number, which will be known to both the tracker (for encryption) and the link (for decryption). In addition, each tracker / link pairing has its own pseudo-random number pairing, so if any tracker is hacked, only that one tracker can be accessed. Authentication can be accomplished by generating a hash of each position data packet by the tracker and link. If the hashes match, the location data packet is authenticated.The bit fields within each location data packet may also be scrambled to further enhance encryption and / or authentication of the location data packet.

[0116] A new tracker can be added to the system 500 using the following process: Link 504 sends its position in the pseudo-random generator to the new tracker so that the new tracker can synchronize to the same count. Next, the new tracker will generate the same pseudo-random number-based key as Link 504.

[0117] The result is a low-footprint encrypted and / or authenticated positioning data packet. Since positioning data packets are already small, low-footprint encryption and / or authentication is important so as not to overburden the positioning data packet with security measures that would overwhelm the amount of data actually being transmitted. A similar process is also contemplated herein for encrypting and / or authenticating data from link 504 to an external computing device (not shown, see e.g. Fig.10 Outbound data packets from external computing device 1099).

[0118] Information security involves confidentiality, integrity, and availability. Most off-the-shelf security systems are designed for larger data packets, which are generally considered in this article, or for securely storing static data. These algorithms are often resource-intensive and computationally expensive. Even technologies such as Bluetooth Low Energy, which uses AES-CCM as its default security protection, require dedicated encryption / decryption hardware to run effectively on resource-limited systems. In addition, AES-CCM requires at least 5 bytes of payload and an additional 4 bytes of data per packet for security, which makes it impossible to use in real-time applications with smaller payloads because the encryption overhead will be greater than the payload itself. Therefore, many existing technologies focus on protecting static data or protecting larger packets. In fact, many real-time systems forgo any form of security because it is widely believed that it is impossible to do this adequately in real time.

[0119] The disclosed technology includes a symmetric key algorithm using a stream cipher that follows the concept of a one-time pad (OTP). The generated ciphertext is secure as long as the following conditions are met:

[0120] 1. The key is at least as long as the plaintext;

[0121] 2. The key must be random;

[0122] 3. The key must not be reused;

[0123] 4. The key must be kept secret.

[0124] Using these concepts as building blocks, the algorithms of the present disclosure can be derived.

[0125] The key size of 64 bits (8 bytes) is chosen to match the 64-bit payload. In order for the key to never be reused, a counter-based pseudo-random number generator (CBPRNG) can be used to generate a new 64-bit key at each iteration. This type of number generator has no internal state, and two independent CBPRNGs, if they use the same key, will produce the same result if they are given the same counter number. If they use different keys, the generated 64-bit keys will not match. Since the CBPRNG is not truly random, it must be selected carefully to ensure that it passes statistical tests for randomness, entropy, and uniformity. In addition, the generator must be able to provide random numbers at least as long as the life of the system 500 to avoid duplication. The key is programmed into each tracker-link pair at the factory and is never shared again. This means that a specific tracker can only be used with a specific link (e.g., link 504). Adding a tracker or replacing a tracker requires link 504 to know the tracker's key. This key exchange can be performed over a secure connection between link 504 and the computing device.

[0126] System 500 addresses confidentiality issues by using randomly generated keys in various ways. Data can be XORed directly with the key. This will ensure that the data appears random to a passerby. However, even though the data may appear random, a passerby knows that certain data is being transmitted. An attacker can intercept packets and replace bits with their own data to guess the packet format. This way, they can determine which bits contain location data or which bits contain battery charge because they can see the effect their changes have on those parts of the decrypted data. To prevent this, cyclic shifts can be used to increase obfuscation and diffusion, which moves the key bits around. If an attacker tries the same technique, they now have no idea which bits contain which data because the results will be random.

[0127] Integrity is concerned with preventing data from being tampered with like in the example above. Integrity is achieved by using a cryptographic hash one-way function that produces the same result when fed the same data, but produces a very different result when fed a slightly different set of data. Typically this is achieved with a message authentication code (MAC). There are three common ways to do this, but the fastest for small packets is MAC-then-Encrypt. The payload is run through a hash function and then a MAC is generated. The MAC is appended to the payload and then the data is XORed and bit-shifted using the key to produce an encrypted packet. When the packet is transmitted, the receiver will first decrypt the packet using the same key and then run the resulting decrypted payload through the same hash function and compare the MAC. If they match, the data is safe to use, otherwise, the data has been tampered with and can be ignored. Fast hash functions can be used, for example, a 32-bit version of siphash or highwayhash. The result can be XORed and reduced to 8 bits to optimize data packet size.

[0128] Availability itself involves preventing denial of service attacks, which prevent legitimate users from using system 500. For example, an attacker could send thousands of data packets per second, causing system 500 to be unable to receive actual real data, similar to a jammer. The problem may not be avoidable because it occurs at the physical level. Even if system 500 randomly changes frequencies, the attacker could flood all frequencies with attacks. System 500 also has no way to detect the source of the packet without first decrypting the packet, so system 500 must spend time decrypting individual packets before ignoring it. This is a problem with all wireless systems because the physical signal itself can be interfered with, which is equivalent to cutting the signal line in a wired system.

[0129] Each tracker 502, 528, 530, 532, 534, 536 has a different key. The key is shared with link 504. Initially, the tracker sends an unencrypted packet containing no information, and link 504 replies with the current counter in an unencrypted acknowledgment packet. Link 504 must keep track of the counter to prevent the counter from being reused or deliberately advanced. The counter can be saved in persistent memory and samples can be skipped at each restart to prevent intentional manipulation of the counter value to drain the battery or malfunction. In addition, each tracker 502, 528, 530, 532, 534, 536 keeps track of its counter in the same way that an attacker can pretend to be link 504 or a tracker. If one of the trackers 502, 528, 530, 532, 534, 536 receives a link counter value that is lower than the current tracker counter value, the tracker will ignore the counter value and send another unencrypted zero data packet. Link 504 will advance the counter by a few thousand and try again. Link 504 will continue to advance the counter value until it is greater than the tracker's current counter. While this can be done to intentionally forward the link counter, which has 264 possible values ​​before overflowing, this process may require multiple life cycles.

[0130] Once the tracker receives a valid counter value from link 504, the tracker runs the CBPRNG and generates a 64-bit key. This key is used to run a hash function on the payload to generate an 8-bit MAC. The 56-bit payload and the 8-bit MAC are then scrambled using the key to form an encrypted packet. The 64-bit encrypted packet is sent to link 504. Link 504 receives the packet and runs the same CBPRNG using the same counter number and the same key as the tracker to generate the same 64-bit key. The key descrambles the 64-bit encrypted packet and runs the 56-bit payload through a hash function. If the hash function generates the same 8-bit MAC as present in the packet, the data is safe to use. If the hash does not match, the data is ignored. In the next sample, the link counter and the tracker counter will advance regardless of whether the data is valid. If the hash value is invalid after a certain number of samples, link 504 will resume sending the counter number and start the process over again. In this way, the communication between link 504 and the tracker is secure. Even if an attacker manages to find the key of one of the trackers, it will only be valid for that one tracker.

[0131] Figure 6A cascaded communication system (e.g., a full-body motion capture system) 600 is shown with cascaded communication between a link device (or link) 604 and sensing devices (or trackers) 602, 628 connected thereto according to the disclosed technology. Although sensing devices 602, 628 are generally discussed herein as representing measurement devices worn on a user's body to capture the user's body motion, other embodiments may include any sensor grouping (or sensor, buffer, and microcontroller) capable of detecting information and queuing the information as data stored in a buffer for timed outbound transmission. Similarly, although link device 604 is generally discussed herein as receiving and merging orientation data received from a set of trackers, link device 604 may only receive data from sensing devices 602, 628 and distinguish the received data based on its timing, regardless of whether the received data is merged.

[0132] The sensing devices 602, 628 and the link device 604 are each equipped with a low-frequency clock and a high-frequency clock (collectively referred to as clocks 650, 652, 658). The high-frequency clock is more accurate than the low-frequency clock, but consumes more power. However, the high-frequency clock can periodically calibrate the low-frequency clock to maintain a very similar accuracy to the high-frequency clock, while the overall power consumption is lower. In addition, the independent self-calibration of the low-frequency clock enables the tracker low-frequency clock of each sensing device 602, 628 to be synchronized with the low-frequency clock of the link device 604 within a few nanoseconds without the need for the same clock source. The sensing devices 602, 628 use the low-frequency clock to wake up from a sleep state and perform functions such as reading sensor data, performing sensor fusion, and sending data packets. These functions have a fixed code execution time.

[0133] Each time the link device 604 receives a data packet from one of the sensing devices 602, 628, it compares the reception time with its own clock 658 and calculates the difference from the expected time. If the packet arrives early or late, the link device 604 sends the correction value to the sensing device via an acknowledgment packet or acknowledgement (ack.). The sensing device receives the acknowledgment packet and adjusts its sleep time so that the next time it wakes up, the link device 604 will receive the packet closer to its expected time.

[0134] Since the code execution time is fixed, this process works fine. If the execution time of the code is variable, data processing can occur before going to sleep and waking up to send packets can be reserved since waking up and sending have fixed execution time. If an acknowledgement is not received, the tracker does not attempt to resend the packet, but instead times out and goes directly to sleep. This is sufficient for body tracking data since data for up to 6 lost samples can be reasonably interpolated. For applications that require higher data integrity, the sensing devices 602, 628 can track the number of lost packets and offset the time since each lost packet uses a fixed amount of time. Although the algorithm is designed for systems where the connected devices have the same frequency, the algorithm can be modified to handle devices with different frequencies.

[0135] The sensing devices 602, 628 are each equipped with one or more sensors (e.g., IMUs) 638, 640, buffers 642, 644, and microcontrollers 646, 648. The microcontrollers 646, 648 are also equipped with clocks 650, 652 and communication links 654, 656, respectively, each with the ability to receive and transmit using a custom short-range communication protocol running on a specific frequency (e.g., 2.4 GHz ISM band). The communication links 654, 656 transmit information collected by the sensors 638, 640 and queued by the buffers 642, 644, respectively, to the link device 604. The link device 604 is equipped with its own clock 658 and communication link 660 for receiving data received from the sensing devices 602, 628, and in some embodiments, merging the data.

[0136] The sensing devices 602, 628 may space their signals to be received by the link device 604 in time, space, or frequency. For example, the sensing devices 602, 628 may operate at frequencies spaced apart in the 2.4 GHz band or multiple bands to reduce interference in the propagation path. By further example, the sensing devices 602, 628 may operate in predetermined time slots (e.g., allocated time points or time windows), each of which is unique to one of the sensing devices 602, 628. The data packets sent from the sensing devices 602, 628 may be cascaded in timing so that the link device 604 receives the data packets in sequence. The link device 604 may identify the source of each data packet based on the time at which the data packet is received.

[0137] The link device 604 is also capable of providing feedback to the sensing devices 602, 628 in the form of acknowledgments or acknowledgement packets sent in response to the receipt of individual data packets. The acknowledgement packets acknowledge the receipt of the individual data packets and provide instructions to modify the timing of the next data packet sent from each sensing device 602, 628 to more closely match the predetermined time slots assigned to the sensing devices. In this way, the link device 604 provides a continuous timing feedback loop to ensure that the sensing devices 602, 628 continue to send data packets in their assigned predetermined time slots. Since the sensing devices 602, 628 have fixed execution times and the low frequency clocks are synchronized, the link device 604 only needs to know the time when the packet was received because the time difference from the expected reception to the actual reception will be the exact offset required by the sensing device 602, 628 to ensure that the next tracker packet is closer to the expected reception time.

[0138] For clarity, the following specific example is provided. Clocks 650, 652, 658 run at a cyclic period (e.g., 1000 Hz or 1 ms). The sensing device 602 references the clock signal of clock 650 and is assigned a time slot A (e.g., 0.4 milliseconds, 0.4 ms, 1.4 ms, 2.4 ms, etc.). Samples of buffered data (data packets A) are taken from buffer 642 and sent out at 0.4 ms intervals via communication link 654. Upon receipt of data packet A, link device 604 sends an acknowledgment A back to sensing device 602 via communication link 660 to acknowledge receipt of data packet A.

[0139] The timing of the data packet A received by the link device 604 will be close enough to the assigned time slot A to identify that the data packet originated from the sensing device 602, but some error will be introduced by transmission time, operational differences of the clocks 650, 652, 658, etc. Instructions are embedded in the acknowledgment A to modify the timing of the next data packet to be sent out of the sensing device 602 to more closely match the time slot assigned to the sensing device 602 (referenced to the clock signal from the clock 658). The instructions are used to correct any difference between the assigned time slot A and the actual reception time of the data packet A at the link device 604.

[0140] Sensing device 628 is assigned time slot B (e.g., 0.8 ms, 0.8 ms, 1.8 ms, 2.8 ms, etc.), referenced to the clock signal of clock 652. Samples of buffered data (data packet B) are taken from buffer 644 and sent out at 0.8 ms intervals via communication link 656. After receiving data packet B, link device 604 sends an acknowledgment B back to sensing device 628 via communication link 660 to acknowledge receipt of data packet B.

[0141] The timing of data packet B received by link device 604 will also be close enough to the assigned time slot B to identify that the data packet originated from sensing device 628, but some errors will be introduced by transmission time, operational differences in clocks 650, 652, 658, etc. Embedded in acknowledgement B is an instruction to modify the timing of the next data packet sent from sensing device 628 to more closely match the time slot assigned to sensing device 628. This instruction is used to correct any difference between the assigned time slot B and the actual reception time of data packet B at link device 604.

[0142] Another sample of the buffered data (data packet C) is taken from buffer 642 and sent out over communication link 654 at 1.4 ms intervals by default. However, acknowledgment A is used to modify the transmit time slot of data packet C to more closely reflect the assigned receive time slot of data packet C. For example, acknowledgment A may include an instruction to delay the next packet by 20 μs. Therefore, from the perspective of sensing device 602 and its clock 650, data packet C is transmitted 20 μs earlier than 1.4 ms. After receiving data packet C, link device 604 sends acknowledgment C back to sensing device 602 over communication link 660 to confirm that data packet C has been received.

[0143] The timing of the data packet C received by the link device 604 will be close enough to the assigned time slot C to identify that the data packet originated from the sensing device 602, and due to the delay instruction, may be closer to the assigned time slot C, but some error may still remain. Embedded in the confirmation C is another instruction to modify the timing of the next data packet sent from the sensing device 602 to more closely match the time slot assigned to the sensing device 602. This instruction is used to correct any difference between the assigned time slot C and the actual reception time of the data packet C at the link device 604.

[0144] Another sample of buffered data (data packet D) is taken from buffer 644 and sent out over communication link 656 at 1.8 ms intervals by default. However, acknowledgment B is used to modify the transmit time slot of data packet D to more closely reflect the assigned receive time slot of data packet D. For example, acknowledgment B may include an instruction to advance the next packet by 20 μs. Therefore, from the perspective of sensing device 628 and its clock 652, data packet D is transmitted 20 μs later than 1.8 ms. After receiving data packet D, link device 604 sends acknowledgment D back to sensing device 628 over communication link 660 to confirm that data packet D has been received.

[0145] The timing of the data packet D received by the link device 604 will be close enough to the assigned time slot D to identify that the data packet originated from the sensing device 628, and may be closer to the assigned time slot D due to the early instruction, but some error may still remain. Embedded in the confirmation D is another instruction to modify the timing of the next data packet sent from the sensing device 628 to more closely match the time slot assigned to the sensing device 628. This instruction is used to correct any difference between the assigned time slot D and the actual reception time of the data packet D at the link device 604.

[0146] For ease of explanation, Figure 6 The specific example provided in and the above examples only provide two sensing devices 602, 628 and a total of four data packets A to D, two for each sensing device 602, 628. In fact, this example can be extended to any number of devices required within the bandwidth constraints. In addition, this example can be extended to a continuous sequence of multiple cascaded data packets from sensing devices 602, 628 (and possibly other sensing devices) to provide a continuous positive feedback loop to maintain the timing of data packets incoming to the link device 604 within the predetermined time slot. In some embodiments, approximately three consecutive cascaded data packets from each sensing device are sufficient to achieve a high accuracy of meeting the predetermined time slot. The close frequencies and allocated time slots provided are also merely examples, and the frequency can be increased or decreased depending on the needs of the link device 604 and the potential use of the underlying information in the data packets.

[0147] In addition, the data required to transmit the device position can be minimized to only a few bytes (e.g., less than 16 bytes or 8 bytes), which can be transmitted within 1 millisecond or even 300 microseconds. The data packets (each containing information from the sensing devices 602, 628 and the confirmation packet) can each include an identifier indicating the intended destination of the packet. For example, data packets A to D may include an identifier of the link device 604, so that only the link device 604 reads data packets A to D. Sensing devices other than the sending device may also receive data packets A to D, but may ignore them based on the identifier. Similarly, confirmation packets A to D may include an identifier of a specific intended sensing device, so that only the sensing device reads each outbound confirmation. Link device 604 and / or any other sensing device may also receive outbound confirmations, but may ignore them based on the identifier.

[0148] When not in active use, the sensing devices 602, 628 can enter a low power (sleep) mode, where the microcontrollers 646, 648 are in standby mode and the sensors 638, 640 fill their respective data buffers 642, 644. When the assigned time slot of the sensing device is approaching, the sensing device will power up its microcontroller in time to sample its buffer and send the sample as an outgoing data packet, which is used to send to the link device 604, as discussed in detail below. After receiving an acknowledgement from the link device 604, the sensing device can enter a low power (sleep) mode again until the next assigned time slot of the sensing device is approaching. This process is repeated, and by having each sensing device in a low power mode for most of the time, the battery life of each sensing device is improved.

[0149] As described above, the sensing devices 602, 628 are synchronized with the link device 604 so that the sensing devices 602, 628 do not transmit data packets at the same time to reduce interference and allow the sensing devices 602, 628 to sleep between transmissions, thereby extending battery life. The use of low-power wireless connections and / or wired connections can minimize the power requirements of the sensing devices 602, 628, allowing them to continue sensing when the system 600 is in use while still maintaining a long battery life. In a purely wired implementation, the sensing devices 602, 628 can omit a dedicated battery power source and draw power from a central battery located in the link device 604.

[0150] Although as discussed in detail above, Figure 6 Two sensing devices 602, 628 are shown connected to one link device 604, but other embodiments may include any number of sensing devices (e.g., 1 to 32) connected to a single link device, with the only limiting factor being the bandwidth that can be used to separate the inbound data packets from each sensing device in a timely manner. In some embodiments, the signal frequency is used to further separate the data packets of the sensing devices. For example, if there are more sensing devices used with a single link device than the available bandwidth, a first group of sensing devices may use a first frequency band and a second group of sensing devices may use a second frequency band, thereby doubling the maximum possible number of sensing devices connected to the link device. By way of further example, two separate cascaded communication systems may be used in close proximity (e.g., within the same room or building) by operating a first link device and its associated sensing devices on a first frequency band and a second link device and its associated sensing devices on a second frequency band. Still further, more than two frequency bands may be utilized to further expand the number of link devices and associated sensing devices that may be used in physical proximity to one another.

[0151] Figure 7Operation 700 of an example of using a full body motion capture system with cascade communication between a link and a tracker connected thereto according to the disclosed technology is shown. Other embodiments may use the cascade communication operations of the present disclosure for systems other than full body motion capture. A generation operation 705 generates orientation data for the tracker and stores it in a buffer within the tracker. A tracker is a measurement device worn on a user's body to capture the user's body movements. The tracker can be strategically placed and separated from other trackers on the user's body to capture relative motion of different parts of the user's body. The tracker is equipped with various sensors that are combined with a computing device referred to herein as an inertial measurement unit (IMU) to determine orientation and generate orientation data.

[0152] An extraction operation 710 extracts a sample of the buffered data and places the sample into a data packet sent from the tracker, the data packet being sent in a time slot assigned to the tracker, referenced to a tracker clock signal. The tracker includes a microcontroller with a communication link that performs the extraction operation 710. The tracker also includes a clock that defines a first tracker clock signal.

[0153] Receiving operation 715 receives data packets from a tracker via a link. The link may also be placed on the user's body and also include a communication link with receiving and transmitting capabilities. The link is used to receive and integrate position data received from a connected tracker (e.g., the tracker discussed above) via a communication link.

[0154] An acknowledgement operation 720 acknowledges receipt of the packet using an outbound acknowledgement packet including instructions to modify the timing of the next data packet to be sent out of the tracker to more closely match the time slot assigned to the tracker by the reference link clock signal. A second receive operation 725 receives an outbound acknowledgement packet from the tracker's link. A low power operation 730 switches the tracker into a low power mode between the second receive operation 725 and the operation of extracting the next sample of buffered data to place in the next data packet. When the time slot assigned to the tracker is restored, a modification operation 735 repowers the tracker and modifies the timing of the next data packet to be sent out of the tracker as instructed by the acknowledgement packet.

[0155] Operations 700 are substantially repeated for a second tracker that is assigned its own different time slot so that data packets incoming to the link from the second tracker can be distinguished from data packets incoming to the link from the tracker discussed in detail above. Figure 7The specific example provided in and the examples described above provide only one tracker and one data packet. In practice, the example can be extended to any number of trackers as desired within bandwidth constraints. Furthermore, the example can be extended to a continuous sequence of a large number of cascaded data packets from a tracker (and possibly other trackers) to provide a continuous positive feedback loop for each tracker to maintain the timing of the data packets of the incoming link within a predetermined time slot.

[0156] Fig. 8A An example charging dock 810 is shown with an associated tracker (or sensing device) 802 and link 804, each utilizing low power near beam wireless inductive charging from the charging dock 810. Dashed lines illustrate structures and features that are shown for clarity but are not generally visible. The charging dock 810 includes an array of six tracker docking stations (e.g., tracker docking stations 818) that are configured to receive battery powered sensing devices, such as trackers (e.g., tracker 802) in a particular charging orientation. The tracker charging orientation can be described as having a back side 870 of the tracker 802 positioned adjacent to a front side 872 of the tracker docking station 818, the tracker 802 being centered in the tracker docking station 818 and rotated so that its side (e.g., side 874) is aligned with a lower lip 876 of the tracker docking station 818, and the tracker 802 being positioned within a fixed seat in the charging dock 810 formed by the tracker docking station 818. The charging dock 810 also includes a link docking station 820 that is configured to also receive the link 804 in a particular charging orientation. The link charging orientation can be described as having a back surface 878 of the link 804 placed adjacent to a top surface 880 of the link docking station 820, the link 804 being centered in the link docking station 820 and rotated so that its side (e.g., side 882) is aligned with a lip (e.g., lip 884) of the link docking station 820, and the link 804 being seated within a recess of the charging dock 810 formed by the link docking station 820.

[0157] The link 804 and tracker slide fit within the link and tracker docking stations, respectively (with or without rubber pieces), to removably secure the link 804 and tracker in the desired orientation for the charging dock 810. In other embodiments, the tracker includes receivers (not shown) on each side that removably receive matching clips (also not shown) on the charging dock 810, to secure the tracker in the desired orientation for the charging dock 810. Further embodiments may include magnets within the link and tracker docking stations that mate with magnets within the link and tracker themselves, respectively, to removably secure the link 804 and tracker in the desired orientation for the charging dock 810.

[0158] Charging dock 810 utilizes low power close beam wireless inductive charging to charge trackers and links 804. Each tracker includes a tracker inductive coil located inside and adjacent to a flat outer surface of the tracker (e.g., tracker inductive coil 886 located inside a flat outer surface, such as back surface 870 of tracker 802). Each tracker docking station includes a matching station inductive coil located inside and adjacent to a flat outer surface of the docking station (e.g., station inductive coil 890 located inside a flat outer surface, such as front surface 872 of tracker docking station 818). Similarly, link 804 includes link inductive coil 888 located inside and adjacent to a flat outer surface (e.g., back surface 878) of link 804. Matching station inductive coil 892 is located inside and adjacent to a flat outer surface (e.g., top surface 880) of link docking station 820.

[0159] This low-power near-beam wireless inductive charging can be achieved using fewer components than the prior art. Typical wireless charging systems include dedicated circuits with a high component count, which limits their use on larger devices. In addition, prior art solutions include a wireless power channel and a separate wireless communication channel, which increases cost and takes up PCB space. Although a wireless communication channel is generally required to ensure safety when transmitting multi-watt power through a single coil, the currently disclosed design consumes no more than 250mW of power per coil. This power is low enough to allow most materials to dissipate the generated heat energy at ambient temperature.

[0160] In addition, the charging dock 810 forms a negative feedback loop in which a foreign object placed on the charging dock 810 will change the impedance of the LC circuit, thereby automatically transmitting less power. For example, when no device is being charged, each coil consumes 20mW of power due to the impedance change caused by the reduced load. The short distance of less than 3 or 5 mm can also ensure that unintentional radiation is not absorbed by stray objects. The transmitter operates from a fixed clock source that oscillates at a frequency of several hundred KHz and is adjusted to minimize the coil impedance. The clock is sent through a buffer that isolates the impedance of the various charging devices so that each device operates independently. The transistor receives the buffered signal and quickly turns on and off the high-end LC circuit, thereby inducing a magnetic field in the coil (L). Whenever a coil with a properly matched impedance is within 4 or 5 mm of the transmitting coil, the impedance of the charging dock 810 changes to a value that maximizes the generation of the magnetic field, thereby improving the efficiency of wireless power transmission.

[0161] A single clock source is used to charge multiple devices. The number of devices that can be charged can be increased by increasing the number of buffers, transistors, and LC circuits to match the number of devices. The theoretical limit is the amount of power that the charging dock 810 can provide. There are two isolation methods that allow this method to work in multi-device configurations where other methods may fail. First, the clock signal is electrically isolated by the buffer so that multiple devices do not affect each other. Second, the magnetic field is physically isolated using a specific orientation of the charger coil location and a ferrite sheet that redirects the magnetic field. If the charger is a simple device grid or there is no ferrite sheet behind each coil, the transmitter coil magnetic fields will interact with each other and power will flow from the transmitter coil to the adjacent transmitter coil instead of from the transmitter coil to the receiver coil as expected, which will negatively affect charging. This happens because the shape of the induced magnetic field is a closed curve extending from one pole to the next. If the coils are adjacent to each other on the same plane, the magnetic field will propagate between adjacent coils because this is the shortest path between the poles. Similarly, if the coils do not have ferrite sheets but maintain the charger shape of the present disclosure, the field lines will connect inside the charger itself because this is the shortest path between the poles. To adequately separate the magnetic fields, the coils are physically separated and shielded from each other, which is accomplished with ferrite sheets. Angle the coils from each other to allow the coils to be closer together than if they were linearly spaced apart in the same plane.

[0162] The link 804 / tracker receiver circuit includes a full-bridge rectifier (to convert the supplied AC voltage to a DC voltage) and a constant current regulator (CCR). If higher efficiency than a diode is required, a transistor can be used to make a full-bridge rectifier. The circuit can monitor the battery voltage and shut down the CCR whenever the link 804 / tracker battery is close to capacity. This changes the receiver LC circuit impedance by changing the load, which reduces the power to the link 804 / tracker being charged, thereby minimizing heating and power losses. The controllable CCR supports state-of-the-art charging techniques, such as pulse current charging. Pulse current charging has been shown to maximize battery life compared to traditional charging methods such as constant current and constant voltage (CC-CV) charging. The circuit can produce an overall efficiency of over 70% even when charging multiple devices.

[0163] Figure 8B An example low power close beam wireless inductive charging circuit 800 is shown. In a typical simple inductive charging circuit according to the prior art, a series LC circuit is used because it can output more power and is more efficient than its equivalent parallel LC circuit. However, the increased power comes at the expense of a smaller operating range when the load or impedance changes, which is why this type of charger uses a feedback loop to adjust the frequency and amplitude to find the optimal power transfer point.

[0164] In a typical flexible inductive charging circuit according to the prior art, the problem of a simple series LC circuit is solved by adding a feedback loop to find the optimal charging parameters under different loads. A custom transmitter and a custom receiver use the same coil to be responsible for power transmission and communication. Typically, communication and power transmission occur at different frequencies so that the system can distinguish between them. These designs can vary the frequency, amplitude, and load of the circuit to find the best charging point. The power at the receiver is measured and sent back to the transmitter. The transmitter then calculates the efficiency and adjusts the frequency and amplitude to provide the most efficient charging. The system can compensate for various coil materials, coil shapes, coil spacing, and varying loads. However, since the optimal power transfer point needs to be found for each device, the system cannot work in a multi-device configuration. A multi-device configuration may require multiple custom TXICs so that each IC can monitor each device independently.

[0165] The low power close beam wireless inductive charging circuit 800 uses a parallel LC circuit which has a lower peak power transfer rating than prior art solutions but is more resilient to load and impedance variations. This means that even if the inductor value, capacitor value, or load varies slightly, the power transfer is not affected and remains close to peak performance. In other words, using a parallel LC circuit eliminates the need for a secondary communication channel that can optimize the narrower optimum point present in a series LC circuit.

[0166] Close beam inductive charging keeps the frequency and amplitude of the clock source constant. The magnetically coupled parallel LC resonant circuits 805, 815 form a 4th order expression with multiple optimal points that depend on the frequency and coupling factor (k factor) of the two coils (L1, L2). The k factor is the efficiency of the two coils (L1, L2) and will be 1.0 when the power transfer is lossless. In prior art solutions, the power is calculated at the receiver and then sent back to the charger. The charger can then calculate the power loss and adjust accordingly. This provides maximum power transfer even at multiple charging frequencies. Because the circuit 800 lacks an auxiliary communication channel, it is not possible to transfer power or dynamically calculate efficiency at the receiver. Instead, optimal power transfer is achieved by impedance matching the receiver LC circuit 815 to the transmitter LC circuit 805. When the circuits 805, 815 are impedance matched, the resistive losses are minimized at that frequency. This does not necessarily mean that power transfer is maximized at that frequency, but because parallel LC circuits are used, the resulting power transfer will be close to peak efficiency. Furthermore, by using a parallel LC circuit, the minimum loss point is large even under varying loads, which means that different receiver coil sizes and receiver LC circuits can be used on the same transmitter. Assuming the coil inductance and frequency are known, this minimum resistance loss point can be found by selecting the capacitor via the following formula:

[0167] C_TX = 1 / (L_TX*(1.29*2*PI*F)^2); and

[0168] C_RX=1 / (L_RX*(2*PI*F)^2),

[0169] in:

[0170] C = the capacitance of the capacitor in the LC circuit, in farads;

[0171] L = the inductance of the coil in the LC circuit, in Henrys; and

[0172] F = clock frequency.

[0173] A value of 1.29 is used on the transmitter side to account for transistor zero voltage switching (ZVS), which is the point at which transistor switching losses are minimized. The coil inductance and shape can also be varied while maintaining this equation since it only gives values ​​that minimize resistive losses. Power transfer losses are controlled by the k factor, which is primarily related to coil coupling. The frequency can be set to minimize component cost. Lower frequencies mean larger capacitors, which equates to larger resistive losses. In general, lower frequencies increase the power transfer rate but result in larger losses, while higher frequencies decrease the power transfer rate but result in higher efficiency. Approximately 200 kilohertz (KHz) is a good range for achieving a balance between efficiency and adequate power transfer. Another advantage of tuning based on impedance matching is that the frequency will remain constant, but the induced magnetic field will vary depending on the load. In this way, the circuit 800 automatically minimizes losses when loaded and unloaded. Although the close-beam charging circuit 800 does not maximize overall power efficiency, it does minimize power losses, which may be sufficient in low-power applications.

[0174] When the tracker is placed in the tracker docking station in a specific charging orientation, the tracker induction coil faces the station induction coil (e.g., the tracker induction coil 886 of the tracker 802 faces the station induction coil 890 in the docking station 818), thereby forming a matched pair of induction coils. Similarly, when the link 804 is placed in the link docking station 820 in a specific charging orientation, the link induction coil 888 faces the station induction coil 892, thereby forming a matched pair of induction coils. In the charging orientation, the matched pairs of induction coils are coplanar and centered with each other, and they are very close to each other (e.g., 3 mm to 5 mm or less than 6 mm).

[0175] A matched pair of tracker inductive coils are typically capable of transferring approximately 30 mA of power at 5 V with a conversion rate of approximately 70%. Power transfer can generally be increased by increasing the coil diameter without significantly reducing efficiency. For example, by increasing the coil diameter from 12 mm to 20 mm, a link 804 coil might be able to transfer approximately 85 mA of power at 5 V. The power transfer capability is directly related to the coil area. These numbers represent maximum power transfer and fall within a standard 500 mA 5 V USB port. Additionally, the charging power on the receiver side can be reduced by simply reducing the duty cycle that the CCR is active. This is useful in situations where the user may want to equalize the charge on the link 804 / tracker group by adjusting the charging rate of each device or when the charger is powered from a power-limited source.

[0176] In various embodiments, the tracker inductive coils may utilize constant current, pulsed current, constant voltage, pulsed voltage, or some combination thereof, and the coils may or may not be matched to the impedance and other characteristics of the battery to be charged (e.g., battery 896). In some embodiments, a matched pair of one inductive coil (e.g., inductive coils 888, 892) is larger than a matched pair of other inductive coils (e.g., inductive coils 886, 890). The enlarged coils may allow for a faster rate of power transfer from the charging dock 810 to the link 804 than the tracker. This may be due to the battery capacity and power requirements of the link 804 exceeding the tracker. For example, the inductive coils 888, 892 may be 20% larger in area than the inductive coils 886, 890 and be capable of 20% more power transfer than the inductive coils 886, 890. Unmatched coil sizes may also be used in situations where perfect coil alignment cannot be guaranteed, as the mismatch will transfer more power over a larger area.

[0177] As long as the charging dock 810 is powered (i.e., either through its own battery or an external power source), the station inductive coils (e.g., inductive coils 890, 892) can remain always on. This avoids the additional complexity and cost of providing a separate channel to control the on / off state of the station inductive coils, as provided by many prior arts. Because the power transfer rate is relatively small and the matched pairs of inductive coils are very close (as described above), there is no danger in powering the station inductive coils even if the matching tracker / link 804 inductive coil is turned off or does not exist (e.g., low power consumption does not create a risk of electric shock or a fire hazard). When the corresponding battery (e.g., battery 896) indicates that it is fully charged, the tracker / link 804 inductive coils (e.g., inductive coils 886, 888) are turned off by their respective trackers / links 804 so that the batteries in the trackers and links 804 are not overcharged. In other embodiments, the station inductive coils are also turned on / off via a separate channel.

[0178] Each inductive coil within the charging dock 810, tracker, and link 804 is shielded on the back side of the inductive coil facing the interior of the charging dock 810, tracker, and link 804, respectively. The shield (e.g., shield 894) is typically planar and covers at least the footprint of the inductive coil, and may be more, such as Fig. 8AAs shown. The shield can take the form of a metal or ferrite sheet that is specifically designed to prevent most of the magnetic field from the induction coil from penetrating the shield into the charging dock 810, tracker, and link 804. The shield also serves to amplify the magnetic field from the front side of the induction coil and focus the originally hemispherical magnetic field to the center of the induction coil, away from the charging dock 810, tracker, and link 804. The docking stations can also be shielded from each other to prevent unnecessary magnetic interference from adjacent docking stations and to ensure that the docking stations provide sufficient and equal charging rates for the tracker and link 804. In other embodiments, the charging dock 810 uses metal contacts at its docking station that mate with metal contacts on the tracker and link 804 to implement a traditional charging scheme.

[0179] As shown, the docking stations on the charging dock 810 are arranged in multiple faces, and the docking stations are not located in a single plane like many prior art wireless charging plates and pads. This orientation physically separates the magnetic field of the charging coil from the magnetic field of the adjacent charging coil, thereby enabling multi-device charging in a compact space. Although the charging dock 810 is depicted as having six docking stations for trackers and a single docking station 820 for the link 804, in other embodiments, as few as two docking stations and as many docking stations as possible for trackers and / or links can be used. In addition, although the charging dock 810 has a specific number of charging stations, not all charging stations can be used to charge the connected trackers and / or links at the same time. In addition, the charging dock 810 can also double as a storage box for the tracker and / or link 804 when not in use. In addition, the charging dock 810 can be physically connected to a power source when in use, or the charging dock 810 can have its own rechargeable battery power source, so that even if it is not physically connected to a power source, if the charging dock 810 has enough battery power, the charging dock 810 can also charge the tracker and / or link 804.

[0180] The advantages of the low-power close-beam wireless inductive charging of the present disclosure over prior art solutions using electrical contacts are that it is waterproof, requires only a single cable for power (or to charge the charging dock 810 if it is battery powered), does not require a separate power bank, does not require USB or other connections on the tracker and / or link 804, and the charging dock 810 / tracker / link 804 is easy to transport and use.

[0181] The advantages of the low power close beam wireless inductive charging disclosed herein over the prior art wireless inductive solutions are that the prior art solutions are configured to transmit high power and provide greater flexibility in aligning the matching pairs of inductive coils. The power of the present technology is lower, in part because the specific charging orientation disclosed herein allows the use of smaller coils. The lower power and smaller coils further enable the station inductive coil to remain always on when the charging dock 810 is powered compared to the prior art. This avoids the additional complexity and cost of providing a separate channel to control the on / off state of the station inductive coil, as provided by many prior art technologies.

[0182] Fig. 9 Operation 900 of an example of using a low power near beam wireless charging dock is shown. Although the low power near beam wireless charging dock is explicitly described as charging a tracker array and link of a full body motion capture system, the low power near beam wireless charging dock can be used to charge a variety of battery powered sensing devices. Powering operation 910 powers the charging dock via an external power source or an internal battery. The charging dock includes a docking station and a station induction coil, which are located inside and adjacent to a flat outer surface of the docking station. The docking stations are arranged in multiple faces around the exterior of the charging dock and are shielded from each other.

[0183] A first placement operation 920 places a first battery-powered sensing device (e.g., a tracker) in a first docking station of a charging dock in a first predetermined charging orientation. The first battery-powered sensing device includes a first device induction coil located inside and adjacent to a planar outer surface of the first battery-powered sensing device. A station induction coil faces the first device induction coil in the first predetermined charging orientation.

[0184] The second placement operation 930 places a second battery-powered sensing device (e.g., link) in a second docking station of the charging dock in a second predetermined charging orientation. The second battery-powered sensing device includes a second device inductive coil located inside and adjacent to a flat outer surface of the second battery-powered sensing device. Another station inductive coil faces the second device inductive coil in the second predetermined charging orientation.

[0185] The charging operation 940 inductively charges the first and second battery powered sensing devices using matched pairs of inductive coils. The first matched pair is a first device inductive coil and a station inductive coil. The second matched pair is a second device inductive coil and another station inductive coil.

[0186] In some embodiments, when the charging dock is powered on, the station inductive coil is always on and the on / off charging control is handled by the battery powered sensing device. When the first battery powered sensing device is fully charged, the first shut-off operation 950 shuts off the first device inductive coil. When the second battery powered sensing device is fully charged, the second shut-off operation 960 shuts off the second device inductive coil.

[0187] Although the above specifically describes the use of two battery-powered sensing devices in two docking stations, in other embodiments, as many battery-powered sensing devices and corresponding docking stations as needed can be used in the charging dock, as described above. In addition, not all charging stations can be used to charge connected battery-powered sensing devices, such as trackers and / or links of a full-body motion capture system, at the same time.

[0188] Fig.10 A system diagram of an example of a computing environment 1000 suitable for implementing a full body motion capture system according to the disclosed technology is shown. Tracker (or sensing device) 1002 includes an IMU 1014, which includes an accelerometer 1016, a magnetometer 1018, and a gyroscope 1020 that combine to provide orientation data for tracker 1002. The orientation data flows through a bus 1010 (e.g., a printed circuit board) to a microcontroller, which includes at least a processor 1008, a system memory 1006, a power supply 1028, and a wired / wireless interface 1024. Although Fig.10 Only one tracker 1002 is shown and described above, but a full body motion capture system as described in detail elsewhere herein may include more than two trackers, each of which may be configured and described above, and as described above. Fig.10 shown.

[0189] Link (or link device) 1004 receives and integrates position data received from a set of trackers (e.g., tracker 1002) via a wired or wireless communication link 1060 between the wired / wireless interface 1024 of tracker 1002 and the wired / wireless interface 1025 of link 1004. In various embodiments, link 1004 receives data from tracker 1002 and other connected trackers. Whether or not to integrate and / or further process the received data, link 1004 transmits the data to an external computing device 1099 (e.g., a smartphone, tablet, laptop, desktop computer, server, and virtual machine) via another wired or wireless communication link 1061.

[0190] Thus, the wired / wireless interface 1025 of the link 1004 may include, for example, three radios. A first radio establishes a communication link 1060 with the tracker 1002. A second radio establishes a communication link 1061 with an external computing device 1099 using Bluetooth. A third radio establishes a communication link 1061 with an external computing device 1099 using WiFi. A greater or lesser number of radios, including different radios than those listed, and options including radios capable of using multiple communication standards are also contemplated herein.

[0191] Generally speaking, tracker 1002 and link 1004, buses 1010, 1011 each interconnect major subsystems (e.g., processors 1008, 1009, system memory 1006, 1007 (e.g., random access memory (RAM) and read-only memory (ROM)), and power supplies 1028, 1029). Wired / wireless interfaces 1024, 1025 are used to establish communication links 1060, 1061, ultimately allowing link 1004, tracker 1002, and other connected trackers to transmit tracker position and / or location data to a data storage network and / or a local or wide area network (e.g., the Internet) via an external computing device 1099 using any network interface system known to those skilled in the art.

[0192] Many other devices or subsystems (e.g., servers, personal computers, tablets, smartphones, mobile devices, etc.) can be connected to the same Fig.10 In addition, there need not be Fig.10 All components shown in the figure can be used to practice the disclosed technology. In addition, the device and its components can be used with Fig.10 Codes (eg, computer software, including mobile applications (apps)) for implementing the disclosed technology may be operably disposed in system memory 1006, 1007 as firmware or software.

[0193] Tracker 1002 and / or link 1004 may include various tangible computer-readable storage media (e.g., system memory 1006, 1007) and intangible computer-readable communication signals. Tangible computer-readable storage may be embodied by any available media that can be accessed by tracker 1002 and / or link 1004, and includes volatile and non-volatile storage media, as well as removable and non-removable storage media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, and / or other data. Tangible computer-readable storage media include, but are not limited to, firmware, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible media that can be used to store the desired information and can be accessed by tracker 1002 and / or link 1004.

[0194] Intangible computer-readable communication signals may embody computer-readable instructions, data structures, program modules, or other data residing in a modulated data signal (e.g., a carrier wave or other signal transmission mechanism). The term "modulated data signal" refers to a signal whose one or more characteristics are set or changed to encode information in the signal. By way of example and not limitation, intangible communication signals include signals propagated through wired media (e.g., a wired network or a direct wired connection) and wireless media (e.g., acoustic, radio frequency (RF), infrared (IR) and other wireless media). Computer-readable storage media as defined herein expressly exclude intangible computer-readable communication signals.

[0195] Some embodiments may include a manufactured product, which may include a tangible storage medium for storing logic. Examples of storage media may include one or more types of computer-readable storage media capable of storing electronic data, including volatile or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writable or rewritable memory, etc. Examples of logic may include various software elements, such as software components, programs, applications, computer programs, applications, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, operation segments, methods, processes, software interfaces, application program interfaces (APIs), instruction sets, computing codes, computer codes, code segments, computer code segments, words, values, symbols, or any combination thereof. For example, in one embodiment, a manufactured product may store executable computer program instructions, and when a computer executes the instructions, the computer will perform methods and / or operations according to the embodiments. Executable computer program instructions may include any appropriate type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, etc. Executable computer program instructions can be implemented in a predefined computer language, manner or syntax to instruct a computer to perform a certain operation segment. Instructions can be implemented using any appropriate high-level, low-level, object-oriented, visual, compiled and / or interpreted programming language.

[0196] The disclosed technology can be implemented as logical steps in one or more computer systems (e.g., as a sequence of steps implemented by a processor executing in one or more computer systems and as interconnected machines or circuit modules within one or more computer systems). The implementation is a matter of choice, depending on the performance requirements of the computer system implementing the disclosed technology. Therefore, the logical operations that constitute the implementation of the disclosed technology are variously referred to as operations, steps, objects, or modules. In addition, the logical operations can be performed in any order, adding or omitting operations as needed, unless otherwise explicitly stated or the claim language inherently requires a specific order.

[0197] The above description, examples and data provide a complete description of the structure and use of the exemplary embodiments of the technology disclosed in the present invention. Since the technology disclosed in the present invention can realize many embodiments without departing from the spirit and scope of the present invention, the technology disclosed in the present invention belongs to the scope of the claims attached below. In addition, the structural features of different embodiments can be combined in another embodiment without departing from the scope of the claims.

Claims

1. A wireless induction charging system, comprising: two or more battery powered sensing devices, each of the sensing devices including a device induction coil located inside and adjacent to a planar outer surface of the sensing device; as well as a charging dock, the charging dock comprising an array of docking stations, Each of the docking stations accommodates a sensing device and fixes the sensing device in a predetermined charging orientation, Each of the docking stations includes a station induction coil located inside and adjacent to a planar outer surface of the docking station, wherein for each of the sensing devices in a predetermined charging orientation, one of the station induction coils faces one of the device induction coils, The docking stations are arranged on multiple sides around the outside of the charging dock and are shielded from each other.

2. The wireless inductive charging system according to claim 1, wherein: The predetermined charging orientation is further defined as a back side of the sensing device being positioned adjacent to a front side of the docking station and the sensing device being located at a center of the docking station.

3. The wireless inductive charging system according to claim 1, wherein: One of the station induction coils faces one of the device induction coils of one of the sensing devices placed in the predetermined charging orientation to form a matching pair of induction coils, wherein the matching pair of induction coils are coplanar and centrally aligned.

4. The wireless inductive charging system according to claim 3, wherein: The spacing between the matched pairs of induction coils is less than 5 mm.

5. The wireless inductive charging system according to claim 3, wherein: Another of the station induction coils faces another of the device induction coils of another of the sensing devices placed in the predetermined charging orientation to form another matching pair of induction coils, wherein the matching pair of induction coils have different sizes.

6. The wireless inductive charging system according to claim 3, wherein: A matched pair of the inductive coils can deliver no more than 85 milliamps of power at 5 volts.

7. The wireless inductive charging system according to claim 1, wherein: When the charging dock is powered on, the station induction coil is always on.

8. The wireless inductive charging system according to claim 1, wherein: Each of the device induction coils is turned off by its respective battery powered sensing device when the corresponding battery is indicated as fully charged.

9. The wireless inductive charging system according to claim 1, wherein: The device induction coil and the station induction coil each include a planar shielding body at the back side thereof.

10. A method of using a wireless inductive charging system, comprising: providing power to a charging dock, the charging dock comprising a docking station and a station induction coil located inside and adjacent to a planar outer surface of the docking station, wherein the docking stations are arranged in multiple faces around an exterior of the charging dock and are shielded from each other; placing a first battery-powered sensing device in a first docking station of the charging dock in a first predetermined charging orientation, the first battery-powered sensing device comprising a first device induction coil located inside and adjacent to a planar outer surface of the first battery-powered sensing device, wherein a station induction coil faces the first device induction coil in the first predetermined charging orientation; placing a second battery-powered sensing device in a second docking station of the charging dock in a second predetermined charging orientation, the second battery-powered sensing device comprising a second device induction coil located inside and adjacent to a flat outer surface of the second battery-powered sensing device, wherein another station induction coil faces the second device induction coil in the second predetermined charging orientation; The first battery powered sensing device and the second battery powered sensing device are inductively charged using a matched pair of the first device inductive coil and one of the station inductive coils and a matched pair of the second device inductive coil and another of the station inductive coils.

11. The method according to claim 10, wherein: When the charging dock is powered on, the station induction coil is always on.

12. The method according to claim 11, further comprising: When the first battery-powered sensing device is fully charged, turning off the first device induction coil; as well as When the second battery-powered sensing device is fully charged, the second device induction coil is turned off.

13. A body motion capture wireless induction charging system, comprising: two or more battery powered trackers, each of the trackers comprising a tracker induction coil, the tracker induction coil being located inside and adjacent to a flat outer surface of the tracker; a battery powered link including a link induction coil located inside and adjacent to a planar outer surface of the link; as well as a charging dock, the charging dock comprising an array of tracker docking stations and a link docking station, Each of the tracker docking stations accommodates one tracker and secures the one tracker in a predetermined tracker charging orientation, each said tracker docking station comprises a station induction coil located inside and adjacent to a planar outer surface of said tracker docking station, one said station induction coil facing one said tracker induction coil of each said tracker placed in said predetermined tracker charging orientation, The link docking station receives the link and secures the link in a predetermined link charging orientation, The link docking station includes a station induction coil located inside and adjacent to a planar outer surface of the link docking station, the station induction coil facing the link induction coil when the link is placed in the predetermined link charging orientation, Wherein, the tracker docking station and the link docking station are arranged in multiple surfaces around the exterior of the charging dock and are shielded from each other.

14. The body motion capture wireless induction charging system according to claim 13, wherein: The predetermined tracker charging orientation is further defined as a backside of the tracker positioned adjacent to a front side of the docking station, the tracker being centered within the docking station, and wherein the predetermined link charging orientation is further defined as a backside of the link being positioned adjacent to a front side of the docking station, and the link being centered within the docking station.

15. The body motion capture wireless induction charging system according to claim 13, wherein: One of the station induction coils faces one of the tracker induction coils of one of the trackers placed in the predetermined tracker charging orientation to form a matched pair of induction coils, wherein the matched pair of induction coils are coplanar and center-aligned.

16. The body motion capture wireless induction charging system according to claim 15, wherein: The spacing between the matched pairs of induction coils is less than 5 mm.

17. The body motion capture wireless induction charging system according to claim 15, wherein: Another of the station induction coils faces the link induction coil of the link placed in the predetermined link charging orientation to form another matching pair of induction coils, wherein the matching pair of induction coils have different sizes.

18. The body motion capture wireless induction charging system according to claim 13, wherein: When the charging dock is powered on, the station induction coil is always on.

19. The body motion capture wireless induction charging system according to claim 13, wherein: Each of the tracker induction coils is turned off by its respective battery powered tracker when the corresponding battery is indicated as fully charged.

20. The body motion capture wireless induction charging system according to claim 13, wherein: Each of the tracker induction coil, the link induction coil, and the station induction coil includes a planar shield located on a back side of the induction coil.

Citation Information

Patent Citations

  • Charging station, charging system and method for inductive charging

    CN107005071A

  • Single base station portable VR system based on wireless human motion capture and optical positioning

    CN108762488A

  • Charging apparatus

    CN1647342A

  • Motion Tracking Solutions Using a Self Correcting Three Sensor Architecture

    US20150149104A1