WEBVTT

00:00.000 --> 00:16.160
We have a very interesting business case, we have the same issue at the SNCF and I am very

00:16.160 --> 00:20.760
happy that my just presented today.

00:20.760 --> 00:24.240
Yes, thank you, Lovic.

00:24.240 --> 00:33.680
So I will give you a bit of an insight on how to process the GNSS position of a train.

00:33.680 --> 00:37.800
I hope everybody knows a little bit what the GNSS position is.

00:37.800 --> 00:44.640
You can think of it as GPS, but in a more general fashion.

00:44.640 --> 00:51.880
So you can also follow this presentation live with this QR code and let me first introduce

00:51.880 --> 00:52.880
myself.

00:52.880 --> 00:59.880
And Mattias, I worked for 15 years in Inferable, and my last day was Friday.

00:59.880 --> 01:12.200
Sorry, I don't know, not sure if that's appropriate.

01:12.200 --> 01:18.080
But yeah, I'm not become a data freelancer, real-way data freelancer, so if anybody is

01:18.080 --> 01:20.720
looking for one.

01:20.720 --> 01:27.280
I really like linked data, that's why I've put this on the slide, linked data, semantic web or

01:27.280 --> 01:30.800
the F, this kind of thing.

01:30.800 --> 01:34.240
And I've been working for Inferable.

01:34.240 --> 01:43.680
So actually I didn't really dare to put the punctuality number on it, but there are a couple

01:43.760 --> 01:55.840
of other numbers, how total punctuality is more as NCB problems than Inferable.

01:55.840 --> 01:58.680
So we have lots of tracks.

01:58.680 --> 02:03.640
Now if you compare numbers of kilometer of track, then sometimes it's confusing, because

02:03.640 --> 02:13.520
I think the Swiss mentioned double track, and here is the total track.

02:13.520 --> 02:21.600
In Main Track, because if you count as well the side tracks, then you have lots more, so

02:21.600 --> 02:28.320
it's difficult to compare the numbers if you don't have a good semantics, of course.

02:28.320 --> 02:33.960
And yeah, we are also getting famous for our deployment of ETCS in Europe.

02:33.960 --> 02:41.600
So almost all the Main Track are equipped with a signaling system from European standard,

02:41.920 --> 02:45.920
ETCS stands for European train control system.

02:45.920 --> 02:50.480
And a lot of people that work at Eferable are actually quite open source minded.

02:53.920 --> 03:03.200
One of them is organizing for them, but the company itself has not yet that open source minded,

03:03.200 --> 03:08.960
but I'm glad to be able to announce that since last year, we are also a partner at open rail.

03:09.920 --> 03:13.600
So I'm quite happy to say that at this conference.

03:15.200 --> 03:23.680
And we are not yet open source minded, but we do have a very big open data platform that's been there for a couple of years.

03:24.320 --> 03:27.040
So feel free to browse in the data sets.

03:31.040 --> 03:37.600
I read this morning, and I said, I'm so happy I need to put this on a slide and present it to you as well.

03:39.920 --> 03:43.040
Peter Colpart is a professor at at the University of Gantt.

03:44.480 --> 03:49.040
He posted this this morning, and he said, okay, I read through the government agreement.

03:49.760 --> 03:52.160
Yes, Belgium almost has a government.

03:56.400 --> 03:59.280
And he says, okay, it is really good for our open data.

04:00.160 --> 04:07.200
And I was very happy because open data is very nice, but it's also very good for open linked data.

04:07.840 --> 04:10.400
And it's also mentioned in the government agreement.

04:11.280 --> 04:20.160
So if you don't know what it is, I would suggest to look it up and to gain some skills in that area.

04:21.120 --> 04:25.520
And if you would like some pointers, then feel free to come to me after the presentation.

04:28.080 --> 04:31.760
So back to on track, back on the topic.

04:32.640 --> 04:38.000
Why do we need to do this thing with post processing positions?

04:38.800 --> 04:46.640
Well, we have this measurement vehicles, and we need them to go measure the tracks and see if they are still in the correct position.

04:46.960 --> 04:50.560
If they are not in wrong with them, something that we need to intervene in.

04:51.840 --> 04:54.160
So they drive around everywhere in the network.

04:55.200 --> 05:01.520
And yeah, if you want to process that, you need a position, you need to put it on a chart.

05:01.760 --> 05:07.840
And then detect the issues and send a correct position to your technicians to go fix the issue.

05:09.120 --> 05:14.320
And if you want to do some predictive maintenance, so that means I want to see what happened last year,

05:14.320 --> 05:18.320
and the year before, and then the year before, and that's a kind of short timeline.

