Coordinate system offset calculation device and method

The coordinate system offset calculation device and method address the issue of misaligned coordinate systems in VR applications by calculating and correcting for position and orientation differences, thereby improving device accuracy and user experience.

CN119714152APending Publication Date: 2025-03-28HTC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410152881.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-28
Filing Date
2024-02-02
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

In virtual reality applications, the lack of coordinate system alignment between tracking and interactive devices leads to incorrect data provision, reducing user experience due to different coordinate systems used by these devices.

Method used

A coordinate system offset calculation device and method that uses a processor connected to a communication interface to generate virtual correction coordinates, allowing the tracking device to move between these coordinates and calculate the offset between two coordinate systems based on received measurement coordinates.

Benefits of technology

This solution enables precise alignment of coordinate systems, enhancing the accuracy of interactive devices and improving user experience by calculating and correcting for position and orientation differences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119714152A_ABST
    Figure CN119714152A_ABST
Patent Text Reader

Abstract

The invention discloses a coordinate system offset calculation device and method and a non-transient computer readable storage medium thereof. The apparatus generates at least two virtual correction coordinates, wherein the at least two virtual correction coordinates correspond to a first coordinate system. The apparatus receives, in response to a tracking device moving to the at least two virtual correction coordinates, at least two sensing coordinates from the tracking device, where the at least two sensing coordinates are generated by the tracking device and the at least two sensing coordinates correspond to a second coordinate system. The apparatus calculates a coordinate system offset corresponding to the first coordinate system and the second coordinate system based on the at least two virtual correction coordinates and the at least two sensing coordinates. According to the coordinate system offset calculation technology provided by the invention, the coordinate system offset of different coordinate systems can be calculated, and the accuracy of the interaction device is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a coordinate system offset calculation device, method and non-transitory computer readable storage medium thereof. Specifically, the present invention relates to a coordinate system offset calculation device, method and non-transitory computer readable storage medium thereof for calculating coordinate system offsets of different coordinate systems. Background Art

[0002] In recent years, various technologies related to virtual reality have developed rapidly, and various related technologies and applications have been proposed one after another.

[0003] In the prior art, a user can use a tracking device in the environment to assist an interactive device (eg, a head-mounted device) to perform various interactive operations.

[0004] However, since the interactive device and the tracking device may be positioned through a variety of positioning methods (for example, inside-out positioning based on vision or outside-in positioning based on infrared, etc.) and the initial positioning conditions are different, different devices have different coordinate systems (for example, different origins, displacements, angles, etc.).

[0005] Accordingly, if the coordinate systems between the devices are not offset-corrected, the auxiliary data generated by the tracking device cannot be correctly provided to the interactive device for use, thereby reducing the user's service experience.

[0006] In view of this, how to provide a coordinate system offset calculation device technology for calculating the coordinate system offsets of different coordinate systems is a goal that the industry urgently needs to work on. Summary of the invention

[0007] An object of the present invention is to provide a coordinate system offset calculation device. The coordinate system offset calculation device includes a transceiver interface and a processor, and the processor is electrically connected to the transceiver interface. The processor generates at least two virtual correction coordinates, wherein the at least two virtual correction coordinates correspond to a first coordinate system. In response to a tracking device moving to the at least two virtual correction coordinates, the processor receives at least two sensing coordinates from the tracking device, wherein the at least two sensing coordinates are generated by the tracking device, and the at least two sensing coordinates correspond to a second coordinate system. The processor calculates a coordinate system offset corresponding to the first coordinate system and the second coordinate system based on the at least two virtual correction coordinates and the at least two sensing coordinates.

[0008] In one embodiment of the present invention, the processor further performs the following operations: in response to determining that the tracking device moves to a first virtual correction coordinate among the at least two virtual correction coordinates, receiving a first sensing coordinate corresponding to the first virtual correction coordinate from the tracking device; and in response to determining that the tracking device moves to a second virtual correction coordinate among the at least two virtual correction coordinates, receiving a second sensing coordinate corresponding to the second virtual correction coordinate from the tracking device.

[0009] In one embodiment of the present invention, a third-dimensional direction corresponding to the first coordinate system is the same as the third-dimensional direction corresponding to the second coordinate system.

[0010] In one embodiment of the present invention, calculating the coordinate system offset further comprises the following operations: calculating a displacement difference and an angle difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and calculating the coordinate system offset based on the displacement difference and the angle difference.

[0011] In one embodiment of the present invention, the at least two virtual correction coordinates include a first virtual correction coordinate and a second virtual correction coordinate, the at least two sensing coordinates include a first sensing coordinate and a second sensing coordinate, the first virtual correction coordinate corresponds to the first sensing coordinate, and the second virtual correction coordinate corresponds to the second sensing coordinate.

[0012] In one embodiment of the present invention, calculating the displacement difference includes the following operations: calculating a first-dimensional displacement difference, a second-dimensional displacement difference and a third-dimensional displacement difference corresponding to a three-dimensional space based on the first virtual correction coordinate and the first sensing coordinate; and calculating the displacement difference based on the first-dimensional displacement difference, the second-dimensional displacement difference and the third-dimensional displacement difference.

