Tool attribute management in automated tool control systems

The inventory control system addresses tool detection inaccuracies by using color data and visual representations to enhance tool management, reducing errors and improving productivity.

JP2026522213APending Publication Date: 2026-07-07SNAP ON INC

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
SNAP ON INC
Filing Date
2024-06-06
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Automated tool control systems face challenges in accurately determining the presence and absence of tools, leading to interruptions in production and maintenance procedures due to repeated occurrences of 'wrong tools', affecting productivity and profitability.

Method used

An inventory control system using a tool storage device with a sensing device that captures color data, generates images of colored blocks representing tool presence, and displays these blocks to facilitate accurate tool identification and management.

Benefits of technology

Enhances the accuracy of tool detection by visually representing color data, allowing users to easily identify and correct discrepancies, thereby reducing errors and improving operational efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026522213000001_ABST
    Figure 2026522213000001_ABST
Patent Text Reader

Abstract

The inventory control system comprises a tool storage device including drawers, trays, or shelves having multiple storage locations for storing multiple objects that define a silhouette within the tool storage device. The inventory control system comprises a sensing device configured to sense color, a display device configured to display information about the inventory control system, a processor, and memory. The memory stores instructions that cause the processor to determine multiple colors of multiple objects stored in the tool storage device, and these instructions also cause the processor to generate an image in the form of an arrangement of colored blocks, the display of which the color blocks represent the associated color data of the multiple objects, and the size of each color block is proportional to the proportion of RGB color data in the silhouette.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This subject matter relates to an automated tool control system and to managing data associated with attributes of tools within the automated tool control system.

Background Art

[0002] Automated tool control systems can employ a variety of techniques for determining the presence and absence of items (tools) stored within a device. Some examples of techniques used are single or multiple cameras, passive UHF RFID tags and antennas in the 866 - 868 UHF and 902 - 926 UHF frequency bandwidths, low - power near - field RFID tags, scales, photoelectric beams and cells, and other means. When "wrong tools" repeatedly occur in a tool control system, production and maintenance procedures are interrupted, affecting productivity and profitability. Therefore, there is a need for an improved system that enables a tool control system to manage data received by a camera.

Summary of the Invention

Means for Solving the Problems

[0003] One embodiment of the present disclosure relates to an inventory control system comprising a tool storage device including drawers, trays, or shelves having a plurality of storage locations for a plurality of objects. The plurality of objects define a silhouette within the tool storage device. The inventory control system comprises a sensing device configured to sense color. The inventory control system also comprises a display device configured to display information about the inventory control system. The system further comprises a processor and memory. The memory stores instructions causing the processor to determine a plurality of colors of the plurality of objects stored in the tool storage device. The instructions also cause the processor to generate at least one image comprising an arrangement of colored blocks. The color blocks represent color data associated with the plurality of objects, and the size of each color block is proportional to the proportion of color data in the color signature of each silhouette. The instructions are also configured to display an arrangement of colored blocks.

[0004] In another embodiment, the disclosure relates to a method for determining components within a tool storage device. The method includes receiving color data from a sensing device of the tool storage device. The method includes determining the colors of a plurality of objects stored in the tool storage device, the tool storage device including drawers, trays, or shelves having a plurality of storage locations for the plurality of objects, and the plurality of objects defining a silhouette within the tool storage device. The method includes generating at least one image including an arrangement of colored blocks. The colored blocks represent color data associated with the plurality of objects, and the size of each colored block is proportional to the proportion of color data in the color signature of each silhouette. The method may include displaying the arrangement of colored blocks on a display device.

[0005] In yet another embodiment, the disclosure includes a non-temporary computer-readable storage medium containing instructions. Instructions causing one or more processors to perform an action to determine the location status of an item in a tool storage device are executed by one or more processors. Instructions on the non-temporary computer-readable storage medium include receiving color data from a sensing device of the tool storage device. Instructions on the non-temporary computer-readable storage medium include determining the colors of a plurality of objects stored in the tool storage device, the tool storage device including drawers, trays, or shelves having a plurality of storage locations for the plurality of objects, the plurality of objects defining a silhouette in the tool storage device. Instructions on the non-temporary computer-readable storage medium include generating at least one image including an arrangement of colored blocks. The color blocks represent color data associated with the plurality of objects, the size of each color block is proportional to the proportion of color data in the color signature of each silhouette. Instructions on the non-temporary computer-readable storage medium include displaying the arrangement of colored blocks on a display device.

[0006] Brief explanation of the drawing The patent or application file shall include at least one drawing performed in color, which is the sole practical medium for illustrating the features of the claimed invention, and the detailed information contained herein is necessary for understanding the invention. A copy of this patent or patent application publication with the color drawing shall be provided by the Bureau upon request and payment of the required fees. To facilitate identification of any particular element or act, the highest significant digit in the reference number shall refer to the drawing number in which that element is first introduced. [Brief explanation of the drawing]

