Cómo planifica un robot su camino
Una trayectoria es la lista de posiciones por las que pasa la mano de un robot, con el momento en que llega a cada una. Para mover una pieza sin golpear nada, la mano debe seguir una recta a una velocidad que el robot aguante.
Aprenderás a repartir puntos entre dos extremos y a calcular cuánto tarda. Todo es una simulación.
Al final de esta lección
Nota
Puedo planificar una trayectoria recta con puntos y tiempos dentro de un límite de velocidad.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Trayectoria | posiciones por las que pasa la mano, con sus momentos | |
| Interpolación lineal | repartir puntos a igual distancia entre dos extremos | |
| Fracción | cuánto camino se ha hecho, de 0 a 1 | 0,4 |
| Velocidad máxima | el límite que el robot no debe pasar | |
| Duración | el tiempo que tarda en recorrer el camino |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Una fracción reparte el camino entre dos puntos
Cada punto del camino es el inicio más una fracción de la diferencia. Con la fracción en 0 estás en el inicio, y con la fracción en 1 estás en el final.
Para cinco pasos, las fracciones son 0, 0,2, 0,4, 0,6, 0,8 y 1. Esto se llama interpolación lineal.
Ejemplo resuelto: cinco pasos del camino
| Punto | Fracción | x | y |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 0,2 | 6 | 8 |
| 2 | 0,4 | 12 | 16 |
| 3 | 0,6 | 18 | 24 |
| 4 | 0,8 | 24 | 32 |
| 5 | 1 | 30 | 40 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Las x de los seis puntos del camino
docker exec jupyter python3 -c "import numpy as np; print(np.linspace(0, 30, 6))"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
La duración es la longitud entre la velocidad
La longitud del camino sale del teorema de Pitágoras. De (0, 0) a (30, 40) es la raíz de 30 al cuadrado más 40 al cuadrado, es decir 50 cm.
Si la mano va a 20 cm por segundo, tarda 50 entre 20, es decir 2,5 segundos. Con la mitad de velocidad tarda el doble.
Ejemplo resuelto: la duración con varias velocidades
| Longitud | Velocidad máxima | Duración |
|---|---|---|
| 50 cm | 20 cm/s | 2,5 s |
| 50 cm | 10 cm/s | 5 s |
| 50 cm | 25 cm/s | 2 s |
| 80 cm | 20 cm/s | 4 s |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
La longitud del camino y su duración
docker exec jupyter python3 -c "import numpy as np; print(np.hypot(30, 40), np.hypot(30, 40) / 20)"Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
El camino con sus tiempos en Python
import math
# Un camino recto de (0, 0) a (30, 40), en centímetros.
start = [0, 0]
end = [30, 40]
steps = 5
speed = 20 # centímetros por segundo
length = math.hypot(end[0] - start[0], end[1] - start[1])
print("longitud:", length, "cm")
print("duración:", length / speed, "s")
for k in range(steps + 1):
fraction = k / steps
x = start[0] + fraction * (end[0] - start[0])
y = start[1] + fraction * (end[1] - start[1])
print("punto", k, ":", round(x, 1), round(y, 1))
Dónde está la mano en un instante
En el segundo t, la mano ha recorrido la velocidad por t centímetros. Dividido entre la longitud, eso es la fracción del camino.
Si la fracción pasa de 1, la mano ya llegó y se queda en el final. Hay que limitar la fracción a 1.
Ejemplo resuelto: la mano en el tiempo
| Segundo | Fracción | Posición |
|---|---|---|
| 0 | 0 | (0, 0) |
| 1 | 0,4 | (12, 16) |
| 2 | 0,8 | (24, 32) |
| 3 | 1 (limitada) | (30, 40) |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Un error muy común
Advertencia
Mucha gente cree que repartir los puntos a igual distancia ya da una velocidad constante. Solo es cierto si los puntos se envían a intervalos de tiempo iguales. Si no, la mano acelera y frena sin querer.
Para ir más lejos: un camino más largo
Planifica un camino de (0, 0) a (60, 80) con 4 pasos y una velocidad máxima de 25 cm/s.
Apunta la longitud, la duración y los cinco puntos del camino.