Vehicle detection system

A vehicle detection system (1) comprising at least one detection unit (2). Each detection unit corresponds to a detection volume (Sn) and each detection unit comprises at least two spaced-apart magnetic field sensors including first and second magnetic field sensors (6a, 6b; FIG. 3). Each magnetic field sensor is configured to provide a series of instantaneous magnetic field measurements spaced apart in time. A processing unit (3) is configured to receive the time series of instantaneous magnetic field measurements. The processing unit is configured to store the time series of instantaneous magnetic field measurements in a table (8; FIG. 5). The processing unit is configured to determine the presence of a vehicle (7) in each detection volume in dependence upon the magnetic field measurements in the table.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of European Application No. 15380017.2 filed on May 5, 2015.

FIELD OF THE INVENTION

The present invention relates to a system for detecting vehicles, in particular motor vehicles, such as motorcycles, automobiles, minibuses, buses, trucks or lorries.

BACKGROUND

Vehicle detection systems can be used (particularly in urban areas) in many different ways. For example, they can be used to monitor traffic flow, to locate car parking spaces and to control traffic control signals (often referred to simply as “traffic lights”).

Some vehicle detection systems use magnetic field sensors to sense local disturbances in the magnetic field of the Earth. For example, some vehicle detection systems employ a number of discrete magnetic field sensors, each sensor measuring the magnetic field in a respective volume of space. Each sensor records a baseline level of magnetic field when no vehicle is present and can detect the presence of a vehicle when the measured magnetic field deviates from the baseline level by more than a given amount. U.S. Pat. No. 6,546,344 B1 describes an example of such a system.

However, when magnetic field sensors are positioned close together, for example in adjacent car parking spaces or traffic lanes, their measurements may be spurious or inaccurate. This may arise due to perturbations to the Earth's magnetic field resulting from the proximity of other vehicles in adjacent volumes of space. A magnetic field perturbation within an unoccupied volume of space may be large enough to trigger a false positive or to prevent detect of a vehicle.

SUMMARY OF THE INVENTION

The present invention seeks to provide an improved vehicle detection system based on measurements of magnetic fields.

According to a first aspect of the present invention there is provided a vehicle detection system comprising at least one detector. Each detector is configured to measure a magnetic field in a respective volume of space. Each detector comprises at least two spaced-apart magnetic field sensors, including first and second magnetic field sensors. Each magnetic field sensor is configured to provide a time series of instantaneous magnetic field measurements. The vehicle detection system also comprises a processing unit configured to receive the time series of instantaneous magnetic field measurements. The processing unit is also configured to store the time series of instantaneous magnetic field measurements in a table. The processing unit is also configured to determine presence of a vehicle in each volume in dependence upon the magnetic field measurements in the table.

This can be used to reduce or even avoid sensor blind spots due to uneven variations in magnetic field.

A vehicle detection system may comprise a third magnetic field sensor.

Magnetic field sensors may be spaced apart by at least 15 cm, at least 30 cm, at least 50 cm or by at least 1 m. Magnetic field sensors may be spaced apart by a distance between 30 cm and 40 cm.

The processing unit may be configured to determine a speed of a vehicle in a volume. The processing unit may be configured to determine that a vehicle enters a volume. The processing unit may be configured to determine that a vehicle exits a volume. The processing unit may be configured to determine the direction of travel of a vehicle through a volume.

Each detector may comprise first and second units which are spaced apart, and a link connecting the first and second units. The first and second magnetic field sensors may be disposed in the first and second units respectively. The link may be flexible. Each detector may comprise at least one further unit. Each further unit may contain a magnetic field sensor and be connected to the other units by one or more links.

The magnetic field sensors may be anisotropic magnetoresistance sensors. Each magnetic field sensor may be a three axis sensor. Each detection unit may be sealed against particles of dirt and/or dust. Each detection unit may be waterproof. Each detection unit may be encapsulated to the IP-68 certification standard.

The vehicle detection system may comprise a cable comprising two or more detectors spaced along the cable. The detectors may be connected to the cable in a bus configuration. The cable may comprise one or more energy lines and one or more data lines. The detectors2may be connected to the data line(s) and power line(s) in a bus configuration. The cable may comprise cladding or armour surrounding the energy line(s) and data line(s).

Thus, a failure of, or damage to a detector will not affect other detectors connected in parallel to the same cable.

The processing unit may be connected to two or more cables, each cable comprising two or more detectors positioned along the length of the cable.

The vehicle detection system may further comprise a short-range wireless transceiver configured to exchange signals with a corresponding short-range wireless transceiver of a vehicle so as to capture the identity of vehicle.

The processing unit may be configured to determine the presence of a vehicle in each volume in dependence upon the magnetic field measurements corresponding to two or more volumes.

Thus, the processing unit may be able to compensate (partially or fully) for magnetic field variations caused by a vehicle which is present in an adjacent volume of space. This can improve the accuracy and reliability of detecting whether or not a vehicle is present in a volume of a space.

The processing unit may be configured to determine the presence of a vehicle in each volume in dependence upon the magnetic field measurements corresponding to two or more consecutive points in the time series.

Thus, the accuracy and reliability of detecting a vehicle in a volume of a space may be improved, because magnetic field variations during entry or exit of a vehicle may be larger than static changes in magnetic field before or after the entry or exit of the vehicle.

The processing unit may be configured to detect a start of an event and an end of an event in a volume in dependence upon a variance of the respective magnetic field measurements calculated based on a number of consecutive points in the time series. The processing unit may determine the presence of a vehicle in each detection volume in dependence upon a change in the respective magnetic field measurements between the start and end of an event.

The processing unit may be configured to store an occupancy flag corresponding to a detection volume in a second table in response to determining the presence of a vehicle in that detection volume. The processing unit may be configured to update the occupancy flag for a detection volume after the end of a detected event in that detection volume.

The processing unit may be configured to determine the presence of a vehicle in each detection volume in dependence upon the magnetic field measurements in the respective detection volume and also the magnetic field measurements in each adjacent detection volume which is flagged as occupied in the second table.

The processing unit may be configured such that when an event is not detected, the processor will execute a policing control check such that the occupancy flag of each detection volume is reversed if a threshold number of magnetic field measurements are consecutively stored in the table, each of the threshold number of magnetic field measurements being inconsistent with the respective occupancy flag stored in the second table.

The vehicle detection system may be for monitoring availability of car parking spaces. The vehicle detection system may be for monitoring the volume and speed of traffic on a road. The vehicle detection system may be for detecting the numbers and distribution of vehicles around a junction controlled by a traffic signalling system.

The processing unit may be configured to store a data structure defining, for each detection volume, a number of coupled detection volumes which at least partially overlap the detection volume. The processing unit may be configured to receive the time series of instantaneous magnetic field measurements. The processing unit may be configured to store the time series of instantaneous magnetic field measurements in a first table. The processing unit may be configured to store occupancy flags corresponding to each detection volume in a second table, the occupancy flags indicating presence of a vehicle in that detection volume. The processing unit may be configured to store baseline magnetic field values corresponding to each detection volume in a third table, the baseline magnetic field values being instantaneous magnetic field measurements obtained in the absence of vehicles. The processing unit may be configured to store a fourth table comprising, for each detection volume, correction values corresponding to each coupled detection volume. The processing unit may be configured to calculate, for each detection volume, difference values between the corresponding magnetic field measurements stored in the first table and a corrected baseline obtained by summing the baseline magnetic field value for the detection volume and the correction values corresponding to each coupled detection volume. The processing unit may be configured to determine presence of a vehicle in each detection volume in dependence upon the corresponding difference values. The processing unit may be configured, in response to determining the presence of a vehicle in a detection volume, to update the corresponding occupancy flag in the second table and, for each coupled detection volume, to store the difference values corresponding to the coupled detection volume as correction values corresponding to the detection volume.

According to a second aspect of the invention there is provided a method comprising receiving a time series of instantaneous magnetic field measurements from at least two spaced apart magnetic field sensors including first and second magnetic field sensors. The method also comprises storing the time series of instantaneous magnetic field measurements in a table. The method also comprises determining presence of a vehicle in each volume in dependence upon the magnetic field measurements in the table.

The method may further comprise determining a speed of a vehicle in a detection volume.

The method may include capturing the identity of a vehicle by exchanging signals with a vehicle using a short range wireless communications protocol such as ZigBee®.

The presence of a vehicle in each detection volume may be determined in dependence upon the magnetic field measurements corresponding to two or more detection volumes. The presence of a vehicle in each detection volume may be determined in dependence upon the magnetic field measurements corresponding to two or more consecutive points in the time series.

The method may include detecting a start of an event and an end of an event in a detection volume in dependence upon a variance of the respective magnetic field measurements calculated based on a number of consecutive points in the time series. The presence of a vehicle in each detection volume may be determined in dependence upon a change in the respective magnetic field measurements between the start and end of an event.

The method may include storing an occupancy flag corresponding to a detection volume in a second table in response to determining the presence of a vehicle in that detection volume.

The occupancy flag for a detection volume may be updated after the end of a detected event in the respective detection volume. The presence of a vehicle in each detection volume may be determined in dependence upon the magnetic field measurements in the respective detection volume and in each adjacent detection volume which is flagged as occupied in the second table.

When an event is not detected, the method may include executing a policing control check such that the occupancy flag of each detection volume is reversed if a threshold number of magnetic field measurements are consecutively stored in the table, each of the threshold number of magnetic field measurements being inconsistent with the respective occupancy flag stored in the second table.

According to a third aspect of the invention there is provided a computer program comprising instructions which, when executed by at least one processing unit, cause the processing unit to perform a method according to the second aspect.

According to a fourth aspect of the invention there is provided a computer readable medium (which may be non-transitory) storing the computer program according to the third aspect.

According to a fifth aspect of the invention there is provided a method of authenticating a vehicle detected by a vehicle detection system which includes one or more detectors, a transceiver device corresponding to each detector and a processing unit. Each detector is configured to measure magnetic fields in a volume of space at least partially overlapping a corresponding space for a vehicle. Each transceiver device is arranged proximate to the respective space for a vehicle and includes a wireless personal area network module. The processing unit is configured to communicate with an external device and to determine presence of a vehicle in each space in dependence upon measurements from one or more detectors. The method includes, in response to detecting a vehicle entering a space corresponding to a detector, one or more transceiver devices broadcast a plurality of challenge messages according to a schedule. Each challenge message has a corresponding correct response. The one or more transceiver devices broadcast each challenge message before a subsequent challenge message is broadcast. The method also includes, for each challenge message broadcast, in response to one or more transceiver devices receiving at least one corresponding response message broadcast by a wireless personal area network transceiver in or on the vehicle, incrementing a number of received responses and checking whether the response message corresponds to the correct response. The method also includes, in response to the number of received responses exceeds a first threshold and a fraction of correct responses exceeds a second threshold, authenticating the vehicle by transmitting a message to the external device to indicate that an authorised vehicle has entered the space.

Thus, because transceiver devices are proximate to, rather than within, the corresponding spaces for vehicles, a parked vehicle is less likely to block or interfere with transmissions between the transceiver device and a wireless personal network area transceiver in or on the vehicle. The condition of receiving a minimum number of response messages, a minimum fraction of which must be correct, before authenticating a vehicle further improves the reliability of authenticating an arriving vehicle.