[0013] In one embodiment of the present invention, calculating the angle difference includes the following operations: calculating a vector angle difference between a virtual correction vector and a sensing vector corresponding to a two-dimensional space, wherein the virtual correction vector is composed of the first virtual correction coordinate and the second virtual correction coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and calculating the angle difference based on the vector angle difference.

[0014] In one embodiment of the present invention, calculating the coordinate system offset further comprises the following operations: calculating a scale difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and calculating the coordinate system offset based on the displacement difference, the angle difference and the scale difference.

[0015] In one embodiment of the present invention, calculating the scale difference includes the following operations: calculating a vector length difference between a virtual correction vector and a sensing vector, wherein the virtual correction vector is composed of the first virtual correction coordinate and the second virtual correction coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and calculating the scale difference based on the vector length difference.

[0016] In one embodiment of the present invention, the at least two sensing coordinate systems are generated by the tracking device based on a plurality of positioning information.

[0017] Another object of the present invention is to provide a coordinate system offset calculation method, which is used for an electronic device. The coordinate system offset calculation method includes the following steps: generating at least two virtual calibration coordinates, wherein the at least two virtual calibration coordinates correspond to a first coordinate system; in response to a tracking device moving to the at least two virtual calibration coordinates, receiving at least two sensing coordinates from the tracking device, wherein the at least two sensing coordinates are generated by the tracking device, and the at least two sensing coordinates correspond to a second coordinate system; and calculating a coordinate system offset corresponding to the first coordinate system and the second coordinate system based on the at least two virtual calibration coordinates and the at least two sensing coordinates.

[0018] In one embodiment of the present invention, the steps are further included: in response to determining that the tracking device moves to a first virtual correction coordinate among the at least two virtual correction coordinates, a first sensing coordinate corresponding to the first virtual correction coordinate is received from the tracking device; and in response to determining that the tracking device moves to a second virtual correction coordinate among the at least two virtual correction coordinates, a second sensing coordinate corresponding to the second virtual correction coordinate is received from the tracking device.

[0019] In one embodiment of the present invention, a third-dimensional direction corresponding to the first coordinate system is the same as the third-dimensional direction corresponding to the second coordinate system.

[0020] In one embodiment of the present invention, calculating the coordinate system offset further comprises the following steps: calculating a displacement difference and an angle difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and calculating the coordinate system offset based on the displacement difference and the angle difference.

[0021] In one embodiment of the present invention, the at least two virtual correction coordinates include a first virtual correction coordinate and a second virtual correction coordinate, the at least two sensing coordinates include a first sensing coordinate and a second sensing coordinate, the first virtual correction coordinate corresponds to the first sensing coordinate, and the second virtual correction coordinate corresponds to the second sensing coordinate.

[0022] In one embodiment of the present invention, calculating the displacement difference includes the following steps: calculating a first-dimensional displacement difference, a second-dimensional displacement difference and a third-dimensional displacement difference corresponding to a three-dimensional space based on the first virtual correction coordinate and the first sensing coordinate; and calculating the displacement difference based on the first-dimensional displacement difference, the second-dimensional displacement difference and the third-dimensional displacement difference.

[0023] In one embodiment of the present invention, calculating the angle difference includes the following steps: calculating a vector angle difference between a virtual correction vector and a sensing vector corresponding to a two-dimensional space, wherein the virtual correction vector is composed of the first virtual correction coordinate and the second virtual correction coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and calculating the angle difference based on the vector angle difference.

[0024] In one embodiment of the present invention, calculating the coordinate system offset further comprises the following steps: calculating a scale difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and calculating the coordinate system offset based on the displacement difference, the angle difference and the scale difference.

[0025] In one embodiment of the present invention, calculating the scale difference includes the following steps: calculating a vector length difference between a virtual correction vector and a sensing vector, wherein the virtual correction vector is composed of the first virtual correction coordinate and the second virtual correction coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and calculating the scale difference based on the vector length difference.

[0026] Another object of the present invention is to provide a non-transitory computer-readable storage medium, which stores a computer program, which includes multiple program instructions. After being loaded into an electronic device, the computer program executes a coordinate system offset calculation method, which includes the following steps: generating at least two virtual correction coordinates, wherein the at least two virtual correction coordinates correspond to a first coordinate system; in response to a tracking device moving to the at least two virtual correction coordinates, receiving at least two sensing coordinates from the tracking device, wherein the at least two sensing coordinates are generated by the tracking device, and the at least two sensing coordinates correspond to a second coordinate system; and calculating a coordinate system offset corresponding to the first coordinate system and the second coordinate system based on the at least two virtual correction coordinates and the at least two sensing coordinates.

[0027] The coordinate system offset calculation technology provided by the present disclosure (at least including a device, a method and a non-transitory computer-readable storage medium thereof) calculates the coordinate system offsets corresponding to the first coordinate system and the second coordinate system through at least two virtual calibration coordinates and at least two sensing coordinates generated by a tracking device. Since the coordinate system offset calculation technology provided by the present disclosure can calculate the coordinate system offsets of different coordinate systems, the accuracy of the interactive device is improved, and the user's service experience is improved.

