WO2017199972A1 - 位置推定装置 - Google Patents

位置推定装置 Download PDF

Info

Publication number
WO2017199972A1
WO2017199972A1 PCT/JP2017/018411 JP2017018411W WO2017199972A1 WO 2017199972 A1 WO2017199972 A1 WO 2017199972A1 JP 2017018411 W JP2017018411 W JP 2017018411W WO 2017199972 A1 WO2017199972 A1 WO 2017199972A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
topology
fixed
virtual
nodes
Prior art date
Application number
PCT/JP2017/018411
Other languages
English (en)
French (fr)
Inventor
泰久 滝沢
貴正 北之馬
Original Assignee
学校法人 関西大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 学校法人 関西大学 filed Critical 学校法人 関西大学
Priority to US16/302,282 priority Critical patent/US10802105B2/en
Priority to JP2018518315A priority patent/JP6532606B2/ja
Publication of WO2017199972A1 publication Critical patent/WO2017199972A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0284Relative positioning
    • G01S5/0289Relative positioning of multiple transceivers, e.g. in ad hoc networks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0269Inferred or constrained positioning, e.g. employing knowledge of the physical or electromagnetic environment, state of motion or other contextual information to infer or constrain a position
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/248Connectivity information update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/011Identifying the radio environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/003Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/005Moving wireless networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • the present invention relates to a position estimation device that estimates the position of a wireless node using a self-organizing map.
  • the position of the wireless node is important information as an acquisition position of sensing data of a sensor mounted on the wireless node.
  • SOL Self-Organizing Localization
  • SOM self-organizing map
  • SOL uses a very small number of anchor nodes and can estimate the position with high accuracy without using a ranging device. In addition, SOL has little degradation in position accuracy even in an environment where both line-of-sight (LOS) and non-line-of-sight (NLOS) are present due to obstacles (for example, non-patented) Reference 1).
  • LOS line-of-sight
  • NLOS non-line-of-sight
  • Kitanoma Takamasa, Takashima Yuto, Adachi Nayoyo, Takizawa Yasuhisa “A centralized self-organized node location estimation method for wireless sensor networks in an NLOS mixed environment and its accuracy evaluation”, Transactions of Information Processing Society of Japan, Vol. 57, no. 2,494-506
  • a topology inconsistency may occur where the estimated position of the wireless node is closer to the secondary neighboring node than the primary neighboring node.
  • the position estimation process is executed again because there is a high possibility that the position of any one of the wireless node, the primary neighboring node, and the secondary neighboring node is erroneously estimated.
  • an object of the present invention is to provide a position estimation device capable of estimating the position of a wireless node with high accuracy.
  • the position estimation device includes an acquisition unit, a fixed topology generation unit, a self-location generation unit, a position update unit, a topology inconsistency determination unit, and a virtual topology generation unit.
  • the acquisition unit acquires neighboring node information, which is information of a primary neighboring node existing at a position of one hop from one wireless node, from each of m (m is an integer of 4 or more) wireless nodes.
  • the fixed topology generation unit generates a fixed topology indicating the arrangement relationship of the m radio nodes based on the adjacent node information for each of the m radio nodes.
  • the self-position generating unit generates temporary self-positions of m wireless nodes.
  • the position update unit estimates the positions of the m wireless nodes by updating the provisional self-positions of the m wireless nodes based on the fixed topology.
  • the topology contradiction determining unit is a wireless node in which the position of one wireless node estimated by the position updating unit is located at a position of two hops from one wireless node rather than a wireless node existing at a position of one hop from one wireless node It is determined whether or not a topology contradiction indicating that the frequency is close to, and an area determination value corresponding to the fixed topology and indicating the frequency of occurrence of the topology conflict in the m radio nodes is calculated.
  • the virtual topology generation unit sets a virtual wireless communication distance between two wireless nodes existing at a 1-hop position, and selects a primary neighbor node located at a 1-hop position from one wireless node based on the virtual wireless communication distance. Reconfiguration is performed, and at least one virtual topology indicating a virtual arrangement relationship of m wireless nodes is generated based on the reconfigured primary neighboring nodes.
  • the position update unit estimates the positions of m wireless nodes based on each of the at least one virtual topology.
  • the topology contradiction determination unit calculates an area determination value corresponding to each of at least one virtual topology based on the estimated positions of m wireless nodes corresponding to each of at least one virtual topology.
  • the virtual topology generation unit based on the region determination value corresponding to the fixed topology and the region determination value corresponding to each of the at least one virtual topology, the estimated positions of the m radio nodes based on the fixed topology, and at least one One of the estimated positions of the m wireless nodes based on each of the virtual topologies is output as an estimated result of the positions of the m wireless nodes.
  • the topology contradiction determination unit includes a determination value comparison unit, a distance comparison unit, and a separation setting unit.
  • the determination value comparison unit compares the current region determination value last received from the topology contradiction determination unit with the immediately previous region determination value input immediately before the current region determination value.
  • the distance comparison unit compares the virtual wireless communication distance used in the first topology corresponding to the immediately preceding region determination value with the virtual wireless communication distance used in the second topology corresponding to the current region determination value.
  • the distance setting unit is used in the comparison result between the current region determination value and the previous region determination value by the determination value comparison unit, the virtual wireless communication distance used in the first topology by the distance comparison unit, and the second topology. Based on the comparison result with the virtual wireless communication distance, a virtual wireless communication distance used to generate a new virtual topology is set.
  • the distance setting unit determines that the virtual wireless communication distance used in the second topology is smaller than the virtual wireless communication distance used in the first topology by the distance comparison unit and If the determination value comparison unit determines that the area determination value of the current area is smaller than the immediately preceding area determination value, the virtual wireless communication distance used in the generation of the new virtual topology is the virtual wireless communication distance used in the second topology. Smaller than.
  • the distance setting unit determines that the virtual wireless communication distance used in the second topology is smaller than the virtual wireless communication distance used in the first topology by the distance comparison unit, and the current region determination value is the previous region When it is determined by the determination value comparison unit that it is equal to or greater than the determination value, the virtual wireless communication distance used for generating a new virtual topology is made larger than the virtual wireless communication distance used in the second topology.
  • the distance setting unit is determined by a distance comparison unit in which the virtual wireless communication distance used in the second topology is greater than or equal to the virtual wireless communication distance used in the first topology, and the current setting
  • the determination value comparison unit determines that the area determination value is larger than the immediately preceding area determination value, the virtual wireless communication distance used for generating a new virtual topology is greater than the virtual wireless communication distance used in the second topology. Also make it smaller.
  • the distance setting unit determines that the virtual wireless communication distance used in the second topology is greater than or equal to the virtual wireless communication distance used in the first topology, and the current region determination value is the previous region When it is determined by the determination value comparison unit that is equal to or less than the determination value, the virtual wireless communication distance used for generating a new virtual topology is made larger than the virtual wireless communication distance used in the second topology.
  • the position estimation device further includes a minimum value determination unit, a minimum value comparison unit, and an update rate comparison unit.
  • the minimum value determination unit determines the minimum region determination value from among the region determination value corresponding to the fixed topology and each region determination value from the first virtual topology to the k-th (k is an integer of 2 or more) virtual topology. Determine the value.
  • the minimum value comparison unit compares the region determination value corresponding to the (k + 1) th virtual topology with the minimum value.
  • the update rate comparison unit compares the update rate of the minimum value with a predetermined threshold when the region determination value corresponding to the (k + 1) th virtual topology is larger than the minimum value.
  • the virtual topology generation unit determines the estimated positions of the m radio nodes based on the topology corresponding to the minimum value, and estimates the position of the m radio nodes. Decide to output as a result.
  • the position estimation device includes an acquisition unit, a fixed node position estimation unit, and a mobile node position estimation unit.
  • the acquisition unit acquires adjacent node information, which is information of a primary neighboring node existing at a position of one hop from one wireless node, and a mobile wireless node that moves in the wireless communication space and m (m that does not move in the wireless communication space. Is obtained from each of the fixed wireless nodes of an integer of 4 or more.
  • the fixed node position estimation unit estimates the positions of m fixed radio nodes based on neighboring node information for each of the m fixed radio nodes.
  • the mobile node position estimation unit estimates the position of the mobile radio node based on the adjacent node information of the mobile radio node and the estimated positions of the m fixed radio nodes by the fixed node position estimation unit.
  • the fixed node position estimation unit includes a fixed topology generation unit, a first self-location generation unit, and a first position update unit.
  • the fixed topology generation unit generates a fixed topology indicating an arrangement relationship of the m fixed wireless nodes based on adjacent node information for each of the m fixed wireless nodes.
  • the first self-position generating unit generates temporary self-positions of m fixed wireless nodes.
  • the first position updating unit estimates the positions of the m fixed wireless nodes by updating the provisional self-positions of the m fixed wireless nodes based on the fixed topology.
  • the mobile node position estimation unit includes a mobile topology generation unit, a second self-location generation unit, and a second position update unit.
  • the mobile topology generation unit acquires, from the acquisition unit, adjacent node information of an adjacent fixed node that is a fixed wireless node recorded in the adjacent node information of the mobile wireless node among the m fixed wireless nodes, and the adjacent node of the mobile wireless node Based on the information and the adjacent node information of the adjacent fixed node, the topology of the mobile radio node is generated.
  • the second self position generation unit generates a temporary self position of the mobile radio node.
  • the second position update unit estimates the position of the mobile radio node by updating the temporary self-position of the mobile radio node based on the mobile topology and the estimated position of the adjacent fixed node.
  • the number of adjacent node information used for generating the mobile topology is smaller than the number of adjacent node information used for generating the fixed topology.
  • the acquisition unit periodically acquires the adjacent node information and the adjacent node information of the mobile wireless node for each of the m fixed wireless nodes.
  • the fixed node position estimation unit repeatedly estimates the positions of m fixed wireless nodes in the first period.
  • the mobile node position estimation unit repeatedly estimates the position of the mobile radio node in a second period shorter than the first period.
  • the fixed topology generation unit sets adjacent node information of the mobile radio node already used for position estimation of the mobile radio node as adjacent node information of the virtual fixed radio node, and each of the m fixed radio nodes The fixed topology is generated based on the adjacent node information about and the adjacent node information of the virtual fixed wireless node.
  • the position estimation program is a program for causing a computer to perform position estimation of a wireless node.
  • the location estimation program includes an acquisition step, a fixed topology generation step, a self location generation step, a location update step, a topology inconsistency determination step, and a virtual topology generation step.
  • adjacent node information which is information of a primary neighbor node existing at a position of one hop from one wireless node
  • m is an integer of 4 or more
  • the fixed topology generation step generates a fixed topology indicating the arrangement relationship of the m radio nodes based on the adjacent node information for each of the m radio nodes.
  • the self position generation step generates temporary self positions of the m wireless nodes.
  • the position update step estimates the positions of the m wireless nodes by updating the temporary self-positions of the m wireless nodes based on the fixed topology.
  • the wireless node in which the position of one wireless node estimated in the position update step is located at a position of two hops from one wireless node rather than a wireless node existing at a position of one hop from the one wireless node It is determined whether or not a topology contradiction indicating that the frequency is close to, and an area determination value corresponding to the fixed topology and indicating the frequency of occurrence of the topology conflict in the m radio nodes is calculated.
  • a virtual wireless communication distance between two wireless nodes existing at a 1-hop position is set, and a primary neighbor node located at a 1-hop position from one wireless node is set based on the virtual wireless communication distance.
  • Reconfiguration is performed, and at least one virtual topology indicating a virtual arrangement relationship of m wireless nodes is generated based on the reconfigured primary neighboring nodes.
  • the location update step estimates the locations of the m wireless nodes based on each of the at least one virtual topology.
  • the topology contradiction determination step calculates an area determination value corresponding to each of at least one virtual topology based on the estimated positions of m radio nodes corresponding to each of at least one virtual topology.
  • the virtual topology generation step includes the estimated positions of the m radio nodes based on the fixed topology based on the area determination value corresponding to the fixed topology and the area determination value corresponding to each of the at least one virtual topology, and at least one One of the estimated positions of the m wireless nodes based on each of the virtual topologies is output as an estimated result of the positions of the m wireless nodes.
  • the position estimation program is a program for causing a computer to perform position estimation of a mobile wireless node moving in a wireless communication space.
  • the position estimation program includes an acquisition step, a fixed node position estimation step, and a mobile node position estimation step.
  • adjacent node information which is information of a primary neighboring node existing at one hop position from one wireless node
  • m is an integer of 4 or more
  • the fixed node position estimation step estimates the positions of m fixed radio nodes based on neighboring node information for each of the m fixed radio nodes.
  • the mobile node position estimation step estimates the position of the mobile radio node based on the adjacent node information of the mobile radio node and the estimated positions of the m fixed radio nodes in the fixed node position estimation step.
  • the fixed node position estimation step includes a fixed topology generation step, a first self-location generation step, and a first position update step.
  • the fixed topology generation step generates a fixed topology indicating an arrangement relationship of the m fixed radio nodes based on neighboring node information for each of the m fixed radio nodes.
  • the first self-position generating step generates temporary self-positions of m fixed wireless nodes.
  • the first location update step estimates the locations of the m fixed radio nodes by updating the provisional self-locations of the m fixed radio nodes based on the fixed topology.
  • the mobile node position estimation step includes a mobile topology generation step, a second self-location generation step, and a second location update step.
  • the mobile topology generation step acquires the adjacent node information of the adjacent fixed node that is the fixed radio node recorded in the adjacent node information of the mobile radio node among the m fixed radio nodes from the acquisition step, and the adjacent node of the mobile radio node Based on the information and the adjacent node information of the adjacent fixed node, the topology of the mobile radio node is generated.
  • the second self position generation step generates a temporary self position of the mobile radio node.
  • the second position update step estimates the position of the mobile node by updating the temporary self-position of the mobile radio node based on the mobile topology and the estimated position of the adjacent fixed node.
  • the position updating apparatus generates a fixed topology based on neighboring node information of m wireless nodes, and updates m temporary self-positions of the m wireless nodes based on the fixed topology. Estimate the position of the wireless node.
  • the position updating apparatus sets a virtual wireless communication distance between two wireless nodes existing at a 1-hop position, and a primary neighboring node located at a 1-hop position from the one wireless node based on the virtual wireless communication distance And at least one or more virtual topologies are generated based on the reset primary neighboring nodes.
  • the position update device estimates the positions of m wireless nodes based on at least one virtual topology.
  • a region determination value indicating the frequency of occurrence of topology inconsistency at the estimated positions of m wireless nodes is calculated for each of the fixed topology and at least one virtual topology.
  • This position estimation apparatus specifies the minimum area determination value among the calculated area determination values, and outputs the estimated position of the topology corresponding to the specified minimum area determination value as a position estimation result.
  • the position estimation device generates a fixed topology based on neighboring node information of m radio nodes, and updates temporary self-positions of m fixed radio nodes based on the generated fixed topology.
  • the position estimation device generates a mobile topology of the mobile node based on the adjacent node information of the mobile node and the adjacent node information of the adjacent fixed node recorded in the adjacent node information of the mobile node.
  • This position estimation apparatus estimates the position of the mobile node by updating the temporary self-position of the mobile node based on the mobile topology and the estimated position of the adjacent fixed node.
  • FIG. 1 It is a flowchart which shows operation
  • FIG. 1 is a schematic diagram showing a configuration of a wireless network 10 according to an embodiment of the present invention.
  • the radio network 10 includes fixed radio nodes N-1, N-2,..., Nk and mobile radio nodes M-1, M-2,.
  • k is an integer of 4 or more
  • p is an integer of 1 or more.
  • the display of symbols for a part of the fixed radio node and a part of the mobile radio node is omitted.
  • a part of the fixed radio node and a part of the mobile radio node are transmitting the notification packet DTG to the sink 4, other fixed radio nodes and mobile radio nodes are also notified.
  • the packet DTG is transmitted to the sink 4. Details of the notification packet DTG will be described later.
  • fixed radio node is described as “fixed node”
  • mobile radio node is described as “mobile node”.
  • the fixed nodes N-1 to Nk and the mobile nodes M-1 to Mp are collectively referred to as “radio nodes”.
  • the wireless node and the sink 4 constitute a wireless network 10 by performing short-range wireless communication.
  • the wireless node and the sink 4 perform wireless communication complying with a communication standard such as BLE (Bluetooth (registered trademark) Low Energy) or IEEE 802.15.4 as short-range wireless communication.
  • BLE Bluetooth (registered trademark) Low Energy) or IEEE 802.15.4 as short-range wireless communication.
  • Fixed nodes N-1 to Nk are arranged in a wireless communication space (for example, a commercial facility such as a shopping center or a station).
  • the fixed nodes N-1 to Nk are, for example, sensing devices equipped with sensors. Sensors mounted on each of the fixed nodes N-1 to Nk detect temperature, humidity, and the like, and transmit these detected values to the sink 4 by wireless communication.
  • three fixed nodes are anchor nodes whose absolute positions are designated in advance.
  • the absolute position is specified by latitude and longitude, for example.
  • the mobile nodes M-1 to Mk are mobile communication terminals such as smart phones, mobile phones, and tablet terminals. Further, as will be described later, each of the wireless nodes M-1 to Mk includes an acceleration sensor and measures acceleration.
  • Each wireless node generates an advertisement packet including its own identification information (for example, an address) and broadcasts the generated advertisement packet.
  • the wireless node demodulates the received advertisement packet and detects identification information included in the demodulated advertisement packet.
  • FIG. 2 is a diagram showing an example of adjacent node information 21M generated in the mobile node M-1.
  • the adjacent node information 21M is data that records its own identification information, acceleration detected by the mobile node M-1, and identification information of other wireless nodes detected from the received advertisement packet. It is.
  • the identification information of the mobile node M-1 is “Address M-1”, and the acceleration detected by the mobile node M-1 is 2.0 (m / sec 2 ).
  • identification information detected from an advertisement packet received from another wireless node is recorded. Specifically, the identification information “Address N-1” of the fixed node N-1, the identification information “Address N-5” of the fixed node N-5, and the identification information “Address M-2” of the mobile node M-2. Is described.
  • the wireless nodes other than the mobile node M-1 also generate adjacent node information similar to the adjacent node information 21M shown in FIG. That is, all fixed nodes and mobile nodes generate adjacent node information. However, since each fixed node does not include an acceleration sensor, adjacent node information generated by each fixed node does not include acceleration.
  • each wireless node generates adjacent node information in which at least its own identification information and identification information of other wireless nodes detected from the received advertisement packet are recorded.
  • Each of the wireless nodes generates a notification packet DTG including the generated adjacent node information and transmits it to the sink 4.
  • the adjacent node information includes identification information detected from an advertisement packet received directly from another wireless node by each wireless node. That is, the adjacent node information includes information on the wireless node existing at a position of 1 hop from each of the wireless nodes. One hop indicates that two wireless nodes communicate without passing through another wireless node.
  • the notification packet DTG is transmitted from the wireless node to the sink 4 in multihop.
  • Multi-hop indicates that two wireless nodes communicate via another wireless node. For example, 2 hops means that the number of other wireless nodes that relay two wireless nodes is one. That is, when the notification packet DTG is transmitted from the wireless node to the sink 4, the communication path of the notification packet DTG is not particularly limited. The sink 4 only needs to be able to receive the notification packet DTG transmitted from each wireless node.
  • the sink 4 receives the notification packet DTG from each of the wireless nodes and detects adjacent node information from the received notification packet DTG. The sink 4 transmits the detected adjacent node information to the position estimation device 5.
  • the position estimation device 5 is installed on the cloud, for example, and receives adjacent node information from the sink 4. As a result, the position estimation device 5 acquires adjacent node information from all of the wireless nodes, and estimates the position of each wireless node based on the acquired adjacent node information.
  • the position estimation device 5 creates a topology (hereinafter referred to as “fixed topology”) indicating the arrangement relationship of the fixed nodes N-1 to Nk using the adjacent node information of each fixed node. Thereafter, the position estimation device 5 estimates the positions of the fixed nodes N-1 to Nk based on the created fixed topology by a method described later. After estimating the positions of the fixed nodes, the position estimation device 5 estimates the positions of the mobile nodes M-1 to Mk by a method described later. Although details will be described later, a part of the process for estimating the position is different between the position estimation of the fixed node and the position estimation of the mobile node.
  • the advertisement packet is broadcast at a preset time interval.
  • Each of the wireless nodes periodically transmits a notification packet DTG including adjacent node information.
  • the position estimation device 5 can periodically acquire the adjacent node information from each wireless node, so that the position estimation of the fixed nodes N-1 to Nk and the mobile nodes M-1 to Mp is performed. Repeat.
  • the time interval for estimating the positions of the fixed nodes N-1 to Nk is set longer than the time interval for estimating the positions of the mobile nodes M-1 to Mk.
  • FIG. 3 is a functional block diagram showing a configuration of fixed node N-1 shown in FIG. As shown in FIG. 3, the fixed node N-1 includes an antenna 11, a transmission / reception unit 12, and a control unit 13.
  • the transmission / reception unit 12 receives the advertisement packet via the antenna 11 and outputs the received advertisement packet to the control unit 13. Further, when the transmission / reception unit 12 receives an advertising packet including identification information of the fixed node N-1 from the control unit 13, the transmission / reception unit 12 broadcasts the received advertising packet via the antenna 11. When the transmission / reception unit 12 receives the notification packet DTG including the adjacent node information from the control unit 13, the transmission / reception unit 12 sets the destination of the received notification packet DTG to the sink 4 and the notification packet DTG whose destination is set to the sink 4. To send out.
  • the control unit 13 holds the identification information of the fixed node N-1 in advance.
  • the control unit 13 generates an advertisement packet including the identification information of the fixed node N-1, and outputs the generated advertisement packet to the transmission / reception unit 12.
  • the control unit 13 When the control unit 13 receives the advertisement packet from the transmission / reception unit 12, the control unit 13 detects the identification information of the other wireless node from the received advertisement packet. For example, when the fixed node N-1 receives the advertisement packet from the fixed nodes N-2, N-4 and the mobile node M-3, the control unit 13 determines the fixed node N-2 from the three received packets. , Identification information of the fixed node N-4, and identification information of the mobile node M-3 are detected. Then, the control unit 13 converts the identification information of the fixed node N-2, the identification information of the fixed node N-4, and the identification information of the mobile node M-3 into the identification information of itself (fixed node N-1). The associated adjacent node information is generated. The control unit 13 generates a notification packet DTG including the generated adjacent node information and outputs the notification packet DTG to the transmission / reception unit 12.
  • the configuration of the fixed nodes N-2 to Nk shown in FIG. 1 is the same as the configuration of the fixed node N-1 shown in FIG.
  • FIG. 4 is a functional block diagram showing a configuration of mobile node M-1 shown in FIG. As shown in FIG. 4, the mobile node M-1 includes an antenna 21, a transmission / reception unit 22, a control unit 23, and an acceleration sensor 24.
  • the transmission / reception unit 22 receives the advertisement packet via the antenna 21 and outputs the received advertisement packet to the control unit 23. Further, when the transmission / reception unit 22 receives an advertisement packet including identification information of the mobile node M-1 from the control unit 23, the transmission / reception unit 22 broadcasts the received advertisement packet via the antenna 21. When receiving the notification packet DTG including the adjacent node information 21M from the control unit 23, the transmission / reception unit 22 transmits the received notification packet DTG to the sink 4 via the antenna 11.
  • the control unit 23 holds the identification information of the mobile node M-1 in advance.
  • the control unit 13 generates an advertisement packet including the identification information of the mobile node M-1, and outputs the generated advertisement packet to the transmission / reception unit 22.
  • the control unit 23 When the control unit 23 receives the advertisement packet from the transmission / reception unit 22, the control unit 23 detects the identification information of other wireless nodes from the received advertisement packet.
  • the advertisement packet is received from the fixed node N-1, the fixed node N-5, and the mobile node M-2, the control unit 23 determines the identification information of the fixed node N-1, the fixed node from the received three packets, respectively. N-5 identification information and mobile node M-2 identification information are acquired. Further, the control unit 23 acquires the acceleration detected by the acceleration sensor 24.
  • the control unit 23 uses the identification information of the fixed node N-1, the identification information of the fixed node N-5, the identification information of the mobile node M-2, and the acceleration acquired from the acceleration sensor 24, as shown in FIG. Neighboring node information 21M is generated.
  • the control unit 23 generates a notification packet DTG including the generated adjacent node information and outputs the notification packet DTG to the transmission / reception unit 22.
  • FIG. 5 is a functional block diagram showing the configuration of the sink 4 shown in FIG. As shown in FIG. 5, the sink 4 includes an antenna 41, a transmission / reception unit 42, and a control unit 43.
  • the transmission / reception unit 42 receives the notification packet DTG via the antenna 41 and outputs the received notification packet DTG to the control unit 43. Further, when receiving the adjacent node information from the control unit 43, the transmission / reception unit 42 transmits the received adjacent node information to the position estimation device 5 via the antenna 41 and the Internet (not shown).
  • the control unit 43 Upon receiving the notification packet DTG from the transmission / reception unit 42, the control unit 43 detects adjacent node information from the received notification packet DTG, and outputs the detected adjacent node information to the transmission / reception unit 42.
  • FIG. 6 is a functional block diagram showing the configuration of the position estimation apparatus 5 shown in FIG. As illustrated in FIG. 6, the position estimation device 5 includes an acquisition unit 51, a classification unit 52, a fixed node position estimation unit 60, and a mobile node position estimation unit 70.
  • the acquiring unit 51 acquires adjacent node information of each wireless node by receiving adjacent node information of each wireless node from the sink 4 via the Internet.
  • the acquisition unit 51 outputs the received adjacent node information to the classification unit 52.
  • the classification unit 52 receives the adjacent node information of each wireless node from the acquisition unit 51.
  • the classification unit 52 classifies the received adjacent node information into adjacent node information of fixed nodes N-1 to Nk and adjacent node information of mobile nodes M-1 to Mp.
  • the classification unit 52 outputs the adjacent node information of the fixed nodes N-1 to Nk to the fixed node position estimation unit 60. Further, the classification unit 52 estimates the adjacent node information of the mobile nodes M-1 to Mp and the adjacent node information of the fixed node satisfying a predetermined condition among the fixed nodes N-1 to Nk. To the unit 70.
  • Fixed node position estimation unit 60 receives adjacent node information of fixed nodes N-1 to Nk from classification unit 52, and based on the received adjacent node information, arrangement relationship of fixed nodes N-1 to Nk Generate a fixed topology that represents The fixed node position estimation unit 60 estimates the positions of the fixed nodes N-1 to Nk based on the generated fixed topology, and acquires the estimated positions of the fixed nodes N-1 to Nk. The fixed node position estimation unit 60 converts the acquired estimated positions of the fixed nodes N-1 to Nk into absolute positions.
  • the fixed node position estimation unit 60 also uses the mobile node Mu after the adjacent node information of the mobile node Mu (u is an integer between 1 and p) is used to estimate the position of the mobile node Mu. Adjacent node information is acquired from the mobile node position estimation unit 70 as adjacent node information of a virtual fixed node.
  • the fixed node position estimation unit 60 When the fixed node position estimation unit 60 estimates the positions of the fixed nodes N-1 to Nk again, the fixed node position estimation unit 60 virtually fixes the adjacent node information of the mobile node Mu acquired from the mobile node position estimation unit 70. Used as adjacent node information of a node.
  • the mobile node position estimation unit 70 receives the adjacent node information of the mobile nodes M-1 to Mp from the classification unit 52, and some of the fixed nodes N-1 to Nk are fixed from the fixed node position estimation unit 60. Receives the estimated position of the node. The mobile node position estimation unit 70 acquires the estimated positions of the mobile nodes M-1 to Mp based on the received adjacent node information and the received estimated position of the fixed node. The mobile node position estimation unit 70 converts the estimated positions of the mobile nodes M-1 to Mp into absolute positions. Further, after estimating the position of the mobile node Mu, the mobile node position estimation unit 70 outputs the adjacent node information of the mobile node Mu used for position estimation to the fixed node position estimation unit 60.
  • FIG. 7 is a functional block diagram showing the configuration of the fixed node position estimation unit 60 shown in FIG.
  • the fixed node position estimation unit 60 includes a fixed topology generation unit 61, a self-position generation unit 62, a position update unit 63, a conversion unit 64, a topology inconsistency determination unit 65, and a virtual topology generation. Part 66.
  • the fixed topology generation unit 61 receives the adjacent node information of the fixed nodes N-1 to Nk from the classification unit 52, and generates the fixed topology based on the received adjacent node information.
  • the fixed topology indicates the arrangement relationship of the fixed nodes N-1 to Nk, and is generated for each of the fixed nodes N-1 to Nk.
  • the fixed topology generation unit 61 outputs the generated topology to the position update unit 63.
  • the fixed topology generation unit 61 When the fixed topology generation unit 61 receives the adjacent node information of the mobile node from the mobile node position estimation unit 70, the fixed topology generation unit 61 fixes the received adjacent node information of the mobile node as the adjacent node information of the virtual fixed node. Used to generate topology.
  • the self-location generating unit 62 receives the adjacent node information of the fixed nodes N-1 to Nk from the classification unit 52, and based on the received adjacent node information, the fixed nodes N-1 to N constituting the wireless network 10 -K is recognized.
  • the self-position generating unit 62 randomly generates temporary self-positions of the recognized fixed nodes N-1 to Nk.
  • the location updating unit 63 receives the fixed topology from the fixed topology generation unit 61 and the temporary self-locations of the fixed nodes N-1 to Nk from the self-location generation unit 62.
  • the position updating unit 63 updates the temporary self-positions of the fixed nodes N-1 to Nk by a method described later based on the received fixed topology and temporary self-position, thereby fixing the fixed node N-1 Obtain a relative estimated position of ⁇ N ⁇ k.
  • the position updating unit 63 outputs the relative estimated positions of the fixed nodes N-1 to Nk to the conversion unit 64, and then receives the virtual topology and the virtual adjacent node information from the virtual topology generation unit 66. Details of the virtual topology and virtual adjacent node information will be described later. Using the received virtual topology and virtual adjacent node information, the position update unit 63 acquires again the relative estimated positions of the fixed nodes N-1 to Nk by a method described later.
  • the conversion unit 64 holds the absolute position of the anchor node in advance.
  • the conversion unit 64 receives the relative estimated positions of the fixed nodes N-1 to Nk from the position update unit 63. Based on the received relative estimated position and the absolute position of the anchor node, the converting unit 64 converts the relative estimated positions of the fixed nodes N-1 to Nk into absolute positions by a method described later.
  • the conversion unit 64 outputs the absolute positions of the converted fixed nodes N-1 to Nk to the topology inconsistency determination unit 65 and the virtual topology generation unit 66.
  • Topology contradiction determining unit 65 receives the absolute positions of fixed nodes N-1 to Nk from conversion unit 64, and based on the received absolute positions of fixed nodes N-1 to Nk, the topology at each fixed node. Whether or not there is a contradiction is determined, and an area determination value V T_AVE indicating the frequency of occurrence of a topology conflict is calculated.
  • the topology contradiction determining unit 65 calculates a region determination value V T_AVE corresponding to the virtual topology based on the absolute positions of the fixed nodes N-1 to Nk based on the virtual topology described later. That is, the region determination value V T_AVE is calculated for each topology.
  • a method for determining the presence or absence of topology inconsistency and a method for calculating the region determination value V T_AVE will be described later.
  • the virtual topology generation unit 66 receives the region determination value V T_AVE from the topology contradiction determination unit 65 and acquires the relative estimated position and the absolute position corresponding to the received region determination value V T_AVE from the conversion unit 64.
  • the virtual topology generation unit 66 virtually changes the wireless communication distances of the fixed nodes N-1 to Nk based on the received area determination value V T_AVE . Based on the changed virtual wireless communication distance and the absolute positions of the fixed nodes N ⁇ 1 to Nk, the virtual topology generation unit 66 determines the virtual primary neighboring nodes as the fixed nodes N ⁇ 1 to N ⁇ . Determine for each of k and generate virtual neighbor node information. The virtual adjacent node information is generated for each of the fixed nodes N-1 to Nk, and indicates the virtual primary neighboring node of each of the fixed nodes N-1 to Nk.
  • the virtual topology generation unit 66 Based on the generated virtual adjacent node information, the virtual topology generation unit 66 generates a virtual topology for each of the fixed nodes N-1 to Nk by a method described later. At least one virtual topology is generated. The virtual topology generation unit 66 outputs the generated virtual topology to the position update unit 63.
  • Virtual topology generation unit 66 compares the region determination value V T_AVE corresponding to the fixed topology, and a region determination value V T_AVE corresponding to each of the at least one virtual topology. Based on the comparison result, the virtual topology generation unit 66 determines either the absolute position of the fixed node based on the fixed topology or the absolute position of the fixed node based on each of the at least one virtual topology as the position of the fixed node. Output as an estimation result. Further, the virtual topology generation unit 66 outputs the relative estimated position of the fixed node corresponding to the absolute position of the fixed node output as the position estimation result to the mobile node position estimation unit 70.
  • FIG. 8 is a functional block diagram showing a configuration of mobile node position estimation unit 70 shown in FIG. As illustrated in FIG. 7, the mobile node position estimation unit 70 includes a movement topology generation unit 71, a self position generation unit 72, a position update unit 73, and a conversion unit 74.
  • the mobile topology generation unit 71 acquires adjacent node information of the mobile nodes M-1 to Mp, and from among the mobile nodes M-1 to Mp, the mobile node Mu (u Is an integer from 1 to p.
  • the mobile topology generation unit 71 specifies the fixed node recorded in the adjacent node information of the mobile node Mu, and acquires the adjacent node information of the specified fixed node from the classification unit 52.
  • the mobile topology generation unit 71 generates the topology (mobile topology) of the mobile node Mu based on the adjacent node information of the mobile node Mu and the specified adjacent node information of the fixed node.
  • the mobile topology generation unit 71 outputs the adjacent node information of the mobile node Mu to the fixed node position estimation unit 60 after the position estimation of the mobile node Mu is completed.
  • the adjacent node information of the mobile node Mu is used as adjacent node information of a virtual fixed node.
  • the self position generation unit 72 randomly generates a temporary self position of the mobile node Mu.
  • the location updating unit 73 receives the mobile topology of the mobile node Mu from the mobile topology generation unit 71, and receives the provisional self-location of the mobile node Mu from the self location generation unit 72.
  • the position updating unit 73 updates the temporary self-position of the mobile node Mu based on the received mobile topology and the temporary self-position by a method described later, thereby obtaining the relative estimated position of the mobile node Mu. To get.
  • the conversion unit 74 holds the absolute position of the anchor node in advance.
  • the conversion unit 74 receives the relative estimated position of the mobile node Mu from the position update unit 73. Similar to the conversion unit 64 (see FIG. 7), the conversion unit 74 determines the mobile node Mu based on the received relative estimated position of the mobile node Mu and the absolute position of the anchor node by a method described later. Convert relative estimated position to absolute position.
  • the conversion unit 74 outputs the converted absolute position of the mobile node Mu as the position estimation result of the mobile node Mu.
  • FIG. 9 is a flowchart showing the basic operation of the position estimation apparatus 5.
  • the acquisition unit 51 receives each adjacent node information of the wireless node from the sink 4.
  • the classification unit 52 acquires adjacent node information of all wireless nodes from the acquisition unit 51 (step S1).
  • the classification unit 52 classifies the acquired adjacent node information into adjacent node information of fixed nodes and adjacent node information of mobile nodes (step S2). For example, when the adjacent node information to be classified does not include acceleration, the classification unit 52 classifies the adjacent node information into the adjacent node information of the fixed node, and when the adjacent node information to be classified includes acceleration, the adjacent node information The information is classified into adjacent node information of the mobile node.
  • the classification conditions of the adjacent node information need not be limited to the above.
  • the classification unit 52 classifies the adjacent node information based on its own identification information included in the adjacent node information. May be.
  • the classification unit 52 classifies adjacent node information including an acceleration larger than a preset threshold into adjacent node information of the mobile node, and classifies adjacent node information including an acceleration equal to or less than the threshold into adjacent node information of the fixed node. May be.
  • mobile nodes M-1 to Mk may be handled as fixed nodes.
  • the wireless node does not change from a fixed node to a mobile node or from a mobile node to a fixed node. Note that there are cases where the adjacent node information of the mobile node is later treated as the adjacent node information of the virtual fixed node, which will be described separately.
  • the fixed node position estimation unit 60 estimates the positions of the fixed nodes N-1 to Nk based on the adjacent node information of the fixed nodes N-1 to Nk received from the classification unit 52, and calculates the relative estimated values. Obtain (step S3).
  • the fixed node position estimation unit 60 converts the relative estimated positions of the fixed nodes N-1 to Nk into absolute positions.
  • the mobile node position estimation unit 70 receives the adjacent node information of the mobile node from the classification unit 52, and receives the relative estimated positions of the fixed nodes N-1 to Nk from the fixed node position estimation unit 60.
  • the mobile node position estimation unit 70 estimates the positions of the mobile nodes M-1 to Mp based on the adjacent node information of the mobile node and the relative estimated positions of the fixed nodes N-1 to Nk (step S4). .
  • the mobile node position estimating unit 70 determines the position of the adjacent node information of the fixed nodes N-1 to Nk when estimating the position of the mobile node Mu (u is an integer of 1 to p). Among them, the adjacent node information of the primary neighboring fixed node of the mobile node Mu is used. The adjacent node information of the fixed node that does not correspond to the primary neighboring fixed node of the mobile node Mu is not used for position estimation of the mobile node Mu. That is, when estimating the position of the mobile node Mu, the mobile node position estimation unit 70 uses information regarding a fixed node that is within a distance of two hops from the mobile node Mu. Accordingly, the position of the mobile node Mu is estimated within a local range as compared with the position estimation of the fixed nodes N-1 to Nk.
  • Each wireless node periodically transmits a notification packet DTG including adjacent node information.
  • the classification unit 52 updates the adjacent node information used for the position estimation of the wireless node. Therefore, the position estimation apparatus 5 periodically updates the estimated position of the fixed node and the estimated position of the mobile node by repeating steps S3 to S7.
  • the position estimation device 5 determines whether or not it is the fixed node position update timing (step S5).
  • the fixed node position update timing is set, for example, every 20 seconds.
  • the fixed node position estimation unit 60 estimates the position of the fixed node again based on the adjacent node information updated by the classification unit 52 (step S3). .
  • the position estimation device 5 determines whether it is the position update timing of the mobile node (step S6).
  • the mobile node position update timing is set, for example, every 5 seconds. That is, the update frequency of the estimated position of the mobile node is higher than the update frequency of the estimated position of the fixed node. This is because the estimated position of the mobile node needs to be followed in real time in accordance with the actual movement of the mobile node.
  • the mobile node position estimation unit 70 When the mobile node position estimation unit 70 has reached the mobile node position update timing (Yes in step S6), the mobile node position estimation unit 70 performs mobile node position estimation again based on the adjacent node information updated by the classification unit 52 (step S4). .
  • step S6 determines whether or not to end the position estimation process.
  • step S7 the position estimation device 5 returns to the process of step S5.
  • step S7 the position estimation device 5 ends the process shown in FIG.
  • FIG. 10 is a flowchart showing the operation of the fixed node position estimation unit 60.
  • the process of estimating the positions of the fixed nodes N-1 to Nk (step S3) will be described in detail with reference to FIG.
  • the fixed node position estimation unit 60 acquires the adjacent node information of the fixed nodes N-1 to Nk from the classification unit 52 (step S31).
  • the fixed topology generation unit 61 generates a fixed topology corresponding to each fixed node based on the adjacent node information acquired in step S31 (step S32), and outputs the generated fixed topology to the position update unit 63.
  • the fixed topology generation unit 61 executes the following processes (1) to (3) to generate a fixed topology corresponding to each fixed node.
  • i is an integer of 1 to k.
  • the fixed node included in the adjacent node information of the fixed node Ni is set to the primary neighboring node Nj of the fixed node Ni (j is an integer not less than 1 and not more than k that satisfies i ⁇ j). .
  • a fixed node that is included in the adjacent node information of the primary neighbor node Nj and that is not included in the adjacent node information of the fixed node Ni is a fixed node that uses the fixed node Nj as a relay node Let Ni be the secondary neighboring nodes.
  • the fixed node included in the adjacent node information of the nth-order neighbor node, and the fixed node not included in the adjacent node information of the neighbor node group up to the (n-1) th order is relayed to the n-th neighbor node
  • the node is a (n + 1) -order neighboring node of the fixed node Ni that is a node.
  • n is preferably 3 or more.
  • a multi-order neighboring node of the fixed node Ni in the wireless network 10 is set.
  • the multi-order neighboring node of the fixed node Ni set in this way corresponds to the fixed topology of the fixed node Ni.
  • the fixed topology generation unit 61 executes the above (1) to (4) for each of the fixed nodes N-1 to Nk, and generates a fixed topology for each of the fixed nodes N-1 to Nk.
  • the location updating unit 63 refers to the fixed topology of each fixed node and sets the distance between the fixed nodes using the number of hops (step S33).
  • the fixed topology corresponding to the fixed node Ni is information indicating the n-th neighbor node of the fixed node Ni.
  • Steps S34 to S36 the fixed node position estimation unit 60 executes Steps S34 to S36 to estimate the absolute position of each fixed node for the first time.
  • the fixed topology generated in step S2 is used.
  • the virtual topology generated in step S38 is used. Regardless of whether a fixed topology or a virtual topology is used, the position estimation process of each fixed node is the same.
  • step S32 the position estimation based on the fixed topology generated in step S32 will be described in detail.
  • the self-location generating unit 62 recognizes the fixed nodes N-1 to Nk constituting the wireless network 10 based on the adjacent node information acquired in step S31.
  • the self position generation unit 62 randomly generates temporary self positions w i (t) of the recognized fixed nodes N-1 to Nk (step S34).
  • the temporary self-position is set on predetermined two-dimensional coordinates.
  • i is an integer of 1 to k and indicates any one of the fixed nodes N-1 to Nk.
  • t indicates the number of times the temporary self-position is updated.
  • the position updating unit 63 acquires the temporary self position w i (t) of the fixed node Ni generated by the self position generating unit 62, and updates the acquired temporary self position with a predetermined number of updates ( Step S35).
  • the temporary self-position after being updated by a predetermined number of updates is determined as the relative estimated position of the fixed node Ni.
  • the self-position of the tentative fixed node N-i w i (t) is fixed node N-i tentative self-position of the w i (t) and the tentative self-position of the n-th neighbor nodes w n (
  • calculated using t) is corrected so as to approach the distance nd consisting of the number of hops from the fixed node Ni to the n-th neighbor node.
  • An n-order correction vector for correcting the temporary self-position w i (t) of the fixed node Ni using the temporary self-position w n (t) of the n -th neighbor node is obtained by Expression (1). .
  • the position update unit 63 uses a wide range of neighboring nodes in the initial stage of the temporary self-position update. Then, the position update unit 63 converges the update using a local and detailed topology by reducing the number of hops of neighboring nodes used for the update as the provisional self-position update progresses.
  • ⁇ n ⁇ 1 the update start threshold value for the hop number n.
  • ⁇ i (t) is a learning function of the fixed node Ni in the t-th correction, and is determined by the following equation (3).
  • is a positive attenuation constant.
  • the initial value ⁇ i (0) of the learning function ⁇ i (t) is 1.
  • the number of updates is equal, and for 2 hops, local location estimation is performed, so update starts in descending order from the maximum number of hops as a ratio twice the number of updates in other hops And a threshold value for updating completion.
  • the position update unit 63 sequentially applies the provisional self-position w i (t) of the fixed node Ni by sequentially applying the correction vector from the uppermost stage to the lowermost stage of the right side of Expression (2). Update.
  • the uppermost correction vector (V i ⁇ 1 ⁇ (t) + V i ⁇ n ⁇ (t)) on the right side of Equation (2) is composed of the sum of the primary correction vector and the n-order correction vector.
  • the second correction vector (V i ⁇ 1 ⁇ (t) + V i ⁇ n ⁇ 1 ⁇ (t)) from the top of the right side of Equation (2) is expressed as a primary correction vector, an (n ⁇ 1) -order correction vector, Of the sum of
  • the second correction vector (V i ⁇ 1 ⁇ (t) + V i ⁇ 3 ⁇ (t)) from the bottom of the right side of the equation (2) is expressed by the first correction vector and the third correction vector. Made of sum.
  • the lowermost correction vector (V i ⁇ 1 ⁇ (t) + V i ⁇ 2 ⁇ (t)) on the right side of Expression (2) is composed of the sum of the primary correction vector and the secondary correction vector.
  • the position updating unit 63 updates the temporary self-location w i (t) of the fixed node Ni using the primary neighbor node and the n-order neighbor node of the fixed node Ni, and then the fixed node Ni
  • the temporary self-location w i (t) of the fixed node Ni is updated using the primary neighbor node of Ni and the (n ⁇ 1) -order neighbor node, and thereafter the fixed node N ⁇
  • the temporary self-location w i (t) of the fixed node Ni is updated using the primary neighboring node and the tertiary neighboring node of i, and finally the primary neighboring node of the fixed node Ni and 2
  • the temporary self-location w i (t) of the fixed node Ni is updated using the next neighboring node.
  • the temporary self-location w i (t) of the fixed node Ni can be updated locally and locally, and the temporary self-location w i (t) of the fixed node Ni is converged to a certain position. be able to.
  • the correction vector (V i ⁇ 1 ⁇ (t) + V i ⁇ 10 ⁇ (T)), (V i ⁇ 1 ⁇ (t) + V i ⁇ 9 ⁇ (t)), ..., (V i ⁇ 1 ⁇ (t) + V i ⁇ 3 ⁇ (t)) If the number of updates is one, the number of updates using the correction vector (V i ⁇ 1 ⁇ (t) + V i ⁇ 2 ⁇ (t)) is two. As a result, the number of updates using all the correction vectors is 10.
  • the number of updates using all the correction vectors on the right side of Equation (2) is generally np. Therefore, the number of updates of the provisional self-position w i (t) using Equation (2) is determined by determining n and then determining p.
  • the conversion unit 64 receives from the position update unit 63 the relative estimated position of each fixed node (temporary self-position W i (t) of the fixed node that has been updated) obtained in step S35.
  • the conversion unit 64 converts the received relative estimated position of each fixed node into an absolute position using the relative estimated position and absolute position of the anchor node (step S36).
  • Conversion unit 64 the formula (4) coefficients a, b, c, d, t x, the t y determined from the coefficients and the determined a, b, c, d, t x, t y the formula (5) To convert all the relative estimated positions of the fixed nodes N-1 to Nk to absolute positions.
  • Topology contradiction determination unit 65 receives the absolute positions of fixed nodes N-1 to Nk from conversion unit 64. Based on the received absolute positions of fixed nodes N-1 to Nk, topology conflict determination unit 65 determines the presence or absence of topology conflict in each fixed node and calculates region determination value V T_AVE (step S37). .
  • FIG. 11 is a conceptual diagram showing a topology inconsistency that occurs when the positions of the fixed nodes N-1 to Nk shown in FIG. 1 are estimated.
  • the fixed node Ni exists at the temporary self-location w i (t).
  • a primary neighboring node (fixed node) exists at a position at a distance d 1 from the fixed node Ni
  • a secondary neighboring node (fixed node) exists at a position at a distance d 2 from the fixed node Ni.
  • the number of hops of the primary neighbor node is 1, and the number of hops of the secondary neighbor node is 2.
  • the inter-node distance is set based on the number of hops as described above. Therefore, in the original topology, the provisional self-location w i (t) of the fixed node Ni is closer to the primary neighboring node than the secondary neighboring node.
  • topology bend means that the angle formed by the vector from the fixed node Ni to the primary neighboring node and the vector from the primary neighboring node to the second neighboring node is within the range of 90 to 270 degrees.
  • FIG. 12 is a conceptual diagram for explaining processing for determining whether or not a topology inconsistency has occurred.
  • the fixed node Ni, the primary neighboring node Nj of the fixed node Ni, the secondary neighboring node of the fixed node Ni, and the primary neighboring node As shown in FIG. 12A, the fixed node Ni, the primary neighboring node Nj of the fixed node Ni, the secondary neighboring node of the fixed node Ni, and the primary neighboring node Assume that the estimated positions of the fixed nodes Nh that are Nj's primary neighboring nodes are w i , w j , and w h , respectively.
  • i, j, and h are all integers of 1 to k and satisfy the conditions of i ⁇ j, j ⁇ h, and h ⁇ i.
  • the estimated position w h fixed nodes N-h is a factor of bending of the topology.
  • the topology inconsistency determination of w h to reference point w i, w j is in the range capable of detecting the topology inconsistency w h
  • outside the ( Satisfy the condition of no topology conflict).
  • corresponds to the distance d 2 shown in FIG. 11
  • corresponds to the distance d 1 shown in FIG. That is, simply by comparing the distance d 1 and distance d 2 simply can not detect the bending by the estimation position w h.
  • the adaptive region for determining the topology contradiction is expanded.
  • the estimated positions w i and w j of the fixed nodes Ni and Nj are set as reference points.
  • the space where the fixed node Ni is arranged is defined as a fixed node N ⁇ a region close to the i estimated position w i of, divided into a region close to the estimated position w j of N-j
  • the estimated position w h fixed nodes N-h is present in either of the divided two regions Determine whether.
  • the area on the left side of the vertical bisector L1 H (region indicated by hatching), the estimated position w h fixed nodes N-h is, be a region close to the estimated position w i of the fixed node N-i
  • the area on the right side of the vertical bisector L1 H is estimated position w h fixed nodes N-h is a region close to the estimated position w j fixed nodes N-j.
  • Fixed node N-h is, since the secondary neighbors fixed nodes N-i, w h must be located in the area close to the w j.
  • a common primary neighborhood of the fixed node Ni and the fixed node Nj Node N-g is used as a reference point.
  • the space where the fixed node Nh is arranged is divided into an area close to the estimated position w i of the fixed node Ni and an area close to the estimated position w g of the fixed node Ng. dividing the estimated position w h fixed nodes N-h determines whether or present in either of the divided two regions.
  • the area on the left side of the vertical bisector L2 H (region indicated by hatching), the estimated position w h fixed nodes N-h is a region close to the estimated position w i of the fixed node N-i
  • the area on the right side of the vertical bisector L2 H is estimated position w h fixed nodes N-h is a region close to the estimated position w g of the fixed node g.
  • Fixed node N-h is, since the secondary neighbors fixed nodes N-i, w h must be located in the area close to the w g. Therefore, if the estimated position w h fixed nodes N-h are located in a region (a region hatched) close to the estimated position w i of the fixed node N-i (
  • the area determination shown in FIG. 12C is performed by changing the common combination of primary neighboring nodes a plurality of times. If the region determination value V T obtained by the equation (6) is larger than a predetermined threshold in the result of performing a plurality of times, it is finally determined that the topology contradiction has occurred in the fixed node Ni.
  • V T represents the area judgment value at fixed node N-i, A, in the fixed node N-i, which determines the presence or absence of topology inconsistency by using the common primary neighboring group went A represents the number of occurrences of topology inconsistency.
  • the common primary neighbor group is a primary neighbor node of the fixed node Ni that is a criterion for determining the topology contradiction
  • the fixed primary node Nh that is the secondary neighbor node of the fixed node Ni. It is composed of fixed nodes that are primary neighboring nodes.
  • the region determination value V T is a numerical value of 0 or more and 1 or less, and the value approaches 0 as the number of occurrences of topology contradiction in the fixed node Ni to be determined decreases.
  • topology inconsistency due to bending can be expanded, and topology inconsistency due to bending can be detected effectively.
  • the topology contradiction determining unit 65 determines the presence or absence of topology contradiction based on each of the fixed nodes N-1 to Nk, thereby determining the region determination value V for each of the fixed nodes N-1 to Nk. T is calculated.
  • the topology contradiction determining unit 65 calculates a region determination value V T_AVE that is an average value of the region determination values V T for each of the fixed nodes N-1 to Nk , and outputs the calculated region determination value V T_AVE to the virtual topology generation unit 66. Similar to the region determination value V T , the region determination value V T_AVE is a numerical value between 0 and 1, and the value approaches 0 as the number of occurrences of topology inconsistencies in the fixed nodes N-1 to Nk decreases. .
  • the area determination value V T_AVE calculated in the above procedure corresponds to the fixed topology because it is obtained from the estimated positions of the fixed nodes N-1 to Nk based on the fixed topology.
  • the region determination value V T_AVE is also obtained from the estimated positions of the fixed nodes N-1 to Nk based on the virtual topology. That is, the region determination value V T_AVE and the topology correspond one-to-one.
  • the virtual topology generation unit 66 receives the area determination value V T_AVE, generates new virtual topology using the received region identification value V T_AVE (step S38).
  • the arrangement relationship of the fixed nodes N-1 shown in the virtual topology is different from the arrangement relationship of the fixed nodes shown in the fixed topology. Details of step S38 will be described later.
  • the position estimation device 5 estimates again the position of each fixed node using the generated virtual topology (steps S34 to S36), and the fixed topology is fixed. Based on the estimated position of the node, the region determination value V T_AVE is recalculated (step S37). That is, the position estimation device 5 calculates the region determination value V T_AVE corresponding to the virtual topology.
  • the position estimation apparatus 5 repeats steps S34 to S39 until the virtual topology generation unit 66 determines the end of generation of the virtual topology (Yes in step S39).
  • the position estimation device 5 outputs the position estimation results of the fixed nodes Ni to NK (Step S40).
  • the virtual topology generation unit 66 specifies the minimum region determination value V T_AVE obtained from the region determination values V T_AVE obtained so far, and selects the smallest one from the fixed topology and the virtual topology.
  • the topology corresponding to the area determination value V T_AVE is specified.
  • the virtual topology generation unit 66 outputs the absolute positions of the fixed nodes Ni to NK obtained from the specified topology as the position estimation result (step S40). Thereby, the fixed node position estimation process (step S3) ends.
  • the virtual topology generation unit 66 receives the region determination value V T_AVE from the topology inconsistency determination unit 65, and generates a virtual topology of the fixed node based on the received region determination value V T_AVE (step S38).
  • the virtual topology is set based on a virtual wireless communication distance that is virtually set as a distance at which each fixed node can directly receive an advertisement packet from another fixed node.
  • the virtual wireless communication distance is referred to as “inter-virtual node distance”.
  • the virtual topology generation unit 66 Each time the virtual topology generation unit 66 receives the region determination value V T_AVE , the virtual topology generation unit 66 updates the inter-virtual node distance and generates a virtual topology based on the updated inter-virtual node distance. Then, as described above, the position of each fixed node is estimated again based on the generated virtual topology, and the region determination value V T_AVE corresponding to the generated virtual topology is calculated.
  • FIG. 13 is a graph showing the relationship between the fixed node wireless communication distance and the position estimation error when the position of each fixed node is estimated by the method shown in Non-Patent Document 1 when the absolute position of the fixed node is set in advance. It is. Specifically, in the method shown in Non-Patent Document 1, the position of each fixed node is estimated using only steps S31 to S36 among the steps shown in FIG. In FIG. 13, the horizontal axis indicates a 1-hop wireless communication distance (a wireless communication distance capable of directly receiving an advertisement packet), and the vertical axis indicates a position estimation error.
  • the position estimation error is substantially downward with respect to the wireless communication distance regardless of whether the number of nodes is 50, 100, or 150. This means that there is an optimal wireless communication distance that can minimize the position estimation error of the fixed node.
  • the wireless communication distance is shorter than the optimum wireless communication distance, the number of primary neighboring nodes in each fixed node is reduced, and the topology information of the primary neighboring nodes used for position estimation of the fixed node becomes insufficient. As a result, as the wireless communication distance becomes shorter than the optimal wireless communication distance, the position estimation accuracy rapidly deteriorates.
  • the wireless communication distance is longer than the optimum wireless communication distance
  • the number of fixed nodes at one hop position increases with respect to a certain fixed node.
  • the hop resolution is low in the topology information of the primary neighboring node of the reference fixed node. That is, since a plurality of fixed nodes at various distances from the reference fixed node are collectively treated as primary neighboring nodes, the communication distance obtained from the number of hops (step S33; see FIG. 10) and the actual wireless communication distance. The gap increases between. As a result, as the wireless communication distance becomes longer than the optimal wireless communication distance, the position estimation accuracy deteriorates.
  • the position estimation device 5 cannot acquire a position estimation error.
  • a method of controlling the transmission power of each fixed node to control the wireless communication distance of each fixed node is conceivable.
  • the position estimation device 5 uses the inter-virtual node distance instead of the actual wireless communication distance, and uses the region determination value V T_AVE instead of the position estimation error.
  • the position estimation device 5 searches for the minimum area determination value V T_AVE corresponding to the optimum wireless communication distance, and determines the absolute position obtained from the topology corresponding to the minimum area determination value V T_AVE obtained as a result of the search as the position. Output as an estimation result.
  • the area determination value V T_AVE indicates the frequency of occurrence of topology inconsistency when the position of each fixed node in the wireless network 10 is estimated. As the region determination value V T_AVE approaches 0, topology inconsistency decreases with respect to the estimated position of each sensor note, and it can be considered that the position of each fixed node is estimated with high accuracy.
  • FIG. 14 is a graph showing the relationship between the fixed node position estimation error and the region determination value when the communication distance is set to 0.15 to 0.5.
  • the position estimation error of the fixed node shown in FIG. 14 is the same as the position estimation error shown in FIG. As shown in FIG. 14, there is a certain correlation that the position estimation error decreases as the region determination value decreases. Therefore, when the minimum area determination value V T_AVE is specified and the position of each fixed node is estimated based on the virtual topology corresponding to the specified area determination value V T_AVE , the error of the estimated position is assumed to be very small.
  • FIG. 15 is a diagram illustrating an example of coverage of the fixed node N-1.
  • solid lines connecting the fixed nodes N-1 to N-10 indicate actual radio communication links.
  • Region R1 shows the actual coverage of fixed node N-1.
  • the actual wireless communication distance of the fixed node N-1 corresponds to the radius of the region R1.
  • the fixed node N-1 can directly communicate with the fixed nodes N-2 to N-8 located in the region R1. That is, the fixed nodes N-2 to N-8 are primary neighboring nodes of the fixed node N-1, and the identification information of the fixed nodes N-2 to N-8 is changed to the adjacent node information of the fixed node N-1. be registered. Fixed nodes N-9 and N-10 located outside the region R1 are secondary neighboring nodes of the fixed node N-1.
  • FIG. 16 is a diagram showing a virtual coverage of the fixed node N-1 based on the distance between the virtual nodes.
  • a region R2 is the virtual coverage of the fixed node N-1, and the radius of the region R2 corresponds to the inter-virtual node distance. That is, FIG. 16 shows a virtual primary neighboring node of the fixed node N-1 when the distance between virtual nodes is smaller than the actual wireless communication distance.
  • the virtual primary neighboring nodes of the fixed node N-1 are fixed nodes N-2, N-4, N-6, and N-8.
  • the primary neighboring nodes of the fixed node N-1 can be virtually reduced.
  • the actual wireless communication distance between the virtual nodes it is possible to virtually increase the primary neighboring nodes of the fixed node N-1.
  • the position estimation device 5 searches for the minimum region determination value V T_AVE .
  • the graph shown in FIG. 13 uses an average of position estimation errors, and the actual fluctuation width of the position estimation error is larger than the fluctuation width shown in FIG. For this reason, when the minimum value of the region determination value V T_AVE is specified using the steepest descent method, the local solution of the region determination value V T_AVE may be erroneously specified as the minimum value.
  • the virtual topology generation unit 66 searches for the minimum region determination value V T_AVE based on the following procedure. Specifically, the virtual topology generation unit 66 stores the smallest area determination value V T_AVE among the area determination values V T_AVE calculated so far. Virtual topology generation unit 66, in the vicinity between virtual nodes distance corresponding to the region determination value V T_AVE currently stored, the distance between the virtual nodes that may be smaller region determination value V T_AVE currently stored Assume it exists.
  • the virtual topology generation unit 66 updates the inter-virtual node distance in a direction in which the currently stored area determination value V T_AVE becomes smaller, and newly generates a virtual topology based on the updated inter-virtual node distance.
  • the virtual topology generation unit 66 compares the region determination value V T_AVE obtained from the new virtual topology with the currently stored region determination value V T_AVE .
  • the virtual topology generation unit 66 searches for the minimum region determination value V T_AVE by repeating these processes.
  • the virtual topology generation unit 66 determines whether or not to continue searching for the minimum region determination value V T_AVE .
  • (1) When the update rate of the minimum value of the region determination value V T_AVE is high, there is a high possibility that a new minimum value will be found, and therefore it is necessary to continue searching for the minimum value.
  • (2) When a low minimum value of the update rate of the region determination value V T_AVE, likely have found the minimum value of the region determination value V T_AVE. That is, when the update rate of the minimum value of the region determination value V T_AVE is equal to or greater than a preset threshold value, the virtual topology generation unit 66 continues searching for a new virtual topology.
  • the virtual topology generation unit 66 determines that the minimum region determination value V T_AVE has been specified, and determines the end of generation of the virtual topology. To do.
  • step S38 [3.7.1.1 Setting Virtual Topology for the First Time] 17 and 18 are flowcharts showing the operation of the virtual topology generation unit 66.
  • step S38 see FIG. 10
  • the virtual topology generation unit 66 determines whether or not a virtual topology has already been generated (step S101). Since the virtual topology is not generated in the position estimation of the fixed node (Yes in step S101), the virtual topology generation unit 66 initializes parameters used for searching for the minimum region determination value V T_AVE (step S102). ).
  • step S102 the virtual topology generation unit 66 sets the best region determination value, the best region determination value update rate, the end reference update rate, the probability variables a and b, and the distance between virtual nodes.
  • the best region determination value is the minimum region determination value V T_AVE among the region determination values V T_AVE corresponding to each of the virtual topology and the fixed topology.
  • the region determination value V T_AVE initially input to the virtual topology generation unit 66 is set as the best region determination value.
  • the best region determination value update rate indicates the update frequency of the best region determination value, and is a numerical value between 0 and 1. Specifically, the best region determination value update rate is obtained by dividing the number of updates of the best region determination value by the total number of fixed topologies and virtual topologies generated so far. In step S102, the best region determination value update rate is set to 1 because the best region determination value is updated by the input of the first region determination value VT_AVE .
  • the end reference update rate is a threshold value for determining whether or not to end the virtual topology generation.
  • the virtual topology generation unit 66 initializes the probability variables a and b of the probability distribution function P (a, b) to zero. Details of the probability distribution function P (a, b) will be described later.
  • the virtual topology generation unit 66 sets an initial value of the distance between virtual nodes. Based on the absolute position of each fixed node converted by the conversion unit 64 and the adjacent node information of the fixed node, the virtual topology generating unit 66 is a distance between the fixed node and the primary neighboring node registered in the adjacent node information. Calculate the average value of. The average distance obtained by calculation is used as an initial value of the distance between virtual nodes. The initial value of the distance between virtual nodes set in this way corresponds to the virtual wireless communication distance of the fixed topology.
  • step S102 the virtual topology generation unit 66 proceeds to step S116 shown in FIG.
  • the virtual topology generation unit 66 generates a uniform random number from 0 to 1, and compares the generated random number with the probability distribution function P (a, b) (step S116).
  • Step S116 When the probability distribution function P (a, b) is larger than the random number (Yes in Step S116), the virtual topology generation unit 66 makes the inter-virtual node distance smaller than the current inter-virtual node distance (Step S117). On the other hand, when the probability distribution function P (a, b) is equal to or less than the random number (No in step S116), the distance between virtual nodes is set larger than the current distance between virtual nodes (step S118).
  • the probability distribution function P (a, b) will be described in detail. As described above, the probability distribution function P (a, b) is used to determine whether to decrease or increase the distance between virtual nodes.
  • the probability distribution function P (a, b) is expressed by equation (7).
  • the probability variable a is the number of cases where the area determination value V T_AVE decreases when the distance between virtual nodes is reduced, and the area determination value V T_AVE increases when the distance between virtual nodes is increased. It is the sum of the case. That is, the random variable a indicates the number of times that the region determination value V T_AVE has become smaller when the distance between virtual nodes is reduced.
  • the random variable b is the sum of the number of cases where the region determination value V T_AVE decreases when the distance between virtual nodes is increased and the case where the region determination value V T_AVE increases when the distance between virtual nodes is small. That is, the random variable b indicates the number of times that the region determination value V T_AVE has become larger when the distance between virtual nodes is increased.
  • Whether or not to reduce the distance between virtual nodes is determined based on the comparison result between the probability distribution function P (a, b) and the random number, as shown in step S116.
  • the virtual topology generation unit 66 randomly determines whether to decrease or increase the distance between virtual nodes by setting the random variables a and b to 0 in step S102.
  • step S117 the process of reducing the distance between virtual nodes.
  • the virtual topology generation unit 66 acquires the adjacent node information of the fixed node, and acquires the absolute position of each fixed node from the conversion unit 64.
  • the virtual topology generation unit 66 reduces the inter-virtual node distance so that the number of primary neighboring nodes in at least one fixed node among the fixed nodes N-1 to Nk decreases.
  • the decrease number of the primary neighboring nodes may be one or more. For example, consider the case where the distance between virtual nodes is set to the radius of the region R1, as shown in FIG. In this case, when the distance between the virtual nodes is decreased from the radius of the region R1 to the radius of the region R2, the number of primary neighboring nodes of the fixed node N-1 is decreased from 7 to 4.
  • the virtual topology generation unit 66 uses at least one fixed node among the fixed nodes N-1 to Nk.
  • the inter-virtual node distance is increased so that the number of primary neighboring nodes in increases.
  • the increase in the number of primary neighboring nodes may be one or more. For example, consider the case where the distance between virtual nodes is set to the radius of the region R1, as shown in FIG. In this case, the inter-virtual node distance may be increased from the radius of the region R1 so that the fixed node N-9 becomes a primary neighboring node of the fixed node N-1.
  • the virtual topology generation unit 66 generates a virtual topology based on the changed inter-virtual node distance (step S119). Specifically, the virtual topology generation unit 66 sets other fixed nodes within the range of the inter-virtual node distance changed in step S117 or S118 with respect to the absolute position of the fixed node Ni as a fixed node N By identifying the primary neighbor node of -i, virtual adjacent node information for the fixed node Ni is generated. Then, the virtual topology generation unit 66 generates a virtual topology for each fixed node based on the virtual adjacent node information in the same procedure as in step S2.
  • the position update unit 63 receives the virtual topology from the virtual topology generation unit 66, and estimates the position of each fixed node by updating the temporary self-position of each fixed node based on the received virtual topology.
  • the position update unit 63 may use a random temporary self-position newly generated by the self-position generation unit 62, or may use the previous topology or virtual An estimated position estimated based on the topology may be used.
  • the virtual topology generating unit 66 determines whether or not it is the first generation of the virtual topology (step S101). Since the virtual topology has already been generated (No in step S101), the virtual topology generation unit 66 compares the current region determination value with the best region determination value (step S103).
  • the virtual topology generation unit 66 updates the best region determination value with the current region determination value (step S104), and the best region determination value.
  • the update rate is updated (step S105).
  • the virtual topology generation unit 66 reinitializes the random variables a and b to 0 in order to search for a smaller area determination value V T_AVE (step S106). Thereby, since the value of the probability distribution function P (a, b) is 0.5, the correction direction of the inter-virtual node distance used for setting the current virtual topology is randomly determined.
  • the virtual topology generation unit 66 compares the probability distribution function P (a, b) with a random number (step S116), and based on the comparison result, reduces the inter-virtual node distance (step S117) and the inter-virtual node distance. A process of increasing the value (step S118) is executed.
  • the virtual topology generating unit 66 determines whether or not it is the first generation of virtual topology (step S101). Since the virtual topology has already been generated (No in step S101), the virtual topology generation unit 66 compares the current region determination value with the best region determination value (step S103).
  • the virtual topology generation unit 66 compares the best region determination value update rate with the end reference update rate (step S107). The case where the best region determination value update rate is smaller than the end reference update rate (Yes in step S107) will be described later.
  • the virtual topology generation unit 66 continues to search for the minimum value because a new minimum value is likely to be found. .
  • the virtual topology generation unit 66 determines whether or not the distance between the virtual nodes has been reduced when generating the current virtual topology (step S109). That is, the virtual topology generation unit 66 compares the inter-virtual node distance used for generating the current virtual topology with the inter-virtual node distance used for generating the previous topology.
  • the immediately preceding topology is a topology (fixed topology or virtual topology) generated immediately before the current virtual topology.
  • the virtual topology generation unit 66 When the distance between virtual nodes used to generate the current virtual topology is smaller than the distance between virtual nodes used to generate the previous topology, the virtual topology generation unit 66 generates a virtual node when generating the current virtual topology. It is judged that the distance between the two has been reduced.
  • Step S110 the virtual topology generation unit 66 proceeds to Step S110 shown in FIG. 18 and compares the current region determination value with the previous region determination value (Step S110). S110).
  • the previous area determination value corresponds to the immediately preceding virtual topology. By comparing the current region determination value with the previous region determination value, it is determined whether the region determination value V T_AVE is decreasing or increasing.
  • step S110 If the previous region determination value is larger than the current region determination value (Yes in step S110), this corresponds to a case where the region determination value V T_AVE is decreased by decreasing the distance between virtual nodes. In this case, there is a high possibility that a smaller area determination value V T_AVE can be obtained by further reducing the distance between the virtual nodes.
  • the probability distribution function P (a, b) approaches 1 and thus the probability that the probability distribution function P (a, b) is larger than the uniform random number increases. As a result, the probability that the process of reducing the inter-node communication distance (step S117) is increased.
  • the virtual topology generation unit 66 adds 1 to the random variable a in order to reduce the distance between virtual nodes (step S111).
  • step S110 if the previous area determination value is equal to or smaller than the current area determination value in step S110 (No in step S110), this corresponds to a case where the area determination value is increased by decreasing the distance between the virtual nodes. In this case, it is highly possible to obtain a smaller area determination value V T_AVE by increasing the distance between the virtual nodes.
  • the probability distribution function P (a, b) approaches 0, so that the probability that the probability distribution function P (a, b) is equal to or less than a uniform random number increases. As a result, the probability that the process of increasing the inter-virtual node distance (step S118) is increased.
  • the virtual topology generation unit 66 adds 1 to the random variable b in order to increase the distance between virtual nodes (step S112).
  • the virtual topology generation unit 66 calculates a probability distribution function P (a, b) using the updated random variable a or b, and compares the calculated probability distribution function P (a, b) with a uniform random number ( Step S116). As described above, the virtual topology generation unit 66 executes a process of decreasing the distance between virtual nodes (step S117) or a process of increasing the distance between virtual nodes (step S118) according to the comparison result.
  • the virtual topology generation unit 66 refers to the virtual topology generated immediately before the execution of step S117 or S118. Specifically, the virtual topology generation unit 66 refers to the primary neighboring node of the fixed node Ni in the virtual topology generated immediately before, and determines the change amount of the inter-virtual node distance.
  • the virtual topology generation unit 66 generates a virtual topology based on the inter-node distance changed in step S117 or S118 (step S119).
  • the random variables a and b in the probability distribution function P (a, b) it is possible to control the increase / decrease in the distance between virtual nodes.
  • step S109 returns to step S109 (see FIG. 17). If the distance between the virtual nodes has been increased at the time of setting the previous virtual topology (No in step S109), the virtual topology generation unit 66 proceeds to step S113 shown in FIG. Compare with the area judgment value. By comparing the current region determination value with the previous region determination value, it is determined whether the region determination value V T_AVE is decreasing or increasing.
  • step S113 If the previous region determination value is larger than the current region determination value (Yes in step S113), this corresponds to a case where the region determination value is decreased by decreasing the distance between virtual nodes. In this case, similarly to step S111, it is highly possible that a smaller area determination value V T_AVE can be obtained by reducing the distance between virtual nodes. Accordingly, the virtual topology generation unit 66 adds 1 to the random variable a (step S114).
  • step S113 when the previous region determination value is equal to or smaller than the current region determination value (No in step S113), this corresponds to a case where the region determination value V T_AVE is increased by decreasing the distance between virtual nodes. In this case, similarly to step S112, it is highly possible that a smaller area determination value can be obtained by increasing the distance between virtual nodes. Therefore, the virtual topology generation unit 66 adds 1 to the probability variable b (step S115).
  • the virtual topology generation unit 66 calculates a probability distribution function P (a, b) using the updated random variable a or b, and compares the calculated probability distribution function P (a, b) with a uniform random number ( Step S116). As described above, the virtual topology generation unit 66 executes a process of decreasing the distance between virtual nodes (step S117) or a process of increasing the distance between virtual nodes (step S118) according to the comparison result. The virtual topology generation unit 66 generates a virtual topology based on the inter-node distance changed in step S117 or S118 (step S119).
  • FIG. 19 and 20 are graphs showing specific examples of the probability distribution function P (a, b).
  • FIG. 19 shows the distribution shape of the probability distribution function P (a, b) when the ratio (a / b) of the random variables a and b is far from 1.
  • FIG. 18 shows the distribution shape of the probability distribution function P (a, b) when the ratio (a / b) of the random variables a and b is close to 1.
  • the probability distribution function P (a, b) is initialized at the time of searching the region determination value V T_AVE for the sth time (s is an integer of 2 or more) after the random variables a and b are initialized. ) Varies depending on the ratio (a / b) of the random variables a and b.
  • the probability distribution function P (a, b) is strong in the direction of decreasing or increasing the distance between virtual nodes as shown in FIG. Works. Specifically, when the ratio (a / b) of the random variables a and b is greater than 1, the probability distribution function P (a, b) approaches 1, and thus the probability of reducing the distance between virtual nodes increases. That is, the area determination value V T_AVE is searched in the direction of decreasing the distance between virtual nodes. On the other hand, when the ratio (a / b) of the random variables a and b is smaller than 1, since the probability distribution function P (a, b) approaches 0, the probability of increasing the virtual node distance increases. That is, the search for the region determination value V T_AVE is performed in the direction of increasing the inter-virtual node distance.
  • the probability distribution function P (a, b) has a probability of decreasing and increasing a virtual inter-node distance as shown in FIG. Both approach 0.5. In this case, since the direction in which the distance between the virtual nodes is changed is not clear, the search is performed in any direction.
  • the virtual topology generating unit 66 determines whether or not it is the first generation of virtual topology (step S101). Since the virtual topology has already been generated (No in step S101), the virtual topology generation unit 66 compares the current region determination value with the best region determination value (step S103).
  • the virtual topology generation unit 66 determines that the search for the minimum value of the region determination value V T_AVE may have ended, The process proceeds to S107.
  • the virtual topology generation unit 66 compares the end reference update rate with the best region determination value update rate (step S107). When the best region determination value update rate is lower than the end reference update rate (Yes in step S107), the virtual topology generation unit 66 may find a region determination value V T_AVE smaller than the current best region determination value. It is determined that the virtual topology is low, and the generation of the virtual topology is determined to end (step S108).
  • the virtual topology generation unit 66 identifies the topology corresponding to the minimum region determination value V T_AVE in step S40 of FIG.
  • the virtual topology generation unit 66 outputs the absolute positions of the fixed nodes Ni to NK obtained from the specified topology as the position estimation result.
  • the position estimation device 5 estimates the position of each fixed node based on the fixed topology, and calculates the region determination value V T_AVE corresponding to the fixed topology.
  • the position estimation device 5 sets a plurality of virtual topologies by setting a plurality of distances between virtual nodes, and performs position estimation of each fixed node based on each virtual topology.
  • the position estimation device 5 calculates a region determination value V T_AVE indicating the frequency of occurrence of topology inconsistency in each virtual topology.
  • the position estimation device 5 identifies the minimum area determination value V T_AVE from among the plurality of area determination values V T_AVE , and obtains the position estimation result based on the topology corresponding to the specified minimum area determination value V T_AVE as the final position Output as an estimation result. Thereby, the position estimation accuracy of the stationary node that is stopped can be improved as compared with the conventional method.
  • FIG. 21 is a flowchart showing the operation of the mobile node position estimation unit 70.
  • the process of estimating the positions of the mobile nodes M-1 to Mp step S4 will be described in detail with reference to FIG.
  • the mobile node position estimation unit 70 acquires adjacent node information of the mobile nodes M-1 to Mp classified by the classification unit 52 (step S41).
  • the mobile topology generation unit 71 recognizes the mobile nodes M-1 to Mp based on the acquired adjacent node information.
  • the mobile topology generation unit 71 selects a mobile node Mu (u is an integer not less than 1 and not more than p) as a position estimation target from the mobile nodes M-1 to Mp (step S42).
  • the mobile topology generation unit 71 acquires adjacent node information of the fixed node located in the vicinity of the mobile node Mu (step S43). Specifically, the mobile topology generation unit 71 specifies a fixed node recorded in the adjacent node information of the mobile node Mu. The mobile topology generation unit 71 acquires adjacent node information of the identified fixed node from the classification unit 52.
  • the mobile topology generation unit 71 identifies the fixed node N-1 and the fixed node N-5 with reference to the adjacent node information 21M shown in FIG.
  • the adjacent node information of the identified fixed nodes N-1 and N-5 is acquired from the classification unit 52.
  • the mobile topology generation unit 71 generates the topology (mobile topology) of the mobile node Mu based on the adjacent node information of the mobile node Mu and the adjacent node information acquired in step S43 (step S44).
  • the procedure for generating the mobile topology is the same as the procedure for generating the fixed topology (step S32, see FIG. 10).
  • the mobile topology generation unit 71 specifies only the primary neighbor node and the secondary neighbor node of the mobile node Mu, and does not specify the tertiary or higher neighbor nodes.
  • the mobile topology generation unit 71 generates a topology in which only the primary neighbor node and the secondary neighbor node of the mobile node Mu are recorded as the mobile topology of the mobile node Mu. Further, in the mobile topology of the mobile node Mu, the primary neighbor node and the secondary neighbor node are all fixed nodes and do not include mobile nodes.
  • FIG. 22 is a diagram showing an example of the positional relationship between the mobile node M-1 and the fixed nodes N-1 to N-12.
  • the mobile topology of the mobile node M-1 when the mobile node M-1 is selected in step S42 will be described with reference to FIG.
  • the region R11 is the coverage of the mobile node M-1, and corresponds to the range in which the primary neighboring node of the mobile node M-1 is set. For this reason, in the mobile topology of mobile node M-1, fixed nodes N-1 to N-5 existing in region R11 are set as primary neighboring nodes of mobile node M-1.
  • Region R12 corresponds to a range in which the secondary neighboring node of mobile node M-1 is set.
  • fixed nodes N-6 to N-8 are set as secondary neighboring nodes of mobile node M-1.
  • the fixed nodes N-9 to N-12 are outside the range of the region R12 and correspond to the third-order neighboring nodes of the mobile node Mu. For this reason, the fixed nodes N-9 to N-12 are not included in the mobile topology of the mobile node M-1.
  • the fixed nodes N-9 to N-12 are not used for position estimation of the mobile node M-1.
  • the mobile topology of the mobile node Mu does not constitute a global topology of the entire wireless network 10, but constitutes a local topology centered on the mobile node Mu.
  • FIG. 22 does not show any mobile nodes other than the mobile node M-1.
  • the mobile topology of mobile node M-1 does not include other mobile nodes other than mobile node M-1 as primary and secondary neighbor nodes. The reason is that the position estimation accuracy of the mobile node M-1 is lowered when other mobile nodes are included in the mobile topology because the position of the mobile node is not estimated.
  • the self position generation unit 72 randomly generates a temporary self position x u (t) of the mobile node Mu selected in step S42 (step S45).
  • the temporary self-position is set on predetermined two-dimensional coordinates. t indicates the number of times the temporary self-position is updated.
  • the position update unit 73 acquires the movement topology from the movement topology generation unit 71 and acquires the temporary self position x u (t) of the mobile node Mu from the self position generation unit 72.
  • the position updating unit 73 acquires the relative estimated positions of the primary neighboring node and the secondary neighboring node from the fixed node position estimating unit 60 based on the acquired movement topology (step S46).
  • the position update unit 73 updates the acquired temporary self-position x u (t) with a predetermined number of updates (step S47).
  • the procedure for updating the temporary self-position x u (t) is the same as the procedure for updating the temporary self-position in step S35 (see FIG. 10).
  • n is set to 2 in the above formula (2). That is, when updating the provisional self-position x u (t) of the mobile node, only the lowest expression in Expression (2) is used.
  • the position update unit 73 moves the provisional self-position x u (t) of the mobile node M-u that has been updated. Output as the estimated position of the node Mu.
  • step S47 the positions of the primary neighbor node and the secondary neighbor node (fixed node) set in the mobile topology are not updated.
  • the reason for this is that the position of the fixed node has already been estimated with sufficient accuracy in the position estimation process (step S3) of the fixed node, and the position of the fixed node is changed again when the position of the mobile node is estimated (step S4). This is because there is no need to estimate.
  • the primary neighbor node and the secondary neighbor node of the mobile node Mu are used, and the third and higher neighbor nodes are not used.
  • the amount of calculation required for position estimation of the mobile node can be reduced compared to position estimation of the fixed node.
  • priority is given to the followability accompanying the movement of the mobile node rather than the accuracy. For this reason, by suppressing the number of neighboring nodes used for position estimation of the mobile node Mu, the position of the mobile node Mu can be quickly estimated.
  • the mobile topology defines only the primary neighbor node and the secondary neighbor node.
  • the mobile topology may include third-order or higher neighboring nodes.
  • the mobile topology is determined from the primary neighbor node when the fixed topology includes the primary neighbor node to the n-order neighbor node. (N-1) It is desirable to include the next neighboring node. That is, it is sufficient that the number of neighboring nodes in the mobile topology is smaller than the number of neighboring nodes in the fixed topology.
  • the conversion unit 74 receives the temporary self position (x u (t)) of the mobile node Mu that has been updated from the position update unit 73.
  • the conversion unit 74 converts the device estimated position of the received mobile node Mu into an absolute position using the estimated position and absolute position of the anchor node (step S48).
  • the procedure for converting the absolute position of the mobile node Mu in step S47 is the same as that in step S36 (see FIG. 10).
  • the conversion unit 74 outputs the absolute position of the mobile node Mu obtained in step S47 as the position estimation result of the mobile node Mu.
  • the mobile topology generation unit 71 determines whether there is an unselected mobile node (step S49).
  • step S49 If there is an unselected mobile node (Yes in step S49), the mobile topology generation unit 71 newly selects a mobile node from among the unselected mobile nodes (step S42). Thereafter, the position of the newly selected mobile node is estimated. If all mobile nodes have been selected (No in step S49), mobile node position estimation unit 70 ends the process shown in FIG.
  • the mobile node position estimation unit 70 uses the primary neighbor node and the secondary neighbor node of the mobile node Mu when estimating the position of the mobile node Mu, and uses the third and higher neighbor nodes. Do not use. As a result, the amount of computation required to estimate the position of the mobile node Mu can be reduced, and the position of the mobile node Mu can be estimated quickly.
  • the mobile topology includes fixed nodes as primary neighbor nodes and secondary neighbor nodes, and does not include mobile nodes other than the mobile node Mu. Accordingly, since the mobile node that has not been estimated for position is not used for the position estimation of the mobile node Mu, the position estimation accuracy of the mobile node Mu can be improved.
  • the mobile node M-u periodically transmits a notification packet DTG including adjacent node information while moving with time. Therefore, when the mobile node is viewed in discrete time, the mobile node can be regarded as a plurality of fixed nodes at a plurality of different times.
  • FIG. 23 is a diagram illustrating an example of a change in the position of the mobile node M-1.
  • FIG. 23 only the code of the mobile node M-1 is displayed, and the display of the code of the fixed node is omitted.
  • the position estimation device 5 estimates the position of the mobile node M-1 at time T1 using the adjacent node information of the mobile node M-1 at time T1. Thereafter, the position estimation device 5 estimates the position of the mobile node M-1 at time T2 using the adjacent node information of the mobile node M-1 at time T2, and determines the position of the mobile node M-1 at time T3. Estimation is performed using adjacent node information of mobile node M-1 at time T3.
  • the adjacent node information of mobile node M-1 at time T1 is not used. Also, when estimating the position of mobile node M-1 at time T3, the adjacent node information of mobile node M-1 at times T1 and T2 is not used.
  • the adjacent node information of the mobile node M-1 at the times T1 and T2 is the adjacent node generated by the fixed node assuming that the fixed node is installed at the position of the mobile node M-1 at the times T1 and T2. It can be considered information. That is, when the mobile node M-1 is viewed at discrete times of times T1, T2, and T3, the mobile node M-1 can be considered as a fixed node at these times.
  • the position estimation device 5 uses the adjacent node information used for the position estimation of the mobile node M-1 as the adjacent node information of the virtual fixed node.
  • the mobile topology generation unit 71 uses the fixed node location estimation unit 60 (FIG. 7) as the adjacent node information of the mobile node Mu.
  • the fixed topology generation unit 61 generates the mobile node Mu received from the mobile topology generation unit 71 in addition to the adjacent node information of the fixed nodes N-1 to Nk received from the classification unit 52 when generating the fixed topology. Is used as adjacent node information of a virtual fixed node.
  • the number of fixed nodes in the wireless network 10 can be virtually increased.
  • the position estimation accuracy of fixed nodes is improved as the number of fixed nodes increases. This is because the fixed topology used in estimating the position of the fixed node becomes more detailed as the number of fixed nodes increases.
  • the fixed node position estimation unit 60 has completed the position estimation when estimating the positions of the fixed nodes N-1 to Nk.
  • the adjacent node information of the mobile node Mu is used as the adjacent node information of the virtual fixed node.
  • the simulation conditions are as follows. A virtual two-dimensional field was assumed. The range of the two-dimensional field is 300 m long and 300 m wide. The communication radius of the wireless node including the fixed node and the mobile node is 1 m. The number of wireless nodes is 50. The number of anchor nodes is 3, and the temporary self-position update count in the position estimation of the fixed node or the mobile node is 300 times.
  • E ave — 1 is a position estimation error when a virtual fixed node is used.
  • N is the number of wireless nodes.
  • W i is the true position of each wireless node.
  • w i is the estimated position of each of the wireless nodes.
  • the position estimation error E ave — 2 when not using a virtual fixed node was also calculated using Expression (8).
  • the position estimation error E ave — 1 when using a virtual fixed node was about 11 m.
  • the position estimation error E ave — 2 when not using a virtual fixed node was about 18 m.
  • the position estimation error E ave — 1 when the virtual fixed node is used is improved to 2/3 or less of the position estimation error E ave — 2 when the virtual fixed node is not used. That is, it was confirmed that the position estimation accuracy of the wireless node can be improved by estimating the position of the wireless node using a virtual fixed node.
  • the update frequency of the estimated position of the mobile node is higher than the update frequency of the estimated position of the fixed node.
  • the position estimation apparatus 5 performs the position estimation of the mobile node 20 times after performing the first position estimation of the fixed node and before performing the second position estimation of the fixed node.
  • the simulation conditions are as follows.
  • a virtual two-dimensional field was assumed.
  • the range of the two-dimensional field is 300 m long and 300 m wide.
  • the communication radius of the wireless node including the fixed node and the mobile node is 1 m.
  • the number of wireless nodes is 300.
  • the number of fixed nodes and mobile nodes at the start of position estimation was set to 150.
  • the number of anchor nodes is three.
  • the number of temporary self-position updates in the position estimation of each of the fixed node and the mobile node is 300 times. After the fixed node position estimation was repeated 5 times, the mobile node position estimation was repeated 25 times.
  • the fixed node is changed to the mobile node with a certain probability (0.5), and the wireless node is changed to the mobile node.
  • the mobile node was moved randomly within the above field range. In estimating the position of the mobile node, the estimated position of the fixed node changed to the mobile node was not used.
  • N is the number of radio nodes including a fixed node and a mobile node.
  • W i is the true position of each wireless node.
  • w i is the estimated position of each of the wireless nodes.
  • FIG. 24 is a graph showing a temporal change in position estimation error by simulation.
  • the “cycle” on the horizontal axis indicates the number of times the position of the fixed node or the mobile node is estimated.
  • the position estimation error is 3.5 or more up to 10 times of position estimation, and the position estimation error is reduced to 2.0 or less when the number of position estimation is 10 to 15 times. Yes. This indicates that the position estimation accuracy of each wireless node is improved by repeating the position estimation from a state where the position estimation is not performed.
  • a period in which the position estimation error is reduced to 2.0 m or less appears periodically.
  • the period in which the position estimation error is reduced to 2.0 m or less is a period in which the position of the fixed node is estimated.
  • the accuracy of the estimated position of the fixed node is improved, and the position estimation error is suppressed to 2.0 m or less. .
  • the period where the position estimation error is higher than 2.0 corresponds to the period during which the position of the mobile node is estimated.
  • the position estimation error during the period in which the position of the mobile node is estimated is approximately 2 to 2.5 m. Since the fixed node changes to a mobile node with a predetermined probability, the number of fixed nodes that can be used for position estimation of the mobile node decreases with time. As a result, it is considered that the position estimation error of the mobile node increases. However, even if the position estimation error of the mobile node increases, the position estimation error is suppressed to 3 m or less because the position estimation of the fixed node is periodically performed. In other words, when estimating the position of the mobile node, it was confirmed that the position estimation error can be suppressed to 3 m or less by periodically estimating the position of the fixed node.
  • the mobile nodes M-1 to Mp include the acceleration sensor 24 .
  • the mobile nodes M-1 to Mp may include a geomagnetic sensor, a gyro sensor, or the like instead of the acceleration sensor.
  • the mobile nodes M-1 to Mp only need to include a sensor that can determine whether or not the own device is moving.
  • the wireless node may support two or more communication standards.
  • the wireless node transmits / receives advertisement packets to / from other wireless nodes using BLE or IEEE802.15.4.
  • the wireless node uses wireless communication conforming to a communication standard (for example, a wireless LAN (Local Area Network) or a mobile phone communication network) having a longer wireless communication distance than BLE, IEEE 802.15.4, or the like.
  • the notification packet DTG including the adjacent node information may be transmitted to the sink 4.
  • the sink 4 When the wireless node transmits the notification packet DTG, when the wireless LAN is used, the sink 4 corresponds to an access point, and when the mobile phone communication network is used, the sink 4 corresponds to a base station.
  • the communication standards listed here are merely examples, and the communication standards for wireless communication used by the wireless nodes are not particularly limited. Further, FIG. 1 shows a case where there is one sink 4, but the wireless network 10 may include two or more sinks 4.
  • a wireless node does not change from a fixed node to a mobile node, or from a mobile node to a fixed node.
  • the present invention is not limited to this.
  • the classification unit 52 fixes the mobile node M-1 It may be determined that the node is a node, and the adjacent node information of the mobile node M-1 may be output to the fixed node position estimation unit 60.
  • the fixed node position estimation unit 60 uses the adjacent information of the mobile node M-1 in addition to the adjacent node information of the fixed nodes N-1 to Nk, to determine the fixed nodes N-1 to Nk.
  • a fixed topology for each and a fixed topology for the mobile node M-1 may be generated.
  • the position of the mobile node M-1 is also estimated in the fixed node position estimation process (step S3).
  • the fixed node excluding the anchor node may be changed to a wireless node.
  • fixed node N-1 is not an anchor node, and that fixed node N-1 includes an acceleration sensor.
  • the fixed node N-1 generates adjacent node information that records the acceleration detected by the acceleration sensor.
  • the classification unit 52 determines that the fixed node N-1 is not moving when the acceleration recorded in the adjacent node information transmitted from the fixed node N-1 is equal to or less than a predetermined acceleration. To do.
  • the classification unit 52 determines that the fixed node N-1 is moving when the acceleration recorded in the adjacent node information transmitted from the fixed node N-1 is larger than the predetermined acceleration, and determines that the fixed node N-1 is moving. Decide to treat N-1 as a mobile node.
  • the classification unit 52 may determine whether each wireless node is a fixed node or a mobile node based on temporal changes in adjacent node information of each wireless node. For example, when the classification unit 52 newly acquires adjacent node information of the fixed node N-1, the classification unit 52 newly acquires the adjacent node information acquired immediately before the newly acquired adjacent node information. Compare with neighboring node information. When the content of the newly acquired adjacent node information has changed from the content of the adjacent node information acquired immediately before, the classification unit 52 determines that the fixed node N-1 is moving. On the other hand, when the content of the newly acquired adjacent node information has not changed from the content of the adjacent node information acquired immediately before, the classification unit 52 determines that the fixed node N-1 has not moved.
  • the virtual topology generation unit 66 uses the distance calculated from the absolute coordinates of the fixed node as the distance between the virtual nodes used when generating the virtual topology.
  • the virtual topology generation unit 66 may use an LQI (Link / Quality / Indicator) supported by IEEE 802.15.4 as the distance between the virtual nodes.
  • the LQI is a parameter indicating wireless communication quality such as a packet transmitted from each wireless node, and corresponds to the electric field strength of each wireless node.
  • the mobile node M-1 may describe the LQI at the time of receiving the advertisement packet in the adjacent node column in addition to the identification information of the wireless node.
  • the virtual topology generation unit 66 calculates the representative values (average value, intermediate value) of all LQIs recorded in the adjacent node information of each wireless node. It can be used as an initial value of the distance between virtual nodes.
  • the position estimation device 5 may estimate the positions of the fixed nodes N-1 to Nk without using the virtual topology. In this case, since the calculation amount of the position estimation of the fixed nodes N-1 to Nk can be reduced, the positions of the mobile nodes M-1 to Mp can be estimated quickly.
  • the position estimation device 5 estimates the positions of the mobile nodes M-1 to Mk.
  • the position estimation device 5 does not have to estimate the positions of the mobile nodes M-1 to Mp.
  • the position estimation device 5 can be used even when only fixed nodes are arranged in the wireless communication space.
  • part or all of the processing of each functional block (each functional unit) of the position estimation device 5 according to the above embodiment may be realized by a program. And in the position estimation apparatus 5 which concerns on the said embodiment, a part or all of the process of each functional block is performed by a central processing unit (CPU) in a computer.
  • a program for performing each processing is stored in a storage device such as a hard disk or a ROM, and is read out and executed in the ROM or the RAM. For example, when the configuration of the position estimation device 5 is configured as shown in FIG. 25, part or all of the processing of each functional block (each functional unit) of the position estimation device 5 according to the above embodiment is executed. It may be done.
  • each process of the above embodiment may be realized by hardware, or may be realized by software (including a case where it is realized together with an OS (operating system), middleware, or a predetermined library). . Furthermore, it may be realized by mixed processing of software and hardware.
  • execution order of the processing methods in the above embodiment is not necessarily limited to the description of the above embodiment, and the execution order can be changed without departing from the gist of the invention.
  • a computer program that causes a computer to execute the above-described method and a computer-readable recording medium that records the program are included in the scope of the present invention.
  • the computer-readable recording medium include a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, large-capacity DVD, next-generation DVD, and semiconductor memory. .
  • the computer program is not limited to the one recorded on the recording medium, but may be transmitted via a telecommunication line, a wireless or wired communication line, a network represented by the Internet, or the like.

Abstract

【課題】無線ノードの位置を高精度に推定可能な位置推定装置を提供することを課題とする。 【解決手段】位置推定装置5において、位置更新部63は、各固定ノードの配置関係を示す固定トポロジと各固定ノードの仮の自己位置とに基づいて、各固定ノードの推定位置を取得する。トポロジ矛盾判定部65は、固定トポロジに基づく各固定ノードの推定位置を用いて、トポロジ矛盾の発生頻度を示す領域判定値を計算する。仮想トポロジ生成部66は、固定ノード間の無線通信距離を仮想的に変更することにより仮想トポロジを生成する。仮想トポロジ生成部66は、固定トポロジに対応する領域判定値と、複数の仮想トポロジに対応する複数の領域判定値とに基づいて、固定トポロジ及び複数の仮想トポロジの中からいずれか1つのトポロジを特定し、特定したトポロジに基づく各固定ノードの推定位置を、各固定ノードの位置推定結果として出力する。

Description

位置推定装置
 本発明は、自己組織化マップを用いて無線ノードの位置を推定する位置推定装置に関する。
 複数の無線ノードにより構成される無線センサネットワークにおいて、無線ノードの位置は、無線ノードに搭載されたセンサのセンシングデータの取得位置として重要な情報である。従来、無線ノードの位置を推定する方式として、自己組織化マップ(SOM)を用いた無線ノード位置推定方式(SOL:Self-Organizing Localization)が知られている。
 SOLは、極少数のアンカーノードを使用し、測距デバイスを用いずに、高精度な位置推定が可能である。また、SOLは、障害物による見通し内(LOS:Line-Of-Sight)と見通し外(NLOS:Non-Line-Of-Sight)が混在する環境においても位置精度の劣化が少ない(例えば、非特許文献1参照)。