The plurality of challenge messages may be broadcast according to a predetermined schedule. The plurality of challenge messages may be broadcast according to a dynamically determined schedule. Any second and subsequent response messages received in reply to a specific challenge message may be ignored. The processing unit may include a list of challenge messages and corresponding correct responses. The challenge messages which are broadcast may be selected at random from a list stored in the processing unit.

The vehicle detection system may include two or more detectors and two or more corresponding transceiver devices. Challenge messages may be broadcast by any transceiver devices corresponding to spaces which are adjacent to the space into which a vehicle has been detected entering. Two or more detectors may be connected into a branch. Challenge messages may be broadcast by any transceiver devices corresponding to detectors connected to a single branch.

Thus, the reliability of authenticating an arriving vehicle further improved because two or more transceiver devices broadcast the same challenge messages. Even when broadcasts from a transceiver device are blocked or interfered with by parked or moving vehicles, transmission by two or more transceiver devices increases the probability that at least one transceiver device has a favourable transmission path.

The method may also include, in dependence upon the number of received responses exceeds the first threshold and a fraction of incorrect responses exceeds a third threshold, transmitting a message to the external device indicating that an unauthorised vehicle has entered the space.

The method may also include, in dependence upon a predetermined duration has elapsed and the number of received responses does not exceed the first threshold, transmitting a message to the external device indicating that an unauthorised vehicle has entered the space.

The method may also include, in dependence upon the vehicle is authenticated, one or more transceiver devices broadcast an identity request message. The method may also include, in response to one or more transceiver devices receiving a message including an identity of the vehicle, transmitting the identity of the vehicle to the external device.

Each transceiver device may further include at least one signalling device, each signalling device having two or more output states. The method may further include, in response to authenticating the vehicle, controlling the signalling device(s) of the transceiver device corresponding to the space to switch from a first output state to a second output state.

The first output state may correspond to a first colour. The second output state may correspond to a second colour. The signalling device may emit light. The first output state may correspond to steady illumination of the first colour. The second output state may correspond to steady illumination of the second colour. The second output state may correspond to intermittent illumination of the first or second colours.

The method may also include, in response to transmitting a message to the external device indicating that an unauthorised vehicle has entered the space, controlling the signalling device(s) of the transceiver device corresponding to the space to switch from the first output state to a third output state.

The third output state may correspond to a third colour. The third output state may correspond to steady illumination of the third colour. The third output state may correspond to intermittent illumination of the first, second or third colours.

Each signalling device may include at least one light emitting diode. Each signalling device may be a multi-coloured light emitting diode. Each signalling device may be an electrochromic device or a mechanical device.

Each detector may include at least two spaced-apart magnetic field sensors including first and second magnetic field sensors. Each magnetic field sensor may be configured to provide a time series of instantaneous magnetic field measurements to the processing unit. Detecting a vehicle entering a vehicle parking bay may include receiving a time series of instantaneous magnetic field measurements from each detector. Detecting a vehicle entering a vehicle parking bay may also include storing the time series of instantaneous magnetic field measurements in a table. Detecting a vehicle entering a vehicle parking bay may also include determining presence of a vehicle in each parking bay in dependence upon the magnetic field measurements in the table.

The method may also include storing an occupancy flag corresponding to a space for a vehicle in a second table in response to determining the presence of a vehicle in that space for a vehicle. The presence of a vehicle in each space for a vehicle may be determined in dependence upon the magnetic field measurements corresponding to the respective parking bay and also the magnetic field measurements in each adjacent space for a vehicle which is flagged as occupied in the second table.

According to a sixth aspect of the invention there is provided a non-transitory computer readable storage medium storing a computer program including instructions which, when executed by at least one processing unit, cause the processing unit to perform the method of authenticating a vehicle.

According to a seventh aspect of the invention there is provided a vehicle detection system including one or more detectors, each detector configured to measure magnetic fields in a volume of space at least partially overlapping a corresponding space for a vehicle. The system also includes one or more transceiver devices, each transceiver device corresponding to a detector and arranged proximate to the respective space for a vehicle, each transceiver device including a wireless personal area network module. The system also includes a processing unit configured to communicate with an external device and to determine presence of a vehicle in each space in dependence upon measurements from one or more detectors. The processing unit is also configured, in response to detecting a vehicle entering a space corresponding to a detector, to control one or more transceiver devices to broadcast a plurality of challenge messages according to a schedule. Each challenge message has a corresponding correct response. The processing unit is also configured to control the one or more transceiver devices to broadcast each challenge message before a subsequent challenge message is broadcast. The processing unit is also configured, for each challenge message broadcast, in response to one or more transceiver devices receiving at least one corresponding response message broadcast by a wireless personal area network transceiver in or on the vehicle, to increment a number of received responses and to check whether the response message corresponds to the correct response. The processing unit is also configured, in response to the number of received responses exceeds a first threshold and a fraction of correct responses exceeds a second threshold, to authenticate the vehicle by transmitting a message to the external device indicating that an authorised vehicle has entered the space.

The processing unit may also be configured, in dependence upon a number of received responses exceeds the first threshold and a fraction of incorrect responses exceeds a third threshold, to transmit a message to the external device indicating that an unauthorised vehicle has entered the space.

The processing unit may also be configured, in dependence upon a predetermined duration has elapsed and the number of received responses does not exceed the first threshold, to transmit a message to the external device indicating that an unauthorised vehicle has entered the space.

The processing unit may also be configured, in dependence upon the vehicle is authenticated, to control one or more transceiver devices to broadcast an identity request. The processing unit may also be configured, in response to one or more transceiver devices receiving a message including an identity of the vehicle, to transmit the identity of the vehicle to the external device.

Each transceiver device may also include at least one signalling device, each signalling device having two or more output states. The processing unit may also be configured, in response to authenticating the vehicle, to control the signalling device(s) of the transceiver device corresponding to the space to switch from a first output state to a second output state.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS

The vehicle detection system1is used for detecting the occupancy of bays P1, P2, . . . , P16in a vehicle parking environment. The vehicle detection system1comprises at least one detector2and a processing unit3. Each bay P1, P2, . . . , P16contains a corresponding detector2. The detector(s)2are connected to the processing unit3by a wired network in the form of one or more bus cables4. The detector(s)2connected to a single bus cable4constitute a branch5. Detectors2which are connected in a branch5are connected in a daisy chain configuration by the bus cable4. The bus cable4may comprise one or more data lines (not shown) and one or more power lines (not shown). The data line(s) and power line(s) are contained within cladding or armour (not shown). The detectors2may be connected to the data line(s) and power line(s) in a bus configuration. In this way, if a detector2becomes inoperable, other detectors2in the same branch will not be affected. The detectors2need not be equally spaced along the length of the bus cable4.

The detectors2are disposed underneath the corresponding bays P. For example, a detector2may be emplaced under a bay P, or a detector2may be placed in a slot or trench (not shown). A detector may be sealed in a pipe (not shown) which is emplaced in a slot or trench. A slot or trench containing detectors may be filled in or covered. The detectors2may be placed on the surface of the corresponding bays P and covered by a protective cover (not shown). There are sixteen bays P1, P2, . . . , P16for parking vehicles. The number of detectors2and bays P is not limited to sixteen, and the vehicle detection system1may be extended to include a general number, N, of detectors2, each contained by a respective bay P1, P2, . . . , Pn, . . . , PN, wherein Pndenotes the nthof N vehicle parking bays.

Each detector2is sensitive to a corresponding volume of space S, which is to say that each detector2measures magnetic field(s) which may be influenced by the presence of magnetic materials within the corresponding volume of space S. For example, the nthdetector2is sensitive to a corresponding nthvolume of space Snwhich is focussed on the respective nthbay Pn. The nthdetector2is sensitive to a corresponding nthvolume of space Snwhich encompasses at least part of, for example all of, the volume above the respective nthbay Pn.

Each detector2includes first and second magnetic field sensors6(FIG. 3). The first and second magnetic field sensors are spaced apart by a distance L (FIG. 3). Each of the magnetic field sensors6is configured to provide a time series of instantaneous measurements of magnetic fieldB(t), in which t is the time at which the magnetic field was measured. Each magnetic field sensor provides magnetic field measurements Bx, By, Bzcorresponding to three orthogonal components of the vector magnetic fieldB(t).

When a vehicle7does not occupy a bay Pn, the instantaneous magnetic fieldB(t) measured by the corresponding detector2, which is sensitive to the respective volume of space Sn, represents a baseline magnetic fieldB0arising from the Earths magnetic field and the ambient environment. The baseline magnetic fieldB0may be substantially invariant across a monitored environment, or the baseline magnetic fieldB0may vary with position, i.e.B0(x) in which x is a position vector, depending on the amount and distribution of magnetic material in the ambient environment. The baseline magnetic fieldB0may also vary in time.

When a vehicle7occupies a parking bay Pn, elements of the vehicle7that have high relative magnetic permeability μ/μ0will produce localised distortions of the baseline magnetic fieldB0. As a result, the instantaneous magnetic fieldB(t) measured by the nthdetector2, which is sensitive to the respective volume of space Snfocussed on the parking bay Pn, may deviate from the baselineB0values. Depending on the spatial extent of the magnetic field distortions produced by the vehicle7, the instantaneous magnetic fieldsB(t) measured by detectors2corresponding to nearby/adjacent bays Pp, which are nearby/adjacent to the occupied bay Pn, may also deviate from the baselineB0values.

The processing unit3receives the time series of instantaneous magnetic fieldB(t) measurements from the pair of magnetic field sensors6in each of the detectors2. The processing unit3stores the time series of instantaneous magnetic field measurementsB(t) in a magnetic field history table8(FIG. 5). The processing unit determines the presence or absence of a vehicle7in each bay Pnin dependence upon the magnetic field measurementsB(t) stored in the history table8. The presence or absence of a vehicle7in the nthbay Pnis determined in dependence upon magnetic field measurementsB(t) from the nthdetector and also from nearby/adjacent detectors2.

The detectors2may additionally support wireless personal area network communications (also referred to herein as “WPAN”) protocols such as ZigBee®, Bluetooth® or Z-Wave®, and vehicles7may be fitted with WPAN transceivers (not shown). The processing unit3may include information to enable determination of whether a detected vehicle7includes a recognised WPAN transceiver.

The vehicle detection system1may detect the occupancy of parking bays Pnin a vehicle parking environment which is an open air vehicle park or lot, a vehicle parking structure provided across at least one floor of a building and/or at least one basement level, or in an on-street vehicle parking environment. The vehicle detection system1may detect motor vehicles, such as, for example, motorcycles, automobiles, minibuses, buses, trucks, vans or lorries.

Referring toFIGS. 2 and 3, the detector is generally elongate and each detector includes first and second units9,10. The first and second units9, to are spaced apart and connected by a link member11. The first magnetic field sensor6ais disposed in the first unit9and the second magnetic field sensor6bis disposed in the second unit10. The link member11is flexible. Alternatively, the link member11need not be flexible and may be rigid.

