GB2332055A - Detection system for determining positional information about objects - Google Patents

Detection system for determining positional information about objects Download PDF

Info

Publication number
GB2332055A
GB2332055A GB9825696A GB9825696A GB2332055A GB 2332055 A GB2332055 A GB 2332055A GB 9825696 A GB9825696 A GB 9825696A GB 9825696 A GB9825696 A GB 9825696A GB 2332055 A GB2332055 A GB 2332055A
Authority
GB
United Kingdom
Prior art keywords
mobile
scheduling
transponder
cell
manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9825696A
Other versions
GB2332055A9 (en
GB9825696D0 (en
GB2332055B (en
Inventor
Alan Henry Jones
Andrew Martin Robert Ward
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Laboratories Cambridge Ltd
Oracle Corp
Original Assignee
Olivetti Research Ltd
Oracle Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Publication of GB2332055A9 publication Critical patent/GB2332055A9/en
Priority claimed from GB9725759A external-priority patent/GB2332053B/en
Priority claimed from GB9725718A external-priority patent/GB2332052B/en
Priority claimed from GBGB9808529.3A external-priority patent/GB9808529D0/en
Application filed by Olivetti Research Ltd, Oracle Corp filed Critical Olivetti Research Ltd
Priority to GB9825696A priority Critical patent/GB2332055B/en
Publication of GB9825696D0 publication Critical patent/GB9825696D0/en
Publication of GB2332055A publication Critical patent/GB2332055A/en
Application granted granted Critical
Publication of GB2332055B publication Critical patent/GB2332055B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/20Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S11/00Systems for determining distance or velocity not using reflection or reradiation
    • G01S11/16Systems for determining distance or velocity not using reflection or reradiation using difference in transit time between electrical and acoustic signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/74Systems using reradiation of radio waves, e.g. secondary radar systems; Analogous systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/87Combinations of sonar systems
    • G01S15/872Combination of several systems for attitude determination
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/87Combinations of sonar systems
    • G01S15/876Combination of several spaced transmitters or receivers of known location for determining the position of a transponder or a reflector
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/14Determining absolute distances from a plurality of spaced points of known location
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/18Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using ultrasonic, sonic, or infrasonic waves
    • G01S5/30Determining absolute distances from a plurality of spaced points of known location

Abstract

A system which enables the position of each of a plurality of mobile labelled objects in a specified environment to be determined from the transit times to fixed receivers 160-178 of ultrasound energy transmitted by object mounted transponders 156 which are triggered by radio energy, wherein the specified environment is divided into cells each have a radio transmitter transmitting the radio triggered signals, these radio transmissions being multiplexed in accordance with identifying characteristics of the respective cells, no two cells with the same identifying characteristics overlapping one another.

Description

1 2332055 Title: Detection System for determininq 1Dositional information
about objects
Field of invention
This invention relates to a detection system for determinIng information concerning the location of objects. The invention can be applied to people and animals as well as inanimate objects such a furniture, machines, vehicles, equipment and the like, and in this connection object is intended to include any movable entity.
Background to the invention
Location systems are known which allow the presence or absence of an object in a speci.&'---Jed environment (such as a room) to be confirmed or denied, and relative to one or more reference points to identify where in the environment the object is located.
EP 0485879 describes a system for locating vehicles in automatic guidance transport systems. Ultrasound is employed as a distance measuring medium whilst an infra-red link allows communication between vehicles.
W095/14241 describes a tracking system whic.-L enables a spotlight to follow a person on a stage carrying a transponder. Again infra-red signals are used to instigate ultrasonic transmissions to determine the position of the transponder and therefore the person. The spotlight is moved accordingly.
EP 0591899 describes another spotlight cont.rolling system for tracking a moving target (actor on a stage) carrying a transponder. Here radio transmissions establish the communication link and ultrasound transmissions are employed 2 to determine distance and position.
In our UK Patent Applications Nos. 9725760.4, 9725718.2 and 9725759.6, there is described an indoor positioning system wherein a single radio transmitter (part of a zone manager) transmits 25 radio signals each second, at the start of a 40ms interval called a timeslot.
The radio signals, which are picked up by mobile transmitter/ receivers (transponders) in rooms to which those signals propagate, contain an address, chosen for each message by a scheduling PC.
Each mobile transponder has a unique address, and compares this with the address contained in each incoming radio message. if the addresses match, the mobile transponder emits a short pulse of ultrasound, which is detected by a set of receivers (each room has its own receiver set). These receivers include a counter, synchronised with the radio messages by means of a wired network, and it is therefore possible to determine the time-of-flight of the ultrasonic pulse from the mobile transponder to each receiver that detects it.
An estimate of the speed of sound in each room (derived from the ambient temperature) is used to calculate the corresponding transponder-receiver distance.
A non-linear model is then fitted to these distances and the known receiver positions by a regression algorithm which runs on a positioning PC (connected to the receiver set by means of a matrix manager).
A global time signal is sent by a clock generator to the zone manager and matrix manager(s). This signal ensures that the Scheduling PC knows which mobile transponder was triggered in a particular timeslot. It also ensures that, if sufficient ultrasonic signals from that mobile transponder are detected, 3 the positioning PC dealing with the room in which the ultrasonic signals were generated knows where a mobile transponder was at the start of the timeslot.
By correlating these two items of information in a software entity called an area manager, it is possible to determine the 3D position of a mobile transponder at a particular time.
The aforesaid system subject of the above-numbered Patent Applications is later described in more detail.
The system implementation described in the aforesaid Patent Applications has 40ms timeslots, but these could be shortened to around 20ms without affecting the basic operatLon of the system. However, reverberations of an ultrasonic pulse in a typical office may last up to 20ms, therefore the timeslots cannot be made shorter than this interval. Thus considering the case of a system in which all mobile transponders are in a single room, then with say, a 15ms timeslot, the period in which reverberations from a mobile transponder triggered in one timeslot might reach a receiver which would overlap the period in which signals from a mobile transponder triggered in the next timeslot might reach the receivers. It would then not be possible to determine which mobile transponder had generated a particular signal, and errors may be introduced into the calculation of a mobile transponder's location by using a signal generated by another mobile transponder.
When mobile transponders are distributed between a set of rooms, however, the timeslot duration limitation can be unnecessarily restrictive. The periods in which signals from two or more mobile transponders are in flight may overlap safely if it is certain that the signals do not overlap physically. For example, if two mobile transponders are in separate rooms, which are ultrasonically isolated from each other, then the intervals over which their signals are in flight may be overlapped without the possibility of signal 4 cross-contamination. Similarly, in large open-plan offices, the regions in which signals are detected by receivers can be examined, and if those regions are distinct and separated by a significant distance, it can be assumed that the ultrasonic signals will not cross in space.
This consideration appears to suggest that a zone manager could address two or more mobile transponders simultaneously (or as nearly simultaneously as the radio trigger link would allow), as long as those mobile transponders are in separate rooms (or separate ultrasonic spaces).
However, bearing in mind the mobility of the transponders, as the ultrasonic signals contain no addressing information, so a set of signals detected by receivers in an ultrasonic space could have been generated by any of the two or more simultaneously addressed transponders. It would then be impossible to determine which particular mobile transponder was at which location.
Past location information for the mobile transponders might provide some guidance in this matter, but would not rule out the possibility that a number of the mobile transponders had been transposed.
It is therefore necessary to provide some other means by which the area manager can identify which set of detected signals was generated by which mobile transponder.
In our UK Patent Application No 9808526.9 (reference C198/0) there is provided a system which enables the position of each of a plurality of labelled objects in a specified environment to be determined by determining the transit time of slowly propagating energy transmitted from a transmitter on each labelled object to a plurality of receivers positioned at fixed points in or around the specified environment, and computing therefrom the actual distance of the transmitter from the receivers, wherein the transmission of the slowly propagating energy is initiated by a burst of high speed propagating energy from a master transmitter located so as to cause transmitted bursts of such high speed energy to enter the said environment, the transmitter on the object being controlled by a receiver adapted to respond to an appropriately encoded burst of such high speed energy, each said burst being encoded so that only one of the object mounted receivers is triggered by each burst (each transmitter/receiver combination being referred to as a transponder), to thereby initiate a burst of slowly propagating energy therefrom, wherein the specified environment has at least two zones substantially isolated from one another in respect of the slowly propagating energy, the times at which the transponders are triggered on objects hitherto understood to be in one zone (one set of transponders) are staggered within common timeslots with resr)ect to the times at which the transponders are triggered on objects hitherto understood to be in another zone (another set of transponders), each timeslot being of a sufficient length to enable the receivers to respond to the slowly propagating energy transmitted by the triggered transponders in both the first zone and the or each other zone, and an algorithm is applied to verify the consistency of the transit times of the slowly propagating energy when ascribed to the different sets of transponders.
The slowly propagating energy is typically ultrasound and the high speed energy is radio waves, and in order to be able to distinguish between sets of signals from different mobile transponders, it is first assumed that two different transponders are in different ultrasound zones, the triggering times of those two different mobile transponders (one from each of the two sets) are staggered, and the system is adapted so that receivers are triggered when the first of the said two different mobile transponders is triggered, and the normal 20ms timeslot is extended by (m - 1) X i, (where m is the number of mobile transponders triggered in the 6 staggered sequence, and 1 is the stagger time).
A nonlinear regression calculation used to determine the 3D positions of the mobile transponders should only converge to a solution if it is given a set of consistent transponderreceiver distances and receiver positions. Thus if receiver detected signals are ascribed to the wrong mobile transponder (because it has moved from one zone into another), the pulse times-of-flight calculated for the receiver detected signals will be incorrect, because an inappropriate trigger time will have been used for the signals. The corresponding transponderreceiver distances will then be incorrect, and the nonlinear regression computation will not converge to a solution.
Therefore, given a set of n possible trigger times for mobile transponders, t,.... t, in this method embodying a first check is made to see that the number of sets of signals that were detected in independent ultrasound zones is the same as the number of mobile transponders that were triggered. If this is not so, no further use can be made of these readings, because two or more mobile transponders apparently occupy the same ultrasound zones, in which case signal cross -contamination could have occurred.
Then, for each set of signals s,...., sn, a set of possible corresponding transmitter -receiver distances is calculated for each trigger ti.me, d,,, d,,,...., d.. By running a nonlinear regression calculation on each set of transmitter receiver distances (using an algorithm which uses the positions of receivers that detect the corresponding signals), a set of results r, r.2. ', r.. is obtained. Each value of r, Y, (where 1:5 x s n) and 1 r. y s n is either a 3D position (indicating that the set of signals s, could have been generated by a mobile transponder at time ty) or an error value (indicating that the set of signals s,, could not have been generated by a mobile transponder triggered at time ty).
7 Ideally, one and only one set of signals will be consistent with each trigger time, making it possible to identify which mobile transponder gave rise to those signals (and hence enabling a 3D position to be ascribed to each mobile transponder).
If this is not the case, other heuristics are applied to the results to determine 3D positions for the mobile transmitters. One such heuristic might be that if one set of signals is consistent with two trigger times t, and t., but another set of signals is consistent with trigger time t. and no other set of signals is consistent with trigger time t., then the first set of signals was probably generated by a mobile transponder triggered at time t:b' Preferably simulations are performed to validate the heuristics used.
The system enhancement provided by our UK Patent Application No 9808526. 9 (Reference C198/0) is also later described in more detail.
The invention According to the present invention, there is provided a system which enables the position of each of a plurality of labelled objects in a specified environment to be determined by determining the transit time of slowly propagating energy from a transmitter on each labelled object to a plurality of receivers positioned at fixed points within or around the specified environment, and computing therefrom the distances of the transmitter from the receiver, wherein the specified environment is spatially divided into overlapping cells each having a master transmitter for transmitting a burst of high speed propagating energy for detection by object mounted receivers associated with the object mounted transmitters within the compass of the cell, and wherein each cell is 8 allotted an identifying characteristic, the high speed energy transmission by the different master transmitters are multiplexed in accordance with the identifying characteristics of the respective cells, and no two cells having the same identifying characteristic spatially overlap one another.
Typically the slowly propagating energy will be ultrasound energy and the high speed propagating energy will be radio waves.
In general, the transmitter/ receiver combinations on each object will hereafter be referred to as transponders, and the master transmitters will be referred to as radio transmitters.
Explanation and Further Features It is clear that the system described in our aforementioned patent application, and which has a single zone manager and associated radio transmitter, cannot be extended to cover an arbitrarily large space, because this would require the radio transmitter to have an arbitrarily large range. In practice, statutory regulations limits the transmitted power output as well as the available frequencies, and hence limit the useful range.
Instead, we must consider a system which has a number of zone managers, each with its own radio transmitter, and each of which is connected to its own scheduling PC.
An overview of this system is given in Figure 24 of the accompanying drawings. The area around any one of the radio transmitters 300, in which its transmissions can be reliably detected is called a cell. In Figure 24, five cells are labelled cell 1 to cell 5, resuectively. The five cells together cover a larger area.
Zone managers 302 and radio transmitters 300 are placed around the environment such that any point in the large area is covered by at least one cell. Using more transmitters and 9 cells allows even larger areas to be covered, and advantage can be taken of the fact that a combination of smaller cells can have a much higher aggregate location rate than a single 'Large cell.
The cells much be invisible to each other so that transmissions in one cell to not disrupt transmissions in neighbouring cells. This characteristic will be referred to as "orthogonal" - ie neighbouring cells can be described as being orthogonal. This can be achieved in a number of ways, including time-division multiplexing (TDM), frequency- division multiplexing (FDM) and code-division multiplexing (CDM) Each cell is allocated a colour, which is an identifying characteristic used to distinguish between orthogonal channels in a multiplexing scheme. For example, an FDM system may use four frequencies and each cell is allocated one of the four frequencies and one of four colours indicating which of the four frequencies it uses. When colours are assigned to cells, orthogonality of the cells is ensured by ensuring that no two cells with the same colour overlap at any point in space. Each scheduling PC has a globally unique ID, transmitted as part of messages sent out in its associated cell, which allows mobile transponders to distinguish between cells with the same colour.
All scheduling PCs and positioning PCs are interconnected either by a wired or a wireless network. It is also arranged for each scheduling PC to have its own area manager, with which it can communicate across the network via a CORBA interface. There is therefore a one-to-one mapping from Scheduling PCs (and hence zone managers) to area managers. When the system is configured, measurement of the extents of each cell can be used to determine which zone managers could trigger a mobile transponder in each room (or other ultrasonic space) Each position and orientation determined by a positioning PC is sent to the area manager associated with every zone manager which could trigger a mobile transmitter in that room. Therefore, there is a many-to-many mapping from positioning PCs to area managers.
Where the multiplexing scheme used allows simultaneous transmission of addressing signals in overlapping cells (eg FDM, CDM), some or all colours may use the same timeslots, as shown in Figure 25 of the accompanying drawings. The global clock signal linking zone managers and matrix managers ensures that each system component knows when a timesiot should begin.
Possible position ambiguities could arise if a number of transmitters are triggered simultaneously in cells which overlap, because the ultrasonic signals emitted by mobile transponders contain no addressing information. By a process of elimination, involving coordination between the scheduling and positioning PCs concerned, it may be possible to use knowledge of which zone managers could trigger a mobile transponder in a particular room to determine which mobile transponder were in which spaces. If insufficient data exists to fully determine which mobile transponders were in which spaces, the ambiguous results must be discarded. We can also use the method of staggered triggering of mobile transponders within extended timeslots, as described in our Patent Application No, 9808526.9 (Reference C198/0) to aid identification of the originators of particular signals and/or to increase the aggregate location rate of such a system.
If the multiplexing scheme does not allow simultaneous transmission of the addressing signals in overlapping cells (eg TDM), timeslots are distributed between colours as shown in Figure 26 of the accompanying drawings. Again, the global clock signal is used to ensure synchronisation between system components. It is still possible to use the method of staggered triggering of mobile transponders within extended timeslots to increase the aggregate location rate of such a system.
Situations must be considered in which a mobile transponder moves from one cell into another. When this happens, the mobile transponder must perform a llhandoverll, so that the control of that mobile transponder passes from one scheduling PC to another, and the mobile transponder will begin to receive messages via another cell.
This transfer of control may be passive or active. In an active handover, the mobile transponder, scheduling PC or other monitoring service decides that a transfer of control is appropriate. This may occur because of poor radio link quality, physical position of the mobile transponder, or a desire to share load between cells. If a requirement to transfer control is established, the current scheduling PC sends a message to the mobile transponder indicating that a handover should take place, along with instructions on how to find the new cell. At the same time, a message is sent to the new (provisional) scheduling PC telling it to start addressing the incoming mobile transponder. Both schedul-l.ng PCs address the mobile transponder until the provisional scheduling PC detects that the mobile transponder has picked up its addressing signals (see below). At this point the handover is complete and a message is sent to the old scheduling PC telling it to stop addressing the mobile transponder. If the handover requirement changes during this time, the provisional scheduling PC is informed (it then stops addressing the mobile transponder), and (if a handover is still desirable) a new provisional scheduling PC is assigned.
A passive handover occurs when a mobile transponder determines that it has started to receive messages from a new scheduling PC. Examples of situations in which this might occur are:
1. a mobile transponder moves out of a cell quickly. There is no time to perform an active handover, instead, the mobile transponder fails to receive a message over its radio interface, starts to search for another cell, and finds one.
2. a mobile transponder moves quickly from one cell to another 12 which uses the same multiplexing channel. In this case, the mobile transponder does not miss an addressing message, but detects that it has moved to a new cell, because the cell ID in the incoming messages has changed.
3. a sleeping mobile transponder wakes up, searches to find a cell, and finds one.
In all these situations, there is a requirement to indicate to the new scheduling PC that it must start to address the mobile transponder. This can be thought of as a process of registration, by which a mobile transponder registers its existence to a scheduling PC so that it will be included within the list of transponders to be addressed by the PC, as will become clear later.
As mentioned previously, after an active handover it is necessary for the new scheduling PC to be satisfied that the mobile transponder is receiving its messages. It is also necessary that the mobile transponder is satisfied that location resources will be allowed to it. It is therefore proposed that mobile transponders perform the registration process when they lock onto a new cell, and also that the special transmit bit is set in addressing messages (from the new scheduling PC) that are destined for the mobile transponder that is performing the handover. This bit, when set, causes the mobile transponder to immediately transmit its address over the bidirectional radio channel (and prevents other contending mobile transponders from doing so) This is called triggered registration.
There are therefore three ways in which the mobile transponder can tell the scheduling PC that it is receiving its messages; standard registration, triggered registration, andtransmission (and subsequent detection) of an ultrasonic pulse generated in response to an addressing message for that mobile transponder. The registration processes are particularly useful in the case 13 where ultrasonic signals are not being detected because of obstructions, etc.
There are also two ways that the scheduling PC can assure the mobile transponder that location resources have been reserved for it. First, by an addressing message intended to make that mobile transponder send an ultrasonic pulse, and second, by an addressing message containing a separate acknowledgement field, in which the mobile transponder's unique ID is encoded.
Description of Embodiments
First, the basic system described in the aforementioned Patent Applications will be described in detail, in order to facilitate understanding of the present invention. This basic system is shown in the accompanying drawings, in which:
Figure 1 is a schematic diagram of a positioning system; Figure 2 shows the FPGA configuration of the transmitter unit, Figure 3 is a schematic diagram of a mobile transmitter unit for the system of Figure 1; Figure 4 shows the FPGA configuration of the mobile transmitter unit on the system of Figure 3; Figure 5 is a simplified block schematic of the ultrasonic receiver unit; Figures 6A to 6C show how a standard ultrasonic receiver operates as part of a transponder in a complete system as shown in Figures 18 to 23 and Figures 27 to 36; Figure 7A to 7D show the operation of a modified ultrasound receiver, adapted to render it insensitive to spurious noise signals, in the system of Figures 18 to 23 and Figures 27 to 14 36; Figure 8 shows a standard ultrasonic transmitter as used in Figure 9, and in the systems of Figures 1 to 5, 18 to 23 and 27 to 36; Figure 9 shows how two transponders each incorporating standard ultrasound receivers can be mounted on a movable object such as a chair to indicate rotational movement; Figure 10 shows how component redundancy in a two transponder arrangement such as shown in Figure 9, can be reduced; Figure 11 shows a more complex ultrasonic transmitter provided in the system of Figure 10; Figures 12A and 12B are top (or bottom) and side view of an omnidirectional ultrasound source; Figure 13 illustrates a more directional ultrasound source; Figures 14A and 14B are top and side views of a transponder unit designed to be worn round the neck; Figure 14C is a view from above showing the directionality of the device shown in Figures 14A and 14B; Figure 15 is a view f rom above of the sound pattern which emanates -from an omnidirectional ultrasound transducer (or transducer group) when attached to or partly obscured by an object which is of acoustically opaque and/or absorbing material; Figure 16 is a side view of a person wearing a device such as shown in Figures 14A and 14B; Figure 17 is a top view of the person shown in Figure 16; Figure 18 is a block schematic overview of a complete system incorporating the present invention and also including a bidirectional radio link between the master transmitter unit and each of the addressed transponders; Figure 19 is a detailed block schematic of the clock generator in Figure 18; Figure 20 is a detailed block schematic of a zone manager of Figure 18; Figure 21 is a detailed block schematic of a matrix manager of Figure 18; Figure 22 is a detailed block schematic of an ultrasound receiver such as is incorporated in each room of the system of Figure 18; and Figure 23 is a detailed block schematic of a mobile transponder unit such as is mounted on objects in the rooms in the system of Figure 18.
overview of the drawinqs In the drawing a set of ultrasonic receiving elements are placed in a matrix on the ceiling of rooms in which the system is installed, and ultrasonic transmitters are placed on the objects to be located.
An addressable radio link is used to allocate timeslots, transmit the synchronising timing pulse, and allow transmitting elements to communicate with a coordinating device, eg to register an initial presence.
Radio waves are used because their speed of propagation is very fast, and unknown delays in the radio link will be very small compared to the timeof-flight of, for example, ultrasonic pulses used to measure distances. In this way, to a f irst 16 approximation, the measurements can be said to be synchronised, and the unknown errors will not significan.tly reduce the accuracy of the system.
Alternatively a wired network may be used between the fixed receiving elements to distribute a timing pulse. This has the advantage of being less prone to interference, and potentially of lower cost.
At least three receivers must detect valid signals for the system to be able to calculate the position of the transmitter, but if all L-he receiving elements are co-planar, there can be ambiguity about whether a transmitter is above or below the plane containing the detector - eg the ceiling or a room. This ambiguity can be resolved if it is known for example that all transmitters are always below the ceiling.
The informat-Lon gathered by this system can be used to automate computing and communications equipment in an intelligent manner. By locating the position of people and equipment for :acilJty or home example in an office, hotel, hospital environment, it is possible for example to route phone calls, dispatch a printing job to the nearest printer, automatically identify the nearest visible screen to a user (for display of - camera information requested by them), and intelligently selecL views in videophone conversations.
Avai labil ity of f ine-grain hich resolution loca--ion inf ormatioTn can allow new methods of human-computer interaction, e.a. connection of video and audio streams by bringing their endpoints into close physical proximity.
It may also be possible to use a transmitting unit as an input device, e. g. as a wireless mouse, a 3D poi=er, or for three dimensional gesture generation.
It may also be possible to use the information gathered by the 17 system to detect motion (by observing changes in the pos4.t-Jon of an objectover time, or by Doppler methods) and the presence -- - opaque objects (which may shadow rece.Lver elemer.=s), wl--,j'-ch can be deduced from patter-ns c T- -ecer)ticn oi:
the d-'s7-ance measuring pulses. Detailed descriction of the drawinas In Figure 1, the position system
operation -Ls as follows:
1. To find the position of a mobile transmitting device (transponder) lo, a PC -12 loads an 8-bit address of the mobile dev-1ce onto its parallel port.
2. A transmitter controller, based around a X)J_.J,.inx XC3020A FPGA (the FPGA configuration, is shown J= ----4wure 2) and interfaced to the PC para-111e17 port, reads address rive times a second, and generates a 40KHz da-l-a stream compr,:&-si,-ig a preamble and the address.Ercm the parallel bus of the PC.
3. The -'-0.-C-lz data stream is FM encoded crzo a 413t"YLHz radio link by a Radiometrix BIM4123 radio module 15.
4-. As t.,.le -first bit of the preamble _Js agenerated by the transmitter controller, a signal from that controller commands an ADC 18 (HP E1413/A) to begin sampling at a rate of 10OKHz 1k shared between all channel s --e-ing sampled).
F4cures of 'he draw-;nc-.s in the are=:-vered by the -he preamble address Wid comcare t:--.e syscem, c-c:c ur) I- 1 their own.
address w-:- if::-"--e addresses the mebi",--- device in juestion ',-ransm4j--,-s a- 750 microsecond pulse ot 40K1-1z ultrasound. T-,-,o-Jcal--y an arra-.r --jo five t:rar-sd-l.,zers is mounted on each -4ev-ce, typically -;= a hemispherical pattern (nor- shown).
i 8 6. The ultrasonic pulse is piCked up by one or more ultrasonic receiver units of which four are shown at 20, 22, 24 and 26. Those receiving the pulse process the signal in a manner described later before passing the processed signal to t-he ADC 18, which is set to sample them when i. nstruczed.
7. After the initial command to begin sampling, the ADC continues to sample at 10OKHz for 20 milliseconds and the samples values are stored. The stored sample va-',-,.-,es are passed over a serial interface to the PC 12. H? Vee software i's loaded into the PC to manage the sampled data, find signal peaks, determine transponder- receiver distances, and calculate a-rid position -relative to the receivers of zhe mobile device that was addressed, using the algorithms described herein before.
In addition zo the unique address for each transponder, at least one additional item of information (a weighted h.4erarchy indication for schedule positioning, or "W-H--.SP") is stored in a manner which can be associated with each unicrue address and the transmitter controller -'s programmed -.c., select from the addresses of the transponder next to be pollied, using the WHISP values to determine the order of addressina.
A WHISP may be stored for each, unique address, and it is the WHISP which must be changed to adjust the subsecruent addressing of the transponders.
Alternat-Lvely a set of standard WHISPS may be stored and an associac-on between each uni=ule address and cne of the standard WHISPS is stored for each. unicrue address, so that an appropria,7-e WHISP is linked z:o each unique address. In that event onIv the associations need to be ='.iancred so as to influence the subsequent addressing ciE --he transponders. Likewise a change to one (sta-ndard) wHIS? w-4111 mean that: all he associated addresses w.LI be given a new hierarchial position.
19 For complete flexibility unicfue addresses, WHISPS, (and/or the associations between unique addresses and lerHISPS) can all be changed to allow for the entry or exit of transponders into and out of the environment, and to alter the manner in which -those in the environment will be addressed by t-he coordinating control system.
In one examnle, the WHISP may be a SiMr)le 10-LiC 1 or 0 to indicate whether the transponder combination is to be addressed or not.
The WHISP may comprise a priority or we-igh'---.ng measure to determine the order or rate at which the transponder is to be addressed.
The WHISP may comprise two items of information, firstly for example the length of time since the transponder was last addressed (which may be continually undated by clock information) and secondly for example a rate of interrogation L P 11 figure to be achieved by the system for that transponder.
-tter controller may compile a list of transponders he transmto be addressed in a sequence by interrogating all of the unique addresses and their relate WM'SPS and compiling the order in which they are to be interrogated using the current WHISP information.
Thus in one arrangement the transmitter conr-r--,',er may create a schedule of- unique transmonder addresses usi-lg the WHIS? data, and arrance the order of the addresses in the schedule, and there-fore the order in which they are --c be The schedue is then used to determine the encoding of each trigger burst from the radio module 16 and thee order in which the transponders are therreby nterrogated.
The FPGA configuration of the transmitter cOntroller of Figure led in Figure 2.
1 Ls detai In Figure 3 the operation of a mobile 7_ransponder is as f 01 lows:
1. At power-up, the Xilinx XC3020A FPGA uriJL.-.- 28 downloads its configuration from a Xil-imx 1736PC serial -:l,OM 30(the -----PG-2k configuration is shown in Ficure 4) A- KIC16C54 m-!crccontroller 32 enables a Radicmetrix 3IM418 --a,^'c module 34 and a 4MHz Xillinx clock 36 (bu-,'---,-t around a 4,vg----z crystal and a 74HCTOO IC).
2. The XC3020A unit 28 monitors incoming 40.C-lz received data until it detects a r)ieamble and 8-bit address. it L-hen compares the received address with its own (stored in i ts serial PROM), and if the addresses are idenz-Lcal it drives f ive ultrasonic transducers such as (Farnell Electronics part No. 213-214) at 40KHz for 750 microseconds (o_ which one is shown at 38).
3. The PiCI6C54 microprocessor 32 then disables the BIM418 radio moduLe 34 and 4MHz clock 36, and places the XC3020A uni 96 seconds. it 28 into powerdown mode, to save nower, for 0. then re-e- nab';es these components and step (2) is followed again.
-yc)-; call Lum Power is 1. _ - ly derived from two 3.OV 'halfAA lith:
thionyl chloride batteries, regulated to 5V by. an LT1129 IC.
on of The FPGA coniE-:Gurat Lhe::ransmitt-er of -Figure 3 is detailed in Figure 4.
The operation of the ul--rason--c receiver -n Figure 5 is as follows:
i The ultrasonic sanatransducer such as denoted by 40.
s detected '--v an ulltrasonic a Farnell Electronics z)ar-,- No. 213-2265 21 2. This signal is amplified (typically by a factor of 56) using an inverting amplifier 42. Typically this is built around one-quarter of a TL074 quad op-amp.
3. The ampliffied signal is rectified using a:-,-ill wave active rectifier 44. Typically this is built around one-half of a TL074 quad cp- amp.
4. The rectified, amplified signal is smoo7----ea using an RC circuit 46 to obtain a signal which represents -the envelope of a rectified version of the original signal.
5. This sianal is uassed to the HP E1413/A A-EC 1-8 (see Figure 1) via an Rj45 jack plug and one wire of a four wire network, which also supplies the unit with +5V, -5V and power lines.
Standard rece4ver A number of these are located at known locations around the environment (room) in the ultrasonic posit -c)n--,'na system.
As shown in Fi, gure 6 (A), each receiver 47 is triggered by a central controller 48 across a network 50. a timing or reset sianai. 49, the receiver monitors sianals from a 40KI-1z ul trasonic detector 52 for 2 Oms as depicted in 'Figure 6 (B), and E the time at which the incoming signal peaked L.-r the first time is determined and held in the receiver. After th.e 20ms window cioses, the central controller 48 polls each reeceiver across the network 50 as denicted az 54 and 56 in. --- z_ure 6 (C), and retrieves the -time value. T-.-e value f--o-,i eac.- receiver is either the time after the window opened at the signal first peaked, or is zero (which indicates that no useful signal was detected).
Reducinq system resoonse to szur-4ous acoust-4--- sianals To -confer noise immunity a ---,jo channels and two ultrasonic 22 detector are provided as shown in Figure 7. The first detect-or 52, and first channel 58 are sensitive to 40 kHz and the second, 60, 62 to another frequency eg 25k.Hz.
When the rece--ver is triggered, both channels are -reset and monitor t'--.e incoming s.; - - ignals -o-- 20ms, and det-ermine the times (a,b) at any received signals peak for z'he Jr-51rSt. time as shown in Ficure 7 (B).
greater than 0, - The value b is checked and i4 -he value of a is forced to 0, also, as shown in Figure 7 (C). If b ecruals 0, a is available to be returned to the central the value cl controller.
When the central controller 48 polls each receiver 47 across the network is shown in Figure 7 (D), and noted by 64, the time value a from the first channel 52, 58 is returned to the controller 48, as denoted by 96. if the second channel value b had been non-zero (indicating that a spurious acoustic signal was detected), -L-hen zero is returned to the ccnt:roller -from the first cha=el ':-,2, 58.
Z Transmonder desian A standard receivertransmitter (transponder unit 68 (such. as item 10 in Figure 1) is shown in Figure 8.
This comprises a radio receiver 70 which picks up encoded FM -E io::ransm-t:ter (16 in signals ----1 --'-le 418MHz band =om a rad- -gure by a cenz:ra-", coord-J---azJ--i= device 48 (not shown) c 72, whicl.
These sianals are passed -----c)ugh decod-c: 'ca.
:Dresents --,e address in any decoded message, to an -es the address address comzarator 74. if t-he latter ider.--. in the rressacTe as that of the transtDonder stored in ROM 76, it gers a sJgnal generator 78, w-h-' ch drives a set of 23 ultrasonic transducers 80 to transmit an ultrasonic pulse.
Two such standard transponders 82, 84 are shown in Figure 9 attached --c two spaced apart points on a c--.a-r 86.
Since the two transponders 82, 84 contain s--n-lar duplicated components, an alternative arrangement is possble as shown 'n Figure 10. Here, a single receiver and con?--rol unit 88 drives two individually addressable ultrasonic transducer sets, mounted at L-he same points on the chair 86, 90, 92 as were the standard transponders 82, 84.
The alternative arrangement is shown in more detail in Figure 11. The unit 88 is made up of a radio receiver 94 which picks up the encoded FM signals in the 418MHz band from the central transmitter. These signals are passed through decoding llogiC 96, which presents the address contained in any message detected to an address comparaz-or 98. The!atter is associated with a lookc-up table 100 containing in this case two rows 102, 104. Each row stores a transducer address and a port number (e.g. If transducer set 1 is attached to port 1, one of the rows will be the ordered pair (1,1)) If the address comparator identifies that the address in a recelved radio message matches one of the transducer addresses in the lock-up table 100 it triggers a signal generator 106. The address comparator also controls gates 108, 100, to direct the output of the signal generator 106 to the port. identified by the porz number in the received transducer address. It can be seen therefore that the number of -radio receivers, decoders, comparators and signal generaz:ors required by a system where two or more ultrasonic transmitter transducers are to be mounted as s--rigle objects, can be reduced, with consequenTZ economies.
Two g--oujs o4: ultrasonic transducers 112, are connected separately one to port 1 (co.-.trolled by gate 1C8) and the other 24 to port 2 controlled by gate 110.
Introducina direct: ionalitv into the transducers Since ultrasonic transducers tend to produce a sound wave over a relativelly small solid angle, and are therefore rather directional. A less directional transducer -1s shown in Figures 12A and 123. This comprises a spherical body 116 from which protrude a plurality of reguIarly spaced t- rans duce rs, one of which is shown at 118 in each of the views.
If the spherical unit 116 of Figures 12A and 1213 is mounted so that its lower half is acoustically shielded, none of the lower transducers series any useful purpose and could be omitted. Such a unit is shown in Figure 13, where the hemispherical body 120 carries transducers 122.
The device 120 is shown mounted on a housing 1-24 which may contain electronic components making up the transponder. Less than half the number of transducers are required than in an omn-Jd-i--ecti:onal source such as shown in Ficrares 12A, 12B.
Figure 14A shows a transponder 126 capable of being worn by a nerson around their neck for example on a chain 128. As seen in Figure 1141C, the ultrasonic: transducers 130 car. be arranged to give a relatively narrow beam 132 which will project in finding the position of the person front of the person 134. By 134 and:'--.e iccations of the receivers (20, 22, 24 etc:
Figure l) at which the beam is detected, i-- is possible to deduce which way the person is facing.
Dejvatic-i of orientation infor-mation Where the objects on wh-J----transponders omnidirectional (standard) are attached are opacrue or reatively opaque to ultrasound, it-- is possible obtain infermation about the from the data collected by the crientat---Jon of those objects Areceivers such as 20, 22 etc in Figure I. Consider a transponder 136 attached to a known point 138 on such an object 140, as in Figure 15. The opacity of the object: 140 ensures that the only sound energy 11412 which can leave its vicinity does so in the direction 144. This effect may be amplified iff the transmitter is itself directional to some degree.
By interrogating the receivers (20, 22 etc (.7-JaUre 1)) in an environment containing such an object and performing a calculation on the information they provide, the location system can calculate in three dimensions the position (x,y,z) of the transzonder 136. The location system also knows the posi t ions (u., v wJ (u., v,, w, j_ of the n rec:e4vers that have detected the ultrasonic signal. Using the known location of the transponder on the object and the known locations of the receivers, the direction, relative to the object, in which the ultrasonic energy will have lef t its vicinity, can be deduced. Correlating these three items of informa.on allows the object's orientation to be determined, where the position of point 138 relative to the ob-;ect 140 is kmown.
J An example of how this can be derived will be described with reference to Figures 16 and 17 which show a standing person 146, who ccan face in any direction and therefore be said to be rotatable about a vertical axis 148, relative to a horizontal array of receivers one of which is denoted by 150.
The person 146 is wearing a transponder -1-52 on a chain around his neck. in this case, the sound energy is d4rected in front Of L-he person, with the of the bean, in the same vertical plane as the direczion in which -.-,ev are fac-ing.
Figure!8 shows the person from above and t-he area in the horizontal plane over which sound energy will be radiated from the ul--rason-Jc transducers on the transponder 152.
First it is necessary to commute the mean point of detection of the ultrasonic signal on the ceiling (u,v,7i) given by 26 Equations (5), (6) and (7) Secondly, t_he vector (a,b,c) is commuted the transponder to the mean point. The veer-or a, b, c, _Js commuted using Equations 18, 1,9) and (10).
The vector (a,b,O) usually can be taken to be a good est-imaz:e of the horizontal direction of the middle of the sound beam leaving the object's vicinity, and can be used --o calculate the -ated around a direction A, in which the person is orient -al direction vertical axis (relative to some other hor-Jzon+L specified by a vector (m, n, 0).
The value of A in the range (-7r,-7r] can be commuted from the values of sinA and cosA given by Equations and (12).
The value of A can be used as an estmate o -he direction in which the person is facing.
Figures 18 to 23 illustrate a position detection system embodying t--"-"e invention and th.e separate parzs making ulp the system.
Commlete svstem Figure 18 is a block schematic diagram of the complete system in which a Scheduling PC 154 dictates one of a set of Mobile Transponders (one of which is shcwr-, -=- i_56) are to be addressed in each of 25 times-lots per second. Addressing messages generated by the Sch-e-dul, ing PC are sent to Mobill e Transponders via a Zone Manager IS8, which- also passes registration messages from the Mobile Transpcnders 156 back to -he Schedu--irc PC.
Ultrasonic signals generated by the addressed Mobile Transponders 1566 in respsonse --o the address---.g messages ser.-by the Zone Manager, are detected by a set c: Receivers three 27 of which are shown at 160, 162, 164 attached t:o a Matrix Manager 166. Typically, there will be one Matrix Manager and L, a set of Receivers per room (or other space in which ultrasound is confined).
I A Positioning PC 168 connected to the Matrix Manager 166 derives the air temperature of the room in whic'n. the polled receivers are located via a thermometer 170, and polls the Receivers 160, 162 etc to retrieve the three measurements derived from the received ultrasonic signa'Ls, and uses this data, and the measurement of air temperature in zhe room 172, to calculate the 3D position of the source of the ultrasonic signals.
A second set of receivers (174, 176, 178) in a second rom 180 are a"ilso shown, with associated matrix manager 182 and positioning PC 184. Other s4tm-ilar set-ups Can be provided for each room in a building, each linked to a cent--a",,. area manager 186.
L. - rif orma- ic, L, n from he Schedu14r.g PC and the Posizioning PCs is collated by an Area Manager 186, which produces a stream oil location events that may be sent to users or applications. In order to perform this collation, elements of the system must be synchronised - this is achieved using a 251z s..Lgnal from a Clock Generator 188 and init-alising PC 190.
Radio signals are transmitted to the mobile transponder radio receivers from a master rad-:--- ----1-ansmit-er/'rece--ve-- unit -185 operating at 418 MHz with FM encoding.
Individual parts of the system ( 11) Clock Generator (Figure -19) The Clock Generator 188 sends an accurate 2SHz clock pulse and q obal t ime value to the Zone Manager and the Matrix Managers 28 across a serial network. The generator has a 2SHz 192 clock which drives a time store and counter 194. The time store holds the current global time value, and the counter increments it with every culse. An initial global t-i-r.,e value may be -loaded from a the PC 190 connected to the Clock Generator (see Figure 18).
After incrementing the current global time value, that value, and the clock pulse are gated to a serial network interface 196, which distributes th. e s e signals to other system components, so as to synchron-ise them.
(2) Zone Manacrer (Figure 20) Each zone manager (158) in Figure interface between the sch-edul ing transmitters. As shown in F-Lgure 20, which is filled by the sche,.ul'ng PC be transmitted. When thisprocess 18) handles the radio PC and the mobile it has a data store 198 with the next packet to is cc-Ln-Dlete, the zone manager unasserts the "Ready" status line. Cn receipt of a clock pulse from the synchron-isation network (200) along 202, ated tJ the zone manager stores the assoc- --me in a time store, 204, and triggers a message generator 206. The message generator sends a 136-bit preamble followed by a Manchester encoded copy of the stored packet at 40kbcs to the transmit side of a 41-BMHz FM radio transceiver 208, thus sending a DC balanced copy of the desired messace to the mobile transmitters.
After se.-idJ-g t'he message, zone manager:--:=ge--s a message decoder 2110, which looks at incoming s4zna's c-;cked up by - -- - - J.
the receive side of the transce-Lver 208. -snv incoming radio message se= by the radio transmitting secz-on of the mobile transpc-nder is decoded and error-checked, and if the message is valid it is stored in a 7r. essage store 212.
When time has been allowed for the outgoing Tmessage to be sent 29 and any incoming messages to be detected, the zone manager asserts the "Ready" status line, indicating that the scheduling PC can re,7-4ew the stored time and any stored message. To this end the scheduling PC controls data path switch 214 to supply trigger::une (from 204) and/or message (from store 212) as appropriiatee, before loading th-e next packet to be transmitted.
The global clock synchronisation network signals pass unchanged through the Zone Manager.
(3) Schedulinq PC The scheduling PC 154 (Figure 18) is programmed to determine the order in which mobile transmitters should be addressed based on the Location Qualities of Service (LQoS) assigned to them (either statically, or dynamical'y by users and applications) The scheduling PC also construc--s the packezs to be sent to mobile transponders (via the zone managers), and performs resource reclamation.
The algorithm used to choose the next Mobile Transmitter to be addressed _Js described as fol--.ows:
Schedulina alqorithm Consider a system having the following parameters:
(I The length of a timeslot --s 40ms (ie the system i s capable of dete---.n----.-!a 25 -:)cs 4.ons mer second) (2) The transmitters each 17-a-.re a unique 16-bit- address (3) The reserved address 0 is transmitter.
not allocated to anv (4) Everv transponder is also a member c-' one transponder - identified with a - i group, a so 6-bit number (aga n, identifier 0 is reser-,ied).
(5) The scheduler is a CORBA-based d-'----r-ibuted software programme (Object management Group, The Common Object Reauest groker; Architecture and Specification. R=--.r-Jsion 1.1, OMG running on a Document Number 91.1-2.!, December 19911 ion.
(6) Location Quall itv of Se-rvice (LQoS) is expressed as an integer representing the desired period of,ocs.-.'.tioning (eg an LQoS of 25 requests one pos-i,--j:-on every 25::-1:.meslots, ie once per second).
In accordance with the inventon, the scheduler is adapted to maintain a scheduling table stored in memory. Each row of the -able contains six entries:
A 16-biz: transponder address, a 2. A 16-bit _croup identifier for the transmonder, a 3. The LQcS for the transponder, 1 4. A real number called the Effective LQoS!,or ELQoS), 5. A real number called the score, s 6. A bit called the slotswam bit, b.
A row in the table is described by an ordered sixtype (a, go 1, e, s, b). A global flag called,excess -demand', (to be described later) and an intec -L er called,!as::-arour)" are also maintained bv the scheduler.
When the sclheduler process is -:n-l---Jal-Jsed, the sc,.edul-i.-ig tabie is empty. A single row (0, 0, 1, --, 0, false) is --,nmed-ia'L-ely added. This entry represents a dummy transponder. The excess-demand flac is set to false, and the last-group is sez to zero.
Adding or cnancing a reauest An operator (user) or software applicatic-n can contact the 31 scheduler over its CORBA interface to indicatte that the location requests for a transponder group should be added or changed. It should be noted that if two or more transponders are members of the same transponder group, their location requests should not be capable of being added or changed separately. Furthermore, the requests the dummy transponder address 0 and dummy transponder groun ID 0 will be ignored. The user or application passes the following information to the scheduler:
9, the transponder group identifier 1, the deslred LQoS for members of this transponder group a, a, J_ mem.Ders of -this , the transponder address oE transmitter group.
For each transponder address a,,... a,,, the scheduler then adds or modifies an entry in the scheduling table.
For values of i between 1 and n, if a row of the form 1 a,,g,,1,,e,.,s,,b,.) is present in the table, i= 'Is updated to (a,,9,1,e, ,s.,b.), otherwise a row (a.,g,1,0,0,.-t"a-',se) is added.
The scheduler is then arranged to recalculate -the ELQoS for each of the m entries in the table.
First, it cal culates the total level of LQoS demand, (t), where t is given by Equation (1).
Next it updates the ELQoS for each of the n ent-----es in the scheduling table,,, with a new value e'.. II:E: is less than 1 ' is gven by Equat-:on, (2).
I then e'. i L - Otherwise, iff t is greater than or equal to 11, e' Ecruat Lon (-,,).
Deletina a reauest _ is given b,,, 32 When a user or application contacts the sc-------J,-,-1er over its CORBA interface to indicate that a location request for a transponder should be deleted, it also passes the address of that transnonder a., to the scheduler. (The entry correspond ing to transponder address 0 may no- be removed). T the scheduler finds that an entry for L-hat =ansmonder is : t- mresent in the table, -L- -removes the corresponding row (a-,g,,e-,s,.,b,. ) from the table. The sch-eduller then updates I other row n the t ab 1 e (k, g<, e., s., bc) to where the value of S'., is given by Equation (4), every r. Equation (4) 11 is equal to the number of -rows in the table before removal of the location request. Mhe scheduler I recalculates the effective rates based on the remaining table entries as described in the -crevious section.
Allocatina timeslots Once every 40ms, the Scheduler must tell the central coordinatj'.ng device (across a COREA interface) the address of the transponder which should be located next. 7-u- does this by examining the contents of the scheduling table and any attempts to uiDdate the table are blocked until this examination is complete.
First, the scheduler steps -hrough each row n the scheduling table. Ilf the last-group re--ster does not 0, and the scheduler encounters a row which the transponder g--ou-D 11D -f the last-group re=-s-L-er, and in is the same as the contents which the swam-slot bit is false, it sends the transponder address contained in that r--w to the coordinazing device, and sets the swam-slot bit on t--- a: row to 'Itruell.
Otherwise, the scheduler o-cera:es in accordance with the following aIgorithm:
33 (5) 1 Choose the row in the table with the highest score (a,:, g, 1, e., s, b,).
2. If b, is false, for each -row of the table which has the transmitter group ID g, set the swa-psiot bit to false. Then, update each row in the table (a,,, g,, e., s., b,,) to (a., g., 1, e., s', b.) where s 1. is; given by s'. = (sx + -', /e,,) Next, the single chosen row irl the table is further updated to where sllc=slc-1.
The lastgrOup register is set to g,,.
Finally, -.,,ie coordinating device is informed of the address aof the ---arsr)onder that should be located next (if a. is zero, this indicates that no transmonder should be addressed in the next timeslot).
3. If b- is true, up da tt- e each (a., g., 1, ,, e.,, s,,, bx) to (a., g. g lx l e. f Sx, b,,) computed as above.
row in the table where s 1, can be Next, the single chosen row in the table is further updated to (a..q., 1c, ecf s11r, false) where src=s'c-1. The row in the scheduling table with the highest score is chosen again, and the above stems are retaken.
once the next mobile transmitter' s address has been determined, the scheduling PC determines w-'nether an application requires that an "Ouz; Du"L. Data Value,, sh-culld be sent to that transmitter. it also dietermines whether acr). cations have indicated that the r-ransmi--:er is no longer responding to addressing messages (perhaps because it has been removed from the range or all the receivers = the room or building in the case of a mult-i-zone system). '_7f so, the transmit or drop bits in the next message should be set, to check the s.J'-7--ua-t--&;.on, or reclaim resources (as 34 described above).
The s c h e du -1. 1 -na P C also determines whether any mobile transmitters should be woken mrematurely from a sleeping state, in which case the wake bit should be set. It also can acknowl, edge that a mobile transponder has been registered w. h the system whether this has been done by an operator, or an application according to data/r--ime or data forcing L-he system o look for a marticular mobile transponder address or has been achieved automatically. the score) and e (the Effective Location Quality Two values, s (,of
Service) associated with the mobile transponder to be addressed, and maintained by the scheduling algorithm, can be used to estimate a time for wh-Jch that mobile transponder may go to sleep. it can be shown that, assuming the LQcS demands managed by the system do not change, the mobile transmitter w.41111 not be addressed in at 1 east the next st timeslots, given by Ecruation (13).
A message packet is then constructed from the collected information. The packet has a number of Cyclic Redundancy Cheek (CRC) error checkina codes embedded within it (the standard CRC-8 code is used), and its format is given in Table 1.
f no data value is to be senz to the mobile transmonder, the Outzut Data Value field is se= to 255. Simill if no mobille transponder registratiens reauire acknowledgement, t h e Registrat--'cn,- Acknowledgement fleld is set to zero.
The messace oacket is loaded -'ntc the zone ma.-age--'s Data Store 'n 8bt chunks. After t'-e last chunk s loaded, the scheduling PC start to continLuously poll the zone manager's "Ready" status line. This line is asserted when the zone manager has transmitted any stored message where the radJo receiver section of the transceiver 208 is being employed.
At this time, the scheduling PC retrieves (from the zone manager) the time at which the transmission was made, and sends an event of the form (identifier, time) to =he area manager across a CORSA interface (Object Management Group, 7-7he Common Cbj ect Request Broker; Architecture a na; SDec-',ficat-ion. Revision 1. 1, OMG Document Number 91.12.11, December 1991), indicating the 16-bit identifier of the addressed mobile transmitter and the time of addressing.
Finally, the scheduling, PC retrieves from the zone manager any incoming message sent by the radio transmit--ar of the address mobile transponder (where fitted and ut-i-lised). Any such message w-J-1-1 contain an address and button status bits. The scheduling PC must deal with any registration request detected in this way, and/or inform any appl-ica::- 'cns which are interested in "Button Pressed" events from mobile transponders.
It then identifies the address of the next mcbile transmitter by repeating the scheduling process described in this section.
(4) Matrix Manager (Figure 2i) The matrix manager shown in Figure 21 resets ultrasound receivers (eg 20, 22 etc in Figure 1) connected to it, at a precise time, and acts as an interface betwee.r- the positioning PC and those receivers.
On receit-,: of a clock pulse alona 216 from the synchronisation network 200, =he matrix manager stores the associated time in a time store 218, waits f-or 9.65ms to a!low the radio message to be sent and sends a 11Reserll signal over its Downs-ream Network interface 220 t- the ultrasound Receivers connected to it. After 20ms, --.--e matrix manacer asserts the "Results Ready" status line, whic.- indicates to the positioni-ng PC that the receivers will have made their 26 measurements, and that the positioning PC can now use the "Outgoing Data,, bus to poll those receivers to determine the results.
The r)os-i.on..ng PC can also retrieve the time at which L-he receivers made their measurements by recover--nF the time held in the t"me store 218. ir- can also rezr-ieve the latest the temperature in the room measured by a measurement: c. temperature sensor 222, the output of which is continuallv -;n memory 226 for retrieval for digitised by ADC 224 and stored. example when the receivers are reset.
The positioning PC can also send commands to the ultrasound receivers through the 11Outgoi7-g Data" bus to change the peak detection algorithm or thresholds used by -t-'-lie ultrasound receivers.
When the pcs.J'.t--',oning PC asserts the "PC Ready" status line to indicate that it has performed all necessary actions associated with the current measurements, the matrix manager unasserts the "Result Ready" status line and prepares itself for the next clock pulse.
Results from the Receivers are accented via the upstream Network Interface 228. A Data Path Selector switch 230 (Figure 20) allows the positioning PC to retrieve those results or the cl' lgital temperature measurernen.7_ from 226, as desired.
hronizaticn network signals pass unchanged The alobal c"-,cck sync., throuch eac.-. matrix manager in- T--urn.
(5) Receiver (Figure 22) The receiver shown in Figure 22 detects ultrasonic signals from the transducer on the mobile transponders, and converts them Jgnals to determ- to electric signals and processes those s. the time at which the receiver- ' acoustic signall peaked for the 37 first time. Receivers are connected in a serial daisy-chain to a matrix manager by two networks - an unstream network, 232 which carries information to the matrix manager, and a downstream network 234 whic:'..1 carries information from the matrix manager. Each receiver has an address which is unique amongst t-hose connected to the same matrix --,ianager, allowing it to be polled by the positioning PC also connected to that matrix manager. The address may be coded for example by settina switches 235 on the PCBs of the receivers.
When a receiver detects a "Reset" signal condition on the downstream network 234, it resets an on-board counter 236 and peak detection circuit 238. For the next 20ms, the counter is updated at a frequency of 20kHz, and the peak detection circuLt monitors a signal from a 401Mz ultrasonic transducer which has been ar-,ipl-':-ied in 242, rectified in 244, smoothed in 246 and digitized Ln 248.
the signal has When the meak detection circuit indicates that- 1 peaked for the first time, counter 236 is stopped.
if the 20ms window closes before a peak is detected, the value 0 is formed in the counter.
After the 20ms period, the receiver may be polled by the positioning PC via the matrix manager and the downstream network 234. If an address comparator 250 in the receiver -iinked to the switch coded address 235 detects that the receiver is being polled, th.e stored value in the counter is sent back to the positionincr PC via the upstream network 232 and matrix manager, together with error- chee.c----ic information. Incoming information from other receivers on the upstream network is b";ocked during this -jeriod.
Additional lines on the downstream network 2-34 can be used by the positioning PC to change the peak detec:or- algorithm used by the Receiver. Two algor--'-,-hms may be used:
3S Stop the counter when the signal has riser, above a certain absolute threshold and when the signall peaks for the first. time. This is the default algorithm.
St-op the counter when -the signal has risen above a certain threshold relative to the lowest signal value seen so far. this alacrithm is more usefuI when L-he offset a,'- the receiver amplifier is liable to change.
The threshold source may be a bank of sw-Ltc-,,.es 252 on the receiver PC3, or a threshold memory 254. The threshold source may, again, be changed by the positioning PC by using lines on the downstream network. To set the value in the threshold memory 254, the positioning PC sets the mall address on the downstream network to the new value, and then asserts further lines such that each of the receivers load the poll address value into a temporary thresInold memory 256. The positioning PC then sezs the poll address on the downstream network to the address of ---he receiver whose t."ireshold must be altered, and asserts further downstream network lines to transfer the value from the temporary threshold memory 252 in-to the threshold memory 254 of the appropriate receiver.
(6) Mobile Transponder (F-Lc_=ure 23) The mobile transponder shown in Figure 23 can be attached to objects, and generates ultrasonic signals 258 by which its position and possibly crie.- ltaz-'lon can be determined.
Incomina radio messages frorn a zone manager are picked up by a 418MHz E7M Radio Transce-J-,rer 260 and decoded by a message decoder 262. The message decoder also uses error- checking information in the incoming messages to determine if bit errors on the rado link have occurred.
After the message has b e en received, the power-saving supervisory circuit 264 swit---.:.-ies off the receive side of the 39 radio transceiver 160.
A message generator 266 allows the mobile transponder to contact the zone manager through the transmit side of the radio transceiver 260. The message generator is used by a registration controller 268, which handles ar-emcts to make the zone manager aware of the presence of the mobille transponder, and is also activated when a user presses one of two buttons 270, 272 on the transponder (if fitted).
If a good message is received, the message decoder compares the transmitter address contained in the incoming message with that stored in ROM 274. If the addresses match, then:
1. A trigger signal is sent to a pulse signall generator 276, which drives a set of ultrasonic transducers 278 (arranged around a hemispherical shell) at 40KHz for Sogs to produce the ultrasound zulse 258.
2. A counter --.,i the power-saving supervisory circuit is loaded with the value of the sleep time in the message (via line 280).
3. If the drop bit in the message is set, a registraton controller 282 on the mobile device is informed that the zone manager will- no longer address this mobile transmitter. The registration controller will then begin attempts to register with the zone manager. If the drop bit 's not set, but the mobile transmitter is attempting to register with the zone manager, the registration controller 282 is informed that the Eul, and JLz need not attempt re,listrat---icn attempts were success: to register again.
4. If the transmit bit in the message is set, the mobile transponder prepares to -Lmmediately transmit its address over its bidirectional radio interface (260) to 208.
5.
The 8-bit Output Data Value in the message is sent to a 10 way data pori: on the mobile transponder (the sc--t: also includes a ground line, and a strobe line which indicates when the data is valid).
if the message doctor indicates that the "jnc--m-ing message s not for current transmj-t---,-er, but that registration acknowledaemen.t field contains the address of the current transmitter, then the registration controller 282 is informed that the zone manager is now aware of this mobille transponder, and that no more registration attempts are needed.
A.fter the incoming message has been decoded, the mobile =ansponder may attempt to send a data packet back to the zone manager through the transmit side of the 418MHz radio transceiver 260. This behaviour may be caused by a number of events:
1. The transm-It bit in the incoming message was set, and the transmitter address encoded in "-he incomina message is the same as that of the mobile trans-conder.
2. A button switch on the mob-J'-'j-e transponder 1-as been pressed.
1 3 The registration controller 282 is atle=.t-ing to register the mobile transponder with tIhe zone manager, and the transmit bit of the incoming message 's not set, and the probabilistic "Slotted AL.OFIA-11 contentionresolution protocol (driven by a pseudo-random number generazor) indicates that the mobile transponder should attempt to send data to the zone manager in this timeslaz.
If one of these events does occur, a message generator wa-it--s a 25gs turnaround t-Lme before switching on --"--ie transmit s.de of' the rad-o transceiver 260, and sending (aT- --1okbps) a 108-b--"t preamble followed by a Manches--e--- encoded version c-' the packet whose formac: is shown in Table 2.
41 A cyclic redundancy check code may be included in the packet to detect link errors or collisions with transmissions from other mobile transmitters. A standard CRC-8 algorithm is used to generate the CRC.
After transmission of the preamble and packet, the message generator switches off L-he transmit side of the radio transceiver 260.
The power-saving supervisory circuit 264 is used to control other parts of the mobile transmitter in order to save power. It is driven by a 32kHz' clock 284, which a!lows it to be lowpowered itself. The prime function of this circuit is to turn on the receive side of the radio transceiver 250 every 40ms, so that the next incoming rad-Jo message from the zone manager may be detected and decoded. However, if the sleep counter is not zero (indicating that the mobile transpcnder may enter an even lower-powered sleeping state), -,-he power-saving supervisory circuit 264 decrements this counter once every 40ms, and only activates the receive circuitry of the mobile transmitter 260 once every eight timeslots (so that the wake bit periodically may be checked). The power- saving supervisory circuit 264 also controls an 8MHz clock 265 which is used by the message decoder 262 and message generator 206.
If the message decoder 262 indicates that t.-.e wake bit in the incoming message was set, then the power-savina supervisory circuit 264 sets sleep counter 286 to zero. This action ensures that the transmitter will check each JIncoming messace until it is i-nszructed that.':: no lonaer needs zo do so.
If the message decoder 266 indicates that an error occurred or.
the radio or that no message was rece--ved when one was expected, t:he mobile transponder will enter a "Searching" mode.
!.-. this mode, the low-power supervisory circu:Lt switches on the receive side of the 418MHz rado transceiver 260 approximately once every 80s, for a per-Lcd of just over one second, and the 42 registration controller 282 is informed that it- should attempt to register with the zone manager. The "Searching" mode is also the default state of the mobile transuGnder when it is or the first time.
switched on (7) Posi---4oni.riq PC A 200M1.11z Pentium-pro!BM compatible PC with. a 48 line paralle., digital 10 card may be used and the same hardware is suitable for all Pes shown.
Associated with each matrix manager is a positioning PC 154, 168, 184 which computes the compositions of mobile transmitters from the --i'me-of -flight values determined by receivers 160, 1672 etc (whose surveyed positions are stored in memory by the positiionJna PC). it continuously polls the matrix manager to determine whether the receivers have been t--.'-ggered and have results which should be processed. When the "Results Ready" status line is asserted by the matrix manager, -.he positioning PC (via the matrix manager) polls each of the n receivers connected to the matrix manacrer, retrieves a data value from each (aloncr with error check4 na information), and unasserts the "PC ReadvII status line.
For each receiver that returns a good non-zero data value (ie. the error checking information indicates a coad data value, which, being non-zero, indicates a signal was detected by that receiver), that data value is used to calcula--e a transmitterrez:eiver distance. The positioning PC inzerrcaates the matrix manager such as 166, 182 and determines the current temperature of the rcom, t (measured in OC). it is::--en possible tocalculate -k-'ne speed of sound in the room, c, from equation (14).
Call -Jb--at-J--n cof the system during installation provides a value, d, for the 'fixed delays in th.e system (such. as the time taken to decode the radio message by the mobile transponder). From 43 the pulse time-of -flight, f_. from the mobile transponder to receiver -1, the corresponding transponder-receiver distance l., can then be calculated as L=cx(f,-d) If a mobile transponder is at L-he coordinates (u,v,w) and the distance from it to a receiver at the coordinate (x, y, 0) is -1, are that a receivers lie in the plane of the ceiling. It: car. be shown t_hat 1' is given by Equation 15.
Equation -7 can be regarded as a nonlinear model, see Myers, R. Classical and modern regression with Applications, PWS-KENT, 1990, and can use nonlinear regression to fit the values of 1,x and y for several receivers to this model. This gives estimates -a, ' and Cv. This allows the determination of a best least-scn-,ares estimate for the mobile transponder's position as the coordinate (a, 0, -VCv), taking the negative square-root 4x the transvonder below the ce4ling.
-o o f W' t A shadow solution ( 1%ia, v, - -) corresoonds to an im-oossible transmitter position above the ceiling. The non-linear model has three f a- least three degrees of freedom, and knowledge o; transponder- receiver distances is therefCre required to -e - calculaf the mobile transponder's position. Furthermore, the model cannot be fitted to the data if all receivers that detected a signal are collinear.
Reflected signals from objects in the environment can lead to incorrect discance measuremen=s. Normally, the first signal peak detected by a receiver will be due to a pulse travelling along a direct line from the transponder. This pulse will arrive be-fore any reflected -Dulses, wh-Lch must travel along longer paths. The distance thus measured by the system wilbe that o_f a straight line jc--lning transponder and receiver. Occasional ly, however, the di rect path may be blocked, and the first received signal peak will be due to a -reflected pulse. In this case, the measured t--ra-4-isponder-rece-iver distance will be greater than the true dis---ance, leading tc an inaccurate estimate of the transponder's position.
44 Two techniques have been developed for identifying and eliminating inaccurate distance measurements. First the difference of two transponderreceiver distances cannot be greater than the distance between the receivers. If, by comparing pairs of measurements, two receivers are found whose results do not satisfy this test, it can be stated that the larger of the two distances must be a measurement along a reflected path (remembering that reflections can only increase the measured distance), and can discard that result from the data set.
Secondly, a statistical test has been developed based upon the observation that the proportion of receivers that detect only reflected signals is small. Studentized residuals (Glantz, S., Slinker, B. Primer of Applied Regression and Analysis of Variance. McGraw-Hill, 1990) provide one method of identifying outliers in data sets, and can be calculated for each of the distance measurements during the nonlinear regression process. An incorrect measurement will be considered to be an outlier in the full set of measurements, and it is likely to have a large studentized residual. The result with the largest positive studentized residual is removed from the set of distance measurements (remembering, again, that reflections can only increase the measured distance), before re-computing the nonlinear regression and residuals.
The statistical test is repeated until the variance of the remaining measurements fall below an acceptable threshold (suggesting that all outlying data points have been eliminated), or only three measurements remain. A f inal calculation of the transmitter's position is then made using those data values.
From the calculated position and the known locations of the receivers that detected a signal from the mobile transmitter, it is also possible to estimate 8, the orientation of the mobile transmitter around a vertical axis. The method used to perform t:1,i-s estimation has been described above.
The positioning PC then retrieves (from the matrix manager) the time at which the measurements used in the posi tion calculation were made. Finally, it sends an event of the form (x,y,z,e, time) to area manager across a CORBA interface, indicating the calculated position (x, y, z), oriJenta--...:.cn (0) and ime of measuremen=, and informs the matrix manager that it is ready for the next set of readings (by asserting the "PC ready" status line).
it should be noted thatthe positioning PC (108, 184) can send commands to individual receivers (via the matrix manager) to change the peak detection algorithm they use, or to change the threshold they store in memory, or to change the source of the threshold that the Deak detection algorithm uses (either onboard switches, or memory).
(8) Area Manager (Figure 18) As shown in -".".;i..gure 18 data from the scheduling and positioning PC's is transmitted to the area manager 186 which comprises inter ali a a data processor (such as a PC) - This gathers events of the form (identifier, time) from the zone manager, and events of the form (x, y, z, 6, time) from each matrix manager.
An associative memory in the area manager links events using the time marameter, and generates a stream of events of the f orm (ident if _Jer, x, y, z, 0, time).
I seer, that these events cor.ta-J--- identification, i t: can be location, orientation and time information, and therefore allow cu',ar time) of a the and orientation (at a part. transponder --o be determined.
* This event stream (shown at 288 in Figure 1) may be passed on to users and client applications.
46 Power saving at the receiver- transmitter -un-4-ts Power saving can be achieved in the transponders by switching the receiver into a quiescent or OFF mode during the time interval's between addressing, and if the frequency at which a particular transponder unit is to be addressed is known this can be encoded JInto the radio message so thaz after decoding the messaae the receiver section can be turned off for that period of time.
Control sianals usincr radio transmitters Additional information in the form of controI signals may be encoded into the radio addressing signals transmitted to the transponder units so as for example to control a display or robotic device, associated with the transponder unit.
Shar)e determination Electrical signals indicative of the positions of a plurality of transm-; :-t--ers 'Located at selected, stra-Leg--,c points on an object, may be derived and stored and processed, for example by comparison with stored electrical signal data or processed by means of an algorithm, to produce a decision signal indicative of the shape of the object. This may enable a new object to be identified by reference to its s".,-aze.
D-i-s-olav of monitored area Electrical slanals indicative of the -,csit_ion and/or orientatJi.on of an object whose position -and orientation (relative to the area) have been determ-ned by position determining systems, may be em.,ployed to contrcI _he display of the object on a TV or computer a graphical representation o monitor, together with gra=11-i-ical represe-_.-.7a?_ions of other cbects also identified by r)ositions (a--d orientat-ion if measured).
47 In accordance with our UK Patent Application No 9808526.9 (Reference C198/0) the following changes to the system described with reference to Figures 1 to 23 are required to implement which a system in a single radio transmitter serves two or more u-itrason-ically separate spaces, it first being understood that, as previously explained, the timeslot in the system described could safely be reduced to 20 ms, without affecting the way in which the system operates.
First, a stagger time is adopted of loms (this is a quite conservative stagger time) The clock generator is charged so that it signals timeslots of 30ms, allowing two mobile transponders to be addressed in a staggered sequence. Also the receivers are altered so that they receive signals over a 30ms window.
The schedulling PC selects two mobile transponders to be addressed during the next timeslot. For this purpose, the following algorithm is used:
1. Set variable a to zero.
2. If a is zero, use the existing scheduling algorithm to select the next two mobile transponders to be addressed. Set variable b to the address of the first, and variable c to the address of the second. If a is not zero, set variable b to be equal to the value of a, and use the existing scheduling algorithm to select the next mobile transponder to be located, placing its address in variable c.
3. If the last position information for the mobile transponders b and c suggests that they are in separate ultrasonic spaces, locate both mobile transponder b and mobile transponder c in the next timeslot (b at the start of the timeslot, c loms later), and set variable a to zero. otherwise, locate the mobile transponders with addresses b and zero in the next timeslot (b at the start of the timesloz), 48 address zero loms later), and set variable a to be equal to the value of c.
4. Go to step 2.
This scheduling algorithm has the property that the Location Quality of Service (LQoS) demand for each mobile transponder is at least satisfied, but may be exceeded by a factor of two. Obviously, the choice of address is strongly affected by the previous positions of the mobile transponders, in order to try to select mobile transponders that are in independent ultrasonic spaces. For this purpose the scheduling PC holds a 3D description of all ultrasonic spaces to allow it to determine if two points are in the same space. It should also be noted that the sleep times calculated by the algorithm for the two mobile transponders are divided by a factor of two, so as to ensure that they remain conservative estimates.
The format of the message packet to be sent to the mobile transponders via the zone manager is changed to reflect the fact that it must now contain information to be sent to two addresses. A suitable format is shown in Table A appended hereto.
It is to be noted that the registration of up to two mobile transponders in the previous timeslot may now be acknowledged using the two registration acknowledgement fields. The zone manager is changed to accept this new packet format from the scheduling PC and transmit it to the mobile transponders. After the packet is sent by the zone manager, the scheduling PC retrieves the time at which the packet was sent from the zone manager. It then forwards an event of the form (identifierl, identifier2,t-ime) to the array manager across a CORBA interface, indicating the 16-bit addresses of the two mobile transDonders located in the last timesiot, and the time of the start of that timeslot.
49 The mobile transponders are changed to reflect the new packet format and lenath. Since a mobile transponder may be triggered by either of the addresses contained in the message sent from 1 4: the zone manager, its message decoding logic is changed. Ia mobile transmitter is triggered by one of the two addresses, this logic deals with the corresponding drop and transmit bits, sleep time and output data value. Mobile transponders which are attempting to register with the zone manager also check both of the registration acknowledgement fields within the incoming message to see whether their registration has been successful.
If a mobile transponder is triggered by the first address in the incoming message, the pulse generation circuit immediately drives the ultrasonic transducer set with a 40kHz signal for SOPS. If a mobile transponder is triggered by the second address in the incoming message, the pulse generation circui. waits for exactly 10ms before driving the ultrasonic transducer set with a 40kHz signal for 5Ogs.
The message generator which sends data packets to the zone manager is changed to reflect the fact that two mobile transponders may be required to transmit their address to the zone manager in the same timeslot. Thus two opportunities or transmission slots for a mobile transponder to contact the zone manager are provided in each timeslot. The first transmission slot starts 25Ms after the end of the incoming radio message, and the second transmission slot starts 25gs after the end of the first transmission slot. When using a transmission slot, the mobile transponder sends (at 40kbps) a 168-bit preamble followed by a Manchester- encoded version shown in Table B appended hereto.
The length of the transmission slot is the time taken to send the preamble and Manchester-encoded packet. if a mobile transponder is triggered by the first address in an incoming radio message, and the corresponding transmit bit is set, the so mobile transponder will use the first transmission slotto send its address back to the zone manager. If the mobile transponder is triggered by the second address in the message, and the corresponding transmit bit is set, it will use the second transmission slot to send its address to the zone manager. Any mobile transponder which is attempting to register with the zone manager, or which is reporting a button press, may transmit its address and button status in any transmission slot for which the corresponding transmit bit is not set (ie which is not reserved for one of the triggered mobile trans-oonders).
The zone manager is changed to allow messages sent in both transmission slots to be received and passed on to the scheduling PC.
The matrix manager now waits 12.95ms after seeing a trigger signal from the clock generator before triggering its associated receivers (to allow the longer radio message to be sent to the mobile transponders). when triggered, each set of receivers (one per room or other isolated space) opens its receive window for 30ms. At the end of that period, the positioning PCs connected to the matrix managers poll the receivers to determine firstly whether they saw any ultrasonic signals, and secondly, if they did, the time after the trigger signal at which the incoming ultrasonic signal peaked for the first time. Each positioning PC calculates two sets of transmit ter- receiver distances from the measured signals - one assumes that the mobile transponder was triggered at the start of the timeslot, the other assumes that it was triggered!Oms later. The nonlinear regression calculation is then run twice by the positioning PC, using each of the two distance sets and the positions of the receivers that detected the ultrasonic signals. Each regression calculation yields a result, either 3D position and orientation if the regression converges to solution, or an error value if it does not. The positioning PC then sends an event of the form (resultl,result2, time) to the array manager over a CORBA interface, indicating the results for the two nonlinear regression calculations for 51 signals detected in the last timeslot, and the time of the start of that timeslot.
The area manager must combine the information streams from the scheduling PC and the positioning PCs. A simr)le (though not necessarily optimal) algorithm which perform this task is now described.
First, it is assumed that for a particular timeslot, the addresses have been gathered of all those mobile transponders that were located (x and Y, where mobile transponder x is located loms before mobile transponder y), and also the two results have been gathered from each of n positioning PC's (-Je a collected a data set Z-1 2. 1 rl 2 f r2 I I r2 2 1. I r171, I rn2 From that data set, another data set S11 I S12 S21 I S22 I S.71 I S., 12 i s constructed where sij 1 if r., is a good 3D position and orientation, and s,j 0 if r.j is an error value indicating nonconvergence of the nonlinear regression model.
If y is not equal to zero (ie the second address in the message was not a dummy address) it is checked that two signals have been detected in separate ultrasonic spaces. For this to be true, it must be possible to f ind i and j such that s., = 1 or 5i2 = 1 and s,, = 1 or sj, = 1 and io j, but not possible to find k such that SkI 1 or s,, = 1 and k PE i x, 3.. if this is not true, all results for this timeslot must be discarded, because signal cross-contamination could have occurred.
Next, it is checked that only one good set of ultrasonic signals have been identified from each trigger time within the timeslot. For this to be true, there must be only one i such that s., is true, and at most one j such that 51-2 'S true. if it is found that this statement is not true, all results for this timeslot must be rejected, because it is not possible to determine in which ultrasonic space a mobile transponder is likely to be (although application of heuristics could make some progress in this case). If it is found that the statement
52 is true, it is possible to assign result r.,, to the mobile transponder with address x, and any result r, 2 to the mobile transponder with address y. The area manager then knows the time at which each mobile transponder was triggered and also the position and orientation of the mobile transponders at those times, and it can form this information into an event stream which is passed on to users and client applications.
It can be seen that the above implementation is capable of locating two mobile transponders in a 30ms Deriod (assuming that two mobile transponders in different ultrasonic spaces and that the system operates correctly). Therefore, the potential aggregate update rate is around 66Hz, rather than the 50Hz which was previously possible. Furthermore, it is possible to achieve higher location rates by triggering more than two mobile transnonders in a staggered sequence.
Five examl:)les of the present invention There will now be described five embodiments exemplary of the present invention. These are:
1. A system which uses time division multiplexing (TDM), and which has 20ms timeslots.
2. A system which uses TDM, but with staggered triggering of mobile transDonders, in 30ms timeslots.
3. A system which uses frequency division multiplexing (FDM) with three available frequencies, and 20ms timeslots.
4. A system which uses TDM and a fast radio interface, with 20ms timeslots.
S. A system which uses a combination of FDM and TDM, ie Frequency and Time Division Multiplexing (FTDM), with three available frequencies but twelve colours, and staggered 53 triggering of mobile transponders in 30ms timeslots.
These systems are described with reference to the following further figures of the accompanying drawings, in which:
Figure 27 is an overview of a TDM system; Figure 28 is an overview of a FM system; Figures 29A to 29C are block schematic diagrams relating to the system of Figure 27 being modifications of Ficures 23, 19 and 20, respectively; Figures 30A and 30B diagrammatically indicate a possible modification; Figures 30C and 30D (1 to 7) are simplified and complex state diagrams for the modification of Figures 30A, 30B; Figures 31A and 31B are block diagrams relating to the system of Figure 28; being modifications of Figures 29A and 29C, respectively; Figure 32 is provided for explanatory purposes; Figures 33A and 33B show a possible modification; Figure 34 and Figure 35 modifications; and illustrate f=ther possible Figures 36A and 36B are block schematic diagrams relating to the system of Figure 35.
TDM system with 20ms timeslots (Figure 27) This system is generally similar to that described with reference to Figures 1 to 23, but there is a multiplicity of 54 some items. The drawing shows a three cell arrangement (Cell 1, Cell 2, Cell 3) each of which has a Mobile Transponder (MT), a Matrix Manager (MM), a Positioning PC (PP), a Zone Manager XIZM), a Scheduling PC (SP) and an Area Manager (AM). A Clock Generator (CTG) is also shown along with a fresh software item, namely an Object Manager (OM). Transmission paths are also marked in the drawing.
The object manager's purpose is to coordinate the scheduling PCs and to decide whether mobile transponders should hand over from one scheduling PC to another. All scheduling PCs and area managers are connected to the object manager via CORDA interfaces. Area managers pass position and orientation information about mobile transponders to the object manager, which then forwards that information on to client applications and users. The object manager also monitors this data, and if, based on a mobile transponders position and knowledge of the extent of each radio cell, it decides that a handover should be made, it sends the corresponding signals to the appropriate scheduling PCs over the CORBA interface. A handover will be initiated if a mobile transponder moves to the very edge of a cell, into an area which is closer to the centre of another cell. The object manager receives data on the success, or otherwise, of handovers directly from the scheduling PCs, enabling it to send the control messages required to complete or cancel active handovers (as described above). The object manager also holds a static mapping between Cell IDs and the colour (ie TDM offset) used by each cell.
The object manager receives information from the scheduling PCs about registrations and resource reclamation, allowing WHISP information stored for individual mobile transmitter to be forwarded to the appropriate scheduling PCs during handover or after registration. Client applications can also change the WHISP information stored on the object manager whilst the system is running, and such changes are automatically forwarded to the appropriate scheduling PC(s).
An enhanced clock generator (Figure 29b) is used in this system. This device not only sends an accurate 50Hz clock pulse and global time value to zone managers and matrix managers, but also distributes a value indicating the current active colour in the TDM scheme. The clock generator therefore contains a register 312 holding the current number of colours, and a counter 194, which increments (modulo the number of colours) every pulse. This register may be set by a PC connected to the clock generator, and the counter may be preset along with the global time value by the PC, so that the colour value is consistent with the globaltime value.
The software process run on the scheduling PC is very similar to that used in the standard system. However, for each mobile transponder managed by the scheduling PC, two extra data values are stored in memory - a 5- bit value indicating the relative TDM offset of the cell to which the mobile transmitter should hand over (or zero, if no handover is to be performed), and an 8-bit value indicating that cell's identifier (again, zero if the mobile transmitter should not hand over). These data values are supplied and updated for each mobile transmitter by the object manager over the CORBA interface. An extra 5-bit register in the scheduling PC holds the TDM channel used by the associated radio cell, and an 8-bit register holds the unique identifier of that radio cell - both are conficrured when the software process is initialised. No scheduling PC may have address 0. The format of the messages sent out by the scheduling PC is changed to the form shown in Table C appended hereto.
A number of new f ields have been added. The first, the Cell ID is set to the constant 8-bit cell identifier stored by the scheduling PC. The colour space is a constant 5-bit value which indicates the number of colours used in the TDM system. The handover offset and handover Cell ID fields are used to tell a mobile transmitter to hand over to a different scheduling PC, and are set to the values of the handover
56 information stored by the scheduling PC for the addressed mobile transmitter. A further 1-bit value is stored for each -ing mobile transmitter managed by the scheduling PC, indicat whether the management is provisional or not (ie if the mobile transmitter should be atzempting to hand over to that scheduling PC or not). If a scheduling PC addresses a mobile transmitter for which it is allocating provisional resources, the transmit bit in the outcoJng message is sent.
Lhe zone manager (Figure 29C) used for this system is similar to that shown in Figure 20 and similar reference numerals are employed for similar parts. However, an extra register 320 in the zone manager holds a colour value, loaded from the scheduling PC at configuration time. The zone manager only triggers on a clock pulse when the colour value transmitted simultaneously by the clock generator matches the colour value stored in the register.
A block circuit diagram of a mobile transponder is shown in Figure 29A, and utilises the same reference numerals as Figure 23 for similar parts. However, in the present invention, there mobile transmitters must be made aware of the TDM colouring scheme and also the possibil il ty of handovers between cells. The mobile transmitter's message decoder 262 determines the number of TDM channels from the colour space field of the incoming message, and stores it in a register 330. If the sleep counter 286 is zero, the power-saving supervisory circuit 264 now switches the receive side of the radio transceiver on every 20x ms (where x is the number of =M colours, stored in the register). If the sleep counter is not zero, the powersaving supervisory circuit decrements the counter once every 20x ms, and only activates the receive circuitry of the mobile transponder once every 160x ms (ie once every eight timeslots allocated to the current TDM channel).
Each time the mobile transponder receives a message from a scheduling PC (via the zone manager), the message decoder 262 57 cheek the value of the Cell ID field in the in-coming message with the value of the same field in the last message (stored by the message decoder in a register, the current Cell ID 332 which contains zero on power-up). If the values differ, the registration controller 282 is immediately informed that the mobile transponder should attempt to register with the zone manager.
If the message decoder detects that the value of the handover offset and/or handover Cell ID fields in the incoming message are not zero, and that the message is destined for that mobile transponder, it attempts to hand over --c another zone manager/ scheduling PC. The handover offset and handover Cell ID values are stored in registers (334 and 336 respectively), and the power-saving supervisory circuit 264 wakes the receive circuitry oil the mobile transponder 20y ms after the start of the current timeslot, where y is the value of the handover offset register. The receive circuitry remains active for at least 4ms - if a valid preamble is seen within this time. the incoming radio message is received. If the message decoder detects that it is a valid message, it comrares the Cell ID field with the value of the handover Cell!D field stored in the register. If the IDs match, the mobile transponder hands over. The message decoder sets the current Cell ID register to be equal to the value of the handover Ce"l ID register, clears the handover offset and handover Cell ID registers, and then informs the registration controller 282 that it should attempt to register with the new scheduling PC. The powersaving superv-:.sory circuit 264 then resets the sleep counter 286 to 0, and de-activates the receive circuitry, waking the mobile transponder up again 20xms after t-n-e start of that timeslot, where x is the contents of colour space register 326. If the Cell IDs do not match, or no valid preamble or message is detected, then the handover offset and handover Cell!D registers are cleared, and the power-saving supervisory circuit deactivates the receive circuitry, waking the mobile transponder just before the arrival of the next message from
58 the current scheduling PC.
The system can support up to 31 TDM channels, and so if a mobile transponder is in the "Searching" mode, its powersaving supervisory circuit 264 leaves the radio transceiver's receiver circuitry on for at least 31 x 20 = 620ms to ensure that it has allowed time for all of the available TDM channels to be activated.
In this system, each scheduling PC has an associated area manager. All (Identifier, time) pairs generated by a scheduling PC are sent to the associates area manager. The positioning PC associated with each space sends any (position, orientation, time) events that it generates to all area managers associated with the scheduling PCs which could trigger mobile transponders in that space. This set of transponders is determined empirically at configuration time. After combining the events, area managers send (identifier, position, orientation, time) events to the object manager.
For completeness, it should be mentioned that the matrix manager employed in the system is the same as that shown in Figure 21, and the receiver is similar to that shown in Figure 22.
Figure 30 shows an example in which an environmental space is covered by eight cells, using three colours (ie three TDM channels).
Figure 30A shows, with reference to time, the sequence of transmission of the radio energy bursts of the different colours (Celli, Cel12 and Ce113).
It is to be noted that - three cells numbered 1 do not he overlap, and that this is also true of the three cells numbered 3 and the two cells numbered 2.
59 A simplified state diagram for a mobile transponder suitable for such a system using 40ms timeslots is given in Figure 30C. The significantly more complex complete state diagram is given in Figure 30D.
TDM system with staggered triggering in 30ms This system shares characteristics with the system described with reference to Figures 1 to 23, and the system described with reference to Figure 27, Figure 29 and Figure 30.
The changes made are as follows:
- The clock generator, mobile transponders and receivers are adjusted to cope with 30ms timeslots and receive windows.
- Mobile transponders are altered to deal with two different trigger times within each timeslot, and to cope with two transmission slots and registration acknowledgements.
- The scheduling PCs run an enhanced scheduling algorithm, which can select two mobile transponders to be addressed in the next timeslot.
- The matrix managers trigger their Receivers 13.6ms after the start of the timeslot, to allow the longer radio message to be sent to the mobile transponders.
- The positioning PCs are upgraded to calculate nonlinear regressions for both trigger times.
- The area managers match calculated positions to both staggered trigger times.
The format of the packets sent out by the scheduling PC (via the zone manager) to the mobile transponders is of the form shown in Table D appended hereto.
FDM system with 20ms timeslots (Figure 28) The system diagram of Figure 28 is analogous to that of Figure 27, with similar letter abbreviations used for the various component parts of the system.
However, the system uses three different radio frequencies, 418MHz, 433MHz and 458MHz, to ensure orthogonality of neighbouring cells. A static mapping between Cell-IDs and the radio frequency used in each cell is also held by the object manager (OM). The clock generator (CG) used in this system sends an accurate 50Hz clock pulse and global time value to zone managers (ZM) and matrix managers (MM).
-o - The scheduling PC runs software very similar t that used in the basic system, but stores two extra data values for each mobile transponder managed by that scheduling PC - a 2-bit handover frequency value indicating the frequency of the cell to which the mobile transponder should hand over (or zero, if no handover is to be performed), and an 8bit handover Cell ID value indicating that cell's identifier. These data values are supplied and updated for each mobile transponder by the object manager (OM) over the CORBA interface. The coding of the handover frequency value is as set fourth in Table E appended hereto.
The scheduling PC has an extra 2-bit register which holds the value corresponding to the frequency used in the associated radio transmitter, and an 8-bit register holds the unique identifier of that transmitter. Both are configured when the software process is initialised. No scheduling PC may have address 0. The f ormat of the messages senz out by the scheduling PC is changed to that set forth in Table F appended hereto.
A further 1-bit value is stored for each mobile transponder managed by the scheduling PC, indicating whether the management 61 is provisional or not (ie if the mobile transponder should be attempting to hand over to that scheduling PC or not). If a scheduling PC address a mobile transponder flor which it is allocating provisional resources, the transmit bit in the outgoing message is sent.
The zone manager (Figure 31B) used in the system has three FM radio transceivers 208A, 208B, 208C operating at 418, 433 and 458MHz, but only one is ever used at a:-ime. When the scheduling PC is initialised, it selects via a cell frequency register 340 one of the zone manager's channels for use via a multiplexer-demultiplexer 342, based on the frequency value for that cell. The zone manager is triggered on every clock pulse from the clock generator, and sends out the last message downloaded 'from the scheduling PC on the selected channel, before listening for transmissions from mobile transponders on that channel.
The mobile transponders (Figure 31A) are altered to have three FM radio transceivers 260A, 260B, 260C, operating at 418, 433 and 458MHz, and a message decoder 262A, 262B, 262C for each of the three channels. A 2-bit register holds a value corresponding to the currently active frequencv, the coding for which is as set forth in Table G appended hereto.
The contents of the active frequency register 344 controls a multiplexer 346 which passes the output signals from the message decoder associated with the current active frequency to other components of the mobile transponder (or blocks all such output if no frequency is active) A demultiplexer 348 also controlled by the contents of the active frequency register, sends the output from the message generator to the transmitter circuitry associated with the current active frequency (or blocks that output if not frequency is active). When the mobile transponder is switched on, the active frequency register is initialised to zero.
62 Each time the mobile transponder receives a message from a scheduling PC (via the zone manager), the active message decoder 262A, 262B, 262C check the value of the Cell ID field in the incoming message with the value of the same field in the last messaae (stored by the active message decoder in a register 350, the current Cell ID, which contains zero on power-up). If the values differ, the registration controller 282 is immediately informed that the mobile transponder should attempt to register with the zone manager.
In this system, the power-saving supervisory circuit 264 works in much the same way as the circuit of Figure 23. However, when activating the receiver circuitry, the normal behaviour of the power-saving supervisory circuit is now to only activate the receiver circuitry on the channel specified by the active frequency register.
If the message decoder detects that the value of the handover frequency and/or handover Cell ID fields in the incoming message are not zero, and that the message is destined for that mobile transDonder, it attempts to hand over to another zone manager/scheduling PC. The handover frequency and handover Ceell ID values are stored in registers 352, 354. When the power-saving supervisory circuit 264 next wakes to activate the receiver circuitry on the channel specified by the active frequency register, it also wakes the receiver circuitry on the channel svecified by the handover frequency register. The receiver circuitrv on the handover channel remains active for at least 4ms - if a valid preamble is detected by that channel's message decoder in that time, the incoming radio message is received. If that message decoder detects that it is a valid message, and the Cell ID field in the message matches that in the handover Cell ID register, then the mobile transponder hands over. The message decoder associated with the handover channel sets the value of the active frequency register 344 to that of the handover frequency register, sets the current Cell ID register to the value of the handover Cell
63 ID register, clears the handover frequency and handover Cell!D registers, and informs the registration controller that it should attempt to register with the new scheduling PC. The power-saving supervisory circuit resets the sleep counter to 0, and deactivates the receive circuitry, waking the mobile transponder up against just before the start of the next timeslot.
If the Cell. IDs do not match, or no valid preamble or message is detected, then the message decoder associated with the handover channel clears the handover frequency and handover Cdll ID registers, and the power-saving supervisory circuit deactivates the receive circuitry, waking the mobile transponder just before the start of the next timeslot.
In order to prevent contention between the message decoders, the message decoders an channels other than the handover channel may not alter the contents of the handover frequency or handover cell ID register 352, 354 whilst a handover attempt is taking place.
If the message decoder indicates that an error occurred on the radio link, or that no message was received when one was expected, the mobile transponder enters a "Searching" mode, and the power-saving supervisory circuit sets the active frequency register to zero before turning off all receiver circuitry and the fast 8MHz clock for about 80s. After that time, the active frequency register is set to 1, and the powersaving supervisory circuit activates the 418MHz receiver circuitry and fast clock.
If, after 20ms, the mobile transponder is still "Searching", the active frequency register is incremented, the 418MHz receiver circuitry is disabled, and the 433Hz receiver circuitry s enabled.
If, after a further 20ms, the mobile transmitter is still 64 "Searching", the active frequency register is incremented again, the 433MHz receiver circuitry is disabled, and the 458MHz receiver circuitry is enabled.
If, after a further 20ms, no signal has been detected, the 458MHz receiver circuitry and clock are shut down, and the 80s cycle starts again.
In this way, the mobile transponder searches all of the possible frequency space to try and detect signals from the zone managers.
The 11Searchinall mode is also the default state of the mobile transmitter when it is switched on for the first time.
In this system, the matrix managers (unchanged from Figure 21) trigger their associated receivers 9.25ms after seeing a trigger signal from the clock generator, to allow the radio messages to be sent to the mobile transmitters.
Positioning PCs in the system run the standard nonlinear regression algorithm on the data they collect from their associated receivers. However, each positioning PC will send one message every timeslot to the area managers associated with zone managers which could have triggered a mobile transmitter in the space they were monitoring. This message will either be an event of the form (position, orientation, time), or an indication that no good position and orientation were calculated (because of insufficient data or non-convergence of the nonlinear regression calculation).
Area managers must be coordinated to resolve possible position ambiguities arising from the lack of addressing information in the ultrasonic signals. In this system, each area manager is associated with a cell, and is connected to area managers associated with the overlapping cells by means of a CORBA interface. Each area manager also holds a static mapping which can be used to determine the ultrasonic spaces in which the scheduling PC associated with an area manager may trigger a mobile transponder. In each timeslot, every area manager waits for a result from the positioning PC dealing with the ultrasonic sDaces associated with that area manager. When a result has been received from all positioning PCs in that set, the area manager contacts the object manager over a CORBA interface to say that it is ready to perform the next stage in the coordination operation. When all area managers have indicated that they are ready to progress to the next stage, the object manager performs the following algorithm:
1. Set the value of variable, Cell ID used in the system.
x, to be equal to the smallest 2. Using the CORBA interface, instruct the area manager associated with cell x to perform the following steps. For each good position/orientation event received from a positioning PC for the current timeslot, tentatively construct a set of Final Results, by combining those events with the corresponding (identifier,time) event received from the scheduling PC associated with that cell. If a finalresult has already been sent to the object manager, proceed to Stelp 3. Otherwise, for each posit ion/orientation event, contact all area managers associated with overlapping cells to determine whether they received position/orientation.
notification of that If no other area manager that received such a notification and has not sent a final result to the object manager can be found, then send the final result (of the form (ident:ifier,position, orientation, time)) to the object manager, and stop performing this step of the algorithm - the object manager should return to Step 1. Otherwise, continue considering the other position/orientation events.
3. If x is not equal to the highest Cell ID, set x to be equal to the smallest Cell ID greater than x, and repeat Step 2.
66 At this point, the object manager will have received final results corresponding to all position/orientation events that could be unambiguously assigned to particular transmissions events. All other events must then be thrown away, because we are unable to determine which mobile transmitters were present in which ultrasonic spaced. The object manage should therefore send a message to all area managers over the CORBA interfaces instructing them to discard the ambiguous events, and to prepare to receive events generated by the system in the next timeslot.
As a demonstration of this algorithm, consider the situation shown in Figure 32, in which three radio cells (numbered 1-3) cover four rooms, A, B, C and D. The area managers associated with the cells 1-3 receive posit ion/orientat ion events from the matrix managers associated with the rooms as follows:
- Area manager 1 receives position/orientation events from rooms A and C.
- Area manager 2 receives posit _Jon/orientation events from rooms A, B, C and D.
- Area manager 3 receives position/orientation events from rooms C and D.
Suppose that in one times'lot (ie at time t), the following mobile devices are addressed:
- X, using a signal transmitted in radio cell 1. Y, using a signal transmitted in radio cell 2. Z, using a signal transmitted in radio cell 3 and ultrasonic signals are detected in rooms A, 3 and C at positions p,, p,,andp, and with orientations 0,,o,, and oc.
67 Pass 1 Construct final results:
- Are a manage -- 1: (X 1 Pa 1 Oa 1 --) 1 (X, Pc, Oct) - Area manager 2: (yo Pal oal t) i (y 0 PbtObl t) i (y 0 Pd, Od, t) (Y f PC/ Ocf t) ' At this point, area manager 2 sends the f inal result (Y, p., o., t) to the object manager, because none of the area managers associated with overlapping cells received the position/orientation event (PbIC)b) Pass 2 Construct final results:
Area manager 1: (X, p,, o,,, t) f (X p pc, oc, t) At this point, area manager 1 sends the final result (X, pm, o, t) to the object manager, because none of the area managers associated with overlapping cells which have not sent a final result to the object manager received the posit ion/orientat ion event (po,.).
Pass 3 Construct final results:
Area manager 1: (X, p,,, o, t), (X, p, o, t) Area manager 2: (Y,p,,o,,t) 1 (yepbtobFt) Area manager 3: (Z,p,,o,,t).
1 (Y,Plocft) At this point, area manager 1 sends the f inal result (X, p, o,,, t) to the object manager, because there are no area managers associated with overlapping cells which received the position/orientation event (p,,oc) and which have not sent a 68 final result to the object manager.
In this case, the algorithm is successful, matching positions to all of the triggered mobile devices. Suppose, however, that ultrasonic signals were detected in rooms A, C and D. Then, the algorithm would proceed as follows:
Pass 1 Construct f- C inal results:
- Area manager 1: (X,P,,0at) 1 (XfPcfOcrt) - Area manager 2: (Y,p,,, oal t) f (YrPcl Ocl t) 1 (Y/Pd.'odl t) - Area manager 3: (Z, p,, oc, t) i (Z 1 Pdl Od' t) - At this point the algorithm terminates without having matched a position to any of the triggered mobile devices, because no posit -Jon/orientation event can be uniquely matched to an area manager. obviously, this is an undesirable outcome, and an enhancement of the system would include scheduling PCs that could coordinate their scheduling decisions with other scheduling PCs associated with overlapping radio cells (again, coordination would take place over a CORBA interface). When selecting a set of mobile devices to be located simultaneously in a timeslot, the scheduling PCs would choose a set that, based on past location information, would not result in deadlock of the above algorithm (ie a set of mobile devices whose last known positions would allow a unique assignment of a posit ion/orientat ion event to an area manager).
Figure 33A shows a possible modification in which a space is covered with four cells, using the three FDM frequencies (Figure 33B).
Fast TDM system with 20ms timeslots it should be noted that a TDM system which uses a fast radio 69 link (say -!Mbps) acts in a very similar way to the FDM system described with reference to Figure 28 and Figures 31A and 313. Two or more addressing messages may be sent out consecutively in a very short space of time. Cells will be orthogonal, but the periods in which ultrasonic signals from mobile transmitters triggered by different scheduling PCs are in flight would be almost the same, as shown in Figure 34.
Position ambiguities would arise in this system due to the lack of addressing information in the ultrasonic signals emitted by mobile transducers, but the algorithm described above can be adapted to resolve such ambiguities. Each positioning PC can calculate a result for each of the closely spaced trigger times. Once an area manager using that algorithm has decided which of the addressing messages had triggered a mobile transponder in a space, the corresponding result from the positioning PC managing that space can be used to form the final result for that area manager.
F=M system with staggered triqcrerinq and 30ms timeslots This system shares characteristics with the system described with reference to Figures 1 to 23, and the systems described with reference to Figures 27 to 33. Four TDM channels are used with three FDM channels (ie three frequencies, 418, 433 and 458MHz) to create a total of 12 available colours in an F=M scheme. Figure 35 shows how the TDM and FM channels are used to form 12 F=M colours.
Again, an object manager is used to coordinate scheduling PCs, decide whether mobile transponders should have over from one scheduling PC to another, and to coordinate area managers whilst resolving ambiguity between results from positioning PCs. Area managers pass position and orientation information about mobile transmitters to the object manager, which then forwards that information on to client applications and users. The object manager also monitors this data, and if, based on a mobile transmitter's position and knowledge of the extent of each radio cell, it decides that a handover should be made, it sends the corresponding signals to the appropriate scheduling PCs over the CORBA interface. A handover will be initiated if a mobile transponder moves to the very edge of a cell, into an area which is closed to the centre of another cell. The object manager receives data on the success, or otherwise, of handovers directly from the scheduling PCs, enabling it to send the control messages required to complete or cancel active handovers (as described above). The object manager also holds a static mapping between Cell IDs and the colour (ie the TDM offset and radio frequency), used by each cell.
The object manager receives information from the scheduling PCs about registrations and resource reclamation, allowing WHISP information stored for individual mobile transponders to be forwarded to the appropriate scheduling PCs during handover or after registration. Client applications can also change the WHISP information stored in the object manager whilst the system is running, and such changes are automatically forwarded to the appropriate scheduling PC(s).
The enhanced clock generator shown in Figure 29B is used in this system. This device not only sends an accurate 50Hz clock pulse and global time value to zone manager and matrix manager, but also distributes a value indicating the current active TDM channel in the FTDM scheme. The clock generator contains a counter which increments modulo four (the number of TDM channels) every pulse. This register may be set by a PC connected to the clock generator, and the counter may be preset along with the global time value by the PC, so that the TDM channel value is consistent with the global time value.
Two staggered trigger times are available to a scheduling PC with which to locate mobile transponders in its timeslot. The scheduling algorithm used by the scheduling PC is designed primarily to help the area managers assist identifiers to 71 ultrasonic events (by spreading potentially conflicting mobile transmitters between the two staggered trigger times), and secondly (when conflict between mobile transponders is unlikely) to use the staggered trigger times to increase the location rate of the system. Each schedulna PC holds a 3D description of all ultrasonic spaced to allow it to determine if two points are in the same space, and a mapping which, given an ultrasonic space, allows the scheduling PC to determine which radio cells cover that space. To select two mobile transponders to be addressed during the next timeslot, the scheduling PC uses the following algorithm:
1. Set variable a to zero.
2. If a is zero, use the existing scheduling algorithm (described in the document "Description of an Enhanced Ultrasonic Location System") to select the next two mobile transponders to be addressed. Set variable b to the address of the first, and variable c to the address of the second. If a is not zero, set variable b to be equal to the value of a, and use the existing scheduling algorithm to select the next mobile transponder to be located, placing Its address in variable c.
3. If the last position information for the mobile transponder b suggests that it is in an ultrasonic space where it could only be triggered by this scheduling PC, set variable d to be equal to the value of b. Then, if L-he last position information for mobile transponder c suggests that it too, could only be triggered by this scheduling PC, set variable e to be equal to the value of c - otherwise set variable e to zero, and a to be equal to the value of c. Proceed to Step 4. If the last position information for the mobile transponder b suggests that it is in an ultrasonic space where it could be triggered by scheduling PCs other than this one, randomly choose one of variable d and e, setting the value of that variable to be equal to b, and the other to zero. Set a to 72 be equal to the value of c.
4. Locate both mobile transponder d and mobile transponder e in the next timeslot, with d being triggered 10ms before e.
5. Go to Step 2.
It is to be noted that e may be zero in this case, the second address is a dummy address which does not correspond to a real mobile transponder.
This scheduling algorithm has the property that the Location Quality of Service (LQoS) demand for each mobile transponder is at least satisfied, but may be exceeded by a factor of two. It should also be noted that the sleep times calculated by the algorithm for the two mobile transponders are divided by a factor of two, so as to ensure that they remain conservative estimates. If each scheduling PC was permitted to coordinate with the scheduling PCs associated with neighbouring cells, addresses for each timeslot could be chosen more intelligently so that, perhaps, potentially conflicting mobile transducers could actively be assigned to different stagger times.
The scheduling PC has an extra 2-bit register which holds the value corresponding to the frequency used in the associated radio cell, and an 8-bit register which holds the unique identifier of that cell - both are configured when the software process is initialised. No scheduling PC may have address 0. the format of the messages sent out by the scheduling PC is as shown in Table H, appended hereto.
The zone manager (Figure 36B) used in the system again has three FM radio transceivers (208A, 208B, 208C) operating at 418, 433 and 458MHz, but only one is used; when the scheduling PC is initialised, it selects one of the zone manager's channels for use via a multiplexer/demultiplexer 342, based on the frequency value for that cell. An extra register 360 in the zone manager holds a TDM channel value, also loaded from the scheduling PC at configuration time. The zone manager is triggered on a clock pulse when the TDM channel value transmitted simultaneously by the clock generator matches the contents of this register. when triggered, the zone manager sends out the last message downloaded from the scheduling PC on the selected FDM channel, before listening for transmissions from mobile transducers on that channel.
The mobile transmitters (Figure 36A) are altered as in Figure 31A to have three FM radio transceivers 260A, 260B, 260C, operating at 418, 433 and 458MHz, and a message decoder 262A, 262B, 262C for each of the three channels. A 2-bit register holds a value corresponding to the currently active frequency the coding is as set forth in Table J appended hereto.
The contents of the active frequency register controls multiplexer 346 which passes the output signals from the message decoder associated with the current active frequency to other components of the mobile transponder (or blocks all such output if no frequency is active). Demultiplexer 348 also controlled by the contents of the active frequency register, sends the output from the message generator to the transmitter circuitry associated with the current active frequency (or blocks that output if no frequency is active). When the mobile transponder is switched on, the active frequency register 344 is initialised to zero.
Each time the mobile transponder receives a message from a scheduling PC (via the zone manager) the active message decoder checks the value of the Cell ID field in the incoming message with the value of the same field in the last message (stored by the active message decoder in the register, the current Cell ID 350, which contains zero on power-up). If the values differ, the registration controller is immediately informed that the mobile transponder should attempt to register with the zone manager.
74 The mobile transponder must also be made aware of the TDM aspect of the FTDM multiplexing scheme used. If the sleep counter is zero, the powersaving supervisory circuit 264 switches on the receiver circuitry on the channel specified by -er once every 120ms. If the sleep the active frequency regist counter is not zero, the power-saving supervisory circuit decrements the counter once every 120ms, and only activates the receiver circuitry on the channel specified by the active frequency register once every 960ms.
If the message decoder detects that the value of the handover frequency and/or handover Cell ID fields in the incoming message are not zero, and that the message is destined for that mobile transmitter, it attempts to hand over to another zone manager/scheduling PC. The handover frequency, handover, offset and handover Cell ID values are stored in register 352, 360, 354 respectively. The power-saving supervisory circuit wakes the receiver circuitry on the channel specified by the handover frequency register at a time after the start of that timeslot given by the look-up table set forth in appended Table K.
The receiver circuitry on the handover channel remains active for at least 4ms if a valid preamble is detected by that channel's message decoder in that time, the incoming radio message is received. If that message decoder detects that it is a valid message, and the Cell ID field in the message matches that in the handover Cell ID register, then the mobile transponder hands over. The message decoder associated with the handover channel sets the value of the active frequency register to that of the handover frequency register 352, sets the current Cell ID register 350 to the value of the handover Cell ID register, clear the handover frequency, handover offset and handover Cell ID registers, and informs the registration controller 282 that it should attempt to register with the new scheduling PC. The power-saving supervisory circuit resets the sleep counter to 0, and deactivates the receive circuitry, waking the mobile transponder up again just before the start of the next timeslot on the new channel. if the Cell IDs do not match, or no valid preamble or message is detected, then the message decoder associated with the handover channel clears the handover frequency, handover offset and handover Cell ID registers, and the power-saving supervisory circuit deactivates the receive circuitry, waking the mobile transponder just before the start of the next timeslot. In order to prevent contention between the message decoders, the message decoders on channels other than the handover channel may not alter the contents of the handover frequency, handover offset, or handover Cell ID register whilst a handover attempt is taking place.
If the message decoder indicates that an error occurred on the radio link, or that no message was received when one was expected, the mobile transponder enters a "Searching" mode, and the power-saving supervisory circuit sets the active frequency register to zero before turning off all receiver circuitry and the fast 8MHz clock for about 80s. After that time, the active frequency register is set to 1, and the power-saving supervisory circuit activates the 418MHz receiver circuitry and fast clock. If, after 120ms, the mobile transponder is still "Searching", the active frequency register is incremented, the 418MHz receiver circuitry 260A is disabled, and the 433MHz receiver circuitry 260B is enabled. If, after a further 120ms, the mobile transponder is still "Searching", the active frequency counter is again incremented, the 433 MHz receive circuitry 260B is disabled, and the 458MHz receiver circuitry 260C is enabled. If, after a further 120ms, no signal has been detected, the 458MHz receiver circuitry and clock are shut down, and the 80s cycle starts again. In this way the mobile transponder searches all of the possible frequency space and all of the possible TDM channels to try and detect signals from zone managers. The "Searching" mode is also the default state of the mobile transponder when it is switched on for the first time.
76 In this system, the matrix managers (unchanged from Figure 21) trigger their associated Receivers 13.25ms after seeing a trigger signal from the clock generator, to allow the radio messages to be sent to the mobile transponders. The receivers are unchanged from Figure 22.
T Lhe positioning PCs used in the system are upgraded to calculate nonlinear regressions for both trigger times as hitherto described. Each positioning PC sends a message every timeslot to the area managers associated with zone managers which could have triggered a mobile transponder in the space they were monitoring. The message will be of the form (resul ti, resul t2, time), where resul tl and resul t2 will either be a posit ion/orientation pair or an indication that no good orientation were calculated (because of non-convergence of position and insufficient data or regression calculation) the nonlinear The area managers are coordinated to resolve possible position ambiguities arising from the lack of addressing information in the ultrasonic signals. In this system, each area manager is associated with a cell, and is connected to area managers r'DM associated with overlapping cells which use the same ', channel by means of a CORBA interface. Each area manager also holds a static mapping which can be used to determine the ultrasonic spaces in which the scheduling PC associated with an area manager may trigger a mobile transponder. In each timeslot, every area manager active in that timeslot waits for a result from the positioning PCs dealing with the ultrasonic spaces associated with that area manager - a result contains either a good position/orientation event or an error indication for each of the two staggered trigger times (STTs). When a result has been received from all positioning PCs in that set, the area manager contact the object manager over a CORBA interface to say that it is ready to perform the next stage in the coordination operation. When all active area managers have indicated that they are ready to progress to the next stage, 77 the object manager performs the following algorithm:
1. Set the value of a variable, x, to be equal to the smallest Cell ID of a cell which was active in the last timeslot.
2. Using the CORBA interface, instruct the area manager associated with cell x to perform the following steps. For each good mosition/orientation/STT event received from a positioning PC for the current timeslot, tentatively construct a set of Intermediate results by combining those events with the corresponding (identifierl, identifier2, time) events received from the scheduling PC associated with that cell. To do this, select the appropriate identifier for the match based on the STT, and discard any posit ion/arientat ion/STT events that are matched by a dummy identifier.
3. For each good position/orientation/STT event such as the corresponding intermediate result has not been matched to an STT, contact all area managers associated with overlapping cells which could be active in the same TDM channel to determine whether they received notification of that position/ orientation/STT event. If no other area manager that received such a notification and that has not matched an intermediate result to that STT can be found, then match the intermediate result corresponding to the position/orientation/STT event to that STT, and instruct the object manager to return to Step 1. Otherwise, continue considering the other position/orientat ion/ STT events.
4. If x is not equal to the highest Cell ID of a cell which was active in the last timeslot, set x to be equal to the smallest Cell ID, greater than x, of a cell active in that timeslot, and repeat Step 2.
The object manager then instructs each area manager to perform the following operations. Suppose an area manager deals with n ultrasonic spaces.A data set 5,1, 512/ S211 S221 1 Sn1 I Sn2 i S 78 constructed where S, -7 - 1 if an intermediate result corresponding to an ultrasonic event in space i was matched to the STT j, and s,, = 0 otherwise.
If the scheduling PC associated with the area manager triggered a mobile transponder in the first STT only, it is checked that s;l is equal to 1 for one and only one value of i. and that there is no value of k such that s,,, is equal to 1. If this is true, the intermediate result associated with the first STT and space i is forwarded to the object manager. If it is not, the area manager discards all its intermediate results for that timeslot, and informs that object manager that it will not supply any results.
If the scheduling PC associated with the area manager triggered a mobile transponder in the second STT only, it is checked that s,, is equal to 1 for one and only one value of i, and that there is no value of k such that SkI is equal to 1. If this is true, the intermediate result associated with the second STT and space i is forwarded to the object manager. If it is not true, the area manager discards all its intermediate results for that timeslot, and informs that object manager that it will not supply any results.
If the scheduling PC associated with the area manager triggered a mobile transponder in both STTs, it is first checked that two signals have been detected in separate ultrasonic spaces. For this to be true, the area manager must be able to f ind 1 and j, such that s.1=1 or 5.2=1 and sjl=l or Sj2=1 and i;dj, but it must be unable to f ind k such that Skl=1 or s,, 2=1 and k;ci;dj. If this is not true, the area manager must discard all its intermediate results for this timeslot, because signal crosscontamination could have occurred. Next it is checked that only one good set of ultrasonic signals has been identified from each trigger time within the timeslot. For this to be true, there must be only one i such that s., is true, and only one j such that 5,2 is true. If it is found that this statement
79 is true, the intermediate results associated with the first STT and space i, and the second STT and space j as forwarded to the object manager. If it is not true, the area manager discards all its intermediate results for that timeslot, and informs that object manager that it will not supply any results.
The object manager waits until it has received a reply from all area managers. At this point, the object manager will have received results corresponding to all position/orientation events that could be unambiguously assigned to particular transmission events. All other events will have been thrown away by area managers, because we are unable to determine which mobile transducer were present in which ultrasonic spaces. The object manager then sends a message to all area managers over the CORBA interfaces instructing them to prepare to receive events generated by the system in the next timeslot. As hitherto mentioned, the system can be enhanced by using scheduling PCs that coordinate with each other in order to selects sets of mobile devices to be located simultaneously, so that the above algorithm is less likely to end in deadlock.

