Optical navigation device with surface and free space navigation

An optical navigation device for operation in a surface navigation mode and a free space navigation mode is described. One embodiment of the optical navigation device includes a microcontroller, a surface navigation sensor, and a free space navigation sensor. The surface and free space navigation sensors are coupled to the microcontroller. The microcontroller is configured to process a movement of the optical navigation device. The surface navigation sensor is configured to generate a surface navigation signal in response to a surface navigation image. The free space navigation sensor is configured to generate a free space navigation signal in response to a free space navigation image. Embodiments of the optical navigation device facilitate an integrated optical solution to provide desktop navigation and scene navigation in a single optical navigation device.

BACKGROUND OF THE INVENTION

Optical navigation sensors are conventionally used for surface navigation applications. For example, conventional optical navigation sensors are implemented in optical mouse devices for desktop computers. In surface optical navigation, the optical navigation sensor tracks the features of the navigation surface on which the device is moved.

More recently, optical navigation sensors have been used for free space navigation applications such as scene navigation. In some conventional embodiments, an optical navigation sensor for surface navigation is converted for use in free space applications by putting a wide angle lens on the optical sensor to track free space features. These conventional free space navigation devices are used for applications such as free-space presentation pointers and controllers. Other conventional technologies are also implemented to facilitate free space navigation operations. For example, some conventional free-space pointers use one or more mechanical gyroscopes (or gyro sensors) to provide navigation in the absence of surface features.

Despite the availability of individual surface and free space navigation devices, conventional optical navigation devices do not provide the functionality of both surface and free space navigation capability in a single device. When a user gives a presentation, for example using a desktop computer, the user typically uses a mouse and a separate pointer to navigate the presentation. The mouse provides surface navigation functionality, while the separate pointer provides free space navigation functionality.

Additionally, conventional surface optical navigation devices that are converted for use in free space navigation applications do not perform particularly well. While some conventional optical navigation devices implement image cross correlation based on images obtained by the sensor using a free space lens, such conventional technology has certain limitations. Many of these limitations originate from the failure of the free space navigation technology to control the light source for the scene. For example, conventional scene navigation devices have difficulty navigating in a low-light environment. Additionally, a light source that flickers (e.g., a fluorescent lamp or a television or computer monitor) results in an illusion that the optical navigation device is moving because the light flashes cause jitter, or noise, in the navigation signals.

Another problem with conventional free space optical navigation devices is the inability to navigate in environments with relatively few features. For example, conventional free space optical navigation devices have difficulty navigating using images of blank walls because the resolution of the imaged scene is too low to detect features of the blank wall. In comparison, surface optical navigation devices have relatively high resolution because of the proximity of the optical device and sensor to the surface features. However, once a surface optical navigation device is lifted or otherwise removed from close proximity with the navigation surface, it does not work properly and also fails to facilitate free-space navigation using free space images.

Another problem with conventional free space optical navigation devices is related to detection of three-dimensional movement of the optical navigation device. Conventional optical navigation devices for detecting three-dimensional movement are costly because they use two optical sensors. Using two optical sensors also consumes more power. Using multiple optical sensors also increases the complexity of the optical sensor design. In particular, it is more complex to integrate two sensors with a single microprocessor.

SUMMARY OF THE INVENTION

Embodiments of an apparatus are described. In one embodiment, the apparatus is an optical navigation device for operation in a surface navigation mode and a free space navigation mode. One embodiment of the optical navigation device includes a microcontroller, a surface navigation sensor, and a free space navigation sensor. The surface and free space navigation sensors are coupled to the microcontroller. The microcontroller is configured to process a movement of the optical navigation device. The surface navigation sensor is configured to generate a surface navigation signal in response to a surface navigation image. The free space navigation sensor is configured to generate a free space navigation signal in response to a free space navigation image. Embodiments of the optical navigation device facilitate an integrated optical solution to provide desktop navigation and scene navigation in a single optical navigation device. Other embodiments of the apparatus are also described.

