From cc9eb10c2852249a424e007391228610084eebbb Mon Sep 17 00:00:00 2001 From: Tinker Twins <tinkertwinsofficial@gmail.com> Date: Sat, 31 Aug 2024 03:02:31 -0400 Subject: [PATCH] Update f1tenth-sim-racing-guide.md --- docs/competitions/f1tenth-sim-racing-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/competitions/f1tenth-sim-racing-guide.md b/docs/competitions/f1tenth-sim-racing-guide.md index 4d88347..d618f5d 100644 --- a/docs/competitions/f1tenth-sim-racing-guide.md +++ b/docs/competitions/f1tenth-sim-racing-guide.md @@ -203,7 +203,7 @@ The indoor positioning system (IPS) and inertial measurement unit (IMU) are simu | Class | Proprioceptive | | Supported Outputs | Orientation Quaternion [x, y, z, w]<br/>Orientation Euler Angles [x, y, z] rad<br/>Angular Velocity Vector [x, y, z] rad/s<br/>Linear Acceleration Vector [x, y, z] m/s2 | -LIDAR simulation employs iterative ray-casting \texttt{raycast}\{$^w\mathbf{T}_l$, $\vec{\mathbf{R}}$, $r_{max}$\} for each angle $\theta \in \left [ \theta_{min}:\theta_{res}:\theta_{max} \right ]$ at a specified update rate. Here, ${^w\mathbf{T}_l} = {^w\mathbf{T}_v} \times {^v\mathbf{T}_l} \in SE(3)$ represents the relative transformation of the LIDAR \{$l$\} w.r.t the vehicle \{$v$\} and the world \{$w$\}, $\vec{\mathbf{R}} = \left [\cos(\theta) \;\; \sin(\theta) \;\; 0 \right ]^T$ defines the direction vector of each ray-cast, $r_{min}$, $r_{max}$, $\theta_{min}$ and $\theta_{max}$ denote the minimum and maximum linear and angular ranges, and $\theta_{res}$ represents the angular resolution of the LIDAR. The laser scan ranges are determined by checking ray-cast hits and then applying a threshold to the minimum linear range of the LIDAR, calculated as \texttt{ranges[i]}$=\begin{cases} d_\text{hit} & \text{ if } \texttt{ray[i].hit} \text{ and } d_\text{hit} \geq r_{\text{min}} \\ \infty & \text{ otherwise} \end{cases}$, where \texttt{ray.hit} is a Boolean flag indicating whether a ray-cast hits any colliders in the scene, and $d_\text{hit}=\sqrt{(x_{\text{hit}}-x_{\text{ray}})^2 + (y_{\text{hit}}-y_{\text{ray}})^2 + (z_{\text{hit}}-z_{\text{ray}})^2}$ calculates the Euclidean distance from the ray-cast source $\{x_{ray}, y_{ray}, z_{ray}\}$ to the hit point $\{x_{hit}, y_{hit}, z_{hit}\}$. +LIDAR simulation employs iterative ray-casting $\texttt{raycast}$\{$^w\mathbf{T}_l$, $\vec{\mathbf{R}}$, $r_{max}$\} for each angle $\theta \in \left [ \theta_{min}:\theta_{res}:\theta_{max} \right ]$ at a specified update rate. Here, ${^w\mathbf{T}_l} = {^w\mathbf{T}_v} \times {^v\mathbf{T}_l} \in SE(3)$ represents the relative transformation of the LIDAR \{$l$\} w.r.t the vehicle \{$v$\} and the world \{$w$\}, $\vec{\mathbf{R}} = \left [\cos(\theta) \;\; \sin(\theta) \;\; 0 \right ]^T$ defines the direction vector of each ray-cast, $r_{min}$, $r_{max}$, $\theta_{min}$ and $\theta_{max}$ denote the minimum and maximum linear and angular ranges, and $\theta_{res}$ represents the angular resolution of the LIDAR. The laser scan ranges are determined by checking ray-cast hits and then applying a threshold to the minimum linear range of the LIDAR, calculated as $\texttt{ranges[i]}=\begin{cases} d_\text{hit} & \text{ if } \texttt{ray[i].hit} \text{ and } d_\text{hit} \geq r_{\text{min}} \\ \infty & \text{ otherwise} \end{cases}$, where $\texttt{ray.hit}$ is a Boolean flag indicating whether a ray-cast hits any colliders in the scene, and $d_\text{hit}=\sqrt{(x_{\text{hit}}-x_{\text{ray}})^2 + (y_{\text{hit}}-y_{\text{ray}})^2 + (z_{\text{hit}}-z_{\text{ray}})^2}$ calculates the Euclidean distance from the ray-cast source $\{x_{ray}, y_{ray}, z_{ray}\}$ to the hit point $\{x_{hit}, y_{hit}, z_{hit}\}$. | LIDAR | | :-----------------------|:--------------------|