Claims (20)

1. A system which enables the position of each of a plurality of mobile labelled objects in a specified environment to be determined by determining the transit time of slowly propagating energy from a transmitter on each labelled object to a plurality of receivers positioned at fixed points within or around the specified environment, and computing therefrom the distances of the transmitter from the receiver, wherein the specified environment is spatially divided into overlapping cells each having a master transmitter for transmitting a burst of high speed propagating energ for detection by object mounted ZIY receivers associated with the object mounted transmitters within the compass of the cell (this transmitter/receiver combination hereafter being referred to as a transponder) and wherein each cell is allotted an identifying characteristic, the high speed energy transmissions by the different master transmitters are multiplexed in accordance with the identifg characteristics of the respective cells, and no two cells having the same identifying characteristic spatially overlap one another.
2. A system according to claim 1, wherein the slowly propagating energy is ultrasound 0 C1 energy and the high speed propagating energy is radio waves.
3. A system according to claim 1 or clairn 2, having means incorporated in the multiplexing arrangement whereby the cells are invisible to each other, so that transmissions in one cell do not disrupt transmissions in neighbouring cells.
4. A system according to claim 3, wherein the invisibility of one cell to another is achieved by time-division multiplexing (TDM), frequencydivision multiplexing (FDM), or code-division multiplexing (CDM) of the high speed energy transmissions.
0
5. A system according to claim 3 or claim 4, wherein each cell is in effect allocated a colour, which is an identifying characteristic distinguishing between different cells in the multiplexing arrangement.
81
6. A system according to claim 5, in which a multiplexing arrangement uses (x) channels and each cell is allocated one of the (x) channels and one of (x) colours indicating which of the (x) channels it uses.
7. A system according to claim 5 or claim 6, wherein, when colours are assigned to cells, invisibility of any one cell relative to the other cells is ensured by ensuring that no two cells with the same colour overlap at any point in space.
8. A system according to any of claims 5 to 7, wherein a scheduling PC for each cell has a globally unique ID, transmitted as part of messages sent out by the transmitters in its associated cell, which allows mobile transponders to distinguish between cells with the same colour.
9. A system according to claim 8, wherein all scheduling PCs are interconnected either by a wired or wireless network.
10. A system according to any of claims 5 to 9, wherein, when the multiplexing arrangement allows simultaneous transmission of addressing signals in overlapping cells (eg FDM, CDM), some or all colours use the same timeslots.
11. A system according to any of claims 5 to 9, wherein, when the multiplexing arrangement does not allow simultaneous transmission of the addressing signals in overlapping cells (eg WM), timeslots are distributed between colours.
12. A system according to any of claims 5 to 11, wherein a global clock signal is used to C1 ensure synchronisation between system components.
13. A system according to any of claims 5 to 12, wherein stagered triggering of mobile 0 =0 0 transponders within extended timeslots is employed to increase the aggregate location rate of the system.
14. A system according to claim 8 or any claim appendant thereto, wherein, when a 82 mobile transponder moves from one cell to another, the mobile transponder performs a "handover", so that the control of that mobile t=ponder passes from one scheduling PC to another, and the mobile transponder begins to receive messages via another cell.
15. A system according to claim 14, wherein the transfer of control of a mobile transponder may be passive or active, and in an active handover, the mobile transponder, scheduling PC or other monitoring service decides that a transfer of control is appropriate.
C
16. A system according to claim 15, wherein if a decision to transfer control is established, the current scheduling PC sends a message to the mobile transponder indicating that a handover should take place, along with instructions on how to find the new cell and at the same time, a message is sent to the new (provisional) scheduling PC telling it to start addressing the mobile transponder until the provisional scheduling PC detects that the mobile transponder has picked up its addressing signals, whereupon the handover is complete and a message is sent to the old scheduling PC telling it to stop addressing the mobile transponder.
17. A system according to claim 14, wherein the transfer of control of mobile transponder may be active or passive, and a passive handover occurs when a mobile transponder determines that it has started to receive messages from a. new scheduling PC.
18. A system according to any of claims 15 to 17, wherein, in order to indicate to a new scheduling PC that it must start to address the mobile transponder, a mobile transponder registers its existence to a scheduling PC so that it will be included within the list of transponders to be addressed by the PC.
19. A system according to claim 18, wherein after an active handover has occurred, the mobile transponder performs a registration process when it locks onto a new cell, and a special transmit bit is set in addressing messages from the new scheduling PC that are destined for the mobile transponder that is performing the handover.
20. A system according to claim 19, wherein the said bit, when set, causes the mobile 83 transponder to immediately transmit its addressed cover the bidirectional radio channel and prevents other contending mobile transponders from doing so.
GB9825696A 1997-12-04 1998-11-25 Detection system for determining positional information about objects Expired - Fee Related GB2332055B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9825696A GB2332055B (en) 1997-12-04 1998-11-25 Detection system for determining positional information about objects

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB9725759A GB2332053B (en) 1997-12-04 1997-12-04 Detection system for determinning positional and other information about objects
GB9725718A GB2332052B (en) 1997-12-04 1997-12-04 Detection system for determining orientation information about objects
GBGB9808529.3A GB9808529D0 (en) 1998-04-23 1998-04-23 Detection system for determining positional information about objects
GB9825696A GB2332055B (en) 1997-12-04 1998-11-25 Detection system for determining positional information about objects

