US20210129881A1 - Techniques and associated systems and methods for determining train motion characteristics - Google Patents
Techniques and associated systems and methods for determining train motion characteristics Download PDFInfo
- Publication number
- US20210129881A1 US20210129881A1 US17/090,661 US202017090661A US2021129881A1 US 20210129881 A1 US20210129881 A1 US 20210129881A1 US 202017090661 A US202017090661 A US 202017090661A US 2021129881 A1 US2021129881 A1 US 2021129881A1
- Authority
- US
- United States
- Prior art keywords
- train
- processor
- imu
- velocity
- signals
- 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.)
- Pending
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 286
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000001133 acceleration Effects 0.000 claims abstract description 83
- 238000005259 measurement Methods 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 46
- 238000005457 optimization Methods 0.000 claims description 35
- 238000004891 communication Methods 0.000 abstract description 7
- 238000000926 separation method Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 32
- 230000005540 biological transmission Effects 0.000 description 12
- 230000004044 response Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 239000002245 particle Substances 0.000 description 8
- 230000005484 gravity Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008054 signal transmission Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B61—RAILWAYS
- B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
- B61L25/00—Recording or indicating positions or identities of vehicles or vehicle trains or setting of track apparatus
- B61L25/02—Indicating or recording positions or identities of vehicles or vehicle trains
- B61L25/021—Measuring and recording of train speed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B61—RAILWAYS
- B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
- B61L15/00—Indicators provided on the vehicle or vehicle train for signalling purposes ; On-board control or communication systems
- B61L15/0018—Communication with or on the vehicle or vehicle train
- B61L15/0027—Radio-based, e.g. using GSM-R
-
- B61L15/0058—
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B61—RAILWAYS
- B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
- B61L25/00—Recording or indicating positions or identities of vehicles or vehicle trains or setting of track apparatus
- B61L25/02—Indicating or recording positions or identities of vehicles or vehicle trains
- B61L25/025—Absolute localisation, e.g. providing geodetic coordinates
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B61—RAILWAYS
- B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
- B61L25/00—Recording or indicating positions or identities of vehicles or vehicle trains or setting of track apparatus
- B61L25/02—Indicating or recording positions or identities of vehicles or vehicle trains
- B61L25/026—Relative localisation, e.g. using odometer
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B61—RAILWAYS
- B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
- B61L27/00—Central railway traffic control systems; Trackside control; Communication systems specially adapted therefor
- B61L27/70—Details of trackside communication
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO 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/00—Systems for determining distance or velocity not using reflection or reradiation
- G01S11/02—Systems for determining distance or velocity not using reflection or reradiation using radio waves
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01Q—ANTENNAS, i.e. RADIO AERIALS
- H01Q1/00—Details of, or arrangements associated with, antennas
- H01Q1/27—Adaptation for use in or on movable bodies
- H01Q1/32—Adaptation for use in or on road or rail vehicles
- H01Q1/3208—Adaptation for use in or on road or rail vehicles characterised by the application wherein the antenna is used
- H01Q1/3225—Cooperation with the rails or the road
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B61—RAILWAYS
- B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
- B61L25/00—Recording or indicating positions or identities of vehicles or vehicle trains or setting of track apparatus
- B61L25/02—Indicating or recording positions or identities of vehicles or vehicle trains
- B61L25/028—Determination of vehicle position and orientation within a train consist, e.g. serialisation
Definitions
- Train systems such as urban subway systems, employ train control mechanisms to facilitate the safe movement of trains about the various train tracks of the train system.
- train control systems monitor segments of the track to ensure that only a single train is traveling within any particular segment.
- the system may comprise at least one RF antenna configured to receive RF signals from at least one anchor node positioned proximate the train track, at least one inertial measurement unit (IMU) configured to generate IMU data responsive to motion of the train along the train track, and at least one processor configured to determine at least one distance between the at least one RF antenna and the at least one anchor node and determine one or more motion characteristics of the train using the at least one distance and the IMU data.
- IMU inertial measurement unit
- the one or more motion characteristics may be selected from a group consisting of position, velocity, acceleration, position uncertainty, velocity uncertainty, and acceleration uncertainty. In some embodiments, the one or more motion characteristics may include velocity.
- the at least one processor may comprises a first processor communicatively coupled to the at least one RF antenna and configured to determine the at least one distance, and a second processor communicatively coupled to the first processor and the at least one IMU and configured to determine the one or more motion characteristics.
- the system may further comprise at least one circuit board having the second processor thereon, and the first processor may be wired to the at least one circuit board.
- the first processor may be packaged with the at least one antenna.
- the at least one IMU may be disposed on the at least one circuit board.
- the system may further comprise a memory disposed on the at least one circuit board, and the at least one processor may be configured to store the at least one distance in the memory.
- the at least one RF antenna may be configured to receive the RF signals having a center frequency between 3-10 GHz. In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a bandwidth of at least 500 MHz. In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a bandwidth of at least 2 GHz.
- the at least one IMU may include a plurality of IMUs.
- the at least one processor may be configured to determine the one or more motion characteristics using a graph-based optimization algorithm. In some embodiments, the at least one processor may be configured to determine the one or more motion characteristics using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a method of determining motion characteristics of a train traveling along a train track.
- the method may comprise receiving, via at least one RF antenna, RF signals from at least one anchor node positioned proximate the train track, receiving, via at least one inertial measurement unit (IMU), IMU data generated responsive to motion of the train along the train track, and determining, by at least one processor, at least one distance between the at least one RF antenna and the at least one anchor node, and one or more motion characteristics of the train using the at least one distance and the IMU data.
- IMU inertial measurement unit
- the one or more motion characteristics may be selected from a group consisting of: position, velocity, acceleration, position uncertainty, velocity uncertainty, and acceleration uncertainty. In some embodiments, the one or more motion characteristics may include velocity.
- determining the at least one distance may be performed by a first processor of the at least one processor, and determining the one or more motion characteristics may be performed by a second processor of the at least one processor.
- the RF signals may have a center frequency between 3-10 GHz. In some embodiments, the RF signals may have a bandwidth of at least 500 MHz. In some embodiments, the RF signals may have a bandwidth of at least 2 GHz.
- the at least one IMU may include a plurality of IMUs.
- the method may further comprise determining, by the at least one processor, the one or more motion characteristics using a graph-based optimization algorithm. In some embodiments, the method may further comprise determining, by the at least one processor, the one or more motion characteristics using a Bayesian estimation algorithm.
- the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a system for determining a velocity of a train traveling along a train track.
- the system may comprise at least one RF antenna configured to receive RF signals from at least one anchor node positioned proximate the train track and at least one processor configured to determine at least one distance between the at least one RF antenna and the at least one anchor node and determine the velocity of the train using the at least one distance.
- the at least one processor may be further configured to determine, using the at least one distance, an estimate of uncertainty for the determined velocity of the train. In some embodiments, the at least one processor may be further configured to determine a position and/or an acceleration of the train using the at least one distance.
- the at least one processor may comprise a first processor configured to determine the at least one distance and a second processor configured to determine the velocity of the train.
- the system may further comprise at least one circuit board having the second processor thereon, and the first processor may be wired to the at least one circuit board.
- the first processor may be packaged with the at least one antenna.
- the system may further comprise a memory disposed on the at least one circuit board, and the at least one processor may be configured to store the at least one distance in the memory.
- the at least one RF antenna may be configured to receive the RF signals having a center frequency between 3-10 GHz. In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a bandwidth of at least 500 MHz. In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a bandwidth of at least 2 GHz.
- the at least one processor may be configured to determine the velocity using a graph-based optimization algorithm. In some embodiments, the at least one processor may be configured to determine the velocity using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a method of determining a velocity of a train traveling along a train track.
- the method may comprise receiving, via at least one RF antenna, RF signals from at least one anchor node positioned proximate the train track, and determining, by at least one processor, at least one distance between the at least one RF antenna and the at least one anchor node, and the velocity of the train using the at least one distance.
- determining the at least one distance may be performed by a first processor of the at least one processor, and determining the velocity may be performed by a second processor of the at least one processor.
- the method may further include determining, by the at least one processor, a position and/or acceleration of the train using the at least one distance.
- the RF signals may have a center frequency between 3-10 GHz. In some embodiments, the RF signals may have a bandwidth of at least 500 MHz. In some embodiments, the RF signals may have a bandwidth of at least 2 GHz.
- the method may further comprise determining, by the at least one processor, the velocity using a graph-based optimization algorithm. In some embodiments, the method may further comprise determining, by the at least one processor, the velocity using a Bayesian estimation algorithm.
- the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- the system may comprise at least one inertial measurement unit (IMU) configured to generate IMU data responsive to motion of the train along the train track and at least one processor configured to determine velocity of the train using the IMU data.
- IMU inertial measurement unit
- the at least one processor may be further configured to determine, using the IMU data, an estimate of uncertainty for the determined velocity of the train. In some embodiments, the at least one processor may be further configured to determine, using the IMU data, a position, an acceleration, and/or an orientation of the train.
- the system may further comprise at least one circuit board having the at least one processor thereon.
- the at least one IMU may be disposed on the at least one circuit board.
- the system may further comprise a memory disposed on the at least one circuit board, and the at least one processor may be configured to store the IMU data in the memory.
- the at least one IMU may include a plurality of IMUs.
- the at least one processor may be configured to determine the velocity using a graph-based optimization algorithm. In some embodiments, the at least one processor may be configured to determine the velocity using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a method of determining a velocity of a train traveling along a train track.
- the method may comprise receiving, via at least one inertial measurement unit (IMU), IMU data generated responsive to motion of the train along the train track, and determining, by at least one processor, a velocity of the train using the IMU data.
- IMU inertial measurement unit
- the at least one IMU may include a plurality of IMUs.
- the method may further comprise determining, by the at least one processor, a position, an acceleration, and/or an orientation of the train using the IMU data.
- the method may further comprise determining, by the at least one processor, the velocity using a graph-based optimization algorithm. In some embodiments, the method may further comprise determining, by the at least one processor, the velocity using a Bayesian estimation algorithm.
- the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- FIG. 1 is a drawing of an illustrative train 110 traveling along a train track 104 and incorporating a system 120 for determining motion characteristics of the train 110 , in accordance with some embodiments of the technology described herein.
- FIG. 2 is a drawing of an illustrative anchor node 102 that may be positioned along a train track, in accordance with some embodiments of the technology described herein.
- FIG. 3 is a drawing of an illustrative system 120 for determining motion characteristics of the train 110 and a train control system 150 , each positioned onboard the train car 112 a of FIG. 1 , in accordance with some embodiments of the technology described herein.
- FIG. 4 is a drawing of illustrative components of a system 120 for determining motion characteristics of a train traveling along a train track, in accordance with some embodiments of the technology described herein.
- FIG. 5 is a drawing of an illustrative RF subsystem 130 of a system for determining motion characteristics of a train, in accordance with some embodiments of the technology described herein.
- FIG. 6 is drawing of illustrative components of a system for determining motion characteristics of a train, including printed circuit boards 140 , a connector interface 126 , and a housing 124 , in accordance with some embodiments of the technology described herein.
- FIG. 7 is a drawing of an exemplary graph 700 of motion characteristics of a train generated by a system for determining motion characteristics of a train, in accordance with some embodiments of the technology described herein.
- FIG. 8 is a drawing of an illustrative method 800 for determining motion characteristics of a train traveling along a train track, in accordance with some embodiments of the technology described herein.
- FIG. 9A is a drawing of an illustrative method 900 for determining motion characteristics of a train traveling along a train track using inertial measurement unit (IMU) data and radio frequency (RF) data, in accordance with some embodiments of the technology described herein.
- IMU inertial measurement unit
- RF radio frequency
- FIG. 9B is a drawing of a train 110 on a train track 104 a during the RF distance determination initialization step 904 of the method 900 of FIG. 9A , in accordance with some embodiments of the technology described herein.
- FIG. 10 is a drawing of an illustrative method 1000 for determining motion characteristics of a train traveling along a train track using IMU data and RF data, in accordance with some embodiments of the technology described herein.
- FIG. 11 is a drawing of an illustrative computer system 1100 on which some embodiments described herein may be implemented.
- conventional train control systems constrain the capacity of a train system (e.g., rate at which passengers are transported by the train system) because the conventional train control systems are unable to precisely locate trains within the train system.
- conventional train control systems permit only one train to travel in a given track segment because the train control systems are not able to precisely locate trains within the track segment, and thus could not prevent a collision between two trains traveling along the same track segment.
- the train control system would be unable to detect the stopping of the leading train and appropriately signal the following train to stop before colliding with the leading train.
- trains within the train system are operated at low speed. For example, if two trains were traveling in consecutive track segments and the leading train stopped while traveling in its track segment, the following train would have to stop before reaching the next track segment because the train control system does not know where the leading train is within the next track segment. Accordingly, the lack of precision in locating trains along the tracks prevents more trains from traveling in the same track segment, and also limits the speed at which trains may safely travel along the tracks.
- the inventors developed techniques for determining motion characteristics (e.g., position, velocity, acceleration, position uncertainty, velocity uncertainty, acceleration uncertainty, etc.) of trains traveling along a train track with greater accuracy than previously possible. These techniques may be used to safely operate the trains at higher speeds and with shorter separation between trains than previously possible, thereby allowing for an increased capacity of the train system.
- the techniques developed by the inventors use ultra-wideband (UWB) RF data and/or inertial measurement unit (IMU) data collected by one or more IMUs onboard a train to determine the train's motion characteristics as the train travels along the train track.
- UWB ultra-wideband
- IMU inertial measurement unit
- the range data may indicate the position, velocity, and/or acceleration of the train.
- the train may include one or more radio frequency antennas (e.g., ultra-wideband antennas) onboard the train that exchange wireless signals with one or more anchor nodes positioned along the train track.
- radio frequency antennas described herein may be configured to receive signals having a center frequency between 3-10 GHz, such as between 3-5 GHz, between 4-5 GHz, and/or between 7-10 GHz.
- radio frequency antennas may have a bandwidth of at least 500 MHz, at least 1 GHz, and/or at least 2 GHz.
- the range data may include a distance separating the train from the anchor node(s), and one or more processors located onboard the train may be configured to determine the motion characteristics using the range data.
- one or more range processors e.g., of multiple processors onboard the train
- another processor may be disposed on a circuit board that is wired to the antenna(s) for determining the motion characteristics using the range data.
- HMIs inertial measurement units
- the motion data generated by the IMU(s) may indicate a position, velocity, and/or acceleration of the train.
- processors onboard the train may be configured to determine the motion characteristics using the motion data from the IMU(s).
- the processor(s) may be disposed on a circuit board, and the IMU(s) may be disposed on the same circuit board.
- the processor(s) onboard the train may be configured to determine an uncertainty of motion characteristics generated using the antenna(s), taking into account factors such as how recently the range data was determined, how strong the transmitted and/or received wireless signals were, whether range data determined using other antennas onboard the train is substantially different from the range data used to determine the motion characteristics, and other such considerations.
- the processor(s) may be configured to determine an uncertainty of motion characteristics generated using the IMU(s), taking into account factors such as how recently the IMU data was generated, whether data from any other IMUs onboard the train is substantially different from the IMU data used to determine the motion characteristics.
- Some techniques described herein use data from multiple modalities (e.g., antenna(s) and IMU(s), etc.) to determine motion characteristics of a train.
- the train may have one or more radio frequency antennas onboard for exchanging signals with one or more track-adjacent anchor nodes to generate range data, and the train may also have one or more IMUs onboard to generate motion data responsive to detecting movement of the train.
- the inventors recognized that using only one modality (e.g., only antenna(s) or only IMU(s)) may cause the motion characteristics determined onboard the train to have an intolerable level of uncertainty for some applications.
- multi-modal techniques may compensate for uncertainty resulting from a failure of one of the modalities, as the other modality may detect the failure and/or provide the data needed to determine motion characteristics in the absence of the failed modality.
- range data determined using the antenna(s) may be inconsistent with IMU data, thus indicating a failure of the antenna and/or an anchor node in communication with the antenna. The antenna failure may be mitigated by using the IMU data, and not using the range data, to determine the motion characteristics of the train.
- the processor(s) onboard the train may be configured to correct data from the IMU(s) using range data from the antenna(s).
- the processor(s) may be configured to store previously determined motion characteristics (e.g., position, velocity, and acceleration) in a memory and estimate motion characteristics at a later time using data from the IMU(s). Then, the processor(s) may be configured to determine motion characteristics using range data from the antenna(s) to correct the motion characteristics that were estimated using the IMU(s).
- the IMU(s) may be configured to determine the acceleration of the train using measurements of acceleration in the direction of the train track and also in a gravity direction, such that the uphill or downhill slope of the track may be incorporated into estimating the position and/or velocity of the train.
- the range data received from the antenna(s) may be used to correct the position and/or velocity estimates made using the acceleration measurements determined using the IMU(s).
- motion characteristics determined onboard the train may be more accurate by intelligently combining data from the multiple modalities to compensate for one another, increasing the confidence with which train control systems may operate the trains.
- Some techniques described herein further provide an interface between the electronics onboard the train tasked with determining the motion characteristics and the train control system.
- the interface may provide the motion characteristics to an onboard control system satellite that forwards the communications to a central hub and receives operation commands from the central hub in response.
- the interface may provide the motion characteristics to a decentralized control system hub that generates operation commands for the train from onboard. Accordingly, motion determination systems described herein provide the motion characteristics directly to the train control system.
- FIG. 1 is a drawing of an illustrative train 110 traveling along a train track 104 and incorporating a system 120 for determining motion characteristics of the train 110 , in accordance with some embodiments of the technology described herein.
- the train 110 includes multiple train cars 112 a and 112 b , each including at least one motion determination system 120 and a power supply 160 .
- the motion determination system(s) 120 may be configured to determine a position, velocity, and/or acceleration of the train 110 .
- Train car 112 a also includes at least one train control system 150 that may be configured to determine when the train 110 moves and stops, and/or the speed for the train 110 to travel, depending on motion characteristics provided by the motion determination system(s) 120 .
- FIG. 1 further illustrates anchor nodes 102 positioned along the train track 104 and operating in communication with the motion determination system(s) 120 onboard the train 110 to facilitate determination of motion characteristics of the train 110 , as described further herein. While the anchor nodes 102 are illustrated side-by-side with the track 104 , it should be appreciated that anchor nodes 102 described herein alternatively or additionally may be positioned above or below the train track 104 , or in any other position suitable for exchanging wireless signals with antennas onboard the train 110 . In some embodiments, the anchor nodes 102 may have known positions. For example, the positions of the anchor nodes 102 may be surveyed and recorded (e.g., stored in memory of a central database and/or a memory of motion determination system 120 ) during and/or after installation of the anchor nodes 102 .
- the anchor nodes 102 may have known positions. For example, the positions of the anchor nodes 102 may be surveyed and recorded (e.g., stored in memory of a central database and/or a
- anchor nodes 102 may be spaced from each other along the direction of elongation of the train track 104 .
- an average spacing between adjacent anchor nodes 102 may be less than 1 kilometer (km), such as 600 meters (m).
- anchor nodes 102 may be capable of transmitting and/or receiving RF signals over a transmission range of at least 100 m, such as 300 m and/or 350 m.
- an anchor node 102 may be positioned on the outer side (e.g., the longer side) of the bend.
- motion determination system(s) 120 may be positioned onboard the train cars 112 a and 112 b .
- motion determination system(s) 120 may be positioned in portions of the train cars 112 a and 112 b that do not house the train crew, passengers, or cargo, such as in an area above the cabin of the train car.
- motion determination system(s) 120 may be positioned in the cabins of the train car 112 a and/or 112 b .
- train control system(s) 150 may be positioned in the same portion of the train car 112 a as motion determination system(s) 120 .
- train control system(s) 150 may be positioned in a different portion of the train car 112 a from motion determination system(s) 120 .
- Each motion determination system 120 onboard the train 110 may be configured to determine motion characteristics of the train 110 traveling along the train track 104 using data gathered from one or more sensors on the train 110 .
- the motion determination system(s) 120 may include one or more radio frequency (RF) antennas and/or IMUs, and one or more processors to determine the motion characteristics using data from the antenna(s) and/or IMU(s).
- RF radio frequency
- data from only one modality e.g., the RF antenna(s), the IMU(s), etc.
- data from multiple modalities may be incorporated, as described further herein.
- the antenna(s) may exchange wireless signals with the track-adjacent anchor node(s) 120 to generate range data indicating the position, velocity, and/or acceleration of the train 110 .
- the processor(s) onboard the train 110 e.g., including one or more range processors
- the range data may include a distance from the train 110 to the anchor node(s) 102 .
- the RF antenna(s) of the motion determination system 120 may transmit a first signal to an anchor node 102 and the anchor node 102 may transmit a second signal 102 to the motion determination system 120 in response to receiving the first signal.
- the round-trip travel time between transmitting the first signal and receiving the second signal may indicate the distance between the RF antenna(s) of the motion determination system 120 and the anchor node 102 .
- the distance may be determined by subtracting from the round-trip travel time any known delays, such as a delay between when the anchor node 102 receives the first signal and transmits the second signal, dividing the round-trip travel time by two to obtain the one-way travel time, and multiplying the one-way travel time by the wave speed of the first and second signals (e.g., the speed of light in air).
- the distance between the anchor node 102 and the RF antenna(s) of the motion determination system 120 may be used to determine motion characteristics of the train 110 .
- a position of the train 110 may be determined using the determined distances between the train 110 and the anchor nodes 102 and the known positions of the anchor nodes 102 .
- motion characteristics other than position such as velocity and/or acceleration, may be determined using the distance and the known positions.
- the RF antenna(s) onboard the train 110 may exchange wireless signals with multiple ones of the anchor nodes 102 to generate the range data.
- the processor(s) may generate multiple sets of range data corresponding to signals exchanged with the multiple anchor nodes 102 and/or using multiple RF antennas.
- the IMU(s) may generate motion data responsive to detecting motion of the train 110 and provide the motion data to the processor(s) of the system(s) 120 .
- the IMU(s) may be configured to determine one or more positions, velocities, and/or accelerations of the train 110 in the direction of the train track 104 and/or vertically with respect to the train track 104 (e.g., upwards away from the train track 104 or downwards towards the train track 104 ).
- an IMU may include a gyroscope and/or accelerometer configured to provide signals indicative of acceleration of the train 110 along one or more directions.
- motion data output by the IMU may be indicative of roll (e.g., rotational about an axis parallel to the direction of elongation of the train 110 ), pitch (e.g., rotational about an axis parallel to the ground surface and perpendicular to the direction of elongation of the train 110 ), and/or yaw (e.g., rotational about an axis perpendicular to the ground surface and the direction of elongation of the train 110 ) acceleration.
- the processor(s) may be configured to determine the motion characteristics of the train 110 by accumulating motion data output by the IMU(s) over time.
- the processor(s) may be configured to determine a later position and/or velocity of the train 110 using the position and/or velocity of the first time and the motion data generated by the IMU(s). In some embodiments, the processor(s) may be configured to determine that the train 110 is not moving in response to data from the IMU(s) indicating the train has zero acceleration.
- a motion determination system 120 may include the RF antenna(s) and the IMU(s), and the processor(s) of the system may be configured to determine the motion characteristics of the train 110 using the range data from the RF antenna(s) and the motion data from the IMU(s).
- the processor(s) may estimate motion characteristics of the train 110 using the motion data from the IMU(s), such as by estimating a position of the train 110 using a previous position of the train 110 and one or more acceleration measurements (e.g., in multiple directions).
- the processor(s) may correct the motion characteristic estimates using range data received using the RF antenna(s), thus reducing the uncertainty of motion characteristics provided from the motion determination system 120 to the train control system(s) 150 .
- Motion determination systems 120 on the same or different train cars may further communicate motion characteristics to one another via wired and/or wireless connections within and/or among the train cars.
- One or more of the motion determination systems 120 may interface directly with the train control system(s) 150 to provide the motion characteristics to the train control system(s) 150 , such that the train control systems 150 are able to determine whether to start, stop, or continue movement of the train 110 .
- motion characteristics received from multiple trains may indicate that one of the trains is at risk of colliding with another one of the trains.
- the train control system(s) 150 may send the motion characteristics to a central control location external to the train and receive motion control instructions in response to sending the transmitted motion characteristics.
- FIG. 2 is a drawing of an illustrative anchor node 102 that may be positioned along a train track, in accordance with some embodiments of the technology described herein.
- anchor node 102 may be mounted on a pole or a wall.
- anchor node 102 may be placed on a pole or wall adjacent a train track.
- anchor node 102 has a housing 170 containing other components of anchor node 102 (not shown). Such components may include one or more RF subsystems and one or more processors.
- the RF subsystem(s) may be configured to transmit and/or receive RF signals to and/or from a motion determination system onboard a train for use by the motion determination system in determining motion characteristics of the train, as described herein.
- housing 170 may be waterproof and/or dustproof to provide environmental protection for the components of anchor node 102 .
- anchor node 102 may be positioned outdoors. In some embodiments anchor node 102 may be positioned in a subway tunnel.
- multiple anchor nodes 102 may have a same position along a train track, such as along the direction of elongation of the train track and/or along a direction parallel to the ground below the train track and perpendicular to the direction of elongation of the train track.
- the inventors recognized that including multiple anchor nodes 102 having a same position (e.g., in a redundant configuration) allows for distance determination between a train and the anchor nodes 102 in the event one of the anchor nodes 102 fails during operation.
- FIG. 3 is a drawing of illustrative motion determination and train control systems 130 and 150 onboard the train car 112 a of FIG. 1 , in accordance with some embodiments of the technology described herein.
- the motion determination system 120 includes multiple motion determination modalities, namely an RF subsystem 130 including one or more radio frequency (RF) antennas, and one or more IMUs 146 .
- the motion determination system further includes one or more processors 142 and a memory 144 .
- motion determination systems described herein may include only one motion determination modality, such as the RF antenna(s) or the IMU(s), but not both.
- the processor(s) 142 , IMU(s) 146 , and memory 146 are disposed on one or more PCBs 140 coupled to RF subsystem 130 .
- RF antenna(s) of RF subsystem 130 may provide range data to the processor(s) 142 for determining the motion characteristics.
- the components disposed on PCB(s) 140 may vary in accordance with various embodiments.
- the IMU(s) 146 is/are not disposed on PCB(s) 140 .
- the system 120 may include multiple PCBs 140 with components positioned on the multiple PCBs 140 .
- the IMU(s) 146 may be positioned on respective PCBs 140 .
- the RF antenna(s) of RF subsystem 130 may be disposed on one or more of PCBs 140 .
- motion determination system 120 may be configured to determine motion characteristics of a train 110 using signals transmitted and/or received using RF subsystem 130 .
- one or more range processors of RF subsystem 130 may be configured to determine a distance between the RF antenna(s) of RF subsystem 130 and one or more anchor nodes 102 , as described further herein including with reference to FIG. 4 .
- RF subsystem 130 may provide the distance(s) to processor(s) 142 , and processor(s) 142 may be configured to determine motion characteristics using the distance(s).
- processor(s) 142 may be configured to determine the position of train 110 using the known position of an anchor node 102 and the distance between the RF antenna(s) of RF subsystem 130 and the anchor node 102 (e.g., taking into account a known position of the RF antenna(s) onboard train 110 ).
- processor(s) 142 may be configured to determine a velocity of train 110 using a previous position of train 110 (e.g., stored in memory 144 ), the current position of train 110 , and a travel time of train 110 between the positions. In some embodiments, processor(s) 142 may be configured to determine an acceleration of train 110 using the current velocity of train 110 , a previous velocity of train 110 (e.g., stored in memory 144 ), and a travel time of train 110 between the velocities. In some embodiments, motion determination system 120 may be configured to determine motion characteristics of a train using the IMU(s) 146 .
- the IMU(s) 146 may output to processor(s) 142 one or more signals indicative of roll, pitch, and/or yaw acceleration of the train 110 .
- a previous position, velocity, and/or acceleration of the train 110 may be stored in memory 144 .
- a current velocity of the train 110 (e.g., along the train track and/or away from the train track) may be determined using a previous velocity of the train 110 , the current acceleration of the train 110 (e.g., along a direction of the train track), and a travel time of train 110 between the previous velocity and the current acceleration.
- a current position and/or pitch of the train 110 may be determined using a previous position of the train 110 , the current velocity of the train 110 , and the travel time of train 110 between the positions.
- an analog-to-digital converter may be included in IMU(s) 146 and/or coupled between IMU(s) 146 and processor(s) 142 to digitize signals from IMU(s) 146 before the signals are provided to processor(s) 142 .
- processor(s) 142 may store IMU signals and/or data derived from the IMU signals in memory 144 , for example, in association with a time at which the IMU signals were received and/or generated.
- signals output from IMU(s) 146 may indicate that the train has zero acceleration, and processor(s) 142 may be configured to determine using these signals that the train is not moving (e.g., in combination with previous signals indicating deceleration).
- motion determination system 120 may be configured to determine motion characteristics of a train using a combination of signals transmitted and/or received using RF subsystem 130 and IMU(s) 146 .
- processor(s) 142 may receive from RF subsystem 130 one or more distances between the RF antenna(s) of RF subsystem 130 and one or more respective anchor nodes 102 , and one or more signals indicative of roll, pitch, and/or yaw acceleration from IMU(s) 146 .
- processor(s) 142 may be configured to determine a first set of motion characteristics (e.g., position, velocity, and acceleration) of the train 110 using the distance(s) provided by RF subsystem 130 and a second set of motion characteristics of the train 110 using the signal(s) provided by IMU(s) 146 .
- the two sets of motion characteristics may be different.
- processor(s) 146 may override the second set of motion characteristics with the first set of motion characteristics. For example, when a position determined using RF signals conflicts with a position determined using IMU data, the position determined using RF signals may be selected as the determined position of the train 110 .
- processor(s) 146 may be configured to reconcile motion characteristics determined using RF signals received by RF subsystem 130 with motion characteristics determined using signals from IMU(s) 146 . In some embodiments, processor(s) 146 may adjust motion determination characteristics of IMU(s) 146 if motion characteristics determined using RF signals conflict with motion characteristics determined using IMU(s) 146 . As used herein, motion determination characteristics are parameters that may factor into determining motion characteristics using RF signals and/or IMU data, such as estimated IMU accelerometer and/or gyroscope biases.
- gyroscope and/or accelerometer biases over time may be stored in memory 144 and used to determine motion characteristics from the signal(s) generated by IMU(s) 146 .
- processor(s) 142 may be configured to update the motion determination characteristics stored in memory 144 based on differences between the determined sets of motion characteristics.
- processor(s) 142 may be configured to determine new gyroscope and/or accelerometer biases that reduce and/or minimize residuals between motion characteristics determined using RF signals and corresponding motion characteristics determined using IMU(s) 146 .
- the new gyroscope and/or accelerometer biases when applied to the signal(s) received from IMU(s) 146 , may reduce and/or minimize discrepancies between positions, velocities, and accelerations determined using RF signals and positions, velocities, and accelerations determined using IMU(s) 146 .
- motion determination system 120 may include multiple IMUs 146 and/or RF subsystems 130 .
- the inventors recognized that some IMUs 146 and/or RF subsystems 130 may fail during operation of motion determination system 120 , and including multiple IMUs 146 and/or RF subsystems 130 configured redundantly reduces the susceptibility of motion determination system 120 to overall failure. For instance, if an IMU 146 and/or an RF subsystem 130 fails, the failure may be detected as a result of inconsistent data determined using the IMUs 146 and/or the RF subsystems 130 . Upon determining the failure of an IMU 146 and/or RF subsystem 130 , the motion determination system 120 may ignore data from the failed IMU 146 and/or RF subsystem 130 .
- FIG. 4 is a drawing of illustrative components of a system 120 for determining motion characteristics of a train traveling along a train track, in accordance with some embodiments of the technology described herein.
- RF subsystem 130 includes one or more range processors 136 coupled to multiple RF antennas 132 via an RF front-end 134 .
- RF antennas 132 may be configured transmit RF signals to and/or receive RF signals from one or more anchor nodes 102 .
- RF front-end 134 may be configured to prepare baseband signals for transmission by RF antennas 132 and/or prepare RF signals received by RF antennas 132 for processing by range processor(s) 136 .
- range processor(s) 136 may be configured to determine a distance between RF antennas 132 and an anchor node 102 using signals exchanged between the RF antenna(s) 132 and the anchor nodes 102 .
- RF antennas 132 may be positioned in a part of a train car that facilitates communication with anchor nodes positioned adjacent the train track. For instance, RF antennas 132 may be positioned on an external face of the train car, and/or near an interior wall of the train car that is not shielded with metal or other electrical conductors.
- RF antennas 132 may include ultra-wideband (UWB) antennas.
- RF antenna(s) 132 may be configured to receive signals having a center frequency on the order of 3-10 GHz, such as between 3-5 GHz, between 3-5 GHz, between 4-5 GHz and/or between 7-10 GHz.
- RF antenna(s) 132 may have a bandwidth of at least 500 MHz, such as at least 1 GHz and/or at least 2 GHz.
- RF antennas 132 may be configured to transmit and/or receive over a frequency range from 3.1-4.8 GHz.
- RF antennas 132 may be configured to communicate with anchor nodes 102 that are configured for the same or an overlapping frequency range.
- RF antennas 132 may have a gain of approximately 6 dB, whereas antennas of anchor nodes 102 may be substantially omnidirectional (e.g., having a gain of approximately 0 dB).
- an anchor node 102 may include one or more antennas coupled to circuitry configured to responsively transmit signals after receiving one or more signals from RF antennas 132 of the system 120 at a same or different frequency. It should be appreciated that RF antennas 132 may be configured to operate in any suitable frequency range and with any suitable gain level. While RF antennas 132 are shown including two antennas in FIG. 4 , in some embodiments, RF antennas 132 may include greater or fewer than two antennas.
- RF front-end 134 may include circuitry for modulating, up-converting, and amplifying signals transmitted to the anchor node(s) via RF antennas 132 , and/or amplifying, down-converting, and/or demodulating signals received from the anchor node(s) 102 via RF antenna(s) 132 .
- RF front-end 134 may be configured for modulating and/or demodulating signals using ALOHA modulation and/or time division multiple access (TDMA) modulation.
- TDMA time division multiple access
- RF front-end 132 may further include one or more mixers and local oscillators for up-converting signals from baseband to an RF carrier frequency for transmission, and/or down-converting received signals from the same or a different RF carrier frequency to baseband for processing by range processor(s) 136 .
- RF front-end 134 may include one or more transmit (e.g., power) amplifiers for signal transmission and/or one or more receive (e.g., low noise) amplifiers for signal reception.
- multiple mixers and/or local oscillators and/or phase shifters or time delay units may be used, such as for in-phase and quadrature demodulation and/or beamforming (e.g., using an array of RF antennas 132 ).
- RF front-end 134 may include a digital-to-analog converter (DAC) for signal transmission and/or an analog-to-digital converter (ADC) for signal reception.
- DAC digital-to-analog converter
- ADC analog-to-digital converter
- RF antennas 132 and/or the RF antenna(s) of the anchor node(s) 102 may be capable of signal transmission over a range of 1000 meters while maintaining a range data precision on the order of centimeters.
- the range processor(s) 136 may be configured to determine range data using RF signals transmitted to and/or received from the anchor node(s) 102 .
- range processor(s) 136 may be configured to determine a distance between RF antenna(s) 132 and an anchor node 102 , such as by calculating a one-way time of flight between RF antennas 132 and the anchor node(s) 102 using signals transmitted to and received from the anchor node(s) 102 .
- range processor(s) 136 may be configured to record a time when RF signals are transmitted to the anchor node(s) 102 using RF antennas 132 such that, upon reception of RF signals from the anchor node(s) 102 , range processor(s) 136 may be configured to determine the round-trip travel time between when the RF signals were transmitted to the anchor node(s) 102 and when the RF signals were received from the anchor node(s) 102 .
- Range processor(s) 136 may be configured to subtract from the round-trip travel time a known delay between when the anchor node(s) 102 are configured to receive RF signals and transmit RF signals in response, and divide the resulting time by two to obtain the one-way travel time of signals transmitted between RF antennas 132 and the anchor node(s) 102 .
- Range processor(s) 136 may be further configured to multiply the one-way travel time by the wave speed of the RF signals (e.g., the speed of light in air) to obtain a distance between RF antennas 132 and the anchor node(s) 102 .
- multiple anchor nodes 102 may be configured to transmit signals to RF subsystem 130 at the same time, and a time difference of arrival (TDOA) of signals received by RF subsystem 130 may indicate respective distances between RF antennas 132 and each anchor node 102 .
- TDOA time difference of arrival
- FIG. 5 is a drawing of an illustrative RF subsystem 130 of a system 120 for determining motion characteristics of a train, in accordance with some embodiments of the technology described herein.
- RF subsystem 130 may be positioned onboard a train.
- RF subsystem 130 is shown in an upper portion of a train car, which may be positioned above the cabin of the train car. In this example, the cabin may house the train crew, passengers, and/or cargo.
- multiple RF subsystems 130 or multiple RF antennas of a single RF subsystem may be positioned in a single train car, such as at opposite ends of the train car.
- an RF subsystem and/or RF antenna positioned at an end of a train car that is not adjacent another train car may be configured to transmit and/or receive RF signals used in range data determination.
- RF subsystems 130 positioned on different train cars at ends of the train cars that are adjacent one another may be configured to communicate range data and/or motion characteristics to one another such that the range data and/or motion characteristics may be shared among multiple motion determination systems 120 on the different train cars.
- RF subsystem 130 includes a housing 172 containing other components of RF subsystem 130 .
- RF subsystem 130 is also shown coupled to an electrical connector 174 , which may be a coaxial connector.
- electrical connector 174 may be configured to transport high frequency (e.g., RF or baseband) signals to other components of motion determination system 120 .
- one or more RF antennas contained in housing 172 may be configured to provide received signals to electrical connector 174 and/or transmit signals received from electrical connector 174 .
- the antenna(s) may be configured to transmit signals in response to receiving signals via electrical connector 174 .
- RF antennas of RF subsystem 130 may be positioned outside of housing 172 and coupled to other components (e.g., processor(s)) of RF subsystem contained within housing 172 .
- FIG. 6 is drawing of illustrative components of a system 120 for determining motion characteristics of a train, including one or more printed circuit boards (PCBs) 140 , a connector interface 126 , and a housing 124 , in accordance with some embodiments of the technology described herein.
- housing 124 contains PCB(s) 140 and connector interface 126 .
- housing 124 may have a window exposing at least a portion of PCB(s) 140 to facilitate maintenance of system 120 . For example, equipment may be inserted through the window and used to test components of PCB(s) 140 .
- PCB(s) 140 may include one or more processors, IMU(s), and/or a memory, as described herein including with reference to FIG. 3 .
- connector interface 126 may be configured for electrically coupling to RF subsystem 130 .
- one or more electrical cables may connect the electrical connector 174 of RF subsystem 130 to connector interface 126 of system 120 .
- connector interface 126 may be configured for electrically coupling to train control system 150 via one or more electrical cables and/or over a communication network, and/or other motion determination systems 120 onboard the train via one or more electrical cables and/or over a communication network.
- FIG. 7 is a drawing of an exemplary graph 700 of motion characteristics of a train generated by a system for determining motion characteristics of a train, in accordance with some embodiments of the technology described herein.
- graph 700 includes vertices 702 , 704 , 706 , 708 , 710 , 712 , and 714 arranged in a line, each of which may include motion and/or motion determination characteristics of the train at particular time t 1 ⁇ t n .
- FIG. 7 also shows anchor nodes 102 positioned on opposite sides of the line of vertices.
- vertices of graph 700 may be determined by processor(s) 142 and stored in a memory 144 of a motion determination system 120 , as described herein. For example, motion characteristics of each vertex may be stored in memory 144 .
- each vertex in graph 700 may include motion and/or motion determination characteristics of the train at a particular time t 1 ⁇ t n .
- the motion characteristics may include a position of the train, a velocity of the train, an acceleration of the train, a pitch of the train, and/or other motion characteristics as described herein.
- Motion determination characteristics of the train may include gyroscope and/or accelerometer biases for the IMU(s) 146 .
- the biases may change as the gyroscope and/or accelerometer drift over time, impacting determination of motion characteristics.
- the vertices may be spaced evenly in time such that t 3 ⁇ t 2 is equal to t 2 ⁇ t 1 . In some embodiments, the vertices may not be evenly spaced in time, such that t 3 ⁇ t 2 is greater than or less than t 2 ⁇ t 1 .
- a motion determination system 120 onboard the train may be configured to determine the motion and/or motion determination characteristics of each vertex.
- vertex 702 includes motion characteristics that may be determined using RF signals transmitted between the motion determination system 120 and one of the anchor nodes 102 , as indicated by the dotted arrow from the anchor node 102 to vertex 702 .
- an RF subsystem 130 the motion determination system 120 may be configured to determine a distance between the train and the anchor node 102 and processor(s) 142 of the motion determination system 120 may be configured to determine the motion characteristics using the determined distance, such as in combination with a known position of the anchor node 102 stored in memory 144 .
- Motion characteristics of vertex 702 may also be determined using the IMU(s) 146 of the motion determination system 120 . For example, if there is a conflict between the motion characteristics determined using RF signals and the IMU(s) 146 , the motion characteristics determined using RF signals may be used to correct motion characteristics determined using the IMU(s) 146 , such as by updating gyroscope and/or accelerometer biases of the motion characteristics of vertex 702 to reduce and/or minimize a residual between the motion characteristics determined using the RF signals and the IMU(s).
- the train may be within RF transmission range of different anchor nodes 102 at different times.
- the train is within RF transmission range of one anchor node 102 at times t 1 , t 2 , and t 4 , and another anchor node 102 at times t 4 , t 5 , and t n .
- the train is within RF transmission range of both anchor nodes 102 .
- motion determination system 120 may prioritize only a subset of anchor nodes 102 within RF transmission range of the train, such as anchor nodes 102 that are positioned closest to the train.
- RF subsystem 130 of motion determination system 130 may be configured to transmit RF signals to each anchor node 102 (e.g., sequentially) and only provide a predetermined number of the smallest determined distances to processor(s) 142 for determination of motion characteristics.
- vertices 702 , 704 , 708 , 710 , and 714 include motion characteristics determined using RF signals transmitted between the motion determination system 120 and the anchor nodes 102
- vertices 706 and 712 include motion characteristics that are not determined using RF signals.
- no anchor nodes 102 may be in RF transmission range of the train.
- motion characteristics of vertices 706 and 712 may be determined using the IMU(s) 146 of motion determination system 120 .
- the IMU(s) 146 may provide signals indicative of the train's acceleration along one or more axes that may be used to determine motion characteristics in combination with motion characteristics determined at previous vertices (e.g., using motion characteristics of vertices 702 and/or 704 for vertex 706 ).
- motion characteristics determined using IMU(s) 146 may be updated when motion characteristics are next able to be determined using RF signals, such as for vertex 708 in graph 700 .
- motion characteristics determined using IMU(s) 146 may be stored with associated uncertainties for the motion characteristics that may be useful in updating the motion characteristics at a later time.
- each vertex of graph 700 may include the following motion and motion determination characteristics: (1) a position of the train in a first direction of elongation of the train track; (2) a velocity of the train in the first direction; (3) a pitch of the train rotationally about a second direction parallel to the ground below the train track and perpendicular to the first direction; (4) an accelerometer bias in the first direction; (5) an accelerometer bias along a third direction perpendicular to the first and second directions; (6) a gyroscope bias in the second direction; and/or (7) an orientation of the train along the first direction (e.g., whether the train is facing forward along the first direction or rearwards along the first direction).
- the position of the train in the first direction may be an absolute position with reference to a known trajectory and length of the train track (e.g., stored in memory 144 ), and the orientation of the train may be fixed during initialization of the motion determination system 120 and may remain static during operation.
- the position, velocities, pitch, and orientation of the train are motion characteristics and the accelerometer and gyroscope biases are motion determination characteristics used to determine motion characteristics, as described further herein.
- motion determination characteristics may be initialized to a predetermined value (e.g., 0) and updated as motion characteristics are determined over time, as described further herein.
- motion determination characteristics may be calibrated to certain values when the train is expected to have zero acceleration (e.g., when the train is not moving).
- each vertex may also include an associated uncertainty of each motion characteristic.
- the associated uncertainties may be used to determine whether to adjust motion determination characteristics. For example, it may be preferable to adjust motion determination characteristics that impact a velocity and/or position having a high uncertainty rather than adjust motion determination characteristics that impact a velocity and/or position having a low uncertainty.
- the motion determination system 120 may apply a plurality of constraints to the motion and/or motion determination characteristics. Motion determination system 120 may adjust some or all of the motion characteristics of one or more vertices to reduce and/or minimize the residuals of each constraint.
- a first possible constraint incorporating range data received using RF subsystem 130 is shown below:
- range_residual range_meas ⁇ pos_map+RFsubsys_offset ⁇ anchor_pos ⁇ (1)
- range_meas is a distance between the train and an anchor node determined using RF subsystem 130
- pos_map is a position of the train in the first direction estimated using IMU(s) 146 and/or previously determined motion characteristics
- RFsubsys_offset is a distance indicating a position of RF subsystem 130 (e.g., RF antennas of the subsystem) along the train
- anchor_pos is a known position of the anchor node in the first direction.
- the first possible constraint may only be applied when a distance between the train and an anchor node can be determined, such as when the train is within RF transmission range of an anchor node (e.g., for vertices 702 , 704 , 708 , 710 , and 714 ).
- a plurality of constraints may incorporate data from IMU(s) 146 . Such constraints may be applied at each vertex, even if the train is not within RF transmission range of an anchor node.
- a second possible constraint incorporating data from IMU(s) 146 is shown below:
- pos_residual pos_2 ⁇ (pos_1 +V avg*dt) (2)
- pos_2 is the position of the train for the current vertex (e.g., vertex 704 ) in the first direction
- pos_1 is an estimated and/or determined position of the train for a previous vertex (e.g., vertex 702 ) in the first direction
- Vavg is an estimated average velocity of the train in the first direction between pos_1 and pos_2 (e.g., using an estimated and/or determined velocity of one or more previous vertices)
- dt is a time elapsed between the current vertex and the previous vertex or vertices (e.g., t 2 ⁇ t 1 ).
- the average velocity Vavg may be estimated using velocities described further herein.
- Vx_residual V _2 ⁇ ( V _1+est_accelx*dt) (3)
- V_2 is the velocity of the train in the first direction for the current vertex (e.g., vertex 274 )
- V_1 is an estimated and/or determined velocity of the train in the first direction for a previous vertex (e.g., vertex 702 )
- est_accelx is an estimated acceleration of the train in the first direction between V_1_ and V_2
- dt is the time elapsed between the current vertex and the previous vertex or vertices (e.g., t 2 ⁇ t 1 ).
- the estimated acceleration est_accelx may be determined using current IMU data, as shown below:
- est_accelx IMU_accelx ⁇ gravityx ⁇ accel_bias_x (4)
- IMU_accelx is an acceleration of the train in the first direction determined using one or more signals output from IMU(s) 146
- gravityx is the gravitational acceleration of the train in the first direction
- accel_bias_x is the accelerometer bias in the first direction
- the gravitational acceleration gravityx may be determined using current IMU data and a previously estimated and/or determined pitch of the train rotationally about the second direction, as shown below:
- est_gyro is an estimated acceleration of the train rotationally about the second direction
- P_2 is the pitch of the train rotationally about the second direction for the current vertex (e.g., vertex 704 )
- P_1 is an estimated pitch of the train rotationally about the second direction for a previous vertex (e.g., vertex 702 )
- dt is the time elapsed between the current vertex and the previous vertex (e.g., t 2 ⁇ t 1 ).
- the estimated acceleration est_gyro may be determined using current IMU data as shown below:
- est_gyro IMU_gyro_y ⁇ gyro_bias_y (6)
- IMU_gyro_y is an acceleration of the train rotationally about the second direction determined using one or more signals output from IMU(s) 146 and gyro_bias_y is the gyroscope bias in the second direction.
- Vz_residual est_accelz*dt (7)
- est_accelz is an estimated acceleration of the train in the third direction for the current vertex (e.g., vertex 704 ) estimated using motion and/or motion determination characteristics of a previous vertex (e.g., vertex 702 ) and dt is the time elapsed between the current vertex and the previous vertex (e.g., t 2 ⁇ t 1 ).
- the estimated acceleration of the train in the third direction may be determined using current IMU data and a previously estimated and/or determined pitch of the train rotationally about the second direction, as shown below:
- est_accelz IMU_accelz ⁇ gravityz ⁇ accel_bias_z (8)
- IMU_accelz is an acceleration of the train in the third direction determined using one or more signals output from IMU(s) 146
- gravityz is the gravitational acceleration of the train in the third direction
- accel_bias_z is the accelerometer bias in the third direction.
- the gravitational acceleration gravityz may be determined using current IMU data and a previously estimated and/or determined pitch of the train rotationally about the second direction, as shown below:
- est_gyro, P_1, P_2, and dt are the same as described above for gravityx.
- motion determination system 120 may be configured to reduce and/or minimize each residual by adjusting the motion characteristics and/or motion determination characteristics of the current vertex and/or previous vertices. For example, pitch_residual may be reduced and/or minimized upon adjusting gyro_bias_y.
- gyro_bias_y is adjusted by making it larger or smaller, gravityx and gravityz may be adjusted accordingly, thereby having an effect on Vz_residual and Vx_residual.
- the effect on Vz_residual and Vx_residual may be used, at least in part, to determine whether to make gyro_bias_y larger or smaller.
- pos_2 may be set equal to pos_map, and pos_residual may be reduced and/or minimized by adjusting pos_1 and/or Vavg, which may also have an effect on Vz_residual and Vx_residual.
- processor(s) 142 of motion determination system may be configured to determine the motion and/or motion determination characteristics of the current and/or previous vertices using a best-fit optimization technique, such as a graph-based optimization technique.
- the graph-based optimization technique may include pose graph optimization, factor graph optimization, and/or non-linear least squares optimization.
- such techniques may employ a Bayesian estimation algorithm (e.g., executed on the processor(s)), such as including a Bayesian filter.
- the filter may include an extended Kalman filter, an unscented Kalman filter, and/or a particle filter.
- each vertex of graph 700 may alternatively or additionally include a roll of the train rotationally about the first direction and/or a yaw of the train rotationally about the third direction.
- FIG. 8 is a drawing of an illustrative method 800 for determining motion characteristics of a train traveling along a train track, in accordance with some embodiments of the technology described herein.
- the method may be performed using motion determination systems 120 described herein.
- the method 800 includes receiving range data from one or more RF antennas of the motion determination system at step 802 , receiving IMU data from one or more IMUs of the motion determination system at step 804 , and determining motion characteristics of the train using the range data and the IMU data at step 806 , such as by using one or more processors of the motion determination system.
- receiving the range data at step 802 may include receiving data indicating a distance between the train and one or more anchor nodes positioned along the train track obtained via an exchange of wireless signals between the RF antenna(s) and the anchor node(s).
- the processor(s) of the motion determination system onboard the train e.g., one or more range processor(s) of an RF subsystem
- the processor(s) may be configured to determine a position, velocity, and/or acceleration of the train.
- receiving the IMU data may include receiving data indicating a position, velocity, and/or acceleration of the train generated using the IMU(s) onboard the train.
- the processor(s) onboard the train may receive one or more motion measurements from the IMU(s) indicating one or more accelerations of the train in one or more directions (e.g., roll, pitch, yaw).
- acceleration at least partially perpendicular to the track e.g., pitch
- the processor(s) may be configured to determine the position, velocity, and/or acceleration of the train using the IMU data (e.g., using the acceleration measurements), such as by using previous position, velocity, and/or acceleration data stored in the memory in combination with the IMU data.
- the processor(s) may estimate motion characteristics of the train using the IMU data and correct the estimation using the range data in the next step.
- determining the motion characteristics at step 806 may include determining a position, velocity, and/or acceleration of the train using the range data and/or the IMU data.
- the processor(s) may be configured to determine that motion characteristics determined using the range data are inconsistent with motion characteristics determined using the IMU data and only use the range data to determine the motion characteristics.
- the processor(s) may correct the IMU data using the range data, such as by adjusting gyroscope and/or accelerometer biases to reduce and/or minimize residuals between motion characteristics determined using the range data and using the IMU data.
- the processor(s) may correct motion characteristics previously determined using IMU data and stored in a memory of the system.
- determining the motion characteristics may further include correcting the stored motion characteristics from the memory when reducing and/or minimizing the residuals (e.g., to ensure consistency between the current and previously determined motion characteristics).
- a previously stored acceleration of the train may indicate a velocity that is inconsistent with a velocity determined based on the range data and/or IMU data, and the previously stored acceleration may be corrected at this step.
- the processor(s) may be configured to determine the motion characteristics by using stored motion characteristics estimated using IMU data. For example, using previous acceleration estimates (e.g., indicating an uphill or downhill slope of the train), the processor(s) may be configured to determine a current position as well as velocities and/or accelerations of the train. In some cases, the motion characteristic determinations may be calculated using a best-fit optimization technique, such as a graph-based optimization technique, as described herein including with reference to FIG. 7 . For instance, in some embodiments, such techniques may employ a Bayesian estimation algorithm (e.g., executed on the processor(s)), such as including an extended Kalman filter, an unscented Kalman filter, and/or a particle filter.
- a Bayesian estimation algorithm e.g., executed on the processor(s)
- the processor(s) may compare the estimated motion characteristics with those determined using range data from the antenna(s).
- the processor(s) may adjust the estimates to make final determinations of motion characteristics based on consistencies and/or inconsistencies between the estimations and the determinations using the range data. It should be appreciated that finalized motion characteristics may be updated later in time, such as when stored in the memory for use in future determinations.
- determining motion characteristics may include making such a determination using only one modality of data (e.g., range data, IMU data, etc.).
- motion characteristics stored in the memory of the motion determination system may be incorporated during determination of the motion characteristics.
- the method further includes initializing the antenna(s) at least in part by transmitting signals to multiple anchor nodes and determining which anchor nodes are within a predetermined range and/or closest to the train.
- the range processor(s) may be configured to determine the direction and range from which signals from the anchor nodes closest to the train (or those within the predetermined range) were received.
- receiving the range data may include incorporating signals received from anchor nodes closest to the train (e.g., the two closest) and/or using anchor nodes within a predetermined range of the train (e.g., 500 meters).
- initializing the antenna(s) may include determining which track the train is traveling along at least in part by determining which anchor nodes are closest to the train.
- FIG. 9A is a drawing of an illustrative method 900 for determining motion characteristics of a train traveling along a train track using inertial measurement unit (IMU) data and radio frequency (RF) data, in accordance with some embodiments of the technology described herein.
- method 900 includes generating estimates of motion characteristics of the train at step 902 , initializing RF distance determination at step 904 , receiving one or more RF signals from one or more anchor nodes at step 906 , determining one or more distances to the anchor node(s) at step 908 , and correcting the estimates of the motion characteristics using the determined distance(s) at step 910 .
- method 900 may be performed by a motion determination system 120 , as described herein.
- generating estimates of motion characteristics at step 902 may include receiving IMU data from one or more IMU(s) 146 at processor(s) 142 .
- the IMU data may include one or more signals indicating rotational acceleration of the train along one or more axes (e.g., about the first, second, and/or third directions described herein).
- processor(s) 142 may estimate a position, pitch (e.g., about the second direction) and/or one or more velocities and/or accelerations of the train using the signals received from the IMU(s) 146 and store these motion characteristics in memory 144 .
- initializing RF distance determination at step 904 may include transmitting a first RF signal from RF subsystem 130 to one or more anchor nodes.
- RF subsystem 130 may transmit first RF signals periodically as the train travels along the train track.
- RF front-end 143 may convert the first RF signal to the analog domain, modulate (e.g., up-convert) the first RF signal to RF frequencies, and amplify the first RF signal before RF antenna(s) 132 transmits the first RF signal to the anchor node(s).
- initializing RF distance determination at step 904 may include entering a passive detection mode whereby RF antenna(s) 132 are configured to detect RF signals from anchor nodes positioned along the train track.
- the anchor nodes may be configured to periodically transmit RF signals at the same time.
- receiving RF signals from the anchor node(s) at step 906 may include receiving a second RF signal from the anchor node(s) at RF subsystem 130 in response to transmitting a first RF signal at step 904 .
- RF front-end 143 may receive the second RF signal from RF antenna(s) 132 , amplify the second RF signal, demodulate (e.g., down-convert) the second RF signal to baseband, and convert the second RF signal to the digital domain before providing the second RF signal to range processor(s) 136 ).
- receiving RF signals at step 906 may not be preceded by transmission of first RF signals at step 904 , such as when the anchor nodes are configured to periodically transmit RF signals at the same time.
- determining the distance(s) to the anchor node(s) at step 908 may include processing (e.g., using range processor(s) 136 ) received signals determine the distance(s). For example, when a first RF signal is transmitted at step 904 and a second RF signal is received at step 906 , the time between transmitting the first RF signal and receiving the second RF signal may be used to determine a distance between RF subsystem 130 and the anchor node(s), as described herein. Alternatively or additionally, when RF signals are transmitted by multiple anchor nodes at the same time are received at step 906 , the differences between when the first signals are received at RF subsystem 130 may indicate respective distances between the train and each anchor node. In some embodiments, range processor(s) 136 may provide the determined distance(s) to processor(s) 142 of motion determination system 120 .
- correcting the estimates of the motion characteristics at step 910 may include adjusting the motion characteristics estimated at step 902 in view of the distance(s) determined at step 908 .
- an estimated position of the train generated at step 902 may be different from a position based on a distance between the train and an anchor node determined at step 908 and a known position of the anchor node.
- estimated motion characteristics such as pitch, velocities, and/or accelerations may be adjusted to reduce and/or minimize a difference between the position estimated at step 902 and the position based on the distance determined at step 908 .
- motion determination characteristics such as gyroscope and/or accelerometer biases of the IMU(s) 146 may be adjusted to reduce and/or minimize the difference.
- multiple residuals e.g., position, velocity, acceleration, and/or pitch
- FIG. 9B is a drawing of a train 110 on a train track 104 a during the RF distance determination initialization step 904 of the method 900 of FIG. 9A , in accordance with some embodiments of the technology described herein.
- train track 104 a and two other train tracks 104 b and 104 c are elongated parallel to one another with anchor nodes 102 positioned along each set of train tracks 104 a , 104 b , and 104 c .
- one or more RF subsystems 130 onboard the train 110 transmit RF signals to and/or receive RF signals from various ones of the anchor nodes 102 .
- the RF subsystem(s) 130 may be configured to transmit RF signals to as many anchor nodes 102 as are within RF transmission range of the RF subsystem(s) 130 during the initialization step 904 .
- the motion determination system(s) 120 onboard the train 110 may be configured to determine the position of the train 110 using range data obtained via transmitting and/or receiving RF signals to and/or from the anchor nodes 102 .
- the motion determination system(s) 120 may be configured to determine which anchor nodes 102 the RF subsystem(s) 130 transmitted RF signals to and/or received RF signals from, such that known positions of the anchor nodes 102 may be used to determine the position of the train 110 , as described herein.
- the RF subsystem(s) 130 may be configured to receive RF signals transmitted from the anchor nodes 102 at the same time, rather than in response to RF signals transmitted from RF subsystem(s) 130 .
- the motion determination system 120 may be configured to determine which track (e.g., of tracks 104 a , 104 b , and 104 c ) the train 110 is on.
- the RF subsystem(s) 130 onboard the train 110 may be configured to transmit RF signals over different respective RF channels (e.g., frequency division multiplexed channels, time division multiplexed channels, code division multiplexed channels, etc.).
- an anchor node 102 positioned next to a track may be configured to respond by transmitting RF signals when an RF signal is received at the anchor node 102 over the appropriate RF channel for the track next to the anchor node 102 (e.g., with one RF channel associated with each track).
- the anchor node 102 may be configured to respond when an RF signal is received over an appropriate channel for the particular anchor node 102 .
- RF signals received from an anchor node 102 over a particular channel may provide an indication of which track the anchor node 102 is positioned next to and/or which anchor node 102 along the track sent the RF signal.
- the motion determination system 120 may be configured to determine that the train is on train track 104 a by transmitting RF signals over one or more RF channels associated with track 104 a and receiving RF signals from anchor nodes 102 positioned along track 104 a.
- RF subsystem(s) 130 may be configured to transmit RF signals only to anchor nodes 102 positioned next to the track the train 110 is on.
- RF subsystem(s) 130 may be configured to transmit RF signals only over one or more RF channels associated with anchor nodes 102 positioned next to the track the train 110 is on.
- motion determination system(s) 120 on train 110 may be configured to determine which track train 110 is on using an estimated position of the train 110 stored in memory 144 and a known position of each track stored in memory 144 .
- RF subsystem(s) 130 may transmit RF signals to anchor nodes 102 positioned along track 104 a.
- RF subsystem(s) 130 may be configured to transmit RF signals only to anchor nods 102 positioned closest to the train 110 .
- RF subsystem(s) 130 may be configured to transmit RF signals only over one or more RF channels associated with anchor nodes 102 estimated to be positioned closest to train 110 , such as using an estimated position of train 110 in memory 144 and known positions of anchor nodes 102 stored in memory 144 .
- RF subsystem(s) 130 may be configured to transmit RF signals to anchor nodes 102 positioned within a predetermined range of train 110 , such as within 1 kilometer (km) and/or within 500 meters (m) of train 110 .
- RF subsystem(s) 130 may be configured to transmit RF signals to only a predetermined number of anchor nodes 102 positioned closest to train 110 , such as the 5 anchor nodes 102 closest to train 110 and/or the 2 anchor nodes 102 closest to train 110 .
- FIG. 10 is a drawing of an illustrative method 1000 for determining motion characteristics of a train traveling along a train track using IMU data and RF data, in accordance with some embodiments of the technology described herein.
- method 1000 includes obtaining IMU data and range data at step 1002 , determining an orientation of the train track at step 1004 , converting the IMU and range data to an absolute reference frame at step 1006 , integrating one or more accelerations of the IMU and range data at step 1008 , and integrating one or more velocities at step 1010 .
- method 1000 may be performed using processor(s) 142 of motion determination system 120 .
- method 1000 may be used to determine motion characteristics for one or more vertices of graph 700 in FIG. 7 .
- obtaining IMU data and range data at step 1002 may include loading the IMU and/or range data from memory 144 .
- the IMU and/or range data may have been previously determined and/or estimated using processor(s) 142 and stored in memory 144 .
- the IMU and/or range data may be obtained directly from the IMU(s) 146 and/or RF subsystem(s) 130 .
- the IMU data may include one or more signals from IMU(s) 146 indicative of acceleration of train 110 in one or more directions and/or rotationally about one or more axes.
- the IMU data may include one or more estimated accelerations in one or more directions and/or rotationally about one or more axes.
- the IMU data may include values of gyroscope and/or accelerometer biases stored in memory 144 .
- the range data may include one or more distances between train 110 and one or more anchor nodes determined using RF subsystem(s) 130 .
- the range data may include one or more known positions of the anchor nodes.
- the range data and/or IMU data may include motion characteristics determined for a previous vertex (e.g., of graph 700 ), and the range data and/or IMU data may be used to determine motion characteristics for a current vertex.
- determining the orientation of the train track at step 1004 may include determining a trajectory of the train track using IMU data indicating a detected pitch, roll, and/or yaw of the train.
- the detected pitch, roll, and/or yaw acceleration of the train may be used to determine a position of the train along the train track, such as when a roll acceleration of the train indicates a turn in the train track and/or a pitch acceleration of the train indicates an uphill or downhill slope in the train track.
- determining the orientation of the train track may include determining which in direction along the train track the train is traveling.
- converting the IMU data and range data to an absolute reference frame at step 1006 may include associating the IMU data and range data with an estimated and/or determined position of the train along a track, and/or away from the track.
- the absolute reference frame may include a trajectory (e.g., length) of the track and/or a trajectory towards and/or away from the track in a direction perpendicular to the ground below the track.
- an estimated acceleration of the train in a direction parallel to the trajectory of the track may be associated with an estimated position of the train along the trajectory of the track.
- a determined distance between the train and an anchor node having a known position may be associated with the estimated position of the train along the trajectory of the track.
- integrating the acceleration(s) at step 1008 may include integrating over an elapsed time such that the integrated acceleration(s) result in one or more velocities at an end of the elapsed time.
- the elapsed time may be a time between a previous vertex (e.g., of graph 700 ) and a current vertex.
- the result(s) of the integration may be added to and/or subtracted from one or more velocities of the previous vertex to result in a velocity for the current vertex.
- processor(s) 142 may be configured to approximate the integration.
- processor(s) 142 may be configured to integrate a first estimated acceleration in a first direction parallel to a direction of elongation of the train track to determine a first velocity in the first direction and a second estimated acceleration in a second direction perpendicular to the ground below the train track to determine a second velocity in the second direction.
- integrating the acceleration(s) at step 1008 may include storing the resulting velocities in memory 144 .
- processor(s) 142 may be configured to determine a pitch of the train (e.g., rotationally about a third direction perpendicular to the first and second directions) by integrating a pitch acceleration of the train (e.g., estimated using IMU(s) 146 ) over the elapsed time and adding the result to and/or subtracting the result from a pitch of a previous vertex (e.g., of graph 700 ).
- a pitch acceleration of the train e.g., estimated using IMU(s) 146
- integrating the velocity or velocities at step 1010 may include integrating over an elapsed time such that the integrated velocities result in a position and/or pitch at an end of the elapsed time.
- the elapsed time may be the same elapsed time as described in connection with step 1008 .
- the result(s) of the integration may be added to and/or subtracted from a position and/or pitch of the previous vertex to result in a position and/or pitch for the current vertex.
- processor(s) 142 may be configured to approximate the integration.
- processor(s) 142 may be configured to integrate a velocity in the first direction to determine a position of the train along the train track in the first direction. In some embodiments, integrating the velocity or velocities at step 1010 may include storing the resulting velocities in memory 144 . In some embodiments, processor(s) 142 may estimate multiple positions using multiple sources of data (e.g., range data and IMU data) and iteratively adjust motion determination characteristics to reduce and/or minimize a difference between the multiple position estimates to determine a position of the train.
- sources of data e.g., range data and IMU data
- FIG. 11 is a diagram of an illustrative computer system on which embodiments described herein may be implemented.
- An illustrative implementation of a computer system 1100 that may be used in connection with any of the embodiments of the disclosure provided herein is shown in FIG. 8 .
- the processes described with reference to FIG. 8 may be implemented using computer system 1100 .
- the computer system 1100 may be used to train and/or use any of the neural network statistical models described herein.
- the computer system 1100 may include one or more processors 1102 and one or more articles of manufacture that comprise non-transitory computer-readable storage media (e.g., memory 1104 and one or more non-volatile storage media 1106 ).
- the processor 1102 may control writing data to and reading data from the memory 1104 and the non-volatile storage device 1106 in any suitable manner, as the aspects of the disclosure provided herein are not limited in this respect.
- the processor 1102 may execute one or more processor-executable instructions stored in one or more non-transitory computer-readable storage media (e.g., the memory 1104 ), which may serve as non-transitory computer-readable storage media storing processor-executable instructions for execution by the processor 1102 .
- One or more aspects and embodiments of the present disclosure involving the performance of processes or methods may utilize program instructions executable by a device (e.g., a computer, a processor, or other device) to perform, or control performance of, the processes or methods.
- a device e.g., a computer, a processor, or other device
- inventive concepts may be embodied as a computer readable storage medium (or multiple computer readable storage media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement one or more of the various embodiments described above.
- the computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various ones of the aspects described above.
- computer readable media may be non-transitory media.
- program or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects as described above. Additionally, it should be appreciated that according to one aspect, one or more computer programs that when executed perform methods of the present disclosure need not reside on a single computer or processor, but may be distributed in a modular fashion among a number of different computers or processors to implement various aspects of the present disclosure.
- Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- functionality of the program modules may be combined or distributed as desired in various embodiments.
- data structures may be stored in computer-readable media in any suitable form.
- data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that convey relationship between the fields.
- any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
- the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
- a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer, as non-limiting examples. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smartphone or any other suitable portable or fixed electronic device.
- PDA Personal Digital Assistant
- a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible formats.
- Such computers may be interconnected by one or more networks in any suitable form, including a local area network or a wide area network, such as an enterprise network, and intelligent network (IN) or the Internet.
- networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- some aspects may be embodied as one or more methods.
- the acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
- a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
- the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements.
- This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified.
- “at least one of A and B” can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
- the terms “approximately” and “about” may be used to mean within ⁇ 20% of a target value in some embodiments, within ⁇ 10% of a target value in some embodiments, within ⁇ 5% of a target value in some embodiments, within ⁇ 2% of a target value in some embodiments.
- the terms “approximately” and “about” may include the target value.
Abstract
Described herein are techniques for determining motion characteristics (e.g., position, velocity, acceleration, etc.) of one or more trains traveling along a train track, such that train control systems may have the information needed to safely operate the trains at higher speeds and with shorter separation between trains. In accordance with various embodiments, systems and methods described herein may be configured to determine a position, velocity, and/or acceleration of a train traveling along a train track. In some embodiments, the motion characteristics may be determined one or more radio frequency antennas onboard the train, such as in communication with one or more anchor nodes positioned adjacent the train track. Alternatively or additionally, in some embodiments motion characteristics may be determined using one or more one or more inertial measurement units (IMUs) onboard the train.
Description
- This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Application Ser. No. 62/931,481, filed Nov. 6, 2019, under Attorney Docket No.: H0908.70079US01, and titled, “TECHNIQUES AND ASSOCIATED SYSTEMS AND METHODS FOR DETERMINING TRAIN MOTION CHARACTERISTICS,” which is incorporated by reference in its entirety herein.
- Train systems, such as urban subway systems, employ train control mechanisms to facilitate the safe movement of trains about the various train tracks of the train system. To prevent collisions between trains moving along the same track, conventional train control systems monitor segments of the track to ensure that only a single train is traveling within any particular segment.
- Some embodiments of the technology described herein relate to a system for determining motion characteristics of a train traveling along a train track. The system may comprise at least one RF antenna configured to receive RF signals from at least one anchor node positioned proximate the train track, at least one inertial measurement unit (IMU) configured to generate IMU data responsive to motion of the train along the train track, and at least one processor configured to determine at least one distance between the at least one RF antenna and the at least one anchor node and determine one or more motion characteristics of the train using the at least one distance and the IMU data.
- In some embodiments, the one or more motion characteristics may be selected from a group consisting of position, velocity, acceleration, position uncertainty, velocity uncertainty, and acceleration uncertainty. In some embodiments, the one or more motion characteristics may include velocity.
- In some embodiments, the at least one processor may comprises a first processor communicatively coupled to the at least one RF antenna and configured to determine the at least one distance, and a second processor communicatively coupled to the first processor and the at least one IMU and configured to determine the one or more motion characteristics. In some embodiments, the system may further comprise at least one circuit board having the second processor thereon, and the first processor may be wired to the at least one circuit board. In some embodiments, the first processor may be packaged with the at least one antenna. In some embodiments, the at least one IMU may be disposed on the at least one circuit board. In some embodiments, the system may further comprise a memory disposed on the at least one circuit board, and the at least one processor may be configured to store the at least one distance in the memory.
- In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a center frequency between 3-10 GHz. In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a bandwidth of at least 500 MHz. In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a bandwidth of at least 2 GHz.
- In some embodiments, the at least one IMU may include a plurality of IMUs.
- In some embodiments, the at least one processor may be configured to determine the one or more motion characteristics using a graph-based optimization algorithm. In some embodiments, the at least one processor may be configured to determine the one or more motion characteristics using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a method of determining motion characteristics of a train traveling along a train track. The method may comprise receiving, via at least one RF antenna, RF signals from at least one anchor node positioned proximate the train track, receiving, via at least one inertial measurement unit (IMU), IMU data generated responsive to motion of the train along the train track, and determining, by at least one processor, at least one distance between the at least one RF antenna and the at least one anchor node, and one or more motion characteristics of the train using the at least one distance and the IMU data.
- In some embodiments, the one or more motion characteristics may be selected from a group consisting of: position, velocity, acceleration, position uncertainty, velocity uncertainty, and acceleration uncertainty. In some embodiments, the one or more motion characteristics may include velocity.
- In some embodiments, determining the at least one distance may be performed by a first processor of the at least one processor, and determining the one or more motion characteristics may be performed by a second processor of the at least one processor.
- In some embodiments, the RF signals may have a center frequency between 3-10 GHz. In some embodiments, the RF signals may have a bandwidth of at least 500 MHz. In some embodiments, the RF signals may have a bandwidth of at least 2 GHz.
- In some embodiments, the at least one IMU may include a plurality of IMUs.
- In some embodiments, the method may further comprise determining, by the at least one processor, the one or more motion characteristics using a graph-based optimization algorithm. In some embodiments, the method may further comprise determining, by the at least one processor, the one or more motion characteristics using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a system for determining a velocity of a train traveling along a train track. The system may comprise at least one RF antenna configured to receive RF signals from at least one anchor node positioned proximate the train track and at least one processor configured to determine at least one distance between the at least one RF antenna and the at least one anchor node and determine the velocity of the train using the at least one distance.
- In some embodiments, the at least one processor may be further configured to determine, using the at least one distance, an estimate of uncertainty for the determined velocity of the train. In some embodiments, the at least one processor may be further configured to determine a position and/or an acceleration of the train using the at least one distance.
- In some embodiments, the at least one processor may comprise a first processor configured to determine the at least one distance and a second processor configured to determine the velocity of the train. In some embodiments, the system may further comprise at least one circuit board having the second processor thereon, and the first processor may be wired to the at least one circuit board. In some embodiments, the first processor may be packaged with the at least one antenna. In some embodiments, the system may further comprise a memory disposed on the at least one circuit board, and the at least one processor may be configured to store the at least one distance in the memory.
- In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a center frequency between 3-10 GHz. In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a bandwidth of at least 500 MHz. In some embodiments, the at least one RF antenna may be configured to receive the RF signals having a bandwidth of at least 2 GHz.
- In some embodiments, the at least one processor may be configured to determine the velocity using a graph-based optimization algorithm. In some embodiments, the at least one processor may be configured to determine the velocity using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a method of determining a velocity of a train traveling along a train track. The method may comprise receiving, via at least one RF antenna, RF signals from at least one anchor node positioned proximate the train track, and determining, by at least one processor, at least one distance between the at least one RF antenna and the at least one anchor node, and the velocity of the train using the at least one distance.
- In some embodiments, determining the at least one distance may be performed by a first processor of the at least one processor, and determining the velocity may be performed by a second processor of the at least one processor. n some embodiments, the method may further include determining, by the at least one processor, a position and/or acceleration of the train using the at least one distance.
- In some embodiments, the RF signals may have a center frequency between 3-10 GHz. In some embodiments, the RF signals may have a bandwidth of at least 500 MHz. In some embodiments, the RF signals may have a bandwidth of at least 2 GHz.
- In some embodiments, the method may further comprise determining, by the at least one processor, the velocity using a graph-based optimization algorithm. In some embodiments, the method may further comprise determining, by the at least one processor, the velocity using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a system for determining a velocity of a train traveling along a train track. The system may comprise at least one inertial measurement unit (IMU) configured to generate IMU data responsive to motion of the train along the train track and at least one processor configured to determine velocity of the train using the IMU data.
- In some embodiments, the at least one processor may be further configured to determine, using the IMU data, an estimate of uncertainty for the determined velocity of the train. In some embodiments, the at least one processor may be further configured to determine, using the IMU data, a position, an acceleration, and/or an orientation of the train.
- In some embodiments, the system may further comprise at least one circuit board having the at least one processor thereon. In some embodiments, the at least one IMU may be disposed on the at least one circuit board. In some embodiments, the system may further comprise a memory disposed on the at least one circuit board, and the at least one processor may be configured to store the IMU data in the memory. In some embodiments, the at least one IMU may include a plurality of IMUs.
- In some embodiments, the at least one processor may be configured to determine the velocity using a graph-based optimization algorithm. In some embodiments, the at least one processor may be configured to determine the velocity using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Some embodiments of the technology described herein relate to a method of determining a velocity of a train traveling along a train track. The method may comprise receiving, via at least one inertial measurement unit (IMU), IMU data generated responsive to motion of the train along the train track, and determining, by at least one processor, a velocity of the train using the IMU data.
- In some embodiments, the at least one IMU may include a plurality of IMUs.
- In some embodiments, the method may further comprise determining, by the at least one processor, a position, an acceleration, and/or an orientation of the train using the IMU data.
- In some embodiments, the method may further comprise determining, by the at least one processor, the velocity using a graph-based optimization algorithm. In some embodiments, the method may further comprise determining, by the at least one processor, the velocity using a Bayesian estimation algorithm. In some embodiments, the Bayesian estimation algorithm may include at least one member selected from a group consisting of a pose graph optimization, a factor graph optimization, a non-linear least squares optimization, an extended Kalman filter, an unscented Kalman filter, and a particle filter.
- Various aspects and embodiments of the disclosed technology will be described with reference to the following figures. It should be appreciated that the figures are not necessarily drawn to scale. In the drawings, each identical or nearly identical component that is illustrated in various figures is represented by a like numeral. For purposes of clarity, not every component may be labeled in every drawing.
-
FIG. 1 is a drawing of anillustrative train 110 traveling along a train track 104 and incorporating asystem 120 for determining motion characteristics of thetrain 110, in accordance with some embodiments of the technology described herein. -
FIG. 2 is a drawing of anillustrative anchor node 102 that may be positioned along a train track, in accordance with some embodiments of the technology described herein. -
FIG. 3 is a drawing of anillustrative system 120 for determining motion characteristics of thetrain 110 and atrain control system 150, each positioned onboard thetrain car 112 a ofFIG. 1 , in accordance with some embodiments of the technology described herein. -
FIG. 4 is a drawing of illustrative components of asystem 120 for determining motion characteristics of a train traveling along a train track, in accordance with some embodiments of the technology described herein. -
FIG. 5 is a drawing of anillustrative RF subsystem 130 of a system for determining motion characteristics of a train, in accordance with some embodiments of the technology described herein. -
FIG. 6 is drawing of illustrative components of a system for determining motion characteristics of a train, including printedcircuit boards 140, aconnector interface 126, and a housing 124, in accordance with some embodiments of the technology described herein. -
FIG. 7 is a drawing of anexemplary graph 700 of motion characteristics of a train generated by a system for determining motion characteristics of a train, in accordance with some embodiments of the technology described herein. -
FIG. 8 is a drawing of anillustrative method 800 for determining motion characteristics of a train traveling along a train track, in accordance with some embodiments of the technology described herein. -
FIG. 9A is a drawing of anillustrative method 900 for determining motion characteristics of a train traveling along a train track using inertial measurement unit (IMU) data and radio frequency (RF) data, in accordance with some embodiments of the technology described herein. -
FIG. 9B is a drawing of atrain 110 on atrain track 104 a during the RF distancedetermination initialization step 904 of themethod 900 ofFIG. 9A , in accordance with some embodiments of the technology described herein. -
FIG. 10 is a drawing of anillustrative method 1000 for determining motion characteristics of a train traveling along a train track using IMU data and RF data, in accordance with some embodiments of the technology described herein. -
FIG. 11 is a drawing of anillustrative computer system 1100 on which some embodiments described herein may be implemented. - The inventors recognized that conventional train control systems constrain the capacity of a train system (e.g., rate at which passengers are transported by the train system) because the conventional train control systems are unable to precisely locate trains within the train system. For instance, conventional train control systems permit only one train to travel in a given track segment because the train control systems are not able to precisely locate trains within the track segment, and thus could not prevent a collision between two trains traveling along the same track segment. For example, if two trains were traveling in the same track segment and the leading train stopped, the train control system would be unable to detect the stopping of the leading train and appropriately signal the following train to stop before colliding with the leading train. Additionally, because the train control system may need to stop a train before the train reaches the next track segment, trains within the train system are operated at low speed. For example, if two trains were traveling in consecutive track segments and the leading train stopped while traveling in its track segment, the following train would have to stop before reaching the next track segment because the train control system does not know where the leading train is within the next track segment. Accordingly, the lack of precision in locating trains along the tracks prevents more trains from traveling in the same track segment, and also limits the speed at which trains may safely travel along the tracks.
- To address these drawbacks of conventional train control systems, the inventors developed techniques for determining motion characteristics (e.g., position, velocity, acceleration, position uncertainty, velocity uncertainty, acceleration uncertainty, etc.) of trains traveling along a train track with greater accuracy than previously possible. These techniques may be used to safely operate the trains at higher speeds and with shorter separation between trains than previously possible, thereby allowing for an increased capacity of the train system. In some embodiments, the techniques developed by the inventors use ultra-wideband (UWB) RF data and/or inertial measurement unit (IMU) data collected by one or more IMUs onboard a train to determine the train's motion characteristics as the train travels along the train track. The inventors recognized that determining the train's motion characteristics using such techniques provides train control systems with enhanced precision, enabling trains to travel faster and closer together along a train track without compromising safety.
- Some techniques developed by the inventors facilitate determining motion characteristics using range data obtained via one or more wireless links between electronics onboard the train and electronics positioned along the train track. In some embodiments, the range data may indicate the position, velocity, and/or acceleration of the train. In one example, the train may include one or more radio frequency antennas (e.g., ultra-wideband antennas) onboard the train that exchange wireless signals with one or more anchor nodes positioned along the train track. In some embodiments, radio frequency antennas described herein may be configured to receive signals having a center frequency between 3-10 GHz, such as between 3-5 GHz, between 4-5 GHz, and/or between 7-10 GHz. In some embodiments, radio frequency antennas may have a bandwidth of at least 500 MHz, at least 1 GHz, and/or at least 2 GHz. In the above example, the range data may include a distance separating the train from the anchor node(s), and one or more processors located onboard the train may be configured to determine the motion characteristics using the range data. In some embodiments, one or more range processors (e.g., of multiple processors onboard the train) may be packaged with the antenna(s) to determine the range data, and another processor may be disposed on a circuit board that is wired to the antenna(s) for determining the motion characteristics using the range data.
- Some techniques described herein alternatively or additionally use one or more inertial measurement units (HMIs) onboard the train, which generate motion data responsive to detecting movement of the train (e.g., along the track, away from or towards the track, etc.), to determine the motion characteristics of the train. For instance, the motion data generated by the IMU(s) may indicate a position, velocity, and/or acceleration of the train. In one example, one or more processors onboard the train may be configured to determine the motion characteristics using the motion data from the IMU(s). In some embodiments, the processor(s) may be disposed on a circuit board, and the IMU(s) may be disposed on the same circuit board.
- Some techniques described herein provide an estimated uncertainty to accompany motion characteristics determined using the antenna(s) and/or the IMU(s) described herein. For instance, in some embodiments, the processor(s) onboard the train may be configured to determine an uncertainty of motion characteristics generated using the antenna(s), taking into account factors such as how recently the range data was determined, how strong the transmitted and/or received wireless signals were, whether range data determined using other antennas onboard the train is substantially different from the range data used to determine the motion characteristics, and other such considerations. Alternatively or additionally, in some embodiments, the processor(s) may be configured to determine an uncertainty of motion characteristics generated using the IMU(s), taking into account factors such as how recently the IMU data was generated, whether data from any other IMUs onboard the train is substantially different from the IMU data used to determine the motion characteristics.
- Some techniques described herein use data from multiple modalities (e.g., antenna(s) and IMU(s), etc.) to determine motion characteristics of a train. In some embodiments, the train may have one or more radio frequency antennas onboard for exchanging signals with one or more track-adjacent anchor nodes to generate range data, and the train may also have one or more IMUs onboard to generate motion data responsive to detecting movement of the train. The inventors recognized that using only one modality (e.g., only antenna(s) or only IMU(s)) may cause the motion characteristics determined onboard the train to have an intolerable level of uncertainty for some applications. For instance, in such applications, error in the motion characteristics caused by a temporary failure of one of the modalities (e.g., poor antenna signal due to weather, etc.) may compromise the safety of trains within the systems. Accordingly, multi-modal techniques (e.g., using the antenna(s) and the IMU(s)) may compensate for uncertainty resulting from a failure of one of the modalities, as the other modality may detect the failure and/or provide the data needed to determine motion characteristics in the absence of the failed modality. For example, range data determined using the antenna(s) may be inconsistent with IMU data, thus indicating a failure of the antenna and/or an anchor node in communication with the antenna. The antenna failure may be mitigated by using the IMU data, and not using the range data, to determine the motion characteristics of the train.
- The inventors further developed techniques for reconciling data received from multiple modalities (e.g., antenna(s) and IMU(s), etc.) to mitigate uncertainty in the data. For instance, in some embodiments, the processor(s) onboard the train may be configured to correct data from the IMU(s) using range data from the antenna(s). In one example, the processor(s) may be configured to store previously determined motion characteristics (e.g., position, velocity, and acceleration) in a memory and estimate motion characteristics at a later time using data from the IMU(s). Then, the processor(s) may be configured to determine motion characteristics using range data from the antenna(s) to correct the motion characteristics that were estimated using the IMU(s). In this example, the IMU(s) may be configured to determine the acceleration of the train using measurements of acceleration in the direction of the train track and also in a gravity direction, such that the uphill or downhill slope of the track may be incorporated into estimating the position and/or velocity of the train. The range data received from the antenna(s) may be used to correct the position and/or velocity estimates made using the acceleration measurements determined using the IMU(s). As a result, motion characteristics determined onboard the train may be more accurate by intelligently combining data from the multiple modalities to compensate for one another, increasing the confidence with which train control systems may operate the trains.
- Some techniques described herein further provide an interface between the electronics onboard the train tasked with determining the motion characteristics and the train control system. For instance, in some embodiments, the interface may provide the motion characteristics to an onboard control system satellite that forwards the communications to a central hub and receives operation commands from the central hub in response. Alternatively or additionally, in some embodiments, the interface may provide the motion characteristics to a decentralized control system hub that generates operation commands for the train from onboard. Accordingly, motion determination systems described herein provide the motion characteristics directly to the train control system.
- It should be appreciated that various aspects described herein may be implemented in any of numerous ways. Examples of specific implementations are provided herein for illustrative purposes only. In addition, the various aspects described in the embodiments below may be used alone or in any combination and are not limited to the combinations described explicitly herein.
-
FIG. 1 is a drawing of anillustrative train 110 traveling along a train track 104 and incorporating asystem 120 for determining motion characteristics of thetrain 110, in accordance with some embodiments of the technology described herein. InFIG. 1 , thetrain 110 includesmultiple train cars motion determination system 120 and apower supply 160. The motion determination system(s) 120 may be configured to determine a position, velocity, and/or acceleration of thetrain 110.Train car 112 a also includes at least onetrain control system 150 that may be configured to determine when thetrain 110 moves and stops, and/or the speed for thetrain 110 to travel, depending on motion characteristics provided by the motion determination system(s) 120. -
FIG. 1 further illustratesanchor nodes 102 positioned along the train track 104 and operating in communication with the motion determination system(s) 120 onboard thetrain 110 to facilitate determination of motion characteristics of thetrain 110, as described further herein. While theanchor nodes 102 are illustrated side-by-side with the track 104, it should be appreciated thatanchor nodes 102 described herein alternatively or additionally may be positioned above or below the train track 104, or in any other position suitable for exchanging wireless signals with antennas onboard thetrain 110. In some embodiments, theanchor nodes 102 may have known positions. For example, the positions of theanchor nodes 102 may be surveyed and recorded (e.g., stored in memory of a central database and/or a memory of motion determination system 120) during and/or after installation of theanchor nodes 102. - In some embodiments,
anchor nodes 102 may be spaced from each other along the direction of elongation of the train track 104. For example, an average spacing betweenadjacent anchor nodes 102 may be less than 1 kilometer (km), such as 600 meters (m). In this example,anchor nodes 102 may be capable of transmitting and/or receiving RF signals over a transmission range of at least 100 m, such as 300 m and/or 350 m. In some embodiments, where the train track 104 bends, ananchor node 102 may be positioned on the outer side (e.g., the longer side) of the bend. - In some embodiments, motion determination system(s) 120 may be positioned onboard the
train cars train cars train car 112 a and/or 112 b. In some embodiments, train control system(s) 150 may be positioned in the same portion of thetrain car 112 a as motion determination system(s) 120. In some embodiments, train control system(s) 150 may be positioned in a different portion of thetrain car 112 a from motion determination system(s) 120. - Each
motion determination system 120 onboard thetrain 110 may be configured to determine motion characteristics of thetrain 110 traveling along the train track 104 using data gathered from one or more sensors on thetrain 110. For example, the motion determination system(s) 120 may include one or more radio frequency (RF) antennas and/or IMUs, and one or more processors to determine the motion characteristics using data from the antenna(s) and/or IMU(s). In some embodiments, data from only one modality (e.g., the RF antenna(s), the IMU(s), etc.) may be incorporated in determining the motion characteristics. In other embodiments, data from multiple modalities may be incorporated, as described further herein. - For
motion determination systems 120 that include the RF antenna(s), the antenna(s) may exchange wireless signals with the track-adjacent anchor node(s) 120 to generate range data indicating the position, velocity, and/or acceleration of thetrain 110. The processor(s) onboard the train 110 (e.g., including one or more range processors) may be configured to determine the range data using the exchanged wireless signals, such as using time of flight measurements that indicate the distance separating the RF antenna(s) from the anchor node(s) 102. In some embodiments, the range data may include a distance from thetrain 110 to the anchor node(s) 102. For example, the RF antenna(s) of themotion determination system 120 may transmit a first signal to ananchor node 102 and theanchor node 102 may transmit asecond signal 102 to themotion determination system 120 in response to receiving the first signal. In this example, the round-trip travel time between transmitting the first signal and receiving the second signal may indicate the distance between the RF antenna(s) of themotion determination system 120 and theanchor node 102. The distance may be determined by subtracting from the round-trip travel time any known delays, such as a delay between when theanchor node 102 receives the first signal and transmits the second signal, dividing the round-trip travel time by two to obtain the one-way travel time, and multiplying the one-way travel time by the wave speed of the first and second signals (e.g., the speed of light in air). - In some embodiments, the distance between the
anchor node 102 and the RF antenna(s) of themotion determination system 120 may be used to determine motion characteristics of thetrain 110. For example, if theanchor nodes 102 have known positions, a position of thetrain 110 may be determined using the determined distances between thetrain 110 and theanchor nodes 102 and the known positions of theanchor nodes 102. Alternatively or additionally, motion characteristics other than position, such as velocity and/or acceleration, may be determined using the distance and the known positions. In some embodiments, the RF antenna(s) onboard thetrain 110 may exchange wireless signals with multiple ones of theanchor nodes 102 to generate the range data. Alternatively or additionally, the processor(s) may generate multiple sets of range data corresponding to signals exchanged with themultiple anchor nodes 102 and/or using multiple RF antennas. - For
motion determination systems 120 that include one or more IMUs, the IMU(s) may generate motion data responsive to detecting motion of thetrain 110 and provide the motion data to the processor(s) of the system(s) 120. For instance, the IMU(s) may be configured to determine one or more positions, velocities, and/or accelerations of thetrain 110 in the direction of the train track 104 and/or vertically with respect to the train track 104 (e.g., upwards away from the train track 104 or downwards towards the train track 104). In some embodiments, an IMU may include a gyroscope and/or accelerometer configured to provide signals indicative of acceleration of thetrain 110 along one or more directions. For example, motion data output by the IMU may be indicative of roll (e.g., rotational about an axis parallel to the direction of elongation of the train 110), pitch (e.g., rotational about an axis parallel to the ground surface and perpendicular to the direction of elongation of the train 110), and/or yaw (e.g., rotational about an axis perpendicular to the ground surface and the direction of elongation of the train 110) acceleration. In some embodiments, the processor(s) may be configured to determine the motion characteristics of thetrain 110 by accumulating motion data output by the IMU(s) over time. For example, given a position and/or velocity of thetrain 110 at a first time, the processor(s) may be configured to determine a later position and/or velocity of thetrain 110 using the position and/or velocity of the first time and the motion data generated by the IMU(s). In some embodiments, the processor(s) may be configured to determine that thetrain 110 is not moving in response to data from the IMU(s) indicating the train has zero acceleration. - In some embodiments, a
motion determination system 120 may include the RF antenna(s) and the IMU(s), and the processor(s) of the system may be configured to determine the motion characteristics of thetrain 110 using the range data from the RF antenna(s) and the motion data from the IMU(s). For example, the processor(s) may estimate motion characteristics of thetrain 110 using the motion data from the IMU(s), such as by estimating a position of thetrain 110 using a previous position of thetrain 110 and one or more acceleration measurements (e.g., in multiple directions). In this example, the processor(s) may correct the motion characteristic estimates using range data received using the RF antenna(s), thus reducing the uncertainty of motion characteristics provided from themotion determination system 120 to the train control system(s) 150. -
Motion determination systems 120 on the same or different train cars (e.g., 112 a and 112 b) may further communicate motion characteristics to one another via wired and/or wireless connections within and/or among the train cars. One or more of themotion determination systems 120 may interface directly with the train control system(s) 150 to provide the motion characteristics to the train control system(s) 150, such that thetrain control systems 150 are able to determine whether to start, stop, or continue movement of thetrain 110. For instance, motion characteristics received from multiple trains may indicate that one of the trains is at risk of colliding with another one of the trains. It should be appreciated that, in some embodiments, the train control system(s) 150 may send the motion characteristics to a central control location external to the train and receive motion control instructions in response to sending the transmitted motion characteristics. -
FIG. 2 is a drawing of anillustrative anchor node 102 that may be positioned along a train track, in accordance with some embodiments of the technology described herein. In some embodiments,anchor node 102 may be mounted on a pole or a wall. For example,anchor node 102 may be placed on a pole or wall adjacent a train track. As shown inFIG. 2 ,anchor node 102 has ahousing 170 containing other components of anchor node 102 (not shown). Such components may include one or more RF subsystems and one or more processors. For example, the RF subsystem(s) may be configured to transmit and/or receive RF signals to and/or from a motion determination system onboard a train for use by the motion determination system in determining motion characteristics of the train, as described herein. In some embodiments,housing 170 may be waterproof and/or dustproof to provide environmental protection for the components ofanchor node 102. In some embodiments,anchor node 102 may be positioned outdoors. In some embodiments anchornode 102 may be positioned in a subway tunnel. - In some embodiments,
multiple anchor nodes 102 may have a same position along a train track, such as along the direction of elongation of the train track and/or along a direction parallel to the ground below the train track and perpendicular to the direction of elongation of the train track. The inventors recognized that includingmultiple anchor nodes 102 having a same position (e.g., in a redundant configuration) allows for distance determination between a train and theanchor nodes 102 in the event one of theanchor nodes 102 fails during operation. -
FIG. 3 is a drawing of illustrative motion determination and traincontrol systems train car 112 a ofFIG. 1 , in accordance with some embodiments of the technology described herein. InFIG. 3 , themotion determination system 120 includes multiple motion determination modalities, namely anRF subsystem 130 including one or more radio frequency (RF) antennas, and one ormore IMUs 146. The motion determination system further includes one ormore processors 142 and amemory 144. It should be appreciated that, in accordance with various embodiments, motion determination systems described herein may include only one motion determination modality, such as the RF antenna(s) or the IMU(s), but not both. - As illustrated in
FIG. 3 , the processor(s) 142, IMU(s) 146, andmemory 146 are disposed on one ormore PCBs 140 coupled toRF subsystem 130. For instance, RF antenna(s) ofRF subsystem 130 may provide range data to the processor(s) 142 for determining the motion characteristics. It should be appreciated that the components disposed on PCB(s) 140 may vary in accordance with various embodiments. For instance, in some embodiments, the IMU(s) 146 is/are not disposed on PCB(s) 140. Alternatively or additionally, thesystem 120 may includemultiple PCBs 140 with components positioned on themultiple PCBs 140. As an example, the IMU(s) 146 may be positioned onrespective PCBs 140. Further, in some embodiments, the RF antenna(s) ofRF subsystem 130 may be disposed on one or more ofPCBs 140. - In some embodiments,
motion determination system 120 may be configured to determine motion characteristics of atrain 110 using signals transmitted and/or received usingRF subsystem 130. For example, one or more range processors ofRF subsystem 130 may be configured to determine a distance between the RF antenna(s) ofRF subsystem 130 and one ormore anchor nodes 102, as described further herein including with reference toFIG. 4 . In some embodiments,RF subsystem 130 may provide the distance(s) to processor(s) 142, and processor(s) 142 may be configured to determine motion characteristics using the distance(s). For example, if known positions of theanchor nodes 102 are stored inmemory 140, processor(s) 142 may be configured to determine the position oftrain 110 using the known position of ananchor node 102 and the distance between the RF antenna(s) ofRF subsystem 130 and the anchor node 102 (e.g., taking into account a known position of the RF antenna(s) onboard train 110). - In some embodiments, processor(s) 142 may be configured to determine a velocity of
train 110 using a previous position of train 110 (e.g., stored in memory 144), the current position oftrain 110, and a travel time oftrain 110 between the positions. In some embodiments, processor(s) 142 may be configured to determine an acceleration oftrain 110 using the current velocity oftrain 110, a previous velocity of train 110 (e.g., stored in memory 144), and a travel time oftrain 110 between the velocities. In some embodiments,motion determination system 120 may be configured to determine motion characteristics of a train using the IMU(s) 146. For example, the IMU(s) 146 may output to processor(s) 142 one or more signals indicative of roll, pitch, and/or yaw acceleration of thetrain 110. In this example, a previous position, velocity, and/or acceleration of thetrain 110 may be stored inmemory 144. A current velocity of the train 110 (e.g., along the train track and/or away from the train track) may be determined using a previous velocity of thetrain 110, the current acceleration of the train 110 (e.g., along a direction of the train track), and a travel time oftrain 110 between the previous velocity and the current acceleration. A current position and/or pitch of thetrain 110 may be determined using a previous position of thetrain 110, the current velocity of thetrain 110, and the travel time oftrain 110 between the positions. - In some embodiments, an analog-to-digital converter (ADC) may be included in IMU(s) 146 and/or coupled between IMU(s) 146 and processor(s) 142 to digitize signals from IMU(s) 146 before the signals are provided to processor(s) 142. In some embodiments, processor(s) 142 may store IMU signals and/or data derived from the IMU signals in
memory 144, for example, in association with a time at which the IMU signals were received and/or generated. In some embodiments, signals output from IMU(s) 146 may indicate that the train has zero acceleration, and processor(s) 142 may be configured to determine using these signals that the train is not moving (e.g., in combination with previous signals indicating deceleration). - In some embodiments,
motion determination system 120 may be configured to determine motion characteristics of a train using a combination of signals transmitted and/or received usingRF subsystem 130 and IMU(s) 146. For example, processor(s) 142 may receive fromRF subsystem 130 one or more distances between the RF antenna(s) ofRF subsystem 130 and one or morerespective anchor nodes 102, and one or more signals indicative of roll, pitch, and/or yaw acceleration from IMU(s) 146. In some embodiments, processor(s) 142 may be configured to determine a first set of motion characteristics (e.g., position, velocity, and acceleration) of thetrain 110 using the distance(s) provided byRF subsystem 130 and a second set of motion characteristics of thetrain 110 using the signal(s) provided by IMU(s) 146. For example, the two sets of motion characteristics may be different. Because IMU(s) 146 may be prone to drift over time, processor(s) 146 may override the second set of motion characteristics with the first set of motion characteristics. For example, when a position determined using RF signals conflicts with a position determined using IMU data, the position determined using RF signals may be selected as the determined position of thetrain 110. - In some embodiments, processor(s) 146 may be configured to reconcile motion characteristics determined using RF signals received by
RF subsystem 130 with motion characteristics determined using signals from IMU(s) 146. In some embodiments, processor(s) 146 may adjust motion determination characteristics of IMU(s) 146 if motion characteristics determined using RF signals conflict with motion characteristics determined using IMU(s) 146. As used herein, motion determination characteristics are parameters that may factor into determining motion characteristics using RF signals and/or IMU data, such as estimated IMU accelerometer and/or gyroscope biases. For example, gyroscope and/or accelerometer biases over time may be stored inmemory 144 and used to determine motion characteristics from the signal(s) generated by IMU(s) 146. In this example, processor(s) 142 may be configured to update the motion determination characteristics stored inmemory 144 based on differences between the determined sets of motion characteristics. In some embodiments, processor(s) 142 may be configured to determine new gyroscope and/or accelerometer biases that reduce and/or minimize residuals between motion characteristics determined using RF signals and corresponding motion characteristics determined using IMU(s) 146. For example, the new gyroscope and/or accelerometer biases, when applied to the signal(s) received from IMU(s) 146, may reduce and/or minimize discrepancies between positions, velocities, and accelerations determined using RF signals and positions, velocities, and accelerations determined using IMU(s) 146. - In some embodiments,
motion determination system 120 may includemultiple IMUs 146 and/orRF subsystems 130. The inventors recognized that someIMUs 146 and/orRF subsystems 130 may fail during operation ofmotion determination system 120, and includingmultiple IMUs 146 and/orRF subsystems 130 configured redundantly reduces the susceptibility ofmotion determination system 120 to overall failure. For instance, if anIMU 146 and/or anRF subsystem 130 fails, the failure may be detected as a result of inconsistent data determined using theIMUs 146 and/or theRF subsystems 130. Upon determining the failure of anIMU 146 and/orRF subsystem 130, themotion determination system 120 may ignore data from the failedIMU 146 and/orRF subsystem 130. -
FIG. 4 is a drawing of illustrative components of asystem 120 for determining motion characteristics of a train traveling along a train track, in accordance with some embodiments of the technology described herein. InFIG. 4 ,RF subsystem 130 includes one ormore range processors 136 coupled tomultiple RF antennas 132 via an RF front-end 134. In some embodiments,RF antennas 132 may be configured transmit RF signals to and/or receive RF signals from one ormore anchor nodes 102. In some embodiments, RF front-end 134 may be configured to prepare baseband signals for transmission byRF antennas 132 and/or prepare RF signals received byRF antennas 132 for processing by range processor(s) 136. In some embodiments, range processor(s) 136 may be configured to determine a distance betweenRF antennas 132 and ananchor node 102 using signals exchanged between the RF antenna(s) 132 and theanchor nodes 102. - In some embodiments,
RF antennas 132 may be positioned in a part of a train car that facilitates communication with anchor nodes positioned adjacent the train track. For instance,RF antennas 132 may be positioned on an external face of the train car, and/or near an interior wall of the train car that is not shielded with metal or other electrical conductors. - In accordance with various embodiments,
RF antennas 132 may include ultra-wideband (UWB) antennas. For example, RF antenna(s) 132 may be configured to receive signals having a center frequency on the order of 3-10 GHz, such as between 3-5 GHz, between 3-5 GHz, between 4-5 GHz and/or between 7-10 GHz. RF antenna(s) 132 may have a bandwidth of at least 500 MHz, such as at least 1 GHz and/or at least 2 GHz. In one example,RF antennas 132 may be configured to transmit and/or receive over a frequency range from 3.1-4.8 GHz.RF antennas 132 may be configured to communicate withanchor nodes 102 that are configured for the same or an overlapping frequency range. In one example,RF antennas 132 may have a gain of approximately 6 dB, whereas antennas ofanchor nodes 102 may be substantially omnidirectional (e.g., having a gain of approximately 0 dB). In one example, ananchor node 102 may include one or more antennas coupled to circuitry configured to responsively transmit signals after receiving one or more signals fromRF antennas 132 of thesystem 120 at a same or different frequency. It should be appreciated thatRF antennas 132 may be configured to operate in any suitable frequency range and with any suitable gain level. WhileRF antennas 132 are shown including two antennas inFIG. 4 , in some embodiments,RF antennas 132 may include greater or fewer than two antennas. - In some embodiments, RF front-
end 134 may include circuitry for modulating, up-converting, and amplifying signals transmitted to the anchor node(s) viaRF antennas 132, and/or amplifying, down-converting, and/or demodulating signals received from the anchor node(s) 102 via RF antenna(s) 132. For instance, RF front-end 134 may be configured for modulating and/or demodulating signals using ALOHA modulation and/or time division multiple access (TDMA) modulation. RF front-end 132 may further include one or more mixers and local oscillators for up-converting signals from baseband to an RF carrier frequency for transmission, and/or down-converting received signals from the same or a different RF carrier frequency to baseband for processing by range processor(s) 136. Additionally, RF front-end 134 may include one or more transmit (e.g., power) amplifiers for signal transmission and/or one or more receive (e.g., low noise) amplifiers for signal reception. In some embodiments, multiple mixers and/or local oscillators and/or phase shifters or time delay units may be used, such as for in-phase and quadrature demodulation and/or beamforming (e.g., using an array of RF antennas 132). In some embodiments, RF front-end 134 may include a digital-to-analog converter (DAC) for signal transmission and/or an analog-to-digital converter (ADC) for signal reception. In some embodiments,RF antennas 132 and/or the RF antenna(s) of the anchor node(s) 102 may be capable of signal transmission over a range of 1000 meters while maintaining a range data precision on the order of centimeters. - In some embodiments, the range processor(s) 136 may be configured to determine range data using RF signals transmitted to and/or received from the anchor node(s) 102. For example, range processor(s) 136 may be configured to determine a distance between RF antenna(s) 132 and an
anchor node 102, such as by calculating a one-way time of flight betweenRF antennas 132 and the anchor node(s) 102 using signals transmitted to and received from the anchor node(s) 102. For instance, in some embodiments, range processor(s) 136 may be configured to record a time when RF signals are transmitted to the anchor node(s) 102 usingRF antennas 132 such that, upon reception of RF signals from the anchor node(s) 102, range processor(s) 136 may be configured to determine the round-trip travel time between when the RF signals were transmitted to the anchor node(s) 102 and when the RF signals were received from the anchor node(s) 102. Range processor(s) 136 may be configured to subtract from the round-trip travel time a known delay between when the anchor node(s) 102 are configured to receive RF signals and transmit RF signals in response, and divide the resulting time by two to obtain the one-way travel time of signals transmitted betweenRF antennas 132 and the anchor node(s) 102. Range processor(s) 136 may be further configured to multiply the one-way travel time by the wave speed of the RF signals (e.g., the speed of light in air) to obtain a distance betweenRF antennas 132 and the anchor node(s) 102. - It should be appreciated that other techniques for determining a distance between
RF antennas 132 and anchor node(s) 102 and/or other types of range data may be used. For example,multiple anchor nodes 102 may be configured to transmit signals toRF subsystem 130 at the same time, and a time difference of arrival (TDOA) of signals received byRF subsystem 130 may indicate respective distances betweenRF antennas 132 and eachanchor node 102. -
FIG. 5 is a drawing of anillustrative RF subsystem 130 of asystem 120 for determining motion characteristics of a train, in accordance with some embodiments of the technology described herein. In some embodiments,RF subsystem 130 may be positioned onboard a train. For example, inFIG. 5 ,RF subsystem 130 is shown in an upper portion of a train car, which may be positioned above the cabin of the train car. In this example, the cabin may house the train crew, passengers, and/or cargo. In some embodiments,multiple RF subsystems 130 or multiple RF antennas of a single RF subsystem may be positioned in a single train car, such as at opposite ends of the train car. For example, an RF subsystem and/or RF antenna positioned at an end of a train car that is not adjacent another train car may be configured to transmit and/or receive RF signals used in range data determination. In this example,RF subsystems 130 positioned on different train cars at ends of the train cars that are adjacent one another may be configured to communicate range data and/or motion characteristics to one another such that the range data and/or motion characteristics may be shared among multiplemotion determination systems 120 on the different train cars. - As shown in
FIG. 5 ,RF subsystem 130 includes ahousing 172 containing other components ofRF subsystem 130.RF subsystem 130 is also shown coupled to anelectrical connector 174, which may be a coaxial connector. In some embodiments,electrical connector 174 may be configured to transport high frequency (e.g., RF or baseband) signals to other components ofmotion determination system 120. For example, one or more RF antennas contained inhousing 172 may be configured to provide received signals toelectrical connector 174 and/or transmit signals received fromelectrical connector 174. Alternatively or additionally, the antenna(s) may be configured to transmit signals in response to receiving signals viaelectrical connector 174. In some embodiments, RF antennas ofRF subsystem 130 may be positioned outside ofhousing 172 and coupled to other components (e.g., processor(s)) of RF subsystem contained withinhousing 172. -
FIG. 6 is drawing of illustrative components of asystem 120 for determining motion characteristics of a train, including one or more printed circuit boards (PCBs) 140, aconnector interface 126, and a housing 124, in accordance with some embodiments of the technology described herein. As shown inFIG. 6 , housing 124 contains PCB(s) 140 andconnector interface 126. In some embodiments, housing 124 may have a window exposing at least a portion of PCB(s) 140 to facilitate maintenance ofsystem 120. For example, equipment may be inserted through the window and used to test components of PCB(s) 140. In some embodiments, PCB(s) 140 may include one or more processors, IMU(s), and/or a memory, as described herein including with reference toFIG. 3 . In some embodiments,connector interface 126 may be configured for electrically coupling toRF subsystem 130. For example, one or more electrical cables may connect theelectrical connector 174 ofRF subsystem 130 toconnector interface 126 ofsystem 120. Alternatively or additionally, in some embodiments,connector interface 126 may be configured for electrically coupling to traincontrol system 150 via one or more electrical cables and/or over a communication network, and/or othermotion determination systems 120 onboard the train via one or more electrical cables and/or over a communication network. -
FIG. 7 is a drawing of anexemplary graph 700 of motion characteristics of a train generated by a system for determining motion characteristics of a train, in accordance with some embodiments of the technology described herein. InFIG. 7 ,graph 700 includesvertices FIG. 7 also showsanchor nodes 102 positioned on opposite sides of the line of vertices. In some embodiments, vertices ofgraph 700 may be determined by processor(s) 142 and stored in amemory 144 of amotion determination system 120, as described herein. For example, motion characteristics of each vertex may be stored inmemory 144. - In some embodiments, each vertex in
graph 700 may include motion and/or motion determination characteristics of the train at a particular time t1−tn. For example, the motion characteristics may include a position of the train, a velocity of the train, an acceleration of the train, a pitch of the train, and/or other motion characteristics as described herein. Motion determination characteristics of the train may include gyroscope and/or accelerometer biases for the IMU(s) 146. For example, the biases may change as the gyroscope and/or accelerometer drift over time, impacting determination of motion characteristics. In some embodiments, the vertices may be spaced evenly in time such that t3−t2 is equal to t2−t1. In some embodiments, the vertices may not be evenly spaced in time, such that t3−t2 is greater than or less than t2−t1. - In some embodiments, a
motion determination system 120 onboard the train may be configured to determine the motion and/or motion determination characteristics of each vertex. InFIG. 7 ,vertex 702 includes motion characteristics that may be determined using RF signals transmitted between themotion determination system 120 and one of theanchor nodes 102, as indicated by the dotted arrow from theanchor node 102 tovertex 702. For example, anRF subsystem 130 themotion determination system 120 may be configured to determine a distance between the train and theanchor node 102 and processor(s) 142 of themotion determination system 120 may be configured to determine the motion characteristics using the determined distance, such as in combination with a known position of theanchor node 102 stored inmemory 144. Motion characteristics ofvertex 702 may also be determined using the IMU(s) 146 of themotion determination system 120. For example, if there is a conflict between the motion characteristics determined using RF signals and the IMU(s) 146, the motion characteristics determined using RF signals may be used to correct motion characteristics determined using the IMU(s) 146, such as by updating gyroscope and/or accelerometer biases of the motion characteristics ofvertex 702 to reduce and/or minimize a residual between the motion characteristics determined using the RF signals and the IMU(s). - As shown in
FIG. 7 , the train may be within RF transmission range ofdifferent anchor nodes 102 at different times. For example, the train is within RF transmission range of oneanchor node 102 at times t1, t2, and t4, and anotheranchor node 102 at times t4, t5, and tn. At time t4, the train is within RF transmission range of bothanchor nodes 102. In some embodiments,motion determination system 120 may prioritize only a subset ofanchor nodes 102 within RF transmission range of the train, such asanchor nodes 102 that are positioned closest to the train. For example,RF subsystem 130 ofmotion determination system 130 may be configured to transmit RF signals to each anchor node 102 (e.g., sequentially) and only provide a predetermined number of the smallest determined distances to processor(s) 142 for determination of motion characteristics. - In
FIG. 7 ,vertices motion determination system 120 and theanchor nodes 102, whereasvertices anchor nodes 102 may be in RF transmission range of the train. In some embodiments, motion characteristics ofvertices motion determination system 120. For example, the IMU(s) 146 may provide signals indicative of the train's acceleration along one or more axes that may be used to determine motion characteristics in combination with motion characteristics determined at previous vertices (e.g., using motion characteristics ofvertices 702 and/or 704 for vertex 706). In some embodiments, to compensate for drift in signals from IMU(s) 146, motion characteristics determined using IMU(s) 146, such as forvertex 706, may be updated when motion characteristics are next able to be determined using RF signals, such as forvertex 708 ingraph 700. In some embodiments, motion characteristics determined using IMU(s) 146 may be stored with associated uncertainties for the motion characteristics that may be useful in updating the motion characteristics at a later time. - In one example, each vertex of
graph 700 may include the following motion and motion determination characteristics: (1) a position of the train in a first direction of elongation of the train track; (2) a velocity of the train in the first direction; (3) a pitch of the train rotationally about a second direction parallel to the ground below the train track and perpendicular to the first direction; (4) an accelerometer bias in the first direction; (5) an accelerometer bias along a third direction perpendicular to the first and second directions; (6) a gyroscope bias in the second direction; and/or (7) an orientation of the train along the first direction (e.g., whether the train is facing forward along the first direction or rearwards along the first direction). In this example, the position of the train in the first direction may be an absolute position with reference to a known trajectory and length of the train track (e.g., stored in memory 144), and the orientation of the train may be fixed during initialization of themotion determination system 120 and may remain static during operation. In this example, the position, velocities, pitch, and orientation of the train are motion characteristics and the accelerometer and gyroscope biases are motion determination characteristics used to determine motion characteristics, as described further herein. - In some embodiments, motion determination characteristics may be initialized to a predetermined value (e.g., 0) and updated as motion characteristics are determined over time, as described further herein. In some embodiments, motion determination characteristics may be calibrated to certain values when the train is expected to have zero acceleration (e.g., when the train is not moving).
- In some embodiments, each vertex may also include an associated uncertainty of each motion characteristic. In some embodiments, the associated uncertainties may be used to determine whether to adjust motion determination characteristics. For example, it may be preferable to adjust motion determination characteristics that impact a velocity and/or position having a high uncertainty rather than adjust motion determination characteristics that impact a velocity and/or position having a low uncertainty.
- In this example, the
motion determination system 120 may apply a plurality of constraints to the motion and/or motion determination characteristics.Motion determination system 120 may adjust some or all of the motion characteristics of one or more vertices to reduce and/or minimize the residuals of each constraint. A first possible constraint incorporating range data received usingRF subsystem 130 is shown below: -
range_residual=range_meas−∥pos_map+RFsubsys_offset−anchor_pos∥ (1) - where range_meas is a distance between the train and an anchor node determined using
RF subsystem 130, pos_map is a position of the train in the first direction estimated using IMU(s) 146 and/or previously determined motion characteristics, RFsubsys_offset is a distance indicating a position of RF subsystem 130 (e.g., RF antennas of the subsystem) along the train, and anchor_pos is a known position of the anchor node in the first direction. In some embodiments, the first possible constraint may only be applied when a distance between the train and an anchor node can be determined, such as when the train is within RF transmission range of an anchor node (e.g., forvertices - In some embodiments, a plurality of constraints may incorporate data from IMU(s) 146. Such constraints may be applied at each vertex, even if the train is not within RF transmission range of an anchor node. A second possible constraint incorporating data from IMU(s) 146 is shown below:
-
pos_residual=pos_2−(pos_1+Vavg*dt) (2) - where pos_2 is the position of the train for the current vertex (e.g., vertex 704) in the first direction, pos_1 is an estimated and/or determined position of the train for a previous vertex (e.g., vertex 702) in the first direction, Vavg is an estimated average velocity of the train in the first direction between pos_1 and pos_2 (e.g., using an estimated and/or determined velocity of one or more previous vertices), and dt is a time elapsed between the current vertex and the previous vertex or vertices (e.g., t2−t1). In some embodiments, the average velocity Vavg may be estimated using velocities described further herein.
- A third possible constraint is shown below:
-
Vx_residual=V_2−(V_1+est_accelx*dt) (3) - where V_2 is the velocity of the train in the first direction for the current vertex (e.g., vertex 274), V_1 is an estimated and/or determined velocity of the train in the first direction for a previous vertex (e.g., vertex 702), est_accelx is an estimated acceleration of the train in the first direction between V_1_ and V_2, and dt is the time elapsed between the current vertex and the previous vertex or vertices (e.g., t2−t1).
- In some embodiments, the estimated acceleration est_accelx may be determined using current IMU data, as shown below:
-
est_accelx=IMU_accelx−gravityx−accel_bias_x (4) - where IMU_accelx is an acceleration of the train in the first direction determined using one or more signals output from IMU(s) 146, gravityx is the gravitational acceleration of the train in the first direction, and accel_bias_x is the accelerometer bias in the first direction.
- In some embodiments, the gravitational acceleration gravityx may be determined using current IMU data and a previously estimated and/or determined pitch of the train rotationally about the second direction, as shown below:
-
gravityx=(gravity/est_gyro)*(cos(P_1)−cos(P_2))/dt (5) - where gravity is the gravitational constant of approximately 9.8 m/s2, est_gyro is an estimated acceleration of the train rotationally about the second direction, P_2 is the pitch of the train rotationally about the second direction for the current vertex (e.g., vertex 704), P_1 is an estimated pitch of the train rotationally about the second direction for a previous vertex (e.g., vertex 702), and dt is the time elapsed between the current vertex and the previous vertex (e.g., t2−t1).
- In some embodiments, the estimated acceleration est_gyro may be determined using current IMU data as shown below:
-
est_gyro=IMU_gyro_y−gyro_bias_y (6) - where IMU_gyro_y is an acceleration of the train rotationally about the second direction determined using one or more signals output from IMU(s) 146 and gyro_bias_y is the gyroscope bias in the second direction.
- A fourth possible constraint is shown below:
-
Vz_residual=est_accelz*dt (7) - where est_accelz is an estimated acceleration of the train in the third direction for the current vertex (e.g., vertex 704) estimated using motion and/or motion determination characteristics of a previous vertex (e.g., vertex 702) and dt is the time elapsed between the current vertex and the previous vertex (e.g., t2−t1).
- IN some embodiments, the estimated acceleration of the train in the third direction may be determined using current IMU data and a previously estimated and/or determined pitch of the train rotationally about the second direction, as shown below:
-
est_accelz=IMU_accelz−gravityz−accel_bias_z (8) - where IMU_accelz is an acceleration of the train in the third direction determined using one or more signals output from IMU(s) 146, gravityz is the gravitational acceleration of the train in the third direction, and accel_bias_z is the accelerometer bias in the third direction.
- In some embodiments, the gravitational acceleration gravityz may be determined using current IMU data and a previously estimated and/or determined pitch of the train rotationally about the second direction, as shown below:
-
gravityz=(gravity/est_gyro)*(sin(P_1)−sin(P_2))/dt (9) - where est_gyro, P_1, P_2, and dt are the same as described above for gravityx.
- A fifth possible constraint is shown below:
-
pitch_residual=P_2−(P_1+est_gyro*dt) (10) - where P_2, P_1, est_gyro, and dt are the same as described above for gravityx and gravityz.
- In some embodiments,
motion determination system 120 may be configured to reduce and/or minimize each residual by adjusting the motion characteristics and/or motion determination characteristics of the current vertex and/or previous vertices. For example, pitch_residual may be reduced and/or minimized upon adjusting gyro_bias_y. When gyro_bias_y is adjusted by making it larger or smaller, gravityx and gravityz may be adjusted accordingly, thereby having an effect on Vz_residual and Vx_residual. The effect on Vz_residual and Vx_residual may be used, at least in part, to determine whether to make gyro_bias_y larger or smaller. Similarly, pos_2 may be set equal to pos_map, and pos_residual may be reduced and/or minimized by adjusting pos_1 and/or Vavg, which may also have an effect on Vz_residual and Vx_residual. - In some embodiments, processor(s) 142 of motion determination system may be configured to determine the motion and/or motion determination characteristics of the current and/or previous vertices using a best-fit optimization technique, such as a graph-based optimization technique. In some embodiments, the graph-based optimization technique may include pose graph optimization, factor graph optimization, and/or non-linear least squares optimization. In some embodiments, such techniques may employ a Bayesian estimation algorithm (e.g., executed on the processor(s)), such as including a Bayesian filter. In some embodiments, the filter may include an extended Kalman filter, an unscented Kalman filter, and/or a particle filter.
- In some embodiments, each vertex of
graph 700 may alternatively or additionally include a roll of the train rotationally about the first direction and/or a yaw of the train rotationally about the third direction. -
FIG. 8 is a drawing of anillustrative method 800 for determining motion characteristics of a train traveling along a train track, in accordance with some embodiments of the technology described herein. The method may be performed usingmotion determination systems 120 described herein. InFIG. 8 , themethod 800 includes receiving range data from one or more RF antennas of the motion determination system atstep 802, receiving IMU data from one or more IMUs of the motion determination system atstep 804, and determining motion characteristics of the train using the range data and the IMU data atstep 806, such as by using one or more processors of the motion determination system. - In some embodiments, receiving the range data at
step 802 may include receiving data indicating a distance between the train and one or more anchor nodes positioned along the train track obtained via an exchange of wireless signals between the RF antenna(s) and the anchor node(s). For instance, the processor(s) of the motion determination system onboard the train (e.g., one or more range processor(s) of an RF subsystem) may calculate the distance using a time of flight of signals transmitted to the anchor node(s) and signals subsequently received from the anchor node(s) in response. Using the determined distance in combination with previously determined motion characteristics and/or the known position(s) of the anchor node(s) the processor(s) may be configured to determine a position, velocity, and/or acceleration of the train. - In some embodiments, receiving the IMU data may include receiving data indicating a position, velocity, and/or acceleration of the train generated using the IMU(s) onboard the train. For example, the processor(s) onboard the train may receive one or more motion measurements from the IMU(s) indicating one or more accelerations of the train in one or more directions (e.g., roll, pitch, yaw). In some cases, acceleration at least partially perpendicular to the track (e.g., pitch) may indicate an uphill or downhill slope of the track on which the train is traveling. The processor(s) may be configured to determine the position, velocity, and/or acceleration of the train using the IMU data (e.g., using the acceleration measurements), such as by using previous position, velocity, and/or acceleration data stored in the memory in combination with the IMU data. In some embodiments, the processor(s) may estimate motion characteristics of the train using the IMU data and correct the estimation using the range data in the next step.
- In some embodiments, determining the motion characteristics at
step 806 may include determining a position, velocity, and/or acceleration of the train using the range data and/or the IMU data. In one example, the processor(s) may be configured to determine that motion characteristics determined using the range data are inconsistent with motion characteristics determined using the IMU data and only use the range data to determine the motion characteristics. Alternatively or additionally, the processor(s) may correct the IMU data using the range data, such as by adjusting gyroscope and/or accelerometer biases to reduce and/or minimize residuals between motion characteristics determined using the range data and using the IMU data. In some embodiments, the processor(s) may correct motion characteristics previously determined using IMU data and stored in a memory of the system. For instance, determining the motion characteristics may further include correcting the stored motion characteristics from the memory when reducing and/or minimizing the residuals (e.g., to ensure consistency between the current and previously determined motion characteristics). In one example, a previously stored acceleration of the train may indicate a velocity that is inconsistent with a velocity determined based on the range data and/or IMU data, and the previously stored acceleration may be corrected at this step. - In some embodiments, the processor(s) may be configured to determine the motion characteristics by using stored motion characteristics estimated using IMU data. For example, using previous acceleration estimates (e.g., indicating an uphill or downhill slope of the train), the processor(s) may be configured to determine a current position as well as velocities and/or accelerations of the train. In some cases, the motion characteristic determinations may be calculated using a best-fit optimization technique, such as a graph-based optimization technique, as described herein including with reference to
FIG. 7 . For instance, in some embodiments, such techniques may employ a Bayesian estimation algorithm (e.g., executed on the processor(s)), such as including an extended Kalman filter, an unscented Kalman filter, and/or a particle filter. To verify and/or the estimates, the processor(s) may compare the estimated motion characteristics with those determined using range data from the antenna(s). The processor(s) may adjust the estimates to make final determinations of motion characteristics based on consistencies and/or inconsistencies between the estimations and the determinations using the range data. It should be appreciated that finalized motion characteristics may be updated later in time, such as when stored in the memory for use in future determinations. - It should be appreciated that some embodiments do not include receiving the range data (e.g., for systems that do not include the antenna(s)) or do not include receiving the IMU data (e.g., for systems that do not include the IMU(s)). Accordingly, in some embodiments, determining motion characteristics may include making such a determination using only one modality of data (e.g., range data, IMU data, etc.). In such embodiments, motion characteristics stored in the memory of the motion determination system may be incorporated during determination of the motion characteristics.
- In some embodiments that include the antenna(s), the method further includes initializing the antenna(s) at least in part by transmitting signals to multiple anchor nodes and determining which anchor nodes are within a predetermined range and/or closest to the train. For example, the range processor(s) may be configured to determine the direction and range from which signals from the anchor nodes closest to the train (or those within the predetermined range) were received. In some embodiments, receiving the range data may include incorporating signals received from anchor nodes closest to the train (e.g., the two closest) and/or using anchor nodes within a predetermined range of the train (e.g., 500 meters). In some embodiments, initializing the antenna(s) may include determining which track the train is traveling along at least in part by determining which anchor nodes are closest to the train.
-
FIG. 9A is a drawing of anillustrative method 900 for determining motion characteristics of a train traveling along a train track using inertial measurement unit (IMU) data and radio frequency (RF) data, in accordance with some embodiments of the technology described herein. As shown inFIG. 9A ,method 900 includes generating estimates of motion characteristics of the train atstep 902, initializing RF distance determination atstep 904, receiving one or more RF signals from one or more anchor nodes atstep 906, determining one or more distances to the anchor node(s) atstep 908, and correcting the estimates of the motion characteristics using the determined distance(s) atstep 910. In some embodiments,method 900 may be performed by amotion determination system 120, as described herein. - In some embodiments, generating estimates of motion characteristics at
step 902 may include receiving IMU data from one or more IMU(s) 146 at processor(s) 142. For example, the IMU data may include one or more signals indicating rotational acceleration of the train along one or more axes (e.g., about the first, second, and/or third directions described herein). In this example, processor(s) 142 may estimate a position, pitch (e.g., about the second direction) and/or one or more velocities and/or accelerations of the train using the signals received from the IMU(s) 146 and store these motion characteristics inmemory 144. - In some embodiments, initializing RF distance determination at
step 904 may include transmitting a first RF signal fromRF subsystem 130 to one or more anchor nodes. For example,RF subsystem 130 may transmit first RF signals periodically as the train travels along the train track. In some embodiments, RF front-end 143 may convert the first RF signal to the analog domain, modulate (e.g., up-convert) the first RF signal to RF frequencies, and amplify the first RF signal before RF antenna(s) 132 transmits the first RF signal to the anchor node(s). Alternatively or additionally, in some embodiments, initializing RF distance determination atstep 904 may include entering a passive detection mode whereby RF antenna(s) 132 are configured to detect RF signals from anchor nodes positioned along the train track. For example, the anchor nodes may be configured to periodically transmit RF signals at the same time. - In some embodiments, receiving RF signals from the anchor node(s) at
step 906 may include receiving a second RF signal from the anchor node(s) atRF subsystem 130 in response to transmitting a first RF signal atstep 904. For example, RF front-end 143 may receive the second RF signal from RF antenna(s) 132, amplify the second RF signal, demodulate (e.g., down-convert) the second RF signal to baseband, and convert the second RF signal to the digital domain before providing the second RF signal to range processor(s) 136). In some embodiments, receiving RF signals atstep 906 may not be preceded by transmission of first RF signals atstep 904, such as when the anchor nodes are configured to periodically transmit RF signals at the same time. - In some embodiments, determining the distance(s) to the anchor node(s) at
step 908 may include processing (e.g., using range processor(s) 136) received signals determine the distance(s). For example, when a first RF signal is transmitted atstep 904 and a second RF signal is received atstep 906, the time between transmitting the first RF signal and receiving the second RF signal may be used to determine a distance betweenRF subsystem 130 and the anchor node(s), as described herein. Alternatively or additionally, when RF signals are transmitted by multiple anchor nodes at the same time are received atstep 906, the differences between when the first signals are received atRF subsystem 130 may indicate respective distances between the train and each anchor node. In some embodiments, range processor(s) 136 may provide the determined distance(s) to processor(s) 142 ofmotion determination system 120. - In some embodiments, correcting the estimates of the motion characteristics at
step 910 may include adjusting the motion characteristics estimated atstep 902 in view of the distance(s) determined atstep 908. For example, an estimated position of the train generated atstep 902 may be different from a position based on a distance between the train and an anchor node determined atstep 908 and a known position of the anchor node. In some embodiments, estimated motion characteristics such as pitch, velocities, and/or accelerations may be adjusted to reduce and/or minimize a difference between the position estimated atstep 902 and the position based on the distance determined atstep 908. In some embodiments, motion determination characteristics such as gyroscope and/or accelerometer biases of the IMU(s) 146 may be adjusted to reduce and/or minimize the difference. In some embodiments, multiple residuals (e.g., position, velocity, acceleration, and/or pitch) may be reduced and/or minimized in this manner, such as described herein including with reference toFIG. 7 . -
FIG. 9B is a drawing of atrain 110 on atrain track 104 a during the RF distancedetermination initialization step 904 of themethod 900 ofFIG. 9A , in accordance with some embodiments of the technology described herein. InFIG. 9B ,train track 104 a and two other train tracks 104 b and 104 c are elongated parallel to one another withanchor nodes 102 positioned along each set of train tracks 104 a, 104 b, and 104 c. InFIG. 9B , one ormore RF subsystems 130 onboard thetrain 110 transmit RF signals to and/or receive RF signals from various ones of theanchor nodes 102. - In some embodiments, the RF subsystem(s) 130 may be configured to transmit RF signals to as
many anchor nodes 102 as are within RF transmission range of the RF subsystem(s) 130 during theinitialization step 904. In some embodiments, the motion determination system(s) 120 onboard thetrain 110 may be configured to determine the position of thetrain 110 using range data obtained via transmitting and/or receiving RF signals to and/or from theanchor nodes 102. In some embodiments, during the RFdistance determination step 904, the motion determination system(s) 120 may be configured to determine which anchornodes 102 the RF subsystem(s) 130 transmitted RF signals to and/or received RF signals from, such that known positions of theanchor nodes 102 may be used to determine the position of thetrain 110, as described herein. In some embodiments, the RF subsystem(s) 130 may be configured to receive RF signals transmitted from theanchor nodes 102 at the same time, rather than in response to RF signals transmitted from RF subsystem(s) 130. - In some embodiments, the
motion determination system 120 may be configured to determine which track (e.g., oftracks train 110 is on. For example, the RF subsystem(s) 130 onboard thetrain 110 may be configured to transmit RF signals over different respective RF channels (e.g., frequency division multiplexed channels, time division multiplexed channels, code division multiplexed channels, etc.). In this example, ananchor node 102 positioned next to a track may be configured to respond by transmitting RF signals when an RF signal is received at theanchor node 102 over the appropriate RF channel for the track next to the anchor node 102 (e.g., with one RF channel associated with each track). In another example, theanchor node 102 may be configured to respond when an RF signal is received over an appropriate channel for theparticular anchor node 102. In some embodiments, RF signals received from ananchor node 102 over a particular channel may provide an indication of which track theanchor node 102 is positioned next to and/or which anchornode 102 along the track sent the RF signal. In the example ofFIG. 9B , themotion determination system 120 may be configured to determine that the train is ontrain track 104 a by transmitting RF signals over one or more RF channels associated withtrack 104 a and receiving RF signals fromanchor nodes 102 positioned alongtrack 104 a. - In some embodiments, RF subsystem(s) 130 may be configured to transmit RF signals only to anchor
nodes 102 positioned next to the track thetrain 110 is on. For example, RF subsystem(s) 130 may be configured to transmit RF signals only over one or more RF channels associated withanchor nodes 102 positioned next to the track thetrain 110 is on. In this example, motion determination system(s) 120 ontrain 110 may be configured to determine whichtrack train 110 is on using an estimated position of thetrain 110 stored inmemory 144 and a known position of each track stored inmemory 144. In the example ofFIG. 9B , RF subsystem(s) 130 may transmit RF signals to anchornodes 102 positioned alongtrack 104 a. - In some embodiments, RF subsystem(s) 130 may be configured to transmit RF signals only to anchor
nods 102 positioned closest to thetrain 110. For example, RF subsystem(s) 130 may be configured to transmit RF signals only over one or more RF channels associated withanchor nodes 102 estimated to be positioned closest to train 110, such as using an estimated position oftrain 110 inmemory 144 and known positions ofanchor nodes 102 stored inmemory 144. In some embodiments, RF subsystem(s) 130 may be configured to transmit RF signals to anchornodes 102 positioned within a predetermined range oftrain 110, such as within 1 kilometer (km) and/or within 500 meters (m) oftrain 110. Alternatively or additionally, RF subsystem(s) 130 may be configured to transmit RF signals to only a predetermined number ofanchor nodes 102 positioned closest to train 110, such as the 5anchor nodes 102 closest to train 110 and/or the 2anchor nodes 102 closest to train 110. -
FIG. 10 is a drawing of anillustrative method 1000 for determining motion characteristics of a train traveling along a train track using IMU data and RF data, in accordance with some embodiments of the technology described herein. InFIG. 10 ,method 1000 includes obtaining IMU data and range data atstep 1002, determining an orientation of the train track at step 1004, converting the IMU and range data to an absolute reference frame atstep 1006, integrating one or more accelerations of the IMU and range data atstep 1008, and integrating one or more velocities atstep 1010. In some embodiments,method 1000 may be performed using processor(s) 142 ofmotion determination system 120. In some embodiments,method 1000 may be used to determine motion characteristics for one or more vertices ofgraph 700 inFIG. 7 . - In some embodiments, obtaining IMU data and range data at
step 1002 may include loading the IMU and/or range data frommemory 144. For example, the IMU and/or range data may have been previously determined and/or estimated using processor(s) 142 and stored inmemory 144. Alternatively or additionally, the IMU and/or range data may be obtained directly from the IMU(s) 146 and/or RF subsystem(s) 130. In some embodiments, the IMU data may include one or more signals from IMU(s) 146 indicative of acceleration oftrain 110 in one or more directions and/or rotationally about one or more axes. In some embodiments, the IMU data may include one or more estimated accelerations in one or more directions and/or rotationally about one or more axes. In some embodiments, the IMU data may include values of gyroscope and/or accelerometer biases stored inmemory 144. In some embodiments, the range data may include one or more distances betweentrain 110 and one or more anchor nodes determined using RF subsystem(s) 130. In some embodiments, the range data may include one or more known positions of the anchor nodes. In some embodiments, the range data and/or IMU data may include motion characteristics determined for a previous vertex (e.g., of graph 700), and the range data and/or IMU data may be used to determine motion characteristics for a current vertex. - In some embodiments, determining the orientation of the train track at step 1004 may include determining a trajectory of the train track using IMU data indicating a detected pitch, roll, and/or yaw of the train. For example, the detected pitch, roll, and/or yaw acceleration of the train may be used to determine a position of the train along the train track, such as when a roll acceleration of the train indicates a turn in the train track and/or a pitch acceleration of the train indicates an uphill or downhill slope in the train track. In some embodiments, determining the orientation of the train track may include determining which in direction along the train track the train is traveling.
- In some embodiments, converting the IMU data and range data to an absolute reference frame at
step 1006 may include associating the IMU data and range data with an estimated and/or determined position of the train along a track, and/or away from the track. For example, the absolute reference frame may include a trajectory (e.g., length) of the track and/or a trajectory towards and/or away from the track in a direction perpendicular to the ground below the track. In this example, an estimated acceleration of the train in a direction parallel to the trajectory of the track may be associated with an estimated position of the train along the trajectory of the track. Alternatively or additionally, a determined distance between the train and an anchor node having a known position may be associated with the estimated position of the train along the trajectory of the track. - In some embodiments, integrating the acceleration(s) at
step 1008 may include integrating over an elapsed time such that the integrated acceleration(s) result in one or more velocities at an end of the elapsed time. For example, the elapsed time may be a time between a previous vertex (e.g., of graph 700) and a current vertex. In this example, the result(s) of the integration may be added to and/or subtracted from one or more velocities of the previous vertex to result in a velocity for the current vertex. In some embodiments, processor(s) 142 may be configured to approximate the integration. In some embodiments, processor(s) 142 may be configured to integrate a first estimated acceleration in a first direction parallel to a direction of elongation of the train track to determine a first velocity in the first direction and a second estimated acceleration in a second direction perpendicular to the ground below the train track to determine a second velocity in the second direction. In some embodiments, integrating the acceleration(s) atstep 1008 may include storing the resulting velocities inmemory 144. In some embodiments, processor(s) 142 may be configured to determine a pitch of the train (e.g., rotationally about a third direction perpendicular to the first and second directions) by integrating a pitch acceleration of the train (e.g., estimated using IMU(s) 146) over the elapsed time and adding the result to and/or subtracting the result from a pitch of a previous vertex (e.g., of graph 700). - In some embodiments, integrating the velocity or velocities at
step 1010 may include integrating over an elapsed time such that the integrated velocities result in a position and/or pitch at an end of the elapsed time. For example, the elapsed time may be the same elapsed time as described in connection withstep 1008. In this example, the result(s) of the integration may be added to and/or subtracted from a position and/or pitch of the previous vertex to result in a position and/or pitch for the current vertex. In some embodiments, processor(s) 142 may be configured to approximate the integration. In some embodiments, processor(s) 142 may be configured to integrate a velocity in the first direction to determine a position of the train along the train track in the first direction. In some embodiments, integrating the velocity or velocities atstep 1010 may include storing the resulting velocities inmemory 144. In some embodiments, processor(s) 142 may estimate multiple positions using multiple sources of data (e.g., range data and IMU data) and iteratively adjust motion determination characteristics to reduce and/or minimize a difference between the multiple position estimates to determine a position of the train. -
FIG. 11 is a diagram of an illustrative computer system on which embodiments described herein may be implemented. An illustrative implementation of acomputer system 1100 that may be used in connection with any of the embodiments of the disclosure provided herein is shown inFIG. 8 . For example, the processes described with reference toFIG. 8 may be implemented usingcomputer system 1100. As another example, thecomputer system 1100 may be used to train and/or use any of the neural network statistical models described herein. Thecomputer system 1100 may include one ormore processors 1102 and one or more articles of manufacture that comprise non-transitory computer-readable storage media (e.g.,memory 1104 and one or more non-volatile storage media 1106). Theprocessor 1102 may control writing data to and reading data from thememory 1104 and thenon-volatile storage device 1106 in any suitable manner, as the aspects of the disclosure provided herein are not limited in this respect. To perform any of the functionality described herein, theprocessor 1102 may execute one or more processor-executable instructions stored in one or more non-transitory computer-readable storage media (e.g., the memory 1104), which may serve as non-transitory computer-readable storage media storing processor-executable instructions for execution by theprocessor 1102. - Having thus described several aspects and embodiments of the technology set forth in the disclosure, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be within the spirit and scope of the technology described herein. For example, those of ordinary skill in the art will readily envision a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein, and each of such variations and/or modifications is deemed to be within the scope of the embodiments described herein. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific embodiments described herein. It is, therefore, to be understood that the foregoing embodiments are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, inventive embodiments may be practiced otherwise than as specifically described. In addition, any combination of two or more features, systems, articles, materials, kits, and/or methods described herein, if such features, systems, articles, materials, kits, and/or methods are not mutually inconsistent, is included within the scope of the present disclosure.
- The above-described embodiments can be implemented in any of numerous ways. One or more aspects and embodiments of the present disclosure involving the performance of processes or methods may utilize program instructions executable by a device (e.g., a computer, a processor, or other device) to perform, or control performance of, the processes or methods. In this respect, various inventive concepts may be embodied as a computer readable storage medium (or multiple computer readable storage media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other tangible computer storage medium) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods that implement one or more of the various embodiments described above. The computer readable medium or media can be transportable, such that the program or programs stored thereon can be loaded onto one or more different computers or other processors to implement various ones of the aspects described above. In some embodiments, computer readable media may be non-transitory media.
- The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of computer-executable instructions that can be employed to program a computer or other processor to implement various aspects as described above. Additionally, it should be appreciated that according to one aspect, one or more computer programs that when executed perform methods of the present disclosure need not reside on a single computer or processor, but may be distributed in a modular fashion among a number of different computers or processors to implement various aspects of the present disclosure.
- Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
- Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a computer-readable medium that convey relationship between the fields. However, any suitable mechanism may be used to establish a relationship between information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationship between data elements.
- When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
- Further, it should be appreciated that a computer may be embodied in any of a number of forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer, as non-limiting examples. Additionally, a computer may be embedded in a device not generally regarded as a computer but with suitable processing capabilities, including a Personal Digital Assistant (PDA), a smartphone or any other suitable portable or fixed electronic device.
- Also, a computer may have one or more input and output devices. These devices can be used, among other things, to present a user interface. Examples of output devices that can be used to provide a user interface include printers or display screens for visual presentation of output and speakers or other sound generating devices for audible presentation of output. Examples of input devices that can be used for a user interface include keyboards, and pointing devices, such as mice, touch pads, and digitizing tablets. As another example, a computer may receive input information through speech recognition or in other audible formats.
- Such computers may be interconnected by one or more networks in any suitable form, including a local area network or a wide area network, such as an enterprise network, and intelligent network (IN) or the Internet. Such networks may be based on any suitable technology and may operate according to any suitable protocol and may include wireless networks, wired networks or fiber optic networks.
- Also, as described, some aspects may be embodied as one or more methods. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
- All definitions, as defined and used herein, should be understood to control over dictionary definitions, definitions in documents incorporated by reference, and/or ordinary meanings of the defined terms.
- The indefinite articles “a” and “an,” as used herein in the specification and in the claims, unless clearly indicated to the contrary, should be understood to mean “at least one.”
- The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
- As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
- In the claims, as well as in the specification above, all transitional phrases such as “comprising,” “including,” “carrying,” “having,” “containing,” “involving,” “holding,” “composed of,” and the like are to be understood to be open-ended, i.e., to mean including but not limited to. Only the transitional phrases “consisting of” and “consisting essentially of” shall be closed or semi-closed transitional phrases, respectively.
- The terms “approximately” and “about” may be used to mean within ±20% of a target value in some embodiments, within ±10% of a target value in some embodiments, within ±5% of a target value in some embodiments, within ±2% of a target value in some embodiments. The terms “approximately” and “about” may include the target value.
Claims (20)
1. A system for determining a velocity of a train traveling along a train track, the system comprising:
at least one RF antenna configured to receive RF signals from at least one anchor node positioned proximate the train track; and
at least one processor configured to:
determine at least one distance between the at least one RF antenna and the at least one anchor node; and
determine the velocity of the train using the at least one distance.
2. The system of claim 1 , wherein the at least one processor is further configured to determine, using the at least one distance, an estimate of uncertainty for the determined velocity of the train.
3. The system of claim 1 , wherein the at least one processor is further configured to determine a position and/or an acceleration of the train using the at least one distance.
4. The system of claim 1 , wherein the at least one processor comprises:
a first processor configured to determine the at least one distance; and
a second processor configured to determine the velocity of the train.
5. The system of claim 4 , further comprising:
at least one circuit board having the second processor thereon, wherein the first processor is wired to the at least one circuit board and packaged with the at least one antenna; and
a memory disposed on the at least one circuit board, wherein the at least one processor is configured to store the at least one distance in the memory.
6. The system of claim 1 , wherein the at least one RF antenna is configured to receive the RF signals having a center frequency between 3-10 GHz and a bandwidth of at least 500 MHz.
7. The system of claim 1 , wherein the at least one processor is configured to determine the velocity using a graph-based optimization algorithm.
8. The system of claim 1 , wherein the at least one anchor node has a known position.
9. A method of determining a velocity of a train traveling along a train track, the method comprising:
receiving, via at least one RF antenna, RF signals from at least one anchor node positioned proximate the train track; and
determining, by at least one processor:
at least one distance between the at least one RF antenna and the at least one anchor node; and
the velocity of the train using the at least one distance.
10. The method of claim 9 , wherein:
determining the at least one distance is performed by a first processor of the at least one processor; and
determining the velocity is performed by a second processor of the at least one processor.
11. The method of claim 9 , wherein the RF signals have a center frequency between 3-10 GHz and a bandwidth of at least 500 MHz.
12. The method of claim 9 , further comprising determining, by the at least one processor, the velocity using a graph-based optimization algorithm.
13. The method of claim 9 , further comprising determining, by the at least one processor, the velocity using a Bayesian estimation algorithm.
14. The method of claim 9 , wherein the at least one anchor node has a known position.
15. A system for determining a velocity of a train traveling along a train track, the system comprising:
at least one inertial measurement unit (IMU) configured to generate IMU data responsive to motion of the train along the train track; and
at least one processor configured to determine velocity of the train using the IMU data.
16. The system of claim 15 , wherein the at least one processor is further configured to determine, using the IMU data, an estimate of uncertainty for the determined velocity of the train.
17. The system of claim 15 , wherein the at least one processor is further configured to determine a position, acceleration, and/or orientation of the train using the IMU data.
18. The system of claim 15 , further comprising:
at least one circuit board having the at least one processor thereon, wherein the at least one IMU is disposed on the at least one circuit board; and
a memory disposed on the at least one circuit board, wherein the at least one processor is configured to store the IMU data in the memory.
19. The system of claim 15 , wherein the at least one IMU includes a plurality of IMUs.
20. The system of claim 15 , wherein the at least one processor is configured to determine the velocity using a graph-based optimization algorithm.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/090,661 US20210129881A1 (en) | 2019-11-06 | 2020-11-05 | Techniques and associated systems and methods for determining train motion characteristics |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962931481P | 2019-11-06 | 2019-11-06 | |
US17/090,661 US20210129881A1 (en) | 2019-11-06 | 2020-11-05 | Techniques and associated systems and methods for determining train motion characteristics |
Publications (1)
Publication Number | Publication Date |
---|---|
US20210129881A1 true US20210129881A1 (en) | 2021-05-06 |
Family
ID=73599019
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/090,635 Pending US20210129878A1 (en) | 2019-11-06 | 2020-11-05 | Techniques and associated systems and methods for determining train motion characteristics |
US17/090,661 Pending US20210129881A1 (en) | 2019-11-06 | 2020-11-05 | Techniques and associated systems and methods for determining train motion characteristics |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/090,635 Pending US20210129878A1 (en) | 2019-11-06 | 2020-11-05 | Techniques and associated systems and methods for determining train motion characteristics |
Country Status (4)
Country | Link |
---|---|
US (2) | US20210129878A1 (en) |
EP (1) | EP4054914A1 (en) |
AU (1) | AU2020377984A1 (en) |
WO (1) | WO2021092149A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114537477A (en) * | 2022-03-01 | 2022-05-27 | 重庆交通大学 | Train positioning and tracking method based on TDOA |
CN114919627A (en) * | 2022-06-17 | 2022-08-19 | 重庆交通大学 | Train positioning and tracking method based on RIS technology |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230314550A1 (en) * | 2022-03-31 | 2023-10-05 | Humatics Corporation | Systems and methods for determining vehicle locations using track geometry |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5420883A (en) * | 1993-05-17 | 1995-05-30 | Hughes Aircraft Company | Train location and control using spread spectrum radio communications |
US20050065726A1 (en) * | 2002-01-10 | 2005-03-24 | Meyer Thomas J. | Locomotive location system and method |
US20110006912A1 (en) * | 2009-07-07 | 2011-01-13 | Bombardier Transportation Gmbh | Track Worker Safety System |
US20190071106A1 (en) * | 2017-09-01 | 2019-03-07 | Metrom Rail, Llc | Methods and systems for wireless train communications |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812227B2 (en) * | 2011-05-19 | 2014-08-19 | Metrom Rail, Llc | Collision avoidance system for rail line vehicles |
US11834083B2 (en) * | 2016-04-05 | 2023-12-05 | Faiveley Transport Italia S.P.A. | System and method for calculating advance speed of a vehicle |
CA3089591C (en) * | 2018-02-15 | 2023-10-24 | Amsted Rail Company, Inc. | System, method and apparatus for monitoring the health of railcar wheelsets |
US10953899B2 (en) * | 2018-11-15 | 2021-03-23 | Avante International Technology, Inc. | Image-based monitoring and detection of track/rail faults |
EP3722182A1 (en) * | 2019-04-12 | 2020-10-14 | Thales Management & Services Deutschland GmbH | A method for safely and autonomously determining a position information of a train on a track |
US11691657B2 (en) * | 2019-04-30 | 2023-07-04 | Transportation Ip Holdings, Llc | Vehicle control system and method |
CN110228506A (en) * | 2019-06-28 | 2019-09-13 | 湖南磁浮交通发展股份有限公司 | A kind of medium-and low-speed maglev train positioning-speed-measuring method and system based on wireless base station technology |
-
2020
- 2020-11-05 EP EP20816062.2A patent/EP4054914A1/en active Pending
- 2020-11-05 US US17/090,635 patent/US20210129878A1/en active Pending
- 2020-11-05 WO PCT/US2020/059077 patent/WO2021092149A1/en active Application Filing
- 2020-11-05 US US17/090,661 patent/US20210129881A1/en active Pending
- 2020-11-05 AU AU2020377984A patent/AU2020377984A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5420883A (en) * | 1993-05-17 | 1995-05-30 | Hughes Aircraft Company | Train location and control using spread spectrum radio communications |
US20050065726A1 (en) * | 2002-01-10 | 2005-03-24 | Meyer Thomas J. | Locomotive location system and method |
US20110006912A1 (en) * | 2009-07-07 | 2011-01-13 | Bombardier Transportation Gmbh | Track Worker Safety System |
US20190071106A1 (en) * | 2017-09-01 | 2019-03-07 | Metrom Rail, Llc | Methods and systems for wireless train communications |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114537477A (en) * | 2022-03-01 | 2022-05-27 | 重庆交通大学 | Train positioning and tracking method based on TDOA |
CN114919627A (en) * | 2022-06-17 | 2022-08-19 | 重庆交通大学 | Train positioning and tracking method based on RIS technology |
Also Published As
Publication number | Publication date |
---|---|
AU2020377984A1 (en) | 2022-05-12 |
WO2021092149A1 (en) | 2021-05-14 |
EP4054914A1 (en) | 2022-09-14 |
US20210129878A1 (en) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210129881A1 (en) | Techniques and associated systems and methods for determining train motion characteristics | |
US9645243B2 (en) | Platform relative navigation using range measurements | |
CN110371164B (en) | System and method for detecting running direction of rail train at turnout | |
Kim et al. | High-speed train navigation system based on multi-sensor data fusion and map matching algorithm | |
US20150253150A1 (en) | Device for determining navigation parameters of an aircraft during a landing phase | |
US11587445B2 (en) | System and method for fusing asynchronous sensor tracks in a track fusion application | |
US8593334B2 (en) | Split aperture monopulse antenna system | |
BRPI0916256B1 (en) | SYSTEM AND METHOD FOR ESTIMATING A SPACIOUS POSITION, RECEPTION STATION, PROCESSING STATION, AND LEGIBLE STORAGE MEDIA BY COMPUTER | |
US11821997B2 (en) | Techniques for determining geolocations | |
US20100318322A1 (en) | Methods and Systems for Locating Targets | |
KR20140082264A (en) | Altitude information obtention system using a complex navigation equipment | |
CN105758424A (en) | Systems and methods for attitude fault detection in one or more inertial measurement units | |
US9933526B2 (en) | Techniques to improve the performance of a fixed, timing-based radio positioning network using external assistance information | |
Zhou et al. | Novel prior position determination approaches in particle filter for ultra wideband (UWB)-based indoor positioning | |
US10705542B1 (en) | Determining relative distances and positions of multiple vehicles from times-of-flight of signals | |
CN109917373B (en) | Dynamic planning track-before-detect method for motion compensation search of moving platform radar | |
CN114919627A (en) | Train positioning and tracking method based on RIS technology | |
CN115877415B (en) | Ultra-high precision space spacecraft clock error estimation method and system | |
US20230314550A1 (en) | Systems and methods for determining vehicle locations using track geometry | |
EP3964871A1 (en) | Aircraft guidance with a multi-vehicle network | |
KR101724330B1 (en) | Remote measuring system and compensation method of the doppler frequency shift usinf the same, and apparatus thereof | |
CN111288942B (en) | Track transponder position measuring method and device and computer equipment | |
US8355635B1 (en) | Gyro-aided pointing control for laser communications | |
CN116437444B (en) | Beacon-based target positioning method, medium and electronic equipment | |
Lisboa Cardoso et al. | Electro-optical system for evaluation of dynamic inductive wireless power transfer to electric vehicles |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: HUMATICS CORPORATION, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SENNA, JOSHUA;KINSEY, JAMES CAMPBELL;LUNAWAT, ARIHANT;AND OTHERS;SIGNING DATES FROM 20201219 TO 20201229;REEL/FRAME:057808/0216 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |