[Technical Field]
[0001] The present invention relates to a position estimation device, a position estimation
method, and a program.
[Background Art]
[0002] A map matching technique is known in the art for correcting position information
detected by a GPS (Global Positioning System) or a position detection device such
as an inertial navigation device to more accurate position information, based on map
information created from structural information such as buildings and passages, etc.
[0003] For example, a route matching method is known in which route information is defined
by combining node information and link information, and matching is performed on route
information (see, e.g., Patent Document 1).
[Related-Art Document]
[Patent Document]
[0004] Patent Document 1: Japanese Unexamined Patent Publication No.
2013-200223
[Summary of the Invention]
[Problem to be Solved by Invention]
[0005] A position estimation device having a communication function such as a smartphone
is enabled to perform map matching using, for example, the latest map information
acquired from a server apparatus, without relying on the map information stored in
the device. However, such a position estimation device is unable to acquire map information
in an area where communication with the server apparatus is unavailable making it
difficult for the position estimation device to perform map matching.
[0006] In order to handle such a difficulty, according to the technique disclosed in Patent
Document 1, map data scheduled to be used for route guidance is determined based on
destination information and route information, and the determined map data is transmitted
to a position estimation device before the position estimation device reaches a communication
unavailable region.
[0007] However, the technique disclosed in Patent Document 1 is not applicable to a position
estimation device that is configured to estimate a current position of the position
estimation device itself without previously defining the destination information and
the route information.
[0008] An embodiment of the present invention has been made in view of the above problems,
and it is an object of the present invention to enable a position estimation device
for performing map matching using map information acquired from a server apparatus
to continue the map matching regardless of the destination information or the route
information when the communication is unavailable.
[Means to Solve the Problem]
[0009] According to an aspect of the disclosure, a position estimation device for estimating
position information of the position estimation device itself using detected information
detected by a position detector and predetermined map information acquired from a
server apparatus connected via a network is provided. The position estimation device
includes
a priority determiner configured to determine priorities of a plurality of regions,
using region information including respective information pieces of the plurality
of regions around the position estimation device and one of the detection information
and the position information; and
a map information acquisition unit configured to acquire the predetermined map information
corresponding to at least some of the plurality of regions from the server apparatus
in accordance with the priorities determined by the priority determiner.
[Advantage of the Invention]
[0010] According to at least one embodiment of the present invention, a position estimation
device configured to perform map matching using map information acquired from a server
apparatus is enabled to continue map matching regardless of destination information
or route information when communication is failing.
[0011] According to one embodiment of the present invention, with such a position estimation
device configured to perform map matching using map information acquired from a server
apparatus, it is possible to continue map matching without relying on destination
information or route information even when communication is unavailable.
[Brief Description of Drawings]
[0012]
FIG. 1 is a diagram illustrating a configuration of a position estimation system according
to an embodiment;
FIG. 2 is a diagram illustrating a hardware configuration example of a position information
device according to an embodiment;
FIG. 3 is a diagram illustrating a hardware configuration example of a position information
server according to an embodiment;
FIG. 4 is a functional configuration diagram of a position estimation system according
to a first embodiment;
FIG. 5A is a diagram illustrating an example of application management information;
FIG. 5B is a diagram illustrating an example of region information;
FIG. 5C is a diagram illustrating an example of map information;
FIG. 6A is a diagram illustrating an example of a layout of a region;
FIG. 6B is a diagram illustrating an example of a map image;
FIG. 7 is a flowchart illustrating a position estimation process according to the
first embodiment;
FIG. 8 is a flowchart illustrating an example of a priority order determining process
according to the first embodiment;
FIG. 9 is a diagram illustrating examples of priorities of respective regions according
to the first embodiment;
FIG. 10 is a diagram illustrating a particle filter according to the first embodiment;
FIG. 11 is a flowchart illustrating an example of a map matching process according
to the first embodiment;
FIG. 12 is a diagram illustrating the map matching process according to the first
embodiment;
FIG. 13 is a functional configuration diagram of a position estimation system according
to a second embodiment;
FIG. 14 is a sequence diagram illustrating an example of a map information acquisition
process according to the second embodiment;
FIG. 15A is a flowchart illustrating an example of a priority order determination
process;
FIG. 15B is a flowchart illustrating examples of scores corresponding to data sizes;
FIG. 16 is a diagram illustrating examples of priorities of respective regions according
to a third embodiment;
FIG. 17A is a diagram illustrating examples of additional points based on a traveling
direction; and
FIG. 17B is a diagram illustrating examples of added points and deduction points based
on velocity.
[Mode for Carrying Out the Invention]
[0013] Hereinafter, embodiments of the present invention will be described with reference
to the accompanying drawings.
<System Configuration
[0014] FIG. 1 is a diagram illustrating a configuration example of a position estimation
system according to an embodiment. A position estimation system 100 includes, for
example, a position information server 120 connected to a network 130 such as the
Internet and a position estimation device 110 connectable to the network 130 using
wireless communication or the like.
[0015] The position estimation device 110 is an information terminal having a position detector
configured to detect the position of the position estimation device 110, for example,
by a GPS (Global Positioning System), an IMES (Indoor Messaging System), a beacon
transmission device, or the like. The position estimation device 110 corrects the
detection information detected by the position detector by a map matching unit configured
to perform map matching so as to estimate a current position of the position estimation
device 110 more accurately.
[0016] The position information server 120 is a system including an information processing
apparatus having a server function, or a plurality of information processing apparatuses.
The position information server 120 stores map information corresponding to a plurality
of regions and region information having information pieces of a plurality of regions.
The map information and the region information are used in the map matching unit of
the position estimation device 110. Further, the position information server 120 provides
map information, region information, and the like to the position estimation device
110, in response to a request from the position estimation device 110.
<Hardware Configuration>
(HARDWARE CONFIGURATION of Position Estimation Device)
[0017] The position estimation device 110 is an information processing apparatus such as
a smartphone, a tablet terminal, a PC (Personal Computer), a car navigation device,
or the like having a general computer configuration. The position estimation device
110 includes, for example, a CPU (Central Processing Unit) 201, a RAM (Random Access
Memory) 202, a ROM (Read Only Memory) 203, a storage unit 204, a communication I/F
(Interface) 205, a display input unit 206, a GPS receiver 207, a near field communication
unit 208, a microphone 209, a sensor unit 210, an external I/F 211, a bus 212, and
the like.
[0018] The CPU 201 is an arithmetic device configured to implement respective functions
of the position estimation device 110 by reading a program and data stored in the
ROM 203, the storage unit 204, and the like onto the RAM 202 and executing processing.
The RAM 202 is a volatile memory used as a work area or the like of the CPU 201. The
ROM 203 is a nonvolatile memory capable of holding programs and data even when the
power is turned off.
[0019] The storage unit 204 is, for example, a storage device such as an SSD (Solid State
Drive) or a flash ROM, which stores an OS (Operation System), an application program,
various data, and the like.
[0020] The communication I/F 205 is a communication interface such as a public wireless
communication such as LTE (Long Term Evolution) or a wireless LAN (Local Area Network),
which is used for connecting the position estimation device 110 to the network 130.
[0021] The display input unit 206 includes a display element such as an LCD (Liquid Crystal
Display) and an input element such as a touch panel; hence, the display input unit
206 is configured to receive an input operation by a user to display a display screen
by a program executed by the position estimation device 110.
[0022] The GPS receiver 207 is configured to receive a positioning signal from the GPS satellite.
[0023] The near field communication unit 208 is a wireless communication device configured
to perform near field communication such as Bluetooth (registered trademark) Low Energy
(hereinafter referred to as BLE). The near field communication unit 208 is used, for
example, when the position estimation device 110 receives a beacon by BLE communication
and detects a position.
[0024] The microphone 209 is a sound pickup device including a sound pickup element. The
microphone 209 is used, for example, when the position estimation device 110 receives
a beacon by sound waves and detects a position.
[0025] The sensor unit 210 is a sensor device, such as an acceleration sensor or a geomagnetic
sensor, which is configured to output sensor information for calculating a moving
amount, a moving direction, and the like of the position estimation device 110. The
sensor unit 210 is used, for example, when the position estimation device 110 detects
a position by inertial navigation based on sensor information.
[0026] The external I/F 211 is an interface with an external device. The external device
includes, for example, a recording medium 213 and the like. The position estimation
device 110 stores, for example, a predetermined program in the recording medium 213
and installs the program stored in the recording medium 213 to the position estimation
device 110 via the external I/F 211, thereby allowing a predetermined program to be
ready for execution.
[0027] Further, at least some of the GPS receiver 207, the near field communication unit
208, the microphone 209, and the sensor unit 210 described above may be connected
to the position estimation device 110 via the external I/F 211.
[0028] The bus 212 is connected to each of the aforementioned components to transmit an
address signal, a data signal, various control signals, and the like.
(Hardware Configuration of Position Information Server)
[0029] The position information server 120 is constituted by an information processing apparatus
having a general computer configuration or a plurality of such information processing
apparatuses.
[0030] FIG. 3 is a diagram illustrating a hardware configuration example of a position information
server according to an embodiment. The position information server 120 includes, for
example, a CPU 301, a RAM 302, a ROM 303, a storage unit 304, a network I/F 305, an
input unit 306, a display unit 307, an external I/F 308, a bus 309, and the like.
[0031] The CPU 301 is an arithmetic logic unit configured to implement each function of
the position information server 120 by reading a program and data stored in the ROM
303, the storage unit 304, and the like onto the RAM 302 and executing processing.
The RAM 302 is a volatile memory used as a work area or the like of the CPU 301. The
ROM 303 is a nonvolatile memory capable of holding programs and data even when the
power is turned off.
[0032] The storage unit 304 is, for example, a storage device such as an HDD (Hard Disk
Drive) or an SSD, which stores an OS, application programs, various data, and the
like.
[0033] The network I/F 305 is a communication interface such as a wired/wireless LAN for
connecting the position information server 120 to the network 130.
[0034] The input unit 306 is an input device such as a pointing device, a keyboard, a touch
panel, or the like for an administrator or the like of the position information server
120 to perform an input operation on the position information server 120.
[0035] The display unit 307 is a display device such as a display configured to display
a processing result of the position information server 120 or the like.
[0036] The external I/F 308 is an interface with an external device. The external device
includes, for example, a recording medium 310 and the like. The position estimation
server 120 stores, for example, a predetermined program in the recording medium 310
and installs the program stored in the recording medium 310 to the position estimation
server 120 via the external I/F 308, thereby allowing a predetermined program to be
ready for execution.
[0037] The bus 309 is connected to each of the aforementioned components to transmit an
address signal, a data signal, various control signals, and the like.
<Functional Configuration>
[0038] FIG. 4 is a functional configuration diagram of a position estimation system according
to a first embodiment.
(Functional Configuration of Position Estimation Device)
[0039] For example, the position estimation device 110 includes a communication controller
411, a region information acquisition unit 412, a region information storage unit
413, a position detector 414, a priority determiner 415, a map information acquisition
unit 416, a map information storage unit 417, a map matching unit 418, an initializer
419, an output processor 420, and the like.
[0040] The communication controller 411 is a unit configured to perform control for connecting
the position estimation device 110 to the network 130 and control for communicating
with the position information server 120; the communication controller 411 is implemented,
for example, by a communication I/F 205 in FIG. 2 and a program executed by the CPU
201 in FIG. 2.
[0041] The region information acquisition unit 412 is a unit configured to acquire region
information which is information on a plurality of regions around the position estimation
device 110; the region information acquisition unit 412 is implemented, for example,
by a program executed by the CPU 201 in FIG. 2.
[0042] The region information acquisition unit 412 specifies the position of the position
estimation device 110 based, for example, on detection information detected by the
position detector 414, region information stored in the region information storage
unit 413, and the like. Further, the region information acquisition unit 412 acquires
region information of a plurality of regions in the vicinity of the device itself
(i.e., the position estimation device 110) from the position information server 120,
and stores the region information in the region information storage unit 413.
[0043] The region information storage unit 413 is a unit configured to store the region
information acquired by the region information acquisition unit 412; the region information
storage unit 413 is implemented, for example, by the RAM 202, the storage unit 204
in FIG. 2, and a program or the like executed by the CPU 201 in FIG. 2.
[0044] The position detector 414 outputs detection information indicating the position of
the position estimation device 110 using, for example, the GPS receiver 207, the near
field communication unit 208, the microphone 209, the sensor unit 210, the communication
I/F 205, and the like in FIG. 2.
[0045] For example, the position detector 414 detects the position of the position estimation
device 110 based on a positioning signal received by the GPS receiver 207 from the
GPS satellite. Further, the position detector 414 receives, for example, a positioning
signal output from a positioning device or the like provided indoors by the near field
communication unit 208, the microphone 209, or the like, and detects the position
of the position estimation device 110 based on the received positioning signal.
[0046] Furthermore, when the position detector 414 is unable to receive a positioning signal,
the position detector 414 calculates a moving direction and a moving amount of the
position estimation device 110 using an acceleration sensor, a geomagnetic sensor,
and the like included in the sensor unit 210 so as to detect the position of the position
estimation device 110. Furthermore, the position detector 414 may perform wireless
communication using the communication I/F 205 to detect the position of the position
estimation device 110 based on IP addresses or the like of surrounding wireless devices.
[0047] The position detector 414 is implemented, for example, by the GPS receiver 207, the
near field communication unit 208, the microphone 209, the sensor unit 210, and the
communication I/F 205 in FIG. 2, and a program executed by the CPU 201 in FIG. 2,
and the like.
[0048] The priority determiner 415 determines priorities of the plurality of regions using
information indicating the position of the position estimation device 110, such as
detection information detected by the position detector 414 or the position information
output from the map matching unit 418, and the region information acquired by region
information acquisition unit 412. For example, the priority determiner 415 assigns
a score to each of the plurality of regions based on the region information and the
information indicating the position of the position estimation device 110, and determines
a region having a higher total score assigned as a higher priority region. The priority
determiner 415 is implemented, for example, by a program executed by the CPU 201 in
FIG. 2.
[0049] The map information acquisition unit 416 is a unit configured to acquire map information
corresponding to regions in order from a region with the highest priority among a
plurality of regions in accordance with the priorities determined by the priority
determiner 415; the map information acquisition unit 416 is implemented, for example,
by a program executed by the CPU 201 in FIG. 2.
[0050] For example, the map information acquisition unit 416 transmits to the position information
server 120 a map information acquisition request that includes an application ID for
identifying an application operating on the position estimation device 110 and a region
number for identifying a region. Further, the map information acquisition unit 416
receives the map information transmitted from the position information server 120,
and stores the received map information in the map information storage unit 417.
[0051] Note that in the present embodiment, an area, in which the position estimation system
100 provides a service, is divided into regions of a predetermined size (e.g., a square
of 10 to 15 m per side), and region information corresponding to each region and the
map information corresponding to each region that are stored in association with each
other are managed by the position information server 120.
[0052] The map information storage unit 417 is a unit configured to store the map information
acquired by the map information acquisition unit 416; the map information storage
unit 417 is implemented, for example, by the RAM 202, and the storage unit 204 in
FIG. 2, and a program or the like executed by the CPU 201 in FIG. 2.
[0053] The map matching unit 418 combines the map information divided per each region acquired
by the map information acquisition unit 416, and executes a map matching process based
on the detection information detected by the position detector 414. Further, the map
matching unit 418 outputs the corrected position information obtained by the map matching
process, for example, to the output processor 420 or the like. The map matching unit
418 is implemented, for example, by a program executed by the CPU 201 in FIG. 2. Note
that details of the map matching process will be described later.
[0054] The initializer 419 is a unit configured to perform initialization of the map matching
unit 418; the initializer 419 is implemented, for example, by a program executed by
the CPU 201 in FIG. 2. For example, when the accuracy of the detection information
detected by the position detector 414 is determined to be higher than the accuracy
of the position information output from the map matching unit 418, the initializer
419 initializes the map matching process of the map matching unit 418.
[0055] Alternatively, when the position detector 414 acquires a positioning signal by the
near field communication unit 208 or the microphone 209, the initializer 419 may initialize
the map matching process of the map matching unit 418, or the like.
[0056] Further, when the difference between the position indicated by the detection information
detected by the position detector 414 and the current position output from the map
matching unit 418 is equal to or greater than a threshold value, the initializer 419
may initialize the map matching process of the map matching unit 418.
[0057] The output processor 420 causes the display input unit 206 to display predetermined
information (e.g., a navigation screen or the like) by using the corrected position
information output from the map matching unit 418. The output processor 420 is implemented,
for example, by a program executed by the CPU 201 in FIG. 2.
(Functional Configuration of Position Information Server)
[0058] The position information server 120 includes, for example, a communication controller
431, an information provider 432, an information manager 433, an application information
management DB (Database) 434, a region information DB 435, a map information DB 436,
and the like.
[0059] The communication controller 431 performs control for connecting the position information
server 120 to the network 130 and control for communicating with the position estimation
device 110. The communication controller 431 is implemented, for example, by the network
I/F 305 in FIG. 3 and a program executed by the CPU 301 in FIG. 3.
[0060] The information provider 432 transmits the information on a region designated by
the acquisition request, from among the region information stored in the region information
DB 435, to the position estimation device 110, in response to the acquisition request
of the region information, which is received by the communication controller 431 from
the position estimation device 110. The information provider 432 is implemented, for
example, by a program executed by the CPU 301 in FIG. 3.
[0061] Further, the information provider 432 provides map information designated by the
acquisition request, from among the map information stored in the map information
DB 436, to the position estimation device 110, in response to the map information
acquisition request, which is received by the communication controller 431 from the
position estimation device 110.
[0062] Preferably, the information provider 432 provides map information corresponding to
a request source application to the position estimation device 110, in accordance
with the application ID included in the map information acquisition request.
[0063] The information manager 433 is a unit configured to manage the map information DB
436, the region information DB 435, and the application information management DB
434; the information manager 433 is implemented, for example, by a program executed
by the CPU 301 in FIG. 3.
[0064] The information manager 433 receives, for example, an update request for requesting
a change in the information of the map information DB 436, the region information
DB 435, or the application information management DB 434 with the input unit 306,
the network I/F 305, or the like in FIG. 2, and performs a process such as adding,
updating, or deleting the information.
[0065] The application information management DB 434 is, for example, a unit configured
to store application management information as illustrated in FIG. 5A, and is implemented,
for example, by the storage unit 304 in FIG. 3 and a program executed by the CPU 301
in FIG. 3.
[0066] In the example of FIG. 5A, the application management information includes information
such as "application ID", "application name", "access expiration date", "service information",
and the like.
[0067] The "application ID" is, for example, unique identification information generated
by the application when the application is installed in the position estimation device
110. The position estimation system 100 identifies, for example, the position estimation
device 110, an application operating on the position estimation device 110, and the
like, by using the application ID, without using personal information such as an email
mail address or a user name.
[0068] The "application name" is name information of an application, and is an example of
information for identifying the application, the vendor of the application, and the
like. The "access expiration date" is information indicating an access expiration
date of an application operating on the position estimation device 110. The "service
information" is information indicating a type of service and the like provided by
an application.
[0069] For example, the region information DB 435 is a unit configured to store region information
as illustrated in FIG. 5B, and is implemented, for example, by the storage unit 304
in FIG. 3 and a program executed by the CPU 301 in FIG. 3.
[0070] In the example of FIG. 5B, the region information includes information such as "region
number", "coordinate information", "communication availability", "service availability",
"data size", and the like.
[0071] The "region number" is an example of identification information for identifying each
of a plurality of regions. The "coordinate information" is coordinate information
indicating the position of each region.
[0072] The "communication availability" is information indicating whether the position estimation
device 110 is enabled to communicate with the network 130 using the communication
I/F 205. For example, "NO" is stored in "communication availability" of a region where
radio waves of wireless communication do not reach.
[0073] The "service availability" is information indicating whether a region is provided
with a service by the position estimation system 100. For example, "No" is stored
in the "service availability" of the region where the position estimation system 100
does not provide a service.
[0074] The "data size" is information indicating the data size of a map image file of the
map information corresponding to each region.
[0075] The map information DB 436 is, for example, a unit configured to store map information
as illustrated in FIG. 5C, and is implemented, for example, by the storage unit 304
in FIG. 3 and a program executed by the CPU 301 in FIG. 3.
[0076] In the example of FIG. 5C, the map information includes information such as "map
ID", "region number", "coordinate information", "map image file", and the like.
[0077] The "map ID" is identification information for identifying map information. The "region
number" is identification information for identifying a region corresponding to a
map ID, which corresponds to "region number" of region information. The "coordinate
information" is coordinate information indicating a position of map information.
[0078] The "map image file" is map image data used by the position estimation device 110
for map matching. Note that the map information may include reference information
(URL information or the like) for acquiring map image data instead of the "map image
file". Further, the "map image file" may be a compressed file.
[0079] The map information includes maps to be used in map matching that are organized by
coordinate information and stored as divided information. More specifically, the map
information includes maps to be used in map matching that are each stored as a two-dimensional
divided map image called a tile map.
[0080] Individual map images are associated with absolute coordinates and may be bidirectionally
referred to, from map images to coordinate information or from coordinate information
to map images. Further, an example of a representation form of an image may be binary
image information having a white represented area and a black represented area; the
white represented area indicates an area in which the position estimation device 110
or an owner subject (person, car, etc.) of the position estimation device 110 is allowed
to move, and the black represented area indicates an area in which the owner subject
of the position estimation device 110 is not allowed to move.
[0081] FIGS. 6A and 6B are diagrams illustrating examples of map images according to the
first embodiment.
[0082] FIG. 6A illustrates an example of a layout of a region; it is assumed that, for example,
a passage 611, through which a person or the like is able to pass, is arranged in
a region 610 as illustrated in FIG. 6A.
[0083] FIG. 6B illustrates an example of a map image 620 corresponding to the region 610.
In the example of FIG. 6B, the passage 611 in the region 610 is represented by a white
movable area 612 in which a subject is movable, and an area other than the passage
611 is represented by a black unmovable area 613 in which a subject is not movable.
[0084] Note that the representation form of the map image is not limited to binary image
information. For example, the representation form of the map image may be a multilevel
image such as ternary image information; an area in which the position estimation
device 110 or an owner subject (person, car, etc.) of the position estimation device
110 is movable may be white, an area in which a limited owner subject (e.g., an employee
in the company) is movable may be red, and an area in which no owner subject is movable
may be black.
[0085] Further, the map information is not limited to the multilevel image; the map information
may be information that may be expanded into an image, indicating whether an area
is one in which the position estimation device 110 or an owner subject of the position
estimation device 110 is movable. That is, the map information includes information
for specifying whether any given area is a movable area or a non-movable area.
<Sequence of Process>
[0086] The following illustrates a flowchart of a position estimation method performed by
the position estimation system 100.
(Position Estimation Process)
[0087] First, an overall position estimation process performed by the position estimation
device 110 will be described.
[0088] FIG. 7 is a flowchart illustrating the position estimation process according to the
first embodiment.
[0089] In step S701, the region information acquisition unit 412 of the position estimation
device 110 specifies the position (area, etc.) of the position estimation device 110,
using the detection information detected by the position detector 414 and the region
information stored in the region information storage unit 413.
[0090] In step S702, the region information acquisition unit 412 acquires region information
of a plurality of regions around the position estimation device 110. Note that a range
of the plurality of regions from which the region information acquisition unit 412
acquires the region information may be determined according, for example, to the moving
velocity of the position estimation device 110 or the like; however, in this case,
as an example, the following description will be given on the basis of assumption
that region information of a predetermined range is acquired in advance.
[0091] In step S703, the priority determiner 415 of the position estimation device 110 determines
priorities of a plurality of regions around the position estimation device 110, using
region information acquired by the region information acquisition unit 412 and information
indicating the current position of the position estimation device 110. In this case,
information indicating the current position may use the detection information detected
by the position detector 414, or may use the position information output by the map
matching unit 418. Note that the process of determining the priorities will be described
later.
[0092] In step S704, the map information acquisition unit 416 of the position estimation
device 110 sequentially acquires map information corresponding to regions in order
from a region with the highest priority determined by the priority determiner 415,
and stores the acquired map information in the map information storage unit 417.
[0093] As another example, the map information acquisition unit 416 may simultaneously acquire
map information of regions having a priority higher than a predetermined priority
in place of the process of sequentially acquiring map information in order from the
map information of a region with the highest priority or the like.
[0094] In this case, it is assumed that the map information acquired by the map information
acquisition unit 416 includes, for example, map information of a plurality of regions
adjacent to the region where the position estimation device 110 is located.
[0095] In step S705, the map matching unit 418 of the position estimation device 110 combines,
among map images included in the acquired map information, a map image of a region
where the position estimation device 110 is located, and map images of the adjacent
regions to generate one map image.
[0096] In step S706, the map matching unit 418 performs a map matching process using the
generated map image. Note that the map matching process will be described later.
[0097] In step S707, the position estimation device 110 deletes unnecessary map information
from the map information stored in the map information storage unit 417 as required.
[0098] For example, the position estimation device 110 determines map information of a base
point to be unnecessary, and deletes the map information of the base point after performing
the position estimation process at the base point (station, business office, facility,
etc.) and moving out of the base point.
(Priority Order Determination Process)
[0099] Subsequently, a priority order determination process by the priority determiner 415
of the position estimation device 110 will be described with reference to FIGS. 8
and 9. This process corresponds to step S703 in FIG. 7.
[0100] FIG. 8 is a flowchart illustrating an example of the priority order determining process
according to the first embodiment.
[0101] In step S801, the priority determiner 415 adds a first score (e.g., 10 points) to
a region adjacent to the current position, based on "coordinate information" included
in the region information of the plurality of regions acquired by the region information
acquisition unit 412.
[0102] According to this process, the priorities of regions adjacent to the current position,
which are used for the map matching process, are set higher than the priorities of
the other regions.
[0103] In step S802, the priority determiner 415 adds a second score (e.g., 8 points) to
a region with which the position estimation device 110 is unable to communicate, based
on "communication availability" information included in the region information of
the plurality of regions acquired by the region information acquisition unit 412.
[0104] Through this process, the region with which the position estimation device 110 is
unable to communicate is set to have a next highest priority of the adjacent region
adjacent to the current position, such that the position estimation device 110 is
enabled to acquire the map information in advance before communication fails.
[0105] In step S803, the priority determiner 415 adds a third score (e.g., 2 points) to
a region to which the position estimation device 100 provides a service, based on
"service availability" information included in the region information of the plurality
of regions acquired by the region information acquisition unit 412.
[0106] Through this process, the priority of a region in which the position estimation system
100 does not provide a service may be relatively lowered.
[0107] In step S804, the score added to each region is determined to be a priority of the
corresponding region, and the higher the score, the higher the priority.
[0108] FIG. 9 is a diagram illustrating examples of priorities of respective regions, according
to the first embodiment.
[0109] In FIG. 9, it is assumed that a plurality of squares indicate a plurality of regions
from which the region information acquisition unit 412 has acquired region information.
In addition, the number noted within each square region indicates a score (points)
added by the priority order determination process illustrated in FIG. 8.
[0110] In FIG. 9, the plurality of adjacent regions 903 adjacent to the current position
901 each have a priority score of 12 points, based on the 10 points added in step
S801 of FIG. 8 and the two points added in step S803; this priority score of 12 points
is higher than priority scores of the other regions.
[0111] As a result, the position estimation device 110 may preferentially acquire map information
of a plurality of adjacent regions 903 used for map matching.
[0112] In FIG. 9, a plurality of communication unavailable regions 904, in which the position
estimation device 110 is unable to perform communication, has a priority score of
10 points, based on the 8 points added in step S802 of FIG. 8 and the two points added
in step S803; this priority score of 10 points is a next highest priority after the
adjacent regions 903.
[0113] Hence, the position estimation device 110 may acquire, in advance, map information
of a plurality of communication unavailable regions 904 in which the position estimation
device 110 is unable to perform communication.
[0114] Further, in FIG. 9, non-providing regions 902 are regions in which the position estimation
system 100 does not provide a service, and the score is not added to the non-providing
regions 902 by the priority determining process in FIG. 8.
[0115] As a result, the position estimation device 110 may be enabled to skip the acquisition
process of the map information of the communication unavailable regions 904 to reduce
burden on the process. In the present embodiment, by adopting a point addition scoring
method, the position estimation system 100 is configured such that the higher the
score is, the higher the priority is. However, for example, by adopting a point deduction
scoring system, the position estimation system 100 may be configured such that the
lower the score is, the higher the priority is.
(Map Matching Process)
[0116] Subsequently, a map matching process by the map matching unit 418 of the position
estimation device 110 will be described with reference to FIGS. 10 to 12.
[0117] In the present embodiment, the map matching unit 418 performs map matching using
a particle filter, which is one of the Monte Carlo methods. In the particle filter,
a plurality of weighted particles are used to make a transition based on a state equation,
and a state (e.g., position) of the system is estimated from the mean of the weighted
particles.
[0118] FIG. 10 is a diagram for explaining a particle filter.
[0119] When estimating the state (e.g., position) of the system using a particle filter,
resampling for arranging weighted particles (hereinafter referred to as particles)
in a predetermined range is first performed, as illustrated in the state A in FIG.
10. At this stage, particles gather densely and the weights of the particles are initialized.
[0120] Next, as illustrated in the state B of FIG. 10, particles are, for example, moved
based on detection information detected by the position detector 414 and the state
equation representing a state transition model of particles.
[0121] The particle state transition model may be represented by the following state equation,
for example.