[0028] The detailed technology and implementation methods of the present invention are described below in conjunction with the accompanying drawings so that a person having ordinary knowledge in the technical field to which the present invention belongs can understand the technical features of the invention for which protection is sought. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 A schematic diagram showing the architecture of a coordinate system offset calculation device according to a first embodiment;

[0030] Figure 2 A schematic diagram showing the architecture of a coordinate system offset calculation device according to certain embodiments;

[0031] Figure 3 A schematic diagram showing an image window of certain embodiments;

[0032] Figure 4 A schematic diagram showing an image window of certain embodiments;

[0033] Figure 5 A schematic diagram showing an image window of certain embodiments;

[0034] Figure 6 A schematic top view showing corresponding coordinates of certain embodiments; and

[0035] Figure 7 A partial flowchart showing a coordinate system offset calculation method according to the second embodiment.

[0036] Explanation of symbols:

[0037] 1: Coordinate system offset calculation device

[0038] 11: Transceiver interface

[0039] 13: Processor

[0040] 2: Tracking device

[0041] HMD: head mounted device

[0042] HD:hand

[0043] WIN1, WIN2, WIN3: Image windows

[0044] VCC1: First virtual correction coordinate

[0045] VCC2: Second virtual correction coordinate

[0046] SC1: First sensing coordinate

[0047] SC2: Second sensing coordinate

[0048] 600: Schematic diagram

[0049] DD1, DD2: Direction dimension

[0050] AG: Angle difference

[0051] 700: Coordinate system offset calculation method

[0052] S701, S703, S705: Steps DETAILED DESCRIPTION

[0053] The following will explain a coordinate system offset calculation device, method and non-transitory computer-readable storage medium provided by the present invention through implementation examples. However, these implementation examples are not intended to limit the present invention to any environment, application or method as described in these implementation examples. Therefore, the description of the implementation examples is only for the purpose of illustrating the present invention, and is not intended to limit the scope of the present invention. It should be understood that in the following implementation examples and drawings, elements that are not directly related to the present invention have been omitted and are not shown, and the size of each element and the size ratio between the elements are only for illustration, and are not intended to limit the scope of the present invention.

[0054] The first embodiment of the present invention is a coordinate system offset calculation device 1, the structure diagram of which is shown in Figure 1 In this embodiment, the coordinate system offset calculation device 1 includes a transceiver interface 11 and a processor 13 . The processor 13 is electrically connected to the transceiver interface 11 .

[0055] It should be noted that the processor 13 can be various processing units, a central processing unit (CPU), a microprocessor or other computing devices known to those with ordinary knowledge in the technical field of the present disclosure. The transceiver interface 11 is an interface that can receive and transmit data or other interfaces that can receive and transmit data known to those with ordinary knowledge in the technical field of the present disclosure.

[0056] like Figure 1 As shown, the transceiver interface 11 can be directly connected to the tracking device 2. In some embodiments, the transceiver interface 11 of the coordinate system offset calculation device 1 can be connected to the tracking device 2 through other devices.

[0057] In some embodiments, the tracking device 2 may have an image capture function (eg, multiple depth camera lenses) to generate multiple real-time images corresponding to a field of view (FOV) to perform an inside out tracking self-positioning operation.

[0058] In some embodiments, the tracking device 2 can also perform an outside-in tracking self-positioning operation through auxiliary data transmitted from the outside. For example, an infrared device installed in the environment can assist the tracking device 2 in positioning.

[0059] In some embodiments, the coordinate system offset calculation device 1 may be disposed in other devices or combined with a device having computing capabilities (eg, using a processor 13 together with the device). Figure 2 As shown, the coordinate system offset calculation device 1 can be set in a head-mounted device HMD, the processor 13 can be a built-in processor in the head-mounted device HMD, and the transceiver interface 11 can be a built-in transceiver interface in the head-mounted device HMD.

[0060] It should be noted that in the present disclosure, since the tracking device 2 and the head mounted device HMD are aligned in one direction dimension (e.g., the vertical direction dimension), only the values ​​of the other two direction dimensions need to be considered, which can further improve the efficiency of calculating the coordinate system offset. The details of the coordinate system offset calculation will be described in detail later.

[0061] For example, the tracking device 2 and the head mounted device HMD include an inertial sensor with a gravity sensor, and the tracking device 2 and the head mounted device HMD generate one of the coordinate values ​​through the gravity sensor (i.e., the gravity direction is -G). For another example, the tracking device 2 and the head mounted device HMD can also be aligned in one direction dimension (e.g., the vertical direction dimension is -G) through the posture tracking data of simultaneous localization and mapping (SLAM).

[0062] For ease of understanding, the following description will be based on the case where the coordinate system offset calculation device 1 is set in a head-mounted device HMD. Those with general knowledge in the field should be able to understand other implementation methods of the coordinate system offset calculation device 1 based on the contents of this disclosure, and no further details will be given.