[0007] [Figure 1] This illustrates an environment that includes multiple storage containers communicating with computing devices and storage. [Figure 2A]This disclosure illustrates an exemplary tool storage system. [Figure 2B] This disclosure illustrates an exemplary tool storage system. [Figure 3A] An illustrative image shows the inside of a storage drawer or tray of a tool storage device. [Figure 3B] An alternative diagram of a tool storage device is shown. [Figure 4A] The diagram shows color blocks representing tools in the drawers of a tool storage system. [Figure 4B] The diagram shows color blocks representing tools in the drawers of a tool storage system. [Figure 4C] The diagram shows color blocks representing tools in the drawers of a tool storage system. [Figure 4D] The diagram shows color blocks representing tools in the drawers of a tool storage system. [Figure 5] This illustrates a functional block diagram of a general-purpose computer hardware platform. [Modes for carrying out the invention]

[0008] In one or more implementations, not all of the components depicted in each figure may be required, and one or more implementations may include additional components not shown in the figures. Variations in the arrangement and type of components may be made without deviating from the scope of the subject disclosure. Additional components, different components, or fewer components may be used within the scope of the subject disclosure.

[0009] The following detailed explanation includes numerous specific examples to provide a thorough understanding of the relevant teachings. However, it should be apparent to those skilled in the art that these teachings can be practiced without such details. In other examples, well-known methods, procedures, components, and / or circuits are described at a relatively high level without detail, in order to avoid unnecessarily obscuring aspects of these teachings.

[0010] To address the issues described in the background, the system uses a color camera, a special lens, a mirror, and a storage foam layer in a drawer that includes a foam layer with silhouette cutouts and a base layer of a contrasting color to the foam layer. The foam layer is typically blue, and the base layer is typically yellow. Each silhouette is assigned a specific stored item.

[0011] The camera provides the system with red, green, and blue (RGB) image data for use in determining location status (e.g., the presence or absence of a stored item). The tool control system does this by training the camera to define a silhouette profile within the defined region of interest and to acquire and store image-associated RGB color attributes (data) of the defined silhouette, both when the stored item is present and when it is absent. The color attributes associated with the RGB image data may include numerical parameters that define the boundaries of specific colors within the spectrum of color data.

[0012] Reference images of empty and complete silhouettes are acquired during the tool training process as the storage silhouette passes through the camera's field of view while the system drawer is open and closed. The system is trained to identify whether a tool is present by comparing the RGB color data signature of the scanned silhouette with a stored calibration reference data signature.

[0013] Figure 1 illustrates an exemplary automated tool control system 100 according to an exemplary embodiment of the subject technology. The automated tool control system 100 includes a management computing device 102, a database 104, tool control storage devices 106A, 106B, and 106C (each equipped with a local computing device and collectively referred to as "tool control storage device 106"), and network services and a network 108. In some embodiments, the automated control system 100 may have more or fewer computing devices (e.g., 102), a database (e.g., 104), and / or tool control storage devices (e.g., 106A, 106B, and 106C) than those shown in Figure 1.

[0014] The local computing device 102 within each tool storage device can represent various forms of processing devices having a processor, memory, and communication capabilities. The processor can execute computer instructions stored in memory. In non-limiting examples, the local processing device typically includes a small form factor embedded or industrial Mini-ITX, Micro-ATX, ATX, or ExtendedATX motherboard computer, or a processing device of equivalent size and capability. The computing device 102 is configured to communicate with the database 104, as well as the tool control storage devices 106A, 106B, and 106C, via the network 108. In non-limiting examples, the processing device may include a desktop computer, a laptop computer, a handheld computer, a personal digital assistant (PDA), or any combination of these processing devices or other processing devices.

[0015] Database 104 is a data storage for storing user identification (ID) and configurable parameters associated with it, as well as data associated with stored items and issue / return functions. Text files, audio files, and video files can be accessed by tool-controlled storage devices 106A, 106B, and 106C, which can use the configurable parameters stored in database 104.

[0016] The tool control storage devices 106A, 106B, and 106C (collectively referred to as "tool control storage devices 106") are configured to transfer and receive data to and from the database 104 via a network service. The data may include configurable parameters such as text files, audio files, and video files required to configure the tool control storage devices 106 according to user preferences. The database 104 also stores issuance and return history, stored item status, and other data related to the operation of the automated tool control system.

[0017] The tool-controlled storage device 106 is, in most embodiments, a toolbox. The tool-controlled storage device 106 may also be a tool locker or any other secure storage device, or an enclosed secure storage area (e.g., a toolbox or walk-in tool locker). Each of the tool-controlled storage devices 106 is an example of a highly automated inventory control system that utilizes multiple different sensing techniques to identify the inventory status of objects within the storage unit.

[0018] Exemplary features include the ability to process complex image data using efficient utilization of system resources, autonomous image and camera calibration, identification of tool characteristics from image data, adaptive timing for capturing inventory images, efficient generation of reference data for checking inventory status, and autonomous compensation of image quality.

