Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

feat(ets): numerical inverse kinematics for planar ETS2

Đang mở
#824 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@qwist1233-cpu đang làm issue này rồi.

Từ ngày 17/10/2026.

  • #826 của @qwist1233-cpu — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
68/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
robotics

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
C++
Star
3.5k
Fork
639
Merge trung bình
1 ngày 13 giờ
Pull request đã merge (30 ngày)
98

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của petercorke/robotics-toolbox-python

Tất cả issue của petercorke/robotics-toolbox-python

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.