北之馬 貴正、高島 優斗、安達 直世、滝沢 泰久,"NLOS混在環境における無線センサネットワークの集約型自己組織化ノード位置推定方式とその精度評価",情報処理学会論文誌,Vol.57,No.2,494-506
 従来のSOLに基づく位置推定方式を用いて無線ノードの位置を推定した場合、無線ノードの推定位置が1次近傍ノードよりも2次近傍ノードに近いトポロジ矛盾が発生することがある。トポロジ矛盾が発生した場合、無線ノード、1次近傍ノード及び2次近傍ノードのいずれかの位置が誤って推定された可能性が高いため、位置推定処理が再度実行される。
 しかし、位置推定処理が再度実行された場合、新たなトポロジ矛盾が発生する可能性がある。従来のSOLに基づく位置推定方式では、トポロジ矛盾の発生を抑制することが困難であるため、無線ノードの位置推定の精度を向上させることが困難であった。
 そこで、本発明は、上記問題点に鑑み、無線ノードの位置を高精度に推定可能な位置推定装置を提供することを課題とする。
 本発明に係る位置推定装置は、取得部と、固定トポロジ生成部と、自己位置生成部と、位置更新部と、トポロジ矛盾判定部と、仮想トポロジ生成部とを備える。取得部は、1つの無線ノードから1ホップの位置に存在する1次近傍ノードの情報である隣接ノード情報をm(mは、4以上の整数)個の無線ノードの各々から取得する。固定トポロジ生成部は、m個の無線ノードの各々についての隣接ノード情報に基づいて、m個の無線ノードの配置関係を示す固定トポロジを生成する。自己位置生成部は、m個の無線ノードの仮の自己位置を生成する。位置更新部は、固定トポロジに基づいてm個の無線ノードの仮の自己位置を更新することにより、m個の無線ノードの位置を推定する。トポロジ矛盾判定部は、位置更新部により推定された一の無線ノードの位置が一の無線ノードから1ホップの位置に存在する無線ノードよりも一の無線ノードから2ホップの位置に存在する無線ノードに近いことを示すトポロジ矛盾が発生しているか否かを判定し、固定トポロジに対応するとともにm個の無線ノードにおけるトポロジ矛盾の発生頻度を示す領域判定値を計算する。仮想トポロジ生成部は、1ホップの位置に存在する2つの無線ノード間の仮想無線通信距離を設定し、仮想無線通信距離に基づいて一の無線ノードから1ホップの位置にある1次近傍ノードを再設定し、再設定された1次近傍ノードに基づいてm個の無線ノードの仮想的な配置関係を示す少なくとも1つの仮想トポロジを生成する。位置更新部は、少なくとも1つの仮想トポロジの各々に基づいて、m個の無線ノードの位置を推定する。トポロジ矛盾判定部は、少なくとも1つ仮想トポロジの各々に対応するm個の無線ノードの推定位置に基づいて、少なくとも1つ仮想トポロジの各々に対応する領域判定値を計算する。仮想トポロジ生成部は、固定トポロジに対応する領域判定値と少なくとも1つの仮想トポロジの各々に対応する領域判定値とに基づいて、固定トポロジに基づくm個の無線ノードの推定位置と、少なくとも1つの仮想トポロジの各々に基づくm個の無線ノードの推定位置とのうちいずれかを、m個の無線ノードの位置の推定結果として出力する。
 好ましくは、位置推定装置において、トポロジ矛盾判定部は、判定値比較部と、距離比較部と、離設定部とを備える。判定値比較部は、トポロジ矛盾判定部から最後に受けた現在の領域判定値を、現在の領域判定値よりも1つ前に入力された直前の領域判定値と比較する。距離比較部は、直前の領域判定値に対応する第1トポロジで用いられた仮想無線通信距離を、現在の領域判定値に対応する第2トポロジで用いられた仮想無線通信距離と比較する。距離設定部は、判定値比較部による現在の領域判定値と直前の領域判定値との比較結果と、距離比較部による第1トポロジで用いられた仮想無線通信距離と第2トポロジで用いられた仮想無線通信距離との比較結果とに基づいて、新たな仮想トポロジの生成に用いられる仮想無線通信距離を設定する。
 好ましくは、位置推定装置において、距離設定部は、第2トポロジで用いられた仮想無線通信距離が第1トポロジで用いられた仮想無線通信距離よりも小さいと距離比較部により判断され、かつ、現在の領域判定値が直前の領域判定値よりも小さいと判定値比較部により判断された場合、新たな仮想トポロジの生成に用いられる仮想無線通信距離を、第2トポロジで用いられた仮想無線通信距離よりも小さくする。距離設定部は、第2トポロジで用いられた仮想無線通信距離が第1トポロジで用いられた仮想無線通信距離よりも小さいと距離比較部により判断され、かつ、現在の領域判定値が直前の領域判定値以上であると判定値比較部により判断された場合、新たな仮想トポロジの生成に用いられる仮想無線通信距離を、第2トポロジで用いられた仮想無線通信距離よりも大きくする。
 好ましくは、位置推定装置において、距離設定部は、第2トポロジで用いられた仮想無線通信距離が第1トポロジで用いられた仮想無線通信距離以上である距離比較部により判断され、かつ、現在の領域判定値が直前の領域判定値よりも大きいと判定値比較部により判断された場合、新たな仮想トポロジの生成に用いられる仮想無線通信距離を、第2トポロジで用いられた仮想無線通信距離よりも小さくする。距離設定部は、第2トポロジで用いられた仮想無線通信距離が第1トポロジで用いられた仮想無線通信距離以上であると距離比較部により判断され、かつ、現在の領域判定値が直前の領域判定値以下である判定値比較部により判断された場合、新たな仮想トポロジの生成に用いられる仮想無線通信距離を、第2トポロジで用いられた仮想無線通信距離よりも大きくする。
 好ましくは、位置推定装置は、さらに、最小値決定部と、最小値比較部と、更新率比較部とを備える。最小値決定部は、固定トポロジに対応する領域判定値と、第1仮想トポロジから第k(kは2以上の整数)仮想トポロジまでの各々の領域判定値との中から、領域判定値の最小値を決定する。最小値比較部は、第(k+1)仮想トポロジに対応する領域判定値を新たにトポロジ矛盾判定部から受けた場合、第(k+1)仮想トポロジに対応する領域判定値を最小値と比較する。更新率比較部は、第(k+1)仮想トポロジに対応する領域判定値が最小値よりも大きい場合、最小値の更新率を所定の閾値と比較する。仮想トポロジ生成部は、更新率が閾値よりも小さいと更新率比較部により判定された場合、最小値に対応するトポロジに基づくm個の無線ノードの推定位置を、m個の無線ノードの位置推定結果として出力することを決定する。
 また、本発明に係る位置推定装置は、取得部と、固定ノード位置推定部と、移動ノード位置推定部とを備える。取得部は、1つの無線ノードから1ホップの位置に存在する1次近傍ノードの情報である隣接ノード情報を、無線通信空間内を移動する移動無線ノードと無線通信空間内を移動しないm(mは、4以上の整数)個の固定無線ノードとの各々から取得する。固定ノード位置推定部は、m個の固定無線ノードの各々についての隣接ノード情報に基づいて、m個の固定無線ノードの位置を推定する。移動ノード位置推定部は、移動無線ノードの隣接ノード情報と固定ノード位置推定部によるm個の固定無線ノードの推定位置とに基づいて、移動無線ノードの位置を推定する。固定ノード位置推定部は、固定トポロジ生成部と、第1自己位置生成部と、第1位置更新部と、を備える。固定トポロジ生成部は、m個の固定無線ノードの各々についての隣接ノード情報に基づいて、m個の固定無線ノードの配置関係を示す固定トポロジを生成する。第1自己位置生成部は、m個の固定無線ノードの仮の自己位置を生成する。第1位置更新部は、固定トポロジに基づいてm個の固定無線ノードの仮の自己位置を更新することにより、m個の固定無線ノードの位置を推定する。移動ノード位置推定部は、移動トポロジ生成部と、第2自己位置生成部と、第2位置更新部とを備える。移動トポロジ生成部は、m個の固定無線ノードのうち移動無線ノードの隣接ノード情報に記録された固定無線ノードである隣接固定ノードの隣接ノード情報を取得部から取得し、移動無線ノードの隣接ノード情報と隣接固定ノードの隣接ノード情報とに基づいて、移動無線ノードのトポロジを生成する。第2自己位置生成部は、移動無線ノードの仮の自己位置を生成する。第2位置更新部は、移動トポロジと隣接固定ノードの推定位置とに基づいて、移動無線ノードの仮の自己位置を更新することにより、移動無線ノードの位置を推定する。
 好ましくは、位置推定装置において、移動トポロジの生成に用いられる隣接ノード情報の数は、固定トポロジの生成に用いられる隣接ノード情報の数よりも少ない。
 好ましくは、位置推定装置において、取得部は、m個の固定無線ノードの各々についての隣接ノード情報と移動無線ノードの隣接ノード情報とを定期的に取得する。固定ノード位置推定部は、m個の固定無線ノードの位置を第1周期で繰り返し推定する。移動ノード位置推定部は、移動無線ノードの位置を第1周期よりも短い第2周期で繰り返し推定する。
 好ましくは、固定トポロジ生成部は、移動無線ノードの位置推定に既に用いられた移動無線ノードの隣接ノード情報を仮想的な固定無線ノードの隣接ノード情報に設定し、m個の固定無線ノードの各々についての隣接ノード情報と、仮想的な固定無線ノードの隣接ノード情報とに基づいて、固定トポロジを生成する。
 本発明に係る位置推定プログラムは、無線ノードの位置推定をコンピュータに実行させるためのプログラムである。位置推定プログラムは、取得ステップと、固定トポロジ生成ステップと、自己位置生成ステップと、位置更新ステップと、トポロジ矛盾判定ステップと、仮想トポロジ生成ステップとを備える。取得ステップは、1つの無線ノードから1ホップの位置に存在する1次近傍ノードの情報である隣接ノード情報をm(mは、4以上の整数)個の無線ノードの各々から取得する。固定トポロジ生成ステップは、m個の無線ノードの各々についての隣接ノード情報に基づいて、m個の無線ノードの配置関係を示す固定トポロジを生成する。自己位置生成ステップは、m個の無線ノードの仮の自己位置を生成する。位置更新ステップは、固定トポロジに基づいてm個の無線ノードの仮の自己位置を更新することにより、m個の無線ノードの位置を推定する。トポロジ矛盾判定ステップは、位置更新ステップにより推定された一の無線ノードの位置が一の無線ノードから1ホップの位置に存在する無線ノードよりも一の無線ノードから2ホップの位置に存在する無線ノードに近いことを示すトポロジ矛盾が発生しているか否かを判定し、固定トポロジに対応するとともにm個の無線ノードにおけるトポロジ矛盾の発生頻度を示す領域判定値を計算する。仮想トポロジ生成ステップは、1ホップの位置に存在する2つの無線ノード間の仮想無線通信距離を設定し、仮想無線通信距離に基づいて一の無線ノードから1ホップの位置にある1次近傍ノードを再設定し、再設定された1次近傍ノードに基づいてm個の無線ノードの仮想的な配置関係を示す少なくとも1つの仮想トポロジを生成する。位置更新ステップは、少なくとも1つの仮想トポロジの各々に基づいて、m個の無線ノードの位置を推定する。トポロジ矛盾判定ステップは、少なくとも1つ仮想トポロジの各々に対応するm個の無線ノードの推定位置に基づいて、少なくとも1つ仮想トポロジの各々に対応する領域判定値を計算する。仮想トポロジ生成ステップは、固定トポロジに対応する領域判定値と少なくとも1つの仮想トポロジの各々に対応する領域判定値とに基づいて、固定トポロジに基づくm個の無線ノードの推定位置と、少なくとも1つの仮想トポロジの各々に基づくm個の無線ノードの推定位置とのうちいずれかを、m個の無線ノードの位置の推定結果として出力する。
 本発明に係る位置推定プログラムは、無線通信空間内を移動する移動無線ノードの位置推定をコンピュータに実行させるためのプログラムである。位置推定プログラムは、取得ステップと、固定ノード位置推定ステップと、移動ノード位置推定ステップと、を備える。取得ステップは、1つの無線ノードから1ホップの位置に存在する1次近傍ノードの情報である隣接ノード情報を、移動無線ノードと、無線通信空間内を移動しないm(mは、4以上の整数)個の固定無線ノードとの各々から取得する。固定ノード位置推定ステップは、m個の固定無線ノードの各々についての隣接ノード情報に基づいて、m個の固定無線ノードの位置を推定する。移動ノード位置推定ステップは、移動無線ノードの隣接ノード情報と固定ノード位置推定ステップによるm個の固定無線ノードの推定位置とに基づいて、移動無線ノードの位置を推定する。固定ノード位置推定ステップは、固定トポロジ生成ステップと、第1自己位置生成ステップと、第1位置更新ステップとを備える。固定トポロジ生成ステップは、m個の固定無線ノードの各々についての隣接ノード情報に基づいて、m個の固定無線ノードの配置関係を示す固定トポロジを生成する。第1自己位置生成ステップは、m個の固定無線ノードの仮の自己位置を生成する。第1位置更新ステップは、固定トポロジに基づいてm個の固定無線ノードの仮の自己位置を更新することにより、m個の固定無線ノードの位置を推定する。移動ノード位置推定ステップは、移動トポロジ生成ステップと、第2自己位置生成ステップと、第2位置更新ステップと、を備える。移動トポロジ生成ステップは、m個の固定無線ノードのうち移動無線ノードの隣接ノード情報に記録された固定無線ノードである隣接固定ノードの隣接ノード情報を取得ステップから取得し、移動無線ノードの隣接ノード情報と隣接固定ノードの隣接ノード情報とに基づいて、移動無線ノードのトポロジを生成する。第2自己位置生成ステップは、移動無線ノードの仮の自己位置を生成する。第2位置更新ステップは、移動トポロジと隣接固定ノードの推定位置とに基づいて、移動無線ノードの仮の自己位置を更新することにより、移動ノードの位置を推定する。
 本発明に係る位置更新装置は、m個の無線ノードの隣接ノード情報に基づいて固定トポロジを生成し、固定トポロジに基づいてm個の無線ノードの仮の自己位置を更新することによりm個の無線ノードの位置を推定する。この位置更新装置は、1ホップの位置に存在する2つの無線ノード間の仮想無線通信距離を設定し、仮想無線通信距離に基づいて前記一の無線ノードから1ホップの位置にある1次近傍ノードを再設定し、再設定された1次近傍ノードに基づいて少なくとも1つ以上の仮想トポロジを生成する。この位置更新装置は、少なくとも1つの仮想トポロジに基づいてm個の無線ノードの位置を推定する。m個の無線ノードの推定位置におけるトポロジ矛盾の発生頻度を示す領域判定値が、固定トポロジ及び少なくとも1つの仮想トポロジの各々について計算される。この位置推定装置は、計算された領域判定値のうち最小の領域判定値を特定し、特定した最小の領域判定値に対応するトポロジの推定位置を、位置推定結果として出力する。これにより、トポロジ矛盾の少ないm個の無線ノードの推定位置を特定することができるため、m個の無線ノードの位置を高精度で推定することができる。
 また、本発明に係る位置推定装置は、m個の無線ノードの隣接ノード情報に基づいて固定トポロジを生成し、生成した固定トポロジに基づいてm個の固定無線ノードの仮の自己位置を更新することよりm個の固定無線ノードの位置を推定する。この位置推定装置は、移動ノードの隣接ノード情報と、移動ノードの隣接ノード情報に記録された隣接固定ノードの隣接ノード情報とに基づいて、移動ノードの移動トポロジを生成する。この位置推定装置は、移動ノードの仮の自己位置を移動トポロジ及び隣接固定ノードの推定位置に基づいて更新することにより、移動ノードの位置を推定する。固定ノードの位置を推定した後に移動ノードの位置を推定することにより、移動ノードの位置を高精度で推定することができる。