[0019] Figures 2A and 2B illustrate various exemplary tool control storage devices 106. The tool control storage device 106 includes a user interface 305, an access control device 306 such as a card reader for verifying the identity and permission level of a user attempting to access the tool control storage device 106, and a plurality of tool storage drawers 330 for storing tools. The storage system may include shelves, compartments, containers, or other object storage devices that include storage devices where tools or objects are issued and / or returned, or objects are issued and / or returned. In further examples, the storage system includes storage hooks, hangers, toolboxes with drawers, lockers, cabinets with shelves, safes, boxes, closets, vending machines, barrels, wooden frames, and other material storage means.

[0020] The user interface 305 is an input and / or output device of the tool control storage device 106 configured to display information to the user. The information may include work instructions, tool selection, safety guidelines, torque settings, alerts and warnings of system and tool status. For example, the user interface 305 may be configured to display information of text strings and images in a default language assigned to the user currently having access to the tool control storage device 106. Although not illustrated in FIGS. 2A and 2B, the tool control storage device 106 may include a speaker as another output device of the tool control storage device 106 for outputting information.

[0021] In conjunction with the local PC and local database, the access control device 306 is used to send the user's authentication credentials to the system and authenticate the user's permission to access the automated tool control system 100. Specifically, the access control device 306 is a component within the system that is used to restrict or permit access to the tool storage drawer 330. The methods and systems used to electronically identify the user requesting access may include, individually or in combination, any one or more of the following technologies, and other technologies not mentioned: RFID proximity sensors with cards, magnetic stripe cards and scanners, barcode cards and scanners, general access cards and readers, face recognition, fingerprint recognition, handwriting analysis, iris recognition, retina scanning, vein matching, voice analysis, and / or biometric sensor ID systems including multimodal biometric systems.

[0022] The tool storage device 106 further includes a processor and software for electronically identifying a user requesting access to a secure area or object storage device. For example, when a user presents their user credentials to the access control device 106, the access control device 306 recognizes the default language assigned to the user identification. The tool control storage device 106 accesses the language directory associated with the recognized default language in the database 104. The tool control storage device 106 configures its operational code to display text strings, audio files, and video files stored in the tool control storage device 106 according to the language directory associated with the user's default language. For example, if the tool control storage device 106 is configured to display text, audio, and video messages in Portuguese, the tool control storage device 106 selects the appropriate text strings, audio files, and video files to display from the Portuguese language directory. The same may apply to English, Spanish, Chinese, and other language files loaded into the language directory in the database 104.

[0023] This ensures the user's understanding of work instructions, tool selections, safety guidelines, torque settings, and system and tool status alerts and warnings that may be presented via a speaker provided to the user interface 305 and / or the tool control storage device 106. In some embodiments, units of measurement (imperial / metric) may also be assigned to user identification and applied to the tool control storage device 106 when user access credentials are presented to the access control device 306. In some other embodiments, work instructions associated with a user ID, tools associated with work instructions and the user ID, and other users (e.g., colleagues) associated with the user ID may be used to configure the tool control storage device 106 when the user logs in using their user credentials.

[0024] The automated tool control system 100 keeps some or all of the storage drawers 330 locked in the closed position through the use of one or more electronically controlled locking devices or mechanisms until the access control device 306 is used to authenticate the user's permission to access the tool control storage device 106. If the access control device 306 determines that the user is permitted to access the tool control storage device 106, the access control device 306 unlocks some or all of the storage drawers 330, depending on the user's permission level, allowing the user to remove or replace tools. In particular, the access control device 306 may identify predetermined permitted access levels to the system and, based on those predetermined permitted access levels, may allow or deny the user physical access to the three-dimensional space or object storage device.

[0025] The tool-controlled storage device 106 may include several different sensing subsystems. In an illustrative example, the tool-controlled storage device 106 may include an image sensing subsystem configured to capture images of the system's contents or storage locations. The image sensing subsystem may include a lens-based camera, a CCD camera, a CMOS camera, a video camera, or any type of device that captures images.

[0026] The image sensing subsystem is described in more detail below in relation to Figure 3B. Figure 3B corresponds to a specific embodiment of the tool-controlled storage device 106 shown in Figure 1C, but the teachings illustrated in Figure 3B can be applied to each of the embodiments in Figures 1A to 1C. The tool-controlled storage device 106 further includes a data processing system, such as a computer, for processing images captured by the image sensing device. The data processing system includes one or more processors (e.g., microprocessors) and a memory that stores program instructions for causing the tool-controlled storage device 106 to communicate electronically with the sensing device, either directly or via a network, to obtain data from the sensing device regarding the presence or absence of objects in three-dimensional space or in the object storage device. Images captured or received by the sensing subsystem are processed by the data processing system to determine the inventory status of the system or each storage drawer. As used throughout this disclosure, the term inventory status means information relating to the presence / absence or non-presence / absence status of objects in the storage system.

[0027] The data processing system may be part of the tool-controlled storage device 106. Alternatively, the data processing system may be a remote computer having a data link, such as a wired or wireless link, coupled to the tool-controlled storage device 106, or a combination of a computer integrated into the tool-controlled storage device 106 and a computer located away from the tool-controlled storage device 106. Additionally, the data processing system may be connected to a computer network and exchange data with management software applications (for example, which may run on a server) used to manipulate and store data, store information related to the data, and display it to system users.

