Detecting the Position of a User and Directing a Passenger Vehicle to Pick Up the User Responsive Thereto Field of the invention The invention relates to the field of directing passenger vehicles to users (who are to be passengers of the vehicles) and in particular to making estimates of the position of a user (by estimating the position of mobile devices on the person of the user) to facilitate the directing of passenger vehicles to users. Background to the invention It is known to use electronic communication to direct passenger vehicles to users (who are to be passengers of the vehicles once they have been picked up), for example it is known to transmit an estimate of the position of a user to a computing device in a vehicle having a driver (for example to a mobile computing device mounted in sight of the driver of a taxi), to enable the driver to find the user, in order to pick up the user. By a pick up we refer to an instance of a vehicle approaching a user and then the user boarding the vehicle to allow onward transport of the user by the vehicle, irrespective of how the user boards the vehicle and whether the vehicle has a human driver. Applications such as Uber (Uber is a trade mark of Uber Technologies Inc.) enable a user to input a position, which may be their current position or another location,
through a touch screen user interface of a mobile computing device, to request to be picked up by a passenger vehicle at a specific location, and this pick up location is transmitted to a mobile computer device of the driver of a vehicle. The mobile computer device of the driver will typically also receive, or calculate, computed route information indicating how they should drive to pick up the user at the requested location. It would be preferable in some circumstances to use the actual current location of the user to specify a pick up location, and for that location to be updated as the user moves. This would facilitate efficient pick up of the user. As autonomous cars become more widespread it is to be expected that they will also pick up users in a similar way, receiving instructions to travel to a specific pick up location which may be the actual current location of a user. At the present time, it can be difficult to estimate the current position of a user especially accurately, particularly in an urban environment where positioning systems based on global satellite positioning systems have poor accuracy. A user may be indoors at the moment of first requesting a pick up by a passenger vehicle, where measurements of positon using global satellite navigation systems (e.g. GPS, Galileo, GLONASS, BeiDu) Although positioning technologies continue to evolve and we have previously demonstrated relatively accurate positioning in an indoor or built up environment by the detection by a mobile device of electromagnetic signal sources such as WiFi access points, beacons etc. (WO 201 1/077166 (Arslan et al.)), it remains the case that positioning systems may introduce errors which have significant effects on the ease with which a passenger vehicle can be directed to a user using an automatically obtained estimate of the user position, for example, errors may lead to a vehicle approaching on the wrong road, or wrong side of the correct road, to facilitate efficient pick up of a user. Methods of maintaining (e.g. creating, building or editing) a database of positioning data and/or using positioning data to estimate the position of a mobile user device are disclosed in US 8634359, US 2014/0243025, US 2015/01 19071 , US 2014/0243015, US 2014/0365488, US 2015/0189467, US 2015/0195810, US 2015/0172872, US
2015/0309183, US 2014/0379476, US 15/014,393, PCT/GB2015/052799, and PCT/GB2015/052798, which are incorporated herein by virtue of this reference. Summary of the invention According to a first aspect of the invention there is provided a method of determining a location for a pick up of a user by a passenger vehicle, the method comprising the steps of:
(a) processing geographical data, the geographical data specifying at least the path of a road, the road having opposite first and second sides,
(b) estimating a path followed by a mobile user device associated with the user to reach a current position of the mobile user device, and
(c) processing the geographical data and the estimate of the path followed by the mobile user device to thereby estimate whether the current position of the mobile user device is on the first or second side of the road. The estimate may for example be an estimate of the side of the road on which the current position of the mobile user device is most likely to be or a relative probability of current position of the mobile user device being on the first and/or second side of the road. The method may include identifying the road which is closest to the current position of the mobile user device before determining whether the current position of the mobile user device is on the first or second side of the thereby identified road. The estimated path followed by the mobile user device may comprise a plurality of estimates of the position of the mobile user device which are spaced apart in time or may for example comprise one or more vector shapes (e.g. directional lines and/or curves) indicative of the movement of the mobile user device. As the path followed by the mobile user device is estimated, it is possible to better estimate on which side of the road the mobile user device (and so the user) is currently located than would be obtained from a single estimate of the current location of the mobile user device. Also, by considering the constraint that the mobile user device is on one side of the road, or the other, a better estimate of information useful to route a vehicle to a user to pick them up on one side of a road or another can be made than is possible from an estimate of their current position simply as coordinates (in 2D or 3D). In particular, by estimating on which side of the road the mobile user device (and so the user) is currently located, the pick up of the user by the passenger vehicle is
facilitated. The vehicle may be instructed to travel to (e.g. routed to) the correct side of the road for the user, reducing the risk of the vehicle having to make a turn in the road, or for the user to have to cross the road to board the vehicle. It may therefore be easier, quicker or safer for the vehicle to find the user, or vice versa. The method then typically comprises instructing a pick up of the user by a passenger vehicle on whichever of the first or second side of the road the current position of mobile user device is estimated to be, or the most likely said side of the road. The method may comprise the step of defining at least two geographical regions, the geographical regions comprising one or more geographical regions on the first side of the road and one or more geographical regions on the second side of the road, and processing the geographical data and the estimate of the path followed by the mobile user device to thereby estimate whether the geographical region including the current position of the mobile user device is on the first or second side of the road and thereby estimating whether the current position of the mobile user device is on the first or second side of the road. This may comprise estimating in which geographical region the current position of the mobile user device is located and then estimating whether the current position of the mobile user device is on the first or second side of the road in dependence on whether the which geographical region is on the first or second side of the road. The invention extends in a second aspect to a method of determining a location for a pick up of a user by a passenger vehicle, the method comprising the steps of:
(a) processing geographical data, the geographical data specifying at least the path of a road, the road having opposite first and second sides,
(b) defining at least two geographical regions, the geographical regions comprising at least one geographical region on the first side of the road and at least one geographical region on the second side of the road,
(c) estimating a path followed by a mobile user device associated with the user to reach a current position of the mobile user device, and
(d) processing the geographical data and the estimate of the path followed by the mobile user device to thereby estimate in which geographical region the current position of the mobile user device is located, or the relatively probability of the current position of the mobile user device being located in one or more of the geographical regions.
This enables an estimate as to whether the current position of the mobile user device (and so the user) is on the first or second side of the road or the relative probability of the user being on the first or second side of the road. The method then typically comprises instructing a pick up of the user by a passenger vehicle on whichever of the first or second side of the road the current position of mobile user device is estimated to be, or the most likely said side of the road and/or at the geographical region which the current position of the mobile user device is estimated to be or estimated to most likely be. The geographical regions may border on the road, for example, they may comprise sidewalk sections. Geographical regions may be separated according to the location of the road, for example, geographical regions may be defined on either side of a centre line of a road, or opposite sides of a road. The space occupied by a road itself may be defined as a geographical region (which may be formed form a plurality of defined geographical regions representing e.g. roadways, lanes, separators between lanes and so forth) with the geographical region on the first side of the road and the geographical region on the second side of the road may each abutting opposite sides of the geographical region representing the road. There may be a plurality of geographical regions defined on either side of the road. The geographical regions may be determined by processing geographical data, the geographical data comprising data specifying the locations of roads and typically also the location of buildings and typically also the location of exits from buildings, to thereby specify one or more geographical regions on the first side of the road and one or more geographical regions on the second side of the road. In some embodiments, the geographical regions may be predefined and it may be that the method comprises determining on which side of the road the geographical regions are located. At least some of the geographical regions may correspond to stretches of sidewalk adjacent the road. At least some of the geographical regions may correspond to buildings or rooms within buildings, adjacent the road. At least some of the geographical regions may comprise exits from a building. It may be that the geographical regions comprise a plurality of geographical regions on a first side of the road, which comprise different exits from the same building, for example on a side of
the building facing the road. This can further enable directing a passenger vehicle to specific exit from a building on a specific side of a road. The method extends in a third aspect to a method of determining a location for a pick up of a user by a passenger vehicle, the method comprising the steps of:
(a) processing geographical data, the geographical data specifying at least the path of a road, the road having opposite first and second sides,
(b) defining at least two geographical regions, the geographical regions comprising at least one geographical region on the first side of the road and at least one geographical region on the second side of the road,
(c) estimating a path followed by a mobile user device associated with the user to reach a current position of the mobile user device, and
(d) processing the geographical data and the estimate of the path followed by the mobile user device to thereby estimate in which geographical region the current position of the mobile user device is located, or the relatively probability of the current position of the mobile user device being located in one or more of the geographical regions. It may be that the step of estimating a path comprises estimating a first position of the mobile user device and then estimating the path which the mobile user device follows from the estimated first position to the current position of the mobile user device. The method then typically comprises instructing a pick up of the user by a passenger vehicle on whichever of the first or second side of the road the current position of mobile user device is estimated to be, or the most likely said side of the road and/or at the geographical region which the current position of the mobile user device is estimated to be or estimated to most likely be. It may be that the first position is at a location where a more accurate estimate of the position of the mobile user device can be obtained than at the position of the mobile user device once it has followed the path. For example, the first position may be within a building where the position of the mobile user device can be estimated with at least a first accuracy (e.g. to within 10 meters or to within 5 meters), for example, by the detection of terrestrial electromagnetic signal sources such as radio beacons. It may be that the mobile user device then travels along the path to a location where the position of the mobile user device can only be estimated with less than the first accuracy, for example, where it is necessary to use a relatively inaccurate global satellite position system estimate of the position of the mobile user device.
It may be that the first position is not within the geographical region. It may be that the step of estimating the path followed by the mobile user device comprises processing geographical data which comprises data specifying the location of geographical features comprising passable and/or impassable positions or loci and/or possible paths of movement of a user. By processing the location of the geographical features, the estimate of the side of the road, or the geographical region, at which the mobile user device is currently located can be improved. It may be that the method comprises determining that the path of the mobile user device has passed through a passable position, for example, through a door. It may be that the method comprises determining that the path of the mobile user device extends from within a closed space, e.g. a building, or room of a building, to outside that closed space, e.g. outside of a building, and inferring that the path passed through a specific position, e.g. through a door which is known to allow access into or out of the closed space, or around a specific feature, e.g. the end of a wall. By considering the position of geographical features (e.g. doors, walls) additional constraints can be placed on the current location of the mobile user device, or at least the likelihood of the mobile user device being on a specific side of the road or within a specific geographical region. It may be that the step of estimating the path followed by the mobile user device comprises processing geographical data specifying the location of exits from buildings. Thus the possible path of the mobile user device may be constrained to require to leave buildings only through the specified exits. It may be that a plurality of geographical locations on a first side of the street each include a different exit from the same building. This facilitates accurate estimates of the exit from a building through which a user has passed, which may be near where they want to be picked up, this is especially helpful where the building is a shop, mall, hotel or transport hub such as an airport or railways station, with a plurality of exits. It may be that the step of estimating the path followed by the mobile user device comprises determining that the mobile user device has passed by, through or around a geographical feature specified by the geographical data, and thereby determining
that the path of the mobile user passes by, through or around a location of the geographical feature, which location is also specified by the geographical data. Geographical features may for example be selected from the group consisting of: doorways, corridors defined by walls or fences, bends in corridors defined by walls or fences, stairwells, elevator shafts. The may be that the step of estimating the path followed by the mobile user comprises estimating a distance travelled by the mobile user device. It may be that the estimate of the distance travelled by the mobile user device is obtained by processing data measured by at least one sensor which is integral to the mobile user device. The at least one sensor typically comprises an accelerometer (which may be a three axis accelerometer). Measurements of acceleration from the accelerometer may be processed to estimate the distance travelled by the mobile user device from one time to another time, for example while the mobile user device travels along the path, or a part thereof. For example, measurements of acceleration may be integrated to estimate the direction of movement of the mobile user device or analysed to estimate the number of steps taken by the user device. The at least one sensor typically comprises a magnetometer and/or a gyroscope. Measurements from a magnetometer may be used to estimate the direction (in two dimensions or three dimensions) travelled by the mobile user device from one time to another time, for example while the mobile user device travels along the path, or a part thereof. Measurements from a gyroscope may be used to estimate turning of the mobile user device and thus the path of the mobile user device from one time to another time, for example while the mobile user device travels along the path, or a part thereof. It may be that the step of processing the estimated distance travelled by the mobile user device to estimate whether a user has crossed a road. For example, if the estimated distance travelled by the mobile user device since the path passed through a door in a building on one side of a road is less than the width of the road, it is relatively unlikely that they have crossed the road, but if the
estimated distance travelled by the mobile user device since the path passed through a door in a building in one side of a road is greater than the width of the road, the likelihood that they have crossed the road is greater. It may be that the step of processing measurements of the shape of movements by the mobile user device to detect whether a user has crossed a road. For example, if a user crosses a road, their mobile user device will usually move a distance approximately equal to the width of the road (which might be determined for example by pedometer measurements) and then make a right angle turn left or right when they reach the sidewalk on the opposite side (which might be determined for example by gyroscope or magnetometer measurements). Thus it may be estimated whether the movement of the mobile user device match a pattern associated with crossing a road. This assists with determining on which side of a road the current location of a mobile user device falls. It may be that the road comprises at least two roadways, comprising a first roadway and a second roadway which run in opposite directions. By run in opposite directions we mean that by law vehicles are required to travel in a first direction in one roadway and the opposite direction in the second roadway. The direction in which vehicles may travel along a roadway may be stored in the geographical data or may be inferred, with only exceptions to a general rule being stored. For example, by convention, vehicles travel in the right hand roadway (in the direction of vehicle travel) in the United States of America, Canada, China, France, Germany, Italy and Spain, for example, and in the left hand roadway in the United Kingdom, Japan, Australia and South Africa, for example. The direction in which vehicles travel on a roadway may be measured by measuring the path of vehicles travelling in specific directions on a road. By a roadway (referred to as a carriageway in British English) we refers to one or more lanes defined by a continuous road surface within which traffic may move in a single direction and, if there is more than one lane, swap between lanes. The path of a road may for example simply specify the path of the centre line of a road. However, it may also specify the width of the road, the path of boundaries on either side of the road, or the path or boundaries of individual roadways, for example,
if there are two or more roadways which are physically separated, or the path or boundaries of individual lanes (where roadways comprise a plurality of lanes). The mobile user device is typically on the person of the user. For example, it may be a mobile user device which they are carrying in their hand, or in a garment or bag, or which they are wearing. The mobile user device typically comprises at least one processor in electronic communication with (tangible, solid state) memory storing computer program code. The mobile user device typically comprises a radio transceiver. The mobile user device may be configured (e.g. programmed) to request a pick up of the user by a passenger vehicle, for example using a touch screen of the mobile user device, microphone, button or another user interface. It may be that the geographical regions comprise lengths of sidewalk (pavement in British English) adjacent the first and/or second side of the road. It may be that the shape of the geographical regions are calculated to exclude regions at the side of roads where pick up does not meet one or more pick up location suitability criteria. The pick up location suitability criteria may comprise criteria that it is possible for a vehicle to safely stop at a particular location, or that there are no obstructions which make boarding the vehicle difficult (e.g. walls, fences, lamp posts, parking restrictions etc). It may be that the shape of the geographical regions are calculated to coincide with predefined pick up locations. The predefined pick up locations may comprise specific vehicle parking bays, for example, or regions of the side of a road where the pick up of users is allowed. The method may further comprise the step of calculating a route for the passenger vehicle to follow to pick up the user at their current location, which route takes into account the estimate of whether the current position of the mobile user device is on the first or second side of the road, or the side of road of the estimated geographical location of the current position of the mobile user device.
Thus, the method may comprise selecting a route from amongst a plurality of possible routes in which the passenger vehicle travels along the road to the pick up location on the correct side of the road and/or in the correct roadway to be adjacent the user. Where the method comprises estimating the side of the road on which the mobile user device is located, this information may take the form of a direction (e.g. north, south, east, west side), an identifier of a roadway or a lane which is on a specific side of a road, an identifier representing the left or right hand side of a road relative to a vector stored in the geographical data defining the direction in which the road extends. Where the method comprises defining at least two geographical regions, comprising at least one on the first side of the road and at least one on the second side of the road, the method may comprise determining on which side of the road a specific geographical region is located. Again, this information may take the form of a direction (e.g. north, south, east, west side), an identifier of a roadway or a lane which is on a specific side of a road, an identifier representing the left or right hand side of a road relative to a vector stored in the geographical data defining the direction in which the road extends. The method may further comprise the step of selecting a passenger vehicle to pick up a user from amongst a plurality of passenger vehicles, comprising calculating a (shortest in time or distance) route for each of the plurality of passenger vehicles to follow to pick up the user at their current location, which route takes into account the estimate of whether the current position of the mobile user device is on the first or second side of the road, or the side of road of the estimated geographical location of the current position of the mobile user device, and selecting the passenger vehicle for which the calculated route is shortest (in time or distance) to pick up the user. The method may further take into account the side of a road and/or current orientation and/or current direction of travel, of each of the plurality of passenger vehicles. The selected passenger vehicle is then directed to pick up the user at or close to their current location.
Optional features set out above are optional features of each aspect of the invention. The methods of the invention may be carried out by one or more hardware processors. The one or more hardware processors typically execute computer program instruction stored on one or more hardware data stores. Description of the Drawings An example embodiment of the present invention will now be illustrated with reference to the following Figures in which: Figure 1 is a schematic diagram of a computer architecture to implement the present invention; Figure 2 is a schematic diagram of a locale, including a road, and buildings adjacent the road, as stored in a database of geographical data. Figure 3 is a schematic diagram of a road network enabling a passenger vehicle to travel to a user; Figure 4 is a schematic diagram of the locale of Figure 2 showing two possible routes of mobile user devices; Figure 5 is a schematic representation of a graph representing a road network; Figure 6 is a schematic diagram of the locale of Figure 2 which has been broken down into geographical regions. Detailed Description of an Example Embodiment Figure 1 is a schematic diagram of a computer system 1 having a positioning system server 2, a routing server 20, a plurality of mobile user devices 100 and a plurality of passenger vehicles 150, each of which may communicate through the internet 40 and wireless communication services 42 (such as 3G, 4G, 4.5G, 5G wireless telecommunications networks, WiFi, WiMax and so forth).
The positioning system server 2 comprises at least one processor 4 which is in electronic communication with solid state memory 6 which stores computer program code which when executed on the at least one processor causes the processor to execute the server functionality described below, and a positioning system database 8, stored on computer readable tangible storage means (such as solid state memory, hard discs, optical discs etc.) which stores positioning data 10 and geographical data 12. The positioning data concerns a plurality of terrestrial electromagnetic signal sources (such as wireless access points, WAPs, radio beacons, such as those according to the Bluetooth Low Energy (BLE) protocol etc.) For each signal source it specifies the MAC address of the signal source and optionally properties of the plurality of electromagnetic signal sources, such as the type of the electromagnetic signal sources or transmit signal strength. The positioning data further specifies estimated geographical locations (e.g. 2D or 3D coordinates, for example latitude, longitude and optionally altitude) of the electromagnetic signal sources. Such positioning data enables an estimate of the current position of a mobile user device 20 from measurement of signals (e.g. the strength of signals, or time of receipt of signals) from the electromagnetic signal sources by a radio (or other electromagnetic signal) receiver 22 of the mobile user device, and the estimated positions of electromagnetic signals sources as stored in the positioning data. In some alternative implementations the positioning data relate to the (expected) strength of signals from electromagnetic signal sources at a plurality of positions (e.g. 2D or 3D coordinates, for example latitude, longitude and optionally altitude). For example, the positioning data may comprise the (expected) strength of signals from a plurality of electromagnetic signal sources at each of a plurality of (2D or 3D) grid locations. This type of positioning data is typically referred to as fingerprint data and is usable with or instead of data concerning the actual position of signal sources. An estimate of the position of a mobile device can be obtained using fingerprint data by measuring the strength of signals from electromagnetic signal sources and comparing these with the fingerprint data and estimating its positing as the geographical location of the most closely matching fingerprint data, or more typically using interpolation to compute a position intermediate geographical locations in respect of which fingerprint data is stored. In a related strategy, the positioning data stores parameters of a function which describes the (expected) spatial variation in the strength of signals from a plurality of electromagnetic signal sources and the mobile
device (or a server) processes this data to determine the location that best fits the measured strength of signals from electromagnetic signal sources. The routing server 20 comprises at least one processor 22 which is in electronic communication with solid state memory 24 which stores computer program code which when executed on the at least one processor causes the processor to execute the server functionality described below, and a routing database 26, stored on computer readable tangible storage means (such as solid state memory, hard discs, optical discs etc.) which stores passenger vehicle data 28 and passenger vehicle routing data 30 (which may be integrated with or derived from the geographical data). The passenger vehicle data 26 comprises data about the location of vehicles (e.g. those providing on demand taxi services) and the passenger vehicle routing data 28 stores data about connections or routes between locations, routes allocated to vehicle to pick up users and so forth. One skilled in the art will appreciate that the positioning system and routing system servers may be combined into one server, or implemented separately on one or more physical server machines, distributed, virtualised and so forth. The mobile user devices 100 comprise radio signal transceivers 102. Typically, some or all of the mobile user devices are cellular telephones comprising one or more processors 104 in electronic communication with solid state memory 106 which stores program code which cases the devices to carry out the procedure described below. Typically, some of the mobile user devices execute the Android operating system (for example Android 6.0.1 , or later) (Android is a trade mark of Google, Inc.) and/or the iOS operating system (for example iOS 9.2 or later) (iOS is a trade mark of Apple, Inc.) Some or all of the mobile user devices comprise satellite positioning system modules 108, which receive signals from orbital satellites during operation and process these signals to estimate the position of the mobile user devices. Some or all of the mobile devices comprise one or more additional sensors 1 10, data from which is used to estimate the position of the mobile device. The additional sensors may be selected from a group consisting of: an accelerometer, a gyroscope, a step counter, a camera. Data from the one or more said sensors may be processed to improve the estimated position of the mobile device and/or to estimate the path of the mobile user device.
The mobile user devices have user interface peripherals 1 12, for example a touch screen, enabling a user to input data (for example to request a pick up by a passenger vehicle) and to view information, such as a map or information about a forthcoming pick up by a passenger vehicle (such as the expected arrival time of a passenger vehicle). User interface peripherals 1 12 may also comprise a microphone to receive verbal instructions, a loudspeaker to give audible instructions, an accelerometer to receive gesture based instructions, and so forth. One or more of the mobile user devices may be wearable components, for example watches, glasses, shoes, armbands or contact lenses. The mobile user device may comprise a plurality of separate or separable components which are in (typically direct) wired or wireless communication with each other (e.g. a mobile telephone, tablet or computer and a separate or separable wearable component). Typically, it is not necessary to distinguish between the positions of individual components if they are typically on the person of the user as the aim is to establish the position of the user. The passenger vehicles are motorised vehicles capable of carrying one or more people, having at least three, and typically at least four ground engaging wheels. They may be automobiles with internal combustion engines, electrical motors and batteries, or hybrid engines, and may have a human driver or be autonomous vehicles which comprise a controller which controls the motion of ground engaging wheels to direct the vehicle along a route without continuous human input and a plurality of sensors to guide the vehicle and avoid obstacles such as other vehicles, pedestrians and so forth. Autonomous vehicles and their operation are well described in the art, for example in US 2016129908 (Volvo Car Corporation). The passenger vehicle have electronic devices comprising radio receivers to receive instructions concerning the location of a pick up and these may be integral to the passenger vehicle, for example radio receivers of a wireless communications interface of an autonomous vehicle, or mobile electronic devices, such as mobile telephones, which are not integral to the vehicle but are simply carried within the vehicle, for example demountably fixed to a stand or holder to enable a human driver to view information which they display. Figure 2 is a schematic diagram of a locale, including a road, and buildings adjacent the road, as stored in a database of geographical data. The locale comprises a road
200 having first and second roadways 202, 204, on which passenger vehicles drive in opposite directions, by regulation, separated by a painted line 206. On a first side of the road 208 there is a first sidewalk 210, separated from the first roadway 202 by a step, line or other demarcation. On the opposite second side of the road 212, there is a second sidewalk 214 separated from the second roadway 204 by a further step, line or other demarcation. Adjacent the sidewalks, and separated from the road by the sidewalks, are buildings 216 comprising impassable external 218 and internal walls 220, with passable doors 222, corridors 224, stairwells 226 etc. Each of these features is represented by geographical data. Geographical databases of this type are referred to as geographical information systems (GIS). In the example of Figure 2, the geographical data which is shown relates to street level and so can be two dimensional, with features such as walls, boundaries, rooms and buildings defined with reference to 2 dimensional coordinates (E.g. x and y coordinates in a suitable reference frame, latitude and longitude etc.). Nevertheless, the geographical data may be three dimensional and different floors of buildings may be represented by including z or altitude coordinates, or labels indicative of floor number. Throughout the locale there are radio beacons 230, functioning as electromagnetic signal sources. These may for example be WiFi/wireless access points, or beacons which have been placed to facilitate navigation, for example beacons according to the Bluetooth Low Energy (BLE) specification, such as iBeacons or Eddystone beacons (Bluetooth, iBeacon and Eddystone are trade marks). The position of the radio beacons 230 is stored in the database of positioning data, along with their MAC addresses and potentially other data, such as their transmission signal strength. Databases of the location of radio beacons and other electromagnetic signals sources are known in the art and one known method of creating them is described in EP 2517041 (Arslan et al.), which is incorporated herein by virtue of this reference. In a first example, it is estimated on which side of a road a user is located and then a request is placed for a pick up of the user, on that side of the road, by a passenger vehicle by the following process.
Sensors on the mobile user device 100 make measurements useful to determine the position and/or path of the mobile user device on an ongoing basis. For example, the global navigation satellite system (GNSS) module may measure signals from orbital satellites periodically (e.g. every 5 or 10 seconds) to enable an estimate of the position of the mobile user device. The estimate of the position of the mobile user device from the GNSS module is typically made by the mobile user device; however the estimate may be made remotely by a server to which the measurements are transmitted. The radio receiver of the mobile user device measures signals from radio beacons periodically, for example every 1 , 2, 5 or 10 seconds. In some embodiments the mobile user device receives signals from radio beacons (being examples of electromagnetic signal sources) and stores an identifier of the radio beacon (e.g. its MAC address, being an identifier which is transmitted by many radio beacons) and the strength of signals received from the radio beacon. By using the signal strength measurements and the position of the radio beacons stored in the database of positioning data, it is possible to estimate the position of the mobile user device, for example by estimating the distance of the mobile user device from the individual radio beacons from the attenuation of the signals from the radio beacons to the mobile user device and the known (or at least estimated) positions of the radio beacons, using triangulation. This approach to estimating the position of a mobile user device is known in the art and described for example in EP 2517041 (Arslan et al.). It is possible for the estimate of the position of the mobile user device to be carried out on the mobile user device or remotely, on a server. In a variant of this approach the measured signal strengths are compared with fingerprint data which specifies the strength of signals from signal sources at a plurality of locations (e.g. in a grid, for example a grid of points spaced 10 or 20 meters apart in each of x and y directions) and the position is estimated as the position where the fingerprint data most closely resembles the measured signal strengths. A position between grid points can be estimated by interpolation. Position can also be estimated using signal strength data in the form of parameters of equations describing the variation of the strength of signals from signal sources in space, for example as disclosed in US 2014/0243015 (Basha et al.). Position estimates can be computed either on the mobile user device or the server.
In some embodiments, the mobile user device transmits and receives return signals from radio beacons and uses the timing of the receipt of the return signals to estimate the distance from the mobile user device to the respective radio beacon, using known time of flight or round trip time delay (RTT) techniques. Alternatively, or in addition, the radio beacon may estimate the distance of the mobile user device from the radio beacon by transmitting and receiving return signals from the mobile user device. Again, the resulting estimates of the distance from the mobile user device to the radio beacons and the estimated positions of the radio beacons are used to estimate the position of the mobile user device and again this calculation can be carried out by the mobile user device or the server. In some embodiments the mobile user device makes further measurements using additional sensors. For example, the mobile user device may make measurement using a three axis accelerometer. These measurements can be processed to detect the periodic movement associated with walking and so to estimate the number of steps taken by a user, and so the distance they may have walked or ran, in a period of time. Measurements may also be made using a magnetometer to estimate the current orientation of the device and/or a gyroscope to detect rotation of the device. These measurements can be combined to estimate a direction and distance of movement of the users during each of a number of time steps. This approach to estimating the movement of a mobile user device, using measurements of strides and estimates of direction obtained from magnetometer and/or gyroscope measurement data is known in the art as pedometer dead reckoning. It is potentially reasonably accurate over short distances but accumulates substantial errors in estimated distance and direction of movement over sufficient periods of time or number of strides. Again, the distance and/or direction of movement of the mobile user device can be estimated by the mobile user device and/or on a server to which measurements from the sensors are transmitted. When a user requests a pick up it is determined which road they are closest to, for example by comparing the most recent estimate of their current position with the path of roads stored in the database of geographical data. It is also estimated on which side of the road they are currently located by processing the above data, concerning measurements of position and the path taken by user. This data is further processed with reference to the data in the database of geographical data specifying the position of walls, doors and other passable and impassable features. This data is used to
constrain the estimates of the path followed by the mobile user device and so the user to their current location. The path followed by the mobile user device can be considered as a plurality of estimates of the position of the mobile user device at spaced apart times (e.g. a time series of estimates of the position of the mobile user device) or formed from one or more vector shapes (such as lines, curves etc. having a direction Databases of geographical data and methods of building up and using such databases to estimate the position of a mobile user device can be determined by estimating paths followed by mobile user devices and analysed those paths to determine the position of geographical features which constrain movement. Suitable methods are described in US 20150172872 (Alsehly et al.), where geographical data is referred to as location specific geographical descriptive data, layout data etc., the contents of which are incorporated herein by virtue of this reference. For example, in Figure 4, path 400A extends from an initial location 402A which is close to several radio beacons and where the position of the mobile user device can be accurately estimated, to a current position 404A which outdoors, which is not close to radio beacons and where the position of the mobile device would typically be measured using a GNSS module which will be relatively inaccurate due to the presence of building on both sides of the road which will attenuate and reflect signals from orbital satellites. It can be seen that this path passes through a door between two impassable walls just before it reaches the sidewalk. Accordingly, by applying the constraint that the path does not pass through impassable objects it can be determined with a relatively high degree of accuracy that the mobile user device is on the first side of the road 208 and not the second side of the road 214. An additional factor is that the total length of the path from the initial location 402A to the current position 404A is significantly shorter than the distance which would be required for the user to have reached the second side of the road 214. With reference to the second path in Figure 4, path 400B, extends from an initial location 402B which is again close to several radio beacons and where position can be accurately assessed to an outdoor location on the sidewalk where position cannot be accurately estimated. The path of the user is relatively long and a pedometer dead reckoning estimate of the shape of the path would have relatively poor accuracy. However, by processing the location of passable doors 222 and
impassable walls 220 the path of the user can be more accurately determined. In particular, a right turn by the mobile user device near the beginning of the path and a gradual fading of the signals from the signal sources near the initial location of the mobile user device can be detected. Furthermore, it can be inferred from the relatively long distance which the user walks in a generally straight line after leaving a room of a building which had only one single exit door that they passed through the position of that exit door, allowing the direction in which they are walking to be corrected from what would otherwise be possible from gyroscope data. In more detail, the method employs a particle filter or multiple Monte Carlo approach to estimating the path of the user. For example, possible initial locations 402 of the user can be generated, using an initial estimate of their position and an estimate of the accuracy of that measurement. Particles can be generated at random locations within all identified geographical regions (for example) in a Monte Carlo approach or sampled across a statistical distribution of particles in dependence on the initial estimate of position and the accuracy of that position measurement in a particle approach. Candidate paths can then be plotted from initial positions along routes to each particle location which are again generated at random or sampled from estimates of the distance and direction, or change in direction, or as the shortest passable route. For example, candidate paths can be built up from data concerning the number of steps taken by a user between two times (from an accelerometer acting as a pedometer) and an estimate of the direction in which they are travelling (from a magnetometer) or changes in the direction in which they are travelling (from a gyroscope, the accelerometer etc.) Candidate paths which are not possible according to the geographical information, for example because they pass through impassable walls specified in the geographical information, are excluded. Where it can be determined that a mobile user device has passed through a particular geographical location (e.g. a particular doorway, a particular corridor formed by opposed walls or fences) that can be used to constrain the candidate paths which are generated. Such candidate paths can then be used to assign a weight to each particle based on the similarity of the candidate path to a path indicated by the measurement data from the mobile user device (session location data) calculated by Mahalanobis distance (https://en.wikipedia.org/wiki/Mahalanobis_distance as at 24 June 2016 noon GMT and Mahalanobis, Prasanta Chandra (1936). "On the generalised distance in
statistics". Proceedings of the National Institute of Sciences of India 2 (1): 49-55, each of which is incorporated herein by virtue of this reference), or the consistency of the data measured by sensors to what would be expected on the candidate path. By assigning weights to each particle the method then discards particles with weights lower than a threshold, renormalizes the weights and generates new particles around the remaining one until the final positions 404 converge into a set of particle weighted thresholds. Candidate paths can also be generated or discarded in dependence on measurements of electromagnetic signal sources made by the electromagnetic signal sources receivers (e.g. radio receivers) of the mobile user devices. The final positions 404 at the end of each candidate path are then analysed to determine on which side of the road they fall and the proportion of the generated end points on each side of the road are summed to determine the relatively probability of the user device being on one side of the road or the other. This may be carried out for example by determining on which side of the road each resulting particle falls, or determining in which geographical region each particle falls, to obtain a relatively probability of different geographical regions, one or more of which is on each side of the road, to thereby estimate on which side of the road the user is located. The output of this process may be the relatively probably of the user being on one side of the road or the other, or just the side of the road on which the current position of the user is most likely to be. The side of the road on which the mobile user device (and therefore the user) is located is used to route a passenger vehicle to the user. Figure 3 is a schematic diagram of a road network, comprising a plurality of two way roads 200A through 200F, which join at various intersections 250A through 250D. Assuming that this represents a country in which vehicles drive on the right hand side of the road (in the direction of travel), If a user is found to be on the side of the road 200B shown with the letter A when they request a pick up by a vehicle 150, it would be best for the vehicle to turn right at junction 250D and left at junction 250B to be on the correct side of the road to pick up the user. If however the user is found to be on the side of the road 200B shown with the letter A when they request a pick up by a vehicle, it would be best for the vehicle to turn left at junction 250D and right at junction 250A, to
be on the correct side of the road to pick up a user. Thus, a vehicle can be routed to the user for a pick up in dependence on the determined side of the road. In order to enable routing, the road network of Figure 3 can be represented in electronic form in a graph data structure shown in Figure 5, with nodes 300A through 300G, coinciding with junctions and bends, and data specifying which nodes are connected with roadways 302 and in which directions traffic may pass (e.g. a single direction 302, or bidirectional 304). More sophisticated data structures representing road networks, known in the art, include data concerning the path of individual roadways and lanes, the speed limit of road sections between nodes, measured average, current or predicted speeds of traffic on road sections between nodes, the location of speed cameras, traffic lights and so forth. Routing can be carried out by executing known algorithms for finding paths through graphs, for example Dijkstra's algorithm (Dijkstra, E. W. (1959). "A note on two problems in connexion with graphs" (PDF). Numerische Mathematik l : 269-271., and Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L; Stein, Clifford (2001). "Section 24.3: Dijkstra's algorithm". Introduction to Algorithms (Second ed.). MIT Press and McGraw-Hill. pp. 595-601 , each of which is incorporated herein by virtue of this reference) or the Bellman Ford algorithm, or (to obtain multiple options), the K shortest path routing algorithm (Michael Gunther et al.: "Symbolic calculation of K- shortest paths and related measures with the stochastic process algebra tool CASPA". In: Int'l Workshop on Dynamic Aspects in Dependability Models for Fault- Tolerant Systems (DYADEM-FTS), ACM Press (2010) 13-18, incorporated herein by virtue of this reference). Once a pick up has been requested, a passenger vehicle is allocated to make the pick up (or predetermined, for example if a specific passenger vehicle is allocated to or property of the user), a route for the passenger vehicle to travel to the user to make a pick up on the appropriate side of the road is calculated, and the route is transmitted to the passenger vehicle to enable the vehicle to pick up the user. The position of the passenger vehicle may also be transmitted to a mobile electronic device of the user, for example along with map data, to enable the user to view the approach of the passenger vehicle. The position of the user and in particular their side of the road may be updated and the route changed dynamically while the passenger vehicle is travelling to make a pick up.
In some embodiments, illustrated with reference to Figure 6, the method includes the step of defining a plurality of geographical regions 500 delineated with dashed lines. Geographical regions are defined on either side of the road, for example sidewalk sections 500A and 500B are on the first side of the road and sidewalk sections 500C and 500D are on the other side of the road. Geographical regions can be defined on either side of the road by reading the location of the road from the geographical data (e.g. a geographical information service), which may specify the centre line of the road, or the boundaries of the road, or even details of individual roadways, separators, lanes etc. which make up the road and defining geographical regions which abut the region or regions which make up the road. For example, sidewalk sections are suitable geographical regions. Geographical regions may also represent buildings or parts thereof. The geographical regions may be defined taking into account the suitability of a location for a pick up, or the likelihood that there will be a pick up. For example, there may be geographical regions where a pick up is unlikely to be requested, for example where there are trees 500E, foliage or sidewalk furniture, or should not be allowed, for example where there is a wall 500F or parking restrictions. There may be gaps between geographical regions where pick up at the side of the road is possible for example where there is no sidewalk 510. In this approach, estimates can made as before of the path of the mobile user device, and therefore the user, taking into account measurements made by sensors of the mobile user device and geographical data specifying geographical features. Candidate paths can be generated and the end point of each candidate path which fits the various constraints can be compared against the defined geographical regions. The geographical region in which each candidate path terminates is recorded and the number of candidate paths terminating in each geographical region is noted. It may be that candidate paths which terminate in a geographical region which is part of a road where vehicles may pass (e.g. a roadway or lane, or a region between opposite sidewalks) are excluded. The method may include detecting specific patterns of movement of mobile user device, in particular patterns of movement indicative that a user has crossed a road. For example in Figure 6, path 400C extends from an initial location on the second side of the road 402C to a current location on the first side of the road 404C and it is possible to detect that a road crossing has occurred from the user making a right
angle turn (which can be determined from the magnetometer and/or gyroscope, for example) and/or walking a distance which is similar to the width of the road (which can be determined from pedometer measurements, e.g. using the accelerometer) and then making a further right angle turn, in either direction, which can be determined from the magnetometer and/or gyroscope, for example. Generally when a user crosses a road their mobile user device will make movements in a first direction, then make a sideways move then resume moving in the first direction or the opposite direction to the first direction. The resulting data is then processed to determine the relative probability of the user being in individual geographical regions and then, taking into account whether the respective geographical regions are on one side of the road or the other, an estimate is made of the side of the road on which the user is currently located and a message is transmitted to cause a passenger vehicle to be routed to pick up the user at the respective side of the road. In some embodiments, the position of the mobile user device, an in particular the side of the road on which it (and so the user) are currently located, or the side of the road of the geographical region in which the mobile user device is currently located are monitored again (e.g. periodically or continuously) while the passenger vehicle is moving towards the pick up location and the pick up location may be changed responsive thereto. For example, if the mobile user device (and so the user) crosses the road, the pick up location may be changed to the other side of the road. This may require consequential rerouting of the passenger vehicle to reach the revised pick up location on the other side of the road. The estimate of the side of the road on which the mobile user device (and so the user) is located may also be used to select a passenger vehicle from amongst a plurality of passenger vehicles to direct to pick up the user. A vehicle which is closest to the user, or even closest to the centre of the road adjacent the user, may not be the vehicle which can most quickly pick up the user at side of the road on which they are located. In order to implement this, a plurality of vehicles in a region around the current position of the user are identified and estimates are made of the time (or in some embodiments distance) which would be required for the vehicle to travel to a user to pick up the user at the estimated side of the road of their current location. The vehicle which would require the shortest time (or distance) to travel to pick up the
user at the respective side of the road is selected to pick up the user and directed to pick them up at their current location on the respective side of the road.