feat(ets): numerical inverse kinematics for planar ETS2
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 68/100
Línea de trabajo
Start by reading the existing 3D numerical IK methods and solver classes, then inspect ETS2.fkine, jacob0, and jacobe. Implement a Python-only LM solver for an SE2 target that returns an IKSolution and accepts a 3-vector mask. Add tests for 2-link and 3-link arms, joint limits, and an unreachable target; verify reachable solutions by checking the pose with ETS2.fkine.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
ETS has numerical inverse kinematics (ik_LM, ik_NR, ik_GN in C++; ikine_LM, ikine_NR, ikine_GN, ikine_QP in Python; and the IK_* solver classes). ETS2, the planar equivalent, has none. It has fkine, jacob0 and jacobe, which is what the solvers need, so planar arms (and planar vehicles with joints) can't be solved without converting to 3D.
Help wanted. A good first version:
ETS2.ikine_LM(Tep, q0=None, ...)for anSE2target, returning anIKSolutionlike the 3D case.- The error is 3-vector (x, y, θ) rather than the 6-vector, so the
maskargument is a 3-vector. - Python only to begin with; no C++ needed.
- Tests against
ETS2.fkine(solve, then check the pose is reached), including a planar 2-link and 3-link arm, joint limits, and an unreachable target.
Whether to share code with the 3D solvers or write a small 2D one is open for discussion in the PR.
- Lenguaje dominante
- C++
- Estrellas
- 3.5k
- Forks
- 639
- Merge medio
- 1 d 13 h
- PR fusionados (30 d)
- 98
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
-
help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
petercorke/robotics-toolbox-python#839 ·
Los mantenedores suelen responder en 1 día
-
enhancement help wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
petercorke/robotics-toolbox-python#825 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Rigorous testing of operational-space methodsPosiblemente ocupada @kVinsom la tomó hace 1 día. Abiertotech-debt Tests needed
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
petercorke/robotics-toolbox-python#804 ·
Los mantenedores suelen responder en 1 día
-
tech-debt
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
petercorke/robotics-toolbox-python#803 ·
Los mantenedores suelen responder en 1 día
Todos los issues de petercorke/robotics-toolbox-python
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
[BUG] Clipboard History: Buffer over-read in WideCharToMultiByte on double-click pastePosiblemente ocupada @softmgr la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
notepad-plus-plus/notepad-plus-plus#18519 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
justcallmekoko/ESP32Marauder#1635 ·
Los mantenedores suelen responder en 1 día
-
3.7.6-dev commit 80481ea - files not centered when resolution differs and zoom = "pixel-to-pixel"Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
grizzlypeak3d/DJV#931 ·