ARCHITECTURE AND METHOD FOR HIGH-INTEGRITY BRANCH DISCRIMINATION

20250282402 ยท 2025-09-11

Assignee

Inventors

Cpc classification

International classification

Abstract

A method of determining a traversed branch for a vehicle on a constrained path, the method includes: receiving map-related information; receiving speed information; performing two or more different detection methods from among: inertial detection; magnetometer detection; texture detection; 3D detection; or velocity field detection; and arbitrating among the result of the two or more different detection methods to determine which branch was traversed.

Claims

1. A method of determining a traversed branch for a vehicle on a constrained path, the method comprising: receiving map-related information; receiving velocity information of the vehicle; performing two or more different detection methods from among: inertial detection; magnetometer detection; texture detection; 3D detection; or velocity field detection; and arbitrating among the result of the two or more different detection methods to determine which branch was traversed.

2. The method as claimed in claim 1, further comprising: receiving incoming switch branch region information.

3. The method as claimed in claim 2, further comprising: detecting incoming switch branch region information based on a determined map position of the vehicle.

4. The method as claimed in claim 1, further comprising: performing a safety operation in response to the determined branch traversal.

5. The method as claimed in claim 4, wherein the arbitrating comprises: comparing a determined branch traversal with an expected or planned branch traversal.

6. The method as claimed in claim 1, wherein the two or more different detection methods generate a branch traversal estimation and a quality value of the branch traversal estimation.

7. The method as claimed in claim 6, wherein the arbitrating includes using the quality value as an input to the determination of which branch was traversed.

8. The method as claimed in claim 4, wherein the safety operation includes at least one of stopping the vehicle, slowing the vehicle, shutting down a section of the path, shutting down a region encompassing both the divergent or main-line paths, stopping the vehicle or shutting down a section of the path until vehicle position is reacquired.

9. The method as claimed in claim 1, further comprising: updating a position of the vehicle in response to the determined branch traversal.

10. The method as claimed in claim 9, wherein the updating the position of the vehicle comprises updating a position of the vehicle prior to branch traversal with a position along the determined branch traversal.

11. A method of detecting a switch branch, comprising: receiving branch detection information; responsive to no additional branch detection information being received within a detection window period, performing arbitration on the received branch detection information and determining which branch was traversed based on the branch detection information; responsive to additional non-complementary branch detection information being received, determining that no switch branch was detected; and responsive to additional complementary branch detection information being received, performing arbitration on the received branch detection information and the additional complementary branch detection information and determining which branch was traversed.

12. The method of claim 11, wherein the branch detection information is received from two or more different detection methods from among: inertial detection; magnetometer detection; texture detection; 3D detection; or velocity field detection.

13. The method of claim 11, wherein the performing arbitration comprises applying weighting to the received complementary and non-complementary branch detection information.

14. The method of claim 11, wherein the weighting is determined based on one or more of quality of the branch detection information, sensor type, vehicle speed, sensor range, sensor noise, or sensor weather susceptibility.

15. The method of claim 11, further comprising: performing a safety operation in response to the determined branch traversal.

16. The method of claim 15, wherein the safety operation includes at least one of stopping the vehicle, slowing the vehicle, shutting down a section of the path, shutting down a region encompassing both the divergent or main-line paths, stopping the vehicle or shutting down a section of the path until vehicle position is reacquired.

17. The method of claim 11, further comprising: updating a position of the vehicle in response to the determined branch traversal.

18. A system for branch traversal discrimination, the system comprising: a vehicle configured to travel along a constrained path, the vehicle comprising: two or more sensors for detecting a switch branch; and a controller for determining which switch branch was traversed by the vehicle based on data received from the two or more sensors, the controller configured to arbitrate among the sensor data to determine the traversed switch branch.

19. The system of claim 18, wherein the controller is further configured to perform a safety operation in response to the determined branch traversal.

20. The system of claim 18, wherein the controller is further configured to update a position of the vehicle in response to the determined branch traversal.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0003] Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It is noted that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.

[0004] FIG. 1 is a high-level plan view of a vehicle traversing a branch region, in accordance with some embodiments.

[0005] FIGS. 2-4 are video frames from the method being applied to a video stream form a rail vehicle, in accordance with some embodiments.

[0006] FIGS. 5A & 5B are velocity vector fields before and after switch traversal by a rail vehicle, in accordance with some embodiments.

[0007] FIGS. 6 & 7 include Tables of overestimation and underestimation of a rail vehicle, in accordance with some embodiments.

[0008] FIG. 8 is a high-level architecture of an embodiment.

[0009] FIG. 9 is a high-level flow chart of a method, in accordance with some embodiments.

[0010] FIG. 10 is a high-level block diagram of a processing system usable with an embodiment.

DETAILED DESCRIPTION

[0011] The following disclosure provides many different embodiments, or examples, for implementing different features of the provided subject matter. Specific examples of components, values, operations, materials, arrangements, or the like, are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, or the like, are contemplated. For example, the formation of a first feature over or on a second feature in the description that follows may include embodiments in which the first and second features are formed in direct contact, and may also include embodiments in which additional features may be formed between the first and second features, such that the first and second features may not be in direct contact. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.

[0012] Further, spatially relative terms, such as beneath, below, lower, above, upper and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. The spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. The apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.