[0063] The operation of the present disclosure is briefly described first. In the present disclosure, the coordinate system offset calculation device 1 uses a coordinate system corresponding to the head mounted device HMD (hereinafter referred to as the first coordinate system), and the tracking device 2 uses a coordinate system corresponding to the tracking device 2 (hereinafter referred to as the second coordinate system). The coordinate system offset calculation device 1 of the present disclosure generates virtual calibration coordinates and instructs the user to move the tracking device 2 to the virtual calibration coordinates. Then, the coordinate system offset calculation device 1 obtains the actual sensing coordinates generated by the tracking device 2 to calculate a coordinate system offset corresponding to the first coordinate system and the second coordinate system.

[0064] It should be noted that different coordinate systems may include displacement difference, angle difference and scale difference. In this embodiment, the coordinate system offset calculation device 1 can generate multiple virtual correction coordinates (ie, at least two virtual correction coordinates) to calculate the coordinate system offset.

[0065] For ease of explanation, the following description will be based on the coordinate system offset calculation device 1 generating two virtual correction coordinates (i.e., the first virtual correction coordinate and the second virtual correction coordinate). A person with ordinary knowledge in the field should be able to understand the implementation of more than two virtual correction coordinates based on the contents of this disclosure, and will not be repeated here.

[0066] For easier understanding, please refer to Figure 3 First, the processor 13 generates a first virtual calibration coordinate VCC1 and a second virtual calibration coordinate VCC2 , and the first virtual calibration coordinate VCC1 and the second virtual calibration coordinate VCC2 correspond to a first coordinate system of the head mounted device HMD.

[0067] like Figure 3 As shown, in the image window WIN1 of the head mounted device HMD, the virtual image corresponding to the tracking device 2 is respectively displayed at the positions of the first virtual calibration coordinate VCC1 and the second virtual calibration coordinate VCC2. In this example, the hand HD of the user using the head mounted device HMD holds the tracking device 2 and prepares to move the tracking device 2 to the positions of the first virtual calibration coordinate VCC1 and the second virtual calibration coordinate VCC2.

[0068] It should be noted that the head-mounted device HMD may be a VR / MR / AR head-mounted device HMD, and the head-mounted device HMD may allow the user to see his or her hand HD via an optical see-through or video see-through operation method.

[0069] Then, if Figure 4As shown, in the image window WIN2 of the head mounted device HMD, the processor 13 determines whether the tracking device 2 moves to the first virtual calibration coordinate VCC1 (for example, the tracking device 2 overlaps with the virtual image). In response to the processor 13 determining that the tracking device 2 moves to the first virtual calibration coordinate VCC1, the processor 13 receives / records / stores the first sensing coordinate SC1 corresponding to the first virtual calibration coordinate VCC1 from the tracking device 2 (i.e., the coordinate actually sensed by the tracking device 2 at the position).

[0070] It should be noted that the processor 13 can continuously receive pose data from the tracking device 2. When the processor 13 determines that the tracking device 2 moves to the time point of the first virtual calibration coordinate VCC1, the processor 13 records / stores the pose data at that time point (i.e., including the first sensing coordinate SC1 corresponding to the first virtual calibration coordinate VCC1).

[0071] In addition, if Figure 5 As shown, in the image window WIN3 of the head mounted device HMD, the processor 13 determines whether the tracking device 2 moves to the second virtual calibration coordinate VCC2. In response to the processor 13 determining that the tracking device 2 moves to the second virtual calibration coordinate VCC2, the processor 13 receives / records / stores the second sensing coordinate SC2 (i.e., the coordinate actually sensed by the tracking device 2 at the position) corresponding to the second virtual calibration coordinate VCC2 from the tracking device 2.

[0072] It should be noted that the processor 13 can determine that the tracking device 2 has moved to the virtual calibration coordinates by different preset methods. For example, in some embodiments, the processor 13 can determine that the tracking device 2 has moved to the virtual calibration coordinates by using images captured by the head mounted device HMD. For another example, the processor 13 can determine that the tracking device 2 has moved to the virtual calibration coordinates by determining that the tracking device 2 has stopped returning movement information.

[0073] In some embodiments, a button may be further provided on the tracking device 2. After the user moves the tracking device 2, the user touches the button to transmit a notification signal to the coordinate system offset calculation device 1 to notify the coordinate system offset calculation device 1 that the moving operation has been completed.

[0074] It should be noted that in the present example, since positioning is performed through at least two specific positions (i.e., virtual correction coordinates), when the processor 13 determines whether to move to the virtual correction coordinates (i.e., alignment operation), it is not necessary to perform facing positioning of the tracking device 2 (i.e., there is no need to align the facing direction of the tracking device 2), but only needs to determine whether the position of the tracking device 2 overlaps.

[0075] It should be noted that the coordinate system offset calculation device 1 can use multiple virtual calibration coordinates to perform offset calculation operations, and the tracking device 2 will generate corresponding multiple sensing coordinates, and each of the multiple virtual calibration coordinates corresponds to one of the multiple sensing coordinates. For example, when the number of virtual calibration coordinates is 2, the multiple virtual calibration coordinates include a first virtual calibration coordinate and a second virtual calibration coordinate, and the multiple sensing coordinates include a first sensing coordinate and a second sensing coordinate, the first virtual calibration coordinate corresponds to the first sensing coordinate, and the second virtual calibration coordinate corresponds to the second sensing coordinate.

