So, we are ready for the second talk and yeah, I'm happy to have Joy here from SPP talking
about very condition monitoring and how to do that with open source software.
Hello everybody, happy to see that it's this crowded, I wasn't expecting that but I'm pleasantly
surprised.
So, I'm going to talk to you today from a very niche department of SBB which is measurement
and diagnostics.
We're basically part of the infrastructure like Eloy before, we're trying to maintain
and run the infrastructure in Switzerland.
It's not such a big country but a very dense train network, so the problems we face is
basically that we have shallow train passing times and a lot of maintenance to do and to
be able to do this maintenance at the right moment.
We have the measurement and diagnostics department which I am part of and we basically have two
major goals.
One is to maintain the safety of the system and the other one is to put out a gather
data of the infrastructure assets in order to be able to do predictive maintenance or
maintenance at the right moment and just to make sure that the money spent is well spent
in order that the assets can live the most long without breaking down.
Here you can see two of our measurement trains, they're typically sensor based measurements,
typically optically made measurements and we'll go a little bit deeper into that afterwards.
Normally, I was planning to be here with one of my colleagues, Jean Chédéric, unfortunately
he got sick, he catch the cold so I'm here alone but I thought I will still have his
picture on a slide in case somebody is interested in what we're doing later on, you will know
him by face at least.
He's the guy who's doing a lot of the technical implementation, solving a lot of the technical
problems and I'm more on the strategic part of the project and we'll leave it by that.
Such a measurement from sensor to information is quite a long way so it's a very complex
thing, such a measurement system.
I've drawn here a couple of steps from beginning to end for track geometry measurement so
as I said before most of them are optical by now so what you actually do is you have
a laser plane that shines on your track and then you have a camera that makes a photo
and the first picture is basically a digital photo of the rail and then you extract this
contrast change and you do a lot of software and you get the second photo which is a half
profile of your rail.
Then you do the same thing for the second half of your rail and you get a full profile
and you start measuring on it and you do for instance, it may be a bit difficult to see
but there's a lot of little crosses on the profile and those are the points that you're
interested in, the top of your rail or there's 1.14 mm below the top of your rail and from
this, if you have both rails, you can deduce your track geometry, in instance the gauge
and the, louder, okay, I will talk louder.
You will have the possibility to deduce the gauge or the elevation or the longitudinal
levels of your tracks and you can then print them in form of the fourth picture like as
1D plots and afterwards you've gathered this information, you have to deduce what to do
with it.
So in SBB and I think in a lot of other countries in Europe now too, you try to do analysis
over time to see how the track geometry or other parameters in your railway system change
over time and find critical passes to where you know in some time in the future that asset
will break and then you can do maintenance in the right moment and assure that it won't
break or that it stays safe a little bit longer or you can deduce, oh, I'm too late, I have
to change that and RCM, our software suit that we built ourselves is basically an acronym
for rail condition monitoring saying this whole first part of the value chain here up
to the fourth picture and we try to automate that and to make it a bit more generic and
we're currently trying to do that with the now shown architecture so we have the measurement
platform on the left side, it gets from the administrative tools for instance topology
like to know what kind of tracks exist in Switzerland.
We've talked yesterday with Infrabel, it's quite similar and I've also talked to people
from SNCF, I've also talked to people from Network Rail at the end, you need a topology
to put your measurement data to an asset to a certain location in the physical world
and while before I was not sure, before we started with this project, I was not sure
if this will be a big problem if the topologies will be vastly different from country to country
but at the end since the requirements are very similar from country to country, I came
to observe that the solutions that came up are also very similar and I do believe that
it's possible to have a generic topology description between countries and this will be, we'll
see later on, a bit crucial for this project to work in different countries.
Once we get the measurement on the measurement platform, we have this automated data cleansing
and quality control processing platform and basically the first thing is the positioning
as I said before that would be to tie the measurement to a physical location on your
topology and the second thing that we do is a conversion, so whatever comes into one
of those measurement, whatever comes from one of those measurement platforms, one of
those measurement trains, we convert it into our open data format and this is the first
thing I would like to talk to you about, how do you, how do you say that, we'll talk about
a bit more detail afterwards.
Once we have it in an open format, we do a standardization like the different measurement
systems provide the same measurement in different flavors, let's say the gauge once come in
an absolute number, 1.35 meters, the second system shows it as a deviation from zero,
one shows it in meters, one shows it in millimeters, you have to standardize that a little bit
in order to be able to compare it afterwards.
We do a consistency check and then we do a persistence and once we persist that data,
we have at least in Switzerland regulations to follow, especially on the duration and
on the capacity to be able to read the data again in the future.
In Switzerland this is about 15 years, so if we do a measurement we have to be, to guarantee
that for the next 15 years we are able not only to show the measurement but also to open
it and to read the data and this again something that is much easier to do if you have an open
data format which is not proprietary, which is not tied to a specific software or a specific
software version that you have to maintain too.
Then it goes to the presentation layer and the presentation layer typically can be various
different programs.
In our case in Switzerland we use IRISIS from Ertman in Germany, I think there's a couple
of other countries in Europe that do that too, but we also use our own viewing software
which we call RCM Viewer, which will be the second part of the open source project I would
like to talk about and which can show obviously the open data format that we use.
Once this data is gathered, typically now if you buy a system on the market there are
different enterprises that sell such systems, for instance MIRMC in southern Italy or Placer
Anteuter from Austria, which are two of the biggest players also, there's ENSCO in the
United States, you get a proprietary format from them.
You may or may not be able to read it depending on how your contract is, so I know SNCF had
had in the past some problems with that that the contract did not state that you are allowed
to actually know the data format, your data comes to you and once you figured that out
and that you are able to read it, you will free yourself from the use of the software
that they impose on you if they sell you the measurement system, and we've done that in
Switzerland over the last years, we've had the same issues, don't worry, and are now
at a point where all our measurement systems are either directly delivering an open data
format or at least that we have full specification of the data format that is delivered to us
in binary, and we're now trying to transpose that into our open format.
For that, with the last measurement train that we acquired, we specified such a format
based on an open standard which is HDF5, hierarchical data format 5, you can find it online, it exists
since, I think, 20 years, it's widely used in the academic world, it's also the base
of matlaps.m files, for instance, and it has the advantage that most programming languages
and most measurement data programs like R or DADM or others that are out there already
have stops or libraries to read it.
So with data themselves, HDF5 themselves says their key features and advantages are metadata
with data, fast IO, big data, and the other stuff that you can read here, and what we
try to do is to write a specification upon the HDF5 that is specific for railway data,
that generic enough that it can handle all type of measurement systems.
Basically, you have the advantages of HDF5, and on the same time, the possibility if you
follow this specification that we wrote that then you can find on GitHub that a software
like the one that we built can read it whatever your measurement systems are, if you buy it
from Merrimick, if you buy it from Placer Interior, if it's track geometry, or if it's,
I don't know, from Sperry ultrasonic measurements or whatever else is out there, as long as
you follow the specification, you can use the software to display it, you can use the
software to overlay it, and so on.
We named it RCMDX, Rail Condition Monitoring Data Exchange, and our key features for it
is that it includes the metadata like configuration, but also the topology, and it makes it completely
self-contained.
So in 15 years, you take one file, you do not need anything else than the file itself
and the specification of the data to be able to reproduce a view of the data.
So on the track, in the system as it was in the moment that the data was gathered, and
I think this helps a lot.
And as I said before, it's accessible through the standard HDF5 tools, so you can download
an HDF5 library from their website and directly access the data.
You can also build your own using the programming language, Python has a stop, and Java, and
C++ and Csharp also.
And on the other side, you still have the genericity in order to use whatever measurement
system you want.
And let's see, like one of the benefits that you would get if you decide to use such a
thing.
For us, one of the main benefits is that you could, if it gets adopted by more than one
country, let's say, you get the advantage that in an open tender where you have to specify
what you want to buy, you can handle the whole data part with just one single phrase.
Please deliver the data in this specification, you can find it on GitHub.
As soon as more than one tender writes it inside, I think it's basically close to a standard
because this market is very small.
The companies that I told you before are basically covering over 80% of the whole market.
So as soon as they start to see that it is necessary to deliver their data in this format,
you can get it for free.
I think it's quite a big advantage that could be resulting out of using that.
And of course, then as a result, you have a complete open data.
We will see now, I'm switching from the data format to the viewing software.
And this also is available already as freeware and will be in future as open source.
And once you have your data in the RCMDX format, as soon as you follow the specification,
you can basically use the software to display it.
It's highly generic in the case that everything that you see now here is a workspace that
can be easily configured by the user.
So you can drag and drop every little window inside that workspace, put it somewhere else.
You can configure it to show whatever data you want.
You can change the parameters that are shown.
You can change the boundaries that are shown.
You can change the limits that you want to display.
And you can show in parallel and synchrony in time, in space, and also on your topology
different measurement systems.
So you can show data from the track geometry system together with video data, together with
optical data, together with ultrasonic data, whatever you think might benefit you the most.
You can easily do it very complicated, or you can try to build new views that are less
generic for an end user, for instance, for a maintenance manager, if you have to do a
specific job, like in our case, the lower right part, like this part with optical data,
he has to find surface defects, so you can put on a specific mask on the viewing software
in order to help him to do that more efficiently.
And yeah, you've seen it play, it's like a video that I made before.
This viewing software is currently done in C-Sharp, and we're trying to put it open source
since, I don't know, a bit more than a year.
And the main problems that we are facing is we have begun building it like seven years
ago, together with a new measurement coach, and it has some proprietary libraries in it.
The main ones are Sidechart and Telerik for C-Sharp, and we're now trying to find a way
to use open source while having those libraries inside, because it's very difficult to throw
them out, especially Sidechart, there's no good alternative for the moment in order to
be a performance viewing software.
That's basically where we are right now.
You can already download it on GitHub, I will show you, here's the link, there's also an
overview later on, and we also have a couple of measurement files from Switzerland that
you can download too, a couple of workspaces, and like that you can see how the data format
works, how the viewing software works, how they interact together, and in case of implement
your own version of it.
And of course, the benefit of the viewing software would then be that you are able to
do massively complex views with Synchron, I don't know how you say that in English,
display data at the same time, and at the same position, or at the same point in the
physical world, so basically the viewing software allows you to include the topology
also if it's not exactly the same, so we have in Switzerland twice a year an update on the
topology, and obviously some things changed due to maintenance work, due to new building
of the tracks and so on, and viewing software can handle that in order if you have different
states and different files, because as I said before, every file includes your topology
too, so then you can display the data where it is taken on tracks that did not have changes
and it will show you where it had changes and do not display the data in the same way
if the track changes were applied, and then you can in the viewing software change from
one view, from one topology view to another one, and you have an easy and powerful presentation
layer I think, if you do so, and of course, we talked yesterday about it, if you take
a measurement run and you run from eight o'clock in the morning till noon and you do a hundred
kilometers and you do a circle, then if you show it in time you will have a straight 1D
chart of your measurement data, if you show it in a distance you will have the same thing,
a straight chart with a distance based on an x-axis instead of time, and if you show
it in topology then you have a much shorter bit showing an overlay of how many circles
you have run through in that morning, so this is quite an interesting thing to do and it
is basically what most easily accessible viewing software lacks, so this possibility to tie
it to your physical location like that.
Then we have the licensing, we worked a lot together with Cornelius, together with Mahalia
and also with Christian, which is sitting back there on the licensing that we will be
using and we decided to use an Eclipse public license after some discussions on what would
make sense, mainly because it is a weak copy left license and I can imagine a future where
a measurement system company uses this software directly, say your startup company, you built
your own measurement system, you need a presentation layer, you can take the RCMDX data format
and the viewing software and create your own possibly commercial version of it by adding
your own flavor to it and still be able to sell it as long as the core functionality
if you improve it, you send it back upstream and that would be like the ideal version that
we could attend in the future and that is basically one of the reasons why I am here
to hope that all of you will go home and use it and spread it and bring your own companies
to use it too.
Let's see an overview, so right now the most important link is the first one, SBB has since
one week now a project website for this and if you click on it, maybe something happens,
I don't know, right, you will directly get to a website where you can find the, it does
not show, thank you, why is it so big, okay at least you can read it, so you can see the
website and there is a couple of links somewhere, so you have sample data that you can download
directly, I think it is more or less one kilometer of data but it gives a good impression
how the whole system can work and if you are really interested in having more data you
can still contact me or Jean-Frederick and we can give you access to it and there is
this more on topic, normally if it wouldn't be so zoomed out it would be a bit nicer and
on the top right of the site but you can directly download the installer for the viewing software
and you can directly go to the Github page with the format description and yeah you also
have the workspaces that you have to load into the viewing software, you can also create
your own ones, that is just the help if you want to play around with it, that is basically
most of what I wanted to say, thank you very much for listening and I think we have a couple
of minutes for questions too.
Excellent, see, thank you very much.
Please, that is the need point, you don't need to
have the corresponding software if you don't want to, as soon as your data is described
properly it is self-contained so you can build at any moment a new software to access it,
you can of course keep your software too but you don't need to, you have the specification,
you can build a tool to read it within a couple of days, time's up, okay, thank you very much.