This disclosure relates generally to sensor calibration and more specifically to references used by multiple sensors for performing calibration of the sensors.
Different imaging systems require different checkerboard targets for use in calibration. The use of multiple different checkerboard targets is time-consuming and less accurate due to multiple reference units.
The subject matter of the present application has been developed in response to the present state of the art, and in particular, in response to the shortcomings of current calibration tools, that have not yet been fully solved by currently available techniques. Accordingly, the subject matter of the present application has been developed to provide more efficient calibration of multiple sensors that overcome at least some of the above-discussed shortcomings of prior art techniques.
The following is a non-exhaustive list of examples, which may or may not be claimed, of the subject matter, disclosed herein.
In one example, a sensor system calibration tool includes a plurality of geometric objects disposed adjacent to each other. The geometric objects are configured to be perceived in one of two different ways for a first type of sensor and one of two different ways for a second type of sensor. The sensor system calibration tool further comprises a thermal control device comprising a plurality of heating elements coupled to only a first set of the plurality of geometric objects.
In another example, a system includes a visual spectrum sensor, a thermal sensor, a range sensor, and a sensor system calibration tool. The sensor system calibration tool includes a plurality of geometric objects configured to be perceived in one of two different ways by the visual spectrum sensor, one of two different ways by the thermal sensor, and one of two different ways by the range sensor. The sensor system calibration tool further comprises a thermal control device comprising a plurality of heating elements coupled to only a first set of the plurality of geometric objects.
In still another example, a method of calibrating includes placing a sensor system calibration tool at a position to be perceived by a visual spectrum sensor, a thermal sensor, and a range sensor of a vehicle. The sensor system calibration tool includes a plurality of geometric objects. The method also includes detecting an intensity of visible light for each of the geometric objects with the visual spectrum sensor, detecting a temperature value for each of the geometric objects with the thermal sensor, detecting a range value for each of the geometric objects with the range sensor. The method further includes calibrating the visual spectrum sensor using the detected intensity of visible light for each of the geometric objects, calibrating the thermal sensor using the detected temperature value for each of the geometric objects, and calibrating the range sensor using the detected range value for each of the geometric objects. The method additionally includes controlling a plurality of heating elements thermally attached to the plurality of geometric objects based on a temperature of at least one location proximate the plurality of geometric objects.
The described features, structures, advantages, and/or characteristics of the subject matter of the present disclosure may be combined in any suitable manner in one or more examples and/or implementations. In the following description, numerous specific details are provided to impart a thorough understanding of examples of the subject matter of the present disclosure. One skilled in the relevant art will recognize that the subject matter of the present disclosure may be practiced without one or more of the specific features, details, components, materials, and/or methods of a particular example or implementation. In other instances, additional features and advantages may be recognized in certain examples and/or implementations that may not be present in all examples or implementations. Further, in some instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the subject matter of the present disclosure. The features and advantages of the subject matter of the present disclosure will become more fully apparent from the following description and appended claims, or may be learned by the practice of the subject matter as set forth hereinafter.
In order that the advantages of the subject matter may be more readily understood, a more particular description of the subject matter briefly described above will be rendered by reference to specific examples that are illustrated in the appended drawings. Understanding that these drawings, which are not necessarily drawn to scale, depict only certain examples of the subject matter and are not therefore to be considered to be limiting of its scope, the subject matter will be described and explained with additional specificity and detail through the use of the drawings, in which:
Reference throughout this specification to “one example,” “an example,” or similar language means that a particular feature, structure, or characteristic described in connection with the example is included in at least one example of the present disclosure. Appearances of the phrases “in one example,” “in an example,” and similar language throughout this specification may, but do not necessarily, all refer to the same example. Similarly, the use of the term “implementation” means an implementation having a particular feature, structure, or characteristic described in connection with one or more examples of the present disclosure, however, absent an express correlation to indicate otherwise, an implementation may be associated with one or more examples.
In various embodiments, examples of a calibration tool and calibration system, described herein, allow for simultaneous calibration of disparate sensors (optical, thermal, radar, etc.) (i.e., multi-spectral).
In various embodiments, as shown in
In various embodiments, the target device 142 includes a calibration target 144 (i.e. multi-spectral reference) and a thermal control device 150 that is electrically or thermally attached to the calibration target 144. The thermal control device 150 actively or passively controls a thermal difference between different parts of the calibration target 144.
The vehicle 130 also includes a calibration processor(s) 138 and other system components 140. The calibration processor(s) 138 executes instructions for receiving data from the digital camera 132, the infrared camera 134, and the 3D scanning radar device 136. The received data may be in the form of images of a consistent target (i.e. the calibration target 144). The instructions stored in non-volatile memory also allow the calibration processor(s) 138 to perform calibration of the digital camera 132, the infrared camera 134, and the 3D scanning radar device 136 using the received data. The calibration processor(s) 138 may perform simultaneous calibration of the digital camera 132, the infrared camera 134, and the 3D scanning radar device 136.
In various embodiments, as shown in
The level of whiteness of the light-colored spaces 152 is one that produces a measured amount of light reflected off the facing surface 146 of the light-colored spaces 152 that is greater than a predefined first amount of light. The reflected light is obtained by calculating the amount of light (i.e., sum of reflected wavelengths in the visual spectrum) that the surface manifests. The measurement of whiteness is expressed as a percentage, on a scale of 1-100%, with 100% being the value that corresponds to a perfect white. The level of darkness of the dark-colored spaces 154 is one that produces a measured amount of light reflected off the facing surface 146 of the dark-colored spaces 154 that is less than a predefined second amount of light, which is less than the predefined first amount of light.
In various embodiments, as shown in
In one embodiment, the heating elements 166 are a thermally conductive material, such as, without limitation, air/fluid ducts, thermally conductive metals, or the like, that are configured to receive heat, heated air, or heated fluid generated by the heating device 160. The temperature sensor 164 may be a single sensor located proximate the calibration target 144 or may include multiple temperature sensors located at each of the heating elements 166, the light-colored spaces 152, the facing surfaces 146, at other locations on the calibration target 144, and or proximate the calibration target 144. The controller 162 receives temperature data from the temperature sensor 164. Based on the received temperature data, the controller 162 instructs the heating device 160 to either send heat to the heating elements 166 (or an electric current to the heating elements 166) in order to place the light-colored spaces 152 into a thermal state (e.g., first temperature) that is a predefined amount hotter than the thermal state (e.g., second temperature) of the dark-colored spaces 154. In other embodiments, the controller 162 and the temperature sensor 164 may be replaced by the user-activated switch 168.
In various embodiments, the thermal control device 150 may be a cooling device (not shown) that is connected to the dark-colored spaces 154. The cooling device reduces the temperature of the dark-colored spaces 154, such that the temperature of the dark-colored spaces 154 is less than that of the light-colored spaces 152 by a predefined amount (so that the light-colored spaces 152 are the predefined amount hotter than the dark-colored spaces 154). This configuration may be desirable in a warm weather climate where tarmac temperatures may exceed 100° F./38° C.
In various embodiments, as shown in
The heated light-colored spaces 152 and non-heated dark-colored spaces 154 cause the infrared camera 134 to produce a pattern of dark squares, associated with the locations of the light-colored spaces 152, and light squares, associated with the locations of the dark-colored spaces 154. This corresponds to the light-colored spaces 152 and the dark-colored spaces 154 in a digital of image produced by the digital camera 132.
The LIDAR or the 3D scanning radar device 136 works based on the 3D spatial variations of the objects from the LIDAR. The LIDAR determines distance by using the ½ round trip time of flight of light sent by laser transmitters and reflected light received by laser receivers. A flat checkerboard has no measurable differences, thus a LIDAR result will produce no differentiation between the checkerboard pattern. Thus, the recessed dark-colored spaces 154 are perceived by the 3D scanning radar device 136 as dark squares and the non-recessed light-colored spaces 152 are perceived as light squares by the 3D scanning radar device 136. Therefore, the output of the 3D scanning radar device 136 is similar to the outputs of the digital camera 132 and the infrared camera 134. Each of the sensors (the digital camera 132, the infrared camera 134, and the 3D scanning radar device 136) makes a determination of whether to identify a space as light or dark depending on respective threshold values/amounts (intensity threshold, temperature threshold, or distance difference threshold).
Referring to
In various embodiments, as shown in
Given by way of non-limiting example, in various embodiments, the vehicle 130 may include a motor vehicle driven by wheels and/or tracks, such as, without limitation, an automobile, a truck, a sport utility vehicle (SUV), a cargo van, a space vehicle, and the like. Given by way of further non-limiting examples, in various embodiments, the vehicle 130 may include a marine vessel such as, without limitation, a boat, a ship, a submarine, a submersible, an autonomous underwater vehicle (AUV), and the like. Given by way of further non-limiting examples, in various embodiments, the vehicle 130 may include an aircraft such as, without limitation, a fixed wing aircraft, a rotary wing aircraft, and a lighter-than-air (LTA) craft.
Given by way of non-limiting example, in various embodiments, the vehicle 130 may be replaced by a non-moveable structure. For example and given by way of non-limiting examples, in various embodiments, the structure may include a building, an offensive or defensive weapons platform, a utility platform, and the like.
Referring to
The following is a non-exhaustive list of examples, which may or may not be claimed, of the subject matter, disclosed herein.
The following portion of this paragraph delineates example 1 of the subject matter, disclosed herein. According to example 1, a sensor system calibration tool comprises a plurality of geometric objects disposed adjacent to each other, the geometric objects are configured to be perceived in one of two different ways for a first type of sensor and one of two different ways for a second type of sensor. The sensor system calibration tool further comprises a thermal control device comprising a plurality of heating elements coupled to only a first set of the plurality of geometric objects.
The following portion of this paragraph delineates example 2 of the subject matter, disclosed herein. According to example 2, which encompasses example 1, above, the plurality of geometric objects are further configured to be perceived in one of two different ways for a third type of sensor.
The following portion of this paragraph delineates example 3 of the subject matter, disclosed herein. According to example 3, which encompasses any of examples 1 or 2, above, the two different ways that the geometric objects are perceived by the first type of sensor comprise visible light of different intensities.
The following portion of this paragraph delineates example 4 of the subject matter, disclosed herein. According to example 4, which encompasses example 3, above, the two different ways that the geometric objects are perceived by the first type of sensor are different by greater than a threshold amount of light.
The following portion of this paragraph delineates example 5 of the subject matter, disclosed herein. According to example 5, which encompasses any of examples 1-4, above, the two different ways perceived by the second type of sensor comprise thermal images of different thermal values.
The following portion of this paragraph delineates example 6 of the subject matter, disclosed herein. According to example 6, which encompasses example 5, above, the two different ways perceived by the second type of sensor are different by greater than a threshold amount.
The following portion of this paragraph delineates example 7 of the subject matter, disclosed herein. According to example 7, which encompasses any of examples 2-6, above, the two different ways perceived by the third type of sensor comprise radar images of different distance values.
The following portion of this paragraph delineates example 8 of the subject matter, disclosed herein. According to example 8, which encompasses example 7, above, the two different ways perceived by the third type of sensor are different by greater than a threshold amount.
The following portion of this paragraph delineates example 9 of the subject matter, disclosed herein. According to example 9, which encompasses any of examples 1-8, above, each one of the plurality of heating elements is thermally attached to a corresponding one of the geometric objects of the first set of the plurality of geometric objects.
The following portion of this paragraph delineates example 10 of the subject matter, disclosed herein. According to example 10, which encompasses example 9, above, each one of the plurality of heating elements is thermally attached to a corresponding one of the geometric objects of the first set of the plurality of geometric objects.
The following portion of this paragraph delineates example 11 of the subject matter, disclosed herein. According to example 11, which encompasses any of examples 9 or 10, above, the thermal control device further comprises one or more temperature sensors configured to detect a temperature of at least one location proximate the plurality of geometric objects and a controller coupled to the plurality of heating elements and the one or more temperature sensors. The controller is configured to control at least a portion of the plurality of heating elements based on the temperature of the at least one location detected by the one or more temperature sensors.
The following portion of this paragraph delineates example 12 of the subject matter, disclosed herein. According to example 12, which encompasses any of examples 1-11, above, the first set of the plurality of geometric objects are made of a thermally conductive material. The sensor system calibration tool further comprises a second set of the geometric objects comprising geometric objects not included in the first set of the plurality of geometric objects that are made of a thermally non-conductive material.
The following portion of this paragraph delineates example 13 of the subject matter, disclosed herein. According to example 13, which encompasses example 12, above, a facing surface of each of the geometric objects of the first set of the geometric objects are co-planar, a facing surface of each of the geometric objects of the second set of the geometric objects are co-planar, and the facing surfaces of the second set of geometric objects are recessed a predefined distance relative to the facing surfaces of the first set of the geometric objects.
The following portion of this paragraph delineates example 14 of the subject matter, disclosed herein. According to example 14, a system includes a visual spectrum sensor, a thermal sensor, a range sensor, and a sensor system calibration tool. The sensor system calibration tool comprises a plurality of geometric objects configured to be perceived in one of two different ways by the visual spectrum sensor, one of two different ways for the thermal sensor, and one of two different ways for the range sensor. The sensor system calibration tool further includes a thermal control device comprising a plurality of heating elements coupled to only a first set of the plurality of geometric objects.
The following portion of this paragraph delineates example 15 of the subject matter, disclosed herein. According to example 15, which encompasses example 14, above, the system further comprises a processor configured to perform calibration of the visual spectrum sensor, the thermal sensor, and the range sensor.
The following portion of this paragraph delineates example 16 of the subject matter, disclosed herein. According to example 16, which encompasses example 15, above, the calibration of the visual spectrum sensor, the thermal sensor, and the range sensor is a simultaneous and consistent calibration.
The following portion of this paragraph delineates example 17 of the subject matter, disclosed herein. According to example 17, which encompasses any of examples 14-16, above, the two different ways that the geometric objects are perceived by the visual spectrum sensor comprise visible light of different intensities, the two different ways perceived by the visual spectrum sensor are different by greater than a threshold amount of light, the two different ways that the geometric objects are perceived by the thermal sensor comprise thermal images of different thermal values, the two different ways perceived by the thermal sensor are different by greater than a threshold amount, and the two different ways that the geometric objects are perceived by the range sensor comprise radar images of different distance values, the two different ways the two different ways perceived by the range sensor are different by greater than a threshold amount.
The following portion of this paragraph delineates example 18 of the subject matter, disclosed herein. According to example 18, which encompasses any of examples 14-17, above, the system further comprises one or more temperature sensors configured to detect a temperature of at least one location proximate the plurality of geometric objects, and a controller coupled to the plurality of heating elements and the one or more temperature sensors. The controller is configured to control at least a portion of the plurality of heating elements based on the temperature of the at least one location detected by the one or more temperature sensors.
The following portion of this paragraph delineates example 19 of the subject matter, disclosed herein. According to example 19, which encompasses of any of examples 14-18, above, the first set of the plurality of geometric objects are made of an electrically conductive material or a thermally conductive material, a second set of the geometric objects comprising geometric objects not included in the first set of the plurality of geometric objects that are made of a non-electrically conductive material or a thermally non-conductive material, a facing surface of each of the geometric objects of the first set of the geometric objects are co-planar, a facing surface of each of the geometric objects of the second set of the geometric objects are co-planar, and the facing surfaces of the second set of geometric objects are recessed a predefined distance relative to the facing surfaces of the first set of the geometric objects.
The following portion of this paragraph delineates example 20 of the subject matter, disclosed herein. According to example 20, a method of calibrating comprises placing a sensor system calibration tool at a position to be perceived by a visual spectrum sensor, a thermal sensor, and a range sensor of a vehicle. The sensor system calibration tool comprises a plurality of geometric objects. The method also comprises detecting intensity of visible light for each of the geometric objects with the visual spectrum sensor, detecting a temperature value for each of the geometric objects with the thermal sensor, detecting a range value for each of the geometric objects with the range sensor, and calibrating the visual spectrum sensor using the detected intensity of visible light for each of the geometric objects, the thermal sensor using the detected temperature value for each of the geometric objects, and the range sensor using the detected range value for each of the geometric objects. The method additionally includes controlling a plurality of heating elements thermally attached to the plurality of geometric objects based on a temperature of at least one location proximate the plurality of geometric objects.
Those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. Some of the embodiments and implementations are described above in terms of functional and/or logical block components (or modules) and various processing steps. However, it should be appreciated that such block components (or modules) may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention. For example, an embodiment of a system or a component may employ various integrated circuit components, e.g., memory elements, digital signal processing elements, logic elements, look-up tables, or the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. In addition, those skilled in the art will appreciate that embodiments described herein are merely exemplary implementations.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.
Techniques and technologies may be described herein in terms of functional and/or logical block components, and with reference to symbolic representations of operations, processing tasks, and functions that may be performed by various computing components or devices. Such operations, tasks, and functions are sometimes referred to as being computer-executed, computerized, software-implemented, or computer-implemented. In practice, one or more processor devices can carry out the described operations, tasks, and functions by manipulating electrical signals representing data bits at memory locations in the system memory, as well as other processing of signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to the data bits. It should be appreciated that the various block components shown in the figures may be realized by any number of hardware, software, and/or firmware components configured to perform the specified functions. For example, an embodiment of a system or a component may employ various integrated circuit components, e.g., memory elements, digital signal processing elements, logic elements, look-up tables, or the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices.
In the above description, certain terms may be used such as “up,” “down,” “upper,” “lower,” “horizontal,” “vertical,” “left,” “right,” “over,” “under” and the like. These terms are used, where applicable, to provide some clarity of description when dealing with relative relationships. But, these terms are not intended to imply absolute relationships, positions, and/or orientations. For example, with respect to an object, an “upper” surface can become a “lower” surface simply by turning the object over. Nevertheless, it is still the same object. Further, the terms “including,” “comprising,” “having,” and variations thereof mean “including but not limited to” unless expressly specified otherwise. An enumerated listing of items does not imply that any or all of the items are mutually exclusive and/or mutually inclusive, unless expressly specified otherwise. The terms “a,” “an,” and “the” also refer to “one or more” unless expressly specified otherwise. Further, the term “plurality” can be defined as “at least two.” Moreover, unless otherwise noted, as defined herein a plurality of particular features does not necessarily mean every particular feature of an entire set or class of the particular features.
Additionally, instances in this specification where one element is “coupled” to another element can include direct and indirect coupling. Direct coupling can be defined as one element coupled to and in some contact with another element. Indirect coupling can be defined as coupling between two elements not in direct contact with each other, but having one or more additional elements between the coupled elements. Further, as used herein, securing one element to another element can include direct securing and indirect securing. Additionally, as used herein, “adjacent” does not necessarily denote contact. For example, one element can be adjacent another element without being in contact with that element.
As used herein, the phrase “at least one of”, when used with a list of items, means different combinations of one or more of the listed items may be used and only one of the items in the list may be needed. The item may be a particular object, thing, or category. In other words, “at least one of” means any combination of items or number of items may be used from the list, but not all of the items in the list may be required. For example, “at least one of item A, item B, and item C” may mean item A; item A and item B; item B; item A, item B, and item C; or item B and item C. In some cases, “at least one of item A, item B, and item C” may mean, for example, without limitation, two of item A, one of item B, and ten of item C; four of item B and seven of item C; or some other suitable combination.
Unless otherwise indicated, the terms “first,” “second,” etc. are used herein merely as labels, and are not intended to impose ordinal, positional, or hierarchical requirements on the items to which these terms refer. Moreover, reference to, e.g., a “second” item does not require or preclude the existence of, e.g., a “first” or lower-numbered item, and/or, e.g., a “third” or higher-numbered item.
As used herein, a system, apparatus, structure, article, element, component, or hardware “configured to” perform a specified function is indeed capable of performing the specified function without any alteration, rather than merely having potential to perform the specified function after further modification. In other words, the system, apparatus, structure, article, element, component, or hardware “configured to” perform a specified function is specifically selected, created, implemented, utilized, programmed, and/or designed for the purpose of performing the specified function. As used herein, “configured to” denotes existing characteristics of a system, apparatus, structure, article, element, component, or hardware which enable the system, apparatus, structure, article, element, component, or hardware to perform the specified function without further modification. For purposes of this disclosure, a system, apparatus, structure, article, element, component, or hardware described as being “configured to” perform a particular function may additionally or alternatively be described as being “adapted to” and/or as being “operative to” perform that function.
The schematic flow chart diagrams included herein are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of one example of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow chart diagrams, they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
Those skilled in the art will recognize that at least a portion of the controllers, devices, units, and/or processes described herein can be integrated into a data processing system. Those having skill in the art will recognize that a data processing system generally includes one or more of a system unit housing, a video display device, memory such as volatile or non-volatile memory, processors such as microprocessors or digital signal processors, computational entities such as operating systems, drivers, graphical user interfaces, and applications programs, one or more interaction devices (e.g., a touch pad, a touch screen, an antenna, etc.), and/or control systems including feedback loops and control motors (e.g., feedback for sensing position and/or velocity; control motors for moving and/or adjusting components and/or quantities). A data processing system may be implemented utilizing suitable commercially available components, such as those typically found in data computing/communication and/or network computing/communication systems.
The term controller/processor, as used in the foregoing/following disclosure, may refer to a collection of one or more components that are arranged in a particular manner, or a collection of one or more general-purpose components that may be configured to operate in a particular manner at one or more particular points in time, and/or also configured to operate in one or more further manners at one or more further times. For example, the same hardware, or same portions of hardware, may be configured/reconfigured in sequential/parallel time(s) as a first type of controller (e.g., at a first time), as a second type of controller (e.g., at a second time, which may in some instances coincide with, overlap, or follow a first time), and/or as a third type of controller (e.g., at a third time which may, in some instances, coincide with, overlap, or follow a first time and/or a second time), etc. Reconfigurable and/or controllable components (e.g., general purpose processors, digital signal processors, field programmable gate arrays, etc.) are capable of being configured as a first controller that has a first purpose, then a second controller that has a second purpose and then, a third controller that has a third purpose, and so on. The transition of a reconfigurable and/or controllable component may occur in as little as a few nanoseconds, or may occur over a period of minutes, hours, or days.
In some such examples, at the time the controller is configured to carry out the second purpose, the controller may no longer be capable of carrying out that first purpose until it is reconfigured. A controller may switch between configurations as different components/modules in as little as a few nanoseconds. A controller may reconfigure on-the-fly, e.g., the reconfiguration of a controller from a first controller into a second controller may occur just as the second controller is needed. A controller may reconfigure in stages, e.g., portions of a first controller that are no longer needed may reconfigure into the second controller even before the first controller has finished its operation. Such reconfigurations may occur automatically, or may occur through prompting by an external source, whether that source is another component, an instruction, a signal, a condition, an external stimulus, or similar.
For example, a central processing unit/processor or the like of a controller may, at various times, operate as a component/module for displaying graphics on a screen, a component/module for writing data to a storage medium, a component/module for receiving user input, and a component/module for multiplying two large prime numbers, by configuring its logical gates in accordance with its instructions. Such reconfiguration may be invisible to the naked eye, and in some embodiments may include activation, deactivation, and/or re-routing of various portions of the component, e.g., switches, logic gates, inputs, and/or outputs. Thus, in the examples found in the foregoing/following disclosure, if an example includes or recites multiple components/modules, the example includes the possibility that the same hardware may implement more than one of the recited components/modules, either contemporaneously or at discrete times or timings. The implementation of multiple components/modules, whether using more components/modules, fewer components/modules, or the same number of components/modules as the number of components/modules, is merely an implementation choice and does not generally affect the operation of the components/modules themselves. Accordingly, it should be understood that any recitation of multiple discrete components/modules in this disclosure includes implementations of those components/modules as any number of underlying components/modules, including, but not limited to, a single component/module that reconfigures itself over time to carry out the functions of multiple components/modules, and/or multiple components/modules that similarly reconfigure, and/or special purpose reconfigurable components/modules.
In some instances, one or more components may be referred to herein as “configured to,” “configured by,” “configurable to,” “operable/operative to,” “adapted/adaptable,” “able to,” “conformable/conformed to,” etc. Those skilled in the art will recognize that such terms (for example “configured to”) generally encompass active-state components and/or inactive-state components and/or standby-state components, unless context requires otherwise.
The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples. Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software (e.g., a high-level computer program serving as a hardware specification), firmware, or virtually any combination thereof, limited to patentable subject matter under 35 U.S.C. 101. In an embodiment, several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), or other integrated formats. However, those skilled in the art will recognize that some aspects of the embodiments disclosed herein, in whole or in part, can be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, limited to patentable subject matter under 35 U.S.C. 101, and that designing the circuitry and/or writing the code for the software (e.g., a high-level computer program serving as a hardware specification) and or firmware would be well within the skill of one of skill in the art in light of this disclosure. In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies regardless of the particular type of signal bearing medium used to actually carry out the distribution. Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link (e.g., transmitter, receiver, transmission logic, reception logic, etc.), etc.).
With respect to the appended claims, those skilled in the art will appreciate that recited operations therein may generally be performed in any order. Also, although various operational flows are presented in a sequence(s), it should be understood that the various operations may be performed in other orders than those which are illustrated or may be performed concurrently. Examples of such alternate orderings may include overlapping, interleaved, interrupted, reordered, incremental, preparatory, supplemental, simultaneous, reverse, or other variant orderings, unless context dictates otherwise. Furthermore, terms like “responsive to,” “related to,” or other past-tense adjectives are generally not intended to exclude such variants, unless context dictates otherwise. The present subject matter may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.