Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

feat(ets): numerical inverse kinematics for planar ETS2

Abierto
#824 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@qwist1233-cpu ya está trabajando en esto.

Desde el 17/10/2026.

  • #826 de @qwist1233-cpu — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
68/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python
Área
robotics

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

enhancement help wanted

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 an SE2 target, returning an IKSolution like the 3D case.
  • The error is 3-vector (x, y, θ) rather than the 6-vector, so the mask argument 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

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de petercorke/robotics-toolbox-python

Todos los issues de petercorke/robotics-toolbox-python

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.