[0013] One or more embodiments of the invention describe a method and architecture, and variants thereof, for determining the traversed branch for a vehicle on a constrained path. In particular, this is relevant for rail vehicles, where an onboard positioning system uses onboard sensors to position the rail vehicle in a track network. When the vehicle encounters a switch (branch point), and transits the switch, the onboard positioning system is required to determine which path was travelled by the vehicle (i.e., the divergent or the straight path). A similar scenario may be envisioned when, e.g., a road vehicle changes lanes, or takes an off-ramp.

[0014] One or more embodiments of the invention describe the method and architecture, and variants thereof, to perform this branch discrimination using multiple different and diverse sensing technologies that do not have common modes of failure, in combination or individually. The sensing technologies include:

[0015] Inertial sensing, such as might be provided by one or more Inertial Measurement Units, providing 6DOF accelerations and gyroscopic rates

[0016] Magnetometer sensing as might be provided by one or more Inertial Measurement Units

[0017] Texture sensing of the path/track region in the direction of motion of the vehicle, such as might be provided by a video camera

[0018] 3D environment sensing of the path/track region in the direction of motion of the vehicle, such as might be provided by a lidar, a stereo camera, imaging radar, or similar, providing 3D representation of the physical surroundings of the vehicle, either in Cartesian or spherical coordinates

[0019] Velocity vector field sensing in the plane of the path/track region in the direction of motion of the vehicle, which may be: [0020] both lateral and longitudinal components of ground speed, such as might be provided by a camera optical flow system or [0021] only longitudinal component of the ground speed, such as might be provided by processing a pure radial/Doppler speed sensor, e.g., automotive radar.

[0022] In some embodiments, the term along-track is used to refer to the vehicle state (e.g., position, velocity (speed and direction), and acceleration (change in speed over time)). A vehicle along-track (e.g., on a rail or guideway) or in a constrained state (such as a vehicle on a predetermined route) refers to a vehicle with less than nine degrees of freedom (9DOF). In some embodiments, the vehicle constrained state includes a vehicle along-track position (e.g., vehicle position), the vehicle along-track velocity (e.g., vehicle speed and direction), and the vehicle along-track acceleration (e.g., vehicle change in velocity over time). Additionally or alternatively, the vehicle constrained state is defined in conjunction with a three-dimensional (3D) constraining path where vehicle motion is restricted (e.g., the vehicle is not free to move in any direction and instead is restricted, such as along a railway, track, guideway, or predetermined route on a roadway). In some embodiments, this state has three degrees-of-freedom (3DOF).

[0023] In some embodiments, a vehicle in an unconstrained state (e.g., a free-space state) refers to a nine degrees-of-freedom (9DOF) vehicle state. In some embodiments, within the 9DOF is the 3DOF position, orientation (e.g., yaw, pitch, and roll) and the velocity. In some embodiments, the vehicle constrained state has 3DOF. Therefore, the vehicle constrained state is referenced without an associated constraining path (e.g., the position, orientation, and velocity are known without knowing the location or mapping of the constrained path).

[0024] FIG. 1 is a top-level diagram of a vehicle positioning system (VPS) including a branch discrimination system (BDS), in accordance with some embodiments.

[0025] A vehicle positioning system (VPS) 100 includes a vehicle 102 in communication with a communication based train control (CBTC) system 103. A wireless communication path 105 connects a vehicle onboard controller (VOBC) 101 and CBTC 103. Vehicle 102 is on a constrained path 104, such as a rail or a guideway.

[0026] Path 104 has a branch region 107, e.g., a railroad switch or turnout or set of points. Branch region 107 guides vehicle 102 in a direction, e.g., at a railway junction, slip, spur, siding, or the like. Branch region 107 has a straight path (referenced by arrow 104a and also referred to as a main-line) and a divergent path (arrow 104b). Branch region 107 (indicated generally with dash-dot line) further includes a branch controller 107a for controlling the switching mechanism of the branch region 107 based on signals from CBTC system 103 received via communication path 105.

[0027] In some embodiments, branch 105 includes two or more divergent paths, two or more crossing paths, or the like. In some embodiments, branch region 107 does not include a branch controller 107a under control of CBTC system 103. In some embodiments, branch region 107 includes a manually-operated branch controller 107a.

[0028] Vehicle 102, moving in a left-to-right direction on the page, traverses branch 105 along divergent path 104b. During traversal of branch region 105 toward divergent path 104b, vehicle 102 experiences inertial forces in a latitudinal direction (across-track) in addition to a longitudinal (along-track) direction. During traversal of branch region 105 toward straight path 104a, vehicle 102 experiences inertial forces in an along-track direction with little to no across-track inertial forces.

[0029] In some embodiments, vehicle 102 is an autonomous vehicle. In some embodiments, vehicle 102 is another vehicle type configured to use a constrained path or constrained motion, such as a shuttle, a personal transport, a guided vehicle, a monorail, or an automation slide. Vehicle 102 includes a motion sensing unit (MSU) 106, e.g., an inertial measurement unit (IMU) including accelerometers, gyroscopes, and/or magnetometers, or the like, and an optional additional MSU 108 or an optional vision (or scene) sensing unit (VSU) (such as a radar, LIDAR, or camera) 110.