Publications (4)

Publication Number Publication Date
GB2332055A9 GB2332055A9 (en) 1900-01-01
GB9825696D0 GB9825696D0 (en) 1999-01-20
GB2332055A true GB2332055A (en) 1999-06-09
GB2332055B GB2332055B (en) 2000-02-02

Family

ID=27451728

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9825696A Expired - Fee Related GB2332055B (en) 1997-12-04 1998-11-25 Detection system for determining positional information about objects

Country Status (1)

Country Link
GB (1) GB2332055B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2150370A1 (en) * 1998-07-06 2000-11-16 Boudet Jorge Luis Falco Technique for measuring distances and locations and resulting use for providing services
GB2367618A (en) * 2000-09-29 2002-04-10 Roke Manor Research Acoustic / electromagnetic mobile telephone location system
EP1272981A2 (en) * 2000-12-22 2003-01-08 Kendro Laboratory Products, Inc. Equipment monitoring system and method
GB2381692A (en) * 2001-10-31 2003-05-07 Alphamosaic Ltd Video-telephony system
US6954745B2 (en) 2000-06-02 2005-10-11 Canon Kabushiki Kaisha Signal processing system
US7010483B2 (en) 2000-06-02 2006-03-07 Canon Kabushiki Kaisha Speech processing system
US7035790B2 (en) 2000-06-02 2006-04-25 Canon Kabushiki Kaisha Speech processing system
US7072833B2 (en) 2000-06-02 2006-07-04 Canon Kabushiki Kaisha Speech processing system
EP2944953A1 (en) * 2006-12-07 2015-11-18 Siemens Aktiengesellschaft Non-destructive testing arrangement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2320089A (en) * 1996-12-04 1998-06-10 Olivetti Res Ltd Detection system for determining positional and other information about objects

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2320089A (en) * 1996-12-04 1998-06-10 Olivetti Res Ltd Detection system for determining positional and other information about objects

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2150370A1 (en) * 1998-07-06 2000-11-16 Boudet Jorge Luis Falco Technique for measuring distances and locations and resulting use for providing services
US7072833B2 (en) 2000-06-02 2006-07-04 Canon Kabushiki Kaisha Speech processing system
US7035790B2 (en) 2000-06-02 2006-04-25 Canon Kabushiki Kaisha Speech processing system
US7010483B2 (en) 2000-06-02 2006-03-07 Canon Kabushiki Kaisha Speech processing system
US6954745B2 (en) 2000-06-02 2005-10-11 Canon Kabushiki Kaisha Signal processing system
GB2367618B (en) * 2000-09-29 2004-12-22 Roke Manor Research Improvements in or relating to mobile telecommunications
GB2367618A (en) * 2000-09-29 2002-04-10 Roke Manor Research Acoustic / electromagnetic mobile telephone location system
EP1272981A4 (en) * 2000-12-22 2004-04-21 Kendro Lab Products Inc Equipment monitoring system and method
EP1272981A2 (en) * 2000-12-22 2003-01-08 Kendro Laboratory Products, Inc. Equipment monitoring system and method
GB2381692B (en) * 2001-10-31 2004-09-08 Alphamosaic Ltd Video-telephony system
US6839079B2 (en) 2001-10-31 2005-01-04 Alphamosaic Limited Video-telephony system
GB2381692A (en) * 2001-10-31 2003-05-07 Alphamosaic Ltd Video-telephony system
EP2944953A1 (en) * 2006-12-07 2015-11-18 Siemens Aktiengesellschaft Non-destructive testing arrangement

