The present disclosure relates to an information processing system and an information processing apparatus.
Radio frequency identification (RFID) is a technology that allows information embedded in a small device which is also referred to as a tag to be read by an external reader through short-range wireless communication. Among others, a passive type RFID tag, which transmits information utilizing energy of electromagnetic wave emitted from a reader, does not require a battery and thus is low-cost in manufacturing, and can operate semi-permanently. Hence, it has become widely-used in various scenes. For example, RFID tags in which unique identification information is embedded are installed at multiple points in a real space and position data of those points is pre-registered in a database so that it is possible to easily measure a position of a reader based on a result of reading identification information from the RFID tags.
Patent Literature 1 discloses a technology which measures a geographical position by a GPS function of a tag reader when a user installed a tag and issues an alert to the user depending on an error of the installation position of the tag with respect to the position registered in advance in order for the tag to be correctly installed at an intended point in a real space.
PTL 1: Japanese Patent Laid-Open No. 2008-40837
However, the technology disclosed by Patent Literature 1 would not work effectively in a situation in which a tag is installed in a place where electric waves for GPS are not reachable or the electric waves become unstable such as inside of a building or underground. In addition, there has been a difficulty that the necessity to implement a GPS function in a tag reader increases cost and size of apparatuses.
In light of the foregoing, the present invention aims at realizing a mechanism that can detect a misalignment between a position indicated by registration information in a system and an actual arrangement of a device in a real space.
According to an aspect, there is provided an information processing system including: a plurality of wireless devices arranged in a real space; a reading apparatus that includes a reading unit configured to read identification information stored in each wireless device and a measuring unit configured to measure a relative amount of movement in the real space; and a management unit configured to manage a database in which a position in the real space at which each wireless device should be arranged is registered in association with identification information of the wireless device, wherein the reading apparatus is configured to provide the management unit with the identification information read by the reading unit and movement amount information indicating the amount of movement measured by the measuring unit at the time of the reading, and the management unit is configured to determine, for two or more wireless devices arranged in the real space, whether a first positional relationship among the two or more wireless devices estimated based on the identification information and the movement amount information matches a second positional relationship among corresponding registered positions stored in the database. A corresponding information processing apparatus is also provided.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain principles of the present disclosure.
Hereinafter, embodiments will be described in detail with reference to the attached drawings. Note, the following embodiments are not intended to limit the scope of the claimed invention. Multiple features are described in the embodiments, but limitation is not made to an invention that requires all such features, and multiple such features may be combined as appropriate. Furthermore, in the attached drawings, the same reference numerals are given to the same or similar configurations, and redundant description thereof is omitted.
In
The floors 10 are parts of a building that may exist in a real space and an example of a place for which the technology according to the present disclosure can be utilized. As electric waves from GPS satellites do not easily reach inside of a building or underground, it is difficult to make use of GPS-based technologies in such places. In contrast, the technology according to the present disclosure is suitable for use in places that the electric waves are not easily reachable since it does not rely on the electric waves from satellites. However, the technology according to the present disclosure may be utilized in any place in a real space including outdoors, and can bring advantages such as cost reduction or miniaturization as it does not require implementation of a GPS function even if it is utilized outside. In addition, there may also be provided a system or an apparatus which combines the technology according to the present disclosure complementarily with a GPS-based technology.
There exists an item 30 on the floor 10a. An item tag 40 is attached to the item 30. The item tag 40 has specific tag identification information 41 embedded in the tag. Though only one item 30 that exists on the floor 10a is illustrated in
In the present embodiment, each of the tags such as the position tags 20 and the item tags 40 is a kind of a wireless device and is assumed to be, in particular, a passive-type RFID tag (a passive tag). A passive tag is composed of: a small integrated circuit (IC) chip with an embedded memory; and an antenna, and has identification information for identifying the tag and some other information stored in the memory. In this specification, identification information is simply referred to as an ID, and identification information for identifying a tag is referred to as a tag ID. It should be noted that the tag ID may be considered as information for identifying an object to which the tag is attached. The IC chip of a passive tag operates by utilizing energy of an electromagnetic wave emitted from a tag reader, and modulates the information stored in the memory into an information signal to transmit (send back) the information signal from the antenna.
It should be noted that, in another embodiment, each tag may be an active-type RFID tag. If each tag actively (for example, periodically) transmits information to its vicinity by utilizing power from a built-in battery, such a tag may be called a beacon tag. In a further embodiment, each tag may be a wireless device which sends back information in response to a signal from a reader in accordance with Near Field Communication (NFC) protocol or Bluetooth (registered trademark) protocol, for example. Each tag may have any name such as an IC tag, an IC card, or a responder.
The item management system 1 includes, in addition to the above-described position tags 20 and the item tags 40, a tag reader 100, a management server 200, and a user terminal 300. The tag reader 100, the management server 200, and the user terminal 300 are connected to a network 5. The network 5 may be a wired network, a wireless network, or any combination thereof. Examples of the network 5 may include the Internet, an intranet, and a cloud network.
The tag reader 100 is a reading apparatus that reads information from the RFID tags. The tar reader 100 is typically carried by a user and moves within a floor 10. The tag reader 100 performs reading periodically or in response to a certain trigger such as a user operation, and transmits a tag reading result to the management server 200. In addition, in the present embodiment, the tag reader 100 is capable of measuring a relative amount of movement in a real space. The tag reader 100 may be capable of communicating with the management server 200 directly or indirectly via a certain relay apparatus (for example, the user terminal 300). An example of a particular configuration of the tag reader 100 will be further described below.
The management server 200 is an information processing apparatus that uses a database to manage position information indicating positions of the position tags 20 and the item tags 40 in the real space. The management server 200 may be implemented as an application server, a database server, or a cloud server by using a high-end general-purpose computer, for example. In the present embodiment, positions within a floor 10 at which the position tags 20 are arranged are designated by a user in advance and registered in the database. Positions of the item tags 40 are determined based on data received from the tag reader 100 and stored in the database. The management server 200 may have an information provision function to provide a user with position information that indicates latest positions of tags or items under its management. An example of a particular configuration of the management server 200 will be further described below.
In the example in
The user terminal 300 is a terminal apparatus that is utilized by a user of the information processing system 1. The user terminal 300 may be a general-purpose terminal such as a tablet personal computer (PC), a laptop PC, or a smartphone, or a dedicated terminal specialized for position information management. The user terminal 300 typically comprises an input device that receives user inputs, a communication interface that communicates with other apparatuses (for example, the management server 200), and a display device that displays information. As an example, the user terminal 300 is utilized by a user when registering a position in the real space at which a position tag 20 should be arranged in the database, and when verifying a position of the position tag 20 that has been actually arranged. Examples of user interactions that may be performed via the user terminal 300 in these situations will further be described below.
It should be noted that, though
The control unit 101 consists of a memory to store computer programs, and one or more processors (for example, central processing units (CPUs)) to execute the computer programs. The control unit 101 controls overall functionality of the tag reader 100 described in this specification. For example, the control unit 101 causes the reading unit 106 to perform reading from an RFID tag within a tag reading range, and causes the storage unit 102 to store the read information and the time of the reading as reading result data. In parallel to the reading from RFID tags, the control unit 101 also causes the measuring unit 104 to measure an amount of movement of the tag reader 100, and the storage unit 102 to store, as measurement result data, movement amount information indicating the measurement result and a measurement time. Then, the control unit 101 transmits, to the management server 200 via the communication unit 103, the reading result data and the measurement result data stored in the storage unit 102 together with the reader identification information of the tag reader 100.
The storage unit 102 may include any kind of storage medium such as a semiconductor memory (a read only memory (ROM), a random access memory (RAM), or the like), an optical disk, or a magnetic disk, for example. In the present embodiment, the storage unit 102 stores the above-described reading result data, measurement result data, and the reader identification information of the tag reader 100.
The communication unit 103 is a communication interface for the tag reader 100 to communicate with the management server 200. For example, the communication unit 103 may be a wireless local area network (WLAN) interface that communicates with a WLAN access point, or a cellular communication interface that communicates with a cellular base station. Alternatively, the communication unit 103 may be a connection interface (e.g. a Bluetooth (registered trademark) interface or a universal serial bus (USB) interface) for connection with a relay apparatus (for example, the user terminal 300).
In the present embodiment, the measuring unit 104 can measure an amount of relative movement of the tag reader 100 to output the measured amount of movement to the control unit 101. For example, the measuring unit 104 includes a three-axis acceleration sensor 104a, a gyro sensor 104b, and a geomagnetic sensor 104c. The three-axis acceleration sensor 104a measures acceleration applied to the tag reader 100 in the device coordinate system that is specific to the tag reader 100, and outputs first sensor data. The gyro sensor 104b measures an angular speed of the tag reader 100, that is, a change in attitude of the tag reader, to output second sensor data. The geomagnetic sensor 104c measures an orientation of the tag reader 100 in the real space to output third sensor data. The measuring unit 104 can measure the amount of relative movement of the tag reader 100 based on these pieces of sensor data by converting the direction of the acceleration of the tag reader 100 into a direction in a coordinate system of the real space to integrate the converted acceleration. The measurement of an amount of movement here may be performed in accordance with any publicly-known self-localization technique. The amount of relative movement output from the measuring unit 104 to the control unit 101 may be a two-dimensional vector in a surface of a floor 10, or a three-dimensional vector that includes a component of height direction as well. The reference position of measurement of the amount of relative movement may be, for example, the position of the tag reader 100 at the time when the tag reader 100 is activated.
It should be noted that, though
The power supply 105 includes a battery and a DC-DC converter, and supplies power for operating electronic circuits of the control unit 101, the storage unit 102, the communication unit 103, the measuring unit 104 and the reading unit 106 of the tag reader 100. The battery may include a primary cell, or a rechargeable secondary cell. Although not illustrated in the figure, the tag reader 100 may have a connection terminal to connect the tag reader 100 to an external power source for recharging the power supply 105.
The reading unit 106 is a reading module that is capable of reading, from each of the position tags 20 and the item tags 40, identification information stored in the tag. With reference to
In the present embodiment, the reading unit 106 can attempt tag reading periodically (for example, once per second) without requiring any explicit command from a user. Data transmission from the communication unit 103 to the management server 200 can also be performed periodically (for example, every few seconds) or whenever the tag reading is done or the measurement of relative movement is done without requiring any explicit command from a user. The control unit 101 may exclude, from the data to be transmitted, the same record as the most recent record that has already been transmitted in a predetermined time period to omit redundant data transmission and reduce a communication load. It should be noted that, in another embodiment, one or both of an attempt of tag reading by the reading unit 106 and data transmission to the management server 200 may be performed in response to a user input via a certain user interface arranged in the tag reader 100. In a case where the communication unit 103 performs communication with the management server 200 indirectly via a relay apparatus, the data transmission to the management server 200 may be performed only while there is an effective connection between the communication unit 103 and the relay apparatus.
The communication unit 210 is a communication interface for the management server 200 to communicate with other apparatuses. The communication unit 210 may be a wired communication interface or a wireless communication interface. In the present embodiment, the communication unit 210 communicates with the tag reader 100 and the user terminal 300 within the information processing system 1. The position information DB 220 consists of tables for managing data indicating positions of RFID tags under management of the system. In the present embodiment, the position information DB 220 includes a floor table 310, a map table 320, a position table 330, an item table 340, a movement amount table 360, and a tag detection table 370. The position management unit 230 is a set of software modules that provide management functions for managing data within the position information DB 220. The individual software modules can run by one or more processors (not shown) of the management server 200 executing computer programs stored in a memory (not shown). The memory herein may include a non-transitory computer-readable storage medium. In the present embodiment, the position management unit 230 includes a registration unit 231, a tag detection unit 232, a verification unit 233, and an information provision unit 234.
The floor table 310 has two data elements of Floor ID 311 and Name 312. Floor ID 311 is identification information that uniquely identifies each of the floors which are places where two or more position tags 20 may be arranged in the present embodiment. Name 312 represents a name of each floor. In the example of
The map table 320 has three data elements of Floor ID 321, Map Image 322, and Scale 323. Floor ID 321 indicates a floor 10 to be associated with a map image in the map table 320 using a value of Floor ID 311 of the floor table 310. Map Image 322 is a data element that stores map information indicating a map of a floor 10 identified by Floor ID 321. The map information here may typically be image information. Scale 323 indicates a ratio for converting a distance on a map of Map Image 322 into a distance in a real space (e.g., how many meters in a real space one pixel in an image corresponds to). It should be noted that map information stored in Map Image 322 may be updated by being obtained from an external data source, or by being uploaded by a user, at a necessary timing.
The position table 330 has five data elements of Tag ID 331, Floor ID 332, Tag Position 333, Name 334, and Status 335. Tag ID 331 is identification information that uniquely identifies each of position tags 20. A value of Tag ID 331 is the same as a value of a tag ID that has been stored inside a corresponding position tag 20. Floor ID 332 indicates a floor 10 on which each position tag 20 is arranged using a value of Floor ID 311 of the floor table 310. In the example of
The item table 340 has three data elements of Tag ID 341, Item ID 342, and Name 343. Tag ID 341 is identification information that uniquely identifies an item tag 40 attached to each of items under management of the system. A value of Tag ID 341 is the same as a value of a tag ID that has been stored inside a corresponding item tag 40. Item ID 342 is identification information that uniquely identifies each item. Name 343 indicates a name of each item. In the example of
A movement amount table 360 illustrated in
A tag detection table 370 illustrated in
The registration unit 231 of the position management unit 230 receives, from a user of the information processing system 1, an issuance request that requests for the issuance of position tags 20. The issuance request received here can include, for example, a list of names of position tags 20 that are desired by the user to be arranged on a floor-by-floor basis. The issuance request may further include one or more of the floor ID, name, map information, and scale of each target floor. Based on the received issuance request, the registration unit 231 sets information of the target floor(s) in the floor table 310 and the map table 320. Furthermore, the registration unit 231 registers the designated number of tag IDs (of unused position tags 20), together with the designated names, in the position table 330 in association with a corresponding floor ID. The registration unit 231 may, for example, cause a display of the user terminal 300 to display an issuance request reception screen, and receive an issuance request on the issuance request reception screen. Alternatively, an operator of the information processing system 1 may receive information necessary for an issuance request from the user via, for example, an electronic mail, and input the received information on a screen of a terminal used by him/herself.
After registering, in the position table 330, the tag IDs and names in association with a corresponding floor ID, the registration unit 231 causes the display of the user terminal 300 to display a position registration screen 60, which is exemplarily illustrated in
The operator transfers (e.g., mails), to the user, a set of position tags 20 (physical devices) that respectively store the tag IDs registered in the position table 330. These position tags 20 have, for example, labels describing the registered names appended thereto, and are packaged and transferred for each of the floors that serve as arrangement locations. The user goes to a target floor in a real space while carrying the transferred position tags 20, and arranges the position tags 20 at their respective positions while viewing, for example, a screen of the user terminal 300 (a screen that displays registered device positions on a map via the above-described position registration screen 60).
The above-described operations result in realization of a state where a plurality of position tags 20 are arranged on each floor 10, and the position table 330 of the position information DB 220 indicates the positions of these position tags 20. However, there is sometimes a case where an operational error made by a user, or a change in a circumstance since the time of initial registration, causes a mismatch between device positions stored in the position table 330 and actual positions of position tags 20 arranged in a real space. Such a mismatch interferes with other system operations performed based on position information in the database (e.g., determination of the position of a target, such as the item 30). In view of this, in the present embodiment, the verification unit 233 of the position management unit 230 verifies whether the position of a position tag 20 detected by the tag detection unit 232 matches a device position indicated by the position table 330, as will be described below in detail.
The tag detection unit 232 adds, to the movement amount table 360, one or more records of measurement result data received from the tag reader 100 via the communication unit 210. As described above, measurement result data includes movement amount information that indicates an amount of relative movement of the tag reader 100 that has been measured by the measuring unit 104 of the tag reader 100. Furthermore, the tag detection unit 232 adds, to the tag detection table 370, one or more records of reading result data received from the tag reader 100. As described above, reading result data includes a tag ID of an RFID tag that has been read by the reading unit 106 of the tag reader 100. The RFID tag here is either a position tag 20 or an item tag 40. With respect to each reading result record added to the tag detection table 370, the tag detection unit 232 extracts a measurement result record which includes the time of measurement closest to the time of reading indicated by the record (and which has been received from the same tag reader 100) from the movement amount table 360. Then, the tag detection unit 232 additionally writes a value of the amount of movement indicated by the extracted measurement result record to the field of Amount of Movement 374 in the corresponding reading result record. As a result, it becomes possible to estimate the positions of the respective position tags 20 and item tags 40 detected by the tag reader 100 in a real space (relative positions thereof in relation to a reference position of measurement of amounts of movement) from the values of Amount of Movement 374 of the tag detection table 370. An error of this estimation is approximately equal to the reading range of the tag reader 100 at most.
The verification unit 233 verifies the arrangements of position tags 20 in a real space conducted by the user. More specifically, the verification unit 233 determines whether a first positional relationship between tags that is estimated for two or more position tags 20 arranged in a real space matches a second positional relationship between corresponding device positions stored in the position table 330 of the position information DB 220. That is to say, the verification unit 233 also functions as a determination unit that makes a determination about consistency between the first and second positional relationships. The first positional relationship here denotes a relative relationship between estimated positions indicated by Amount of Movement 374 of the tag detection table 370 described above. The second positional relationship denotes a relative relationship between registered device positions (hereinafter also referred to as registered positions) indicated by Tag Position 333 of the position table 330. In the present embodiment, the position table 330 stores the device position of each position tag 20 in association with one of the plurality of floors 10 in a real space. Therefore, the verification unit 233 can verify the arrangements by comparing the first and second positional relationships with respect to two or more position tags 20 associated with the same floor. By thus limiting the target of verification to the positional relationships between position tags 20 arranged on the same floor, complication of verification algorithms can be avoided, and furthermore, position tags 20 that require correction can be narrowed down with ease.
The verification unit 233 can, for example, determine that the first positional relationship matches the second positional relationship in a case where a misalignment of the estimated position in the first positional relationship with respect to the corresponding device position in the second positional relationship falls below a tolerance for any position tag 20 subject to the verification. The tolerance here may be a magnitude enough to absorb an error in tag reading-based position estimation (e.g., several meters).
In the example of
Although
The verification unit 233 may change the value of the tolerance d1 depending on the progress status of verification. For example, the verification unit 233 may set the tolerance d1 at a certain value in a case where none of arrangements for all position tags 20 has been verified, and increase the value of the tolerance dl with an increase in the number of verified position tags 20. This makes it possible to actively notify the user of a possibility of an error and prompt him/her to make a correction at the time of initial adoption of a system which is likely to include an erroneous arrangement or registration, and offer flexibility in tag arrangements by tolerating a certain extent of positional misalignment after time has elapsed since the adoption.
In a case where the verification unit 233 has determined that the first positional relationship matches the second positional relationship, it changes the value of Status 335 in the position table 330 to “Verified” for position tags 20 that have been subject to the verification. Also, the verification unit 233 notifies the user of successful verification of arrangements on the screen of the user terminal 300. For example, based on the map information of the map table 320, the verification unit 233 may cause the screen of the user terminal 300 to display a map of the floor 10 such that the positions of the position tags 20 that have been successfully verified are mapped thereon.
On the other hand, in a case where the verification unit 233 has determined that the first positional relationship does not match the second positional relationship, it presents the result of this determination to the user on the screen of the user terminal 300. In this case as well, based on the map information of the map table 320, the verification unit 233 causes the screen to display a map of the floor 10 such that the positions (reading positions or registered positions) of the position tags 20 that have been subject to the verification are mapped thereon. In a case where it can be determined with a high probability that registrations or arrangements for specific position tags 20 are erroneous, the verification unit 233 may perform a notification in a mode in which these specific position tags 20 are distinguishable (e.g., by using a different color for tag icons, by causing tag icons to flash, or the like). As an example, in a case where the verification statuses of one or more position tags 20 are already “Verified”, there is a high possibility that the registration or arrangement of a position tag 20 is erroneous if the reading position thereof is outside the tolerance range when the registered positions of the verified position tags 20 have been brought to coincide with the reading positions. As another example, for each i that falls in a range of 1≤i≤k, the verification unit 233 may count the number Ni of position tags 20 whose reading positions are outside the tolerance range when the registered position of the ith position tag 20 to be verified has been brought to coincide with the reading position. In this case, the verification unit 233 may determine that there is a high possibility that the registration or arrangement of a position tag 20 is erroneous if the reading position thereof is outside the tolerance range in the case of i with which Ni becomes the smallest. By mapping the result of the determination to a map and presenting the map on the screen, the user can visually and intuitively understand for which position tag 20 the user should take a corrective action.
Together with the presentation of the result of the determination indicating that the first positional relationship does not match the second positional relationship to the user, the verification unit 233 may prompt the user to take one or more of the following actions A1 to A3 on the screen:
In a case where the user has taken the action A1, the user can use the tag reader 100 to re-read the tag ID of the position tag 20 whose arrangement has been corrected, re-transmit reading result data to the management server 200, and request the management server 200 to re-verify the arrangement. On the other hand, the actions A2 and A3 can be taken on the screen of the user terminal 300.
In a case where the action A2 has been taken, that is to say, in a case where an appropriately-arranged position tag 20 has been designated after the result of the determination indicating that the two positional relationships do not match being presented, the verification unit 233 changes the value of Status 335 corresponding to the designated position tag 20 to “Verified”. Then, the verification unit 233 further determines which position tag 20 has been erroneously arranged, other than the designated position tag 20, based on the comparison between above-described first and second positional relationships.
In this case, using the arrangement of the position tag 20 that has been verified as a base, a position tag 20 that has been erroneously registered or arranged can be specifically identified; as a result, resolution of the status of the mismatch between the positional relationships can be facilitated via a user interaction.
In a case where the action A3 has been taken, that is to say, in a case where a position tag 20 for which a corresponding registered position should be corrected has been designated after the result of the determination indicating that the two positional relationships do not match being presented, the verification unit 233 corrects the registered content of the position information DB 220 in accordance with this designation. Specifically, the verification unit 233 corrects the registered position that is indicated by Tag Position 333 in the position table 330 in correspondence with the designated position tag 20, to a position estimated based on the first positional relationship. For instance, in the example of
Based on data maintained in the position information DB 220, the information provision unit 234 provides the user with position information indicating positions of items 30 or the tag reader 100 under management of the information processing system 1. For example, after the above-described verification of the arrangements of position tags 20 has succeeded, reading result records indicating results of tag reading for position tags 20 and item tags 40 are sequentially stored in the tag detection table 370. The information provision unit 234 can cause the screen of the user terminal 300 to display the latest positions of the items 30 based on the registered positions of the position tags 20, which are used as the base, and on the relative positions of the items 30 indicated by the values of Amount of Movement 374 in these reading result records.
In the present section, examples of flows of several processes that can be executed by the management server 200 in the present embodiment will be described using the flowcharts of
First, in S101, the registration unit 231 receives a position tag issuance request via a reception screen that can be presented to a user or an operator of the system. Next, in S102, the registration unit 231 registers the tag IDs and names of the number of position tags 20 designated by the received issuance request in the position table 330 of the position information DB 220, in association with a floor ID of a designated floor 10. Next, in S103, the registration unit 231 causes the display of the user terminal 300 to display the position registration screen 60, which has been described using
In S111, the tag detection unit 232 waits for reception of data from the tag reader 100. When measurement result data has been received from the tag reader 100, the tag detection unit 232 stores one or more records of the measurement result data to the movement amount table 360. Furthermore, when reading result data has been received from the tag reader 100, the tag detection unit 232 stores one or more records of the reading result data to the tag detection table 370, and adds values of Amount of Movement 374 in the respective records obtained from the movement amount table 360.
In S112, the verification unit 233 monitors the tag detection table 370, and determines whether to start verification of arrangements of position tags 20. For example, the verification unit 233 may determine that the verification of arrangements is to be started in a case where the tag detection table 370 stores the results of tag reading from two or more position tags 20 associated with the same floor 10, and the status of at least one of them is “Unverified”. In a case where the verification unit 233 has determined that the verification of arrangements is to be started, the process proceeds to S113. In a case where the verification of arrangements is not to be started, the process returns to S111, and the reception of data from the tag reader 100 and the accumulation of data in the position information DB 220 are repeated.
In S113, the verification unit 233 obtains the registered positions of the two or more position tags 20 to be verified from the position table 330. At this time, the verification unit 233 may convert the position coordinates of the respective position tags 20 that have been registered as the coordinate values on a map into the coordinate values in a real space using the value of Scale 323 in the map table 320. Next, in S114, the verification unit 233 obtains the estimated positions of the position tags 20 to be verified, which are based on the data received from the tag reader 100, from the tag detection table 370. Next, in S120, the verification unit 233 executes a position comparison process for comparing the first positional relationship among the estimated positions of the position tags 20 to be verified, which have been obtained in S114, with the second positional relationship among the corresponding registered positions, which have been obtained in S113. An example of a more specific flow of the position comparison process executed here will be described below.
Thereafter, the process bifurcates depending on whether it has been determined in S131 that the first and second positional relationships match as a result of the position comparison process. In a case where it has been determined that the first and second positional relationships match, the process proceeds to S132. On the other hand, in a case where it has been determined that the first and second positional relationships do not match, the process proceeds to S140. In S132, the verification unit 233 notifies the user of successful verification of arrangements with respect to the position tags 20 that have been subject to the verification. On the other hand, in S140, the verification unit 233 executes a correction assistance process. An example of a more specific flow of the correction assistance process executed here will be described below. Thereafter, the process returns to S111, the reception of data from the tag reader 100 and the accumulation of data in the position information DB 220 are repeated, and verification of arrangements of position tags 20 is performed again as necessary.
First, in S121, the verification unit 233 selects, from among k position tags 20 to be verified, the ith tag (i=1, 2, . . . , k) as an interested tag.
Next, in S122, the verification unit 233 derives a positional relationship between the estimated position of the interested tag and the estimated positions of the other k−1 tags (the first positional relationship). For example, the verification unit 233 derives relative estimated positions for the other respective tags with respect to the interested tag, by subtracting a movement amount vector of the interested tag from movement amount vectors of the other respective tags.
Next, in S123, the verification unit 233 derives a positional relationship between the registered position of the interested tag and the registered positions of the other k−1 tags (the second positional relationship). For example, the verification unit 233 derives relative registered positions for the other respective tags with respect to the interested tag, by subtracting the registered position of the interested tag after coordinate conversion from the registered positions of the other respective tags after coordinate conversion.
Next, in S124, the verification unit 233 compares misalignments of the relative estimated positions of the other tags derived in S122 relative to the corresponding relative registered positions derived in S123 with the tolerance d1. Here, in a case where the misalignment of the estimated position relative to the registered position exceeds the tolerance dl for at least one tag, the verification unit 233 determines that the first and second positional relationships do not match in S125. On the other hand, in a case where the misalignments of the estimated positions relative to the registered positions are equal to or smaller than the tolerance d1 for all of the other k−1 tags, the process proceeds to S126.
In S126, the verification unit 233 determines whether there remains a tag to be interested next in the position tags 20 that are subject to the verification. In a case where there is a tag to be interested next, the variable i is incremented (i=i+1) in S127, and the above-described S121 to S126 are repeated using the (i+1)th position tag 20 as an interested tag. In a case where there remains no tag to be interested next, the verification unit 233 determines that the first and second positional relationships match in S128. Then, the position comparison process of
First, in S141, the verification unit 233 identifies one or more tags that have a possibility of being the cause of the mismatch between the two positional relationships. For example, in a case where the statuses of all of the position tags 20 that are subject to the verification are “Unverified”, the verification unit 233 may determine that all of the position tags 20 subject to the verification have a possibility of being the cause of the mismatch. Furthermore, in a case where the status(es) of some of the position tags 20 is “Verified”, the verification unit 233 may determine that a position tag 20 has a possibility of being the cause of the mismatch if a misalignment between the estimated position and the registered position of that position tag 20 exceeds the tolerance when a “Verified” position tag 20 is used as a base.
Next, in S142, the verification unit 233 presents options for a corrective action (e.g., the above-described actions A1 to A3) to the user, together with information of the position tag(s) 20 identified in S141. Thereafter, the process bifurcates depending on the action selected by the user.
For example, in a case where the user has selected a position tag 20 which has been appropriately arranged and hence for which neither correction of the arrangement nor correction of the registered position is required (S143-Yes), the verification unit 233 changes the status of the designated position tag 20 to “Verified” in S144. Then, the process returns to S141, where one or more tags that have a possibility of being the cause of the mismatch are identified again.
Furthermore, in a case where the user has designated a position tag 20 for which the registered position should be corrected (S145-Yes), the verification unit 233 corrects the registered position of the designated position tag 20 to an estimated position based on the result of tag reading in S146. At this time, the verification unit 233 can change the status of the designated position tag 20 to “Verified”. Then, in S150, the verification unit 233 executes the position comparison process, which has been described using
Furthermore, in a case where the user has corrected the arrangement of the position tag 20 in a real space (S147-Yes), measurement result data and reading result data related to the re-arranged position tag 20 are received from the tag reader 100 in S148. Then, in S150, the verification unit 233 executes the position comparison process, which has been described using
In a case where it has been determined that the first and second positional relationships match in S151 as a result of the re-execution of the position comparison process in S150, the verification unit 233 notifies the user of successful verification in S152. Then, the correction assistance process of FIG. 12A and
In a case where none of the corrective actions is taken by the user (S147-No), the verification unit 233 notifies the user of failed verification in S153. Then, the correction assistance process of
Referring to
Referring to
According to the first embodiment, a determination is made for two or more RFID tags arranged in a real space about whether the first positional relationship among the estimated positions of these RFID tags based on a result of tag reading matches the second positional relationship among corresponding device positions registered in a database. Then, in a case where it has been determined that the first and second positional relationships do not match, the system assists the actions taken by the user to resolve the state of the mismatch, or automatically executes processes for resolving the state of the mismatch, based on the result of the determination. The above-described configuration can easily detect and resolve a misalignment between a device position indicated by registered information of the system and an actual arrangement of a device in a real space, without depending on electric waves from a satellite, such as a GPS satellite. Therefore, even in a space where GPS-based technology does not function effectively, such as the inside of a building or underground, RFID tags can be swiftly arranged at appropriate points, and these tags can be utilized for various purposes, including a determination of a position or tracking of a mobile item. Furthermore, as there is no need to implement a GPS function in a tag reader that reads tag IDs from the RFID tags, the cost of adoption of the tag reader, as well as the size of the tag reader, can be easily reduced.
The above first embodiment has been described mainly in relation to an example where a misalignment between a device position indicated by registered information and an actual arrangement of a device is detected at the time of initial arrangement of RFID tags in a real space. In contrast, a second embodiment described in the present section pertains to an example where whether an item that can move over time is at a correct position is detected using a similar mechanism in a state where several RFID tags have already been arranged appropriately in a real space.
These are RFID tags similar to the position tags 20 according to the first embodiment. Although
The information processing system 2 includes a tag reader 100, a user terminal 300, and a management server 400 in addition to the position tags 20 and the item tags 40. The tag reader 100, the user terminal 300, and the management server 400 are connected to a network 5.
The management server 400 is an information processing apparatus that uses a database to manage position information indicating positions of the position tags 20 and the item tags 40 in a real space, which is similar to the management server 200 according to the first embodiment. An example of a specific configuration of the management server 400 will be described in the next section.
The position information DB 420 includes a floor table 310, a map table 320, a position table 330, an item table 540, a section table 580, a reservation table 590, a movement amount table 360, and a tag detection table 370. The position management unit 430 is a set of a plurality of software modules that provide management functions for managing data within the position information DB 420, which is similar to the position management unit 230 according to the first embodiment. In the present embodiment, the position management unit 430 includes a registration unit 431, a tag detection unit 232, a verification unit 433, and an information provision unit 234.
The section table 580 has four data elements of Section ID 581, Floor ID 582, Range 583, and Name 584. Section ID 581 is identification information that uniquely identifies each of the sections set on a floor 10. Using a value of Floor ID 311 of the floor table 310, Floor ID 582 indicates a floor 10 to which each section belongs. Range 583 indicates a spatial range occupied by each section on a floor 10 identified by Floor ID 582. As an example, on a two-dimensional plane of a floor 10, each section may have a shape of a quadrilateral, and Range 583 can be defined by the coordinates of one vertex of the quadrilateral and the coordinates of an opposite vertex thereof. As another example, each section may have a shape of a circle, and Range 583 can be defied by the coordinates of the center of the circle and a radius thereof. It should be noted that no limitation is intended by these examples, and each section may have any shape, such as a polygonal shape. Name 584 indicates a name of each section. In the example of
The item table 540 has four data elements of Tag ID 341, Item ID 342, Name 343, and Normal Section 544. Using a value of Section ID 581 of the section table 580, Normal Section 544 indicates a section in which each of the items 30 to which the item tags 40 are attached (items 30 indicated by Item ID 342) is stored at normal times. In the example of
The reservation table 590 illustrated in
The registration unit 431 of the position management unit 430 has a function of receiving a reservation of use of an item 30 from a user of the information processing system 2, in addition to the functions that have been described in relation to the registration unit 231 according to the first embodiment. The registration unit 431 may, for example, cause a display of the user terminal 300 to display a reservation reception screen, and receive an input of required information, such as a start time, an end time, an item, and a used section, on the reservation reception screen. The registration unit 431 registers the received information in the reservation table 590.
In the present embodiment, the verification unit 433 assumes that wireless devices of a first type that are fixedly arranged in a real space, that is to say, the position tags 20 have been appropriately arranged at the device positions stored in the position information DB 220. Under this assumption, the verification unit 433 determines, based on comparison between a first positional relationship and a second positional relationship, whether the item tags 40, which are wireless devices of a second type that move together with the items 30, have been appropriately arranged at expected positions. During a time frame in which there is a reservation of use of an item 30 to which an item tag 40 is attached, the expected position of the item tag 40 may be a position inside a section indicated by Used Section 595 in the reservation table 590. During a time frame in which there is no reservation of use, the expected position of the item tag 40 may be a position inside a section indicated by Normal Section 544 in the item table 540. Similarly to the first embodiment, the first positional relationship represents a relative relationship among estimated positions indicated by Amount of Movement 374 in the tag detection table 370. The second positional relationship represents a relative relationship among expected positions of the item tags 40 relative to the registered positions of the position tags 20 indicated by Tag Position 333 in the position table 330. The verification unit 433 can determine that the first positional relationship matches the second positional relationship, for example, in a case where the estimated position of an item tag 40 that are subject to verification is included in an expected section under the assumption that the estimated positions of the position tags 20 coincide with the registered positions.
It is assumed here that the time of reading of the tag ID from the item tag of the item 30c belongs to a time frame between the start time and the end time of the reservation of use indicated by record #1 in the reservation table 590 of
Furthermore, it is assumed that the time of reading of the tag ID from the item tag 40d of the item 30d does not belong to any of the time frames indicated by the records of the reservation table 590. Therefore, the item 30d is expected to be stored in the section “SG03” indicated by Normal Section 544 in the item table 540 (i.e., “Storage Shelf”) at the above-described time of reading. The verification unit 433 derives a vector V2 indicating a relative position of the item 30d (item tag 40d) relative to the position tag 20g (the first positional relationship) by, for example, subtracting the amount of relative movement of the reading position D13 from the amount of relative movement of the reading position D14. In a case where the registered position of the position tag 20g is an initial point of the vector V2, a terminal point of the vector V2 is supposed to be inside the section “SG03” indicated by a dash line 70c in
It should be noted that in making the above-described determination about whether an item 30 that is subject to verification is inside an expected section, the tolerance d1 for misalignment described in the first embodiment may be taken into consideration. That is to say, even in a case where the item 30 is positioned outside the expected section, the verification unit 433 may determine that the item 30 appropriately exists at an expected position when a distance between an estimated position of the item 30 and a boundary of the expected section falls below the tolerance d1.
As illustrated in
In a case where it has been determined that the first positional relationship does not match the second positional relationship and the item 30 does not exist at its expected position, the verification unit 433 notifies the user of the incorrectness of the position of the item 30 on, for example, a screen of the user terminal 300. Upon receiving this notification, the user can take a necessary action, such as returning of the item 30 that has been forgotten to be returned after use to a normal section, for example. It should be noted that, in a case where the first positional relationship does not match the second positional relationship, the verification unit 433 may automatically correct the registered positions of items 30 in the database (e.g., the position coordinates of normal sections), as in the second alteration example of the first embodiment.
In the present section, an example of a flow of a process inside the information processing system 2 according to the present embodiment will be described using a flowchart of
In S211, the tag detection unit 232 waits for reception of data from the tag reader 100. When measurement result data has been received from the tag reader 100, the tag detection unit 232 stores one or more records of the measurement result data to the movement amount table 360. Furthermore, when reading result data has been received from the tag reader 100, the tag detection unit 232 stores one or more records of the reading result data to the tag detection table 370, and add values of Amount of Movement 374 in the respective records obtained from the movement amount table 360.
In S212, the verification unit 433 monitors the tag detection table 370, and determines whether to start verification of arrangements of items 30. For example, the verification unit 433 may determine that verification of arrangements of the items 30 to which the item tags 40 are attached is to be started in a case where the results of tag reading from the position tags 20 and the item tags 40 associated with the same floor 10 have been stored to the tag detection table 370. In a case where the verification unit 433 has determined that the verification of arrangements is to be started, the process proceeds to S213. In a case where the verification of arrangements is not to be started, the process returns to S211, and the reception of data from the tag reader 100 and the accumulation of data in the position information DB 420 are repeated.
In S213, the verification unit 433 determines a section in which a target item tag 40 should exist at the time of reading with reference to the item table 540 and the reservation table 590. Next, in S214, based on data received from the tag reader 100, the verification unit 433 estimates the current positions of the target item tag 40 and a position tag 20 used as a base. Next, in S215, the verification unit 433 determines whether the current position estimated for the target item tag 40 is inside the section (expected section) determined in S213 when the current positions of the position tags 20 have been brought to coincide with the registered positions. Here, in a case where it has been determined that the current position of the target item tag 40 is not inside the expected section, the verification unit 433 notifies, in S216, the user that the item 30 to which the target item tag 40 is attached does not exist at a position where it is supposed to exist. In a case where it has been determined that the current position of the target item tag 40 is inside the expected section, the process returns to S211, the reception of data from the tag reader 100 and the accumulation of data in the position information DB 420 are repeated, and verification of arrangements of items 30 is performed again as necessary.
In an alteration example, the information processing system 2 may perform both of the verification of arrangements of position tags 20 described in the first embodiment, and the verification of arrangements of item tags 40 described in the second embodiment. Typically, the verification of arrangements of position tags 20 is performed at the time of initial adoption of the system, whereas tracking and verification of the positions of item tags 40 are started after the verification has succeeded with respect to a sufficient number of position tags 20.
First, in S311, the verification unit 433 verifies arrangements of a plurality of position tags 20 for which the statuses are “Unverified” by comparing the first positional relationship estimated based on data received from the tag reader 100 with the second positional relationship based on registered information of a database. This verification is repeated until it has been determined in S312 that the verification has been completed, or correction of arrangements or correction of the registered information has been completed.
Upon reaching a state where the actual arrangements of the position tags 20 sufficiently match the registered information of the database, tracking and verification of positions of item tags 40 are started in S313. In S313, the verification unit 433 verifies whether the current positions of the items 30 to which the item tags 40 are attached are appropriate by comparing the first positional relationship between a position tag 20 used as a base and the item tags whose tag IDs have been read with the second positional relationship based on the registered information of the database. In a case where the verification unit 433 has determined that there is an item 30 that is not positioned in an expected section in 5314 in accordance with the verification result, the user is notified of the incorrectness of the position of the item 30 in S315. In a case where every detected item 30 is appropriately positioned inside an expected section, the user need not be notified, and tracking and verification of the positions of item tags 40 are repeated.
According to the second embodiment, a determination is made for RFID tags that have been fixedly arranged in a real space and RFID tags that move together with items about whether the first positional relationship among estimated positions of these tags matches the second positional relationship among corresponding registered positions in a DB. Therefore, using the RFID tags that have been fixedly arranged as a base, whether items exist at appropriate positions (e.g., whether items have been used at appropriate locations or stored at correct locations) can easily be detected. In the second embodiment as well, verification of arrangements of items does not depend on electric waves from a satellite, thereby allowing the verification to function effectively in a space like the inside of a building or underground. Furthermore, as there is no need to implement a GPS function in a tag reader that reads tag IDs from the RFID tags, the cost of adoption of the tag reader, as well as the size of the tag reader, can be easily reduced.
In addition, according to the second embodiment, expected positions of RFID tags that move together with items are stored in a DB in association with pieces of expected time information, and whether the items are at the expected positions at times indicated by these pieces of expected time information is determined based on comparison between the first and second positional relationships. Therefore, even if items are used at various locations in a real space and are not fixed in position, whether the items exist at appropriate positions at respective time points can easily be determined.
The present invention makes it possible to detect a misalignment between a position indicated by registration information in a system and an actual arrangement of a device in a real space.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g., central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
Number | Date | Country | Kind |
---|---|---|---|
2021-066069 | Apr 2021 | JP | national |
This application is a Continuation of International Patent Application No. PCT/JP2022/010332, filed Mar. 9, 2022, which claims the benefit of Japanese Patent Application No. 2021-066069, filed Apr. 8, 2021, both of which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2022/010332 | Mar 2022 | US |
Child | 18473446 | US |