05:18.880 --> 05:25.440
Well, yes, you can do that, but for a specific position, if it's wrong in a meter,

05:26.320 --> 05:32.400
last year a meter to that side, and then the next year a meter to that side, it can get a problem.

05:32.400 --> 05:36.880
So you need a very accurate position in order to do a trend line analysis.

05:39.600 --> 05:42.000
And it can get quite complicated.

05:43.680 --> 05:46.720
Lots of switches, lots of tracks.

05:46.720 --> 05:51.280
So what tools do we have?

05:53.200 --> 05:55.120
Where we have this measurement train?

05:55.120 --> 06:00.400
Well, the first thing you do is you install a GPS system on it GNSS receiver.

06:01.520 --> 06:06.560
And you try to make this as precise as possible in real time.

06:06.560 --> 06:11.760
You try to get some corrections happening, and that is what's RTK stands for.

06:12.720 --> 06:14.960
It's actually very simple RTK.

06:14.960 --> 06:21.680
You put a GPS somewhere, and you measure very precisely the position of that location.

06:22.400 --> 06:27.680
And at the same time, you're going to see what the singles say of your GPS satellites,

06:28.080 --> 06:31.680
or they say I'm okay, I'm a meter away, but that's not true, I know I'm here.

06:31.680 --> 06:34.480
So the correction needs to be a meter in that direction.

06:35.040 --> 06:39.280
So that's the kind of correction you can do with a GPS.

06:42.720 --> 06:49.120
But one issue is you need to have some sky, some clear sky.

06:50.960 --> 06:55.200
It doesn't need to be perfect all the time, but if you have lots of buildings,

06:55.200 --> 06:58.080
and a tunnel, and so on, then it can get quite complicated.

07:00.720 --> 07:04.720
I have a question, but the people, for me, for a bell that they are sitting here cannot answer.

07:05.680 --> 07:17.680
I didn't ask my question yet, but you already gave me this question.

07:17.680 --> 07:22.080
So I was going to ask the question, what is the difference between UTC time and GPS time,

07:22.080 --> 07:26.640
and I got the right response over there? Do you know the number of leap seconds?

07:28.640 --> 07:30.400
Yes, it's 18, so about 20, yes.

07:31.360 --> 07:38.240
Well, I can guarantee you if you're making some kind of system that post-processes GPS data,

07:38.240 --> 07:46.480
and you need to link it to images or other measurements, and they don't line due to this,

07:47.040 --> 07:50.720
due to you not knowing that there are leap seconds, then you can get very confused,

07:50.720 --> 07:53.440
and takes a lot of time to try to fix it.

07:54.000 --> 07:59.520
And some people need to do it a second time.

08:06.000 --> 08:11.600
Secondly, we have another tool that helps us to do positioning,

08:11.600 --> 08:14.720
and that is more relative-based positioning.

08:14.720 --> 08:18.160
So if we are in that tunnel, and we don't have a clear sky,

08:19.120 --> 08:27.360
well, we can still remember our last position, and try to measure the changes in direction that we have.

08:28.400 --> 08:35.920
And that is the EMU, IMU, inertial measurement unit, it's an accelerometer, a very expensive accelerometer.

08:37.840 --> 08:42.240
And the more expensive you go, the more precise it is, and the more precise it is,

08:42.240 --> 08:45.840
the longer you can travel in a tunnel without too much of an error.

08:45.920 --> 08:49.280
Because it's relative, the smallest error you have,

08:49.280 --> 08:54.640
well, the longer you go without anything that fixes the error, the bigger the error.

08:56.000 --> 08:58.960
So, and the second thing that we can use is an automator,

09:00.080 --> 09:02.880
that's everybody knows what it is.

09:05.440 --> 09:11.840
Yes, it's the wheel. So, you will turn, and you measure the distance that you travel.

09:11.920 --> 09:17.680
Every car has it to display the speed as well, and we also use that for positioning.

09:20.880 --> 09:26.800
Oh yeah, and a normal GNSS receiver, you can actually just plug and play, plug everything in,

09:26.800 --> 09:33.520
and it will use all these things that I just mentioned, to calculate a very precise absolute location.

09:33.600 --> 09:43.360
A third thing, since we are in real-way, in the TREX, we have these boxes,

09:44.640 --> 09:53.200
or we have crocodiles or other boxes, they detect trains, and the train can also use them

09:54.000 --> 10:01.360
to detect where it is, because if you have a database that has these IDs of these objects,

10:01.680 --> 10:05.120
and you pass over it, then you know for sure, okay, I'm over there.

