Pointing device and control method thereof

Traditional pointing is solved by using an acceleration sensor and a motion sensor in the pointing device, combining the first attitude angle operator and the second attitude angle operator, selectively compute the attitude angle output and convert it into displacement data. The problems of long reaction time, high cost and high power consumption caused by large device computing volume achieve more efficient performance.

CN114740987BActive Publication Date: 2024-12-06CHICONY ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110018701.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-01-07
Publication Date
2024-12-06
Estimated Expiration
2041-01-07

AI Technical Summary

Technical Problem

Due to the excessive computing volume of traditional pointing devices, the problems of long reaction time, high cost and large power consumption are difficult to effectively solve, especially when the processor is overloaded.

Method used

A pointing device is designed, including an acceleration sensor, a motion sensor and a processor, and the first attitude angle calculating attitude angle output is selected according to predetermined conditions through the first attitude angle calculator and the second attitude angle calculator to reduce the computational burden of the processor. , and convert the output data into displacement data on the reference coordinate system through the attitude angle converter.

Benefits of technology

It effectively avoids the problems of large power consumption, long reaction time and high cost due to excessive processor computing burden, and improves the performance and efficiency of the pointing device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114740987B_ABST
    Figure CN114740987B_ABST
Patent Text Reader

Abstract

The present invention discloses a pointing device, including an acceleration sensor, a motion sensor and a processor. The processor includes a first attitude angle operator, a second attitude angle operator and an attitude angle selector. When a predetermined condition is met, the processor controls the acceleration sensor to generate acceleration data, the first attitude angle operator calculates a first attitude angle output according to the acceleration data, and the attitude angle selector receives the first attitude angle output as reference data. When the predetermined condition is not met, the second attitude angle operator calculates a second attitude angle output according to the angular velocity data and reference data generated by the motion sensor, and the attitude angle selector receives the second attitude angle output as reference data. The present disclosure also provides a control method for a pointing device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a pointing device and a control method thereof, and more particularly to a pointing device having an acceleration sensor and a motion sensor and a control method thereof. Background Art

[0002] Traditional pointing devices often use acceleration sensors and motion sensors to collect data and use complex algorithms to calculate the posture of the pointing device. In order to produce stable output, almost every output data is generated through filtering, compensation or fusion operations. However, due to the large amount of calculations, traditional pointing devices often face problems such as long response time, high cost (due to the use of high-performance processors) or high power consumption.