The first and second magnetic field sensors6a,6bare disposed within the first and second units9, to such that the first and second magnetic field sensors6a,6bare separated by a centre-to-centre distance L. The distance L may be at least 15 cm, at least 30 cm, at least 50 cm or at least 1 m. The distance L may be up to 3 m. Preferably, the distance is between about 30 cm and 40 cm, for example, about 35 cm. The first and second units9, to have a diameter d1of approximately 22 mm. The link member11has a diameter d2of approximately to mm. The bus cable4may have the same or similar diameter to the link member11. However, other dimensions d1, d2may be used for the first and second units9,10, the link member11and the bus cable4, depending on the dimensions of the components used to manufacture the detector2.

The detector(s)2are sealed to prevent the ingress of particles such as particles of dirt and/or dust. The detector(s)2are sealed so as to be waterproof. The detectors are encapsulated to the IP-68 certification standard, in which IP stands for Ingress Protection. The IP-68 standard refers to dust tight protection against particle ingress and waterproof to immersion beyond 1 m depth of water.

Referring also toFIG. 4, the detector2includes the first and second magnetic field sensors6a,6b, a controller12and a network interface13connecting the detector to a bus14. The detector may optionally include a WPAN module15.

The second unit10is longer than the first unit9and the second unit10accommodates the controller12, network interface13and optionally the WPAN module15. However, the controller12, network interface13and optionally the WPAN module15may instead be provided in the first unit or distributed between the first and second units9,10.

The controller12receives a first set of instantaneous magnetic field measurementsBa(t) having orthogonal components Bxa(t), Bya(t), Bza(t) from the first magnetic field sensor6a. The controller receives a second set of instantaneous magnetic field measurementsBb(t) having orthogonal components Bxb(t), Byb(t), Bzb(t) from the second magnetic field sensor6b. The first and second magnetic field sensors6a,6bare sensitive to respective first and second sub-volumes of space which intersect by a fraction which depends on the distance L. The volume of space Snto which the nthdetector2is sensitive is a union of the first and second sub-volumes to which the respective first and second magnetic field sensors6a,6bof the nthdetector are sensitive.

The controller12may additionally send and receive challenge/response data to the WPAN module15for exchanging information with a NFC transceiver on a vehicle7to identify the vehicle7. The device2communicates with the processing unit3via the network interface13and a bus14. The bus14is disposed within the bus cable4. The bus cable4and the interface with the detector2are encapsulated to the IP-68 certification standard.

Upon receiving a request from the processing unit3, the detector2sends the first and second sets of magnetic field measurementsBa(t) andBb(t) to the processing unit3. The controller12is a microcontroller in the form of an ATMEL ATmega328P incorporating an Arduino® Bootloader microcontroller. However, the controller12may alternatively be provided by any other suitable microcontroller.

The magnetic field sensors6are anisotropic magnetoresistance sensors. Each magnetic field sensor6is a three-axis sensor providing instantaneous magnetic field measurementsB(t) with three mutually orthogonal components Bx(t), By(t), Bz(t). The first and second magnetic field sensors6a,6btake the form of Honeywell HMC5883L magnetic field 3D sensors, which have a resolution of 2×10−7 T and a magnetic field range of ±8×10−4 T. The Honeywell HMC5883L magnetic field 3D sensors can provide measurements at a maximum output rate of 160 Hz, using a 12-bit ADC.

The controller12may create and update a local cache (not shown) in local memory (not shown) to store a number of recent values of the six components of the magnetic field measurementsBa(t),Bb(t). The local cache may be updated at a frequency up to the maximum measurement frequency of the magnetic field sensors6, and may store recent values covering128sampling intervals. For example, with sampling every 0.3 milliseconds, a previous time interval of 38.4 milliseconds may be stored. The local cache may be updated at up to 160 Hz. The controller12may use the detector history table to filter out electromagnetic noise components having a noise frequency higher than 25 Hz and less than half of the maximum measurement frequency. The controller12may filter out electromagnetic noise components having frequencies between 25 and 80 Hz.

The WPAN module15includes an antenna capable of bi-directional communication with an WPAN transceiver (not shown) which may be attached to a vehicle7. The WPAN module15has a transmission power allowing communication with a transceiver up to 5 m away. The WPAN module is according to the Zigbee® standard.

When the processing unit3determines that a vehicle7has entered the bay Pncorresponding to a detector2, the processing unit3may send challenge message data (not shown) for transmission by the WPAN module15. The controller12receives the challenge message data and directs the WPAN module15to transmit a challenge message (not shown). The detector2waits to receive a response message (not shown), and any response message data (not shown) received by the WPAN module15is relayed to the processing unit3. The communication protocol employed by the WPAN module15may be encrypted using conventional or application specific algorithms. The WPAN module15may communicate with WPAN transceivers which are external tokens employing Zigbee®, smartphones using Zigbee®, smartphones having Zigbee®-WiFi dongles or other similar devices.

The network interface13connects the controller12to the bus14. The network interface13need not be a separate module to the controller12, and may alternatively be integrated into the controller12. The network interface13may take the form of a Maxim MAX3440EESA+ Transmitter/Receiver RS-485 for interfacing with the RS-484 bus14. The Maxim MAX3440EESA+ Transmitter/Receiver RS-485 has a single supply voltage in the range 4.75 to 5.25 V and a data rate of 0.25 Mbits/s. The bus14is an RS-485 bus with a four-wire cable including two wires used for supplying power and two wires for data signalling.

One or more detectors2are arranged in a daisy chain configuration along bus cable4and connected in a bus configuration via the bus14to form a branch5. The detectors are connected in parallel to the two data wires and the two power wires. The branch5, including the one or more detectors2and the interconnecting bus cables4, is encapsulated to help protect the interconnections from ingress of particles or fluids.

Bus cable4and detectors2have connectors (not shown) which may be reversibly coupled to form a connection encapsulated to the IP-68 certification standard. In this way, the overall branch5is encapsulated to the same IP-68 certification standard as the devices. The branch5may be inserted into a pipe (not shown) which is subsequently sealed. Inserting the branch5into a pipe may help to protect the branch5, especially when the branch5is installed in a trench without back-filling the trench. For example, a pipe may prevent or reduce movement of a branch5due to, for example, flooding or subsidence.

Although the detectors include first and second sensors6a,6bwhich measure respective mutually orthogonal components of magnetic field Bx(t), By(t), Bz(t), the measurement axes of the first and second magnetic field sensors6a,6bneed not be aligned with each other and, in general, will not be aligned. The measurement axes of any detector2need not be aligned with those of any other detectors2in the same branch5, or in any other branches5.

The bus14need not be an RS-485 bus and other types of bus may be used instead. Alternatively, separate cables may provide power and Ethernet, Firewire or similar cables may be used for data transmission. Where separate power cables are used, the network interface13may connect the detectors2to the processing device using wireless communications such as, for example IEEE 802.11 or similar.

Up to fifty detectors2may be provided in a single branch5, with a bus cable4length of up to 800 metres. However, larger numbers of detectors may be supported by a single branch5when data cables with a higher bandwidth are used. Total length of a bus cable4may be extended by using, for example, larger voltages, lower impedance cables or repeaters (not shown) spaced along the length of the bus cable4.

Referring toFIG. 5, the processing unit3includes a processor16, memory17, an external network interface18, one or more bus network interfaces19and a power supply20.

The external network interface18connects the processing unit3to local networks or the internet, using wired or wireless connections. A server (not shown) may execute a client (not shown) which communicates with one or more processing units3via a local network or the internet. In this way several processing units3, each corresponding to a different section or area of a parking environment, may be monitored or controlled by an operative. In this way geographically separated or distributed parking environments may be monitored by an operative. Additionally or alternatively, users or prospective users of a parking environment may execute a client, for example on a mobile device, which may inform them of the availability of vehicle parking bays.

Each bus network interface19communicates with a bus14which connects to a branch5including one or more detectors2. The processor16sends requests addressed to specific detectors2belonging to the branch5, and receives the requested magnetic field measurementsBa(t),Bb(t) via the bus network interface19. The bus network interface19may include a conversion stage between the RS-485 bus on the branch5side and a different type of bus on the processor16side, such as, for example, USB. The bus network interface may take the form of a Maxim MAX3440EESA+ Transmitter/Receiver RS-485.

The processing unit3includes M bus network interfaces19(where M is a positive non-zero integer) communicating with a corresponding number M of branches5. The processing unit3supports up to sixteen branches such that M≦16. However, the processing unit3may support a larger or smaller number of branches, depending on the capabilities of the processor16and memory17used.

The power supply20receives power from an external power source21and supplies it to the processing unit3. The power supply20powers the processor16, the external network interface18and the bus network interfaces19. The bus network interfaces19supply power to the individual detectors2via the buses14. The power source21may be a mains electrical supply, or it may be a local source such as, for example, a photovoltaic panel (not shown) or similar energy harvesting device.

The processing unit3may optionally include energy storage22, for example, a secondary battery such as a storage or rechargeable battery. The energy storage22may provide backup power to the power supply20when the power source21is mains or grid electricity. Alternatively, when the power source21is an energy harvesting device, the power supply20may store energy in the energy storage22when the power source21is providing surplus power, for example during the day, so that the energy storage22may power the processing unit3when the power source does not provide power, for example at night.

The memory17stores the history table8, application software23for the processing unit3, a baseline table24, an occupancy table25, a dependency table26, and a correction table27. When the detectors2include a WPAN module15, the memory17additionally includes a transceiver identity table28. Any additional variables, arrays, data structures, data pages or data objects described herein in relation to methods of detecting vehicles7may, unless otherwise described, be assumed to be created by the processor16and stored in or retrieved from the memory17as required.

The transceiver identity table28includes a list of challenge/response message data items (not shown). When the processing unit3determines that a vehicle7has entered a bay Pncontaining a detector2, the processing unit3sends challenge message data (not shown) to the detector2for transmission by the WPAN module15. The detector2waits to receive a response message (not shown), and any response message data (not shown) received by the WPAN module15is sent to the processing unit3. If no response message data is received within a configurable elapsed time period, or if the response message data does not match a correct response stored in the transceiver identity table28, then an alarm flag (not shown) is set on the processing unit3. The alarm flag may be communicated or reported to an operative monitoring the vehicle detection system1via the external network interface18and a local network or the internet.

The challenge/response message data items stored in the transceiver identity table28can be user specific and may be created, delivered and/or monitored by an operative via the external network interface18and local networks or the internet. For example, the challenge message data may simply be a request for an identity string (not shown) and specific identity strings may be assigned to specific vehicles7operated by authorised users. In such a case, the transceiver identity table may store a list of the identity strings which are authorised for each bay Pn, or for a group of bays Pj, . . . , Pk, in which j, k are integers less than the total number N of bays Pn/detectors2. For example, the vehicles7registered to employees of company A may be authorised to park in any bay from Pj, . . . , Pk, whereas other vehicles7may not be authorised. A set of allowed bays Pnfor a specific identity string need not be consecutively numbered.

Referring also toFIGS. 6 and 7, the history table8stores a time history for the six magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) corresponding to the pair of magnetic fields sensors6a,6bfor each individual detector2. The processing unit3receives magnetic field measurementsBa(t),Bb(t) from all M branches5independently and simultaneously, and updates the history table8with the most recently received values. Each branch5reports magnetic field measurementsBa(t),Bb(t) at a maximum rate of 75 Hz/Nm, in which Nmis the total number of detectors2inside the mthbranch5out of M branches5in total. The overall update rate of the history table8is determined according to the largest number of detectors Nmin a single branch5. It is preferable for the numbers of detectors2connected in each branch5to be balanced in order to maximise the refresh rate for a given total number N of detectors2.