[0030] VPS 100 includes VOBC 101 that is operably connected to CBTC 103 that operates an autonomous train, such as vehicle 102 through wireless communication 105. VPS 100, through execution of the BDS, implements a branch discrimination process to determine which of two or more branches of the path 104 the vehicle 102 is traversing or has traversed. In at least some embodiments, branch determination commences prior to the branch being traversed using perception sensors, e.g., vision sensing unit 110, and finalizes the decision as the vehicle crosses the branch using inputs from the motion sensors, e.g., motion sensing unit 106. VPS 100 combines sensor data and processes the sensor data to arrive at a determination of on which branch or path vehicle 102 is traveling.

[0031] Knowledge of which branch was traversed and on which vehicle 102 is traveling is important to the operation of the overall system. Rail safety and knowledge of vehicle location is used to improve operation and avoid incorrect routing, improper switch status and reporting, collisions or other mishaps due to vehicles being on an incorrect path.

[0032] In some embodiments, CBTC system 103 is a railway signalling system that makes use of telecommunications between the train (such as vehicle 102) and track equipment for traffic management and infrastructure control. CBTC system 103 is configured to use a train path-constrained state that is more accurate than traditional signalling systems. This results in an efficient and safe way to manage railway traffic satisfying a Safety Integrity Level (SIL) 4. For a system to be rated as Safety Integrity Level (SIL) 4, the system is required to have demonstrable on-demand reliability, and techniques and measurements to detect and react to failures that may compromise the system's safety properties. SIL 4 is based on International Electrotechnical Commission's (IEC) standard IEC 61508 and EN standards 50126 and 50129. SIL 4 requires the probability of failure per hour to range from 10-8 to 10-9. Safety systems that are not required to meet a safety integrity level standard are referred to as SIL 0.

[0033] In some embodiments, CBTC system 103 is a continuous, automatic train control system utilizing high-resolution train location determination, independent from track circuits, continuous, high-capacity, bidirectional train-to-wayside data communications, and trainborne and wayside processors capable of implementing automatic train protection (ATP) functions, as well as optional automatic train operation (ATO) and automatic train supervision (ATS) functions, as defined in the IEEE 1474 standard, herein incorporated by reference in its entirety.

[0034] In other approaches, branch determination is based on rail vehicle localization on a guideway after branch traversal using inductive loops, radio frequency identification (RFID) transponder tags, block occupancy, or re-acquisition of communication on a new loop channel.

[0035] With inductive loops, a message with the loop ID is transmitted over each loop with a different ID per loop. When the vehicle crosses the boundary between two adjacent loops, the vehicle's location and direction of travel on the guideway is initialized. Inside each loop there are cross overs in which the phase of the transmitted signal is flipped. The cross overs are spread every 25 m. Therefore, upon cross over detection (e.g., phase flip) the vehicle's location on the guideway is updated by 25 m in the direction the vehicle is moving. Between crossovers, a tachometer is used for dead reckoning positioning. When the vehicle crosses over to a new loop, the vehicle position on the guideway is re-localized and the direction of travel is updated.

[0036] With RFID transponder tags, each tag has a unique ID which corresponds to a specific location on the guideway. The vehicle's position on the guideway is initialized upon the detection of the first tag. However, at this point the direction of travel is still unknown. Upon the detection of the second tag, the direction of travel is established. Between tags, a tachometer is used for dead reckoning position. When the next tag is detected, the vehicle position on the guideway is re-localized.

[0037] In contrast, embodiments of the present disclosure are configured for determining which branch a vehicle is currently traversing, i.e., branch discrimination. In some embodiments, branch discrimination is performed after a branch has been traversed based on data recorded during branch traversal.

[0038] In some embodiments, vehicle 102 is a machine that transports people and/or cargo. In some embodiments, vehicle 102 includes wagons, bicycles, motor vehicles (motorcycles, cars, trucks, and buses), railed vehicles (trains, trams), watercraft (ships, boats), amphibious vehicles (screw-propelled vehicle, hovercraft), aircraft (airplanes, helicopters) and spacecraft. Land vehicles are classified broadly by what is used to apply steering and drive forces against the ground: wheeled, tracked, railed or skied, such as is detailed in ISO 3833-1977 standard. Vehicle 102 is restricted to a constrained path, such as constrained path 104. In some embodiments, vehicle 102 is an autonomous vehicle for movement along a constrained path 104. Autonomous vehicles use mechatronics, artificial intelligence, and/or multi-agent systems to assist a vehicle's operator.

[0039] Constrained path 104 is a track on a railway or railroad, further known as a permanent way. Constrained path 104 is the structure consisting of the rails, fasteners, railroad ties and ballast (or slab track), plus the underlying subgrade. The constrained path enables trains to move by providing a dependable surface for their wheels to roll upon. For clarity, constrained paths are referred to as railway tracks, railroad track or a guideway.

[0040] In some embodiments, MSU 106 is a sensor used to detect the speed of vehicle 102 along constrained path 104. In some embodiments, MSU 106 includes a wheel speed sensor (e.g., a tachometer), a speedometer, a LIDAR, a ground speed radar, a Doppler radar, or a laser surface velocimeter. In some embodiments, MSU 106 senses the rate of change of a vehicle's position with respect to a frame of reference and a difference of time. Velocity is a physical vector quantity that includes both magnitude and direction. If there is a change in speed, then the object has a changing velocity vector and is said to be undergoing an acceleration/deceleration.

[0041] In some embodiments, MSU 106 is an electronic device that measures and reports a body's specific force, angular rate, and sometimes the orientation of the body, using a combination of accelerometers and gyroscopes. In some embodiments, MSU 106 includes one or more magnetometers.