[0003] In addition, referring to FIGS. 1A to 1B , conventional pointing devices 1 are mostly flat rectangular parallelepipeds, and the only gripping method is a normal grip (such as Figure 1A as shown) and reverse grip (as shown Figure 1B When the user holds the pointing device 1 in reverse, the user can generally obtain the correct direction of the pointing device by simply reversing the coordinates. Summary of the invention

[0004] One embodiment of the present disclosure is a pointing device. The pointing device includes an acceleration sensor, a motion sensor, and a processor. The acceleration sensor is used to generate acceleration data according to the motion state of the pointing device. The motion sensor is used to generate angular velocity data according to the motion state of the pointing device. The processor is coupled to the acceleration sensor and the motion sensor, and includes a first attitude angle operator, a second attitude angle operator, an attitude angle selector, and an attitude angle converter, wherein when a predetermined condition is met, the processor controls the acceleration sensor to generate acceleration data, the first attitude angle operator calculates a first attitude angle output according to the acceleration data, and the attitude angle selector receives the first attitude angle output as reference data to generate output data, when the predetermined condition is not met, the second attitude angle operator calculates a second attitude angle output according to the angular velocity data and the reference data, and the attitude angle selector receives the second attitude angle output as reference data to generate output data, and the attitude angle converter is used to convert the output data into displacement data on a reference coordinate system.

[0005] Another embodiment of the present disclosure is a control method. The control method is applicable to a pointing device and includes the following operations: generating angular velocity data according to the motion state of the pointing device; calculating a second attitude angle output according to the angular velocity data and reference data; calculating a first attitude angle output as reference data or receiving a second attitude angle output as reference data according to acceleration data based on whether a predetermined condition is satisfied to generate output data and determine the reference data; and converting the output data into displacement data on a reference coordinate system.

[0006] In summary, by selecting one of the first attitude angle output and the second attitude angle output to perform displacement data calculation, the pointing device and control method thereof of the present disclosure can avoid problems caused by excessive computational burden on the processor (e.g., high power consumption, long response time, and high cost). BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1A-1B It is a schematic diagram of the use of a flat rectangular pointing device.

[0008] Figures 2A to 2F It is a schematic diagram of the use of a cylindrical pointing device.

[0009] Figure 3 is a block diagram of a pointing device according to some embodiments of the present disclosure.

[0010] Figure 4 is a block diagram of a processor of a pointing device according to some embodiments of the present disclosure.

[0011] Figure 5 The present invention is a flow chart illustrating a method for controlling a pointing device according to some embodiments of the present disclosure.

[0012] Fig. 6A The present invention is a flowchart illustrating one operation of a method for controlling a pointing device according to some embodiments of the present disclosure.

[0013] Figure 6B It is a flow chart illustrating one operation of a method for controlling a pointing device according to other embodiments of the present disclosure.

[0014] Figure 7 A data timing diagram of output data of a pointing device is depicted according to some embodiments of the present disclosure.

[0015] Figure 8 is a block diagram of a pointing device according to other embodiments of the present disclosure.

[0016] Fig. 9 is a block diagram of a pointing device according to other embodiments of the present disclosure.

[0017] Fig.10 A data timing diagram of output data of a pointing device is depicted according to other embodiments of the present disclosure.

[0018] Description of reference numerals:

[0019] 10 External devices

[0020] 11,130 processors

[0021] 13 Display

[0022] 1,100 Pointing Devices

[0023] 110 Acceleration sensor

[0024] 120 Motion Sensor

[0025] 200 Control Methods

[0026] 301 First Filter

[0027] 302 Second filter

[0028] 303 First attitude angle calculator

[0029] 304 Second attitude angle calculator

[0030] 305 Attitude Angle Selector

[0031] 306 Attitude angle register

[0032] 307 Attitude Angle Converter

[0033] 308 Interpolation Angle Generator

[0034] 309 Drift Remover

[0035] ACD acceleration data

[0036] AVD angular velocity data

[0037] FAA first attitude angle output

[0038] SAA Second attitude angle output

[0039] RD Reference Data

[0040] IAA interpolated attitude angle output

[0041] PO displacement data DETAILED DESCRIPTION

[0042] The following is a detailed description of the embodiments in conjunction with the accompanying drawings, but the specific embodiments described are only used to explain the present case and are not used to limit the present case. The description of the structural operation is not used to limit the order of its execution. Any structure recombined by the elements to produce a device with equal efficacy is within the scope of the present disclosure.

[0043] The terms used throughout the specification and claims generally have the ordinary meanings of each term used in the art, in this disclosure and in the specific context, unless otherwise noted.

[0044] In addition, the terms “coupled” or “connected” as used herein may refer to two or more elements making direct physical or electrical contact with each other, or making indirect physical or electrical contact with each other, or may refer to two or more elements operating or moving with each other.

[0045] See also Figures 2A to 2F , Figures 2A to 2F A schematic diagram of a cylindrical pointing device (e.g., a stylus pen, a presentation pen) is described. Since a cylinder is easy to roll, there are often many ways to hold a cylindrical pointing device (e.g., Figures 2A to 2C The three types of grip shown, Figures 2D to 2F The three inverted grip methods shown in the figure make it impossible to obtain the correct posture of the pointing device by simple algorithms (e.g., coordinate inversion). In addition, even if common algorithms (e.g., filtering, compensation, or fusion operations) are used, the pointing device still needs to go through multiple operations to obtain the correct posture of the pointing device. Therefore, the cylindrical pointing device still faces the problems of time-consuming, high cost, or high power consumption due to the large amount of calculation.

[0046] In view of this, the present disclosure proposes a pointing device that can reduce the computing burden. Figure 3 , Figure 3 A block diagram of a pointing device 100 according to one embodiment of the present disclosure is described. In some embodiments, the pointing device 100 may be a stylus, a presentation pen, a game controller, a media remote control, or other objects operable by a user.

[0047] Specifically, the pointing device 100 includes an acceleration sensor 110, a motion sensor 120, and a processor 130. The acceleration sensor 110 and the motion sensor 120 are respectively used to generate acceleration data ACD and angular velocity data AVD according to the motion state of the pointing device 100. The processor 130 is coupled to the acceleration sensor 110 and the motion sensor 120 to generate displacement data PO on a reference coordinate system (not shown).

[0048] like Figure 3As shown, the processor 130 can also output the displacement data PO to the external device 10 via a communication module (not shown in the figure), and the displacement data PO can be received by the processor 11 of the external device 10. Accordingly, the processor 11 can control the movement of an indicator (not shown in the figure) displayed on the screen of the display 13 of the external device 10 according to the displacement data PO. In some embodiments, the indicator is a cursor.

[0049] In some embodiments, the reference coordinate system is a screen coordinate system of the display 13. Specifically, the reference coordinate system may be defined by a reference origin, a first axis, and a second axis. The reference origin may be located at the upper left corner of the screen, the first axis may extend from the reference origin along a first direction, and the second axis may extend from the reference origin along a second direction perpendicular to the first direction. In other words, the first axis and the second axis are perpendicular to each other. In addition, a third axis perpendicular to the screen is perpendicular to the first axis and the second axis. In some embodiments, the displacement data PO includes a displacement amount on the first axis and a displacement amount on the second axis.

[0050] See also Figure 4 The processor 130 includes a first filter 301, a second filter 302, a first attitude angle calculator 303, a second attitude angle calculator 304, an attitude angle selector 305, an attitude angle register 306, an attitude angle converter 307, an interpolation angle generator 308 and a drift remover 309.

[0051] Structurally, the first filter 301 is coupled to the acceleration sensor 110, and the second filter 302 is coupled to the motion sensor 120. The first attitude angle operator 303 is coupled to the first filter 301, and the second attitude angle operator 304 is coupled to the second filter 302. The attitude angle selector 305 is coupled to the first attitude angle operator 303 and the second attitude angle operator 304. The attitude angle register 306 is coupled to the attitude angle selector 305 and the second attitude angle operator 304. The interpolation angle generator 308 is coupled to the second attitude angle operator 304 and the attitude angle register 306. The attitude angle converter 307 is coupled to the attitude angle selector 305 and the interpolation angle generator 308. The drift remover 309 is coupled to the attitude angle converter 307.

[0052] In some embodiments, the acceleration sensor 110 is, for example, an accelerometer. The motion sensor 120 is, for example, a gyroscope. The first filter 301 is a low-pass filter, an infinite impulse response filter, or a moving average filter. The second filter 302 is a high-pass filter, a finite impulse response filter, or a moving average filter.

[0053] In some embodiments, the first filter 301, the second filter 302, the first attitude angle calculator 303, the second attitude angle calculator 304, the attitude angle selector 305, the attitude angle register 306, the attitude angle converter 307, the interpolation angle generator 308 and the drift remover 309 can be integrated together in a suitable manner.

[0054] See also Figure 5 , Figure 5 1 is a flow chart of a control method 200 according to another embodiment of the present disclosure. The pointing device 100 may perform relevant operations according to the control method 200 to generate displacement data PO. Figure 5 As shown, the control method 200 includes operations S201 to S204. In order to better understand the present invention, the following paragraphs will be combined with Figures 3-4 The operation of the pointing device 100 will be described.

[0055] In operation S201, the motion sensor 120 generates angular velocity data AVD according to the motion state of the pointing device 100. Specifically, when the pointing device 100 rotates and / or moves in the three-dimensional space, the angular velocity data AVD generated by the motion sensor 120 includes an angular velocity value. In this embodiment, the acceleration sensor 110 is not yet activated or operated in operation S201 (in other words, only the motion sensor 120 is generating the angular velocity data AVD). In other embodiments, the acceleration sensor 110 and the motion sensor 120 simultaneously generate acceleration data ACD and angular velocity data AVD according to the motion state of the pointing device 100, respectively, wherein the acceleration data ACD generated by the acceleration sensor 110 includes a gravity acceleration value.

[0056] In operation S202, the processor 130 calculates a second attitude angle output SAA according to the angular velocity data AVD and the reference data RD. Figure 4As shown, the second filter 302 in the processor 130 first filters the angular velocity data AVD to reduce noise. Then, the second attitude angle calculator 304 in the processor 130 calculates the second attitude angle output SAA based on the filtered angular velocity data AVD and the reference data RD. For example, the second attitude angle calculator 304 integrates the angular velocity value included in the angular velocity data AVD based on the reference data RD (which will be further described later) to calculate the rotation angle of the three axes of the pointing device 100 in the three-dimensional space over a period of time (including the pitch angle (Pitch), the roll angle (Roll) and the yaw angle (Yaw)). It can be seen that the second attitude angle output SAA is relative information about the attitude of the pointing device 100.

[0057] In operation S203, the processor 130 calculates the first attitude angle output FAA as reference data RD or receives the second attitude angle output SAA (which can be calculated in operation S202) as reference data RD according to the acceleration data ACD based on whether the predetermined condition is satisfied, so as to generate output data. It is worth noting that the processor 130 usually receives the second attitude angle output SAA as reference data RD through the attitude angle selector 305. However, since the second attitude angle output SAA will have a drift problem due to the accumulated error over time, the processor 130 will calculate the first attitude angle output FAA as reference data RD in a few cases to eliminate the accumulated error of the second attitude angle output SAA. Accordingly, the processor 130 controls the acceleration sensor 110 to start or operate to generate acceleration data ACD through the attitude angle selector 305 only when the first attitude angle output FAA is needed, and the processor 130 then receives and processes the acceleration data ACD to reduce the computing burden. In other words, the processor 130 does not process the acceleration data ACD and the angular velocity data AVD at the same time.

[0058] Specifically, when the first attitude angle output FAA is needed, the first filter 301 in the processor 130 first filters the acceleration data ACD to reduce noise. The first attitude angle operator 303 in the processor 130 calculates the first attitude angle output FAA based on the filtered acceleration data ACD. For example, the first attitude angle operator 303 performs orthogonal decomposition on the gravity acceleration value contained in the acceleration data ACD, and further calculates the tilt angles of the three axes of the pointing device 100 in three-dimensional space (including pitch angle, roll angle and yaw angle). It can be seen that the first attitude angle output FAA is absolute information about the attitude of the pointing device 100. Then, the processor 130 receives the first attitude angle output FAA as reference data RD through the attitude angle selector 305.

[0059] In some embodiments, the motion sensor 120 is a motion sensor of at least two axes in three-dimensional space, and the second attitude angle output SAA includes a value associated with the rotation angle of the pointing device 100 on at least two axes in three-dimensional space. In some embodiments, the acceleration sensor 110 is an acceleration sensor of at least two axes in three-dimensional space, and the first attitude angle output FAA includes a value associated with the acceleration of the pointing device 100 on at least two axes in three-dimensional space.

[0060] In other embodiments, since the acceleration sensor 110 and the motion sensor 120 generate data with lower noise due to process improvement, the first filter 301 and / or the second filter 302 in the processor 130 can be omitted. In other words, the first attitude angle calculator 303 in the processor 130 can directly receive the acceleration data ACD to calculate the first attitude angle output FAA. The second attitude angle calculator 304 in the processor 130 can directly receive the angular velocity data AVD to calculate the second attitude angle output SAA.

[0061] In some embodiments, the predetermined condition in operation S203 includes that the attitude angle selector 305 has not received the first attitude angle output FAA or the second attitude angle output SAA. Specifically, when the pointing device 100 is just turned on or started, the attitude angle selector 305 has not received the first attitude angle output FAA or the second attitude angle output SAA (at this time, the reference data RD is unknown), and the processor 130 calculates the first attitude angle output FAA of the first stroke according to the acceleration data ACD through the first filter 301 and the first attitude angle operator 303, and controls the attitude angle selector 305 to receive the first attitude angle output FAA of the first stroke as the reference data RD of the first stroke. Figure 4 As shown, the reference data RD is output to the attitude angle register 306, and the second attitude angle calculator 304 can obtain the reference data RD from the attitude angle register 306. In this way, the second attitude angle calculator 304 can calculate the second attitude angle output SAA of the first record according to the angular velocity data AVD and the first attitude angle output FAA of the first record, and the second attitude angle output SAA can be used as output data.

[0062] See also Fig. 6A In some embodiments, operation S203 includes sub-operations S301 to S305. In sub-operation S301, after the attitude angle selector 305 receives the first attitude angle output FAA or the second attitude angle output SAA, the processor 130 determines, for example, through the attitude angle selector 305, whether within a predetermined time after the attitude angle selector 305 receives the first attitude angle output FAA as the reference data RD, to determine whether to calculate the first attitude angle output FAA or receive the second attitude angle output SAA.

[0063] Specifically, the predetermined time may be, for example but not limited to, 0.3 seconds. When the time after receiving a first attitude angle output FAA is less than 0.3 seconds, sub-operation S302 is performed. In sub-operation S302, the processor 130 receives the second attitude angle output SAA as reference data RD and output data through the attitude angle selector 305.

[0064] When the time after receiving a first attitude angle output FAA is equal to or greater than 0.3 seconds, sub-operations S303 to S305 are executed. Figure 7 In sub-operation S303 to S305, the processor 130 receives the acceleration data ACD to calculate the first posture angle output FAA[N+1] of the pen as the reference data RD, where N is an integer greater than 1. Therefore, Figure 7 The second attitude angle output SAA[N+1] of the pen does not exist. Accordingly, the processor 130 does not need to receive the angular velocity data AVD of the pen, and does not process the angular velocity data AVD of the pen to generate the second attitude angle output SAA[N+1]. Figure 4 As shown, the reference data RD is output to the attitude angle register 306, and the second attitude angle calculator 304 can obtain the reference data RD from the attitude angle register 306. In sub-operation S304, the second attitude angle calculator 304 calculates the second attitude angle output SAA[N+2] of the next stroke according to the angular velocity data AVD of the next stroke and the first attitude angle output FAA[N+1] of the current stroke. In sub-operation S305, the interpolation angle generator 308 generates the interpolation attitude angle output IAA[N+1] of the current stroke as output data according to the second attitude angle output SAA[N] of the previous stroke and the second attitude angle output SAA[N+2] of the next stroke.

[0065] In some embodiments, the interpolation angle generator 308 generates the interpolation attitude angle output IAA using a linear interpolation technique or a spherical linear interpolation technique. It is understood that the interpolation angle generator 308 can obtain the second attitude angle output SAA[N] of the previous stroke from the attitude angle register 306, and can obtain the second attitude angle output SAA[N+2] of the next stroke from the second attitude angle calculator 304.

[0066] See also Figure 6BIn other embodiments, operation S203 includes sub-operations S311 to S315. In sub-operation S311, after the attitude angle selector 305 receives the first attitude angle output FAA or the second attitude angle output SAA, the processor 130 determines whether the second attitude angle output SAA exceeds a predetermined value through, for example, the attitude angle selector 305 to determine whether to calculate the first attitude angle output FAA or receive the second attitude angle output SAA.

[0067] Specifically, the predetermined value may be, for example but not limited to, 10 degrees. When at least one of the pitch angle, roll angle, and yaw angle included in the second attitude angle output SAA is less than or equal to 10 degrees, sub-operation S312 is performed. When at least one of the pitch angle, roll angle, and yaw angle included in the second attitude angle output SAA exceeds 10 degrees, sub-operations S313 to S315 are performed. The description of sub-operations S312 to S315 is similar or identical to the description of sub-operations S302 to S305, and is not repeated here.

[0068] Based on the above, the output data can be the second attitude angle output SAA or the interpolated attitude angle output IAA. Figure 5 As shown, after the output data is generated, operation S204 is performed. In operation S204, the attitude angle converter 307 converts the output data into displacement data PO on the reference coordinate system. Specifically, the attitude angle converter 307 multiplies the yaw angle and the pitch angle in the output data by predetermined parameters respectively to convert them into the displacement on the first axis of the reference coordinate system and the displacement on the second axis of the reference coordinate system (i.e., displacement data PO). For example, the pitch angle is 4 degrees, the yaw angle is 12 degrees, and the predetermined parameter is 16. After conversion, the displacement on the first axis is 192 points (displacement in units of 1 point), and the displacement on the second axis is 64 points.

[0069] It is worth noting that the predetermined parameter can be set according to the screen size of the display 13. In some embodiments, the larger the screen size of the display 13, the larger the predetermined parameter; or, the smaller the screen size of the display 13, the smaller the predetermined parameter. In this way, the motion state of the pointing device 100 and the moving track of the indicating object on the screen can be synchronized, and the problem of the pointing device 100 rotating at a large angle but the moving track of the indicating object being very short will not occur.

[0070] By repeatedly executing operations S201 - S204 , the pointing device 100 can continuously generate corresponding displacement data PO to the external device 10 while moving, so that the pointing object displayed on the display 13 generates a moving track corresponding to the movement state of the pointing device 100 .

[0071] In the above embodiment, the pointing device 100 generates displacement data to the external device 10 only based on the information of the pitch angle and the yaw angle. In other embodiments, the pointing device 100 can also generate action data (not shown) to the external device 10 based on the roll angle included in the output data, so that the pointing object performs a specific action. For example, when the pointing device 100 rotates counterclockwise around a third axis perpendicular to the screen so that the roll angle has a negative angle, the processor 130 generates action data based on the roll angle with a negative angle, and outputs the action data to the external device 10, so that the pointing object selects a button or an icon of an application on the user interface displayed on the display 13 according to the action data.

[0072] As described above, the processor 130 in the pointing device 100 receives the acceleration data ACD in a timely manner and calculates the first attitude angle output FAA to eliminate the cumulative error of the second attitude angle output SAA. However, in some embodiments, since the acceleration sensor 110 cannot sense horizontal rotation, the yaw angle included in the first attitude angle output FAA is basically discarded (cannot be used for calculation). Therefore, the cumulative error of the yaw angle included in the second attitude angle output SAA cannot be corrected by the first attitude angle output FAA. Please refer to Figure 4 In order to solve the problem of being unable to correct the accumulated error of the yaw angle, the drift remover 309 in the processor 130 receives the displacement data PO, and compares the displacement amount on the first axis contained in the displacement data PO (converted from the yaw angle contained in the second attitude angle output SAA) with the critical value, and selectively processes the displacement data PO according to the comparison result. Specifically, the critical value may be, for example but not limited to, 1 / 3 point. When the displacement amount on the first axis of the displacement data PO of the current pen is less than 1 / 3 point, the drift remover 309 determines that the displacement amount on the first axis is caused by an error, and stops outputting the displacement data PO of the current pen, or replaces the displacement data PO of the current pen with the displacement data PO of the previous pen. When the displacement amount on the first axis of the displacement data PO of the current pen is not less than 1 / 3 point, the drift remover 309 continues to output the displacement data PO of the current pen. In other words, the drift remover 309 selectively outputs the displacement data PO based on the judgment result of whether the displacement amount on the first axis is greater than the critical value.

[0073] In some other embodiments, the drift remover 309 compares the displacement on the first axis and the displacement on the second axis (converted from the pitch angle included in the second attitude angle output SAA) included in the displacement data PO with the critical values ​​respectively.

[0074] For other embodiments, please refer to Figure 8, the drift remover 309 may be coupled between the attitude angle selector 305 and the attitude angle converter 307. The drift remover 309 receives the second attitude angle output SAA (output from the attitude angle selector 305), compares at least one of the pitch angle, roll angle, and yaw angle included in the second attitude angle output SAA with another critical value (e.g., 0.1 degrees), and selectively outputs the second attitude angle output SAA to the attitude angle converter 307 according to the comparison result. Specifically, when at least one of the pitch angle, roll angle, and yaw angle included in the second attitude angle output SAA of the pen is less than the other critical value, the drift remover 309 will not output the second attitude angle output SAA of the pen to the attitude angle converter 307 (or, the drift remover 309 outputs the second attitude angle output SAA of the previous pen to replace the second attitude angle output SAA of the pen). When at least one of the pitch angle, roll angle and yaw angle included in the second attitude angle output SAA of the pen is not less than the other critical value, the operation is performed as described above, and the second attitude angle output SAA of the pen continues to be output to the attitude angle converter 307.

[0075] For other embodiments, please refer to Fig. 9 , the drift remover 309 may be coupled between the second attitude angle calculator 304 and the attitude angle selector 305. The drift remover 309 receives the second attitude angle output SAA (output from the second attitude angle calculator 304), compares at least one of the pitch angle, roll angle, and yaw angle included in the second attitude angle output SAA with another critical value (e.g., 0.1 degrees), and selectively outputs the second attitude angle output SAA to the attitude angle selector 305 according to the comparison result. Specifically, when at least one of the pitch angle, roll angle, and yaw angle included in the second attitude angle output SAA of the pen is less than the other critical value, the drift remover 309 will not output the second attitude angle output SAA of the pen to the attitude angle selector 305 (or, the drift remover 309 outputs the second attitude angle output SAA of the previous pen to replace the second attitude angle output SAA of the pen). When at least one of the pitch angle, roll angle and yaw angle included in the second attitude angle output SAA of the pen is not less than the other critical value, the operation is performed as described above, and the second attitude angle output SAA of the pen continues to be output to the attitude angle selector 305.

[0076] In some other embodiments, the interpolation angle generator 308 and the drift remover 309 in the processor 130 may be omitted. Fig.10, if configured in this way, when the attitude angle selector 305 receives the first attitude angle output FAA[N+1] of the pen according to the predetermined condition, the first attitude angle output FAA[N+1] of the pen is used as reference data to generate the second attitude angle output SAA[N+2] of the next pen, and is output as output data to the attitude angle converter 307. Compared with the embodiment using the first attitude angle output FAA[N+1] as output data, the embodiment using the interpolated attitude angle output IAA[N+1] as output data (such as Figure 7 As shown in FIG. 1 , the moving track of the indicating object can be further modified to make it smoother.

[0077] In the above embodiment, the pointing device 100 only generates a single interpolation attitude angle output IAA[N+1] to interpolate between the two second attitude angle outputs SAA[N] and SAA[N+2]. In other embodiments, the communication between the pointing device 100 and the external device 10 may be disturbed and temporarily disconnected. Accordingly, the interpolation angle generator 308 in the processor 130 may generate multiple interpolation attitude angle outputs IAA using interpolation technology (e.g., Bezier Curve) to interpolate between one second attitude angle output before the communication is interrupted and another second attitude angle output after the communication is restored.

[0078] In the above embodiment, the processor 130 first performs the interpolation operation, and then converts the output data (for example, the second attitude angle output SAA and the interpolated attitude angle output IAA) into the displacement data PO through the attitude angle converter 307. In other embodiments, the processor 130 first converts the output data (for example, the second attitude angle output SAA) into the displacement data PO through the attitude angle converter 307, and then performs the interpolation operation on the displacement data PO, so that the interpolated attitude angle output IAA is not generated. Specifically, the attitude angle converter 307 converts the output data (for example, the second attitude angle output SAA) into the displacement data PO. Figure 7 The second posture angle output SAA[N] of the previous stroke and the second posture angle output SAA[N+2] of the next stroke are respectively converted into the displacement data PO[N] of the previous stroke and the displacement data PO[N+2] of the next stroke. Then, the interpolation angle generator 308 can generate interpolation displacement data arranged between the displacement data PO[N] of the previous stroke and the displacement data PO[N+2] of the next stroke by using interpolation technology (e.g., Bezier curve, Isaac Newton or Lagrange).

[0079] In summary, by selecting one of the first attitude angle output FAA and the second attitude angle output SAA to perform displacement data calculations, the pointing device 100 and the control method 200 of the present disclosure can avoid problems caused by excessive computational burden on the processor 130 (e.g., high power consumption, long response time, and high cost).

[0080] Although the present disclosure has been disclosed in the above-mentioned implementation mode, it is not intended to limit the present disclosure. Those skilled in the art may make various changes and modifications without departing from the spirit and scope of the present disclosure. Therefore, the scope of protection of the present disclosure shall be determined by the scope defined in the appended claims.

Claims

1. A pointing device, comprising: An acceleration sensor for generating acceleration data according to the motion state of the pointing device; A motion sensor for generating angular velocity data according to the motion state of the pointing device; as well as A processor is coupled to the acceleration sensor and the motion sensor and includes a first attitude angle calculator, a second attitude angle calculator, an attitude angle selector, and an attitude angle converter. When a predetermined condition is met, the processor controls the acceleration sensor to generate acceleration data, the first attitude angle calculator calculates a first attitude angle output according to the acceleration data, and the attitude angle selector receives the first attitude angle output as reference data to generate output data. When the predetermined condition is not satisfied, the second attitude angle calculator calculates a second attitude angle output according to the angular velocity data and the reference data, and the attitude angle selector receives the second attitude angle output as the reference data to generate output data. The attitude angle converter is used to convert the output data into displacement data on the reference coordinate system; The predetermined condition includes that the attitude angle selector has not received the first attitude angle output or the second attitude angle output.

2. The pointing device according to claim 1, wherein when the attitude angle selector has not yet received the first attitude angle output or the second attitude angle output, the acceleration sensor generates acceleration data, and the first attitude angle operator calculates the first attitude angle output based on the acceleration data, so that the attitude angle selector receives the first attitude angle output as reference data.

3. The pointing device according to claim 1, wherein when the second attitude angle output is greater than a predetermined value, the acceleration sensor generates acceleration data, and the first attitude angle calculator calculates the first attitude angle output according to the acceleration data, so that the attitude angle selector receives the first attitude angle output as reference data; When the second attitude angle output is not greater than the predetermined value, the attitude angle selector receives the second attitude angle output as reference data. 4 . The pointing device according to claim 1 , wherein the attitude angle selector receives the second attitude angle output as the reference data within a predetermined time after the attitude angle selector receives the first attitude angle output as the reference data.

5. The pointing device according to claim 3 or 4, further comprising an interpolation angle generator, wherein when the attitude angle selector receives the first attitude angle output of the N+1th stroke as reference data, the second attitude angle calculator calculates the second attitude angle output of the N+2th stroke according to the angular velocity data of the N+2th stroke and the first attitude angle output of the N+1th stroke, and the interpolation angle generator generates the interpolation attitude angle output of the N+1th stroke as output data according to the second attitude angle output of the Nth stroke and the second attitude angle output of the N+2th stroke; in, N is a positive integer greater than 1.

6. The pointing device according to claim 1 further includes a drift remover, wherein the displacement data on the reference coordinate system includes the displacement amount of the first axis, and the drift remover selectively outputs the displacement data on the reference coordinate system based on a judgment result of whether the displacement amount of the first axis is greater than a critical value.

7. A control method, applicable to a pointing device, wherein the control method comprises: generating angular velocity data according to the motion state of the pointing device; Calculate a second attitude angle output according to the angular velocity data and the reference data; Based on whether the predetermined condition is satisfied, calculating a first attitude angle output as reference data or receiving a second attitude angle output as reference data according to the acceleration data to generate output data; as well as Convert the output data into displacement data on the reference coordinate system; The predetermined condition includes that the attitude angle selector has not received the first attitude angle output or the second attitude angle output.

8. The control method according to claim 7, wherein the operation of calculating the first attitude angle output as reference data or receiving the second attitude angle output as reference data to generate output data according to a predetermined condition comprises: When the first attitude angle output or the second attitude angle output has not been received, acceleration data is generated according to the motion state of the pointing device, and the first attitude angle output is calculated according to the acceleration data as reference data.

9. The control method according to claim 7, wherein the operation of calculating the first attitude angle output as reference data or receiving the second attitude angle output as reference data to generate output data according to a predetermined condition comprises: When the second attitude angle output is greater than a predetermined value, acceleration data is generated according to the motion state of the pointing device, and the first attitude angle output is calculated according to the acceleration data as reference data; When the second attitude angle output is not greater than the predetermined value, the second attitude angle output is received as reference data.

10. The control method according to claim 7, wherein the operation of calculating the first attitude angle output as reference data or receiving the second attitude angle output as reference data to generate output data according to a predetermined condition comprises: Within a predetermined time after receiving the first attitude angle output as reference data, receiving the second attitude angle output as reference data.

11. The control method according to claim 9 or 10, further comprising: When the first attitude angle output of the N+1th stroke is used as reference data, the second attitude angle output of the N+2th stroke is calculated according to the angular velocity data of the N+2th stroke and the first attitude angle output of the N+1th stroke; as well as Generate an interpolated attitude angle output of the N+1th stroke as output data according to the second attitude angle output of the Nth stroke and the second attitude angle output of the N+2th stroke; Wherein, N is a positive integer greater than 1.

12. The control method according to claim 7, wherein the displacement data on the reference coordinate system includes a displacement of the first axis, and the control method further comprises: Based on the determination result of whether the displacement of the first axis is greater than a critical value, the displacement data on the reference coordinate system is selectively output.