Architecture and method for high integrity branch discrimination
Patent Information
- Application Number
- CN202580021015.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-11
- Filing Date
- 2025-03-11
- Publication Date
- 2026-10-16
Smart Images

Figure CN122935514A_ABST
Abstract
Description
[0001] Priority Statement This application claims priority to U.S. Provisional Application No. 63 / 563,702, filed March 11, 2024, the entire contents of which are incorporated herein by reference. Background Technology
[0002] When a rail vehicle encounters and passes a turnout (branch point), the onboard positioning system can determine which path the vehicle took (i.e., the branching path or the straight path). Similar scenarios can be envisioned when, for example, a road vehicle changes lanes or exits an exit ramp. Attached Figure Description
[0003] The various aspects of this disclosure can be best understood from the following detailed description when read in conjunction with the accompanying drawings. It should be noted that, in accordance with standard industry practice, the features are not drawn to scale. In fact, the dimensions of the features may be increased or decreased arbitrarily for clarity of discussion.
[0004] Figure 1 This is a high-level plan view of a vehicle traversing a branch area according to some embodiments.
[0005] Figures 2 to 4 These are video frames from a method applied to a video stream, according to some embodiments, wherein the video stream originates from a rail vehicle.
[0006] Figure 5A and Figure 5B It is a velocity vector field before and after a rail vehicle passes through a switch, according to some embodiments.
[0007] Figure 6 and Figure 7 This includes tables of overestimation and underestimation of rail vehicles according to some embodiments.
[0008] Figure 8 It is the high-level architecture of the implementation example.
[0009] Figure 9 This is a high-level flowchart of a method according to some embodiments.
[0010] Figure 10 This is a high-level block diagram of a processing system that can be used with the embodiments. Detailed Implementation
[0011] The following disclosure provides numerous different embodiments or examples for implementing various features of the provided subject matter. Specific examples of components, values, operations, materials, arrangements, etc., are described below to simplify this disclosure. Of course, these are merely examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, etc., are contemplated. For example, in the following description, forming a first feature above or on a second feature can include embodiments where the first and second features are in direct contact, and can also include embodiments where an additional feature can be formed between the first and second features, such that the first and second features do not need to be in direct contact. Furthermore, reference numerals and / or letters may be repeated in various instances of this disclosure. Such repetition is for simplicity and clarity and does not in itself indicate a relationship between the various embodiments and / or configurations discussed.
[0012] Furthermore, for ease of description, spatial relative terms such as "below," "under," "lower part," "above," and "upper part" may be used herein to describe the relationship between one element or feature and another, as shown in the figures. In addition to the orientations depicted in the figures, spatial relative terms are intended to cover different orientations of the device during use or operation. The device may be oriented in other ways (rotated 90 degrees or in other orientations), and the spatial relative descriptive terms used herein shall be interpreted accordingly.
[0013] One or more embodiments of the present invention describe methods and architectures, and variations thereof, for determining which branch a vehicle traverses on a constrained path. In particular, this relates to rail vehicles, where an onboard positioning system uses onboard sensors to locate the rail vehicle within a rail network. When a vehicle encounters and passes a turnout (branch point), the onboard positioning system needs to determine which path the vehicle traveled (i.e., a branch path or a straight path). Similar scenarios can be envisioned when, for example, a road vehicle changes lanes or exits an exit ramp.
[0014] One or more embodiments of the present invention describe methods and architectures, and variations thereof, for performing branch discrimination using a variety of different and diverse sensing technologies that do not have common failure modes, either in combination or individually. The sensing technologies include: Inertial sensing, for example, can be provided by one or more inertial measurement units, providing 6DOF acceleration and gyroscope rate. Magnetometer sensing can be provided by one or more inertial measurement units. Texture sensing of the path / track area in the direction of vehicle movement, for example, can be provided by a camera. 3D environmental sensing of the path / track area in the vehicle's direction of motion can be provided by technologies such as LiDAR, stereo cameras, and imaging radar, thereby providing a 3D representation of the vehicle's physical surroundings in Cartesian or spherical coordinates. The velocity vector field sensing in the plane of the path / track region in the direction of vehicle motion can be: The lateral and longitudinal components of the ground velocity, for example, can be provided by the camera optical flow system, or The longitudinal component of ground velocity alone can be provided, for example, by processing a pure radial / Doppler velocity sensor, such as automotive radar.
[0015] In some embodiments, the term "along a track" is used to refer to vehicle states (e.g., position, velocity (rate and direction), and acceleration (velocity change over time)). A vehicle along a track (e.g., on a track or guide rail) or in a constrained state (such as a vehicle on a predetermined route) refers to a vehicle with fewer than nine degrees of freedom (9DOF). In some embodiments, a vehicle constrained state includes the vehicle's position along the track (e.g., vehicle position), vehicle's velocity along the track (e.g., vehicle rate and direction), and vehicle's acceleration along the track (e.g., vehicle velocity change over time). Additionally or alternatively, a vehicle constrained state is defined in conjunction with a three-dimensional (3D) constrained path, where vehicle motion is restricted (e.g., the vehicle cannot move freely in any direction, but is restricted, for example, along a predetermined route on a railway, track, guide rail, or road). In some embodiments, this state has three degrees of freedom (3DOF).
[0016] In some embodiments, a vehicle in an unconstrained state (e.g., free space state) refers to a nine-degree-of-freedom (9DOF) vehicle state. In some embodiments, within 9DOF are 3DOFs: position, orientation (e.g., yaw, pitch, and roll), and velocity. In some embodiments, a vehicle constrained state has 3DOFs. Therefore, a vehicle constrained state is referenced even without an associated constrained path (e.g., knowing position, orientation, and velocity without knowing the location of the constrained path or mapping data).
[0017] Figure 1 This is a top-level diagram of a vehicle positioning system (VPS) including a branch discrimination system (BDS) according to some embodiments.
[0018] The Vehicle Positioning System (VPS) 100 includes a vehicle 102 that communicates with a Communication-Based Train Control (CBTC) system 103. A wireless communication path 105 connects the Onboard Controller (VOBC) 101 and the CBTC 103. The vehicle 102 is on a constrained path 104, such as a track or rail.
[0019] Path 104 has branch areas 107, such as railway switches or turnouts or a set of switches. Branch areas 107 guide vehicles 102 in one direction, for example, at railway junctions, slipways, branch lines, sidings, etc. Branch areas 107 have straight paths (indicated by arrow 104a, also called the main line) and branch paths (arrow 104b). Branch areas 107 (generally indicated by dotted lines) also include branch controllers 107a for controlling the switching mechanism of branch areas 107 based on signals received from the CBTC system 103 via communication path 105.
[0020] In some embodiments, branch 105 includes two or more branch paths, two or more intersection paths, etc. In some embodiments, branch region 107 does not include branch controller 107a under the control of CBTC system 103. In some embodiments, branch region 107 includes manually operated branch controller 107a.
[0021] On the page, vehicle 102 moves from left to right, traversing branch 105 along bifurcated path 104b. During its traversal of branch 105 towards bifurcated path 104b, vehicle 102 experiences inertial forces in the lateral direction (across the track), in addition to the longitudinal (along the track) direction. During its traversal of branch 105 towards straight path 104a, vehicle 102 experiences inertial forces in the along-track direction, with almost no inertial forces across the track.
[0022] In some embodiments, vehicle 102 is an autonomous vehicle. In some embodiments, vehicle 102 is another type of vehicle that uses a constrained path or constrained motion, such as a shuttle, personal transport vehicle, guided vehicle, monorail vehicle, or automated chute. Vehicle 102 includes a motion sensing unit (MSU) 106, such as an inertial measurement unit (IMU) including accelerometers, gyroscopes, and / or magnetometers, and optional additional MSU 108 or optional visual (or scene) sensing unit (VSU) (such as radar, LiDAR, or camera) 110.
[0023] VPS 100 includes VOBC 101 operatively connected to CBTC 103, which operates an autonomous train, such as vehicle 102, via wireless communication 105. By performing BDS, VPS 100 implements a branch discrimination process to determine which of two or more branches of path 104 vehicle 102 is traversing or has already traversed. In at least some embodiments, branch determination is initiated using a sensing sensor (e.g., visual sensing unit 110) before traversing a branch, and a final decision is made using input from a motion sensor, such as motion sensing unit 106, as the vehicle traverses the branch. VPS 100 combines and processes the sensor data to determine which branch or path vehicle 102 is traveling on.
[0024] Knowing which branch has been traversed and that vehicle 102 is traveling on that branch is crucial for the operation of the entire system. Knowledge of track safety and vehicle position is used to improve operation and avoid incorrect route designation, incorrect switch status and reporting, collisions, or other accidents caused by vehicles on incorrect paths.
[0025] In some embodiments, CBTC system 103 is a railway signaling system that utilizes telecommunications between trains (such as vehicle 102) and track equipment for traffic management and infrastructure control. CBTC system 103 is configured to use more accurate train path constraint states than conventional signaling systems. This results in an efficient and safe way to manage railway traffic meeting Safety Integrity Level (SIL) 4. For a system to be rated as Safety Integrity Level (SIL) 4, it is required to have provable on-demand reliability, as well as techniques and measurements for detecting and responding to faults that could compromise the system's safety attributes. SIL 4 is based on the International Electrotechnical Commission (IEC) standard IEC 61508 and EN standards 50126 and 50129. SIL 4 requires a fault probability of 10 per hour. -8 Up to 10 -9 Within this range, security systems that do not need to meet security integrity level standards are called SIL 0.
[0026] In some embodiments, the CBTC system 103 is a continuous automatic train control system that utilizes high-resolution train position determination independent of track circuits, as defined in the IEEE 1474 standard, continuous high-capacity bidirectional train-to-roadside data communication, and onboard and roadside processors capable of implementing Automatic Train Protection (ATP) functions and optional Automatic Train Operation (ATO) and Automatic Train Supervision (ATS) functions, the entire contents of which are incorporated herein by reference.
[0027] In other methods, branch determination is based on the positioning of the rail vehicle on the guide rail after it crosses the branch, which uses inductive loops, radio frequency identification (RFID) transponder tags, block occupancy, or re-acquiring communication on the new loop channel.
[0028] Using an inductive loop, messages with loop IDs are transmitted across the loops, each loop having a different ID. When a vehicle crosses the boundary between two adjacent loops, its position and direction of travel on the guide rail are initialized. Within each loop, there are intersections where the phase of the transmitted signal is flipped. Intersections are located every 25 meters. Therefore, upon intersection detection (e.g., phase flip), the vehicle position on the guide rail is updated 25 meters in the direction of vehicle movement. Between intersections, a tachometer is used for dead reckoning. When the vehicle crosses a new loop, its position on the guide rail is repositioned and its direction of travel is updated.
[0029] Using RFID transponder tags, each tag has a unique ID corresponding to a specific location on the guide rail. When the first tag is detected, the vehicle's position on the guide rail is initialized. However, at this point, the direction of travel is still unknown. When the second tag is detected, the direction of travel is established. Between tags, a tachometer is used to calculate the dead reckoning position. When the next tag is detected, the vehicle's position on the guide rail is repositioned.
[0030] Instead, embodiments of this disclosure are configured to determine which branch a vehicle is currently traversing, i.e., branch discrimination. In some embodiments, branch discrimination is performed based on data recorded during branch traversal after the branch has already been traversed.
[0031] In some embodiments, vehicle 102 is a machine for transporting people and / or goods. In some embodiments, vehicle 102 includes trucks, bicycles, motor vehicles (motorcycles, cars, trucks, and buses), rail vehicles (trains, trams), vessels (ships, small boats), amphibious vehicles (propeller-driven vehicles, hovercraft), aircraft (airplanes, helicopters), and spacecraft. Land vehicles are broadly classified according to the manner in which they apply steering and driving forces to the ground: wheeled, tracked, rail-mounted, or skid-mounted, as detailed in ISO 3833-1977. Vehicle 102 is constrained to a constrained path, such as constrained path 104. In some embodiments, vehicle 102 is an autonomous vehicle for moving along constrained path 104. Autonomous vehicles use mechatronics, artificial intelligence, and / or multi-agent systems to assist the vehicle operator.
[0032] The constrained path 104 is a track on a railway or railroad, also known as a permanent track. The constrained path 104 is a structure consisting of rails, fasteners, railway sleepers, and ballast (or slab track), plus the underlying foundation. The constrained path allows trains to move by providing a reliable surface for their wheels. For clarity, the constrained path is referred to as a railway track, railroad track, or guide rail.
[0033] In some embodiments, MSU 106 is a sensor for detecting the velocity of vehicle 102 along a constrained path 104. In some embodiments, MSU 106 includes wheel speed sensors (e.g., tachometers), speedometers, LiDAR, ground speed radar, Doppler radar, or laser surface speedometers. In some embodiments, MSU 106 senses the rate of change and time difference of the vehicle's position relative to a reference frame. Velocity is a physical vector that includes both magnitude and direction. If a velocity change exists, the object has a changing velocity vector and is said to be experiencing acceleration / deceleration.
[0034] In some embodiments, MSU 106 uses a combination of accelerometers and gyroscopes to measure and report the specific force, angular velocity, and sometimes the orientation of an object. In some embodiments, MSU 106 includes one or more magnetometers.
[0035] In some embodiments, VSU 110 is a radar, LIDAR, or camera used to determine path or track measurements. In some embodiments, CBTC 103 or VOBC 101 is configured with a database storing known locations of branch regions along path constraints. In some embodiments, VSU 110 determines the distance and orientation to a landmark with a known location, and then determines the position of vehicle 102. In some embodiments, CBTC 103 or VOBC 101 uses the orientation and distance to the known landmark to calculate the vehicle's position. In some embodiments, VSU 110 is used to provide texture or 3D shape information to perform branch region detection in front of vehicle 102.
[0036] In some embodiments, a system including one or more computers is configured to perform a specific operation or action by installing software, firmware, hardware, or a combination thereof on the system, which causes the system to perform the action during operation. One or more computer programs are configured to perform the specific operation or action by including instructions that cause a device to perform the action when executed by data processing circuitry. In some embodiments, VPS 100 includes processing circuitry, such as processing circuitry 1002. Figure 10 ), and a memory connected to the processing circuitry, such as memory 1004. Figure 10 ), wherein the memory is configured to store executable instructions, such as executable instruction 1006 ( Figure 10 ), such as Figure 8 and Figure 9 Methods 900 and 1000. When executed by processing circuitry 1002, executable instruction 1006 facilitates the execution of an operation including: receiving data from a first set of sensors 106, 108 and / or 110 operably coupled to vehicle 102; performing two or more different detection methods using the received data; arbitrating among the results of the detection methods to determine which branch was crossed; and performing a safety operation if the determined branch crossing differs from the indicated or expected branch crossing.
[0037] When vehicle 102 approaches turnout / branch area 107, system 100 is activated. The knowledge of branch area 107 comes from the previously known position of vehicle 102 and, for example, from information stored in memory 1004. Figure 10 The map provided in the system and / or the branch region 107 is provided by detecting texture or 3D shape information from, for example, VSU 110 (such as a camera, LIDAR, or imaging radar), and is appropriately processed to perform branch region detection in front of the vehicle (e.g., using an AI-based detector or similar 2D / 3D computer vision processing). Each individual sensing technology provides independent detection of the switch position or the branch crossed, as described below, and after crossing / passing the switch / branch, one or more independent switch position / branch discrimination detections are combined.
[0038] All detected events are expected to occur within a known time window, which will typically have a shorter duration than that required for a typical curve—given the map, velocity, and displacement, the crossing time will be known, thus providing a gating window for measurements used for supervision.
[0039] For SIL4 integrity in rails according to CENELEC (European Committee for Electrotechnical Standardization) standards, the tolerable hazard rate (THR) is less than 10. -9 .
[0040] Independent sensing: Inertial sensing of the traversed branch region 107 occurs after the turnout / branch has been traversed, and is achieved by comparing the known characteristic inertial "signature" of the branch crossing (bifurcation and straight section) with the inertial data measured during the branch crossing. Many different techniques are used to, for example, store the data in memory 1004. Figure 10The inertial signature data in the data is compared with measured inertial data from vehicle 102, for example, using MSU 106, optional MSU 108, or a subset of 6DOF MSU data. These may include statistical hypothesis testing or fit testing, Bayesian filtering using a 3D track model, PCA-based methods, etc. In at least some embodiments, all measured MSU data are used for comparison with known characteristic inertial signatures. Accurate detection is achieved using local 3D map data and displacement and velocity when crossing a turnout. In at least some embodiments, these are provided at a high integrity level to provide a base of trust in detection. In at least some embodiments, pre-stored characteristic data of a particular turnout is stored in a database for more accurate detection, wherein inertial data of the particular turnout is retrieved from the database when the particular turnout is identified upon approach.
[0041] Texture-based sensing is achieved by extracting rails from VSU 110 upon approach (which may or may not include parameterizing the extracted rails as local curves) and using rail detection technology to detect and identify turnout rails during passage through branch area 107.
[0042] Figures 2 to 4 It is a frame from a video stream of a method applied to a video stream of a rail vehicle 102 approaching a turnout (e.g., branch area 107). Figure 2 This is a video frame when vehicle 102 approaches the turnout. At this time, the detection results do not detect a fork path or turnout location. As a result, no vote is recorded for a particular turnout location. In one embodiment, computer vision processing based on images (e.g., bird's-eye view) is used to receive the vote to detect the turnout rail location. In at least one embodiment, one vote is received for each video frame, and the detection of the turnout rail location is used in each frame, followed by hypothesis testing or other processing to classify the detection as a straight line or a fork.
[0043] Figure 3 These are video frames taken when a vehicle is close enough to the turnout to detect its track. At this point, the detection begins to identify the branching path. Therefore, there are votes recorded for a specific turnout position (i.e., the left-hand or mainline branch). There are no votes recorded for the other turnout position (i.e., the right-hand branch).
[0044] Figure 4 These are video frames taken when a vehicle is about to cross a turnout or branch area 107. The VSU 110 detects the turnout rails more clearly. At this point, the detection results increase the identification of the turnout's branching path and location. Therefore, there are more vote counts for the main line branch, while there are no vote counts for the other turnout location.
[0045] When traversing region 107, hypothesis testing, maximum likelihood, or other similar techniques are used to vote on the switch position over multiple frames (typically hundreds of frames during slow vehicle movement), and detection of the traversed branch is reached based on the multiple votes. In at least some embodiments, a supervisory controller, such as part of system 100, CBTC 103, or VOBC 101, rejects detection outputs where the voting ratio does not exceed a given level of statistical significance or confidence. In at least some embodiments, the supervisory controller rejects detection outputs below a predetermined threshold. Furthermore, in some embodiments, the supervisory controller compares received sensor data with trusted map data and velocities (including displacement) to confirm the position of the switch rails and other switch geometries, and rejects non-conforming detections.
[0046] 3D shape sensing (e.g., using sensor data from VSU 110) generates 3D voxel information for the area directly in front of the vehicle's direction of movement. This 3D voxel information is used to detect (via 3D feature signatures) straight and bifurcation paths. Even with moderate sensor resolution, coarse lateral switch areas are identified and defined, and vehicle movement to the left or right of the entire switch area is determined to identify the traversed branch. In some embodiments, the coarse boundaries of the switch area are cross-checked for data specific to a switch, provided a reliable map and speed (including displacement) are always available. The ability to detect tracks by the presence or absence of reflected signals from the railhead, rail web, or other track structures, utilizing numerous sensors, can provide additional confirmation of the traversed branch using a voting mechanism similar to that described above. In some embodiments, enhancements to the method include specific 3D data stored for a particular switch area in the map for use by a supervisory controller to enhance accuracy or improve supervision / cross-checking.
[0047] The use of velocity vector field information refers to sensing the velocity vector of a (stationary) point on the ground in the region in front of the vehicle in the direction of motion. This is typically considered a (hypothetical) empty and reliable region in front of the vehicle, such as within a protected safety envelope in front of the train. This region can extend, for example, from 5m to 30m in front of the train.
[0048] If the velocity vector field information is provided by a sensor or processing unit (e.g., a camera + optical flow sensing and processing) that provides lateral and longitudinal velocity vector information, then crossing a bifurcation path (in a straight section of the track) via a switch will manifest as a transient transition from a predominantly longitudinal velocity vector to a velocity vector field with lateral motion during a short period of travel along the bifurcation path. In at least one embodiment, lateral sensor data is used to detect the bifurcation path. If the switch is not located in a straight section of the track, the deviation of the velocity vector field from the field prior to the switch during crossing the switch area is used to detect whether a bifurcation path has been adopted. Note that the reliable map, velocity, and displacement included during this crossing can be used by a supervisory controller to supervise the detection; for example, the transient period of expected velocity vector field deviation from the straight path is defined by map and displacement information to reject potential outlier detections or refine the optical flow / velocity vector field.
[0049] Figure 5A and Figure 5B This is a diagram illustrating an example of a velocity vector field. Figure 5A This is an example velocity vector field before the turnout crosses the track. The velocity vector field represents the velocity vector field of a vehicle traveling along the track, where the arrow points downwards along the length of the page and not to any corner of the page, indicating that there is no lateral inertial motion. Figure 5B This is an example velocity vector field during the crossing of a bifurcation branch that branches to the right. The velocity vector field represents the velocity vector field of a vehicle traveling along the bifurcation path, where lateral inertial motion is indicated by an arrow pointing to the length of the page and toward the left corner of the page.
[0050] In some embodiments, the velocity vector field information does not include both lateral and longitudinal components, but is instead provided from a sensor that senses only radial velocity information (such as 3D or 4D radar). A 3D LIDAR refers to a LIDAR that returns XYZ coordinates (or equivalent 3D spatial measurements) for each echo. A 3D radar refers to a radar that returns azimuth, range (or equivalent 2D spatial dimensions), and radial velocity (a total of three dimensions) for each echo. A 4D LIDAR refers to a LIDAR that returns XYZ (or equivalent 3D spatial measurements) + radial velocity for each echo (a total of four dimensions). A 4D radar refers to a radar that returns azimuth, elevation, range (or equivalent 3D spatial dimensions), and radial velocity (a total of four dimensions) for each echo. Each of these sensors typically also returns other information not specifically related to the position or motion of the echo, such as health, mass, intensity / RCS, etc. In this given embodiment, the conversion from radial velocity information to longitudinal velocity estimation is achieved via a conversion factor that optimizes the measurement of longitudinal velocity. For example, in many such systems, the radial velocity is converted into a longitudinal velocity estimate using the following formula:
[0051] Here, alpha (α) represents the azimuth angle. In at least some embodiments, other transformations are available. Regardless of the transformation method, the measurement of longitudinal (ground) velocity is inaccurate due to the lack of information about lateral / azimuth angular velocity (because the sensor only measures radial velocity). Therefore, there is always a characterizable and known overestimation of the velocity on one side of the sensor's field of view (FOV), and an underestimation of the velocity on the other side of the sensor's FOV. Figure 6 Tables 1 and 2 in the table illustrate examples of overestimation and underestimation of the velocity measured in the region of interest (ROI) from 5m to 30m longitudinally and -0.75m to 2.25m laterally in front of the train, using 2D Doppler / radial velocity measurements converted to ground velocity, during a movement at 5m / s when the radar is mounted above the track centerline. Table 1 on the left shows the ground velocity estimates during straight-line motion, and Table 2 on the right shows the ground velocity estimates during a 100m radius of curvature. It is clear that during curved / rotational motion, the ground velocity is overestimated on the right and underestimated on the left, and this effect is more pronounced closer to the train, i.e., at the bottom of the page. This pattern of known velocity overestimation and underestimation can be used to detect crossings of curved areas of track consistent with bifurcation paths. Knowing the vehicle speed and the direction of the bifurcation path based on a reliable map allows for cross-checking of this detection.
[0052] In an embodiment with two VSU 110s (e.g., two radars) located at symmetrical offsets from the centerline to the left and right, the radars independently detect crossings of bifurcation paths and can be used to further enhance the completeness of the branch discrimination function. Figure 7 Tables 3 and 4 provide examples of overestimation and underestimation modes using two radars, one mounted on the left (lateral to the centerline -0.75m) and the other on the right (lateral to the centerline 0.75m), during a movement at 5m / s around a curve with a radius of 100m. In this context, ground speed refers to the actual speed of the vehicle body. This is the ground speed of the vehicle after the speed input has been converted to the ground plane.
[0053] In another embodiment, sensors are located at both ends of the train to provide data for monitoring / confirming the crossing of branches. Given a known train length, map, and reliable speed / displacement, the system can monitor branches detected ahead and monitor the rear of the train within a later, known time window to improve integrity. If a branch being crossed does not match within the expected window, safety actions are performed, such as stopping the vehicle, slowing the vehicle down, closing a section of the path, closing an area containing both the branch path and the main line path, stopping the vehicle or closing a section of the path until the vehicle position is reacquired, warning the vehicle and the central operator, etc.
[0054] In at least one embodiment, after traversing a turnout branch and determining which branch the vehicle traversed, the vehicle's position is updated based on the traversed branch. In such an embodiment, the vehicle's position before approaching the turnout branch is known, and the position is updated along the branch or mainline path based on the traversed turnout branch.
[0055] Combining multiple detections Figure 8 This is a high-level block diagram of an execution branch discrimination method 800 according to some embodiments.
[0056] The method begins at process 802, and the system detects an incoming turnout or branch area. Map location data is received from the database. The map location data includes the branch area location, turnout type, and other data. In some embodiments, map location data is not received from the database. The method proceeds to process 806.
[0057] In process 806, turnout detection is performed based on one or more sensor types. In at least one embodiment, process 806 is performed based on sensor data from at least two different sensor types. These different detections include inertial detection, magnetometer detection, texture-based detection, 3D-based detection, and / or velocity vector field-based detection. Process 806 receives input from process 808, including map information and velocity-displacement information. The map information includes feature signatures corresponding to different detection types of vehicle position. Process 806 generates individual detection data and corresponding quality data for each detection. The method proceeds to process 810.
[0058] In process 810, an arbitration method is performed among the various checks from process 806 to determine whether a branch has been traversed and which path of the branch has been traversed. This method proceeds to process 812.
[0059] In process 812, the system determines whether a safety operation needs to be performed based on a comparison between 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 required, and the method proceeds to process 814.
[0060] In process 814, a safety operation is performed. In some embodiments, the safety operation includes one or more of the following: stopping the vehicle, slowing the vehicle, closing a segment of the path, closing an area containing both the branch path and the main path, stopping the vehicle or closing a segment of the path until the vehicle position is reacquired, etc. The method then proceeds to completion.
[0061] If the identified branch traversal matches the expected or planned branch traversal, then a safe operation is required, and the method continues to complete.
[0062] In at least one embodiment, after traversing a turnout branch and determining which branch the vehicle traversed, the vehicle's position is updated based on the traversed branch. In such an embodiment, the vehicle's position before approaching the turnout branch is known, and the position is updated along the branch or mainline path based on the traversed turnout branch.
[0063] Note that, as described above, in some embodiments, "feature signatures" or "features" are stored in maps / databases to aid in the detection of each sensing technology. For example, in some embodiments, these are inertial feature signatures of bifurcated left and bifurcated right switches, inertial feature signatures of bifurcated and straight switches, 3D or texture information of a specific switch area (from pre-deployment survey activities), magnetic field data, etc.
[0064] In some embodiments, "feature signatures" are collected from data gathered during system operation, with the goal of improving the accuracy / performance of the detection system. In such embodiments, this is achieved by deploying the system at a minimum performance level while collecting feature signature data during operation. The data collected during operation is used to construct improved sensor feature signatures using various modeling techniques, including but not limited to deep learning / neural network models, Bayesian models, reinforcement learning methods, etc.
[0065] In combination Figure 9 The recorded arbitration method uses quality information for each independent test (including goodness of fit, vote ratio, error level, fault flag, etc.) to arbitrate combinations of different tests.
[0066] For low-integrity applications, a single sensing mechanism is used; for high-integrity applications, two or more different sensing mechanisms are combined. Specific technologies are chosen to suit existing sensors installed on the vehicle, available processing, expected operating conditions, etc. For example, texture-based sensing using cameras requires sufficient ambient lighting, active lighting, or the use of a thermal imager. Inertial sensing is suitable for most applications but has poor detectability at low vehicle speeds. LiDAR sensors offer high resolution but can be expensive. Imaging radar + MSU (inertial) is a good dual-sensor combination, providing sensor versatility and allowing three detection / sensing modes: inertial, 3D, and velocity vector field. The individual detection mechanisms from different sources must also be complementary and occur within each other's reasonable detection windows.
[0067] Figure 9This is a high-level block diagram of a method for combining complementary detection from one or more sensing mechanisms 900 according to some embodiments. In some embodiments, the integrity of turnout branch crossing determination is improved by combining multiple complementary but 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 being crossed (e.g., branch 107) and the speed of the vehicle crossing the branch. In at least one embodiment, the time window is set to a value corresponding to a threshold speed value for vehicle 102 crossing branch 107. In some embodiments, the length of branch 107 ranges from 5 to 6 meters. Larger or smaller branch ranges are considered 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 specific branch 107 being crossed. In such embodiments, the detection windows for different branches are stored in memory.
[0068] The method begins at process 902, where no turnout in branch 107 is detected, i.e., no turnout branch is detected. In an embodiment, vehicle 102 determines whether a turnout branch has been detected based on data from a first sensor, such as sensor 106. In at least one embodiment, vehicle 102 performs this determination every 70 milliseconds (ms). In some embodiments, vehicle 102 performs the determination over a longer or shorter time interval. In response to determining turnout branch detection based on data from the sensor, the method proceeds to process 904. Upon turnout branch detection, the system starts a detection window counter.
[0069] The detection window counter increments based on a time-based counter, a distance-based counter, or a combination thereof. 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 values satisfying a detection window threshold.
[0070] In some embodiments, the detection window counter counts the elapsed time (e.g., seconds). In some embodiments, the detection window counter counts the distance traveled, for example, in centimeters (cm). In some embodiments, the detection window counter counts both time and distance.
[0071] During the execution of process 904, the system receives additional sensor data related to turnout branch detection or an indication of detection window expiration. If the system receives an indication of detection window expiration, the method proceeds to process 906. As described above, the detection window expiration is time-based, distance-based, or a combination of both.
[0072] If the system receives a turnout branch detection from a sensor, process 904 determines whether the received turnout branch detection is complementary or non-complementary, and whether the detection comes from the same first sensor or from a new sensor. During process 904, a non-complementary turnout branch detection from the same sensor that caused the transition from process 902 to process 904 (i.e., from the first sensor) is a turnout branch detection indicating that no turnout branch was detected, and the method returns to process 902. In this case, the sensor may be affected by factors including weather, speed, obstacles, etc. A non-complementary turnout branch detection received from another sensor during process 904 is recorded, for example, in memory 1004. Figure 10 In ), and the method remains in process 904.
[0073] Complementary turnout branch detection indicates another detection of a turnout branch. During process 904, a complementary turnout branch detection received from another sensor (e.g., sensor 108, 110) causes the method to proceed to process 908. During process 904, the reception of the complementary turnout branch detection received from the first sensor is recorded, and the method remains in process 904.
[0074] During the execution of process 908, the system receives additional sensor data related to turnout branch detection or an indication of detection window expiration. If the system receives an indication of detection window expiration, the method proceeds to process 906. As described above, the detection window expiration is time-based, distance-based, or a combination of both.
[0075] If the system receives a turnout branch detection from a sensor, process 908 determines whether the received turnout branch detection is complementary or non-complementary. During process 908, the turnout branch detection is stored, for example, in memory 1004. Figure 10 The signals are recorded as complementary or non-complementary. In some embodiments, the system actually records the votes received from the sensors regarding whether a turnout branch has been detected. In at least some embodiments, the confidence level of the complementary or non-complementary state of the turnout branch detection is recorded along with the complementary / non-complementary state. During the execution of process 908, the system collects sensor readings until the detection window expires or closes. In some embodiments, a different number of sensor readings are received based on the sensor update frequency.
[0076] Returning to procedure 906, the system performs an arbitration procedure to determine, based on sensor data, whether a turnout branch has been detected and which turnout branch vehicle 102 traversed during its crossing of branch 107. During the execution of procedure 906, the number of turnout branch detections is used to determine which turnout branch was traversed. The number of complementary turnout branch detections is subtracted from the number of non-complementary turnout branch detections. If the result is greater than zero, the complementary turnout branch detection is generated as the turnout branch traversed by vehicle 102. If the result is less than or equal to zero, the non-complementary turnout branch detection is generated as the turnout branch traversed by vehicle 102.
[0077] In some embodiments, the counts of complementary and non-complementary turnout branch detections are compared, and the larger value is taken as the turnout branch detection corresponding to the turnout branch traversed by vehicle 102.
[0078] In some embodiments, one or more parameters of the sensor are taken into account in arbitration process 906. In some embodiments, the quality of the sensor data is used as a weighting factor applied to complementary / non-complementary turnout branch detection values. In at least one embodiment, the sensor has an assigned initial quality value, and the quality value is updated over time based on received sensor data. In some embodiments, the sensor type is assigned a value to be used as a weighting factor. Different sensor types have different advantages and disadvantages. For example, some sensors have longer or shorter ranges, some sensors are more or less affected by weather phenomena, some sensors have more or less noise inherent to the sensor, etc. In some embodiments, one or more or all of these factors affect the weighting value of a turnout branch detection for a given sensor.
[0079] Figure 10 This is a block diagram of a processing system 1000 according to some embodiments.
[0080] In some embodiments, the processing system 1000 is a general-purpose computing device including a hardware processor 1002 and a non-transitory computer-readable storage medium 1004. The storage medium 1004 is specifically encoded (i.e., stores) with computer program code 1006 (i.e., a set of executable instructions). The instructions 1006, executed by the hardware processor 1002, represent (at least partially) tools (hereinafter, the processes and / or methods) that implement part or all of the methods described herein according to one or more embodiments.
[0081] Processor 1002 is electrically coupled to computer-readable storage medium 1004 via bus 1008. Processor 1002 is also electrically coupled to I / O interface 1010 via bus 1008. Network interface 1012 is also electrically connected to processor 1002 via bus 1008. Network interface 1012 is connected to network 1014, enabling processor 1002 and computer-readable storage medium 1004 to be connected to external elements via network 1014. Processor 1002 is configured to execute computer program code 1006 encoded in computer-readable storage medium 1004 so that system 1000 can be used to perform part or all of the process and / or method. In one or more embodiments, processor 1002 is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application-specific integrated circuit (ASIC), and / or a suitable processing unit.
[0082] In one or more embodiments, the computer-readable storage medium 1004 is an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, the computer-readable storage medium 1004 includes semiconductor or solid-state memory, magnetic tape, removable computer disk, random access memory (RAM), read-only memory (ROM), hard disk, and / or optical disk. In one or more embodiments using optical disk, the computer-readable storage medium 1004 includes optical disc read-only memory (CD-ROM), optical disc read / write (CD-R / W), and / or digital video optical disc (DVD).
[0083] In one or more embodiments, storage medium 1004 stores computer program code 1006 configured to enable system 1000 (where such execution (at least partially) represents an EDA tool) to perform part or all of the process and / or method. In one or more embodiments, storage medium 1004 also stores information and / or information 1016 including data and / or parameters that facilitate the execution of part or all of the process and / or method.
[0084] The processing system 1000 includes an I / O interface 1010. The I / O interface 1010 is coupled to external circuitry. In one or more embodiments, the I / O interface 1010 includes a keyboard, keypad, mouse, trackball, touchpad, touchscreen, and / or cursor arrow keys for transmitting information and commands to the processor 1002.
[0085] The processing system 1000 also includes a network interface 1012 coupled to the processor 1002. The network interface 1012 allows the system 1000 to communicate with a network 1014, to which one or more other computer systems are connected. The network interface 1012 includes a wireless network interface, such as Bluetooth, Wi-Fi, WiMAX, GPRS, or WCDMA; or a wired network interface, such as Ethernet, USB, or IEEE-1364. In one or more embodiments, some or all of the processes and / or methods are implemented in two or more systems 1000.
[0086] System 1000 is configured to receive information via I / O interface 1010. The information received via I / O interface 1010 includes one or more of instructions, data, design rules, standard cell libraries, and / or other parameters for processing by processor 1002. The information is transmitted to processor 1002 via bus 1008. EDA system 1000 is configured to receive UI-related information via I / O interface 1010. This information is stored as a user interface (UI) 1042 on computer-readable medium 1004.
[0087] In some embodiments, part or all of the process and / or method is implemented as a standalone software application executed by a processor. In some embodiments, part or all of the process and / or method is implemented as a software application as part of an additional software application. In some embodiments, part or all of the process and / or method is implemented as a plug-in to a software application. In some embodiments, part or all of the process and / or method is implemented as a software application used by system 1000.
[0088] In some embodiments, the process is implemented as the function of a program stored in a non-transitory computer-readable recording medium. Examples of non-transitory computer-readable recording media include, but are not limited to, external / removable and / or internal / built-in storage or memory units, such as optical discs like DVDs, magnetic disks like hard disks, semiconductor memories such as ROMs, RAMs, memory cards, etc.
[0089] In one embodiment, a method for determining which branch a vehicle traversed on a constrained path includes: receiving map-related information; receiving speed information; performing two or more different detection methods: inertial detection; magnetometer detection; texture detection; 3D detection; or velocity field detection; and arbitrating the results of the two or more different detection methods to determine which branch was traversed.
[0090] In one embodiment, a method for detecting turnout branches includes: receiving branch detection information; in response to not receiving additional branch detection information within a detection window period, arbitrating the received branch detection information and determining which branch has been traversed based on the branch detection information; in response to receiving additional non-complementary branch detection information, determining that no turnout branch has been detected; and in response to receiving additional complementary branch detection information, arbitrating the received branch detection information and the additional complementary branch detection information and determining which branch has been traversed.
[0091] In one embodiment, a system for branch crossing determination includes: a vehicle configured to travel along a constrained path, the vehicle including: two or more sensors for detecting turnout branches; and a controller for determining which turnout branch the vehicle has crossed based on data received from the two or more sensors, the controller being configured to arbitrate among the sensor data to determine the crossed turnout branch.
[0092] The foregoing has outlined features of several embodiments to enable those skilled in the art to better understand various aspects of this disclosure. Those skilled in the art should understand that they can readily use this invention as the basis for designing or modifying other processes and structures to achieve the same objectives and / or advantages as the embodiments described herein. Those skilled in the art should also recognize that such equivalent constructions do not depart from the spirit and scope of this disclosure, and that various changes, substitutions, and modifications can be made herein without departing from the spirit and scope of this disclosure.
Claims
1. A method for determining the branches traversed by a vehicle on a constrained path, the method comprising: Receive map-related information; Receive the speed information of the vehicle; Perform two or more of the following different detection methods: Inertial detection; Magnetometer testing; Texture detection; 3D inspection; or Velocity field detection; and Arbitration is conducted among the results of the two or more different detection methods to determine which branch was traversed.
2. The method according to claim 1, further comprising: Received information about the turnout branch area.
3. The method according to claim 2, further comprising: The information on the turnout branch area is detected based on the determined map location of the vehicle.
4. The method according to claim 1, further comprising: Perform a safety operation in response to the identified branch traversal.
5. The method according to claim 4, wherein, The arbitration includes: Compare the identified branch crossings with the expected or planned branch crossings.
6. The method according to claim 1, wherein, The two or more different detection methods generate branch crossing estimates and quality values for the branch crossing estimates.
7. The method according to claim 6, wherein, The arbitration includes using the quality value as input for determining which branch was traversed.
8. The method according to claim 4, wherein, The safety operation includes at least one of the following: stopping the vehicle, slowing down the vehicle, closing a section of the path, closing an area containing both the branch path and the main path, stopping the vehicle or closing a section of the path until the vehicle position is regained.
9. The method according to claim 1, further comprising: The vehicle's position is updated in response to the determined branch crossing.
10. The method according to claim 9, wherein, Updating the vehicle's position includes updating the vehicle's position before crossing the branch using the position along the determined branch crossing.
11. A method for detecting turnout branches, comprising: Receive branch detection information; In response to the absence of additional branch detection information within the detection window period, arbitration is performed on the received branch detection information, and the branch traversed is determined based on the branch detection information. Upon receiving additional non-complementary branch detection information, it is determined that no turnout branch has been detected; as well as In response to receiving additional complementary branch detection information, arbitration is performed on the received branch detection information and the additional complementary branch detection information to determine which branch was traversed.
12. The method according to claim 11, wherein, The branch detection information is received from two or more of the following different detection methods: Inertial detection; Magnetometer testing; Texture detection; 3D inspection; or Velocity field detection.
13. The method according to claim 11, wherein, The arbitration process includes applying weights to the received complementary branch detection information and non-complementary branch detection information.
14. The method according to claim 11, wherein, The weights are determined based on one or more of the following: the quality of the branch detection information, sensor type, vehicle speed, sensor range, sensor noise, or sensor weather sensitivity.
15. The method of claim 11, further comprising: Perform a safety operation in response to the identified branch traversal.
16. The method according to claim 15, wherein, The safety operation includes at least one of the following: stopping the vehicle, slowing down the vehicle, closing a section of the path, closing an area containing both the branch path and the main path, stopping the vehicle or closing a section of the path until the vehicle position is regained.
17. The method of claim 11, further comprising: The vehicle's position is updated in response to the determined branch crossing.
18. A system for branch crossing detection, the system comprising: A vehicle configured to travel along a constrained path, the vehicle comprising: Two or more sensors are used to detect turnout branches; and A controller is configured to determine which turnout branch the vehicle traversed based on data received from the two or more sensors, the controller being configured to arbitrate among the sensor data to determine the traversed turnout branch.
19. The system according to claim 18, wherein, The controller is also configured to perform safety operations in response to a determined branch crossing.
20. The system according to claim 18, wherein, The controller is also configured to update the vehicle's position in response to a determined branch crossing.