Autonomous Vehicle/Video Geometry

[Uncertainty] Odometry

Naranjito 2025. 11. 27. 21:31
  • If I know exactly where the vehicle will be next, there is no uncertainty.

 

 

For example, If \( d_R = 1\,\mathrm{m}, \quad d_L = 0.8\,\mathrm{m} \), meaning

- The right wheel travels 1 meter.

- The left wheel travels 0.8 meters.

- Since these distances are not equal, the robot will turn (instead of moving straight).

- \( d \propto C \quad \text{or} \quad d = \alpha C \) meaning the distance moved (d) is proportional to the number of wheel encoder counts (C), where α is a constant factor (like wheel radius × gear ratio × 2π).

  • Odometry

Let's assume that the vehicle is constantly curvature.

 

 

- Imagine the robot has two wheels: Left wheel travels \( d_L \), and Right wheel travels \( d_R \).
- If both wheels move forward equally (i.e., \( d_L = d_R \)), then the robot moves straight, and
\[ Δx = d_L = d_R = distance\ center\ moves \]
- But if they're unequal, the robot turns, and we assume the robot is rotating along an arc of a circle. So we take the average of the two wheel paths:\( \Delta x = \frac{d_L + d_R}{2} \)

- This gives us an approximation of how far the center of the robot traveled, and valid even when the robot turns (it's the center's arc length).


- When the robot rotates slightly, it's effectively moving along a circular arc.

- Each wheel traces a different arc-Left wheel is closer to the center of rotation, Right wheel is further from the center.

- Let's say the robot rotates by angle Δθ, and the turning radius to the center of the robot is \( r_k \), then

 

Left wheel travels: \[ d_L = \left( r_k - \frac{B}{2} \right) \cdot \Delta\theta \] Right wheel travels: \[ d_R = \left( r_k + \frac{B}{2} \right) \cdot \Delta\theta \] Subtract those two: \[ d_R - d_L = \left[ \left( r_k + \frac{B}{2} \right) - \left( r_k - \frac{B}{2} \right) \right] \cdot \Delta\theta = B \cdot \Delta\theta \]

 

where \( \Delta θ = \frac{d_R - d_L}{B} \)

- So the more different the wheel paths, the more the robot turns.

- The wider the robot (larger B), the less it turns for the same difference.


\[ \begin{array}{|l|c|c|} \hline \textbf{Situation} & d_R - d_L & \Delta\theta \\ \hline \text{Go straight} & 0 & 0 \\ \text{Turn left} & d_R < d_L & \text{Negative } \Delta\theta \\ \text{Turn right} & d_R > d_L & \text{Positive } \Delta\theta \\ \hline \end{array} \]

\[ \begin{array}{|l|c|} \hline \text{Symbol} & {Meaning} \\ \hline d_R, d_L & \text{Distance traveled by left and right wheels } \\ \Delta x & \text{Distance the robot’s center moved } \\ \Delta\theta & \text{Change in robot's orientation (heading) } \\ B & \text{Distance between the two wheels (wheelbase) } \\ r_k & \text{Radius of the circular path's center to the robot's center } \\ x_k, y_k, θ_k & \text{Pose at time step } \\ x_k-1, y_k-1, θ_k-1 & \text{Pose at time step k-1} \\ \hline \end{array} \]

  • In real-world, Slippage, uneven terrain, or wheel wear introduces uncertainty make the true position becomes probabilistic.

 

- So, \( d \ne \alpha C \)
- So, we model this as \( d = \alpha C+w \)
where \( w\text{: Gaussian noise, typically } w \sim \mathcal{N}(0, \sigma^2) \)
- So, for both wheels: \( \begin{aligned} d_R &= \alpha C_R + w_R \\ d_L &= \alpha C_L + w_L \end{aligned} \)

'Autonomous Vehicle > Video Geometry' 카테고리의 다른 글

[Uncertainty] Sensing  (0) 2025.11.30
[Uncertainty] Gaussian VS Samples  (0) 2025.11.27
Root Shifting  (0) 2025.11.25
6-DOF (Degrees of Freedom)  (0) 2025.11.25
Special Euclidean Group in 3D(SE(3))  (0) 2025.11.24