[0028] Figure 3A shows a detail view of one drawer 330 of the tool control storage device 106 in the open position. In some embodiments, each storage drawer 300 includes a foam base 180 having multiple storage locations, such as tool notches 181, for storing tools. Each notch is specifically contoured and shaped to appropriately accommodate a tool having a corresponding shape. Tools can be secured to each storage location by using hooks, Velcro®, latches, pressure from foam, etc.

[0029] Generally, each storage drawer 330 includes multiple storage locations for storing various types of tools. As used throughout this disclosure, a storage location is a place in a storage system for storing or fixing an object. In one embodiment, each tool has a specific pre-designated storage location in the tool storage system. Figure 3B shows a perspective view of an imaging subsystem in a tool-controlled storage device 106 according to one embodiment. As illustrated in Figure 3B, the tool-controlled storage device 106 includes an imaging compartment 315 that houses an image sensing subsystem comprising three cameras 310 and an optical guidance device such as a mirror 312 having a reflective surface positioned about 45 degrees downward to a vertical plane to guide light reflected from the drawer 330 to the cameras 310. After the guided light reaches the cameras 310, the cameras 310 are able to form an image of the drawer 330. The shaded area 340 below the mirror 312 represents the field of view of the imaging sensing subsystem of the tool-controlled storage device 106. As shown in 340, the imaging subsystem scans a portion of the open drawer 336 that passes through the field of view of the imaging sensing subsystem, for example, when the drawer 336 is opened and / or closed. Thereafter, the imaging subsystem captures an image of at least that portion of the open drawer 336. Processing of the captured image is used to determine the inventory status of tools and / or storage locations in the portion of the open drawer 336.

[0030] Generally, the image sensing subsystem captures images of a specific drawer 330 and performs drawer inventory in response to the detection of movement of that particular drawer. For example, the image sensing subsystem may perform drawer inventory in response to the detection that the drawer is closed or completely closed. In other examples, the image sensing subsystem may image the drawer both when it is open and when it is closed.

[0031] A detailed example of one illustrative embodiment is provided below. In the illustrative embodiment, a physically defined, secure three-dimensional object storage device is provided. The storage device is a container into which tools and / or objects are issued and / or returned. The physically defined, secure three-dimensional object storage device is equipped with a processor and software that operates to communicate electronically, either directly with the device or via a network with sensing devices, to obtain data from the sensing devices indicating the presence or absence of objects within the three-dimensional object storage device. In the example, the sensing devices used within the three-dimensional object storage device include machine vision identification devices such as cameras and decoders.

[0032] A physically defined, secure three-dimensional object storage device is equipped with an electronically controlled locking mechanism, along with an access control device that includes a processor and software means for electronically identifying a user requesting access to a secure area or object storage device. The processor and software can identify predetermined permitted access levels to the system and, based on those predetermined permitted access levels, may allow or deny the user physical access to the three-dimensional space or object storage device.

[0033] A physically defined, secure object storage device is equipped with a drawer. The processor and memory that store the executable software program instructions of the storage device can be connected to a computer network and can exchange data with management software applications (e.g., those running on a remote server) used to manipulate and store data, store information about the data, and display it to system users.

[0034] During operation, the user scans the access card or brings the access card close to the storage device's access control device. The storage device's local processor determines the user's access level based on the access card. If the user is determined to be authorized to access the storage device, the authorized user gains access to the object storage device. The storage device's sensing subsystem and data processing system are then activated. Light-emitting diodes (LEDs) used to provide light to the system are activated, and the camera is activated. The latches of the storage system are then unlocked, and the user opens one or more drawers and removes or returns one or more objects.

[0035] Once the camera is activated and the initial camera training scan is taken for each silhouette, the tool detection algorithm sets a color frequency range with restrictions and tolerances for matching RGB color data for the presence and absence of a tool, allowing the system to determine the actual status of the stored item. The camera provides the system with red, green, and blue (RGB) image data for use in determining the presence and absence of the stored item. The tool control system does this by defining a silhouette profile within the defined region of interest and training the camera to acquire and store the image-associated RGB color attributes (data) of the defined silhouette in both cases where the stored item is present and absent.

[0036] Under normal operation, if the RGB color data of a scanned image closely matches the RGB color data stored for an empty silhouette, the system will determine that the item is absent. Under normal operation, if the RGB color data of a scanned image closely matches the RGB color data stored for a loaded silhouette, the system will determine that the item is present. Under normal operation, if the RGB color data from a scanned silhouette falls between the boundary of the presence and absence signature, the system will determine that the silhouette contains an "incorrect tool".

[0037] Furthermore, under normal operation, if the RGB data from a scanned silhouette is altered to such an extent that it no longer matches either the present or absent signature from the stored calibrated color attributes, the system will determine that the silhouette contains an "incorrect tool." This can be a result of changes in the color of the tool or silhouette base layer due to dirt, unpleasant substances, grease, oil, or other contaminants accumulating on its surface to the extent that the system camera records RGB colors different from the original.

