trapezoidal accepts the zero-blend velocity boundary but returns NaN at the initial sample
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 75/100
Línea de trabajo
Start by reading TrapezoidalProfile.__init__ and the evaluation logic used by trapezoidal, then run the reproduction with V=1.0 and the stated sample times. Check how the zero-duration blend boundary is represented and how the initial sample is evaluated. Done means the accepted boundary produces finite trajectory arrays, or is explicitly rejected, with tests covering both move directions.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Reproduction
import numpy as np
from roboticstoolbox import trapezoidal
trajectory = trapezoidal(0.0, 1.0, np.array([0.0, 0.5, 1.0]), V=1.0)
print(trajectory.q)
print(trajectory.qd)
print(trajectory.qdd)
On current main 879fb363580840e19ee70b6b175e8cd3543e2b38 this prints:
[nan 0.5 1. ]
[nan 1. 1. ]
[inf 0. 0. ]
The accepted lower boundary abs(V) == abs(qf-q0)/T gives tb == 0; TrapezoidalProfile.__init__ divides by tb, and evaluating the initial blend multiplies that infinite acceleration by zero. Reversing the move reproduces the same non-finite initial sample. Controls at V=1.5 and V=2.0 return finite arrays.
Expected: handle the accepted boundary with a defined finite profile, or reject it explicitly if zero-duration blends are unsupported, rather than returning NaN/inf.
Reproduced with the normal source-package import on Linux, Python 3.12.14, NumPy 2.3.5 and SciPy 1.17.0. No robot hardware was used. This is separate from the empty-phase plotting fix in #910; filed following the request there. Searches for trapezoidal with blend and NaN found no existing issue.
- Lenguaje dominante
- C++
- Estrellas
- 3.6k
- Forks
- 650
- Merge medio
- 14 h 6 min
- PR fusionados (30 d)
- 139
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de petercorke/robotics-toolbox-python
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
petercorke/robotics-toolbox-python#709 ·
Los mantenedores suelen responder en 1 día
-
Integer control callbacks lose fractional vehicle limits and stop motionPosiblemente ocupada @Elon-Jiang la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 20/100
petercorke/robotics-toolbox-python#936 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Isaac Sim backendAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
petercorke/robotics-toolbox-python#903 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Backend registry: single name → constructor dispatchPosiblemente ocupada @petercorke la tomó hace 16 días. Abiertoenhancement
petercorke/robotics-toolbox-python#902 · 3 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Speed up the coverage job (about 25 minutes since coverage became real)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertotech-debt
Dificultad 4/5 1-2 días Aptitud para principiantes 55/100
petercorke/robotics-toolbox-python#898 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de petercorke/robotics-toolbox-python
Issues similares
-
area:qmc bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 69/100
Los mantenedores suelen responder en 3 días
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
ASGC-Game-Jam/asgc-gamejam-2026#563 ·
Los mantenedores suelen responder en 1 día
-
area/ysql kind/bug priority/medium status/awaiting-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
yugabyte/yugabyte-db#37523 ·
Los mantenedores suelen responder en 1 día
-
Let agents name their jobsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Cockatrice/Cockatrice#7896 ·
Los mantenedores suelen responder en 1 día