Embodiments of a method are also described. In one embodiment, the method is an optical navigation method for operating an optical navigation device in a surface navigation mode and a free space navigation mode. One embodiment of the method includes detecting an operating locality of the optical navigation device relative to a navigation surface. The method also includes identifying a change in the operating locality of the optical navigation device relative to the navigation surface. The change in the operating locality may include a change between a surface operating locality and a free space operating locality. The method also includes switching between a surface navigation mode and a free space navigation mode in response to the change in the operating locality of the optical navigation device. Other embodiments of the method are also described.

DETAILED DESCRIPTION

FIG. 1depicts a schematic block diagram of one embodiment of an optical navigation device100with surface and free space navigation. In this way, the optical navigation device100facilitates an integrated optical navigation device capable of both surface (e.g., desktop) and free space (e.g., scene) navigation. It should be noted that the terms surface and free space do not necessarily designate a particular distance between the optical navigation device100and a navigation surface. In general, surface navigation occurs where surface features of the navigation surface are distinguishable, for example, using conventional surface navigation technology. Free space navigation begins at about the boundary where surface navigation performance decreases. However, surface and free space navigation zones are not necessarily mutually exclusive and may depend on the application for which the optical navigation device is designed and/or implemented.

The illustrated optical navigation device100includes a microcontroller102, a transceiver104, a surface navigation sensor106, a free space navigation sensor108, and a user input device110. Although certain component parts are shown in conjunction with the optical navigation device100ofFIG. 1, other embodiments may include fewer or more component parts, or equivalent parts to perform fewer or more navigation functions. For example, some embodiments of the optical navigation device100may include a transmitter rather than the transceiver104for applications in which one-way data transmissions are sufficient. As another example, some embodiments of the optical navigation device100may implement a single navigation sensor with different optical lens systems—one optical lens system for surface sensing and another optical lens system for free space sensing.

In one embodiment, the microcontroller102controls the operation of the optical navigation device100. For example, the microcontroller102sends signals to and processes various signals from the transceiver104, the surface navigation sensor106, the free space navigation sensor108, and the user input device110. It should be noted that the same microprocessor102may be used to communicate with both the surface navigation sensor106and the free space navigations sensor108.

Exemplary embodiments of the surface navigation sensor106and the free space navigation sensor108are shown and described in more detail with reference toFIGS. 2 and 3. However, it should be noted that the surface navigation sensor106may be used to facilitate a surface navigation mode such as desktop navigation, and the free space navigation sensor108may be used to facilitate a free space navigation mode such as scene navigation.

In one embodiment, the microcontroller102implements a variety of functions, including transmitting data to and receiving data from a host computer system (not shown) via the transceiver104. The transceiver104may be a wireless transceiver or a wired transceiver.

The depicted microcontroller102includes firmware112which stores data and instructions to implement the various operations of the optical navigation device100. The firmware112is one example of a computer readable storage medium which embodies a program of machine-readable instructions that are executable by a digital processor to perform certain operations related to optical navigation. Other embodiments of computer readable storage media may also be implemented and used. The microcontroller102also includes logic to implement one or more algorithms related to the functionality of the optical navigation device100. In one embodiment, the firmware112includes tracking logic114, mode selection logic116, and user control logic118.

The tracking logic114implements an algorithm to track the location of the optical navigation device100according to one or more signals from the surface navigation sensor106and/or the free space navigation sensor108. Alternatively, the tracking logic114may implement different algorithms for each of the surface navigation mode and the free space navigation mode. The location information from the tracking logic114may be transmitted, for example, to a host computer (not shown) via the transceiver104. In one embodiment, the tracking logic114is configured to process a surface navigation signal from the surface navigation sensor106in response to operation of the optical navigation device100in the surface navigation mode. Similarly, the tracking logic114is configured to process a free space navigation signal from the free space navigation sensor108in response to operation of the optical navigation device100in the free space navigation mode.