[0042] In some embodiments, VSU 110 is a radar, a LIDAR or a camera used for determining path or rail measurements. In some embodiments, CBTC 103 or VOBC 101 are configured with a database storing a known position of branch regions along a path constraint. In some embodiments, a VSU 110 determines a distance and bearing to a landmark having a known position and then determines a position of vehicle 102. In some embodiments, this bearing and distance to the known landmark is used by CBTC 103 or VOBC 101 to calculate a position of the vehicle. In some embodiments, VSU 110 is used to provide texture or 3D shape information to perform branch region detection in front of the vehicle 102.

[0043] In some embodiments, a system including one or more computers are configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs are configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing circuitry, cause the apparatus to perform the actions. In some embodiments, VPS 100 includes processing circuitry, e.g., processing circuitry 1002 (FIG. 10), and a memory, e.g., memory 1004 (FIG. 10), connected to the processing circuitry, where the memory is configured to store executable instructions, e.g., executable instructions 1006 (FIG. 10), such as methods 900 and 1000, of FIGS. 8 and 9. When executed by processing circuitry 1002, executable instructions 1006 facilitate performance of operations that include: receiving data from a first set of sensors 106, 108, and/or 110 operably coupled to a vehicle 102; performing two or more different detection methods using the received data, arbitrating among the result of the detection methods to determine which branch was traversed, and performing a safety operation if the determined branch traversal differs from the instructed or expected branch traversal.

[0044] System 100 is activated as vehicle 102 approaches a switch/branch region 107. The knowledge of branch region 107 is supplied by a previously known position of vehicle 102 and a map, e.g., stored in memory 1004 (FIG. 10), and/or by detection of branch region 107 using texture or 3D shape information from, e.g., VSU 110 such as camera, lidar or imaging radar, appropriately processed to perform branch region detection in front of the vehicle (e.g., using AI-based detectors or similar 2D/3D computer vision processing). Each individual sensing technology provides an independent detection of either switch position or traversed branch, as described below, and, following the traversal/transit of the switch/branch, the one or more independent switch position/branch discrimination detections are combined.

[0045] All of the detection events are expected to occur over a known time window, which will typically be of shorter duration than the time required for a typical curve-given map, speed and displacement, the traversal time will be known, providing a gating window for the measurement that is used for supervision.

[0046] For SIL4 integrity in rail according to CENELEC standards, the tolerable hazard rate (THR) is less than 10.sup.9.

Independent Sensing:

[0047] Inertial sensing of traversed branch region 107 occurs after the switch/branch has been traversed, and is achieved by comparison of known characteristic inertial signature for branch traversal (divergent vs. straight) against measured inertial data during branch traversal. Numerous different techniques are used to compare the inertial signature data, e.g., stored in memory 1004 (FIG. 10), to the measured inertial data from vehicle 102, e.g., using MSU 106, optional MSU 108, using a subset of the 6DOF MSU data,these can include statistical hypothesis or fitting tests, Bayesian filtering using 3D track model, PCA-based methods, or similar. In at least some embodiments, all of the measured MSU data is used for comparison against known characteristic inertial signatures. The use of the local 3D map data as well as displacement and speed as the switch is traversed is used to obtain accurate detection. In at least some embodiments, these are supplied at a high-integrity level to provide foundational trust in the detection. In at least some embodiments, pre-stored characteristic data for specific switches are stored in a database for more accurate detection, where the specific switch's inertial data is retrieved from the database when the specific switch is identified on approach.

[0048] Texture-based sensing is achieved by extracting rails on approach from VSU 110 (which may or may not include parametrizing extracted rails as local curves) and using rail detection techniques to detect and identify the switch rail during transit of the branch region 107.

[0049] FIGS. 2-4 are frames from a video stream of the method applied to a video stream from a rail vehicle 102 approaching a switch, e.g., branch region 107. FIG. 2 is a frame of video as the vehicle 102 approaches the switch. At this point in time, the detection result does not detect a divergent path or switch position. As a result, no votes are tallied for a particular switch position. In one embodiment, votes are received based on computer vision processing of an image, e.g., a bird's eye view, to detect the switch rail position. In at least one embodiment, each video frame receives one vote and a detection of switch rail position is used in each frame, followed by a hypothesis test or other processing to categorize the detection as straight or divergent.

[0050] FIG. 3 is a frame of video as the vehicle is close enough to the switch for the rails of the switch to be detected. At this point in time, the detection result begins to identify a divergent path. As a result, there are votes tallied for a particular switch position, i.e., a left-hand or main-line branch. There are no votes tallied for the other switch position, i.e., the right-hand branch.

[0051] FIG. 4 is a frame of video as the vehicle is about to begin traversing the switch or branch region 107. The rails of the switch are more clearly detected by the VSU 110. At this point in time, the detection result increases the identification of a divergent path and position of the switch. As a result, there are more votes tallied for the main-line branch and no votes tallied for the other switch position.