[0038] In some cases, the RGB "scores" for the stored item and the base layer may be similarly close. This occurs when the tool is black or chrome, the silhouette is small, and a large portion of the silhouette's base is covered by etched numbers or letters. Another case is when the silhouette is relatively large, but the surface area of ​​the stored item is small as a percentage of the total. For example, a thin-walled cylindrical tool stored at the edge will result in most of the stored RGB data representing the base layer's color, with only a small fraction of the image RGB data representing the actual tool. Slight changes due to dirt, grease, or changes in external lighting can result in incorrect tool exceptions being displayed when the correct item is in the silhouette.

[0039] If the system cannot determine the presence or absence of an item from the silhouette's color data, the user can inspect and clean the silhouette and the yellow base layer, and clean the tool. The user can also retrain the color signatures of the problematic silhouette and tool presence or absence to reset the stored calibrated colors. Users may adjust the "tolerance" of the presence or absence algorithm, believing that changing the tolerance will fix the problem. In most cases, this only makes the system more tolerant of inaccurate color data that results in unreliable tool detection.

[0040] Users may obtain and attach a silhouette-shaped base layer plug to the bottom of the silhouette to match the absent signature with the absent calibration signature. The system typically logs the RGB data of both the present and absent signatures for each silhouette to a log file for use by trained product specialists or engineers. The average user and system administrator do not have access to this data log and are not trained to decipher its contents. Repeated "wrong tooling" with automated control storage devices disrupts production and maintenance procedures, negatively impacting productivity and profitability. However, the current system does not provide a simple and intuitive method for users to determine changes in silhouette color over time.

[0041] As shown in Figures 4A, 4B, 4C, and 4D, the processor may be equipped with diagnostic tools for display to the user. These diagnostic tools can visualize the colors of the storage device form (located in a drawer or tray), the silhouette colors, and the colors of the stored items. Using data from the camera, these are displayed to the user in a visible form as a set of color blocks. The user can compare the original calibration signature to the current signature, make adjustments to the imaging system, or recalibrate the silhouette images to the new color data. Adjustments can be made manually or automatically within the system.

[0042] The diagnostic tool uses the RGB color signatures of each silhouette and stored item to create and display color "blocks" that represent the associated color data. The size of each color block is proportional to the proportion of RGB color data within the silhouette. By programming the system to represent the silhouette color data on the system display as a proportional representation in "block" form, the user can easily see and compare the current color of an empty silhouette with the stored color of the same silhouette. In this way, the user can determine whether a change in the yellow base layer is contributing to the failure of the tool to generate errors.

[0043] The same applies to silhouettes with items stored in pockets. Users can easily see and compare the current color of a loaded silhouette with the stored color of the same silhouette. In this way, users can determine whether changes to stored items are contributing to the occurrence of incorrect tools. The components that make up an RGB color signature are hue, saturation, and intensity. Hue is described as the shade, and saturation is the "thickness" of the color, with low saturation representing gray and high saturation representing yellow or red. Brightness is the lightness of the color. Zero brightness is black, and maximum intensity is white. Specifically, the imaging subsystem is used to image when the drawer is opened and when the drawer is closed (or once it is closed), and the presence or absence of objects is determined using only the captured images. The inventory scan results are displayed on the screen. When the user logs out, the object status is sent over the network to the primary database and / or management application. The LED light turns off, locks, and the camera is set to idle.

[0044] Figure 5 conceptually illustrates an exemplary electronic system 500 that can implement some implementations of the technology in question. In one or more implementations, the computing device 102 and the tool-controlled storage device 106 may be electronic system components considered below with respect to the electronic system 500, or may include all or some of the electronic system components. The electronic system 500 may be a computer, a telephone, a personal digital assistant (PDA), or any other type of electronic device. Such an electronic system may include interfaces for various types of computer-readable media and various other types of computer-readable media. The electronic system 500 includes a bus 508, a processing unit 512, a system memory 504, a read-only memory (ROM) 510, a permanent storage device 502, an input device interface 514, an output device interface 506, and a network interface 516.

[0045] Bus 508 collectively represents all system, peripheral, and chipset buses that communicate with a large number of internal devices of the electronic system 500. For example, bus 508 communicates with the processing unit 512 to the ROM 510, system memory 504, and permanent storage device 502. From these various memory units, the processing unit 512 obtains instructions to execute and data to process in order to perform the processes of the disclosure of the subject. The processing unit can be a single processor or a multi-core processor in different implementations.

[0046] The ROM 510 stores static data and instructions required by the processing unit 512 and other modules of the electronic system. Meanwhile, the permanent storage device 502 is a read and write memory device. This device is a non-volatile memory unit that stores instructions and data even when the electronic system 500 is turned off. Some implementations of this disclosure use a mass storage device (e.g., a magnetic or optical disk, or flash memory) as the permanent storage device 502.