10:06.800 --> 10:10.640
So, that's the third thing that we can use in order to improve positioning.

10:15.600 --> 10:22.240
So, absolute relative and detection systems, what are we going to do with all of that? We are going to

10:22.240 --> 10:30.240
give it an information, at least, at our almost open-source train positioning library.

10:31.440 --> 10:37.760
So, we gather the data, we put it into that library, it starts working, and it gives us a

10:37.760 --> 10:44.560
track position at the end. A topological position, you have heard the word a couple of times before

10:44.560 --> 10:50.720
topology, well here we also going to use topology, but not on the micro level where your stations

10:50.720 --> 10:56.160
as notes, but on a micro level, the smallest level switches and trails.

10:58.480 --> 11:05.280
And yeah, it's not yet open-source, because it's actually a lot more work than you would think,

11:05.280 --> 11:11.200
if something was close source, in order to make it open-source, it's a little bit more work

11:11.200 --> 11:20.000
than you would think before. So, let's see, we have a train driving on track A,

11:20.000 --> 11:29.200
and in that direction to the left. And the blue points are the GPS coordinates that our GPS

11:29.200 --> 11:37.200
receiver is outputting. As you can see, there is already a bit of an error, and there is a switch

11:37.200 --> 11:45.760
in the middle. Now, let me first simplify a little bit this visualization. Let me combine both rails

11:45.840 --> 11:55.360
into one, to have this as a more schematic design with a center axle axis of the track.

11:57.520 --> 12:03.680
And well, what can we do to now post-process the coordinates?

12:05.360 --> 12:11.120
The first thing, the most simplest idea we can do is we can say, okay, let's just project

12:12.000 --> 12:20.240
those blue dots onto the closest track. And then we would get this result, the green dots.

12:20.960 --> 12:28.000
And as you can see, in the switch, it's not very good, because, well, yeah, we kind of jump

12:28.000 --> 12:32.000
a train from one track to the other. It needs to take a switch, a proper way,

12:33.040 --> 12:37.360
or you would need to have a lot of willing passengers on the train to lift it up and put it on.

12:38.000 --> 12:42.000
And we all know that in Belgium, passengers are horrible.

12:50.000 --> 12:57.600
So, let's work the problem with a bit further. Welcome navigability. So, we heard the topic before

12:57.600 --> 13:07.440
topology. Well, here topology, we have also notes the switches and things that connect

13:07.440 --> 13:13.680
switches and tracks trails. And you cannot go from one trail to the other just by that. So,

13:13.680 --> 13:20.000
you cannot go from A2 to S1 without passing by A1 and then reversing direction.

13:20.960 --> 13:29.440
So, we can get this graph, this connectivity graph, and we can use that in our navigation

13:29.440 --> 13:34.480
system, in our post processing system. So, applying this principle,

13:37.520 --> 13:43.680
gets us that the green dots are where they need to be. So, we are happy. Right?

13:43.680 --> 13:54.640
Not yet. Maybe if we go in the other direction, we will have a problem. So, if the train is driving

13:54.640 --> 14:03.120
the other direction, then the navigability is going to give us more issues. So, it's so right,

14:03.120 --> 14:08.960
we can use it, we can get a separate, but it's not yet perfect. So, let's see what we can do with

14:08.960 --> 14:19.520
those beacons, train detection systems. This is a typical view of a traffic operator.

14:20.720 --> 14:28.160
And it's topological. So, you see that the switches are there and you see the trains running.

14:28.160 --> 14:36.480
So, the red is in fact the current location of a train and the green is the plant route that the

14:36.640 --> 14:44.240
train will take. So, this information exists, this is available at least inside our company.

14:44.240 --> 14:50.800
So, we can use it to improve the location a little bit better. So, that's actually what's

14:52.080 --> 14:57.520
that train positioning library is is doing. It will first calculate the train path.

14:58.480 --> 15:06.400
It will first try to find and optimize the way that a train run. And then after that, after we

15:06.400 --> 15:12.640
figure out the train path, then we will go project the GPS coordinates onto it.

15:14.640 --> 15:21.280
And we do that with whatever data is available. So, if at a certain point we don't have

15:21.440 --> 15:27.600
information about a single-ing system, then we can use the GPS locations as well to calculate a

15:27.600 --> 15:39.840
train path. And any gaps that exist, well, some of them are easy to solve. So, from here,

15:41.680 --> 15:49.680
if you have a train running on the red line over there and you also have a detection over here,

15:50.400 --> 15:59.120
well, you don't need to be psychic to know that a train probably went in this direction.

16:00.480 --> 16:06.320
And the same goes for this trail. It was missing in the train detection system.