In one embodiment, the mode selection logic116is configured to operate the optical navigation device100in either the surface navigation mode or the free space navigation mode. The mode selection logic116also may include an algorithm to determine which mode to implement at a given time. In one embodiment, the determination to implement either the surface navigation mode or the free space navigation mode may depend on a detector signal state of a lift detector, as described below.

The user control logic118, like the mode selection logic116, may implement different functionality depending on the navigation mode of the optical navigation device100. In one embodiment, the user control logic118is configured to assign surface navigation functionality to the user input device110in response to operation of the optical navigation device100in the surface navigation mode. Similarly, the user control logic118is configured to assign free space navigation functionality to the user input device110in response to operation of the optical navigation device100in the free space navigation mode. The user input device110may be any combination of user input tools such as buttons, scroll wheels, sliders, and so forth. In this way, the user control logic118allows a user to implement different functionality for a particular user input device110depending on whether the optical navigation device100operates in the surface or the free space navigation mode. For example, the user control logic118may assign a “selection” function to a button in the surface navigation mode, and may assign an “advance” function to the same button in the free space navigation mode. However, these functions are merely exemplary and any combination of functions may be implemented with the surface and the free space navigation modes for a given user input device110.

FIG. 2depicts a schematic block diagram of one embodiment of a surface navigation sensor106for use with the optical navigation device100ofFIG. 1. Although the surface navigation sensor106is described in conjunction with the optical navigation device100ofFIG. 1, some embodiments of the surface navigation sensor106may be implemented with other types of optical navigation devices. Moreover, some embodiments of the surface navigation sensor106may be implemented with non-optical navigation devices.

The illustrated surface navigation sensor106includes an image acquisition system (IAS)120, a digital signal processor (DSP)122, a light source driver124, and a light source126. The surface navigation sensor106also may include one or more optical elements128and130. Other embodiments of the surface navigation sensor106may include fewer or more components. For example, some embodiments of the surface navigation sensor106may exclude one or more of the optical elements128and130.

In one embodiment, the light source driver124controls the operation of the light source126(e.g., using a driver signal) to generate a light signal that is transmitted through the optical element128to a navigation surface132. The reflected light signal is then received through the imaging optical element130and detected by the image acquisition system120. In one embodiment, the light source126is a light emitting diode (LED). In another embodiment, the light source126could be any coherent or incoherent light source

It should be noted that the distance between the surface navigation sensor106and the navigation surface132may vary depending on the application for which the surface navigation sensor106is used. In surface applications, the surface navigation sensor106may be relatively close to the navigation surface132. For example, the surface navigation sensor106may be in physical contact with the navigation surface132, or may be within a few millimeters of the navigation surface132.

The depicted image acquisition system120includes an image sensor136, which includes a pixel array136. The image acquisition system120also includes an analog-to-digital converter (ADC)138. In one embodiment, the image sensor134generates a plurality of electrical signals corresponding to incident light at the pixel array136. Each of the generated electrical signals corresponds to one of the picture elements (or pixels) of the pixel array136. In one embodiment, each pixel is a photosensor or other photosensitive device. The light signal reflected from the navigation surface132is imaged on the pixel array136. In one embodiment, the optical element130facilitates resolution of microscopic surface images at the pixel array136. The image sensor134then transmits the plurality of electrical signals to the analog-to-digital converter138. The analog-to-digital converter138converts the plurality of electrical signals from analog signals to digital signals and then passes the digital signals to the digital signal processor122.

After the digital signal processor122receives the digital form of the electrical signals from the analog-to-digital converter138of the image acquisition system120, the digital signal processor122may perform additional processing using the electrical signals. The digital signal processor122then transmits one or more signals to the microcontroller102. Exemplary types of signals transmitted from the digital signal processor122of the surface navigation sensor106to the microcontroller102include channel quadrature signals based on Δx and Δy relative displacement values. These signals, or other signals, may be indicative of a movement of the optical navigation device100relative to the navigation surface132. Other embodiments of the digital signal processor122may transmit other types of signals to the microcontroller102. As described above, the microcontroller102implements a variety of functions, including transmitting data to and receiving data from a host computer system (not shown).

