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

[EN] [ES] 10-3 figure edit and captions added #743

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
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
7 changes: 4 additions & 3 deletions docs/en/week10/10-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,10 +163,10 @@ Here we use MSE to calculate the loss between the true next state and the next s

### Controller

Refer to Figure 5. Block $\matr{C}$ represents the controller. It takes in the current state and ouputs a steering angle. Then block $\matr{T}$ (emulator) takes both the state and angle to produce the next state.
Refer to Figure 6. Block $\matr{C}$ represents the controller. It takes in the current state and ouputs a steering angle. Then block $\matr{T}$ (emulator) takes both the state and angle to produce the next state.

|![]({{site.baseurl}}/images/week10/10-3/fig13.png)|
| <center><b>Fig. 5</b>: State Transition flow diagram</center>|
| <center><b>Fig. 6</b>: State Transition flow diagram</center>|

To train the controller, we start from a random initial state and repeat the procedure($\matr{C}$ and $\matr{T}$) until the trailer is parallel to the dock. The error is calculated by comparing the trailer location and dock location.
We then find the gradients using backpropagation and update parameters of the controller via SGD.
Expand All @@ -177,6 +177,7 @@ We then find the gradients using backpropagation and update parameters of the co
This is a detailed graph of ($\matr{C}$, $\matr{T}$) process. We start with a state (6 dimension vector), multiply it with a tunable weights matrix and get 25 hidden units. Then we pass it through another tunable weights vector to get the output (steering signal). Similarly, we input the state and angle $\phi$ (7 dimension vector) through two layers to produce the state of next step.

![]({{site.baseurl}}/images/week10/10-3/fig14.png)
| <center><b>Fig. 7</b>: Details of emulator and controller </center>|

To see this more clearly, we show the exact implementation of the emulator:

Expand All @@ -202,7 +203,7 @@ Following are four examples of movement for different initial state. Notice that

|![]({{site.baseurl}}/images/week10/10-3/fig16.png) | ![]({{site.baseurl}}/images/week10/10-3/fig17.png) |
|![]({{site.baseurl}}/images/week10/10-3/fig18.png) | ![]({{site.baseurl}}/images/week10/10-3/fig19.png) |
| <center><b>Fig. 7</b>: Examples of movement for four different initial states </center>|
| <center><b>Fig. 8</b>: Examples of movement for four different initial states </center>|


### Additional Resources:
Expand Down
13 changes: 7 additions & 6 deletions docs/es/week10/10-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -309,15 +309,15 @@ Aquí usamos MSE (error cuadrático medio) para calcular la pérdida entre el si
-->
### Controlador

<!--Refer to Figure 5. Block $\matr{C}$ represents the controller. It takes in the current state and ouputs a steering angle. Then block $\matr{T}$ (emulator) takes both the state and angle to produce the next state.
<!--Refer to Figure 6. Block $\matr{C}$ represents the controller. It takes in the current state and ouputs a steering angle. Then block $\matr{T}$ (emulator) takes both the state and angle to produce the next state.

|![]({{site.baseurl}}/images/week10/10-3/fig13.png)|
| <center><b>Fig. 5</b>: State Transition flow diagram</center>|
| <center><b>Fig. 6</b>: State Transition flow diagram</center>|
-->
En la figura 5, el bloque $\matr{C}$ representa el controlador. Toma como entrada el estado actual y tiene como salida un ángulo de dirección. Posteriormente, el bloque $\matr{T}$ (emulador) toma el estado y el ángulo para producir el siguiente estado.
En la figura 6, el bloque $\matr{C}$ representa el controlador. Toma como entrada el estado actual y tiene como salida un ángulo de dirección. Posteriormente, el bloque $\matr{T}$ (emulador) toma el estado y el ángulo para producir el siguiente estado.

|![]({{site.baseurl}}/images/week10/10-3/fig13.png)|
| <center><b>Fig. 5</b>: Diagrama de flujo de la transición de estado</center>|
| <center><b>Fig. 6</b>: Diagrama de flujo de la transición de estado</center>|

<!--To train the controller, we start from a random initial state and repeat the procedure($\matr{C}$ and $\matr{T}$) until the trailer is parallel to the dock. The error is calculated by comparing the trailer location and dock location.
We then find the gradients using backpropagation and update parameters of the controller via SGD.
Expand All @@ -335,6 +335,7 @@ Posteriormente, encontramos los gradientes usando retropropagación y actualizam
Este es un grafo detallado del proceso ($\matr{C}$, $\matr{T}$). Comenzamos con un estado (vector de seis dimensiones), lo multiplicamos por una matriz de pesos ajustables y obtenemos 25 unidades ocultas. Después, lo pasamos a través de otro vector de pesos ajustables para obtener la salida (señal de dirección--*steering signal*--). De manera similar, ingresamos el estado y el ángulo $\phi$ (vector de siete dimensiones) a través de dos capas para producir el estado del siguiente incremento de tiempo.

![]({{site.baseurl}}/images/week10/10-3/fig14.png)
| <center><b>Fig. 7</b>: Detalles del emulador y controlador </center>|

<!--To see this more clearly, we show the exact implementation of the emulator:
-->
Expand Down Expand Up @@ -367,7 +368,7 @@ A continuación hay cuatro ejemplos de movimiento para diferentes estados incial

|![]({{site.baseurl}}/images/week10/10-3/fig16.png) | ![]({{site.baseurl}}/images/week10/10-3/fig17.png) |
|![]({{site.baseurl}}/images/week10/10-3/fig18.png) | ![]({{site.baseurl}}/images/week10/10-3/fig19.png) |

| <center><b>Fig. 8</b>: Ejemplos de movimiento de cuatro estados iniciales diferentes </center>|

<!--### Additional Resources:
-->
Expand All @@ -377,4 +378,4 @@ A continuación hay cuatro ejemplos de movimiento para diferentes estados incial
Please check out the code as well, which can be found at [https://github.com/Tifu/truck_backer_upper](https://github.com/Tifu/truck_backer_upper).
-->
Puedes encontrar un *demo* completamente funcional en: [https://tifu.github.io/truck_backer_upper/](https://tifu.github.io/truck_backer_upper/).
También revisa el código; el cual puede encontrarse en: [https://github.com/Tifu/truck_backer_upper](https://github.com/Tifu/truck_backer_upper).
También revisa el código; el cual puede encontrarse en: [https://github.com/Tifu/truck_backer_upper](https://github.com/Tifu/truck_backer_upper).
Binary file modified docs/images/week10/10-3/fig14.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.