The history table8includes a data structure29also referred to herein as recent(τ,n,i), in which r is an integer index which runs 1≦τ≦T such that τ=T corresponds to the most recent measurementsBa(t),Bb(t) and τ=1 corresponds to the furthest point in the past for which measurementsBa(t),Bb(t) are stored, in which n is an integer index which runs 1≦n≦N such that n refers to the nthdetector2out of N detectors in total, in which i is an integer index such that i=1 corresponds to Bxa(t), i=2 corresponds to Bya(t), i=3 corresponds to Bza(t) and 4≦i≦6 corresponds to Bxb(t), Byb(t) and Bzb(t) respectively. In this case, T=128 and one detector2corresponds to each of N vehicle bays Pn. Alternatively, the history table8may store magnetic field measurementsBa(t),Bb(t) corresponding to more or fewer than T=128 different time intervals, limited only by the available capacity of the memory17.

The data structure29recent(τ,n,i) includes a number, N, of page objects30. Each page object30stores the magnetic field measurementsBa(t),Bb(t) received from the nthdetector2, for all time intervals and all field components, i.e. for 1≦τ≦T and 1≦i≦6. Each page object30includes a number, T, of data objects31. Each data object31stores the magnetic field measurementsBa(t),Bb(t) received from the nthdetector2at the (T−τ)thtime interval before the most recent measurement. Each data object31includes the six individual measured magnetic field values Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) measured by the nthdetector2at the (T−τ)thtime interval.

For example, if measurementsBa(t),Bb(t) are reported at intervals of6tand the most recent measurements occurred at a time t=tT, then recent(τ,n,i) stores the values corresponding to t=tT−δt.(T−τ). The sequential reporting of magnetic field measurementsBa(t),Bb(t) from the detectors2within the mthbranch5means that the same r value may correspond to slightly different (shifted) actual measurement times in each of the respective data objects31for the mthbranch.

Referring also toFIGS. 8A to 8C, the procedure for updating a page object30of the data structure29recent(τ,n,i) to include a data object31storing the most recently received measured magnetic field valuesBa(t),Bb(t) is illustrated. Until the updating procedure is completed, reference will be made to the r index values of data objects31prior to the updating procedure.

Referring toFIG. 8A, the processing unit3receives magnetic field measurementsBa(t),Bb(t) from each of N detectors2. The processing unit3creates a new data object31, recent(T+1,n,i) for the nthdetector2, to store most recently measured magnetic field values Bxa(t), Bya(t), Bxa(t), Bxb(t), Byb(t), Bzb(t) measured by the nthdetector2. The processing unit3increments each existing data object31stored on the page object30corresponding to the nthdetector to a lower value of the index τ. For example, the processing unit3overwrites the oldest stored data object31, recent(1,n,i) with the second oldest data object31, recent(2,n,i), i.e. the τ=2 entry is shifted to the τ=1 position. The processing unit3also overwrites recent(2,n,i) with recent(3,n,i), the processing unit overwrites recent(3,n,i) with recent(4,n, i), and continues in this way until recent(T−1,n,i) has been overwritten by recent(T,n,i).

Referring toFIG. 8B, the page object30corresponding to the nthdetector has the data object recent(2,n,i) corresponding to the index τ=1, the data object recent(3,n,i) corresponding to τ=2 and so on until the indexed τ=T and τ=T−1 both correspond to the same data object recent(T,n,i). The data object31storing the most recent magnetic field measurementsBa(t),Bb(t) from the nthdetector2, recent(T+1,n,i), is written to the τ=T index position.

Referring toFIG. 8C, the page object30corresponding to the nthdetector has been updated so that each data object31has been incremented by an amount corresponding to one time interval between obtaining magnetic field measurementsBa(t),Bb(t). Each time the processing unit3receives new magnetic field measurementsBa(t),Bb(t), the page object30corresponding to each of the N detectors2is updated in this way, such that the history table8always holds the most recent magnetic field measurementsBa(t),Bb(t) and T−1 prior measurements for each detector2.

Referring again toFIG. 5, the baseline table24stores a data structure referred to herein as ref(n,i), which is an array with N rows and 6 columns, in which n and i are integer indexes defined in the same way as for the data structure recent(τ,n,i). The nthrow of ref(n,i) stores the six individual measured magnetic field components Bxa0, Bya0, Bza0, Bxb0, Byb0, Bzb0of the baseline fieldB0measured by the nthdetector2when there are no vehicles7present in the nthbay Pnor in any other bay Ppwhich is at least partially encompassed by the volume of space Snto which the nthdetector2is sensitive. For example, when no vehicles7are present in the nthbay Pnor any other bays Ppwhich are neighbouring/adjacent or otherwise coupled to the nthbay Pn, as described hereinafter in relation to the dependency table26. The six individual measured magnetic field components Bxa0, Bya0, Bza0, Bxb0, Byb0, Bzb0of the baseline fieldB0measured by the nthdetector2and stored in the array ref(n,i) will generally be different for each sensor6of each detector2, even when the baseline fieldB0itself is substantially invariant with position. This is because the detection axes of the sensors6and detectors2need not be aligned with one another and, in general, are not aligned with one another.

The values stored by the baseline table24in the data structure ref(n,i) may be measured at times when the parking environment is empty, for example, when the parking environment is closed. The values stored by the baseline table24may be periodically updated during use of the vehicle detection system1, for example, by measuring magnetic field values from the nthdetector2when there are no vehicles7present in the nthbay Pnor in any other bay Ppwhich is neighbouring/adjacent or otherwise coupled to the nthbay Pn, as described hereinafter in relation to the dependency table26.

The occupancy table25stores a data structure referred to herein as occupy(n), which is an array with N entries, in which n is an integer index defined in the same way as for the data structure recent(τ,n,i). The nthentry of occupy stores the occupancy state of the nthbay Pnsuch that occupy(n)=0 if the nthbay Pnis unoccupied and occupy(n)=1 if the nthbay Pnis occupied.

The dependency table26stores a data structure referred to herein as depend(n,p), which is an array with N rows and N columns, in which n is an integer index defined in the same way as for the data structure recent(τ,n,i) and in which p is an integer index which runs 1≦p≦N, such that n and p refer to the nthand pthdetectors2and bays Pn, P, respectively. If the nthbay Pnis sufficiently close to the pthbay Ppthat when a vehicle is parked in the nthbay Pnthe magnetic fields in the pthbay Ppwill measurably deviate from the baseline fieldB0, and vice versa, then depend(n,p)=1 and also depend(p,n)=1. The entries depend(n,n)=0 along the array diagonal. When the nthand pthbays Pn, P, interact in this way, they may also be referred to herein as “coupled”. Another way to describe such coupling is that if the nthbay Pnis sufficiently close to a pthbay Ppthat the volume of space Snto which the nthdetector is sensitive at least partially encompasses the pthbay Pp, then the nthand pthbays Pn, Ppare coupled.

Referring toFIG. 9A, the data structure depend(n,p) for the bays P1, P2, . . . , P16is illustrated for the example shown inFIG. 1in a case where only bays Pnwhich are directly adjacent (nearest neighbours) are coupled and those which are diagonally adjacent (next nearest neighbours) are not coupled.

Referring toFIG. 9B, the data structure depend(n,p) for the bays P1, P2, . . . , P16is illustrated for the example shown inFIG. 1in a case where diagonally adjacent bays Pn(next nearest neighbours) are coupled in addition to directly adjacent bays Pn(nearest neighbours).

Coupling between nthand pthbays Pn, Ppneed not be limited to nearest neighbour or next nearest neighbour bays Pp. For example, any pair of bays Pn, Ppmay be coupled to one another in the event that a vehicle parked in one would produce a measurable deviation of the measured magnetic field valuesBa(t),Bb(t) away fromB0at the detector2corresponding to the other. In other words, if the volume of space Snto which the nthdetector2is sensitive at least partially encompasses the pthbay Pp, then the nthand pthbays Pn, Ppmay be coupled.

Referring toFIG. 5, the correction table27stores a data structure referred to herein as correct(p,n,i), in which n and p are both integer indexes defined in the same way as for the data structure depend(n,p) and i is an integer index defined in the same way as for the data structure recent(τ,n,i). The entry of the data structure correct (p,n,i) corresponding to the nthand pthbays Pn, Pponly holds non-zero values if the corresponding entry of the data structure depend(n,p) is equal to one. The entry of the data structure correct(p,n,i) stores six individual magnetic field correction values δBxa, δBya, δBza, δBxb, δByb, δBzbfor adjusting the baseline values Bxa0, Bya0, Bza0, Bxb0, Byb0, Bzb0stored by ref(n,i) for the nthdetector2in the case that the pthbay Ppis occupied by a vehicle7.

Referring also toFIG. 10A, a bay Pnand an adjacent bay Ppare both unoccupied and are delimited by parking bay markings32. An nthdetector2is disposed under the nthbay and is sensitive to an nthvolume of space Sn. A pthdetector2is disposed under the pthbay and is sensitive to a pthvolume of space Sp. The nthand pthdetectors2are consecutively connected as part of the same branch5. However, a pair of coupled bays Pn, Ppneed not correspond to consecutive detectors2on the same branch5. It should be understood that the pthbay Ppmay be any bay Ppwhich is coupled to the nthbay Pnsuch that depend(p,n)=1 and depend(n,p)=1. The detectors2are disposed beneath the respective bays Pn, Ppby emplacing the detectors2underneath the floor of the parking bays Pn, Pp.

In the absence of any nearby vehicles7, the first and second magnetic field sensors6a,6bof the nthand pthdetectors2measure the baseline magnetic fieldB0. The baseline magnetic fieldB0arises from the Earth's magnetic field, potentially modified by any magnetic materials present in the ambient environment. For example, steel girders in a building structure. The baseline magnetic fieldB0is shown as being substantially invariant with position. However, in some parking environments the baseline magnetic fieldB0in the absence of any vehicles may vary between or even within adjacent bays Pn, Ppdue to ambient magnetic materials, i.e. the baseline magnetic field may be position dependentB0(x).

Referring also toFIG. 10B, when a vehicle7occupies the nthbay Pn, elements of the vehicle7having high relative magnetic permeability μ/μ0will distort the baseline magnetic fieldB0, such that the instantaneous magnetic fieldsBa(t),Bb(t) measured by the nthdetector2, and by coupled detectors2such as the pthdetector2, will deviate from the baseline fieldB0. In particular, steel components of the vehicle7may act as magnetic conductors, causing a focussing of the Earth's magnetic field lines below the steel components7and a relative weakening to either side. The precise pattern of distortions to the magnetic field observed will depend on the quantity and distribution of magnetic materials in a vehicle7.