[0052] As the region 107 is traversed, hypothesis testing, maximum likelihood or other similar technique is used to vote for the switch position over multiple frames (typically hundreds of frames during slow vehicle movement) and arrive at a detection of traversed branch based on the plurality of votes. In at least some embodiments, a supervisory controller, e.g., as part of system 100, CBTC 103, or VOBC 101, rejects detection outputs for voting ratios that are not above a given level of statistical significance or confidence. In at least some embodiments, the supervisory controller rejects detection outputs below a predetermined threshold value. Moreover, in some embodiments, the supervisory controller compares the received sensor data against trusted map data and speed (including displacement) to confirm the location of the switch rail and other switch geometry, and reject detections that do not conform.

[0053] 3D shape sensing, e.g., using sensor data from VSU 110, generates 3D voxel information for the region immediately forward of the direction of motion of the vehicle, which is used to detect (by 3D signature) the straight and divergent path. Even with moderate sensor resolution, the rough lateral switch region is discerned and bounded, and the vehicle movement either to the left or the right of the overall switch region is determined to identify the traversed branch. In some embodiments, where trusted map and speed (including displacement) are available throughout, the rough boundaries of the switch region are cross-checked against the data for the particular switch. With many sensors, the ability to detect the rails either by presence or absence of reflected signal from the rail head, webbing or other rail structures can provide additional confirmation of the traversed branch using a voting mechanism similar to that described above. In some embodiments, augmentation of this approach includes specific 3D data stored for the specific switch region in the map for enhanced accuracy or improved supervision/cross-checking by a supervisory controller.

[0054] The use of velocity vector field information refers to sensing of the velocity vector of (stationary) ground points in the region in front of the vehicle, in the direction of motion. Typically, this is taken to be an (assumed) empty and trusted region in front of the vehicle, such as is present in a protected safety envelope in front of a train. This region may extend from, e.g., 5 m in front of the train to 30 m in front of the train.

[0055] If the velocity vector field information is provided from a sensor or processing unit that provides lateral and longitudinal velocity vector information (e.g., camera+optical flow sensing and processing), traversal of a divergent path through a switch (in a straight region of the track) will manifest as a transient shift from a mostly longitudinal velocity vector, to a velocity vector field with lateral motion during the short period while the divergent path is taken. In at least one embodiment, the lateral sensor data is used to detect the divergent path. Where the switch is not located in a straight track region, the deviation from velocity vector field prior to the switch and velocity vector field during the switch region traversal is used to detect whether the divergent path was taken or not. Note that the inclusion of trusted map, speed and displacement during this traversal may be used to supervise the detection by a supervisory controllere.g., the transient period during which the velocity vector field is expected to deviate from the straight path is bounded by the map and displacement information, to reject potential outlier detections or refine the optical flow/velocity vector field.

[0056] FIGS. 5A and 5B are diagrams of velocity vector field examples. FIG. 5A is an example velocity vector field before switch traversal. The velocity vector field represents the velocity vector field of a vehicle traveling along-track with no lateral inertial motion indicated by the arrows pointing down the page length and without pointing toward either corner of the page. FIG. 5B is an example velocity vector field during traversal of a divergent branch that diverges to the right. The velocity vector field represents the velocity vector field of a vehicle traveling along the divergent path with lateral inertial motion indicated by the arrows pointing down the page length and toward the left corner of the page.

[0057] In some embodiments, velocity vector field information does not include both lateral and longitudinal components, but instead is supplied from a sensor that senses only radial speed information, such as 3D radar or 4D radar. 3D LIDAR refers to LIDAR that returns XYZ coordinates (or equivalent 3D spatial measurements) for each return. 3D radar refers to radar that returns azimuth, range (or equivalent 2D spatial dimension) and radial speed (3 total dimensions) for each return. 4D LIDAR refers to LIDAR that returns XYZ (or equivalent 3D spatial measurement)+radial speed (4 total dimensions) for each return. 4D radar refers to radar that returns azimuth, elevation, range (or equivalent 3D spatial dimension) and radial speed (4 total dimensions) for each return. Each of these sensors typically also return other information such as health, quality, intensity/RCS, or the like, that are not specifically related to position or motion of the return. In this given embodiment, conversion of the radial speed information to longitudinal speed estimate is achieved via conversion factor(s) that optimize the measurement of longitudinal speed. For example, in many such systems in existence, the radial speed is converted to longitudinal speed estimate using the following formula:

[00001] V L o n g = V radial cos

[0058] where alpha (a) denotes the azimuth angle. In at least some embodiments, other conversions are usable. Regardless of conversion method, the measurement of longitudinal (ground) speed is not exact owing to the lack of information about lateral/azimuthal speed (as the sensor only measures radial speed). Thus, there will always be a characterizable and known overestimate of speed on one side of the sensor field of view (FOV), and underestimate of speed on the other side of the sensor FOV. Tables 1 and 2 in FIG. 6 are an example of this overestimate and underestimate of speed as measured with a region of interest from 5 m to 30 m longitudinal and 0.75 m to 2.25 m lateral in front of the train, using 2D Doppler/radial speed measurement converted to ground speed, when the radar is mounted at the over the track centerline, during movement at 5 m/s. On the left in Table 1 is the ground speed estimate during straight motion, on the right in Table 2 is the ground speed estimate during the traversal of a radius of curvature of 100 m. It is clearly seen that the ground speed is overestimated to the right and underestimated to the left during the period of curved/rotational motion, and the effect is accentuated closer to the train, i.e., at the bottom of the page. This pattern of known overestimate and underestimate of speed is usable to detect the traversal of a curved region of track commensurate with a diverging path. Knowing vehicle speed and the direction of the divergent path based on a trusted map, this detection can be cross-checked.