[0076] It should be noted that Figure 3 This is only an example. In actual operation, different virtual calibration coordinate movement sequences may be used without affecting the results of the operation.

[0077] In some embodiments, the processor 13 determines whether the tracking device 2 has moved to the first virtual calibration coordinates VCC1 and the second virtual calibration coordinates VCC2. When the processor 13 determines that the tracking device 2 has moved to the first virtual calibration coordinates VCC1 and the second virtual calibration coordinates VCC2, the processor 13 receives / records / stores the first sensing coordinates SC1 and the second sensing coordinates SC2 corresponding to the first virtual calibration coordinates VCC1 and the second virtual calibration coordinates VCC2 from the tracking device 2, the first sensing coordinates SC1 and the second sensing coordinates SC2 are generated by the tracking device 2, and the first sensing coordinates SC1 and the second sensing coordinates SC2 correspond to a second coordinate system.

[0078] Next, in this embodiment, the processor 13 calculates a coordinate system offset corresponding to the first coordinate system and the second coordinate system based on the multiple virtual correction coordinates (i.e., the first virtual correction coordinate VCC1 and the second virtual correction coordinate VCC2) and the multiple sensing coordinates (i.e., the first sensing coordinate SC1 and the second sensing coordinate SC2).

[0079] In some embodiments, the coordinate system offset calculated by the processor 13 includes a displacement difference and an angle difference. Specifically, the processor 13 calculates a displacement difference and an angle difference based on the multiple virtual calibration coordinates and the multiple sensing coordinates. Then, the processor 13 calculates the coordinate system offset based on the displacement difference (i.e., the movement value) and the angle difference (i.e., the rotation value).

[0080] In some embodiments, the coordinate system offset may be represented by a transformation matrix to perform a transformation operation. The processor 13 may transform the coordinate value from the second coordinate system to the first coordinate system through the transformation matrix.

[0081] In some embodiments, the processor 13 calculates a first-dimensional displacement difference, a second-dimensional displacement difference, and a third-dimensional displacement difference corresponding to a three-dimensional space based on the first virtual calibration coordinate VCC1 and the first sensing coordinate SC1. Then, the processor 13 calculates the displacement difference based on the first-dimensional displacement difference, the second-dimensional displacement difference, and the third-dimensional displacement difference.

[0082] In some embodiments, the processor 13 calculates a vector angle difference between a virtual calibration vector and a sensing vector corresponding to a two-dimensional space, wherein the virtual calibration vector is composed of a first virtual calibration coordinate VCC1 and a second virtual calibration coordinate VCC2, and the sensing vector is composed of a first sensing coordinate SC1 and a second sensing coordinate SC2. Then, the processor 13 calculates the angle difference based on the vector angle difference.

[0083] It should be noted that, since the tracking device 2 and the head mounted device HMD have been aligned in one direction dimension (eg, the vertical direction dimension), only the values ​​of the other two direction dimensions need to be considered.

[0084] For example, since both the tracking device 2 and the head mounted device HMD have gravity sensors, the directions of the vertical dimension (e.g., the gravity dimension in the third dimension) in the coordinate systems generated by them are the same (i.e., the gravity direction is -G). In other words, the third dimension direction corresponding to the first coordinate system is the same as the third dimension direction corresponding to the second coordinate system. Therefore, when calculating the angle difference, the processor 13 only needs to consider the values ​​of the other two directional dimensions.

[0085] For easier understanding, please refer to Figure 6 A corresponding coordinate top view diagram 600 is shown. The diagram 600 is a top view in a three-dimensional space (ie, the vertical dimension is not considered), the Y axis is the direction dimension DD1, and the X axis is the direction dimension DD2.

[0086] like Figure 6 As shown, schematic diagram 600 shows the actual positions of the first virtual correction coordinate VCC1 and the second virtual correction coordinate VCC2 in the space, as well as the actual positions of the first sensing coordinate SC1 and the second sensing coordinate SC2 in the space. It should be understood that schematic diagram 600 is only a top view without losing the information of the vertical dimension, and the first virtual correction coordinate VCC1, the second virtual correction coordinate VCC2, the first sensing coordinate SC1 and the second sensing coordinate SC2 are still the coordinate values ​​in the three-dimensional space.

[0087] In this example, the processor 13 can calculate the displacement difference between the first virtual correction coordinate VCC1 and the first sensing coordinate SC1 in the X dimension (i.e., the direction dimension DD2), the displacement difference in the Y dimension (i.e., the direction dimension DD1), and the displacement difference in the Z dimension (i.e., the vertical direction dimension) based on the coordinate value difference between the first virtual correction coordinate VCC1 and the first sensing coordinate SC1 in the three-dimensional space.

