Abstract:
The embodiments of the present disclosure are directed towards a method and apparatus for providing roll compensation in a control device, the method and apparatus including acquiring rotational data and linear data indicative of movement of the control device, applying roll compensation to the acquired data, and removing a roll compensation error from the roll compensated data. Inertial sensors such as gyroscope sensors and accelerometer sensor(s) may be used to acquire the rotational and linear data.

Description:
[0001]    This application claims the benefit under 35 U.S.C.§119 of a provisional application 60/995,382 filed in the United States on Sep. 26, 2007. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally handheld control devices and more specifically to handheld control devices having roll to compensation and improved usability associated therewith. 
       BACKGROUND OF THE INVENTION 
       [0003]    This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art. Conventional control devices control receivers such as televisions, computers, and displays. Typical control functions include powering the receivers on and off, navigating through menus displayed by the receivers, and controlling the display of a graphical element displayed by the receiver. Usually a user accesses these control functions using buttons on the control device (e.g., power button, navigational buttons, menu buttons, etc.) or the control device can detect simple movement (e.g., a mouse using a track ball or LED arrangement to detect motion along a surface). These conventional control devices suffer from the drawback of not tracking their own movement in free space (i.e., conventional control devices can only track their movement along a surface). 
         [0004]    Recently newer control devices have been introduced. These newer devices can track their motion in free space using inertial sensors such as accelerometer sensors or gyroscope sensors. However, these newer control devices suffer from the drawback of not providing roll compensation. As a result, the free space tracking of the newer control devices is not precise. 
         [0005]    The present disclosure is directed towards overcoming these drawbacks. 
       SUMMARY OF THE INVENTION 
       [0006]    The disclosed embodiments of the present invention are directed towards a method and apparatus for providing roll compensation in a control device, the method and apparatus including acquiring rotational data and linear data indicative of movement of the control device, applying a roll compensation to the acquired data, and removing a roll compensation error from the roll compensated data. Inertial sensors such as gyroscope sensors and accelerometer sensor(s) may be used to acquire the rotational and linear data. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0007]    In the drawings: 
           [0008]      FIG. 1  is a block diagram of an exemplary control system using an embodiment of the present disclosure. 
           [0009]      FIG. 2  is a diagram further illustrating the motion sensing processor of  FIG. 1 . 
           [0010]      FIG. 3  is a block diagram illustrating an exemplary roll compensation process of the present disclosure. 
       
    
    
       [0011]    The characteristics and advantages of the present invention may become more apparent from the following description, given by way of example. 
       DETAILED DESCRIPTION 
       [0012]    One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers&#39; specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure. 
         [0013]    The following describes a system for controlling a display using a control device having inertial sensors such as accelerometers and gyroscopes. Other systems utilized to control devices other than a display may include very similar structures. Those of ordinary skill in the art will appreciate that the embodiment of the system and circuits described herein is merely one potential embodiment. As such, in alternate embodiments, the components of the system and circuits may be rearranged or omitted, or additional components may be added. 
         [0014]    Turning now to the drawings and referring initially to  FIG. 1 , a block diagram of an exemplary system using an embodiment of the present disclosure is shown.  FIG. 1  illustrates a potential application, environment, or system  100  wherein the roll compensation process of the present disclosure can be utilized. System  100  includes a control device  110  and a receiver  120 . Control device  110  may be, but is not limited to, a remote control, a mouse, a game controller, a virtual reality controller, a pointer, a mobile device (e.g., a lap top computer, PDA, cell phone, wireless phone, mobile TV or the like), or other digital media input devices. Control device  110  detects, as discussed below, when it is moved (i.e., when it is moved in a linear fashion along the x, y or z plane, when it is rotated (e.g., pitch, yaw and roll movement), or any combination thereof) and in response to the detection of movement control device  110  transmits control signals to receiver  120 . Receiver  120  may be, but is not limited to, a TV, a display, a set top box, a game console, virtual reality console or the like. Furthermore, it should be noted that the receiver  120  and control device  110  may be integrated onto the same platform (e.g., a hand-held game console, PDA, cell phone, wireless phone, mobile TV or the like) such that the control signals are generated by the control device when the platform is moved. In response to the receiver  120  receiving the control signals from control device  110 , the receiver  120  may cause a graphical element such as, but not limited to, a cursor, highlight box, menu, game character or object, or the like to be moved on a display. The precision of the movement of the graphical element may be improved by the roll compensation process of the present disclosure as described in further detail below. It should also be noted that the receiver may be integrated in a moveable device (e.g., a remote control car, plane, boat, electro-mechanical device or the like) such that the movement of the control device  110  results in movement of the moveable device. 
         [0015]    Control device  110  includes a microprocessor  130 , a transmitter  140 , a user interface  150  and a motion sensor processor  160  that utilizes the roll compensation process of the present disclosure. In one embodiment, microprocessor receives inputs from user interface  150  and motion sensing processor  160  and based on the inputs causes transmitter  140  to transmit control signals to receiver  120 . In an alternative embodiment, e.g., when the receiver  120  and control device  110  are integrated onto the same platform, microprocessor  130  may directly control the movement of the graphical element on a display or may indirectly control such movement via the receiver  120 , other intermediate modules or circuits, or any combination thereof. The user interface  150  may include, but is not limited to, user selectable buttons, switches, dials, scroll or mouse wheels, touch sensitive screens, or the like. Some exemplary functions controlled or initiated by the user interface  150  may include, but is not limited to, powering the control device on and off, selecting a highlighted object on a display, adjusting the activity of the motion sensing processor  160  (e.g., having the motion sensor processor  160  enter into a first mode if the control device  110  is on a surface and having the motion sensor processor  160  enter into a to second mode if the control device  100  is removed from the surface and moved in free space), causing a menu to displayed on a display, or other functions known by those skilled in the art. The motion sensor processor  160  acquires motion data or information from various motion sensors, as discussed below, and combines or integrates the motion data to generate a motion signal representative of the movement of the control device  110 . The motion sensor processor  160  passes the motion signal to microprocessor  130  such that microprocessor  130  can, for example, cause a graphical object to be moved on a display. 
         [0016]    In a preferred embodiment, control device  110  includes the following features. Control device  110  has five degrees of freedom (e.g., motion is tracked along two rotational axes by inertial sensors such as gyroscope sensors and along three linear axes by inertial sensors such as accelerometers). Control device  110  has 360 degrees of roll compensation such that any rolled orientation produces true X-Y motion. Control device  110  has dynamic drift compensation such that, e.g., accelerometer(s) facilitates or allows drift compensation during the motion of the control device  110 . Control device  110  has a small size, low power consumption a fast start-up time. Some exemplary operating parameters of control device  110  include having a supply voltage from 2.7 to 3.3 Volts DC (VDC), having a Serial Peripheral Interface (SPI) between microprocessor  130  and motion sensing processor  130 , having a detect movement current of 7 microamps, a steady state current of 4.5 milliamps, and a maximum sampling rate of 8 milliseconds. 
         [0017]    Referring now to  FIG. 2 , the motion sensing processor  160  of  FIG. 1  is illustrated in greater detail. Motion sensor processor  160  includes a controller  200  that receives rotational or angular motion signals from inertial sensors such as gyroscopic sensors  230  and  240  via analog conditioning circuitry  220  and an analog to digital converter (ADC)  210 . Analog conditioning circuitry  220  filters the analog rotational motion signals received from gyroscopic sensors  230  and  240  such that the filtered analog rotational motion signals are in the proper condition to be digitized by ADC  210 . A variety of filters and filtering techniques for conditioning analog signals are known by those skilled in the art and considered within the scope of the present disclosure. ADC  210  digitizes the rotational motion signals and provides the digital rotational motion signals to controller  200 . ADC  210  preferably has a 10-bit, 2 channel ADC resolution although other ADC resolutions are considered within the scope of the present disclosure. 
         [0018]    Controller  200  also receives linear motion signals form inertial sensors such as accelerometer sensors  250 . In one exemplary embodiment, three accelerometers  250  provide signals to controller  200 . 
         [0019]    The first accelerometer for detecting motion along the X axis and providing a signal to controller  200  indicative of the motion along the X axis, the second accelerometer for detecting motion along the Y axis and providing a signal to controller  200  indicative of the motion along the Y axis, and the third accelerometer for detecting motion along the Z axis and providing a signal to controller  200  indicative of the motion along the Z axis. It should be noted that analog or digital signals or data may be provided by accelerometer sensors  250  and the processing of either by controller  200  is considered within the scope of the present disclosure. In an alternative embodiment, a Micro Electro-Mechanical System (MEMS) device such as a three-axis acceleration sensor may be used for detecting linear motion of the control device along the X, Y and Z axes. 
         [0020]    Controller  200  preferably contains a software module in, e.g., firmware that includes the process for providing roll compensation in accordance with the present disclosure as discussed in further detail below. It should be noted that the software module, in alternative embodiments may be stored in internal memory of the controller  200  or in an external memory (not shown). The roll compensation process involves performing roll compensation directly on received rotational rate data without translating a frame of reference and further involves removing the undesirable effects of the roll compensation without calculating the centrifugal and linear acceleration of the control device  110 . 
         [0021]    Controller  200  may fabricated as an integrated circuit having the following operating parameters: operating within a supply voltage range from 2.7 to 5.5 VDC, operating within a temperature range from −10 degrees Celsius to +70 degrees Celsius, having a typical current consumption of 1.7 milliamps at 3.3 VDC and 25 degrees Celsius, and having a sleep current consumption of 10 microamps. Preferably, controller  200  allows for the dynamic adjustment of some parameters such as, but not limited to, Gain, thresholds and power state control. 
         [0022]    It should be noted that although ADC  210 , analog conditioning circuit  22 , gyroscopic sensors  230  and  240 , and accelerometer sensors  250  are illustrated as being separate from controller  200  any or all of these elements may be an integral part of controller  200 . Creating or fabricating such an integrated controller is known by those skilled in the art and considered within the scope of the present disclosure. 
         [0023]    Controller  200  receives the linear and rotational motion signals generated by the gyroscopic sensors  230  and  240  and accelerometer sensors  250 , processes the motion signals to, inter alia, provide roll compensation in accordance with the present disclosure, and passes the processed motion signals to the microprocessor  130  of control device  110 . It should be noted that controller  200  may pass each of the processed rotational motion signals and linear motion signals separately to the microprocessor  130 , may pass an integrated signal representative of the processed rotational motion signals and linear motion signals to the microprocessor  130 , or may only selectively pass some of the processed rotational motion signals and linear motion signals to the microprocessor  130  depending on, e.g., what operating mode the control device is operating under. For example, if the control device  110  is operating as desk top mouse, the controller  200  may only pass signals indicative of the control device&#39;s linear movements in the X and Y directions. Alternatively, if the control device  110  is operating in free space, the controller may pass separated signals or an integrated signal indicative of all of the control devices linear and rotational movements. Referring now to  FIG. 3 , a method or process  300  for providing roll compensation in accordance with the present disclosure is shown. Initially, at step  310 , controller  200  receives or acquires rotational movement data or signals from the gyroscopic sensors  230  and  240  and linear movement data or signals from the accelerometers  250 , as described above. Next, at step  320 , controller  200  provides or applies roll compensation on the movement data without translating a frame of reference. The roll compensation step  320  is further discussed in the software module description provided below. Afterwards, at step  330 , the controller  200  removes the undesirable effects of the application of the roll compensation, or roll compensation error, from the movement data without calculating the centrifugal and linear acceleration of the control device  110  as further discussed in the software module description provided below 
         [0024]    The method for providing roll compensation in accordance with the present disclosure is discussed in the software module provided below. The software module is part of firmware utilized by the controller  200 . 
         [0025]    Software module implementing roll compensation feature in the controller  200 : 
         [0026]    While the invention may be susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and are described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the invention as defined by the following appended claims.