upvote
I agree that the problem here has no easy, general and automatic gps-based solution but I think it's helpful to keep the actual likely situations in mind. Usually we have the most trains/densest timetables close to major transport hubs where speeds are low anyway and driving 'on sight' is a good compromise of safety and keeping things working. Where speed really matters - outside of major hubs, straight ruralish routes - we simply don't usually have great density of trains AND tracks. At least from my travels in western Europe I don't think I've ever seen more than two tracks in the same direction on high-speed-segments. So if we keep that in mind and don't expect a general and automatic solution, a simple, gps-based fallback-system that requires all trains that are within a radius of X of each other (either in time or space) MUST coordinate, else they both shutdown/move on sight, could work reasonably well. In reality and for the involved parties (the trains that are close to each other), it's a very human-scale problem.
reply
Trains can't change lanes without warning like a Nissan Altima on the Dan Ryan Expressway. The only way a train can move from one track to an adjacent track -- or get on the first track in the first place -- is if switches are set to allow the train onto that track. And on any modern high-speed line, those switches are centrally controlled by dispatch.

Keeping track of which parallel track a train was on automatically was a solved problem a hundred years ago, using relays and lights and hard-wired logic. Adding computers and GPS greatly increases the precision with which dispatch knows position and speed along the track, but knowing which track has not changed in the last century.

reply
Yes, but as long as the central signalling system is working, it already knows where the train is, with no need to involve GPS. (And where modern signalling and train protection systems need increased precision as compared to the granularity of track circuits/axle counter sections, the solution usually involves a combination of on-train odometry plus track balises at occasional intervals in order to reset any inaccuracies that might have accumulated.)

What we're talking about here is some sort of TCAS-equivalent for the case where the central signalling is down – while it's easy to accurately localise trains with the aid of a central signalling system that authoritatively knows about the infrastructure layout, it's quite more difficult when you're trying to do the same thing in a decentralised, train-local fashion.

reply
Yep, that's what I was trying to convey as well. There also seems to be RCAS, but it sounds like a newly invented system. https://www.dlr.de/en/kn/research-transfer/projects/next-gen...
reply
And as of now, I suppose that RCAS (or RCAS-like systems) is best suited for (especially minor) single track branch lines that don't currently have a full-scale signalling system already up-and-running, but instead still rely on "Timetable & Train Order" and similar systems.

Single track means that at least outside of stations, collisions can be reliably identified without much danger of false positives (and for station areas you can just institute a blanket speed limit to compensate for the gap in RCAS coverage, which might not even be any lower than the speed limit required for traversing diverging/spring-operated/hand-operated points there anyway), and no already existing full-scale signalling system means that RCAS actually provides a significant safety benefit and is therefore likely worthwhile from a cost-benefit-analysis point of view, too, if you're actually regularly operating multiple trains simultaneously on that kind of infrastructure.

Whereas on multi-track mainline railways avoiding false positives is much harder and normally you should already have proper signalling and train protection systems in place anyway, so the additional safety benefits of RCAS would be much more marginal.

reply
>Trains can't change lanes without warning

Oh, they can, but it's usually a very traumatic event.

reply
Basically what was the case with the previous accident in Spain.
reply
It's very easy since there is limited ability for trains to change tracks, so the location history of the train is a strong indicator of which track it is on. Even Google Maps can tell you which lane you are in since god knows when, and cars can freely change lanes. And that's just consumer software. For something commercial like a train they could trivially solve this problem with something more robust. But I'm not familiar with the Spanish system; how much of the engineering did they do?
reply
There are switches that move trains between tracks. Now you need every switch to report, keep a history of that. Many trains also separate and combine. Trains sometimes go backwards to be switched.

It's not impossible. But handwaving GPS placement of trains at the correct location, direction, and track deserves more than a handwave as trivial.

reply
All of those failure modes can be accommodated. I fail to see anything here a competent engineer couldn't address. I speculate it's not a technical problem, but an operational and cultural one. This is not rocket science.
reply
But it must be also cheaper and more reliable than the current system, otherwise nobody is going to implement it.
reply
Two rtk receivers with LTE including a little battery backup would cost what, $2,000 per car tops?

Presumably switches already report their position to somewhere.

It's absolutely unacceptable for this problem exist in today's world.

reply
> Presumably switches already report their position to somewhere.

Yeah and this somewhere already knows whether a crash is going to happen. In which case your solution brings no benefit. You can't rely on the correctness of a system, which you want to make an alternative to, to help in the case the original system fails.

This discussion focuses on a non-problem (granted partly due to an imprecise comment of mine). The system knows where all the trains are and also that a crash will happen, if the decision is made, that then indeed was made.

What is needed is that the system needs to convince the operator there is still a problem, after it proved itself unreliable. My suggestion would be a log of the constraints the prover encountered while determining whether there is a conflict. This certainly already exists somewhere in the background, but I am not aware whether that is currently shown to operators in deployed systems. It does exist somewhat in the research systems we use in university.

reply
Multiple independent systems. Easy to ignore a single system, but two or more ? Would have to have a death wish
reply
When I wrote that comment I would have answered, that you already need to distrust a system, that of course still have the authority to sound like it would be right. Also from other accident reports, my understanding is that relying on yet another system causes people to make even more errors, while when they start to manually assess the situation from first principles, they are able to grasp the fundamental error, because they are questioning every assumption, as they are reconstructing a world model different from the automatic system. But the latter takes more time and effort, so people tend to do the former.

The thing is that in modern automated dispatching you only have the same world model as the automatic system, so when there is an error you have the same world model as the system, but that just detected, that that does not equal the actual state of the world. And often the error is in fact a false positive.

But now, I actually think that this accident was caused by several systems being in effect: https://news.ycombinator.com/item?id=50298796

reply
deleted
reply
Yes, it can tell you. How perfectly, though? Perfectly enough to bet 60 lives on?

When Google Maps gets wrong what lane I'm in, nobody dies. It can be right 99% of the time, that's good enough. It's not good enough for a train system, though - at least, I suspect it's not. I'd want a lot more than "it works in my car" before I trusted it.

reply
Can we just have it as an additional data point, on top of what we should already know from where the train should be from switching history? If we get 99% accuracy, is that enough to check with an operator “specify which track you are in, left or right” when the measured value is different than the expected?
reply
In addition to that being unpractical, the train doesn't even know the state of switches, i.e. not whether it is on the same track as some other position. It's just that this is undecidable for a single train. (This is what my first comment was about, it's simply not known how to solve it on the level of a single train, likely because it is impossible.) However the answer for what to do if a train can't trust the network, is don't move. Or move by sight, which is limited to 40km/h for good reason.

On the other hand this is a complete non-issue and solved for more than a century on the network level. So there is zero need to invent satellite or vision based train detection at worst even using statistical systems, when you can use deterministic systems, for example using the fact that a train is out of metal, so it's detectable by the train closing a electric circuit between the rails. Or using the sensors that are installed at every signal, switch or other positions for precisely this question.

reply
HN does railway safety... The Dunning-Kruger level in this thread is ridiculous.

As a passenger, I'm very glad software engineers haven't (fully) taken over aviation and railway safety yet.

reply
Google maps gives me the directions for the express lanes when I'm in the normal lanes and vice versa like 50% of the time, and that's an order of magnitude greater error in distance than the distance between adjacent train tracks. And several orders of magnitude greater failure rate than is acceptable for a safety system.
reply
RTK is more than capable of figuring out what track you are on
reply
It can be on the other track right now, but change to your track in the future. Or in other words, the topology of the network changes in operation. Whether the track you are on and the track another train is on, is the same or not is not decidable without knowing the current network state.
reply