In one embodiment, the surface navigation sensor106also includes a lift detector140. Alternatively, the lift detector140may be in another part of the optical navigation device100, separate from the surface navigation sensor106. In another embodiment, the image acquisition system120, instead of a separate lift detector140, may provide lift detection information. In another embodiment, the image acquisition system120, instead of a separate lift detector140, may provide lift detection information. In some embodiments, another type of proximity sensor may be implemented instead of the lift detector140.

The lift detector140is configured to change a detector signal state in response to detection of a transition of the optical navigation device100from a surface locality to a free space locality relative to a navigation surface132. However, changing the detector signal state does not necessarily require that a detector signal be generated for each state (i.e., surface and free space) of the optical navigation device100. Moreover, the lift detector140may simply generate a pulse signal, rather than a continuous signal, to indicate the transition of the optical navigation device100from surface locality to free space locality, or from free space locality to surface locality. From this description, it can be seen that the lift detector140may implement various forms of detector signals, depending on the design considerations and application constraints associated with a particular embodiment.

FIG. 3depicts a schematic block diagram of one embodiment of a free space navigation sensor108for use with the optical navigation device100ofFIG. 1. Although the free space navigation sensor108is described in conjunction with the optical navigation device100ofFIG. 1, some embodiments of the free space navigation sensor108may be implemented with other types of optical or non-optical navigation devices.

The illustrated free space navigation sensor108includes many of the same or similar components as the surface navigation sensor106. These components are configured to operate in substantially the same manner described above, except as noted below. Additionally, in free space applications, the optical navigation device100may be relatively far from the navigation surface132. For example, the optical navigation device100may operate outside of the surface optical range.

The free space navigation sensor108includes a beam splitter142, a polarization rotation filter144, and a telecentric lens146. In one embodiment, the beam splitter142is a polarization cube beam splitter, although other types of beam splitters may be implemented. Where a polarized coherent laser with a small angle of divergence is used as the light source126, the beam splitter142allows the light beam to pass through when the polarization states for both the light beam and the beam splitter142align. This may minimize power loss at the beam splitter142, which results in more energy throughput after the beam splitter142. Additionally, the beam splitter142may be used to direct the light signal, for example, from the coherent light source126to an aperture at the location where the light signal exits the optical navigation device100.

In one embodiment, the polarization rotation filter144is coupled to or near the beam splitter142. The polarization rotation filter144is configured to rotate the polarization state of the light beam so that the reflected light beam (e.g., from a free space navigation surface132) returns to the beam splitter142with a polarization state that is different from the original polarization state of the light beam.

In one embodiment, the telecentric lens146is configured to image a free space object such as the navigation surface132onto the pixel array136. Although other types of optical lenses may be used, the telecentric lens146maintains the same amount of navigation area regardless of the distance between the optical navigation device100and the navigation surface132. As a result, the size of the area of interest may be controlled. Nevertheless, it should be noted that embodiments of the free space navigation sensor108also may be implemented using a conventional free space lens, rather than the coherent light source126and the telecentric lens146described above.

FIG. 4depicts a schematic block diagram of one embodiment of a telecentric lens configuration150for use in a free space navigation application. In particular,FIG. 4illustrates that reflected light rays approach the telecentric lens146straight on (i.e., at zero angle of incidence) so that the dependence of the beam splitter142and/or the image sensor134on the angle of incidence is reduced or eliminated.

FIG. 5depicts a schematic diagram of one embodiment of a multi-dimensional navigation sensor160implemented with a single image sensor134. In one embodiment, the multi-dimensional navigation sensor160is implemented within the free space navigation sensor108of the optical navigation device100ofFIG. 1. However, some embodiments of the multi-dimensional navigation sensor160may be implemented with other types of navigation sensors and optical navigation devices.