この発明の実施の形態に係る無線ネットワークの構成を示す概略図である。 図1に示す無線ノードにより生成される隣接ノード情報の一例を示す図である。 図1に示す固定ノードの構成を示す機能ブロック図である。 図1に示す移動ノードの構成を示す機能ブロック図である。 図1に示すシンクの構成を示す機能ブロック図である。 図1に示す位置推定装置の構成を示す機能ブロック図である。 図6に示す固定ノード位置推定部の構成を示す機能ブロック図である。 図6に示す移動ノード位置推定部の構成を示す機能ブロック図である。 図1に示す位置推定装置の動作を示すフローチャートである。 図6に示す固定ノード位置推定部の動作を示すフローチャートである。 図1に示す固定ノードの位置を推定した場合に生じるトポロジ矛盾を説明する概念図である。 図1に示す固定ノードの推定位置においてトポロジ矛盾が発生しているか否かを判定する手順を説明するための概念図である。 従来技術を用いて予め位置が指定された固定ノードの位置を推定した場合における固定ノードの通信範囲と、位置推定誤差との関係を示すグラフである。 固定ノードの位置推定誤差と、図7に示すトポロジ矛盾判定部により計算される領域判定値との関係を示すグラフである。 図1に示す固定ノードのカバレッジの一例を示す図である。 図1に示す固定ノードの仮想的なカバレッジの一例を示す図である。 図7に示す仮想トポロジ生成部の動作を示すフローチャートである。 図7に示す仮想トポロジ生成部の動作を示すフローチャートである。 図18に示すステップS116で使用される確率分布関数の一例を示すグラフである。 図18に示すステップS116で使用される確率分布関数の一例を示すグラフである。 図6に示す移動ノード位置推定部の動作を示すフローチャートである。 図1に示す移動ノードと固定ノードとの位置関係の一例を示す図である。 図1に示す移動ノードの位置の変化の一例を示す図である。 図1に示す固定ノード及び無線ノードの位置推定のシミュレーション結果を示すグラフである。 図1に示す位置推定装置の構成の他の例を示す機能ブロック図である。
 以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
 [1.全体構成]
 [1.1.無線ネットワークの構成]
 図1は、本発明の実施の形態に係る無線ネットワーク10の構成を示す概略図である。図1に示すように、無線ネットワーク10は、固定無線ノードN-1,N-2,・・・,N-kと、移動無線ノードM-1,M-2,・・・,M-pと、シンク4と、位置推定装置5とを備える。kは4以上の整数であり、pは1以上の整数である。
 図1では、固定無線ノードの一部と、移動無線ノードの一部に対する符号の表示を省略している。また、固定無線ノードの一部と、移動無線ノードの一部とが、通知パケットDTGをシンク4に送信している様子を図示しているが、他の固定無線ノード及び移動無線ノードも、通知パケットDTGをシンク4に送信する。通知パケットDTGの詳細については、後述する。
 以下の説明において、「固定無線ノード」を「固定ノード」と記載し、「移動無線ノード」を「移動ノード」と記載する。また、固定ノードN-1~N-k及び移動ノードM-1~M-pを総称する場合、「無線ノード」と記載する。
 無線ノード及びシンク4は、近距離無線通信を行うことにより、無線ネットワーク10を構成する。無線ノード及びシンク4は、例えば、近距離無線通信として、例えば、BLE(Bluetooth(登録商標)Low Energy)や、IEEE802.15.4などの通信規格に準拠した無線通信を行う。
 固定ノードN-1~N-kは、無線通信空間(例えば、ショッピングセンターや駅などの商業施設など)に配置される。固定ノードN-1~N-kは、例えば、センサを搭載したセンシングデバイスである。固定ノードN-1~N-kの各々に搭載されたセンサは、温度、湿度などを検出し、これらの検出値を無線通信によってシンク4に送信する。
 固定ノードN-1~N-kのうち3個の固定ノードは、絶対位置が予め指定されたアンカーノードである。絶対位置は、例えば、緯度及び経度によって指定される。
 移動ノードM-1~M-kは、例えば、スマートフォン、携帯電話、タブレット型端末などの移動通信端末である。また、無線ノードM-1~M-kは、後述するように、加速度センサを備えており、加速度を計測する。
 無線ノードの各々は、自己の識別情報(例えば、アドレス)を含む広告パケットを生成し、その生成した広告パケットをブロードキャストする。そして、無線ノードの各々は、他の無線ノードから広告パケットを受信した場合、その受信した広告パケットを復調し、復調した広告パケットに含まれる識別情報を検出する。
 図2は、移動ノードM-1において生成される隣接ノード情報21Mの一例を示す図である。図2に示すように、隣接ノード情報21Mは、自己の識別情報と、移動ノードM-1において検出された加速度と、受信した広告パケットから検出した他の無線ノードの識別情報とを記録したデータである。
 隣接ノード情報21Mにおいて、移動ノードM-1の識別情報が、「Address M-1」であり、移動ノードM-1で検出された加速度は、2.0(m/sec)である。また、隣接ノードの欄には、他の無線ノードから受信した広告パケットから検出された識別情報が記録される。具体的には、固定ノードN-1の識別情報「Address N-1」と、固定ノードN-5の識別情報「Address N-5」と、移動ノードM-2の識別情報「Address M-2」とが記載されている。
 移動ノードM-1以外の無線ノードも、図2に示す隣接ノード情報21Mと同様の隣接ノード情報を生成する。つまり、全ての固定ノード及び移動ノードは、隣接ノード情報を生成する。ただし、固定ノードの各々は、加速度センサを備えていないため、固定ノードの各々により生成される隣接ノード情報は、加速度を含まない。
 このように、無線ノードの各々は、少なくとも、自己の識別情報と、受信した広告パケットから検出した他の無線ノードの識別情報とを記録した隣接ノード情報を生成する。無線ノードの各々は、生成した隣接ノード情報を含む通知パケットDTGを生成してシンク4へ送信する。隣接ノード情報は、無線ノードの各々が他の無線ノードから直接受信した広告パケットから検出した識別情報を含む。つまり、隣接ノード情報は、無線ノードの各々から1ホップの位置に存在する無線ノードの情報を含む。1ホップとは、2つの無線ノードが他の無線ノードを介することなく通信することを示す。
 なお、図1において、無線ノードの一部が通知パケットDTGをシンク4に直接送信するように図示している。しかし、無線ノードが、通知パケットDTGをシンク4に直接送信できない場合がある。この場合、通知パケットDTGは、マルチホップで無線ノードからシンク4へ送信される。マルチホップとは、2つの無線ノードが他の無線ノードを介して通信することを示す。例えば、2ホップは、2つの無線ノードを中継する他の無線ノードの数が1つであることを意味する。つまり、通知パケットDTGが、無線ノードからシンク4へ送信される場合、通知パケットDTGの通信経路は特に限定されない。シンク4は、各無線ノードから送信される通知パケットDTGを受信することができればよい。
 シンク4は、無線ノードの各々から通知パケットDTGを受信し、その受信した通知パケットDTGから隣接ノード情報を検出する。シンク4は、その検出した隣接ノード情報を位置推定装置5へ送信する。
 位置推定装置5は、例えば、クラウド上に設置され、シンク4から隣接ノード情報を受信する。これによって、位置推定装置5は、無線ノードの全てから隣接ノード情報を取得し、その取得した隣接ノード情報に基づいて、無線ノードの各々の位置を推定する。
 位置推定装置5は、固定ノードの各々の隣接ノード情報を用いて、固定ノードN-1~N-kの配置関係を示すトポロジ(以下、「固定トポロジ」と記載する。)を作成する。その後、位置推定装置5は、その作成した固定トポロジに基づいて、後述する方法によって固定ノードN-1~N-kの位置を推定する。固定ノードの各々の位置を推定した後に、位置推定装置5は、後述する方法によって、移動ノードM-1~M-kの位置を推定する。詳細については後述するが、固定ノードの位置推定と、移動ノードの位置推定では、位置を推定する処理の一部が異なる。
 無線ノードの各々において、広告パケットは、予め設定された時間間隔でブロードキャストされる。無線ノードの各々は、隣接ノード情報を含む通知パケットDTGを定期的に送信する。これにより、位置推定装置5は、各無線ノードから隣接ノード情報を定期的に取得することができるため、固定ノードN-1~N-k及び移動ノードM-1~M-pの位置推定を繰り返し行う。固定ノードN-1~N-kの位置推定を行う時間間隔は、移動ノードM-1~M-kの位置推定を行う時間間隔よりも長く設定される。
 [1.2.固定ノードの構成]
 図3は、図1に示す固定ノードN-1の構成を示す機能ブロック図である。図3に示すように、固定ノードN-1は、アンテナ11と、送受信部12と、制御部13とを含む。
 送受信部12は、アンテナ11を介して広告パケットを受信し、その受信した広告パケットを制御部13へ出力する。また、送受信部12は、固定ノードN-1の識別情報を含む広告パケットを制御部13から受けた場合、その受けた広告パケットをアンテナ11を介してブロードキャストする。送受信部12は、隣接ノード情報を含む通知パケットDTGを制御部13から受けると、その受けた通知パケットDTGの宛先をシンク4に設定し、宛先がシンク4に設定された通知パケットDTGをアンテナ11を介して送出する。
 制御部13は、固定ノードN-1の識別情報を予め保持している。制御部13は、固定ノードN-1の識別情報を含む広告パケットを生成し、その生成した広告パケットを送受信部12へ出力する。
 制御部13は、送受信部12から広告パケットを受けると、その受けた広告パケットから、他の無線ノードの識別情報を検出する。例えば、固定ノードN-1が固定ノードN-2、N-4及び移動ノードM-3から広告パケットを受信した場合、制御部13は、受信した3個のパケットからそれぞれ、固定ノードN-2の識別情報、固定ノードN-4の識別情報、移動ノードM-3の識別情報を検出する。そして、制御部13は、固定ノードN-2の識別情報と、固定ノードN-4の識別情報と、移動ノードM-3の識別情報とを、自己(固定ノードN-1)の識別情報に対応付けた隣接ノード情報を生成する。制御部13は、その生成した隣接ノード情報を含む通知パケットDTGを生成して送受信部12へ出力する。
 なお、図1に示す固定ノードN-2~N-kの構成は、図3に示す固定ノードN-1の構成と同じである。
 [1.3.移動ノードの構成]
 図4は、図1に示す移動ノードM-1の構成を示す機能ブロック図である。図4に示すように、移動ノードM-1は、アンテナ21と、送受信部22と、制御部23と、加速度センサ24とを含む。
 送受信部22は、アンテナ21を介して広告パケットを受信し、その受信した広告パケットを制御部23へ出力する。また、送受信部22は、移動ノードM-1の識別情報を含む広告パケットを制御部23から受けた場合、その受けた広告パケットをアンテナ21を介してブロードキャストする。送受信部22は、隣接ノード情報21Mを含む通知パケットDTGを制御部23から受けると、その受けた通知パケットDTGをアンテナ11を介してシンク4へ送信する。
 制御部23は、移動ノードM-1の識別情報を予め保持している。制御部13は、移動ノードM-1の識別情報を含む広告パケットを生成し、その生成した広告パケットを送受信部22へ出力する。
 制御部23は、送受信部22から広告パケットを受けると、その受けた広告パケットから、他の無線ノードの識別情報を検出する。固定ノードN-1、固定ノードN-5、移動ノードM-2から広告パケットを受信した場合、制御部23は、受信した3個のパケットからそれぞれ、固定ノードN-1の識別情報、固定ノードN-5の識別情報、移動ノードM-2の識別情報を取得する。また、制御部23は、加速度センサ24により検出された加速度を取得する。制御部23は、固定ノードN-1の識別情報と、固定ノードN-5の識別情報と、移動ノードM-2の識別情報と、加速度センサ24から取得した加速度を用いて、図2に示す隣接ノード情報21Mを生成する。制御部23は、その生成した隣接ノード情報を含む通知パケットDTGを生成して送受信部22へ出力する。
 [1.4.シンク4の構成]
 図5は、図1に示すシンク4の構成を示す機能ブロック図である。図5に示すように、シンク4は、アンテナ41と、送受信部42と、制御部43とを含む。
 送受信部42は、アンテナ41を介して通知パケットDTGを受信し、その受信した通知パケットDTGを制御部43へ出力する。また、送受信部42は、制御部43から隣接ノード情報を受けると、その受けた隣接ノード情報をアンテナ41及び図示しないインターネットを介して位置推定装置5へ送信する。
 制御部43は、送受信部42から通知パケットDTGを受けると、その受けた通知パケットDTGから隣接ノード情報を検出し、その検出した隣接ノード情報を送受信部42へ出力する。
 [1.5.位置推定装置5の構成]
 図6は、図1に示す位置推定装置5の構成を示す機能ブロック図である。図6に示すように、位置推定装置5は、取得部51と、分類部52と、固定ノード位置推定部60と、移動ノード位置推定部70とを備える。
 取得部51は、シンク4からインターネットを介して各無線ノードの隣接ノード情報を受信することにより、各無線ノードの隣接ノード情報を取得する。取得部51は、その受信した隣接ノード情報を分類部52へ出力する。
 分類部52は、取得部51から各無線ノードの隣接ノード情報を受ける。分類部52は、その受けた隣接ノード情報を、固定ノードN-1~N-kの隣接ノード情報と、移動ノードM-1~M-pの隣接ノード情報とに分類する。分類部52は、固定ノードN-1~N-kの隣接ノード情報を固定ノード位置推定部60に出力する。また、分類部52は、移動ノードM-1~M-pの隣接ノード情報と、固定ノードN-1~N-kのうち所定の条件を満たす固定ノードの隣接ノード情報とを移動ノード位置推定部70に出力する。
 固定ノード位置推定部60は、分類部52から固定ノードN-1~N-kの隣接ノード情報を受け、その受けた隣接ノード情報に基づいて、固定ノードN-1~N-kの配置関係を示す固定トポロジを生成する。固定ノード位置推定部60は、その生成した固定トポロジに基づいて、固定ノードN-1~N-kの位置を推定して、固定ノードN-1~N-kの推定位置を取得する。固定ノード位置推定部60は、取得した固定ノードN-1~N-kの推定位置を絶対位置に変換する。
 また、固定ノード位置推定部60は、移動ノードM-u(uは1以上p以下の整数)の隣接ノード情報が移動ノードM-uの位置の推定に用いられた後に、移動ノードM-uの隣接ノード情報を仮想的な固定ノードの隣接ノード情報として、移動ノード位置推定部70から取得する。
 固定ノード位置推定部60は、再び固定ノードN-1~N-kの位置を推定する際に、移動ノード位置推定部70から取得した移動ノードM-uの隣接ノード情報を、仮想的な固定ノードの隣接ノード情報として使用する。
 移動ノード位置推定部70は、分類部52から移動ノードM-1~M-pの隣接ノード情報を受け、固定ノード位置推定部60から固定ノードN-1~N-kのうち一部の固定ノードの推定位置を受ける。移動ノード位置推定部70は、その受けた隣接ノード情報と、その受けた固定ノードの推定位置とに基づいて、移動ノードM-1~M-pの推定位置を取得する。移動ノード位置推定部70は、移動ノードM-1~M-pの推定位置を絶対位置に変換する。また、移動ノード位置推定部70は、移動ノードM-uの位置を推定した後に、位置の推定に用いた移動ノードM-uの隣接ノード情報を、固定ノード位置推定部60に出力する。
 [1.6.固定ノード位置推定部60の構成]
 図7は、図6に示す固定ノード位置推定部60の構成を示す機能ブロック図である。図7に示すように、固定ノード位置推定部60は、固定トポロジ生成部61と、自己位置生成部62と、位置更新部63と、変換部64と、トポロジ矛盾判定部65と、仮想トポロジ生成部66とを含む。
 固定トポロジ生成部61は、固定ノードN-1~N-kの隣接ノード情報を分類部52から受け、その受けた隣接ノード情報に基づいて、固定トポロジを生成する。固定トポロジは、固定ノードN-1~N-kの配置関係を示し、固定ノードN-1~N-kの各々に対して生成される。固定トポロジ生成部61は、その生成したトポロジを位置更新部63へ出力する。
 また、固定トポロジ生成部61は、移動ノード位置推定部70から移動ノードの隣接ノード情報を受けた場合、その受けた移動ノードの隣接ノード情報を、仮想的な固定ノードの隣接ノード情報として、固定トポロジの生成に使用する。
 なお、以下の説明では、固定ノードN-1~N-kの隣接ノード情報を使用し、仮想的な固定ノードの隣接ノード情報を使用しない場合を例に説明する。
 自己位置生成部62は、分類部52から固定ノードN-1~N-kの隣接ノード情報を受け、その受けた隣接ノード情報に基づいて、無線ネットワーク10を構成する固定ノードN-1~N-kを認識する。自己位置生成部62は、その認識した固定ノードN-1~N-kの仮の自己位置をランダムに生成する。
 位置更新部63は、固定トポロジ生成部61から固定トポロジを受け、自己位置生成部62から固定ノードN-1~N-kの仮の自己位置を受ける。位置更新部63は、その受けた固定トポロジ及び仮の自己位置に基づいて、後述する方法によって、固定ノードN-1~N-kの仮の自己位置を更新することにより、固定ノードN-1~N-kの相対推定位置を取得する。
 位置更新部63は、固定ノードN-1~N-kの相対推定位置を変換部64へ出力した後、仮想トポロジ及び仮想隣接ノード情報を仮想トポロジ生成部66から受ける。仮想トポロジ及び仮想隣接ノード情報の詳細については、後述する。位置更新部63は、その受けた仮想トポロジ及び仮想隣接ノード情報を用いて、後述する方法によって固定ノードN-1~N-kの相対推定位置を再び取得する。
 変換部64は、アンカーノードの絶対位置を予め保持している。変換部64は、固定ノードN-1~N-kの相対推定位置を位置更新部63から受ける。変換部64は、その受けた相対推定位置とアンカーノードの絶対位置とに基づいて、後述する方法によって固定ノードN-1~N-kの相対推定位置を絶対位置に変換する。変換部64は、その変換した固定ノードN-1~N-kの絶対位置をトポロジ矛盾判定部65及び仮想トポロジ生成部66へ出力する。
 トポロジ矛盾判定部65は、固定ノードN-1~N-kの絶対位置を変換部64から受け、その受けた固定ノードN-1~N-kの絶対位置に基づいて、各固定ノードにおけるトポロジ矛盾の有無を判定し、トポロジ矛盾の発生頻度を示す領域判定値VT_AVEを計算する。また、トポロジ矛盾判定部65は、後述する仮想トポロジに基づく固定ノードN-1~N-kの絶対位置に基づいて、仮想トポロジに対応する領域判定値VT_AVEを計算する。すなわち、領域判定値VT_AVEは、トポロジごとに計算される。トポロジ矛盾の有無の判定方法及び領域判定値VT_AVEの計算方法については、後述する。
 仮想トポロジ生成部66は、トポロジ矛盾判定部65から領域判定値VT_AVEを受け、その受けた領域判定値VT_AVEに対応する相対推定位置及び絶対位置を変換部64から取得する。
 仮想トポロジ生成部66は、その受けた領域判定値VT_AVEに基づいて、固定ノードN-1~N-kの無線通信距離を仮想的に変更する。仮想トポロジ生成部66は、その変更した仮想的な無線通信距離と固定ノードN-1~N-kの絶対位置とに基づいて、仮想的な1次近傍ノードを固定ノードN-1~N-kの各々に対して決定し、仮想隣接ノード情報を生成する。仮想隣接ノード情報は、固定ノードN-1~N-kの各々について生成され、固定ノードN-1~N-kの各々の仮想的な1次近傍ノードを示す。仮想トポロジ生成部66は、生成した仮想隣接ノード情報に基づいて、後述する方法によって固定ノードN-1~N-kの各々の仮想トポロジを生成する。仮想トポロジは、少なくとも1つ生成される。仮想トポロジ生成部66は、その生成した仮想トポロジを位置更新部63へ出力する。
 仮想トポロジ生成部66は、固定トポロジに対応する領域判定値VT_AVEと、少なくとも1つの仮想トポロジの各々に対応する領域判定値VT_AVEとを比較する。仮想トポロジ生成部66は、その比較結果に基づいて、固定トポロジに基づく固定ノードの絶対位置と、少なくとも1つの仮想トポロジの各々に基づく固定ノードの絶対位置とのうちいずれかを、固定ノードの位置推定結果として出力する。また、仮想トポロジ生成部66は、位置推定結果として出力された固定ノードの絶対位置に対応する固定ノードの相対推定位置を、移動ノード位置推定部70へ出力する。
 [1.7.移動ノード位置推定部70の構成]
 図8は、図6に示す移動ノード位置推定部70の構成を示す機能ブロック図である。図7に示すように、移動ノード位置推定部70は、移動トポロジ生成部71と、自己位置生成部72と、位置更新部73と、変換部74とを含む。
 移動トポロジ生成部71は、移動ノードM-1~M-pの隣接ノード情報を取得し、移動ノードM-1~M-pの中から、位置推定の対象となる移動ノードM-u(uは1以上p以下の整数)を選択する。移動トポロジ生成部71は、移動ノードM-uの隣接ノード情報に記録されている固定ノードを特定し、特定した固定ノードの隣接ノード情報を分類部52から取得する。移動トポロジ生成部71は、移動ノードM-uの隣接ノード情報と、特定した固定ノードの隣接ノード情報とに基づいて、移動ノードM-uのトポロジ(移動トポロジ)を生成する。
 また、移動トポロジ生成部71は、移動ノードM-uの位置推定が終了した後に、移動ノードM-uの隣接ノード情報を固定ノード位置推定部60に出力する。この移動ノードM-uの隣接ノード情報は、仮想的な固定ノードの隣接ノード情報として用いられる。
 自己位置生成部72は、移動ノードM-uの仮の自己位置をランダムに生成する。
 位置更新部73は、移動ノードM-uの移動トポロジを移動トポロジ生成部71から受け、移動ノードM-uの仮の自己位置を自己位置生成部72から受ける。位置更新部73は、その受けた移動トポロジ及び仮の自己位置に基づいて、後述する方法によって、移動ノードM-uの仮の自己位置を更新することにより、移動ノードM-uの相対推定位置を取得する。
 変換部74は、アンカーノードの絶対位置を予め保持している。変換部74は、移動ノードM-uの相対推定位置を位置更新部73から受ける。変換部74は、変換部64(図7参照)と同様に、その受けた移動ノードM-uの相対推定位置とアンカーノードの絶対位置とに基づいて、後述する方法によって移動ノードM-uの相対推定位置を絶対位置に変換する。変換部74は、その変換した移動ノードM-uの絶対位置を、移動ノードM-uの位置推定結果として出力する。
 [2.位置推定装置5の動作の概略]
 図9は、位置推定装置5の基本的な動作を示すフローチャートである。無線ノードの位置推定が開始された場合、取得部51が、無線ノードの各々の隣接ノード情報をシンク4から受ける。分類部52は、全ての無線ノードの隣接ノード情報を取得部51から取得する(ステップS1)。
 分類部52は、その取得した隣接ノード情報を、固定ノードの隣接ノード情報と、移動ノードの隣接ノード情報とに分類する(ステップS2)。分類部52は、例えば、分類対象の隣接ノード情報が加速度を含まない場合、その隣接ノード情報を固定ノードの隣接ノード情報に分類し、分類対象の隣接ノード情報が加速度を含む場合、その隣接ノード情報を移動ノードの隣接ノード情報に分類する。
 なお、隣接ノード情報の分類条件は、上記に限定しなくてもよい。例えば、固定ノードの識別情報と移動ノードの識別情報とが予め分類部52に設定されている場合、分類部52は、隣接ノード情報に含まれる自己の識別情報に基づいて、隣接ノード情報を分類してもよい。
 また、分類部52は、予め設定された閾値よりも大きい加速度を含む隣接ノード情報を移動ノードの隣接ノード情報に分類し、閾値以下の加速度を含む隣接ノード情報を固定ノードの隣接ノード情報に分類してもよい。この場合、移動ノードM-1~M-kが、固定ノードとして扱われる場合が発生する。
 本実施の形態では、説明の便宜上、無線ノードが固定ノードから移動ノードに変化したり、移動ノードから固定ノードに変化したりする場合がないものとして説明する。なお、移動ノードの隣接ノード情報が事後的に仮想的な固定ノードの隣接ノード情報として扱われる場合が存在するが、これについては、別途説明する。
 固定ノード位置推定部60は、分類部52から受けた固定ノードN-1~N-kの隣接ノード情報に基づいて、固定ノードN-1~N-kの位置を推定し、相対推定値を取得する(ステップS3)。固定ノード位置推定部60は、固定ノードN-1~N-kの相対推定位置を絶対位置に変換する。
 移動ノード位置推定部70は、分類部52から移動ノードの隣接ノード情報を受け、固定ノード位置推定部60から固定ノードN-1~N-kの相対推定位置を受ける。移動ノード位置推定部70は、移動ノードの隣接ノード情報及び固定ノードN-1~N-kの相対推定位置に基づいて、移動ノードM-1~M-pの位置を推定する(ステップS4)。
 ステップS4において、移動ノード位置推定部70は、移動ノードM-u(uは、1以上p以下の整数)の位置を推定する際に、固定ノードN-1~N-kの隣接ノード情報のうち、移動ノードM-uの1次近傍固定ノードの隣接ノード情報を使用する。移動ノードM-uの1次近傍固定ノードに該当しない固定ノードの隣接ノード情報は、移動ノードM-uの位置推定に使用されない。つまり、移動ノード位置推定部70は、移動ノードM-uの位置を推定する際に、移動ノードM-uから2ホップ以内の距離にある固定ノードに関する情報を用いる。従って、移動ノードM-uの位置は、固定ノードN-1~N-kの位置推定と比べて、局所的な範囲内で推定される。
 各無線ノードは、隣接ノード情報を含む通知パケットDTGを定期的に送信する。分類部52は、新たな隣接ノード情報を取得部51から取得した場合、無線ノードの位置推定に用いられる隣接ノード情報を更新する。このため、位置推定装置5は、ステップS3~S7を繰り返すことにより、固定ノードの推定位置及び移動ノードの推定位置を定期的に更新する。
 具体的には、移動ノードの位置推定(ステップS4)の後に、位置推定装置5は、固定ノードの位置更新タイミングであるか否かを判断する(ステップS5)。固定ノードの位置更新タイミングは、例えば、20秒おきに設定される。固定ノードの位置更新タイミングである場合(ステップS5においてYes)、固定ノード位置推定部60は、分類部52により更新された隣接ノード情報に基づいて、固定ノードの位置を再び推定する(ステップS3)。
 固定ノードの位置更新タイミングでない場合(ステップS5においてNo)、位置推定装置5は、移動ノードの位置更新タイミングであるか否かを判断する(ステップS6)。移動ノードの位置更新タイミングは、例えば、5秒おきに設定される。つまり、移動ノードの推定位置の更新頻度は、固定ノードの推定位置の更新頻度よりも高い。これは、移動ノードの推定位置を、移動ノードの実際に移動に合わせてリアルタイムで追随させる必要があるためである。
 移動ノード位置推定部70は、移動ノードの位置更新タイミングである場合(ステップS6においてYes)、分類部52により更新された隣接ノード情報に基づいて、移動ノードの位置推定を再び行う(ステップS4)。
 位置推定装置5は、移動ノードの位置更新タイミングでない場合(ステップS6においてNo)、位置推定処理を終了するか否かを判断する(ステップS7)。位置推定処理を継続する場合(ステップS7においてNo)、位置推定装置5は、ステップS5の処理に戻る。一方、位置推定処理を終了する場合(ステップS7においてYes)、位置推定装置5は、図9に示す処理を終了する。
 [3.固定ノードの位置推定処理(ステップS3)]
 図10は、固定ノード位置推定部60の動作を示すフローチャートである。以下、図10を参照しながら、固定ノードN-1~N-kの位置を推定する処理(ステップS3)について詳しく説明する。
 [3.1.トポロジの生成]
 固定ノード位置推定部60は、固定ノードN-1~N-kの隣接ノード情報を分類部52から取得する(ステップS31)。
 固定トポロジ生成部61は、ステップS31で取得した隣接ノード情報に基づいて、各固定ノードに対応する固定トポロジを生成し(ステップS32)、その生成した固定トポロジを位置更新部63へ出力する。
 具体的には、固定トポロジ生成部61は、以下の(1)~(3)の処理を実行して、各固定ノードに対応する固定トポロジを生成する。以下の説明において、iは、1以上k以下の整数である。
