Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: small fixes on ambiguity and french #156

Merged
merged 1 commit into from
Dec 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,13 @@ These attributes are required for the track section to be complete:

* `length`: the length of the track section in meters.
* `geo`: the coordinates in real life (geo is for geographic), in the [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON) format.
* `sch`: the coordinates in the schematic view (sch for schematic), also in [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON) format.
* `sch`: the coordinates in the schematic view (sch for schematic, simplified representation), also in [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON) format.
* cosmetic attributes: `line_name`, `track_name`, `track_number` which are used to indicate the name and labels that were given to the tracks / lines in real life.

For all track sections in our infrastructure, the `geo` and `sch` attributes are identical, and very much resemble the given diagram.

For most track sections, their `length` is proportional to what can be seen in the diagram. To preserve readability, exceptions were made for *TA6*, *TA7*, *TD0* and *TD1* (which are 10km and 25km).



#### Node

A `Node` represents a node in the infrastructure. In an OSRD simulation, a train can only move from one section of track to another if they are linked by a node.
Expand Down Expand Up @@ -105,12 +103,12 @@ This node type has three ports: *A*, *B1* and *B2*.

There are two groups, each with one connection in their list: `A_B1`, which connects *A* to *B1*, and `A_B2` which connects *A* to *B2*.

Thus, at any given moment, a train can go from *A* to *B1* or from *A* to *B2* but never to both at the same time. A train cannot go from *B1* to *B2*.
Thus, at any given moment (except when the switch moves from one group to another), a train can go from *A* to *B1* or from *A* to *B2* but never to both at the same time. A train cannot go from *B1* to *B2*.

A Point Switch only has two positions:

- *A* to *B1*
- *A* to *B2*
* *A* to *B1*
* *A* to *B2*

![point switch position diagram](svg_diagrams/PointSwitch_AtoB1.svg) ![point switch position diagram](svg_diagrams/PointSwitch_AtoB2.svg)

Expand All @@ -126,9 +124,8 @@ It has only one group containing two connections: *A1* to *B1* and *A2* to *B2*.

Here are the two different connections this switch type has:

- *A1* to *B1*
- *A2* to *B2*

* *A1* to *B1*
* *A2* to *B2*

![Cross Switch Diagram positions](svg_diagrams/Crossing_A1toB1.svg) ![Cross Switch Diagram positions](svg_diagrams/Crossing_A2toB2.svg)

Expand All @@ -140,10 +137,10 @@ This one is more like two point switches back to back. It has four ports: *A1*,

However, it has four groups, each with one connection. The four groups are represented in the following diagram:

- *A1* to *B1*
- *A1* to *B2*
- *A2* to *B1*
- *A2* to *B2*
* *A1* to *B1*
* *A1* to *B2*
* *A2* to *B1*
* *A2* to *B2*

![Diagram of double crossing switch positions](svg_diagrams/DoubleSlipCrossing_A1toB1.svg) ![Diagram of double crossing switch positions](svg_diagrams/DoubleSlipCrossing_A1toB2.svg)

Expand All @@ -157,14 +154,13 @@ This one looks more like a cross between a single needle and a crossover. It has

Here are the three connections that can be made by this switch:

- *A1* to *B1*
- *A1* to *B2*
- *A2* to *B2*
* *A1* to *B1*
* *A1* to *B2*
* *A2* to *B2*

![Diagram of the positions of the single crossing points](svg_diagrams/SingleSlipCrossing_A1toB1.svg) ![Diagram of the positions of the single crossing points](svg_diagrams/SingleSlipCrossing_A1toB2.svg)
![Diagram of the positions of the single crossing points](svg_diagrams/SingleSlipCrossing_A2toB2.svg)


##### Back to nodes

A `Node` has three attributes:
Expand All @@ -175,7 +171,7 @@ A `Node` has three attributes:

The port names must match the ports of the node type chosen. The track section endpoints can be start or end, be careful to chose the appropriate ones.

Most of our example's nodes are regular point switches. The path from North station to South station has two cross switches, and there is a double cross switch right before the main line splits into the North-East and South-East lines.
Most of our example's nodes are regular point switches. The path from North station to South station has two cross switches. Finally, there is a double cross switch right before the main line splits into the North-East and South-East lines.

![Track sections and points diagram](svg_diagrams/small_infra_rails_n_points.drawio.en.svg)