In the above state equation, (x
p, y
p) indicates a position, and (v
x, v
y) indicates a velocity. Further, Nxp and Nyp indicate random variations of the Gaussian
distribution.
[0122] For example, the map matching unit 418 calculates a velocity (vx, vy) using the detection
information detected by the position detector 414, adds noise Nxp and Nyp according
to the Gaussian distribution to the calculated velocity, and performs time integration
to estimate the position (xp, yp) of each particle.
[0123] Subsequently, as illustrated in the state C of FIG. 10, the map matching unit 418
determines the weight of each particle based, for example, on the detection information
detected by the position detector 414 and the position of the corresponding particle.
In the state C of FIG. 10, as an example, the weight of a particle close to the detected
position is determined to be high, and the weights of the particles separated from
the detected position are set low.
[0124] Note that it is possible to calculate (estimate) a current position 1001 by calculating
the mean of the weight of each particle in each of an x direction and a y direction.
[0125] By repeating the above process, it is possible to continuously estimate the current
position.
[0126] In the present embodiment, this method applied to map matching process is called
map matching by the Monte Carlo method.
[0127] FIG. 11 is a flowchart illustrating an example of the map matching process according
to the first embodiment. This process indicates an example of the map matching process
by the Monte Carlo method. Further, this process corresponds to step S706 in FIG.
7.
[0128] In step S1101, the position detector 414 of the position estimation device 110 acquires
detection information indicating a current position.
[0129] In step S1102, the initializer 419 determines whether the map matching process needs
to be initialized, based on the acquired detection information.
[0130] For example, when the current position indicated by the detection information acquired
from the position detector 414 is separated from the position indicated by the position
information output from the map matching unit 418 by a threshold value or more, the
initializer 419 determines that the map matching process needs to be initialized.
[0131] Alternatively, when the initializer 419 determines that the accuracy of the detection
information acquired from the position detector 414 is higher than predetermined accuracy,
the initializer 419 may determine that the map matching process needs to be initialized.
[0132] When the initializer 419 determines that the map matching process does not need to
be initialized, the map matching unit 418 maintains the current state of the map matching.
[0133] By contrast, when the initializer 419 determines that the map matching process needs
to be initialized, the map matching unit 418 initializes the state of the map matching.
[0134] Further, the map matching unit 418 initializes the state of the map matching also
at the start of the map matching.
[0135] In step S1104, the map matching unit 418 moves each particle using the current position
acquired by the position detector 414 and the above-described state equation.
[0136] In step S1105, the map matching unit 418 determines the weight of each particle based
on the map image combined in step S705 of FIG. 7 and a position of the corresponding
particle.
[0137] According to the present embodiment, for example, in the map image 620 illustrated
in FIG. 6B, the map matching unit 418 determines that particles present in a white
movable area 612 are normal particles (hereinafter referred to as normal particles)
and sets the weights of the normal particles to "1". Further, the map matching unit
418 determines that particles present in a black unmovable area 613 are abnormal particles
(hereinafter referred to as abnormal particles), and sets the weights of the abnormal
particles to "0".
[0138] In step S1106, the map matching unit 418 estimates a current position by a weighted
mean of each particle, and outputs position information indicating the estimated position.
For example, the map matching unit 418 estimates the current position by excluding
abnormal particles with a weight of "0" and calculating a mean of positions of normal
particles with a weight of "1".
[0139] In step S1107, the map matching unit 418 resamples the abnormal particles having
the weight "0". For example, the map matching unit 418 resamples the abnormal particles
around the current position estimated in step S1106, with the weight set to "1".
[0140] The map matching unit 418 of the position estimation device 110 executes the above-described
map matching process, for example, at predetermined time intervals (100 ms interval
or the like) to correct the current position detected by the position detector 414.
[0141] Hereinafter, a specific example of the map matching process by the map matching unit
418 will be described with reference to FIG. 12.
[0142] FIG. 12 is a diagram illustrating the map matching process according to the first
embodiment. In FIG. 12, the white area indicates a movable area 612 among the map
images combined in step S705 in FIG. 7, and the black area indicates an unmovable
area among the map images combined in step S705 in FIG. 7, respectively.
[0143] FIG. 12 (a) indicates a state when the map matching unit 418 starts a map matching
process. In this case, the map matching unit 418 resamples particles within a predetermined
range, for example, around the current position indicated by the detection information
detected by the position detector 414. This process, for example, corresponds to step
S1103 in FIG. 11.
[0144] In FIG. 12 (b), when the position estimation device 110 moves, the map matching unit
418 moves particles using the detection information detected by the position detector
414 and the above-described state equation. This process, for example, corresponds
to step S1104 in FIG. 11. In the state of FIG. 12 (b), since all the particles are
located in the white movable area 612, the weights of all the particles are "1".
[0145] In FIG. 12 (c), when the position estimation device 110 further moves, the map matching
unit 418 further moves the particles using the detection information detected by the
position detector 414 and the above-described state equation (step S1104 in FIG. 11).
[0146] In FIG. 12 (c), there are normal particles 1201 located in the white movable area
612 and abnormal particles 1202 located in the black unmovable area 613, and a current
position range 1203 is expanded. In this case, the map matching unit 418 sets the
weights of normal particles 1201 to "1" and the weights of abnormal particles to "0".
This process, for example, corresponds to step S1105 in FIG. 11.
[0147] In FIG. 12 (d), the map matching unit 418 initializes the weights of abnormal particles
1202 to "1", and resamples particles around the current position estimated in step
S1106 of FIG. 11. This process, for example, corresponds to step S1107 in FIG. 11.
By this process, the current position range 1203 converges.
[0148] In FIG. 12 (e), when the position estimation device 110 further moves, the map matching
unit 418 further moves particles using the detection information detected by the position
detector 414 and the above-described state equation. The map matching unit 418 repeats
such a map matching process at predetermined time intervals (100 ms intervals or the
like), for example.
[0149] Through the above process, the abnormal particles 1202 in the unmovable area 613
of the map image resampled to the current position estimated by the normal particle
1201, the current position range 1203 may be prevented from expanding.
[0150] As described above, the position estimation device 110 according to the present embodiment
preferentially acquires map information of the adjacent region 903 adjacent to the
current position and the communication unavailable region 904 in which the position
estimation device 110 is unable to perform communication.
[0151] According to the present embodiment, a position estimation device 110 for performing
map matching using map information acquired from a position information server 120
is enabled to continue map matching regardless of destination information or route
information even when communication is unavailable.
SECOND EMBODIMENT
[0152] The functional configuration of the position estimation system 100 according to the
first embodiment illustrated in FIG. 4 is an example, and the position estimation
system according to the present invention may have various system configurations.
In a position estimation system according to a second embodiment, an illustration
is given of another example, where the position information server 120 includes the
region information acquisition unit 412, a priority determiner 415, and the map information
acquisition unit 416.
<Functional Configuration
[0153] FIG. 13 is a functional configuration diagram illustrating a position estimation
system according to the second embodiment.
(Functional Configuration of Position Information Server)
[0154] In addition to the functional configuration of the position information server 120
according to the first embodiment illustrated in FIG. 4, the position information
server 120 according to the present embodiment further includes a region information
acquisition unit 412, a priority determiner 415, and a map information acquisition
unit 416.
[0155] The region information acquisition unit 412 acquires region information, which is
information on a plurality of regions around the position estimation device 110, from
the region information DB 435, in response to the map information acquisition request
transmitted from the position estimation device 110. The region information acquisition
unit 412 is implemented, for example, by a program executed by the CPU 301 in FIG.
3.
[0156] For example, a map information acquisition request transmitted from the position
estimation device 110 includes information indicating the position of the position
estimation device 110 (detection information or the like detected by the position
detector 414). The region information acquisition unit 412 acquires region information,
which is information on a plurality of regions around the position estimation device
110, from the region information DB 435, based on the information indicating a position
of the position estimation device 110.
[0157] Preferentially, a map information acquisition request transmitted from the position
estimation device 110 includes information indicating the position of the position
estimation device 110 and an application ID of the position estimation device 110.
The region information acquisition unit 412 acquires region information, which is
information on a plurality of regions around the position estimation device 110, based
on the information indicating the position of the position estimation device 110 and
the application ID.
[0158] For example, in the application management information illustrated in FIG. 5A, service
information "pedestrian service" is associated with the application ID "APID0001".
Likewise, service information "automobile service" is associated with the application
ID "APID0002".
[0159] In this case, when the region information acquisition unit 412 receives a map information
acquisition request including the application ID "APID0002", it is desirable to acquire
region information in a wider range than in the range requested by the map information
acquisition request including the application ID "APID0001". This is because the moving
velocity of an automobile is faster than that of the pedestrian.
[0160] The priority determiner 415 determines priorities of the plurality of regions using
information indicating the position of the position estimating device 110 included
in the map information acquisition request output from the position estimating device
110, and the region information acquired by region information acquisition unit 412.
Note that a priority determination method by the priority determiner 415 may be the
same as that of the first embodiment, for example. The priority determiner 415 is
implemented, for example, by a program executed by the CPU 301 in FIG. 3.
[0161] The map information acquisition unit 416 is a unit configured to acquire map information
corresponding to regions in order from a region with the highest priority among a
plurality of regions, in accordance with the priorities determined by the priority
determiner 415. The map information acquisition unit 416 is implemented, for example,
by a program executed by the CPU 301 in FIG. 3.
[0162] The information provider 432 transmits the map information acquired by the map information
acquisition unit 416 to the position estimation device 110 acting as a request source
of the map information acquisition request.
[0163] Preferably, the information provider 432 receives the map information acquisition
request transmitted from the position estimation device 110, and verifies the application
ID included in the map information acquisition request. For example, when the application
ID included in the map information acquisition request is included in the application
management information illustrated in FIG. 5A, and the access expiration date has
not expired, the information provider 432 returns the map information acquired by
the map information acquisition unit 416, in response to the map information acquisition
request.
(Functional Configuration of Position Estimation Device)
[0164] The position estimation device 110 according to the second embodiment) includes a
map information request unit 1301 instead of the region information acquisition unit
412, the priority determiner 41, and the map information acquisition unit 416 included
in the position estimation device 110 according to the first embodiment illustrated
in FIG. 4.
[0165] The map information request unit 1301 includes information (e.g., detection information
or the like detected by the position detector 414) indicating the position of the
position estimation device 110 and an application ID of the position estimation device
11 itself, and is configured to transmit a map information acquisition request for
requesting acquisition of map information to the position information server 120.
Further, the map information request unit 1301 receives map information transmitted
from the position information server 120 in response to the map information acquisition
request, and stores the received map information in the map information storage unit
417.
[0166] With the above configuration, the map matching unit 418 of the position estimation
device 110 is enabled to perform the map matching process, using the map information
stored in the map information storage unit 417 as in the first embodiment.
<Sequence of Process>
[0167] FIG. 14 is a sequence diagram illustrating an example of a map information acquisition
process according to the second embodiment.
[0168] In step S1401, the position detector 414 of the position estimation device 110 detects
a current position of the position estimation device 110. In step S1402, the position
detector 414 of the position estimation device 110 reports detection information indicating
the detected current position to the map information request unit 1301.
[0169] In step S1403, the map information request unit 1301 transmits a map information
acquisition request including the application ID of the position estimation device
110 and the detection information reported from the position detector 414 to the position
information server 120.
[0170] In step S1404, the information provider 432 of the position information server 120
receives the map information acquisition request transmitted from the position estimation
device 110, and verifies the application ID included in the map information acquisition
request.
[0171] For example, the information provider 432 determines whether the application ID included
in the map information acquisition request is stored in the application management
information of the application information management DB 434, and when the application
ID is stored in the application management information, the information provider 432
executes the following process.
[0172] In this case, preferably, the information provider 432 acquires service information
and the like corresponding to the application ID from the application management information.
[0173] In step S1405, the information provider 432 of the position information server 120
reports request information including detection information indicating the position
of the position estimation device 110 to the region information acquisition unit 412.
Preferably, the request information reported by the information provider 432 includes
service information and the like corresponding to the application ID of the position
estimation device 110.
[0174] In step S1406, the region information acquisition unit 412 of the position information
server 120 acquires a plurality of region information pieces around the current position
of the position estimation device 110 from the region information DB 435 according
to request information reported from the information provider 432.
[0175] Preferably, the region information acquisition unit 412 determines a range of a plurality
of regions to be acquired, etc. according to the service information included in the
request information reported from the information provider 432.
[0176] In step S1405, the region information acquisition unit 412 of the position information
server 120 reports to the priority determiner 415 request information including detection
information indicating the position of the position estimation device 110 and the
acquired region information.
[0177] Preferably, the request information reported by the region information acquisition
unit 412 includes service information and the like corresponding to the application
ID of the position estimation device 110.
[0178] In step S1408, the priority determiner 415 of the position information server 120
determines priorities of the plurality of regions by using the region information
included in the request information reported from the region information acquisition
unit 412 and the detection information.
[0179] In this case, preferably, the priority determiner 415 determines the priorities of
the plurality of regions by adding the service information corresponding to the application
ID of the position estimation device 110.
[0180] In step S1409, the priority determiner 415 of the position information server 120
reports to the map information acquisition unit 416 request information including
priority information indicating the determined priorities and region information.
[0181] In step S1410, the map information acquisition unit 416 of the position information
server 120 acquires the map information from the map information DB 436 according
to the priority information reported from the priority determiner 415.
[0182] In step S1411, the map information acquisition unit 416 reports the acquired map
information to the information provider 432.
[0183] In step S1412, the information provider 432 of the position information server 120
transmits the map information reported from the map information acquiring unit 416
to the position estimation device 110 that has transmitted the map information acquisition
request.
[0184] In step S1413, the map information request unit 1301 of the position estimation device
110 receives the map information transmitted from the position information server
120, and stores the received map information in the map information storage unit 417.
[0185] Through the process described above, map information to be used for map matching
is stored in the map information storage unit 417 of the position estimation device
110 as in the first embodiment.
[0186] Further, according to the second embodiment, the position information server 120
may be enabled to manage accounts, manage map information to be provided, etc. based
on the application ID of the position estimation device 110.
THIRD EMBODIMENT
[0187] The process of determining the order of priority according to the first embodiment
illustrated in FIG. 8 is an example.
[0188] As another example, the priority determiner 415 according to the first embodiment
and the second embodiment may be enabled to determine priorities of a plurality of
regions, with taking into account a data size of the map information.
[0189] FIG. 15A and FIG. 15B are diagrams illustrating an example of priority order determination
process according to a third embodiment.
[0190] FIG. 15A is a flowchart illustrating an example of the priority order determining
process according to the third embodiment. In the flowchart illustrated in FIG. 15A,
a process of step S1501 is added to the flowchart of the priority order determination
process according to the first embodiment illustrated in FIG. 8. Note that steps S801
to S803 and step S804 of FIG. 15A are the same as those of the priority order determination
process according to the first embodiment illustrated in FIG. 8; hence, the following
mainly illustrates the difference from the first embodiment.
[0191] In step S1501, the priority determiner 415 adds points to each region according to
the "data size" of the map image included in the region information of each region.
[0192] For example, as illustrated in FIG. 15B, for example, the priority determiner 415
adds a predetermined score (e.g., three points) to a region where a data size of a
map image is larger than a predetermined threshold value.
[0193] The map image according to the third embodiment may, for example, be a compressed
file of a binary map image as illustrated in FIG. 6B. In this case, the data size
of the map image being large may indicate that the map image includes information
on detailed roads and passages, which is considered to be a region where a map matching
difficulty level is relatively high. By contrast, the data size of the map image being
small may indicate that the map image includes information on a simple single road,
and the like, which is considered to be a region where the matching difficulty level
is relatively low.
[0194] In the third embodiment, map information of a region having a large data size of
the map image, which is considered to have a relatively high map matching difficulty
level, is preferentially acquired.
[0195] FIG. 16 is a diagram illustrating examples of priorities in respective regions, according
to the third embodiment.
[0196] In FIG. 16, in the region 1601 with the data size of the map image being equal to
or larger than a threshold, a score of the priority is 5 points composed of three
points added in step S1501 of FIG. 15A and two points added in step S803.
[0197] Accordingly, the position estimation device 110 may be enabled to preferentially
acquire map information of a region including detailed roads and passages and having
a relatively high map matching difficulty level.
OTHER EMBODIMENTS
[0198] The priority determination method by the priority determiner 415 may enable various
applications.
[0199] For example, the priority determiner 415 may specify a traveling direction of the
position estimation device 110, based on the detection information detected by the
position detector 414 or the position information output from the map matching unit
418, and may determine a priority of the traveling direction to be high.
[0200] For example, in the example illustrated in FIG. 17A, the priority determiner 415
adds two points to a plurality of regions 1702 present in the traveling direction
1701 of the position estimation device 110.
[0201] As a result, the position estimation device 110 may be enabled to preferentially
acquire the map information present in the traveling direction 1701.
[0202] Alternatively, as another example, the priority determiner 415 may specify the velocity
of the position estimation device 110 based on the detection information detected
by the position detector 414 or the position information output from the map matching
unit 418, and may add points to or deduct points from each region according to the
velocity.
[0203] For example, in the example shown in FIG. 17B, when the velocity of the position
estimation device 110 is equal to or less than a threshold value, the priority determiner
415 sets the priorities of the plurality of regions 1703 farthest from the current
position 901 to "0" (e.g., "2" is reduced).
[0204] As a result, the position estimation device 110 is enabled to acquire map information
in a suitable range according to the velocity of the position estimation device 110.
[0205] Although the present invention has been described based on the embodiments, the present
invention is not limited to the above-described embodiments, and various modifications
may be made within the scope described in the claims.
[0206] In other words, one skilled in the art can make various changes to the present invention,
with reference to the known conventional art, without departing from the scope of
the present invention. It is needless to say that such changes are still included
in the scope of the present invention as long as the configurations of the wireless
communication apparatus and the mobile device of the present invention are provided.
[0207] The present application is based on and claims the benefit of priority of Japanese
Priority Application No.
2016-039407 filed on March 1, 2016, the entire contents of which are hereby incorporated by reference.
[Description of Reference Symbols]
[0208]
- 100
- position estimation system
- 110
- position estimation device
- 120
- position information server (server apparatus)
- 412
- region information acquisition unit
- 414
- position detector
- 415
- priority determiner
- 416
- map information acquisition unit
- 418
- map matching unit
- 419
- initializer