As a result of the vehicle7distorting the magnetic fieldB, the first and second magnetic field sensors6a,6bof the nthdetector2measure first and second magnetic field differences35,36respectively. The first magnetic field sensor6aof the pthdetector2also measures a third magnetic field difference37, and the second magnetic field sensor6bof the pthdetector2does not measure a substantial deviation from the baseline magnetic fieldB0. However, depending on the quantity and distribution of magnetic materials in the vehicle7, the second magnetic field sensor6bof the pthdetector2may measure a fourth deviation (not shown).

The first and second magnetic field differences35,36may be used by the processing unit3to determine that the nthbay Pnis occupied. The third37and fourth magnetic field differences are stored to the correction table27in the data object correct(n,p,i) as δBxaand δBxb(as entries correct(n,p,1) and correct(n,p,4)) respectively. Similar magnetic field differences are stored to the data object correct(n,p,i) as δBya, δBza, δByb, δBzb. If a further vehicle7subsequently enters the pthbay Pp, the presence of that further vehicle7may be detected in dependence upon the deviation of the measured magnetic field values Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) from a corrected baseline provided by summing the magnetic field difference values δBxa, δBya, δBza, δBxb, δByb, δBzbstored in correct(n,p,i) and the baseline values Bxa0, Bya0, Bza0, Bxb0, Byb0, Bzb0stored in ref(n+1,i).

Referring toFIGS. 5 and 11, a first method of detecting vehicles7using a vehicle detection system1will now be described.

At start up, the processing unit3receives magnetic field measurementsBa(t),Bb(t) from all N detectors2until the history table8is fully populated with the T most recently received values (step S1). The processing unit3has a defined time period stored by a variable referred to herein as stdSize. In this case, stdSize=1 s. However, other time periods may be set, such as, for example, 2 s or up to 10 s. The number T of previous time periods stored should be large enough to span at least 10×stdSize seconds.

The processing unit3initialises an array referred to herein as stdCalm(n), which is an array with N entries, in which n is an integer index defined in the same way as for the data structure recent(τ,n,i). The nthentry of stdCalm(n) stores the standard deviation of the measured magnetic field values Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) from the nthdetector across the 10×stdSize seconds after start up. The nthentry of stdCalm(n) is calculated across all six individual measured magnetic field values Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t), such that stdCalm(n) is not specific to any axis (1≦i≦6) or the first or second magnetic field sensors6a,6bof the nthdetector2.

After start up, the processing unit3begins monitoring for vehicles7. The processing unit3addresses each detector2in turn to request measurements, and each detector2sends magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) to the processing unit3(step S2). The processing unit3receives magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) from M branches5independently and simultaneously. Each branch5reports magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) at a maximum rate of 75 Hz/Nm, in which Nmis the number of detectors2included in the mthbranch5out of M branches5in total. The overall update rate of the history table is determined according to the largest number of detectors Nmin a single branch.

The processing unit3stores the most recently received magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) to the history table8. For each page30, corresponding to each of N detectors2, the processing unit3increments the previously stored measurements in the data structure29recent(τ,n,i) by one, overwriting the τ=1 data object31corresponding to the oldest measurements with the τ=2 data object31, and writing a data object31storing the most recent magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) to the τ=T position (step S3).

The processing unit3determines the presence or absence of a vehicle7in the volume of space Snto which each detector2is sensitive in dependence upon the magnetic field measurements in the history table8(step S4). The processing unit3may be configured to determine the presence of a vehicle in each volume in dependence upon the magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) from detectors2corresponding to two or more bays Pn.

The processing unit3determines the presence of absence of a vehicle7in the volume of space Snto which each detector2is sensitive in dependence upon an N by 6 array referred to herein as signalExt(n,i), which is defined as:

in which n and i are integer indexes defined in the same way as for the data structure recent(τ,n,i) and in which T refers to τ=T such that signal(n,i) is based upon the most recently received magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t), in which p is an integer index which runs 1≦p≦N such that p refers to the pthdetector2out of N detectors in total.

Based upon signalExt(n,i), an array with N entries referred to herein as signal(n) is defined according to:

in which n and i are integer indexes defined in the same way as for the data structure recent(T,n,i). During an iteration, if the value of signal(n) exceeds a threshold stored by a variable referred to herein as thresh, the corresponding volume of space Snis flagged as occupied, i.e. occupy(n)=1. The same threshold thresh may be applied to each of N detectors2. Alternatively, thresh may be an array with N entries such that thresh(n) may be applied to the nthof N detectors2. In such a case, the threshold thresh(n) is specific to each detector, and may be defined as:

in which n is an integer index defined in the same way as for the data structure recent(T,n,i).

By using the data structures depend(n,p) and correct(p,n,i) to include the effects of coupling and distortions of magnetic field resulting from vehicles7occupying adjacent bays Pn, the vehicle detection system1can perform more reliably when magnetic field sensors6are used to monitor parking bays Pnwhich are densely packed such that the corresponding volumes of space Snto which a detector2is sensitive at least partially encompass one or more adjacent bays Pp.

The occupancy of a given bay Ppis not altered if a neighbouring/adjacent bay Pncoupled to that bay Ppby the data structure depend(n,p) has a larger value of signal(n) than the given bay Ppduring the current monitoring iteration, i.e. if signal(n)>signal(p). Instead, only the neighbouring/adjacent bay Pnhaving the larger value of signal(n) will be flagged as occupied. In this way, other bays Ppwhich are coupled to an occupied bay Pnby the data structure depend(n,p) are prevented from being erroneously flagged as occupied during a monitoring iteration in which the bay Pnbecome occupied.

When the occupancy of a bay Pnis altered, the correction values stored in the data structure correct(p,n,i) are updated for every other bay Ppwhich is flagged as coupled to the bay Pnin the data structure depend(n,p). When a bay becomes occupied, the correction values correct(p,n,i) are updated for each other bay Ppwhich is flagged as coupled to the bay Pnin the data structure depend(n,p), using the field differences measured at that coupled bay Pp, i.e. the signalExt(p,i) values. When a bay Pnbecomes unoccupied, the corresponding correction values correct(p,n,i) are set to zero for every other bay Ppwhich is flagged as coupled to the bay Pnin the data structure depend(n,p).

As a result, when a vehicle7enters a bay Pn, the updating of the correction values correct(p,n,i) prevents any coupled bays Ppfrom being incorrectly flagged as occupied during subsequent monitoring iterations. In this way, the precise magnitudes of the corrections applied to the other bays Ppwhich are coupled to an occupied bay Pnare updated to reflect the magnitude of the distortion caused by the vehicle7occupying the bay Pn.

In this way, the vehicle detection system1can accurately correct for the effects on a coupled bay Ppwhen a bay Pnis occupied by a large vehicle such as, for example, a coach, bus, mini-bus, sports utility vehicle (SUV), pickup truck, truck, lorry or van, or when a bay Pnis occupied by a small vehicle such as, for example, a small hatchback, ultra-compact car, city car, super-mini car or a micro car.

Equations 1 and 2 above define the arrays signalExt(n,i) and signal(n) on the basis of the most recently received magnetic field values. However, the processing unit3may alternatively determine the presence or absence of a vehicle7in the bay Pncorresponding to the nthdetector2in dependence upon the mean of the array signal(n) taken across two or more consecutive points in the time series stored in the history table. For example, the processing unit3may alternatively determine the presence or absence of a vehicle in the bay Pncorresponding to each detector2in dependence upon a data structure referred to herein as avg(T0,n,i) and defined as:

in which r, n and i are integer indexes defined in the same way as for the data structure recent(τ,n,i), T0is an integer such that 1≦T0≦T−1. The data structure avg(T0,n,i) is an N by 6 array parameterised by T0. In such a case, the array signal(n) may be alternatively defined by substituting the data structure avg(T0,n,i) for the array signalExt(n,i).

Determining the presence or absence of a vehicle7based upon the data structure avg(T0,n,i) defined with respect to two or more consecutive time points may help to reduce the incidence of false detections caused by electromagnetic noise.

Optionally, when the processing unit3determines that a vehicle has entered a bay Pn, the processing unit3may send challenge message data (not shown) to the corresponding detector2for transmission by an WPAN module15(step S5). The detector2waits to receive a response message (not shown), and any response message data (not shown) captured by the NFC module15is relayed to the processing unit3. If no response message data is received within a configurable elapsed time period, or if the response data does not match the correct response stored in the transceiver identity table28, then an alarm flag (not shown) is set on the processing unit3.

The processing unit3checks whether to continue monitoring for vehicles (step S6). By default, the processing unit3continues monitoring by addressing each detector2in turn to request measurements, and each detector2sends the first and second sets of magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) to the processing unit3(Step S1). However, the processing unit3may stop monitoring in response to, for example, a command from a monitoring operative, or in order to save power during hours when a parking environment is closed or is not controlled.

Referring toFIGS. 5, 11 and 12, a second method of detecting vehicles7using a vehicle detection system1will now be described.

The second method is the same as the first method, except that the determining the presence of a vehicle7in a volume of space is additionally based on the detection of events which correspond to occurrences such as vehicles arriving into or departing from a volume of space.

The processing unit3populates the history table (step S1), receives (step S2) and stores (step S3) magnetic field measurements Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) in substantially the same way as the first method.

The processing unit3determines whether a local event has commenced at each of the N detectors (step S4-1). The processing unit calculates an array referred to herein as signalStd(n), which is an array with N entries, in which n is an integer index defined in the same way as for the data structure recent(τ,n,i). The nthentry of signalStd(n) stores the standard deviation of the measured magnetic field values Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) from the nthdetector across the previous 10×stdSize seconds. In the same way as stdCalm(n), signalStd(n) is not specific to any axis (1≦i≦6) or the first or second magnetic field sensors6a,6bof the nthdetector2, that is to say that the signalStd(n) values are averaged across all six axes of the pair of sensors6a,6b.

The values of signalStd(n), which are calculated using values spanning 10×stdSize seconds, may be significantly larger than the difference in signal before/after the vehicle7has finished parking in a bay Pn. This is because signalStd(n) values incorporate the effect of measured magnetic field values collected when the vehicle7is moving on top of the sensor, which typically includes the maximum deviations. Using values of signalStd(n) to determine local events reduces the possibility failing to detect a vehicle7.

When a local event is initialised, a flag is set in an array referred to herein as inEvent(n), which stores inEvent(n)=0 when the nthdetector is not in a local event and inevent(n)=1 when the nthdetector is in a local event. A local event is not initialised for the nthdetector during an iteration if it is already in a local event, i.e. when inevent(n)=1.

A local event is initialised for the nthdetector2if signalStd(n) exceeds 3×stdcalm. If the nthdetector2is coupled to the pthdetector2according to the data structure depend(n,p), then initialising a local event for the nthdetector is cancelled if signalStd(p) exceeds signalStd(n). When a local event is initialised, the processing unit3stores the value of signalExt(n,i) calculated according to Equation 1 to an array referred to herein as eventStart(n,i), in which n and i are integer indexes defined in the same way as for the data structure recent(τ,n,i). The values of signalExt(p,i) are also calculated and stored to eventStart(p,i) for every pthdetector which is coupled to the nthdetector according to the data structure depend(n,p). A separate instance of eventStart(n,i) is created for each local event. Alternatively, eventStart(n,i) may store values of avg(T0,n,i) calculated according to Equation 4 above.