Expand Down Expand Up @@ -224,7 +220,6 @@ Let's take a cross switch as an example: if train A is crossing it *north* to *s

In *OSRD*, detectors are point objects, so all the attributes it needs are its `id`, and track location (`track` and `offset`).


![Infra diagram with all detectors](svg_diagrams/small_infra_detectors.drawio.en.svg)

{{% alert title="" color="info"%}}
Expand Down Expand Up @@ -287,6 +282,7 @@ Here are the basic rules used for this example infrastructure:
* Switch entries where a train might have to stop are protected by a signal (which is located outside of the switch TVD section). It must be visible from the direction used to approach the switch. When there are multiple switches in a row, only the first one usually needs protection, as interlocking is usually designed as not to encourage trains stopping in the middle of intersections.

Note that detectors linked to at least one signal are not represented, as there are not signals without associated detectors in this example.

To get the `id` of a detector linked to a signal, take the signal's `id` and replace *S* by *D* (e.g. SA0 -> DA0).

![Infra diagram with all signals](svg_diagrams/small_infra_signals.drawio.en.svg)
Expand All @@ -298,17 +294,20 @@ On *TA6*, *TA7*, *TD0* and *TD1* we could not represent all signals because thes
<font color=#aa026d>

### Electrification

</font>

To allow electric trains to run on our infrastructure, we need to specify which parts of the infrastructure is electrified.

#### Catenaries

`Catenaries` are objects that represent the overhead wires that power electric trains. They are represented with the following attributes:
`Catenaries` are objects that represent the overhead wires that power electric trains. They are represented with the following attributes:

* `voltage`: A string representing the type of power supply used for electrification
* `track_ranges`: A list of range of track sections (`TrackRanges`) covered by this catenary. A `TrackRange` is composed of a track section id, a `begin` offset and an `end` offset.

In our example infrastructure, we have two `Catenaries`:

* One with `voltage` set to `"1500"`, which covers only *TA0*.
* One with `voltage` set to `"25000"`, which covers all others except *TD1*.