[0088] In addition, in this example, the processor 13 can calculate the angle value that needs to be rotated (i.e., the angle difference) based on the vector angle difference AG of the virtual correction vector (i.e., composed of the first virtual correction coordinate VCC1 and the second virtual correction coordinate VCC2) and the sensing vector (i.e., composed of the first sensing coordinate SC1 and the second sensing coordinate SC2).

[0089] In some embodiments, since the scales used by the two coordinate systems may be different (for example, different calculation units are used), the processor 13 may further calculate the offset of the scale difference. Specifically, the processor 13 calculates a vector length difference between a virtual calibration vector and a sensing vector, wherein the virtual calibration vector is composed of the first virtual calibration coordinate and the second virtual calibration coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate. Then, the processor 13 calculates the scale difference based on the vector length difference.

[0090] In some embodiments, the processor 13 calculates a scale difference based on the plurality of virtual calibration coordinates and the plurality of sensing coordinates. Then, the processor 13 calculates the coordinate system offset based on the displacement difference, the angle difference and the scale difference.

[0091] In some embodiments, the plurality of sensing coordinates are generated by the tracking device 2 based on a plurality of positioning information. For example, the plurality of sensing coordinates may be generated by the tracking device 2 based on positioning information of a plurality of real-time images (e.g., simultaneous localization and mapping (SLAM) operation). For another example, the plurality of sensing coordinates may be generated by the tracking device 2 based on positioning information received from an external device (e.g., an infrared device) (e.g., the lighthouse positioning technology provided by HTC).

[0092] From the above description, it can be seen that the coordinate system offset calculation device 1 provided by the present disclosure calculates the coordinate system offsets corresponding to the first coordinate system and the second coordinate system through at least two virtual correction coordinates and at least two sensing coordinates generated by the tracking device. Since the coordinate system offset calculation device 1 provided by the present disclosure can calculate the coordinate system offsets of different coordinate systems, the accuracy of the interactive device is improved, and the user's service experience is improved.

[0093] The second embodiment of the present invention is a coordinate system offset calculation method, the flow chart of which is shown in Figure 7 The coordinate system offset calculation method 700 is applicable to an electronic device, for example, the coordinate system offset calculation device 1 described in the first embodiment. The coordinate system offset calculation method 700 calculates the coordinate system offset through steps S701 to S705.

[0094] In step S701 , at least two virtual calibration coordinates are generated by an electronic device, wherein the at least two virtual calibration coordinates correspond to a first coordinate system.

[0095] Next, in step S703 , in response to a tracking device moving to the at least two virtual calibration coordinates, the electronic device receives at least two sensing coordinates from the tracking device, wherein the at least two sensing coordinates are generated by the tracking device and correspond to a second coordinate system.

[0096] Finally, in step S705 , the electronic device calculates a coordinate system offset corresponding to the first coordinate system and the second coordinate system based on the at least two virtual calibration coordinates and the at least two sensing coordinates.

[0097] In some embodiments, the coordinate system offset calculation method 700 further includes the following steps: in response to determining that the tracking device moves to a first virtual calibration coordinate among the at least two virtual calibration coordinates, receiving / recording / storing a first sensing coordinate corresponding to the first virtual calibration coordinate from the tracking device; and in response to determining that the tracking device moves to a second virtual calibration coordinate among the at least two virtual calibration coordinates, receiving / recording / storing a second sensing coordinate corresponding to the second virtual calibration coordinate from the tracking device.

[0098] In some embodiments, a third-dimensional direction corresponding to the first coordinate system is the same as the third-dimensional direction corresponding to the second coordinate system.

[0099] In some embodiments, calculating the coordinate system offset further includes the following steps: calculating a displacement difference and an angle difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and calculating the coordinate system offset based on the displacement difference and the angle difference.

[0100] In some embodiments, the at least two virtual calibration coordinates include a first virtual calibration coordinate and a second virtual calibration coordinate, the at least two sensing coordinates include a first sensing coordinate and a second sensing coordinate, the first virtual calibration coordinate corresponds to the first sensing coordinate, and the second virtual calibration coordinate corresponds to the second sensing coordinate.

[0101] In certain embodiments, calculating the displacement difference includes the following steps: calculating a first-dimensional displacement difference, a second-dimensional displacement difference, and a third-dimensional displacement difference corresponding to a three-dimensional space based on the first virtual correction coordinate and the first sensing coordinate; and calculating the displacement difference based on the first-dimensional displacement difference, the second-dimensional displacement difference, and the third-dimensional displacement difference.

[0102] In certain embodiments, calculating the angle difference includes the following steps: calculating a vector angle difference between a virtual correction vector and a sensing vector corresponding to a two-dimensional space, wherein the virtual correction vector is composed of the first virtual correction coordinate and the second virtual correction coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and calculating the angle difference based on the vector angle difference.

[0103] In some embodiments, calculating the coordinate system offset further comprises the following steps: calculating a scale difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and calculating the coordinate system offset based on the displacement difference, the angle difference and the scale difference.

[0104] In some embodiments, calculating the scale difference includes the following steps: calculating a vector length difference between a virtual correction vector and a sensing vector, wherein the virtual correction vector is composed of the first virtual correction coordinate and the second virtual correction coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and calculating the scale difference based on the vector length difference.