[0047] Other implementations use a removable storage device (e.g., a floppy disk, flash drive) as the permanent storage device 502. Similar to the permanent storage device 502, the system memory 504 is a read-and-write memory device. However, unlike the storage device 502, the system memory 504 is volatile read-and-write memory, such as random-access memory. The system memory 504 stores some of the instructions and data required by the processor at runtime. In some implementations, the processes of the subject disclosure are stored in the system memory 504, the permanent storage device 502, or the ROM 510. For example, various memory units may display graphical elements and identifiers associated with their respective applications, receive predetermined user input to display visual representations of shortcuts associated with their respective applications, and include instructions for displaying visual representations of shortcuts. From these various memory units, the processing unit 512 obtains instructions to execute and data to process in order to execute the processes of some implementations.

[0048] Bus 508 also connects to input and output device interfaces 514 and 506. Input device interface 514 allows the user to communicate information and select commands for the electronic system. Input devices used with input device interface 514 include, for example, an alphanumeric keyboard and a pointing device (also called a "cursor control device"). Output device interface 506 allows, for example, the display of images generated by the electronic system 500. Output devices used with output device interface 506 include, for example, a printer and a display device, such as a cathode ray tube (CRT) or liquid crystal display (LCD). Some implementations include a device, such as a touchscreen, which functions as both an input and output device.

[0049] Finally, as shown in Figure 5, bus 508 also connects the electronic system 500 to a network (not shown) via a network interface. In this way, the computer can be part of a computer network (e.g., a LAN, WAN, or intranet, or a network of networks, e.g., the Internet). Any or all components of the electronic system 500 can be used in conjunction with the subject disclosure.

[0050] Many of the above characteristics and applications are implemented as software processes specified as a set of instructions recorded on a computer-readable storage medium (also called a computer-readable medium). When these instructions are executed by one or more processing units (e.g., one or more processors, processor cores, or other processing units), they cause the processing units to perform the actions indicated by the instructions. Examples of computer-readable media include, but are not limited to, magnetic media, optical media, and electronic media. Computer-readable media do not include carrier waves and electronic signals transmitted wirelessly or via wired connections.

[0051] Unless otherwise stated, all measurements, values, ratings, locations, sizes, dimensions, and other specifications described herein are approximate and not precise. They are intended to be within a reasonable range consistent with the functions to which they relate and the practices in the art to which they relate. Except as described immediately above, nothing described or illustrated is intended or should be construed as causing the public to receive any component, step, feature, object, benefit, advantage, or equivalent.

[0052] In this specification, the term “software” means, for example, firmware residing in read-only memory or other forms of electronic storage, or applications that can be stored in magnetic storage, optical, solid-state, etc., which can be loaded into memory for processing by a processor. In some implementations, multiple software embodiments of the subject disclosure may be implemented as subparts of a larger program, while leaving separate software embodiments of the subject disclosure. In some implementations, multiple software embodiments may also be implemented as separate programs. Finally, any combination of separate programs that implement together the software embodiments described herein is within the scope of this disclosure. In some implementations, a software program defines one or more specific machine implementations that, when installed to run on one or more electronic systems, perform and implement the operations of the software program.

[0053] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, including standalone programs or modules, components, subroutines, objects, or other units suitable for use in a computing environment. Computer programs may, but are not required, correspond to files in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., a file containing one or more modules, subprograms, or portions of code). Computer programs can be deployed to run on one or more computers located in one site or distributed across multiple sites and interconnected by a communication network.

[0054] The functions described above can be implemented in digital electronic circuits, computer software, firmware, or hardware. This technology can be implemented using one or more computer program products. Programmable processors and computers can be contained in or packaged as mobile devices. Processes and logical flows can be carried out by one or more programmable processors and one or more programmable logic circuits. General-purpose and special-purpose computing devices and storage devices can be interconnected via communication networks.

[0055] Some implementations include a microprocessor, storage, and memory that store computer program instructions in an electronic component, such as a machine-readable or computer-readable medium (alternatively referred to as a computer-readable storage medium, machine-readable medium, or machine-readable storage medium). Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROMs), recordable compact discs (CD-Rs), rewritable compact discs (CD-RWs), read-only digital multipurpose discs (e.g., DVD-ROMs, dual-layer DVD-ROMs), various recordable / rewritable DVDs (e.g., DVD-RAMs, DVD-RWs, DVD+RWs, etc.), flash memory (e.g., SD cards, miniSD cards, microSD cards, etc.), magnetic or solid-state hard drives, read-only and recordable Blu-ray (registerable) discs, ultra-high-density optical discs, any other optical or magnetic media, and floppy disks. A computer-readable medium can store a computer program that is executable by at least one processing unit and contains a set of instructions for performing various operations. For example, an example of a computer program or computer code that includes files containing machine code generated by a compiler and high-level code executed by a computer, electronic component, or microprocessor using an interpreter.

[0056] The above discussion primarily refers to microprocessors or multicore processors that run software, but some implementations are carried out by one or more integrated circuits, such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs). In some implementations, such integrated circuits execute instructions stored within the circuit itself.

[0057] As used herein, the terms “computer,” “server,” “processor,” and “memory” all refer to electronic devices or other technological devices. These terms exclude people or groups of people. For the purposes of this specification, the term “display” or “display” means to display on an electronic device. As used herein, the terms “computer readable medium” and “computer readable media” are strictly limited to tangible physical objects that store information in a form readable by a computer. These terms exclude any radio signals, wired download signals, and any other transient signals.