16:06.320 --> 16:11.920
Noting is perfect. Rest assured, the signaling system is perfect. You will not get any accidents,

16:11.920 --> 16:17.760
but the data behind it is not always the logging data is not always so precise.

16:18.240 --> 16:26.880
But then on the other side, over here, it's a bit more complicated. You will need some additional

16:26.880 --> 16:33.360
data to actually know what the train has done. Although we can be quite sure, looking at that,

16:33.360 --> 16:38.480
it just goes straight ahead. But you never know if info about those works over there and then

16:38.640 --> 16:55.280
reroute the train. Okay, so, for them, 2023. First time this railway track was organized

16:56.560 --> 17:06.880
and at the time RCMDX was presented and was made open source. RCMDX is rail condition monitoring,

17:06.960 --> 17:14.080
data exchange. It's an exchange format. Very interesting. If you ever want to exchange

17:14.080 --> 17:22.000
data in a very compact way, a binary way, look it up. And at the time I said, okay,

17:22.000 --> 17:29.920
info bell will join SBB who introduced RCMDX in the project and we will try to implement it as well.

17:30.160 --> 17:40.800
At the moment, one possible extension of the project of the train positioning library could be

17:40.800 --> 17:49.920
to read and write to that RCMDX file. So, it's the file that is transmitted off the measurement

17:49.920 --> 17:56.960
train. It's that contains the raw data and then we can say, okay, we put that library besides it

17:57.120 --> 18:03.760
and we're going to take the data out, process it and put it back in. And then you still have

18:03.760 --> 18:12.080
a standard format to exchange your data. And at the same time, well, all the topology data that

18:12.080 --> 18:16.800
I talked about that you would need for the train positioning library. Well, you could also imagine

18:16.800 --> 18:24.640
a connector with something like Rint. Rint is the register of infrastructure. It's one of those

18:24.640 --> 18:32.960
TSI things that we heard before, as well, the moment TSI telemetics. All those TSI's have data requirements

18:32.960 --> 18:41.520
and Rint is one of those products that combine all the data. Rint will be hopefully next year,

18:42.800 --> 18:50.640
database which is in linked data as well, which is complete of micro topology information from all

18:50.640 --> 18:58.240
inform managers. So, it's going to be a very important source of data, also for projects like these.

19:02.720 --> 19:10.240
And to wrap up, I, in my description of the project, I also promised to give you a little bit

19:10.240 --> 19:17.600
of an insight on how we also use open source hardware and information. So, in a measurement train,

19:18.560 --> 19:24.160
you usually have some of the driving the train, but also somebody who is going to push the buttons

19:24.160 --> 19:29.280
to say, okay, now the measurement system needs to be turned on. Now we are driving this direction

19:29.280 --> 19:36.480
on this line as well. We automated all of that for the positioning system. So, the positioning

19:36.480 --> 19:43.360
measurement system. And we did that with the Raspberry Pi. It's very simple with some shell

19:43.360 --> 19:49.360
scripts, actually, not really, we didn't even use Python for it. And it's, it worked flawlessly

19:49.360 --> 19:59.040
until at one time it became a black lump of silicon when some safety transformer burnt out.

19:59.040 --> 20:02.560
And yeah, but that's not the issue of the Raspberry Pi.

20:03.120 --> 20:14.960
And yeah, that's to prove. And this is a picture of the cabinet where it's in. And yeah,

20:14.960 --> 20:21.360
you can see it's in, hello over there. There is a shield on it to connect it to other

20:21.520 --> 20:26.720
sources as well. So, thank you very much for listening.

20:34.160 --> 20:37.200
And if you have some questions, I'll be happy to answer them.

20:37.200 --> 20:55.040
Okay, so the question is will it be open sourced? Yes, it will. That has been decided. It's part

20:55.040 --> 21:01.280
of the reason why, well, if we're about joined open rail and now we have to put some, we need to

21:01.360 --> 21:06.320
eat a pudding, putting as well, of course, we need to join the community and give something back.

21:06.320 --> 21:13.120
And yes, some people might be, other people might be able to tell when it's going to happen.

21:13.920 --> 21:20.880
But I hope that it would have been before this day, but it has a bit of delay, which is not normal for

21:20.880 --> 21:24.880
trains.

21:24.960 --> 21:33.840
Yes? Yes? How did you get around regulatory or threat tape making it's called threat

21:33.840 --> 21:39.120
very high in the country? Because I have heard those, they're very self-acquisited.

21:39.120 --> 21:43.920
And often the hardware is very ancient and very crappy because of all the threat tape

