Ir al contenido

Ejercicio — Odometría a partir de encoders

Ejercicio fundamental para entender el modelo cinemático del robot diferencial. Los estudiantes implementan la integración de la pose (x,y,θ)(x, y, \theta) a partir de las lecturas de los encoders.

  • rr: radio de cada rueda
  • ll: distancia de cada rueda al centro del robot (semiancho de vía)
  • ΔϕL,ΔϕR\Delta\phi_L, \Delta\phi_R: incremento de ángulo de las ruedas izquierda y derecha (de los encoders)

A partir de los incrementos de encoder en cada paso:

ΔsL=rΔϕL,ΔsR=rΔϕR\Delta s_L = r \cdot \Delta\phi_L, \quad \Delta s_R = r \cdot \Delta\phi_R

Δs=ΔsR+ΔsL2,Δθ=ΔsRΔsL2l\Delta s = \frac{\Delta s_R + \Delta s_L}{2}, \quad \Delta\theta = \frac{\Delta s_R - \Delta s_L}{2l}

xk+1=xk+Δscos(θk+Δθ2)x_{k+1} = x_k + \Delta s \cdot \cos\left(\theta_k + \frac{\Delta\theta}{2}\right)

yk+1=yk+Δssin(θk+Δθ2)y_{k+1} = y_k + \Delta s \cdot \sin\left(\theta_k + \frac{\Delta\theta}{2}\right)

θk+1=θk+Δθ\theta_{k+1} = \theta_k + \Delta\theta

  1. Implementar la función de odometría en Python
  2. Simular un robot que describe un cuadrado de 40 cm de lado
  3. Graficar la trayectoria estimada
  4. Introducir un error del 0.5% en el radio de una rueda y observar el efecto en la trayectoria

Este ejercicio no tiene puntuación directa. Se realiza en clase como preparación para la calibración de plataformas móviles (semana 14).