[0105] In addition to the above steps, the second embodiment can also perform all operations and steps of the coordinate system offset calculation device 1 described in the first embodiment, has the same functions, and achieves the same technical effects. A person with ordinary knowledge in the technical field to which the present invention belongs can directly understand how the second embodiment performs these operations and steps based on the above-mentioned first embodiment, has the same functions, and achieves the same technical effects, so it will not be repeated.

[0106] The calculation method described in the second embodiment can be implemented by a computer program having multiple instructions. Each computer program can be a file that can be transmitted on a network, or can be stored in a non-transitory computer-readable storage medium. For each computer program, after the multiple instructions contained therein are loaded into an electronic device (e.g., a coordinate system offset calculation device 1), the computer program executes the coordinate system offset calculation method described in the second embodiment. The non-transitory computer-readable storage medium can be an electronic product, such as a read only memory (ROM), a flash memory, a floppy disk, a hard disk, a compact disk (CD), a portable disk, a database accessible by a network, or any other storage medium known to a person of ordinary skill in the technical field to which the present invention belongs and having the same function.

[0107] It should be noted that in the patent specification and claims of the present invention, some terms (including: virtual calibration coordinates, sensing coordinates, coordinate systems, etc.) are preceded by "first" or "second". These "first" or "second" are only used to distinguish different terms. For example, the "first" and "second" in the first coordinate system and the second coordinate system are only used to indicate the coordinate systems used in different operations.

[0108] In summary, the coordinate system offset calculation technology provided by the present disclosure (at least including a device, a method and a non-transitory computer-readable storage medium thereof) calculates the coordinate system offsets corresponding to the first coordinate system and the second coordinate system through at least two virtual calibration coordinates and at least two sensing coordinates generated by a tracking device. Since the coordinate system offset calculation technology provided by the present disclosure can calculate the coordinate system offsets of different coordinate systems, the accuracy of the interactive device is improved, and the user's service experience is improved.

[0109] The above embodiments are only used to illustrate some embodiments of the present invention and to explain the technical features of the present invention, and are not used to limit the protection category and scope of the present invention. Any changes or equivalent arrangements that can be easily completed by a person with ordinary knowledge in the technical field to which the present invention belongs are within the scope claimed by the present invention, and the scope of protection of the present invention is subject to the claims.

Claims

1. A coordinate system offset calculation device, characterized in that: Include: a transceiver interface; and A processor is electrically connected to the transceiver interface and is used to perform the following operations: generating at least two virtual calibration coordinates, wherein the at least two virtual calibration coordinates correspond to a first coordinate system; In response to a tracking device moving to the at least two virtual calibration coordinates, receiving at least two sensing coordinates from the tracking device, wherein the at least two sensing coordinates are generated by the tracking device and the at least two sensing coordinates correspond to a second coordinate system; as well as A coordinate system offset corresponding to the first coordinate system and the second coordinate system is calculated based on the at least two virtual calibration coordinates and the at least two sensing coordinates.

2. The coordinate system offset calculation device according to claim 1, characterized in that: The processor further performs the following operations: In response to determining that the tracking device moves to a first virtual calibration coordinate among the at least two virtual calibration coordinates, receiving a first sensing coordinate corresponding to the first virtual calibration coordinate from the tracking device; and In response to determining that the tracking device moves to a second virtual calibration coordinate among the at least two virtual calibration coordinates, a second sensing coordinate corresponding to the second virtual calibration coordinate is received from the tracking device.

3. The coordinate system offset calculation device according to claim 1, characterized in that: A third dimensional direction corresponding to the first coordinate system is the same as the third dimensional direction corresponding to the second coordinate system.

4. The coordinate system offset calculation device according to claim 1, characterized in that: The calculation of the coordinate system offset further includes the following operations: Calculating a displacement difference and an angle difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and The coordinate system offset is calculated based on the displacement difference and the angle difference.

5. The coordinate system offset calculation device according to claim 4, characterized in that: The at least two virtual calibration coordinates include a first virtual calibration coordinate and a second virtual calibration coordinate, the at least two sensing coordinates include a first sensing coordinate and a second sensing coordinate, the first virtual calibration coordinate corresponds to the first sensing coordinate, and the second virtual calibration coordinate corresponds to the second sensing coordinate.

6. The coordinate system offset calculation device according to claim 5, characterized in that: The calculation of the displacement difference includes the following operations: Calculating a first-dimensional displacement difference, a second-dimensional displacement difference, and a third-dimensional displacement difference corresponding to a three-dimensional space based on the first virtual calibration coordinate and the first sensing coordinate; and The displacement difference is calculated based on the first-dimensional displacement difference, the second-dimensional displacement difference and the third-dimensional displacement difference.

7. The coordinate system offset calculation device according to claim 5, characterized in that: The calculation of the angle difference includes the following operations: Calculating a vector angle difference between a virtual calibration vector and a sensing vector corresponding to a two-dimensional space, wherein the virtual calibration vector is composed of the first virtual calibration coordinate and the second virtual calibration coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and Based on the vector angle difference, the angle difference is calculated.