The processing unit3determines whether a local event has terminated at each of the N detectors, based upon the value of signalStd(n) (step S4-2). If inEvent(n)=1 and signalStd(n) is less than 3×stdcalm then a local event is terminated. When a local event is terminated, the processing unit3stores the value of signalExt(n,i) calculated according to Equation 1 to an array referred to herein as eventEnd(n,i), in which n and i are integer indexes defined in the same way as for the data structure recent(τ,n,i). The values of signalExt(p,i) are also calculated and stored to eventEnd(p,i) for every pthdetector which is coupled to the nthdetector according to the data structure depend(n,p). Alternatively, eventEnd(n,i) may store values of avg(T0,n,i) calculated according to Equation 4 above.

When a local event corresponding to the nthdetector is closed, the processing unit determines whether the occupancy of the respective bay Pnhas changed based on the values stored in an array referred to herein as eventDiff(n), defined as:

in which n and i are integer indexes defined in the same way as for the data structure recent(τ,n,i). The array eventDiff(n) has N entries. The nthentry of eventDiff(n) stores a measure of the change in measured magnetic field values Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) between the start and end of an event. A second array with N entries, referred to herein as eventCompare(n) is defined as:

in which n and i are integer indexes defined in the same way as for the data structure recent(τ,n,i), Tendis the value of the index τ corresponding to the iteration in which the event was closed, which will by Tend=T and Tstartis the value of the index τ corresponding to the iteration in which the event was opened, which will be Tstart<T. The nthentry of eventDiff(n) stores the overall difference in the measured magnetic field values Bxa(t), Bya(t), Bza(t), Bxb(t), Byb(t), Bzb(t) between the start and end of an event. Alternatively, where eventStart(n,i) and eventEnd(n,i) are based upon avg(T0,n,i), eventCompare(n) may be calculated based on averaging the values recent(Tend,n,i) to recent(Tend−T0,n,i) and averaging the values recent(Tstart,n,i) to recent(Tstart−T0,n,i).

Whether there is a change of occupancy for the nthbay Pnis determined based upon the ratio of eventDiff(n)/eventCompare(n). The ratio of eventDiff(n)/eventCompare(n) is a number between −1 and 1. If the nthbay Pnis flagged as occupied, occupy(n)=1, and the ratio of eventDiff(n)/eventCompare(n) is less than −0.8, then the occupancy for the nthbay Pnis changed to unoccupied, occupy(n)=0. If the nthbay Pnis flagged as unoccupied, occupy(n)=10, and the ratio of eventDiff(n)/eventCompare(n) is greater than 0.8, then the occupancy for the nthbay Pnis changed to occupied, occupy(n)=1.

When the occupancy of the nthbay Pnis changed to occupied, the corresponding correction values stored in the data structure correct(p,n,i) for each pthdetector which is coupled to the nthdetector by the data structure depend(n,p) are updated based on the differences event.end(p,i)−event.start(p,i). When the occupancy of the nthbay Pnis changed to unoccupied, the corresponding correction values stored in the data structure correct(p,n,i) for each pthdetector which is coupled to the nthdetector by the data structure depend(n,p) are set to zero. The processing unit3may wait until there are no active local events corresponding to any of the nthbay and every pthbay coupled to the nthbay before updating the respective values stored in the data structure correct(p,n,i).

The termination of a local event need not be determined based upon the value of signalStd(n). Instead, the history table8may additionally include a data structure recentStd(τ,n), in which T and n are integer indexes defined as for recent(τ,n,i). In such a case, the termination of a local event may be based upon the values stored in recentStd(τ,n) having been less than 3×stdCalm for a period of time such as, for example, stdSize seconds, or 3×stdSize seconds, or 5×stdSize seconds or longer.

Optionally, the processing unit3may perform a policing check when there are no local events active (i.e. inEvent(n)=0 for 1≦n≦N) (step S4-3). For example, the processing unit3may store an array referred to herein as policeUp(n) which is an array having N entries. If the nthbay Pnis unoccupied, i.e. occupy(n)=0, then if signal(n) exceeds thresh(n) during an iteration in which signalStd(n) is less than stdCalm(n), the corresponding value of policeUp(n) is increased by one. If any of these conditions are not satisfied on a subsequent iteration, then the value of policeUp(n) is reset to zero. If the value of policeUp(n) exceeds a predetermined number, for example 20, then the occupancy of the nthbay Pnis changed to occupied.

Similarly, the processing unit3may store an array referred to herein as policeDown(n) which is an array having N entries. If the nthbay Pnis occupied, i.e. occupy(n)=1, then if signal(n) does not exceed thresh(n) during an iteration in which signalStd(n) is less than stdcalm(n), the corresponding value of policeDown(n) is increased by one. If any of these conditions are not satisfied on a subsequent iteration, then the value of policeDown(n) is reset to zero. If the value of policeDown(n) exceeds a predetermined number, for example 20, then the occupancy of the nthbay Pnis changed to unoccupied.

In this way, even where an event of a vehicle arriving or leaving a bay Pnis missed or not captured at the time, the vehicle detection system1can subsequently correct the problem to maintain the accuracy of the monitoring.

Traffic Monitoring System

Referring toFIG. 13, the vehicle detections system1may be used to monitor the volume and speed of traffic on a road. The road has four lanes, L1, L2, L3and L4and detectors2are sensitive to volumes of space which encompass at least part of, for example all of, the lanes L1, L2, L3, L4. Detectors2are connected in series to form four branches5, m=1, m=2, m=3 and m=4. Each branch5includes one detector2corresponding to each of the four lanes L1, L2, L3, L4, and the detectors2belonging to the different branches5are spread out along each lane L1, L2, L3, L4.

Alternatively, more or fewer lanes L may contain detectors2. Branches5need not be connected so as to span the lanes L, and may alternatively be connected in series such that several detectors2corresponding to a single lane L are connected in the same branch5.

When used for traffic monitoring, the vehicle detection system1has the same processing unit3and detectors2as are used to monitor a parking environment. The operation of the processing unit3is substantially the same as when the vehicle detection system monitors a parking environment, except that the processing unit does not determine whether parking bays P are occupied based upon the magnetic field measurements stored in the history table8by the data structure recent(T,n,i). Instead, the processing unit3determines the speeds of vehicles based on the magnetic field measurements stored in the history table8by the data structure recent(T,n,i). The data structure recent(τ,n,i) is used to calculate the array signalStd(n) in the same way as for the vehicle parking system. However, in the case of a traffic monitoring system, the total number of detectors may be lower and the refresh rate of the history table8may be higher than for a vehicle parking system.

The processing unit3determines that a vehicle7has arrived at the nthdetector2when the corresponding value of signalStd(n) exceeds 3×stdCalm(n). The processing unit3determines that a vehicle7has departed from the nthdetector2when the corresponding value of signalStd(n) drops back below 3×stdCalm(n). The processing unit3may determine the delay between the vehicle7arriving/departing from successive detectors2in the direction of travel in order to determine a speed of the vehicle7.

The processing unit3may also count the numbers of vehicles7which pass along each lane L1, L2, L3, L4. The processing unit3may also estimate the number of heavy goods vehicles, trucks or lorries using the road based upon the magnitudes of the detected disturbances to the measured magnetic field values.

When the vehicle detection system1is used for traffic monitoring, the data structure depend(n,p) may record which detectors2are coupled, for example, detectors2disposed under adjacent lanes L1, L2, L3, L4When monitoring traffic, the vehicle detection system1may reject a signal from a detector2if an adjacent coupled detector2records a larger value of signalStd(n). The branches5and detectors2may be configured so that coupled detectors may report to the processing unit3substantially simultaneously.

When the vehicle detection system1is used for traffic monitoring, an event may be initialised for a lane L1, L2, L3, L4at the time when a first detector2within that lane in the direction of vehicle7travel has the corresponding value of signalStd(n) exceed 3×stdCalm(n) and terminated at the time when a last detector2within the same lane has the corresponding value of signalStd(n) drop back below 3×stdCalm(n).

Traffic Signal Management

Referring toFIG. 14, the vehicle detection system1may be used for traffic signal management at a junction controlled by automated traffic signals38. When an entrance lane E1, E2, E3, E4is signalled to stop by the signals38, the vehicle detection system1may monitor whether, and how many, vehicles are waiting in the entrance lane E1, E2, E3, E4in substantially the same way as the vehicle detection system1monitors a parking environment. When an entrance lane E1, E2, E3, E4is signalled to proceed by the signals38, the vehicle detection system1may detect traffic volumes and speeds in substantially the same way as the vehicle detection system1monitors traffic on a road.

By providing information about both the existence of queuing vehicles and additionally the volume of traffic passing down each approach lane when that lane is signalled to proceed, the traffic signals38are enabled to more accurately and reliably perform dynamic adjustments of traffic signal scheduling to maintain traffic flows.

The vehicle detection system1is shown inFIG. 14with detectors2emplaced only in the approach lanes to the traffic signal38controlled junction. Alternatively, detectors may additionally be emplaced in the exit lanes, allowing the processing unit3to infer the distribution of traffic passing from each entrance lane to each of the exit lanes.

Numerous vehicle detection systems1, each controlling different junctions, may communicate with each other or with a central client via local networks or the internet to optimise traffic flows in an urban area.

Second Vehicle Detection System for a Parking Environment

Referring toFIGS. 15 and 16, a second vehicle detection system39is similar to the vehicle detection system1, except that the second vehicle detection system39includes transceiver devices40for providing authentication and verification of vehicle7identities. Optionally, transceiver devices may also include one or more signalling devices41for providing a visual indication of the occupancy status of a space for receiving a vehicle, for example in the form of parking bay Pn.

The second vehicle detection system39is used for detecting the occupancy of spaces for receiving a vehicle, for example in the form of bays P1, P2, . . . , P16in a vehicle parking environment. The second vehicle detection system39comprises at least one detector2, one transceiver device40and a processing unit3. Each detector2and each transceiver device40form a pair corresponding to a particular parking bay Pn. Each bay P1, P2, . . . , P16contains a corresponding detector2. A transceiver device40corresponding to a bay Pnis located proximate to and just outside the bay Pnso as to remain visible when the bay Pnis occupied by a vehicle7. For example, a transceiver device40corresponding to a parking bay Pnmay be arranged centrally with respect to the bay Pnwidth and just outside the bay Pnlength. The detector(s)2are connected to the processing unit3by a wired network in the form of one or more detector bus cables4a. The transceiver device(s)40are connected to the processing unit3by a wired network in the form of one or more transceiver bus cables4b. The detector(s)2connected to a single detector bus cable4aand the corresponding transceiver device(s)40connected to a single transceiver bus cable4bcollectively constitute a second branch42. Detectors2which are connected to a single detector bus cable4aand transceiver devices40which are connected to a single transceiver bus cable4bare connected in a daisy chain configuration by the corresponding bus cables4a,4b. The detector/transceiver bus cables4a,4bare substantially the same as the bus cables4. However, the detector bus cables4aand transceiver bus cables4bneed not be the same type of bus, and different buses may be used if the transceiver devices40and detectors2have differing power and/or data requirements.