(1)固定ノードN-iの隣接ノード情報に含まれる固定ノードを固定ノードN-iの1次近傍ノードN-j(jは、i≠jを満たし、1以上k以下の整数)とする。
(2)1次近傍ノードN-jの隣接ノード情報に含まれる固定ノードで、固定ノードN-iの隣接ノード情報に含まれない固定ノードを、固定ノードN-jを中継ノードとする固定ノードN-iの2次近傍ノードとする。
(3)同様に、n次近傍ノードの隣接ノード情報に含まれる固定ノードで、(n-1)次までの近傍ノード群の隣接ノード情報に含まれない固定ノードを、n次近傍ノードを中継ノードとする固定ノードN-iの(n+1)次近傍ノードとする。ここで、nは、3以上であることが望ましい。
(4)上記(1)~(3)を再帰的に繰り返すことにより、無線ネットワーク10における固定ノードN-iの多次近傍ノードを設定する。このようにして設定された固定ノードN-iの多次近傍ノードが、固定ノードN-iの固定トポロジに相当する。
 固定トポロジ生成部61は、上記(1)~(4)を固定ノードN-1~N-kの各々について実行し、固定ノードN-1~N-kの各々についての固定トポロジを生成する。
 [3.2.通信距離の設定(ステップS33)]
 位置更新部63は、各固定ノードの固定トポロジを参照して、各固定ノード間の距離をホップ数を用いて設定する(ステップS33)。
 以下、ステップS33を詳しく説明する。固定トポロジの生成において説明したように、固定ノードN-iに対応する固定トポロジは、固定ノードN-iのn次近傍ノードを示す情報である。固定トポロジは、固定ノードN-iを基準にした多次近傍ノードのホップ数に基づいて構成されている。従って、1ホップの固定ノード間の距離を一定距離dとした場合、位置更新部63は、固定ノードN-iからn次近傍ノードまでの距離を、一定距離dとホップ数nとの乗算値(一定距離d×ホップ数n=nd)を計算することにより設定する。
 [3.3.固定ノードの位置推定(ステップS34~S36)]
 次に、固定ノード位置推定部60は、ステップS34~S36を実行して、各固定ノードの絶対位置の1回目の推定を行う。1回目の推定では、ステップS2で生成された固定トポロジが用いられる。2回目以降の推定では、ステップS38で生成された仮想トポロジが用いられる。固定トポロジ及び仮想トポロジのいずれを用いる場合であっても、各固定ノードの位置推定処理は同じである。
 ここでは、ステップS32で生成された固定トポロジに基づく位置推定について詳しく説明する。
 (仮の自己位置の設定)
 自己位置生成部62は、ステップS31で取得された隣接ノード情報に基づいて、無線ネットワーク10を構成する固定ノードN-1~N-kを認識する。自己位置生成部62は、その認識した固定ノードN-1~N-kの仮の自己位置w(t)をランダムに生成する(ステップS34)。仮の自己位置は、所定の2次元座標上に設定される。仮の自己位置w(t)において、iは、1以上k以下の整数であり、固定ノードN-1~N-kのいずれかを示す。tは、仮の自己位置の更新回数を示す。
 (仮の自己位置の更新)
 位置更新部63は、自己位置生成部62により生成された固定ノードN-iの仮の自己位置w(t)を取得し、その取得した仮の自己位置を所定の更新回数で更新する(ステップS35)。所定の更新回数で更新された後の仮の自己位置が、固定ノードN-iの相対推定位置として決定される。
 具体的には、固定ノードN-iの仮の自己位置w(t)は、固定ノードN-iの仮の自己位置w(t)とn次近傍ノードの仮の自己位置w(t)とを用いて計算された距離|w(t)-w(t)|が固定ノードN-iからn次近傍ノードまでのホップ数からなる距離ndに近づくように修正される。
 n次近傍ノードの仮の自己位置w(t)を用いて固定ノードN-iの仮の自己位置w(t)を修正するときのn次修正ベクトルは、式(1)によって求められる。