[0059] In an embodiment having two VSUs 110, e.g., two radars, located at a symmetric offset from centreline to left and right, the radars independently detect the traversal of divergent path, and are usable to further increase integrity of the branch discrimination function. Tables 3 and 4 in FIG. 7 are an example of the pattern of overestimation and underestimation using two radars, left-mounted (0.75 m lateral of centreline) and right-mounted (0.75 m lateral of centreline), during 5 m/s motion around a curve of 100 m radius. Ground speed in this situation refers to the actual speed of the body of the vehicle. After the transformation of speed inputs into the ground plane, i.e., vehicle ground speed.

[0060] In another embodiment, sensors are located at both ends of the train to supply data used to supervise/confirm the branch traversed. Given the known train length, map, and trusted speed/displacement, the system can monitor the traversed branch as detected at the front and, within a known time window later, the rear of the train for increased integrity. If the traversed branch does not match within the expected window, a safety operation is performed, e.g., stopping the vehicle, slowing the vehicle, shutting down a section of the path, shutting down a region encompassing both the divergent and main-line paths, stopping the vehicle or shutting down a section of the path until vehicle position is reacquired, alerting the vehicle and central operators, or the like.

[0061] In at least one embodiment, after traversal of a switch branch and determination of which branch was traversed by the vehicle, a position of the vehicle is updated based on the branch traversed. In such an embodiment, a position of the vehicle prior to approaching the switch branch is known and the position is updated along either a divergent or main-line path based on the switch branch traversed.

Combining Multiple Detections

[0062] FIG. 8 is a high-level block diagram of a method of performing branch discrimination 800, in accordance with some embodiments.

[0063] The method begins at process 802 and an incoming switch or branch region is to be detected by the system. Map position data is received from a database. The map position data includes branch region location, switch type, and other data. In some embodiments, map position data is not received from a database. The method proceeds to process 806.

[0064] In process 806, detection of a switch is executed based on one or more sensor types. In at least one embodiment, process 806 is executed based on sensor data from at least two different sensor types. Different detections include inertial detection, magnetometer detection, texture-based detection, 3D-based detection, and/or velocity vector field-based detection. Process 806 receives input including map information and speed displacement information from process 808. The map information includes signatures corresponding to the different detection types for the location of the vehicle. Process 806 generates individual detection data and corresponding quality data for the individual detections. The method proceeds to process 810.

[0065] In process 810, an arbitration method is executed between the individual detections from process 806 in order to determine whether a branch has been traversed and which path of the branch was traversed. The method proceeds to process 812.

[0066] In process 812, the system determines whether a safety operation needs to be performed based on a comparison of the determined branch traversal and the expected or planned branch traversal. If the determined branch traversal does not match the expected or planned branch traversal, a safety operation is determined to be needed and the method proceeds to process 814.

[0067] In process 814, a safety operation is performed. In some embodiments, the safety operation includes one or more of stopping the vehicle, slowing the vehicle, shutting down a section of the path, shutting down a region encompassing both the divergent or main-line paths, stopping the vehicle or shutting down a section of the path until vehicle position is reacquired, or the like. The method then proceeds to complete.

[0068] If the determined branch traversal matches the expected or planned branch traversal, a safety operation is not determined to be needed and the method then proceeds to complete.

[0069] In at least one embodiment, after traversal of a switch branch and determination of which branch was traversed by the vehicle, a position of the vehicle is updated based on the branch traversed. In such an embodiment, a position of the vehicle prior to approaching the switch branch is known and the position is updated along either a divergent or main-line path based on the switch branch traversed.

[0070] Note that, as described above, in some embodiments the signatures or features are stored in the map/database to aid the detection for each sensing technology. For example, in some embodiments, these are inertial signatures for divergent left vs. divergent right switches, divergent vs. straight switches, 3D or texture information for the specific switch region (from pre-deployment survey activities), magnetic field data, or the like.

[0071] In some embodiments, the signatures are collected from data gathered during operation of the system, where the goal is to refine the accuracy/performance of the detection system. In such embodiments, this is achieved by deploying the system with a minimum level of performance while gathering signature data during operations. The data gathered during operations is used to construct improved sensor signatures using various modelling techniques including, but not limited to, deep learning/neural network models, Bayesian models, reinforcement learning approaches, and the like.

[0072] Combinations of different detections are arbitrated with quality information for each independent detection (including goodness-of-fit, voting ratios, error levels, failure flags, etc.) in an arbitration method described in connection with FIG. 9.

[0073] For low-integrity applications, individual sensing mechanisms are used; for high-integrity two or more diverse sensing mechanisms are combined. The specific technologies are chosen to suit the existing sensor set on the vehicle, the processing available, the expected operating conditions and the like. For example, texture-based sensing with cameras requires sufficient ambient lighting, or active lighting, or the use of thermal imagers. Inertial sensing is suitable for most applications but suffers detectability at low vehicle speeds. Lidar sensors have high resolution but can be costly. Imaging radar+MSU (inertial) is a good dual-sensor combination that provides sensor diversity and allows for three detection/sensing modes: inertial, 3D, and velocity vector field. Individual detection mechanisms from diverse sources must also be complementary and occur within a plausible detection window of each other.