The detectors2are disposed underneath the corresponding bays Pnin the same way as for the vehicle detection system1. The transceiver devices40are emplaced proximate to the corresponding bays Pnsuch that at least a part of each transceiver device40is preferably visible above the ground or floor. For example, the transceiver bus cable4bmay be placed in a slot or trench and the transceiver devices40may extend out of the slot or trench above and/or onto the surface of the road or floor. The slot or trench may be filled in or covered over to protect the transceiver bus cable4band connections to the transceiver devices40. The individual transceiver devices40may also be fastened to the road or floor, for example using bolts.

Each transceiver40includes a controller43, a network interface44connecting the detector to a bus14and a WPAN module15supporting wireless personal area network communications such as Bluetooth®, ZigBee® or Z-Wave®. The bus14connects to a bus network interface19in the processing unit3in order to allow communication between the controller43and the processor16(FIG. 5). Optionally, each transceiver device40also includes at least one signalling device41, for example first and second light emitting diodes (LEDs)45a,45b.

The transceiver(s)40are sealed to prevent the ingress of particles such as particles of dirt and/or dust. The transceiver(s)40are sealed so as to be waterproof. The transceiver device(s)40are encapsulated to the IP-68 certification standard, in which IP stands for Ingress Protection. The IP-68 standard refers to dust tight protection against particle ingress and waterproof to immersion beyond 1 m depth of water.

The controller43sends and receives challenge/response data to/from the WPAN module15for exchanging information with a WPAN transceiver on or in a vehicle7or carried by a vehicle operator, in order to authorise and identify a vehicle7entering a parking bay Pn. Each transceiver device40communicates with the processing unit3via the network interface44and a bus14. The bus14is disposed within the transceiver bus cable4b. The transceiver bus cable4band the interface with the transceiver device are encapsulated to the IP-68 certification standard.

The WPAN module15includes an antenna capable of bi-directional communication with a WPAN transceiver (not shown) on or in a vehicle7or carried by the vehicle operator. The WPAN module15has a transmission power allowing communication with a transceiver in the range of 5 to 10 m away. In the second vehicle detection system39the WPAN module15preferably communicates according to the Bluetooth® standard.

The controller43may also be configured to receive status indications from the processor16and to change the output state of the signalling device(s)41, for example to illuminate the LEDs45a,45bin response to the status indications. Each LED45a,45bmay be a single colour LED, a multi-colour LED or an LED array. For example, the processor16may send a signal to a transceiver device40to communicate that the corresponding detector2has detected that the respective parking bay Pnhas become occupied, and in the response the controller43may cause one or more LEDs45a,45bto switch from green illumination to red illumination. Alternatively, when single colour LEDs45a,45bare used the LEDs45a,45bmay be illuminated when the corresponding parking bay Pnis unoccupied and switched off when the bay Pnis occupied. In this way, users of the parking environment can clearly see whether a row of parking bays Pnhas available space from a distance, without needing to drive along a row.

Further information may be communicated by the signalling device(s), for example first and second LEDs45a,45b. For example multi-colour or array LEDs45a,45bmay be illuminated using a third colour to indicate that a vehicle7has overstayed a maximum duration, for example LEDs45a,45bmay be illuminated to provide orange light. Alternatively, multi-coloured, array or single colour LEDs45a,45bcould be controlled to blink or flash to indicate overstaying. This may provide an easily understood and visible prompt for parking enforcement authorities. Alternatively, the LEDs45a,45bmay be used to provide similar visual indications that a vehicle7is not identified or unauthorised for the corresponding parking bay Pn.

Referring also toFIGS. 11 and 12, the processing unit3determines that a vehicle7is entering or has entered the bay Pncorresponding to a transceiver device40using signals from the respective detector2and also any coupled detectors according to the first or second methods of detecting the presence of a vehicle in a volume of space. In response, the processing unit3sends challenge message data (not shown) for transmission by the WPAN module15. The controller43receives the challenge message data and directs the WPAN module15to transmit a challenge message46. The transceiver device40waits to receive a response message (not shown), and any response message data (not shown) received by the WPAN module15is relayed to the processing unit3. The communication protocol employed by the WPAN module15may be encrypted using conventional or application specific algorithms. The WPAN module15may communicate with WPAN transceivers which are external tokens employing, for example Bluetooth®, smartphones using Bluetooth®, smartphones having Bluetooth®-WiFi dongles or other similar devices.

In this way, the second vehicle detection system39may be operated in a substantially similar way to the vehicle detection system39, except that the WPAN module15is included within the transceiver device(s)40instead of within the detector(s)2. Because the transceiver device(s)40are arranged proximate to the bays Pninstead of within or under the bays Pn, the vehicle7is less likely to block or interfere with transmission from the WPAN module15. In this way, a WPAN module15provided in a transceiver device40may communicate more reliably with a transceiver or token in or on the vehicle7or carried by the vehicle operator.

Third Method Including Vehicle Detection

Referring toFIGS. 11, 12, and 15 to 17, a third method of detecting the presence of a vehicle in a volume of space is the same as the second or third methods except for the step (step S5) of identifying a vehicle7. Steps relating to detection of vehicles7using the detectors2according to the first or second methods (steps S1, S2, S3, S4, S4-1, S4-2, S4-3, S6) are the same in the third method and detailed description is not repeated. The third method is carried out using an example of the second vehicle detection system39which includes transceiver devices40corresponding to each detector2.

The processing unit3is in communication with an external device47via the external network interface18. The external device47may be, for example, a data processing apparatus having a display (not shown) and located in a control room (not shown) for monitoring by an operator. The external device47may be, for example, a server which is in further communication with a data processing apparatus having a display (not shown) and located in a control room (not shown). Alternatively, the external device47may be a portable device, for example a mobile phone, tablet computer or similar device, which is carried by a parking enforcement operative. The external device47may be in communication with several second vehicle detection systems39at the same time.

When the processing unit3has determined that a vehicle7has arrived or is arriving into a space for receiving a vehicle7, for example a parking bay Pncorresponding to a detector2(e.g. step S4of the first method, steps S4-1or S4-2of the second method), one or more transceiver devices40belonging to the same second branch42as the respective detector2broadcast a randomly selected challenge message46(step S5-1). For example, at least the transceiver device40corresponding to the detector2which detects an arriving vehicle7broadcasts a challenge message46. In another example, the transceiver devices40corresponding to adjacent or coupled parking bays Pnmay broadcast the challenge message46. Preferably, all transceiver devices40connected to the same second branch42broadcast the challenge message46. The one or more transceiver devices40all broadcast the same challenge message46concurrently, during overlapping time-periods or during separate time-periods. Because multiple transceiver devices40connected to a single transceiver bus cable4bmay broadcast the same challenge message46, there is an increased probability that one of the transceiver devices40will have a favourable transmission path to a WPAN transceiver or token in or on the vehicle7or carried by the operator (if the vehicle or operator are authorised). The processing unit3randomly selects the challenge message46from information stored in the transceiver identity table28. The transceiver identity table28stores a large number, for example hundreds or thousands of challenge messages46and the corresponding correct response messages.

The WPAN module15of every transceiver device40connected to the respective second branch42listens for a reply (step S5-2). All of the transceiver devices40within transmission range of the vehicle7may listen for and receive any response message. If no reply is received within a predetermined duration (step S5-2; No), for example ten seconds, the processing unit3checks whether the total elapsed time since activity was detected has exceeded a maximum allowed time (step S5-11). If the maximum allowed time has not elapsed (step S5-11; No), then a new challenge message is selected by the processing unit3and communicated to the one or more transceiver devices40for broadcasting (step S5-1). If the maximum allowed time has elapsed (step S5-11; Yes), then the processing unit3flags the vehicle7occupying or entering the respective bay Pnas unauthorised and transmits a message to the external device47(step S5-10).

However, if a response message (not shown) corresponding to the challenge message46is received (step S5-2; Yes), then the controller44of the transceiver device40communicates the response to the processing unit3which checks whether the received response matches the answer stored in the transceiver identity table28(S5-3). If the response is correct (step S5-3; Yes), then the processing unit3increments an internal counter of correct responses by one (step S5-5). However, if the response is not correct (step S5-3; No), then the processing unit3increments an internal counter of incorrect responses by one (step S5-4). Alternatively, the processing unit3may store a first counter which is the total number of challenge messages46in reply to which any response message had been received and a second counter which is the total number of correct or incorrect responses received.

If the same response message to a particular challenge message is received by multiple transceiver devices40, the response message is only counted the first time it is received.

The processing unit3checks whether at least a sufficient or threshold total number of responses have been received in order to confirm/refuse authorisation of the vehicle7(step S5-6). For example, the threshold number may be at least five, at least ten or at least fifteen responses (correct or incorrect). If the minimum number of responses has not yet been received (step S5-6; No), then the processing unit3checks whether the maximum allowed time has elapsed (step S5-11).

If the minimum number of responses has been received, the processing unit3checks whether a sufficiently high fraction of the responses received are correct (step S5-7). For example, the processing unit may require that 75%, 80%, 90% or more of received responses are correct. If a sufficiently high fraction of responses received are correct (step S5-7; Yes), then the processing unit3transmits a message to the external device47to indicate that the detected vehicle7has been authenticated. The processing unit3also directs the one or more transceiver devices40in the corresponding second branch42to broadcast a message requesting the identity or name of the authorised vehicle (step S5-9). When one or more transceiver devices40receive a response including the identity or name of the vehicle, for example a vehicle registration number of an operator or owner name, the processing unit3logs the identity. Any transceiver device40may receive a response, not limited to only the one or more transceiver devices40which broadcast the identity request. The processing unit3may also transmit the identity information to be transmitted to the external device47, where the identity of the vehicle may be shown on a display (not shown) to a person responsible for monitoring the second vehicle detection system39.

If a sufficiently high fraction of correct responses has not been received (step S5-7; No), for example if only 65% of response are correct and the threshold for authentication is 80%, the processing unit3checks whether a sufficiently high fraction of responses received are incorrect (step S5-8). For example, the processing unit3may require that 75%, 80%, 90% or more of received responses are incorrect. If a sufficiently high fraction of response received are incorrect (step S5-8; Yes), then the processing unit3flags the vehicle7which is entering or has entered the parking bay Pnas unauthorised (step S5-10). The processing unit3may also transmit a message indicating that detected vehicle is not authenticated to the external device47, where the unauthorised status of the vehicle may be shown on a display (not shown) to a person responsible for monitoring the second vehicle detection system39. Additionally or alternatively, the processing unit3may cause an e-mail or SMS message to be sent to a parking enforcement operator responsible for the parking environment, either directly through the external network interface18(FIG. 5) or indirectly via the external device47.

If a sufficiently high fraction of incorrect responses has not been received (step S5-8; No), the processing unit3checks whether the maximum allowed time has elapsed (step S5-11). In this way, the one or more transceiver devices40continue to transmit challenge messages to the newly arriving or arrived vehicle7until either a sufficiently high fraction of responses are confirmed correct, a sufficiently high fraction of responses are confirmed incorrect or the maximum allowed time expires. This can allow the authentication and identification of a vehicle7to be performed robustly even in circumstances where many broadcast messages may be interrupted or blocked due to stationary and/or moving vehicles7.

In the second vehicle detection system39operating according to the third method, the challenge messages46and corresponding correct responses stored in the transceiver identity table28may be updated according to a predetermined schedule, for example daily, weekly or monthly. The challenge messages and corresponding responses may be updated remotely via the external network interface18(FIG. 5) of the processing unit3.

