Tool storage system with programmable sensor array
The tool storage system with a programmable sensor array addresses RFID wear and reliability issues by using configurable sensors to accurately track tool presence and absence, ensuring secure and efficient inventory management.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- スナップ-オン ツールズ シンガポール ピーティーイー リミテッド
- Filing Date
- 2025-09-19
- Publication Date
- 2026-07-02
AI Technical Summary
Existing tool storage systems face challenges with inventory management due to issues such as RFID tag wear and damage, camera-based methods being risky in military facilities, and unreliable weight detection, leading to potential information leakage and poor reliability.
A tool storage system with a programmable sensor array that includes a board with configurable sensors, a decoder for monitoring sensor usage, and a remote terminal for processing signals to learn tool positions and detect tool removal/return, using active, negative, or null states to ensure accurate tool tracking.
The system provides reliable and secure tool tracking, preventing misidentification of tools during return, and supports flexible tool storage configurations, including customized tools, while ensuring all tools are accounted for after use.
Smart Images

Figure 2026110484000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a tool storage system having a programmable sensor array.
Background Art
[0002] Generally, tools are stored in the drawers of a tool cabinet. Therefore, an inventory management system is required to monitor the access of tools to and from the cabinet.
[0003] Some existing monitoring methods use RFID tags attached to tools. However, RFID tags may peel off after wear and damage over a period of time.
[0004] To avoid such wear and damage, a method that does not use RFID is to use a camera and vision with a learning function. In one implementation, the drawer is illuminated by an internal light source when it is pulled out. Thus, the camera can detect the tool that is about to be taken out or pulled out. Such a method may be rejected inside military facilities. This is because products and equipment equipped with camera technology are considered to have a potential risk of information leakage.
[0005] Another method is tracking using weight detection. However, it has poor reliability.
Summary of the Invention
Problems to be Solved by the Invention
[0006] The present invention aims to address the above-mentioned drawbacks.
Means for Solving the Problems
[0007] According to a first aspect of the present invention, a tool storage system is provided. This system comprises a board having a sensor array, each configurable to be reserved or empty for tool storage; a decoder for monitoring the usage of the sensor array; a remote terminal for processing signals received by the decoder, configured to learn the positions of reserved and empty sensors from signals received when the board is initialized, receive inputs giving details of tools stored on the reserved sensors, detect tool removal from and return to the reserved sensors from signals when the board is in use, and determine whether to send a message indicating that a different tool was returned if the decoder relays that at least one of the reserved sensors was triggered incorrectly when a tool is returned; and a data storage device for storing details of the tools stored by the reserved sensors, the positions of the reserved sensors, and the positions of the empty sensors.
[0008] Representative embodiments of the present invention will be described hereby for illustrative purposes only with reference to the accompanying drawings. [Brief explanation of the drawing]
[0009] [Figure 1] This figure shows the components of a tool storage system according to one embodiment of the present invention. [Figure 2] Figure 1 is an isometric view of a tool cabinet with drawers used to hold boards, used in the tool storage system. [Figure 3] This diagram shows the incorrect tools being returned to the tool storage system board in Figure 1. [Figure 4] This diagram shows the board of the tool storage system shown in Figure 1, which is configured to store various tools of different dimensions and shapes. [Figure 5] Figure 4 shows a cross-section of one stored tool. [Figure 6] This is a diagram showing a tool storage system used in conjunction with peripheral storage devices. [Figure 7]This flowchart shows how tools are removed from the board in Figure 1 and placed in the surrounding storage area. [Figure 8] This is a flowchart showing the process when a tool is returned from the surrounding storage area to the board shown in Figure 1. [Figure 9] This is a flowchart for initializing the board. [Figure 10] This is a flowchart illustrating the removal and retrieval of tools from an initialized board. [Figure 11] This diagram shows the components of the remote terminal for the tool storage system shown in Figure 1. [Figure 12] This figure shows a cutout of foam placed on the sensor array of the tool storage system board shown in Figure 1. [Figure 13] This figure shows an example of a sensor for the board shown in Figure 2. [Modes for carrying out the invention]
[0010] This application relates to a tool storage system for storing tools. Tools are instruments used for specific purposes, such as operating and maintaining equipment like machine parts. The tool tracking system includes a tool cabinet, which in one implementation configuration has multiple drawers. Each drawer has a sensor array layer, on top of which is a cutout layer. The cutout layer is for holding tools on the sensor array layer, and each cutout is shaped to correspond to the tool to be held there. The sensor array layer helps to detect whether or not a tool is present at the cutout location.
[0011] Tool storage systems also monitor the retrieval and return of tools. Besides protecting against loss or theft, tracking tool movement is crucial in several use cases, such as ensuring all retrieved tools are returned immediately after the work is completed. When repairing or maintaining aircraft engines, even a single tool left inside the engine after the work is finished can cause catastrophic damage. Similarly, with surgical instruments, it is essential to ensure no instruments are left inside the patient's body after surgery. For customized tools (such as those for aircraft component maintenance), monitoring facilitates location management because they are expensive and difficult to replace.
[0012] The sensor array layer is programmable during initialization, and the tool storage system learns which tools the sensor array layer should monitor and the position of those tools on the sensor array layer.
[0013] During initialization, sensors in the sensor array are assigned to either be reserved for tool storage during use or to remain empty during use. An empty sensor is one that is not occupied by a tool during use. A reserved sensor is one that is set aside for tool storage during use and does not necessarily need to be in contact with the stored tool. A reserved sensor can be either active or null. In the active state, the sensor is programmed to detect the presence or absence of a tool when the tool is returned. In the null state, the sensor remains silent and does not transmit a signal regardless of the presence of a tool. The active and null states will be described in more detail later.
[0014] When learning is automated, initialization includes a training phase for the tools. In this phase, the tools are placed on a board with a sensor array, and an algorithm determines the placement position of the tools and the number and arrangement of adjacent sensors required to adapt to each tool shape. This is done, for example, by detecting which sensors are in contact with the tool. At initialization, based on the shape of the tools on the sensor array, two things are stored: the positions and numbers of the sensors to be reserved for monitoring each tool. The algorithm also stores the empty sensor positions. Thus, through the training phase, when the tools are placed on the sensor array, the tool positions are automatically learned.
[0015] When learning is done manually, initialization is performed by the user entering the coordinates of the reserved and empty sensors. For manual initialization compared to the automated approach, it is not necessary to place the tools on the sensor array.
[0016] Therefore, the sensor array layer is particularly suitable for storing customized tools that may not match the cutout layers with general-purpose cutout shapes. The programmability of the sensor array allows flexibility to be imparted as the user, who can identify the desired positions of the tools, can adjust the positions of the tools (both customized and general-purpose tools) through detection by placement (automated initialization approach) or entry of storage coordinates (manual initialization approach). The position of the tools on the sensor array can also be changed by reprogramming the sensor array as needed.
[0017] If one or more reservation sensors are accidentally triggered when returning a tool, a message indicating that a different tool has been returned may be sent. Triggering refers to how the reservation sensor reacts when a tool is returned. The reservation sensor is triggered correctly or accidentally depending on whether it is specified to be activated assuming the presence or absence of the tool when the tool is returned (as part of the above initialization). The reservation sensor is accidentally triggered to detect an unexpected output when, at the time of tool return, the reservation sensor returns a state opposite to the initialization specification (i.e., assuming the presence or absence of the tool at return). Various cases of tool return are detailed below.
[0018] An algorithm for determining the placement of tools, or another algorithm, can rearrange the reservation sensors, and the rearranged reservation sensors can still monitor the tools. For example, after initialization, the algorithm activates most of the reservation sensors within or near the boundary of the tool shape (e.g., rectangular) to store the tool. After a predetermined time, the algorithm rearranges the sensors that were activated. As a result, the number of activated sensors may increase or decrease. Alternatively, after rearrangement, the number of activated sensors may be the same, but their layout may be different compared to before rearrangement. However, there may be an overlap in the layout before and after rearrangement. The purpose of such reconfiguration is to prevent attempts to induce combinations of sensors that would cause the correct tool to be misrecognized as having been returned to the sensor array when a different tool is placed. When reconfiguring the sensor layout, the boundary including the reservation sensors and the boundary position remain the same.
[0019] Next, various embodiments of the tool storage system according to the present invention will be described with reference to the drawings. Here, like reference numerals generally indicate the same features throughout the drawings. It should be understood that the tool storage system may have many components that are not described for the sake of simplicity.
[0020] Figure 1 shows a tool storage system according to one embodiment of the present invention, which comprises the following components: a board 100 having a sensor array 104, a decoder 106, and a remote terminal 108.
[0021] The decoder 106 communicates electrically with the board 100, for example, via a physical or wireless connection. Similarly, the remote terminal 108 communicates electrically with the decoder 106, for example, via a physical or wireless connection. The decoder 106 functions as an interface that enables communication between the board 100 and the remote terminal 108. For example, the decoder 106 relays signals from the board 100 regarding the usage status of the sensor array 104 to the remote terminal 108. The decoder 106 can also adjust the sensitivity of each sensor 104, for example, to determine whether the value of the sensor 104 satisfies the conditions indicating the presence of a tool. The remote terminal 108 processes the signals received by the decoder 106. This allows the operation of the sensor array 104 to be controlled via the decoder 106 using the remote terminal 108 (for example, by hosting an algorithm to be used to program the sensor array 104). The decoder 106 may be integrated into either the board 100 or the remote terminal 108, or, in another embodiment of the present invention, it may be a separate, isolated component.
[0022] The board 100 can also be placed in the drawer 202 of the tool cabinet. Figure 2 is an isometric view of such a tool cabinet 200. The tool cabinet 200 has multiple drawers 202, and one or more of the drawers 202 can carry the board 100. The tool cabinet 200 is equipped with a computing terminal 108, which can function as a remote terminal for the tool storage system. Therefore, the remote terminal for the tool storage system can be stored together with the board 100 and does not necessarily need to be placed separately or remotely.
[0023] The embodiment in Figure 1 uses a board 100 having a 14x11 sensor array 104. However, other dimensions (not shown) are also possible. Each of the sensors 104 can be configured to be reserved for tool storage or left empty.
[0024] As mentioned above, the multiple sensors 104 are set to one of the following: a) The sensors are configured to be reserved for tool storage (i.e., the sensors 110 are held for tool storage when in use). Since tools occupy space, typically multiple adjacent sensors are reserved for tool storage. In one approach, more sensors than are needed are reserved for tool storage. For example, a 6x6 sensor array area may be reserved for a tool that only requires a 4x4 sensor array area. Therefore, the reserved sensors 110 do not necessarily need to be in contact with the tool for which the sensors are to be secured and stored. b) Set as unused / empty (i.e., referring to sensor 112 that is not occupied by a tool when in use).
[0025] During the initialization of board 100, the remote terminal 108 receives signals from the decoder 106 board, for example by placing a tool on board 100, to learn the positions of the reserved sensor 110 and the empty sensor 112. Referring to the explanation of step 908 in Figure 9 below, the letter "y" indicates that the light for board 100 lights up yellow, which indicates that board 100 is learning the shape of the tool 116. Alternatively, the remote terminal 108 learns the positions of the reserved sensor 110 and the empty sensor 112 by having the user input their coordinates during initialization.
[0026] When reserved for tool storage, sensor 110 can be active or null. In the active state, the reserved sensor 110 is programmed to detect the presence or absence of a tool upon tool return. If the reserved sensor 110 detects contact with any part of the returned tool 116, the presence of the tool occurs. If the reserved sensor 110 does not detect contact with any part of the returned tool, the absence of the tool occurs. Each activated sensor can also be in either a positive or negative logic state.
[0027] A sensor activated in a positive logic state is configured to assume the presence of a tool when the tool is returned; that is, it makes contact with a portion of the returned tool 116 when the tool is returned. If such a sensor in a positive logic state does not detect the presence of the tool during the tool return, the sensor transmits an error signal. However, if the sensor detects the presence of the tool when the tool is returned, it does not transmit an error signal.
[0028] Sensors activated in a negative logic state are configured to assume the absence of a tool when the tool is returned; that is, there is no contact with any part of the returned tool 116 when the tool is returned. For example, sensor 114 located outside of tool 116 on board 100 may be designated as a sensor in a negative logic state. Another example is a sensor that does not make contact with any part of tool 106 when it is placed flat on board 100 (see Figure 5). These sensors are still within the vicinity of tool 106 on board 100. If a sensor in a negative logic state detects the presence of a tool when the tool is returned, it sends an error signal. However, if it does not detect the presence of a tool when the code is returned, it does not send an error signal.
[0029] In the null state, the sensor remains dormant or unresponsive, regardless of the presence or absence of the tool, and maintains a silent state. The null state sensor does not transmit a signal even if the tool 106 is present when it is returned. This sensor also does not transmit a signal even if the tool 106 is absent when it is returned.
[0030] After initialization, board 100 is ready for use (i.e., it is in a state to monitor the return of tool 106). The remote terminal 108 detects the removal of tool 106 from the reservation sensor 110 or the return of tool 106 based on the signal transmitted from decoder 106 when board 100 is in use.
[0031] If the reservation sensor 110 assumes the presence of a tool and detects the presence of the tool when the tool is returned (i.e., if it detects part of the tool 106 when the tool is returned), the reservation sensor 110 is triggered correctly. The decoder 106 transmits a signal indicating that the reservation sensor 110 was triggered correctly. If the reservation sensor 110 assumes the presence of a tool but detects the absence of the tool when the tool is returned (i.e., if it does not detect the tool when the tool is returned), the reservation sensor 110 is triggered incorrectly. The decoder 106 transmits a signal indicating that the reservation sensor 110 was triggered incorrectly.
[0032] Similarly, if the reservation sensor 110 assumes the absence of a tool and detects the absence of the tool when the tool is returned (i.e., does not detect the tool when the tool is returned), the reservation sensor 110 is triggered correctly. The decoder 106 transmits a signal indicating that the reservation sensor 110 was triggered correctly. If the reservation sensor 110 assumes the absence of a tool but detects the presence of the tool when the tool is returned (i.e., detects part of the tool when the tool is returned), the reservation sensor is triggered incorrectly. The decoder 106 transmits a signal indicating that the reservation sensor 110 was triggered incorrectly.
[0033] The remote terminal 108 determines whether to send a message indicating that the wrong tool has been returned if the decoder 106 relays that at least one of the reservation sensors was incorrectly triggered when a tool is returned. In one configuration, if it is found that at least one reservation sensor 110 is incorrectly triggered when a tool is returned, the tool storage system sends a message indicating that the wrong tool has been returned. However, in another configuration, even if at least one incorrectly triggered reservation sensor 110 is detected, an error message is not necessarily sent automatically. In this other configuration, the message indicating that the wrong tool has been returned is sent only if certain criteria regarding the incorrectly triggering reservation sensor 110 are met. Examples of these criteria include the number of incorrectly triggered reservation sensors 110 exceeding a threshold (e.g., 3 or more), or the incorrectly triggered reservation sensor being in a specific location (e.g., in the center of the monitored tool 106). Therefore, the remote terminal 108 does not necessarily send a message indicating that the wrong tool has been returned unless it detects that any of the reservation sensors 110 are incorrectly triggered.
[0034] In the automated tool training / board initialization process, the tools (only one tool 106 is shown in Figure 1 for simplification) are placed on the board 100 at intervals. The decoder 106 communicates with the sensors 104 to learn which sensors detect the presence of a tool (i.e., contact with a tool), and determines which sensors should be reserved for tool storage and which are unused / empty. Instead of placing the tools to learn, it is also possible to manually reserve sensors 104 for each tool 106. In this case, the coordinates of the reserved sensors 110 and empty sensors 112 are input via the remote terminal 108. At this point, it is optional whether the tool is on sensor 104 or not.
[0035] Regardless of the method used for training the tool / initializing the board 100, the decoder 106 programs the reserved sensors 110 so that one or more sensors are in an activated positive logic state, an activated negative logic state, and / or a null state. The algorithm used for such sensor designation may be the same as the one used for the automatic initialization of the board 100, or it may be a different algorithm.
[0036] For example, in the first algorithm implementation example, all reserved sensors 110 are in an activated positive logic state, and if any of these sensors 110 detect the absence of a tool when the tool is returned, the decoder 106 sends an error message. In the second algorithm implementation example, some of the reserved sensors 110 are in an activated positive logic state, and the remaining reserved sensors 110 are in an activated negative logic state. If any of the sensors 110 in an activated positive logic state detect the absence of a tool when the tool is returned, or if any of the sensors 110 in an activated negative logic state detect the presence of a tool when the tool is returned, the decoder 106 sends an error message. In the third algorithm implementation example, the first group of reserved sensors 110 are in an activated positive logic state, the second group of reserved sensors 110 are in an activated negative logic state, and the remaining reserved sensors 110 are in a null state. If any of the sensors 110 in an activated positive logic state detect the absence of a tool when the tool is returned, or if any of the sensors 110 in an activated negative logic state detect the presence of a tool when the tool is returned, the decoder 106 sends an error message. Decoder 106 does not receive a signal from sensor 110 when it is in a null state.
[0037] Next, the remote terminal 108 stores the position of each set of reservation sensors 110 and partitions and separates areas of the board 100 for tool storage. Details of the tools 116 stored in the reservation sensors 110 are entered into the remote terminal 108, for example, by indicating the type / part number of the tool stored in each set of reservation sensors 110. One method is to have the user input the type / part number of the tool placed at each position on the board 100. Another method is for the remote terminal 108 to automatically assign the type / part number of the tool by matching the activated sensors with the tool database. Other details include the weight of each tool 116, which is used to monitor the tools stored in the peripheral storage area. This will be discussed in more detail later in relation to Figures 6-8.
[0038] The data storage device 120 stores details of the tool 116 stored by the reservation sensor 110, the location of the reservation sensor 110, and the location of the empty sensor 112. The data storage device 120 can be integrated into the remote terminal 108 or deployed separately to be implemented as a cloud-type storage device.
[0039] During use (i.e., after tool training / board 100 initialization), decoder 106 evaluates whether the correct tool has been returned to its assigned storage space. This is achieved by decoder 106 determining whether the activated sensors in the sensors 110 reserved for tool storage have been correctly triggered, such as when none of the activated positive logic state sensors 110 are transmitting signals indicating the absence of the tool, and none of the activated negative logic state sensors 110 are transmitting signals indicating the presence of the tool. In other words, decoder 106 receives a correct signal (that the tool is detected) from the sensors 110 programmed to detect the presence of the tool upon tool return, and a correct signal (that the tool is not detected) from the sensors 110 programmed to detect the absence of the tool upon tool return. On the other hand, if a reserved sensor 110 is incorrectly triggered, decoder 106 sends an error message indicating that the wrong tool has been returned. This occurs when any of the activated positive logic state sensors 110 transmit a signal indicating the absence of the tool, or when any of the activated negative logic state sensors 100 transmit a signal indicating the presence of the tool, or both. The decoder 106 is programmed to ignore the signal received from the empty sensor 112.
[0040] As an example, Figure 1 shows that a total of 11 sensors are reserved during initialization to store tool 106, and all 11 sensors are specified to be in an activated positive logic state. The remote terminal 108 thus assumes that all 11 reserved sensors 110 will detect the presence of the tool when it is returned, as shown in Figure 3. However, when the tool is returned, a small tool 316 is returned that contacts only 7 of the 11 sensors (the sensors labeled "G"), rather than a tool that contacts all 11 sensors. The 7 sensors 320 detect the presence of the tool and therefore do not send an error signal. However, each of the other 4 sensors 322 (labeled "R") sends an error signal because the tool is not present. As a result, the reserved sensors 110 (see Figure 1) are incorrectly triggered. The remote terminal 108 sends an error signal and flags that a different tool 316 was returned.
[0041] Figure 4 shows board 100 configured to store tool 116 (see Figure 1) together with tools 418 and 420 (shown in Figure 5) during tool training / board initialization. The board 100's response to the return of the incorrect tool 316 was discussed with respect to Figure 3 and will not be described in further detail.
[0042] To store tool 418, more sensors than necessary may be reserved. In Figure 4, a 4x5 sensor array 422 (20 sensors in total) is reserved for storing tool 418 (which is located on sensors 2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, and 18). In this way, tool 418 is in contact with only 12 sensors in total.
[0043] In the first implementation, sensors 2, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, and 18 may be programmed into an activated positive logic state, while the remaining sensors 1, 5, 9, 15, 16, 17, 19, and 20 may be programmed into an activated negative logic state. If an incorrect tool (not shown) is returned that does not cause any of the activated positive logic state sensors (e.g., sensors 3 and 4) to detect the presence of a tool, the overall result will be that the reserved sensors are incorrectly triggered. In this case, the decoder 106 sends an error message indicating that an incorrect tool has been returned.
[0044] If the wrong tool is returned, causing all activated positive logic state sensors to detect the presence of the tool, but also causing one of the activated negative logic state sensors (e.g., sensors 19 and 20) to detect the presence of the tool, the overall result will be that the reserved sensors are incorrectly triggered. In this case as well, decoder 106 sends an error message indicating that the wrong tool has been returned.
[0045] In the second implementation, the learning algorithm may cause only the selected portion of the sensors on which tool Y is mounted, such as sensors 2, 4, 7, 11, 14, and 18, to be programmed into an activated positive logic state. The other sensors, 3, 6, 8, 10, 12, and 13, are programmed into a null state. The remaining sensors, 1, 5, 9, 15, 16, 17, 19, and 20, may be programmed into an activated negative logic state.
[0046] If any of the activated positive logic state sensors (for illustrative purposes only, sensors 4, 11, and 14, and not sensors 2, 7, and 18) detect the absence of a tool upon return, decoder 106 still sends an error message indicating that the wrong tool was returned because the reserved sensor was incorrectly triggered. Another example of a reserved sensor being incorrectly triggered is when all activated positive logic state sensors detect the presence of a tool, and any of the activated negative logic state sensors also detect the presence of a tool. In this case as well, decoder 106 sends an error message indicating that the wrong tool was returned. Null state sensors 3, 6, 8, 10, 12, and 13 do not transmit a signal regardless of the presence or absence of a tool.
[0047] The second implementation is advantageous because it prevents attempts to extract a combination of sensors that would cause board 100 to mistakenly believe that the correct tool has been returned.
[0048] A 2x4 sensor array 424 (8 sensors in total) can be reserved for the tool 420, which is not coplanar when on board 100 (see cross-sectional view in Figure 5). The tool 424 is in contact with sensors 25, 26, 31 and 32, but not with sensors 27-30.
[0049] During tool training / board 100 initialization, the learning algorithm can detect that the tool is not in contact with sensors 27-30 and program them to an activated negative logic state. The remaining sensors 25, 26, 31, and 32 can be programmed to be either an activated positive logic state or a null state.
[0050] If any of the activated negative logic state sensors 27-30 (e.g., sensors 27, 28) detect the presence of a tool when the tool is returned, the decoder 106 will send an error message indicating that the wrong tool (not shown) has been returned because the reserved sensor is incorrectly triggered. If all of the activated negative logic state sensors 27-30 detect the absence of a tool when the tool is returned, and any of the activated positive logic state sensors 25, 26, 31, and 32 detect the absence of a tool, the decoder 106 will send an error message indicating that the wrong tool has been returned because the reserved sensor is incorrectly triggered. The null state sensors among sensors 25, 26, 31, and 32 do not transmit a signal regardless of whether a tool is present or not.
[0051] The trained board 100 is reinitializable / resettable and provides a means to periodically rearrange the reserved sensors for each tool on the board 100, thereby preventing situations where the sensor array leads to a combination of sensors that would cause the system to mistakenly believe the correct tool has been returned when an incorrect tool is placed. During this reinitialization, the tools are held in their original positions.
[0052] For example, if sensors reserved for array 422 are used, and sensors 3, 6, 8, 10, 12, and 13 are currently in a null state, resetting board 100 could change one or more of them to a positive logic state. If sensors 2, 4, 7, 11, 14, and 18 are currently in a positive logic state, rearranging could change one or more of them to a null state. If sensors 1, 5, 9, 15, 16, 17, and 19 are currently in an activated negative logic state, resetting board 100 could change one or more of them to a null state. If sensors 1, 5, 9, 15, 16, 17, and 19 are currently in a null state, rearranging could change one or more of them to a negative logic state.
[0053] When board 100 is reconfigured, the area of board 100 reserved for reserved sensors may remain the same or be changed. If the reserved sensors (i.e., the number of sensors reserved for the tool) remain the same, the boundaries within which the reserved sensors are located remain the same before and after the rearrangement of the reserved sensors. If the reserved sensors (i.e., the number of sensors reserved for the tool) change, the boundaries within which the reserved sensors are located change before and after the rearrangement of the reserved sensors. In either case, the position of the boundaries on board 100 remains the same.
[0054] The tool storage system of the present invention also enables monitoring of tools stored in a peripheral storage unit, such as the auxiliary toolbox 626 shown in Figure 6. The auxiliary toolbox 626 may have rollers to facilitate movement. The auxiliary toolbox 626 communicates wirelessly 624 with a remote terminal via wireless tags, for example, via Bluetooth®, WiFi, or NFC technology.
[0055] The auxiliary toolbox 626 provides a means of storing some of the tools from the board 100 and is useful when the project only requires a selection of tools stored on the board 100. For example, if the project only requires 10 tools, these 10 tools can be taken from the board 100, placed in the auxiliary toolbox 626, and taken to work.
[0056] The remote terminal 108 tracks the tools removed from the sensor array by calculating the weight of each tool stored on the board (one of the tool details stored in the data storage device as described above) against the weight value of the weight sensor in the auxiliary toolbox 626, and by recording the auxiliary toolbox 626 where the removed tool is placed. These two aspects are explained in more detail in Figure 7 below.
[0057] Figure 7 shows a flowchart illustrating the process when a tool is removed from board 100 and placed in an auxiliary toolbox 626 assigned to a user. In step 702, the user logs in using their ID (e.g., employee tag or ID access card) to (e.g., remote terminal 108 or computer terminal on board 100). In step 704, when the auxiliary toolbox 626 is brought near board 100, its identifier (e.g., serial number) is captured, for example, by Bluetooth® or NFC. The user ID, auxiliary toolbox ID, and board ID are indexed together in database 718. This database may be the same as the one used in the data storage device 120 that stores tool details. However, by another method, the two may be separate databases.
[0058] Step 706 occurs when the user removes a tool from board 100. Board 100 notifies the remote terminal 108 of the currently empty sensors so that the remote terminal 108 can identify the removed tool / part number.
[0059] Step 708 occurs when the user places the tool they have taken out into the auxiliary toolbox 626. A weight sensor in the auxiliary toolbox 626 then measures the weight of the tool placed in the auxiliary toolbox 626.
[0060] In step 710, the weight value is compared to the recorded weight of the retrieved tool / part number identified in step 706. In one method, the weight value is notified to the remote terminal 108 for comparison.
[0061] If the comparison in step 710 matches (i.e., the weight value matches the recorded weight), step 712 occurs. A signal is sent in step 714 to update database 718, registering the retrieved tool as having been loaned to a user. This allows the remote terminal 108 to track the auxiliary toolbox 626 containing the retrieved tool / part number and the user who borrowed it. Thus, the flowchart ends in step 720.
[0062] On the other hand, if the comparison in step 710 is inconsistent (i.e., the weight value does not match the recorded weight, which may occur, for example, when the weight sensor on the auxiliary toolbox 626 is affected by external vibration), step 716 occurs. A notification indicating the inconsistency appears (such as an error message displayed on the remote terminal 108 or the computer terminal on board 100, or an error light illuminating on board 100). Step 716 occurs when the user returns the retrieved tool to its assigned location on board 100. Board 100 then returns to the state of step 706 and waits for detection of tool retrieval.
[0063] Figure 8 is a flowchart showing the process when a tool is returned from the auxiliary toolbox 626 to the board 100. In step 802, the user logs in using their ID (e.g., employee tag or ID access card) to (e.g., remote terminal 108 or computer terminal on board 100). In step 804, when the auxiliary toolbox 626 is brought near the board 100, its identifier (e.g., serial number) is captured, for example, by Bluetooth® or NFC. The auxiliary toolbox ID and board ID are sent to a tool monitoring database stored in a peripheral storage device. This database 822 may be the same as the one used in the data storage device 120 that stores tool details, although it may be a separate database by another method. Database 822 checks whether the user ID, auxiliary toolbox ID, and board ID received in step 802 match the indexed user ID, auxiliary toolbox ID, and board ID in the database (see 718 in Figure 7).
[0064] Step 806 occurs when a user returns tools from the auxiliary toolbox 626 onto the board 100 and their weights are calculated as follows. In steps 808 and 810, the board 100 communicates with the remote terminal 108 to identify the returned tool / part number from the sensor on which the tool was returned and to obtain its respective weight. Meanwhile, the weight sensor in the auxiliary toolbox 626 communicates the detected weight decrease of the tools placed inside the auxiliary toolbox 626. Each time a tool is returned, the weight decrease of the tools in the auxiliary toolbox 626 is compared in step 812 with the weight of the tool returned to the board 100.
[0065] If the comparison in step 812 results in a mismatch (i.e., the decrease in weight value does not match the weight recorded for the tool / part number assigned to the sensor to which the tool was returned), for example, if the user returned a tool that does not belong to board 100, then step 814 is executed. A notification indicating the mismatch appears (such as an error message displayed on the remote terminal 108 or the computer terminal of board 100, or an error light illuminating on board 100). This notification serves to warn the user to confirm whether the correct tool has been returned to board 100. Once the mismatched tool is removed, board 100 returns to the state in step 806 and enters a waiting state for tool return detection.
[0066] On the other hand, if the comparison in step 814 matches (i.e., the decrease in weight value matches the weight recorded for the tool / part number assigned to the sensor to which the tool was returned), step 816 is performed. In step 820, a signal is transmitted to update database 822 to indicate that the correct tool has been returned to board 100.
[0067] Once the user has returned all tools correctly, they can log out in step 818. The flowchart then ends in step 824.
[0068] In this way, a "parent / child" relationship is established between the board 100 and the auxiliary toolbox 626, making it possible to monitor the number of tools that are taken out of the "parent" board 100 and placed in the "child" auxiliary toolbox 626. The use of a weight sensor in the auxiliary toolbox 626 is advantageous for compactness, as the auxiliary toolbox 626 may not have enough space to house a sensor board. When a tool is returned from the auxiliary toolbox 626 to the board 100, the remote terminal 108 verifies that the correct tool has been returned by receiving a signal from the decoder 106, as explained above with respect to Figures 3 to 5. If a tool is missing or the wrong tool has been returned, the remote terminal 108 displays a warning message indicating that the tool is incorrect or missing.
[0069] Figure 9 shows a flowchart of the tool training / board initialization. Figure 9 is explained below in conjunction with Figures 1 and 2.
[0070] Board initialization begins in step 902 and proceeds to tool training in step 904. In the automated method, tools are placed spaced apart on board 100 having a sensor array 104. Decoder 106 communicates with sensors 104 to learn which sensors detect the tools on them, which sensors should be reserved for tool storage, and which sensors are unused / empty. In the manual method, the coordinates of reserved sensors 110 and empty sensors 112 are provided via remote terminal 108, where it is optional whether the tools are on sensors 104. Thus, in both the automated and manual methods, the sensors are activated in step 906.
[0071] When the sensor is activated, the status light on the tool cabinet 200 turns yellow, indicating in step 908 that the sensor is collecting data such as the shape and dimensions of the tool. This is so that in step 910, the learning logic program can build a database to determine the number of sensors required to store the tool. A trial and evaluation is performed in step 912, so that step 910 is repeated to confirm that the reserved sensors can accurately detect the presence of the tool. The iteration stops in step 914 when a database has been obtained that is sufficient to determine the sensor configuration that requires reservations for placing tools on board 100.
[0072] In step 916, the learning logic algorithm programs and stores the positions of the reserved sensor 110 (including which is in a positive logic state, a negative logic state, or a null state) and the empty sensor 112. The learning algorithm also provides details of the tools stored in the reserved sensor 110. The learning algorithm terminates in step 918.
[0073] Figure 10 shows a flowchart 1000 for removing and retrieving tools from the initialized board 100. Figure 10 is explained below in conjunction with Figures 1 and 2.
[0074] The learning logic program (see step 716 in Figure 7) detects whether the correct tool has been returned, and this is reflected by the status indicator light on the tool cabinet 200 changing to green or red. If the user returns the correct tool, the status light is green; otherwise, the status light is red.
[0075] The flowchart begins at step 1002. In step 1004, the user is prompted to log in, for example, using an RFID card on the tool cabinet 200. In step 1006, the remote terminal 108 or the tool cabinet 200 determines whether the user has registered. If the user is not recognized, access is denied, and the flowchart returns to step 1004.
[0076] Once the user is recognized, the user is granted access to board 100, and the flowchart proceeds to step 1010. The remote terminal 108 detects, via decoder 106, whether there is a tool on board 100.
[0077] If there is at least one tool on board 100, step 1008 is executed and a green light illuminates on the tool cabinet 200. In step 1014, board 100 detects whether any tools have been removed. If a tool has been removed, step 1016 is executed and the remote terminal 108 records the removed tool. If no tools have been removed, the termination step 1026 is executed.
[0078] Returning to step 1010, if there are no tools on board 100, step 1012 is executed and a red light appears on tool cabinet 200. In step 1018, board 100 detects whether any tools have been returned. If no tools have been returned, termination step 1026 is executed. If a tool has been returned, step 1020 is executed and the sensor on which the tool is placed sends a signal to the remote terminal 108 in step 1022 indicating whether the sensor has been triggered correctly. In step 1024, the remote terminal receives the signal. If the sensor detects that the correct tool has been returned, termination step 1026 is executed. If the sensor has not been triggered correctly, step 1012 is executed and the red light illuminates.
[0079] The possible operating procedures for the tool storage system of the present invention are as follows: a) The board 100 starts with the sensor array 104. b) Place multiple tools on board 100 simultaneously. c) The tool board 100 determines which of the sensor arrays has detected the presence of a tool. d) The learning algorithm determines the position of the sensors on which the tools are located. The learning algorithm reserves these sensors for tool storage and designates the remaining sensors as unused / empty. The sensor positions are saved and the tool / part numbers are entered. e) A foam pad cut to the shape of the learned configuration is placed on board 100. Decoder 106 ignores signals from the sensors on which the foam is placed, which were designated as unused / empty in step d). Sensors on the board corresponding to the cutout positions detect the removal and return of the tool. f) If the tool returned to the cutting position does not trigger the correct sensor reserved for tool storage, the board sends a signal that the wrong tool has been returned.
[0080] Figure 11 shows the components of the remote terminal 108 shown in Figure 1.
[0081] As shown in Figure 11, the exemplary remote terminal 108 includes a processor 1104 that executes software routines. Although only one processor is shown for simplicity, the remote terminal 108 can include multiple processor systems. The processor 1104 is connected to a communication infrastructure 1106 to communicate with other components of the remote terminal 108. The communication infrastructure 1106 can include, for example, a communication bus or a network.
[0082] The remote terminal 108 further includes main memory 1108, such as random access memory (RAM), and secondary memory 1110. The secondary memory 1110 may include, for example, a hard disk drive 1112, a removable storage device 1114 (which may be a USB flash drive, a flash memory device, a solid-state device, or a memory card). As will be apparent to those skilled in the art, the hard disk drive 1112 and the removable storage device 1114 can store instructions and / or data of computer executable program code.
[0083] The remote terminal 108 also includes at least one communication interface 1124. The communication interface 1124 enables software and data to be transferred between the remote terminal 108 and an external device via a communication path 1126. In various embodiments of the present invention, the communication interface 1124 enables data transfer between the remote terminal 108 and a data communication network, such as a public data communication network or a private data communication network. The communication interface 1124 can be used for data exchange with other remote terminals (not shown), so that the remote terminals constitute part of an interconnected computer network. Examples of the communication interface 1124 may include a modem, a network interface (such as an Ethernet® card), a communication port (such as serial, parallel, printer, GPIB, IEEE10394, RJ45, USB), an antenna with associated circuitry, and the like. The communication interface 1124 may be wired or wireless. The software and data transferred via the communication interface 1124 are in the form of signals, which may be electronic signals, electromagnetic signals, optical signals, or other signals receivable by the communication interface 1124. These signals are provided to the communication interface via the communication path 1126.
[0084] As shown in Figure 11, the remote terminal 108 further includes a display interface 1102, which performs the operation of displaying an image on the associated display 1130.
[0085] Computer programs (also called computer program code) can be stored in main memory 1108 and / or secondary memory 1110. Computer programs can also be received via communication interface 1124.
[0086] The software can be stored in a computer program product and loaded onto the remote terminal 108 using a removable storage device 1114 or a hard disk drive 1112. Alternatively, the computer program product can be downloaded to the remote terminal 108 via a communication path 1126. When executed by the processor 1104, the software causes the remote terminal 108 to learn the positions of reserved and empty sensors during the initialization of a board having a sensor array, receive inputs providing details of the tools stored in the reserved sensors, detect tool removal from and return to the reserved sensors from signals when the board is in use, and determine whether to send a message indicating that a different tool has been returned if at least one of the reserved sensors is incorrectly triggered when a tool is returned.
[0087] Figure 13 shows examples of sensors available for use on board 100. These include an inductance sensor 1302, an optical sensor 1304 (operating in the infrared, ultraviolet, and visible light spectra), a high-frequency sensor 1306, and a capacitive sensor 1308. These sensors 1302, 1304, 1306, and 1308 are configured to realize positive and negative logic states depending on how their respective monitoring parameters respond to the presence or absence of a tool.
[0088] The inductance sensor 1302 detects the presence of a tool by monitoring changes in magnetic flux. In a negative logic state, the decoder 106 is set not to expect a change in the magnetic flux value of the inductance sensor 1302 when a tool is borrowed or returned. A change in magnetic flux indicates the presence of a tool, which leads to a false trigger. On the other hand, in a positive logic state, the decoder 106 is set to expect a change in the magnetic flux value of the inductance sensor 1302 when the tool is returned, if the tool has been taken out when the tool was borrowed. If the magnetic flux does not change when the tool is returned, the presence of the tool is expected, resulting in a false trigger.
[0089] The light sensor 1304 may have, for example, a pair of UV LED transmitters 1310 and receivers 1312. The presence of a tool can be detected by the tool blocking the light from transmitter 1310 to receiver 1312. In a negative logic state, decoder 106 is configured to cause the light sensor 1304 to assume that receiver 1312 is continuously receiving light. Detecting the blocking of light indicates the presence of a tool, which leads to a false trigger. On the other hand, in a positive logic state, decoder 106 is configured to cause the light sensor 1304 to transmit a blocking of light when the tool is returned, assuming the tool has been taken out when borrowed. If there is no change in the value of light sensor 1304 when the tool is returned, the presence of the tool is assumed, which leads to a false trigger.
[0090] The high-frequency sensor 1306 uses the transmission of the high frequency 1316 as a power source to energize a receiving tag on a nearby tool (not shown), causing it to resonate, which is then detected by the high-frequency sensor 1306. In a negative logic state, the decoder 106 is set not to expect a return resonant frequency signal from the high-frequency sensor 1306 when the tool is borrowed or returned. Detecting the return resonant frequency signal would indicate the presence of the tool, resulting in a false trigger. On the other hand, in a positive logic state, if the tool is assumed to have been removed when it is borrowed, the decoder 106 is set to expect a return resonant frequency signal from the high-frequency sensor 1306 when the tool is returned. If there is no change in the value of the high-frequency sensor 1306 when the tool is returned, the presence of the tool is assumed, resulting in a false trigger.
[0091] The capacitance sensor 1308 detects a change in capacitance when the tool 1318 is placed on it. In a negative logic state, the decoder 106 is set not to expect a change in the magnetic flux value of the capacitance sensor 1308 when the tool is borrowed and returned. A change in capacitance value indicates the presence of the tool, which leads to a false trigger. On the other hand, in a positive logic state, if the tool 1318 is removed when the tool is borrowed, the decoder 106 is set to expect a change in capacitance value from the capacitance sensor 1308 when the tool is returned. If the capacitance value does not change when the tool is returned, the presence of the tool is expected, resulting in a false trigger.
[0092] In summary, the decoder 106, the board 100 having the sensor array 104, and the remote terminal 108 provide the following functions and capabilities. i) Initialization of the tool training / board 100 by placing tools for storage on the sensor board which serves as the base of the tool tray: The sensor board determines which of its sensors are reserved for tool storage (by detecting tools there) and which are unused / empty (for not detecting tools there). The purpose of sensor reservations is to assign a location on the board for tool storage, so that these sensors are monitored when tools are returned. The remaining sensors are then treated as unused / empty and are not monitored when tools are returned. A form layer 1202 (see Figure 12) is then placed on the sensor array 1204, and cutouts allow access to the sensors reserved for tool storage. This helps monitor tool returns as the cutouts intuitively indicate the locations assigned for tool returns. In simple operation mode, all reserved sensors are in an activated positive logic state, and if any of the reserved sensors detect the absence of a tool when a tool is returned, the tool is evaluated as not being returned correctly. In pre-operation mode, a combination of activated positive logic state, activated negative logic state, and null state sensors is used to evaluate whether the tool was returned correctly. When a tool is returned, if at least one activated positive logic state sensor detects the absence of the tool, or if at least one activated negative logic state sensor detects the presence of the tool, it is evaluated that the wrong tool has been returned. The pre-operation mode increases the difficulty of deriving the correct sensor combination to mislead the sensor board into believing that the correct tool has been returned. In one implementation, assuming that the determined combination does not send an error message for a correctly returned tool, the learning algorithm can randomly determine which reserved sensors are designated as activated positive logic state, activated negative logic state, or null state. After board 100 is trained, it can be reinitialized by executing a reset command to relearn the positions of tools already on board 100. The learning algorithm is thus configured to periodically change the sensor combination using the reset command, making attempts to mislead the sensor board more difficult.In alternative implementations, the combinations can be manually selected. For example, after the position of the reserved sensors is determined during the tool training / board 100 initialization, one or more sensors that were designated as positive logic states and activated during the tool training / board 100 initialization can be changed to a null state using a remote terminal. ii) Learning tool placement and labeling of tool type / part number: The position of each set of reserved sensors is saved and partitioned into an area of the sensor board reserved for the tools. Each set of reserved sensors is labeled to indicate the tool type / stored part number. That is, the user inputs the tool type / part number placed at each position on the sensor board. This builds a record of the tools / part numbers stored in the tool tray and their assigned positions. The tools are then secured by a foam board placed on top of the sensor board. The foam board has cutouts for each tool that correspond to the outline of that tool (see Figure 7). iii) User registration to identify users who have accessed the tool tray and the tools they have taken out: iv) Detection of tool removal and updating of tool borrowing records (to facilitate tracking of users and the tools they have borrowed): v) Verification of correct tool return and placement: If a returned tool does not trigger the correct sensor, it is determined that the wrong tool was returned. Tools that are too large cannot be returned because they will not fit into the cutouts in the form. vi) Loading additional tools: New tool / part numbers can be stored in any part of the sensor board with sufficient space. The dimensions of the new tool / part number and the planned storage location on the sensor board can be sent to a remote terminal to reserve the required number of unused / empty sensors in that location. The new tool / part number is entered, and the record of tools / part numbers stored in the tool tray is updated. The existing form board needs to be modified by removing the form portion for inserting the new tool / part number. If the placed tool does not match the number of reserved sensors during the additional tool loading process, an error message will be issued. vii) Relocation of existing tool placements: Existing tool locations can be rearranged. Reserved sensors in existing locations are released (i.e., reservations are canceled). Meanwhile, the necessary number of unused / empty sensors are reserved in the new locations for the tools being moved to store the tools being moved. Existing foam boards may need to be replaced with new foam boards. The tool / part number records stored in the tool trays are updated. viii) Parent / child relationship between the sensor board and an auxiliary toolbox used for storing some of the tools: Tool movement is tracked by comparing the weight of the tools in the auxiliary toolbox with the weight record of the tools taken out from the sensor board.
[0093] In this application, unless otherwise specified, the terms “comprising,” “comprise,” and their grammatical variations are intended to be “open” or “inclusive” expressions that allow for the inclusion of additional, not explicitly stated, elements as well as those described.
[0094] Although the present invention has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various modifications can be made without departing the scope of the invention, and that its elements can be substituted with equivalents. Furthermore, it is possible to modify the teachings of the invention to suit circumstances and materials without departing the essential scope of the invention. Accordingly, the present invention is not limited to the embodiments disclosed herein, but encompasses all embodiments included in the appended claims.
Claims
1. A tool storage system, A board having a sensor array that can be configured such that each one is reserved for tool storage or is empty, A decoder that monitors the usage status of the aforementioned sensor array, A remote terminal for processing the received signal by the decoder, During the initialization of the board, the positions of the reserved sensor and the empty sensor are learned from the received signal. The reserved sensor receives an input that provides details of the tool stored therein. From the signal when the board is in use, the removal of the tool from the reservation sensor and the return of the tool to the reservation sensor are detected. A remote terminal configured to determine whether or not to send a message indicating that a different tool has been returned when the decoder relays that at least one of the reservation sensors has been incorrectly triggered when the tool is returned, A data storage device for storing details of the tool stored by the reservation sensor, the position of the reservation sensor, and the position of the empty sensor. A tool storage system equipped with the following features.
2. The tool storage system according to claim 1, wherein if the reservation sensor returns a state contrary to the initial setting when a tool is returned, the reservation sensor triggers an incorrectly.
3. The tool storage system according to claim 1, wherein the reservation sensor comprises a sensor in a positive logic state configured to assume the presence of a tool when the tool is returned, and a sensor in a negative logic state configured to assume the absence of a tool when the tool is returned, and the false trigger occurs when the sensor in the positive logic state detects the absence of a tool when the tool is returned, or when the sensor in the negative logic state detects the presence of a tool when the tool is returned.
4. The tool storage system according to claim 3, wherein the sensor in the positive logic state is further configured to transmit an error signal when it detects the absence of a tool at the time of tool return, and the sensor in the negative logic state is further configured to transmit an error signal when it detects the presence of a tool at the time of tool return.
5. The tool storage system according to claim 3, further comprising a null-state sensor configured to be silent among the reservation sensors.
6. The tool storage system according to claim 5, wherein the remote terminal learns the positions of the reserved sensor and the empty sensor by arranging the tool in the sensor array.
7. The tool storage system according to claim 6, wherein the designation of the reservation sensor to the positive logic state, the negative logic state, or the null state is determined randomly.
8. The tool storage system according to claim 5, wherein the remote terminal is further configured to rearrange the reserved sensors for the tool on the board in response to a reset command.
9. The tool storage system according to any one of claims 1 to 5, wherein the remote terminal learns the positions of the reserved sensor and the empty sensor via coordinate input.
10. The tool storage system according to claim 1, wherein a message indicating that a different tool has been returned is sent if one or more of the following occur: the number of incorrectly triggered reservation sensors exceeds a threshold, or the incorrectly triggered reservation sensor is in a specific position.
11. The remote terminal, It communicates with a weight sensor to obtain weight values, The acquired value is compared with the weight record of the tool taken from or returned to the sensor array to determine if it matches. The tool storage system according to claim 1, further configured as follows.
12. The tool storage system according to claim 11, wherein the weight sensor is provided in an auxiliary toolbox, and the weight value is that of the tool stored in the auxiliary toolbox.
13. The tool storage system according to claim 12, wherein the remote terminal is further configured to acquire the identifier of a wireless tag attached to the auxiliary toolbox when the auxiliary toolbox is brought near the board.
14. The tool storage system according to claim 13, wherein the remote terminal is further configured to record the identifier of the auxiliary toolbox along with the identification information of the board or one or more users to whom the auxiliary toolbox is assigned.
15. The tool storage system according to any one of claims 12 to 14, wherein the remote terminal is further configured to send an error notification when it detects a discrepancy between the weight record of a tool taken out of or returned to the sensor array and the weight value from the weight sensor.