[0074] FIG. 9 is a high-level block diagram of a method combining complementary detections from one or more sensing mechanisms 900 in accordance with some embodiments. In some embodiments, the integrity of the switch branch traversal determination is increased by combining multiple, complementary yet independent mechanisms within the same detection window. The detection window is a time and/or distance-based window. In at least some embodiments, the detection window is related to the size of the branch, e.g., branch 107, being traversed and the velocity of the vehicle traversing the branch. In at least one embodiment, the time window is set to a value corresponding to a threshold speed value for vehicle 102 to cross branch 107. In some embodiments, branch 107 ranges from 5-6 meters in length. Larger or smaller branch ranges are contemplated in other embodiments. In at least some embodiments, the detection window is a predetermined time-based window. In at least some embodiments, the detection window varies based on the particular branch 107 being traversed. In such embodiments, the detection window for different branches is stored in a memory.

[0075] The method begins at process 902 with no detection of a switch in branch 107, i.e., no switch branch detected. In an embodiment, based on data from a first sensor such as sensor 106, vehicle 102 determines whether a switch branch has been detected. In at least one embodiment, vehicle 102 performs a determination every 70 milliseconds (ms). In some embodiments, vehicle 102 performs a determination in a larger or smaller period of time. In response to a determination of a switch branch detection based on data from a sensor, the method proceeds to process 904. Upon a switch branch detection, the system starts a detection window counter.

[0076] The detection window counter is incremented based on either a time-based counter, a distance-based counter, or a combination. In at least one embodiment, the detection window counter tracks both time and distance and the detection window is set to expire based on the earlier of the time or distance value meeting the detection window threshold value.

[0077] In some embodiments, the detection window counter counts a passage of time, e.g., seconds. In some embodiments, the detection window counter counts a traveled distance, e.g., in centimeters (cm). In some embodiments, the detection window counter counts both time and distance.

[0078] During execution of process 904, the system receives additional sensor data relating to a switch branch detection or an indication of expiration of the detection window. If the system receives a detection window expiration indication, the method proceeds to process 906. As described above, the detection window expiration is either time-based, distance-based, or a combination of time and distance.

[0079] If the system receives a switch branch detection from a sensor, process 904 determines whether the received switch branch detection is a complementary or non-complementary switch branch detection and whether the detection is from the same first sensor or from a new sensor. During process 904, a non-complementary switch branch detection from the same sensor which caused the transition from process 902 to process 904, i.e., from the first sensor, is a switch branch detection indicating no switch branch being detected and the method returns to process 902. In such a situation, the sensor may have been affected by factors including weather, speed, obstructions, or the like. Receipt of a non-complementary switch branch detection from another sensor during process 904 is recorded, e.g., in memory 1004 (FIG. 10), and the method remains in process 904.

[0080] A complementary switch branch detection indicates another detection of a switch branch. During process 904, a complementary switch branch detection received from another sensor, e.g., sensor 108, 110, causes the method to proceed to process 908. During process 904, receipt of a complementary switch branch detection received from the first sensor is recorded and the method remains in process 904.

[0081] During execution of process 908, the system receives additional sensor data relating to a switch branch detection or an indication of expiration of the detection window. If the system receives a detection window expiration indication, the method proceeds to process 906. As described above, the detection window expiration is either time-based, distance-based, or a combination of time and distance.

[0082] If the system receives a switch branch detection from a sensor, process 908 determines whether the received switch branch detection is a complementary or non-complementary switch branch detection. During process 908, switch branch detections are recorded, e.g., in memory 1004 (FIG. 10), as being either complementary or non-complementary. In some embodiments, the system is, in effect, recording votes received from sensors as to whether a switch branch has been detected. In at least some embodiments, a confidence level of the complementary or non-complementary status of the switch branch detection is recorded along with the complementary/non-complementary status. During execution of process 908, the system collects sensor readings until the detection window expires or closes. In some embodiments, different numbers of sensor reading are received based on the sensor update frequency.

[0083] Returning to process 906, the system performs an arbitration process to determine based on the sensor data whether a switch branch has been detected and which switch branch has been traversed by vehicle 102 during traversal of branch 107. During process 906 execution, the number of switch branch detections are used to determine which switch branch was traversed. The number of complementary switch branch detections are reduced by the number of non-complementary switch branch detections. If the result is greater than zero, the complementary switch branch detection is generated as the switch branch which was traversed by vehicle 102. If the result is less than or equal to zero, the non-complementary switch branch detection is generated as the switch branch which was traversed by vehicle 102.

[0084] In some embodiments, the count of complementary versus non-complementary switch branch detections are compared and the larger value is taken as the switch branch detection corresponding to the switch branch traversed by vehicle 102.

[0085] In some embodiments, one or more parameters of the sensor are factored into the arbitration process 906. In some embodiments, the quality of the sensor data is applied as a weighting factor applied to the complementary/non-complementary switch branch detection values. In at least one embodiment, a sensor has an initial quality value assigned and over time the quality value is updated based on received sensor data. In some embodiments, the type of sensor is assigned a value to be applied as a weighting factor. Different sensor types have different advantages and disadvantages. For example, some sensors have a longer or shorter range, some sensors are more or less impacted by weather phenomenon, some sensors have greater or lesser amounts of noise inherent to the sensor, and the like. In some embodiments, one or more or all of these factors impact a weighting value of the switch branch detection for a given sensor.

[0086] FIG. 10 is a block diagram of a processing system 1000 in accordance with some embodiments.