Expand All @@ -318,7 +317,7 @@ Our example also outlines that, unlike its real life counterpart, a single `Cate

#### Neutral Sections

In some parts of an infrastructure, the train drivers may be instructed - mainly for safety reasons - to cut the power supply to the train.
In some parts of an infrastructure, the train drivers may be instructed - mainly for safety reasons - to cut the power supply to the train.

To represent such parts, we use `NeutralSections`. They are represented mainly with the following attributes:

Expand All @@ -329,7 +328,6 @@ In our example infrastructure, we have three `NeutralSections`: one at the junct

For more details about the model see the [dedicated page](../neutral_sections).


<font color=#aa026d>

### Miscellaneous
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,26 +60,24 @@ Ces attributs sont nécessaires pour que la section de voie soit complète :

* `length` : la longueur de la section de voie en mètres.
* `geo` : les coordonnées dans la réalité (geo pour géographique), au format [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON).
* `sch` : les coordonnées dans la vue schématique (sch pour schematic), également au format [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON).
* `sch` : les coordonnées dans la vue schématique (sch pour schématique, représentation simplifiée), également au format [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON).
* attributs cosmétiques : `line_name`, `track_name`, `track_number` qui sont utilisés pour indiquer le nom et les étiquettes qui ont été donnés aux voies / lignes dans la réalité.

Pour toutes les sections de voies de notre infrastructure, les attributs `geo` et `sch` sont identiques, et se rapprochent beaucoup au schéma donné.

Pour la plupart des sections de voies, leur `length` est proportionnelle à ce que l'on peut voir sur le diagramme. Pour préserver la lisibilité, des exceptions ont été faites pour *TA6*, *TA7*, *TD0* et *TD1* (qui font 10km et 25km).


#### Noeud

Un `Node` représente un noeud dans l'infrastructure. Dans une simulation OSRD, un train ne peut passer d'une section de voie à une autre que si elles sont reliées par un noeud.
Un noeud peut se présenter de deux manières différentes :
Un noeud peut se présenter de deux manières différentes :

**1) Aiguillages**

Les aiguillages peuvent être vus comme une collection de liens de sections de voies, partitionnés en groupes. Chaque groupe représente un état de l'aiguillage. Passer d'un groupe à un autre peut prendre du temps, et au maximum un lien peut être prêt à être utilisé à la fois.

Dans le monde réel, les aiguillages ne sont pas uniques, mais plutôt des instances de modèles existants.


**2) Liens de sections de voies**

Pour le moment, nous n'avons créé que des sections de voies, qui ne sont pas interconnectées (les données géospatiales ne sont pas utilisées pour déduire quelles voies sont connectées).
Expand Down Expand Up @@ -110,7 +108,6 @@ Celui-ci représente le lien entre deux sections de voies. Il possède deux port

Il permet de créer un lien entre deux sections de voies tel que définis dans OSRD. Ce n'est pas un objet physique.


**2) L'aiguille**

L'omniprésent aiguillage en Y, qui peut être considéré comme la fusion de deux voies ou la séparation d'une voie.
Expand All @@ -121,12 +118,12 @@ Ce type d'aiguillage possède trois ports : *A*, *B1* et *B2*.

Il y a deux groupes, chacun avec une connexion dans leur liste : `A_B1`, qui connecte *A* à *B1*, et `A_B2` qui connecte *A* à *B2*.

Ainsi, à tout moment, un train peut aller de *A* à *B1* ou de *A* à *B2* mais jamais aux deux en même temps. Un train ne peut pas aller de *B1* à *B2*.
Ainsi, à tout moment (sauf lorsque l'aiguille bouge pour changer de groupe), un train peut aller de *A* à *B1* ou de *A* à *B2* mais jamais aux deux en même temps. Un train ne peut pas aller de *B1* à *B2*.

Une aiguille n'a que deux positions :

- *A* vers *B1*
- *A* vers *B2*
* *A* vers *B1*
* *A* vers *B2*

![Diagramme des positions de l'aiguillage](svg_diagrams/PointSwitch_AtoB1.svg) ![Diagramme des positions de l'aiguillage](svg_diagrams/PointSwitch_AtoB2.svg)

Expand All @@ -142,13 +139,11 @@ Il ne comporte qu'un seul groupe contenant deux connexions : *A1* vers *B1* et *

Voici les deux connexions différentes que ce type d'aiguillage possède :

- *A1* vers *B1*
- *A2* vers *B2*

* *A1* vers *B1*
* *A2* vers *B2*

![Diagramme des positions des aiguillages croisés](svg_diagrams/Crossing_A1toB1.svg) ![Diagramme des positions des aiguillages croisés](svg_diagrams/Crossing_A2toB2.svg)


**4) L'aiguillage de croisement double**

Celui-ci ressemble plus à deux aiguilles dos à dos. Il possède quatre ports : *A1*, *A2*, *B1* et *B2*.
Expand All @@ -157,10 +152,10 @@ Celui-ci ressemble plus à deux aiguilles dos à dos. Il possède quatre ports :

Cependant, il comporte quatre groupes, chacun avec une connexion. Les quatre connexions possibles sont les suivantes :

- *A1* vers *B1*
- *A1* vers *B2*
- *A2* vers *B1*
- *A2* vers *B2*
* *A1* vers *B1*
* *A1* vers *B2*
* *A2* vers *B1*
* *A2* vers *B2*

![Diagramme des positions de l'aiguillage de croisement double](svg_diagrams/DoubleSlipCrossing_A1toB1.svg) ![Diagramme des positions de l'aiguillage de croisement double](svg_diagrams/DoubleSlipCrossing_A1toB2.svg)

Expand All @@ -174,14 +169,13 @@ Celui-ci ressemble plus à un mélange entre une aiguille simple et un croisemen

Voici les trois connexions que peut réaliser cet aiguillage :

- *A1* vers *B1*
- *A1* vers *B2*
- *A2* vers *B2*
* *A1* vers *B1*
* *A1* vers *B2*
* *A2* vers *B2*

![Diagramme des positions de l'aiguillage de croisement simple](svg_diagrams/SingleSlipCrossing_A1toB1.svg) ![Diagramme des positions de l'aiguillage de croisement simple](svg_diagrams/SingleSlipCrossing_A1toB2.svg)
![Diagramme des positions de l'aiguillage de croisement simple](svg_diagrams/SingleSlipCrossing_A2toB2.svg)


##### Retour aux noeuds

Un `Node` possède trois attributs :
Expand All @@ -192,11 +186,11 @@ Un `Node` possède trois attributs :

Les noms des ports doivent correspondre aux ports du type du noeud choisi. Les extrémités de la section de voie peuvent être début ou fin, faites attention à choisir les bonnes.

La plupart des noeuds de notre exemple sont des noeuds habituels. Le chemin de la gare du Nord à la gare du Sud a deux aiguillages de croisement, et il y a un aiguillage de croisement double juste avant que la ligne principale ne se divise en lignes Nord-Est et Sud-Est.
La plupart des noeuds de notre exemple sont des noeuds habituels. Le chemin de la gare du Nord à la gare du Sud a deux aiguillages de croisement. Enfin, il y a un aiguillage de croisement double juste avant que la ligne principale ne se divise en lignes Nord-Est et Sud-Est.

![Diagramme des sections de voie et des aiguillages](svg_diagrams/small_infra_rails_n_points.drawio.en.svg)

Il est important de noter que ces noeuds sont présents par défaut dans le code du projet. Seuls les `extended_switch_type` ajoutés par l'utilisateur apparaîtront dans le railjson.
Il est important de noter que ces noeuds sont présents par défaut dans le code du projet. Seuls les `extended_switch_type` ajoutés par l'utilisateur apparaîtront dans le railjson.

#### Courbes et pentes

Expand Down Expand Up @@ -277,7 +271,7 @@ Il est représenté avec les attributs suivants :

</font>

Thanks to interlocking, trains are located and allowed to move. It's a good start, but meaningless until trains are made aware of it. C'est là que les "signaux" entrent en jeu : les signaux réagissent aux enclenchements et peuvent être vus par les trains.
Grâce à l'enclenchement, les trains sont localisés et autorisés à se déplacer. C'est un bon début, mais c'est inutile tant que les trains n'en sont pas informés. C'est là que les "signaux" entrent en jeu : les signaux réagissent aux enclenchements et peuvent être vus par les trains.

La façon dont les trains réagissent aux signaux dépend de l'aspect, du type de signal et du système de signalisation.

Expand All @@ -302,6 +296,7 @@ Voici les règles de base utilisées pour cet exemple d'infrastructure :
* Les entrées d'aiguillage où un train pourrait devoir s'arrêter sont protégées par un signal (qui est situé à l'extérieur de la section TVD de l'aiguillage). Il doit être visible depuis la direction utilisée pour approcher l'aiguillage. Lorsqu'il y a plusieurs aiguillages dans une rangée, seul le premier a généralement besoin d'être protégé, car l'enclenchement est généralement conçu pour ne pas encourager les trains à s'arrêter au milieu des intersections.

Notez que les détecteurs liés à au moins un signal ne sont pas représentés, car il n'y a pas de signaux sans détecteurs associés dans cet exemple.

Pour obtenir le `id` d'un détecteur lié à un signal, prenez le `id` du signal et remplacez *S* par *D* (par exemple SA0 -> DA0).

![Diagramme d'infra avec tous les signaux](svg_diagrams/small_infra_signals.drawio.en.svg)
Expand All @@ -313,17 +308,20 @@ Sur *TA6*, *TA7*, *TD0* et *TD1* nous n'avons pas pu représenter tous les signa
<font color=#aa026d>

### Électrification

</font>

Pour permettre à des trains électriques de circuler sur notre infrastructure, nous devons spécifier les parties de celle-ci qui sont électrifiées.

#### Caténaires (`Catenaries`)

Les `Catenaries` représentent les câbles d'alimentation qui alimentent les trains électriques. Ils sont représentés avec les attributs suivants :

* `voltage` : Une chaîne de caractères représentant le type d'alimentation électrique utilisée pour l'électrification.
* `track_ranges` : Une liste de portions de sections de voie (`TrackRanges`) couvertes par cette caténaire. Une `TrackRange` est composée d'un identifiant de section de voie, d'une position `begin` et d'une position `end`.

Dans notre exemple, nous avons deux `Catenaries`:

* Une avec `voltage` défini sur `"1500"`, qui couvre uniquement *TA0*.
* Une avec `voltage` défini sur `"25000"`, qui couvre tous les autres sauf *TD1*.

Expand Down Expand Up @@ -373,4 +371,3 @@ Les `SpeedSections` représentent les limites de vitesse (en mètres par seconde
Dans notre exemple d'infrastructure, nous avons une section de vitesse couvrant l'ensemble de l'infrastructure, limitant la vitesse à 300 km/h. Sur une plus petite partie de l'infrastructure, nous avons appliqué des sections de vitesse plus restrictives.

![Exemples de sections de vitesse](svg_diagrams/speed_sections.en.svg)