Figure JPOXMLDOC01-appb-M000001
 また、位置更新部63は、仮の自己位置の更新の初期段階においては、広い範囲の近傍ノードを使用する。そして、位置更新部63は、仮の自己位置の更新の進行に伴い、更新に使用する近傍ノードのホップ数を減少させて、局所的かつ詳細なトポロジを用いて更新を収束させる。
 従って、次式(2)に従って固定ノードN-iの仮の自己位置w(t)を更新する。
Figure JPOXMLDOC01-appb-M000002
 式(2)において、τは、ホップ数nにおける更新終了の閾値を示し、τn-1は、ホップ数nにおける更新開始の閾値を示す。また、式(2)において、α(t)は、t回目の修正における固定ノードN-iの学習関数であり、次式(3)によって決定される。
Figure JPOXMLDOC01-appb-M000003
 式(3)において、ηは、正の減衰定数である。また、学習関数α(t)の初期値α(0)は、1である。
 最大ホップ数から3ホップまでは、更新回数を均等とし、2ホップは、局所的な位置推定を行うため、他のホップ数における更新回数の2倍の割合として、最大ホップ数から降順に更新開始及び更新終了の閾値を設定する。
 そして、位置更新部63は、式(2)の右辺の最上段の修正ベクトルから最下段の修正ベクトルまでを順次適用することにより、固定ノードN-iの仮の自己位置w(t)を更新する。
 式(2)の右辺の最上段の修正ベクトル(V {1}(t)+V {n}(t))は、1次修正ベクトルとn次修正ベクトルとの和からなる。式(2)の右辺の上から2番目の修正ベクトル(V {1}(t)+V {n-1}(t))は、1次修正ベクトルと(n-1)次修正ベクトルとの和からなる。以下同様にして、式(2)の右辺の下から2番目の修正ベクトル(V {1}(t)+V {3}(t))は、1次修正ベクトルと3次修正ベクトルとの和からなる。式(2)の右辺の最下段の修正ベクトル(V {1}(t)+V {2}(t))は、1次修正ベクトルと2次修正ベクトルとの和からなる。
 従って、位置更新部63は、固定ノードN-iの1次近傍ノードとn次近傍ノードとを用いて固定ノードN-iの仮の自己位置w(t)を更新し、その後、固定ノードN-iの1次近傍ノードと(n-1)次近傍ノードとを用いて固定ノードN-iの仮の自己位置w(t)を更新し、以下、同様にして、固定ノードN-iの1次近傍ノードと3次近傍ノードとを用いて固定ノードN-iの仮の自己位置w(t)を更新し、最終的に、固定ノードN-iの1次近傍ノードと2次近傍ノードとを用いて固定ノードN-iの仮の自己位置w(t)を更新する。
 これによって、固定ノードN-iの仮の自己位置w(t)を大局的から局所的に更新でき、固定ノードN-iの仮の自己位置w(t)を一定の位置に収束させることができる。
 例えば、10次修正ベクトル(n=10)までを用いて固定ノードN-iの仮の自己位置w(t)を更新する場合、修正ベクトル(V {1}(t)+V {10}(t))、(V {1}(t)+V {9}(t))、・・・、(V {1}(t)+V {3}(t))を用いた更新回数を1回とすれば、修正ベクトル(V {1}(t)+V {2}(t))を用いた更新回数は、2回である。その結果、全ての修正ベクトルを用いた更新回数は、10回となる。つまり、修正ベクトル(V {1}(t)+V {10}(t))、(V {1}(t)+V {9}(t))、・・・、(V {1}(t)+V {3}(t))を用いた更新回数をp(pは整数)回とすれば、全ての修正ベクトルを用いた更新回数は、一般的には、8p+2p=10p回となる。
 更新回数10pにおける”10”は、n次修正ベクトルのn=10に等しいので、式(2)の右辺における全ての修正ベクトルを用いた更新回数は、一般的には、np回となる。従って、式(2)を用いた仮の自己位置w(t)の更新回数は、nを決定し、その後、pを決定することにより決定される。
 (絶対座標への変換)
 変換部64は、ステップS35によって得られた各固定ノードの相対推定位置(更新が完了した固定ノードの仮の自己位置W(t))を、位置更新部63から受ける。変換部64は、その受けた各固定ノードの相対推定位置を、アンカーノードの相対推定位置と絶対位置とを用いて絶対位置へ変換する(ステップS36)。
 アンカーノードの真位置(=絶対位置)をW=(X,Y)とし、相対推定位置をw=(x,y)とすると、真位置W=(X,Y)は、推定位置w=(x,y)を用いて次式のように表される。
Figure JPOXMLDOC01-appb-M000004
 3つのアンカーノードそれぞれについて立てられた連立方程式(4)から6つの係数a,b,c,d,t,tを得ることにより、全ての固定ノードの推定位置w=(x,y)は、次式によって絶対位置W=(X,Y)へ変換される。
Figure JPOXMLDOC01-appb-M000005
 変換部64は、式(4)から係数a,b,c,d,t,tを決定し、その決定した係数a,b,c,d,t,tを式(5)に代入して固定ノードN-1~N-kの全ての相対推定位置を絶対位置に変換する。
 [3.4.トポロジ矛盾の判定(ステップS37)]
 トポロジ矛盾判定部65は、固定ノードN-1~N-kの絶対位置を変換部64から受ける。トポロジ矛盾判定部65は、その受けた固定ノードN-1~N-kの絶対位置に基づいて、各固定ノードにおけるトポロジ矛盾の有無を判定して領域判定値VT_AVEを計算する(ステップS37)。
 (トポロジ矛盾の定義)
 図11は、図1に示す固定ノードN-1~N-kの位置を推定した場合に生じるトポロジ矛盾を示す概念図である。図11に示すように、固定ノードN-iは、仮の自己位置w(t)に存在する。固定ノードN-iから距離dの位置に1次近傍ノード(固定ノード)が存在し、固定ノードN-iから距離dの位置に2次近傍ノード(固定ノード)が存在する。
 1次近傍ノードのホップ数は、1であり、2次近傍ノードのホップ数は2である。ノード間距離は、上述のように、ホップ数に基づいて設定される。従って、本来のトポロジでは、固定ノードN-iの仮の自己位置w(t)は、2次近傍ノードよりも1次近傍ノードに近くなる。
 しかし、図11において、距離dが距離dより小さいため、固定ノードN-iの仮の自己位置w(t)は、1次近傍ノードよりも2次近傍ノードに近い。これは、2次近傍ノードが固定ノードN-iから1次近傍ノードよりも遠い位置に存在する本来のトポロジに明らかに矛盾する。このように、位置推定の対象である固定ノードN-iの仮の自己位置w(t)が1次近傍ノードよりも2次近傍ノードに近いことをトポロジ矛盾と呼ぶ。
 図11に示すように、トポロジ矛盾が発生している場合、トポロジの折れ曲がりが発生する。ここで、「トポロジの折れ曲がり」とは、固定ノードN-iから1次近傍ノードへ向かうベクトルと1次近傍ノードから2近傍ノードへ向かうベクトルとがなす角が、90度から270度の範囲内にあることを示す。
 (トポロジ矛盾の有無の判定)
 図12は、トポロジ矛盾が発生しているか否かを判定する処理を説明するための概念図である。
 図12(a)に示すように、固定ノードN-i、固定ノードN-iの1次近傍ノードN-j、及び固定ノードN-iの2次近傍ノードであり、かつ、1次近傍ノードN-jの1次近傍ノードである固定ノードN-hの推定位置をそれぞれw,w,wとする。ここで、i,j,hは、いずれも1以上k以下の整数であり、i≠j,j≠h,h≠iの条件を満たす。
 固定ノードN-hの真の位置をWとした場合、固定ノードN-hの推定位置wは、トポロジの折れ曲がりの要因となる。この場合、w,wを基準点とするwのトポロジ矛盾判定は、wのトポロジ矛盾を検知できる範囲|w-w|≦|w-w|の外にある(=トポロジ矛盾無しの条件を満たす)。ここで、範囲|w-w|は、図11に示す距離dに相当し、範囲|w-w|は、図11に示す距離dに相当する。つまり、距離dと距離dとを単純に比較するだけでは、推定位置wによる折れ曲がりを検知できない。
 そこで、図12(b)及び図12(c)に示すように、トポロジ矛盾判定の適応領域を拡大する。図12(b)に示すように、固定ノードN-i,N-jの推定位置w,wを基準点に設定する。そして、この2つの基準点を結ぶ線分L1(L1=w-w)の垂直2等分線L1を用いて、固定ノードN-iが配置されている空間を、固定ノードN-iの推定位置wに近い領域と、N-jの推定位置wに近い領域とに分割し、固定ノードN-hの推定位置wが、分割された2つの領域のどちらに存在するかを判断する。
 この場合、垂直2等分線L1の左側の領域(斜線を施した領域)は、固定ノードN-hの推定位置wが、固定ノードN-iの推定位置wに近い領域であり、垂直2等分線L1の右側の領域は、固定ノードN-hの推定位置wが固定ノードN-jの推定位置wに近い領域である。固定ノードN-hは、固定ノードN-iの2次近傍ノードであるので、wは、wに近い領域内に位置しなければならない。従って、固定ノードN-hの推定位置wが固定ノードN-iの推定位置wに近い領域(斜線を施した領域)に位置する場合(|w―w|≦|w―w|)、トポロジ矛盾が発生していると判定する。
 さらに、折れ曲がりによるトポロジ矛盾の検知領域を拡大するために、図12(c)に示すように、固定ノードN-jに加えて固定ノードN-iと固定ノードN-jの共通の1次近傍ノードN-gを基準点として用いる。そして、固定ノードN-i,N-gの推定位置w,wを基準点に設定し、この2つの基準点を結ぶ線分L2(L2=w-w)の垂直2等分線L2を用いて、固定ノードN-hが配置されている空間を、固定ノードN-iの推定位置wに近い領域と、固定ノードN-gの推定位置wに近い領域とに分割し、固定ノードN-hの推定位置wが、分割された2つの領域のどちらに存在するかを判断する。
 この場合、垂直2等分線L2の左側の領域(斜線を施した領域)は、固定ノードN-hの推定位置wが固定ノードN-iの推定位置wに近い領域であり、垂直2等分線L2の右側の領域は、固定ノードN-hの推定位置wが固定ノードgの推定位置wに近い領域である。
 固定ノードN-hは、固定ノードN-iの2次近傍ノードであるので、wは、wに近い領域内に位置しなければならない。従って、固定ノードN-hの推定位置wが固定ノードN-iの推定位置wに近い領域(斜線を施した領域)に位置する場合(|w―w|≦|w―w|)、トポロジ矛盾判定部65は、トポロジ矛盾が発生していると判定する。
 図12(c)に示す領域判定は、共通の1次近傍ノードの組み合わせを複数回変えて実施される。そして、複数回実施した結果において、式(6)により得られる領域判定値Vが所定の閾値よりも大きい場合、固定ノードN-iにおいてトポロジ矛盾が発生していると最終的に判定する。