21:43.920 --> 21:50.320
to glory, years and very expensive clarification. So, I'll put it get around that.

21:51.280 --> 21:55.440
That's a very good question. So, how did we get around to the threat tape involving installing a

21:55.440 --> 22:01.280
Raspberry Pi on a measurement train?

22:04.400 --> 22:07.280
Next question.

22:07.280 --> 22:32.000
I think a large problem because it doesn't do it in the passenger train, so it's okay.

22:37.600 --> 22:39.760
This is safety. That's why it's.

22:39.760 --> 22:47.680
Yeah, it's all the safety components, but you also have fire regulations as on that might apply.

22:56.080 --> 23:05.120
Does it have its own power supply? It's connected to a power converter, USB converter, let's say,

23:05.120 --> 23:15.120
inside the cabinet. Well, it's not USB plug. It's a real transformer meant for the railway vehicles,

23:15.120 --> 23:21.840
of course, yeah, which out with five volts, 25, 24, 12 and so on.

23:27.840 --> 23:33.200
Those are really signaling begins. So, they are part of the signaling system, they are connected to the

23:33.280 --> 23:40.000
signals and to the interlocking. And yeah, it's, I'm not sure what the transmission

23:40.720 --> 23:48.000
technology is. It's not like once they're using the tunnel and they're either to the train,

23:48.800 --> 23:58.640
if it's used. It's very, yeah. Well, no, but it's at the 27 megahertz. So, get your SDR on.

23:59.040 --> 24:03.040
Yeah.

24:17.040 --> 24:24.080
Well, and so the question is, if, when we travel over a beacon, do we get a precise position from the beacon?

24:24.080 --> 24:28.560
Or do we know the precise moment that the train travels across the beacon?

24:28.560 --> 24:31.120
Do we know the precise moment that train traveled over the beacon?

24:34.960 --> 24:41.840
For this project, it's not important. But we do know that precise moment, but you can also

24:44.720 --> 24:50.240
refresh the question a bit. And the problem with the question is, your detection system of the beacon

24:50.240 --> 24:56.960
is somewhere under the train and it's not at the same place as the GPS antenna. So, you will need

24:56.960 --> 25:02.640
to take into account that distance and the speed that you're driving and the orientation of your vehicle

25:02.640 --> 25:15.520
in order to figure out to place at the time. But in this case, the exact position in the

25:15.520 --> 25:21.440
longitudinal sense is not so important. It's knowing on which track you are or trail you are,

25:21.440 --> 25:23.520
that is important.

25:23.520 --> 25:32.800
Just mention the TECA system, after TECA system, and you just talk about the genesis system,

25:34.080 --> 25:39.120
did you try the TECA which is very precise?

25:39.120 --> 25:48.240
Sorry. So, the question is, we use GNSS and RTK, and which is more precise?

25:48.240 --> 25:59.840
So, adding RTK to a GNSS solution, you first need GNSS and then you can add RTK and it will improve

25:59.840 --> 26:08.080
your positioning because it will decrease the environmental issues that you have with GNSS.

26:08.640 --> 26:18.800
So, if you, I explained before that RTK works by having a base station, somewhere near where

26:18.800 --> 26:26.720
you're measuring and that base station is most exactly its location. But it's also measuring

26:26.720 --> 26:35.440
the GPS signals and can then say, okay, the GPS signal that we get are distorted in this way

26:35.520 --> 26:42.560
and then you can add corrections. The precise position of your measurement vehicle will depend

26:42.560 --> 26:50.720
on more than just adding RTK to improve the solution you, if you're in a tunnel or in an area

26:50.720 --> 26:59.600
with trees or some overhead constructions, then you have more distortions than the base station

26:59.680 --> 27:03.120
you will see as distortions. So, you will not be able to correct for those.

27:05.760 --> 27:12.320
Yeah, but adding RTK is always a good idea. It's in Belgium, it's free. You have,

27:13.440 --> 27:20.000
well, it depends on how you use it. But you have flapples, well-core, if people wonder

27:22.400 --> 27:26.160
and see that at the same time, info about things about building its own RTK network

27:26.800 --> 27:42.080
to then be able to sell it to ZNCB. Yeah, it's more for the safety, the people that work that we are

27:42.080 --> 27:50.160
going to, info about is also busy but improving worker safety and one of the things that they want

27:50.160 --> 27:57.600
to improve on is alerting people when they are going inside the dangerous area and that is

27:57.600 --> 28:06.640
by GPS taking the people and adding RTK is helping making it more precise. Okay, I see my time is up

28:06.640 --> 28:10.560
so if there are any more questions and please feel free later.

