IP Library Granted Patent US 9,946,356
Granted Patent B2
US 9,946,356 · App. 15/015,745 · Granted Apr 17, 2018

3D pointing devices with orientation compensation and improved usability

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,946,356
App. No.
15/015,745
Granted
Apr 17, 2018
Kind
B2
Abstract

Systems and methods according to the present invention describe 3D pointing devices which enhance usability by transforming sensed motion data from a first frame of reference (e.g., the body of the 3D pointing device) into a second frame of reference (e.g., a user's frame of reference). One exemplary embodiment of the present invention removes effects associated with a tilt orientation in which the 3D pointing device is held by a user.

Claims (65)

1. A method for controlling an object by a device comprising the steps of:

detecting movement of the device using an accelerometer and at least one other sensor in the device, the movement being in a body frame of reference;

transforming the detected movement from the body frame of reference to another frame of reference; and

using the transformed movement to generate an output of the device for controlling said object,

wherein the step of transforming is calculated by:

Pu =Rotate( Pb,Q )+ P delta

Pu ′=Rotate( Pb′,Q )

Pu ″=Rotate( Pb″,Q )

Wu =Rotate( Wb,Q )

Wu ′=Rotate( Wb′,Q )

where:

Rotate represents a quaternion rotation operator such that Rotate(A, Q) is equal to Q*A Q where Q* is a quaternion conjugate and a vector A is a quaternion with a complex component equal to A and a real component equal to 0;

Pu is a position in the another frame of reference;

Pb is a position in the body frame of reference;

′ represents a derivative;

Wu is an angular velocity of the device in body angles in the another frame of reference;

Wb is an angular velocity of the device in body angles in the body frame of the device;

Pdelta is a difference between an origin of the another frame of reference and the body frame of reference in the another frame of reference coordinate system; and

Q is the normalized rotation guaternion that represents the rotation from the body frame to the another frame.

2. The method of claim 1 , further comprising the steps of:

interpreting the detected movement to produce an estimate of the detected movement;

converting the detected movement from the body frame of reference to the another frame of reference; and

mapping the transformed movement to produce said output of said device.

3. The method of claim 2 , wherein the step of mapping is performed to output a gesture for controlling said object.

4. The method of claim 3 , wherein said gesture is a command.

5. The method of claim 1 , wherein the step of transforming is performed by a processor external to the device.

6. The method of claim 1 , wherein the step of transforming includes transforming in x, y, and z dimensions and for both translational and rotational motion.

7. The method of claim 1 , wherein the step of transforming includes transforming from x, y, and z dimensions to x and y dimensions.

8. The method of claim 1 , wherein the step of transforming includes transforming only one of translational motion and rotational motion.

9. The method of claim 1 , further comprising the step of:

performing a second transformation to generate the output.

10. A system for controlling an object comprising:

a device, comprising:

an accelerometer; and

at least one other sensor; and a

a processor, external to the device, the processor configured to:

detect movement of the pointing device using the accelerometer and the at least one other sensor in the device, the movement being in a body frame of reference;

transform the detected movement from the body frame of reference to another frame of reference; and

use the transformed movement to generate an output of the device for controlling said object,

wherein the step of transforming is calculated by:

Pu =Rotate( Pb,Q )+Pdelta

Pu ′=Rotate( Pb′,Q )

Pu ″=Rotate( Pb″,Q )

Wu =Rotate( Wb,Q )

Wu ′=Rotate( Wb′,Q )

where:

Rotate represents a quaternion rotation operator such that Rotate(A, Q) is equal to Q*A Q where Q* is a quaternion conjugate and a vector A is a quaternion with a complex component equal to A and a real component equal to 0;

Pu is a position in the another frame of reference;

Pb is a position in the body frame of reference;

′ represents a derivative;

Wu is an angular velocity of the device in body angles in the another frame of reference;

Wb is an angular velocity of the device in body angles in the body frame of the device;

Pdelta is a difference between an origin of the another frame of reference and the body frame of reference in the another frame of reference coordinate system; and

Q is the normalized rotation quaternion that represents the rotation from the body frame to the another frame.

11. The system of claim 10 , wherein the processor is further configured to:

interpret the detected movement to produce an estimate of the detected movement;

convert the detected movement from the body frame of reference to the another frame of reference; and

map the transformed movement to produce said output of said device.

12. The system of claim 11 , wherein the step of mapping is performed to output a gesture for controlling said object.

13. The system of claim 12 , wherein said gesture is a command.

14. The system of claim 10 , wherein the transform step includes transforming in x, y, and z dimensions and for both translational and rotational motion.

15. The system of claim 10 , wherein the transform step includes transforming from x, y, and z dimensions to x and y dimensions.

16. The system of claim 10 , wherein the transform step includes transforming only one of translational motion and rotational motion.

17. The system of claim 10 , wherein the processor is further configured to:

perform a second transformation to generate the output.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2023
From: IDHL HOLDINGS, INC.
To: DRNC HOLDINGS, INC.
Reel/Frame 063327/0188 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RE-RECORD RELEASE OF SECURITY INTEREST PREVIOUSLY RECORDED AT REEL: 042603 FRAME: 0133. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 1, 2017
From: MULTIPLIER CAPITAL, LP
To: HILLCREST LABORATORIES, INC.
Reel/Frame 044720/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2017
From: HILLCREST LABORATORIES, INC.
To: IDHL HOLDINGS, INC.
Reel/Frame 042603/0021 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2017
From: MULTIPLIER CAPITAL, LP
To: HILLCREST LABORATORIES, INC.
Reel/Frame 042603/0133 →