Figure JPOXMLDOC01-appb-M000006
 式(6)において、Vは、固定ノードN-iにおける領域判定値を示し、Aは、固定ノードN-iにおいて、共通1次近傍群を用いてトポロジ矛盾の有無の判定を行った回数を示し、aは、トポロジ矛盾の発生回数を示す。ここで、共通1次近傍群は、トポロジ矛盾の判定基準となる固定ノードN-iの1次近傍ノードであり、かつ、固定ノードN-iの2次近傍ノードである固定ノードN-hの1次近傍ノードである固定ノードにより構成される。領域判定値Vは、0以上1以下の数値であり、判定対象の固定ノードN-iにおいてトポロジ矛盾の発生回数が少ないほど、その値が0に近づく。
 このようにして、固定ノードN-1~N-kの各々でトポロジ矛盾の有無を判定することにより、折れ曲がりによるトポロジ矛盾の検知領域を拡大でき、折れ曲がりによるトポロジ矛盾を効果的に検出できる。
 トポロジ矛盾判定部65は、固定ノードN-1~N-kの各々を基準にしてトポロジ矛盾の有無の判定を行うことにより、固定ノードN-1~N-kの各々についての領域判定値Vを計算する。トポロジ矛盾判定部65は、固定ノードN-1~N-kの各々についての領域判定値Vの平均値である領域判定値VT_AVEを計算し、仮想トポロジ生成部66に出力する。領域判定値VT_AVEは、領域判定値Vと同様に、0以上1以下の数値であり、固定ノードN-1~N-kにおけるトポロジ矛盾の発生回数が少ないほど、その値が0に近づく。
 上述の手順で計算された領域判定値VT_AVEは、固定トポロジに基づく固定ノードN-1~N-kの推定位置から得られたものであるため、固定トポロジに対応する。後述するように、領域判定値VT_AVEは、仮想トポロジに基づく固定ノードN-1~N-kの推定位置からも得られる。つまり、領域判定値VT_AVEと、トポロジとは、1対1に対応する。
 [3.5.位置推定結果の出力(ステップS38~S40)]
 ここで、ステップS38~S40の流れを説明する。なお、仮想トポロジ生成処理(ステップS38の詳細については、後述する。
 図10に示すように、仮想トポロジ生成部66は、領域判定値VT_AVEを受け、その受けた領域判定値VT_AVEを用いて仮想トポロジを新たに生成する(ステップS38)。仮想トポロジで示される固定ノードN-1の配置関係は、固定トポロジで示される固定ノードの配置関係と異なる。ステップS38の詳細については、後述する。
 仮想トポロジ生成部66が仮想トポロジを生成した場合(ステップS39においてNo)、位置推定装置5は、生成された仮想トポロジを用いて各固定ノードの位置を再び推定し(ステップS34~36)、固定ノードの推定位置に基づいて、領域判定値VT_AVEを再計算する(ステップS37)。つまり、位置推定装置5は、仮想トポロジに対応する領域判定値VT_AVEを計算する。
 位置推定装置5は、仮想トポロジ生成部66が仮想トポロジの生成終了を決定するまで(ステップS39においてYes)、ステップS34~S39を繰り返す。仮想トポロジ生成部66が仮想トポロジの生成終了を決定した場合(ステップS39においてYes)、位置推定装置5は、固定ノードN-i~N-kの位置推定結果を出力する(ステップS40)。具体的には、仮想トポロジ生成部66は、これまでに得られた領域判定値VT_AVEの中で得られた最小の領域判定値VT_AVEを特定し、固定トポロジ及び仮想トポロジの中から、最小の領域判定値VT_AVEに対応するトポロジを特定する。仮想トポロジ生成部66は、特定したトポロジから得られた固定ノードN-i~N-kの絶対位置を、位置推定結果として出力する(ステップS40)。これにより、固定ノード位置推定処理(ステップS3)が終了する。
 [3.6.仮想トポロジの生成(ステップS38)]
 以下、ステップS38について詳しく説明する。仮想トポロジ生成部66は、トポロジ矛盾判定部65から領域判定値VT_AVEを受け、その受けた領域判定値VT_AVEに基づいて、固定ノードの仮想トポロジを生成する(ステップS38)。仮想トポロジは、各固定ノードが他の固定ノードから広告パケットを直接受信することが可能な距離として仮想的に設定される仮想無線通信距離に基づいて設定される。以下、仮想無線通信距離を、「仮想ノード間距離」と呼ぶ。
 仮想トポロジ生成部66は、領域判定値VT_AVEを受けるたびに、仮想ノード間距離を更新し、更新された仮想ノード間距離に基づく仮想トポロジを生成する。そして、上述のように、各固定ノードの位置が、生成された仮想トポロジに基づいて再び推定され、生成された仮想トポロジに対応する領域判定値VT_AVEが計算される。
 [3.6.1.位置推定誤差と無線通信距離との関係]
 最初に、固定ノードN-1~N-kの位置推定誤差を最小にすることができる最適な無線通信距離について説明する。
 図13は、固定ノードの絶対位置を予め設定した場合において、非特許文献1に示す方法により各固定ノードの位置を推定したときにおける固定ノードの無線通信距離と位置推定誤差との関係を示すグラフである。具体的には、非特許文献1に示す方法では、各固定ノードの位置が、図10に示すステップのうちステップS31~S36のみを用いて推定される。図13において、横軸は、1ホップの無線通信距離(広告パケットを直接受信することが可能な無線通信距離)を示し、縦軸は、位置推定誤差である。
 図13に示すように、ノードの数が50個、100個及び150個のいずれの場合であっても、位置推定誤差が無線通信距離に対して概ね下に凸となっていることが分かる。これは、固定ノードの位置推定誤差を最小にすることができる最適な無線通信距離が存在することを意味する。
 無線通信距離が最適な無線通信距離よりも短い場合、各固定ノードにおける1次近傍ノードの数が少なくなり、固定ノードの位置推定に用いられる1次近傍ノードのトポロジ情報が不十分となる。この結果、無線通信距離が最適な無線通信距離よりも短くなるにつれて、位置推定精度が急激に劣化する。
 一方、無線通信距離が最適な無線通信距離よりも長い場合、ある固定ノードを基準にして、1ホップの位置にある固定ノードの数が増加する。この場合、基準となる固定ノードの1次近傍ノードのトポロジ情報において、ホップ解像度が低くなる。つまり、基準固定ノードから様々な距離にある複数の固定ノードが、1次近傍ノードとしてまとめて扱われるため、ホップ数から求められる通信距離(ステップS33。図10参照)と、実際の無線通信距離との間に乖離が拡大する。この結果、無線通信距離が最適な無線通信距離よりも長くなるにつれて、位置推定精度が劣化する。
 従って、最小の位置推定誤差または最適な無線通信距離を特定することができれば、固定ノードの位置を高精度で推定することができる。しかし、各固定ノードの真の位置は、アンカーノードを除いて不明であるため、位置推定装置5は、位置推定誤差を取得することができない。また、最適な無線通信距離を特定するために、各固定ノードの送信電力を制御して各固定ノードの無線通信距離を制御する方法が考えられる。しかし、各固定ノードの送信電力を位置推定のために制御することは、各固定ノードの処理負荷を考慮した場合、現実的ではない。
 そこで、位置推定装置5は、実際の無線通信距離に代えて仮想ノード間距離を使用し、位置推定誤差に代えて領域判定値VT_AVEを使用する。位置推定装置5は、最適な無線通信距離に対応する最小の領域判定値VT_AVEを探索し、探索の結果得られた最小の領域判定値VT_AVEに対応するトポロジから得られる絶対位置を、位置推定結果として出力する。
 位置推定誤差に代えて領域判定値VT_AVEを使用できる理由を説明する。領域判定値VT_AVEは、無線ネットワーク10における各固定ノードの位置を推定した場合におけるトポロジ矛盾の発生頻度を示す。領域判定値VT_AVEが0に近づくにつれて、各センサノートの推定位置に関してトポロジ矛盾が少なくなり、各固定ノードの位置が高精度で推定されていると考えることができる。
 図14は、通信距離を0.15~0.5に設定した場合における、固定ノードの位置推定誤差と、領域判定値との関係を示すグラフである。図14に示す固定ノードの位置推定誤差は、図13に示す位置推定誤差と同じである。図14に示すように、領域判定値の低下に伴って、位置推定誤差が低下するという一定の相関関係が表れている。従って、最小の領域判定値VT_AVEを特定し、特定した領域判定値VT_AVEに対応する仮想トポロジに基づいて各固定ノードの位置を推定した場合、その推定位置の誤差は非常に小さいと想定される。
 [3.6.2.仮想トポロジの概略]
 固定トポロジと仮想トポロジとの違いについて説明する。図15は、固定ノードN-1のカバレッジの一例を示す図である。図15において、固定ノードN-1~N-10を結ぶ実線は、実際の無線通信リンクを示す。領域R1は、固定ノードN-1の実際のカバレッジを示す。固定ノードN-1の実際の無線通信距離は、領域R1の半径に相当する。
 図15に示すように、固定ノードN-1は、領域R1内に位置する固定ノードN-2~N-8と直接通信可能である。つまり、固定ノードN-2~N-8が、固定ノードN-1の1次近傍ノードであり、固定ノードN-2~N-8の識別情報が、固定ノードN-1の隣接ノード情報に登録される。領域R1の外に位置する固定ノードN-9,N-10は、固定ノードN-1の2次近傍ノードである。
 図16は、仮想ノード間距離に基づく固定ノードN-1の仮想的なカバレッジを示す図である。図16において、領域R2が、固定ノードN-1の仮想的なカバレッジであり、領域R2の半径が仮想ノード間距離に相当する。つまり、図16は、仮想ノード間距離を実際の無線通信距離よりも小さくした場合における、固定ノードN-1の仮想的な1次近傍ノードを示す。固定ノードN-1の仮想的な1次近傍ノードは、固定ノードN-2,N-4,N-6,N-8である。
 つまり、仮想ノード間距離を実際の無線通信距離よりも短くすることにより、固定ノードN-1の1次近傍ノードを仮想的に減少させることができる。また、仮想ノード間距離を実際の無線通信距離を長くすることにより、固定ノードN-1の1次近傍ノードを仮想的に増加させることができる。
 このように、固定ノードN-1の1次近傍ノードを仮想的に変更することによって、ステップS32で生成される固定トポロジ(隣接ノード情報に基づいて生成されるトポロジ)と異なる複数の仮想トポロジを生成することが可能となる。
 [3.6.3.仮想トポロジの生成(ステップS38)の手順の概略]
 上述のように、位置推定装置5は、最小の領域判定値VT_AVEを探索する。しかし、図13に示すグラフは、位置推定誤差の平均を用いており、位置推定誤差の実際の振れ幅は、図13に示す振れ幅よりも大きい。このため、最急降下法を用いて領域判定値VT_AVEの最小値を特定した場合、領域判定値VT_AVEの局所解が、誤って最小値として特定されるおそれがある。
 そこで、仮想トポロジ生成部66は、以下の手順に基づいて、最小の領域判定値VT_AVEの探索を行う。具体的には、仮想トポロジ生成部66は、これまでに計算された領域判定値VT_AVEの中で最小の領域判定値VT_AVEを記憶する。仮想トポロジ生成部66は、現在記憶している領域判定値VT_AVEに対応する仮想ノード間距離の近傍に、現在記憶している領域判定値VT_AVEをより小さくすることのできる仮想ノード間距離が存在すると仮定する。
 仮想トポロジ生成部66は、現在記憶している領域判定値VT_AVEがより小さくなる方向に仮想ノード間距離を更新し、更新した仮想ノード間距離に基づいて仮想トポロジを新たに生成する。仮想トポロジ生成部66は、新たな仮想トポロジから得られる領域判定値VT_AVEを、現在記憶している領域判定値VT_AVEと比較する。仮想トポロジ生成部66は、これらの処理を繰り返すことにより、最小の領域判定値VT_AVEを探索する。
 仮想トポロジ生成部66は、以下の(1)及び(2)の考えに基づいて、最小の領域判定値VT_AVEの探索を継続するか否かを判断する。
(1)領域判定値VT_AVEの最小値の更新率が高い場合、新たな最小値が発見される可能性が高いため、最小値の探索を継続する必要がある。
(2)領域判定値VT_AVEの最小値の更新率が低い場合、領域判定値VT_AVEの最小値を発見した可能性が高い。
 つまり、領域判定値VT_AVEの最小値の更新率が予め設定された閾値以上である場合、仮想トポロジ生成部66は、新たな仮想トポロジの探索を継続する。一方、領域判定値VT_AVEの最小値の更新率が上記の閾値よりも低い場合、仮想トポロジ生成部66は、最小の領域判定値VT_AVEを特定できたと判断し、仮想トポロジの生成終了を決定する。
 [3.7.仮想トポロジの生成(ステップS38)の具体的な処理]
 [3.7.1.1回目の仮想トポロジの設定)
 図17及び図18は、仮想トポロジ生成部66の動作を示すフローチャートである。以下、図17及び図18を参照しながら、仮想トポロジの生成(ステップS38。図10参照)について詳しく説明する。
 仮想トポロジ生成部66は、固定トポロジに対応する領域判定値VT_AVEをトポロジ矛盾判定部65から受けた場合、仮想トポロジが既に生成されたか否かを判断する(ステップS101)。固定ノードの位置推定において、仮想トポロジの生成が行われていないため(ステップS101においてYes)、仮想トポロジ生成部66は、最小の領域判定値VT_AVEの探索に用いるパラメータを初期化する(ステップS102)。
 具体的には、仮想トポロジ生成部66は、ステップS102において、最良領域判定値、最良領域判定値更新率、終了基準更新率、確率変数a,b、及び仮想ノード間距離を設定する。
 最良領域判定値は、仮想トポロジ及び固定トポロジの各々に対応する領域判定値VT_AVEのうち、最小の領域判定値VT_AVEである。ステップS102では、仮想トポロジ生成部66に最初に入力された領域判定値VT_AVEが、最良領域判定値として設定される。
 最良領域判定値更新率は、最良領域判定値の更新頻度を示し、0以上1以下の数値である。具体的には、最良領域判定値更新率は、最良領域判定値の更新回数を、固定トポロジとこれまでに生成された仮想トポロジの合計数で除算することにより得られる。ステップS102では、最良領域判定値が、最初の領域判定値VT_AVEの入力により更新されるため、最良領域判定値更新率は、1に設定される。
 終了基準更新率は、仮想トポロジの生成を終了するか否かを判断するための閾値である。仮想トポロジ生成部66は、ステップS102において、確率分布関数P(a,b)の確率変数a,bを0に初期化する。確率分布関数P(a,b)の詳細については、後述する。
 また、仮想トポロジ生成部66は、仮想ノード間距離の初期値を設定する。仮想トポロジ生成部66は、変換部64により変換された各固定ノードの絶対位置と、固定ノードの隣接ノード情報とに基づいて、固定ノードと隣接ノード情報に登録された1次近傍ノードとの距離の平均値を計算する。計算により得られた平均距離が、仮想ノード間距離の初期値として用いられる。このようにして設定された仮想ノード間距離の初期値は、固定トポロジの仮想無線通信距離に相当する。
 ステップS102の後に、仮想トポロジ生成部66は、図18に示すステップS116に進む。仮想トポロジ生成部66は、0以上1以下の一様な乱数を生成し、生成した乱数を確率分布関数P(a,b)と比較する(ステップS116)。
 確率分布関数P(a,b)が乱数よりも大きい場合(ステップS116においてYes)、仮想トポロジ生成部66は、仮想ノード間距離を現在の仮想ノード間距離よりも小さくする(ステップS117)。一方、確率分布関数P(a,b)が乱数以下である場合(ステップS116においてNo)、仮想ノード間距離を現在の仮想ノード間距離よりも大きくする(ステップS118)。
 ここで、確率分布関数P(a,b)について詳しく説明する。上述のように、確率分布関数P(a,b)は、仮想ノード間距離を小さくするか、あるいは、大きくするかを決定するために用いられる。確率分布関数P(a,b)は、式(7)により表される。
Figure JPOXMLDOC01-appb-M000007
 式(7)において、確率変数aは、仮想ノード間距離を小さくした場合に領域判定値VT_AVEが減少したケースの数と、仮想ノード間距離を大きくした場合に領域判定値VT_AVEが増加したケースとの和である。つまり、確率変数aは、仮想ノード間距離を小さくした場合において、領域判定値VT_AVEがより小さくなった回数を示す。
 確率変数bは、仮想ノード間距離を大きくした場合に領域判定値VT_AVEが減少したケースの数と、仮想ノード間距離を小さく場合に領域判定値VT_AVEが増加したケースとの和である。つまり、確率変数bは、仮想ノード間距離を大きくした場合において、領域判定値VT_AVEがより大きくなった回数を示す。
 仮想ノード間距離を小さくするか否かは、ステップS116に示すように、確率分布関数P(a,b)と乱数との比較結果に基づいて決定される。確率分布関数P(a,b)が1に近づくほど、仮想ノード間距離を小さくする確率が高くなり、確率分布関数P(a,b)が0に近づくほど、仮想ノード間距離を大きくする確率が高くなる。
 確率分布関数が0.5に近い場合、仮想ノード間距離を小さくするか大きくするかはランダムに決定される。仮想ノード間距離を小さくすればよいのか、大きくすればよいのかは、仮想トポロジの最初に生成する時点では決まっていない。このため、仮想トポロジ生成部66は、ステップS102において、確率変数a,bを0に設定することにより、仮想ノード間距離を小さくするか大きくするかをランダムに決定する。
 次に、仮想ノード間距離を小さくする処理(ステップS117)について説明する。仮想トポロジ生成部66は、図17及び図18に示す処理を開始する際に、固定ノードの隣接ノード情報を取得し、変換部64から各固定ノードの絶対位置を取得する。
 そして、仮想トポロジ生成部66は、固定ノードN-1~N-kのうち、少なくとも1つの固定ノードにおける1次近傍ノードの数が減少するように、仮想ノード間距離を小さくする。1次近傍ノードの減少数は、1以上であればよい。例えば、図16に示すように、仮想ノード間距離が、領域R1の半径に設定されている場合を考える。この場合において、仮想ノード間距離を領域R1の半径から領域R2の半径に減少させた場合、固定ノードN-1の1次近傍ノードの数は、7から4に減少する。
 一方、仮想ノード間距離を大きくする処理(ステップS118)を実行する場合、仮想トポロジ生成部66は、仮想トポロジ生成部66は、固定ノードN-1~N-kのうち、少なくとも1つの固定ノードにおける1次近傍ノードの数が増加するように、仮想ノード間距離を大きくする。1次近傍ノードの増加数は、1以上であればよい。例えば、図16に示すように、仮想ノード間距離が、領域R1の半径に設定されている場合を考える。この場合、固定ノードN-9が固定ノードN-1の1次近傍ノードとなるように、仮想ノード間距離を、領域R1の半径から大きくすればよい。
 仮想トポロジ生成部66は、変更された仮想ノード間距離に基づいて、仮想トポロジを生成する(ステップS119)。具体的には、仮想トポロジ生成部66は、固定ノードN-iの絶対位置を基準として、ステップS117又はS118で変更された仮想ノード間距離の範囲内にある他の固定ノードを、固定ノードN-iの1次近傍ノードを特定することにより、固定ノードN-iについての仮想的な隣接ノード情報を生成する。そして、仮想トポロジ生成部66は、ステップS2と同様の手順で、仮想的な隣接ノード情報に基づいて、各固定ノードの仮想トポロジを生成する。
 位置更新部63は、仮想トポロジ生成部66から仮想トポロジを受け、その受けた仮想トポロジに基づいて、各固定ノードの仮の自己位置を更新することにより、各固定ノードの位置を推定する。仮想トポロジに基づいて各固定ノードの位置を推定する場合、位置更新部63は、自己位置生成部62により新たに生成されたランダムな仮の自己位置を用いてもよいし、直前のトポロジ又は仮想トポロジに基づいて推定された推定位置を用いてもよい。
 [3.7.2.最良領域判定値を更新する場合]
 2回目以降の仮想トポロジの生成について説明する。以下、仮想トポロジ生成部66がトポロジ矛盾判定部65から受ける領域判定値VT_AVEを、「現在の領域判定値」と呼び、現在の領域判定値に対応する仮想トポロジを「現在の仮想トポロジ」と呼ぶ。
 図17に示すように、仮想トポロジ生成部66は、現在の領域判定値をトポロジ矛盾判定部65から受けた場合、1回目の仮想トポロジの生成であるか否かを判断する(ステップS101)。仮想トポロジの生成が既に行われているため(ステップS101においてNo)、仮想トポロジ生成部66は、現在の領域判定値を最良領域判定値と比較する(ステップS103)。
 現在の領域判定値が最良領域判定値よりも小さい場合(ステップS103においてYes)、仮想トポロジ生成部66は、最良領域判定値を現在の領域判定値で更新し(ステップS104)、最良領域判定値更新率を更新する(ステップS105)。
 最良領域判定値が更新された場合、上述のように、現在の仮想トポロジの生成に用いられた仮想ノード間距離の近傍に、より小さい領域判定値VT_AVEを得ることのできる仮想ノード間距離が存在する可能性がある。仮想トポロジ生成部66は、より小さい領域判定値VT_AVEを探索するために、確率変数a,bをそれぞれ0に再初期化する(ステップS106)。これにより、確率分布関数P(a,b)の値は0.5となるため、現在の仮想トポロジに設定に用いられた仮想ノード間距離の修正方向はランダムに決定される。
 仮想トポロジ生成部66は、確率分布関数P(a,b)を乱数と比較し(ステップS116)、その比較結果に基づいて、仮想ノード間距離を小さくする処理(ステップS117)及び仮想ノード間距離を大きくする処理(ステップS118)を実行する。
 [3.7.3.最良領域判定値が更新されない場合]
 図17に示すように、仮想トポロジ生成部66は、現在の領域判定値をトポロジ矛盾判定部65から受けた場合、1回目の仮想トポロジの生成であるか否かを判断する(ステップS101)。仮想トポロジの生成が既に行われているため(ステップS101においてNo)、仮想トポロジ生成部66は、現在の領域判定値を最良領域判定値と比較する(ステップS103)。
 現在の領域判定値が最良領域判定値以上である場合(ステップS103においてNo)、仮想トポロジ生成部66は、最良領域判定値更新率を終了基準更新率と比較する(ステップS107)。最良領域判定値更新率が終了基準更新率よりも小さい場合(ステップS107においてYes)については、後述する。
 最良領域判定値更新率が終了基準更新率以上である場合(ステップS107においてNo)、仮想トポロジ生成部66は、新たな最小値が発見される可能性が高いため、最小値の探索を継続する。
 具体的には、仮想トポロジ生成部66は、現在の仮想トポロジを生成する際に、仮想ノード間距離を減少させたか否かを判断する(ステップS109)。つまり、仮想トポロジ生成部66は、現在の仮想トポロジの生成に用いた仮想ノード間距離と、直前のトポロジの生成に用いた仮想ノード間距離とを比較する。ここで、直前のトポロジとは、現在の仮想トポロジよりも1つ前に生成されたトポロジ(固定トポロジ又は仮想トポロジ)のことである。
 現在の仮想トポロジの生成に用いた仮想ノード間距離が直前のトポロジの生成に用いた仮想ノード間距離よりも小さい場合、仮想トポロジ生成部66は、現在の仮想トポロジを生成する際に、仮想ノード間距離を減少させたと判断する。
 仮想ノード間距離を減少させていた場合(ステップS109においてYes)、仮想トポロジ生成部66は、図18に示すステップS110に進み、現在の領域判定値を、前回の領域判定値と比較する(ステップS110)。前回の領域判定値は、直前の仮想トポロジに対応する。現在の領域判定値を前回の領域判定値と比較することにより、領域判定値VT_AVEが減少傾向にあるのか、増加傾向にあるのかが判断される。
 前回の領域判定値が現在の領域判定値よりも大きい場合(ステップS110においてYes)、仮想ノード間距離を小さくして領域判定値VT_AVEが減少したケースに該当する。この場合、仮想ノード間距離をさらに小さくすることにより、さらに小さい領域判定値VT_AVEが得られる可能性が高い。確率変数aを増加させた場合、確率分布関数P(a,b)が1に近づくため、確率分布関数P(a,b)が、一様乱数よりも大きくなる確率が高まる。この結果、ノード間通信距離を減少させる処理(ステップS117)が実行される確率が高まる。仮想トポロジ生成部66は、仮想ノード間距離を減少させるために、確率変数aに1を加える(ステップS111)。
 一方、ステップS110において、前回の領域判定値が現在の領域判定値以下である場合(ステップS110においてNo)、仮想ノード間距離を小さくして領域判定値が増加したケースに該当する。この場合、仮想ノード間距離を大きくすることにより、より小さい領域判定値VT_AVEが得られる可能性が高い。確率変数bを増加させた場合、確率分布関数P(a,b)が0に近づくため、確率分布関数P(a,b)が、一様乱数以下となる確率が高まる。この結果、仮想ノード間距離を増加させる処理(ステップS118)が実行される確率が高まる。仮想トポロジ生成部66は、仮想ノード間距離を増加させるために、確率変数bに1を加える(ステップS112)。
 仮想トポロジ生成部66は、更新された確率変数a又はbを用いて確率分布関数P(a,b)を計算し、計算した確率分布関数P(a,b)を一様乱数と比較する(ステップS116)。仮想トポロジ生成部66は、上述のように、比較結果に応じて、仮想ノード間距離を減少させる処理(ステップS117)、又は、仮想ノード間距離を増加させる処理(ステップS118)を実行する。
 なお、仮想トポロジ生成部66は、ステップS117又はS118を実行するにあたり、直前に生成された仮想トポロジを参照する。具体的には、仮想トポロジ生成部66は、直前に生成された仮想トポロジにおける固定ノードN-iの1次近傍ノードを参照して、仮想ノード間距離の変更量を決定する。
 仮想トポロジ生成部66は、ステップS117又はS118により変更されたノード間距離に基づいて、仮想トポロジを生成する(ステップS119)。このように、確率分布関数P(a,b)における確率変数a,bを用いることにより、仮想ノード間距離の増減を制御することが可能となる。
 ここで、ステップS109(図17参照)の説明に戻る。前回の仮想トポロジの設定時において、仮想ノード間距離を増加させていた場合(ステップS109においてNo)、仮想トポロジ生成部66は、図18に示すステップS113に進み、現在の領域判定値を、前回の領域判定値と比較する。現在の領域判定値を前回の領域判定値と比較することにより、領域判定値VT_AVEが減少傾向にあるのか、増加傾向にあるのかが判断される。
 前回の領域判定値が現在の領域判定値よりも大きい場合(ステップS113においてYes)、仮想ノード間距離を小さくして領域判定値が減少したケースに該当する。この場合、ステップS111と同様に、仮想ノード間距離を小さくすることにより、さらに小さい領域判定値VT_AVEが得られる可能性が高い。従って、仮想トポロジ生成部66は、確率変数aに1を加える(ステップS114)。
 一方、前回の領域判定値が現在の領域判定値以下である場合(ステップS113においてNo)、仮想ノード間距離を小さくして領域判定値VT_AVEが増加したケースに該当する。この場合、ステップS112と同様に、仮想ノード間距離を大きくすることにより、さらに小さい領域判定値が得られる可能性が高い。従って、仮想トポロジ生成部66は、確率変数bに1を加える(ステップS115)。
 仮想トポロジ生成部66は、更新された確率変数a又はbを用いて確率分布関数P(a,b)を計算し、計算した確率分布関数P(a,b)を一様乱数と比較する(ステップS116)。仮想トポロジ生成部66は、上述のように、比較結果に応じて、仮想ノード間距離を減少させる処理(ステップS117)、又は、仮想ノード間距離を増加させる処理(ステップS118)を実行する。仮想トポロジ生成部66は、ステップS117又はS118により変更されたノード間距離に基づいて、仮想トポロジを生成する(ステップS119)。
 ここで、確率分布関数P(a,b)の具体例について説明する。図19及び図20は、確率分布関数P(a,b)の具体例を示すグラフである。図19は、確率変数a,bの比(a/b)が1から遠い場合における確率分布関数P(a,b)の分布形状を示す。図18は、確率変数a,bの比(a/b)が1から近い場合における確率分布関数P(a,b)の分布形状を示す。
 図19及び図20に示すように、確率変数a,bを初期化してから、s回目(sは2以上の整数)の領域判定値VT_AVEの探索時において、確率分布関数P(a,b)の挙動は、確率変数a,bの比(a/b)によって変動する。
 確率変数a,bの比(a/b)が1から遠い場合、確率分布関数P(a,b)は、図19に示すように、仮想ノード間距離を減少させる方向又は増加させる方向に強く作用する。具体的には、確率変数a,bの比(a/b)が1より大きい場合、確率分布関数P(a,b)が1に近づくため、仮想ノード間距離を小さくする確率が高くなる。つまり、領域判定値VT_AVEの探索が、仮想ノード間距離を小さくする方向で行われる。一方、確率変数a,bの比(a/b)が1より小さい場合、確率分布関数P(a,b)が0に近づくため、仮想ノード間距離を大きくする確率が高くなる。つまり、つまり、領域判定値VT_AVEの探索が、仮想ノード間距離を大きくする方向で行われる。
 また、確率変数a,bの比(a/b)が1に近い場合、確率分布関数P(a,b)は、図20に示すように、仮想ノード間距離を減少させる確率及び増加させる確率がともに0.5に近づく。この場合、仮想ノード間距離を変化させる方向が明確ではないため、いずれの方向にも探索が行われる。
 [3.7.4.仮想トポロジの生成の終了]
 図17に示すように、仮想トポロジ生成部66は、現在の領域判定値をトポロジ矛盾判定部65から受けた場合、1回目の仮想トポロジの生成であるか否かを判断する(ステップS101)。仮想トポロジの生成が既に行われているため(ステップS101においてNo)、仮想トポロジ生成部66は、現在の領域判定値を最良領域判定値と比較する(ステップS103)。
 最良領域判定値が現在の領域判定値以下である場合(ステップS103においてNo)、仮想トポロジ生成部66は、領域判定値VT_AVEの最小値の探索が終了した可能性があると判断し、ステップS107に進む。
 仮想トポロジ生成部66は、終了基準更新率を最良領域判定値更新率と比較する(ステップS107)。最良領域判定値更新率が終了基準更新率よりも低い場合(ステップS107においてYes)、仮想トポロジ生成部66は、現在の最良領域判定値よりも小さい領域判定値VT_AVEが発見される可能性が低いと判断し、仮想トポロジの生成終了を決定する(ステップS108)。
 仮想トポロジの生成終了を決定した場合、仮想トポロジ生成部66は、図10のステップS40において、最小の領域判定値VT_AVEに対応するトポロジを特定する。仮想トポロジ生成部66は、特定したトポロジから得られた固定ノードN-i~N-kの絶対位置を、位置推定結果として出力する。
 このように、位置推定装置5は、固定トポロジに基づく各固定ノードの位置推定を行い、固定トポロジに対応する領域判定値VT_AVEを計算する。位置推定装置5は、複数の仮想ノード間距離を設定して複数の仮想トポロジを設定し、各仮想トポロジに基づく各固定ノードの位置推定を行う。位置推定装置5は、各仮想トポロジにおけるトポロジ矛盾の発生頻度を示す領域判定値VT_AVEを計算する。位置推定装置5は、複数の領域判定値VT_AVEの中から最小の領域判定値VT_AVEを特定し、特定した最小の領域判定値VT_AVEに対応するトポロジに基づく位置推定結果を、最終の位置推定結果として出力する。これにより、従来の方法に比べて、停止中の固定ノードの位置推定精度を向上させることができる。
 [4.移動ノードの位置推定処理(ステップS4)]
 図21は、移動ノード位置推定部70の動作を示すフローチャートである。以下、図21を参照しながら、移動ノードM-1~M-pの位置を推定する処理(ステップS4)について詳しく説明する。
 [4.1.移動ノードの選択]
 移動ノード位置推定部70は、分類部52により分類された移動ノードM-1~M-pの隣接ノード情報を取得する(ステップS41)。移動トポロジ生成部71は、取得した隣接ノード情報に基づいて、移動ノードM-1~M-pを認識する。移動トポロジ生成部71は、移動ノードM-1~M-pのうち、位置推定の対象となる移動ノードM-u(uは、1以上p以下の整数)を選択する(ステップS42)。
 [4.2.移動トポロジの生成]
 移動トポロジ生成部71は、移動ノードM-uの近傍に位置する固定ノードの隣接ノード情報を取得する(ステップS43)。具体的には、移動トポロジ生成部71は、移動ノードM-uの隣接ノード情報に記録されている固定ノードを特定する。移動トポロジ生成部71は、特定した固定ノードの隣接ノード情報を分類部52から取得する。
 例えば、移動ノードM-1がステップS42で選択された場合、移動トポロジ生成部71は、図2に示す隣接ノード情報21Mを参照して、固定ノードN-1及び固定ノードN-5を特定し、特定した固定ノードN-1及びN-5の隣接ノード情報を、分類部52から取得する。
 移動トポロジ生成部71は、移動ノードM-uの隣接ノード情報と、ステップS43において取得した隣接ノード情報とに基づいて、移動ノードM-uのトポロジ(移動トポロジ)を生成する(ステップS44)。移動トポロジの生成手順は、固定トポロジの生成手順(ステップS32。図10参照)と同じである。ただし、移動トポロジ生成部71は、移動ノードM-uの1次近傍ノード及び2次近傍ノードのみを特定し、3次以上の近傍ノードを特定しない。
 つまり、移動トポロジ生成部71は、ステップS44において、移動ノードM-uの移動トポロジとして、移動ノードM-uの1次近傍ノード及び2次近傍ノードのみを記録したトポロジを生成する。また、移動ノードM-uの移動トポロジにおいて、1次近傍ノード及び2次近傍ノードは、全て固定ノードであり、移動ノードを含まない。
 図22は、移動ノードM-1と、固定ノードN-1~N-12との位置関係の一例を示す図である。以下、図22を参照しながら、移動ノードM-1がステップS42で選択された場合における、移動ノードM-1の移動トポロジについて説明する。
 図22に示すように、領域R11は、移動ノードM-1のカバレッジであり、移動ノードM-1の1次近傍ノードが設定される範囲に相当する。このため、移動ノードM-1の移動トポロジにおいて、領域R11内に存在する固定ノードN-1~N-5が、移動ノードM-1の1次近傍ノードとして設定される。
 領域R12は、移動ノードM-1の2次近傍ノードが設定される範囲に相当する。移動ノードM-1の移動トポロジにおいて、固定ノードN-6~N-8が、移動ノードM-1の2次近傍ノードとして設定される。固定ノードN-9~N-12は、領域R12の範囲外にあり、移動ノードM-uの3次近傍ノードに相当する。このため、固定ノードN-9~N-12は、移動ノードM-1の移動トポロジに含まれない。固定ノードN-9~N-12は、移動ノードM-1の位置推定に用いられない。
 つまり、移動ノードM-uの移動トポロジは、無線ネットワーク10全体の大局的なトポロジを構成するのではなく、移動ノードM-uを中心にした局所的なトポロジを構成する。
 また、図22では、移動ノードM-1以外の移動ノードを示していない。移動ノードM-1の移動トポロジは、移動ノードM-1以外の他の移動ノードを、1次近傍ノード及び2次近傍ノードとして含まない。この理由は、移動ノードの位置が推定されていないため、他の移動ノードを移動トポロジに含めた場合、移動ノードM-1の位置推定精度が低下するためである。
 [4.3.移動ノードの仮の自己位置の更新]
 再び、図21を参照する。自己位置生成部72は、ステップS42で選択された移動ノードM-uの仮の自己位置x(t)をランダムに生成する(ステップS45)。仮の自己位置は、所定の2次元座標上に設定される。tは、仮の自己位置の更新回数を示す。
 位置更新部73は、移動トポロジを移動トポロジ生成部71から取得し、移動ノードM-uの仮の自己位置x(t)を自己位置生成部72から取得する。位置更新部73は、その取得した移動トポロジに基づいて、1次近傍ノード及び2次近傍ノードの相対推定位置を固定ノード位置推定部60から取得する(ステップS46)。
 位置更新部73は、取得した仮の自己位置x(t)を所定の更新回数で更新する(ステップS47)。仮の自己位置x(t)の更新手順は、ステップS35(図10参照)における仮の自己位置の更新手順と同じである。ただし、移動トポロジは、1次近傍ノード及び2次近傍ノードのみを記録しているため、上記式(2)において、nは、2に設定される。つまり、移動ノードの仮の自己位置x(t)を更新する場合、式(2)のうち、最下段の式のみが用いられる。移動ノードM-uの仮の自己位置x(t)の更新が終了した場合、位置更新部73は、更新の終了した移動ノードM-uの仮の自己位置x(t)を、移動ノードM-uの推定位置として出力する。
 ステップS47では、移動トポロジにおいて設定された1次近傍ノード及び2次近傍ノード(固定ノード)の位置は更新されない。この理由は、固定ノードの位置推定処理(ステップS3)において、固定ノードの位置が既に十分な精度で推定されており、移動ノードの位置推定(ステップS4)の際に、固定ノードの位置を改めて推定する必要がないためである。
 上述のように、移動ノードM-uの位置推定では、移動ノードM-uの1次近傍ノード及び2次近傍ノードを使用し、3次以上の近傍ノードを使用しない。これにより、固定ノードの位置推定に比べて、移動ノードの位置推定に要する演算量を削減することができる。移動ノードの位置推定では、その精度よりも、移動ノードの移動に伴う追随性が優先される。このため、移動ノードM-uの位置推定に使用する近傍ノードの数を抑制することにより、移動ノードM-uの位置を迅速に推定することができる。
 なお、上記では、移動トポロジが1次近傍ノード及び2次近傍ノードのみを定義している例を説明しているが、これに限られない。移動トポロジは、3次以上の近傍ノードを含んでいてもよい。ただし、移動ノードM-uの位置を迅速に推定するという観点から、移動トポロジは、固定トポロジが1次近傍ノードからn次近傍ノードまでを含んでいる場合、移動トポロジは、1次近傍ノードから(n-1)次近傍ノードを含んでいることが望ましい。つまり、移動トポロジにおける近傍ノードの数が、固定トポロジにおける近傍ノードの数よりも少なければよい。
 [4.4.移動ノードの推定位置の変換]
 変換部74は、更新が完了した移動ノードM-uの仮の自己位置(x(t))を位置更新部73から受ける。変換部74は、その受けた移動ノードM-uの装置推定位置を、アンカーノードの推定位置と絶対位置とを用いて絶対位置へ変換する(ステップS48)。ステップS47における移動ノードM-uの絶対位置の変換手順は、ステップS36(図10参照)と同様である。変換部74は、ステップS47により得られた移動ノードM-uの絶対位置を、移動ノードM-uの位置推定結果として出力する。
 [4.5.移動ノードの位置推定の終了判断]
 移動ノードM-uの絶対位置が出力された後に、移動トポロジ生成部71は、未選択の移動ノードがあるか否かを判定する(ステップS49)。
 未選択の移動ノードがある場合(ステップS49においてYes)、移動トポロジ生成部71は、未選択の移動ノードの中から、移動ノードを新たに選択する(ステップS42)。その後、新たに選択された移動ノードの位置推定が行われる。全ての移動ノードを選択した場合(ステップS49においてNo)、移動ノード位置推定部70は、図21に示す処理を終了する。
 このように、移動ノード位置推定部70は、移動ノードM-uの位置を推定する際に、移動ノードM-uの1次近傍ノード及び2次近傍ノードを使用し、3次以上の近傍ノードを使用しない。これにより、移動ノードM-uの位置推定に要する演算量を削減できるため、移動ノードM-uの位置を速やかに推定することができる。また、移動トポロジは、1次近傍ノード及び2次近傍ノードとして固定ノードを含み、移動ノードM-u以外の移動ノードを含まない。これにより、位置推定が行われていない移動ノードが、移動ノードM-uの位置推定に使用されないため、移動ノードM-uの位置推定精度を向上させることができる。
 [4.6.移動ノードの隣接ノード情報の再利用]
 上述のように、移動ノードM-uの位置推定を終了した場合、移動ノードM-uの隣接ノード情報は、仮想的な固定ノードの隣接ノード情報として再利用される。これにより、無線ネットワーク10(図1参照)における固定ノードの数を仮想的に増加させることができるため、無線ネットワーク10における無線ノードの位置推定精度を向上させることができる。以下、詳しく説明する。
 移動ノードM-uは、時間の経過とともに移動しながら、定期的に隣接ノード情報を含む通知パケットDTGを送信する。従って、移動ノードを離散時間で見た場合、移動ノードを、異なる複数の時刻における複数の固定ノードとみなすことが可能である。
 図23は、移動ノードM-1の位置の変化の一例を示す図である。図23において、移動ノードM-1の符号のみを表示し、固定ノードの符号の表示を省略している。
 図23に示すように、移動ノードM-1が、時間の経過とともに、左から右方向へ移動している。この場合、位置推定装置5は、時刻T1における移動ノードM-1の位置を、時刻T1における移動ノードM-1の隣接ノード情報を用いて推定する。その後、位置推定装置5は、時刻T2における移動ノードM-1の位置を、時刻T2における移動ノードM-1の隣接ノード情報を用いて推定し、時刻T3における移動ノードM-1の位置を、時刻T3における移動ノードM-1の隣接ノード情報を用いて推定する。
 時刻T2における移動ノードM-1の位置推定の際に、時刻T1における移動ノードM-1の隣接ノード情報は使用されない。また、時刻T3における移動ノードM-1の位置推定の際に、時刻T1及びT2における移動ノードM-1の隣接ノード情報は使用されない。しかし、時刻T1及びT2における移動ノードM-1の隣接ノード情報は、時刻T1及び時刻T2における移動ノードM-1の位置に固定ノードを設置した仮定した場合、この固定ノードにより生成された隣接ノード情報であると考えることができる。つまり、移動ノードM-1を時刻T1、T2、及びT3という離散時間で見た場合、移動ノードM-1は、これらの時刻における固定ノードであると考えることができる。
 位置推定装置5は、この考えに従って、移動ノードM-1の位置推定に使用した隣接ノード情報を、仮想的な固定ノードの隣接ノード情報として使用する。具体的には、移動トポロジ生成部71(図8参照)は、移動ノードM-uの位置推定が完了した場合、移動ノードM-uの隣接ノード情報を、固定ノード位置推定部60(図7参照)の固定トポロジ生成部61へ出力する。固定トポロジ生成部61は、固定トポロジを生成する際に、分類部52から受ける固定ノードN-1~N-kの隣接ノード情報に加えて、移動トポロジ生成部71から受けた移動ノードM-uの隣接ノード情報を仮想的な固定ノードの隣接ノード情報として使用する。
 これにより、無線ネットワーク10における固定ノードの数を、仮想的に増加させることができる。固定ノードの位置推定精度は、固定ノードの数の増加に応じて向上する。この理由は、固定ノードの数が増加するにつれて、固定ノードの位置を推定する際に用いられる固定トポロジがより詳細化するためである。
 このように、移動ノードM-uを離散時間で扱うことにより、移動ノードM-uの過去の隣接ノード情報を、仮想的な固定ノードの隣接ノード情報として扱うことが可能となる。つまり、移動ノードM-uを時間分割による多重化ノードとして扱うことにより、無線ノードの位置推定精度をさらに向上させることができる。
 [4.7.シミュレーション評価]
 (1)仮想的な固定ノードの使用による位置精度の評価
 上述のように、固定ノード位置推定部60は、固定ノードN-1~N-kの位置を推定する際に、位置推定が完了した移動ノードM-uの隣接ノード情報を、仮想的な固定ノードの隣接ノード情報として使用する。
 仮想的な固定ノードを使用した場合における固定ノードの位置推定精度を評価するために、シミュレーションを行った。具体的には、仮想的な固定ノードを使用した場合と、仮想的な固定ノードを使用しない場合にとにおける固定ノードの位置推定精度を比較した。
 シミュレーション条件は、以下の通りである。仮想的な2次元のフィールドを想定した。2次元のフィールドの範囲は、縦300m及び横300mである。固定ノード及び移動ノードを含む無線ノードの通信半径は、1mである。無線ノードの数は、50である。アンカーノードの数は、3であり、固定ノード又は移動ノードの位置推定における仮の自己位置の更新回数は、300回である。
 そして、仮想的な固定ノードを使用した場合における無線ノードの位置推定誤差を下記の式(8)を用いて算出した。
Figure JPOXMLDOC01-appb-M000008
 式(8)において、Eave_1は、仮想的な固定ノードを使用した場合における位置推定誤差である。Nは、無線ノードの数である。Wは、無線ノードの各々の真位置である。wは、無線ノードの各々の推定位置である。仮想的な固定ノードを使用しない場合における位置推定誤差Eave_2についても、式(8)を用いて算出した。
 この結果、仮想的な固定ノードを使用した場合における位置推定誤差Eave_1は、約11mであった。仮想的な固定ノードを使用しない場合における位置推定誤差Eave_2は、約18mであった。仮想的な固定ノードを使用した場合における位置推定誤差Eave_1は、仮想的な固定ノードを使用しない場合における位置推定誤差Eave_2の3分の2以下に改善されている。つまり、仮想的な固定ノードを用いて無線ノードの位置を推定することにより、無線ノードの位置推定精度を向上できることが確認された。
 (2)位置推定誤差の経時変化
 上述のように、位置推定装置5による無線ノードの位置推定において、移動ノードの推定位置の更新頻度は、固定ノードの推定位置の更新頻度よりも高い。例えば、位置推定装置5は、1回目の固定ノードの位置推定を行ってから、2回目の固定ノードの位置推定を行うまでの間に、移動ノードの位置推定を20回行う。
 上述のように移動ノードの位置推定を繰り返し行う場合における位置推定誤差の経時変化を評価するために、シミュレーションを行った。シミュレーション条件は、以下の通りである。仮想的な2次元のフィールドを想定した。2次元のフィールドの範囲は、縦300m及び横300mである。固定ノード及び移動ノードを含む無線ノードの通信半径は、1mである。無線ノードの数は、300である。具体的には、位置推定開始時における固定ノード及び移動ノードの各々の数を150に設定した。アンカーノードの数は、3である。固定ノード及び移動ノードの各々の位置推定における仮の自己位置の更新回数は、300回である。固定ノードの位置推定を5回繰り返した後に、移動ノードの位置推定を25回繰り返した。
 また、固定ノード又は移動ノードの位置推定が行われるたびに、一定の確率(0.5)で固定ノードを移動ノードに変化させ、無線ノードを移動ノードに変化させた。移動ノードを上記のフィールド範囲内でランダムに移動させた。移動ノードの位置推定を行うにあたって、移動ノードに変化した固定ノードの推定位置を使用しなかった。
 そして、固定ノードの位置推定及び移動ノードの位置推定を行うたびに、無線ノードの位置推定誤差を上記の式(8)を用いて算出した。上記式(8)において、Nは、固定ノード及び移動ノードを含む無線ノードの数である。Wは、無線ノードの各々の真位置である。wは、無線ノードの各々の推定位置である。
 図24は、シミュレーションによる位置推定誤差の経時変化を示すグラフである。図23において、横軸の「サイクル」は、固定ノード又は移動ノードの位置推定を行った回数を示す。
 図24を参照して、位置推定回数が10回までは、位置推定誤差が3.5以上であり、位置推定回数が10回~15回において、位置推定誤差が2.0以下に低下している。これは、位置推定がされていない状態から位置推定を繰り返すことにより、各無線ノードの位置推定の精度が向上していることを示している。
 図24において、位置推定誤差が2.0m以下に低下している期間が周期的に現れている。位置推定誤差が2.0m以下に低下している期間は、固定ノードの位置推定が行われている期間である。固定ノードの位置推定では、全ての固定ノードの隣接ノード情報が参照されるため、固定ノードの推定位置の精度が上がり、位置推定誤差が2.0m以下に抑制されていることが示されている。
 位置推定誤差が2.0よりも高い期間は、移動ノードの位置推定が行われている期間に相当する。移動ノードの位置が推定されている期間における位置推定誤差は、概ね2~2.5mである。固定ノードが所定の確率で移動ノードに変化するため、移動ノードの位置推定に利用することができる固定ノードの数が時間の経過とともに減少する。この結果、移動ノードの位置推定誤差が上昇すると考えられる。しかし、移動ノードの位置推定誤差が上昇したとしても、固定ノードの位置推定が定期的に行われるため、位置推定誤差が3m以下に抑制されている。つまり、移動ノードの位置推定を行うにあたって、固定ノードの位置を定期的に推定することによって、位置推定誤差が3m以下に抑制できることを確認できた。
 [変形例]
 なお、上記実施の形態において、移動ノードM-1~M-pが加速度センサ24を備える例を説明したが、これに限られない。移動ノードM-1~M-pは、加速度センサに代えて、地磁気センサ、ジャイロセンサなどを備えていてもよい。つまり、移動ノードM-1~M-pは、自装置が移動しているか否かを判断することができるセンサを備えていればよい。
 また、上記実施の形態において、無線ノード及びシンク4が近距離無線通信を行う例を説明したが、これに限られない。無線ノードは、2つ以上の通信規格に対応していてもよい。例えば、無線ノードは、BLE又はIEEE802.15.4を用いて、他の無線ノードと広告パケットの送受信を行う。そして、無線ノードは、BLEや、IEEE802.15.4などよりも無線通信距離の長い通信規格(例えば、無線LAN(Local Area Network)や、携帯電話通信網など)に準拠した無線通信を用いて、隣接ノード情報を含む通知パケットDTGをシンク4に送信してもよい。無線ノードが通知パケットDTGを送信する際に、無線LANが用いられる場合、シンク4は、アクセスポイントに相当し、携帯電話通信網が用いられる場合、シンク4は、基地局に相当する。ここに挙げた通信規格は一例であり、無線ノードが使用する無線通信の通信規格は特に限定されない。また、図1では、シンク4が1つである場合を示しているが、無線ネットワーク10は、2つ以上のシンク4を備えていてもよい。
 また、上記実施の形態において、無線ノードが固定ノードから移動ノードに変化したり、移動ノードから固定ノードに変化したりすることがない例を説明したが、これに限られない。上述のように、例えば、移動ノードM-1の隣接ノード情報21Mに記録された移動ノードM-1の加速度が、所定の加速度以下である場合、分類部52は、移動ノードM-1が固定ノードであると判断し、移動ノードM-1の隣接ノード情報を、固定ノード位置推定部60に出力してもよい。この場合、固定ノード位置推定部60は、固定ノードN-1~N-kの隣接ノード情報に加えて、移動ノードM-1の隣接情報を用いて、固定ノードN-1~N-kの各々についての固定トポロジと、移動ノードM-1についての固定トポロジとを生成すればよい。この結果、移動ノードM-1の位置についても、固定ノード位置推定処理(ステップS3)において推定される。
 また、固定ノードN-1~N-kのうち、アンカーノードを除く固定ノードが、無線ノードに変化してもよい。例えば、固定ノードN-1がアンカーノードではなく、固定ノードN-1が加速度センサを備えていると仮定する。この場合、固定ノードN-1は、加速度センサにより検出された加速度を記録した隣接ノード情報を生成する。位置推定装置5において、分類部52は、固定ノードN-1から送信された隣接ノード情報に記録されている加速度が所定の加速度以下である場合、固定ノードN-1が移動していないと判断する。一方、分類部52は、固定ノードN-1から送信された隣接ノード情報に記録されている加速度が所定の加速度よりも大きい場合、固定ノードN-1が移動中であると判断し、固定ノードN-1を移動ノードとして扱うことを決定する。
 また、分類部52は、各無線ノードの隣接ノード情報の時間的な変化に基づいて、各無線ノードが固定ノードであるか移動ノードであるかを決定してもよい。例えば、分類部52は、固定ノードN-1の隣接ノード情報を新たに取得した場合、新たに取得した隣接ノード情報と、新たに取得した隣接ノード情報の直前に取得した固定ノードN-1の隣接ノード情報とを比較する。新たに取得した隣接ノード情報の内容が、直前に取得した隣接ノード情報の内容から変化している場合、分類部52は、固定ノードN-1が移動中であると判断する。一方、新たに取得した隣接ノード情報の内容が、直前に取得した隣接ノード情報の内容から変化していない場合、分類部52は、固定ノードN-1が移動していないと判断する。
 また、上記実施の形態において、仮想トポロジ生成部66が、仮想トポロジを生成する際に用いられる仮想ノード間距離として、固定ノードの絶対座標から計算された距離を使用する場合を説明したが、これに限られない。仮想トポロジ生成部66は、仮想ノード間距離として、IEEE802.15.4でサポートされているLQI(Link Quality Indicator)を使用してもよい。LQIは、各無線ノードから送信されるパケットなどの無線通信品質を示すパラメータであり、各無線ノードの電界強度に相当する。例えば、移動ノードM-1は、図2に示す隣接ノード情報21Mにおいて、隣接ノードの欄に、無線ノードの識別情報に加えて、広告パケット受信時のLQIを記述してもよい。電界強度の大きさは、無線通信距離と相関関係があるため、仮想トポロジ生成部66は、各無線ノードの隣接ノード情報に記録された全てのLQIの代表値(平均値、中間値)を、仮想ノード間距離の初期値として使用することが可能である。
 また、上記実施の形態において、位置推定装置5は、仮想トポロジを用いることなく固定ノードN-1~N-kの位置を推定してもよい。この場合、固定ノードN-1~N-kの位置推定の演算量を削減することができるため、移動ノードM-1~M-pの位置を迅速に推定することができる。
 また、上記実施の形態において、位置推定装置5が、移動ノードM-1~M-kの位置を推定する例を説明したが、これに限られない。位置推定装置5は、移動ノードM-1~M-pの位置を推定しなくてもよい。例えば、固定ノードのみが無線通信空間に配置されている場合においても、位置推定装置5を使用することが可能である。
 また、上記実施の形態に係る位置推定装置5の各機能ブロック(各機能部)の処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記実施の形態に係る位置推定装置5において、各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。例えば、位置推定装置5の構成を、図25に示すような構成とすることにより、上記実施の形態に係る位置推定装置5の各機能ブロック(各機能部)の処理の一部または全部が実行されるものであってもよい。
 また、上記実施の形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現してもよい。
 また、上記実施の形態における処理方法の実行順序は、必ずしも、上記実施形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
 前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、大容量DVD、次世代DVD、半導体メモリを挙げることができる。
 上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
 以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
N-1~N-k 固定無線ノード(固定ノード)
M-1~M-p 移動無線ノード(移動ノード)
4 シンク
5 位置推定装置
51 取得部
52 分類部
60 固定ノード位置推定部
61 固定トポロジ生成部
62,72 自己位置生成部
63,73 位置更新部
64,74 変換部
65 トポロジ矛盾判定部
66 仮想トポロジ生成部
70 移動ノード位置推定部
71 固定トポロジ生成部

Claims (11)

  1.  1つの無線ノードから1ホップの位置に存在する1次近傍ノードの情報である隣接ノード情報をm(mは、4以上の整数)個の無線ノードの各々から取得する取得部と、
     前記m個の無線ノードの各々についての隣接ノード情報に基づいて、前記m個の無線ノードの配置関係を示す固定トポロジを生成する固定トポロジ生成部と、
     前記m個の無線ノードの仮の自己位置を生成する自己位置生成部と、
     前記固定トポロジに基づいて前記m個の無線ノードの仮の自己位置を更新することにより、前記m個の無線ノードの位置を推定する位置更新部と、
     前記位置更新部により推定された一の無線ノードの位置が前記一の無線ノードから1ホップの位置に存在する無線ノードよりも前記一の無線ノードから2ホップの位置に存在する無線ノードに近いことを示すトポロジ矛盾が発生しているか否かを判定し、前記固定トポロジに対応するとともに前記m個の無線ノードにおけるトポロジ矛盾の発生頻度を示す領域判定値を計算するトポロジ矛盾判定部と、
     1ホップの位置に存在する2つの無線ノード間の仮想無線通信距離を設定し、前記仮想無線通信距離に基づいて前記一の無線ノードから1ホップの位置にある1次近傍ノードを再設定し、再設定された1次近傍ノードに基づいて前記m個の無線ノードの仮想的な配置関係を示す少なくとも1つの仮想トポロジを生成する仮想トポロジ生成部と、
    を備え、
     前記位置更新部は、前記少なくとも1つの仮想トポロジの各々に基づいて、前記m個の無線ノードの位置を推定し、
     前記トポロジ矛盾判定部は、前記少なくとも1つ仮想トポロジの各々に対応する前記m個の無線ノードの推定位置に基づいて、前記少なくとも1つ仮想トポロジの各々に対応する領域判定値を計算し、
     前記仮想トポロジ生成部は、前記固定トポロジに対応する領域判定値と前記少なくとも1つの仮想トポロジの各々に対応する領域判定値とに基づいて、前記固定トポロジに基づく前記m個の無線ノードの推定位置と、前記少なくとも1つの仮想トポロジの各々に基づく前記m個の無線ノードの推定位置とのうちいずれかを、前記m個の無線ノードの位置の推定結果として出力する位置推定装置。
  2.  請求項1に記載の位置推定装置であって、
     前記トポロジ矛盾判定部は、
     前記トポロジ矛盾判定部から最後に受けた現在の領域判定値を、前記現在の領域判定値よりも1つ前に入力された直前の領域判定値と比較する判定値比較部と、
     前記直前の領域判定値に対応する第1トポロジで用いられた仮想無線通信距離を、前記現在の領域判定値に対応する第2トポロジで用いられた仮想無線通信距離と比較する距離比較部と、
     前記判定値比較部による前記現在の領域判定値と前記直前の領域判定値との比較結果と、前記距離比較部による前記第1トポロジで用いられた仮想無線通信距離と前記第2トポロジで用いられた仮想無線通信距離との比較結果とに基づいて、新たな仮想トポロジの生成に用いられる仮想無線通信距離を設定する距離設定部と、
    を備える位置推定装置。
  3.  請求項2に記載の位置推定装置であって、
     前記距離設定部は、前記第2トポロジで用いられた仮想無線通信距離が前記第1トポロジで用いられた仮想無線通信距離よりも小さいと距離比較部により判断され、かつ、前記現在の領域判定値が前記直前の領域判定値よりも小さいと前記判定値比較部により判断された場合、前記新たな仮想トポロジの生成に用いられる仮想無線通信距離を、前記第2トポロジで用いられた仮想無線通信距離よりも小さくし、
     前記距離設定部は、前記第2トポロジで用いられた仮想無線通信距離が前記第1トポロジで用いられた仮想無線通信距離よりも小さいと距離比較部により判断され、かつ、前記現在の領域判定値が前記直前の領域判定値以上であると前記判定値比較部により判断された場合、前記新たな仮想トポロジの生成に用いられる仮想無線通信距離を、前記第2トポロジで用いられた仮想無線通信距離よりも大きくする位置推定装置。
  4.  請求項2または請求項3に記載の位置推定装置であって、
     前記距離設定部は、前記第2トポロジで用いられた仮想無線通信距離が前記第1トポロジで用いられた仮想無線通信距離以上である距離比較部により判断され、かつ、前記現在の領域判定値が前記直前の領域判定値よりも大きいと前記判定値比較部により判断された場合、前記新たな仮想トポロジの生成に用いられる仮想無線通信距離を、前記第2トポロジで用いられた仮想無線通信距離よりも小さくし、
     前記距離設定部は、前記第2トポロジで用いられた仮想無線通信距離が前記第1トポロジで用いられた仮想無線通信距離以上であると距離比較部により判断され、かつ、前記現在の領域判定値が前記直前の領域判定値以下である前記判定値比較部により判断された場合、前記新たな仮想トポロジの生成に用いられる仮想無線通信距離を、前記第2トポロジで用いられた仮想無線通信距離よりも大きくする位置推定装置。
  5.  請求項1ないし請求項4のいずれかに記載の位置推定装置であって、
     前記固定トポロジに対応する領域判定値と、第1仮想トポロジから第k(kは2以上の整数)仮想トポロジまでの各々の領域判定値との中から、領域判定値の最小値を決定する最小値決定部と、
     第(k+1)仮想トポロジに対応する領域判定値を新たに前記トポロジ矛盾判定部から受けた場合、第(k+1)仮想トポロジに対応する領域判定値を前記最小値と比較する最小値比較部と、
     第(k+1)仮想トポロジに対応する領域判定値が前記最小値よりも大きい場合、前記最小値の更新率を所定の閾値と比較する更新率比較部と、
    を備え、
     前記仮想トポロジ生成部は、前記更新率が前記閾値よりも小さいと前記更新率比較部により判定された場合、前記最小値に対応するトポロジに基づく前記m個の無線ノードの推定位置を、前記m個の無線ノードの位置推定結果として出力することを決定する位置推定装置。
  6.  1つの無線ノードから1ホップの位置に存在する1次近傍ノードの情報である隣接ノード情報を、無線通信空間内を移動する移動無線ノードと前記無線通信空間内を移動しないm(mは、4以上の整数)個の固定無線ノードとの各々から取得する取得部と、
     前記m個の固定無線ノードの各々についての隣接ノード情報に基づいて、前記m個の固定無線ノードの位置を推定する固定ノード位置推定部と、
     前記移動無線ノードの隣接ノード情報と前記固定ノード位置推定部による前記m個の固定無線ノードの推定位置とに基づいて、前記移動無線ノードの位置を推定する移動ノード位置推定部と、
    を備え、
     前記固定ノード位置推定部は、
     前記m個の固定無線ノードの各々についての隣接ノード情報に基づいて、前記m個の固定無線ノードの配置関係を示す固定トポロジを生成する固定トポロジ生成部と、
     前記m個の固定無線ノードの仮の自己位置を生成する第1自己位置生成部と、
     前記固定トポロジに基づいて前記m個の固定無線ノードの仮の自己位置を更新することにより、前記m個の固定無線ノードの位置を推定する第1位置更新部と、
    を備え、
     前記移動ノード位置推定部は、
     前記m個の固定無線ノードのうち前記移動無線ノードの隣接ノード情報に記録された固定無線ノードである隣接固定ノードの隣接ノード情報を前記取得部から取得し、前記移動無線ノードの隣接ノード情報と前記隣接固定ノードの隣接ノード情報とに基づいて、前記移動無線ノードのトポロジを生成する移動トポロジ生成部と、
     前記移動無線ノードの仮の自己位置を生成する第2自己位置生成部と、
     前記移動トポロジと前記隣接固定ノードの推定位置とに基づいて、前記移動無線ノードの仮の自己位置を更新することにより、前記移動無線ノードの位置を推定する第2位置更新部と、
    を備える位置推定装置。
  7.  請求項6に記載の位置推定装置であって、
     前記移動トポロジの生成に用いられる隣接ノード情報の数は、前記固定トポロジの生成に用いられる隣接ノード情報の数よりも少ない位置推定装置。
  8.  請求項6または請求項7に記載の位置推定装置であって、
     前記取得部は、前記m個の固定無線ノードの各々についての隣接ノード情報と前記移動無線ノードの隣接ノード情報とを定期的に取得し、
     前記固定ノード位置推定部は、前記m個の固定無線ノードの位置を第1周期で繰り返し推定し、
     前記移動ノード位置推定部は、前記移動無線ノードの位置を前記第1周期よりも短い第2周期で繰り返し推定する位置推定装置。
  9.  請求項6ないし請求項8のいずれかに記載の位置推定装置であって、
     前記固定トポロジ生成部は、前記移動無線ノードの位置推定に既に用いられた前記移動無線ノードの隣接ノード情報を仮想的な固定無線ノードの隣接ノード情報に設定し、前記m個の固定無線ノードの各々についての隣接ノード情報と、前記仮想的な固定無線ノードの隣接ノード情報とに基づいて、固定トポロジを生成する位置推定装置。
  10.  無線ノードの位置推定をコンピュータに実行させるための位置推定プログラムであって、
     1つの無線ノードから1ホップの位置に存在する1次近傍ノードの情報である隣接ノード情報をm(mは、4以上の整数)個の無線ノードの各々から取得する取得ステップと、
     前記m個の無線ノードの各々についての隣接ノード情報に基づいて、前記m個の無線ノードの配置関係を示す固定トポロジを生成する固定トポロジ生成ステップと、
     前記m個の無線ノードの仮の自己位置を生成する自己位置生成ステップと、
     前記固定トポロジに基づいて前記m個の無線ノードの仮の自己位置を更新することにより、前記m個の無線ノードの位置を推定する位置更新ステップと、
     前記位置更新ステップにより推定された一の無線ノードの位置が前記一の無線ノードから1ホップの位置に存在する無線ノードよりも前記一の無線ノードから2ホップの位置に存在する無線ノードに近いことを示すトポロジ矛盾が発生しているか否かを判定し、前記固定トポロジに対応するとともに前記m個の無線ノードにおけるトポロジ矛盾の発生頻度を示す領域判定値を計算するトポロジ矛盾判定ステップと、
     1ホップの位置に存在する2つの無線ノード間の仮想無線通信距離を設定し、前記仮想無線通信距離に基づいて前記一の無線ノードから1ホップの位置にある1次近傍ノードを再設定し、再設定された1次近傍ノードに基づいて前記m個の無線ノードの仮想的な配置関係を示す少なくとも1つの仮想トポロジを生成する仮想トポロジ生成ステップと、
    を備え、
     前記位置更新ステップは、前記少なくとも1つの仮想トポロジの各々に基づいて、前記m個の無線ノードの位置を推定し、
     前記トポロジ矛盾判定ステップは、前記少なくとも1つ仮想トポロジの各々に対応する前記m個の無線ノードの推定位置に基づいて、前記少なくとも1つ仮想トポロジの各々に対応する領域判定値を計算し、
     前記仮想トポロジ生成ステップは、前記固定トポロジに対応する領域判定値と前記少なくとも1つの仮想トポロジの各々に対応する領域判定値とに基づいて、前記固定トポロジに基づく前記m個の無線ノードの推定位置と、前記少なくとも1つの仮想トポロジの各々に基づく前記m個の無線ノードの推定位置とのうちいずれかを、前記m個の無線ノードの位置の推定結果として出力する位置推定プログラム。
  11.  無線通信空間内を移動する移動無線ノードの位置推定をコンピュータに実行させる位置推定プログラムであって、
     1つの無線ノードから1ホップの位置に存在する1次近傍ノードの情報である隣接ノード情報を、前記移動無線ノードと、前記無線通信空間内を移動しないm(mは、4以上の整数)個の固定無線ノードとの各々から取得する取得ステップと、
     前記m個の固定無線ノードの各々についての隣接ノード情報に基づいて、前記m個の固定無線ノードの位置を推定する固定ノード位置推定ステップと、
     前記移動無線ノードの隣接ノード情報と前記固定ノード位置推定ステップによる前記m個の固定無線ノードの推定位置とに基づいて、前記移動無線ノードの位置を推定する移動ノード位置推定ステップと、
    を備え、
     前記固定ノード位置推定ステップは、
     前記m個の固定無線ノードの各々についての隣接ノード情報に基づいて、前記m個の固定無線ノードの配置関係を示す固定トポロジを生成する固定トポロジ生成ステップと、
     前記m個の固定無線ノードの仮の自己位置を生成する第1自己位置生成ステップと、
     前記固定トポロジに基づいて前記m個の固定無線ノードの仮の自己位置を更新することにより、前記m個の固定無線ノードの位置を推定する第1位置更新ステップと、
    を備え、
     前記移動ノード位置推定ステップは、
     前記m個の固定無線ノードのうち前記移動無線ノードの隣接ノード情報に記録された固定無線ノードである隣接固定ノードの隣接ノード情報を前記取得ステップから取得し、前記移動無線ノードの隣接ノード情報と前記隣接固定ノードの隣接ノード情報とに基づいて、前記移動無線ノードのトポロジを生成する移動トポロジ生成ステップと、
     前記移動無線ノードの仮の自己位置を生成する第2自己位置生成ステップと、
     前記移動トポロジと前記隣接固定ノードの推定位置とに基づいて、前記移動無線ノードの仮の自己位置を更新することにより、前記移動ノードの位置を推定する第2位置更新ステップと、
    を備える位置推定プログラム。
     
PCT/JP2017/018411 2016-05-18 2017-05-16 位置推定装置 WO2017199972A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/302,282 US10802105B2 (en) 2016-05-18 2017-05-16 Location estimation device
JP2018518315A JP6532606B2 (ja) 2016-05-18 2017-05-16 位置推定装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-099547 2016-05-18
JP2016099547 2016-05-18

Publications (1)

Publication Number Publication Date
WO2017199972A1 true WO2017199972A1 (ja) 2017-11-23

Family

ID=60325282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/018411 WO2017199972A1 (ja) 2016-05-18 2017-05-16 位置推定装置

Country Status (3)

Country Link
US (1) US10802105B2 (ja)
JP (1) JP6532606B2 (ja)
WO (1) WO2017199972A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11296803B2 (en) 2019-06-24 2022-04-05 Allied Telesis Holdings K.K. Apparatus and method for position estimation

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8236714B2 (en) 2005-12-13 2012-08-07 INVISTA North America S.à.r.l. Dyed fabric with visible and near infrared differential yarn fiber signature
WO2017199972A1 (ja) * 2016-05-18 2017-11-23 学校法人 関西大学 位置推定装置
WO2018230933A1 (ko) * 2017-06-12 2018-12-20 엘지전자(주) 블루투스 저전력 에너지 기술을 이용하여 데이터를 송수신하기 위한 방법 및 장치
US11595934B2 (en) * 2019-12-11 2023-02-28 Nec Corporation Infrastructure-free tracking and response

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006003187A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd 無線ネットワークシステム
US20060039300A1 (en) * 2004-08-23 2006-02-23 Sri International Method and apparatus for location discovery in mobile ad-hoc networks
JP2008306532A (ja) * 2007-06-08 2008-12-18 Kddi R & D Laboratories Inc 移動端末、該移動端末を利用した測位システム、測位方法及びそのプログラム
JP2017108257A (ja) * 2015-12-09 2017-06-15 学校法人 関西大学 位置推定装置、位置推定をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483403B2 (en) 2002-01-10 2009-01-27 Robert Bosch Gmbh Protocol for reliable, self-organizing, low-power wireless network for security and building automation systems
US20030151513A1 (en) 2002-01-10 2003-08-14 Falk Herrmann Self-organizing hierarchical wireless network for surveillance and control
US20070077926A1 (en) 2005-09-30 2007-04-05 Arati Manjeshwar Method and system to reconfigure a network to improve network lifetime using most reliable communication links
JP2004356950A (ja) * 2003-05-29 2004-12-16 Oki Electric Ind Co Ltd 無線端末及び無線アクセスシステム
US10237688B2 (en) * 2011-08-18 2019-03-19 Rivada Research, Llc Method and system for improving the location of fixed wireless CBSD nodes
US9491310B2 (en) * 2013-11-13 2016-11-08 Qualcomm Incorporated Techniques for determining traffic volumes served over multiple cells of a wireless communication network
CN104683954A (zh) * 2013-11-27 2015-06-03 南京理工高新技术发展有限公司 一种应急环境下无线传感器网络节点定位方法
JP2016045022A (ja) * 2014-08-20 2016-04-04 株式会社東芝 位置推定装置
KR20160028321A (ko) * 2014-09-03 2016-03-11 삼성전자주식회사 거리 측정 방법 및 그 전자 장치
CN109417746B (zh) * 2016-04-20 2021-06-08 康维达无线有限责任公司 系统信息提供和轻量连接信令
WO2017199972A1 (ja) * 2016-05-18 2017-11-23 学校法人 関西大学 位置推定装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006003187A (ja) * 2004-06-17 2006-01-05 Hitachi Ltd 無線ネットワークシステム
US20060039300A1 (en) * 2004-08-23 2006-02-23 Sri International Method and apparatus for location discovery in mobile ad-hoc networks
JP2008306532A (ja) * 2007-06-08 2008-12-18 Kddi R & D Laboratories Inc 移動端末、該移動端末を利用した測位システム、測位方法及びそのプログラム
JP2017108257A (ja) * 2015-12-09 2017-06-15 学校法人 関西大学 位置推定装置、位置推定をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TAKAMASA KITANOUMA ET AL.: "Cloud-based Self- Organizing Localization for Wireless Sensor Networks in Mixture Environments of LOS and NLOS and Its Accuracy", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 57, no. 2, 15 February 2016 (2016-02-15), pages 494 - 505, ISSN: 1882-7764, Retrieved from the Internet <URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository-uri&itemid=148186&file''id=1&file_no=1> *
TAKAMASA KITANOUMA ET AL.: "Musen Sensor Network ni Okeru Shuyakugata Jiko Soshikika Node Ichi Suitei Hoshiki no Jisso", IPSJ SIG TECHNICAL REPORTS, vol. 2015 -DP, no. 17, 26 February 2015 (2015-02-26), pages 1 - 7, ISSN: 2188-8906, Retrieved from the Internet <URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&itemid=113560&file_id=1&file_no=1> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11296803B2 (en) 2019-06-24 2022-04-05 Allied Telesis Holdings K.K. Apparatus and method for position estimation

Also Published As

Publication number Publication date
JPWO2017199972A1 (ja) 2019-02-28
US10802105B2 (en) 2020-10-13
JP6532606B2 (ja) 2019-06-19
US20190219663A1 (en) 2019-07-18

Similar Documents

Publication Publication Date Title
JP6532606B2 (ja) 位置推定装置
TWI503022B (zh) 偵測網路中之鄰近存取點
KR100937295B1 (ko) 통신 네트워크 내의 무선 디바이스의 위치 추정 방법
CN108781428B (zh) 计算基站之间的距离的方法、存储介质、基站和蜂窝网络
US8331267B2 (en) System and method for determining an optimal backbone for robotic relay networks
US7801077B2 (en) Channel hopping method of interference avoidance for a wireless communication network and wireless communication system employing the same
US20040042417A1 (en) Intelligent communication node object beacon framework in a mobile ad hoc network
US9510149B2 (en) Location estimation within a wireless mesh network utilizing wireless signal signatures
EP2595432A1 (en) Communication network system, node apparatus, and route selection method for communication network system
JP2007221790A (ja) マルチホップ・アド・ホック・ネットワークのためのリンク時間に基づく経路選択プロトコル
EP3425861A1 (en) Improved routing in an heterogeneous iot network
JP5821467B2 (ja) 無線端末
Chu et al. Deployment of a connected reinforced backbone network with a limited number of backbone nodes
WO2019106065A1 (en) Determining optimal deployment of extenders in a wlan
JP6487963B2 (ja) 位置推定装置
US9210721B2 (en) Communication delay time derivation method, communication terminal and communication delay time derivation program
WO2016072838A1 (en) A system and method for next hop selection in a wireless sensor network
KR101359455B1 (ko) 메시지 전송 주기 결정 방법
Park et al. Mobility state based routing method in vehicular ad-hoc network
JP6467334B2 (ja) 位置推定装置、位置推定をコンピュータに実行させるためのプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP6120411B2 (ja) ネットワーク制御方法及び装置
JP5877769B2 (ja) 自己の設置位置の推定方法及びノード装置
KR20170081904A (ko) 네트워크의 운용 방법 및 네트워크 장치
KR100871078B1 (ko) 이동형 무선 네트워크에서의 링크 안정성 예측 및 경로탐색 방법
JP2018023013A (ja) 経路選択装置、経路選択方法及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018518315

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17799396

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17799396

Country of ref document: EP

Kind code of ref document: A1