Also Published As

Publication number Publication date
GB2332055A9 (en) 1900-01-01
GB9825696D0 (en) 1999-01-20
GB2332055B (en) 2000-02-02

Similar Documents

Publication Publication Date Title
US6553013B1 (en) Detection system for determining positional information about objects
US6348856B1 (en) Detection system for determining positional and other information about objects
EP0958504B1 (en) Detection system for determining orientation information about objects
EP0943102B1 (en) Detection system for determining positional and other information about objects
US10064014B2 (en) Detecting location within a network
Priyantha et al. The cricket location-support system
US10064013B2 (en) Detecting location within a network
US10325641B2 (en) Detecting location within a network
US6470002B1 (en) Detection system for determining positional information about objects
WO2004051303A1 (en) Ultrasonic locating system
EP2550542B1 (en) Robust ultrasonic indoor positioning system with high accuracy
GB2332055A (en) Detection system for determining positional information about objects
US20210249063A1 (en) Detecting location within a network
KR102343167B1 (en) Location detection in the network
GB2332054A (en) Detection system for determining location information about objects
Chen et al. Precision and accuracy in an indoor localization system
GB2354073A (en) Detection system for determining position and orientation of objects
RU97104408A (en) METHOD OF CONTROL FOR MOVING THE OBJECT

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20141125