[0087] In some embodiments, processing system 1000 is a general purpose computing device including a hardware processor 1002 and a non-transitory, computer-readable storage medium 1004. Storage medium 1004, amongst other things, is encoded with, i.e., stores, computer program code 1006, i.e., a set of executable instructions. Execution of instructions 1006 by hardware processor 1002 represents (at least in part) a tool which implements a portion or all of the methods described herein in accordance with one or more embodiments (hereinafter, the noted processes and/or methods).

[0088] Processor 1002 is electrically coupled to computer-readable storage medium 1004 via a bus 1008. Processor 1002 is also electrically coupled to an I/O interface 1010 by bus 1008. A network interface 1012 is also electrically connected to processor 1002 via bus 1008. Network interface 1012 is connected to a network 1014, so that processor 1002 and computer-readable storage medium 1004 are capable of connecting to external elements via network 1014. Processor 1002 is configured to execute computer program code 1006 encoded in computer-readable storage medium 1004 in order to cause system 1000 to be usable for performing a portion or all of the noted processes and/or methods. In one or more embodiments, processor 1002 is a central processing unit (CPU), a multi-processor, a distributed processing system, an application specific integrated circuit (ASIC), and/or a suitable processing unit.

[0089] In one or more embodiments, computer-readable storage medium 1004 is an electronic, magnetic, optical, electromagnetic, infrared, and/or a semiconductor system (or apparatus or device). For example, computer-readable storage medium 1004 includes a semiconductor or solid-state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and/or an optical disk. In one or more embodiments using optical disks, computer-readable storage medium 1004 includes a compact disk-read only memory (CD-ROM), a compact disk-read/write (CD-R/W), and/or a digital video disc (DVD).

[0090] In one or more embodiments, storage medium 1004 stores computer program code 1006 configured to cause system 1000 (where such execution represents (at least in part) the EDA tool) to be usable for performing a portion or all of the noted processes and/or methods. In one or more embodiments, storage medium 1004 also stores information including data and/or parameters and/or information 1016 which facilitates performing a portion or all of the noted processes and/or methods.

[0091] Processing system 1000 includes I/O interface 1010. I/O interface 1010 is coupled to external circuitry. In one or more embodiments, I/O interface 1010 includes a keyboard, keypad, mouse, trackball, trackpad, touchscreen, and/or cursor direction keys for communicating information and commands to processor 1002.

[0092] Processing system 1000 also includes network interface 1012 coupled to processor 1002. Network interface 1012 allows system 1000 to communicate with network 1014, to which one or more other computer systems are connected. Network interface 1012 includes wireless network interfaces such as BLUETOOTH, WIFI, WIMAX, GPRS, or WCDMA; or wired network interfaces such as ETHERNET, USB, or IEEE-1364. In one or more embodiments, a portion or all of noted processes and/or methods, is implemented in two or more systems 1000.

[0093] System 1000 is configured to receive information through I/O interface 1010. The information received through I/O interface 1010 includes one or more of instructions, data, design rules, libraries of standard cells, and/or other parameters for processing by processor 1002. The information is transferred to processor 1002 via bus 1008. EDA system 1000 is configured to receive information related to a UI through I/O interface 1010. The information is stored in computer-readable medium 1004 as user interface (UI) 1042.

[0094] In some embodiments, a portion or all of the noted processes and/or methods is implemented as a standalone software application for execution by a processor. In some embodiments, a portion or all of the noted processes and/or methods is implemented as a software application that is a part of an additional software application. In some embodiments, a portion or all of the noted processes and/or methods is implemented as a plug-in to a software application. In some embodiments, a portion or all of the noted processes and/or methods is implemented as a software application that is used by system 1000.

[0095] In some embodiments, the processes are realized as functions of a program stored in a non-transitory computer readable recording medium. Examples of a non-transitory computer readable recording medium include, but are not limited to, external/removable and/or internal/built-in storage or memory unit, e.g., one or more of an optical disk, such as a DVD, a magnetic disk, such as a hard disk, a semiconductor memory, such as a ROM, a RAM, a memory card, and the like.

[0096] In an embodiment, a method of determining a traversed branch for a vehicle on a constrained path, the method includes: receiving map-related information; receiving speed information; performing two or more different detection methods from among: inertial detection; magnetometer detection; texture detection; 3D detection; or velocity field detection; and arbitrating among the result of the two or more different detection methods to determine which branch was traversed.

[0097] In an embodiment, a method of detecting a switch branch, includes: receiving branch detection information; responsive to no additional branch detection information being received within a detection window period, performing arbitration on the received branch detection information and determining which branch was traversed based on the branch detection information; responsive to additional non-complementary branch detection information being received, determining that no switch branch was detected; and responsive to additional complementary branch detection information being received, performing arbitration on the received branch detection information and the additional complementary branch detection information and determining which branch was traversed.

[0098] In an embodiment, a system for branch traversal discrimination includes: a vehicle configured to travel along a constrained path, the vehicle includes: two or more sensors for detecting a switch branch; and a controller for determining which switch branch was traversed by the vehicle based on data received from the two or more sensors, the controller configured to arbitrate among the sensor data to determine the traversed switch branch.

[0099] The foregoing outlines features of several embodiments so that those skilled in the art may better understand the aspects of the present disclosure. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions, and alterations herein without departing from the spirit and scope of the present disclosure.