[0058] To provide user interaction, the implementations of the subject matter described herein can be implemented on a computer having a display device for displaying information to the user, such as a CRT or LCD monitor, and a pointing device, such as a mouse or trackball, to which the user can provide input to the computer. User interaction can also be provided using other types of devices, for example, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and input from the user can be received in any form, including acoustic input, voice input, or tactile input. In addition, the computer can interact with the user by sending documents to and receiving documents from devices used by the user, for example, by sending a web page to a web browser on the user's client device in response to a request received from a web browser.

[0059] Embodiments of the subject matter described herein can be implemented as a computing system, or as any combination of one or more such backend, middleware, or frontend components, including, for example, a backend component as a data server, or a middleware component such as an application server, or a frontend component such as a client computer having a graphical user interface or a web browser on which a user can interact with the implementation of the subject matter described herein. The components of the system can be interconnected by digital data communication in any form or medium, such as a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad-hoc peer-to-peer networks).

[0060] A computing system can include clients and servers. Clients and servers are generally remote from each other and typically interact via a communication network. The client-server relationship arises from computer programs running on each computer that have a client-server relationship with each other. In some embodiments, the server transmits data (e.g., an HTML page) to the client device (for example, to display data on the client device and to receive user input from a user interacting with the client device). Data generated on the client device (e.g., the results of user interaction) can be received by the server from the client device.

[0061] It should be understood that any specific order or hierarchy of steps in the disclosed process is illustrative of an exemplary approach. It should be understood that the specific order or hierarchy of steps in the process may be rearranged based on design preferences, or that all illustrated steps may be performed. Some of the steps may be performed simultaneously. For example, in certain circumstances, multitasking and parallel processing may be advantageous. Furthermore, it should be understood that the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and that the described program components and systems may generally be integrated together in a single software product or packaged into multiple software products.

[0062] The foregoing description is provided to enable those skilled in the art to practice the various embodiments described herein. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may apply to other embodiments. Accordingly, the claims are not intended to be limited to the embodiments shown herein, but should be given the full scope consistent with the language of the claims, and references to singular elements are not intended to mean "one and only one" unless specifically stated so, but rather "one or more." Unless specifically stated otherwise, the term "some" refers to one or more. Pronouns for masculine nouns (e.g., his) include feminine and neuter nouns (e.g., her and its), and vice versa. Headings and subheadings, where present, are used for convenience only and are not intended to limit the disclosure of subject matter.

[0063] Where used herein, the phrase “at least one of” preceding a set of items uses the terms “and” or “or” to delimit any of the items, and qualifies the list as a whole rather than each member of the list (i.e., each item). The phrase “at least one of” does not require the selection of at least one of each listed item; rather, the phrase allows meanings including at least one of any one of the items, and / or at least one of any combination of the items, and / or at least one of each of the items. For example, the phrases “at least one of A, B, and C” or “at least one of A, B, and C” refer to A only, B only, or C only, any combination of A, B, and C, and / or at least one of each of A, B, and C, respectively.

[0064] The phrases such as "certain aspect," "aspect," "another aspect," "partial aspect," "one or more aspects," "certain implementation," "implementation," "another implementation," "partial implementation," "one or more implementations," "certain embodiment," "another embodiment," "partial embodiment," "one or more embodiments," "certain configuration," "another configuration," "partial configuration," "one or more configurations," "subject art," "disclosure," "this disclosure," "other variations," and similar are for convenience only and do not imply that the disclosure relating to such a phrase is essential to the subject art or that such disclosure applies to all configurations of the subject art. Disclosure relating to such a phrase may apply to all configurations or one or more configurations. Disclosure relating to such a phrase may provide one or more examples. The phrases "certain aspect" or "partial aspect" may refer to one or more aspects, and vice versa, and this applies similarly to the other aforementioned phrases.

[0065] To the extent that the systems considered herein collect or can utilize usage data associated with a user, the user is provided with the opportunity to control whether a program or feature collects usage data (e.g., user preferences) and to control the user interface (UI) associated with an application based on the collected usage data. The user may also be provided with the option to turn certain features or functions provided by the system on or off. In some embodiments, the user may choose to disable features and functions provided by the systems considered herein (e.g., to control the UI associated with an application based on the collected usage data). In addition, the user may specify that certain data be processed in one or more ways before being stored or used so that personally identifiable information is removed. For example, a user identifier may be processed so that personally identifiable information about the user cannot be determined, or the user's geographical location may be generalized at the location where location information is obtained (e.g., city, zip code, or state level) so that the user's specific location cannot be determined. Thus, the user controls whether, and how, user information is collected, stored, and used by the disclosed system.

[0066] All structural and functional equivalents of elements of various aspects described herein, whether known to those skilled in the art or to become known thereafter, are expressly incorporated herein by reference and intended to be encompassed by the subject art. Furthermore, nothing disclosed herein is intended to be made available to the public, whether such disclosure is expressly described in the above specification or not. Moreover, to the extent that terms such as “include” and “have” are used in the specification or claims, such terms are intended to be comprehensive in the same manner as the term “comprise” is interpreted when used as a substitute term in the claims.

[0067] The terms and expressions used herein should be understood to have the ordinary meanings assigned to such terms and expressions in relation to their respective fields of study and research, unless otherwise specified herein. Relational terms such as "first" and "second" may be used solely to distinguish one entity or action from another, without necessarily requiring or implying an actual relationship or order between such entities or actions. The terms "comprises," "comprising," or any other variation thereof are intended to encompass non-exclusive inclusions such that a process, method, article, or apparatus containing a list of elements may contain not only those elements but also other elements not expressly listed in such process, method, article, or apparatus, or elements inherent to such process, method, article, or apparatus. Elements beginning with "a" or "an" do not, without further restriction, exclude the presence of additional identical elements in a process, method, article, or apparatus containing the element.

[0068] In the aforementioned specification, various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claimed embodiments require more features than are explicitly enumerated in each embodiment. Rather, the subject matter of the invention is not found in all the features of a single disclosed embodiment.

[0069] While the foregoing describes what is considered to be the best form and / or other example, it should be understood that various modifications may be made therein, that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applicable to numerous uses, only some of which are described herein. This disclosure is intended to cover any and all applications, modifications, and variations that fall within the true scope of these teachings.

Claims

1. It is an inventory control system, A tool storage device including drawers, trays, or shelves having multiple storage locations for storing multiple objects, wherein the multiple objects define a silhouette within the tool storage device, A sensing device configured to detect color, A display device configured to display information related to the aforementioned inventory control system, A processor and a processor, the processor Determining the color signature of the silhouette of each of the multiple objects stored in the tool storage device, To generate at least one image including an arrangement of colored blocks, wherein the color blocks represent color data associated with the plurality of objects, and the size of each color block is proportional to the proportion of color data in the color signature of each silhouette. An inventory control system configured to display the aforementioned arrangement of colored blocks.

2. The inventory control system according to claim 1, wherein the drawer, tray, or shelf includes a form.

3. The inventory control system according to claim 1, wherein the sensing device is a camera configured to capture RGB color data.

4. The inventory control system according to claim 1, wherein the processor is further configured to calibrate a color signature compared to a previous color signature and adjust the sensing device.

5. The aforementioned processor, Receive updated color data, The inventory control system according to claim 4, configured to recalibrate the color signature and adjust the sensing device using updated color data.

6. The inventory control system according to claim 1, wherein the size of the color block is proportional to the signature of the color data.

7. The inventory control system according to claim 4, wherein the color signature comprises hue, saturation, and intensity.

8. The inventory control system according to claim 1, wherein the color data associated with the silhouette is stored for comparison with the current status of the plurality of objects in the storage device.

9. A method for determining the location status of an item in a tool storage device, Receiving color data from a sensing device, Identifying the silhouette of each object among the multiple objects stored in the tool storage device, Determining the color signature of each silhouette of the plurality of objects stored in the tool storage device, To generate at least one image including an arrangement of colored blocks, wherein the color blocks represent color data associated with the plurality of objects, and the size of each color block is proportional to the proportion of color data in the color signature of each silhouette. A method comprising displaying the arrangement of colored blocks on a display device.

10. The method according to claim 9, wherein the sensing device is a camera configured to capture RGB color data.

11. The method according to claim 9, further comprising calibrating the color signature compared to a previous color signature and adjusting the capture of color attributes to the sensing device.

12. Receiving updated color data, Recalibrating the color signature using the updated color data, The method according to claim 11, further comprising adjusting the color attributes of the color data.

13. The method according to claim 9, wherein the size of the color block is proportional to the identified silhouette color data.

14. The method according to claim 9, wherein the color signature comprises hue, saturation, and intensity.

15. The method according to claim 9, wherein the color data associated with the silhouette is stored for comparison with the current status of the plurality of objects in the storage device.

16. A non-temporary computer-readable storage medium that includes instructions stored therein, and when the instructions are executed by one or more processors, the one or more processors Receiving color data from a sensing device, Determining the color signature of each silhouette of multiple objects stored in the tool storage device, To generate at least one image including an arrangement of colored blocks, wherein the color blocks represent color data associated with the plurality of objects, and the size of each color block is proportional to the proportion of color data in the color signature of each silhouette. A non-temporary, computer-readable storage medium that causes a tool to perform an action for determining the location status of an item in a storage device, including displaying the aforementioned arrangement of colored blocks on a display device.

17. Receiving updated color data, Recalibrating the color signature using the updated color data, A non-temporary computer-readable storage medium according to claim 16, further comprising adjusting the color attributes of the color data.

18. The non-temporary computer-readable storage medium according to claim 16, wherein the size of the color blocks is proportional to the identified silhouette color data.

19. A non-temporary computer-readable storage medium according to claim 16, wherein the color signature comprises hue, saturation, and intensity.

20. A non-temporary computer-readable storage medium according to claim 16, wherein the color data associated with the silhouettes is stored for comparison with the current status of the plurality of objects in the storage device.