8. The coordinate system offset calculation device according to claim 5, characterized in that: The calculation of the coordinate system offset further includes the following operations: Calculating a scale difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and The coordinate system offset is calculated based on the displacement difference, the angle difference and the scale difference.

9. The coordinate system offset calculation device according to claim 8, characterized in that: The calculation of the scale difference includes the following operations: Calculating a vector length difference between a virtual calibration vector and a sensing vector, wherein the virtual calibration vector is composed of the first virtual calibration coordinate and the second virtual calibration coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and Based on the vector length difference, the scale difference is calculated.

10. The coordinate system offset calculation device according to claim 1, characterized in that: The at least two sensing coordinate systems are generated by the tracking device based on a plurality of positioning information.

11. A method for calculating coordinate system offset, characterized in that: For an electronic device, the coordinate system offset calculation method comprises the following steps: generating at least two virtual calibration coordinates, wherein the at least two virtual calibration coordinates correspond to a first coordinate system; In response to a tracking device moving to the at least two virtual calibration coordinates, receiving at least two sensing coordinates from the tracking device, wherein the at least two sensing coordinates are generated by the tracking device and the at least two sensing coordinates correspond to a second coordinate system; as well as A coordinate system offset corresponding to the first coordinate system and the second coordinate system is calculated based on the at least two virtual calibration coordinates and the at least two sensing coordinates.

12. The coordinate system offset calculation method according to claim 11, characterized in that: It also includes the following steps: In response to determining that the tracking device moves to a first virtual calibration coordinate among the at least two virtual calibration coordinates, receiving a first sensing coordinate corresponding to the first virtual calibration coordinate from the tracking device; and In response to determining that the tracking device moves to a second virtual calibration coordinate among the at least two virtual calibration coordinates, a second sensing coordinate corresponding to the second virtual calibration coordinate is received from the tracking device.

13. The coordinate system offset calculation method according to claim 11, characterized in that: A third dimensional direction corresponding to the first coordinate system is the same as the third dimensional direction corresponding to the second coordinate system.

14. The coordinate system offset calculation method according to claim 11, characterized in that: The calculation of the coordinate system offset further includes the following steps: Calculating a displacement difference and an angle difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and The coordinate system offset is calculated based on the displacement difference and the angle difference.

15. The coordinate system offset calculation method according to claim 14, characterized in that: The at least two virtual calibration coordinates include a first virtual calibration coordinate and a second virtual calibration coordinate, the at least two sensing coordinates include a first sensing coordinate and a second sensing coordinate, the first virtual calibration coordinate corresponds to the first sensing coordinate, and the second virtual calibration coordinate corresponds to the second sensing coordinate.

16. The coordinate system offset calculation method according to claim 15, characterized in that: The calculation of the displacement difference includes the following steps: Calculating a first-dimensional displacement difference, a second-dimensional displacement difference, and a third-dimensional displacement difference corresponding to a three-dimensional space based on the first virtual calibration coordinate and the first sensing coordinate; and The displacement difference is calculated based on the first-dimensional displacement difference, the second-dimensional displacement difference and the third-dimensional displacement difference.

17. The coordinate system offset calculation method according to claim 15, characterized in that: The calculation of the angle difference includes the following steps: Calculating a vector angle difference between a virtual calibration vector and a sensing vector corresponding to a two-dimensional space, wherein the virtual calibration vector is composed of the first virtual calibration coordinate and the second virtual calibration coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and Based on the vector angle difference, the angle difference is calculated.

18. The coordinate system offset calculation method according to claim 15, characterized in that: The calculation of the coordinate system offset further includes the following steps: Calculating a scale difference based on the at least two virtual calibration coordinates and the at least two sensing coordinates; and The coordinate system offset is calculated based on the displacement difference, the angle difference and the scale difference.

19. The coordinate system offset calculation method according to claim 18, characterized in that: The calculation of the scale difference includes the following steps: Calculating a vector length difference between a virtual calibration vector and a sensing vector, wherein the virtual calibration vector is composed of the first virtual calibration coordinate and the second virtual calibration coordinate, and the sensing vector is composed of the first sensing coordinate and the second sensing coordinate; and Based on the vector length difference, the scale difference is calculated.

20. A non-transitory computer-readable storage medium, characterized in that: The non-transitory computer-readable storage medium stores a computer program, the computer program comprising a plurality of program instructions. After being loaded into an electronic device, the computer program executes a coordinate system offset calculation method, the coordinate system offset calculation method comprising the following steps: generating at least two virtual calibration coordinates, wherein the at least two virtual calibration coordinates correspond to a first coordinate system; In response to a tracking device moving to the at least two virtual calibration coordinates, receiving at least two sensing coordinates from the tracking device, wherein the at least two sensing coordinates are generated by the tracking device and the at least two sensing coordinates correspond to a second coordinate system; as well as A coordinate system offset corresponding to the first coordinate system and the second coordinate system is calculated based on the at least two virtual calibration coordinates and the at least two sensing coordinates.