The illustrated multi-dimensional navigation sensor160includes a first color filter162and a first optical element164which pass filtered light to a prism166. The multi-dimensional navigation sensor160also includes a second color filter168and a second optical element170which pass filtered light to a prism system including the prism166. In one embodiment, the prism system also includes a pentaprism172to direct the filtered light from the second optical element170to the prism166. The prism166focuses the two filtered light signals on the pixel array136of the image sensor134. In one embodiment, the prism166is a dual triangular prism configured to converge the two filtered light images onto a single image sensor134. In one embodiment, one of the filtered light images is used to determine movement in a first plane such as the y-z plane, and the other filtered light image is used to determine movement in a second plane such as the x-z plane, including a third dimension (e.g., the x dimension). In this way, the two filtered light images may be used in combination to detect three-dimensional movements of the optical navigation device100using a single image sensor134.

As one example, the color filters162and168may be red and blue color filters, although other color filters may be used. Additionally, some embodiments of the multi-dimensional navigation sensor160may implement a more complex arrangement with more than two color filters. For example, some embodiments may use blue, green, and red color filters, with each color filter corresponding to a different light source and a specific dimensional component.

In one embodiment, the optical navigation device100may implement an algorithm to process the multi-dimensional movement of the optical navigation device100. The algorithm may be implemented, for example, in the image sensor134, in the DSP122, or in the microcontroller102. Furthermore, the algorithm may calculate three-dimensional movements by tracking either relative or absolute positions of the optical navigation device100.

FIG. 6depicts a schematic flow chart diagram of one embodiment of an optical navigation method180for an optical navigation device100. Although the optical navigation method180is described in conjunction with the optical navigation device100ofFIG. 1, some embodiments of the method180may be implemented with other types of optical navigation devices.

At block182, the optical navigation device100detects an operating locality of the optical navigation device100relative to a navigation surface132. At block184, the optical navigation method100identifies a change in the operating locality of the optical navigation device100relative to the navigation surface132. The change in the operating locality may include a change between a surface operating locality and a free space operating locality. At block186, the optical navigation device100switches between a surface navigation mode and a free space navigation mode in response to the change in the operating locality of the optical navigation device100. In one embodiment, the optical navigation device100switches from the surface navigation mode to the free space navigation mode in response to a determination that the operating locality changes from a surface operating locality to a free space operating locality. Additionally, the optical navigation device100switches from the free space navigation mode to the surface navigation mode in response to a determination that the operating locality changes from a free space operating locality to a surface operating locality. The depicted optical navigation method180then ends.

FIG. 7depicts a schematic flow chart diagram of one embodiment of a method200of operation for an optical navigation device100. Although the method200is described in conjunction with the optical navigation device100ofFIG. 1, some embodiments of the method200may be implemented with other types of optical navigation devices.

At block202, the mode selection logic116initializes the optical navigation device100to a default navigation mode. In one embodiment, the default navigation mode is the surface navigation mode. Alternatively, the mode selection logic116may initialize the optical navigation device100to an application-specific mode, depending on the detected operating environment of the optical navigation device100.

Assuming the surface navigation mode is the default navigation mode, at block204the user control logic118assigns surface navigation functionality to the user input device110. At block206, the optical navigation device100operates in the surface navigation mode. The optical navigation device100continues to operate in the surface navigation mode until the lift detector140detects lift beyond a threshold, at block208. Alternatively, the image sensor134of the surface navigation sensor106is configured to detect the lift.

In response to detection of lift, at block210the user control logic118assigns free space navigation functionality to the user input device110. At block212, the optical navigation device100operates in the free space navigation mode. The optical navigation device100continues to operate in the free space navigation mode until the lift detector140detects a navigation surface132, at block214. Alternatively, the image sensor134of the surface navigation sensor106is configured to detect the navigation surface132. Using these or similar operations, the optical navigation device100may alternate between operation in the surface and free space navigation modes. The depicted method200then ends.