Alternatively, the transceiver identity table28need not contain entirely predetermined challenges and corresponding responses. Instead, the challenge messages may be partly or fully made up of information which is generated by the processing unit3and/or a WPAN transceiver in or on the vehicle7. For example, the processing unit3may read data such as a number or a string (not shown) from the transceiver identity table and/or from a system clock. The processing unit3may apply a first mathematical operation to the number or string and broadcast the output number or string of the first operation. The processing unit3may then apply a second mathematical operation to the output number or string to generate the correct response. The WPAN transceiver in or on the vehicle7received the output number or string, applies one or more second mathematical operations to the received output number or string, and broadcast a message including one or more response numbers or strings. When one or more transceiver devices40receives a message including response numbers or strings, these are checked against the correct response generated in the processing unit3to determine whether any of the responses are correct. In some examples, the transceiver identity table28may include a list of first mathematical operations and corresponding second mathematical operations.

The transceiver devices40may additionally record information about the relative signal strength of messages received from a WPAN transceiver associated with a vehicle7. The processing unit3may use the relative signal strengths of received messages in order to estimate ranges from each transceiver device40to the replying vehicle7. Range information may be used by the processing unit3for the purpose of distinguishing between different vehicles7when two or more vehicles arrive close together or simultaneously to nearby parking bays Pn, for example to coupled bays Pn.

As explained hereinbefore, the controller43of each transceiver device40may be configured to receive status indications from the processing unit3and to illuminate the LEDs45a,45bin response to the status indications. For example, LEDs45a,45bmay be illuminated in one or more colours and/or flashed, blinked or strobed in order to indicate that a corresponding parking bay Pnis occupied, unoccupied, occupied by an unauthorised vehicle or occupied by an overstaying vehicle etc.

First Transceiver Device

Referring toFIGS. 16, 18 and 19A to 19C, a first example of a transceiver device40,48includes a low-profile dome-like casing49. An electronics module50including the controller42, WPAN module15, first and second LEDs45a,45band a network interface44is received into the casing49and secured in place by fastening a circular base plate51to the casing49. The electronics module50may be substantially cuboidal. However, the electronics module50may take other shapes. The interior surface of the casing49, which in general need not correspond to the exterior low-profile dome shape of the casing49, conforms to the shape of the electronics module50.

The casing47is formed with a dome-portion52extending upwards from a cylindrical portion53. The dome-portion52extends upwards for a greater distance than the cylindrical portion53. A pair of indentations54are formed on opposite sides of the dome-portion52. Each indentation54is formed with a flat base55extending perpendicular to the external surface of the cylindrical portion53and a curved wall56extending perpendicularly upwards from the flat base55and ending at the exterior surface of the dome portion52. The curved wall56of the indentations54is bounded by the flat base55and the exterior surface of the dome-portion52but is not bounded by an interior surface of the casing49. A through hole57is formed through each flat base55which connects to the underside of the casing49. When assembled, the through holes57are aligned with corresponding through holes58formed through the base plate51. The casing49and base plate51are secured using bolts59received by the through holes57in the indentations54and the through holes58in the base plate51. Optionally, washer(s)60may be used. The bolts59may be secured using nuts (not shown) tightened against an underside of the base plate51, or the through holes58in the base plate51may have an internal thread formed therein. The base plate51may be received into a stepped recess61formed into the underside of the cylindrical portion51of the casing47, such that the undersides of the casing49and base plate51are substantially flush.

The casing49also includes a pair of windows62. The windows62are formed opposite to one another and at positions rotated ninety degrees about the axis of the dome portion52from the indentations54. Similarly to the indentations54, each window62is formed with a flat base63. However, unlike the indentations54, each window62is formed with a curved surface64which is bounded by the flat base63, the exterior surface of the dome portion52and an interior surface65of the casing49. In this way, the window62connects the interior and exterior of the casing49. When assembled with the electronics module50, the windows62align with the LEDs45a45bto allow light emitted from the LEDs45a,45bto exit the first transceiver device48. A first LED45ais visible through one window62and a second LED45bis visible through the opposite window62.

The circular base plate51includes a circular aperture66formed concentrically with the outer perimeter of the base plate51. A connector67descends perpendicularly from the underside of the electronics module50and is received through the circular aperture66when the first transceiver device48is assembled. The connector67is for connecting to a corresponding connector68extending from the transceiver bus cable4b. The casing49and base plate51lie on the surface of the road or floor and the connector67projects down into a trench or slot cut into the road/floor surface and into which the transceiver bus cable4bis received. The first transceiver device48is installed so that the first and second LEDs45a,45bare directed along a road or a row of parking bays, so that vehicle operators can easily spot an unoccupied space at a glance.

The casing49must be mechanically strong enough to tolerate the tyres of a vehicle7passing directly over the first transceiver device48. The casing49may be reinforced internally by struts, trusses or similar reinforcing structural elements. The casing49and base plate51may be formed from suitable metallic materials. For example, aluminium 6061-T6 or other aluminium alloys having comparable mechanical and corrosion properties. Alternatively, the casing47and base plate49may be made from high strength polymeric materials or polymer composite materials.

Second Transceiver Device

Referring also toFIGS. 20A to 20D, a second transceiver device40,69is the same as the first transceiver device48except that the second transceiver device69includes a WPAN module15attached on the outside of the electronics module50and the casing49of the second transceiver device69is modified to include a transmission window70which may help to reduce or prevent the casing49material from blocking or interfering with transmissions to and from an antenna71of the WPAN module15.

The transmission window70is received into an aperture72formed through the metal casing49. The transmission window70includes a lip73which is received into a corresponding slot74formed into the side of the aperture72. The boundary between the transmission window70and the sides of the aperture72may be sealed against dust and water using, for example, waterproof adhesive (not shown), silicone rubber (not shown) or similar compounds.

The WPAN module15takes the form of a Bluetooth® module including a substrate75, a Bluetooth® circuit board76mounted on the substrate75and connectors77extending away from the substrate75. Each connector77is electrically connected to the Bluetooth® circuit board76by conductive traces (not shown) disposed on the substrate75. The Bluetooth® circuit board76includes an antenna71in the form of a conductive region78disposed on the Bluetooth® circuit board76. When the second transceiver device69is assembled, the Bluetooth® WPAN module15is connected to the electronics module50and projects from the upper surface of the electronics module50. The electronics module50is received into the casing49such that the Bluetooth® WPAN module15is received in a recess79formed in the upper portion of the casing49and connecting with the aperture72. When the second transceiver device69is assembled, the antenna71,78is arranged substantially beneath the transmission window70. In this way, blocking or interference of signals to and from the antenna45by the casing49material may be reduced or prevented.

Modifications

It will be appreciated that many modifications may be made to the embodiments hereinbefore described. Such modifications may involve equivalent and other features which are already known in the design, manufacture and use of magnetic field sensors and which may be used instead of or in addition to features already described herein. Features of one embodiment may be replaced or supplemented by features of another embodiment.

Detectors2have been described as comprising a pair of magnetic field sensors6a,6b, housed in respective first and second units9,10. However, detectors may employ more than two sensors6. Vehicles may not be positioned precisely in a volume of space, and magnetic materials may be unevenly distributed in a vehicle7, such that the size of magnetic field variations within a volume of space may be uneven. A single sensor may have blind spots and fail to detect the largest/most significant magnetic field variations. Using a pair of sensors6a,6bmay help to improve the accuracy and reliability of detecting a vehicle by reducing or eliminating sensor blind spots. Adding further sensors, for example a total of three sensors6, four sensors6or more, may further improve accuracy and reliability. Where more than two sensors6are used, each may be housed in a separate unit, and each unit being spaced from the other units by one or more link members11.

The detectors2have been described as being encapsulated to the IP-68 certification standard. However, other standards or levels of ingress protection may used for the detector(s)2, depending upon the physical and regulatory environment in which the detector(s)2are to be deployed.

The controller12has been described as being in the form of an Atmel ATmega328P-AU incorporating an Arduino® Bootloader microcontroller. However, the controller12may alternatively be provided by any other suitable microcontroller. The controller12need not be a microcontroller and may alternatively be provided by a field programmable gate array, a microprocessor or a dedicated integrated circuit.

The magnetic field sensors6have been described as being in the form of Honeywell HMC5883L magnetic field 3D sensors. However, the magnetic field sensors6need not be Honeywell HMC5883L magnetic field 3D sensors. Other types of anisotropic magnetic field sensors may be used instead.

Alternatively, the magnetic field sensors6need not be anisotropic magnetoresistance sensors, and any magnetic field sensor having sufficient sensitivity to detect changes in local magnetic field due to a vehicle7may be used such as, for example, Hall probes or giant magnetoresistance sensors. The magnetic field sensors6may be provided by any type of sensor having an output rate of more than 1 Hz, between 1 and 10 Hz, between 10 and 100 Hz or more than 100 Hz. The magnetic field sensors6may be provided by any type of sensor having a resolution equal to or better than 1×10−7T. The magnetic field sensors6need not use a 12-bit ADC, and may use, for example, an ADC operating at 8-bit, 16-bit, 32-bit or greater precision.

The optional WPAN module15has been described as having a transmission power allowing communication with a transceiver up to 5 m away. However, the WPAN module15may have a transmission power to allow communication up to 10 m away or further.

The optional WPAN module has been described as being a Zigbee® module. However, the WPAN module need not be a Zigbee® module, and other protocols may be used for WPAN communications such as, for example, Bluetooth®, IEEE 802.11, IEEE 802.15.4, Z-wave® or similar.

Vehicles7may include internal combustion engine(s). Vehicles7may include electric motor(s). Vehicles7may be hybrid vehicles including internal combustion engine(s) and electric motor(s). Vehicles7may be unpowered vehicles designed to be towed by another vehicle such as, for example, caravans, trailers, construction equipment or agricultural equipment. Trailers may be small trailers for cars or large trailers for trucks.

The second vehicles detection system39has been described as including a second branch42made up of a number of detectors2connected in a daisy chain configuration by a detector bus cable4aand a number of corresponding transceiver devices40connected in a daisy chain configuration by a transceiver bus cable4b. With this arrangement, the detectors2and transceiver devices40may by connected using different types of bus cable. However, if the same type of bus cable is used for detectors2and transceiver devices40, then separate bus cables4a,4bneed not be used. Instead, the detectors2and transceiver devices40forming a second branch42could all be connected to the same bus cable4, for example by connecting together all of the detectors2in a first trench, then doubling the bus cable4back through a second trench to connect the corresponding transceiver devices40.

Transceiver devices40,48,69have been described which include WPAN module15and which optionally include one or more signalling devices41, for example first and second LEDs45a,45b. Alternatively, instead of transceiver devices40,48,69, indicator devices (not shown) may be used having similar construction but omitting the WPAN module15and including at least one or more signalling devices41. Such indicator devices may be used in the same way as transceiver devices40,48,69to provide visible indications of the status of a parking bay Pnsuch as unoccupied, occupied or that an occupying vehicle has overstayed. When an indicator device having no WPAN module15is used, the first or second vehicle detection methods may be used, omitting steps of authenticating and/or identifying a vehicle7.